@charset "UTF-8";
/*
@include css3(transform, translate(-50%, -50%));
@include css3(transition, 0.3s ease-in-out);  
transform: rotate(0.03deg);
*/
.loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #000;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  opacity: 1;
  visibility: visible; }
  .loading.is-active {
    opacity: 0;
    visibility: hidden; }
  .loading .loading-animation {
    width: 100vw;
    height: 100vh;
    transition: all 1s;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    opacity: 0;
    visibility: hidden;
    color: #FFF;
    text-align: center; }
    .loading .loading-animation.is-active {
      opacity: 1;
      visibility: visible; }
    .loading .loading-animation .catch {
      width: 100%;
      padding: 7.5% 0 0 0; }
      .loading .loading-animation .catch p {
        font-weight: 700;
        font-size: 36px;
        padding: 0 0 0 1em; }
        .loading .loading-animation .catch p span {
          font-size: 16px;
          font-weight: 500;
          display: block;
          padding: 0 0 10px;
          position: relative;
          left: -1em; }

.mask-bg {
  color: transparent;
  display: inline-block;
  font-size: 36px;
  font-weight: bold;
  overflow: hidden;
  position: relative;
  transition: color 0ms 450ms; }
  .mask-bg:after {
    background: #000;
    bottom: 0;
    content: '';
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: translate(0, 100%); }
  .mask-bg.is-animated {
    color: #191919; }
    .mask-bg.is-animated:after {
      animation: mask-bg 1.2s cubic-bezier(0.8, 0, 0.17, 1); }

@keyframes mask-bg {
  0% {
    transform: translate(0, 101%); }
  40%, 60% {
    transform: translate(0, 0%); }
  100% {
    transform: translate(0, -100%); } }
/*----------------------------------------------------
　TOP
----------------------------------------------------*/
.main {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  min-height: 924px; }
  @media screen and (max-width: 520px) {
    .main {
      height: 100vh;
      min-height: 0px; } }
  .main:after {
    -webkit-transition: 1s ease-in-out;
    -moz-transition: 1s ease-in-out;
    -ms-transition: 1s ease-in-out;
    -o-transition: 1s ease-in-out;
    transition: 1s ease-in-out;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 0;
    width: 329px;
    height: 421px;
    background: url("../images/top/mainImg.webp") no-repeat center;
    background-size: 100%;
    -webkit-transform: translate(20%, -50%);
    -moz-transform: translate(20%, -50%);
    -ms-transform: translate(20%, -50%);
    -o-transform: translate(20%, -50%);
    transform: translate(20%, -50%); }
    @media screen and (max-width: 520px) {
      .main:after {
        -webkit-transform: translate(-50%, 5%);
        -moz-transform: translate(-50%, 5%);
        -ms-transform: translate(-50%, 5%);
        -o-transform: translate(-50%, 5%);
        transform: translate(-50%, 5%);
        width: 198px;
        height: 253px; } }
  .main:before {
    -webkit-transition: 1s ease-in-out;
    -moz-transition: 1s ease-in-out;
    -ms-transition: 1s ease-in-out;
    -o-transition: 1s ease-in-out;
    transition: 1s ease-in-out;
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.5);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1; }
  .main.add:before {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -ms-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    opacity: 1; }
  .main.add:after {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -ms-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    opacity: 0; }
  .main.add .mainTx {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -ms-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    opacity: 0; }
  .main .mainTx {
    -webkit-transition: 1s ease-in-out;
    -moz-transition: 1s ease-in-out;
    -ms-transition: 1s ease-in-out;
    -o-transition: 1s ease-in-out;
    transition: 1s ease-in-out;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 48%;
    width: 100%;
    color: #FFF;
    text-align: center;
    z-index: 2; }
    @media screen and (max-width: 520px) {
      .main .mainTx {
        top: 40%; } }
    .main .mainTx .en {
      font-size: 30px;
      font-weight: 700;
      padding: 0 0 30px;
      position: relative;
      top: -22px;
      left: 15px; }
      @media screen and (max-width: 767px) {
        .main .mainTx .en {
          font-size: 24px; } }
      @media screen and (max-width: 520px) {
        .main .mainTx .en {
          font-size: 12px;
          padding: 0;
          left: 0; } }
    .main .mainTx h1 {
      font-size: 93px;
      font-weight: 700;
      letter-spacing: 0.12em;
      padding: 0 0 0 0.7em;
      line-height: 140%; }
      @media screen and (max-width: 767px) {
        .main .mainTx h1 {
          font-size: 50px; } }
      @media screen and (max-width: 520px) {
        .main .mainTx h1 {
          font-size: 40px; } }
  .main .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0; }
    .main .bg video {
      object-fit: cover;
      width: 100%;
      height: 100%; }
      @media screen and (max-width: 767px) {
        .main .bg video {
          object-fit: unset;
          height: 100%; } }
    .main .bg .pc_m {
      display: block; }
      @media screen and (max-width: 767px) {
        .main .bg .pc_m {
          display: none; } }
    .main .bg .sp_m {
      display: none; }
      @media screen and (max-width: 767px) {
        .main .bg .sp_m {
          display: block; } }

