.wrapper {
  overflow: hidden; }

@media screen and (min-width: 769px) {
  .wrapper {
    padding: 0; }

  #header.transparent {
    background-color: transparent;
    box-shadow: none; }
    #header.transparent #globalNav .menu .itemContact .button {
      border-radius: 0 0 0 0.8rem; } }
/* common */
/* firstContent */
#firstContent .content {
  overflow: hidden;
  position: relative;
  background-color: #EBF3FF; }
  #firstContent .content:before {
    content: "";
    opacity: 0.1;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    width: calc(54 / 375 * 100%);
    background: url(/img/top/bg_mv_str.svg) center center no-repeat;
    background-size: contain;
    aspect-ratio: 54 / 547; }
#firstContent .contentInner {
  position: relative;
  width: 100%; }
#firstContent .title {
  position: relative;
  z-index: 3; }
  #firstContent .title .image {
    width: calc(330 / 375 * 100%);
    margin: auto;
    padding: calc(25 / 375 * 100%) 0; }
  #firstContent .title .text {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    font-size: 1.5rem;
    line-height: 1.6;
    font-weight: 700;
    text-align: center;
    margin: calc(129 / 375 * 100%) 0 0 0; }
#firstContent .slideWrap {
  overflow: hidden;
  margin: calc(-35 / 375 * 100%) 0 0 0;
  padding: calc(49 / 375 * 100%) 0 calc(39 / 375 * 100%) 0; }
  #firstContent .slideWrap .band {
    background-color: #FFFFFF;
    padding: calc(11 / 375 * 100%) 0;
    box-shadow: 0 0 16px rgba(0, 0, 0, 0.12); }
  #firstContent .slideWrap .slick-list {
    overflow: visible;
    margin: 0 0 0 calc(-25 / 375 * 100%); }
  #firstContent .slideWrap .item.slick-current {
    z-index: 2; }
    #firstContent .slideWrap .item.slick-current .box {
      background-color: #FFFFFF;
      border: 4px solid #0066FF;
      box-shadow: 0 0 32px rgba(0, 0, 0, 0.32);
      transform: scale(1.37);
      transition: transform 0.3s ease-out 0.4s; }
  #firstContent .slideWrap .item .box {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #EBF3FF;
    border-radius: 50%;
    aspect-ratio: 1 / 1; }
    #firstContent .slideWrap .item .box .inner {
      flex-basis: 100%; }
    #firstContent .slideWrap .item .box .illust {
      width: calc(105 / 154 * 100%);
      margin: calc(-23 / 154 * 100%) auto calc(-10 / 154 * 100%) auto; }
    #firstContent .slideWrap .item .box .text {
      font-size: 1rem;
      line-height: 1.6;
      text-align: center; }
      #firstContent .slideWrap .item .box .text .em {
        color: #0066FF;
        font-size: 1.2rem;
        line-height: 1.33;
        font-weight: 700; }
#firstContent .icons {
  position: relative;
  z-index: 10;
  padding: 0 0 calc(38 / 375 * 100%) 0; }
  #firstContent .icons .list {
    display: flex;
    justify-content: space-between;
    width: calc(335 / 375 * 100%);
    margin: auto; }
    #firstContent .icons .list .item {
      flex-basis: calc(101 / 335 * 100%); }
#firstContent .person {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 9;
  width: calc(213 / 375 * 100%);
  margin: calc(-302 / 375 * 100%) calc(-32 / 375 * 100%) 0 0; }

