.end {
  font-family: 'Press Start 2P', cursive; }

/* ==========================================================================
	animations
========================================================================== */
@-webkit-keyframes balloon {
  0% {
    top: 100%;
    opacity: 0; }
  2% {
    opacity: 100; }
  100% {
    top: -105%; } }
@keyframes balloon {
  0% {
    top: 100%;
    opacity: 0; }
  2% {
    opacity: 100; }
  100% {
    top: -105%; } }
@-webkit-keyframes yryr {
  0%,50%,100% {
    -webkit-transform: rotate(20deg);
            transform: rotate(20deg); }
  25%,75% {
    -webkit-transform: rotate(-10deg);
            transform: rotate(-10deg); } }
@keyframes yryr {
  0%,50%,100% {
    -webkit-transform: rotate(20deg);
            transform: rotate(20deg); }
  25%,75% {
    -webkit-transform: rotate(-10deg);
            transform: rotate(-10deg); } }
@-webkit-keyframes fwfw {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px); } }
@keyframes fwfw {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px); } }
@keyframes loop {
  0% {
    background-position: -4035px 0; }
  100% {
    background-position: 0 0; } }
@-webkit-keyframes loop {
  0% {
    background-position: -4035px 0; }
  100% {
    background-position: 0 0; } }
@media screen and (max-width: 800px) {
  @keyframes loop {
    0% {
      background-position: -2270px 0; }
    100% {
      background-position: 0 0; } }
  @-webkit-keyframes loop {
    0% {
      background-position: -2270px 0; }
    100% {
      background-position: 0 0; } } }
/* ==========================================================================
	h_mv
========================================================================== */
#h_mv.v2 {
  position: relative;
  margin-bottom: 135px; }
  #h_mv.v2 .tit_area {
    padding-left: 0;
    padding-right: 0; }
    #h_mv.v2 .tit_area .inr {
      position: relative;
      z-index: 30;
      padding: 2vw 0; }
    #h_mv.v2 .tit_area .tit {
      width: auto;
      font-size: 54px;
      font-size: clamp(54px, 3.8571428571vw, 69.12px);
      line-height: 1.042;
      margin-bottom: 60px;
      text-align: center; }
    #h_mv.v2 .tit_area .pan {
      text-align: center; }
  #h_mv.v2 .mv_illust {
    position: absolute;
    width: 128px;
    left: 12.285vw;
    bottom: -37px;
    z-index: 100; }
    #h_mv.v2 .mv_illust .hv_txt {
      width: 90px;
      height: 90px;
      top: -42px;
      right: -90px; }
      #h_mv.v2 .mv_illust .hv_txt:before {
        -webkit-transform: scale(1, 1);
                transform: scale(1, 1);
        left: 33px; }
  #h_mv.v2 .image_area {
    right: 0;
    width: 71.5%; }
    #h_mv.v2 .image_area img {
      -o-object-position: 100% 100%;
         object-position: 100% 100%; }

@media screen and (max-width: 1100px) {
  #h_mv .mv_illust {
    left: calc(50% - 400px); } }
@media screen and (max-width: 800px) {
  #h_mv.v2 {
    height: auto;
    padding-bottom: 0;
    margin-bottom: 120px; }
    #h_mv.v2 .tit_area {
      padding: 50px 9.3vw 75px 8.8vw; }
      #h_mv.v2 .tit_area .tit {
        width: auto;
        font-size: 28px;
        font-size: clamp(28px, 7.4666666667vw, 35.84px);
        margin-bottom: 30px;
        text-align: left; }
      #h_mv.v2 .tit_area .pan {
        text-align: left; }
    #h_mv.v2 .image_area {
      right: 0;
      width: 93.33%; }
    #h_mv.v2 .mv_illust {
      width: 72px;
      left: 6.13vw;
      bottom: -87px; }
      #h_mv.v2 .mv_illust .hv_txt {
        width: 75px;
        height: 75px;
        top: -59px;
        right: -57px; }
        #h_mv.v2 .mv_illust .hv_txt:before {
          left: 28px; } }