.over {
  padding-top: 924px;
  position: relative;
  z-index: 2; }

.top_philosophy {
  min-height: 924px;
  position: relative;
  padding: 150px 0 50px 0;
  	/*
  	&:after{
  		background: url("../images/top/philosophyBg.webp") no-repeat center;
  		background-size: cover;
  		content: "";
  		position: absolute;
  		top: 0;
  		left: 0;
  		width: 100%;
  		height: 100%;
  		z-index: -1;
  		@include mqNum(520, max) {
  			background: url("../images/top/philosophyBg.webp") no-repeat center;
              background-size: cover;
  		}
  	}
  	*/ }
  @media screen and (max-width: 520px) {
    .top_philosophy {
      padding: 50px 0 20px 0;
      min-height: 650px; } }
  .top_philosophy:before {
    -webkit-transition: 0.6s ease-in-out;
    -moz-transition: 0.6s ease-in-out;
    -ms-transition: 0.6s ease-in-out;
    -o-transition: 0.6s ease-in-out;
    transition: 0.6s ease-in-out;
    background-color: transparent;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0; }
  .top_philosophy.is-animated:before {
    background-color: rgba(0, 0, 0, 0.5); }
  .top_philosophy .inner {
    position: relative;
    z-index: 1; }
    .top_philosophy .inner .txBox {
      position: relative;
      width: 576px;
      color: #FFF;
      z-index: 2; }
      @media screen and (max-width: 680px) {
        .top_philosophy .inner .txBox {
          width: 100%; } }
      .top_philosophy .inner .txBox .en {
        font-size: 20px;
        font-weight: 700;
        letter-spacing: 0.1em;
        padding: 0; }
        @media screen and (max-width: 520px) {
          .top_philosophy .inner .txBox .en {
            font-size: 15px; } }
        .top_philosophy .inner .txBox .en.is-animated {
          color: #FFF; }
      .top_philosophy .inner .txBox h2 {
        font-size: 55px;
        font-weight: 700;
        letter-spacing: 0.1em;
        margin: 0 0 30px 0; }
        @media screen and (max-width: 767px) {
          .top_philosophy .inner .txBox h2 {
            font-size: 36px; } }
        @media screen and (max-width: 520px) {
          .top_philosophy .inner .txBox h2 {
            font-size: 30px;
            margin: 0 0 25px; } }
        .top_philosophy .inner .txBox h2.is-animated {
          color: #FFF; }
      .top_philosophy .inner .txBox .sub {
        font-size: 30px;
        font-weight: 700;
        letter-spacing: 0.1em;
        padding: 0 0 60px;
        line-height: 160%; }
        @media screen and (max-width: 767px) {
          .top_philosophy .inner .txBox .sub {
            font-size: 26px; } }
        @media screen and (max-width: 520px) {
          .top_philosophy .inner .txBox .sub {
            font-size: 24px;
            padding: 0 0 25px;
            line-height: 36px; } }
      .top_philosophy .inner .txBox .tx {
        font-size: 18px;
        letter-spacing: 0.07em;
        line-height: 40px; }
        @media screen and (max-width: 520px) {
          .top_philosophy .inner .txBox .tx {
            font-size: 14px;
            line-height: 28px; } }
      .top_philosophy .inner .txBox .btn {
        padding-top: 73px; }
        @media screen and (max-width: 520px) {
          .top_philosophy .inner .txBox .btn {
            padding-top: 120px;
            padding-bottom: 0; } }
        .top_philosophy .inner .txBox .btn a {
          background-color: #FFF;
          color: #000; }
          @media screen and (max-width: 520px) {
            .top_philosophy .inner .txBox .btn a {
              width: 100%;
              max-width: none; } }
          .top_philosophy .inner .txBox .btn a:after {
            background-color: #000; }

.top_project {
  background-color: #FFF;
  padding: 110px 0; }
  @media screen and (max-width: 520px) {
    .top_project {
      padding: 30px 0; } }
  .top_project .inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-bottom: 54px;
    max-width: 1376px; }
    @media screen and (max-width: 520px) {
      .top_project .inner {
        padding-bottom: 30px; } }
    .top_project .inner .lBox {
      width: 50%;
      padding: 0 0 0 10px; }
      @media screen and (max-width: 1000px) {
        .top_project .inner .lBox {
          width: 100%;
          padding: 0; } }
      .top_project .inner .lBox .en {
        font-size: 20px;
        font-weight: 700;
        letter-spacing: 0.1em;
        padding: 0;
        width: 100%; }
        @media screen and (max-width: 520px) {
          .top_project .inner .lBox .en {
            font-size: 15px; } }
      .top_project .inner .lBox h2 {
        font-size: 55px;
        font-weight: 700;
        letter-spacing: 0.1em;
        line-height: 145%;
        margin: 0 0 20px 0; }
        @media screen and (max-width: 1400px) {
          .top_project .inner .lBox h2 {
            font-size: 45px;
            line-height: 60px; } }
        @media screen and (max-width: 767px) {
          .top_project .inner .lBox h2 {
            font-size: 36px;
            line-height: 160%; } }
        @media screen and (max-width: 520px) {
          .top_project .inner .lBox h2 {
            font-size: 30px; } }
      .top_project .inner .lBox .sub {
        font-size: 30px;
        font-weight: 700;
        letter-spacing: 0.1em;
        padding: 0 0 50px; }
        @media screen and (max-width: 767px) {
          .top_project .inner .lBox .sub {
            font-size: 26px; } }
        @media screen and (max-width: 520px) {
          .top_project .inner .lBox .sub {
            font-size: 24px;
            padding: 0 0 25px;
            line-height: 36px; } }
    .top_project .inner .rBox {
      width: 50%;
      padding: 0 0 0 15px; }
      @media screen and (max-width: 1300px) {
        .top_project .inner .rBox {
          padding-left: 30px; } }
      @media screen and (max-width: 1000px) {
        .top_project .inner .rBox {
          width: 100%;
          padding: 30px 0 0 0; } }
      @media screen and (max-width: 520px) {
        .top_project .inner .rBox {
          padding: 0; } }
      .top_project .inner .rBox .btn {
        padding-top: 32px;
        padding-bottom: 40px;
        display: flex;
        justify-content: flex-end; }
        @media screen and (max-width: 1300px) {
          .top_project .inner .rBox .btn {
            padding-top: 0; } }
        @media screen and (max-width: 1000px) {
          .top_project .inner .rBox .btn {
            display: none; } }
        .top_project .inner .rBox .btn a {
          width: 280px; }
      .top_project .inner .rBox .tx {
        font-size: 18px;
        letter-spacing: 0.06em;
        line-height: 40px; }
        @media screen and (max-width: 520px) {
          .top_project .inner .rBox .tx {
            font-size: 14px;
            line-height: 28px; } }
        @media screen and (max-width: 1330px) {
          .top_project .inner .rBox .tx br {
            display: none; } }
  .top_project .project_slider {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap; }
    .top_project .project_slider a,
    .top_project .project_slider .slide_item {
      display: none;
      width: 33.333%;
      height: 388px;
      position: relative;
      overflow: hidden; }
      @media screen and (max-width: 1700px) {
        .top_project .project_slider a,
        .top_project .project_slider .slide_item {
          height: 260px; } }
      @media screen and (max-width: 640px) {
        .top_project .project_slider a,
        .top_project .project_slider .slide_item {
          width: auto;
          display: block; } }
      @media screen and (max-width: 520px) {
        .top_project .project_slider a,
        .top_project .project_slider .slide_item {
          width: 350px;
          height: 203px;
          margin: 0 5px; } }
      @media screen and (max-width: 380px) {
        .top_project .project_slider a,
        .top_project .project_slider .slide_item {
          width: 335px; } }
      .top_project .project_slider a:nth-child(-n+6),
      .top_project .project_slider .slide_item:nth-child(-n+6) {
        display: block; }
      .top_project .project_slider a img,
      .top_project .project_slider .slide_item img {
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -ms-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
        object-fit: cover;
        width: 100%;
        height: 100%;
        max-width: none;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
        @media screen and (max-width: 640px) {
          .top_project .project_slider a img,
          .top_project .project_slider .slide_item img {
            top: auto;
            left: auto;
            position: relative;
            -webkit-transform: translate(0%, 0%);
            -moz-transform: translate(0%, 0%);
            -ms-transform: translate(0%, 0%);
            -o-transform: translate(0%, 0%);
            transform: translate(0%, 0%); } }
      .top_project .project_slider a:hover img,
      .top_project .project_slider .slide_item:hover img {
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -ms-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
        width: 105%; }
        @media screen and (max-width: 640px) {
          .top_project .project_slider a:hover img,
          .top_project .project_slider .slide_item:hover img {
            width: 100%; } }
    .top_project .project_slider.active a,
    .top_project .project_slider.active .slide_item {
      display: block; }
  .top_project .view {
    display: flex;
    justify-content: center;
    padding: 55px 0 0 10px; }
    @media screen and (max-width: 640px) {
      .top_project .view {
        display: none; } }
    .top_project .view div {
      cursor: pointer;
      width: 280px;
      background-color: #191919;
      color: #FFF;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      height: 70px;
      padding: 9px 20px 9px 30px;
      font-size: 20px;
      position: relative;
      letter-spacing: 0.12em; }
      .top_project .view div:before, .top_project .view div:after {
        content: "";
        width: 26px;
        height: 1px;
        background-color: #FFF;
        position: absolute;
        top: 50%;
        right: 15px;
        -webkit-transform: translate(0%, -50%);
        -moz-transform: translate(0%, -50%);
        -ms-transform: translate(0%, -50%);
        -o-transform: translate(0%, -50%);
        transform: translate(0%, -50%); }
      .top_project .view div:before {
        -webkit-transform: translate(0%, -50%) rotate(90deg);
        -moz-transform: translate(0%, -50%) rotate(90deg);
        -ms-transform: translate(0%, -50%) rotate(90deg);
        -o-transform: translate(0%, -50%) rotate(90deg);
        transform: translate(0%, -50%) rotate(90deg); }
  .top_project .btn2 {
    display: none; }
    @media screen and (max-width: 640px) {
      .top_project .btn2 {
        text-align: center;
        display: flex;
        justify-content: center; }
        .top_project .btn2 a {
          width: 90%;
          max-width: none; } }
    @media screen and (max-width: 520px) {
      .top_project .btn2 {
        padding: 20px 0 5px; } }

.top_team {
  background: url("../images/top/teamBg.webp") no-repeat center;
  background-size: cover;
  position: relative;
  padding: 185px 0 140px 0;
  overflow: hidden; }
  @media screen and (max-width: 520px) {
    .top_team {
      background: url("../images/top/teamBg_sp.webp") no-repeat center;
      background-size: cover;
      padding: 50px 0 0; } }
  .top_team .img {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1;
    width: 679px;
    height: 867px;
    background: url("../images/top/teamImg.webp") no-repeat center;
    background-size: 100%;
    -webkit-transform: translate(-10%, -50%);
    -moz-transform: translate(-10%, -50%);
    -ms-transform: translate(-10%, -50%);
    -o-transform: translate(-10%, -50%);
    transform: translate(-10%, -50%); }
    @media screen and (max-width: 520px) {
      .top_team .img {
        display: none; } }
  .top_team .inner .txBox {
    position: relative;
    color: #FFF;
    z-index: 2; }
    .top_team .inner .txBox .en {
      font-size: 20px;
      font-weight: 700;
      letter-spacing: 0.1em;
      padding: 0; }
      @media screen and (max-width: 520px) {
        .top_team .inner .txBox .en {
          font-size: 15px; } }
      .top_team .inner .txBox .en.is-animated {
        color: #FFF; }
    .top_team .inner .txBox h2 {
      font-size: 55px;
      font-weight: 700;
      letter-spacing: 0.1em;
      line-height: 145%;
      margin: 0 0 20px 0; }
      @media screen and (max-width: 767px) {
        .top_team .inner .txBox h2 {
          font-size: 36px; } }
      @media screen and (max-width: 520px) {
        .top_team .inner .txBox h2 {
          font-size: 30px; } }
      .top_team .inner .txBox h2.is-animated {
        color: #FFF; }
    .top_team .inner .txBox .sub {
      font-size: 30px;
      font-weight: 700;
      letter-spacing: 0.1em;
      line-height: 160%;
      padding: 0 0 50px; }
      @media screen and (max-width: 767px) {
        .top_team .inner .txBox .sub {
          font-size: 26px; } }
      @media screen and (max-width: 520px) {
        .top_team .inner .txBox .sub {
          font-size: 24px;
          padding: 0 0 25px; } }
    .top_team .inner .txBox .tx {
      font-size: 18px;
      letter-spacing: 0.06em;
      line-height: 40px; }
      @media screen and (max-width: 520px) {
        .top_team .inner .txBox .tx {
          font-size: 14px;
          line-height: 28px; } }
    .top_team .inner .txBox .btn {
      padding: 73px 0 50px;
      margin-left: -5px; }
      @media screen and (max-width: 520px) {
        .top_team .inner .txBox .btn {
          padding: 60px 0 30px; } }
      .top_team .inner .txBox .btn a {
        letter-spacing: -0.05em;
        background-color: #FFF;
        color: #000; }
        @media screen and (max-width: 520px) {
          .top_team .inner .txBox .btn a {
            width: 100%;
            max-width: none; } }
        .top_team .inner .txBox .btn a:after {
          background-color: #000; }
        .top_team .inner .txBox .btn a:hover {
          background-color: #000;
          color: #FFF; }
          .top_team .inner .txBox .btn a:hover:after {
            background-color: #FFF; }

.top_company {
  background-color: #FFF;
  padding: 125px 0 0; }
  @media screen and (max-width: 520px) {
    .top_company {
      padding: 30px 0 0; } }
  .top_company .inner .en {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 0; }
    @media screen and (max-width: 520px) {
      .top_company .inner .en {
        font-size: 15px; } }
  .top_company .inner h2 {
    font-size: 55px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin: 0 0 50px 0;
    line-height: 145%; }
    @media screen and (max-width: 767px) {
      .top_company .inner h2 {
        font-size: 36px; } }
    @media screen and (max-width: 520px) {
      .top_company .inner h2 {
        font-size: 30px;
        margin: 0 0 25px;
        line-height: 40px; } }
    @media screen and (max-width: 380px) {
      .top_company .inner h2 {
        font-size: 28px; } }
  .top_company .conBox {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0 10px;
    padding: 0 0 0 10px; }
    @media screen and (max-width: 1760px) {
      .top_company .conBox {
        padding: 0 10px; } }
    @media screen and (max-width: 1100px) {
      .top_company .conBox {
        gap: 10px 0; } }
    .top_company .conBox .inBox {
      width: 568px;
      height: 500px; }
      @media screen and (max-width: 1760px) {
        .top_company .conBox .inBox {
          height: auto;
          width: auto;
          flex: 1; } }
      @media screen and (max-width: 1100px) {
        .top_company .conBox .inBox {
          flex: none;
          width: 100%; } }
      .top_company .conBox .inBox:nth-child(1) {
        background: url("../images/top/company1.webp") no-repeat center;
        background-size: cover; }
        @media screen and (max-width: 520px) {
          .top_company .conBox .inBox:nth-child(1) {
            background: url("../images/top/company1_sp.webp") no-repeat center;
            background-size: cover; } }
      .top_company .conBox .inBox:nth-child(2) {
        background: url("../images/top/company2.webp") no-repeat center;
        background-size: cover; }
        @media screen and (max-width: 520px) {
          .top_company .conBox .inBox:nth-child(2) {
            background: url("../images/top/company2_sp.webp") no-repeat center;
            background-size: cover; } }
      .top_company .conBox .inBox:nth-child(3) {
        background: url("../images/top/company3.webp") no-repeat center;
        background-size: cover; }
        @media screen and (max-width: 520px) {
          .top_company .conBox .inBox:nth-child(3) {
            background: url("../images/top/company3_sp.webp") no-repeat center;
            background-size: cover; } }
      .top_company .conBox .inBox a {
        display: block;
        width: 100%;
        height: 100%;
        color: #FFF;
        padding: 45px 40px 10px 55px; }
        @media screen and (max-width: 520px) {
          .top_company .conBox .inBox a {
            padding: 31px 30px; } }
        .top_company .conBox .inBox a div {
          width: 100%; }
          .top_company .conBox .inBox a div.box1 {
            font-size: 50px;
            font-weight: 700;
            letter-spacing: 0.1em;
            position: relative; }
            @media screen and (max-width: 1350px) {
              .top_company .conBox .inBox a div.box1 {
                font-size: 40px; } }
            @media screen and (max-width: 520px) {
              .top_company .conBox .inBox a div.box1 {
                text-align: center;
                font-size: 38px; } }
            .top_company .conBox .inBox a div.box1:after {
              -webkit-transition: 0.3s ease-in-out;
              -moz-transition: 0.3s ease-in-out;
              -ms-transition: 0.3s ease-in-out;
              -o-transition: 0.3s ease-in-out;
              transition: 0.3s ease-in-out;
              -webkit-transform: translate(0%, -50%);
              -moz-transform: translate(0%, -50%);
              -ms-transform: translate(0%, -50%);
              -o-transform: translate(0%, -50%);
              transform: translate(0%, -50%);
              clip-path: polygon(0 0, 0% 100%, 100% 50%);
              position: absolute;
              top: 54%;
              right: 15px;
              content: "";
              width: 11px;
              height: 9px;
              background-color: #FFF; }
              @media screen and (max-width: 520px) {
                .top_company .conBox .inBox a div.box1:after {
                  right: -10px; } }
          .top_company .conBox .inBox a div.box2 {
            height: 225px;
            font-size: 20px;
            font-weight: 700;
            letter-spacing: 0.1em;
            line-height: 37px;
            padding: 62px 0 0 5px; }
            @media screen and (max-width: 1100px) {
              .top_company .conBox .inBox a div.box2 {
                height: auto;
                padding: 30px 0; } }
            @media screen and (max-width: 520px) {
              .top_company .conBox .inBox a div.box2 {
                display: none; } }
          @media screen and (max-width: 520px) {
            .top_company .conBox .inBox a div.box3 {
              display: none; } }
          .top_company .conBox .inBox a div.box3 p {
            letter-spacing: 0;
            font-size: 14px;
            line-height: 29px; }
            @media screen and (max-width: 1660px) {
              .top_company .conBox .inBox a div.box3 p br {
                display: none; } }

.top_news {
  background-color: #FFF;
  padding: 145px 0 130px; }
  @media screen and (max-width: 520px) {
    .top_news {
      padding: 30px 0 0; } }
  .top_news .inner {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap; }
    .top_news .inner .lBox {
      width: 305px; }
      @media screen and (max-width: 767px) {
        .top_news .inner .lBox {
          width: 100%; } }
      .top_news .inner .lBox h2 {
        font-size: 50px;
        font-weight: 700;
        letter-spacing: 0.02em;
        padding: 0 0 51px 0; }
        @media screen and (max-width: 767px) {
          .top_news .inner .lBox h2 {
            font-size: 36px; } }
        @media screen and (max-width: 520px) {
          .top_news .inner .lBox h2 {
            font-size: 25px;
            padding: 0; } }
      @media screen and (max-width: 767px) {
        .top_news .inner .lBox .link {
          display: none; } }
      .top_news .inner .lBox .link a {
        text-decoration: underline;
        position: relative;
        padding: 0 40px 0 0;
        font-size: 22px;
        letter-spacing: -0.0em; }
        .top_news .inner .lBox .link a:after {
          -webkit-transition: 0.3s ease-in-out;
          -moz-transition: 0.3s ease-in-out;
          -ms-transition: 0.3s ease-in-out;
          -o-transition: 0.3s ease-in-out;
          transition: 0.3s ease-in-out;
          -webkit-transform: translate(0%, -50%);
          -moz-transform: translate(0%, -50%);
          -ms-transform: translate(0%, -50%);
          -o-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
          clip-path: polygon(0 0, 0% 100%, 100% 50%);
          position: absolute;
          top: 63%;
          right: 13px;
          content: "";
          width: 11px;
          height: 9px;
          background-color: #191919; }
    .top_news .inner .newsBox {
      width: calc(100% - 310px);
      padding: 0 0 0 10px;
      margin-top: -5px; }
      @media screen and (max-width: 767px) {
        .top_news .inner .newsBox {
          width: 100%; } }
      @media screen and (max-width: 520px) {
        .top_news .inner .newsBox {
          padding: 0;
          margin-top: 0; } }
      .top_news .inner .newsBox .in a {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        padding: 32px 0;
        border-bottom: 1px solid #757575;
        font-size: 16px;
        letter-spacing: 0.1em; }
        @media screen and (max-width: 520px) {
          .top_news .inner .newsBox .in a {
            padding: 15px 0;
            font-size: 14px; } }
        .top_news .inner .newsBox .in a .time {
          padding: 0 35px 0 0; }
          @media screen and (max-width: 520px) {
            .top_news .inner .newsBox .in a .time {
              width: 100%; } }
      .top_news .inner .newsBox .in:last-child a {
        border-bottom: none; }
      .top_news .inner .newsBox .btn {
        display: none; }
        @media screen and (max-width: 767px) {
          .top_news .inner .newsBox .btn {
            display: block; }
            .top_news .inner .newsBox .btn a {
              width: 100%;
              max-width: none; } }
        @media screen and (max-width: 520px) {
          .top_news .inner .newsBox .btn {
            padding-bottom: 40px; } }