@media screen and (min-width: 769px) {
  #firstContent {
    position: relative;
    z-index: 2; }
    #firstContent .content {
      padding: 80px 0 0 0; }
      #firstContent .content:before {
        width: 100px;
        margin-top: 80px; }
    #firstContent .title {
      position: relative; }
      #firstContent .title .image {
        width: calc(925 / 1100 * 100%);
        padding: calc(20 / 1100 * 100%) 0 0 0; }
      #firstContent .title .text {
        font-size: 2rem;
        line-height: 1.2;
        margin: calc(200 / 1100 * 100%) 0 0 0; }
    #firstContent .slideWrap {
      overflow: visible;
      margin: calc(-35 / 1440 * 100%) 0 0 0;
      padding: calc(68 / 1440 * 100%) 0 calc(68 / 1440 * 100%) 0; }
      #firstContent .slideWrap .band {
        padding: calc(10 / 1440 * 100%) 0; }
      #firstContent .slideWrap .slide {
        max-width: 1440px;
        margin: 0 auto; }
      #firstContent .slideWrap .slick-list {
        overflow: visible;
        margin: 0 calc(-294 / 1440 * 100%) 0 calc(294 / 1440 * 100%); }
      #firstContent .slideWrap .item {
        padding: calc(12 / 1440 * 100vw);
        box-sizing: border-box; }
        #firstContent .slideWrap .item.slick-current .box {
          border: 8px solid #0066FF;
          transform: scale(1.538); }
        #firstContent .slideWrap .item .box .illust {
          width: calc(180 / 260 * 100%);
          margin: calc(-42 / 260 * 100%) auto calc(-13 / 260 * 100%) auto; }
        #firstContent .slideWrap .item .box .text {
          font-size: 1.3rem;
          line-height: 1.85;
          font-weight: 700; }
          #firstContent .slideWrap .item .box .text .em {
            font-size: 1.8rem;
            line-height: 1; }
    #firstContent .icons {
      margin: calc(-30 / 1100 * 100%) 0 0 0;
      padding: 0 0 calc(41 / 1100 * 100%) 0; }
      #firstContent .icons .list {
        width: calc(444 / 1100 * 100%);
        margin: 0 calc(226 / 1100 * 100%) 0 auto; }
        #firstContent .icons .list .item {
          flex-basis: calc(140 / 444 * 100%); }
    #firstContent .person {
      width: calc(420 / 1140 * 100%);
      margin: calc(-502 / 1140 * 100%) calc(-100 / 1140 * 100%) 0 0; }
    #firstContent .scroll {
      position: absolute;
      bottom: -1rem;
      left: -8.4rem;
      z-index: 2;
      color: #676767;
      font-size: 1.2rem;
      line-height: 1; }
      #firstContent .scroll .wrap {
        display: flex;
        align-items: center;
        transform: rotate(90deg);
        transform-origin: bottom right; }
        #firstContent .scroll .wrap .text {
          display: block;
          flex-shrink: 0;
          margin: 0 0.5rem 0 0; }
        #firstContent .scroll .wrap .bar {
          display: block;
          position: relative;
          width: 9rem;
          height: 1px;
          background-color: #E0E0E0; }
          #firstContent .scroll .wrap .bar:after {
            content: "";
            opacity: 0;
            display: block;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            width: 1rem;
            height: 1rem;
            background-color: #0066FF;
            margin: auto 0;
            border-radius: 50%;
            animation: scrolldown 2.6s cubic-bezier(0.355, 0.02, 0.415, 0.855) forwards infinite; } }
@media screen and (min-width: 1000px) {
  #firstContent .slideWrap .item .box .text {
    font-size: 1.6rem;
    line-height: 1.75; }
    #firstContent .slideWrap .item .box .text .em {
      font-size: 2rem;
      line-height: 1; } }
/* strengthArea */
#strengthArea .content {
  background-image: linear-gradient(to bottom, #EBF3FF 0%, #EBF3FF 87%, transparent 87%, transparent 100%); }
#strengthArea .movie video {
  width: 100%;
  height: 100%;
  aspect-ratio: 375 / 250;
  object-fit: cover; }
#strengthArea .bg {
  margin: calc(-35 / 375 * 100%) 0 0 0; }
#strengthArea .strength {
  margin: 0 0 calc(10 / 335 * 100%) 0; }