/* ==========================================================================
	intro
========================================================================== */
.intro {
  position: relative;
  z-index: 10;
  padding-bottom: 130px; }
  .intro .con_inr {
    position: relative;
    width: 90%;
    max-width: 910px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    z-index: 20; }
  .intro .v_txt {
    width: 180px;
    font-size: 30px;
    font-weight: 700;
    line-height: 2.03;
    letter-spacing: 0.22em; }
  .intro p {
    width: 675px;
    max-width: calc(100% - 200px);
    font-size: 16px;
    font-weight: 700;
    line-height: 2.889;
    letter-spacing: 0.08em;
    -webkit-transform: translateY(-14px);
            transform: translateY(-14px); }
  .intro .ballon {
    display: block;
    width: 20px;
    height: 48px;
    position: absolute;
    top: 100%;
    opacity: 0;
    -webkit-animation: 15s balloon ease infinite;
    animation: 15s balloon ease infinite;
    z-index: 1; }
  .intro .ballon01 {
    left: calc(50% - 623px);
    -webkit-animation-duration: 20s;
            animation-duration: 20s; }
  .intro .ballon02 {
    left: calc(50% - 473px);
    -webkit-animation-duration: 15s;
            animation-duration: 15s; }
  .intro .ballon03 {
    left: calc(50% - 313px);
    -webkit-animation-delay: 1s;
            animation-delay: 1s; }
  .intro .ballon04 {
    left: calc(50% - 34px);
    -webkit-animation-duration: 25s;
            animation-duration: 25s; }
  .intro .ballon05 {
    left: calc(50% + 106px);
    -webkit-animation-delay: 6s;
            animation-delay: 6s;
    -webkit-animation-duration: 10s;
            animation-duration: 10s; }
  .intro .ballon06 {
    left: calc(50% + 324px);
    -webkit-animation-delay: 2s;
            animation-delay: 2s; }
  .intro .ballon07 {
    left: calc(50% + 343px);
    -webkit-animation-duration: 9s;
            animation-duration: 9s; }
  .intro .ballon08 {
    left: calc(50% + 588px);
    -webkit-animation-delay: 4s;
            animation-delay: 4s;
    -webkit-animation-duration: 13s;
            animation-duration: 13s; }

