@charset "UTF-8";
/* reset5 © 2011 opensource.736cs.com MIT */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, audio, canvas, details, figcaption, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, summary, time, video {
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  margin: 0;
  padding: 0; }

body {
  line-height: 1; }

article, aside, dialog, figure, footer, header, hgroup, nav, section, blockquote {
  display: block; }

nav ul {
  list-style: none; }

ol {
  list-style: decimal; }

ul {
  list-style: disc; }

ul ul {
  list-style: circle; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: none; }

ins {
  text-decoration: underline; }

del {
  text-decoration: line-through; }

mark {
  background: none; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input[type=submit], input[type=button], button {
  margin: 0 !important;
  padding: 0 !important; }

input, select, a img {
  vertical-align: middle; }

/* フォームのリセットここから */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none; }

textarea {
  resize: vertical; }

input[type='checkbox'],
input[type='radio'] {
  display: none; }

input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer; }

select::-ms-expand {
  display: none; }

/* フォームのリセットここまで */
html {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 10px; }

*, *:before, *:after {
  -moz-box-sizing: inherit;
  -webkit-box-sizing: inherit;
  box-sizing: inherit; }

body {
  -webkit-text-size-adjust: 100%;
  	/*
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  	*/ }

main {
  display: block; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal; }

ul, ol {
  list-style: none !important; }

a {
  color: inherit;
  text-decoration: none; }

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  color: inherit;
  font-size: inherit; }

img {
  width: auto;
  height: auto;
  max-width: 100%;
  vertical-align: top; }

mark {
  color: inherit; }

span.nowrap {
  display: inline-block; }

span.pc {
  display: inline; }
  @media screen and (max-width: 768px) {
    span.pc {
      display: none; } }

span.sp {
  display: none; }
  @media screen and (max-width: 768px) {
    span.sp {
      display: inline; } }

html {
  font-size: 10px; }
  @media screen and (max-width: 768px) {
    html {
      font-size: calc(10 / 375 * 100vw); } }

body {
  font-family: "Zen Kaku Gothic Antique", sans-serif; }
  @media screen and (max-width: 768px) {
    .menu-active body {
      overflow: hidden; } }

#pagetop {
  opacity: 0;
  transition: all ease 2s;
  background-color: #fff; }
  .is-loaded #pagetop {
    opacity: 1; }

#header:before {
  content: "";
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: block;
  backdrop-filter: blur(6px) brightness(150%);
  background-color: rgba(255, 255, 255, 0.1);
  opacity: 0;
  pointer-events: none;
  transition: all ease .3s; }
  .mega-active #header:before {
    opacity: 1;
    pointer-events: auto; }
#header:after {
  content: "";
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  right: 0;
  height: 112px;
  background-color: #fff;
  border-bottom: 1px solid #D4D4D4;
  opacity: 0;
  pointer-events: none;
  transition: all ease .3s; }
  .is-fv-scrolled #header:after {
    opacity: 1;
    pointer-events: auto; }
  @media screen and (max-width: 768px) {
    #header:after {
      height: calc(64 / 375 * 100vw); } }
#header .logo {
  position: fixed;
  z-index: 10001;
  top: 32px;
  left: 60px; }
  @media screen and (max-width: 768px) {
    #header .logo {
      top: calc(16 / 375 * 100vw);
      left: calc(20 / 375 * 100vw);
      width: calc(70 / 375 * 100vw); } }
  #header .logo a {
    position: relative;
    display: block; }
    #header .logo a:before {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      content: "";
      display: block;
      -webkit-mask-image: url("../images/common/header_logo.svg");
      mask-image: url("../images/common/header_logo.svg");
      -webkit-mask-size: 100% 100%;
      mask-size: 100% 100%;
      background-color: #fff;
      opacity: 0;
      transition: all ease .3s; }
    #header .logo a img {
      transition: all ease .3s; }
    .menu-active #header .logo a:before {
      opacity: 1; }
    .menu-active #header .logo a img {
      opacity: 0; }
#header nav.global {
  position: fixed;
  z-index: 10000;
  top: 0;
  right: 60px;
  align-items: center;
  display: flex;
  align-items: center;
  gap: 34px; }
  @media screen and (max-width: 768px) {
    #header nav.global {
      top: calc(20 / 375 * 100vw);
      right: calc(64 / 376 * 100vw); } }
  #header nav.global > ul:nth-child(1) {
    display: flex;
    gap: 16px; }
    @media screen and (max-width: 768px) {
      #header nav.global > ul:nth-child(1) {
        display: none; } }
    #header nav.global > ul:nth-child(1) > li > a {
      position: relative;
      display: block;
      padding: 44px 0;
      font-weight: bold;
      font-size: 14px;
      letter-spacing: 0.1em;
      line-height: 24px;
      text-align: right;
      color: #000;
      transition: all ease .3s; }
      #header nav.global > ul:nth-child(1) > li > a:hover {
        color: #797979; }
    #header nav.global > ul:nth-child(1) > li:has(.mega) > a {
      padding-right: 10px; }
      #header nav.global > ul:nth-child(1) > li:has(.mega) > a:before, #header nav.global > ul:nth-child(1) > li:has(.mega) > a:after {
        content: "";
        display: block;
        width: 6px;
        height: 1px;
        position: absolute;
        top: 50%;
        right: 0;
        background-color: #000;
        transition: all ease .3s; }
      #header nav.global > ul:nth-child(1) > li:has(.mega) > a:after {
        transform: rotate(90deg); }
      #header nav.global > ul:nth-child(1) > li:has(.mega) > a:hover:before {
        background-color: #797979; }
      #header nav.global > ul:nth-child(1) > li:has(.mega) > a:hover:after {
        opacity: 0; }
    #header nav.global > ul:nth-child(1) > li .mega {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: -1;
      background-color: #fff;
      filter: drop-shadow(0px 3px 20px rgba(0, 0, 0, 0.16));
      opacity: 0;
      pointer-events: none;
      transition: all ease .3s;
      display: flex;
      gap: 32px;
      padding: calc(64px + 112px) 84px 64px; }
      #header nav.global > ul:nth-child(1) > li .mega:after {
        content: "";
        position: absolute;
        top: 112px;
        left: 0;
        right: 0;
        height: 1px;
        display: block;
        background-color: #D4D4D4; }
      #header nav.global > ul:nth-child(1) > li .mega .title {
        flex: 0 0 calc(30% - 32px); }
        #header nav.global > ul:nth-child(1) > li .mega .title a p:nth-child(1) {
          position: relative;
          font-weight: bold;
          font-size: 32px;
          letter-spacing: 0.03em;
          line-height: 46px;
          text-align: left;
          color: #000;
          margin-bottom: 8px;
          padding-left: 0; }
        #header nav.global > ul:nth-child(1) > li .mega .title a p:nth-child(2) {
          font-weight: 500;
          font-size: 14px;
          line-height: 13px;
          text-align: left;
          color: #000;
          opacity: 0.6; }
        #header nav.global > ul:nth-child(1) > li .mega .title a[href] p:nth-child(1) {
          padding-left: 23px; }
          #header nav.global > ul:nth-child(1) > li .mega .title a[href] p:nth-child(1):before {
            content: "";
            display: block;
            background-image: url("../images/common/header_mega_title_arrow.svg");
            background-size: 100% 100%;
            width: 14px;
            height: 22px;
            position: absolute;
            top: 50%;
            left: 0;
            transform: translateY(-50%); }
      #header nav.global > ul:nth-child(1) > li .mega .body {
        flex: 0 0 70%; }
        #header nav.global > ul:nth-child(1) > li .mega .body ul {
          display: flex;
          flex-wrap: wrap;
          gap: 16px 32px; }
          #header nav.global > ul:nth-child(1) > li .mega .body ul li {
            flex: 0 0 calc((100% - 32px * 2) / 3); }
            #header nav.global > ul:nth-child(1) > li .mega .body ul li a {
              position: relative;
              display: block;
              font-weight: 500;
              font-size: 12.5px;
              line-height: 20px;
              text-align: left;
              color: #000;
              padding: 12px 0 12px 24px;
              border-bottom: 1px solid #D8D8D8;
              transition: all ease .3s; }
              #header nav.global > ul:nth-child(1) > li .mega .body ul li a:before {
                content: "";
                display: block;
                width: 16px;
                height: 16px;
                border-radius: 2px;
                background: #004481;
                position: absolute;
                left: 0;
                top: 14px;
                transition: all ease .3s; }
              #header nav.global > ul:nth-child(1) > li .mega .body ul li a:after {
                content: "";
                display: block;
                width: 10px;
                height: 10px;
                -webkit-mask-image: url("../images/common/arrow_white.svg");
                mask-image: url("../images/common/arrow_white.svg");
                -webkit-mask-size: 100% 100%;
                mask-size: 100% 100%;
                background-color: #fff;
                position: absolute;
                left: 3px;
                top: 17px; }
              #header nav.global > ul:nth-child(1) > li .mega .body ul li a:hover {
                color: #999999; }
                #header nav.global > ul:nth-child(1) > li .mega .body ul li a:hover:before {
                  background-color: #00F5FF; }
    #header nav.global > ul:nth-child(1) > li:hover .mega {
      opacity: 1;
      pointer-events: auto; }
    #header nav.global > ul:nth-child(1) > li.story .mega .title {
      flex: 0 0 20%; }
    #header nav.global > ul:nth-child(1) > li.story .mega .body {
      flex: 0 0 80%; }
      #header nav.global > ul:nth-child(1) > li.story .mega .body ul {
        gap: 0 32px;
        margin: -12px 0; }
        #header nav.global > ul:nth-child(1) > li.story .mega .body ul li a {
          border: none; }
  #header nav.global > ul:nth-child(2) {
    display: flex;
    gap: 4px; }
    #header nav.global > ul:nth-child(2) > li > a {
      display: block;
      position: relative;
      font-family: "Albert Sans", sans-serif;
      font-weight: 900;
      font-size: 10px;
      line-height: 24px;
      text-align: left;
      color: #fff;
      padding: 0 12px;
      width: 100px;
      height: 24px;
      border-radius: 2px;
      background-color: #004481;
      transition: all ease .3s; }
      @media screen and (max-width: 768px) {
        #header nav.global > ul:nth-child(2) > li > a {
          font-size: calc(10 / 375 * 100vw);
          line-height: calc(24 / 375 * 100vw);
          text-align: left;
          color: #fff;
          padding: 0 calc(12 / 375 * 100vw);
          width: calc(100 / 375 * 100vw);
          height: calc(24 / 375 * 100vw);
          border-radius: calc(2 / 375 * 100vw); } }
      #header nav.global > ul:nth-child(2) > li > a:before {
        content: "";
        display: block;
        position: absolute;
        top: 6px;
        right: 26px;
        width: 1px;
        height: 12px;
        background-color: #fff;
        transition: all ease .3s; }
        @media screen and (max-width: 768px) {
          #header nav.global > ul:nth-child(2) > li > a:before {
            top: calc(6 / 375 * 100vw);
            right: calc(26 / 375 * 100vw);
            width: calc(1 / 375 * 100vw);
            height: calc(12 / 375 * 100vw); } }
      #header nav.global > ul:nth-child(2) > li > a:after {
        content: "";
        display: block;
        -webkit-mask-image: url("../images/common/arrow_white.svg");
        mask-image: url("../images/common/arrow_white.svg");
        -webkit-mask-size: 100% 100%;
        mask-size: 100% 100%;
        width: 10px;
        height: 10px;
        position: absolute;
        right: 8px;
        top: 7px;
        background-color: #fff;
        transition: all ease .3s; }
        @media screen and (max-width: 768px) {
          #header nav.global > ul:nth-child(2) > li > a:after {
            width: calc(10 / 375 * 100vw);
            height: calc(10 / 375 * 100vw);
            right: calc(8 / 375 * 100vw);
            top: calc(7 / 375 * 100vw); } }
      #header nav.global > ul:nth-child(2) > li > a:hover {
        color: #004481;
        background-color: #00F5FF; }
        #header nav.global > ul:nth-child(2) > li > a:hover:before {
          background-color: #004481; }
        #header nav.global > ul:nth-child(2) > li > a:hover:after {
          background-color: #004481; }
#header nav.menu {
  display: none; }
  @media screen and (max-width: 768px) {
    #header nav.menu {
      display: block;
      position: fixed;
      z-index: 9000;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      background-color: #343738;
      opacity: 0;
      pointer-events: none;
      transition: all ease .3s;
      overflow: auto; }
      .menu-active #header nav.menu {
        pointer-events: auto;
        opacity: 1; } }
  #header nav.menu > ul {
    padding: calc(80 / 375 * 100vw) calc(38 / 375 * 100vw) calc(44 / 375 * 100vw); }
    #header nav.menu > ul > li {
      border-bottom: 1px solid rgba(255, 255, 255, 0.5); }
      #header nav.menu > ul > li:last-child {
        margin-bottom: 0; }
      #header nav.menu > ul > li > a {
        display: block;
        padding: calc(24 / 375 * 100vw) 0;
        position: relative;
        cursor: pointer; }
        #header nav.menu > ul > li > a p:nth-child(1) {
          font-family: "Albert Sans", sans-serif;
          font-weight: 900;
          font-size: calc(10 / 375 * 100vw);
          line-height: 1.2;
          text-align: left;
          color: #797979; }
        #header nav.menu > ul > li > a p:nth-child(2) {
          font-weight: 500;
          font-size: calc(16 / 375 * 100vw);
          letter-spacing: 0.05em;
          line-height: calc(24 / 16);
          text-align: left;
          color: #fff; }
      #header nav.menu > ul > li:has(ul) > a:before, #header nav.menu > ul > li:has(ul) > a:after {
        content: "";
        width: calc(16 / 375 * 100vw);
        height: 1px;
        background-color: #fff;
        position: absolute;
        top: calc(50 / 375 * 100vw);
        right: 0; }
      #header nav.menu > ul > li:has(ul) > a:after {
        transform: rotate(90deg); }
      #header nav.menu > ul > li:has(ul) > a.active:after {
        transform: rotate(0deg); }
      #header nav.menu > ul > li > ul {
        display: none;
        position: relative;
        top: -6px; }
        #header nav.menu > ul > li > ul:after {
          content: "";
          display: block;
          height: 12px; }
        #header nav.menu > ul > li > ul > li > a {
          position: relative;
          display: block;
          font-weight: 500;
          font-size: calc(13 / 375 * 100vw);
          letter-spacing: 0.05em;
          line-height: calc(26 / 13);
          text-align: left;
          color: #fff;
          padding: calc(3 / 375 * 100vw);
          padding-left: calc(10 / 375 * 100vw); }
          #header nav.menu > ul > li > ul > li > a:before {
            content: "";
            width: calc(8 / 375 * 100vw);
            height: 1px;
            background-color: #fff;
            position: absolute;
            top: calc(16 / 375 * 100vw);
            left: 0; }
#header p.menu {
  display: none; }
  @media screen and (max-width: 768px) {
    #header p.menu {
      display: block;
      position: fixed;
      z-index: 10000;
      top: 0;
      right: 0;
      mix-blend-mode: exclusion; }
      #header p.menu button {
        width: calc(64 / 375 * 100vw);
        height: calc(64 / 375 * 100vw);
        text-indent: -9999px;
        overflow: hidden; }
        #header p.menu button:before, #header p.menu button:after {
          content: "";
          display: block;
          position: absolute;
          width: calc(24 / 375 * 100vw);
          height: 1px;
          background-color: #fff;
          left: calc(50% - 12 / 375 * 100vw); }
        #header p.menu button:before {
          top: calc(50% - 2 / 375 * 100vw); }
          .menu-active #header p.menu button:before {
            top: 50%;
            transform: rotate(15deg); }
        #header p.menu button:after {
          top: calc(50% + 2 / 375 * 100vw); }
          .menu-active #header p.menu button:after {
            top: 50%;
            transform: rotate(-15deg); } }

#footer {
  position: relative;
  z-index: 1;
  background-color: #343738;
  padding: 120px 0 140px; }
  @media screen and (max-width: 768px) {
    #footer {
      padding: calc(80 / 375 * 100vw) 0; } }
  #footer .container {
    width: calc(100% - 120px);
    max-width: 984px;
    margin: 0 auto;
    position: relative; }
    @media screen and (max-width: 768px) {
      #footer .container {
        width: calc(335 / 375 * 100vw); } }
    #footer .container nav.cta {
      padding-bottom: 64px;
      border-bottom: 1px solid #FFFFFF; }
      @media screen and (max-width: 768px) {
        #footer .container nav.cta {
          padding-bottom: calc(80 / 375 * 100vw); } }
      #footer .container nav.cta ul {
        display: flex;
        justify-content: center; }
        @media screen and (max-width: 768px) {
          #footer .container nav.cta ul {
            display: block; } }
        #footer .container nav.cta ul li a {
          position: relative;
          display: block;
          display: flex;
          align-items: center;
          font-family: "Albert Sans", sans-serif;
          font-weight: 900;
          font-size: 28px;
          letter-spacing: 0.05em;
          line-height: 1;
          text-align: left;
          color: #fff;
          width: 488px;
          height: 220px;
          background-size: cover;
          padding-left: 27px;
          border-radius: 2px;
          overflow: hidden;
          transition: all ease .3s;
          background-size: 100% 100%;
          background-position: 50% 50%; }
          @media screen and (max-width: 768px) {
            #footer .container nav.cta ul li a {
              font-size: calc(24 / 375 * 100vw);
              height: calc(151 / 375 * 100vw);
              width: 100%;
              padding: 0 calc(32 / 375 * 100vw);
              border-radius: calc(2 / 375 * 100vw); } }
          #footer .container nav.cta ul li a .arrow {
            content: "";
            background-color: #004481;
            display: block;
            width: 25px;
            height: 24px;
            border-radius: 2px;
            position: absolute;
            top: calc(50% -12px);
            right: 69px;
            transition: all ease .3s; }
            #footer .container nav.cta ul li a .arrow:before {
              content: "";
              display: block;
              width: 20px;
              height: 20px;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              mask-image: url("../images/common/arrow_white.svg");
              mask-size: 20px 20px;
              background-color: #fff;
              transition: all ease .3s; }
          #footer .container nav.cta ul li a:hover {
            background-size: 110% 110%; }
            #footer .container nav.cta ul li a:hover .arrow {
              background-color: #00F5FF; }
              #footer .container nav.cta ul li a:hover .arrow:before {
                background-color: #004481; }
        #footer .container nav.cta ul li.entry a {
          background-image: url("../images/common/footer_cta_entry_bg.jpg"); }
    #footer .container .primary {
      padding-top: 64px;
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 768px) {
        #footer .container .primary {
          display: block;
          padding-top: calc(73 / 375 * 100vw); } }
      #footer .container .primary .content {
        flex: 0 0 278px; }
        #footer .container .primary .content .logo {
          display: flex;
          align-items: center;
          gap: 16px;
          margin-bottom: 40px; }
          @media screen and (max-width: 768px) {
            #footer .container .primary .content .logo {
              flex-direction: column;
              gap: calc(14 / 375 * 100vw);
              margin-bottom: calc(40 / 375 * 100vw); } }
          #footer .container .primary .content .logo p:nth-child(1) {
            width: 104px; }
            @media screen and (max-width: 768px) {
              #footer .container .primary .content .logo p:nth-child(1) {
                width: calc(134 / 375 * 100vw); } }
            #footer .container .primary .content .logo p:nth-child(1) img {
              width: 100%; }
          #footer .container .primary .content .logo p:nth-child(2) {
            display: flex; }
            #footer .container .primary .content .logo p:nth-child(2) span {
              font-family: "Albert Sans", sans-serif;
              font-weight: 900;
              font-size: 12px;
              letter-spacing: 0.1em;
              line-height: 18px;
              text-align: left;
              color: #fff; }
              @media screen and (max-width: 768px) {
                #footer .container .primary .content .logo p:nth-child(2) span {
                  font-size: calc(12 / 375 * 100vw);
                  letter-spacing: 0.1em;
                  line-height: calc(18 / 375 * 100vw); } }
            #footer .container .primary .content .logo p:nth-child(2) span:nth-child(1) {
              position: relative;
              padding-right: 10px; }
              @media screen and (max-width: 768px) {
                #footer .container .primary .content .logo p:nth-child(2) span:nth-child(1) {
                  padding-right: calc(10 / 375 * 100vw); } }
              #footer .container .primary .content .logo p:nth-child(2) span:nth-child(1):after {
                content: "";
                display: flex;
                width: 1px;
                height: 8px;
                background-color: #fff;
                border-radius: 9999px;
                position: absolute;
                right: 5px;
                top: 50%;
                transform: translateY(-50%); }
                @media screen and (max-width: 768px) {
                  #footer .container .primary .content .logo p:nth-child(2) span:nth-child(1):after {
                    width: calc(1 / 375 * 100vw);
                    height: calc(8 / 375 * 100vw);
                    right: calc(5 / 375 * 100vw); } }
        @media screen and (max-width: 768px) {
          #footer .container .primary .content nav.note {
            width: calc(278 / 375 * 100vw);
            margin: 0 auto; } }
        #footer .container .primary .content nav.note .action {
          margin-bottom: 16px; }
          @media screen and (max-width: 768px) {
            #footer .container .primary .content nav.note .action {
              margin-bottom: calc(16 / 375 * 100vw); } }
          #footer .container .primary .content nav.note .action a {
            position: relative;
            border: 1px solid #fff;
            border-radius: 2px;
            display: block;
            padding: 20px 24px;
            font-family: "Albert Sans", sans-serif;
            font-weight: 900;
            font-size: 12px;
            letter-spacing: 0.1em;
            line-height: 2;
            color: #fff;
            transition: all ease .3s; }
            #footer .container .primary .content nav.note .action a:hover {
              background-color: #fff;
              color: #343738; }
            @media screen and (max-width: 768px) {
              #footer .container .primary .content nav.note .action a {
                border-radius: calc(2 / 375 * 100vw);
                padding: calc(20 / 375 * 100vw) calc(24 / 375 * 100vw);
                font-size: calc(12 / 375 *100vw); } }
            #footer .container .primary .content nav.note .action a .icon {
              content: "";
              display: block;
              width: 25px;
              height: 24px;
              background-color: #004481;
              border-radius: 2px;
              position: absolute;
              right: 24px;
              top: 50%;
              transform: translateY(-50%);
              transition: all ease .3s; }
              @media screen and (max-width: 768px) {
                #footer .container .primary .content nav.note .action a .icon {
                  width: calc(25 / 375 * 100vw);
                  height: calc(24 / 375 * 100vw);
                  border-radius: calc(2 / 375 * 100vw);
                  right: calc(24 / 375 * 100vw); } }
              #footer .container .primary .content nav.note .action a .icon:before {
                content: "";
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                width: 11px;
                height: 11px;
                -webkit-mask-image: url("../images/common/footer_icon_blank.svg");
                mask-image: url("../images/common/footer_icon_blank.svg");
                -webkit-mask-size: 100% 100%;
                mask-size: 100% 100%;
                background-color: #fff;
                transition: all ease .3s; }
                @media screen and (max-width: 768px) {
                  #footer .container .primary .content nav.note .action a .icon:before {
                    width: calc(11 / 375 * 100vw);
                    height: calc(11 / 375 * 100vw); } }
            #footer .container .primary .content nav.note .action a:hover .icon {
              background-color: #00F5FF; }
              #footer .container .primary .content nav.note .action a:hover .icon:before {
                background-color: #004481; }
        #footer .container .primary .content nav.note .note {
          font-weight: 500;
          font-size: 10px;
          letter-spacing: 0.05em;
          line-height: 1.6;
          text-align: left;
          color: #fff; }
          @media screen and (max-width: 768px) {
            #footer .container .primary .content nav.note .note {
              font-size: calc(10 / 375 * 100vw);
              letter-spacing: 0.027em; } }
      #footer .container .primary nav.sitemap {
        max-width: 605px;
        display: flex;
        gap: 24px; }
        @media screen and (max-width: 768px) {
          #footer .container .primary nav.sitemap {
            display: none; } }
        #footer .container .primary nav.sitemap > div:nth-child(2) {
          flex: 1; }
        #footer .container .primary nav.sitemap > div > ul > li {
          margin-bottom: 30px; }
          #footer .container .primary nav.sitemap > div > ul > li:last-child {
            margin-bottom: 0; }
          #footer .container .primary nav.sitemap > div > ul > li > a {
            display: inline-block;
            transition: all ease .3s; }
            #footer .container .primary nav.sitemap > div > ul > li > a p:nth-child(1) {
              font-family: "Albert Sans", sans-serif;
              font-weight: 900;
              font-size: 10px;
              line-height: 12px;
              text-align: left;
              color: #797979;
              margin-bottom: 2px; }
            #footer .container .primary nav.sitemap > div > ul > li > a p:nth-child(2) {
              font-weight: 500;
              font-size: 16px;
              letter-spacing: 0.05em;
              line-height: 24px;
              text-align: left;
              color: #fff; }
            #footer .container .primary nav.sitemap > div > ul > li > a[href]:hover {
              opacity: .6; }
          #footer .container .primary nav.sitemap > div > ul > li > ul {
            margin-top: 12px; }
            #footer .container .primary nav.sitemap > div > ul > li > ul > li {
              margin-top: 10px; }
              #footer .container .primary nav.sitemap > div > ul > li > ul > li > a {
                position: relative;
                display: inline-block;
                font-weight: 500;
                font-size: 13px;
                letter-spacing: 0.05em;
                line-height: 22px;
                text-align: left;
                color: #fff;
                padding-left: 10px;
                transition: all ease .3s; }
                #footer .container .primary nav.sitemap > div > ul > li > ul > li > a:before {
                  content: "";
                  display: block;
                  width: 8px;
                  height: 1px;
                  background-color: #fff;
                  position: absolute;
                  top: 11px;
                  left: 0; }
                #footer .container .primary nav.sitemap > div > ul > li > ul > li > a:hover {
                  opacity: .6; }
    #footer .container .secondary {
      position: absolute;
      bottom: 0;
      left: 0; }
      @media screen and (max-width: 768px) {
        #footer .container .secondary {
          position: relative;
          bottom: auto;
          left: auto;
          padding-top: calc(40 / 375 * 100vw); } }
      #footer .container .secondary ul {
        display: flex;
        margin-bottom: 16px; }
        @media screen and (max-width: 768px) {
          #footer .container .secondary ul {
            margin-bottom: calc(16 / 375 * 100vw); } }
        #footer .container .secondary ul li {
          font-weight: 500;
          font-size: 10px;
          letter-spacing: 0.05em;
          line-height: 1.5;
          text-align: left;
          color: #fff; }
          @media screen and (max-width: 768px) {
            #footer .container .secondary ul li {
              text-align: center;
              font-size: calc(11 / 375 * 100vw);
              letter-spacing: 0.03em; } }
          #footer .container .secondary ul li:after {
            content: '\00a0' "|" '\00a0'; }
          #footer .container .secondary ul li:last-child:after {
            display: none; }
          #footer .container .secondary ul li a {
            transition: all ease .3s; }
            #footer .container .secondary ul li a:hover {
              opacity: .6; }
      #footer .container .secondary .copyright {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 10px;
        line-height: 1.2;
        text-align: left;
        color: #fff; }
        @media screen and (max-width: 768px) {
          #footer .container .secondary .copyright {
            font-size: calc(10 / 375 * 100vw);
            text-align: center; } }
    #footer .container .pagetop {
      position: absolute;
      bottom: -84px;
      right: 0; }
      @media screen and (max-width: 768px) {
        #footer .container .pagetop {
          position: relative;
          bottom: auto;
          right: auto;
          display: flex;
          justify-content: center;
          padding-top: calc(38 / 375 * 100vw); } }
      #footer .container .pagetop a {
        position: relative;
        display: block;
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 12px;
        letter-spacing: 0.1em;
        line-height: 20px;
        text-align: left;
        color: #fff;
        padding-left: 22px; }
        @media screen and (max-width: 768px) {
          #footer .container .pagetop a {
            font-size: calc(12 / 375 * 100vw);
            line-height: calc(20 / 375 * 100vw);
            padding-left: calc(22 / 375 * 100vw); } }
        #footer .container .pagetop a:before {
          content: "";
          display: block;
          width: 20px;
          height: 20px;
          position: absolute;
          top: 0;
          left: 0;
          background-image: url("../images/common/footer_pagetop_arrow.svg");
          background-size: 100% 100%; }
          @media screen and (max-width: 768px) {
            #footer .container .pagetop a:before {
              width: calc(20 / 375 * 100vw);
              height: calc(20 / 375 * 100vw); } }

main.home {
  overflow: hidden; }
  main.home header.visual {
    position: relative;
    width: 100vw;
    height: 62.5vw;
    background-color: #fff; }
    @media screen and (max-width: 768px) {
      main.home header.visual {
        height: calc(640 / 375 * 100vw); } }
    main.home header.visual .copy h1 {
      position: absolute;
      z-index: 4;
      left: calc(51 / 1280 * 100%);
      bottom: calc(57.5 / 800 * 100%);
      width: calc(934 / 1280 * 100%); }
      main.home header.visual .copy h1 img {
        width: 100%; }
      @media screen and (max-width: 768px) {
        main.home header.visual .copy h1 {
          left: calc(7 / 375 * 100vw);
          right: calc(-14 / 375 * 100vw);
          bottom: calc(61 / 375 * 100vw);
          width: auto; } }
    main.home header.visual .copy p {
      position: absolute;
      z-index: 4;
      left: calc(84 / 1280 * 100%);
      bottom: calc(-10 / 800 * 100%);
      width: calc(730 / 1280 * 100%);
      mix-blend-mode: hard-light; }
      main.home header.visual .copy p img {
        width: 100%; }
      @media screen and (max-width: 768px) {
        main.home header.visual .copy p {
          left: calc(6 / 375 * 100vw);
          right: calc(16 / 375 * 100vw);
          bottom: calc(10 / 375 * 100vw);
          width: auto; } }
    main.home header.visual .title {
      position: absolute;
      z-index: 3;
      right: 36px;
      top: 50%;
      margin-top: -15px;
      transform: rotate(90deg) translateX(50%);
      transform-origin: 100% 50%;
      font-family: "Albert Sans", sans-serif;
      font-weight: bold;
      font-size: 24px;
      line-height: 30px;
      text-align: left;
      color: #fff;
      mix-blend-mode: difference;
      white-space: nowrap;
      display: flex; }
      @media screen and (max-width: 768px) {
        main.home header.visual .title {
          font-size: calc(12 / 375 * 100vw);
          line-height: calc(14 / 375 * 100vw);
          right: calc(10 / 375 * 100vw);
          margin-top: calc(-7 / 375 * 100vw);
          top: 45%;
          color: #000;
          mix-blend-mode: initial; } }
      main.home header.visual .title span:nth-child(1) {
        position: relative;
        padding-right: 16px; }
        @media screen and (max-width: 768px) {
          main.home header.visual .title span:nth-child(1) {
            padding-right: calc(10 / 375 * 100vw); } }
        main.home header.visual .title span:nth-child(1):after {
          content: "";
          display: block;
          width: 2px;
          height: 16px;
          border-radius: 9999px;
          background-color: #fff;
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          right: 8px; }
          @media screen and (max-width: 768px) {
            main.home header.visual .title span:nth-child(1):after {
              width: calc(1 / 375 * 100vw);
              height: calc(8 / 375 * 100vw);
              right: calc(5 / 375 * 100vw);
              color: #000; } }
@keyframes mask-animation-to-right {
  0% {
    mask-position: 100% 0%; }
  100% {
    mask-position: 0% 0%; } }
@keyframes mask-animation-to-left {
  0% {
    mask-position: 0% 0%; }
  100% {
    mask-position: 100% 0%; } }
    main.home header.visual .deco img {
      position: absolute;
      will-change: mask-image;
      max-width: none;
      z-index: 2; }
    main.home header.visual .deco img:nth-child(1) {
      top: calc(65 / 800 * 100%);
      left: calc(448 / 1280 * 100%);
      width: calc(153 / 1280 * 100%);
      mask-image: linear-gradient(to right, black 0%, black 49%, transparent 51%, transparent 100%);
      mask-size: 400% 100%;
      mask-position: 100% 0%; }
      @media screen and (max-width: 768px) {
        main.home header.visual .deco img:nth-child(1) {
          width: calc(100 / 375 * 100vw);
          top: calc(58 / 375 * 100vw);
          left: calc(86 / 375 * 100vw); } }
    main.home header.visual .deco img:nth-child(2) {
      top: calc(92 / 800 * 100%);
      left: calc(1018 / 1280 * 100%);
      width: calc(209 / 1280 * 100%);
      mask-image: linear-gradient(to right, black 0%, black 49%, transparent 51%, transparent 100%);
      mask-size: 400% 100%;
      mask-position: 100% 0%; }
      @media screen and (max-width: 768px) {
        main.home header.visual .deco img:nth-child(2) {
          width: calc(90 / 375 * 100vw);
          top: calc(97 / 375 * 100vw);
          left: calc(310 / 375 * 100vw); } }
    main.home header.visual .deco picture:nth-child(3) img {
      top: calc(198 / 800 * 100%);
      left: calc(201 / 1280 * 100%);
      width: calc(857 / 1280 * 100%);
      mix-blend-mode: multiply;
      mask-image: linear-gradient(to right, black 0%, black 49%, transparent 51%, transparent 100%);
      mask-size: 400% 100%;
      mask-position: 100% 0%; }
      @media screen and (max-width: 768px) {
        main.home header.visual .deco picture:nth-child(3) img {
          width: calc(634 / 375 * 100vw);
          top: calc(20 / 375 * 100vw);
          left: calc(-171 / 375 * 100vw); } }
    main.home header.visual .deco img:nth-child(4) {
      top: calc(380 / 800 * 100%);
      left: calc(169 / 1280 * 100%);
      width: calc(782 / 1280 * 100%);
      mask-image: linear-gradient(to right, black 0%, black 49%, transparent 51%, transparent 100%);
      mask-size: 400% 100%;
      mask-position: 100% 0%; }
      @media screen and (max-width: 768px) {
        main.home header.visual .deco img:nth-child(4) {
          width: calc(416 / 375 * 100vw);
          top: calc(402 / 375 * 100vw);
          left: calc(0 / 375 * 100vw); } }
    main.home header.visual .img picture img {
      position: absolute;
      opacity: 0;
      filter: blur(8px);
      transition: opacity 1s ease, filter 1s ease; }
    main.home header.visual .img picture:nth-child(1) img {
      top: calc(66 / 800 * 100%);
      left: calc(237 / 1280 * 100%);
      width: calc(271 / 1280 * 100%);
      transition-delay: 1s; }
      @media screen and (max-width: 768px) {
        main.home header.visual .img picture:nth-child(1) img {
          width: calc(120 / 375 * 100vw);
          top: calc(101 / 375 * 100vw);
          left: calc(20 / 375 * 100vw);
          transition-delay: 1.25s; } }
    main.home header.visual .img picture:nth-child(2) img {
      top: calc(130 / 1280 * 100vw);
      left: calc(758 / 1280 * 100vw);
      width: calc(345 / 1280 * 100vw);
      transition-delay: 1.75s; }
      @media screen and (max-width: 768px) {
        main.home header.visual .img picture:nth-child(2) img {
          width: calc(188 / 375 * 100vw);
          top: calc(80 / 375 * 100vw);
          left: calc(178 / 375 * 100vw);
          transition-delay: 1.5s; } }
    main.home header.visual .img picture:nth-child(3) img {
      top: calc(202 / 1280 * 100vw);
      left: calc(529 / 1280 * 100vw);
      width: calc(171 / 1280 * 100vw);
      transition-delay: 1.25s;
      z-index: 1; }
      @media screen and (max-width: 768px) {
        main.home header.visual .img picture:nth-child(3) img {
          width: calc(81 / 375 * 100vw);
          top: calc(277 / 375 * 100vw);
          left: calc(245 / 375 * 100vw);
          transition-delay: 2s;
          z-index: 1; } }
    main.home header.visual .img picture:nth-child(4) img {
      top: calc(318 / 1280 * 100vw);
      left: calc(1062 / 1280 * 100vw);
      width: calc(109 / 1280 * 100vw);
      transition-delay: 2s; }
      @media screen and (max-width: 768px) {
        main.home header.visual .img picture:nth-child(4) img {
          width: calc(93 / 375 * 100vw);
          top: calc(31 / 375 * 100vw);
          left: calc(120 / 375 * 100vw);
          transition-delay: 1s; } }
    main.home header.visual .img picture:nth-child(5) img {
      top: calc(313 / 1280 * 100vw);
      left: calc(191 / 1280 * 100vw);
      width: calc(408 / 1280 * 100vw);
      transition-delay: 1.5s; }
      @media screen and (max-width: 768px) {
        main.home header.visual .img picture:nth-child(5) img {
          width: calc(164 / 375 * 100vw);
          top: calc(198 / 375 * 100vw);
          left: calc(62 / 375 * 100vw);
          transition-delay: 1.75s; } }
    main.home header.visual .img picture:nth-child(6) img {
      top: calc(422 / 1280 * 100vw);
      left: calc(712 / 1280 * 100vw);
      width: calc(508 / 1280 * 100vw);
      transition-delay: 2.25s; }
      @media screen and (max-width: 768px) {
        main.home header.visual .img picture:nth-child(6) img {
          width: calc(296 / 375 * 100vw);
          top: calc(313 / 375 * 100vw);
          left: calc(79 / 375 * 100vw);
          transition-delay: 2.25s; } }
    .is-loaded main.home header.visual .img img {
      filter: blur(0px);
      opacity: 1; }
    .is-loaded main.home header.visual .deco img:nth-child(1) {
      animation: mask-animation-to-right .4s ease forwards 3s; }
    .is-loaded main.home header.visual .deco img:nth-child(2) {
      animation: mask-animation-to-right .4s ease forwards 3.1s; }
    .is-loaded main.home header.visual .deco img:nth-child(3) {
      animation: mask-animation-to-right .8s ease forwards 3.2s; }
    .is-loaded main.home header.visual .deco img:nth-child(4) {
      animation: mask-animation-to-right 1.5s ease forwards 3.8s; }
  main.home section.intro {
    background-color: #fff;
    margin-top: 115px; }
    @media screen and (max-width: 768px) {
      main.home section.intro {
        margin-top: 0; } }
    main.home section.intro .container {
      width: calc(100% - 120px);
      max-width: 984px;
      margin: 0 auto;
      position: relative;
      padding: 255px 0 166px; }
      @media screen and (max-width: 768px) {
        main.home section.intro .container {
          width: calc(335 / 375 * 100vw); } }
      @media screen and (max-width: 768px) {
        main.home section.intro .container {
          padding: 23.5rem 0 11.1rem; } }
      main.home section.intro .container > .deco img {
        position: absolute;
        max-width: none; }
      main.home section.intro .container > .deco picture:nth-child(1) img {
        left: 238px;
        top: -317px;
        mix-blend-mode: multiply;
        z-index: 1;
        mask-image: linear-gradient(to left, black 0%, black 49%, transparent 51%, transparent 100%);
        mask-size: 400% 100%;
        mask-position: 0% 0%; }
        @media screen and (max-width: 768px) {
          main.home section.intro .container > .deco picture:nth-child(1) img {
            top: -5.9rem;
            left: -1.3rem;
            width: 44.7rem; } }
      main.home section.intro .container > .deco picture:nth-child(2) img {
        left: 859px;
        top: 221px;
        z-index: 1;
        mask-image: linear-gradient(to right, black 0%, black 49%, transparent 51%, transparent 100%);
        mask-size: 400% 100%;
        mask-position: 100% 0%; }
      main.home section.intro .container .img img {
        position: absolute;
        opacity: 0;
        filter: blur(8px);
        transform: translateY(20px);
        transition: all 1s ease; }
      main.home section.intro .container .img img:nth-child(1) {
        width: 295px;
        top: 0px;
        left: 30px;
        transition-delay: .5s; }
        @media screen and (max-width: 768px) {
          main.home section.intro .container .img img:nth-child(1) {
            width: 15rem;
            left: .6rem; } }
      main.home section.intro .container .img img:nth-child(2) {
        width: 352px;
        top: 140px;
        right: -90px;
        transition-delay: .75s; }
        @media screen and (max-width: 768px) {
          main.home section.intro .container .img img:nth-child(2) {
            width: 20.3rem;
            top: 11.6rem;
            right: 1.6rem; } }
      main.home section.intro .container .img img:nth-child(3) {
        width: 199px;
        top: 407px;
        left: -148px;
        transition-delay: 1.25s; }
        @media screen and (max-width: 768px) {
          main.home section.intro .container .img img:nth-child(3) {
            width: 8.9rem;
            top: 38rem;
            left: 24.5rem; } }
      main.home section.intro .container .img img:nth-child(4) {
        width: 250px;
        top: 520px;
        right: 27px;
        transition-delay: 1.5s; }
        @media screen and (max-width: 768px) {
          main.home section.intro .container .img img:nth-child(4) {
            width: 19.5rem;
            top: 59.1rem;
            right: -4.7rem; } }
      main.home section.intro .container .content {
        position: relative;
        width: fit-content;
        margin: 0 auto;
        margin-bottom: 62px;
        opacity: 0;
        filter: blur(8px);
        transform: translateY(20px);
        transition: all ease 1s; }
        main.home section.intro .container .content p {
          font-weight: 900;
          font-size: 32px;
          letter-spacing: 0.05em;
          line-height: 64px;
          text-align: left;
          color: #939393;
          transition: all ease .3s; }
          @media screen and (max-width: 768px) {
            main.home section.intro .container .content p {
              font-size: 2rem;
              letter-spacing: 0.02em;
              line-height: 4rem; } }
          main.home section.intro .container .content p span[data-inview-active] {
            color: #004481; }
        main.home section.intro .container .content[data-inview-active] {
          opacity: 1;
          filter: blur(0px);
          transform: translateY(0px); }
      main.home section.intro .container .copy {
        opacity: 0;
        filter: blur(8px);
        transform: translateY(20px);
        transition: all ease 1s; }
        main.home section.intro .container .copy:before {
          content: "";
          position: absolute;
          left: -100vw;
          right: -100vw;
          top: 0;
          bottom: 0;
          background-color: #fff;
          display: block; }
        main.home section.intro .container .copy p:nth-child(1) {
          position: relative;
          z-index: 1;
          margin-left: calc(-24 / 984 * 100%);
          margin-right: calc(-41 / 984 * 100%); }
          @media screen and (max-width: 768px) {
            main.home section.intro .container .copy p:nth-child(1) {
              margin-left: -.4rem;
              margin-right: -1.4rem; } }
        main.home section.intro .container .copy p:nth-child(2) {
          mix-blend-mode: hard-light;
          margin-top: calc(-18 / 984 * 100%);
          margin-left: calc(23 / 984 * 100%); }
          @media screen and (max-width: 768px) {
            main.home section.intro .container .copy p:nth-child(2) {
              margin-top: -.6rem;
              margin-left: -.9rem;
              margin-right: .1rem; } }
        main.home section.intro .container .copy .deco img {
          position: absolute;
          left: -216px;
          bottom: -29px;
          mix-blend-mode: multiply;
          max-width: none;
          mask-image: linear-gradient(to right, black 0%, black 49%, transparent 51%, transparent 100%);
          mask-size: 400% 100%;
          mask-position: 100% 0%; }
          @media screen and (max-width: 768px) {
            main.home section.intro .container .copy .deco img {
              width: 60.2rem;
              bottom: -5rem;
              left: -26.0rem; } }
        main.home section.intro .container .copy[data-inview-active] {
          opacity: 1;
          filter: blur(0px);
          transform: translateY(0px); }
          main.home section.intro .container .copy[data-inview-active] .deco img {
            animation: mask-animation-to-right 1s ease forwards .75s; }
    main.home section.intro[data-inview-active] .deco picture:nth-child(1) img {
      animation: mask-animation-to-left 1s ease forwards 0s; }
    main.home section.intro[data-inview-active] .deco picture:nth-child(2) img {
      animation: mask-animation-to-right .5s ease forwards 2s; }
    main.home section.intro[data-inview-active] .img img {
      opacity: 1;
      transform: translateY(0px);
      filter: blur(0px); }
  main.home section.strategy {
    background-image: url("../images/home/strategy_bg.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 100%;
    min-height: 1542px;
    padding-bottom: 222px; }
    @media screen and (max-width: 768px) {
      main.home section.strategy {
        background-image: url("../images/home/strategy_bg_sp.jpg");
        min-height: calc(1756 / 375 * 100vw);
        padding-bottom: calc(156 / 375 * 100vw); } }
    main.home section.strategy .container {
      width: calc(100% - 120px);
      max-width: 984px;
      margin: 0 auto;
      position: relative;
      opacity: 0;
      filter: blur(8px);
      transform: translateY(20px);
      transition: all 1s ease; }
      @media screen and (max-width: 768px) {
        main.home section.strategy .container {
          width: calc(335 / 375 * 100vw); } }
      main.home section.strategy .container header {
        position: relative;
        padding-top: 142px; }
        @media screen and (max-width: 768px) {
          main.home section.strategy .container header {
            padding-top: calc(54 / 375 * 100vw); } }
        main.home section.strategy .container header > hgroup p {
          background-image: url("../images/home/strategy_deco_text.svg");
          background-size: 100% 100%;
          width: 976px;
          height: 186px;
          position: absolute;
          top: 0;
          left: -147px;
          text-indent: -9999px;
          overflow: hidden; }
          @media screen and (max-width: 768px) {
            main.home section.strategy .container header > hgroup p {
              background-image: url("../images/home/strategy_deco_text_sp.svg");
              width: calc(110 / 375 * 100vw);
              height: calc(564 / 375 * 100vw);
              left: auto;
              top: calc(6 / 375 * 100vw);
              right: calc(-20 / 375 * 100vw); } }
        main.home section.strategy .container header > hgroup h2 {
          font-weight: 900;
          font-size: 80px;
          letter-spacing: -0.09em;
          line-height: 1;
          text-align: left;
          color: #fff;
          position: absolute;
          right: -40px;
          top: 87px;
          writing-mode: vertical-rl;
          white-space: nowrap; }
          @media screen and (max-width: 768px) {
            main.home section.strategy .container header > hgroup h2 {
              font-size: calc(56 / 375 * 100vw);
              left: 0;
              right: auto;
              top: calc(45 / 375 * 100vw); } }
        main.home section.strategy .container header .copy {
          position: relative;
          margin-bottom: 20px; }
          @media screen and (max-width: 768px) {
            main.home section.strategy .container header .copy {
              margin-bottom: calc(24 / 375 * 100vw);
              padding-left: calc(76 / 375 * 100vw); } }
          main.home section.strategy .container header .copy .highlight {
            font-weight: 900;
            font-size: 28px;
            letter-spacing: 0.05em;
            line-height: 40px;
            text-align: left;
            color: #004481;
            background-color: #fff;
            display: inline;
            box-decoration-break: clone;
            -webkit-box-decoration-break: clone;
            padding: 0 4px; }
            @media screen and (max-width: 768px) {
              main.home section.strategy .container header .copy .highlight {
                font-size: calc(24 / 375 * 100vw);
                line-height: calc(29 / 375 * 100vw);
                letter-spacing: -0.05em;
                padding: 0 calc(4 / 375 * 100vw); } }
        main.home section.strategy .container header .lead {
          position: relative;
          font-weight: 500;
          font-size: 16px;
          letter-spacing: 0.05em;
          line-height: 32px;
          text-align: left;
          color: #fff;
          padding-right: 127px;
          margin-bottom: 40px; }
          @media screen and (max-width: 768px) {
            main.home section.strategy .container header .lead {
              font-size: calc(14 / 375 * 100vw);
              line-height: calc(23 / 375 * 100vw);
              margin-bottom: calc(24 / 375 * 100vw);
              padding-left: calc(76 / 375 * 100vw);
              padding-right: 0; } }
        main.home section.strategy .container header .action {
          position: absolute;
          top: 193px;
          right: 128px; }
          @media screen and (max-width: 768px) {
            main.home section.strategy .container header .action {
              position: relative;
              top: auto;
              right: auto; } }
          main.home section.strategy .container header .action a {
            position: relative;
            display: block;
            width: 122px;
            height: 24px;
            border-radius: 2px;
            background: #004481;
            font-family: "Albert Sans", sans-serif;
            font-weight: 900;
            font-size: 10px;
            line-height: 2.4;
            text-align: left;
            color: #fff;
            padding: 0 8px;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.home section.strategy .container header .action a {
                width: 12.2rem;
                height: 2.4rem;
                border-radius: .2rem;
                font-size: 1rem;
                padding: 0 .8rem; } }
            main.home section.strategy .container header .action a:before {
              content: "";
              display: block;
              width: 1px;
              height: 12px;
              position: absolute;
              right: 26px;
              top: 50%;
              transform: translateY(-50%);
              background-color: #fff;
              transition: all ease .3s; }
              @media screen and (max-width: 768px) {
                main.home section.strategy .container header .action a:before {
                  width: 1px;
                  height: 1.2rem;
                  right: 2.6rem; } }
            main.home section.strategy .container header .action a:after {
              content: "";
              position: absolute;
              right: 8px;
              top: 50%;
              transform: translateY(-50%);
              display: block;
              width: 10px;
              height: 10px;
              -webkit-mask-image: url("../images/common/arrow_white.svg");
              mask-image: url("../images/common/arrow_white.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              background-color: #fff;
              transition: all ease .3s; }
              @media screen and (max-width: 768px) {
                main.home section.strategy .container header .action a:after {
                  right: .8rem;
                  width: 1rem;
                  height: 1rem; } }
            main.home section.strategy .container header .action a:hover {
              color: #004481;
              background-color: #00F5FF; }
              main.home section.strategy .container header .action a:hover:before {
                background-color: #004481; }
              main.home section.strategy .container header .action a:hover:after {
                background-color: #004481; }
      main.home section.strategy .container .body {
        position: relative;
        padding-bottom: 218px; }
        @media screen and (max-width: 768px) {
          main.home section.strategy .container .body {
            display: flex;
            flex-direction: column;
            gap: calc(36 / 375 * 100vw);
            padding-bottom: 0;
            margin-top: calc(24 / 375 * 100vw); } }
        main.home section.strategy .container .body ul {
          position: relative;
          z-index: 1;
          width: 444px;
          border-bottom: 1px solid #fff; }
          @media screen and (max-width: 768px) {
            main.home section.strategy .container .body ul {
              width: auto; } }
          main.home section.strategy .container .body ul li {
            border-top: 1px solid #fff; }
            main.home section.strategy .container .body ul li section a {
              display: block;
              padding: 30px 0; }
              @media screen and (max-width: 768px) {
                main.home section.strategy .container .body ul li section a {
                  padding: calc(30 / 375 * 100vw) 0; } }
              main.home section.strategy .container .body ul li section a > hgroup {
                margin-bottom: 20px; }
                @media screen and (max-width: 768px) {
                  main.home section.strategy .container .body ul li section a > hgroup {
                    margin-bottom: calc(24 / 375 * 100vw); } }
                main.home section.strategy .container .body ul li section a > hgroup p {
                  font-family: "Albert Sans", sans-serif;
                  font-weight: 900;
                  font-size: 10px;
                  line-height: 1.2;
                  text-align: left;
                  color: #00f5ff; }
                  @media screen and (max-width: 768px) {
                    main.home section.strategy .container .body ul li section a > hgroup p {
                      font-size: calc(10 / 375 * 100vw); } }
                main.home section.strategy .container .body ul li section a > hgroup h3 {
                  font-weight: 900;
                  font-size: 28px;
                  letter-spacing: -0.05em;
                  line-height: 40px;
                  text-align: left;
                  color: #fff; }
                  @media screen and (max-width: 768px) {
                    main.home section.strategy .container .body ul li section a > hgroup h3 {
                      font-size: calc(28 / 375 * 100vw);
                      line-height: calc(40 / 375 * 100vw); } }
                  main.home section.strategy .container .body ul li section a > hgroup h3 .arrow {
                    position: relative;
                    content: "";
                    display: inline-block;
                    width: 25px;
                    height: 24px;
                    background-color: #004481;
                    margin-left: 16px;
                    vertical-align: -2px;
                    border-radius: 2px;
                    transition: all ease .3s; }
                    @media screen and (max-width: 768px) {
                      main.home section.strategy .container .body ul li section a > hgroup h3 .arrow {
                        width: calc(25 / 375 * 100vw);
                        height: calc(24 / 375 * 100vw);
                        margin-left: calc(16 / 375 * 100vw);
                        vertical-align: calc(-2 / 375 * 100vw);
                        border-radius: calc(2 / 375 * 100vw); } }
                    main.home section.strategy .container .body ul li section a > hgroup h3 .arrow:before {
                      content: "";
                      display: block;
                      width: 20px;
                      height: 20px;
                      position: absolute;
                      top: 50%;
                      left: 50%;
                      transform: translate(-50%, -50%);
                      -webkit-mask-image: url("../images/common/arrow_white.svg");
                      mask-image: url("../images/common/arrow_white.svg");
                      -webkit-mask-size: 100% 100%;
                      mask-size: 100% 100%;
                      background-color: #fff;
                      transition: all ease .3s; }
                      @media screen and (max-width: 768px) {
                        main.home section.strategy .container .body ul li section a > hgroup h3 .arrow:before {
                          width: calc(20 / 375 * 100vw);
                          height: calc(20 / 375 * 100vw); } }
              main.home section.strategy .container .body ul li section a .title {
                font-weight: bold;
                font-size: 20px;
                line-height: 1.5;
                text-align: left;
                color: #fff;
                margin-bottom: 8px; }
                @media screen and (max-width: 768px) {
                  main.home section.strategy .container .body ul li section a .title {
                    font-size: calc(20 / 375 * 100vw);
                    margin-bottom: calc(8 / 375 * 100vw); } }
              main.home section.strategy .container .body ul li section a .description {
                font-weight: 500;
                font-size: 14px;
                letter-spacing: 0.05em;
                line-height: calc(23 / 14);
                text-align: left;
                color: #fff; }
                @media screen and (max-width: 768px) {
                  main.home section.strategy .container .body ul li section a .description {
                    font-size: calc(14 / 375 * 100vw); } }
              main.home section.strategy .container .body ul li section a:hover > hgroup h3 .arrow {
                background-color: #00F5FF; }
                main.home section.strategy .container .body ul li section a:hover > hgroup h3 .arrow:before {
                  background-color: #004481; }
        main.home section.strategy .container .body figure {
          width: 577px;
          position: absolute;
          z-index: 1;
          top: -6px;
          right: -50px; }
          @media screen and (max-width: 768px) {
            main.home section.strategy .container .body figure {
              position: relative;
              top: auto;
              right: auto;
              width: 100%; } }
        main.home section.strategy .container .body .deco {
          position: absolute;
          left: 0;
          bottom: 0; }
          @media screen and (max-width: 768px) {
            main.home section.strategy .container .body .deco {
              bottom: calc(-132 / 375 * 100vw);
              left: 0; } }
          main.home section.strategy .container .body .deco img {
            display: block;
            width: 967px;
            mix-blend-mode: multiply;
            max-width: none;
            mask-image: linear-gradient(to left, black 0%, black 49%, transparent 51%, transparent 100%);
            mask-size: 400% 100%;
            mask-position: 0% 0%; }
            @media screen and (max-width: 768px) {
              main.home section.strategy .container .body .deco img {
                width: calc(608 / 375 * 100vw); } }
            main.home section.strategy .container .body .deco img[data-inview-active] {
              animation: mask-animation-to-left 1s ease forwards 0s; }
    main.home section.strategy[data-inview-active] .container {
      opacity: 1;
      filter: blur(0px);
      transform: translateY(0px); }
  main.home section.business,
  main.home section.career {
    position: relative;
    z-index: 1;
    opacity: 0;
    filter: blur(8px);
    transform: translateY(20px);
    transition: all 1s ease; }
    main.home section.business .container,
    main.home section.career .container {
      width: calc(100% - 120px);
      max-width: 984px;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        main.home section.business .container,
        main.home section.career .container {
          width: calc(335 / 375 * 100vw); } }
      main.home section.business .container .wrapper,
      main.home section.career .container .wrapper {
        position: relative;
        background: linear-gradient(#343738 0%, #000 100%);
        filter: drop-shadow(16px 16px 10px rgba(0, 0, 0, 0.16));
        border-radius: 8px;
        padding: 100px 88px;
        display: flex;
        align-items: center;
        justify-content: space-between; }
        @media screen and (max-width: 768px) {
          main.home section.business .container .wrapper,
          main.home section.career .container .wrapper {
            flex-direction: column;
            gap: calc(32 / 375 * 100vw);
            padding: calc(32 / 375 * 100vw) calc(24 / 375 * 100vw) calc(55 / 375 * 100vw); } }
        main.home section.business .container .wrapper .content,
        main.home section.career .container .wrapper .content {
          flex: 0 0 calc(298 / 808 * 100%);
          color: #fff; }
          @media screen and (max-width: 768px) {
            main.home section.business .container .wrapper .content hgroup,
            main.home section.career .container .wrapper .content hgroup {
              position: relative; } }
          main.home section.business .container .wrapper .content hgroup p,
          main.home section.career .container .wrapper .content hgroup p {
            font-family: "Albert Sans", sans-serif;
            font-weight: 900;
            font-size: 10px;
            line-height: 1.2;
            text-align: left;
            color: #00f5ff;
            position: absolute;
            top: 48px;
            left: 48px; }
            @media screen and (max-width: 768px) {
              main.home section.business .container .wrapper .content hgroup p,
              main.home section.career .container .wrapper .content hgroup p {
                font-size: calc(10 / 375 * 100vw);
                position: absolute;
                top: calc(8 / 375 * 100vw);
                right: 0;
                left: auto; } }
          main.home section.business .container .wrapper .content hgroup h2,
          main.home section.career .container .wrapper .content hgroup h2 {
            font-weight: 900;
            font-size: 40px;
            letter-spacing: -0.05em;
            line-height: 58px;
            text-align: left;
            color: #fff;
            margin-bottom: 12px; }
            @media screen and (max-width: 768px) {
              main.home section.business .container .wrapper .content hgroup h2,
              main.home section.career .container .wrapper .content hgroup h2 {
                font-size: calc(28 / 375 * 100vw);
                line-height: calc(40 / 375 * 100vw);
                margin-bottom: calc(12 / 375 * 100vw); } }
          main.home section.business .container .wrapper .content .description,
          main.home section.career .container .wrapper .content .description {
            font-weight: 500;
            font-size: 16px;
            letter-spacing: 0.05em;
            line-height: 32px;
            text-align: left;
            color: #fff; }
            @media screen and (max-width: 768px) {
              main.home section.business .container .wrapper .content .description,
              main.home section.career .container .wrapper .content .description {
                font-size: calc(16 / 375 * 100vw);
                line-height: calc(26 / 375 * 100vw); } }
          main.home section.business .container .wrapper .content .action,
          main.home section.career .container .wrapper .content .action {
            margin-top: 26px; }
            @media screen and (max-width: 768px) {
              main.home section.business .container .wrapper .content .action,
              main.home section.career .container .wrapper .content .action {
                margin-top: calc(26 / 375 * 100vw); } }
            main.home section.business .container .wrapper .content .action a,
            main.home section.career .container .wrapper .content .action a {
              position: relative;
              display: block;
              width: 122px;
              height: 24px;
              border-radius: 2px;
              background: #004481;
              font-family: "Albert Sans", sans-serif;
              font-weight: 900;
              font-size: 10px;
              line-height: 2.4;
              text-align: left;
              color: #fff;
              padding: 0 8px;
              transition: all ease .3s; }
              @media screen and (max-width: 768px) {
                main.home section.business .container .wrapper .content .action a,
                main.home section.career .container .wrapper .content .action a {
                  width: 12.2rem;
                  height: 2.4rem;
                  border-radius: .2rem;
                  font-size: 1rem;
                  padding: 0 .8rem; } }
              main.home section.business .container .wrapper .content .action a:before,
              main.home section.career .container .wrapper .content .action a:before {
                content: "";
                display: block;
                width: 1px;
                height: 12px;
                position: absolute;
                right: 26px;
                top: 50%;
                transform: translateY(-50%);
                background-color: #fff;
                transition: all ease .3s; }
                @media screen and (max-width: 768px) {
                  main.home section.business .container .wrapper .content .action a:before,
                  main.home section.career .container .wrapper .content .action a:before {
                    width: 1px;
                    height: 1.2rem;
                    right: 2.6rem; } }
              main.home section.business .container .wrapper .content .action a:after,
              main.home section.career .container .wrapper .content .action a:after {
                content: "";
                position: absolute;
                right: 8px;
                top: 50%;
                transform: translateY(-50%);
                display: block;
                width: 10px;
                height: 10px;
                -webkit-mask-image: url("../images/common/arrow_white.svg");
                mask-image: url("../images/common/arrow_white.svg");
                -webkit-mask-size: 100% 100%;
                mask-size: 100% 100%;
                background-color: #fff;
                transition: all ease .3s; }
                @media screen and (max-width: 768px) {
                  main.home section.business .container .wrapper .content .action a:after,
                  main.home section.career .container .wrapper .content .action a:after {
                    right: .8rem;
                    width: 1rem;
                    height: 1rem; } }
              main.home section.business .container .wrapper .content .action a:hover,
              main.home section.career .container .wrapper .content .action a:hover {
                color: #004481;
                background-color: #00F5FF; }
                main.home section.business .container .wrapper .content .action a:hover:before,
                main.home section.career .container .wrapper .content .action a:hover:before {
                  background-color: #004481; }
                main.home section.business .container .wrapper .content .action a:hover:after,
                main.home section.career .container .wrapper .content .action a:hover:after {
                  background-color: #004481; }
        main.home section.business .container .wrapper figure,
        main.home section.career .container .wrapper figure {
          flex: 0 0 calc(462 / 808 * 100%); }
    main.home section.business[data-inview-active],
    main.home section.career[data-inview-active] {
      opacity: 1;
      filter: blur(0px);
      transform: translateY(0px); }
    main.home section.business.business,
    main.home section.career.business {
      margin-top: -228px; }
      @media screen and (max-width: 768px) {
        main.home section.business.business,
        main.home section.career.business {
          margin-top: calc(24 / 375 * 100vw); } }
      main.home section.business.business .container .wrapper:before,
      main.home section.career.business .container .wrapper:before {
        content: "";
        background-image: url("../images/home/business_deco_text.svg");
        background-size: 100% 100%;
        display: block;
        width: 417px;
        height: 66px;
        position: absolute;
        right: 49px;
        bottom: 55px; }
        @media screen and (max-width: 768px) {
          main.home section.business.business .container .wrapper:before,
          main.home section.career.business .container .wrapper:before {
            bottom: calc(27 / 375 * 100vw);
            right: calc(16 / 375 * 100vw);
            width: calc(417 / 336 * 196 / 375 * 100vw);
            height: calc(417 / 336 * 66 * 196 / 336 / 375 * 100vw); } }
    main.home section.business.career,
    main.home section.career.career {
      margin-top: 56px; }
      @media screen and (max-width: 768px) {
        main.home section.business.career,
        main.home section.career.career {
          margin-top: calc(24 / 375 * 100vw); } }
      main.home section.business.career .container .wrapper:before,
      main.home section.career.career .container .wrapper:before {
        content: "";
        background-image: url("../images/home/career_deco_text.svg");
        background-size: 100% 100%;
        display: block;
        width: 336px;
        height: 67px;
        position: absolute;
        right: 49px;
        bottom: 55px; }
        @media screen and (max-width: 768px) {
          main.home section.business.career .container .wrapper:before,
          main.home section.career.career .container .wrapper:before {
            bottom: calc(27 / 375 * 100vw);
            right: calc(16 / 375 * 100vw);
            width: calc(196 / 375 * 100vw);
            height: calc(67 * 196 / 336 / 375 * 100vw); } }
  main.home section.story {
    padding-top: 138px; }
    @media screen and (max-width: 768px) {
      main.home section.story {
        padding-top: calc(96 / 375 * 100vw); } }
    main.home section.story .container {
      width: calc(100% - 120px);
      max-width: 984px;
      margin: 0 auto;
      position: relative; }
      @media screen and (max-width: 768px) {
        main.home section.story .container {
          width: calc(335 / 375 * 100vw); } }
      main.home section.story .container header {
        position: relative;
        margin-bottom: 32px; }
        @media screen and (max-width: 768px) {
          main.home section.story .container header {
            margin-bottom: calc(40 / 375 * 100vw); } }
        main.home section.story .container header hgroup p {
          font-family: "Albert Sans", sans-serif;
          font-weight: 900;
          font-size: 10px;
          line-height: 1.2;
          text-align: left;
          color: #00f5ff; }
          @media screen and (max-width: 768px) {
            main.home section.story .container header hgroup p {
              font-size: calc(10 / 375 * 100vw);
              margin-bottom: calc(6 / 375 * 100vw); } }
        main.home section.story .container header hgroup h2 {
          font-weight: 900;
          font-size: 48px;
          letter-spacing: -0.05em;
          line-height: 70px;
          text-align: left;
          color: #004481;
          margin-bottom: 20px; }
          @media screen and (max-width: 768px) {
            main.home section.story .container header hgroup h2 {
              font-size: calc(28 / 375 * 100vw);
              line-height: calc(40 / 375 * 100vw);
              margin-bottom: calc(12 / 375 * 100vw); } }
        main.home section.story .container header .lead {
          max-width: 654px;
          font-weight: 500;
          font-size: 16px;
          letter-spacing: 0.05em;
          line-height: 32px;
          text-align: left;
          color: #000; }
          @media screen and (max-width: 768px) {
            main.home section.story .container header .lead {
              font-size: calc(16 / 375 * 100vw);
              line-height: calc(26 / 375 * 100vw); } }
        main.home section.story .container header .action {
          position: absolute;
          top: 41px;
          left: 231px; }
          @media screen and (max-width: 768px) {
            main.home section.story .container header .action {
              position: relative;
              top: auto;
              left: auto;
              margin-top: calc(30 / 375 * 100vw); } }
          main.home section.story .container header .action a {
            position: relative;
            display: block;
            width: 122px;
            height: 24px;
            border-radius: 2px;
            background: #004481;
            font-family: "Albert Sans", sans-serif;
            font-weight: 900;
            font-size: 10px;
            line-height: 2.4;
            text-align: left;
            color: #fff;
            padding: 0 8px;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.home section.story .container header .action a {
                width: 12.2rem;
                height: 2.4rem;
                border-radius: .2rem;
                font-size: 1rem;
                padding: 0 .8rem; } }
            main.home section.story .container header .action a:before {
              content: "";
              display: block;
              width: 1px;
              height: 12px;
              position: absolute;
              right: 26px;
              top: 50%;
              transform: translateY(-50%);
              background-color: #fff;
              transition: all ease .3s; }
              @media screen and (max-width: 768px) {
                main.home section.story .container header .action a:before {
                  width: 1px;
                  height: 1.2rem;
                  right: 2.6rem; } }
            main.home section.story .container header .action a:after {
              content: "";
              position: absolute;
              right: 8px;
              top: 50%;
              transform: translateY(-50%);
              display: block;
              width: 10px;
              height: 10px;
              -webkit-mask-image: url("../images/common/arrow_white.svg");
              mask-image: url("../images/common/arrow_white.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              background-color: #fff;
              transition: all ease .3s; }
              @media screen and (max-width: 768px) {
                main.home section.story .container header .action a:after {
                  right: .8rem;
                  width: 1rem;
                  height: 1rem; } }
            main.home section.story .container header .action a:hover {
              color: #004481;
              background-color: #00F5FF; }
              main.home section.story .container header .action a:hover:before {
                background-color: #004481; }
              main.home section.story .container header .action a:hover:after {
                background-color: #004481; }
        main.home section.story .container header:after {
          content: "";
          background-image: url("../images/home/story_deco_text.svg");
          background-size: 100% 100%;
          width: 624px;
          height: 190px;
          display: block;
          position: absolute;
          top: 20px;
          right: -148px; }
          @media screen and (max-width: 768px) {
            main.home section.story .container header:after {
              top: calc(6 / 375 * 100vw);
              right: calc(-20 / 375 * 100vw);
              width: calc(222 / 375 * 100vw);
              height: calc(190 * 222 / 624 / 375 * 100vw); } }
      main.home section.story .container .slider {
        overflow: hidden;
        transform: translateX(-50vw);
        width: 100vw;
        position: relative;
        left: 50%; }
@keyframes marquee {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-50%); } }
        main.home section.story .container .slider .marquee ul {
          display: flex;
          width: max-content;
          animation: marquee 80s linear infinite;
          will-change: transform; }
          main.home section.story .container .slider .marquee ul li {
            width: 546px;
            padding: 0 8px; }
            @media screen and (max-width: 768px) {
              main.home section.story .container .slider .marquee ul li {
                width: calc(316 / 375 * 100vw);
                padding: 0 calc(8 / 375 * 100vw); } }
            main.home section.story .container .slider .marquee ul li a {
              position: relative;
              display: block;
              background-image: url("../images/home/story_bg.png");
              background-size: cover;
              aspect-ratio: 530 / 330;
              overflow: hidden; }
              main.home section.story .container .slider .marquee ul li a .marker {
                position: absolute;
                top: 12px;
                right: 12px;
                font-family: "Albert Sans", sans-serif;
                font-weight: 900;
                font-size: 10px;
                line-height: 12px;
                text-align: right;
                color: #00f5ff; }
                @media screen and (max-width: 768px) {
                  main.home section.story .container .slider .marquee ul li a .marker {
                    top: calc(7 / 375 * 100vw);
                    right: calc(8 / 375 * 100vw);
                    font-size: calc(10 / 375 * 100vw);
                    line-height: calc(12 / 375 * 100vw); } }
              main.home section.story .container .slider .marquee ul li a .job {
                position: absolute;
                top: 0;
                left: 0; }
                main.home section.story .container .slider .marquee ul li a .job .highlight {
                  font-weight: bold;
                  font-size: 16px;
                  letter-spacing: 0.05em;
                  line-height: 28px;
                  text-align: left;
                  color: #004481;
                  padding: 2px 4px;
                  display: inline;
                  box-decoration-break: clone;
                  -webkit-box-decoration-break: clone;
                  background: linear-gradient(#fff 0%, #fff 100%);
                  background-size: 100% 100%;
                  background-position: 0 72%;
                  background-repeat: no-repeat;
                  white-space: nowrap; }
                  @media screen and (max-width: 768px) {
                    main.home section.story .container .slider .marquee ul li a .job .highlight {
                      font-size: calc(12 / 375 * 100vw);
                      line-height: calc(21 / 375 * 100vw);
                      padding: calc(2 / 375 * 100vw) calc(4 / 375 * 100vw); } }
              main.home section.story .container .slider .marquee ul li a .title {
                position: absolute;
                bottom: 16px;
                left: 16px; }
                @media screen and (max-width: 768px) {
                  main.home section.story .container .slider .marquee ul li a .title {
                    bottom: calc(16 / 375 * 100vw);
                    left: calc(16 / 375 * 100vw); } }
                main.home section.story .container .slider .marquee ul li a .title .highlight {
                  display: block;
                  width: fit-content;
                  font-weight: bold;
                  font-size: 18px;
                  letter-spacing: -0.05em;
                  line-height: 34px;
                  color: #004481;
                  padding: 4px 8px;
                  display: inline;
                  box-decoration-break: clone;
                  -webkit-box-decoration-break: clone;
                  background: linear-gradient(#fff 0%, #fff 100%);
                  background-size: 100% 100%;
                  background-position: 0 72%;
                  white-space: nowrap; }
                  @media screen and (max-width: 768px) {
                    main.home section.story .container .slider .marquee ul li a .title .highlight {
                      font-size: calc(13 / 375 * 100vw);
                      line-height: calc(27 / 375 * 100vw);
                      padding: calc(4 / 375 * 100vw) calc(8 / 375 * 100vw); } }
              main.home section.story .container .slider .marquee ul li a figure {
                position: absolute;
                bottom: -60px;
                left: 132px;
                width: 287px; }
                @media screen and (max-width: 768px) {
                  main.home section.story .container .slider .marquee ul li a figure {
                    bottom: calc(-60 * 300 / 530 / 375 * 100vw);
                    left: calc(132 * 300 / 530 / 375 * 100vw);
                    width: calc(287 * 300 / 530 / 375 * 100vw); } }
                main.home section.story .container .slider .marquee ul li a figure img {
                  width: 100%; }
              main.home section.story .container .slider .marquee ul li a .arrow {
                content: "";
                background-color: #004481;
                display: block;
                width: 25px;
                height: 24px;
                border-radius: 2px 0 0 0;
                position: absolute;
                bottom: 0;
                right: 0;
                transition: all ease .3s; }
                @media screen and (max-width: 768px) {
                  main.home section.story .container .slider .marquee ul li a .arrow {
                    width: calc(25 / 375 * 100vw);
                    height: calc(24 / 375 * 100vw);
                    border-radius: calc(2 / 375 * 100vw) 0 0 0; } }
                main.home section.story .container .slider .marquee ul li a .arrow:before {
                  content: "";
                  display: block;
                  width: 20px;
                  height: 20px;
                  position: absolute;
                  top: 50%;
                  left: 50%;
                  transform: translate(-50%, -50%);
                  -webkit-mask-image: url("../images/common/arrow_white.svg");
                  mask-image: url("../images/common/arrow_white.svg");
                  -webkit-mask-size: 100% 100%;
                  mask-size: 100% 100%;
                  background-color: #fff;
                  transition: all ease .3s; }
                  @media screen and (max-width: 768px) {
                    main.home section.story .container .slider .marquee ul li a .arrow:before {
                      width: calc(20 / 375 * 100vw);
                      height: calc(20 / 375 * 100vw); } }
              main.home section.story .container .slider .marquee ul li a:hover .arrow {
                background-color: #00F5FF; }
                main.home section.story .container .slider .marquee ul li a:hover .arrow:before {
                  background-color: #004481; }
        main.home section.story .container .slider .marquee.top {
          margin-bottom: 16px; }
          @media screen and (max-width: 768px) {
            main.home section.story .container .slider .marquee.top {
              margin-bottom: calc(16 / 375 * 100vw); } }
          main.home section.story .container .slider .marquee.top ul {
            animation-direction: reverse; }
        main.home section.story .container .slider .marquee:hover ul {
          animation-play-state: paused; }
      main.home section.story .container .deco {
        position: absolute;
        top: -382px;
        right: -140px; }
        @media screen and (max-width: 768px) {
          main.home section.story .container .deco {
            top: calc(-226 / 375 * 100vw);
            right: calc(-143 / 375 * 100vw);
            width: calc(348 / 375 * 100vw); } }
        main.home section.story .container .deco img {
          mask-image: linear-gradient(to right, black 0%, black 49%, transparent 51%, transparent 100%);
          mask-size: 400% 100%;
          mask-position: 100% 0%; }
    main.home section.story[data-inview-active] .container .deco img {
      animation: mask-animation-to-right 1s ease forwards 0s; }
  main.home section.workplace {
    padding: 169px 0 459px; }
    @media screen and (max-width: 768px) {
      main.home section.workplace {
        padding: calc(100 / 375 * 100vw) 0 calc(166 / 375 * 100vw); } }
    main.home section.workplace .container {
      width: calc(100% - 120px);
      max-width: 984px;
      margin: 0 auto;
      position: relative; }
      @media screen and (max-width: 768px) {
        main.home section.workplace .container {
          width: calc(335 / 375 * 100vw); } }
      main.home section.workplace .container header {
        position: relative;
        margin-bottom: 30px; }
        main.home section.workplace .container header:before {
          content: "";
          display: block;
          width: 330px;
          height: 730px;
          background-image: url("../images/home/workplace_deco_text.svg");
          background-size: 100% 100%;
          position: absolute;
          right: -150px;
          top: -92px; }
          @media screen and (max-width: 768px) {
            main.home section.workplace .container header:before {
              top: calc(-64 / 375 * 100vw);
              right: calc(-20 / 375 * 100vw);
              width: calc(109 / 375 * 100vw);
              height: calc(730 * 109 / 330 / 375 * 100vw); } }
        main.home section.workplace .container header hgroup p {
          font-family: "Albert Sans", sans-serif;
          font-weight: 900;
          font-size: 10px;
          line-height: 1.2;
          text-align: left;
          color: #00f5ff; }
          @media screen and (max-width: 768px) {
            main.home section.workplace .container header hgroup p {
              font-size: calc(10 / 375 * 100vw);
              margin-bottom: calc(6 / 375 * 100vw); } }
        main.home section.workplace .container header hgroup h2 {
          font-weight: 900;
          font-size: 48px;
          letter-spacing: -0.05em;
          line-height: 70px;
          text-align: left;
          color: #004481;
          margin-bottom: 20px; }
          @media screen and (max-width: 768px) {
            main.home section.workplace .container header hgroup h2 {
              font-size: calc(28 / 375 * 100vw);
              line-height: calc(40 / 375 * 100vw);
              margin-bottom: calc(12 / 375 * 100vw); } }
        main.home section.workplace .container header .lead {
          font-weight: 500;
          font-size: 16px;
          letter-spacing: 0.05em;
          line-height: 32px;
          text-align: left;
          color: #000; }
          @media screen and (max-width: 768px) {
            main.home section.workplace .container header .lead {
              font-size: calc(16 / 375 * 100vw);
              line-height: calc(26 / 375 * 100vw); } }
      main.home section.workplace .container .body {
        position: relative;
        display: flex;
        justify-content: space-between; }
        @media screen and (max-width: 768px) {
          main.home section.workplace .container .body {
            display: block; } }
        main.home section.workplace .container .body > ul {
          flex: 0 0 calc(421 / 984 * 100%);
          opacity: 0;
          filter: blur(8px);
          transform: translateY(20px);
          transition: all 1s ease;
          transition-delay: .5s; }
          main.home section.workplace .container .body > ul li {
            border-bottom: 1px solid #004481; }
            main.home section.workplace .container .body > ul li:first-child {
              border-top: 1px solid #004481; }
            main.home section.workplace .container .body > ul li a {
              position: relative;
              display: block;
              padding: 40px 0; }
              @media screen and (max-width: 768px) {
                main.home section.workplace .container .body > ul li a {
                  padding: calc(32 / 375 * 100vw) 0; } }
              main.home section.workplace .container .body > ul li a p:nth-child(1) {
                font-family: "Albert Sans", sans-serif;
                font-weight: 900;
                font-size: 10px;
                line-height: 1.2;
                text-align: left;
                color: #00f5ff; }
                @media screen and (max-width: 768px) {
                  main.home section.workplace .container .body > ul li a p:nth-child(1) {
                    font-size: calc(10 / 375 * 100vw);
                    margin-bottom: calc(2 / 375 * 100vw); } }
              main.home section.workplace .container .body > ul li a p:nth-child(2) {
                font-weight: 900;
                font-size: 28px;
                letter-spacing: 0.05em;
                line-height: 40px;
                text-align: left;
                color: #004481; }
                @media screen and (max-width: 768px) {
                  main.home section.workplace .container .body > ul li a p:nth-child(2) {
                    font-size: calc(20 / 375 * 100vw);
                    line-height: calc(30 / 375 * 100vw); } }
              main.home section.workplace .container .body > ul li a .arrow {
                content: "";
                position: absolute;
                top: 60px;
                right: 0;
                display: block;
                width: 25px;
                height: 24px;
                border-radius: 2px;
                background: #004481;
                transition: all ease .3s; }
                @media screen and (max-width: 768px) {
                  main.home section.workplace .container .body > ul li a .arrow {
                    width: calc(25 / 375 * 100vw);
                    height: calc(24 / 375 * 100vw);
                    border-radius: calc(2 / 375 * 100vw);
                    top: calc(49 / 375 * 100vw); } }
                main.home section.workplace .container .body > ul li a .arrow:before {
                  content: "";
                  display: block;
                  width: 20px;
                  height: 20px;
                  background-color: #fff;
                  position: absolute;
                  top: 50%;
                  left: 50%;
                  transform: translate(-50%, -50%);
                  -webkit-mask-image: url("../images/common/arrow_white.svg");
                  mask-image: url("../images/common/arrow_white.svg");
                  -webkit-mask-size: 100% 100%;
                  mask-size: 100% 100%;
                  transition: all ease .3s; }
                  @media screen and (max-width: 768px) {
                    main.home section.workplace .container .body > ul li a .arrow:before {
                      width: calc(20 / 375 * 100vw);
                      height: calc(20 / 375 * 100vw); } }
              main.home section.workplace .container .body > ul li a:hover .arrow {
                background-color: #00F5FF; }
                main.home section.workplace .container .body > ul li a:hover .arrow:before {
                  background-color: #004481; }
        main.home section.workplace .container .body figure {
          position: relative;
          flex: 0 0 calc(507 / 984 * 100%);
          padding-top: 54px;
          opacity: 0;
          filter: blur(8px);
          transform: translateY(20px);
          transition: all 1s ease;
          transition-delay: 1s;
          padding-bottom: 100px; }
          main.home section.workplace .container .body figure ul {
            display: flex;
            gap: 20px; }
            main.home section.workplace .container .body figure ul li {
              position: relative;
              width: calc((100% - 20px) / 2); }
              main.home section.workplace .container .body figure ul li:nth-child(2) {
                top: 100px; }
          main.home section.workplace .container .body figure .deco {
            position: absolute;
            top: 400px;
            right: -118px; }
            main.home section.workplace .container .body figure .deco img {
              mask-image: linear-gradient(to right, black 0%, black 49%, transparent 51%, transparent 100%);
              mask-size: 400% 100%;
              mask-position: 100% 0%; }
            @media screen and (max-width: 768px) {
              main.home section.workplace .container .body figure .deco {
                display: none; } }
      main.home section.workplace .container > .deco {
        position: absolute;
        left: -272px;
        bottom: -405px; }
        @media screen and (max-width: 768px) {
          main.home section.workplace .container > .deco {
            bottom: calc(-150 / 375 * 100vw);
            left: calc(-452 / 375 * 100vw); } }
        main.home section.workplace .container > .deco img {
          mask-image: linear-gradient(to right, black 0%, black 49%, transparent 51%, transparent 100%);
          mask-size: 400% 100%;
          mask-position: 100% 0%;
          width: 1225px;
          max-width: none; }
          @media screen and (max-width: 768px) {
            main.home section.workplace .container > .deco img {
              width: calc(788 / 375 * 100vw); } }
    main.home section.workplace[data-inview-active] .container ul {
      opacity: 1;
      filter: blur(0px);
      transform: translateY(0px); }
    main.home section.workplace[data-inview-active] .container figure {
      opacity: 1;
      filter: blur(0px);
      transform: translateY(0px); }
      main.home section.workplace[data-inview-active] .container figure .deco img {
        animation: mask-animation-to-right .5s ease forwards 2s; }
    main.home section.workplace[data-inview-active] .container > .deco img {
      animation: mask-animation-to-right 1s ease forwards 2.5s; }
      @media screen and (max-width: 768px) {
        main.home section.workplace[data-inview-active] .container > .deco img {
          animation: none; } }
      @media screen and (max-width: 768px) {
        main.home section.workplace[data-inview-active] .container > .deco img[data-inview-active] {
          animation: mask-animation-to-right 1s ease forwards; } }

main.strategy header {
  position: relative;
  height: 448px;
  background-image: url("../images/common/bg_noise.png"), linear-gradient(#d1e9ff 0%, #004481 100%);
  background-size: 128px 128px, auto auto;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.strategy header {
      height: calc(200 / 375 * 100vw);
      padding-top: calc(10 / 375 * 100vw); } }
  main.strategy header:before {
    content: "";
    background-image: url("../images/common/heading_deco_01.svg");
    background-size: 100% 100%;
    display: block;
    width: 987px;
    height: 491px;
    position: absolute;
    top: -58.5px;
    left: calc(50% - 200px); }
    @media screen and (max-width: 768px) {
      main.strategy header:before {
        width: calc(398 / 375 * 100vw);
        height: calc(398 / 987 * 491 / 375 * 100vw );
        top: calc(-41 / 375 * 100vw);
        left: calc(156 / 375 * 100vw); } }
  main.strategy header:after {
    content: "";
    background-image: url("../images/common/heading_deco_02.svg");
    background-size: 100% 100%;
    display: block;
    width: 338px;
    height: 209px;
    position: absolute;
    top: -28px;
    left: calc(50% - 360px); }
    @media screen and (max-width: 768px) {
      main.strategy header:after {
        width: calc(137 / 375 * 100vw);
        height: calc(137 / 338 * 209 / 375 * 100vw );
        top: calc(-29 / 375 * 100vw);
        left: calc(91.5 / 375 * 100vw); } }
  main.strategy header .container {
    width: calc(992 / 1280 * 100vw); }
    @media screen and (max-width: 768px) {
      main.strategy header .container {
        width: calc(335 / 375 * 100vw); } }
    main.strategy header .container:before {
      will-change: background-position; }
    main.strategy header .container hgroup {
      position: relative; }
      main.strategy header .container hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 10px;
        line-height: 1.2;
        text-align: left;
        color: #00f5ff;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          main.strategy header .container hgroup p {
            font-size: calc(10 / 375 * 100vw);
            margin-bottom: 0; } }
      main.strategy header .container hgroup h1 {
        font-weight: 900;
        font-size: 48px;
        letter-spacing: -0.05em;
        line-height: 70px;
        text-align: left;
        color: #fff; }
        @media screen and (max-width: 768px) {
          main.strategy header .container hgroup h1 {
            font-size: calc(28 / 375 * 100vw);
            line-height: calc(40 / 28); } }
@keyframes strategy-loop {
  0% {
    background-position: 0px 0px; }
  100% {
    background-position: -1332px 0px; } }
@keyframes strategy-loop-sp {
  0% {
    background-position: 0vw 0%; }
  100% {
    background-position: calc(-1332 * 55 / 202 / 375 * 100vw) 0%; } }
  main.strategy header .container:before {
    content: "";
    display: block;
    background-image: url("../images/strategy/visual_deco_text.svg");
    background-size: 1332px 256px;
    background-repeat: repeat-x;
    height: 202px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    animation: strategy-loop linear infinite calc(1332s / 100); }
    @media screen and (max-width: 768px) {
      main.strategy header .container:before {
        background-size: calc(1332 * 55 / 202 / 375 * 100vw) calc(256 * 55 / 202 / 375 * 100vw);
        height: calc(55 / 375 * 100vw);
        bottom: calc(-4 * 55 / 202 / 375 * 100vw);
        animation: strategy-loop-sp linear infinite calc(1332s / 100 * 80 / 202); } }
main.strategy .body {
  padding: 90px 0 160px;
  background-image: url("../images/common/bg_noise.png");
  background-size: 128px 128px; }
  @media screen and (max-width: 768px) {
    main.strategy .body {
      padding: 7.2rem 0 16rem; } }
  main.strategy .body .container {
    width: calc(100% - 120px);
    max-width: 984px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.strategy .body .container {
        width: calc(335 / 375 * 100vw); } }
    main.strategy .body .container section {
      position: relative;
      margin-top: 48px;
      background: #fff;
      box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.11);
      padding: 48px 60px;
      height: 378px;
      background-size: auto 100%;
      background-position: 100% 0%; }
      @media screen and (max-width: 768px) {
        main.strategy .body .container section {
          height: auto;
          padding: 3.2rem 1.4rem 12rem;
          background-size: 100% auto;
          background-position: 0% 100%; } }
      main.strategy .body .container section hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 14px;
        line-height: 17px;
        text-align: left;
        color: #00f5ff;
        margin-bottom: 12px; }
        @media screen and (max-width: 768px) {
          main.strategy .body .container section hgroup p {
            font-size: 1rem;
            line-height: 1.2;
            margin-bottom: 1rem; } }
      main.strategy .body .container section hgroup h2 {
        font-weight: 900;
        font-size: 36px;
        letter-spacing: 0.05em;
        line-height: 52px;
        text-align: left;
        color: #004481;
        margin-bottom: 24px; }
        @media screen and (max-width: 768px) {
          main.strategy .body .container section hgroup h2 {
            font-size: 2.8rem;
            line-height: 4.2rem;
            margin-bottom: 2rem; } }
      main.strategy .body .container section > p {
        font-weight: 500;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 32px;
        text-align: left;
        color: #004481;
        max-width: 444px; }
        @media screen and (max-width: 768px) {
          main.strategy .body .container section > p {
            font-size: 1.4rem;
            line-height: 2.3rem;
            max-width: none; } }
      main.strategy .body .container section .action {
        margin-top: 30px; }
        @media screen and (max-width: 768px) {
          main.strategy .body .container section .action {
            position: absolute;
            bottom: 6rem;
            left: 0;
            right: 0;
            display: flex;
            justify-content: center; } }
        main.strategy .body .container section .action a {
          position: relative;
          display: block;
          width: 122px;
          height: 24px;
          border-radius: 2px;
          background: #004481;
          font-family: "Albert Sans", sans-serif;
          font-weight: 900;
          font-size: 10px;
          line-height: 2.4;
          text-align: left;
          color: #fff;
          padding: 0 8px;
          transition: all ease .3s; }
          @media screen and (max-width: 768px) {
            main.strategy .body .container section .action a {
              width: 12.2rem;
              height: 2.4rem;
              border-radius: .2rem;
              font-size: 1rem;
              padding: 0 .8rem; } }
          main.strategy .body .container section .action a:before {
            content: "";
            display: block;
            width: 1px;
            height: 12px;
            position: absolute;
            right: 26px;
            top: 50%;
            transform: translateY(-50%);
            background-color: #fff;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.strategy .body .container section .action a:before {
                width: 1px;
                height: 1.2rem;
                right: 2.6rem; } }
          main.strategy .body .container section .action a:after {
            content: "";
            position: absolute;
            right: 8px;
            top: 50%;
            transform: translateY(-50%);
            display: block;
            width: 10px;
            height: 10px;
            -webkit-mask-image: url("../images/common/arrow_white.svg");
            mask-image: url("../images/common/arrow_white.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            background-color: #fff;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.strategy .body .container section .action a:after {
                right: .8rem;
                width: 1rem;
                height: 1rem; } }
          main.strategy .body .container section .action a:hover {
            color: #004481;
            background-color: #00F5FF; }
            main.strategy .body .container section .action a:hover:before {
              background-color: #004481; }
            main.strategy .body .container section .action a:hover:after {
              background-color: #004481; }
      main.strategy .body .container section:first-child {
        margin-top: 0; }
      main.strategy .body .container section:nth-child(1) {
        background-image: url("../images/common/index_bg_01.png"); }
        @media screen and (max-width: 768px) {
          main.strategy .body .container section:nth-child(1) {
            background-image: url("../images/common/index_bg_01_sp.png"); } }
      main.strategy .body .container section:nth-child(2) {
        background-image: url("../images/common/index_bg_02.png"); }
        @media screen and (max-width: 768px) {
          main.strategy .body .container section:nth-child(2) {
            background-image: url("../images/common/index_bg_02_sp.png"); } }
      main.strategy .body .container section:nth-child(3) {
        background-image: url("../images/common/index_bg_03.png"); }
        @media screen and (max-width: 768px) {
          main.strategy .body .container section:nth-child(3) {
            background-image: url("../images/common/index_bg_03_sp.png"); } }
      main.strategy .body .container section:nth-child(4) {
        background-image: url("../images/common/index_bg_04.png"); }
        @media screen and (max-width: 768px) {
          main.strategy .body .container section:nth-child(4) {
            background-image: url("../images/common/index_bg_04_sp.png"); } }

main.strategy-future {
  background-color: #F8F8F8; }
  main.strategy-future > header {
    position: relative;
    z-index: 1;
    position: relative;
    height: 448px;
    background-image: url("../images/common/bg_noise.png"), linear-gradient(#d1e9ff 0%, #004481 100%);
    background-size: 128px 128px, auto auto;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      main.strategy-future > header {
        height: calc(200 / 375 * 100vw);
        padding-top: calc(10 / 375 * 100vw); } }
    main.strategy-future > header:before {
      content: "";
      background-image: url("../images/common/heading_deco_01.svg");
      background-size: 100% 100%;
      display: block;
      width: 987px;
      height: 491px;
      position: absolute;
      top: -58.5px;
      left: calc(50% - 200px); }
      @media screen and (max-width: 768px) {
        main.strategy-future > header:before {
          width: calc(398 / 375 * 100vw);
          height: calc(398 / 987 * 491 / 375 * 100vw );
          top: calc(-41 / 375 * 100vw);
          left: calc(156 / 375 * 100vw); } }
    main.strategy-future > header:after {
      content: "";
      background-image: url("../images/common/heading_deco_02.svg");
      background-size: 100% 100%;
      display: block;
      width: 338px;
      height: 209px;
      position: absolute;
      top: -28px;
      left: calc(50% - 360px); }
      @media screen and (max-width: 768px) {
        main.strategy-future > header:after {
          width: calc(137 / 375 * 100vw);
          height: calc(137 / 338 * 209 / 375 * 100vw );
          top: calc(-29 / 375 * 100vw);
          left: calc(91.5 / 375 * 100vw); } }
    main.strategy-future > header .container {
      width: calc(992 / 1280 * 100vw); }
      @media screen and (max-width: 768px) {
        main.strategy-future > header .container {
          width: calc(335 / 375 * 100vw); } }
      main.strategy-future > header .container:before {
        will-change: background-position; }
      main.strategy-future > header .container hgroup {
        position: relative; }
        main.strategy-future > header .container hgroup p {
          font-family: "Albert Sans", sans-serif;
          font-weight: 900;
          font-size: 10px;
          line-height: 1.2;
          text-align: left;
          color: #00f5ff;
          margin-bottom: 8px; }
          @media screen and (max-width: 768px) {
            main.strategy-future > header .container hgroup p {
              font-size: calc(10 / 375 * 100vw);
              margin-bottom: 0; } }
        main.strategy-future > header .container hgroup h1 {
          font-weight: 900;
          font-size: 48px;
          letter-spacing: -0.05em;
          line-height: 70px;
          text-align: left;
          color: #fff; }
          @media screen and (max-width: 768px) {
            main.strategy-future > header .container hgroup h1 {
              font-size: calc(28 / 375 * 100vw);
              line-height: calc(40 / 28); } }
@keyframes strategy-future-loop {
  0% {
    background-position: 0px 0px; }
  100% {
    background-position: -1025px 0px; } }
@keyframes strategy-future-loop-sp {
  0% {
    background-position: 0vw 0%; }
  100% {
    background-position: calc(-1025 * 55 / 202 / 375 * 100vw) 0%; } }
    main.strategy-future > header .container:before {
      content: "";
      display: block;
      background-image: url("../images/strategy/future/visual_deco_text.svg");
      background-size: 1025px 202px;
      background-repeat: repeat-x;
      height: 202px;
      position: absolute;
      left: 0;
      right: 0;
      bottom: -4px;
      animation: strategy-future-loop linear infinite calc(1025s / 100); }
      @media screen and (max-width: 768px) {
        main.strategy-future > header .container:before {
          background-size: calc(1025 * 55 / 202 / 375 * 100vw) calc(202 * 55 / 202 / 375 * 100vw);
          height: calc(55 / 375 * 100vw);
          bottom: calc(-4 * 55 / 202 / 375 * 100vw);
          animation: strategy-future-loop-sp linear infinite calc(1025s / 100 * 80 / 202); } }
  main.strategy-future section.intro {
    background-color: #F8F8F8;
    position: relative;
    z-index: 1;
    padding-top: 160px;
    padding-bottom: 80px; }
    @media screen and (max-width: 768px) {
      main.strategy-future section.intro {
        padding-top: calc(56 / 390 * 100vw);
        padding-bottom: calc(56 / 390 * 100vw); } }
    main.strategy-future section.intro .container {
      width: calc(100% - 120px);
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        main.strategy-future section.intro .container {
          width: calc(350 / 390 * 100vw); } }
      main.strategy-future section.intro .container hgroup {
        margin-bottom: 40px; }
        @media screen and (max-width: 768px) {
          main.strategy-future section.intro .container hgroup {
            margin-bottom: calc(24 / 390 * 100vw); } }
        main.strategy-future section.intro .container hgroup h2 {
          font-style: normal;
          font-weight: 900;
          font-size: 80px;
          line-height: 110%;
          text-align: center;
          letter-spacing: -0.1em;
          color: #004481;
          margin-bottom: 40px; }
          @media screen and (max-width: 768px) {
            main.strategy-future section.intro .container hgroup h2 {
              text-align: left;
              font-size: calc(40 / 390 * 100vw);
              margin-bottom: calc(24 / 390 * 100vw); } }
        main.strategy-future section.intro .container hgroup p {
          font-family: "Albert Sans", sans-serif;
          font-weight: 900;
          font-size: 12px;
          line-height: 150%;
          text-align: center;
          color: #00F5FF;
          mix-blend-mode: multiply; }
          @media screen and (max-width: 768px) {
            main.strategy-future section.intro .container hgroup p {
              text-align: left;
              font-size: calc(12 / 390 * 100vw); } }
      main.strategy-future section.intro .container > p {
        font-style: normal;
        font-weight: 700;
        font-size: 16px;
        line-height: 200%;
        text-align: center;
        color: #000000;
        max-width: 800px;
        margin: 0 auto; }
        @media screen and (max-width: 768px) {
          main.strategy-future section.intro .container > p {
            text-align: left;
            font-size: calc(16 / 390 * 100vw); } }
  main.strategy-future section.why {
    position: relative;
    z-index: 1;
    background-color: #F8F8F8;
    padding-bottom: 80px;
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      main.strategy-future section.why {
        padding-bottom: calc(56 / 390 * 100vw); } }
    main.strategy-future section.why .container {
      width: calc(100% - 160px);
      max-width: 1120px;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        main.strategy-future section.why .container {
          width: calc(350 / 390 * 100vw); } }
      main.strategy-future section.why .container .visual {
        position: relative;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        width: 100vw; }
        main.strategy-future section.why .container .visual img {
          position: relative;
          z-index: 1;
          mask-image: linear-gradient(to right, black 0%, black 49%, transparent 51%, transparent 100%);
          mask-size: 400% 100%;
          mask-position: 100% 0%; }
        main.strategy-future section.why .container .visual:before {
          content: "";
          display: block;
          position: absolute;
          top: calc(316 / 1280 * 100vw);
          left: calc(-96px / 1290 * 100vw);
          background-image: url("../images/strategy/future/why_decor.png");
          background-size: 100% 100%;
          width: calc(1426 / 1280 * 100vw);
          height: calc(503 / 1280 * 100vw); }
          @media screen and (max-width: 768px) {
            main.strategy-future section.why .container .visual:before {
              width: calc(669 / 390 * 100vw);
              height: calc(236 / 390 * 100vw);
              top: calc(36 / 390 * 100vw);
              left: calc(-147 / 390 * 100vw); } }
      main.strategy-future section.why .container header {
        position: relative;
        margin-top: -317px;
        margin-bottom: 48px; }
        @media screen and (max-width: 768px) {
          main.strategy-future section.why .container header {
            margin-top: calc(-70 / 390 * 100vw);
            margin-bottom: calc(24 / 390 * 100vw); } }
        main.strategy-future section.why .container header .title {
          margin: 0 -80px;
          padding-top: 40px;
          height: 240px;
          mix-blend-mode: multiply;
          margin-bottom: 38px; }
          @media screen and (max-width: 768px) {
            main.strategy-future section.why .container header .title {
              margin: 0 calc(-20 / 390 * 100vw); } }
          @media screen and (max-width: 768px) {
            main.strategy-future section.why .container header .title {
              height: calc(56 / 390 * 100vw);
              padding-top: calc(10 / 390 * 100vw);
              margin-bottom: calc(10 / 390 * 100vw); } }
        main.strategy-future section.why .container header > div > p {
          font-style: normal;
          font-weight: 700;
          font-size: 20px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #FFFFFF;
          margin-bottom: 8px;
          padding: 12px 28px;
          width: 640px;
          height: 44px;
          background: linear-gradient(90deg, #004481 25%, rgba(0, 68, 129, 0) 100%); }
          @media screen and (max-width: 768px) {
            main.strategy-future section.why .container header > div > p {
              font-size: calc(16 / 390 * 100vw);
              padding: calc(8 / 390 * 100vw) calc(20 / 390 * 100vw);
              width: calc(390 / 390 * 100vw);
              height: calc(32 / 390 * 100vw);
              margin-left: calc(-20 / 390 * 100vw);
              margin-bottom: calc(24 / 390 * 100vw); } }
        main.strategy-future section.why .container header > div hgroup h2 {
          font-style: normal;
          font-weight: 900;
          font-size: 48px;
          line-height: 150%;
          color: #004481;
          margin-bottom: 16px; }
          @media screen and (max-width: 768px) {
            main.strategy-future section.why .container header > div hgroup h2 {
              font-size: calc(20 / 390 * 100vw);
              margin-bottom: calc(16 / 390 * 100vw); } }
        main.strategy-future section.why .container header > div hgroup p {
          font-family: "Albert Sans", sans-serif;
          font-weight: 900;
          font-size: 12px;
          line-height: 150%;
          color: #00F5FF;
          mix-blend-mode: multiply;
          flex: none;
          order: 1;
          flex-grow: 0; }
          @media screen and (max-width: 768px) {
            main.strategy-future section.why .container header > div hgroup p {
              font-size: calc(12 / 390 * 100vw); } }
      main.strategy-future section.why .container > p {
        position: relative;
        max-width: 760px;
        font-style: normal;
        font-weight: 500;
        font-size: 16px;
        line-height: 200%;
        color: #000000;
        margin: 0 0 0 auto; }
        @media screen and (max-width: 768px) {
          main.strategy-future section.why .container > p {
            font-size: calc(16 / 390 * 100vw); } }
      main.strategy-future section.why .container figure {
        margin: 64px auto 0;
        max-width: 984px; }
        @media screen and (max-width: 768px) {
          main.strategy-future section.why .container figure {
            margin-top: calc(24 / 390 * 100vw); } }
    main.strategy-future section.why[data-inview-active] .container .visual img {
      animation: mask-animation-to-right 2s ease forwards; }
    main.strategy-future section.why .container header .title img {
      width: 573px; }
      @media screen and (max-width: 768px) {
        main.strategy-future section.why .container header .title img {
          width: calc(133 / 390 * 100vw); } }
  main.strategy-future section.what {
    position: relative; }
    main.strategy-future section.what:before {
      content: "";
      background-image: url("../images/strategy/future/what_bg.jpg");
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-size: cover;
      background-position: 30% 30%; }
    main.strategy-future section.what:after {
      content: "";
      position: absolute;
      background-image: url("../images/strategy/future/what_decor.png");
      background-size: 100% 100%;
      display: block;
      width: 1068px;
      height: 561px;
      top: 152px;
      left: calc(50% - 213px);
      mix-blend-mode: multiply; }
      @media screen and (max-width: 768px) {
        main.strategy-future section.what:after {
          width: calc(434 / 390 * 100vw);
          height: calc(228 / 390 * 100vw);
          top: calc(8 / 390 * 100vw);
          left: calc(-68 / 390 * 100vw); } }
    main.strategy-future section.what .container {
      width: calc(100% - 160px);
      max-width: 1120px;
      margin: 0 auto;
      padding: 160px 0;
      position: relative;
      z-index: 1; }
      @media screen and (max-width: 768px) {
        main.strategy-future section.what .container {
          width: calc(350 / 390 * 100vw);
          padding: calc(80 / 390 * 100vw) 0; } }
      main.strategy-future section.what .container header {
        margin-bottom: 48px; }
        @media screen and (max-width: 768px) {
          main.strategy-future section.what .container header {
            margin-bottom: calc(24 / 390 * 100vw); } }
        main.strategy-future section.what .container header .title {
          text-align: right;
          padding-top: 40px;
          height: 240px;
          margin: 0 -80px;
          margin-bottom: 48px; }
          @media screen and (max-width: 768px) {
            main.strategy-future section.what .container header .title {
              height: calc(56 / 390 * 100vw);
              padding-top: calc(10 / 390 * 100vw);
              margin: 0 calc(-20 / 390 * 100vw);
              margin-bottom: calc(10 / 390 * 100vw);
              text-align: left; } }
        main.strategy-future section.what .container header > div > p {
          display: flex;
          flex-direction: row;
          align-items: center;
          padding: 12px 28px;
          gap: 10px;
          width: 640px;
          height: 44px;
          background: linear-gradient(90deg, #FFFFFF 25%, rgba(255, 255, 255, 0) 100%);
          font-style: normal;
          font-weight: 700;
          font-size: 20px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #004481;
          margin-bottom: 8px; }
          @media screen and (max-width: 768px) {
            main.strategy-future section.what .container header > div > p {
              font-size: calc(16 / 390 * 100vw);
              line-height: 100%;
              padding: calc(8 / 390 * 100vw) calc(20 / 390 * 100vw);
              width: calc(390 / 390 * 100vw);
              height: calc(32 / 390 * 100vw);
              margin-left: calc(-20 / 390 * 100vw);
              margin-bottom: calc(24 / 390 * 100vw); } }
        main.strategy-future section.what .container header > div hgroup {
          position: relative; }
          main.strategy-future section.what .container header > div hgroup h2 {
            font-style: normal;
            font-weight: 900;
            font-size: 48px;
            line-height: 150%;
            color: #FFFFFF; }
            @media screen and (max-width: 768px) {
              main.strategy-future section.what .container header > div hgroup h2 {
                font-size: calc(20 / 390 * 100vw); } }
          main.strategy-future section.what .container header > div hgroup p {
            position: absolute;
            /*
            left: 772px;
            top: 97px;
            */
            font-family: "Albert Sans", sans-serif;
            font-weight: 900;
            font-size: 12px;
            line-height: 150%;
            color: #00F5FF; }
            @media screen and (max-width: 1279px) {
              main.strategy-future section.what .container header > div hgroup p {
                position: relative;
                left: auto !important;
                top: auto !important;
                margin-top: 16px; } }
            @media screen and (max-width: 768px) {
              main.strategy-future section.what .container header > div hgroup p {
                font-size: calc(12 / 390 * 100vw);
                margin-top: calc(16 / 390 * 100vw); } }
      main.strategy-future section.what .container .body {
        display: flex;
        gap: 40px; }
        @media screen and (max-width: 768px) {
          main.strategy-future section.what .container .body {
            gap: 24px;
            flex-direction: column; } }
        main.strategy-future section.what .container .body figure {
          flex: 1 1 682px; }
          @media screen and (max-width: 768px) {
            main.strategy-future section.what .container .body figure {
              order: 2;
              flex: initial; } }
        main.strategy-future section.what .container .body p {
          font-style: normal;
          font-weight: 500;
          font-size: 16px;
          line-height: 200%;
          text-align: justify;
          color: #FFFFFF;
          flex: 1 1 398px; }
          @media screen and (max-width: 768px) {
            main.strategy-future section.what .container .body p {
              font-size: calc(16 / 390 * 100vw);
              flex: initial; } }
    main.strategy-future section.what:before {
      background-image: url("../images/strategy/future/what_bg.jpg"); }
    main.strategy-future section.what .container header .title img {
      width: 651px; }
      @media screen and (max-width: 768px) {
        main.strategy-future section.what .container header .title img {
          width: calc(151 / 390 * 100vw); } }
    main.strategy-future section.what .container header > div hgroup p {
      left: 772px;
      top: 97px; }
  main.strategy-future section.vision {
    background-color: #F8F8F8;
    position: relative;
    z-index: 1;
    overflow: hidden; }
    main.strategy-future section.vision .container {
      width: calc(100% - 160px);
      max-width: 1120px;
      margin: 0 auto;
      padding: 160px 0 60px; }
      @media screen and (max-width: 768px) {
        main.strategy-future section.vision .container {
          width: calc(350 / 390 * 100vw);
          padding: calc(80 / 390 * 100vw) 0 calc(56 / 390 * 100vw); } }
      main.strategy-future section.vision .container header {
        position: relative;
        margin-bottom: 24px; }
        @media screen and (max-width: 768px) {
          main.strategy-future section.vision .container header {
            margin-bottom: calc(24 / 390 * 100vw); } }
        main.strategy-future section.vision .container header:before {
          position: absolute;
          display: block;
          content: "";
          background-image: url("../images/strategy/future/vision_decor.png");
          background-size: 100% 100%;
          width: 1191px;
          height: 421px;
          left: -103px;
          top: 134px; }
          @media screen and (max-width: 768px) {
            main.strategy-future section.vision .container header:before {
              width: calc(580 / 390 * 100vw);
              height: calc(205 / 390 * 100vw);
              top: calc(-30 / 390 * 100vw);
              left: calc(-130 / 390 * 100vw); } }
        main.strategy-future section.vision .container header .title {
          position: relative;
          padding-top: 40px;
          height: 240px;
          mix-blend-mode: multiply; }
          @media screen and (max-width: 768px) {
            main.strategy-future section.vision .container header .title {
              padding-top: calc(10 / 390 * 100vw);
              height: calc(56 / 390 * 100vw); } }
        main.strategy-future section.vision .container header > div {
          position: relative; }
          main.strategy-future section.vision .container header > div > p {
            display: flex;
            flex-direction: row;
            align-items: center;
            padding: 12px 28px;
            gap: 10px;
            width: 640px;
            height: 44px;
            background: linear-gradient(90deg, #004481 25%, rgba(0, 68, 129, 0) 100%);
            border-radius: 0px;
            font-style: normal;
            font-weight: 700;
            font-size: 20px;
            line-height: 100%;
            letter-spacing: 0.05em;
            color: #FFFFFF;
            margin-bottom: 8px; }
            @media screen and (max-width: 768px) {
              main.strategy-future section.vision .container header > div > p {
                font-size: calc(16 / 390 * 100vw);
                line-height: 100%;
                padding: calc(8 / 390 * 100vw) calc(20 / 390 * 100vw);
                width: calc(390 / 390 * 100vw);
                height: calc(32 / 390 * 100vw);
                margin-left: calc(-20 / 390 * 100vw);
                margin-bottom: calc(24 / 390 * 100vw); } }
          main.strategy-future section.vision .container header > div hgroup {
            position: relative; }
            main.strategy-future section.vision .container header > div hgroup h2 {
              font-style: normal;
              font-weight: 900;
              font-size: 48px;
              line-height: 150%;
              color: #004481; }
              @media screen and (max-width: 768px) {
                main.strategy-future section.vision .container header > div hgroup h2 {
                  font-size: calc(20 / 390 * 100vw); } }
            main.strategy-future section.vision .container header > div hgroup p {
              position: absolute;
              /*
              left: 733px;
              top: 22px;
              */
              font-family: "Albert Sans", sans-serif;
              font-weight: 900;
              font-size: 12px;
              line-height: 150%;
              color: #00F5FF;
              mix-blend-mode: multiply; }
              @media screen and (max-width: 1279px) {
                main.strategy-future section.vision .container header > div hgroup p {
                  position: relative;
                  left: auto !important;
                  top: auto !important;
                  margin-top: 16px; } }
              @media screen and (max-width: 768px) {
                main.strategy-future section.vision .container header > div hgroup p {
                  font-size: calc(12 / 390 * 100vw);
                  margin-top: calc(16 / 390 * 100vw); } }
      main.strategy-future section.vision .container .body {
        display: flex;
        gap: 64px;
        align-items: center; }
        @media screen and (max-width: 768px) {
          main.strategy-future section.vision .container .body {
            flex-direction: column;
            gap: calc(24 / 390 * 100vw); } }
        main.strategy-future section.vision .container .body p {
          flex: 1 1 596px;
          font-style: normal;
          font-weight: 500;
          font-size: 16px;
          line-height: 200%;
          color: #000000; }
          @media screen and (max-width: 768px) {
            main.strategy-future section.vision .container .body p {
              font-size: calc(16 / 390 * 100vw);
              flex: initial; } }
        main.strategy-future section.vision .container .body figure {
          flex: 1 1 460px; }
          @media screen and (max-width: 768px) {
            main.strategy-future section.vision .container .body figure {
              flex: initial; } }
    main.strategy-future section.vision .container header .title img {
      width: 722px; }
      @media screen and (max-width: 768px) {
        main.strategy-future section.vision .container header .title img {
          width: calc(168 / 390 * 100vw); } }
    main.strategy-future section.vision .container header > div hgroup p {
      left: 733px;
      top: 22px; }
  main.strategy-future nav.related {
    position: relative;
    z-index: 1;
    padding: 160px 0 140px;
    background-color: #F8F8F8; }
    main.strategy-future nav.related .container {
      width: calc(100% - 120px);
      max-width: 984px;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        main.strategy-future nav.related .container {
          width: calc(335 / 375 * 100vw); } }
      main.strategy-future nav.related .container hgroup {
        position: relative;
        padding-left: 106px;
        margin-bottom: 56px; }
        @media screen and (max-width: 768px) {
          main.strategy-future nav.related .container hgroup {
            padding-left: 0;
            margin-bottom: calc(32 / 375 * 100vw); } }
        main.strategy-future nav.related .container hgroup:before {
          content: "";
          display: block;
          width: 96px;
          height: 1px;
          background-color: #004481;
          position: absolute;
          bottom: 20px;
          left: 0; }
          @media screen and (max-width: 768px) {
            main.strategy-future nav.related .container hgroup:before {
              display: none; } }
        main.strategy-future nav.related .container hgroup p {
          font-family: "Albert Sans", sans-serif;
          font-weight: 900;
          font-size: 10px;
          line-height: 1.2;
          text-align: left;
          color: #00f5ff; }
          @media screen and (max-width: 768px) {
            main.strategy-future nav.related .container hgroup p {
              font-size: calc(10 / 375 * 100vw);
              margin-bottom: calc(6 / 375 * 100vw); } }
        main.strategy-future nav.related .container hgroup h2 {
          font-weight: 900;
          font-size: 28px;
          letter-spacing: 0.05em;
          line-height: calc(40 / 28);
          text-align: left;
          color: #004481; }
          @media screen and (max-width: 768px) {
            main.strategy-future nav.related .container hgroup h2 {
              font-size: calc(28 / 375 * 100vw);
              letter-spacing: -0.05em; } }
      main.strategy-future nav.related .container ul {
        display: flex;
        gap: 42px; }
        @media screen and (max-width: 768px) {
          main.strategy-future nav.related .container ul {
            gap: calc(16 / 376 * 100vw);
            flex-direction: column; } }
        main.strategy-future nav.related .container ul li {
          flex: 0 0 calc((100% - 42px * 2) / 3); }
          @media screen and (max-width: 768px) {
            main.strategy-future nav.related .container ul li {
              flex: 0 0 100%; } }
          main.strategy-future nav.related .container ul li a {
            position: relative;
            display: flex;
            align-items: center;
            font-weight: bold;
            font-size: 14px;
            letter-spacing: 0.05em;
            line-height: calc(23 / 14);
            text-align: left;
            color: #004481;
            height: 80px;
            border-radius: 4px;
            background: #fff;
            border: 1px solid #fff;
            padding-left: 24px;
            border: 1px solid #004481;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.strategy-future nav.related .container ul li a {
                font-size: calc(14 / 375 * 100vw);
                height: calc(80 / 375 * 100vw);
                border-radius: calc(4 / 375 * 100vw);
                padding-left: calc(24 / 375 * 100vw); } }
            main.strategy-future nav.related .container ul li a:hover {
              background-color: #004481;
              color: #fff; }
              main.strategy-future nav.related .container ul li a:hover:before {
                background-color: #00F5FF; }
            main.strategy-future nav.related .container ul li a:before {
              content: "";
              display: block;
              position: absolute;
              top: 50%;
              right: 24px;
              transform: translateY(-50%);
              display: block;
              width: 25px;
              height: 24px;
              border-radius: 2px;
              background: #004481;
              transition: all ease .3s; }
              @media screen and (max-width: 768px) {
                main.strategy-future nav.related .container ul li a:before {
                  right: calc(24 / 375 * 100vw);
                  width: calc(25 / 375 * 100vw);
                  height: calc(24 / 375 * 100vw);
                  border-radius: calc(2 / 375 * 100vw); } }
            main.strategy-future nav.related .container ul li a:after {
              content: "";
              display: block;
              position: absolute;
              top: 50%;
              right: 27px;
              transform: translateY(-50%);
              display: block;
              width: 20px;
              height: 20px;
              -webkit-mask-image: url("../images/common/arrow_white.svg");
              mask-image: url("../images/common/arrow_white.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              background-color: #fff; }
              @media screen and (max-width: 768px) {
                main.strategy-future nav.related .container ul li a:after {
                  right: calc(27 / 375 * 100vw);
                  width: calc(20 / 375 * 100vw);
                  height: calc(20 / 375 * 100vw); } }
    @media screen and (max-width: 768px) {
      main.strategy-future nav.related {
        padding: calc(60 / 375 * 100vw) 0 calc(60 / 375 * 100vw); } }

main.strategy-transformation > header {
  position: relative;
  z-index: 1;
  position: relative;
  height: 448px;
  background-image: url("../images/common/bg_noise.png"), linear-gradient(#d1e9ff 0%, #004481 100%);
  background-size: 128px 128px, auto auto;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.strategy-transformation > header {
      height: calc(200 / 375 * 100vw);
      padding-top: calc(10 / 375 * 100vw); } }
  main.strategy-transformation > header:before {
    content: "";
    background-image: url("../images/common/heading_deco_01.svg");
    background-size: 100% 100%;
    display: block;
    width: 987px;
    height: 491px;
    position: absolute;
    top: -58.5px;
    left: calc(50% - 200px); }
    @media screen and (max-width: 768px) {
      main.strategy-transformation > header:before {
        width: calc(398 / 375 * 100vw);
        height: calc(398 / 987 * 491 / 375 * 100vw );
        top: calc(-41 / 375 * 100vw);
        left: calc(156 / 375 * 100vw); } }
  main.strategy-transformation > header:after {
    content: "";
    background-image: url("../images/common/heading_deco_02.svg");
    background-size: 100% 100%;
    display: block;
    width: 338px;
    height: 209px;
    position: absolute;
    top: -28px;
    left: calc(50% - 360px); }
    @media screen and (max-width: 768px) {
      main.strategy-transformation > header:after {
        width: calc(137 / 375 * 100vw);
        height: calc(137 / 338 * 209 / 375 * 100vw );
        top: calc(-29 / 375 * 100vw);
        left: calc(91.5 / 375 * 100vw); } }
  main.strategy-transformation > header .container {
    width: calc(992 / 1280 * 100vw); }
    @media screen and (max-width: 768px) {
      main.strategy-transformation > header .container {
        width: calc(335 / 375 * 100vw); } }
    main.strategy-transformation > header .container:before {
      will-change: background-position; }
    main.strategy-transformation > header .container hgroup {
      position: relative; }
      main.strategy-transformation > header .container hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 10px;
        line-height: 1.2;
        text-align: left;
        color: #00f5ff;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          main.strategy-transformation > header .container hgroup p {
            font-size: calc(10 / 375 * 100vw);
            margin-bottom: 0; } }
      main.strategy-transformation > header .container hgroup h1 {
        font-weight: 900;
        font-size: 48px;
        letter-spacing: -0.05em;
        line-height: 70px;
        text-align: left;
        color: #fff; }
        @media screen and (max-width: 768px) {
          main.strategy-transformation > header .container hgroup h1 {
            font-size: calc(28 / 375 * 100vw);
            line-height: calc(40 / 28); } }
@keyframes strategy-transformation-loop {
  0% {
    background-position: 0px 0px; }
  100% {
    background-position: -2358px 0px; } }
@keyframes strategy-transformation-loop-sp {
  0% {
    background-position: 0vw 0%; }
  100% {
    background-position: calc(-2358 * 55 / 202 / 375 * 100vw) 0%; } }
  main.strategy-transformation > header .container:before {
    content: "";
    display: block;
    background-image: url("../images/strategy/transformation/visual_deco_text.svg");
    background-size: 2358px 202px;
    background-repeat: repeat-x;
    height: 202px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    animation: strategy-transformation-loop linear infinite calc(2358s / 100); }
    @media screen and (max-width: 768px) {
      main.strategy-transformation > header .container:before {
        background-size: calc(2358 * 55 / 202 / 375 * 100vw) calc(202 * 55 / 202 / 375 * 100vw);
        height: calc(55 / 375 * 100vw);
        bottom: calc(-4 * 55 / 202 / 375 * 100vw);
        animation: strategy-transformation-loop-sp linear infinite calc(2358s / 100 * 80 / 202); } }
main.strategy-transformation section.intro {
  background-color: #F8F8F8;
  position: relative;
  z-index: 1;
  padding-top: 160px;
  padding-bottom: 80px; }
  @media screen and (max-width: 768px) {
    main.strategy-transformation section.intro {
      padding-top: calc(56 / 390 * 100vw);
      padding-bottom: calc(56 / 390 * 100vw); } }
  main.strategy-transformation section.intro .container {
    width: calc(100% - 120px);
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.strategy-transformation section.intro .container {
        width: calc(350 / 390 * 100vw); } }
    main.strategy-transformation section.intro .container hgroup {
      margin-bottom: 40px; }
      @media screen and (max-width: 768px) {
        main.strategy-transformation section.intro .container hgroup {
          margin-bottom: calc(24 / 390 * 100vw); } }
      main.strategy-transformation section.intro .container hgroup h2 {
        font-style: normal;
        font-weight: 900;
        font-size: 80px;
        line-height: 110%;
        text-align: center;
        letter-spacing: -0.1em;
        color: #004481;
        margin-bottom: 40px; }
        @media screen and (max-width: 768px) {
          main.strategy-transformation section.intro .container hgroup h2 {
            text-align: left;
            font-size: calc(40 / 390 * 100vw);
            margin-bottom: calc(24 / 390 * 100vw); } }
      main.strategy-transformation section.intro .container hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 12px;
        line-height: 150%;
        text-align: center;
        color: #00F5FF;
        mix-blend-mode: multiply; }
        @media screen and (max-width: 768px) {
          main.strategy-transformation section.intro .container hgroup p {
            text-align: left;
            font-size: calc(12 / 390 * 100vw); } }
    main.strategy-transformation section.intro .container > p {
      font-style: normal;
      font-weight: 700;
      font-size: 16px;
      line-height: 200%;
      text-align: center;
      color: #000000;
      max-width: 800px;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        main.strategy-transformation section.intro .container > p {
          text-align: left;
          font-size: calc(16 / 390 * 100vw); } }
main.strategy-transformation section.ma {
  position: relative;
  z-index: 1;
  background-color: #F8F8F8;
  padding-bottom: 80px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.strategy-transformation section.ma {
      padding-bottom: calc(56 / 390 * 100vw); } }
  main.strategy-transformation section.ma .container {
    width: calc(100% - 160px);
    max-width: 1120px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.strategy-transformation section.ma .container {
        width: calc(350 / 390 * 100vw); } }
    main.strategy-transformation section.ma .container .visual {
      position: relative;
      position: relative;
      left: 50%;
      transform: translateX(-50%);
      width: 100vw; }
      main.strategy-transformation section.ma .container .visual img {
        position: relative;
        z-index: 1;
        mask-image: linear-gradient(to right, black 0%, black 49%, transparent 51%, transparent 100%);
        mask-size: 400% 100%;
        mask-position: 100% 0%; }
      main.strategy-transformation section.ma .container .visual:before {
        content: "";
        display: block;
        position: absolute;
        top: calc(316 / 1280 * 100vw);
        left: calc(-96px / 1290 * 100vw);
        background-image: url("../images/strategy/future/why_decor.png");
        background-size: 100% 100%;
        width: calc(1426 / 1280 * 100vw);
        height: calc(503 / 1280 * 100vw); }
        @media screen and (max-width: 768px) {
          main.strategy-transformation section.ma .container .visual:before {
            width: calc(669 / 390 * 100vw);
            height: calc(236 / 390 * 100vw);
            top: calc(36 / 390 * 100vw);
            left: calc(-147 / 390 * 100vw); } }
    main.strategy-transformation section.ma .container header {
      position: relative;
      margin-top: -317px;
      margin-bottom: 48px; }
      @media screen and (max-width: 768px) {
        main.strategy-transformation section.ma .container header {
          margin-top: calc(-70 / 390 * 100vw);
          margin-bottom: calc(24 / 390 * 100vw); } }
      main.strategy-transformation section.ma .container header .title {
        margin: 0 -80px;
        padding-top: 40px;
        height: 240px;
        mix-blend-mode: multiply;
        margin-bottom: 38px; }
        @media screen and (max-width: 768px) {
          main.strategy-transformation section.ma .container header .title {
            margin: 0 calc(-20 / 390 * 100vw); } }
        @media screen and (max-width: 768px) {
          main.strategy-transformation section.ma .container header .title {
            height: calc(56 / 390 * 100vw);
            padding-top: calc(10 / 390 * 100vw);
            margin-bottom: calc(10 / 390 * 100vw); } }
      main.strategy-transformation section.ma .container header > div > p {
        font-style: normal;
        font-weight: 700;
        font-size: 20px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        margin-bottom: 8px;
        padding: 12px 28px;
        width: 640px;
        height: 44px;
        background: linear-gradient(90deg, #004481 25%, rgba(0, 68, 129, 0) 100%); }
        @media screen and (max-width: 768px) {
          main.strategy-transformation section.ma .container header > div > p {
            font-size: calc(16 / 390 * 100vw);
            padding: calc(8 / 390 * 100vw) calc(20 / 390 * 100vw);
            width: calc(390 / 390 * 100vw);
            height: calc(32 / 390 * 100vw);
            margin-left: calc(-20 / 390 * 100vw);
            margin-bottom: calc(24 / 390 * 100vw); } }
      main.strategy-transformation section.ma .container header > div hgroup h2 {
        font-style: normal;
        font-weight: 900;
        font-size: 48px;
        line-height: 150%;
        color: #004481;
        margin-bottom: 16px; }
        @media screen and (max-width: 768px) {
          main.strategy-transformation section.ma .container header > div hgroup h2 {
            font-size: calc(20 / 390 * 100vw);
            margin-bottom: calc(16 / 390 * 100vw); } }
      main.strategy-transformation section.ma .container header > div hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 12px;
        line-height: 150%;
        color: #00F5FF;
        mix-blend-mode: multiply;
        flex: none;
        order: 1;
        flex-grow: 0; }
        @media screen and (max-width: 768px) {
          main.strategy-transformation section.ma .container header > div hgroup p {
            font-size: calc(12 / 390 * 100vw); } }
    main.strategy-transformation section.ma .container > p {
      position: relative;
      max-width: 760px;
      font-style: normal;
      font-weight: 500;
      font-size: 16px;
      line-height: 200%;
      color: #000000;
      margin: 0 0 0 auto; }
      @media screen and (max-width: 768px) {
        main.strategy-transformation section.ma .container > p {
          font-size: calc(16 / 390 * 100vw); } }
    main.strategy-transformation section.ma .container figure {
      margin: 64px auto 0;
      max-width: 984px; }
      @media screen and (max-width: 768px) {
        main.strategy-transformation section.ma .container figure {
          margin-top: calc(24 / 390 * 100vw); } }
  main.strategy-transformation section.ma[data-inview-active] .container .visual img {
    animation: mask-animation-to-right 2s ease forwards; }
  main.strategy-transformation section.ma .container header .title img {
    width: 549px; }
    @media screen and (max-width: 768px) {
      main.strategy-transformation section.ma .container header .title img {
        width: calc(140 / 390 * 100vw); } }
main.strategy-transformation section.technology {
  position: relative; }
  main.strategy-transformation section.technology:before {
    content: "";
    background-image: url("../images/strategy/future/what_bg.jpg");
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: 30% 30%; }
  main.strategy-transformation section.technology:after {
    content: "";
    position: absolute;
    background-image: url("../images/strategy/future/what_decor.png");
    background-size: 100% 100%;
    display: block;
    width: 1068px;
    height: 561px;
    top: 152px;
    left: calc(50% - 213px);
    mix-blend-mode: multiply; }
    @media screen and (max-width: 768px) {
      main.strategy-transformation section.technology:after {
        width: calc(434 / 390 * 100vw);
        height: calc(228 / 390 * 100vw);
        top: calc(8 / 390 * 100vw);
        left: calc(-68 / 390 * 100vw); } }
  main.strategy-transformation section.technology .container {
    width: calc(100% - 160px);
    max-width: 1120px;
    margin: 0 auto;
    padding: 160px 0;
    position: relative;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      main.strategy-transformation section.technology .container {
        width: calc(350 / 390 * 100vw);
        padding: calc(80 / 390 * 100vw) 0; } }
    main.strategy-transformation section.technology .container header {
      margin-bottom: 48px; }
      @media screen and (max-width: 768px) {
        main.strategy-transformation section.technology .container header {
          margin-bottom: calc(24 / 390 * 100vw); } }
      main.strategy-transformation section.technology .container header .title {
        text-align: right;
        padding-top: 40px;
        height: 240px;
        margin: 0 -80px;
        margin-bottom: 48px; }
        @media screen and (max-width: 768px) {
          main.strategy-transformation section.technology .container header .title {
            height: calc(56 / 390 * 100vw);
            padding-top: calc(10 / 390 * 100vw);
            margin: 0 calc(-20 / 390 * 100vw);
            margin-bottom: calc(10 / 390 * 100vw);
            text-align: left; } }
      main.strategy-transformation section.technology .container header > div > p {
        display: flex;
        flex-direction: row;
        align-items: center;
        padding: 12px 28px;
        gap: 10px;
        width: 640px;
        height: 44px;
        background: linear-gradient(90deg, #FFFFFF 25%, rgba(255, 255, 255, 0) 100%);
        font-style: normal;
        font-weight: 700;
        font-size: 20px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #004481;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          main.strategy-transformation section.technology .container header > div > p {
            font-size: calc(16 / 390 * 100vw);
            line-height: 100%;
            padding: calc(8 / 390 * 100vw) calc(20 / 390 * 100vw);
            width: calc(390 / 390 * 100vw);
            height: calc(32 / 390 * 100vw);
            margin-left: calc(-20 / 390 * 100vw);
            margin-bottom: calc(24 / 390 * 100vw); } }
      main.strategy-transformation section.technology .container header > div hgroup {
        position: relative; }
        main.strategy-transformation section.technology .container header > div hgroup h2 {
          font-style: normal;
          font-weight: 900;
          font-size: 48px;
          line-height: 150%;
          color: #FFFFFF; }
          @media screen and (max-width: 768px) {
            main.strategy-transformation section.technology .container header > div hgroup h2 {
              font-size: calc(20 / 390 * 100vw); } }
        main.strategy-transformation section.technology .container header > div hgroup p {
          position: absolute;
          /*
          left: 772px;
          top: 97px;
          */
          font-family: "Albert Sans", sans-serif;
          font-weight: 900;
          font-size: 12px;
          line-height: 150%;
          color: #00F5FF; }
          @media screen and (max-width: 1279px) {
            main.strategy-transformation section.technology .container header > div hgroup p {
              position: relative;
              left: auto !important;
              top: auto !important;
              margin-top: 16px; } }
          @media screen and (max-width: 768px) {
            main.strategy-transformation section.technology .container header > div hgroup p {
              font-size: calc(12 / 390 * 100vw);
              margin-top: calc(16 / 390 * 100vw); } }
    main.strategy-transformation section.technology .container .body {
      display: flex;
      gap: 40px; }
      @media screen and (max-width: 768px) {
        main.strategy-transformation section.technology .container .body {
          gap: 24px;
          flex-direction: column; } }
      main.strategy-transformation section.technology .container .body figure {
        flex: 1 1 682px; }
        @media screen and (max-width: 768px) {
          main.strategy-transformation section.technology .container .body figure {
            order: 2;
            flex: initial; } }
      main.strategy-transformation section.technology .container .body p {
        font-style: normal;
        font-weight: 500;
        font-size: 16px;
        line-height: 200%;
        text-align: justify;
        color: #FFFFFF;
        flex: 1 1 398px; }
        @media screen and (max-width: 768px) {
          main.strategy-transformation section.technology .container .body p {
            font-size: calc(16 / 390 * 100vw);
            flex: initial; } }
  main.strategy-transformation section.technology:before {
    background-image: url("../images/strategy/transformation/technology_bg.jpg"); }
  main.strategy-transformation section.technology .container header .title {
    padding-top: 0;
    height: 316px;
    margin-bottom: 48px; }
    @media screen and (max-width: 768px) {
      main.strategy-transformation section.technology .container header .title {
        height: calc(80 / 390 * 100vw);
        margin-bottom: calc(10 / 390 * 100vw); } }
    main.strategy-transformation section.technology .container header .title img {
      width: 730px; }
      @media screen and (max-width: 768px) {
        main.strategy-transformation section.technology .container header .title img {
          width: calc(186 / 390 * 100vw); } }
  @media screen and (max-width: 768px) {
    main.strategy-transformation section.technology .container header > div hgroup h2 br {
      display: none; } }
  main.strategy-transformation section.technology .container header > div hgroup p {
    top: 97px;
    left: 534px; }
main.strategy-transformation section.compliance {
  background-color: #F8F8F8;
  position: relative;
  z-index: 1;
  overflow: hidden; }
  main.strategy-transformation section.compliance .container {
    width: calc(100% - 160px);
    max-width: 1120px;
    margin: 0 auto;
    padding: 160px 0 60px; }
    @media screen and (max-width: 768px) {
      main.strategy-transformation section.compliance .container {
        width: calc(350 / 390 * 100vw);
        padding: calc(80 / 390 * 100vw) 0 calc(56 / 390 * 100vw); } }
    main.strategy-transformation section.compliance .container header {
      position: relative;
      margin-bottom: 24px; }
      @media screen and (max-width: 768px) {
        main.strategy-transformation section.compliance .container header {
          margin-bottom: calc(24 / 390 * 100vw); } }
      main.strategy-transformation section.compliance .container header:before {
        position: absolute;
        display: block;
        content: "";
        background-image: url("../images/strategy/future/vision_decor.png");
        background-size: 100% 100%;
        width: 1191px;
        height: 421px;
        left: -103px;
        top: 134px; }
        @media screen and (max-width: 768px) {
          main.strategy-transformation section.compliance .container header:before {
            width: calc(580 / 390 * 100vw);
            height: calc(205 / 390 * 100vw);
            top: calc(-30 / 390 * 100vw);
            left: calc(-130 / 390 * 100vw); } }
      main.strategy-transformation section.compliance .container header .title {
        position: relative;
        padding-top: 40px;
        height: 240px;
        mix-blend-mode: multiply; }
        @media screen and (max-width: 768px) {
          main.strategy-transformation section.compliance .container header .title {
            padding-top: calc(10 / 390 * 100vw);
            height: calc(56 / 390 * 100vw); } }
      main.strategy-transformation section.compliance .container header > div {
        position: relative; }
        main.strategy-transformation section.compliance .container header > div > p {
          display: flex;
          flex-direction: row;
          align-items: center;
          padding: 12px 28px;
          gap: 10px;
          width: 640px;
          height: 44px;
          background: linear-gradient(90deg, #004481 25%, rgba(0, 68, 129, 0) 100%);
          border-radius: 0px;
          font-style: normal;
          font-weight: 700;
          font-size: 20px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #FFFFFF;
          margin-bottom: 8px; }
          @media screen and (max-width: 768px) {
            main.strategy-transformation section.compliance .container header > div > p {
              font-size: calc(16 / 390 * 100vw);
              line-height: 100%;
              padding: calc(8 / 390 * 100vw) calc(20 / 390 * 100vw);
              width: calc(390 / 390 * 100vw);
              height: calc(32 / 390 * 100vw);
              margin-left: calc(-20 / 390 * 100vw);
              margin-bottom: calc(24 / 390 * 100vw); } }
        main.strategy-transformation section.compliance .container header > div hgroup {
          position: relative; }
          main.strategy-transformation section.compliance .container header > div hgroup h2 {
            font-style: normal;
            font-weight: 900;
            font-size: 48px;
            line-height: 150%;
            color: #004481; }
            @media screen and (max-width: 768px) {
              main.strategy-transformation section.compliance .container header > div hgroup h2 {
                font-size: calc(20 / 390 * 100vw); } }
          main.strategy-transformation section.compliance .container header > div hgroup p {
            position: absolute;
            /*
            left: 733px;
            top: 22px;
            */
            font-family: "Albert Sans", sans-serif;
            font-weight: 900;
            font-size: 12px;
            line-height: 150%;
            color: #00F5FF;
            mix-blend-mode: multiply; }
            @media screen and (max-width: 1279px) {
              main.strategy-transformation section.compliance .container header > div hgroup p {
                position: relative;
                left: auto !important;
                top: auto !important;
                margin-top: 16px; } }
            @media screen and (max-width: 768px) {
              main.strategy-transformation section.compliance .container header > div hgroup p {
                font-size: calc(12 / 390 * 100vw);
                margin-top: calc(16 / 390 * 100vw); } }
    main.strategy-transformation section.compliance .container .body {
      display: flex;
      gap: 64px;
      align-items: center; }
      @media screen and (max-width: 768px) {
        main.strategy-transformation section.compliance .container .body {
          flex-direction: column;
          gap: calc(24 / 390 * 100vw); } }
      main.strategy-transformation section.compliance .container .body p {
        flex: 1 1 596px;
        font-style: normal;
        font-weight: 500;
        font-size: 16px;
        line-height: 200%;
        color: #000000; }
        @media screen and (max-width: 768px) {
          main.strategy-transformation section.compliance .container .body p {
            font-size: calc(16 / 390 * 100vw);
            flex: initial; } }
      main.strategy-transformation section.compliance .container .body figure {
        flex: 1 1 460px; }
        @media screen and (max-width: 768px) {
          main.strategy-transformation section.compliance .container .body figure {
            flex: initial; } }
  main.strategy-transformation section.compliance .container header .title {
    padding-top: 0;
    height: 316px;
    margin-bottom: 80px; }
    @media screen and (max-width: 768px) {
      main.strategy-transformation section.compliance .container header .title {
        height: calc(80 / 390 * 100vw);
        margin-bottom: calc(10 / 390 * 100vw); } }
    main.strategy-transformation section.compliance .container header .title img {
      width: 764px; }
      @media screen and (max-width: 768px) {
        main.strategy-transformation section.compliance .container header .title img {
          width: calc(194 / 390 * 100vw); } }
  main.strategy-transformation section.compliance .container header > div hgroup p {
    top: 33px;
    left: 342px; }
main.strategy-transformation nav.related {
  position: relative;
  z-index: 1;
  padding: 160px 0 140px;
  background-color: #F8F8F8; }
  main.strategy-transformation nav.related .container {
    width: calc(100% - 120px);
    max-width: 984px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.strategy-transformation nav.related .container {
        width: calc(335 / 375 * 100vw); } }
    main.strategy-transformation nav.related .container hgroup {
      position: relative;
      padding-left: 106px;
      margin-bottom: 56px; }
      @media screen and (max-width: 768px) {
        main.strategy-transformation nav.related .container hgroup {
          padding-left: 0;
          margin-bottom: calc(32 / 375 * 100vw); } }
      main.strategy-transformation nav.related .container hgroup:before {
        content: "";
        display: block;
        width: 96px;
        height: 1px;
        background-color: #004481;
        position: absolute;
        bottom: 20px;
        left: 0; }
        @media screen and (max-width: 768px) {
          main.strategy-transformation nav.related .container hgroup:before {
            display: none; } }
      main.strategy-transformation nav.related .container hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 10px;
        line-height: 1.2;
        text-align: left;
        color: #00f5ff; }
        @media screen and (max-width: 768px) {
          main.strategy-transformation nav.related .container hgroup p {
            font-size: calc(10 / 375 * 100vw);
            margin-bottom: calc(6 / 375 * 100vw); } }
      main.strategy-transformation nav.related .container hgroup h2 {
        font-weight: 900;
        font-size: 28px;
        letter-spacing: 0.05em;
        line-height: calc(40 / 28);
        text-align: left;
        color: #004481; }
        @media screen and (max-width: 768px) {
          main.strategy-transformation nav.related .container hgroup h2 {
            font-size: calc(28 / 375 * 100vw);
            letter-spacing: -0.05em; } }
    main.strategy-transformation nav.related .container ul {
      display: flex;
      gap: 42px; }
      @media screen and (max-width: 768px) {
        main.strategy-transformation nav.related .container ul {
          gap: calc(16 / 376 * 100vw);
          flex-direction: column; } }
      main.strategy-transformation nav.related .container ul li {
        flex: 0 0 calc((100% - 42px * 2) / 3); }
        @media screen and (max-width: 768px) {
          main.strategy-transformation nav.related .container ul li {
            flex: 0 0 100%; } }
        main.strategy-transformation nav.related .container ul li a {
          position: relative;
          display: flex;
          align-items: center;
          font-weight: bold;
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: calc(23 / 14);
          text-align: left;
          color: #004481;
          height: 80px;
          border-radius: 4px;
          background: #fff;
          border: 1px solid #fff;
          padding-left: 24px;
          border: 1px solid #004481;
          transition: all ease .3s; }
          @media screen and (max-width: 768px) {
            main.strategy-transformation nav.related .container ul li a {
              font-size: calc(14 / 375 * 100vw);
              height: calc(80 / 375 * 100vw);
              border-radius: calc(4 / 375 * 100vw);
              padding-left: calc(24 / 375 * 100vw); } }
          main.strategy-transformation nav.related .container ul li a:hover {
            background-color: #004481;
            color: #fff; }
            main.strategy-transformation nav.related .container ul li a:hover:before {
              background-color: #00F5FF; }
          main.strategy-transformation nav.related .container ul li a:before {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            right: 24px;
            transform: translateY(-50%);
            display: block;
            width: 25px;
            height: 24px;
            border-radius: 2px;
            background: #004481;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.strategy-transformation nav.related .container ul li a:before {
                right: calc(24 / 375 * 100vw);
                width: calc(25 / 375 * 100vw);
                height: calc(24 / 375 * 100vw);
                border-radius: calc(2 / 375 * 100vw); } }
          main.strategy-transformation nav.related .container ul li a:after {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            right: 27px;
            transform: translateY(-50%);
            display: block;
            width: 20px;
            height: 20px;
            -webkit-mask-image: url("../images/common/arrow_white.svg");
            mask-image: url("../images/common/arrow_white.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            background-color: #fff; }
            @media screen and (max-width: 768px) {
              main.strategy-transformation nav.related .container ul li a:after {
                right: calc(27 / 375 * 100vw);
                width: calc(20 / 375 * 100vw);
                height: calc(20 / 375 * 100vw); } }
  @media screen and (max-width: 768px) {
    main.strategy-transformation nav.related {
      padding: calc(60 / 375 * 100vw) 0 calc(60 / 375 * 100vw); } }

main.strategy-potential > header {
  position: relative;
  z-index: 1;
  position: relative;
  height: 448px;
  background-image: url("../images/common/bg_noise.png"), linear-gradient(#d1e9ff 0%, #004481 100%);
  background-size: 128px 128px, auto auto;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.strategy-potential > header {
      height: calc(200 / 375 * 100vw);
      padding-top: calc(10 / 375 * 100vw); } }
  main.strategy-potential > header:before {
    content: "";
    background-image: url("../images/common/heading_deco_01.svg");
    background-size: 100% 100%;
    display: block;
    width: 987px;
    height: 491px;
    position: absolute;
    top: -58.5px;
    left: calc(50% - 200px); }
    @media screen and (max-width: 768px) {
      main.strategy-potential > header:before {
        width: calc(398 / 375 * 100vw);
        height: calc(398 / 987 * 491 / 375 * 100vw );
        top: calc(-41 / 375 * 100vw);
        left: calc(156 / 375 * 100vw); } }
  main.strategy-potential > header:after {
    content: "";
    background-image: url("../images/common/heading_deco_02.svg");
    background-size: 100% 100%;
    display: block;
    width: 338px;
    height: 209px;
    position: absolute;
    top: -28px;
    left: calc(50% - 360px); }
    @media screen and (max-width: 768px) {
      main.strategy-potential > header:after {
        width: calc(137 / 375 * 100vw);
        height: calc(137 / 338 * 209 / 375 * 100vw );
        top: calc(-29 / 375 * 100vw);
        left: calc(91.5 / 375 * 100vw); } }
  main.strategy-potential > header .container {
    width: calc(992 / 1280 * 100vw); }
    @media screen and (max-width: 768px) {
      main.strategy-potential > header .container {
        width: calc(335 / 375 * 100vw); } }
    main.strategy-potential > header .container:before {
      will-change: background-position; }
    main.strategy-potential > header .container hgroup {
      position: relative; }
      main.strategy-potential > header .container hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 10px;
        line-height: 1.2;
        text-align: left;
        color: #00f5ff;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          main.strategy-potential > header .container hgroup p {
            font-size: calc(10 / 375 * 100vw);
            margin-bottom: 0; } }
      main.strategy-potential > header .container hgroup h1 {
        font-weight: 900;
        font-size: 48px;
        letter-spacing: -0.05em;
        line-height: 70px;
        text-align: left;
        color: #fff; }
        @media screen and (max-width: 768px) {
          main.strategy-potential > header .container hgroup h1 {
            font-size: calc(28 / 375 * 100vw);
            line-height: calc(40 / 28); } }
@keyframes strategy-potential-loop {
  0% {
    background-position: 0px 0px; }
  100% {
    background-position: -1276px 0px; } }
@keyframes strategy-potential-loop-sp {
  0% {
    background-position: 0vw 0%; }
  100% {
    background-position: calc(-1276 * 55 / 202 / 375 * 100vw) 0%; } }
  main.strategy-potential > header .container:before {
    content: "";
    display: block;
    background-image: url("../images/strategy/potential/visual_deco_text.svg");
    background-size: 1276px 202px;
    background-repeat: repeat-x;
    height: 202px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    animation: strategy-potential-loop linear infinite calc(1276s / 100); }
    @media screen and (max-width: 768px) {
      main.strategy-potential > header .container:before {
        background-size: calc(1276 * 55 / 202 / 375 * 100vw) calc(202 * 55 / 202 / 375 * 100vw);
        height: calc(55 / 375 * 100vw);
        bottom: calc(-4 * 55 / 202 / 375 * 100vw);
        animation: strategy-potential-loop-sp linear infinite calc(1276s / 100 * 80 / 202); } }
main.strategy-potential section.intro {
  background-color: #F8F8F8;
  position: relative;
  z-index: 1;
  padding-top: 160px;
  padding-bottom: 80px; }
  @media screen and (max-width: 768px) {
    main.strategy-potential section.intro {
      padding-top: calc(56 / 390 * 100vw);
      padding-bottom: calc(56 / 390 * 100vw); } }
  main.strategy-potential section.intro .container {
    width: calc(100% - 120px);
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.strategy-potential section.intro .container {
        width: calc(350 / 390 * 100vw); } }
    main.strategy-potential section.intro .container hgroup {
      margin-bottom: 40px; }
      @media screen and (max-width: 768px) {
        main.strategy-potential section.intro .container hgroup {
          margin-bottom: calc(24 / 390 * 100vw); } }
      main.strategy-potential section.intro .container hgroup h2 {
        font-style: normal;
        font-weight: 900;
        font-size: 80px;
        line-height: 110%;
        text-align: center;
        letter-spacing: -0.1em;
        color: #004481;
        margin-bottom: 40px; }
        @media screen and (max-width: 768px) {
          main.strategy-potential section.intro .container hgroup h2 {
            text-align: left;
            font-size: calc(40 / 390 * 100vw);
            margin-bottom: calc(24 / 390 * 100vw); } }
      main.strategy-potential section.intro .container hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 12px;
        line-height: 150%;
        text-align: center;
        color: #00F5FF;
        mix-blend-mode: multiply; }
        @media screen and (max-width: 768px) {
          main.strategy-potential section.intro .container hgroup p {
            text-align: left;
            font-size: calc(12 / 390 * 100vw); } }
    main.strategy-potential section.intro .container > p {
      font-style: normal;
      font-weight: 700;
      font-size: 16px;
      line-height: 200%;
      text-align: center;
      color: #000000;
      max-width: 800px;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        main.strategy-potential section.intro .container > p {
          text-align: left;
          font-size: calc(16 / 390 * 100vw); } }
main.strategy-potential section.japanese {
  position: relative;
  z-index: 1;
  background-color: #F8F8F8;
  padding-bottom: 80px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.strategy-potential section.japanese {
      padding-bottom: calc(56 / 390 * 100vw); } }
  main.strategy-potential section.japanese .container {
    width: calc(100% - 160px);
    max-width: 1120px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.strategy-potential section.japanese .container {
        width: calc(350 / 390 * 100vw); } }
    main.strategy-potential section.japanese .container .visual {
      position: relative;
      position: relative;
      left: 50%;
      transform: translateX(-50%);
      width: 100vw; }
      main.strategy-potential section.japanese .container .visual img {
        position: relative;
        z-index: 1;
        mask-image: linear-gradient(to right, black 0%, black 49%, transparent 51%, transparent 100%);
        mask-size: 400% 100%;
        mask-position: 100% 0%; }
      main.strategy-potential section.japanese .container .visual:before {
        content: "";
        display: block;
        position: absolute;
        top: calc(316 / 1280 * 100vw);
        left: calc(-96px / 1290 * 100vw);
        background-image: url("../images/strategy/future/why_decor.png");
        background-size: 100% 100%;
        width: calc(1426 / 1280 * 100vw);
        height: calc(503 / 1280 * 100vw); }
        @media screen and (max-width: 768px) {
          main.strategy-potential section.japanese .container .visual:before {
            width: calc(669 / 390 * 100vw);
            height: calc(236 / 390 * 100vw);
            top: calc(36 / 390 * 100vw);
            left: calc(-147 / 390 * 100vw); } }
    main.strategy-potential section.japanese .container header {
      position: relative;
      margin-top: -317px;
      margin-bottom: 48px; }
      @media screen and (max-width: 768px) {
        main.strategy-potential section.japanese .container header {
          margin-top: calc(-70 / 390 * 100vw);
          margin-bottom: calc(24 / 390 * 100vw); } }
      main.strategy-potential section.japanese .container header .title {
        margin: 0 -80px;
        padding-top: 40px;
        height: 240px;
        mix-blend-mode: multiply;
        margin-bottom: 38px; }
        @media screen and (max-width: 768px) {
          main.strategy-potential section.japanese .container header .title {
            margin: 0 calc(-20 / 390 * 100vw); } }
        @media screen and (max-width: 768px) {
          main.strategy-potential section.japanese .container header .title {
            height: calc(56 / 390 * 100vw);
            padding-top: calc(10 / 390 * 100vw);
            margin-bottom: calc(10 / 390 * 100vw); } }
      main.strategy-potential section.japanese .container header > div > p {
        font-style: normal;
        font-weight: 700;
        font-size: 20px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        margin-bottom: 8px;
        padding: 12px 28px;
        width: 640px;
        height: 44px;
        background: linear-gradient(90deg, #004481 25%, rgba(0, 68, 129, 0) 100%); }
        @media screen and (max-width: 768px) {
          main.strategy-potential section.japanese .container header > div > p {
            font-size: calc(16 / 390 * 100vw);
            padding: calc(8 / 390 * 100vw) calc(20 / 390 * 100vw);
            width: calc(390 / 390 * 100vw);
            height: calc(32 / 390 * 100vw);
            margin-left: calc(-20 / 390 * 100vw);
            margin-bottom: calc(24 / 390 * 100vw); } }
      main.strategy-potential section.japanese .container header > div hgroup h2 {
        font-style: normal;
        font-weight: 900;
        font-size: 48px;
        line-height: 150%;
        color: #004481;
        margin-bottom: 16px; }
        @media screen and (max-width: 768px) {
          main.strategy-potential section.japanese .container header > div hgroup h2 {
            font-size: calc(20 / 390 * 100vw);
            margin-bottom: calc(16 / 390 * 100vw); } }
      main.strategy-potential section.japanese .container header > div hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 12px;
        line-height: 150%;
        color: #00F5FF;
        mix-blend-mode: multiply;
        flex: none;
        order: 1;
        flex-grow: 0; }
        @media screen and (max-width: 768px) {
          main.strategy-potential section.japanese .container header > div hgroup p {
            font-size: calc(12 / 390 * 100vw); } }
    main.strategy-potential section.japanese .container > p {
      position: relative;
      max-width: 760px;
      font-style: normal;
      font-weight: 500;
      font-size: 16px;
      line-height: 200%;
      color: #000000;
      margin: 0 0 0 auto; }
      @media screen and (max-width: 768px) {
        main.strategy-potential section.japanese .container > p {
          font-size: calc(16 / 390 * 100vw); } }
    main.strategy-potential section.japanese .container figure {
      margin: 64px auto 0;
      max-width: 984px; }
      @media screen and (max-width: 768px) {
        main.strategy-potential section.japanese .container figure {
          margin-top: calc(24 / 390 * 100vw); } }
  main.strategy-potential section.japanese[data-inview-active] .container .visual img {
    animation: mask-animation-to-right 2s ease forwards; }
  main.strategy-potential section.japanese .container header .title {
    padding-top: 0;
    height: 316px;
    margin-bottom: 48px; }
    @media screen and (max-width: 768px) {
      main.strategy-potential section.japanese .container header .title {
        padding-top: calc(10 / 390 * 100vw);
        height: calc(112 / 390 * 100vw);
        margin-bottom: calc(10 / 390 * 100vw); } }
    main.strategy-potential section.japanese .container header .title img {
      width: 1056px;
      max-width: none; }
      @media screen and (max-width: 768px) {
        main.strategy-potential section.japanese .container header .title img {
          width: calc(271 / 390 * 100vw); } }
main.strategy-potential section.global {
  position: relative; }
  main.strategy-potential section.global:before {
    content: "";
    background-image: url("../images/strategy/future/what_bg.jpg");
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: 30% 30%; }
  main.strategy-potential section.global:after {
    content: "";
    position: absolute;
    background-image: url("../images/strategy/future/what_decor.png");
    background-size: 100% 100%;
    display: block;
    width: 1068px;
    height: 561px;
    top: 152px;
    left: calc(50% - 213px);
    mix-blend-mode: multiply; }
    @media screen and (max-width: 768px) {
      main.strategy-potential section.global:after {
        width: calc(434 / 390 * 100vw);
        height: calc(228 / 390 * 100vw);
        top: calc(8 / 390 * 100vw);
        left: calc(-68 / 390 * 100vw); } }
  main.strategy-potential section.global .container {
    width: calc(100% - 160px);
    max-width: 1120px;
    margin: 0 auto;
    padding: 160px 0;
    position: relative;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      main.strategy-potential section.global .container {
        width: calc(350 / 390 * 100vw);
        padding: calc(80 / 390 * 100vw) 0; } }
    main.strategy-potential section.global .container header {
      margin-bottom: 48px; }
      @media screen and (max-width: 768px) {
        main.strategy-potential section.global .container header {
          margin-bottom: calc(24 / 390 * 100vw); } }
      main.strategy-potential section.global .container header .title {
        text-align: right;
        padding-top: 40px;
        height: 240px;
        margin: 0 -80px;
        margin-bottom: 48px; }
        @media screen and (max-width: 768px) {
          main.strategy-potential section.global .container header .title {
            height: calc(56 / 390 * 100vw);
            padding-top: calc(10 / 390 * 100vw);
            margin: 0 calc(-20 / 390 * 100vw);
            margin-bottom: calc(10 / 390 * 100vw);
            text-align: left; } }
      main.strategy-potential section.global .container header > div > p {
        display: flex;
        flex-direction: row;
        align-items: center;
        padding: 12px 28px;
        gap: 10px;
        width: 640px;
        height: 44px;
        background: linear-gradient(90deg, #FFFFFF 25%, rgba(255, 255, 255, 0) 100%);
        font-style: normal;
        font-weight: 700;
        font-size: 20px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #004481;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          main.strategy-potential section.global .container header > div > p {
            font-size: calc(16 / 390 * 100vw);
            line-height: 100%;
            padding: calc(8 / 390 * 100vw) calc(20 / 390 * 100vw);
            width: calc(390 / 390 * 100vw);
            height: calc(32 / 390 * 100vw);
            margin-left: calc(-20 / 390 * 100vw);
            margin-bottom: calc(24 / 390 * 100vw); } }
      main.strategy-potential section.global .container header > div hgroup {
        position: relative; }
        main.strategy-potential section.global .container header > div hgroup h2 {
          font-style: normal;
          font-weight: 900;
          font-size: 48px;
          line-height: 150%;
          color: #FFFFFF; }
          @media screen and (max-width: 768px) {
            main.strategy-potential section.global .container header > div hgroup h2 {
              font-size: calc(20 / 390 * 100vw); } }
        main.strategy-potential section.global .container header > div hgroup p {
          position: absolute;
          /*
          left: 772px;
          top: 97px;
          */
          font-family: "Albert Sans", sans-serif;
          font-weight: 900;
          font-size: 12px;
          line-height: 150%;
          color: #00F5FF; }
          @media screen and (max-width: 1279px) {
            main.strategy-potential section.global .container header > div hgroup p {
              position: relative;
              left: auto !important;
              top: auto !important;
              margin-top: 16px; } }
          @media screen and (max-width: 768px) {
            main.strategy-potential section.global .container header > div hgroup p {
              font-size: calc(12 / 390 * 100vw);
              margin-top: calc(16 / 390 * 100vw); } }
    main.strategy-potential section.global .container .body {
      display: flex;
      gap: 40px; }
      @media screen and (max-width: 768px) {
        main.strategy-potential section.global .container .body {
          gap: 24px;
          flex-direction: column; } }
      main.strategy-potential section.global .container .body figure {
        flex: 1 1 682px; }
        @media screen and (max-width: 768px) {
          main.strategy-potential section.global .container .body figure {
            order: 2;
            flex: initial; } }
      main.strategy-potential section.global .container .body p {
        font-style: normal;
        font-weight: 500;
        font-size: 16px;
        line-height: 200%;
        text-align: justify;
        color: #FFFFFF;
        flex: 1 1 398px; }
        @media screen and (max-width: 768px) {
          main.strategy-potential section.global .container .body p {
            font-size: calc(16 / 390 * 100vw);
            flex: initial; } }
  main.strategy-potential section.global:before {
    background-image: url("../images/strategy/potential/global_bg.jpg"); }
  main.strategy-potential section.global .container header .title {
    padding-top: 0;
    height: 316px;
    margin-bottom: 48px; }
    @media screen and (max-width: 768px) {
      main.strategy-potential section.global .container header .title {
        height: calc(80 / 390 * 100vw);
        margin-bottom: calc(10 / 390 * 100vw); } }
    main.strategy-potential section.global .container header .title img {
      width: 795px;
      max-width: none; }
      @media screen and (max-width: 768px) {
        main.strategy-potential section.global .container header .title img {
          width: calc(202 / 390 * 100vw); } }
  main.strategy-potential section.global .container header > div hgroup p {
    top: 93px;
    left: 744px; }
main.strategy-potential section.structure {
  background-color: #F8F8F8;
  position: relative;
  z-index: 1;
  overflow: hidden; }
  main.strategy-potential section.structure .container {
    width: calc(100% - 160px);
    max-width: 1120px;
    margin: 0 auto;
    padding: 160px 0 60px; }
    @media screen and (max-width: 768px) {
      main.strategy-potential section.structure .container {
        width: calc(350 / 390 * 100vw);
        padding: calc(80 / 390 * 100vw) 0 calc(56 / 390 * 100vw); } }
    main.strategy-potential section.structure .container header {
      position: relative;
      margin-bottom: 24px; }
      @media screen and (max-width: 768px) {
        main.strategy-potential section.structure .container header {
          margin-bottom: calc(24 / 390 * 100vw); } }
      main.strategy-potential section.structure .container header:before {
        position: absolute;
        display: block;
        content: "";
        background-image: url("../images/strategy/future/vision_decor.png");
        background-size: 100% 100%;
        width: 1191px;
        height: 421px;
        left: -103px;
        top: 134px; }
        @media screen and (max-width: 768px) {
          main.strategy-potential section.structure .container header:before {
            width: calc(580 / 390 * 100vw);
            height: calc(205 / 390 * 100vw);
            top: calc(-30 / 390 * 100vw);
            left: calc(-130 / 390 * 100vw); } }
      main.strategy-potential section.structure .container header .title {
        position: relative;
        padding-top: 40px;
        height: 240px;
        mix-blend-mode: multiply; }
        @media screen and (max-width: 768px) {
          main.strategy-potential section.structure .container header .title {
            padding-top: calc(10 / 390 * 100vw);
            height: calc(56 / 390 * 100vw); } }
      main.strategy-potential section.structure .container header > div {
        position: relative; }
        main.strategy-potential section.structure .container header > div > p {
          display: flex;
          flex-direction: row;
          align-items: center;
          padding: 12px 28px;
          gap: 10px;
          width: 640px;
          height: 44px;
          background: linear-gradient(90deg, #004481 25%, rgba(0, 68, 129, 0) 100%);
          border-radius: 0px;
          font-style: normal;
          font-weight: 700;
          font-size: 20px;
          line-height: 100%;
          letter-spacing: 0.05em;
          color: #FFFFFF;
          margin-bottom: 8px; }
          @media screen and (max-width: 768px) {
            main.strategy-potential section.structure .container header > div > p {
              font-size: calc(16 / 390 * 100vw);
              line-height: 100%;
              padding: calc(8 / 390 * 100vw) calc(20 / 390 * 100vw);
              width: calc(390 / 390 * 100vw);
              height: calc(32 / 390 * 100vw);
              margin-left: calc(-20 / 390 * 100vw);
              margin-bottom: calc(24 / 390 * 100vw); } }
        main.strategy-potential section.structure .container header > div hgroup {
          position: relative; }
          main.strategy-potential section.structure .container header > div hgroup h2 {
            font-style: normal;
            font-weight: 900;
            font-size: 48px;
            line-height: 150%;
            color: #004481; }
            @media screen and (max-width: 768px) {
              main.strategy-potential section.structure .container header > div hgroup h2 {
                font-size: calc(20 / 390 * 100vw); } }
          main.strategy-potential section.structure .container header > div hgroup p {
            position: absolute;
            /*
            left: 733px;
            top: 22px;
            */
            font-family: "Albert Sans", sans-serif;
            font-weight: 900;
            font-size: 12px;
            line-height: 150%;
            color: #00F5FF;
            mix-blend-mode: multiply; }
            @media screen and (max-width: 1279px) {
              main.strategy-potential section.structure .container header > div hgroup p {
                position: relative;
                left: auto !important;
                top: auto !important;
                margin-top: 16px; } }
            @media screen and (max-width: 768px) {
              main.strategy-potential section.structure .container header > div hgroup p {
                font-size: calc(12 / 390 * 100vw);
                margin-top: calc(16 / 390 * 100vw); } }
    main.strategy-potential section.structure .container .body {
      display: flex;
      gap: 64px;
      align-items: center; }
      @media screen and (max-width: 768px) {
        main.strategy-potential section.structure .container .body {
          flex-direction: column;
          gap: calc(24 / 390 * 100vw); } }
      main.strategy-potential section.structure .container .body p {
        flex: 1 1 596px;
        font-style: normal;
        font-weight: 500;
        font-size: 16px;
        line-height: 200%;
        color: #000000; }
        @media screen and (max-width: 768px) {
          main.strategy-potential section.structure .container .body p {
            font-size: calc(16 / 390 * 100vw);
            flex: initial; } }
      main.strategy-potential section.structure .container .body figure {
        flex: 1 1 460px; }
        @media screen and (max-width: 768px) {
          main.strategy-potential section.structure .container .body figure {
            flex: initial; } }
  main.strategy-potential section.structure .container header .title {
    padding-top: 0;
    height: 316px;
    margin-bottom: 80px; }
    @media screen and (max-width: 768px) {
      main.strategy-potential section.structure .container header .title {
        height: calc(80 / 390 * 100vw);
        margin-bottom: calc(10 / 390 * 100vw); } }
    main.strategy-potential section.structure .container header .title img {
      width: 1092px;
      max-width: none; }
      @media screen and (max-width: 768px) {
        main.strategy-potential section.structure .container header .title img {
          width: calc(278 / 390 * 100vw); } }
  main.strategy-potential section.structure .container header > div hgroup p {
    top: 33px;
    left: 440px; }
main.strategy-potential nav.related {
  position: relative;
  z-index: 1;
  padding: 160px 0 140px;
  background-color: #F8F8F8; }
  main.strategy-potential nav.related .container {
    width: calc(100% - 120px);
    max-width: 984px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.strategy-potential nav.related .container {
        width: calc(335 / 375 * 100vw); } }
    main.strategy-potential nav.related .container hgroup {
      position: relative;
      padding-left: 106px;
      margin-bottom: 56px; }
      @media screen and (max-width: 768px) {
        main.strategy-potential nav.related .container hgroup {
          padding-left: 0;
          margin-bottom: calc(32 / 375 * 100vw); } }
      main.strategy-potential nav.related .container hgroup:before {
        content: "";
        display: block;
        width: 96px;
        height: 1px;
        background-color: #004481;
        position: absolute;
        bottom: 20px;
        left: 0; }
        @media screen and (max-width: 768px) {
          main.strategy-potential nav.related .container hgroup:before {
            display: none; } }
      main.strategy-potential nav.related .container hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 10px;
        line-height: 1.2;
        text-align: left;
        color: #00f5ff; }
        @media screen and (max-width: 768px) {
          main.strategy-potential nav.related .container hgroup p {
            font-size: calc(10 / 375 * 100vw);
            margin-bottom: calc(6 / 375 * 100vw); } }
      main.strategy-potential nav.related .container hgroup h2 {
        font-weight: 900;
        font-size: 28px;
        letter-spacing: 0.05em;
        line-height: calc(40 / 28);
        text-align: left;
        color: #004481; }
        @media screen and (max-width: 768px) {
          main.strategy-potential nav.related .container hgroup h2 {
            font-size: calc(28 / 375 * 100vw);
            letter-spacing: -0.05em; } }
    main.strategy-potential nav.related .container ul {
      display: flex;
      gap: 42px; }
      @media screen and (max-width: 768px) {
        main.strategy-potential nav.related .container ul {
          gap: calc(16 / 376 * 100vw);
          flex-direction: column; } }
      main.strategy-potential nav.related .container ul li {
        flex: 0 0 calc((100% - 42px * 2) / 3); }
        @media screen and (max-width: 768px) {
          main.strategy-potential nav.related .container ul li {
            flex: 0 0 100%; } }
        main.strategy-potential nav.related .container ul li a {
          position: relative;
          display: flex;
          align-items: center;
          font-weight: bold;
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: calc(23 / 14);
          text-align: left;
          color: #004481;
          height: 80px;
          border-radius: 4px;
          background: #fff;
          border: 1px solid #fff;
          padding-left: 24px;
          border: 1px solid #004481;
          transition: all ease .3s; }
          @media screen and (max-width: 768px) {
            main.strategy-potential nav.related .container ul li a {
              font-size: calc(14 / 375 * 100vw);
              height: calc(80 / 375 * 100vw);
              border-radius: calc(4 / 375 * 100vw);
              padding-left: calc(24 / 375 * 100vw); } }
          main.strategy-potential nav.related .container ul li a:hover {
            background-color: #004481;
            color: #fff; }
            main.strategy-potential nav.related .container ul li a:hover:before {
              background-color: #00F5FF; }
          main.strategy-potential nav.related .container ul li a:before {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            right: 24px;
            transform: translateY(-50%);
            display: block;
            width: 25px;
            height: 24px;
            border-radius: 2px;
            background: #004481;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.strategy-potential nav.related .container ul li a:before {
                right: calc(24 / 375 * 100vw);
                width: calc(25 / 375 * 100vw);
                height: calc(24 / 375 * 100vw);
                border-radius: calc(2 / 375 * 100vw); } }
          main.strategy-potential nav.related .container ul li a:after {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            right: 27px;
            transform: translateY(-50%);
            display: block;
            width: 20px;
            height: 20px;
            -webkit-mask-image: url("../images/common/arrow_white.svg");
            mask-image: url("../images/common/arrow_white.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            background-color: #fff; }
            @media screen and (max-width: 768px) {
              main.strategy-potential nav.related .container ul li a:after {
                right: calc(27 / 375 * 100vw);
                width: calc(20 / 375 * 100vw);
                height: calc(20 / 375 * 100vw); } }
  @media screen and (max-width: 768px) {
    main.strategy-potential nav.related {
      padding: calc(60 / 375 * 100vw) 0 calc(60 / 375 * 100vw); } }

main.business > header {
  position: relative;
  height: 448px;
  background-image: url("../images/common/bg_noise.png"), linear-gradient(#d1e9ff 0%, #004481 100%);
  background-size: 128px 128px, auto auto;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.business > header {
      height: calc(200 / 375 * 100vw);
      padding-top: calc(10 / 375 * 100vw); } }
  main.business > header:before {
    content: "";
    background-image: url("../images/common/heading_deco_01.svg");
    background-size: 100% 100%;
    display: block;
    width: 987px;
    height: 491px;
    position: absolute;
    top: -58.5px;
    left: calc(50% - 200px); }
    @media screen and (max-width: 768px) {
      main.business > header:before {
        width: calc(398 / 375 * 100vw);
        height: calc(398 / 987 * 491 / 375 * 100vw );
        top: calc(-41 / 375 * 100vw);
        left: calc(156 / 375 * 100vw); } }
  main.business > header:after {
    content: "";
    background-image: url("../images/common/heading_deco_02.svg");
    background-size: 100% 100%;
    display: block;
    width: 338px;
    height: 209px;
    position: absolute;
    top: -28px;
    left: calc(50% - 360px); }
    @media screen and (max-width: 768px) {
      main.business > header:after {
        width: calc(137 / 375 * 100vw);
        height: calc(137 / 338 * 209 / 375 * 100vw );
        top: calc(-29 / 375 * 100vw);
        left: calc(91.5 / 375 * 100vw); } }
  main.business > header .container {
    width: calc(992 / 1280 * 100vw); }
    @media screen and (max-width: 768px) {
      main.business > header .container {
        width: calc(335 / 375 * 100vw); } }
    main.business > header .container:before {
      will-change: background-position; }
    main.business > header .container hgroup {
      position: relative; }
      main.business > header .container hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 10px;
        line-height: 1.2;
        text-align: left;
        color: #00f5ff;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          main.business > header .container hgroup p {
            font-size: calc(10 / 375 * 100vw);
            margin-bottom: 0; } }
      main.business > header .container hgroup h1 {
        font-weight: 900;
        font-size: 48px;
        letter-spacing: -0.05em;
        line-height: 70px;
        text-align: left;
        color: #fff; }
        @media screen and (max-width: 768px) {
          main.business > header .container hgroup h1 {
            font-size: calc(28 / 375 * 100vw);
            line-height: calc(40 / 28); } }
@keyframes business-loop {
  0% {
    background-position: 0px 0px; }
  100% {
    background-position: -1324px 0px; } }
@keyframes business-loop-sp {
  0% {
    background-position: 0vw 0%; }
  100% {
    background-position: calc(-1324 * 55 / 202 / 375 * 100vw) 0%; } }
  main.business > header .container:before {
    content: "";
    display: block;
    background-image: url("../images/business/visual_deco_text.svg");
    background-size: 1324px 202px;
    background-repeat: repeat-x;
    height: 202px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    animation: business-loop linear infinite calc(1324s / 100); }
    @media screen and (max-width: 768px) {
      main.business > header .container:before {
        background-size: calc(1324 * 55 / 202 / 375 * 100vw) calc(202 * 55 / 202 / 375 * 100vw);
        height: calc(55 / 375 * 100vw);
        bottom: calc(-4 * 55 / 202 / 375 * 100vw);
        animation: business-loop-sp linear infinite calc(1324s / 100 * 80 / 202); } }
main.business section.intro {
  position: relative;
  background-color: #F8F8F8;
  overflow: hidden; }
  main.business section.intro .container {
    position: relative;
    width: calc(100% - 160px);
    max-width: 992px;
    margin: 0 auto;
    padding: 160px 0 80px; }
    @media screen and (max-width: 768px) {
      main.business section.intro .container {
        width: calc(100% - 40 / 390 * 100vw);
        padding: calc(56 / 390 * 100vw) 0; } }
    main.business section.intro .container:before {
      content: "";
      background-image: url("../images/career/intro_decor_01.png");
      background-size: 100% 100%;
      display: block;
      width: 1275px;
      height: 1225px;
      position: absolute;
      top: -218px;
      left: -342px;
      pointer-events: none; }
      @media screen and (max-width: 768px) {
        main.business section.intro .container:before {
          background-image: url("../images/career/intro_decor_01@sp.png");
          width: calc(418 / 390 * 100vw);
          height: calc(418 / 390 * 100vw);
          top: calc(-130 / 390 * 100vw);
          left: calc(-120 / 390 * 100vw); } }
    main.business section.intro .container:after {
      content: "";
      background-image: url("../images/career/intro_decor_02.png");
      background-size: 100% 100%;
      display: block;
      width: 1279px;
      height: 1210px;
      position: absolute;
      right: -325px;
      bottom: -458px;
      pointer-events: none; }
      @media screen and (max-width: 768px) {
        main.business section.intro .container:after {
          background-image: url("../images/career/intro_decor_02@sp.png");
          width: calc(418 / 390 * 100vw);
          height: calc(418 / 390 * 100vw);
          bottom: calc(-150 / 390 * 100vw);
          right: calc(-100 / 390 * 100vw); } }
    main.business section.intro .container > * {
      position: relative;
      z-index: 1; }
    main.business section.intro .container hgroup {
      position: relative;
      margin-bottom: 48px; }
      @media screen and (max-width: 768px) {
        main.business section.intro .container hgroup {
          margin-bottom: calc(24 / 390 * 100vw); } }
      main.business section.intro .container hgroup h2 {
        font-style: normal;
        font-weight: 900;
        font-size: 80px;
        line-height: 110%;
        letter-spacing: -0.1em;
        color: #004481; }
        @media screen and (max-width: 768px) {
          main.business section.intro .container hgroup h2 {
            font-size: calc(40 / 390 * 100vw);
            margin-bottom: calc(24 / 390 * 100vw); } }
      main.business section.intro .container hgroup p {
        position: absolute;
        top: 35px;
        left: 656px;
        font-family: "Albert Sans", sans-serif;
        font-style: normal;
        font-weight: 500;
        font-size: 12px;
        line-height: 150%;
        color: #00F5FF;
        mix-blend-mode: multiply; }
        @media screen and (max-width: 768px) {
          main.business section.intro .container hgroup p {
            position: static;
            font-size: calc(12 / 390 * 100vw); } }
    main.business section.intro .container > p {
      font-style: normal;
      font-weight: 700;
      font-size: 16px;
      line-height: 200%;
      color: #000000; }
      @media screen and (max-width: 768px) {
        main.business section.intro .container > p {
          font-size: calc(16 / 390 * 100vw); } }
    main.business section.intro .container figure {
      max-width: 720px;
      margin: 0 auto;
      margin-top: 40px; }
      @media screen and (max-width: 768px) {
        main.business section.intro .container figure {
          margin-top: calc(24 / 390 * 100vw); } }
main.business section.purchasing,
main.business section.sales,
main.business section.ma,
main.business section.tc {
  background-color: #F8F8F8; }
  main.business section.purchasing .container,
  main.business section.sales .container,
  main.business section.ma .container,
  main.business section.tc .container {
    position: relative;
    width: calc(100% - 80px * 2);
    margin: 0 auto;
    max-width: 1120px;
    padding-top: 240px;
    padding-left: 60px; }
    @media screen and (max-width: 768px) {
      main.business section.purchasing .container,
      main.business section.sales .container,
      main.business section.ma .container,
      main.business section.tc .container {
        padding-top: calc(56 / 390 * 100vw);
        padding-left: 0;
        width: calc(100% - 40 / 390 * 100vw); } }
    main.business section.purchasing .container:before,
    main.business section.sales .container:before,
    main.business section.ma .container:before,
    main.business section.tc .container:before {
      content: "";
      position: absolute;
      top: -314px;
      left: -320px;
      display: block;
      background-image: url("../images/business/section_decor.png");
      background-size: 100% 100%;
      width: 1275px;
      height: 1225px; }
      @media screen and (max-width: 768px) {
        main.business section.purchasing .container:before,
        main.business section.sales .container:before,
        main.business section.ma .container:before,
        main.business section.tc .container:before {
          background-image: url("../images/business/section_decor@sp.png");
          width: calc(449 / 390 * 100vw);
          height: calc(431 / 390 * 100vw);
          top: calc(-90 / 390 * 100vw); } }
    main.business section.purchasing .container > header,
    main.business section.sales .container > header,
    main.business section.ma .container > header,
    main.business section.tc .container > header {
      position: relative; }
      @media screen and (max-width: 768px) {
        main.business section.purchasing .container > header,
        main.business section.sales .container > header,
        main.business section.ma .container > header,
        main.business section.tc .container > header {
          margin: 0 calc(-20 / 390 * 100vw);
          margin-bottom: calc(48 / 390 * 100vw); } }
      main.business section.purchasing .container > header div,
      main.business section.sales .container > header div,
      main.business section.ma .container > header div,
      main.business section.tc .container > header div {
        position: absolute;
        right: 100%;
        top: 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
        align-items: flex-end;
        width: 140px;
        padding-right: 48px; }
        @media screen and (max-width: 768px) {
          main.business section.purchasing .container > header div,
          main.business section.sales .container > header div,
          main.business section.ma .container > header div,
          main.business section.tc .container > header div {
            position: static;
            padding-right: 0;
            width: auto;
            display: block; } }
        @media screen and (max-width: 768px) {
          main.business section.purchasing .container > header div .marker,
          main.business section.sales .container > header div .marker,
          main.business section.ma .container > header div .marker,
          main.business section.tc .container > header div .marker {
            margin-bottom: calc(10 / 390 * 100vw); } }
        @media screen and (max-width: 768px) {
          main.business section.purchasing .container > header div p:nth-child(2),
          main.business section.sales .container > header div p:nth-child(2),
          main.business section.ma .container > header div p:nth-child(2),
          main.business section.tc .container > header div p:nth-child(2) {
            height: calc(40 / 390 * 100vw);
            margin-bottom: calc(10 / 390 * 100vw);
            padding-left: calc(8 / 390 * 100vw); } }
      main.business section.purchasing .container > header h2,
      main.business section.sales .container > header h2,
      main.business section.ma .container > header h2,
      main.business section.tc .container > header h2 {
        font-style: normal;
        font-weight: 700;
        font-size: 20px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 12px 0 12px 24px;
        width: 561px;
        background: linear-gradient(90deg, #004481 35%, rgba(0, 68, 129, 0.75) 70%, rgba(0, 68, 129, 0) 100%);
        margin-bottom: 16px; }
        @media screen and (max-width: 768px) {
          main.business section.purchasing .container > header h2,
          main.business section.sales .container > header h2,
          main.business section.ma .container > header h2,
          main.business section.tc .container > header h2 {
            font-size: calc(16 / 390 * 100vw);
            padding: calc(8 / 390 * 100vw) calc(20 / 390 * 100vw);
            width: 100vw; } }
    main.business section.purchasing .container section:not(.dept),
    main.business section.sales .container section:not(.dept),
    main.business section.ma .container section:not(.dept),
    main.business section.tc .container section:not(.dept) {
      padding-left: 40px;
      margin-bottom: 24px; }
      @media screen and (max-width: 768px) {
        main.business section.purchasing .container section:not(.dept),
        main.business section.sales .container section:not(.dept),
        main.business section.ma .container section:not(.dept),
        main.business section.tc .container section:not(.dept) {
          padding-left: 0;
          margin-bottom: calc(24 / 390 * 100vw); } }
      main.business section.purchasing .container section:not(.dept) h3,
      main.business section.sales .container section:not(.dept) h3,
      main.business section.ma .container section:not(.dept) h3,
      main.business section.tc .container section:not(.dept) h3 {
        font-style: normal;
        font-weight: 900;
        font-size: 40px;
        line-height: 150%;
        color: #004481;
        margin-bottom: 16px; }
        @media screen and (max-width: 768px) {
          main.business section.purchasing .container section:not(.dept) h3,
          main.business section.sales .container section:not(.dept) h3,
          main.business section.ma .container section:not(.dept) h3,
          main.business section.tc .container section:not(.dept) h3 {
            font-size: calc(20 / 390 * 100vw);
            margin-bottom: calc(16 / 390 * 100vw); } }
      main.business section.purchasing .container section:not(.dept) p,
      main.business section.sales .container section:not(.dept) p,
      main.business section.ma .container section:not(.dept) p,
      main.business section.tc .container section:not(.dept) p {
        font-style: normal;
        font-weight: 500;
        font-size: 16px;
        line-height: 200%;
        color: #000000; }
        @media screen and (max-width: 768px) {
          main.business section.purchasing .container section:not(.dept) p,
          main.business section.sales .container section:not(.dept) p,
          main.business section.ma .container section:not(.dept) p,
          main.business section.tc .container section:not(.dept) p {
            font-size: calc(16 / 390 * 100vw); } }
    main.business section.purchasing .container section.dept,
    main.business section.sales .container section.dept,
    main.business section.ma .container section.dept,
    main.business section.tc .container section.dept {
      background-color: #fff;
      padding: 40px;
      border-radius: 16px;
      margin-top: 24px; }
      @media screen and (max-width: 768px) {
        main.business section.purchasing .container section.dept,
        main.business section.sales .container section.dept,
        main.business section.ma .container section.dept,
        main.business section.tc .container section.dept {
          margin-top: calc(24 / 390 * 100vw);
          padding: calc(16 / 390 * 100vw);
          border-radius: calc(16 / 390 * 100vw); } }
      main.business section.purchasing .container section.dept header,
      main.business section.sales .container section.dept header,
      main.business section.ma .container section.dept header,
      main.business section.tc .container section.dept header {
        display: flex;
        align-items: center;
        margin-bottom: 16px; }
        @media screen and (max-width: 768px) {
          main.business section.purchasing .container section.dept header,
          main.business section.sales .container section.dept header,
          main.business section.ma .container section.dept header,
          main.business section.tc .container section.dept header {
            display: block;
            margin-bottom: calc(16 / 390 * 100vw); } }
        main.business section.purchasing .container section.dept header h3,
        main.business section.sales .container section.dept header h3,
        main.business section.ma .container section.dept header h3,
        main.business section.tc .container section.dept header h3 {
          font-style: normal;
          font-weight: 900;
          font-size: 32px;
          line-height: 150%;
          color: #004481;
          padding-right: 16px;
          border-right: 1px solid #004481; }
          @media screen and (max-width: 768px) {
            main.business section.purchasing .container section.dept header h3,
            main.business section.sales .container section.dept header h3,
            main.business section.ma .container section.dept header h3,
            main.business section.tc .container section.dept header h3 {
              padding: 0;
              font-size: calc(20 / 390 * 100vw);
              padding-bottom: calc(8 / 390 * 100vw);
              border: none;
              border-bottom: 1px solid #004481;
              margin-bottom: calc(8 / 390 * 100vw); } }
        main.business section.purchasing .container section.dept header p,
        main.business section.sales .container section.dept header p,
        main.business section.ma .container section.dept header p,
        main.business section.tc .container section.dept header p {
          padding-left: 16px;
          font-style: normal;
          font-weight: 700;
          font-size: 16px;
          line-height: 200%;
          color: #004481;
          border-left: 1px solid #004481;
          margin-left: -1px; }
          @media screen and (max-width: 768px) {
            main.business section.purchasing .container section.dept header p,
            main.business section.sales .container section.dept header p,
            main.business section.ma .container section.dept header p,
            main.business section.tc .container section.dept header p {
              border: none;
              margin: 0;
              padding: 0;
              font-size: calc(16 / 390 * 100vw); } }
          @media screen and (max-width: 768px) {
            main.business section.purchasing .container section.dept header p br,
            main.business section.sales .container section.dept header p br,
            main.business section.ma .container section.dept header p br,
            main.business section.tc .container section.dept header p br {
              display: none; } }
      main.business section.purchasing .container section.dept .slider,
      main.business section.sales .container section.dept .slider,
      main.business section.ma .container section.dept .slider,
      main.business section.tc .container section.dept .slider {
        position: relative; }
        main.business section.purchasing .container section.dept .slider .swiper,
        main.business section.sales .container section.dept .slider .swiper,
        main.business section.ma .container section.dept .slider .swiper,
        main.business section.tc .container section.dept .slider .swiper {
          position: relative;
          padding-top: 30px; }
          @media screen and (max-width: 768px) {
            main.business section.purchasing .container section.dept .slider .swiper,
            main.business section.sales .container section.dept .slider .swiper,
            main.business section.ma .container section.dept .slider .swiper,
            main.business section.tc .container section.dept .slider .swiper {
              padding-top: 3rem; } }
          main.business section.purchasing .container section.dept .slider .swiper ul,
          main.business section.sales .container section.dept .slider .swiper ul,
          main.business section.ma .container section.dept .slider .swiper ul,
          main.business section.tc .container section.dept .slider .swiper ul {
            box-sizing: border-box; }
            main.business section.purchasing .container section.dept .slider .swiper ul li,
            main.business section.sales .container section.dept .slider .swiper ul li,
            main.business section.ma .container section.dept .slider .swiper ul li,
            main.business section.tc .container section.dept .slider .swiper ul li {
              box-sizing: border-box;
              position: relative;
              display: block;
              padding-left: 24px;
              padding-right: 24px; }
              @media screen and (max-width: 768px) {
                main.business section.purchasing .container section.dept .slider .swiper ul li,
                main.business section.sales .container section.dept .slider .swiper ul li,
                main.business section.ma .container section.dept .slider .swiper ul li,
                main.business section.tc .container section.dept .slider .swiper ul li {
                  width: calc(319 / 375 * 100vw);
                  padding-left: calc(12 /375 * 100vw);
                  padding-right: calc(8 / 375 * 100vw); } }
              main.business section.purchasing .container section.dept .slider .swiper ul li a,
              main.business section.sales .container section.dept .slider .swiper ul li a,
              main.business section.ma .container section.dept .slider .swiper ul li a,
              main.business section.tc .container section.dept .slider .swiper ul li a {
                position: relative;
                display: block;
                padding-bottom: 24px; }
                @media screen and (max-width: 768px) {
                  main.business section.purchasing .container section.dept .slider .swiper ul li a,
                  main.business section.sales .container section.dept .slider .swiper ul li a,
                  main.business section.ma .container section.dept .slider .swiper ul li a,
                  main.business section.tc .container section.dept .slider .swiper ul li a {
                    padding-bottom: calc(24 / 375 * 100vw); } }
                main.business section.purchasing .container section.dept .slider .swiper ul li a figure,
                main.business section.sales .container section.dept .slider .swiper ul li a figure,
                main.business section.ma .container section.dept .slider .swiper ul li a figure,
                main.business section.tc .container section.dept .slider .swiper ul li a figure {
                  position: relative;
                  background-image: url("../images/story/list_bg.png");
                  background-size: 100% 100%;
                  aspect-ratio: 574 / 660;
                  width: 100%; }
                  main.business section.purchasing .container section.dept .slider .swiper ul li a figure img,
                  main.business section.sales .container section.dept .slider .swiper ul li a figure img,
                  main.business section.ma .container section.dept .slider .swiper ul li a figure img,
                  main.business section.tc .container section.dept .slider .swiper ul li a figure img {
                    position: absolute;
                    bottom: 0;
                    left: 0;
                    right: 0; }
                main.business section.purchasing .container section.dept .slider .swiper ul li a .marker,
                main.business section.sales .container section.dept .slider .swiper ul li a .marker,
                main.business section.ma .container section.dept .slider .swiper ul li a .marker,
                main.business section.tc .container section.dept .slider .swiper ul li a .marker {
                  position: absolute;
                  top: 10px;
                  left: 10px;
                  font-family: "Albert Sans", sans-serif;
                  font-weight: 900;
                  font-size: 10px;
                  line-height: 1.2;
                  text-align: left;
                  color: #00f5ff; }
                  @media screen and (max-width: 768px) {
                    main.business section.purchasing .container section.dept .slider .swiper ul li a .marker,
                    main.business section.sales .container section.dept .slider .swiper ul li a .marker,
                    main.business section.ma .container section.dept .slider .swiper ul li a .marker,
                    main.business section.tc .container section.dept .slider .swiper ul li a .marker {
                      top: calc(5 / 375 * 100vw);
                      left: calc(5 / 375 * 100vw);
                      font-size: calc(10 / 375 * 100vw); } }
                main.business section.purchasing .container section.dept .slider .swiper ul li a .job,
                main.business section.sales .container section.dept .slider .swiper ul li a .job,
                main.business section.ma .container section.dept .slider .swiper ul li a .job,
                main.business section.tc .container section.dept .slider .swiper ul li a .job {
                  position: absolute;
                  top: 11px;
                  right: 10px;
                  font-weight: bold;
                  font-size: 16px;
                  letter-spacing: 0.05em;
                  line-height: calc(20 / 16);
                  text-align: left;
                  color: #fff;
                  writing-mode: vertical-rl;
                  text-orientation: upright; }
                  @media screen and (max-width: 768px) {
                    main.business section.purchasing .container section.dept .slider .swiper ul li a .job,
                    main.business section.sales .container section.dept .slider .swiper ul li a .job,
                    main.business section.ma .container section.dept .slider .swiper ul li a .job,
                    main.business section.tc .container section.dept .slider .swiper ul li a .job {
                      top: calc(4 / 375 * 100vw);
                      right: calc(2 / 375 * 100vw);
                      font-size: calc(10 / 375 * 100vw);
                      letter-spacing: 0.05em;
                      line-height: 1.2; } }
                main.business section.purchasing .container section.dept .slider .swiper ul li a .title,
                main.business section.sales .container section.dept .slider .swiper ul li a .title,
                main.business section.ma .container section.dept .slider .swiper ul li a .title,
                main.business section.tc .container section.dept .slider .swiper ul li a .title {
                  position: absolute;
                  bottom: 0px;
                  left: -24px;
                  right: 0; }
                  @media screen and (max-width: 768px) {
                    main.business section.purchasing .container section.dept .slider .swiper ul li a .title,
                    main.business section.sales .container section.dept .slider .swiper ul li a .title,
                    main.business section.ma .container section.dept .slider .swiper ul li a .title,
                    main.business section.tc .container section.dept .slider .swiper ul li a .title {
                      left: calc(-12 / 375 * 100vw);
                      right: calc(12 / 375 * 100vw); } }
                  main.business section.purchasing .container section.dept .slider .swiper ul li a .title .highlight,
                  main.business section.sales .container section.dept .slider .swiper ul li a .title .highlight,
                  main.business section.ma .container section.dept .slider .swiper ul li a .title .highlight,
                  main.business section.tc .container section.dept .slider .swiper ul li a .title .highlight {
                    font-weight: 900;
                    font-size: 16px;
                    letter-spacing: -0.05em;
                    line-height: 2;
                    text-align: left;
                    color: #004481;
                    background-color: #fff;
                    display: inline;
                    box-decoration-break: clone;
                    -webkit-box-decoration-break: clone;
                    padding: 4px 8px; }
                    @media screen and (max-width: 768px) {
                      main.business section.purchasing .container section.dept .slider .swiper ul li a .title .highlight,
                      main.business section.sales .container section.dept .slider .swiper ul li a .title .highlight,
                      main.business section.ma .container section.dept .slider .swiper ul li a .title .highlight,
                      main.business section.tc .container section.dept .slider .swiper ul li a .title .highlight {
                        font-weight: 900;
                        font-size: calc(12 / 375 * 100vw);
                        letter-spacing: -0.05em;
                        line-height: calc(21 / 12);
                        text-align: left;
                        color: #004481;
                        padding: calc(2 / 375 * 100vw) calc(4 / 375 * 100vw); }
                        main.business section.purchasing .container section.dept .slider .swiper ul li a .title .highlight br,
                        main.business section.sales .container section.dept .slider .swiper ul li a .title .highlight br,
                        main.business section.ma .container section.dept .slider .swiper ul li a .title .highlight br,
                        main.business section.tc .container section.dept .slider .swiper ul li a .title .highlight br {
                          display: none; } }
                main.business section.purchasing .container section.dept .slider .swiper ul li a .arrow,
                main.business section.sales .container section.dept .slider .swiper ul li a .arrow,
                main.business section.ma .container section.dept .slider .swiper ul li a .arrow,
                main.business section.tc .container section.dept .slider .swiper ul li a .arrow {
                  position: absolute;
                  right: 0;
                  bottom: 24px;
                  display: block;
                  width: 25px;
                  height: 24px;
                  border-radius: 2px;
                  background: #004481;
                  transition: all ease .3s; }
                  @media screen and (max-width: 768px) {
                    main.business section.purchasing .container section.dept .slider .swiper ul li a .arrow,
                    main.business section.sales .container section.dept .slider .swiper ul li a .arrow,
                    main.business section.ma .container section.dept .slider .swiper ul li a .arrow,
                    main.business section.tc .container section.dept .slider .swiper ul li a .arrow {
                      width: calc(12 / 375 * 100vw);
                      height: calc(12 / 375 * 100vw);
                      bottom: calc(23 / 375 * 100vw);
                      border-radius: calc(2 / 375 * 100vw); } }
                  main.business section.purchasing .container section.dept .slider .swiper ul li a .arrow:before,
                  main.business section.sales .container section.dept .slider .swiper ul li a .arrow:before,
                  main.business section.ma .container section.dept .slider .swiper ul li a .arrow:before,
                  main.business section.tc .container section.dept .slider .swiper ul li a .arrow:before {
                    content: "";
                    display: block;
                    width: 20px;
                    height: 20px;
                    position: absolute;
                    top: 2px;
                    left: 2px;
                    -webkit-mask-image: url("../images/common/arrow_white.svg");
                    mask-image: url("../images/common/arrow_white.svg");
                    -webkit-mask-size: 100% 100%;
                    mask-size: 100% 100%;
                    background-color: #fff;
                    transition: all ease .3s; }
                    @media screen and (max-width: 768px) {
                      main.business section.purchasing .container section.dept .slider .swiper ul li a .arrow:before,
                      main.business section.sales .container section.dept .slider .swiper ul li a .arrow:before,
                      main.business section.ma .container section.dept .slider .swiper ul li a .arrow:before,
                      main.business section.tc .container section.dept .slider .swiper ul li a .arrow:before {
                        width: calc(11 / 375 * 100vw);
                        height: calc(11 / 375 * 100vw);
                        top: calc(1 / 375 * 100vw);
                        left: calc(1 / 375 * 100vw); } }
                main.business section.purchasing .container section.dept .slider .swiper ul li a:hover .arrow,
                main.business section.sales .container section.dept .slider .swiper ul li a:hover .arrow,
                main.business section.ma .container section.dept .slider .swiper ul li a:hover .arrow,
                main.business section.tc .container section.dept .slider .swiper ul li a:hover .arrow {
                  background-color: #00F5FF; }
                  main.business section.purchasing .container section.dept .slider .swiper ul li a:hover .arrow:before,
                  main.business section.sales .container section.dept .slider .swiper ul li a:hover .arrow:before,
                  main.business section.ma .container section.dept .slider .swiper ul li a:hover .arrow:before,
                  main.business section.tc .container section.dept .slider .swiper ul li a:hover .arrow:before {
                    background-color: #004481; }
        main.business section.purchasing .container section.dept .slider .swiper-control .swiper-button-prev,
        main.business section.sales .container section.dept .slider .swiper-control .swiper-button-prev,
        main.business section.ma .container section.dept .slider .swiper-control .swiper-button-prev,
        main.business section.tc .container section.dept .slider .swiper-control .swiper-button-prev {
          position: absolute;
          left: -20px;
          width: 32px;
          height: 32px;
          border-radius: 4px;
          border: 1px solid #004481;
          background-image: url("../images/career/interview_arrow_prev.svg");
          background-position: 50% 50%;
          background-repeat: no-repeat;
          background-color: #fff; }
          @media screen and (max-width: 768px) {
            main.business section.purchasing .container section.dept .slider .swiper-control .swiper-button-prev,
            main.business section.sales .container section.dept .slider .swiper-control .swiper-button-prev,
            main.business section.ma .container section.dept .slider .swiper-control .swiper-button-prev,
            main.business section.tc .container section.dept .slider .swiper-control .swiper-button-prev {
              width: calc(32 / 390 * 100vw);
              height: calc(32 / 390 * 100vw);
              left: calc(-25 / 390 * 100vw); } }
          main.business section.purchasing .container section.dept .slider .swiper-control .swiper-button-prev:after,
          main.business section.sales .container section.dept .slider .swiper-control .swiper-button-prev:after,
          main.business section.ma .container section.dept .slider .swiper-control .swiper-button-prev:after,
          main.business section.tc .container section.dept .slider .swiper-control .swiper-button-prev:after {
            display: none; }
        main.business section.purchasing .container section.dept .slider .swiper-control .swiper-button-next,
        main.business section.sales .container section.dept .slider .swiper-control .swiper-button-next,
        main.business section.ma .container section.dept .slider .swiper-control .swiper-button-next,
        main.business section.tc .container section.dept .slider .swiper-control .swiper-button-next {
          position: absolute;
          right: -20px;
          width: 32px;
          height: 32px;
          border-radius: 4px;
          border: 1px solid #004481;
          background-image: url("../images/career/interview_arrow_next.svg");
          background-position: 50% 50%;
          background-repeat: no-repeat;
          background-color: #fff; }
          @media screen and (max-width: 768px) {
            main.business section.purchasing .container section.dept .slider .swiper-control .swiper-button-next,
            main.business section.sales .container section.dept .slider .swiper-control .swiper-button-next,
            main.business section.ma .container section.dept .slider .swiper-control .swiper-button-next,
            main.business section.tc .container section.dept .slider .swiper-control .swiper-button-next {
              width: calc(32 / 390 * 100vw);
              height: calc(32 / 390 * 100vw);
              right: calc(-25 / 390 * 100vw); } }
          main.business section.purchasing .container section.dept .slider .swiper-control .swiper-button-next:after,
          main.business section.sales .container section.dept .slider .swiper-control .swiper-button-next:after,
          main.business section.ma .container section.dept .slider .swiper-control .swiper-button-next:after,
          main.business section.tc .container section.dept .slider .swiper-control .swiper-button-next:after {
            display: none; }
@media screen and (max-width: 768px) {
  main.business section.purchasing .container > header div p:nth-child(2) img {
    width: calc(317 / 390 * 100vw); } }
@media screen and (max-width: 768px) {
  main.business section.sales .container > header div p:nth-child(2) img {
    width: calc(148 / 390 * 100vw); } }
@media screen and (max-width: 768px) {
  main.business section.ma .container > header div p:nth-child(2) img {
    width: calc(143 / 390 * 100vw); } }
@media screen and (max-width: 768px) {
  main.business section.tc .container > header div p:nth-child(2) {
    height: calc(80 / 390 * 100vw); } }
@media screen and (max-width: 768px) {
  main.business section.tc .container > header div p:nth-child(2) img {
    width: calc(343 / 390 * 100vw); } }
main.business section.tc .container > header h2 {
  width: 729px; }
  @media screen and (max-width: 768px) {
    main.business section.tc .container > header h2 {
      width: 100vw; } }
main.business nav.related {
  background-color: #F8F8F8;
  padding: 150px 0 160px; }
  main.business nav.related .container {
    width: calc(100% - 120px);
    max-width: 984px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.business nav.related .container {
        width: calc(335 / 375 * 100vw); } }
    main.business nav.related .container hgroup {
      position: relative;
      padding-left: 106px;
      margin-bottom: 56px; }
      @media screen and (max-width: 768px) {
        main.business nav.related .container hgroup {
          padding-left: 0;
          margin-bottom: calc(32 / 375 * 100vw); } }
      main.business nav.related .container hgroup:before {
        content: "";
        display: block;
        width: 96px;
        height: 1px;
        background-color: #004481;
        position: absolute;
        bottom: 20px;
        left: 0; }
        @media screen and (max-width: 768px) {
          main.business nav.related .container hgroup:before {
            display: none; } }
      main.business nav.related .container hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 10px;
        line-height: 1.2;
        text-align: left;
        color: #00f5ff; }
        @media screen and (max-width: 768px) {
          main.business nav.related .container hgroup p {
            font-size: calc(10 / 375 * 100vw);
            margin-bottom: calc(6 / 375 * 100vw); } }
      main.business nav.related .container hgroup h2 {
        font-weight: 900;
        font-size: 28px;
        letter-spacing: 0.05em;
        line-height: calc(40 / 28);
        text-align: left;
        color: #004481; }
        @media screen and (max-width: 768px) {
          main.business nav.related .container hgroup h2 {
            font-size: calc(28 / 375 * 100vw);
            letter-spacing: -0.05em; } }
    main.business nav.related .container ul {
      display: flex;
      gap: 42px; }
      @media screen and (max-width: 768px) {
        main.business nav.related .container ul {
          gap: calc(16 / 376 * 100vw);
          flex-direction: column; } }
      main.business nav.related .container ul li {
        flex: 0 0 calc((100% - 42px * 2) / 3); }
        @media screen and (max-width: 768px) {
          main.business nav.related .container ul li {
            flex: 0 0 100%; } }
        main.business nav.related .container ul li a {
          position: relative;
          display: flex;
          align-items: center;
          font-weight: bold;
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: calc(23 / 14);
          text-align: left;
          color: #004481;
          height: 80px;
          border-radius: 4px;
          background: #fff;
          border: 1px solid #fff;
          padding-left: 24px;
          border: 1px solid #004481;
          transition: all ease .3s; }
          @media screen and (max-width: 768px) {
            main.business nav.related .container ul li a {
              font-size: calc(14 / 375 * 100vw);
              height: calc(80 / 375 * 100vw);
              border-radius: calc(4 / 375 * 100vw);
              padding-left: calc(24 / 375 * 100vw); } }
          main.business nav.related .container ul li a:hover {
            background-color: #004481;
            color: #fff; }
            main.business nav.related .container ul li a:hover:before {
              background-color: #00F5FF; }
          main.business nav.related .container ul li a:before {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            right: 24px;
            transform: translateY(-50%);
            display: block;
            width: 25px;
            height: 24px;
            border-radius: 2px;
            background: #004481;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.business nav.related .container ul li a:before {
                right: calc(24 / 375 * 100vw);
                width: calc(25 / 375 * 100vw);
                height: calc(24 / 375 * 100vw);
                border-radius: calc(2 / 375 * 100vw); } }
          main.business nav.related .container ul li a:after {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            right: 27px;
            transform: translateY(-50%);
            display: block;
            width: 20px;
            height: 20px;
            -webkit-mask-image: url("../images/common/arrow_white.svg");
            mask-image: url("../images/common/arrow_white.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            background-color: #fff; }
            @media screen and (max-width: 768px) {
              main.business nav.related .container ul li a:after {
                right: calc(27 / 375 * 100vw);
                width: calc(20 / 375 * 100vw);
                height: calc(20 / 375 * 100vw); } }
  @media screen and (max-width: 768px) {
    main.business nav.related {
      padding: calc(60 / 375 * 100vw) 0 calc(60 / 375 * 100vw); } }

main.career > header {
  position: relative;
  height: 448px;
  background-image: url("../images/common/bg_noise.png"), linear-gradient(#d1e9ff 0%, #004481 100%);
  background-size: 128px 128px, auto auto;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.career > header {
      height: calc(200 / 375 * 100vw);
      padding-top: calc(10 / 375 * 100vw); } }
  main.career > header:before {
    content: "";
    background-image: url("../images/common/heading_deco_01.svg");
    background-size: 100% 100%;
    display: block;
    width: 987px;
    height: 491px;
    position: absolute;
    top: -58.5px;
    left: calc(50% - 200px); }
    @media screen and (max-width: 768px) {
      main.career > header:before {
        width: calc(398 / 375 * 100vw);
        height: calc(398 / 987 * 491 / 375 * 100vw );
        top: calc(-41 / 375 * 100vw);
        left: calc(156 / 375 * 100vw); } }
  main.career > header:after {
    content: "";
    background-image: url("../images/common/heading_deco_02.svg");
    background-size: 100% 100%;
    display: block;
    width: 338px;
    height: 209px;
    position: absolute;
    top: -28px;
    left: calc(50% - 360px); }
    @media screen and (max-width: 768px) {
      main.career > header:after {
        width: calc(137 / 375 * 100vw);
        height: calc(137 / 338 * 209 / 375 * 100vw );
        top: calc(-29 / 375 * 100vw);
        left: calc(91.5 / 375 * 100vw); } }
  main.career > header .container {
    width: calc(992 / 1280 * 100vw); }
    @media screen and (max-width: 768px) {
      main.career > header .container {
        width: calc(335 / 375 * 100vw); } }
    main.career > header .container:before {
      will-change: background-position; }
    main.career > header .container hgroup {
      position: relative; }
      main.career > header .container hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 10px;
        line-height: 1.2;
        text-align: left;
        color: #00f5ff;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          main.career > header .container hgroup p {
            font-size: calc(10 / 375 * 100vw);
            margin-bottom: 0; } }
      main.career > header .container hgroup h1 {
        font-weight: 900;
        font-size: 48px;
        letter-spacing: -0.05em;
        line-height: 70px;
        text-align: left;
        color: #fff; }
        @media screen and (max-width: 768px) {
          main.career > header .container hgroup h1 {
            font-size: calc(28 / 375 * 100vw);
            line-height: calc(40 / 28); } }
@keyframes career-loop {
  0% {
    background-position: 0px 0px; }
  100% {
    background-position: -1075px 0px; } }
@keyframes career-loop-sp {
  0% {
    background-position: 0vw 0%; }
  100% {
    background-position: calc(-1075 * 55 / 202 / 375 * 100vw) 0%; } }
  main.career > header .container:before {
    content: "";
    display: block;
    background-image: url("../images/career/visual_deco_text.svg");
    background-size: 1075px 205px;
    background-repeat: repeat-x;
    height: 202px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    animation: career-loop linear infinite calc(1075s / 100); }
    @media screen and (max-width: 768px) {
      main.career > header .container:before {
        background-size: calc(1075 * 55 / 202 / 375 * 100vw) calc(205 * 55 / 202 / 375 * 100vw);
        height: calc(55 / 375 * 100vw);
        bottom: calc(-4 * 55 / 202 / 375 * 100vw);
        animation: career-loop-sp linear infinite calc(1075s / 100 * 80 / 202); } }
main.career section.intro {
  position: relative;
  background-color: #F8F8F8;
  overflow: hidden; }
  main.career section.intro .container {
    position: relative;
    width: calc(100% - 160px);
    max-width: 992px;
    margin: 0 auto;
    padding: 160px 0 80px; }
    @media screen and (max-width: 768px) {
      main.career section.intro .container {
        width: calc(100% - 40 / 390 * 100vw);
        padding: calc(56 / 390 * 100vw) 0; } }
    main.career section.intro .container:before {
      content: "";
      background-image: url("../images/career/intro_decor_01.png");
      background-size: 100% 100%;
      display: block;
      width: 1275px;
      height: 1225px;
      position: absolute;
      top: -218px;
      left: -342px;
      pointer-events: none; }
      @media screen and (max-width: 768px) {
        main.career section.intro .container:before {
          background-image: url("../images/career/intro_decor_01@sp.png");
          width: calc(418 / 390 * 100vw);
          height: calc(418 / 390 * 100vw);
          top: calc(-130 / 390 * 100vw);
          left: calc(-120 / 390 * 100vw); } }
    main.career section.intro .container:after {
      content: "";
      background-image: url("../images/career/intro_decor_02.png");
      background-size: 100% 100%;
      display: block;
      width: 1279px;
      height: 1210px;
      position: absolute;
      right: -325px;
      bottom: -458px;
      pointer-events: none; }
      @media screen and (max-width: 768px) {
        main.career section.intro .container:after {
          background-image: url("../images/career/intro_decor_02@sp.png");
          width: calc(418 / 390 * 100vw);
          height: calc(418 / 390 * 100vw);
          bottom: calc(-150 / 390 * 100vw);
          right: calc(-100 / 390 * 100vw); } }
    main.career section.intro .container > * {
      position: relative;
      z-index: 1; }
    main.career section.intro .container hgroup {
      position: relative;
      margin-bottom: 48px; }
      @media screen and (max-width: 768px) {
        main.career section.intro .container hgroup {
          margin-bottom: calc(24 / 390 * 100vw); } }
      main.career section.intro .container hgroup h2 {
        font-style: normal;
        font-weight: 900;
        font-size: 80px;
        line-height: 110%;
        letter-spacing: -0.1em;
        color: #004481; }
        @media screen and (max-width: 768px) {
          main.career section.intro .container hgroup h2 {
            font-size: calc(40 / 390 * 100vw);
            margin-bottom: calc(24 / 390 * 100vw); } }
      main.career section.intro .container hgroup p {
        position: absolute;
        top: 35px;
        left: 656px;
        font-family: "Albert Sans", sans-serif;
        font-style: normal;
        font-weight: 500;
        font-size: 12px;
        line-height: 150%;
        color: #00F5FF;
        mix-blend-mode: multiply; }
        @media screen and (max-width: 768px) {
          main.career section.intro .container hgroup p {
            position: static;
            font-size: calc(12 / 390 * 100vw); } }
    main.career section.intro .container > p {
      font-style: normal;
      font-weight: 700;
      font-size: 16px;
      line-height: 200%;
      color: #000000; }
      @media screen and (max-width: 768px) {
        main.career section.intro .container > p {
          font-size: calc(16 / 390 * 100vw); } }
    main.career section.intro .container figure {
      max-width: 719px;
      margin: 0 auto;
      margin-top: 40px; }
      @media screen and (max-width: 768px) {
        main.career section.intro .container figure {
          margin-top: calc(24 / 390 * 100vw); } }
main.career section.launch,
main.career section.growth,
main.career section.technology,
main.career section.corporate {
  position: relative;
  clip-path: inset(0); }
  main.career section.launch:before,
  main.career section.growth:before,
  main.career section.technology:before,
  main.career section.corporate:before {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-size: cover;
    background-position: 50% 50%; }
  main.career section.launch .container,
  main.career section.growth .container,
  main.career section.technology .container,
  main.career section.corporate .container {
    position: relative;
    width: calc(100% - 160px);
    max-width: 1120px;
    margin: 0 auto;
    padding: 160px 0; }
    @media screen and (max-width: 768px) {
      main.career section.launch .container,
      main.career section.growth .container,
      main.career section.technology .container,
      main.career section.corporate .container {
        width: calc(100% - 40 / 390 * 100vw);
        padding: calc(80 / 390 * 100vw) 0; } }
    main.career section.launch .container:before,
    main.career section.growth .container:before,
    main.career section.technology .container:before,
    main.career section.corporate .container:before {
      content: "";
      display: block;
      height: 640px;
      background-color: #004481;
      position: absolute;
      bottom: 0;
      left: 50%;
      width: 100vw;
      transform: translateX(-50%); }
      @media screen and (max-width: 768px) {
        main.career section.launch .container:before,
        main.career section.growth .container:before,
        main.career section.technology .container:before,
        main.career section.corporate .container:before {
          height: calc(480 / 390 * 100vw); } }
    main.career section.launch .container header,
    main.career section.growth .container header,
    main.career section.technology .container header,
    main.career section.corporate .container header {
      margin-bottom: 114px; }
      @media screen and (max-width: 768px) {
        main.career section.launch .container header,
        main.career section.growth .container header,
        main.career section.technology .container header,
        main.career section.corporate .container header {
          margin-bottom: calc(48 / 390 * 100vw); } }
      main.career section.launch .container header .marker,
      main.career section.growth .container header .marker,
      main.career section.technology .container header .marker,
      main.career section.corporate .container header .marker {
        margin-left: -80px;
        margin-bottom: 16px; }
        @media screen and (max-width: 768px) {
          main.career section.launch .container header .marker,
          main.career section.growth .container header .marker,
          main.career section.technology .container header .marker,
          main.career section.corporate .container header .marker {
            margin-bottom: calc(10 / 390 * 100vw);
            margin-left: calc(-20 / 390 * 100vw); } }
        @media screen and (max-width: 768px) {
          main.career section.launch .container header .marker img,
          main.career section.growth .container header .marker img,
          main.career section.technology .container header .marker img,
          main.career section.corporate .container header .marker img {
            width: auto;
            height: calc(29 / 390 * 100vw); } }
      main.career section.launch .container header hgroup p,
      main.career section.growth .container header hgroup p,
      main.career section.technology .container header hgroup p,
      main.career section.corporate .container header hgroup p {
        padding-top: 14px;
        height: 244px;
        margin-left: -80px; }
        @media screen and (max-width: 768px) {
          main.career section.launch .container header hgroup p,
          main.career section.growth .container header hgroup p,
          main.career section.technology .container header hgroup p,
          main.career section.corporate .container header hgroup p {
            height: calc(58 / 390 * 100vw);
            margin-bottom: calc(10 / 390 * 100vw);
            margin-left: calc(-20 / 390 * 100vw);
            padding-top: 0; } }
      main.career section.launch .container header hgroup h2,
      main.career section.growth .container header hgroup h2,
      main.career section.technology .container header hgroup h2,
      main.career section.corporate .container header hgroup h2 {
        font-style: normal;
        font-weight: 700;
        font-size: 20px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 12px 0 12px 24px;
        background: linear-gradient(90deg, #004481 35%, rgba(0, 68, 129, 0.75) 70%, rgba(0, 68, 129, 0) 100%);
        width: 456px;
        height: 44px; }
        @media screen and (max-width: 768px) {
          main.career section.launch .container header hgroup h2,
          main.career section.growth .container header hgroup h2,
          main.career section.technology .container header hgroup h2,
          main.career section.corporate .container header hgroup h2 {
            font-size: calc(16 / 390 * 100vw);
            line-height: 130%;
            padding: calc(8 / 390 * 100vw) calc(20 / 390 * 100vw);
            width: 100vw;
            height: calc(37 / 390 * 100vw);
            margin: 0 calc(-20 / 390 * 100vw);
            margin-bottom: calc(48 / 390 * 100vw); } }
    main.career section.launch .container > section,
    main.career section.growth .container > section,
    main.career section.technology .container > section,
    main.career section.corporate .container > section {
      position: relative; }
      main.career section.launch .container > section h3,
      main.career section.growth .container > section h3,
      main.career section.technology .container > section h3,
      main.career section.corporate .container > section h3 {
        font-style: normal;
        font-weight: 900;
        font-size: 38px;
        line-height: 150%;
        color: #004481;
        margin-bottom: 16px; }
        @media screen and (max-width: 768px) {
          main.career section.launch .container > section h3,
          main.career section.growth .container > section h3,
          main.career section.technology .container > section h3,
          main.career section.corporate .container > section h3 {
            font-size: calc(20 / 390 * 100vw);
            margin-bottom: calc(16 / 390 * 100vw); } }
      main.career section.launch .container > section p,
      main.career section.growth .container > section p,
      main.career section.technology .container > section p,
      main.career section.corporate .container > section p {
        font-style: normal;
        font-weight: 500;
        font-size: 16px;
        line-height: 200%;
        text-align: justify;
        color: #000000; }
        @media screen and (max-width: 768px) {
          main.career section.launch .container > section p,
          main.career section.growth .container > section p,
          main.career section.technology .container > section p,
          main.career section.corporate .container > section p {
            font-size: calc(16 / 390 * 100vw); } }
    main.career section.launch .container .wrapper,
    main.career section.growth .container .wrapper,
    main.career section.technology .container .wrapper,
    main.career section.corporate .container .wrapper {
      position: relative;
      border-radius: 16px;
      padding: 40px;
      background-color: #fff;
      margin-top: 80px; }
      @media screen and (max-width: 768px) {
        main.career section.launch .container .wrapper,
        main.career section.growth .container .wrapper,
        main.career section.technology .container .wrapper,
        main.career section.corporate .container .wrapper {
          padding: calc(16 / 390 * 100vw);
          margin-top: calc(24 / 390 * 100vw); } }
      main.career section.launch .container .wrapper section h3,
      main.career section.growth .container .wrapper section h3,
      main.career section.technology .container .wrapper section h3,
      main.career section.corporate .container .wrapper section h3 {
        position: relative;
        font-style: normal;
        font-weight: 900;
        font-size: 32px;
        line-height: 150%;
        color: #004481;
        margin-bottom: 16px;
        padding-left: 40px; }
        @media screen and (max-width: 768px) {
          main.career section.launch .container .wrapper section h3,
          main.career section.growth .container .wrapper section h3,
          main.career section.technology .container .wrapper section h3,
          main.career section.corporate .container .wrapper section h3 {
            font-size: calc(20 / 390 * 100vw);
            padding-left: calc(32 / 390 * 100vw); } }
        main.career section.launch .container .wrapper section h3:before,
        main.career section.growth .container .wrapper section h3:before,
        main.career section.technology .container .wrapper section h3:before,
        main.career section.corporate .container .wrapper section h3:before {
          content: "";
          display: block;
          width: 24px;
          height: 24px;
          background-color: #004481;
          position: absolute;
          left: 0;
          top: 12px; }
          @media screen and (max-width: 768px) {
            main.career section.launch .container .wrapper section h3:before,
            main.career section.growth .container .wrapper section h3:before,
            main.career section.technology .container .wrapper section h3:before,
            main.career section.corporate .container .wrapper section h3:before {
              width: calc(16 / 390 * 100vw);
              height: calc(16 / 390 * 100vw);
              top: calc(7 / 390 * 100vw); } }
      main.career section.launch .container .wrapper section.job ul,
      main.career section.growth .container .wrapper section.job ul,
      main.career section.technology .container .wrapper section.job ul,
      main.career section.corporate .container .wrapper section.job ul {
        display: flex;
        flex-wrap: wrap;
        gap: 16px 24px; }
        @media screen and (max-width: 768px) {
          main.career section.launch .container .wrapper section.job ul,
          main.career section.growth .container .wrapper section.job ul,
          main.career section.technology .container .wrapper section.job ul,
          main.career section.corporate .container .wrapper section.job ul {
            gap: calc(8 / 390 * 100vw); } }
        main.career section.launch .container .wrapper section.job ul li,
        main.career section.growth .container .wrapper section.job ul li,
        main.career section.technology .container .wrapper section.job ul li,
        main.career section.corporate .container .wrapper section.job ul li {
          flex: 0 0 calc((100% - 24px * 2) / 3);
          padding: 16px;
          border: 1px solid #004481;
          border-radius: 8px; }
          @media screen and (max-width: 768px) {
            main.career section.launch .container .wrapper section.job ul li,
            main.career section.growth .container .wrapper section.job ul li,
            main.career section.technology .container .wrapper section.job ul li,
            main.career section.corporate .container .wrapper section.job ul li {
              flex: 100%;
              padding: calc(12 / 390 * 100vw);
              border-radius: calc(4 / 390 * 100vw); } }
          main.career section.launch .container .wrapper section.job ul li .title,
          main.career section.growth .container .wrapper section.job ul li .title,
          main.career section.technology .container .wrapper section.job ul li .title,
          main.career section.corporate .container .wrapper section.job ul li .title {
            font-style: normal;
            font-weight: 700;
            font-size: 24px;
            line-height: 150%;
            color: #004481;
            margin-bottom: 8px; }
            @media screen and (max-width: 768px) {
              main.career section.launch .container .wrapper section.job ul li .title,
              main.career section.growth .container .wrapper section.job ul li .title,
              main.career section.technology .container .wrapper section.job ul li .title,
              main.career section.corporate .container .wrapper section.job ul li .title {
                font-size: calc(16 / 390 * 100vw);
                margin-bottom: calc(8 / 390 * 100vw); } }
          main.career section.launch .container .wrapper section.job ul li .description,
          main.career section.growth .container .wrapper section.job ul li .description,
          main.career section.technology .container .wrapper section.job ul li .description,
          main.career section.corporate .container .wrapper section.job ul li .description {
            font-style: normal;
            font-weight: 500;
            font-size: 14px;
            line-height: 200%;
            text-align: justify;
            color: #004481; }
            @media screen and (max-width: 768px) {
              main.career section.launch .container .wrapper section.job ul li .description,
              main.career section.growth .container .wrapper section.job ul li .description,
              main.career section.technology .container .wrapper section.job ul li .description,
              main.career section.corporate .container .wrapper section.job ul li .description {
                font-size: calc(12 / 390 * 100vw);
                line-height: 150%; } }
      main.career section.launch .container .wrapper section.interview,
      main.career section.growth .container .wrapper section.interview,
      main.career section.technology .container .wrapper section.interview,
      main.career section.corporate .container .wrapper section.interview {
        position: relative;
        margin-top: 40px; }
        @media screen and (max-width: 768px) {
          main.career section.launch .container .wrapper section.interview,
          main.career section.growth .container .wrapper section.interview,
          main.career section.technology .container .wrapper section.interview,
          main.career section.corporate .container .wrapper section.interview {
            margin-top: calc(16 / 390 * 100vw); } }
        main.career section.launch .container .wrapper section.interview:before,
        main.career section.growth .container .wrapper section.interview:before,
        main.career section.technology .container .wrapper section.interview:before,
        main.career section.corporate .container .wrapper section.interview:before {
          content: "";
          background-image: url("../images/career/interview_decor.png");
          background-size: 100% 100%;
          width: 1111px;
          height: 731px;
          display: block;
          position: absolute;
          bottom: -40px;
          left: -40px; }
          @media screen and (max-width: 768px) {
            main.career section.launch .container .wrapper section.interview:before,
            main.career section.growth .container .wrapper section.interview:before,
            main.career section.technology .container .wrapper section.interview:before,
            main.career section.corporate .container .wrapper section.interview:before {
              background-image: url("../images/career/interview_decor@sp.png");
              width: calc(350 / 390 * 100vw);
              height: calc(340 / 390 * 100vw);
              bottom: calc(-16 / 390 * 100vw);
              left: calc(-16 / 390 * 100vw); } }
        main.career section.launch .container .wrapper section.interview .slider,
        main.career section.growth .container .wrapper section.interview .slider,
        main.career section.technology .container .wrapper section.interview .slider,
        main.career section.corporate .container .wrapper section.interview .slider {
          position: relative; }
          main.career section.launch .container .wrapper section.interview .slider .swiper,
          main.career section.growth .container .wrapper section.interview .slider .swiper,
          main.career section.technology .container .wrapper section.interview .slider .swiper,
          main.career section.corporate .container .wrapper section.interview .slider .swiper {
            position: relative;
            padding-top: 30px; }
            @media screen and (max-width: 768px) {
              main.career section.launch .container .wrapper section.interview .slider .swiper,
              main.career section.growth .container .wrapper section.interview .slider .swiper,
              main.career section.technology .container .wrapper section.interview .slider .swiper,
              main.career section.corporate .container .wrapper section.interview .slider .swiper {
                padding-top: 3rem; } }
            main.career section.launch .container .wrapper section.interview .slider .swiper ul,
            main.career section.growth .container .wrapper section.interview .slider .swiper ul,
            main.career section.technology .container .wrapper section.interview .slider .swiper ul,
            main.career section.corporate .container .wrapper section.interview .slider .swiper ul {
              box-sizing: border-box; }
              main.career section.launch .container .wrapper section.interview .slider .swiper ul li,
              main.career section.growth .container .wrapper section.interview .slider .swiper ul li,
              main.career section.technology .container .wrapper section.interview .slider .swiper ul li,
              main.career section.corporate .container .wrapper section.interview .slider .swiper ul li {
                box-sizing: border-box;
                position: relative;
                display: block;
                padding-left: 24px;
                padding-right: 24px; }
                @media screen and (max-width: 768px) {
                  main.career section.launch .container .wrapper section.interview .slider .swiper ul li,
                  main.career section.growth .container .wrapper section.interview .slider .swiper ul li,
                  main.career section.technology .container .wrapper section.interview .slider .swiper ul li,
                  main.career section.corporate .container .wrapper section.interview .slider .swiper ul li {
                    width: calc(319 / 375 * 100vw);
                    padding-left: calc(12 /375 * 100vw);
                    padding-right: calc(8 / 375 * 100vw); } }
                main.career section.launch .container .wrapper section.interview .slider .swiper ul li a,
                main.career section.growth .container .wrapper section.interview .slider .swiper ul li a,
                main.career section.technology .container .wrapper section.interview .slider .swiper ul li a,
                main.career section.corporate .container .wrapper section.interview .slider .swiper ul li a {
                  position: relative;
                  display: block;
                  padding-bottom: 24px; }
                  @media screen and (max-width: 768px) {
                    main.career section.launch .container .wrapper section.interview .slider .swiper ul li a,
                    main.career section.growth .container .wrapper section.interview .slider .swiper ul li a,
                    main.career section.technology .container .wrapper section.interview .slider .swiper ul li a,
                    main.career section.corporate .container .wrapper section.interview .slider .swiper ul li a {
                      padding-bottom: calc(24 / 375 * 100vw); } }
                  main.career section.launch .container .wrapper section.interview .slider .swiper ul li a figure,
                  main.career section.growth .container .wrapper section.interview .slider .swiper ul li a figure,
                  main.career section.technology .container .wrapper section.interview .slider .swiper ul li a figure,
                  main.career section.corporate .container .wrapper section.interview .slider .swiper ul li a figure {
                    position: relative;
                    background-image: url("../images/story/list_bg.png");
                    background-size: 100% 100%;
                    aspect-ratio: 574 / 660;
                    width: 100%; }
                    main.career section.launch .container .wrapper section.interview .slider .swiper ul li a figure img,
                    main.career section.growth .container .wrapper section.interview .slider .swiper ul li a figure img,
                    main.career section.technology .container .wrapper section.interview .slider .swiper ul li a figure img,
                    main.career section.corporate .container .wrapper section.interview .slider .swiper ul li a figure img {
                      position: absolute;
                      bottom: 0;
                      left: 0;
                      right: 0; }
                  main.career section.launch .container .wrapper section.interview .slider .swiper ul li a .marker,
                  main.career section.growth .container .wrapper section.interview .slider .swiper ul li a .marker,
                  main.career section.technology .container .wrapper section.interview .slider .swiper ul li a .marker,
                  main.career section.corporate .container .wrapper section.interview .slider .swiper ul li a .marker {
                    position: absolute;
                    top: 10px;
                    left: 10px;
                    font-family: "Albert Sans", sans-serif;
                    font-weight: 900;
                    font-size: 10px;
                    line-height: 1.2;
                    text-align: left;
                    color: #00f5ff; }
                    @media screen and (max-width: 768px) {
                      main.career section.launch .container .wrapper section.interview .slider .swiper ul li a .marker,
                      main.career section.growth .container .wrapper section.interview .slider .swiper ul li a .marker,
                      main.career section.technology .container .wrapper section.interview .slider .swiper ul li a .marker,
                      main.career section.corporate .container .wrapper section.interview .slider .swiper ul li a .marker {
                        top: calc(5 / 375 * 100vw);
                        left: calc(5 / 375 * 100vw);
                        font-size: calc(10 / 375 * 100vw); } }
                  main.career section.launch .container .wrapper section.interview .slider .swiper ul li a .job,
                  main.career section.growth .container .wrapper section.interview .slider .swiper ul li a .job,
                  main.career section.technology .container .wrapper section.interview .slider .swiper ul li a .job,
                  main.career section.corporate .container .wrapper section.interview .slider .swiper ul li a .job {
                    position: absolute;
                    top: 11px;
                    right: 10px;
                    font-weight: bold;
                    font-size: 16px;
                    letter-spacing: 0.05em;
                    line-height: calc(20 / 16);
                    text-align: left;
                    color: #fff;
                    writing-mode: vertical-rl;
                    text-orientation: upright; }
                    @media screen and (max-width: 768px) {
                      main.career section.launch .container .wrapper section.interview .slider .swiper ul li a .job,
                      main.career section.growth .container .wrapper section.interview .slider .swiper ul li a .job,
                      main.career section.technology .container .wrapper section.interview .slider .swiper ul li a .job,
                      main.career section.corporate .container .wrapper section.interview .slider .swiper ul li a .job {
                        top: calc(4 / 375 * 100vw);
                        right: calc(2 / 375 * 100vw);
                        font-size: calc(10 / 375 * 100vw);
                        letter-spacing: 0.05em;
                        line-height: 1.2; } }
                  main.career section.launch .container .wrapper section.interview .slider .swiper ul li a .title,
                  main.career section.growth .container .wrapper section.interview .slider .swiper ul li a .title,
                  main.career section.technology .container .wrapper section.interview .slider .swiper ul li a .title,
                  main.career section.corporate .container .wrapper section.interview .slider .swiper ul li a .title {
                    position: absolute;
                    bottom: 0px;
                    left: -24px;
                    right: 0; }
                    @media screen and (max-width: 768px) {
                      main.career section.launch .container .wrapper section.interview .slider .swiper ul li a .title,
                      main.career section.growth .container .wrapper section.interview .slider .swiper ul li a .title,
                      main.career section.technology .container .wrapper section.interview .slider .swiper ul li a .title,
                      main.career section.corporate .container .wrapper section.interview .slider .swiper ul li a .title {
                        left: calc(-12 / 375 * 100vw);
                        right: calc(12 / 375 * 100vw); } }
                    main.career section.launch .container .wrapper section.interview .slider .swiper ul li a .title .highlight,
                    main.career section.growth .container .wrapper section.interview .slider .swiper ul li a .title .highlight,
                    main.career section.technology .container .wrapper section.interview .slider .swiper ul li a .title .highlight,
                    main.career section.corporate .container .wrapper section.interview .slider .swiper ul li a .title .highlight {
                      font-weight: 900;
                      font-size: 16px;
                      letter-spacing: -0.05em;
                      line-height: 2;
                      text-align: left;
                      color: #004481;
                      background-color: #fff;
                      display: inline;
                      box-decoration-break: clone;
                      -webkit-box-decoration-break: clone;
                      padding: 4px 8px; }
                      @media screen and (max-width: 768px) {
                        main.career section.launch .container .wrapper section.interview .slider .swiper ul li a .title .highlight,
                        main.career section.growth .container .wrapper section.interview .slider .swiper ul li a .title .highlight,
                        main.career section.technology .container .wrapper section.interview .slider .swiper ul li a .title .highlight,
                        main.career section.corporate .container .wrapper section.interview .slider .swiper ul li a .title .highlight {
                          font-weight: 900;
                          font-size: calc(12 / 375 * 100vw);
                          letter-spacing: -0.05em;
                          line-height: calc(21 / 12);
                          text-align: left;
                          color: #004481;
                          padding: calc(2 / 375 * 100vw) calc(4 / 375 * 100vw); }
                          main.career section.launch .container .wrapper section.interview .slider .swiper ul li a .title .highlight br,
                          main.career section.growth .container .wrapper section.interview .slider .swiper ul li a .title .highlight br,
                          main.career section.technology .container .wrapper section.interview .slider .swiper ul li a .title .highlight br,
                          main.career section.corporate .container .wrapper section.interview .slider .swiper ul li a .title .highlight br {
                            display: none; } }
                  main.career section.launch .container .wrapper section.interview .slider .swiper ul li a .arrow,
                  main.career section.growth .container .wrapper section.interview .slider .swiper ul li a .arrow,
                  main.career section.technology .container .wrapper section.interview .slider .swiper ul li a .arrow,
                  main.career section.corporate .container .wrapper section.interview .slider .swiper ul li a .arrow {
                    position: absolute;
                    right: 0;
                    bottom: 24px;
                    display: block;
                    width: 25px;
                    height: 24px;
                    border-radius: 2px;
                    background: #004481;
                    transition: all ease .3s; }
                    @media screen and (max-width: 768px) {
                      main.career section.launch .container .wrapper section.interview .slider .swiper ul li a .arrow,
                      main.career section.growth .container .wrapper section.interview .slider .swiper ul li a .arrow,
                      main.career section.technology .container .wrapper section.interview .slider .swiper ul li a .arrow,
                      main.career section.corporate .container .wrapper section.interview .slider .swiper ul li a .arrow {
                        width: calc(12 / 375 * 100vw);
                        height: calc(12 / 375 * 100vw);
                        bottom: calc(23 / 375 * 100vw);
                        border-radius: calc(2 / 375 * 100vw); } }
                    main.career section.launch .container .wrapper section.interview .slider .swiper ul li a .arrow:before,
                    main.career section.growth .container .wrapper section.interview .slider .swiper ul li a .arrow:before,
                    main.career section.technology .container .wrapper section.interview .slider .swiper ul li a .arrow:before,
                    main.career section.corporate .container .wrapper section.interview .slider .swiper ul li a .arrow:before {
                      content: "";
                      display: block;
                      width: 20px;
                      height: 20px;
                      position: absolute;
                      top: 2px;
                      left: 2px;
                      -webkit-mask-image: url("../images/common/arrow_white.svg");
                      mask-image: url("../images/common/arrow_white.svg");
                      -webkit-mask-size: 100% 100%;
                      mask-size: 100% 100%;
                      background-color: #fff;
                      transition: all ease .3s; }
                      @media screen and (max-width: 768px) {
                        main.career section.launch .container .wrapper section.interview .slider .swiper ul li a .arrow:before,
                        main.career section.growth .container .wrapper section.interview .slider .swiper ul li a .arrow:before,
                        main.career section.technology .container .wrapper section.interview .slider .swiper ul li a .arrow:before,
                        main.career section.corporate .container .wrapper section.interview .slider .swiper ul li a .arrow:before {
                          width: calc(11 / 375 * 100vw);
                          height: calc(11 / 375 * 100vw);
                          top: calc(1 / 375 * 100vw);
                          left: calc(1 / 375 * 100vw); } }
                  main.career section.launch .container .wrapper section.interview .slider .swiper ul li a:hover .arrow,
                  main.career section.growth .container .wrapper section.interview .slider .swiper ul li a:hover .arrow,
                  main.career section.technology .container .wrapper section.interview .slider .swiper ul li a:hover .arrow,
                  main.career section.corporate .container .wrapper section.interview .slider .swiper ul li a:hover .arrow {
                    background-color: #00F5FF; }
                    main.career section.launch .container .wrapper section.interview .slider .swiper ul li a:hover .arrow:before,
                    main.career section.growth .container .wrapper section.interview .slider .swiper ul li a:hover .arrow:before,
                    main.career section.technology .container .wrapper section.interview .slider .swiper ul li a:hover .arrow:before,
                    main.career section.corporate .container .wrapper section.interview .slider .swiper ul li a:hover .arrow:before {
                      background-color: #004481; }
          main.career section.launch .container .wrapper section.interview .slider .swiper-control .swiper-button-prev,
          main.career section.growth .container .wrapper section.interview .slider .swiper-control .swiper-button-prev,
          main.career section.technology .container .wrapper section.interview .slider .swiper-control .swiper-button-prev,
          main.career section.corporate .container .wrapper section.interview .slider .swiper-control .swiper-button-prev {
            position: absolute;
            left: -20px;
            width: 32px;
            height: 32px;
            border-radius: 4px;
            border: 1px solid #004481;
            background-image: url("../images/career/interview_arrow_prev.svg");
            background-position: 50% 50%;
            background-repeat: no-repeat;
            background-color: #fff; }
            @media screen and (max-width: 768px) {
              main.career section.launch .container .wrapper section.interview .slider .swiper-control .swiper-button-prev,
              main.career section.growth .container .wrapper section.interview .slider .swiper-control .swiper-button-prev,
              main.career section.technology .container .wrapper section.interview .slider .swiper-control .swiper-button-prev,
              main.career section.corporate .container .wrapper section.interview .slider .swiper-control .swiper-button-prev {
                width: calc(32 / 390 * 100vw);
                height: calc(32 / 390 * 100vw);
                left: calc(-25 / 390 * 100vw); } }
            main.career section.launch .container .wrapper section.interview .slider .swiper-control .swiper-button-prev:after,
            main.career section.growth .container .wrapper section.interview .slider .swiper-control .swiper-button-prev:after,
            main.career section.technology .container .wrapper section.interview .slider .swiper-control .swiper-button-prev:after,
            main.career section.corporate .container .wrapper section.interview .slider .swiper-control .swiper-button-prev:after {
              display: none; }
          main.career section.launch .container .wrapper section.interview .slider .swiper-control .swiper-button-next,
          main.career section.growth .container .wrapper section.interview .slider .swiper-control .swiper-button-next,
          main.career section.technology .container .wrapper section.interview .slider .swiper-control .swiper-button-next,
          main.career section.corporate .container .wrapper section.interview .slider .swiper-control .swiper-button-next {
            position: absolute;
            right: -20px;
            width: 32px;
            height: 32px;
            border-radius: 4px;
            border: 1px solid #004481;
            background-image: url("../images/career/interview_arrow_next.svg");
            background-position: 50% 50%;
            background-repeat: no-repeat;
            background-color: #fff; }
            @media screen and (max-width: 768px) {
              main.career section.launch .container .wrapper section.interview .slider .swiper-control .swiper-button-next,
              main.career section.growth .container .wrapper section.interview .slider .swiper-control .swiper-button-next,
              main.career section.technology .container .wrapper section.interview .slider .swiper-control .swiper-button-next,
              main.career section.corporate .container .wrapper section.interview .slider .swiper-control .swiper-button-next {
                width: calc(32 / 390 * 100vw);
                height: calc(32 / 390 * 100vw);
                right: calc(-25 / 390 * 100vw); } }
            main.career section.launch .container .wrapper section.interview .slider .swiper-control .swiper-button-next:after,
            main.career section.growth .container .wrapper section.interview .slider .swiper-control .swiper-button-next:after,
            main.career section.technology .container .wrapper section.interview .slider .swiper-control .swiper-button-next:after,
            main.career section.corporate .container .wrapper section.interview .slider .swiper-control .swiper-button-next:after {
              display: none; }
main.career section.launch:before {
  background-image: url("../images/career/launch_bg.jpg"); }
@media screen and (max-width: 768px) {
  main.career section.launch header hgroup p img {
    width: calc(272 / 390 * 100vw); } }
main.career section.growth:before {
  background-image: url("../images/career/growth_bg.jpg"); }
@media screen and (max-width: 768px) {
  main.career section.growth header hgroup p img {
    width: calc(341 / 390 * 100vw); } }
main.career section.technology:before {
  background-image: url("../images/career/technology_bg.jpg"); }
@media screen and (max-width: 768px) {
  main.career section.technology header hgroup p img {
    width: calc(382 / 390 * 100vw); } }
main.career section.corporate:before {
  background-image: url("../images/career/corporate_bg.jpg"); }
  @media screen and (max-width: 768px) {
    main.career section.corporate:before {
      background-position: 10% 50%; } }
@media screen and (max-width: 768px) {
  main.career section.corporate header hgroup p img {
    width: calc(382 / 390 * 100vw); } }
main.career section.message {
  background-color: #F8F8F8;
  overflow: hidden; }
  main.career section.message .container {
    position: relative;
    width: calc(100% - 160px);
    max-width: 1120px;
    margin: 0 auto;
    padding: 160px 0 80px; }
    @media screen and (max-width: 768px) {
      main.career section.message .container {
        width: calc(100% - 40 / 390 * 100vw);
        padding: calc(120 / 390 * 100vw) 0 0; } }
    main.career section.message .container:before {
      content: "";
      position: absolute;
      top: -316px;
      left: -300px;
      background-image: url("../images/career/message_decor_01.png");
      background-size: 100% 100%;
      display: block;
      width: 1284px;
      height: 1180px;
      pointer-events: none; }
      @media screen and (max-width: 768px) {
        main.career section.message .container:before {
          background-image: url("../images/career/message_decor_01@sp.png");
          width: calc(557 / 390 * 100vw);
          height: calc(557 / 390 * 100vw);
          top: calc(-125 / 390 * 100vw);
          left: calc(-196 / 390 * 100vw); } }
    main.career section.message .container:after {
      content: "";
      position: absolute;
      top: -270px;
      right: -263px;
      background-image: url("../images/career/message_decor_02.png");
      background-size: 100% 100%;
      display: block;
      width: 1284px;
      height: 1160px;
      pointer-events: none; }
      @media screen and (max-width: 768px) {
        main.career section.message .container:after {
          background-image: url("../images/career/message_decor_02@sp.png");
          width: calc(557 / 390 * 100vw);
          height: calc(557 / 390 * 100vw);
          top: calc(-110 / 390 * 100vw);
          right: calc(-195 / 390 * 100vw); } }
    main.career section.message .container > * {
      position: relative;
      z-index: 1; }
    main.career section.message .container h2 {
      font-style: normal;
      font-weight: 900;
      font-size: 40px;
      line-height: 110%;
      text-align: center;
      letter-spacing: -0.1em;
      color: #004481;
      margin-bottom: 48px; }
      @media screen and (max-width: 768px) {
        main.career section.message .container h2 {
          font-size: calc(32 / 390 * 100vw);
          line-height: 150%;
          margin-bottom: calc(56 / 390 * 100vw); } }
    main.career section.message .container p {
      font-style: normal;
      font-weight: 700;
      font-size: 16px;
      line-height: 200%;
      text-align: center;
      color: #000000; }
      @media screen and (max-width: 768px) {
        main.career section.message .container p {
          font-size: calc(16 / 390 * 100vw);
          text-align: left; } }
      @media screen and (max-width: 768px) {
        main.career section.message .container p br {
          display: none; } }
main.career nav.related {
  padding: 116px 0 129px;
  background-color: #F8F8F8; }
  main.career nav.related .container {
    width: calc(100% - 120px);
    max-width: 984px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.career nav.related .container {
        width: calc(335 / 375 * 100vw); } }
    main.career nav.related .container hgroup {
      position: relative;
      padding-left: 106px;
      margin-bottom: 56px; }
      @media screen and (max-width: 768px) {
        main.career nav.related .container hgroup {
          padding-left: 0;
          margin-bottom: calc(32 / 375 * 100vw); } }
      main.career nav.related .container hgroup:before {
        content: "";
        display: block;
        width: 96px;
        height: 1px;
        background-color: #004481;
        position: absolute;
        bottom: 20px;
        left: 0; }
        @media screen and (max-width: 768px) {
          main.career nav.related .container hgroup:before {
            display: none; } }
      main.career nav.related .container hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 10px;
        line-height: 1.2;
        text-align: left;
        color: #00f5ff; }
        @media screen and (max-width: 768px) {
          main.career nav.related .container hgroup p {
            font-size: calc(10 / 375 * 100vw);
            margin-bottom: calc(6 / 375 * 100vw); } }
      main.career nav.related .container hgroup h2 {
        font-weight: 900;
        font-size: 28px;
        letter-spacing: 0.05em;
        line-height: calc(40 / 28);
        text-align: left;
        color: #004481; }
        @media screen and (max-width: 768px) {
          main.career nav.related .container hgroup h2 {
            font-size: calc(28 / 375 * 100vw);
            letter-spacing: -0.05em; } }
    main.career nav.related .container ul {
      display: flex;
      gap: 42px; }
      @media screen and (max-width: 768px) {
        main.career nav.related .container ul {
          gap: calc(16 / 376 * 100vw);
          flex-direction: column; } }
      main.career nav.related .container ul li {
        flex: 0 0 calc((100% - 42px * 2) / 3); }
        @media screen and (max-width: 768px) {
          main.career nav.related .container ul li {
            flex: 0 0 100%; } }
        main.career nav.related .container ul li a {
          position: relative;
          display: flex;
          align-items: center;
          font-weight: bold;
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: calc(23 / 14);
          text-align: left;
          color: #004481;
          height: 80px;
          border-radius: 4px;
          background: #fff;
          border: 1px solid #fff;
          padding-left: 24px;
          border: 1px solid #004481;
          transition: all ease .3s; }
          @media screen and (max-width: 768px) {
            main.career nav.related .container ul li a {
              font-size: calc(14 / 375 * 100vw);
              height: calc(80 / 375 * 100vw);
              border-radius: calc(4 / 375 * 100vw);
              padding-left: calc(24 / 375 * 100vw); } }
          main.career nav.related .container ul li a:hover {
            background-color: #004481;
            color: #fff; }
            main.career nav.related .container ul li a:hover:before {
              background-color: #00F5FF; }
          main.career nav.related .container ul li a:before {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            right: 24px;
            transform: translateY(-50%);
            display: block;
            width: 25px;
            height: 24px;
            border-radius: 2px;
            background: #004481;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.career nav.related .container ul li a:before {
                right: calc(24 / 375 * 100vw);
                width: calc(25 / 375 * 100vw);
                height: calc(24 / 375 * 100vw);
                border-radius: calc(2 / 375 * 100vw); } }
          main.career nav.related .container ul li a:after {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            right: 27px;
            transform: translateY(-50%);
            display: block;
            width: 20px;
            height: 20px;
            -webkit-mask-image: url("../images/common/arrow_white.svg");
            mask-image: url("../images/common/arrow_white.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            background-color: #fff; }
            @media screen and (max-width: 768px) {
              main.career nav.related .container ul li a:after {
                right: calc(27 / 375 * 100vw);
                width: calc(20 / 375 * 100vw);
                height: calc(20 / 375 * 100vw); } }
  @media screen and (max-width: 768px) {
    main.career nav.related {
      padding: 6rem 0; } }

main.story {
  background-color: #F7F7F7; }
  main.story header {
    position: relative;
    height: 448px;
    background-image: url("../images/common/bg_noise.png"), linear-gradient(#d1e9ff 0%, #004481 100%);
    background-size: 128px 128px, auto auto;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      main.story header {
        height: calc(200 / 375 * 100vw);
        padding-top: calc(10 / 375 * 100vw); } }
    main.story header:before {
      content: "";
      background-image: url("../images/common/heading_deco_01.svg");
      background-size: 100% 100%;
      display: block;
      width: 987px;
      height: 491px;
      position: absolute;
      top: -58.5px;
      left: calc(50% - 200px); }
      @media screen and (max-width: 768px) {
        main.story header:before {
          width: calc(398 / 375 * 100vw);
          height: calc(398 / 987 * 491 / 375 * 100vw );
          top: calc(-41 / 375 * 100vw);
          left: calc(156 / 375 * 100vw); } }
    main.story header:after {
      content: "";
      background-image: url("../images/common/heading_deco_02.svg");
      background-size: 100% 100%;
      display: block;
      width: 338px;
      height: 209px;
      position: absolute;
      top: -28px;
      left: calc(50% - 360px); }
      @media screen and (max-width: 768px) {
        main.story header:after {
          width: calc(137 / 375 * 100vw);
          height: calc(137 / 338 * 209 / 375 * 100vw );
          top: calc(-29 / 375 * 100vw);
          left: calc(91.5 / 375 * 100vw); } }
    main.story header .container {
      width: calc(992 / 1280 * 100vw); }
      @media screen and (max-width: 768px) {
        main.story header .container {
          width: calc(335 / 375 * 100vw); } }
      main.story header .container:before {
        will-change: background-position; }
      main.story header .container hgroup {
        position: relative; }
        main.story header .container hgroup p {
          font-family: "Albert Sans", sans-serif;
          font-weight: 900;
          font-size: 10px;
          line-height: 1.2;
          text-align: left;
          color: #00f5ff;
          margin-bottom: 8px; }
          @media screen and (max-width: 768px) {
            main.story header .container hgroup p {
              font-size: calc(10 / 375 * 100vw);
              margin-bottom: 0; } }
        main.story header .container hgroup h1 {
          font-weight: 900;
          font-size: 48px;
          letter-spacing: -0.05em;
          line-height: 70px;
          text-align: left;
          color: #fff; }
          @media screen and (max-width: 768px) {
            main.story header .container hgroup h1 {
              font-size: calc(28 / 375 * 100vw);
              line-height: calc(40 / 28); } }
@keyframes story-loop {
  0% {
    background-position: 0px 0px; }
  100% {
    background-position: -866px 0px; } }
@keyframes story-loop-sp {
  0% {
    background-position: 0vw 0%; }
  100% {
    background-position: calc(-866 * 55 / 202 / 375 * 100vw) 0%; } }
    main.story header .container:before {
      content: "";
      display: block;
      background-image: url("../images/story/visual_deco_text.svg");
      background-size: 866px 253px;
      background-repeat: repeat-x;
      height: 202px;
      position: absolute;
      left: 0;
      right: 0;
      bottom: -4px;
      animation: story-loop linear infinite calc(866s / 100); }
      @media screen and (max-width: 768px) {
        main.story header .container:before {
          background-size: calc(866 * 55 / 202 / 375 * 100vw) calc(253 * 55 / 202 / 375 * 100vw);
          height: calc(55 / 375 * 100vw);
          bottom: calc(-4 * 55 / 202 / 375 * 100vw);
          animation: story-loop-sp linear infinite calc(866s / 100 * 80 / 202); } }
  main.story .body {
    padding: 160px 0 155px; }
    @media screen and (max-width: 768px) {
      main.story .body {
        padding: calc(60 / 375 * 100vw) 0; } }
    main.story .body .container {
      width: calc(100% - 120px);
      max-width: 984px;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        main.story .body .container {
          width: calc(335 / 375 * 100vw); } }
      main.story .body .container nav.keyword {
        position: relative; }
        main.story .body .container nav.keyword:before {
          content: '';
          display: block;
          background-image: url("../images/story/keyword_decor.png");
          background-size: 100% 100%;
          width: 1275px;
          height: 1225px;
          position: absolute;
          top: -500px;
          left: -360px; }
          @media screen and (max-width: 768px) {
            main.story .body .container nav.keyword:before {
              background-image: url("../images/story/keyword_decor@sp.png");
              width: calc(418 / 390 * 100vw);
              height: calc(418 / 390 * 100vw);
              top: calc(-130 / 390 * 100vw);
              left: calc(-100 / 390 * 100vw); } }
        main.story .body .container nav.keyword > div {
          position: relative;
          display: flex;
          padding: 16px 0;
          border-top: 1px solid #004481; }
          @media screen and (max-width: 768px) {
            main.story .body .container nav.keyword > div {
              display: block;
              padding: calc(16 / 390 * 100vw) 0; } }
          main.story .body .container nav.keyword > div h2 {
            position: relative;
            flex: 0 0 240px;
            height: 32px;
            border-right: 1px solid #004481; }
            @media screen and (max-width: 768px) {
              main.story .body .container nav.keyword > div h2 {
                height: calc(30 / 390 * 100vw);
                margin-bottom: calc(24 / 390 * 100vw);
                border: none; } }
            @media screen and (max-width: 768px) {
              main.story .body .container nav.keyword > div h2 img {
                width: calc(215 / 390 * 100vw); } }
          main.story .body .container nav.keyword > div p {
            padding-left: 40px; }
            @media screen and (max-width: 768px) {
              main.story .body .container nav.keyword > div p {
                padding-left: 0;
                display: flex; } }
            main.story .body .container nav.keyword > div p a {
              display: block;
              padding: 8px 16px;
              border: 1px solid #004481;
              border-radius: 9999px;
              font-weight: 700;
              font-size: 14px;
              line-height: 100%;
              color: #004481;
              cursor: pointer; }
              @media screen and (max-width: 768px) {
                main.story .body .container nav.keyword > div p a {
                  padding: calc(8 / 390 * 100vw) calc(16 / 390 * 100vw);
                  font-size: calc(14 / 390 * 100vw); } }
              main.story .body .container nav.keyword > div p a.active {
                background-color: #004481;
                color: #fff; }
        main.story .body .container nav.keyword dl {
          position: relative;
          border-bottom: 1px solid #004481; }
          main.story .body .container nav.keyword dl div {
            display: flex;
            flex-wrap: wrap;
            padding: 16px 0;
            border-top: 1px dashed #004481; }
            @media screen and (max-width: 768px) {
              main.story .body .container nav.keyword dl div {
                display: block;
                padding: calc(16 / 390 * 100vw) 0; } }
            main.story .body .container nav.keyword dl div dt {
              flex: 0 0 240px;
              font-style: normal;
              font-weight: 700;
              font-size: 18px;
              line-height: 100%;
              color: #004481;
              display: flex;
              align-items: center;
              border-right: 1px solid #004481; }
              @media screen and (max-width: 768px) {
                main.story .body .container nav.keyword dl div dt {
                  font-size: calc(18 / 390 * 100vw);
                  margin-bottom: calc(16 / 390 * 100vw);
                  border-right: none; } }
            main.story .body .container nav.keyword dl div dd {
              flex: 0 0 calc(100% - 240px);
              padding-left: 40px; }
              @media screen and (max-width: 768px) {
                main.story .body .container nav.keyword dl div dd {
                  padding-left: 0; } }
              main.story .body .container nav.keyword dl div dd ul {
                position: relative;
                display: flex;
                flex-wrap: wrap;
                gap: 12px; }
                @media screen and (max-width: 768px) {
                  main.story .body .container nav.keyword dl div dd ul {
                    gap: calc(12 / 390 * 100vw) calc(8 / 390 * 100vw); } }
                main.story .body .container nav.keyword dl div dd ul li a {
                  display: block;
                  padding: 8px 16px;
                  border: 1px solid #004481;
                  border-radius: 9999px;
                  font-weight: 700;
                  font-size: 14px;
                  line-height: 100%;
                  color: #004481;
                  cursor: pointer; }
                  @media screen and (max-width: 768px) {
                    main.story .body .container nav.keyword dl div dd ul li a {
                      padding: calc(8 / 390 * 100vw) calc(16 / 390 * 100vw);
                      font-size: calc(14 / 390 * 100vw); } }
                  main.story .body .container nav.keyword dl div dd ul li a.active {
                    background-color: #004481;
                    color: #fff; }
      main.story .body .container section.result {
        position: relative;
        margin-top: 80px; }
        @media screen and (max-width: 768px) {
          main.story .body .container section.result {
            margin-top: calc(60 / 375 * 100vw); } }
        main.story .body .container section.result ul {
          display: flex;
          flex-wrap: wrap;
          gap: 110px 24px; }
          @media screen and (max-width: 768px) {
            main.story .body .container section.result ul {
              gap: calc(35 / 375 * 100vw) 4vw; } }
          main.story .body .container section.result ul li {
            flex: 0 0 calc((100% - 24px * 2) / 3); }
            @media screen and (max-width: 768px) {
              main.story .body .container section.result ul li {
                flex: 0 0 calc((100% - 4vw) / 2 - 0.0001px); } }
            main.story .body .container section.result ul li a {
              position: relative;
              display: block;
              padding-left: 24px;
              padding-bottom: 24px; }
              @media screen and (max-width: 768px) {
                main.story .body .container section.result ul li a {
                  padding-left: calc(12 /375 * 100vw);
                  padding-bottom: calc(27 / 375 * 100vw); } }
              main.story .body .container section.result ul li a figure {
                position: relative;
                background-image: url("../images/story/list_bg.png");
                background-size: 100% 100%;
                aspect-ratio: 574 / 660;
                width: 100%; }
                main.story .body .container section.result ul li a figure img {
                  position: absolute;
                  bottom: 0;
                  left: 0;
                  right: 0; }
              main.story .body .container section.result ul li a .marker {
                position: absolute;
                top: 10px;
                left: 34px;
                font-family: "Albert Sans", sans-serif;
                font-weight: 900;
                font-size: 10px;
                line-height: 1.2;
                text-align: left;
                color: #00f5ff; }
                @media screen and (max-width: 768px) {
                  main.story .body .container section.result ul li a .marker {
                    top: calc(5 / 375 * 100vw);
                    left: calc(18 / 375 * 100vw);
                    font-size: calc(10 / 375 * 100vw); } }
              main.story .body .container section.result ul li a .job {
                position: absolute;
                top: 11px;
                right: 10px;
                font-weight: bold;
                font-size: 16px;
                letter-spacing: 0.05em;
                line-height: 20px;
                text-align: left;
                color: #fff;
                writing-mode: vertical-rl;
                text-orientation: upright; }
                @media screen and (max-width: 768px) {
                  main.story .body .container section.result ul li a .job {
                    top: calc(4 / 375 * 100vw);
                    right: calc(2 / 375 * 100vw);
                    font-size: calc(10 / 375 * 100vw);
                    letter-spacing: 0.05em;
                    line-height: 1.2; } }
              main.story .body .container section.result ul li a .title {
                position: absolute;
                bottom: 0px;
                left: 0;
                width: 86%; }
                @media screen and (max-width: 768px) {
                  main.story .body .container section.result ul li a .title {
                    max-width: calc(134 / 375 * 100vw); } }
                main.story .body .container section.result ul li a .title .highlight {
                  font-weight: 900;
                  font-size: 16px;
                  letter-spacing: -0.05em;
                  line-height: 32px;
                  text-align: left;
                  color: #004481;
                  background-color: #fff;
                  display: inline;
                  box-decoration-break: clone;
                  -webkit-box-decoration-break: clone;
                  padding: 4px 8px; }
                  @media screen and (max-width: 768px) {
                    main.story .body .container section.result ul li a .title .highlight {
                      font-weight: 900;
                      font-size: calc(12 / 375 * 100vw);
                      letter-spacing: -0.05em;
                      line-height: calc(21 / 12);
                      text-align: left;
                      color: #004481;
                      padding: calc(2 / 375 * 100vw) calc(4 / 375 * 100vw); }
                      main.story .body .container section.result ul li a .title .highlight br {
                        display: none; } }
              main.story .body .container section.result ul li a .arrow {
                position: absolute;
                right: 0;
                bottom: 24px;
                display: block;
                width: 25px;
                height: 24px;
                border-radius: 2px;
                background: #004481;
                transition: all ease .3s; }
                @media screen and (max-width: 768px) {
                  main.story .body .container section.result ul li a .arrow {
                    width: calc(12 / 375 * 100vw);
                    height: calc(12 / 375 * 100vw);
                    bottom: calc(27 / 375 * 100vw);
                    border-radius: calc(2 / 375 * 100vw); } }
                main.story .body .container section.result ul li a .arrow:before {
                  content: "";
                  display: block;
                  width: 20px;
                  height: 20px;
                  position: absolute;
                  top: 2px;
                  left: 2px;
                  -webkit-mask-image: url("../images/common/arrow_white.svg");
                  mask-image: url("../images/common/arrow_white.svg");
                  -webkit-mask-size: 100% 100%;
                  mask-size: 100% 100%;
                  background-color: #fff;
                  transition: all ease .3s; }
                  @media screen and (max-width: 768px) {
                    main.story .body .container section.result ul li a .arrow:before {
                      width: calc(11 / 375 * 100vw);
                      height: calc(11 / 375 * 100vw);
                      top: calc(1 / 375 * 100vw);
                      left: calc(1 / 375 * 100vw); } }
              main.story .body .container section.result ul li a:hover .arrow {
                background-color: #00F5FF; }
                main.story .body .container section.result ul li a:hover .arrow:before {
                  background-color: #004481; }

main.story-detail {
  background-image: url("../images/story/detail/bg.png");
  background-size: 60px 60px;
  overflow: hidden; }
  main.story-detail > header {
    position: relative;
    height: 100svh;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media screen and (max-width: 768px) {
      main.story-detail > header {
        height: auto;
        padding-top: 0; } }
    main.story-detail > header .container {
      position: relative;
      width: calc(1160 / 1280 * 100%);
      max-width: calc(100% - 60px * 2); }
      @media screen and (max-width: 768px) {
        main.story-detail > header .container {
          position: absolute;
          bottom: calc(156 / 375 * 100vw);
          left: calc(20 / 375 * 100vw);
          right: calc(20 / 375 * 100vw);
          max-width: none;
          width: auto; } }
      main.story-detail > header .container h1 {
        margin-bottom: 28px; }
        @media screen and (max-width: 768px) {
          main.story-detail > header .container h1 {
            margin-bottom: calc(28 / 375 * 100vw); } }
        main.story-detail > header .container h1 > span.highlight {
          font-weight: 900;
          font-size: 28px;
          letter-spacing: 0.05em;
          line-height: 40px;
          text-align: left;
          color: #004481;
          padding: 0 4px;
          display: inline;
          box-decoration-break: clone;
          -webkit-box-decoration-break: clone;
          background: linear-gradient(#fff 0%, #fff 100%);
          background-size: 100% 86%;
          background-position: 0 72%;
          background-repeat: no-repeat; }
          @media screen and (max-width: 768px) {
            main.story-detail > header .container h1 > span.highlight {
              padding: 0 calc(4 / 375 * 100vw);
              font-size: calc(20 / 375 * 100vw);
              line-height: calc(29 / 375 * 100vw); } }
  main.story-detail section.career {
    position: relative;
    z-index: 10; }
    main.story-detail section.career .container {
      max-width: 1280px;
      margin: 0 auto;
      margin-top: -114px; }
      @media screen and (max-width: 768px) {
        main.story-detail section.career .container {
          width: calc(355 / 375 * 100vw);
          margin-top: calc(-88 / 375 * 100vw); } }
      main.story-detail section.career .container .wrapper {
        padding: 72px 72px 70px;
        background-color: #fff;
        max-width: 1000px;
        margin: 0 0 0 auto; }
        @media screen and (max-width: 768px) {
          main.story-detail section.career .container .wrapper {
            padding: calc(22 / 375 * 100vw) calc(27 / 375 * 100vw) calc(20 / 375 * 100vw); } }
        main.story-detail section.career .container .wrapper h2 {
          font-weight: 900;
          font-size: 28px;
          letter-spacing: 0.05em;
          line-height: 40px;
          text-align: left;
          color: #004481;
          margin-bottom: 14px; }
          @media screen and (max-width: 768px) {
            main.story-detail section.career .container .wrapper h2 {
              font-size: calc(20 / 375 * 100vw);
              line-height: calc(29 / 20);
              margin-bottom: calc(12 / 375 * 100vw); } }
        main.story-detail section.career .container .wrapper p {
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: 23px;
          text-align: left;
          color: #000; }
          @media screen and (max-width: 768px) {
            main.story-detail section.career .container .wrapper p {
              font-size: calc(12 / 375 * 100vw);
              line-height: calc(23 / 12); } }
  main.story-detail div.theme > section .container {
    width: calc(100% - 120px);
    max-width: 984px;
    margin: 0 auto;
    max-width: 1280px;
    position: relative; }
    @media screen and (max-width: 768px) {
      main.story-detail div.theme > section .container {
        width: calc(335 / 375 * 100vw); } }
    main.story-detail div.theme > section .container .marker {
      position: relative;
      font-family: "Albert Sans", sans-serif;
      font-weight: 900;
      font-size: 10px;
      line-height: 1.2;
      text-align: left;
      color: #00f5ff;
      margin-bottom: 16px; }
      @media screen and (max-width: 768px) {
        main.story-detail div.theme > section .container .marker {
          font-size: calc(10 / 375 * 100vw);
          margin-bottom: calc(8 / 375 * 100vw); } }
    main.story-detail div.theme > section .container h2 {
      position: relative;
      margin-bottom: 24px; }
      @media screen and (max-width: 768px) {
        main.story-detail div.theme > section .container h2 {
          margin-bottom: calc(24 / 375 * 100vw); } }
      main.story-detail div.theme > section .container h2 .highlight {
        font-weight: 900;
        font-size: 28px;
        letter-spacing: -0.05em;
        line-height: 40px;
        text-align: left;
        color: #fff;
        background-color: #004481;
        padding: 6px 4px;
        display: inline;
        box-decoration-break: clone;
        -webkit-box-decoration-break: clone; }
        @media screen and (max-width: 768px) {
          main.story-detail div.theme > section .container h2 .highlight {
            font-size: calc(20 / 375 * 100vw);
            letter-spacing: 0.05em;
            line-height: calc(29 / 375 * 100vw);
            padding: calc(5 / 375 * 100vw) calc(4 / 375 * 100vw); } }
    main.story-detail div.theme > section .container .copy {
      position: relative;
      font-weight: 900;
      text-decoration: underline;
      font-size: 48px;
      letter-spacing: -0.05em;
      line-height: 64px;
      text-align: left;
      color: #121212;
      margin-bottom: 40px; }
      @media screen and (max-width: 768px) {
        main.story-detail div.theme > section .container .copy {
          font-size: calc(28 / 375 * 100vw);
          letter-spacing: -0.05em;
          line-height: calc(42 / 375 * 100vw);
          margin-bottom: calc(24 / 375 * 100vw); }
          main.story-detail div.theme > section .container .copy br {
            display: none; } }
    main.story-detail div.theme > section .container .body p {
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 32px;
      text-align: left;
      color: #000; }
      @media screen and (max-width: 768px) {
        main.story-detail div.theme > section .container .body p {
          font-size: calc(14 / 375 * 100vw);
          line-height: calc(23 / 375 * 100vw); } }
  main.story-detail div.theme > section:nth-child(1) .container .content, main.story-detail div.theme > section:nth-child(3) .container .content {
    max-width: 784px;
    min-height: 650px;
    margin: 0 auto 0 348px; }
    @media screen and (max-width: 768px) {
      main.story-detail div.theme > section:nth-child(1) .container .content, main.story-detail div.theme > section:nth-child(3) .container .content {
        margin: auto;
        min-height: 0;
        max-width: none; } }
  main.story-detail div.theme > section:nth-child(1) {
    margin-top: 46px;
    padding-top: 49px; }
    @media screen and (max-width: 768px) {
      main.story-detail div.theme > section:nth-child(1) {
        margin-top: calc(64 / 375 * 100vw);
        padding-top: calc(24 / 375 * 100vw); } }
    main.story-detail div.theme > section:nth-child(1) .container:before {
      content: "";
      background-image: url("../images/story/detail/theme_01_deco_text.svg");
      background-size: 100% 100%;
      display: block;
      width: 315px;
      height: 682px;
      position: absolute;
      top: -46px;
      left: -6px; }
      @media screen and (max-width: 768px) {
        main.story-detail div.theme > section:nth-child(1) .container:before {
          background-image: url("../images/story/detail/theme_01_deco_text_sp.svg");
          width: calc(331 / 375 * 100vw);
          height: calc(51 / 375 * 100vw);
          top: calc(-24 / 375 * 100vw);
          left: calc(4 / 375 * 100vw); } }
  main.story-detail div.theme > section:nth-child(2) {
    margin-top: 110px;
    padding-top: 15px; }
    @media screen and (max-width: 768px) {
      main.story-detail div.theme > section:nth-child(2) {
        margin-top: calc(76 / 375 * 100vw);
        padding-top: calc(24 / 375 * 100vw); } }
    main.story-detail div.theme > section:nth-child(2) .container:before {
      content: "";
      background-image: url("../images/story/detail/theme_02_deco_text.svg");
      background-size: 100% 100%;
      display: block;
      width: 970px;
      height: 139px;
      position: absolute;
      top: -15px;
      right: 64px; }
      @media screen and (max-width: 768px) {
        main.story-detail div.theme > section:nth-child(2) .container:before {
          background-image: url("../images/story/detail/theme_02_deco_text_sp.svg");
          width: calc(350 / 375 * 100vw);
          height: calc(51 / 375 * 100vw);
          top: calc(-24 / 375 * 100vw);
          left: calc(4 / 375 * 100vw);
          right: auto; } }
    main.story-detail div.theme > section:nth-child(2) .container .content {
      max-width: 988px;
      margin: 0 auto; }
  main.story-detail div.theme > section:nth-child(3) {
    margin-top: 110px;
    padding-top: 49px; }
    @media screen and (max-width: 768px) {
      main.story-detail div.theme > section:nth-child(3) {
        margin-top: calc(76 / 375 * 100vw);
        padding-top: calc(24 / 375 * 100vw); } }
    main.story-detail div.theme > section:nth-child(3) .container:before {
      content: "";
      background-image: url("../images/story/detail/theme_03_deco_text.svg");
      background-size: 100% 100%;
      display: block;
      width: 315px;
      height: 682px;
      position: absolute;
      top: -46px;
      left: -6px; }
      @media screen and (max-width: 768px) {
        main.story-detail div.theme > section:nth-child(3) .container:before {
          background-image: url("../images/story/detail/theme_03_deco_text_sp.svg");
          width: calc(353 / 375 * 100vw);
          height: calc(51 / 375 * 100vw);
          top: calc(-24 / 375 * 100vw);
          left: calc(4 / 375 * 100vw);
          right: auto; } }
  main.story-detail > header {
    position: relative;
    background-image: url("../images/story/detail/visual_bg.jpg");
    background-size: cover;
    min-height: 798px; }
    @media screen and (max-width: 768px) {
      main.story-detail > header {
        height: calc(667 / 375 * 100vw);
        min-height: 0; } }
    main.story-detail > header figure {
      position: absolute;
      z-index: 1;
      right: calc(148 / 1280 * 100vw);
      top: calc(94 / 1280 * 100vw);
      bottom: 0;
      width: calc(565 / 1280 * 100vw);
      min-width: 565px;
      display: flex;
      align-items: flex-end; }
      @media screen and (max-width: 768px) {
        main.story-detail > header figure {
          top: calc(199 / 375 * 100vw);
          left: 0;
          right: 0;
          bottom: calc(0 / 375 * 100vw);
          min-width: 0;
          width: auto; } }
      main.story-detail > header figure img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 100% 0%; }
        @media screen and (max-width: 768px) {
          main.story-detail > header figure img {
            object-position: 50% 0%; } }
    main.story-detail > header:before {
      content: "";
      background-image: url("../images/story/detail/visual_deco.svg");
      background-size: 100% 100%;
      display: block;
      width: 1468px;
      height: 689px;
      position: absolute;
      top: calc((80 + 344) / 798 * 100%);
      left: calc((36 + 734) / 1280 * 100%);
      transform: translate(-50%, -50%); }
      @media screen and (max-width: 768px) {
        main.story-detail > header:before {
          width: calc(599 / 375 * 100vw);
          height: calc(689 * 599 / 1468 / 375 * 100vw);
          top: calc(44 / 375 * 100vw);
          left: calc(-47 / 375 * 100vw);
          transform: none; } }
    main.story-detail > header:after {
      content: "";
      background-image: url("../images/story/detail/visual_deco_text.svg");
      background-size: 100% 100%;
      display: block;
      width: 825px;
      height: 252px;
      position: absolute;
      top: calc(240 / 798 * 100%);
      left: calc(64 / 1280 * 100vw);
      transform: translateY(-50%); }
      @media screen and (max-width: 768px) {
        main.story-detail > header:after {
          top: calc(72 / 375 * 100vw);
          left: calc(22 / 375 * 100vw);
          transform: none;
          width: calc(334 / 375 * 100vw);
          height: calc(252 * 334 / 825 / 375 * 100vw); } }
    main.story-detail > header .container {
      position: relative;
      z-index: 2; }
      @media screen and (max-width: 768px) {
        main.story-detail > header .container {
          position: static; } }
      @media screen and (max-width: 768px) {
        main.story-detail > header .container h1 {
          position: absolute;
          bottom: calc(75 / 375 * 100vw);
          left: calc(20 / 375 * 100vw);
          margin-bottom: 0; } }
      @media screen and (max-width: 768px) {
        main.story-detail > header .container .content {
          position: absolute;
          top: calc(144 / 375 * 100vw);
          left: calc(20 / 375 * 100vw); } }
      main.story-detail > header .container .content .marker {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 10px;
        line-height: 1.2;
        color: #00f5ff;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          main.story-detail > header .container .content .marker {
            font-size: calc(10 / 375 * 100vw);
            margin-bottom: calc(8 / 375 * 100vw); } }
      main.story-detail > header .container .content .job,
      main.story-detail > header .container .content .name {
        font-weight: bold;
        font-size: 20px;
        line-height: 32px;
        text-align: left;
        color: #fff; }
        @media screen and (max-width: 768px) {
          main.story-detail > header .container .content .job,
          main.story-detail > header .container .content .name {
            font-size: calc(14 / 375 * 100vw);
            line-height: calc(20 / 375 * 100vw); } }
  main.story-detail section.career {
    position: relative;
    z-index: 10; }
    @media screen and (max-width: 768px) {
      main.story-detail section.career .container {
        margin-top: calc(-43 / 375 * 100vw); } }
  main.story-detail section.column {
    position: relative;
    margin-top: 216px;
    background-image: url("../images/story/detail/column_bg.jpg");
    background-size: cover;
    background-position: 50% 0%; }
    @media screen and (max-width: 768px) {
      main.story-detail section.column {
        margin-top: calc(64 / 375 * 100vw); } }
    main.story-detail section.column:before {
      content: "";
      background-image: url("../images/story/detail/column_deco.svg");
      background-size: 100% 100%;
      display: block;
      width: 1344px;
      height: 631px;
      position: absolute;
      top: calc((249 + 315) / 965 * 100%);
      left: calc((50 + 672) / 1280 * 100%);
      transform: translate(-50%, -50%); }
      @media screen and (max-width: 768px) {
        main.story-detail section.column:before {
          width: calc(767 / 375 * 100vw);
          height: calc(631 * 767 / 1344 / 375 * 100vw);
          bottom: calc(122 / 375 * 100vw);
          left: calc(-146 / 375 * 100vw);
          top: auto;
          transform: none; } }
    main.story-detail section.column .container {
      width: calc(100% - 120px);
      max-width: 984px;
      margin: 0 auto;
      max-width: 1160px;
      position: relative;
      z-index: 1;
      padding-top: 104px;
      padding-bottom: 147px; }
      @media screen and (max-width: 768px) {
        main.story-detail section.column .container {
          width: calc(335 / 375 * 100vw); } }
      @media screen and (max-width: 768px) {
        main.story-detail section.column .container {
          padding-top: calc(48 / 375 * 100vw);
          padding-bottom: calc(393 / 375 * 100vw); } }
      main.story-detail section.column .container:before {
        content: "";
        display: block;
        background-image: url("../images/story/detail/column_deco_text.svg");
        background-size: 100% 100%;
        width: 836px;
        height: 156px;
        position: absolute;
        left: -103px;
        top: -4px; }
        @media screen and (max-width: 768px) {
          main.story-detail section.column .container:before {
            background-image: url("../images/story/detail/column_deco_text_sp.svg");
            width: calc(299 / 375 * 100vw);
            height: calc(56 / 375 * 100vw);
            top: calc(-1 / 375 * 100vw);
            left: calc(-25 / 375 * 100vw); } }
      main.story-detail section.column .container .content {
        position: relative;
        max-width: 988px;
        margin: 0 auto; }
        main.story-detail section.column .container .content header p {
          font-family: "Albert Sans", sans-serif;
          font-weight: 900;
          font-size: 10px;
          line-height: 1.2;
          text-align: left;
          color: #00f5ff;
          margin-bottom: 16px; }
          @media screen and (max-width: 768px) {
            main.story-detail section.column .container .content header p {
              font-size: calc(10 / 375 * 100vw);
              margin-bottom: calc(8 / 375 * 100vw); } }
        main.story-detail section.column .container .content header h2 {
          margin-bottom: 88px; }
          @media screen and (max-width: 768px) {
            main.story-detail section.column .container .content header h2 {
              margin-bottom: calc(24 / 375 * 100vw); } }
          main.story-detail section.column .container .content header h2 .highlight {
            font-weight: 900;
            font-size: 28px;
            letter-spacing: 0.05em;
            line-height: 40px;
            text-align: left;
            color: #004481;
            padding: 6px 4px;
            background-color: #fff; }
            @media screen and (max-width: 768px) {
              main.story-detail section.column .container .content header h2 .highlight {
                font-size: calc(20 / 375 * 100vw);
                line-height: calc(29 / 375 * 100vw);
                padding: 0 calc(4 / 375 * 100vw); } }
        main.story-detail section.column .container .content section {
          max-width: 492px;
          margin-top: 76px; }
          @media screen and (max-width: 768px) {
            main.story-detail section.column .container .content section {
              max-width: none;
              margin-top: calc(32 / 375 * 100vw); } }
          main.story-detail section.column .container .content section h3 {
            font-weight: 900;
            font-size: 40px;
            letter-spacing: -0.05em;
            line-height: 58px;
            text-align: left;
            color: #fff;
            margin-bottom: 12px; }
            @media screen and (max-width: 768px) {
              main.story-detail section.column .container .content section h3 {
                font-size: calc(28 / 375 * 100vw);
                line-height: calc(40 / 28);
                margin-bottom: calc(16 / 375 * 100vw); } }
          main.story-detail section.column .container .content section p {
            font-weight: 500;
            font-size: 16px;
            letter-spacing: 0.05em;
            line-height: 32px;
            text-align: left;
            color: #fff; }
            @media screen and (max-width: 768px) {
              main.story-detail section.column .container .content section p {
                font-size: calc(14 / 375 * 100vw);
                line-height: calc(23 / 14); } }
    main.story-detail section.column figure {
      position: absolute;
      right: calc(60 / 1280 * 100vw);
      top: calc(100 / 1280 * 100vw);
      bottom: 0;
      width: 100%;
      width: calc(625 / 1280 * 100vw);
      min-width: 625px;
      display: flex;
      align-items: flex-end; }
      @media screen and (max-width: 768px) {
        main.story-detail section.column figure {
          position: absolute;
          top: auto;
          bottom: 0;
          left: 0;
          right: 0;
          width: 100vw;
          height: calc(379 / 375 * 100vw);
          min-width: 0; } }
      main.story-detail section.column figure img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 100% 0%; }
        @media screen and (max-width: 768px) {
          main.story-detail section.column figure img {
            object-position: 50% 0%; } }
  main.story-detail nav.other .container {
    width: calc(100% - 120px);
    max-width: 984px;
    margin: 0 auto;
    max-width: 1160px;
    padding: 264px 0 130px; }
    @media screen and (max-width: 768px) {
      main.story-detail nav.other .container {
        width: calc(335 / 375 * 100vw); } }
    @media screen and (max-width: 768px) {
      main.story-detail nav.other .container {
        padding: calc(90 / 375 * 100vw) 0 calc(65 / 375 * 100vw); } }
    main.story-detail nav.other .container > header {
      width: fit-content;
      position: relative;
      padding-right: 152px;
      max-width: 1047px;
      margin: 0 auto;
      margin-bottom: 183px; }
      @media screen and (max-width: 768px) {
        main.story-detail nav.other .container > header {
          width: auto;
          padding-right: 0;
          margin-bottom: 0; } }
      main.story-detail nav.other .container > header:before {
        content: "";
        position: absolute;
        top: -113px;
        left: 50%;
        transform: translateX(-50%);
        background-image: url("../images/story/detail/other_deco_text.svg");
        background-size: 100% 100%;
        display: block;
        width: 1047px;
        height: 326px; }
        @media screen and (max-width: 768px) {
          main.story-detail nav.other .container > header:before {
            background-image: url("../images/story/detail/other_deco_text_sp.svg");
            width: calc(374 / 375 * 100vw);
            height: calc(121 / 375 * 100vw);
            top: calc(-17 / 375 * 100vw);
            left: 0;
            transform: none; } }
      main.story-detail nav.other .container > header hgroup P {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 10px;
        line-height: 12px;
        text-align: left;
        color: #004481; }
        @media screen and (max-width: 768px) {
          main.story-detail nav.other .container > header hgroup P {
            font-size: cacl(2.6666666667vw);
            line-height: 1.2;
            text-align: left;
            color: #004481;
            margin-bottom: calc(8 / 375 * 100vw); } }
      main.story-detail nav.other .container > header hgroup h2 {
        font-weight: 900;
        font-size: 48px;
        letter-spacing: -0.05em;
        line-height: 70px;
        text-align: left;
        color: #004481; }
        @media screen and (max-width: 768px) {
          main.story-detail nav.other .container > header hgroup h2 {
            font-size: calc(28 / 375 * 100vw);
            line-height: calc(36 / 28); } }
      main.story-detail nav.other .container > header .action {
        position: absolute;
        top: 41px;
        right: 0; }
        @media screen and (max-width: 768px) {
          main.story-detail nav.other .container > header .action {
            position: static;
            margin-top: calc(20 / 375 * 100vw); } }
        main.story-detail nav.other .container > header .action a {
          position: relative;
          display: block;
          width: 122px;
          height: 24px;
          border-radius: 2px;
          background: #004481;
          font-family: "Albert Sans", sans-serif;
          font-weight: 900;
          font-size: 10px;
          line-height: 2.4;
          text-align: left;
          color: #fff;
          padding: 0 8px;
          transition: all ease .3s; }
          @media screen and (max-width: 768px) {
            main.story-detail nav.other .container > header .action a {
              width: 12.2rem;
              height: 2.4rem;
              border-radius: .2rem;
              font-size: 1rem;
              padding: 0 .8rem; } }
          main.story-detail nav.other .container > header .action a:before {
            content: "";
            display: block;
            width: 1px;
            height: 12px;
            position: absolute;
            right: 26px;
            top: 50%;
            transform: translateY(-50%);
            background-color: #fff;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.story-detail nav.other .container > header .action a:before {
                width: 1px;
                height: 1.2rem;
                right: 2.6rem; } }
          main.story-detail nav.other .container > header .action a:after {
            content: "";
            position: absolute;
            right: 8px;
            top: 50%;
            transform: translateY(-50%);
            display: block;
            width: 10px;
            height: 10px;
            -webkit-mask-image: url("../images/common/arrow_white.svg");
            mask-image: url("../images/common/arrow_white.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            background-color: #fff;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.story-detail nav.other .container > header .action a:after {
                right: .8rem;
                width: 1rem;
                height: 1rem; } }
          main.story-detail nav.other .container > header .action a:hover {
            color: #004481;
            background-color: #00F5FF; }
            main.story-detail nav.other .container > header .action a:hover:before {
              background-color: #004481; }
            main.story-detail nav.other .container > header .action a:hover:after {
              background-color: #004481; }
    main.story-detail nav.other .container .body {
      margin-right: calc(-50vw + 50%); }
      @media screen and (max-width: 768px) {
        main.story-detail nav.other .container .body {
          margin-left: calc(-20 / 375 * 100vw);
          margin-right: calc(-20 / 375 * 100vw); } }
      main.story-detail nav.other .container .body .swiper {
        position: relative;
        padding-top: 70px;
        padding-bottom: 72px; }
        @media screen and (max-width: 768px) {
          main.story-detail nav.other .container .body .swiper {
            padding-top: 7rem;
            padding-bottom: 8rem; } }
        main.story-detail nav.other .container .body .swiper ul {
          box-sizing: border-box; }
          main.story-detail nav.other .container .body .swiper ul li {
            box-sizing: border-box;
            width: 354px;
            position: relative;
            display: block;
            padding-left: 24px;
            padding-right: 24px; }
            @media screen and (max-width: 768px) {
              main.story-detail nav.other .container .body .swiper ul li {
                width: calc(319 / 375 * 100vw);
                padding-left: calc(24 /375 * 100vw);
                padding-right: calc(8 / 375 * 100vw); } }
            main.story-detail nav.other .container .body .swiper ul li a {
              position: relative;
              display: block;
              padding-bottom: 24px; }
              @media screen and (max-width: 768px) {
                main.story-detail nav.other .container .body .swiper ul li a {
                  padding-bottom: calc(24 / 375 * 100vw); } }
              main.story-detail nav.other .container .body .swiper ul li a figure {
                position: relative;
                background-image: url("../images/story/list_bg.png");
                background-size: 100% 100%;
                aspect-ratio: 574 / 660;
                width: 100%; }
                main.story-detail nav.other .container .body .swiper ul li a figure img {
                  position: absolute;
                  bottom: 0;
                  left: 0;
                  right: 0; }
              main.story-detail nav.other .container .body .swiper ul li a .marker {
                position: absolute;
                top: 10px;
                left: 10px;
                font-family: "Albert Sans", sans-serif;
                font-weight: 900;
                font-size: 10px;
                line-height: 1.2;
                text-align: left;
                color: #00f5ff; }
                @media screen and (max-width: 768px) {
                  main.story-detail nav.other .container .body .swiper ul li a .marker {
                    top: calc(10 / 375 * 100vw);
                    left: calc(10 / 375 * 100vw);
                    font-size: calc(10 / 375 * 100vw); } }
              main.story-detail nav.other .container .body .swiper ul li a .job {
                position: absolute;
                top: 11px;
                right: 10px;
                font-weight: bold;
                font-size: 16px;
                letter-spacing: 0.05em;
                line-height: calc(20 / 16);
                text-align: left;
                color: #fff;
                writing-mode: vertical-rl;
                text-orientation: upright; }
                @media screen and (max-width: 768px) {
                  main.story-detail nav.other .container .body .swiper ul li a .job {
                    top: calc(11 / 375 * 100vw);
                    right: calc(10 / 375 * 100vw);
                    font-size: calc(16 / 375 * 100vw); } }
              main.story-detail nav.other .container .body .swiper ul li a .title {
                position: absolute;
                bottom: 0px;
                left: -24px;
                right: 0; }
                @media screen and (max-width: 768px) {
                  main.story-detail nav.other .container .body .swiper ul li a .title {
                    left: calc(-24 / 375 * 100vw); } }
                main.story-detail nav.other .container .body .swiper ul li a .title .highlight {
                  font-weight: 900;
                  font-size: 16px;
                  letter-spacing: -0.05em;
                  line-height: 2;
                  text-align: left;
                  color: #004481;
                  background-color: #fff;
                  display: inline;
                  box-decoration-break: clone;
                  -webkit-box-decoration-break: clone;
                  padding: 4px 8px; }
                  @media screen and (max-width: 768px) {
                    main.story-detail nav.other .container .body .swiper ul li a .title .highlight {
                      font-weight: 900;
                      font-size: calc(16 / 375 * 100vw);
                      letter-spacing: -0.05em;
                      text-align: left;
                      color: #004481;
                      padding: calc(4.2 / 375 * 100vw) calc(8 / 375 * 100vw); } }
              main.story-detail nav.other .container .body .swiper ul li a .arrow {
                position: absolute;
                right: 0;
                bottom: 24px;
                display: block;
                width: 25px;
                height: 24px;
                border-radius: 2px;
                background: #004481;
                transition: all ease .3s; }
                @media screen and (max-width: 768px) {
                  main.story-detail nav.other .container .body .swiper ul li a .arrow {
                    width: calc(25 / 375 * 100vw);
                    height: calc(24 / 375 * 100vw);
                    bottom: calc(24 / 375 * 100vw);
                    border-radius: calc(2 / 375 * 100vw); } }
                main.story-detail nav.other .container .body .swiper ul li a .arrow:before {
                  content: "";
                  display: block;
                  width: 20px;
                  height: 20px;
                  position: absolute;
                  top: 2px;
                  left: 2px;
                  -webkit-mask-image: url("../images/common/arrow_white.svg");
                  mask-image: url("../images/common/arrow_white.svg");
                  -webkit-mask-size: 100% 100%;
                  mask-size: 100% 100%;
                  background-color: #fff;
                  transition: all ease .3s; }
                  @media screen and (max-width: 768px) {
                    main.story-detail nav.other .container .body .swiper ul li a .arrow:before {
                      width: calc(20 / 375 * 100vw);
                      height: calc(20 / 375 * 100vw);
                      top: calc(2 / 375 * 100vw);
                      left: calc(2 / 375 * 100vw); } }
              main.story-detail nav.other .container .body .swiper ul li a:hover .arrow {
                background-color: #00F5FF; }
                main.story-detail nav.other .container .body .swiper ul li a:hover .arrow:before {
                  background-color: #004481; }
        main.story-detail nav.other .container .body .swiper .swiper-control {
          position: absolute;
          bottom: 0;
          left: 0; }
          @media screen and (max-width: 768px) {
            main.story-detail nav.other .container .body .swiper .swiper-control {
              left: 2rem; } }
          main.story-detail nav.other .container .body .swiper .swiper-control .swiper-button-prev,
          main.story-detail nav.other .container .body .swiper .swiper-control .swiper-button-next {
            position: absolute;
            top: auto;
            right: auto;
            transform: none;
            background-color: #004481;
            width: 40px;
            height: 40px;
            border-radius: 2px;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.story-detail nav.other .container .body .swiper .swiper-control .swiper-button-prev,
              main.story-detail nav.other .container .body .swiper .swiper-control .swiper-button-next {
                width: 4rem;
                height: 4rem;
                border-radius: .2rem; } }
            main.story-detail nav.other .container .body .swiper .swiper-control .swiper-button-prev:before,
            main.story-detail nav.other .container .body .swiper .swiper-control .swiper-button-next:before {
              content: "";
              -webkit-mask-image: url("../images/common/arrow_white.svg");
              mask-image: url("../images/common/arrow_white.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              display: block;
              width: 10px;
              height: 10px;
              position: absolute;
              top: calc(50%);
              left: calc(50%);
              transform: translate(-50%, -50%);
              background-color: #fff;
              transition: all ease .3s; }
              @media screen and (max-width: 768px) {
                main.story-detail nav.other .container .body .swiper .swiper-control .swiper-button-prev:before,
                main.story-detail nav.other .container .body .swiper .swiper-control .swiper-button-next:before {
                  width: 1rem;
                  height: 1rem; } }
            main.story-detail nav.other .container .body .swiper .swiper-control .swiper-button-prev:after,
            main.story-detail nav.other .container .body .swiper .swiper-control .swiper-button-next:after {
              display: none; }
            main.story-detail nav.other .container .body .swiper .swiper-control .swiper-button-prev:hover,
            main.story-detail nav.other .container .body .swiper .swiper-control .swiper-button-next:hover {
              background-color: #00F5FF; }
              main.story-detail nav.other .container .body .swiper .swiper-control .swiper-button-prev:hover:before,
              main.story-detail nav.other .container .body .swiper .swiper-control .swiper-button-next:hover:before {
                background-color: #004481; }
          main.story-detail nav.other .container .body .swiper .swiper-control .swiper-button-prev {
            left: 0;
            bottom: 0; }
            main.story-detail nav.other .container .body .swiper .swiper-control .swiper-button-prev:before {
              transform: translate(-50%, -50%) scale(-1, 1); }
          main.story-detail nav.other .container .body .swiper .swiper-control .swiper-button-next {
            bottom: 0;
            left: 56px; }
            @media screen and (max-width: 768px) {
              main.story-detail nav.other .container .body .swiper .swiper-control .swiper-button-next {
                left: 5.6rem; } }

main.workplace header {
  position: relative;
  height: 448px;
  background-image: url("../images/common/bg_noise.png"), linear-gradient(#d1e9ff 0%, #004481 100%);
  background-size: 128px 128px, auto auto;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.workplace header {
      height: calc(200 / 375 * 100vw);
      padding-top: calc(10 / 375 * 100vw); } }
  main.workplace header:before {
    content: "";
    background-image: url("../images/common/heading_deco_01.svg");
    background-size: 100% 100%;
    display: block;
    width: 987px;
    height: 491px;
    position: absolute;
    top: -58.5px;
    left: calc(50% - 200px); }
    @media screen and (max-width: 768px) {
      main.workplace header:before {
        width: calc(398 / 375 * 100vw);
        height: calc(398 / 987 * 491 / 375 * 100vw );
        top: calc(-41 / 375 * 100vw);
        left: calc(156 / 375 * 100vw); } }
  main.workplace header:after {
    content: "";
    background-image: url("../images/common/heading_deco_02.svg");
    background-size: 100% 100%;
    display: block;
    width: 338px;
    height: 209px;
    position: absolute;
    top: -28px;
    left: calc(50% - 360px); }
    @media screen and (max-width: 768px) {
      main.workplace header:after {
        width: calc(137 / 375 * 100vw);
        height: calc(137 / 338 * 209 / 375 * 100vw );
        top: calc(-29 / 375 * 100vw);
        left: calc(91.5 / 375 * 100vw); } }
  main.workplace header .container {
    width: calc(992 / 1280 * 100vw); }
    @media screen and (max-width: 768px) {
      main.workplace header .container {
        width: calc(335 / 375 * 100vw); } }
    main.workplace header .container:before {
      will-change: background-position; }
    main.workplace header .container hgroup {
      position: relative; }
      main.workplace header .container hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 10px;
        line-height: 1.2;
        text-align: left;
        color: #00f5ff;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          main.workplace header .container hgroup p {
            font-size: calc(10 / 375 * 100vw);
            margin-bottom: 0; } }
      main.workplace header .container hgroup h1 {
        font-weight: 900;
        font-size: 48px;
        letter-spacing: -0.05em;
        line-height: 70px;
        text-align: left;
        color: #fff; }
        @media screen and (max-width: 768px) {
          main.workplace header .container hgroup h1 {
            font-size: calc(28 / 375 * 100vw);
            line-height: calc(40 / 28); } }
@keyframes workplace-loop {
  0% {
    background-position: 0px 0px; }
  100% {
    background-position: -1631px 0px; } }
@keyframes workplace-loop-sp {
  0% {
    background-position: 0vw 0%; }
  100% {
    background-position: calc(-1631 * 55 / 202 / 375 * 100vw) 0%; } }
  main.workplace header .container:before {
    content: "";
    display: block;
    background-image: url("../images/workplace/visual_deco_text.svg");
    background-size: 1631px 250px;
    background-repeat: repeat-x;
    height: 202px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    animation: workplace-loop linear infinite calc(1631s / 100); }
    @media screen and (max-width: 768px) {
      main.workplace header .container:before {
        background-size: calc(1631 * 55 / 202 / 375 * 100vw) calc(250 * 55 / 202 / 375 * 100vw);
        height: calc(55 / 375 * 100vw);
        bottom: calc(-4 * 55 / 202 / 375 * 100vw);
        animation: workplace-loop-sp linear infinite calc(1631s / 100 * 80 / 202); } }
main.workplace .body {
  padding: 90px 0 160px;
  background-image: url("../images/common/bg_noise.png");
  background-size: 128px 128px; }
  @media screen and (max-width: 768px) {
    main.workplace .body {
      padding: 7.2rem 0 16rem; } }
  main.workplace .body .container {
    width: calc(100% - 120px);
    max-width: 984px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.workplace .body .container {
        width: calc(335 / 375 * 100vw); } }
    main.workplace .body .container section {
      position: relative;
      margin-top: 48px;
      background: #fff;
      box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.11);
      padding: 48px 60px;
      height: 378px;
      background-size: auto 100%;
      background-position: 100% 0%; }
      @media screen and (max-width: 768px) {
        main.workplace .body .container section {
          height: auto;
          padding: 3.2rem 1.4rem 12rem;
          background-size: 100% auto;
          background-position: 0% 100%; } }
      main.workplace .body .container section hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 14px;
        line-height: 17px;
        text-align: left;
        color: #00f5ff;
        margin-bottom: 12px; }
        @media screen and (max-width: 768px) {
          main.workplace .body .container section hgroup p {
            font-size: 1rem;
            line-height: 1.2;
            margin-bottom: 1rem; } }
      main.workplace .body .container section hgroup h2 {
        font-weight: 900;
        font-size: 36px;
        letter-spacing: 0.05em;
        line-height: 52px;
        text-align: left;
        color: #004481;
        margin-bottom: 24px; }
        @media screen and (max-width: 768px) {
          main.workplace .body .container section hgroup h2 {
            font-size: 2.8rem;
            line-height: 4.2rem;
            margin-bottom: 2rem; } }
      main.workplace .body .container section > p {
        font-weight: 500;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 32px;
        text-align: left;
        color: #004481;
        max-width: 444px; }
        @media screen and (max-width: 768px) {
          main.workplace .body .container section > p {
            font-size: 1.4rem;
            line-height: 2.3rem;
            max-width: none; } }
      main.workplace .body .container section .action {
        margin-top: 30px; }
        @media screen and (max-width: 768px) {
          main.workplace .body .container section .action {
            position: absolute;
            bottom: 6rem;
            left: 0;
            right: 0;
            display: flex;
            justify-content: center; } }
        main.workplace .body .container section .action a {
          position: relative;
          display: block;
          width: 122px;
          height: 24px;
          border-radius: 2px;
          background: #004481;
          font-family: "Albert Sans", sans-serif;
          font-weight: 900;
          font-size: 10px;
          line-height: 2.4;
          text-align: left;
          color: #fff;
          padding: 0 8px;
          transition: all ease .3s; }
          @media screen and (max-width: 768px) {
            main.workplace .body .container section .action a {
              width: 12.2rem;
              height: 2.4rem;
              border-radius: .2rem;
              font-size: 1rem;
              padding: 0 .8rem; } }
          main.workplace .body .container section .action a:before {
            content: "";
            display: block;
            width: 1px;
            height: 12px;
            position: absolute;
            right: 26px;
            top: 50%;
            transform: translateY(-50%);
            background-color: #fff;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.workplace .body .container section .action a:before {
                width: 1px;
                height: 1.2rem;
                right: 2.6rem; } }
          main.workplace .body .container section .action a:after {
            content: "";
            position: absolute;
            right: 8px;
            top: 50%;
            transform: translateY(-50%);
            display: block;
            width: 10px;
            height: 10px;
            -webkit-mask-image: url("../images/common/arrow_white.svg");
            mask-image: url("../images/common/arrow_white.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            background-color: #fff;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.workplace .body .container section .action a:after {
                right: .8rem;
                width: 1rem;
                height: 1rem; } }
          main.workplace .body .container section .action a:hover {
            color: #004481;
            background-color: #00F5FF; }
            main.workplace .body .container section .action a:hover:before {
              background-color: #004481; }
            main.workplace .body .container section .action a:hover:after {
              background-color: #004481; }
      main.workplace .body .container section:first-child {
        margin-top: 0; }
      main.workplace .body .container section:nth-child(1) {
        background-image: url("../images/common/index_bg_01.png"); }
        @media screen and (max-width: 768px) {
          main.workplace .body .container section:nth-child(1) {
            background-image: url("../images/common/index_bg_01_sp.png"); } }
      main.workplace .body .container section:nth-child(2) {
        background-image: url("../images/common/index_bg_02.png"); }
        @media screen and (max-width: 768px) {
          main.workplace .body .container section:nth-child(2) {
            background-image: url("../images/common/index_bg_02_sp.png"); } }
      main.workplace .body .container section:nth-child(3) {
        background-image: url("../images/common/index_bg_03.png"); }
        @media screen and (max-width: 768px) {
          main.workplace .body .container section:nth-child(3) {
            background-image: url("../images/common/index_bg_03_sp.png"); } }
      main.workplace .body .container section:nth-child(4) {
        background-image: url("../images/common/index_bg_04.png"); }
        @media screen and (max-width: 768px) {
          main.workplace .body .container section:nth-child(4) {
            background-image: url("../images/common/index_bg_04_sp.png"); } }

main.workplace-chief-message {
  background-image: url("../images/story/detail/bg.png");
  background-size: 60px 60px;
  overflow: hidden;
  /*
  section.culture {
  	margin-top: 120px;
  	@include sp {
  		margin-top: calc(116 / 375 * 100vw);
  	}
  	.container {
  		width: calc(100% - 60px * 2);
  		max-width: 984px;
  		margin: 0 auto;
  		@include sp {
  			width: calc(335 / 375 * 100vw);
  		}
  		hgroup {
  			margin-bottom: 34px;
  			@include sp {
  				margin-bottom: calc(28 / 375 * 100vw);
  			}
  			p {
  				background-image: url("../images/workplace/chief-message/culture_title_en.svg");
  				background-size: 100% 100%;
  				width: 353px;
  				height: 66px;
  				text-indent: -9999px;
  				overflow: hidden;
  				margin-bottom: 16px;
  				@include sp {
  					width: calc(242 / 375 * 100vw);
  					height: calc(66 * 242 / 353 / 375 * 100vw);
  					margin-bottom: calc(16 / 375 * 100vw);
  				}
  			}
  			h2 {
  				font-weight: 900;
  				font-size: 32px;
  				letter-spacing: 0.05em;
  				line-height: 40px;
  				text-align: left;
  				color: #000;
  				height: 40px;
  				width: fit-content;
  				background: linear-gradient(-90deg, rgba(255, 255, 255, 0.4) 0%, #00f5ff 100%);
  				@include sp {
  					font-size: calc(24 / 375 * 100vw);
  					line-height: 1.5;
  				}
  			}
  		}
  		.lead {
  			font-weight: 500;
  			font-size: 16px;
  			letter-spacing: 0.05em;
  			line-height: 24px;
  			text-align: left;
  			color: #000;
  			@include sp {
  				font-size: calc(14 / 375 * 100vw);
  				line-height: 2;
  			}
  		}
  		figure {
  			margin-top: 56px;
  			@include sp {
  				margin-top: calc(28 / 375 * 100vw);
  			}
  		}
  		.action {
  			margin-top: 40px;
  			display: flex;
  			justify-content: center;
  			@include sp {
  				margin-top: calc(24 / 375 * 100vw);
  			}
  			a {
  				@include common-btn-view-more;
  			}
  		}
  	}
  }
  */ }
  main.workplace-chief-message > header {
    position: relative;
    height: 100svh;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media screen and (max-width: 768px) {
      main.workplace-chief-message > header {
        height: auto;
        padding-top: 0; } }
    main.workplace-chief-message > header .container {
      position: relative;
      width: calc(1160 / 1280 * 100%);
      max-width: calc(100% - 60px * 2); }
      @media screen and (max-width: 768px) {
        main.workplace-chief-message > header .container {
          position: absolute;
          bottom: calc(156 / 375 * 100vw);
          left: calc(20 / 375 * 100vw);
          right: calc(20 / 375 * 100vw);
          max-width: none;
          width: auto; } }
      main.workplace-chief-message > header .container h1 {
        margin-bottom: 28px; }
        @media screen and (max-width: 768px) {
          main.workplace-chief-message > header .container h1 {
            margin-bottom: calc(28 / 375 * 100vw); } }
        main.workplace-chief-message > header .container h1 > span.highlight {
          font-weight: 900;
          font-size: 28px;
          letter-spacing: 0.05em;
          line-height: 40px;
          text-align: left;
          color: #004481;
          padding: 0 4px;
          display: inline;
          box-decoration-break: clone;
          -webkit-box-decoration-break: clone;
          background: linear-gradient(#fff 0%, #fff 100%);
          background-size: 100% 86%;
          background-position: 0 72%;
          background-repeat: no-repeat; }
          @media screen and (max-width: 768px) {
            main.workplace-chief-message > header .container h1 > span.highlight {
              padding: 0 calc(4 / 375 * 100vw);
              font-size: calc(20 / 375 * 100vw);
              line-height: calc(29 / 375 * 100vw); } }
  main.workplace-chief-message section.career {
    position: relative;
    z-index: 10; }
    main.workplace-chief-message section.career .container {
      max-width: 1280px;
      margin: 0 auto;
      margin-top: -114px; }
      @media screen and (max-width: 768px) {
        main.workplace-chief-message section.career .container {
          width: calc(355 / 375 * 100vw);
          margin-top: calc(-88 / 375 * 100vw); } }
      main.workplace-chief-message section.career .container .wrapper {
        padding: 72px 72px 70px;
        background-color: #fff;
        max-width: 1000px;
        margin: 0 0 0 auto; }
        @media screen and (max-width: 768px) {
          main.workplace-chief-message section.career .container .wrapper {
            padding: calc(22 / 375 * 100vw) calc(27 / 375 * 100vw) calc(20 / 375 * 100vw); } }
        main.workplace-chief-message section.career .container .wrapper h2 {
          font-weight: 900;
          font-size: 28px;
          letter-spacing: 0.05em;
          line-height: 40px;
          text-align: left;
          color: #004481;
          margin-bottom: 14px; }
          @media screen and (max-width: 768px) {
            main.workplace-chief-message section.career .container .wrapper h2 {
              font-size: calc(20 / 375 * 100vw);
              line-height: calc(29 / 20);
              margin-bottom: calc(12 / 375 * 100vw); } }
        main.workplace-chief-message section.career .container .wrapper p {
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: 23px;
          text-align: left;
          color: #000; }
          @media screen and (max-width: 768px) {
            main.workplace-chief-message section.career .container .wrapper p {
              font-size: calc(12 / 375 * 100vw);
              line-height: calc(23 / 12); } }
  main.workplace-chief-message div.theme > section .container {
    width: calc(100% - 120px);
    max-width: 984px;
    margin: 0 auto;
    max-width: 1280px;
    position: relative; }
    @media screen and (max-width: 768px) {
      main.workplace-chief-message div.theme > section .container {
        width: calc(335 / 375 * 100vw); } }
    main.workplace-chief-message div.theme > section .container .marker {
      position: relative;
      font-family: "Albert Sans", sans-serif;
      font-weight: 900;
      font-size: 10px;
      line-height: 1.2;
      text-align: left;
      color: #00f5ff;
      margin-bottom: 16px; }
      @media screen and (max-width: 768px) {
        main.workplace-chief-message div.theme > section .container .marker {
          font-size: calc(10 / 375 * 100vw);
          margin-bottom: calc(8 / 375 * 100vw); } }
    main.workplace-chief-message div.theme > section .container h2 {
      position: relative;
      margin-bottom: 24px; }
      @media screen and (max-width: 768px) {
        main.workplace-chief-message div.theme > section .container h2 {
          margin-bottom: calc(24 / 375 * 100vw); } }
      main.workplace-chief-message div.theme > section .container h2 .highlight {
        font-weight: 900;
        font-size: 28px;
        letter-spacing: -0.05em;
        line-height: 40px;
        text-align: left;
        color: #fff;
        background-color: #004481;
        padding: 6px 4px;
        display: inline;
        box-decoration-break: clone;
        -webkit-box-decoration-break: clone; }
        @media screen and (max-width: 768px) {
          main.workplace-chief-message div.theme > section .container h2 .highlight {
            font-size: calc(20 / 375 * 100vw);
            letter-spacing: 0.05em;
            line-height: calc(29 / 375 * 100vw);
            padding: calc(5 / 375 * 100vw) calc(4 / 375 * 100vw); } }
    main.workplace-chief-message div.theme > section .container .copy {
      position: relative;
      font-weight: 900;
      text-decoration: underline;
      font-size: 48px;
      letter-spacing: -0.05em;
      line-height: 64px;
      text-align: left;
      color: #121212;
      margin-bottom: 40px; }
      @media screen and (max-width: 768px) {
        main.workplace-chief-message div.theme > section .container .copy {
          font-size: calc(28 / 375 * 100vw);
          letter-spacing: -0.05em;
          line-height: calc(42 / 375 * 100vw);
          margin-bottom: calc(24 / 375 * 100vw); }
          main.workplace-chief-message div.theme > section .container .copy br {
            display: none; } }
    main.workplace-chief-message div.theme > section .container .body p {
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 32px;
      text-align: left;
      color: #000; }
      @media screen and (max-width: 768px) {
        main.workplace-chief-message div.theme > section .container .body p {
          font-size: calc(14 / 375 * 100vw);
          line-height: calc(23 / 375 * 100vw); } }
  main.workplace-chief-message div.theme > section:nth-child(1) .container .content, main.workplace-chief-message div.theme > section:nth-child(3) .container .content {
    max-width: 784px;
    min-height: 650px;
    margin: 0 auto 0 348px; }
    @media screen and (max-width: 768px) {
      main.workplace-chief-message div.theme > section:nth-child(1) .container .content, main.workplace-chief-message div.theme > section:nth-child(3) .container .content {
        margin: auto;
        min-height: 0;
        max-width: none; } }
  main.workplace-chief-message div.theme > section:nth-child(1) {
    margin-top: 46px;
    padding-top: 49px; }
    @media screen and (max-width: 768px) {
      main.workplace-chief-message div.theme > section:nth-child(1) {
        margin-top: calc(64 / 375 * 100vw);
        padding-top: calc(24 / 375 * 100vw); } }
    main.workplace-chief-message div.theme > section:nth-child(1) .container:before {
      content: "";
      background-image: url("../images/story/detail/theme_01_deco_text.svg");
      background-size: 100% 100%;
      display: block;
      width: 315px;
      height: 682px;
      position: absolute;
      top: -46px;
      left: -6px; }
      @media screen and (max-width: 768px) {
        main.workplace-chief-message div.theme > section:nth-child(1) .container:before {
          background-image: url("../images/story/detail/theme_01_deco_text_sp.svg");
          width: calc(331 / 375 * 100vw);
          height: calc(51 / 375 * 100vw);
          top: calc(-24 / 375 * 100vw);
          left: calc(4 / 375 * 100vw); } }
  main.workplace-chief-message div.theme > section:nth-child(2) {
    margin-top: 110px;
    padding-top: 15px; }
    @media screen and (max-width: 768px) {
      main.workplace-chief-message div.theme > section:nth-child(2) {
        margin-top: calc(76 / 375 * 100vw);
        padding-top: calc(24 / 375 * 100vw); } }
    main.workplace-chief-message div.theme > section:nth-child(2) .container:before {
      content: "";
      background-image: url("../images/story/detail/theme_02_deco_text.svg");
      background-size: 100% 100%;
      display: block;
      width: 970px;
      height: 139px;
      position: absolute;
      top: -15px;
      right: 64px; }
      @media screen and (max-width: 768px) {
        main.workplace-chief-message div.theme > section:nth-child(2) .container:before {
          background-image: url("../images/story/detail/theme_02_deco_text_sp.svg");
          width: calc(350 / 375 * 100vw);
          height: calc(51 / 375 * 100vw);
          top: calc(-24 / 375 * 100vw);
          left: calc(4 / 375 * 100vw);
          right: auto; } }
    main.workplace-chief-message div.theme > section:nth-child(2) .container .content {
      max-width: 988px;
      margin: 0 auto; }
  main.workplace-chief-message div.theme > section:nth-child(3) {
    margin-top: 110px;
    padding-top: 49px; }
    @media screen and (max-width: 768px) {
      main.workplace-chief-message div.theme > section:nth-child(3) {
        margin-top: calc(76 / 375 * 100vw);
        padding-top: calc(24 / 375 * 100vw); } }
    main.workplace-chief-message div.theme > section:nth-child(3) .container:before {
      content: "";
      background-image: url("../images/story/detail/theme_03_deco_text.svg");
      background-size: 100% 100%;
      display: block;
      width: 315px;
      height: 682px;
      position: absolute;
      top: -46px;
      left: -6px; }
      @media screen and (max-width: 768px) {
        main.workplace-chief-message div.theme > section:nth-child(3) .container:before {
          background-image: url("../images/story/detail/theme_03_deco_text_sp.svg");
          width: calc(353 / 375 * 100vw);
          height: calc(51 / 375 * 100vw);
          top: calc(-24 / 375 * 100vw);
          left: calc(4 / 375 * 100vw);
          right: auto; } }
  main.workplace-chief-message > header {
    padding-top: calc(38 / 798 * 100%); }
    main.workplace-chief-message > header > figure {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        main.workplace-chief-message > header > figure {
          position: static; } }
      main.workplace-chief-message > header > figure img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: calc(877 / 1280 * 100%) calc(231 / 798 * 100%); }
        @media screen and (max-width: 768px) {
          main.workplace-chief-message > header > figure img {
            position: static; } }
    main.workplace-chief-message > header .container .job,
    main.workplace-chief-message > header .container .name {
      width: fit-content;
      font-weight: bold;
      font-size: 20px;
      line-height: 29px;
      text-align: left;
      color: #004481;
      padding: 0 4px;
      background-color: #fff; }
      @media screen and (max-width: 768px) {
        main.workplace-chief-message > header .container .job,
        main.workplace-chief-message > header .container .name {
          padding: 0 calc(4 / 375 * 100vw);
          font-size: calc(14 / 375 * 100vw);
          line-height: calc(20 / 375 * 100vw); } }
  main.workplace-chief-message nav.related {
    padding: 150px 0 120px; }
    main.workplace-chief-message nav.related .container {
      width: calc(100% - 120px);
      max-width: 984px;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        main.workplace-chief-message nav.related .container {
          width: calc(335 / 375 * 100vw); } }
      main.workplace-chief-message nav.related .container hgroup {
        position: relative;
        padding-left: 106px;
        margin-bottom: 56px; }
        @media screen and (max-width: 768px) {
          main.workplace-chief-message nav.related .container hgroup {
            padding-left: 0;
            margin-bottom: calc(32 / 375 * 100vw); } }
        main.workplace-chief-message nav.related .container hgroup:before {
          content: "";
          display: block;
          width: 96px;
          height: 1px;
          background-color: #004481;
          position: absolute;
          bottom: 20px;
          left: 0; }
          @media screen and (max-width: 768px) {
            main.workplace-chief-message nav.related .container hgroup:before {
              display: none; } }
        main.workplace-chief-message nav.related .container hgroup p {
          font-family: "Albert Sans", sans-serif;
          font-weight: 900;
          font-size: 10px;
          line-height: 1.2;
          text-align: left;
          color: #00f5ff; }
          @media screen and (max-width: 768px) {
            main.workplace-chief-message nav.related .container hgroup p {
              font-size: calc(10 / 375 * 100vw);
              margin-bottom: calc(6 / 375 * 100vw); } }
        main.workplace-chief-message nav.related .container hgroup h2 {
          font-weight: 900;
          font-size: 28px;
          letter-spacing: 0.05em;
          line-height: calc(40 / 28);
          text-align: left;
          color: #004481; }
          @media screen and (max-width: 768px) {
            main.workplace-chief-message nav.related .container hgroup h2 {
              font-size: calc(28 / 375 * 100vw);
              letter-spacing: -0.05em; } }
      main.workplace-chief-message nav.related .container ul {
        display: flex;
        gap: 42px; }
        @media screen and (max-width: 768px) {
          main.workplace-chief-message nav.related .container ul {
            gap: calc(16 / 376 * 100vw);
            flex-direction: column; } }
        main.workplace-chief-message nav.related .container ul li {
          flex: 0 0 calc((100% - 42px * 2) / 3); }
          @media screen and (max-width: 768px) {
            main.workplace-chief-message nav.related .container ul li {
              flex: 0 0 100%; } }
          main.workplace-chief-message nav.related .container ul li a {
            position: relative;
            display: flex;
            align-items: center;
            font-weight: bold;
            font-size: 14px;
            letter-spacing: 0.05em;
            line-height: calc(23 / 14);
            text-align: left;
            color: #004481;
            height: 80px;
            border-radius: 4px;
            background: #fff;
            border: 1px solid #fff;
            padding-left: 24px;
            border: 1px solid #004481;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.workplace-chief-message nav.related .container ul li a {
                font-size: calc(14 / 375 * 100vw);
                height: calc(80 / 375 * 100vw);
                border-radius: calc(4 / 375 * 100vw);
                padding-left: calc(24 / 375 * 100vw); } }
            main.workplace-chief-message nav.related .container ul li a:hover {
              background-color: #004481;
              color: #fff; }
              main.workplace-chief-message nav.related .container ul li a:hover:before {
                background-color: #00F5FF; }
            main.workplace-chief-message nav.related .container ul li a:before {
              content: "";
              display: block;
              position: absolute;
              top: 50%;
              right: 24px;
              transform: translateY(-50%);
              display: block;
              width: 25px;
              height: 24px;
              border-radius: 2px;
              background: #004481;
              transition: all ease .3s; }
              @media screen and (max-width: 768px) {
                main.workplace-chief-message nav.related .container ul li a:before {
                  right: calc(24 / 375 * 100vw);
                  width: calc(25 / 375 * 100vw);
                  height: calc(24 / 375 * 100vw);
                  border-radius: calc(2 / 375 * 100vw); } }
            main.workplace-chief-message nav.related .container ul li a:after {
              content: "";
              display: block;
              position: absolute;
              top: 50%;
              right: 27px;
              transform: translateY(-50%);
              display: block;
              width: 20px;
              height: 20px;
              -webkit-mask-image: url("../images/common/arrow_white.svg");
              mask-image: url("../images/common/arrow_white.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              background-color: #fff; }
              @media screen and (max-width: 768px) {
                main.workplace-chief-message nav.related .container ul li a:after {
                  right: calc(27 / 375 * 100vw);
                  width: calc(20 / 375 * 100vw);
                  height: calc(20 / 375 * 100vw); } }
    @media screen and (max-width: 768px) {
      main.workplace-chief-message nav.related {
        padding: calc(64 / 375 * 100vw) 0 calc(120 / 375 * 100vw); } }

main.workplace-evaluation {
  background-color: #F8F8F8;
  /*
  section.intro {
  	padding: 160px 0 200px;
  	overflow: hidden;
  	@include sp {
  		padding: 13rem 0 12rem;
  	}
  	.container {
  		@include common-container;
  		width: fit-content;
  		margin: 0 auto;
  		position: relative;
  		header {
  			position: relative;
  			> p {
  				font-family: "Albert Sans", sans-serif;
  				font-weight: 900;
  				font-size: 12px;
  				letter-spacing: 0.1em;
  				line-height: 14px;
  				text-align: left;
  				color: #004481;
  				margin-bottom: 20px;
  				@include sp {
  					font-size: 1rem;
  					line-height: 1.2;
  					margin-bottom: 1rem;
  				}
  			}
  			hgroup {
  				margin-bottom: 26px;
  				@include sp {
  					margin-bottom: 4.8rem;
  				}
  				p {
  					margin-bottom: 56px;
  					@include sp {
  						margin-bottom: 3.2rem;
  					}
  					img {
  						@include sp {
  							width: 30.7rem;
  						}
  					}
  				}
  				h2 {
  					.highlight {
  						font-weight: bold;
  						font-size: 24px;
  						letter-spacing: 0.05em;
  						line-height: 40px;
  						text-align: left;
  						color: #000;
  						padding: 2px 155px 3px 10px;
  						display: inline;
  						box-decoration-break: clone;
  						-webkit-box-decoration-break: clone;
  						background: linear-gradient(-90deg, rgba(255, 255, 255, 0.4) 0%, #00f5ff 100%);
  						background-size: 100% 100%;
  						background-repeat: no-repeat;			
  						@include sp {
  							font-size: 2rem;
  							line-height: 2.8rem;
  							background-size: 100% 86%;
  							background-position: 0 72%;							
  							padding: 0 1.7rem 0 0;
  						}
  					}
  				}
  			}
  		}
  		> p {
  			font-weight: 500;
  			font-size: 16px;
  			letter-spacing: 0.05em;
  			line-height: 32px;
  			text-align: left;
  			color: #000;
  			@include sp {
  				font-size: 1.4rem;
  			}
  		}
  		.decor {
  			div:nth-child(1) {
  				position: absolute;
  				left: -239px;
  				top: -142px;
  				@include sp {
  					top: -9.3rem;
  					left: -3.3rem;
  				}					
  				img {
  					@include sp {
  						width: 15.3rem;
  					}
  				}
  			}
  			div:nth-child(2) {
  				position: absolute;
  				right: -350px;
  				bottom: -165px;
  				@include sp {
  					right: -6.3rem;
  					bottom: -7rem;
  				}
  				img {
  					@include sp {
  						width: 37.8rem;
  					}
  				}
  			}				
  		}
  	}
  }
  section.environment,
  section.development,
  section.compensation {
  	@include common-bg-gray-noise;
  	padding: 353px 0 16px;
  	@include sp {
  		padding: 14.5rem 0 2.3rem;
  	}
  	.container {
  		@include common-container;
  		position: relative;
  		&:before {
  			content: "";
  			display: block;
  			background-size: 100% 100%;
  			position: absolute;
  			top: -256px;
  			left: -141px;
  			left: max(50% - 50vw, -141px);
  			@include sp {
  				top: -9.4rem;
  				left: -2rem;
  			}
  		}
  		> header {
  			position: relative;
  			padding-bottom: 60px;
  			border-bottom: 1px dashed #004481;
  			margin-bottom: 60px;
  			.marker {
  				font-family: "Albert Sans", sans-serif;
  				font-weight: 900;
  				font-size: 10px;
  				line-height: 12px;
  				text-align: left;
  				color: #00f5ff;
  				margin-bottom: 16px;
  				@include sp {
  					font-size: 1rem;
  					line-height: 1.2;
  					margin-bottom: .7rem;
  				}
  			}
  			h2 {
  				margin-bottom: 24px;
  				@include sp {
  					margin-bottom: 2.4rem;
  				}
  				.highlight {
  					font-weight: 900;
  					font-size: 28px;
  					letter-spacing: 0.05em;
  					line-height: 40px;
  					text-align: left;
  					color: #fff;
  					padding: 0 4px;
  					background-color: #004481;
  					background-size: 100% 86%;
  					background-position: 0 72%;							
  					background-repeat: no-repeat;						
  					display: inline;
  					box-decoration-break: clone;
  					-webkit-box-decoration-break: clone;						
  					@include sp {
  						font-size: 2rem;
  						line-height: 2.9rem;
  						padding: 0 .4rem;
  					}
  				}
  			}
  			.lead {
  				font-weight: bold;
  				font-size: 20px;
  				letter-spacing: 0.05em;
  				line-height: 29px;
  				text-align: left;
  				color: #000;
  				@include sp {
  					font-size: 1.4rem;
  					line-height: 2.3rem;
  				}
  			}
  		}
  		> section {
  			padding-bottom: 60px;
  			border-bottom: 1px dashed #004481;
  			margin-bottom: 60px;
  			@include sp {
  				padding-bottom: 4rem;
  				margin-top: 4rem;
  			}
  			&:last-child {
  				margin-bottom: 0;
  			}
  			h3 {
  				font-weight: 900;
  				font-size: 28px;
  				letter-spacing: 0.05em;
  				line-height: 40px;
  				text-align: left;
  				color: #004481;
  				margin-bottom: 20px;
  				@include sp {
  					font-size: 2rem;
  					line-height: 3.2rem;
  					margin-bottom: 2rem;
  				}
  			}
  			> p {
  				font-weight: 500;
  				font-size: 16px;
  				letter-spacing: 0.05em;
  				line-height: 32px;
  				text-align: left;
  				color: #000;
  				margin-bottom: 36px;
  				@include sp {
  					font-size: 1.4rem;
  					line-height: 2.3rem;
  					margin-bottom: 2.4rem;
  				}
  			}
  			figure {
  				margin-top: 36px;
  				@include sp {
  					margin-top: 2.4rem;
  				}
  			}
  			> section {
  				h4 {
  					font-weight: bold;
  					font-size: 20px;
  					letter-spacing: 0.05em;
  					line-height: 29px;
  					text-align: left;
  					color: #004481;
  					margin-bottom: 24px;
  					@include sp {
  						font-size: 1.4rem;
  						line-height: 2.3rem;
  						margin-bottom: 1.6rem;
  					}
  				}
  				figure {
  					margin-top: 34px;
  					@include sp {
  						margin-top: 2rem;
  					}
  				}
  			}
  		}
  	}
  }
  section.environment {
  	.container {
  		&:before {
  			background-image: url("../images/workplace/evaluation/environment_decor_text.svg");
  			width: 846px;
  			height: 313px;
  			@include sp {
  				background-image: url("../images/workplace/evaluation/environment_decor_text_sp.svg");
  				width: 30.3rem;
  				height: 12.1rem;
  			}
  		}			
  		> section {
  			> section {
  				background-color: #fff;
  				padding: 40px;
  				@include sp {
  					padding: 2rem 2rem 2.8rem;
  				}
  				h4 {
  					margin-bottom: 16px;
  					@include sp {
  						margin-bottom: 1.6rem;
  					}
  				}
  				p {
  					font-weight: 500;
  					font-size: 16px;
  					letter-spacing: 0.05em;
  					line-height: 32px;
  					text-align: left;
  					color: #000;
  					@include sp {
  						font-size: 1.4rem;
  						line-height: 2.3rem;
  					}
  				}			
  				.media {
  					display: flex;
  					align-items: center;
  					gap: 36px;
  					@include sp {
  						display: block;
  					}
  					.content {
  						flex: 1;
  					}
  					figure {
  						flex: 0 0 430px;
  					}
  				}
  			}
  		}
  	}
  }	
  section.development {
  	.container {
  		&:before {
  			background-image: url("../images/workplace/evaluation/development_decor_text.svg");
  			width: 886px;
  			height: 313px;
  			@include sp {
  				background-image: url("../images/workplace/evaluation/development_decor_text_sp.svg");
  				width: 31.7rem;
  				height: 12.1rem;
  			}
  		}	
  	}		
  }
  section.compensation {
  	.container {
  		&:before {
  			background-image: url("../images/workplace/evaluation/compensation_decor_text.svg");
  			width: 922px;
  			height: 316px;
  			@include sp {
  				background-image: url("../images/workplace/evaluation/compensation_decor_text_sp.svg");
  				width: 33rem;
  				height: 12.2rem;
  			}
  		}	
  	}	
  }
  */ }
  main.workplace-evaluation > header {
    position: relative;
    height: 448px;
    background-image: url("../images/common/bg_noise.png"), linear-gradient(#d1e9ff 0%, #004481 100%);
    background-size: 128px 128px, auto auto;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      main.workplace-evaluation > header {
        height: calc(200 / 375 * 100vw);
        padding-top: calc(10 / 375 * 100vw); } }
    main.workplace-evaluation > header:before {
      content: "";
      background-image: url("../images/common/heading_deco_01.svg");
      background-size: 100% 100%;
      display: block;
      width: 987px;
      height: 491px;
      position: absolute;
      top: -58.5px;
      left: calc(50% - 200px); }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation > header:before {
          width: calc(398 / 375 * 100vw);
          height: calc(398 / 987 * 491 / 375 * 100vw );
          top: calc(-41 / 375 * 100vw);
          left: calc(156 / 375 * 100vw); } }
    main.workplace-evaluation > header:after {
      content: "";
      background-image: url("../images/common/heading_deco_02.svg");
      background-size: 100% 100%;
      display: block;
      width: 338px;
      height: 209px;
      position: absolute;
      top: -28px;
      left: calc(50% - 360px); }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation > header:after {
          width: calc(137 / 375 * 100vw);
          height: calc(137 / 338 * 209 / 375 * 100vw );
          top: calc(-29 / 375 * 100vw);
          left: calc(91.5 / 375 * 100vw); } }
    main.workplace-evaluation > header .container {
      width: calc(992 / 1280 * 100vw); }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation > header .container {
          width: calc(335 / 375 * 100vw); } }
      main.workplace-evaluation > header .container:before {
        will-change: background-position; }
      main.workplace-evaluation > header .container hgroup {
        position: relative; }
        main.workplace-evaluation > header .container hgroup p {
          font-family: "Albert Sans", sans-serif;
          font-weight: 900;
          font-size: 10px;
          line-height: 1.2;
          text-align: left;
          color: #00f5ff;
          margin-bottom: 8px; }
          @media screen and (max-width: 768px) {
            main.workplace-evaluation > header .container hgroup p {
              font-size: calc(10 / 375 * 100vw);
              margin-bottom: 0; } }
        main.workplace-evaluation > header .container hgroup h1 {
          font-weight: 900;
          font-size: 48px;
          letter-spacing: -0.05em;
          line-height: 70px;
          text-align: left;
          color: #fff; }
          @media screen and (max-width: 768px) {
            main.workplace-evaluation > header .container hgroup h1 {
              font-size: calc(28 / 375 * 100vw);
              line-height: calc(40 / 28); } }
@keyframes workplace-evaluation-loop {
  0% {
    background-position: 0px 0px; }
  100% {
    background-position: -1627px 0px; } }
@keyframes workplace-evaluation-loop-sp {
  0% {
    background-position: 0vw 0%; }
  100% {
    background-position: calc(-1627 * 55 / 202 / 375 * 100vw) 0%; } }
    main.workplace-evaluation > header .container:before {
      content: "";
      display: block;
      background-image: url("../images/workplace/evaluation/visual_deco_text.svg");
      background-size: 1627px 254px;
      background-repeat: repeat-x;
      height: 202px;
      position: absolute;
      left: 0;
      right: 0;
      bottom: -4px;
      animation: workplace-evaluation-loop linear infinite calc(1627s / 100); }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation > header .container:before {
          background-size: calc(1627 * 55 / 202 / 375 * 100vw) calc(254 * 55 / 202 / 375 * 100vw);
          height: calc(55 / 375 * 100vw);
          bottom: calc(-4 * 55 / 202 / 375 * 100vw);
          animation: workplace-evaluation-loop-sp linear infinite calc(1627s / 100 * 80 / 202); } }
  main.workplace-evaluation > section.policy,
  main.workplace-evaluation > section.system {
    overflow: hidden; }
    main.workplace-evaluation > section.policy .container,
    main.workplace-evaluation > section.system .container {
      position: relative;
      width: calc(100% - 80px * 2);
      max-width: 992px;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation > section.policy .container,
        main.workplace-evaluation > section.system .container {
          width: calc(350 / 390 * 100vw); } }
      main.workplace-evaluation > section.policy .container header,
      main.workplace-evaluation > section.system .container header {
        margin-bottom: 32px; }
        @media screen and (max-width: 768px) {
          main.workplace-evaluation > section.policy .container header,
          main.workplace-evaluation > section.system .container header {
            margin-bottom: calc(16 / 390 * 100vw); } }
        main.workplace-evaluation > section.policy .container header h2,
        main.workplace-evaluation > section.system .container header h2 {
          font-family: "Albert Sans", sans-serif;
          font-style: normal;
          font-weight: 700;
          font-size: 12px;
          line-height: 110%;
          color: #004481;
          margin-bottom: 20px; }
          @media screen and (max-width: 768px) {
            main.workplace-evaluation > section.policy .container header h2,
            main.workplace-evaluation > section.system .container header h2 {
              font-size: calc(12 / 390 * 100vw);
              margin-bottom: calc(16 / 390 * 100vw); } }
        main.workplace-evaluation > section.policy .container header p:nth-child(2),
        main.workplace-evaluation > section.system .container header p:nth-child(2) {
          margin-bottom: 32px; }
          @media screen and (max-width: 768px) {
            main.workplace-evaluation > section.policy .container header p:nth-child(2),
            main.workplace-evaluation > section.system .container header p:nth-child(2) {
              margin-bottom: calc(24 / 390 * 100vw); } }
        main.workplace-evaluation > section.policy .container header p:nth-child(3),
        main.workplace-evaluation > section.system .container header p:nth-child(3) {
          font-style: normal;
          font-weight: 700;
          font-size: 24px;
          line-height: 150%;
          color: #000000;
          padding: 0px 120px 0px 16px;
          width: 472px;
          height: 36px;
          background: linear-gradient(90deg, #00F5FF 0%, rgba(0, 245, 255, 0) 100%); }
          @media screen and (max-width: 768px) {
            main.workplace-evaluation > section.policy .container header p:nth-child(3),
            main.workplace-evaluation > section.system .container header p:nth-child(3) {
              font-size: calc(16 / 390 * 100vw);
              padding: calc(4 / 390 * 100vw) calc(16 / 390 * 100vw);
              width: 100%;
              height: calc(32 / 390 * 100vw); } }
      main.workplace-evaluation > section.policy .container > p,
      main.workplace-evaluation > section.system .container > p {
        font-style: normal;
        font-weight: 700;
        font-size: 16px;
        line-height: 200%;
        color: #000000; }
        @media screen and (max-width: 768px) {
          main.workplace-evaluation > section.policy .container > p,
          main.workplace-evaluation > section.system .container > p {
            font-size: calc(16 / 390 * 100vw); } }
  main.workplace-evaluation > section.policy {
    background-color: #fff; }
    main.workplace-evaluation > section.policy .container {
      padding: 160px 0 120px; }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation > section.policy .container {
          padding: calc(80 / 390 * 100vw) 0 calc(120 / 390 * 100vw); } }
      main.workplace-evaluation > section.policy .container:before {
        content: "";
        display: block;
        width: 329px;
        height: 286px;
        background-image: url("../images/workplace/evaluation/policy_decor_01.png");
        background-size: 100% 100%;
        position: absolute;
        top: 23px;
        left: -215px; }
        @media screen and (max-width: 768px) {
          main.workplace-evaluation > section.policy .container:before {
            width: calc(141 / 390 * 100vw);
            height: calc(122 / 390 * 100vw);
            top: calc(-12 / 390 * 100vw);
            left: calc(-46 / 390 * 100vw); } }
      main.workplace-evaluation > section.policy .container:after {
        content: "";
        display: block;
        width: 877px;
        height: 472px;
        background-image: url("../images/workplace/evaluation/policy_decor_02.png");
        background-size: 100% 100%;
        position: absolute;
        top: 251px;
        right: -205px; }
        @media screen and (max-width: 768px) {
          main.workplace-evaluation > section.policy .container:after {
            width: calc(457 / 390 * 100vw);
            height: calc(246 / 390 * 100vw);
            top: calc(292 / 390 * 100vw);
            right: calc(-107 / 390 * 100vw); } }
      main.workplace-evaluation > section.policy .container > * {
        position: relative;
        z-index: 1; }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation > section.policy .container header p:nth-child(2) img {
          width: calc(316 / 390 * 100vw); } }
      main.workplace-evaluation > section.policy .container section.promise {
        margin-top: 32px; }
        @media screen and (max-width: 768px) {
          main.workplace-evaluation > section.policy .container section.promise {
            margin-top: calc(32 / 390 * 100vw); } }
        main.workplace-evaluation > section.policy .container section.promise h3 {
          display: flex;
          justify-content: center;
          overflow: hidden;
          margin-bottom: 32px; }
          @media screen and (max-width: 768px) {
            main.workplace-evaluation > section.policy .container section.promise h3 {
              margin-bottom: calc(32 / 390 * 100vw); } }
          main.workplace-evaluation > section.policy .container section.promise h3 span {
            position: relative;
            display: block;
            font-weight: 700;
            font-size: 24px;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.1em;
            color: #004481; }
            @media screen and (max-width: 768px) {
              main.workplace-evaluation > section.policy .container section.promise h3 span {
                font-size: calc(24 / 390 * 100vw); } }
            main.workplace-evaluation > section.policy .container section.promise h3 span:before, main.workplace-evaluation > section.policy .container section.promise h3 span:after {
              content: "";
              display: block;
              height: 1px;
              width: 50vw;
              background-color: #004481;
              position: absolute;
              top: 50%; }
            main.workplace-evaluation > section.policy .container section.promise h3 span:before {
              left: calc(100% + 24px); }
              @media screen and (max-width: 768px) {
                main.workplace-evaluation > section.policy .container section.promise h3 span:before {
                  left: calc(100% + 24 / 390 * 100vw); } }
            main.workplace-evaluation > section.policy .container section.promise h3 span:after {
              right: calc(100% + 24px); }
              @media screen and (max-width: 768px) {
                main.workplace-evaluation > section.policy .container section.promise h3 span:after {
                  right: calc(100% + 24 / 390 * 100vw); } }
        main.workplace-evaluation > section.policy .container section.promise ul {
          display: flex;
          gap: 24px;
          padding-top: 60px; }
          @media screen and (max-width: 768px) {
            main.workplace-evaluation > section.policy .container section.promise ul {
              flex-direction: column;
              gap: calc(80 / 390 * 100vw);
              padding-top: calc(60 / 390 * 100vw); } }
          main.workplace-evaluation > section.policy .container section.promise ul li {
            flex: 1;
            position: relative;
            padding: 80px 20px 32px;
            background: #004481;
            border-radius: 8px; }
            @media screen and (max-width: 768px) {
              main.workplace-evaluation > section.policy .container section.promise ul li {
                flex: initial;
                padding: calc(80 / 390 * 100vw) calc(20 / 390 * 100vw) calc(32 / 390 * 100vw);
                border-radius: calc(8 / 390 * 100vw);
                margin-top: 0; } }
            main.workplace-evaluation > section.policy .container section.promise ul li figure {
              position: absolute;
              width: 120px;
              height: 120px;
              border-radius: 50%;
              border: 2px solid #004481;
              left: calc(50% - 60px);
              top: -60px; }
              @media screen and (max-width: 768px) {
                main.workplace-evaluation > section.policy .container section.promise ul li figure {
                  width: calc(120 / 390 * 100vw);
                  height: calc(120 / 390 * 100vw);
                  left: calc(50% - 60 / 390 * 100vw);
                  top: calc(-60 / 390 * 100vw); } }
            main.workplace-evaluation > section.policy .container section.promise ul li p:nth-child(2) {
              font-style: normal;
              font-weight: 700;
              font-size: 32px;
              line-height: 100%;
              text-align: center;
              letter-spacing: 0.1em;
              color: #FFFFFF;
              margin-bottom: 16px; }
              @media screen and (max-width: 768px) {
                main.workplace-evaluation > section.policy .container section.promise ul li p:nth-child(2) {
                  font-size: calc(32 / 390 * 100vw);
                  margin-bottom: calc(16 / 390 * 100vw); } }
            main.workplace-evaluation > section.policy .container section.promise ul li p:nth-child(3) {
              font-style: normal;
              font-weight: 700;
              font-size: 16px;
              line-height: 100%;
              text-align: center;
              letter-spacing: 0.05em;
              color: #FFFFFF;
              margin-bottom: 24px; }
              @media screen and (max-width: 768px) {
                main.workplace-evaluation > section.policy .container section.promise ul li p:nth-child(3) {
                  font-size: calc(16 / 390 * 100vw);
                  margin-bottom: calc(24 / 390 * 100vw); } }
            main.workplace-evaluation > section.policy .container section.promise ul li p:nth-child(4) {
              font-style: normal;
              font-weight: 500;
              font-size: 16px;
              line-height: 150%;
              text-align: center;
              color: #FFFFFF; }
              @media screen and (max-width: 768px) {
                main.workplace-evaluation > section.policy .container section.promise ul li p:nth-child(4) {
                  font-size: calc(16 / 390 * 100vw); } }
  main.workplace-evaluation > section.system .container {
    padding: 160px 0 0; }
    @media screen and (max-width: 768px) {
      main.workplace-evaluation > section.system .container {
        padding: calc(80 / 390 * 100vw) 0 calc(40 / 390 * 100vw); } }
    main.workplace-evaluation > section.system .container:before {
      content: "";
      display: block;
      width: 823px;
      height: 792px;
      background-image: url("../images/workplace/evaluation/system_decor_01.png");
      background-size: 100% 100%;
      position: absolute;
      top: -215px;
      left: -272px; }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation > section.system .container:before {
          width: calc(394 / 390 * 100vw);
          height: calc(379 / 390 * 100vw);
          top: calc(-98	 / 390 * 100vw);
          left: calc(-121 / 390 * 100vw); } }
    main.workplace-evaluation > section.system .container:after {
      content: "";
      display: block;
      width: 329px;
      height: 286px;
      background-image: url("../images/workplace/evaluation/system_decor_02.png");
      background-size: 100% 100%;
      position: absolute;
      bottom: -137px;
      right: -208px; }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation > section.system .container:after {
          width: calc(141 / 390 * 100vw);
          height: calc(122 / 390 * 100vw);
          bottom: calc(0 / 390 * 100vw);
          right: calc(-51 / 390 * 100vw);
          z-index: 2; } }
    main.workplace-evaluation > section.system .container > * {
      position: relative;
      z-index: 1; }
    main.workplace-evaluation > section.system .container header p:nth-child(2) {
      margin-bottom: calc(16 / 390 * 100vw); }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation > section.system .container header p:nth-child(2) img {
          width: calc(298 / 390 * 100vw); } }
    main.workplace-evaluation > section.system .container figure {
      padding: 40px;
      text-align: center;
      background-color: #fff;
      margin-top: 32px; }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation > section.system .container figure {
          padding: calc(24 / 390 * 100vw);
          margin-top: calc(32 / 390 * 100vw); } }
      main.workplace-evaluation > section.system .container figure img {
        max-width: 640px; }
        @media screen and (max-width: 768px) {
          main.workplace-evaluation > section.system .container figure img {
            max-width: 100%; } }
  main.workplace-evaluation section.roles .container,
  main.workplace-evaluation section.goal .container,
  main.workplace-evaluation section.performance .container {
    width: calc(100% - 80px * 2);
    max-width: 992px;
    margin: 0 auto;
    padding: 160px 0 0; }
    @media screen and (max-width: 768px) {
      main.workplace-evaluation section.roles .container,
      main.workplace-evaluation section.goal .container,
      main.workplace-evaluation section.performance .container {
        width: calc(350 / 390 * 100vw);
        padding: calc(80 / 390 * 100vw) 0 0; } }
    main.workplace-evaluation section.roles .container hgroup,
    main.workplace-evaluation section.goal .container hgroup,
    main.workplace-evaluation section.performance .container hgroup {
      margin-bottom: 48px; }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation section.roles .container hgroup,
        main.workplace-evaluation section.goal .container hgroup,
        main.workplace-evaluation section.performance .container hgroup {
          margin-bottom: calc(48 / 390 * 100vw); } }
      main.workplace-evaluation section.roles .container hgroup p,
      main.workplace-evaluation section.goal .container hgroup p,
      main.workplace-evaluation section.performance .container hgroup p {
        height: 144px;
        padding-top: 15px;
        margin-left: -80px; }
        @media screen and (max-width: 768px) {
          main.workplace-evaluation section.roles .container hgroup p,
          main.workplace-evaluation section.goal .container hgroup p,
          main.workplace-evaluation section.performance .container hgroup p {
            height: calc(50 / 390 * 100vw);
            padding-top: calc(4 / 390 * 100vw);
            margin-bottom: calc(8 / 390 * 100vw);
            margin-left: calc(-20 / 390 * 100vw); } }
      main.workplace-evaluation section.roles .container hgroup h2,
      main.workplace-evaluation section.goal .container hgroup h2,
      main.workplace-evaluation section.performance .container hgroup h2 {
        font-style: normal;
        font-weight: 700;
        font-size: 20px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 12px 0 12px 24px;
        width: 225px;
        height: 44px;
        background: linear-gradient(90deg, #004481 35%, rgba(0, 68, 129, 0.75) 70%, rgba(0, 68, 129, 0) 100%);
        border-radius: 0px;
        margin-top: -44px; }
        @media screen and (max-width: 768px) {
          main.workplace-evaluation section.roles .container hgroup h2,
          main.workplace-evaluation section.goal .container hgroup h2,
          main.workplace-evaluation section.performance .container hgroup h2 {
            font-size: calc(16 / 390 * 100vw);
            padding: calc(12 / 390 * 100vw) calc(20 / 390 * 100vw);
            margin: 0 calc(-20 / 390 * 100vw);
            width: auto;
            height: calc(40 / 390 * 100vw);
            margin-top: 0; } }
    main.workplace-evaluation section.roles .container > section + section,
    main.workplace-evaluation section.goal .container > section + section,
    main.workplace-evaluation section.performance .container > section + section {
      padding-top: 60px;
      margin-top: 60px;
      border-top: 1px dashed #004481; }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation section.roles .container > section + section,
        main.workplace-evaluation section.goal .container > section + section,
        main.workplace-evaluation section.performance .container > section + section {
          padding-top: calc(40 / 390 * 100vw);
          margin-top: calc(40 / 390 * 100vw); } }
    main.workplace-evaluation section.roles .container > section h3,
    main.workplace-evaluation section.goal .container > section h3,
    main.workplace-evaluation section.performance .container > section h3 {
      position: relative;
      font-style: normal;
      font-weight: 900;
      font-size: 28px;
      line-height: 150%;
      color: #004481;
      padding-left: 34px;
      margin-bottom: 24px; }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation section.roles .container > section h3,
        main.workplace-evaluation section.goal .container > section h3,
        main.workplace-evaluation section.performance .container > section h3 {
          font-size: calc(24 / 390 * 100vw);
          padding-left: calc(27 / 390 * 100vw);
          margin-bottom: calc(24 / 390 * 100vw); } }
      main.workplace-evaluation section.roles .container > section h3:before,
      main.workplace-evaluation section.goal .container > section h3:before,
      main.workplace-evaluation section.performance .container > section h3:before {
        content: "";
        display: block;
        position: absolute;
        top: 12px;
        left: 0;
        width: 18px;
        height: 18px;
        background: #004481; }
        @media screen and (max-width: 768px) {
          main.workplace-evaluation section.roles .container > section h3:before,
          main.workplace-evaluation section.goal .container > section h3:before,
          main.workplace-evaluation section.performance .container > section h3:before {
            width: calc(18 / 390 * 100vw);
            height: calc(18 / 390 * 100vw);
            top: calc(9 / 390 * 100vw); } }
    main.workplace-evaluation section.roles .container > section > p,
    main.workplace-evaluation section.goal .container > section > p,
    main.workplace-evaluation section.performance .container > section > p {
      font-style: normal;
      font-weight: 500;
      font-size: 16px;
      line-height: 200%;
      color: #000000; }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation section.roles .container > section > p,
        main.workplace-evaluation section.goal .container > section > p,
        main.workplace-evaluation section.performance .container > section > p {
          font-size: calc(16 / 390 * 100vw); } }
    main.workplace-evaluation section.roles .container > section > figure,
    main.workplace-evaluation section.goal .container > section > figure,
    main.workplace-evaluation section.performance .container > section > figure {
      margin-top: 24px; }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation section.roles .container > section > figure,
        main.workplace-evaluation section.goal .container > section > figure,
        main.workplace-evaluation section.performance .container > section > figure {
          margin-top: calc(24 / 390 * 100vw); } }
    main.workplace-evaluation section.roles .container > section > section,
    main.workplace-evaluation section.goal .container > section > section,
    main.workplace-evaluation section.performance .container > section > section {
      padding: 40px;
      background-color: #fff;
      margin-top: 24px; }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation section.roles .container > section > section,
        main.workplace-evaluation section.goal .container > section > section,
        main.workplace-evaluation section.performance .container > section > section {
          margin-top: calc(24 / 390 * 100vw);
          padding: calc(24 / 390 * 100vw) calc(16 / 390 * 100vw); } }
      main.workplace-evaluation section.roles .container > section > section h4,
      main.workplace-evaluation section.goal .container > section > section h4,
      main.workplace-evaluation section.performance .container > section > section h4 {
        position: relative;
        font-style: normal;
        font-weight: 900;
        font-size: 20px;
        line-height: 150%;
        color: #004481;
        padding-left: 20px;
        margin-bottom: 40px; }
        @media screen and (max-width: 768px) {
          main.workplace-evaluation section.roles .container > section > section h4,
          main.workplace-evaluation section.goal .container > section > section h4,
          main.workplace-evaluation section.performance .container > section > section h4 {
            font-size: calc(20 / 390 * 100vw);
            padding-left: calc(20 / 390 * 100vw);
            margin-bottom: calc(16 / 390 * 100vw); } }
        main.workplace-evaluation section.roles .container > section > section h4:before,
        main.workplace-evaluation section.goal .container > section > section h4:before,
        main.workplace-evaluation section.performance .container > section > section h4:before {
          content: "";
          display: block;
          position: absolute;
          top: 9px;
          left: 0;
          width: 12px;
          height: 12px;
          background: #004481; }
          @media screen and (max-width: 768px) {
            main.workplace-evaluation section.roles .container > section > section h4:before,
            main.workplace-evaluation section.goal .container > section > section h4:before,
            main.workplace-evaluation section.performance .container > section > section h4:before {
              width: calc(12 / 390 * 100vw);
              height: calc(12 / 390 * 100vw);
              top: calc(9 / 390 * 100vw); } }
      main.workplace-evaluation section.roles .container > section > section p,
      main.workplace-evaluation section.goal .container > section > section p,
      main.workplace-evaluation section.performance .container > section > section p {
        font-style: normal;
        font-weight: 500;
        font-size: 16px;
        line-height: 200%;
        color: #000000; }
        @media screen and (max-width: 768px) {
          main.workplace-evaluation section.roles .container > section > section p,
          main.workplace-evaluation section.goal .container > section > section p,
          main.workplace-evaluation section.performance .container > section > section p {
            font-size: calc(16 / 390 * 100vw); } }
  @media screen and (max-width: 768px) {
    main.workplace-evaluation section.roles .container hgroup p img {
      width: calc(150 / 390 * 100vw); } }
  main.workplace-evaluation section.roles .container section.system section {
    display: flex;
    gap: 40px; }
    @media screen and (max-width: 768px) {
      main.workplace-evaluation section.roles .container section.system section {
        flex-direction: column;
        gap: calc(16 / 390 * 100vw); } }
    main.workplace-evaluation section.roles .container section.system section figure {
      flex: 0 0 430px; }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation section.roles .container section.system section figure {
          flex: initial; } }
  @media screen and (max-width: 768px) {
    main.workplace-evaluation section.goal .container hgroup p img {
      width: calc(327 / 390 * 100vw); } }
  main.workplace-evaluation section.goal .container section section.flow {
    padding: 0;
    background-color: transparent; }
    main.workplace-evaluation section.goal .container section section.flow h4 {
      margin-bottom: 24px; }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation section.goal .container section section.flow h4 {
          margin-bottom: calc(24 / 390 * 100vw); } }
  main.workplace-evaluation section.performance .container hgroup p {
    height: 288px; }
    @media screen and (max-width: 768px) {
      main.workplace-evaluation section.performance .container hgroup p {
        height: calc(100 / 390 * 100vw); } }
    @media screen and (max-width: 768px) {
      main.workplace-evaluation section.performance .container hgroup p img {
        width: calc(373 / 390 * 100vw); } }
  main.workplace-evaluation nav.related {
    padding: 100px 0 160px; }
    main.workplace-evaluation nav.related .container {
      width: calc(100% - 120px);
      max-width: 984px;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        main.workplace-evaluation nav.related .container {
          width: calc(335 / 375 * 100vw); } }
      main.workplace-evaluation nav.related .container hgroup {
        position: relative;
        padding-left: 106px;
        margin-bottom: 56px; }
        @media screen and (max-width: 768px) {
          main.workplace-evaluation nav.related .container hgroup {
            padding-left: 0;
            margin-bottom: calc(32 / 375 * 100vw); } }
        main.workplace-evaluation nav.related .container hgroup:before {
          content: "";
          display: block;
          width: 96px;
          height: 1px;
          background-color: #004481;
          position: absolute;
          bottom: 20px;
          left: 0; }
          @media screen and (max-width: 768px) {
            main.workplace-evaluation nav.related .container hgroup:before {
              display: none; } }
        main.workplace-evaluation nav.related .container hgroup p {
          font-family: "Albert Sans", sans-serif;
          font-weight: 900;
          font-size: 10px;
          line-height: 1.2;
          text-align: left;
          color: #00f5ff; }
          @media screen and (max-width: 768px) {
            main.workplace-evaluation nav.related .container hgroup p {
              font-size: calc(10 / 375 * 100vw);
              margin-bottom: calc(6 / 375 * 100vw); } }
        main.workplace-evaluation nav.related .container hgroup h2 {
          font-weight: 900;
          font-size: 28px;
          letter-spacing: 0.05em;
          line-height: calc(40 / 28);
          text-align: left;
          color: #004481; }
          @media screen and (max-width: 768px) {
            main.workplace-evaluation nav.related .container hgroup h2 {
              font-size: calc(28 / 375 * 100vw);
              letter-spacing: -0.05em; } }
      main.workplace-evaluation nav.related .container ul {
        display: flex;
        gap: 42px; }
        @media screen and (max-width: 768px) {
          main.workplace-evaluation nav.related .container ul {
            gap: calc(16 / 376 * 100vw);
            flex-direction: column; } }
        main.workplace-evaluation nav.related .container ul li {
          flex: 0 0 calc((100% - 42px * 2) / 3); }
          @media screen and (max-width: 768px) {
            main.workplace-evaluation nav.related .container ul li {
              flex: 0 0 100%; } }
          main.workplace-evaluation nav.related .container ul li a {
            position: relative;
            display: flex;
            align-items: center;
            font-weight: bold;
            font-size: 14px;
            letter-spacing: 0.05em;
            line-height: calc(23 / 14);
            text-align: left;
            color: #004481;
            height: 80px;
            border-radius: 4px;
            background: #fff;
            border: 1px solid #fff;
            padding-left: 24px;
            border: 1px solid #004481;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.workplace-evaluation nav.related .container ul li a {
                font-size: calc(14 / 375 * 100vw);
                height: calc(80 / 375 * 100vw);
                border-radius: calc(4 / 375 * 100vw);
                padding-left: calc(24 / 375 * 100vw); } }
            main.workplace-evaluation nav.related .container ul li a:hover {
              background-color: #004481;
              color: #fff; }
              main.workplace-evaluation nav.related .container ul li a:hover:before {
                background-color: #00F5FF; }
            main.workplace-evaluation nav.related .container ul li a:before {
              content: "";
              display: block;
              position: absolute;
              top: 50%;
              right: 24px;
              transform: translateY(-50%);
              display: block;
              width: 25px;
              height: 24px;
              border-radius: 2px;
              background: #004481;
              transition: all ease .3s; }
              @media screen and (max-width: 768px) {
                main.workplace-evaluation nav.related .container ul li a:before {
                  right: calc(24 / 375 * 100vw);
                  width: calc(25 / 375 * 100vw);
                  height: calc(24 / 375 * 100vw);
                  border-radius: calc(2 / 375 * 100vw); } }
            main.workplace-evaluation nav.related .container ul li a:after {
              content: "";
              display: block;
              position: absolute;
              top: 50%;
              right: 27px;
              transform: translateY(-50%);
              display: block;
              width: 20px;
              height: 20px;
              -webkit-mask-image: url("../images/common/arrow_white.svg");
              mask-image: url("../images/common/arrow_white.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              background-color: #fff; }
              @media screen and (max-width: 768px) {
                main.workplace-evaluation nav.related .container ul li a:after {
                  right: calc(27 / 375 * 100vw);
                  width: calc(20 / 375 * 100vw);
                  height: calc(20 / 375 * 100vw); } }
    @media screen and (max-width: 768px) {
      main.workplace-evaluation nav.related {
        padding: 6rem 0 8rem; } }

main.workplace-culture > header {
  position: relative;
  height: 448px;
  background-image: url("../images/common/bg_noise.png"), linear-gradient(#d1e9ff 0%, #004481 100%);
  background-size: 128px 128px, auto auto;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.workplace-culture > header {
      height: calc(200 / 375 * 100vw);
      padding-top: calc(10 / 375 * 100vw); } }
  main.workplace-culture > header:before {
    content: "";
    background-image: url("../images/common/heading_deco_01.svg");
    background-size: 100% 100%;
    display: block;
    width: 987px;
    height: 491px;
    position: absolute;
    top: -58.5px;
    left: calc(50% - 200px); }
    @media screen and (max-width: 768px) {
      main.workplace-culture > header:before {
        width: calc(398 / 375 * 100vw);
        height: calc(398 / 987 * 491 / 375 * 100vw );
        top: calc(-41 / 375 * 100vw);
        left: calc(156 / 375 * 100vw); } }
  main.workplace-culture > header:after {
    content: "";
    background-image: url("../images/common/heading_deco_02.svg");
    background-size: 100% 100%;
    display: block;
    width: 338px;
    height: 209px;
    position: absolute;
    top: -28px;
    left: calc(50% - 360px); }
    @media screen and (max-width: 768px) {
      main.workplace-culture > header:after {
        width: calc(137 / 375 * 100vw);
        height: calc(137 / 338 * 209 / 375 * 100vw );
        top: calc(-29 / 375 * 100vw);
        left: calc(91.5 / 375 * 100vw); } }
  main.workplace-culture > header .container {
    width: calc(992 / 1280 * 100vw); }
    @media screen and (max-width: 768px) {
      main.workplace-culture > header .container {
        width: calc(335 / 375 * 100vw); } }
    main.workplace-culture > header .container:before {
      will-change: background-position; }
    main.workplace-culture > header .container hgroup {
      position: relative; }
      main.workplace-culture > header .container hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 10px;
        line-height: 1.2;
        text-align: left;
        color: #00f5ff;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          main.workplace-culture > header .container hgroup p {
            font-size: calc(10 / 375 * 100vw);
            margin-bottom: 0; } }
      main.workplace-culture > header .container hgroup h1 {
        font-weight: 900;
        font-size: 48px;
        letter-spacing: -0.05em;
        line-height: 70px;
        text-align: left;
        color: #fff; }
        @media screen and (max-width: 768px) {
          main.workplace-culture > header .container hgroup h1 {
            font-size: calc(28 / 375 * 100vw);
            line-height: calc(40 / 28); } }
@keyframes workplace-culture-loop {
  0% {
    background-position: 0px 0px; }
  100% {
    background-position: -1151px 0px; } }
@keyframes workplace-culture-loop-sp {
  0% {
    background-position: 0vw 0%; }
  100% {
    background-position: calc(-1151 * 55 / 202 / 375 * 100vw) 0%; } }
  main.workplace-culture > header .container:before {
    content: "";
    display: block;
    background-image: url("../images/workplace/culture/visual_deco_text.svg");
    background-size: 1151px 207px;
    background-repeat: repeat-x;
    height: 202px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    animation: workplace-culture-loop linear infinite calc(1151s / 100); }
    @media screen and (max-width: 768px) {
      main.workplace-culture > header .container:before {
        background-size: calc(1151 * 55 / 202 / 375 * 100vw) calc(207 * 55 / 202 / 375 * 100vw);
        height: calc(55 / 375 * 100vw);
        bottom: calc(-4 * 55 / 202 / 375 * 100vw);
        animation: workplace-culture-loop-sp linear infinite calc(1151s / 100 * 80 / 202); } }
main.workplace-culture section.intro {
  position: relative;
  background-color: #F8F8F8;
  overflow: hidden; }
  main.workplace-culture section.intro .container {
    position: relative;
    width: calc(100% - 160px);
    max-width: 992px;
    margin: 0 auto;
    padding: 160px 0 80px; }
    @media screen and (max-width: 768px) {
      main.workplace-culture section.intro .container {
        width: calc(100% - 40 / 390 * 100vw);
        padding: calc(56 / 390 * 100vw) 0; } }
    main.workplace-culture section.intro .container hgroup {
      position: relative;
      margin-bottom: 48px; }
      @media screen and (max-width: 768px) {
        main.workplace-culture section.intro .container hgroup {
          margin-bottom: calc(24 / 390 * 100vw); } }
      main.workplace-culture section.intro .container hgroup h2 {
        font-style: normal;
        font-weight: 900;
        font-size: 80px;
        line-height: 110%;
        letter-spacing: -0.1em;
        color: #004481; }
        @media screen and (max-width: 768px) {
          main.workplace-culture section.intro .container hgroup h2 {
            font-size: calc(40 / 390 * 100vw);
            margin-bottom: calc(24 / 390 * 100vw); } }
      main.workplace-culture section.intro .container hgroup p {
        position: absolute;
        top: 35px;
        left: 496px;
        font-family: "Albert Sans", sans-serif;
        font-style: normal;
        font-weight: 500;
        font-size: 12px;
        line-height: 150%;
        color: #00F5FF;
        mix-blend-mode: multiply; }
        @media screen and (max-width: 768px) {
          main.workplace-culture section.intro .container hgroup p {
            position: static;
            font-size: calc(12 / 390 * 100vw); } }
    main.workplace-culture section.intro .container > p {
      font-style: normal;
      font-weight: 700;
      font-size: 16px;
      line-height: 200%;
      color: #000000; }
      @media screen and (max-width: 768px) {
        main.workplace-culture section.intro .container > p {
          font-size: calc(16 / 390 * 100vw); } }
main.workplace-culture section.value,
main.workplace-culture section.culture,
main.workplace-culture section.system {
  background-color: #F8F8F8; }
  main.workplace-culture section.value .container,
  main.workplace-culture section.culture .container,
  main.workplace-culture section.system .container {
    position: relative;
    width: calc(100% - 80px * 2);
    max-width: 1120px;
    margin: 0 auto;
    padding: 160px 0 80px; }
    @media screen and (max-width: 768px) {
      main.workplace-culture section.value .container,
      main.workplace-culture section.culture .container,
      main.workplace-culture section.system .container {
        width: calc(100% - (20 / 390 * 100vw) * 2);
        padding: calc(56 / 390 * 100vw) 0 0; } }
    main.workplace-culture section.value .container:before,
    main.workplace-culture section.culture .container:before,
    main.workplace-culture section.system .container:before {
      content: "";
      display: block;
      background-image: url("../images/workplace/culture/section_decor.png");
      background-size: 100% 100%;
      width: 1275px;
      height: 1225px;
      position: absolute;
      top: -317px;
      left: -260px; }
    main.workplace-culture section.value .container > *,
    main.workplace-culture section.culture .container > *,
    main.workplace-culture section.system .container > * {
      position: relative; }
    main.workplace-culture section.value .container > header,
    main.workplace-culture section.culture .container > header,
    main.workplace-culture section.system .container > header {
      margin-bottom: 48px; }
      @media screen and (max-width: 768px) {
        main.workplace-culture section.value .container > header,
        main.workplace-culture section.culture .container > header,
        main.workplace-culture section.system .container > header {
          margin-bottom: calc(48 / 390 * 100vw); } }
      main.workplace-culture section.value .container > header .marker,
      main.workplace-culture section.culture .container > header .marker,
      main.workplace-culture section.system .container > header .marker {
        height: 44px;
        margin-left: -80px; }
        @media screen and (max-width: 768px) {
          main.workplace-culture section.value .container > header .marker,
          main.workplace-culture section.culture .container > header .marker,
          main.workplace-culture section.system .container > header .marker {
            height: calc(40 / 390 * 100vw);
            margin-left: calc(-20 / 390 * 100vw);
            margin-bottom: calc(10 / 390 * 100vw); } }
      main.workplace-culture section.value .container > header hgroup p,
      main.workplace-culture section.culture .container > header hgroup p,
      main.workplace-culture section.system .container > header hgroup p {
        height: 216px;
        padding-top: 24px;
        margin-left: -80px; }
        @media screen and (max-width: 768px) {
          main.workplace-culture section.value .container > header hgroup p,
          main.workplace-culture section.culture .container > header hgroup p,
          main.workplace-culture section.system .container > header hgroup p {
            padding-top: 0;
            height: calc(58 / 390 * 100vw);
            margin-left: calc(-20 / 390 * 100vw);
            margin-bottom: calc(10 / 390 * 100vw); } }
      main.workplace-culture section.value .container > header hgroup h2,
      main.workplace-culture section.culture .container > header hgroup h2,
      main.workplace-culture section.system .container > header hgroup h2 {
        position: relative;
        margin-top: -53px;
        font-style: normal;
        font-weight: 700;
        font-size: 20px;
        line-height: 100%;
        letter-spacing: 0.05em;
        color: #FFFFFF;
        padding: 12px 0 12px 24px;
        width: 645px;
        height: 44px;
        background: linear-gradient(90deg, #004481 35%, rgba(0, 68, 129, 0.75) 70%, rgba(0, 68, 129, 0) 100%); }
        @media screen and (max-width: 768px) {
          main.workplace-culture section.value .container > header hgroup h2,
          main.workplace-culture section.culture .container > header hgroup h2,
          main.workplace-culture section.system .container > header hgroup h2 {
            font-size: calc(16 / 390 * 100vw);
            height: auto;
            width: 100vw;
            padding: calc(8 / 390 * 100vw) calc(20 / 390 * 100vw);
            margin: 0 calc(-20 / 390 * 100vw); } }
@media screen and (max-width: 768px) {
  main.workplace-culture section.value .container > header .marker img {
    width: calc(60 / 390 * 100vw); } }
@media screen and (max-width: 768px) {
  main.workplace-culture section.value .container > header hgroup p img {
    width: calc(227 / 390 * 100vw); } }
main.workplace-culture section.value .container ul {
  display: flex;
  gap: 24px; }
  @media screen and (max-width: 768px) {
    main.workplace-culture section.value .container ul {
      flex-direction: column;
      gap: calc(24 / 390 * 100vw); } }
  main.workplace-culture section.value .container ul li {
    flex: 1; }
    @media screen and (max-width: 768px) {
      main.workplace-culture section.value .container ul li {
        flex: initial; } }
    main.workplace-culture section.value .container ul li section {
      padding: 40px;
      background-color: #fff;
      border-radius: 16px; }
      @media screen and (max-width: 768px) {
        main.workplace-culture section.value .container ul li section {
          padding: calc(40 / 390 * 100vw);
          border-radius: calc(16 / 390 * 100vw); } }
      main.workplace-culture section.value .container ul li section .marker {
        height: 28px;
        border-bottom: 2px solid #00F5FF;
        padding: 4px 0 5px;
        text-align: center;
        margin: 0 auto;
        width: fit-content;
        margin-bottom: 24px; }
        @media screen and (max-width: 768px) {
          main.workplace-culture section.value .container ul li section .marker {
            height: calc(28 / 390 * 100vw);
            padding: calc(4 / 390 * 100vw) 0 calc(5 / 390 * 100vw);
            margin-bottom: calc(24 / 390 * 100vw); } }
      main.workplace-culture section.value .container ul li section hgroup p {
        text-align: center;
        padding-top: 4px;
        height: 32px;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          main.workplace-culture section.value .container ul li section hgroup p {
            padding-top: calc(4 / 390 * 100vw);
            height: calc(32 / 390 * 100vw);
            margin-bottom: calc(8 / 390 * 100vw); } }
      main.workplace-culture section.value .container ul li section hgroup h3 {
        font-style: normal;
        font-weight: 700;
        font-size: 16px;
        line-height: 100%;
        text-align: center;
        color: #004481;
        margin-bottom: 24px; }
        @media screen and (max-width: 768px) {
          main.workplace-culture section.value .container ul li section hgroup h3 {
            font-size: calc(16 / 390 * 100vw);
            margin-bottom: calc(24 / 390 * 100vw); } }
      main.workplace-culture section.value .container ul li section figure {
        width: 120px;
        margin: 0 auto;
        margin-bottom: 24px; }
        @media screen and (max-width: 768px) {
          main.workplace-culture section.value .container ul li section figure {
            width: calc(120 / 390 * 100vw);
            margin-bottom: calc(24 / 390 * 100vw); } }
        main.workplace-culture section.value .container ul li section figure img {
          width: 100%; }
      main.workplace-culture section.value .container ul li section > p {
        font-style: normal;
        font-weight: 500;
        font-size: 14px;
        line-height: 150%;
        text-align: center;
        color: #000000; }
        @media screen and (max-width: 768px) {
          main.workplace-culture section.value .container ul li section > p {
            font-size: calc(14 / 390 * 100vw); } }
    @media screen and (max-width: 768px) {
      main.workplace-culture section.value .container ul li:nth-child(1) section .marker img {
        width: calc(27 / 390 * 100vw); } }
    @media screen and (max-width: 768px) {
      main.workplace-culture section.value .container ul li:nth-child(1) section hgroup p img {
        width: calc(223 / 390 * 100vw); } }
    @media screen and (max-width: 768px) {
      main.workplace-culture section.value .container ul li:nth-child(2) section .marker img {
        width: calc(32 / 390 * 100vw); } }
    @media screen and (max-width: 768px) {
      main.workplace-culture section.value .container ul li:nth-child(2) section hgroup p img {
        width: calc(256 / 390 * 100vw); } }
    @media screen and (max-width: 768px) {
      main.workplace-culture section.value .container ul li:nth-child(3) section .marker img {
        width: calc(33 / 390 * 100vw); } }
    @media screen and (max-width: 768px) {
      main.workplace-culture section.value .container ul li:nth-child(3) section hgroup p img {
        width: calc(169 / 390 * 100vw); } }
@media screen and (max-width: 768px) {
  main.workplace-culture section.culture .container > header .marker img {
    width: calc(75 / 390 * 100vw); } }
@media screen and (max-width: 768px) {
  main.workplace-culture section.culture .container > header hgroup p img {
    width: calc(302 / 390 * 100vw); } }
main.workplace-culture section.culture .container ul {
  display: flex;
  flex-wrap: wrap;
  gap: 24px; }
  @media screen and (max-width: 768px) {
    main.workplace-culture section.culture .container ul {
      flex-direction: column; } }
  main.workplace-culture section.culture .container ul li {
    flex: 0 0 calc((100% - 24px) / 2); }
    @media screen and (max-width: 768px) {
      main.workplace-culture section.culture .container ul li {
        flex: initial; } }
    main.workplace-culture section.culture .container ul li section {
      background-color: #fff;
      padding: 40px;
      border-radius: 16px;
      height: 100%; }
      @media screen and (max-width: 768px) {
        main.workplace-culture section.culture .container ul li section {
          padding: calc(16 / 390 * 100vw);
          border-right: calc(8 / 390 * 100vw); } }
      main.workplace-culture section.culture .container ul li section > header {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        height: 32px;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          main.workplace-culture section.culture .container ul li section > header {
            gap: calc(8 / 390 * 100vw);
            height: calc(24 / 390 * 100vw);
            margin-bottom: calc(8 / 390 * 100vw); } }
        main.workplace-culture section.culture .container ul li section > header:before, main.workplace-culture section.culture .container ul li section > header:after {
          content: "−";
          font-style: normal;
          font-weight: 900;
          font-size: 24px;
          line-height: 100%;
          color: #004481; }
          @media screen and (max-width: 768px) {
            main.workplace-culture section.culture .container ul li section > header:before, main.workplace-culture section.culture .container ul li section > header:after {
              font-size: calc(20 / 390 * 100vw); } }
        main.workplace-culture section.culture .container ul li section > header p:nth-child(1) {
          font-style: normal;
          font-weight: 900;
          font-size: 28px;
          line-height: 100%;
          color: #004481; }
          @media screen and (max-width: 768px) {
            main.workplace-culture section.culture .container ul li section > header p:nth-child(1) {
              font-size: calc(20 / 390 * 100vw); } }
        main.workplace-culture section.culture .container ul li section > header p:nth-child(2) {
          padding-top: 6px; }
          @media screen and (max-width: 768px) {
            main.workplace-culture section.culture .container ul li section > header p:nth-child(2) {
              padding-top: calc(2 / 390 * 100vw); } }
      main.workplace-culture section.culture .container ul li section .content {
        padding: 32px;
        height: calc(100% - 40px);
        background-color: rgba(0, 68, 129, 0.15);
        border-radius: 8px; }
        @media screen and (max-width: 768px) {
          main.workplace-culture section.culture .container ul li section .content {
            padding: calc(16 / 390 * 100vw);
            border-radius: calc(8 / 390 * 100vw);
            height: calc(100% - 32 / 390 * 100vw); } }
        main.workplace-culture section.culture .container ul li section .content > header h3 {
          font-style: normal;
          font-weight: 700;
          font-size: 24px;
          line-height: 150%;
          color: #FFFFFF;
          padding: 8px 16px;
          width: fit-content;
          height: 52px;
          background: #004481;
          border-radius: 2px;
          margin-bottom: 16px; }
          @media screen and (max-width: 768px) {
            main.workplace-culture section.culture .container ul li section .content > header h3 {
              font-size: calc(20 / 390 * 100vw);
              padding: calc(6 / 390 * 100vw) calc(12 / 390 * 100vw);
              height: calc(42 / 390 * 100vw);
              border-radius: calc(2 / 390 * 100vw);
              margin-bottom: calc(16 / 390 * 100vw); } }
        main.workplace-culture section.culture .container ul li section .content > header p {
          font-style: normal;
          font-weight: 700;
          font-size: 20px;
          line-height: 150%;
          color: #004481;
          margin-bottom: 16px; }
          @media screen and (max-width: 768px) {
            main.workplace-culture section.culture .container ul li section .content > header p {
              font-size: calc(18 / 390 * 100vw);
              margin-bottom: calc(16 / 390 * 100vw); } }
        main.workplace-culture section.culture .container ul li section .content > p {
          font-style: normal;
          font-weight: 500;
          font-size: 14px;
          line-height: 200%;
          text-align: justify;
          color: #000000; }
          @media screen and (max-width: 768px) {
            main.workplace-culture section.culture .container ul li section .content > p {
              font-size: calc(14 / 390 * 100vw); } }
    @media screen and (max-width: 768px) {
      main.workplace-culture section.culture .container ul li:nth-child(1) section > header p:nth-child(2) img {
        width: calc(61 / 390 * 100vw); } }
    @media screen and (max-width: 768px) {
      main.workplace-culture section.culture .container ul li:nth-child(2) section > header p:nth-child(2) img {
        width: calc(86 / 390 * 100vw); } }
    @media screen and (max-width: 768px) {
      main.workplace-culture section.culture .container ul li:nth-child(3) section > header p:nth-child(2) img {
        width: calc(103 / 390 * 100vw); } }
    @media screen and (max-width: 768px) {
      main.workplace-culture section.culture .container ul li:nth-child(4) section > header p:nth-child(2) img {
        width: calc(96 / 390 * 100vw); } }
@media screen and (max-width: 768px) {
  main.workplace-culture section.system .container > header .marker img {
    width: calc(77 / 390 * 100vw); } }
@media screen and (max-width: 768px) {
  main.workplace-culture section.system .container > header hgroup p img {
    width: calc(307 / 390 * 100vw); } }
main.workplace-culture section.system .container section + section {
  margin-top: 54px; }
  @media screen and (max-width: 768px) {
    main.workplace-culture section.system .container section + section {
      margin-top: calc(64 / 390 * 100vw); } }
main.workplace-culture section.system .container section header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px; }
  @media screen and (max-width: 768px) {
    main.workplace-culture section.system .container section header {
      display: block;
      margin-bottom: calc(48 / 390 * 100vw); } }
  main.workplace-culture section.system .container section header h3 {
    position: relative;
    padding-right: 56px;
    font-style: normal;
    font-weight: 900;
    font-size: 32px;
    line-height: 150%;
    color: #004481; }
    @media screen and (max-width: 768px) {
      main.workplace-culture section.system .container section header h3 {
        font-size: calc(32 / 390 * 100vw);
        padding-bottom: calc(10 / 390 * 100vw);
        margin-bottom: calc(8 / 390 * 100vw); } }
    main.workplace-culture section.system .container section header h3:after {
      content: "";
      display: block;
      width: 40px;
      height: 2px;
      background-color: #004481;
      position: absolute;
      right: 0;
      top: calc(50% - 1px); }
      @media screen and (max-width: 768px) {
        main.workplace-culture section.system .container section header h3:after {
          left: 0;
          right: auto;
          top: auto;
          bottom: 0;
          width: calc(40 / 390 * 100vw);
          height: calc(2 / 390 * 100vw); } }
  main.workplace-culture section.system .container section header p {
    font-style: normal;
    font-weight: 700;
    font-size: 24px;
    line-height: 150%;
    color: #004481; }
    @media screen and (max-width: 768px) {
      main.workplace-culture section.system .container section header p {
        font-size: calc(16 / 390 * 100vw); } }
main.workplace-culture section.system .container section ul {
  display: flex;
  gap: 40px; }
  @media screen and (max-width: 768px) {
    main.workplace-culture section.system .container section ul {
      flex-direction: column;
      gap: calc(40 / 390 * 100vw); } }
  main.workplace-culture section.system .container section ul li {
    flex: 0 0 calc((100% - 40px * 2) / 3); }
    @media screen and (max-width: 768px) {
      main.workplace-culture section.system .container section ul li {
        flex: initial; } }
    main.workplace-culture section.system .container section ul li section figure {
      margin-bottom: 10px; }
      @media screen and (max-width: 768px) {
        main.workplace-culture section.system .container section ul li section figure {
          margin-bottom: calc(10 / 390 * 100vw); } }
      main.workplace-culture section.system .container section ul li section figure img {
        border-radius: 4px; }
        @media screen and (max-width: 768px) {
          main.workplace-culture section.system .container section ul li section figure img {
            border-radius: calc(4 / 390 * 100vw); } }
    main.workplace-culture section.system .container section ul li section h4 {
      font-style: normal;
      font-weight: 700;
      font-size: 20px;
      line-height: 100%;
      color: #004481;
      margin-bottom: 10px; }
      @media screen and (max-width: 768px) {
        main.workplace-culture section.system .container section ul li section h4 {
          margin-bottom: calc(10 / 390 * 100vw);
          font-size: calc(20 / 390 * 100vw); } }
    main.workplace-culture section.system .container section ul li section p {
      font-style: normal;
      font-weight: 500;
      font-size: 16px;
      line-height: 200%;
      color: #000000; }
      @media screen and (max-width: 768px) {
        main.workplace-culture section.system .container section ul li section p {
          font-size: calc(16 / 390 * 100vw); } }
main.workplace-culture nav.related {
  padding: 116px 0 129px;
  background-color: #F8F8F8; }
  main.workplace-culture nav.related .container {
    width: calc(100% - 120px);
    max-width: 984px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.workplace-culture nav.related .container {
        width: calc(335 / 375 * 100vw); } }
    main.workplace-culture nav.related .container hgroup {
      position: relative;
      padding-left: 106px;
      margin-bottom: 56px; }
      @media screen and (max-width: 768px) {
        main.workplace-culture nav.related .container hgroup {
          padding-left: 0;
          margin-bottom: calc(32 / 375 * 100vw); } }
      main.workplace-culture nav.related .container hgroup:before {
        content: "";
        display: block;
        width: 96px;
        height: 1px;
        background-color: #004481;
        position: absolute;
        bottom: 20px;
        left: 0; }
        @media screen and (max-width: 768px) {
          main.workplace-culture nav.related .container hgroup:before {
            display: none; } }
      main.workplace-culture nav.related .container hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 10px;
        line-height: 1.2;
        text-align: left;
        color: #00f5ff; }
        @media screen and (max-width: 768px) {
          main.workplace-culture nav.related .container hgroup p {
            font-size: calc(10 / 375 * 100vw);
            margin-bottom: calc(6 / 375 * 100vw); } }
      main.workplace-culture nav.related .container hgroup h2 {
        font-weight: 900;
        font-size: 28px;
        letter-spacing: 0.05em;
        line-height: calc(40 / 28);
        text-align: left;
        color: #004481; }
        @media screen and (max-width: 768px) {
          main.workplace-culture nav.related .container hgroup h2 {
            font-size: calc(28 / 375 * 100vw);
            letter-spacing: -0.05em; } }
    main.workplace-culture nav.related .container ul {
      display: flex;
      gap: 42px; }
      @media screen and (max-width: 768px) {
        main.workplace-culture nav.related .container ul {
          gap: calc(16 / 376 * 100vw);
          flex-direction: column; } }
      main.workplace-culture nav.related .container ul li {
        flex: 0 0 calc((100% - 42px * 2) / 3); }
        @media screen and (max-width: 768px) {
          main.workplace-culture nav.related .container ul li {
            flex: 0 0 100%; } }
        main.workplace-culture nav.related .container ul li a {
          position: relative;
          display: flex;
          align-items: center;
          font-weight: bold;
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: calc(23 / 14);
          text-align: left;
          color: #004481;
          height: 80px;
          border-radius: 4px;
          background: #fff;
          border: 1px solid #fff;
          padding-left: 24px;
          border: 1px solid #004481;
          transition: all ease .3s; }
          @media screen and (max-width: 768px) {
            main.workplace-culture nav.related .container ul li a {
              font-size: calc(14 / 375 * 100vw);
              height: calc(80 / 375 * 100vw);
              border-radius: calc(4 / 375 * 100vw);
              padding-left: calc(24 / 375 * 100vw); } }
          main.workplace-culture nav.related .container ul li a:hover {
            background-color: #004481;
            color: #fff; }
            main.workplace-culture nav.related .container ul li a:hover:before {
              background-color: #00F5FF; }
          main.workplace-culture nav.related .container ul li a:before {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            right: 24px;
            transform: translateY(-50%);
            display: block;
            width: 25px;
            height: 24px;
            border-radius: 2px;
            background: #004481;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.workplace-culture nav.related .container ul li a:before {
                right: calc(24 / 375 * 100vw);
                width: calc(25 / 375 * 100vw);
                height: calc(24 / 375 * 100vw);
                border-radius: calc(2 / 375 * 100vw); } }
          main.workplace-culture nav.related .container ul li a:after {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            right: 27px;
            transform: translateY(-50%);
            display: block;
            width: 20px;
            height: 20px;
            -webkit-mask-image: url("../images/common/arrow_white.svg");
            mask-image: url("../images/common/arrow_white.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            background-color: #fff; }
            @media screen and (max-width: 768px) {
              main.workplace-culture nav.related .container ul li a:after {
                right: calc(27 / 375 * 100vw);
                width: calc(20 / 375 * 100vw);
                height: calc(20 / 375 * 100vw); } }
  @media screen and (max-width: 768px) {
    main.workplace-culture nav.related {
      padding: 6rem 0; } }

main.workplace-lifestage header {
  position: relative;
  height: 448px;
  background-image: url("../images/common/bg_noise.png"), linear-gradient(#d1e9ff 0%, #004481 100%);
  background-size: 128px 128px, auto auto;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.workplace-lifestage header {
      height: calc(200 / 375 * 100vw);
      padding-top: calc(10 / 375 * 100vw); } }
  main.workplace-lifestage header:before {
    content: "";
    background-image: url("../images/common/heading_deco_01.svg");
    background-size: 100% 100%;
    display: block;
    width: 987px;
    height: 491px;
    position: absolute;
    top: -58.5px;
    left: calc(50% - 200px); }
    @media screen and (max-width: 768px) {
      main.workplace-lifestage header:before {
        width: calc(398 / 375 * 100vw);
        height: calc(398 / 987 * 491 / 375 * 100vw );
        top: calc(-41 / 375 * 100vw);
        left: calc(156 / 375 * 100vw); } }
  main.workplace-lifestage header:after {
    content: "";
    background-image: url("../images/common/heading_deco_02.svg");
    background-size: 100% 100%;
    display: block;
    width: 338px;
    height: 209px;
    position: absolute;
    top: -28px;
    left: calc(50% - 360px); }
    @media screen and (max-width: 768px) {
      main.workplace-lifestage header:after {
        width: calc(137 / 375 * 100vw);
        height: calc(137 / 338 * 209 / 375 * 100vw );
        top: calc(-29 / 375 * 100vw);
        left: calc(91.5 / 375 * 100vw); } }
  main.workplace-lifestage header .container {
    width: calc(992 / 1280 * 100vw); }
    @media screen and (max-width: 768px) {
      main.workplace-lifestage header .container {
        width: calc(335 / 375 * 100vw); } }
    main.workplace-lifestage header .container:before {
      will-change: background-position; }
    main.workplace-lifestage header .container hgroup {
      position: relative; }
      main.workplace-lifestage header .container hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 10px;
        line-height: 1.2;
        text-align: left;
        color: #00f5ff;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          main.workplace-lifestage header .container hgroup p {
            font-size: calc(10 / 375 * 100vw);
            margin-bottom: 0; } }
      main.workplace-lifestage header .container hgroup h1 {
        font-weight: 900;
        font-size: 48px;
        letter-spacing: -0.05em;
        line-height: 70px;
        text-align: left;
        color: #fff; }
        @media screen and (max-width: 768px) {
          main.workplace-lifestage header .container hgroup h1 {
            font-size: calc(28 / 375 * 100vw);
            line-height: calc(40 / 28); } }
@keyframes workplace-lifestage-loop {
  0% {
    background-position: 0px 0px; }
  100% {
    background-position: -1358px 0px; } }
@keyframes workplace-lifestage-loop-sp {
  0% {
    background-position: 0vw 0%; }
  100% {
    background-position: calc(-1358 * 55 / 202 / 375 * 100vw) 0%; } }
  main.workplace-lifestage header .container:before {
    content: "";
    display: block;
    background-image: url("../images/workplace/lifestage/visual_deco_text.svg");
    background-size: 1358px 253px;
    background-repeat: repeat-x;
    height: 202px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    animation: workplace-lifestage-loop linear infinite calc(1358s / 100); }
    @media screen and (max-width: 768px) {
      main.workplace-lifestage header .container:before {
        background-size: calc(1358 * 55 / 202 / 375 * 100vw) calc(253 * 55 / 202 / 375 * 100vw);
        height: calc(55 / 375 * 100vw);
        bottom: calc(-4 * 55 / 202 / 375 * 100vw);
        animation: workplace-lifestage-loop-sp linear infinite calc(1358s / 100 * 80 / 202); } }
main.workplace-lifestage section.lifestyle,
main.workplace-lifestage section.timeoff {
  background-color: #F8F8F8;
  background-image: url("../images/common/bg_noise.png");
  background-size: 128px 128px;
  padding-top: 160px; }
  @media screen and (max-width: 768px) {
    main.workplace-lifestage section.lifestyle,
    main.workplace-lifestage section.timeoff {
      padding-top: 7rem; } }
  main.workplace-lifestage section.lifestyle .container,
  main.workplace-lifestage section.timeoff .container {
    width: calc(100% - 120px);
    max-width: 984px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.workplace-lifestage section.lifestyle .container,
      main.workplace-lifestage section.timeoff .container {
        width: calc(335 / 375 * 100vw); } }
    main.workplace-lifestage section.lifestyle .container hgroup,
    main.workplace-lifestage section.timeoff .container hgroup {
      margin-bottom: 28px; }
      @media screen and (max-width: 768px) {
        main.workplace-lifestage section.lifestyle .container hgroup,
        main.workplace-lifestage section.timeoff .container hgroup {
          margin-bottom: 2.8rem; } }
      @media screen and (max-width: 768px) {
        main.workplace-lifestage section.lifestyle .container hgroup p img,
        main.workplace-lifestage section.timeoff .container hgroup p img {
          width: 100%; } }
      main.workplace-lifestage section.lifestyle .container hgroup h2 span,
      main.workplace-lifestage section.timeoff .container hgroup h2 span {
        font-weight: 900;
        font-size: 32px;
        letter-spacing: 0.05em;
        line-height: 40px;
        text-align: left;
        color: #000;
        padding: 0 14px 0 0;
        display: inline;
        box-decoration-break: clone;
        -webkit-box-decoration-break: clone;
        background: linear-gradient(-90deg, rgba(255, 255, 255, 0.4) 0%, #00f5ff 100%);
        background-repeat: no-repeat;
        background-size: 100% 86%;
        background-position: 0 72%; }
        @media screen and (max-width: 768px) {
          main.workplace-lifestage section.lifestyle .container hgroup h2 span,
          main.workplace-lifestage section.timeoff .container hgroup h2 span {
            font-size: 2.4rem;
            line-height: 3.1rem;
            padding: 0 1.7rem 0 0; } }
    main.workplace-lifestage section.lifestyle .container > p,
    main.workplace-lifestage section.timeoff .container > p {
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 32px;
      text-align: left;
      color: #000;
      margin-bottom: 36px; }
      @media screen and (max-width: 768px) {
        main.workplace-lifestage section.lifestyle .container > p,
        main.workplace-lifestage section.timeoff .container > p {
          font-size: 1.4rem;
          line-height: 2;
          margin-bottom: 3.6rem; } }
    main.workplace-lifestage section.lifestyle .container dl,
    main.workplace-lifestage section.timeoff .container dl {
      display: flex;
      flex-wrap: wrap;
      gap: 2px; }
      @media screen and (max-width: 768px) {
        main.workplace-lifestage section.lifestyle .container dl,
        main.workplace-lifestage section.timeoff .container dl {
          display: block; } }
      main.workplace-lifestage section.lifestyle .container dl dt,
      main.workplace-lifestage section.timeoff .container dl dt {
        flex: 0 0 270px;
        background-color: #004481;
        border: 1px solid #004481;
        padding: 15px 24px;
        font-weight: bold;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 26px;
        text-align: left;
        color: #f8f8f8;
        min-height: 82px;
        display: flex;
        align-items: center; }
        @media screen and (max-width: 768px) {
          main.workplace-lifestage section.lifestyle .container dl dt,
          main.workplace-lifestage section.timeoff .container dl dt {
            font-size: 1.4rem;
            line-height: 2rem;
            padding: .8rem 1.6rem;
            margin-top: .2rem;
            min-height: 0; }
            main.workplace-lifestage section.lifestyle .container dl dt:first-child,
            main.workplace-lifestage section.timeoff .container dl dt:first-child {
              margin-top: 0; } }
      main.workplace-lifestage section.lifestyle .container dl dd,
      main.workplace-lifestage section.timeoff .container dl dd {
        flex: 0 0 calc(100% - 270px - 2px);
        border: 1px solid #004481;
        background-color: #F8F8F8;
        padding: 10px 24px;
        font-weight: 500;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 32px;
        text-align: left;
        color: #000;
        display: flex;
        align-items: center; }
        @media screen and (max-width: 768px) {
          main.workplace-lifestage section.lifestyle .container dl dd,
          main.workplace-lifestage section.timeoff .container dl dd {
            font-size: 1.2rem;
            line-height: 2.3rem;
            padding: 1rem; } }
@media screen and (max-width: 768px) {
  main.workplace-lifestage section.lifestyle .container hgroup p {
    width: 30.2rem;
    margin-bottom: .6rem; } }
main.workplace-lifestage section.timeoff .container {
  padding-bottom: 60px;
  border-bottom: 1px dashed #004481; }
  @media screen and (max-width: 768px) {
    main.workplace-lifestage section.timeoff .container {
      padding-bottom: 4rem; } }
  @media screen and (max-width: 768px) {
    main.workplace-lifestage section.timeoff .container hgroup p {
      width: 26.8rem;
      margin-bottom: .3rem; } }
  main.workplace-lifestage section.timeoff .container ul {
    display: flex;
    gap: 42px;
    margin-top: 80px; }
    @media screen and (max-width: 768px) {
      main.workplace-lifestage section.timeoff .container ul {
        flex-direction: column;
        gap: 3.2rem;
        width: 30rem;
        margin: 0 auto;
        margin-top: 6rem; } }
    main.workplace-lifestage section.timeoff .container ul li {
      flex: 1;
      background-color: #E0F0FF;
      padding: 30px 0 40px;
      border-radius: 8px; }
      @media screen and (max-width: 768px) {
        main.workplace-lifestage section.timeoff .container ul li {
          border-radius: .8rem;
          padding: 2.8rem 0 4.7rem; } }
      main.workplace-lifestage section.timeoff .container ul li figure {
        width: 150px;
        margin: 0 auto;
        margin-bottom: 15px; }
        @media screen and (max-width: 768px) {
          main.workplace-lifestage section.timeoff .container ul li figure {
            width: 10rem;
            margin-bottom: 2re; } }
      main.workplace-lifestage section.timeoff .container ul li p:nth-child(2) {
        font-weight: bold;
        font-size: 20px;
        letter-spacing: 0.05em;
        line-height: 30px;
        text-align: center;
        color: #004481;
        margin-bottom: 12px; }
        @media screen and (max-width: 768px) {
          main.workplace-lifestage section.timeoff .container ul li p:nth-child(2) {
            font-size: 2rem;
            line-height: 1.5;
            margin-bottom: 1.2rem; } }
      main.workplace-lifestage section.timeoff .container ul li p:nth-child(3) {
        text-align: center; }
        @media screen and (max-width: 768px) {
          main.workplace-lifestage section.timeoff .container ul li p:nth-child(3) img {
            width: 16.5rem; } }
main.workplace-lifestage nav.related {
  background-color: #F8F8F8;
  background-image: url("../images/common/bg_noise.png");
  background-size: 128px 128px;
  padding: 154px 0 160px; }
  main.workplace-lifestage nav.related .container {
    width: calc(100% - 120px);
    max-width: 984px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.workplace-lifestage nav.related .container {
        width: calc(335 / 375 * 100vw); } }
    main.workplace-lifestage nav.related .container hgroup {
      position: relative;
      padding-left: 106px;
      margin-bottom: 56px; }
      @media screen and (max-width: 768px) {
        main.workplace-lifestage nav.related .container hgroup {
          padding-left: 0;
          margin-bottom: calc(32 / 375 * 100vw); } }
      main.workplace-lifestage nav.related .container hgroup:before {
        content: "";
        display: block;
        width: 96px;
        height: 1px;
        background-color: #004481;
        position: absolute;
        bottom: 20px;
        left: 0; }
        @media screen and (max-width: 768px) {
          main.workplace-lifestage nav.related .container hgroup:before {
            display: none; } }
      main.workplace-lifestage nav.related .container hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 10px;
        line-height: 1.2;
        text-align: left;
        color: #00f5ff; }
        @media screen and (max-width: 768px) {
          main.workplace-lifestage nav.related .container hgroup p {
            font-size: calc(10 / 375 * 100vw);
            margin-bottom: calc(6 / 375 * 100vw); } }
      main.workplace-lifestage nav.related .container hgroup h2 {
        font-weight: 900;
        font-size: 28px;
        letter-spacing: 0.05em;
        line-height: calc(40 / 28);
        text-align: left;
        color: #004481; }
        @media screen and (max-width: 768px) {
          main.workplace-lifestage nav.related .container hgroup h2 {
            font-size: calc(28 / 375 * 100vw);
            letter-spacing: -0.05em; } }
    main.workplace-lifestage nav.related .container ul {
      display: flex;
      gap: 42px; }
      @media screen and (max-width: 768px) {
        main.workplace-lifestage nav.related .container ul {
          gap: calc(16 / 376 * 100vw);
          flex-direction: column; } }
      main.workplace-lifestage nav.related .container ul li {
        flex: 0 0 calc((100% - 42px * 2) / 3); }
        @media screen and (max-width: 768px) {
          main.workplace-lifestage nav.related .container ul li {
            flex: 0 0 100%; } }
        main.workplace-lifestage nav.related .container ul li a {
          position: relative;
          display: flex;
          align-items: center;
          font-weight: bold;
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: calc(23 / 14);
          text-align: left;
          color: #004481;
          height: 80px;
          border-radius: 4px;
          background: #fff;
          border: 1px solid #fff;
          padding-left: 24px;
          border: 1px solid #004481;
          transition: all ease .3s; }
          @media screen and (max-width: 768px) {
            main.workplace-lifestage nav.related .container ul li a {
              font-size: calc(14 / 375 * 100vw);
              height: calc(80 / 375 * 100vw);
              border-radius: calc(4 / 375 * 100vw);
              padding-left: calc(24 / 375 * 100vw); } }
          main.workplace-lifestage nav.related .container ul li a:hover {
            background-color: #004481;
            color: #fff; }
            main.workplace-lifestage nav.related .container ul li a:hover:before {
              background-color: #00F5FF; }
          main.workplace-lifestage nav.related .container ul li a:before {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            right: 24px;
            transform: translateY(-50%);
            display: block;
            width: 25px;
            height: 24px;
            border-radius: 2px;
            background: #004481;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.workplace-lifestage nav.related .container ul li a:before {
                right: calc(24 / 375 * 100vw);
                width: calc(25 / 375 * 100vw);
                height: calc(24 / 375 * 100vw);
                border-radius: calc(2 / 375 * 100vw); } }
          main.workplace-lifestage nav.related .container ul li a:after {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            right: 27px;
            transform: translateY(-50%);
            display: block;
            width: 20px;
            height: 20px;
            -webkit-mask-image: url("../images/common/arrow_white.svg");
            mask-image: url("../images/common/arrow_white.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            background-color: #fff; }
            @media screen and (max-width: 768px) {
              main.workplace-lifestage nav.related .container ul li a:after {
                right: calc(27 / 375 * 100vw);
                width: calc(20 / 375 * 100vw);
                height: calc(20 / 375 * 100vw); } }
  @media screen and (max-width: 768px) {
    main.workplace-lifestage nav.related {
      padding: 6.4rem 0 12rem; } }

main.error header {
  position: relative;
  height: 448px;
  background-image: url("../images/common/bg_noise.png"), linear-gradient(#d1e9ff 0%, #004481 100%);
  background-size: 128px 128px, auto auto;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.error header {
      height: calc(200 / 375 * 100vw);
      padding-top: calc(10 / 375 * 100vw); } }
  main.error header:before {
    content: "";
    background-image: url("../images/common/heading_deco_01.svg");
    background-size: 100% 100%;
    display: block;
    width: 987px;
    height: 491px;
    position: absolute;
    top: -58.5px;
    left: calc(50% - 200px); }
    @media screen and (max-width: 768px) {
      main.error header:before {
        width: calc(398 / 375 * 100vw);
        height: calc(398 / 987 * 491 / 375 * 100vw );
        top: calc(-41 / 375 * 100vw);
        left: calc(156 / 375 * 100vw); } }
  main.error header:after {
    content: "";
    background-image: url("../images/common/heading_deco_02.svg");
    background-size: 100% 100%;
    display: block;
    width: 338px;
    height: 209px;
    position: absolute;
    top: -28px;
    left: calc(50% - 360px); }
    @media screen and (max-width: 768px) {
      main.error header:after {
        width: calc(137 / 375 * 100vw);
        height: calc(137 / 338 * 209 / 375 * 100vw );
        top: calc(-29 / 375 * 100vw);
        left: calc(91.5 / 375 * 100vw); } }
  main.error header .container {
    width: calc(992 / 1280 * 100vw); }
    @media screen and (max-width: 768px) {
      main.error header .container {
        width: calc(335 / 375 * 100vw); } }
    main.error header .container:before {
      will-change: background-position; }
    main.error header .container hgroup {
      position: relative; }
      main.error header .container hgroup p {
        font-family: "Albert Sans", sans-serif;
        font-weight: 900;
        font-size: 10px;
        line-height: 1.2;
        text-align: left;
        color: #00f5ff;
        margin-bottom: 8px; }
        @media screen and (max-width: 768px) {
          main.error header .container hgroup p {
            font-size: calc(10 / 375 * 100vw);
            margin-bottom: 0; } }
      main.error header .container hgroup h1 {
        font-weight: 900;
        font-size: 48px;
        letter-spacing: -0.05em;
        line-height: 70px;
        text-align: left;
        color: #fff; }
        @media screen and (max-width: 768px) {
          main.error header .container hgroup h1 {
            font-size: calc(28 / 375 * 100vw);
            line-height: calc(40 / 28); } }
main.error .body {
  padding: 120px 0 120px; }
  @media screen and (max-width: 768px) {
    main.error .body {
      padding: calc(60 / 375 * 100vw) 0; } }
  main.error .body .container {
    width: calc(100% - 120px);
    max-width: 984px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      main.error .body .container {
        width: calc(335 / 375 * 100vw); } }
    main.error .body .container p {
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 32px;
      text-align: left;
      color: #000; }
      @media screen and (max-width: 768px) {
        main.error .body .container p {
          font-size: calc(14 / 375 * 100vw);
          line-height: 2; } }