@media screen and (min-width: 769px) {
  #strengthArea .content {
    background-image: linear-gradient(to bottom, #EBF3FF 0%, #EBF3FF 90%, transparent 90%, transparent 100%); }
  #strengthArea .movie {
    height: 810px; }
  #strengthArea .bg {
    margin: calc(-64 / 1100 * 100%) calc(-170 / 1100 * 100%) 0 calc(-170 / 1100 * 100%); }
  #strengthArea .strength {
    margin: 0 0 calc(85 / 1100 * 100%) 0; } }
/* casestudyArea */
#casestudyArea .box .wrap .illust {
  width: calc(146 / 247 * 100%);
  margin: calc(-24 / 247 * 100%) 0 0 calc(163 / 247 * 100%); }

@media screen and (min-width: 769px) {
  #casestudyArea .box .wrap .illust {
    width: calc(195 / 384 * 100%);
    margin: calc(-17 / 384 * 100%) 0 0 calc(222 / 384 * 100%); } }
/* flowArea */
#flowArea .box .wrap .illust {
  width: calc(195 / 247 * 100%);
  margin: calc(-36 / 247 * 100%) 0 0 calc(137 / 247 * 100%); }

@media screen and (min-width: 769px) {
  #flowArea .box .wrap .illust {
    width: calc(280 / 384 * 100%);
    margin: calc(-46 / 384 * 100%) 0 0 calc(174 / 384 * 100%); } }
/* companyArea */
#companyArea .content {
  overflow: hidden;
  background-color: #EBF3FF; }
#companyArea .box {
  position: relative;
  padding: 0 0 calc(264 / 335 * 100%) 0; }
#companyArea .titleWrap {
  padding: calc(42 / 335 * 100%) 0 0 0; }
  #companyArea .titleWrap .title {
    margin: 0 0 calc(16 / 335 * 100%) 0; }
  #companyArea .titleWrap .desc {
    font-size: 1.5rem;
    line-height: 1.6;
    text-align: center;
    margin: 0 0 calc(26 / 335 * 100%) 0; }
  #companyArea .titleWrap .illust {
    position: absolute;
    bottom: 0;
    right: 0;
    width: calc(506 / 335 * 100%);
    margin: 0 calc(-52 / 335 * 100%) calc(40 / 335 * 100%) 0; }
#companyArea .listWrap .list .item {
  overflow: hidden;
  position: relative;
  margin: 0 0 calc(8 / 335 * 100%) 0;
  border-radius: 0.8rem; }
  #companyArea .listWrap .list .item .linkBox .linkBoxInner {
    justify-content: flex-start;
    aspect-ratio: 335 / 149; }
    #companyArea .listWrap .list .item .linkBox .linkBoxInner .boxBg {
      aspect-ratio: 335 / 149; }
    #companyArea .listWrap .list .item .linkBox .linkBoxInner .textWrap {
      text-align: left;
      padding: 0 0 0 2rem; }
      #companyArea .listWrap .list .item .linkBox .linkBoxInner .textWrap .title {
        display: flex;
        align-items: baseline;
        margin: 0.7rem 0 1.4rem 0; }
        #companyArea .listWrap .list .item .linkBox .linkBoxInner .textWrap .title .en {
          order: 2;
          font-size: 1.4rem;
          line-height: 1;
          font-weight: 700;
          margin: 0 0 0 1rem; }
        #companyArea .listWrap .list .item .linkBox .linkBoxInner .textWrap .title .ja {
          order: 1;
          font-size: 2.2rem;
          line-height: 1;
          font-weight: 700; }
      #companyArea .listWrap .list .item .linkBox .linkBoxInner .textWrap .desc {
        min-height: calc(2.24rem * 3);
        font-size: 1.4rem;
        line-height: 1.6;
        margin: 0; }