@media screen and (max-width: 800px) {
  .intro {
    padding-bottom: 55px; }
    .intro .con_inr {
      width: 80%;
      max-width: 910px;
      display: block; }
    .intro .v_txt {
      display: block;
      width: 140px;
      font-size: 20px;
      font-size: clamp(20px, 5.3333333333vw, 25.6px);
      letter-spacing: 0.22em;
      margin: 0 auto 30px; }
    .intro p {
      width: 100%;
      max-width: 100%;
      font-size: 12px;
      font-size: clamp(12px, 3.2vw, 15.36px);
      line-height: 2.333;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
    .intro .ballon {
      display: block;
      width: 15px;
      height: 36px;
      -webkit-animation: 20s balloon ease infinite;
      animation: 20s balloon ease infinite; }
    .intro .ballon01 {
      left: 7.2%;
      -webkit-animation-duration: 30s;
              animation-duration: 30s; }
    .intro .ballon02 {
      left: 15%;
      -webkit-animation-duration: 20s;
              animation-duration: 20s; }
    .intro .ballon03 {
      left: 75%;
      -webkit-animation-delay: 1s;
              animation-delay: 1s; }
    .intro .ballon04 {
      left: 51.3%;
      -webkit-animation-duration: 25s;
              animation-duration: 25s; }
    .intro .ballon05 {
      left: 95%;
      -webkit-animation-delay: 6s;
              animation-delay: 6s;
      -webkit-animation-duration: 10s;
              animation-duration: 10s; }
    .intro .ballon06 {
      left: 30%;
      -webkit-animation-delay: 2s;
              animation-delay: 2s; }
    .intro .ballon07 {
      left: 87%;
      -webkit-animation-duration: 10s;
              animation-duration: 10s; }
    .intro .ballon08 {
      left: 63%;
      -webkit-animation-delay: 4s;
              animation-delay: 4s;
      -webkit-animation-duration: 16s;
              animation-duration: 16s; } }
/* ==========================================================================
	hello
========================================================================== */
.hello {
  position: relative;
  z-index: 30;
  background: #fff;
  max-width: 1920px;
  margin-left: auto; }
  .hello .img_area {
    position: relative;
    width: 92.8%;
    margin-left: 7.2%;
    border-radius: 100px 0 0 100px;
    overflow: hidden; }
  .hello h2 {
    display: block;
    position: absolute;
    width: calc((566/2600)*100%);
    height: calc((186/1442)*100%);
    left: calc((245/2600)*100%);
    top: calc((243/1442)*100%);
    z-index: 10; }
  .hello .fukidashi {
    display: block;
    position: absolute;
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transition: all 0.4s var(--easePopUp);
    transition: all 0.4s var(--easePopUp);
    z-index: 5; }
  .hello .fukidashi.move {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 100;
    -webkit-transition: all 0.4s var(--easePopUp);
    transition: all 0.4s var(--easePopUp); }
  .hello .f01 {
    width: calc((238/2600)*100%);
    height: calc((265/1442)*100%);
    left: calc((223/2600)*100%);
    bottom: calc((480/1442)*100%); }
  .hello .f02 {
    width: calc((216/2600)*100%);
    height: calc((264/1442)*100%);
    left: calc((535/2600)*100%);
    bottom: calc((440/1442)*100%); }
    .hello .f02.move {
      -webkit-transition-delay: .2s;
              transition-delay: .2s; }
  .hello .f03 {
    width: calc((234/2600)*100%);
    height: calc((262/1442)*100%);
    left: calc((902/2600)*100%);
    bottom: calc((387/1442)*100%); }
    .hello .f03.move {
      -webkit-transition-delay: .4s;
              transition-delay: .4s; }
  .hello .f04 {
    width: calc((414/2600)*100%);
    height: calc((442/1442)*100%);
    left: calc((1019/2600)*100%);
    bottom: calc((502/1442)*100%);
    z-index: 10; }
    .hello .f04.move {
      -webkit-transition-delay: .6s;
              transition-delay: .6s; }
  .hello .f05 {
    width: calc((140/2600)*100%);
    height: calc((168/1442)*100%);
    left: calc((1387/2600)*100%);
    bottom: calc((516/1442)*100%); }
    .hello .f05.move {
      -webkit-transition-delay: .8s;
              transition-delay: .8s; }
  .hello .f06 {
    width: calc((246/2600)*100%);
    height: calc((274/1442)*100%);
    left: calc((1748/2600)*100%);
    bottom: calc((494/1442)*100%); }
    .hello .f06.move {
      -webkit-transition-delay: 1s;
              transition-delay: 1s; }

@media screen and (max-width: 800px) {
  .hello {
    width: 100%;
    margin-left: 0;
    overflow: scroll;
    overflow: scroll hidden;
    /*
    -ms-overflow-style: none;
    &::-webkit-scrollbar{
      display: none;
    }
    */ }
    .hello .img_area {
      position: relative;
      width: 200%;
      margin-left: 0;
      border-radius: 0; }
    .hello h2 {
      display: block;
      position: absolute;
      width: calc((566/2600)*100%);
      height: calc((186/1442)*100%);
      left: calc((245/2600)*100%);
      top: calc((243/1442)*100%);
      z-index: 10; }
    .hello .fukidashi {
      display: block;
      position: absolute;
      opacity: 0;
      -webkit-transform: scale(0);
              transform: scale(0);
      -webkit-transition: all 0.4s var(--easePopUp);
      transition: all 0.4s var(--easePopUp);
      z-index: 5; }
    .hello .fukidashi.move {
      -webkit-transform: scale(1);
              transform: scale(1);
      opacity: 100;
      -webkit-transition: all 0.4s var(--easePopUp);
      transition: all 0.4s var(--easePopUp); }
    .hello .f01 {
      width: calc((238/2600)*100%);
      height: calc((265/1442)*100%);
      left: calc((223/2600)*100%);
      bottom: calc((480/1442)*100%); }
    .hello .f02 {
      width: calc((216/2600)*100%);
      height: calc((264/1442)*100%);
      left: calc((535/2600)*100%);
      bottom: calc((440/1442)*100%); }
      .hello .f02.move {
        -webkit-transition-delay: .2s;
                transition-delay: .2s; }
    .hello .f03 {
      width: calc((234/2600)*100%);
      height: calc((262/1442)*100%);
      left: calc((902/2600)*100%);
      bottom: calc((387/1442)*100%); }
      .hello .f03.move {
        -webkit-transition-delay: .4s;
                transition-delay: .4s; }
    .hello .f04 {
      width: calc((414/2600)*100%);
      height: calc((442/1442)*100%);
      left: calc((1019/2600)*100%);
      bottom: calc((502/1442)*100%);
      z-index: 10; }
      .hello .f04.move {
        -webkit-transition-delay: .6s;
                transition-delay: .6s; }
    .hello .f05 {
      width: calc((140/2600)*100%);
      height: calc((168/1442)*100%);
      left: calc((1387/2600)*100%);
      bottom: calc((516/1442)*100%); }
      .hello .f05.move {
        -webkit-transition-delay: .8s;
                transition-delay: .8s; }
    .hello .f06 {
      width: calc((246/2600)*100%);
      height: calc((274/1442)*100%);
      left: calc((1748/2600)*100%);
      bottom: calc((494/1442)*100%); }
      .hello .f06.move {
        -webkit-transition-delay: 1s;
                transition-delay: 1s; } }
/* ==========================================================================
	team
========================================================================== */
.team {
  position: relative;
  padding-top: clamp(78.5714285714px, 7.8571428571vw, 150.8571428571px);
  padding-bottom: clamp(85.7142857143px, 8.5714285714vw, 164.5714285714px); }
  .team .con_inr {
    width: 90%;
    width: clamp(782.1428571429px, 78.2142857143vw, 1501.7142857143px);
    max-width: 90%; }
  .team h2 {
    font-size: 65px;
    font-size: clamp(65px, 4.6428571429vw, 83.2px);
    font-weight: 700;
    color: #008355;
    letter-spacing: 0.04em;
    margin-bottom: 60px;
    margin-bottom: clamp(14.2857142857px, 1.4285714286vw, 27.4285714286px); }
  .team .b_txt {
    display: block;
    font-size: 24px;
    font-size: clamp(24px, 1.7142857143vw, 30.72px);
    font-weight: 700;
    margin-bottom: 70px;
    margin-bottom: clamp(50px, 5vw, 96px); }
  .team ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    width: 100%; }
  .team li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: calc(50% - 10px);
    margin-bottom: 13px;
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
    -webkit-transition: all 0.6s ease;
    transition: all 0.6s ease; }
    .team li:nth-child(odd) {
      -webkit-transform: translateY(calc(clamp(-140px,-10vw,-192px)+50px));
              transform: translateY(calc(clamp(-140px,-10vw,-192px)+50px)); }
    .team li:nth-child(even) {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; }
    .team li.move {
      opacity: 100;
      -webkit-transform: translateY(0);
              transform: translateY(0);
      -webkit-transition: all 0.6s ease;
      transition: all 0.6s ease; }
    .team li:nth-child(odd).move {
      -webkit-transform: translateY(clamp(-140px, -10vw, -192px));
              transform: translateY(clamp(-140px, -10vw, -192px)); }
  .team .img_area {
    position: relative;
    width: 47%; }
    .team .img_area:before {
      content: "";
      display: block;
      padding-top: 145%; }
    .team .img_area img {
      border-radius: 100px; }
  .team .text_area {
    width: 47.4%;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .team .text_area .s_txt {
      display: block;
      font-size: 14px;
      font-size: clamp(14px, 1vw, 17.92px);
      font-weight: 700;
      margin-bottom: 15px; }
    .team .text_area .en {
      display: block;
      font-size: 28px;
      font-size: clamp(28px, 2vw, 35.84px);
      font-weight: 700;
      color: #008355;
      margin-bottom: 17px; }
    .team .text_area .name {
      font-size: 16px;
      font-size: clamp(16px, 1.1428571429vw, 20.48px);
      font-weight: 700;
      margin-bottom: 25px; }
    .team .text_area .txt {
      text-align: left;
      font-size: 14px;
      font-size: clamp(14px, 1vw, 17.92px);
      font-weight: 500;
      line-height: 1.87; }

@media screen and (max-width: 1400px) {
  .team .img_area img {
    border-radius: 7.14vw; } }
@media screen and (max-width: 1200px) {
  .team li {
    margin-bottom: 30px; } }
@media screen and (max-width: 800px) {
  .team {
    padding-top: clamp(68.5714285714px, 20vw, 160px);
    padding-bottom: clamp(38.5714285714px, 11.25vw, 90px); }
    .team .con_inr {
      width: 100%;
      max-width: 100%; }
    .team h2 {
      font-size: 40px;
      font-size: clamp(40px, 10.6666666667vw, 51.2px);
      margin-bottom: 15px;
      text-align: center; }
    .team .b_txt {
      font-size: 14px;
      font-size: clamp(14px, 3.7333333333vw, 17.92px);
      text-align: center;
      margin-bottom: 50px;
      margin-bottom: clamp(42.8571428571px, 12.5vw, 100px); }
    .team ul {
      display: block; }
    .team li {
      width: 100%;
      margin-bottom: 40px; }
      .team li:nth-child(odd) {
        -webkit-transform: translateY(50px);
                transform: translateY(50px); }
      .team li.move {
        -webkit-transform: translateY(0);
                transform: translateY(0); }
      .team li:nth-child(odd).move {
        -webkit-transform: translateY(0);
                transform: translateY(0); }
      .team li:nth-child(even) .img_area img {
        border-radius: 40px 0 0 40px; }
    .team .img_area {
      width: 41.3%; }
      .team .img_area:before {
        padding-top: 163%; }
      .team .img_area img {
        border-radius: 0 40px 40px 0; }
    .team .text_area {
      width: 58.7%; }
      .team .text_area .s_txt {
        font-size: 10px;
        font-size: clamp(10px, 2.6666666667vw, 12.8px);
        margin-bottom: 12px; }
      .team .text_area .en {
        font-size: 20px;
        font-size: clamp(20px, 5.3333333333vw, 25.6px);
        margin-bottom: 12px; }
      .team .text_area .name {
        font-size: 14px;
        font-size: clamp(14px, 3.7333333333vw, 17.92px);
        margin-bottom: 12px; }
      .team .text_area .txt {
        width: 70%;
        margin: 0 auto;
        font-size: 11px;
        font-size: clamp(11px, 2.9333333333vw, 14.08px);
        line-height: 1.81; } }
/* ==========================================================================
	want
========================================================================== */
.want {
  position: relative; }
  .want .con_inr {
    position: relative;
    width: 92.8%;
    width: clamp(928.5714285714px, 92.8571428571vw, 1782.8571428571px);
    margin: 0 auto;
    background: url(../image/company/want_bg.jpg) center center;
    background-size: cover;
    padding-top: clamp(89.2857142857px, 8.9285714286vw, 171.4285714286px);
    padding-bottom: clamp(100px, 10vw, 192px);
    margin-bottom: clamp(78.5714285714px, 7.8571428571vw, 150.8571428571px);
    text-align: center;
    border-radius: 100px; }
  .want .c_txt {
    font-size: 14px;
    font-size: clamp(14px, 1vw, 17.92px);
    font-weight: 700;
    line-height: 2.3;
    color: #fff;
    margin-bottom: 65px; }
  .want .l_illust {
    position: absolute;
    width: calc((328/2600)*100%);
    height: calc((634/1515)*100%);
    left: calc((234/2600)*100%);
    bottom: calc((328/1515)*100%);
    z-index: 20; }
    .want .l_illust .illust01 {
      position: absolute;
      width: calc((191/328)*100%);
      left: calc((31/328)*100%);
      bottom: 0;
      /*
      -webkit-transform: rotate(20deg);
      transform: rotate(20deg);
      -webkit-animation: 8s yryr infinite;
      animation: 8s yryr infinite;*/
      -webkit-animation: 5s fwfw infinite;
      animation: 5s fwfw infinite; }
      .want .l_illust .illust01 .hv_txt {
        width: 90px;
        height: 90px;
        right: -72px;
        top: -45px; }
        .want .l_illust .illust01 .hv_txt:before {
          left: 32px; }
    .want .l_illust .illust02 {
      position: relative;
      -webkit-transform: rotate(20deg);
      transform: rotate(20deg);
      -webkit-animation: 8s yryr infinite;
      animation: 8s yryr infinite; }
  .want .r_illust {
    position: absolute;
    width: calc((552/2600)*100%);
    height: calc((515/1515)*100%);
    right: calc((300/2600)*100%);
    bottom: calc((316/1515)*100%); }
    .want .r_illust .illust03 {
      position: relative;
      -webkit-animation: 3s fwfw infinite;
      animation: 3s fwfw infinite; }
      .want .r_illust .illust03 .hv_txt {
        width: 75px;
        height: 75px;
        right: 70px;
        top: -70px; }
        .want .r_illust .illust03 .hv_txt:before {
          -webkit-transform: scale(-1, 1);
                  transform: scale(-1, 1);
          left: 35px; }
    .want .r_illust .illust04 {
      position: absolute;
      width: calc((216/552)*100%);
      right: calc((23/552)*100%);
      bottom: 0;
      -webkit-transform: rotate(20deg);
      transform: rotate(20deg);
      -webkit-animation: 7.5s yryr infinite;
      animation: 7.5s yryr infinite; }
  .want .w_box {
    width: clamp(585px, 41.78%, 800px);
    position: relative;
    padding-top: clamp(42.8571428571px, 4.2857142857vw, 82.2857142857px);
    padding-bottom: clamp(42.8571428571px, 4.2857142857vw, 82.2857142857px);
    margin: 0 auto;
    background: #fff;
    border-radius: 100px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    .want .w_box p {
      font-size: 14px;
      font-size: clamp(14px, 1vw, 17.92px);
      line-height: 1.87;
      font-weight: 500;
      width: 75%;
      margin: 0 auto 30px;
      text-align: left; }
  .want h2 {
    font-size: 20px;
    font-size: clamp(20px, 1.4285714286vw, 25.6px);
    font-weight: 700;
    margin-bottom: 8px;
    letter-spacing: 0.1em; }
  .want .en {
    color: var(--base-link-color);
    margin-bottom: 25px; }
  .want a {
    display: inline-block;
    position: relative;
    padding-left: 38px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 18px;
    font-weight: 700;
    color: var(--base-text-color); }
    .want a .ar {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      position: absolute;
      top: -2px;
      left: 0;
      width: 25px;
      height: 25px;
      background: var(--base-link-color);
      border-radius: 50%;
      -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .want a i {
      width: 8px;
      height: 25px;
      fill: none;
      stroke: var(--base-text-color);
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 6px; }
    .want a:hover {
      color: var(--base-link-color); }
      .want a:hover .ar {
        -webkit-transform: scale(1.2);
                transform: scale(1.2);
        -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1); }

@media screen and (max-width: 928px) {
  .want .con_inr {
    width: 100%;
    border-radius: 0; }

  .want .l_illust {
    left: 0; }

  .want .r_illust {
    right: 0; } }
@media screen and (max-width: 800px) {
  .want .con_inr {
    padding-top: clamp(77.1428571429px, 22.5vw, 180px);
    padding-bottom: clamp(55.7142857143px, 16.25vw, 130px);
    margin-bottom: clamp(68.5714285714px, 20vw, 160px); }
  .want .c_txt {
    font-size: 12px;
    font-size: clamp(12px, 3.2vw, 15.36px);
    line-height: 2.16;
    text-align: left;
    width: 73%;
    margin: 0 auto;
    margin-bottom: clamp(42.8571428571px, 12.5vw, 100px); }
  .want .l_illust {
    position: relative;
    width: 71.2%;
    width: 267px;
    height: auto;
    left: auto;
    bottom: auto;
    margin: 0 auto 25px; }
    .want .l_illust .illust01 {
      position: relative;
      width: calc((201/531)*100%);
      left: auto;
      bottom: auto; }
      .want .l_illust .illust01 .hv_txt {
        width: 55px;
        height: 55px;
        right: -50px;
        top: -20px; }
        .want .l_illust .illust01 .hv_txt:before {
          left: 20px; }
    .want .l_illust .illust02 {
      position: absolute;
      right: 0;
      top: -16px;
      width: calc((230/531)*100%); }
  .want .r_illust {
    position: relative;
    width: 80.53%;
    width: 305px;
    height: auto;
    right: auto;
    bottom: auto;
    margin: 0 auto;
    text-align: right; }
    .want .r_illust .illust03 {
      width: calc((365/604)*100%);
      display: inline-block; }
      .want .r_illust .illust03 .hv_txt {
        width: 50px;
        height: 50px;
        right: 48px;
        top: -47px; }
        .want .r_illust .illust03 .hv_txt:before {
          left: 23px; }
    .want .r_illust .illust04 {
      width: calc((144/604)*100%);
      right: auto;
      left: 3px;
      bottom: calc((17/148)*100%); }
  .want .w_box {
    width: 85%;
    padding-top: clamp(42.8571428571px, 12.5vw, 100px);
    padding-bottom: clamp(47.1428571429px, 13.75vw, 110px);
    border-radius: 40px; }
    .want .w_box p {
      font-size: 12px;
      font-size: clamp(12px, 3.2vw, 15.36px);
      line-height: 2;
      width: 76.56%;
      margin: 0 auto 25px; }
  .want h2 {
    font-size: 16px;
    font-size: clamp(16px, 4.2666666667vw, 20.48px);
    margin-bottom: 10px; }
  .want .en {
    color: var(--base-link-color);
    margin-bottom: 25px; }
  .want a {
    padding-left: 40px;
    margin-bottom: 25px;
    font-size: 16px; } }
/* ==========================================================================
	company
========================================================================== */
.company {
  position: relative;
  width: 100%;
  max-width: 1920px;
  padding-left: 8.4%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto 130px; }
  .company .con_inr {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
  .company .text_area {
    width: 40.8%;
    min-width: 495px; }
  .company .en {
    font-size: 36px;
    font-size: clamp(36px, 2.5714285714vw, 46.08px);
    font-weight: 700;
    color: var(--base-link-color);
    margin-bottom: 25px; }
  .company .s_tit {
    font-size: 20px;
    font-weight: 700;
    display: block;
    margin-bottom: 85px; }
  .company h3 {
    display: inline-block;
    width: 319px;
    margin-right: 33px; }
  .company h4 {
    position: relative;
    display: inline-block !Important;
    width: 139px; }
    .company h4 .hv_txt {
      width: 85px;
      height: 85px;
      right: 125px;
      top: -83px; }
      .company h4 .hv_txt:nth-child(2):before {
        -webkit-transform: scale(-1, 1);
                transform: scale(-1, 1);
        left: 42px; }
    .company h4 .hv_txt:last-child {
      right: -65px; }
      .company h4 .hv_txt:last-child:before {
        left: 30px; }
  .company ul {
    position: relative;
    margin-top: 43px; }
    .company ul > li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      padding: 17px 0;
      border-bottom: 1px solid #d8d8d8; }
  .company h5 {
    width: 105px;
    font-size: 16px;
    font-size: clamp(16px, 1.1428571429vw, 20.48px);
    font-weight: 700;
    color: var(--base-link-color);
    line-height: 1.75; }
  .company p {
    width: calc(100% - 105px);
    font-size: 14px;
    font-size: clamp(14px, 1vw, 17.92px);
    line-height: 2;
    font-weight: 500; }
  .company ol {
    width: calc(100% - 105px); }
    .company ol li {
      position: relative;
      font-size: 14px;
      font-size: clamp(14px, 1vw, 17.92px);
      line-height: 2;
      font-weight: 500;
      padding-left: 16px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      .company ol li:before {
        content: "";
        display: block;
        width: 6px;
        height: 6px;
        position: absolute;
        left: 0;
        top: 0.88em;
        background: var(--base-link-color);
        border-radius: 50%; }
  .company .map_area {
    position: relative;
    width: 50.31%;
    max-width: calc(100% - 515px);
    padding-top: 80px; }
    .company .map_area .map {
      position: relative;
      overflow: hidden;
      width: 100%;
      height: 67vw;
      max-height: 1040px;
      min-height: 940px;
      border-radius: 100px 0 0 100px; }
    .company .map_area iframe {
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0; }
    .company .map_area .illust {
      display: block;
      width: 54px;
      position: absolute;
      left: 28.2%;
      bottom: -112px;
      z-index: 50; }
      .company .map_area .illust .hv_txt {
        width: 75px;
        height: 75px;
        right: 45px;
        top: -73px; }
        .company .map_area .illust .hv_txt:before {
          -webkit-transform: scale(-1, 1);
                  transform: scale(-1, 1);
          left: 35px; }
    .company .map_area .circle_btn {
      position: absolute;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 180px;
      height: 180px;
      border-radius: 50%;
      font-size: 18px;
      font-weight: 700;
      line-height: 1.23;
      color: var(--base-text-color);
      left: 41%;
      bottom: -100px;
      z-index: 50;
      text-align: center;
      padding-top: 15px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      .company .map_area .circle_btn .icon {
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        border-radius: 50%; }
        .company .map_area .circle_btn .icon img {
          display: block;
          position: absolute;
          left: 0;
          top: 0;
          border-radius: 50%;
          width: 100%;
          -webkit-transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1);
          transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
        .company .map_area .circle_btn .icon img:last-child {
          opacity: 0; }
      .company .map_area .circle_btn:before {
        z-index: -1;
        background: var(--base-link-color); }
      .company .map_area .circle_btn:after {
        z-index: -2; }
      .company .map_area .circle_btn:hover {
        color: #fff; }
        .company .map_area .circle_btn:hover:before {
          background: #ff2c00; }
        .company .map_area .circle_btn:hover .icon img:first-child {
          opacity: 0;
          -webkit-transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1);
          transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
        .company .map_area .circle_btn:hover .icon img:last-child {
          opacity: 100;
          -webkit-transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1);
          transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1); }

@media screen and (max-width: 1100px) {
  .company {
    margin-bottom: 170px; }
    .company .con_inr {
      display: block; }
    .company .text_area {
      width: 92%; }
    .company .map_area {
      width: 100%;
      max-width: 100%; } }
@media screen and (max-width: 800px) {
  .company {
    padding: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0 auto 165px; }
    .company .con_inr {
      display: block; }
    .company .text_area {
      width: 85.34%;
      min-width: 85.34%;
      margin: 0 auto; }
    .company .en {
      font-size: 26px;
      font-size: clamp(26px, 6.9333333333vw, 33.28px);
      margin-bottom: 16px;
      display: block;
      text-align: center; }
    .company .s_tit {
      font-size: 14px;
      font-size: clamp(14px, 3.7333333333vw, 17.92px);
      margin-bottom: 58px;
      text-align: center; }
    .company h3 {
      display: block;
      position: relative;
      margin: 0 auto 15px;
      width: 235px; }
      .company h3 .hv_txt {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        width: 60px;
        height: 60px;
        right: 168px;
        top: -43px; }
        .company h3 .hv_txt:nth-child(3):before {
          -webkit-transform: scale(-1, 1);
                  transform: scale(-1, 1);
          left: 27px; }
      .company h3 .hv_txt:last-child {
        right: 15px; }
        .company h3 .hv_txt:last-child:before {
          left: 22px; }
    .company h4 {
      display: none !Important; }
    .company ul {
      margin-top: 0; }
      .company ul > li {
        padding: 6px 10px 10px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        border-bottom: 1px solid #d8d8d8; }
    .company h5 {
      width: 100%;
      font-size: 14px;
      font-size: clamp(14px, 3.7333333333vw, 17.92px);
      line-height: 1.75;
      margin-bottom: -4px; }
    .company p {
      width: 100%;
      font-size: 12px;
      font-size: clamp(12px, 3.2vw, 15.36px);
      line-height: 2; }
    .company ol {
      width: calc(100% - 105px); }
      .company ol li {
        font-size: 12px;
        font-size: clamp(12px, 3.2vw, 15.36px);
        line-height: 1.83;
        padding-left: 17px; }
        .company ol li:before {
          width: 5px;
          height: 5px;
          top: 0.88em; }
    .company .map_area {
      width: 100%;
      max-width: 100%;
      padding-left: 7.2%;
      padding-top: 45px;
      padding-top: clamp(38.5714285714px, 11.25vw, 90px);
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      .company .map_area .map {
        position: relative;
        overflow: hidden;
        width: 100%;
        height: 493px;
        min-height: 493px;
        border-radius: 40px 0 0 40px; }
      .company .map_area .illust {
        width: 36px;
        left: calc(50% - 77px);
        bottom: -65px; }
        .company .map_area .illust .hv_txt {
          width: 50px;
          height: 50px;
          right: 32px;
          top: -48px; }
          .company .map_area .illust .hv_txt:before {
            left: 24px; }
      .company .map_area .circle_btn {
        width: 140px;
        height: 140px;
        font-size: 14px;
        line-height: 1.25;
        left: 50%;
        bottom: -75px;
        padding-top: 15px; } }
/* ==========================================================================
	slide_area
========================================================================== */
.slide_area {
  position: relative;
  z-index: 10;
  background: url(../image/company/slide_img.jpg) repeat-x 0 0;
  background-size: 4035px 512px;
  width: 100%;
  height: 512px;
  overflow: hidden;
  -webkit-animation: loop 150s linear infinite;
          animation: loop 150s linear infinite;
  margin-bottom: 120px; }

@media screen and (max-width: 800px) {
  .slide_area {
    background-size: 2270px 288px;
    height: 288px;
    overflow: hidden;
    -webkit-animation: loop 150s linear infinite;
            animation: loop 150s linear infinite;
    margin-bottom: 95px; } }
/* ==========================================================================
	foot_contact
========================================================================== */
/*
.foot_contact:before{
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, 0)), to(#f0f0f0));
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, #f0f0f0 100%);
}
*/

/*# sourceMappingURL=company.css.map */