@media screen and (min-width: 769px) {
  #companyArea .box {
    display: flex;
    justify-content: space-between;
    background-color: #FFFFFF;
    margin: calc(80 / 1100 * 100%) 0;
    padding: calc(48 / 1100 * 100%) calc(48 / 1100 * 100%) calc(36 / 1100 * 100%) calc(48 / 1100 * 100%);
    border-radius: 1.2rem; }
  #companyArea .titleWrap {
    flex-basis: calc(352 / 1004 * 100%);
    position: relative;
    padding: calc(52 / 1004 * 100%) 0 0 0; }
    #companyArea .titleWrap .title {
      margin: 0 0 calc(16 / 352 * 100%) 0; }
    #companyArea .titleWrap .desc {
      text-align: left;
      margin: 0 0 calc(26 / 352 * 100%) 0; }
    #companyArea .titleWrap .illust {
      left: 0;
      right: auto;
      width: calc(740 / 352 * 100%);
      margin: 0 0 calc(11 / 352 * 100%) calc(-338 / 352 * 100%); }
  #companyArea .listWrap {
    flex-basis: calc(652 / 1004 * 100%); }
    #companyArea .listWrap .list {
      display: flex;
      flex-wrap: wrap; }
      #companyArea .listWrap .list .item {
        flex-basis: calc(320 / 652 * 100%);
        margin: 0 0 calc(12 / 652 * 100%) calc(12 / 652 * 100%); }
        #companyArea .listWrap .list .item:nth-child(odd) {
          margin-left: 0; }
        #companyArea .listWrap .list .item .linkBox .linkBoxInner {
          justify-content: center;
          aspect-ratio: 320 / 320; }
          #companyArea .listWrap .list .item .linkBox .linkBoxInner .boxBg {
            aspect-ratio: 320 / 320; }
          #companyArea .listWrap .list .item .linkBox .linkBoxInner .textWrap {
            text-align: center;
            padding: 0; }
            #companyArea .listWrap .list .item .linkBox .linkBoxInner .textWrap .title {
              display: block;
              margin: 0 0 1.8rem 0; }
              #companyArea .listWrap .list .item .linkBox .linkBoxInner .textWrap .title .en {
                display: block;
                margin: 0.7rem 0 0.8rem 0; }
              #companyArea .listWrap .list .item .linkBox .linkBoxInner .textWrap .title .ja {
                display: block;
                font-size: 2.6rem;
                line-height: 1; }
            #companyArea .listWrap .list .item .linkBox .linkBoxInner .textWrap .desc {
              min-height: auto; } }
/* newsArea */
#newsArea .content {
  overflow: hidden; }
#newsArea .textWrap {
  padding: calc(67 / 335 * 100%) 0 0 0; }
  #newsArea .textWrap .title {
    margin: 0 0 calc(30 / 335 * 100%) 0; }
#newsArea .news .list {
  margin: 0 0 calc(33 / 335 * 100%) 0;
  border-top: 1px solid #E0E0E0; }
  #newsArea .news .list .item {
    border-bottom: 1px solid #E0E0E0; }
    #newsArea .news .list .item a {
      display: block;
      padding: calc(16 / 335 * 100%) calc(16 / 335 * 100%) calc(14 / 335 * 100%) calc(16 / 335 * 100%); }
    #newsArea .news .list .item .head {
      display: flex;
      align-items: center;
      margin: 0 0 calc(12 / 303 * 100%) 0; }
      #newsArea .news .list .item .head .date {
        color: #676767;
        font-size: 1.4rem;
        line-height: 1;
        margin: 0 1.2rem 0 0; }
      #newsArea .news .list .item .head .category {
        color: #0066FF;
        font-size: 1.1rem;
        line-height: 1;
        font-weight: 700;
        background-color: #FFFEE2;
        padding: 0.5rem 1.1rem;
        border: 1px solid #0066FF;
        border-radius: 1.3rem; }
    #newsArea .news .list .item .headline {
      font-size: 1.5rem;
      line-height: 1.6;
      overflow: hidden;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2; }
#newsArea .buttonArea {
  position: relative;
  z-index: 10;
  width: calc(200 / 335 * 100%);
  margin: auto; }
#newsArea .illust {
  width: calc(287 / 335 * 100%);
  margin: calc(-55 / 335 * 100%) 0 calc(64 / 335 * 100%) calc(70 / 335 * 100%); }

@media screen and (min-width: 769px) {
  #newsArea .content {
    overflow: hidden; }
  #newsArea .box {
    display: flex;
    padding: calc(120 / 1100 * 100%) 0 calc(118 / 1100 * 100%) 0; }
  #newsArea .textWrap {
    flex-basis: calc(280 / 1100 * 100%);
    position: relative;
    padding: calc(5 / 1100 * 100%) 0 calc(190 / 1100 * 100%) 0; }
    #newsArea .textWrap .title {
      margin: 0 0 calc(32 / 280 * 100%) 0; }
  #newsArea .news {
    flex-basis: calc(820 / 1100 * 100%);
    position: relative;
    z-index: 10; }
    #newsArea .news .list {
      background-color: #FFFFFF;
      margin: 0; }
      #newsArea .news .list .item a {
        display: block;
        padding: calc(25 / 820 * 100%) calc(16 / 820 * 100%) calc(23 / 820 * 100%) calc(16 / 820 * 100%);
        transition: background-color 0.2s ease-out; }
        #newsArea .news .list .item a:hover {
          background-color: #EBF3FF; }
      #newsArea .news .list .item .head {
        margin: 0 0 calc(12 / 820 * 100%) 0; }
        #newsArea .news .list .item .head .date {
          margin: 0 1.2rem 0 0; }
        #newsArea .news .list .item .head .category {
          padding: 0.5rem 1.1rem;
          border-radius: 1.2rem; }
  #newsArea .buttonArea {
    width: calc(200 / 280 * 100%);
    margin: 0; }
  #newsArea .illust {
    position: absolute;
    bottom: 0;
    left: 0;
    width: calc(384 / 280 * 100%);
    margin: 0 0 calc(-22 / 280 * 100%) calc(-48 / 280 * 100%); } }
/* recruitArea */
#recruitArea .box {
  overflow: hidden;
  margin: 0 0 calc(74 / 335 * 100%) 0;
  border-radius: 1.2rem; }
  #recruitArea .box .textWrap {
    background: url(/img/top/bg_recruit.svg) 330% center no-repeat;
    background-size: 87.76% auto;
    background-color: #EBF3FF;
    padding: calc(23 / 335 * 100%) 0; }
    #recruitArea .box .textWrap .title {
      margin: 0 0 calc(15 / 335 * 100%) 0; }
    #recruitArea .box .textWrap .desc {
      font-size: 1.5rem;
      line-height: 1.6;
      text-align: center;
      margin: 0 0 calc(31 / 335 * 100%) 0; }
    #recruitArea .box .textWrap .buttonArea {
      width: calc(200 / 335 * 100%);
      margin: auto; }

@media screen and (min-width: 769px) {
  #recruitArea .box {
    overflow: hidden;
    display: flex;
    background-color: #EBF3FF;
    margin: 0 0 calc(149 / 1100 * 100%) 0; }
    #recruitArea .box .image {
      flex-basis: calc(700 / 1100 * 100%); }
    #recruitArea .box .textWrap {
      display: flex;
      align-items: center;
      flex-basis: calc(400 / 1100 * 100%);
      background: url(/img/top/bg_recruit.svg) -49% center no-repeat;
      background-size: 122.5% auto;
      padding: 0 0 0 calc(64 / 1100 * 100%);
      box-sizing: border-box; }
      #recruitArea .box .textWrap .title {
        margin: calc(8 / 336 * 100%) 0 calc(18 / 336 * 100%) 0; }
      #recruitArea .box .textWrap .desc {
        font-size: 1.5rem;
        line-height: 1.6;
        text-align: left;
        margin: 0 0 calc(38 / 336 * 100%) 0; }
      #recruitArea .box .textWrap .buttonArea {
        width: 200px;
        margin: 0; } }
