﻿@charset "utf-8";
/* CSS Document */

/*====================================
PC版
=====================================*/
@media print, screen and (min-width: 521px) {
/* -----------------------------------------------
トップページ
----------------------------------------------- */

.to_form {
    position: fixed;
    top: 440px;
    left: -11px;
    z-index: 5;
}

.firstview {
    position: relative;
    width: 100%;
    height: 54.7vw;
    min-width: 1300px;
    min-height: 710px;
}

.firstview .slide-img img {
  width: 100%;
    height: 54.7vw;
    min-width: 1300px;
    min-height: 710px;
  object-fit: cover;
  object-position: center;
  animation: zoomUp 6.5s linear forwards;
}

.firstview .swiper-slide.swiper-slide-prev .slide-img img {
  animation: zoomUp 6.5s linear forwards !important;
}

.last-active .slide-img img{
  animation: none;
}

.firstview .swiper-slide.swiper-slide-next .slide-img img {
  animation: none;
}

@keyframes zoomUp {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.1);
  }
}

.firstview .catchcopy {
    position: absolute;
    top: 4.3vw;
    left: 9.2vw;
    z-index: 1;
}

.firstview .catchcopy .top span {
    display: inline-block;
    font-size: max(4.57vw,64px);
    color: #fff;
  font-family: 'LNPOP';
  text-shadow: 3px 3px 2px rgba(0,0,0,.9);
  line-height: 1.3;
  animation: copy 1s forwards ease;
  opacity: 0;
    will-change: transform, opacity;
    backface-visibility: hidden;
    transform-origin: center center;
}

.firstview .catchcopy .top span:nth-of-type(1) {
    animation-delay: .2s;
}

.firstview .catchcopy .top span:nth-of-type(2) {
    animation-delay: .4s;
}

.firstview .catchcopy .top span:nth-of-type(3) {
    animation-delay: .6s;
}

.firstview .catchcopy .top span:nth-of-type(4) {
    animation-delay: .8s;
}

.firstview .catchcopy .top span:nth-of-type(5) {
    animation-delay: 1s;
}

.firstview .catchcopy .top span:nth-of-type(6) {
    margin-left: -0.5em;
    animation-delay: 1.2s;
}

.firstview .catchcopy .top span:nth-of-type(7) {
    animation-delay: 1.4s;
}

.firstview .catchcopy .top span:nth-of-type(8) {
    animation-delay: 1.6s;
}

.firstview .catchcopy .top span:nth-of-type(9) {
    animation-delay: 1.8s;
}

.firstview .catchcopy .top span:nth-of-type(10) {
    animation-delay: 2s;
}

.firstview .catchcopy .bottom {
    font-size: max(1.78vw,25px);
    color: #fff;
  font-family: 'LNPOP';
  animation: copy2 1s forwards ease;
  opacity: 0;
  animation-delay: 1.4s;
}

.firstview .logo {
    position: absolute;
    bottom: 0em;
    right: 1vw;
    font-size: max(14.28vw,200px);
    color: #fff;
    opacity: 0.3;
    line-height: 0.745;
  font-family: 'futura';
  z-index: 1;
}

@keyframes bg {
    from {
    background-size: 105%;
    }

    to{
    background-size: 115%;
    }
}

@keyframes copy {
    from {
        opacity: 0;
        filter: blur(7px);
        transform: scale(1.5);
    }

    to{
        opacity: 1;
        filter: blur(0vw);
        transform: scale(1);
    }
}

@keyframes copy2 {
    from {
        opacity: 0;
        filter: blur(0.5vw) drop-shadow(3px 3px 3px rgba(0,0,0,0.9));
    }

    to{
        opacity: 1;
        filter: blur(0vw) drop-shadow(3px 3px 3px rgba(0,0,0,0.9));
    }
}

/* 各部タイトル */

.section_title {
    position: relative;
    display: flex;
    align-items: end;
    width: fit-content;
    padding-right: 40px;
    border-bottom: 2px solid #000;
    padding-bottom: 5px;
}

/* .section_title::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: calc(100% - 40px);
    height: 2px;
    background-color: #fff;
} */

.section_title.sub {
    border-bottom: none;
}

.section_title.sub .ttl_container {
    display: flex;
    align-items: center;
}

.section_title.sub .txt_container {
    padding-right: 20px;
}

.section_title.sub .main_title {
    font-size: 42px;
}

.sub_title {
    position: relative;
    font-family: 'corp';
    font-size: 30px;
    width: fit-content;
    line-height: 1.5;
}

.sub_title::before {
    content: "";
    width: 1.5em;
    height: 1px;
    position: absolute;
    top: 50%;
    right: 1em;
    background-color: #000;
}

.ttl_container {
    position: relative;
    width: fit-content;
    white-space: nowrap;
}

.txt_container {
    width: 100%;
    overflow: hidden;
    transition: all 1s ease;
    padding-right: 40px;
    clip-path: polygon(0% 0% , 0% 150% , 0% 150% , 0% 0%);
}

.question .txt_container {
    padding-bottom: 10px;
}

.section_title.active .txt_container {
    clip-path: polygon(0% 0% , 0% 150% , 100% 150% , 100% 0%);
}

.main_title {
    font-family: 'corp';
    font-size: 60px;
    line-height: 1;
}

.access .main_title span {
    /* margin-left: -0.5em; */
    margin-inline: -0.5em;
    margin-inline-end: -0.7em;
    font-size: 30px;
}

/* .access .txt_container {
    padding-right: 20px;
}

.access .section_title .icon {
    left: 20px;
}

.access .section_title.active .icon {
    left: calc(100% - 20px);
} */

.section_title .icon {
    position: absolute;
    left: -40px;
    bottom: 0;
    margin-left: 10px;
    transition: all 1s ease;
}

.section_title.sub .icon {
    bottom: unset;
    left: -20px;
}

.section_title.active .icon {
    left: calc(100% - 40px);
}

.section_title.sub.active .icon {
    left: calc(100% - 20px);
}

/* 各部タイトルここまで */

/* 社長からのオーダー */

section.order .section_content {
    position: relative;
    width: 100%;
    background-image: url(../home/order_repeat.jpg);

    /* background: linear-gradient(90deg,rgba(223, 227, 230, 0) 0%, rgba(223, 227, 230, 1) 50%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 100%); */
    /* height: 800px; */
}

section.order .section_content::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: repeating-linear-gradient(to right, #999999 0, #999999 2px, transparent 2px, transparent 4px);
    background-repeat: repeat-x;
}

section.order .section_content::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: repeating-linear-gradient(to right, #999999 0, #999999 2px, transparent 2px, transparent 4px);
    background-repeat: repeat-x;
}

section.order .inner {
    padding: 1px 0;
    position: relative;
}

section.order .inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background-image: repeating-linear-gradient(to bottom, #999999 0, #999999 2px, transparent 2px, transparent 4px);
    background-repeat: repeat-x;
}

section.order .inner::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background-image: repeating-linear-gradient(to bottom, #999999 0, #999999 2px, transparent 2px, transparent 4px);
    background-repeat: repeat-x;
}

section.order .president {
    /* margin-left: -100px; */
}

section.order .profile {
    position: absolute;
    left: 300px;
    bottom: 120px;
    flex-direction: column;
    width: 175px;
    height: 175px;
}

section.order .profile .circle {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    animation: circle 45s infinite linear;
}

section.order .position {
    position: relative;
    z-index: 1;
    font-size: 16px;
    font-weight: bold;
}

section.order .name {
    position: relative;
    z-index: 1;
    font-size: 30px;
    line-height: 1.3;
    font-weight: bold;
}

@keyframes circle {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

section.order .copy {
    position: absolute;
    top: -20px;
    right: 120px;
}

section.order .main_txt {
    position: absolute;
    bottom: 70px;
    right: 30px;
    width: 600px;
    line-height: 1.77;
    text-align: justify;
}

/* 3分でわかる寒風 */

section.about {
    background-color: #edf8ff;
}

.policy {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.policy .box {
    display: flex;
    align-items: center;
    gap: 90px;
    width: 100%;
    padding: 40px 30px;
    border-radius: 10px;
    background: linear-gradient(90deg,rgba(0, 115, 253, 0.2) 0%, rgba(1, 177, 106, 0.2) 100%);
}

.policy .box .title {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 170px;
    height: 56px;
    border-radius: 28px;
    background: linear-gradient(90deg,rgba(0, 115, 253, 1) 0%, rgba(1, 177, 106, 1) 100%);
}

.policy .box .title .bg {
    position: absolute;
    width: 166px;
    height: 52px;
    border-radius: 26px;
    background-color: #fff;
}

.policy .box .title p {
    display: flex;
    gap: 15px;
    position: relative;
    z-index: 1;
    font-size: 30px;
    font-family: 'corp';
}

.policy .box .content {
    font-size: 32px;
    line-height: 60px;
    font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP","MS PMincho",serif;
}

/* 寒風のお仕事 */

section.business {
    background-color: #fffde5;
}

section.business .box {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1200px;
    border-radius: 10px;
    background: linear-gradient(35deg,#00b6e1 0%, #00d8a6 100%);
}

section.business .box .bg {
    position: absolute;
    width: calc(100% - 6px);
    height: calc(100% - 6px);
    border-radius: 8px;
    background-color: #fff;
}

section.business .box .inner {
    padding: 0 23px 30px 23px;
    width: 100%;
    position: relative;
    z-index: 1;
}

section.business .box .inner li {
    display: flex;
    align-items: center;
    padding: 30px 0 30px 20px;
    border-bottom: 1px solid #999;
}

section.business .box .inner li .title {
    width: 240px;
    display: flex;
    align-items: center;
    font-family: 'corp';
    font-size: 30px;
}

section.business .box .inner li .title span {
    font-size: 24px;
    margin-right: 3px;
}

section.business .box .inner li:nth-of-type(1) .title span {
    color: #00df9c;
}

section.business .box .inner li:nth-of-type(2) .title span {
    color: #00d5ad;
}

section.business .box .inner li:nth-of-type(3) .title span {
    color: #00c7c4;
}

section.business .box .inner li:nth-of-type(4) .title span {
    color: #00b9db;
}

section.business .box .inner li:nth-of-type(5) .title span {
    color: #00aeec;
}

section.business .box .inner .img_container {
    gap: 24px;
}



/* 数字で見る寒風 */

section.in_number {
    background-color: #fff1da;
}

.number_wrapper {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.number_block {
    justify-content: space-between;
}

.number_block .box {
    width: 190px;
    height: 470px;
    border-radius: 10px;
    background-color: #e9f6fe;
    overflow: hidden;
    box-shadow: 0 0 10px -3px;
    transition: all .3s ease;
}

.number_block .box.active {
    width: 392px;
}

.number_block .box .inner {
    width: 392px;
    height: 470px;
    display: flex;
    /* justify-content: space-between; */
    flex-direction: column;
    align-items: center;
    padding: 20px 0;
}

.number_block .box .title {
    font-weight: bold;
    font-size: 30px;
    font-family:"Yu Gothic","游ゴシック体",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}

.number_block .box .content {
    width: 100%;
    overflow-wrap: break-word;
    text-align: unset;
    padding: 0 30px;
    font-size: 14px;
    line-height: 1.5;
    text-align: justify;
}

.number_block .box6 .content {
    width: fit-content !important;
    padding-left: 4em;
    text-indent: -1em;
    font-size: 16px;
}

/* 見てくれ！私たちの仕事を！ */

section.work {
    position: relative;
    width: 100%;
    height: 1110px;
    background-image: url(../home/work_base1.jpg);
    background-size: auto 100%;
    background-repeat: repeat;
    overflow: hidden;
}

section.work::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url(../home/work_base2.png);
    background-position: center;
}

section.work .wrap {
    height: 100%;
}

.st_wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: fit-content;
}

.st_wrapper .caption {
    font-weight: bold;
}

.work_subtitle {
    position: relative;
    left: -25px;
    top: 5px;
}

section.work .inner {
    position: relative;
    width: 100%;
}

.image_map {
    position: absolute;
    top: 35px;
    z-index: 5;
}

map area {
    cursor: pointer;
}

.no_works {
    cursor: default;
}

.window {
    position: fixed;
    top: calc(50% + 48px - 255px);
    left: calc(50% - 430px);
    padding: 15px 15px 15px 40px;
    width: 860px;
    height: 510px;
    border-radius: 20px;
    border: 3px solid #00c1d2;
    background-color: rgba(255, 255, 255, 0.85);
    opacity: 0;
    pointer-events: none;
    transition: all .3s ease;
    z-index: 8;
}

.window.active {
    pointer-events: all;
    opacity: 1;
}

.window .character {
    position: absolute;
    right: 16px;
    top: -16px;
}

.window .group {
    margin-top: 25px;
    padding-right: 10px;
    height: 415px;
    overflow-y: scroll;
}

.window .title {
    font-size: 30px;
    line-height: 1;
    font-family: 'corp';
}

.window .item {
    margin-top: 25px;
    width: 100%;
}

.window .item:first-of-type {
    margin-top: 0;
}

.window .item .prefecture {
    width: 100%;
    padding: 0 5px;
    border-bottom: 1px solid #666;
    line-height: 1.3;
    font-size: 20px;
    font-weight: bold;
}

.window .item .thumbnails {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 5px;
    gap: 8px;
}

.thumb {
    width: 120px;
    height: 71px;
    cursor: pointer;
}

.thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.work_box15 {
    position: absolute;
    left: 472px;
    top: 317px;
    z-index: 5;
}

.work_box15 .active {
    z-index: 9;
}

.works {
    position: fixed;
    left: 0;
    top: 0px;
    padding-top: 180px;
    width: 100vw;
    height: calc(100vh - 0px);
    background-color: rgba(0, 0, 0, 0.85);
    z-index: 999;
    overflow-y: scroll;
    opacity: 0;
    pointer-events: none !important;
    transition: all .3s ease;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.works::-webkit-scrollbar {
    display: none;
}

.works * {
    pointer-events: none !important;
}

section.work .works.active {
    opacity: 1;
    pointer-events: all !important;
}

section.work .works.active * {
    pointer-events: all !important;
}

.cross {
    position: absolute;
    right: 20px;
    top: 126px;
    width: 35px;
    height: 35px;
    cursor: pointer;
}

.cross span {
    position: absolute;
    width: 100%;
    height: 4px;
    background-color: #fff;
}

.cross span:nth-of-type(1) {
    top: calc(50% - 2px);
    transform: rotate(45deg);
}

.cross span:nth-of-type(2) {
    bottom: calc(50% - 2px);
    transform: rotate(-45deg);
}

.works .title {
    width: 100%;
    border-bottom: 1px solid #fff;
    line-height: 1.2;
    font-size: 40px;
    font-family:"Yu Gothic","游ゴシック体",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-weight: bold;
    color: #fff;
}

.works .location {
    font-size: 18px;
    color: #fff;
    font-weight: bold;
    font-family:"Yu Gothic","游ゴシック体",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}

.works .date {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 380px;
    height: 35px;
    border: 1px solid #fff;
    font-weight: bold;
    color: #fff;
    font-family:"Yu Gothic","游ゴシック体",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}

.works .inner {
    margin-top: 50px;
    width: 100%;
    min-width: 1200px;
    padding-right: 30px;
    justify-content: space-between;
    padding-bottom: 50px;
}

.works .txt {
    width: 300px;
}

.works .point {
    margin-top: 45px;
    width: 100%;
    font-size: 24px;
    border-bottom: 2px solid #00ffd8;
    color: #00ffd8;
    font-weight: bold;
    font-family:"Yu Gothic","游ゴシック体",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}

.works .content {
    margin-top: 20px;
    color: #fff;
    font-size: 18px;
    line-height: 32px;
    font-family:"Yu Gothic","游ゴシック体",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    text-align: justify;
}

.works .picture {
    margin-top: -35px;
    display: flex;
}

.main_pic {
    width: 672px;
    height: 504px;
}

.main_pic .swiper-wrapper .swiper-slide {
    object-fit: contain;
    object-position: top;
}

.thumb_pic {
    margin: 0;
    margin-left: 10px;
}

.thumb_pic .swiper-slide {
    width: 133px !important;
    height: 101px !important;
    margin-bottom: 10px;
    object-fit: cover;
}

.work_btn {
    padding: 0 20px;
    position: fixed;
    top: calc(50% + 48px - 27px);
    left: 0;
    width: 100%;
    min-width: 1300px;
    display: flex;
    justify-content: space-between;
    z-index: 10;
    pointer-events: none;
    opacity: 0;
}

.work_btn.active {
    opacity: 1;
}

.work_btn img {
    cursor: pointer;
    padding: 0 14px;
    pointer-events: none;
}

.work_btn.active img {
    pointer-events: all;
}

/* Q&A */

.question_btn {
    /* display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 28px;
    font-family: 'corp';
    width: 400px;
    height: 90px;
    border-radius: 45px;
    background: linear-gradient(90deg,#00b0e8 0%, #00d8ab 100%); */
}

/* 福利厚生 */

section.benefits {
    background-color: #edf8ff;
}

.bene_container {
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.bene_container .item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 280px;
    background: linear-gradient(#fff, #fff) padding-box,linear-gradient(66deg,#01aafa, #00ea8b)  border-box;
    border: 2px solid transparent;
    border-radius: 16px;
    opacity: 0;
    top: 50px;
    transition: all 1s ease;
}

.bene_container .item:nth-of-type(2) {
    transition-delay: .3s;
}

.bene_container .item:nth-of-type(3) {
    transition-delay: .6s;
}

.bene_container .item:nth-of-type(4) {
    transition-delay: .9s;
}

.bene_container .item.active {
    opacity: 1;
    top: 0;
}

/* .bene_container .item::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    border-radius: 14px;
    background-color: #fff;
} */

.bene_container .item .title,
.bene_container .item .content {
    position: relative;
    z-index: 1;
}

.bene_container .item .title {
    text-align: center;
    font-size: 28px;
    font-family: 'corp';
    font-weight: bold;
    line-height: 1.3;
}

.bene_container .item .content {
    line-height: 1.55;
    margin-top: 30px;
    font-weight: bold;
    font-family:"Yu Gothic","游ゴシック体",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}

.bene_container .item .title span {
    display: block;
    font-size: 16px;
}

.bene_container .short {
    height: 120px;
    justify-content: center;
}

.bene_container .tall {
    padding: 0 20px;
    padding-top: 45px;
    height: 220px;
}


/* 募集要項 */

section.recruit {
    background-color: #f1f1f1;
}

section.recruit .wrap {
    overflow-x: hidden;
}

.rec_slider {
    overflow: visible !important;
}

.rec_slider .item {
    position: relative;
    width: 360px;
    height: 355px;
    background-size: cover;
    padding: 65px 30px 0 30px;
    background-image: url(../home/rec_base01.png);
    margin-right: 60px;
  filter: drop-shadow(3px 3px 2px rgba(0,0,0,0.3));
  opacity: 0;
  transition: all 1s ease;
}

.rec_item:nth-of-type(2) {
    transition-delay: .3s;
}

.rec_item:nth-of-type(3) {
    transition-delay: .6s;
}

.rec_item.active {
    opacity: 1;
}

.rec_slider .item:last-of-type {
    margin-right: 0;
}

.rec_slider .swiper-wrapper {
    padding-bottom: 20px;
    justify-content: space-between;
}

.rec_slider .item .watermark {
    position: absolute;
    top: 8px;
    right: 14px;
}

.rec_slider .item .title {
    width: 100%;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    font-size: 24px;
    font-weight: bold;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rec_slider .item .content {
    display: -webkit-box;
    position: relative;
    font-size: 16px;
    height: 151px;
    padding-top: 30px;
    margin-bottom: 40px;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}

.rec_slider .item .more {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 10px;
    color: #aa2020;
    font-size: 20px;
    font-weight: bold;
}

.rec_slider .item .more::before {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    top: 0;
    left: 0;
    background-image: repeating-linear-gradient(to right, #000 0, #000 2px, transparent 2px, transparent 4px);
}

.rec_btn {
    display: flex;
    justify-content: center;
    gap: 80px;
}

.rec_btn .prev,
.rec_btn .next {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 110px;
    height: 60px;
    border-radius: 30px;
    background: linear-gradient(0deg,#aad3ff 0%, #82ffd4 100%);
    cursor: pointer;
    transition: .3s ease;
}

.rec_btn .prev:hover,
.rec_btn .next:hover {
}

.rec_btn .prev::before ,
.rec_btn .next::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 2px ;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    border-radius: 28px;
    background-color: #fff;
}

.rec_btn .prev::after,
.rec_btn .next::after {
    content:  "";
    position: absolute;
    width: 20px;
    height: 20px;
    transform-origin: center;
    transition: all .3s ease;
}

.rec_btn .prev::after {
    margin-left: 8px;
    border-top: 3px solid #999;
    border-left: 3px solid #999;
    transform: rotate(-45deg);
}

.rec_btn .prev:hover::after {
    margin-left: 0px;
}

.rec_btn .next::after {
    margin-right: 8px;
    border-top: 3px solid #999;
    border-right: 3px solid #999;
    transform: rotate(45deg);
}

.rec_btn .next:hover::after {
    margin-right: 0px;
}

/* .rec_btn .prev p,
.rec_btn .next p {
    position: relative;
    z-index: 1;
    font-size: 50px;
    transform: scaleX(0.6);
    color: #999999;
} */

/* -----------------------------------------------
会社概要
----------------------------------------------- */

.topimage {
    width: 100%;
    height: 370px;
}

.topimage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.outline_table {
    width: 100%;
}

.outline_table li {
    position: relative;
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid #cccccc;
}

.outline_table li:first-of-type {
    border-top: 1px solid #ccc;
}

.outline_table li.dot {
    border: none;
}

.outline_table li.dot::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: repeating-linear-gradient(to right, #ccc 0, #ccc 2px, transparent 2px, transparent 4px);
    background-repeat: repeat-x;
}

.outline_table li .left {
    width: 260px;
    padding: 15px 38px;
    background: linear-gradient(90deg,#d9f4ff 0%, #d4ffe6 100%);
}

.outline_table li .right {
    width: 940px;
    padding: 15px 38px;
}

.outline_table li .right .inner {
    display: flex;
}

.outline_table li .right .inner p:nth-of-type(1) {
    width: 340px;
    padding-right: 20px;
}

.outline_table li .right .inner p:nth-of-type(2) {
    padding-left: 20px;
}

.gmap {
    width: 100%;
    height: 500px;
    margin-top: 30px;
}

.history {
    background-color: #eef9ff;
}

.his_slider .inner {
    position: relative;
    height: 550px !important;
}

.his_slider {
    position: relative;
}

.his_slider::before {
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: 140px;
    z-index: 5;
    background: linear-gradient(to bottom,#eef9ff 30%,transparent 100%);
}

.his_slider::after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 140px;
    z-index: 5;
    background: linear-gradient(to top,#eef9ff 30%,transparent 100%);
}

.his_slider .item {
    width: 1060px;
    height: 130px !important;
    display: flex;
    align-items: center;
    border-radius: 12px;
    border: 1px solid #ccc;
    background-color: #fff;
    padding: 20px 25px;
}

.his_slider .year_container {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.his_slider .ad {
    background: linear-gradient(to right,#00a3fd 0%,#00e299 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 60px;
    font-family: 'futura';
    padding-right: 40px;
    flex-shrink: 0;
    letter-spacing: -0.05em;
}

.his_slider .ad span {
    font-size: 30px;
    font-family: 'shingo-h';
    flex-shrink: 0;
    margin-left: 0.1em;
}

.his_slider .year {
    position: relative;
    top: 0.5em;
    font-size: 18px;
    font-weight: bold;
    color: #999999;
    margin-right: 100px;
    flex-shrink: 0;
}

.his_slider .content {
    line-height: 1.66;
    font-weight: bold;
}

.his_btn {
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 50px;
    height: 100%;
    z-index: 10;
}

.his_btn .prev,
.his_btn .next {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 85px;
    height: 85px;
    border-radius: 50%;
    border: 2px solid #70ccff;
    color: #70ccff;
    background-color: #fff;
    font-size: 70px;
    font-weight: 100;
    cursor: pointer;
}

.his_btn .prev:hover,
.his_btn .next:hover {
    filter: brightness(0.95);
}

.his_btn .prev::before {
    content: "";
    position: absolute;
    top: 35%;
    width: 34px;
    height: 34px;
    border-top: 2px solid #70ccff;
    border-left: 2px solid #70ccff;
    transform: rotate(45deg);
}

.his_btn .next::after {
    content: "";
    position: absolute;
    bottom: 35%;
    width: 34px;
    height: 34px;
    border-top: 2px solid #70ccff;
    border-left: 2px solid #70ccff;
    transform: rotate(-135deg);
}


/* -----------------------------------------------
Q&A
----------------------------------------------- */

.topimage.question {
    background: linear-gradient(180deg,#d6ffff 0%, #fff 100%);
}

.topimage.question img {
    display: block;
    height: 100%;
    width: auto;
    padding: 23px 0;
    margin: 0 auto;
}

section.question .inner {
    padding: 0 100px;
}

.q_title {
    font-family: 'corp';
    font-size: 24px;
    width: 100%;
    border-bottom: 1px solid #000;
    line-height: 1.5;
}

.q_title span.green {
    color: #01d285;
    margin-right: 5px;
}

.qa_list {
    padding: 25px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.item_que {
    cursor: pointer;
    display: flex;
    align-items: stretch;
}

.item_que .uppercase {
    display: flex;
    justify-content: center;
    width: 80px;
    padding: 20px 0;
    border-radius: 10px 0 0 10px;
    background-color: #3ccaff;
    flex-shrink: 0;
    margin-right: 2px;
}

.item_que .uppercase p{
    position: relative;
    top: -5px;
    font-family: 'ryumin-h';
    color: #fff;
    font-size: 40px;
    line-height: 1;
}

.item_que .content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 20px;
    border-radius: 0 10px 10px 0;
    background-color: #dcf6ff;
}

.item_que .content p {
    padding-right: 20px;
    font-size: 22px;
    color: #006fa8;
    font-weight: bold;
    line-height: 1.66;
}

.item_que.is-active .arrow {
    transform: rotate(180deg);
}

.item_ans {
    margin-top: 2px;
    display: flex;
    align-items: stretch;
    padding-bottom: 20px;
    /* max-height: 0; */
    /* transition: all .5s ease; */
}

.item_ans .uppercase {
    display: flex;
    justify-content: center;
    /* align-items: center; */
    width: 80px;
    padding: 20px;
    border-radius: 10px 0 0 10px;
    background-color: #3cffb4;
    flex-shrink: 0;
    margin-right: 2px;
}

.item_ans .uppercase p{
    position: relative;
    top: -5px;
    font-family: 'ryumin-h';
    color: #000;
    font-size: 40px;
    line-height: 1;
}

.item_ans .content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 20px;
    border-radius: 0 10px 10px 0;
    background-color: #e2ffe2;
}

.item_ans .content p {
    padding-right: 20px;
    line-height: 1.66;
}


/* -----------------------------------------------
募集要項
----------------------------------------------- */

section.job .inner {
    padding: 60px 50px;
}

.job .job_name {
    display: flex;
    position: relative;
    width: 100%;
    padding: 15px 50px;
    background: linear-gradient(90deg,#8cd5fe 0%, #caf6eb 100%);
    border-radius: 5px;
}

.job .job_name .stripe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url(../common/stripe.png);
    opacity: 1;
}

.job .job_name p {
    position: relative;
    font-size: 32px;
    line-height: 1;
    z-index: 2;
    font-weight: bold;
}

.job_info li {
    display: flex;
    padding: 15px 35px;
    border-top: 1px solid #ccc;
}

.job_info li:last-of-type {
    border-bottom: 1px solid #ccc;
}

.job_info .item_name {
    font-weight: bold;
    width: 195px;
    flex-shrink: 0;
}

.job_btn {
    /* display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 28px;
    font-family: 'corp';
    width: 400px;
    height: 90px;
    border-radius: 45px;
    background: linear-gradient(90deg,#00b0e8 0%, #00d8ab 100%); */
}

/* -----------------------------------------------
お問い合わせ
----------------------------------------------- */

.contact .section_title .icon {
    height: 55px;
}

section.contact .inner {
    padding: 50px 50px 0 50px;
}

.form_item {
    position: relative;
    margin-top: 50px;
    display: flex;
}

.form_item .item_name {
    position: relative;
    padding: 15px 0;
    width: 230px;
    line-height: 1.4;
    /* display: flex; */
}

.form_item .item_name img {
    height: 24px;
    width: auto;
    position: absolute;
    right: 20px;
    top: 15px;
}

/* .required .item_name::before {
    content: "必須";
    position: absolute;
    right: 20px;
    top: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-weight: bold;
    width: 42px;
    height: 24px;
    border-radius: 12px;
    font-size: 14px;
    background: linear-gradient(90deg,#07b2e9 0%, #00dca2 100%);
} */

.form_item .item_name p {
    font-weight: bold;
}

textarea,
input[type="text"],
input[type="tel"],
input[type="email"] {
    display: block;
    padding: 5px 15px;
    width: 870px;
    border-radius: 5px;
    border: 1px solid #abcbd2;
    background-color: #ecfbf7;
}

.entry textarea,
.entry input[type="text"],
.entry input[type="tel"],
.entry input[type="email"] {
    background-color: #effafb;
}

textarea {
    width: 870px;
    height: 250px;
    font-size: 18px;
    resize: none;
}

input[type="text"],
input[type="tel"],
input[type="email"] {
    height: 55px;
    font-size: 18px;
}

.privacypolicy {
    position: relative;
    padding: 25px 160px 25px 45px;
    width: 100%;
    margin-top: 100px;
    border-radius: 16px;
    background-color: #eeeeee;
}

.privacypolicy .title {
    font-size: 22px;
    font-weight: bold;
}

.privacypolicy .character {
    position: absolute;
    right: -15px;
    top: 60px;
}

.pp_scroll {
    width: 100%;
    height: 200px;
    margin-top: 20px;
    padding-right: 20px;
    font-size: 16px;
    overflow-y: scroll;
}

.pp_scroll a {
    color: #00a2ff;
}

.check {
    flex-direction: column;
}

.check p {
  position: relative;
  display: flex;
  align-items: center;
  width: fit-content;
  margin: 0 auto;
  margin-top: 35px;
  font-size: 16px;
  font-family: 'shingo-r';
  font-weight: 400;
  font-family:"Yu Gothic","游ゴシック体",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}

.checkbox {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  margin: 0;
  width: 38px;
  height: 38px;
  border: 2px solid #00a2ff;
  border-radius: 3px;
  background-color: #fff;
  transition: .1s all ease;
  cursor: pointer;
}

.checkbox:checked {
  border-color: #00a2ff;
  background-color: #00a2ff;
  background-image: url("data:image/svg+xml;utf8,\<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'>\<path d='M20 6L9 17l-5-5'/>\</svg>");
}

.contact_btn {
    /* display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 28px;
    font-family: 'corp';
    width: 400px;
    height: 90px;
    border-radius: 45px;
    background: linear-gradient(90deg,#00b0e8 0%, #00d8ab 100%); */
}

.alert,.confirm,.complete {
    display: none;
}

.alert.active {
  position: absolute;
  display: block;
  font-size: 13px;
  color: #f00;
  font-family: 'BIZ-r';
}

.alert_pp {
  position: relative !important;
  margin: 0 auto;
  width: fit-content;
  left: 0 !important;
  top: 0 !important;
}

.confirm.active {
  position: fixed;
  display: flex;
  left: calc(50% - 510px);
  top: calc(50vh - 40vh);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 50px;
  width: 1020px;
  height: 80vh;
  background-color: #fff;
  color: #000;
  z-index: 999;
  border-radius: 10px;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
  pointer-events: all;
}

.confirm h2 {
  font-size: 28px;
  margin-bottom: 30px;
  background: none;
  color: #000;
  text-align: center;
}

.confirm_item {
  display: flex;
  justify-content: left;
  padding: 16px 60px;
  width: 100%;
  border-top: 1px solid #000;
}

.confirm_item:last-of-type {
  border-bottom: 1px solid #000;
}

.confirm_container {
  width: 100%;
  overflow-y: scroll;
}

.confirm_head {
  width: 180px;
  margin-right: 20px;
  line-height: 1.5;
}

.confirm_address{
  display: flex;
  flex-direction: column;
}

.confirm_container p:last-of-type {
  width: 620px;
  text-align: left;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.confirm_btn {
  margin-top: 50px;
  display: flex;
  flex-direction: row-reverse;
}

.submit_btn,.back {
  margin: 0 50px;
  width: 130px;
  height: 50px;
  font-size: 18px;
  border: none;
  border-radius: 8px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  transition: .3s all ease;
}

.submit_btn:hover,.back:hover {
  opacity: .8;
}

.submit_btn {
  color: #fff;
  background-color: #005fad;
}

.back {
  background-color: #ccc;
  color: #000;
  line-height: 50px;
}

.complete{
  position: fixed;
  left: calc(50% - 450px);
  top: calc(50% - min(40vh, 400px));
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 50px;
  width: 900px;
  height: 80vh;
  max-height: 800px;
  background-color: #fff;
  color: #000;
  z-index: 999;
  border-radius: 10px;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
  pointer-events: all;
}

.complete.active{
  display: flex;
}

.complete h1{
  margin-bottom: 30px;
}

.close{
  width: 130px;
  height: 50px;
  font-size: 18px;
  background-color: #005fad;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 50px;
  margin-top: 30px;
  border-radius: 8px;
  cursor: pointer;
}

.close:hover{
  opacity: .8;
}

/* -----------------------------------------------
エントリー
----------------------------------------------- */

.entry .job_name {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    padding: 15px 50px;
    background: linear-gradient(90deg,#8cd5fe 0%, #caf6eb 100%);
    border-radius: 5px;
}

.entry .job_name .stripe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url(../common/stripe.png);
    opacity: 1;
}

.entry .job_name .select {
    position: relative;
    display: flex;
    align-items: center;
    font-weight: bold;
    width: 125px;
    height: 40px;
    border-right: 1px solid #000;
    z-index: 2;
}

.entry .job_name p {
    padding-left: 50px;
    position: relative;
    font-size: 32px;
    line-height: 1;
    z-index: 2;
    font-weight: bold;
}

.radio_wrap {
    height: 100%;
    display: flex;
    align-items: center;
}

.radio {
    display: flex;
    align-items: center;
    margin-right: 100px;
}

input[type="radio"] {
    appearance: none;
    width: 40px;
    height: 40px;
    border: 1px solid #abcbd2;
    background-color: #effafb;
    border-radius: 20px;
    margin-right: 5px;
}

input[type="radio"]:checked {
    border-width: 6px;
}

.form_item label {
    position: relative;
    top: 2px;
    font-size: 18px;
    font-weight: bold;
}

.age_wrap {
    display: flex;
    align-items: center;
}

#age {
    width: 160px;
    margin-right: 10px;
}

.zip_top {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

#zip_three {
    width: 160px;
    margin: 0 5px;
}

#zip_four {
    width: 240px;
    margin: 0 5px;
}


}  /*  PC版ここまで  */



/*===================================
スマホ版
===================================*/
@media only screen and (max-width : 520px ) {
/* -----------------------------------------------
トップページ
----------------------------------------------- */

.firstview {
    position: relative;
    margin-top: 13vw;
    width: 100%;
    height: 76.6vw;
}

.fv_slider {
    height: 76.6vw !important;
}

.fv_slider .swiper-wrapper,
.fv_slider .swiper-slide,
.fv_slider .slide-img {
    height: 100% !important;
}

.firstview .slide-img img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  animation: zoomUp 6.5s linear forwards;
}

.firstview .swiper-slide.swiper-slide-prev .slide-img img {
  animation: zoomUp 6.5s linear forwards !important;
}

.last-active .slide-img img{
  animation: none;
}

.firstview .swiper-slide.swiper-slide-next .slide-img img {
  animation: none;
}

@keyframes zoomUp {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.1);
  }
}

.firstview .catchcopy {
    position: absolute;
    top: 5.1vw;
    left: 4vw;
    z-index: 1;
}

.firstview .catchcopy .top span {
    display: inline-block;
    font-size: 6.3vw;
    color: #fff;
  font-family: 'LNPOP';
  filter: drop-shadow(0 0 0 rgba(0,0,0,0.9));
  line-height: 1.3;
  animation: copy 1s forwards ease;
  opacity: 0;
  letter-spacing: -0.5vw;
}

.firstview .catchcopy .top span:nth-of-type(1) {
    animation-delay: .2s;
}

.firstview .catchcopy .top span:nth-of-type(2) {
    animation-delay: .4s;
}

.firstview .catchcopy .top span:nth-of-type(3) {
    animation-delay: .6s;
}

.firstview .catchcopy .top span:nth-of-type(4) {
    animation-delay: .8s;
}

.firstview .catchcopy .top span:nth-of-type(5) {
    animation-delay: 1s;
}

.firstview .catchcopy .top span:nth-of-type(6) {
    margin-left: -0.5em;
    animation-delay: 1.2s;
}

.firstview .catchcopy .top span:nth-of-type(7) {
    animation-delay: 1.4s;
}

.firstview .catchcopy .top span:nth-of-type(8) {
    animation-delay: 1.6s;
}

.firstview .catchcopy .top span:nth-of-type(9) {
    animation-delay: 1.8s;
}

.firstview .catchcopy .top span:nth-of-type(10) {
    animation-delay: 2s;
}

.firstview .catchcopy .bottom {
    font-size: 2.4vw;
    color: #fff;
  font-family: 'LNPOP';
  filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.8));
  animation: copy2 1s forwards ease;
  opacity: 0;
  animation-delay: 1.4s;
}

.firstview .logo {
    position: absolute;
    bottom: 0em;
    right: 1vw;
    font-size: 13.5vw;
    color: #fff;
    opacity: 0.3;
    line-height: 0.745;
  font-family: 'futura';
  z-index: 1;
}

@keyframes bg {
    from {
    background-size: 105%;
    }

    to{
    background-size: 115%;
    }
}

@keyframes copy {
    from {
        opacity: 0;
        filter: blur(0.5vw) drop-shadow(1.5px 1.5px 1px rgba(0,0,0,0.9));
        transform: scale(1.5);
    }

    to{
        opacity: 1;
        filter: blur(0vw) drop-shadow(1.5px 1.5px 1px rgba(0,0,0,0.9));
        transform: scale(1);
    }
}

@keyframes copy2 {
    from {
        opacity: 0;
        filter: blur(0.5vw) drop-shadow(1px 1px 1px rgba(0,0,0,0.9));
    }

    to{
        opacity: 1;
        filter: blur(0vw) drop-shadow(1px 1px 1px rgba(0,0,0,0.9));
    }
}

/* 各部タイトル */

.section_title {
    display: flex;
    align-items: end;
    width: fit-content;
    padding-right: 6vw;
    border-bottom: 2px solid #000;
    padding-bottom: 5px;
}

.section_title.sub {
    border-bottom: none;
}

.section_title.sub .ttl_container {
    display: flex;
    align-items: center;
}

.section_title.sub .main_title {
    font-size: 6.5vw;
}

.sub_title {
    position: relative;
    font-family: 'corp';
    font-size: 4vw;
    width: fit-content;
    line-height: 1.5;
}

.sub_title::before {
    content: "";
    width: 1.5em;
    height: 1px;
    position: absolute;
    top: 50%;
    right: 1em;
    background-color: #000;
}

.ttl_container {
    position: relative;
    width: fit-content;
    white-space: nowrap;
}

.txt_container {
    width: 100%;
    overflow: hidden;
    transition: all 1s ease;
    padding-right: 4vw;
    clip-path: polygon(0% 0% , 0% 150% , 0% 150% , 0% 0%);
}

.question .txt_container {
    padding-bottom: 1vw;
}

.section_title.active .txt_container {
    clip-path: polygon(0% 0% , 0% 150% , 100% 150% , 100% 0%);
}

.main_title {
    font-family: 'corp';
    font-size: 8vw;
    line-height: 1;
}

.main_title span {
    font-size: 4vw;
    margin-inline: -0.5em;
    margin-inline-end: -0.7em;
}

.section_title .icon {
    position: absolute;
    left: -4vw;
    bottom: 0;
    height: 9vw;
    width: auto;
    margin-left: 2vw;
    transition: all 1s ease;
}

.section_title.sub .icon {
    bottom: unset;
}

section.about .section_title.sub .icon {
    bottom: -.5vw;
}

.section_title.active .icon {
    left: calc(100% - 4vw);
}

section.recruit .section_title .icon {
    height: 8vw;
}

/* 各部タイトルここまで */

/* 社長からのオーダー */

section.order .section_content {
    position: relative;
    width: 100%;
    margin-top: 6vw;
    /* background: linear-gradient(90deg,rgba(223, 227, 230, 0) 0%, rgba(223, 227, 230, 1) 50%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 100%); */
    /* height: 800px; */
}

section.order .sp_inner {
    position: relative;
}

section.order .sp_inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: repeating-linear-gradient(to right, #999999 0, #999999 2px, transparent 2px, transparent 4px);
    background-repeat: repeat-x;
}

section.order .sp_inner::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: repeating-linear-gradient(to right, #999999 0, #999999 2px, transparent 2px, transparent 4px);
    background-repeat: repeat-x;
}

section.order .sp_inner .wrap {
    position: absolute;
    top: 0;
    height: 100%;
}

section.order .sp_inner .inner {
    position: relative;
    width: 100%;
    height: 100%;
}

section.order .sp_inner .inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background-image: repeating-linear-gradient(to bottom, #999999 0, #999999 2px, transparent 2px, transparent 4px);
    background-repeat: repeat-x;
}

section.order .sp_inner .inner::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background-image: repeating-linear-gradient(to bottom, #999999 0, #999999 2px, transparent 2px, transparent 4px);
    background-repeat: repeat-x;
}

section.order .president {
    /* margin-left: -100px; */
}

section.order .profile {
    position: absolute;
    right: 9vw;
    top: -70vw;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 32.4vw;
    height: 32.4vw;
}

section.order .profile .circle {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    animation: circle 45s infinite linear;
}

section.order .position {
    position: relative;
    z-index: 1;
    font-size: 3.24vw;
    font-weight: bold;
}

section.order .name {
    position: relative;
    z-index: 1;
    font-size: 5.9vw;
    line-height: 1.3;
    font-weight: bold;
}

@keyframes circle {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

section.order .copy {
    position: relative;
    top: -4vw;
    width: 75.6vw;
    margin: 0 auto;
    display: block;
}

section.order .main_txt {
    position: relative;
    line-height: 1.77;
    text-align: justify;
    font-size: 4.86vw;
}

/* 3分でわかる寒風 */

section.about {
    background-color: #edf8ff;
}

.policy {
    display: flex;
    flex-direction: column;
    gap: 4vw;
}

.policy .box {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 100%;
    padding: 5vw 5vw 3vw 5vw;
    border-radius: 2vw;
    background: linear-gradient(90deg,rgba(0, 115, 253, 0.2) 0%, rgba(1, 177, 106, 0.2) 100%);
}

.policy .box .title {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 29.6vw;
    height: 8.6vw;
    border-radius: 4.3vw;
    background: linear-gradient(90deg,rgba(0, 115, 253, 1) 0%, rgba(1, 177, 106, 1) 100%);
}

.policy .box .title .bg {
    position: absolute;
    width: 29vw;
    height: 8vw;
    border-radius: 4vw;
    background-color: #fff;
}

.policy .box .title p {
    display: flex;
    gap: 3vw;
    position: relative;
    z-index: 1;
    font-size: 5.7vw;
    font-family: 'corp';
}

.policy .box .content {
    font-size: 4.8vw;
    line-height: 7vw;
    width: 100%;
    letter-spacing: -0.2vw;
    font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP","MS PMincho",serif;
    font-weight: bold;
}

.policy .box .content span {
    margin-top: 2vw;
}

.policy .box:nth-of-type(1) .content span {
    display: block;
    padding-left: 8em;
    text-indent: -8em;
}

.policy .box:nth-of-type(2) .content span {
    display: block;
    padding-left: 4em;
    text-indent: -4em;
}

/* 寒風のお仕事 */

section.business {
    background-color: #fffde5;
}

.bus_txt {
    margin-top: 3vw;
    font-size: 4.8vw;
    font-weight: normal;
    line-height: 1.66;
}

section.business .box {
    margin-top: 5vw;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 2vw;
    background: linear-gradient(35deg,#00b6e1 0%, #00d8a6 100%);
}

section.business .box .bg {
    position: absolute;
    width: calc(100% - 1.2vw);
    height: calc(100% - 1.2vw);
    border-radius: 1.6vw;
    background-color: #fff;
}

section.business .box .inner {
    padding: 0 3vw 5vw 3vw;
    width: 100%;
    position: relative;
    z-index: 1;
}

section.business .box .inner li {
    align-items: center;
    padding: 1vw 1vw 4vw 1vw;
    border-bottom: 1px solid #999;
}

section.business .box .inner li .title {
    display: flex;
    align-items: center;
    font-family: 'corp';
    font-size: 5.9vw;
}

section.business .box .inner li .title span {
    font-size: 4.3vw;
    margin-right: 1vw;
}

section.business .box .inner li:nth-of-type(1) .title span {
    color: #00df9c;
}

section.business .box .inner li:nth-of-type(2) .title span {
    color: #00d5ad;
}

section.business .box .inner li:nth-of-type(3) .title span {
    color: #00c7c4;
}

section.business .box .inner li:nth-of-type(4) .title span {
    color: #00b9db;
}

section.business .box .inner li:nth-of-type(5) .title span {
    color: #00aeec;
}

section.business .box p {
    font-size: 4.8vw;
    padding-left: 4.5vw;
    line-height: 1.44;
    font-weight: bold;
}

section.business .box .inner .img_container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

section.business .box .inner .img_container img {
    width: 75.6vw;
    margin-top: 4vw;
}



/* 数字で見る寒風 */

section.in_number {
    background-color: #fff1da;
}

.number_wrapper {
    margin-top: 4vw;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.number_block {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 3vw;
    margin-bottom: 3vw;
}

.number_block .box {
    /* margin-bottom: 3vw; */
    width: 45vw;
    height: 54.8vw;
    border-radius: 3vw;
    background-color: #e9f6fe;
    overflow: hidden;
    box-shadow: 0 0 1vw 0px #999;
    transition: all .3s ease;
}

.number_block .box .inner {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
    padding: 2vw 0;
}

.number_block .box .title {
    font-weight: bold;
    font-size: 3.5vw;
    font-family:"Yu Gothic","游ゴシック体",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}

.number_block .box .img_container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.number_block .box .img_container img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.number_block .box .content {
    width: 100%;
    overflow-wrap: break-word;
    text-align: unset;
    padding: 0 4vw;
    font-size: 1.58vw;
    line-height: 1.5;
    text-align: justify;
}

.number_block .box6 .content {
    width: fit-content !important;
    padding-left: 4em;
    text-indent: -1em;
    font-size: 1.8vw;
}

/* 見てくれ！私たちの仕事を！ */

section.work {
    position: relative;
    width: 100%;
    height: 116.2vw;
    background-image: url(../home/work_base1.jpg);
    background-size: auto 100%;
    background-repeat: repeat;
    overflow: hidden;
}

section.work::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url(../home/work_base2.png);
    background-size: 5vw;
}

section.work>.wrap {
    padding: 0 !important;
}

section.work .wrap {
    height: 100%;
}

section.work .wrap .caption {
    font-size: 4.3vw;
    line-height: 1.375;
    padding-top: 3vw;
}

.work_subtitle {
    position: relative;
    left: -2vw;
    width: 22.7vw;
}

section.work .inner {
    position: relative;
    width: 100%;
}

.image_map {
    position: absolute;
    left: 0;
    width: 98.5%;
    top: 16vw;
    z-index: 5;
}

map area {
    cursor: pointer;
}

.no_works {
    cursor: default;
}

.window {
    position: fixed;
    top: 30vw;
    left: calc(50% - 47.3vw);
    padding: 2.9vw;
    width: 94.6vw;
    height: 91.9vw;
    border-radius: 3vw;
    border: 0.4vw solid #00c1d2;
    background-color: rgba(255, 255, 255, 0.85);
    opacity: 0;
    pointer-events: none;
    transition: all .3s ease;
    z-index: 8;
}

.window.active {
    pointer-events: all;
    opacity: 1;
}

.window .character {
    position: absolute;
    right: 3vw;
    top: -3vw;
    height: 10vw;
    width: auto;
}

.window .group {
    padding-right: 1vw;
    height: 78.5vw;
    overflow-y: scroll;
}

.window .title {
    font-size: 6.48vw;
    line-height: 1;
    font-family: 'corp';
}

.window .item {
    margin-top: 4vw;
    width: 100%;
}

.window .item .prefecture {
    width: 100%;
    padding: 0 1vw;
    border-bottom: 1px solid #666;
    line-height: 1.3;
    font-size: 4.3vw;
    font-weight: bold;
}

.window .item .thumbnails {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 1vw;
    gap: 1.6vw;
}

.thumb {
    width: 19.3vw;
    height: 11.35vw;
    cursor: pointer;
}

.thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.work_box15 {
    position: absolute;
    left: 15vw;
    top: 54vw;
    z-index: 5;
}

.work_box15 .active {
    z-index: 9;
}

.works {
    position: fixed;
    left: 0;
    top: 13vw;
    width: 100vw;
    height: calc(100vh - 13vw);
    background-color: rgba(0, 0, 0, 0.85);
    z-index: 10;
    overflow-y: scroll;
    opacity: 0;
    pointer-events: none !important;
    transition: all .3s ease;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.works::-webkit-scrollbar {
    display: none;
}

.works * {
    pointer-events: none !important;
}

.works.active {
    opacity: 1;
    pointer-events: all;
}

.works.active * {
    pointer-events: all !important;
}

.cross {
    position: absolute;
    right: 2vw;
    top: 2vw;
    width: 6vw;
    height: 6vw;
    cursor: pointer;
}

.cross span {
    position: absolute;
    width: 100%;
    height: 0.6vw;
    background-color: #fff;
}

.cross span:nth-of-type(1) {
    top: calc(50% - 0.3vw);
    transform: rotate(45deg);
}

.cross span:nth-of-type(2) {
    bottom: calc(50% - 0.3vw);
    transform: rotate(-45deg);
}

.works .wrap {
    padding: 0 6%;
}

.works .title {
    width: 100%;
    border-bottom: 1px solid #fff;
    line-height: 1.2;
    font-size: 6.5vw;
    font-family:"Yu Gothic","游ゴシック体",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-weight: bold;
    color: #fff;
}

.works .location {
    margin-top: 2vw;
    font-size: 3.3vw;
    color: #fff;
    font-weight: bold;
    font-family:"Yu Gothic","游ゴシック体",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}

.works .inner {
    width: 100%;
    display: flex;
    flex-direction: column-reverse;
}

.works .point {
    margin-top: 5vw;
    width: 100%;
    font-size: 5.4vw;
    border-bottom: 2px solid #00ffd8;
    color: #00ffd8;
    font-weight: bold;
    font-family:"Yu Gothic","游ゴシック体",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}

.works .content {
    margin-top: 2vw;
    color: #fff;
    font-size: 3.3vw;
    line-height: 1.83;
    font-family:"Yu Gothic","游ゴシック体",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    text-align: justify;
}

.works .picture {
}

.main_pic {
    width: 88vw;
    /* height: 65vw; */
}

.main_pic .swiper-wrapper .swiper-slide {
    object-fit: contain;
    object-position: top;
}

.thumb_pic {
    margin: 0;
    margin-top: 2vw;
    width: 61.7vw;
    height: 14.8vw;
}

.thumb_pic .swiper-slide {
    width: 19.6vw !important;
    height: 100%;
    margin-right: 2vw;
    object-fit: cover;
}

.work_btn {
    /* padding: 0 1.5vw; */
    position: fixed;
    top: 74vw;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    z-index: 10;
    pointer-events: none;
    opacity: 0;
}

.work_btn.active {
    opacity: 1;
}

.work_btn img {
    display: block;
    cursor: pointer;
    padding: 0 1.5vw;
    width: 6vw;
    height: auto;
    pointer-events: none;
}

.work_btn.active img {
    pointer-events: all;
}

/* Q&A */

section.question p {
    font-size: 4.3vw;
    line-height: 1.5;
}

.question_btn {
    margin: 0 auto;
    margin-top: 2vw;
    /* display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 5.4vw;
    font-family: 'corp';
    width: 62vw;
    height: 14.8vw;
    border-radius: 7.4vw;
    background: linear-gradient(90deg,rgba(0, 177, 231, 1) 0%, rgba(0, 216, 171, 1) 100%); */
}

/* 福利厚生 */

section.benefits {
    background-color: #edf8ff;
}

.bene_container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 3vw;
    justify-content: center;
}

.bene_container:last-of-type {
    margin-top: 3vw;
}

.bene_container .item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 44.6vw;
    /* background: linear-gradient(66deg,#01aafa 0%, #00ea8b 100%); */
    background: linear-gradient(#fff, #fff) padding-box,linear-gradient(66deg,#01aafa, #00ea8b)  border-box;
    border: 2px solid transparent;
    border-radius: 2vw;
    opacity: 0;
    top: 10vw;
    transition: all 1s ease;
}

.bene_container .item.active {
    opacity: 1;
    top: 0;
}

/* .bene_container .item::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: calc(100% - 0.8vw);
    height: calc(100% - 0.8vw);
    border-radius: 1.6vw;
    background-color: #fff;
} */

.bene_container .item .title,
.bene_container .item .content {
    position: relative;
    z-index: 1;
}

.bene_container .item .title {
    text-align: center;
    font-size: 4.3vw;
    font-family: 'corp';
    font-weight: bold;
    line-height: 1.3;
}

.bene_container .item .content {
    line-height: 1.55;
    font-size: 2.6vw;
    margin-top: 4vw;
    font-weight: bold;
    font-family:"Yu Gothic","游ゴシック体",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}

.bene_container .item .title span {
    display: block;
    font-size: 2.7vw;
}

.bene_container .short {
    height: 16.2vw;
    justify-content: center;
}

.bene_container .tall {
    padding: 0 4vw;
    padding-top: 5vw;
    height: 29.7vw;
}


/* 募集要項 */

section.recruit {
    background-color: #f1f1f1;
}

.rec_slider .item {
    margin: 0 auto;
    margin-top: 10vw;
    position: relative;
    width: 81vw;
    height: 66vw;
    background-size: cover;
    padding: 7.4vw 3.8vw 0 3.8vw;
    background-image: url(../home/rec_base01_sp.png);
  filter: drop-shadow(3px 3px 2px rgba(0,0,0,0.3));
  opacity: 0;
  transition: all 1s ease;
}

.rec_item.active {
    opacity: 1;
}

.rec_slider .item .watermark {
    position: absolute;
    top: 1.6vw;
    right: 2.8vw;
    width: 12vw;
}

.rec_slider .item .title {
    width: 100%;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    font-size: 6.5vw;
    font-weight: bold;
    line-height: 1.3;
    padding-top: 0.4vw;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rec_slider .item .content {
    display: -webkit-box;
    position: relative;
    font-size: 4.3vw;
    height: 31vw;
    padding-top: 6.3vw;
    margin-bottom: 4vw;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.rec_slider .item .more {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 1vw;
    color: #aa2020;
    font-size: 5.4vw;
    font-weight: bold;
}

.rec_slider .item .more::before {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    top: 0;
    left: 0;
    background-image: repeating-linear-gradient(to right, #000 0, #000 2px, transparent 2px, transparent 4px);
}

/* -----------------------------------------------
会社概要
----------------------------------------------- */

.topimage {
    width: 100%;
    height: 29vw;
}

.topimage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.outline_table {
    width: 100%;
}

.outline_table li {
    padding: 2vw 1vw;
    position: relative;
    align-items: stretch;
    border-bottom: 1px solid #cccccc;
}

.outline_table li:first-of-type {
    border-top: 1px solid #ccc;
}

.outline_table li.dot {
    border: none;
}

.outline_table li.dot::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: repeating-linear-gradient(to right, #ccc 0, #ccc 2px, transparent 2px, transparent 4px);
    background-repeat: repeat-x;
}

.outline_table li .left {
    color: #00a47f;
    font-weight: bold;
    font-size: 4.2vw;
}

.outline_table li .right {
    font-size: 4.2vw;
    padding-left: 1em;
    line-height: 1.68;
}

.outline_table li .right span {
    display: block;
    padding-left: 0.55em;
    text-indent: -0.55em;
}

.gmap {
    width: 100%;
    height: 67.5vw;
    margin-top: 4vw;
}

.history {
    background-color: #eef9ff;
    padding-bottom: 12vw;
}

.his_slider .inner {
    position: relative;
    height: 105vw !important;
}

.his_slider {
    position: relative;
}

.his_slider::before {
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: 30vw;
    z-index: 5;
    background: linear-gradient(to bottom,#eef9ff 10%,transparent 100%);
}

.his_slider::after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 30vw;
    z-index: 5;
    background: linear-gradient(to top,#eef9ff 10%,transparent 100%);
}

.his_slider .item {
    width: 83.7vw;
    height: fit-content !important;
    border-radius: 2.4vw;
    border: 1px solid #ccc;
    background-color: #fff;
    padding: 3vw 3vw;
}

.his_slider .year_container {
    display: flex;
    align-items: center;
}

.his_slider .ad {
    background: linear-gradient(to right,#00a3fd 0%,#00e299 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 8.1vw;
    font-family: 'futura';
    font-weight: bold;
    font-style: normal;
    padding-right: 8vw;
    letter-spacing: -0.05em;
}

.his_slider .ad span {
    font-size: 4vw;
    font-family: 'shingo-h';
    margin-left: 0.1em;
}

.his_slider .year {
    position: relative;
    top: 0.5em;
    font-size: 2.97vw;
    font-weight: bold;
    color: #999999;
}

.his_slider .content {
    font-size: 4vw;
    line-height: 1.6;
    font-weight: bold;
}

.his_btn {
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 10vw;
    height: 100%;
    z-index: 100;
}

.his_btn .prev,
.his_btn .next {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 9.4vw;
    height: 9.4vw;
    border-radius: 50%;
    border: 2px solid #70ccff;
    background-color: #fff;
    cursor: pointer;
}

.his_btn .prev::before {
    content: "";
    position: absolute;
    top: 35%;
    width: 3.5vw;
    height: 3.5vw;
    border-top: 2px solid #70ccff;
    border-left: 2px solid #70ccff;
    transform: rotate(45deg);
}

.his_btn .next::after {
    content: "";
    position: absolute;
    bottom: 35%;
    width: 3.5vw;
    height: 3.5vw;
    border-top: 2px solid #70ccff;
    border-left: 2px solid #70ccff;
    transform: rotate(-135deg);
}


/* -----------------------------------------------
Q&A
----------------------------------------------- */

.topimage.question {
    /* height: 34vw; */
    background: linear-gradient(180deg,#d6ffff 0%, #fff 100%);
}

.topimage.question img {
    display: block;
    margin: 0 auto;
    padding-top: 4vw;
    height: 100%;
    width: auto;
}

section.question .inner {
}

.q_title {
    font-family: 'corp';
    font-size: 5.6vw;
    width: 100%;
    border-bottom: 1px solid #000;
    line-height: 1.5;
}

.q_title span.green {
    color: #01d285;
    margin-right: 1vw;
}

.qa_list {
    padding: 3vw 0;
    display: flex;
    flex-direction: column;
    gap: 2vw;
}

.item_que {
    cursor: pointer;
    display: flex;
    align-items: stretch;
}

.item_que .uppercase {
    display: flex;
    justify-content: center;
    width: 7.4vw;
    padding: 3vw 0;
    border-radius: 1vw 0 0 1vw;
    background-color: #3ccaff;
    flex-shrink: 0;
    margin-right: 2px;
}

.item_que .uppercase p{
    position: relative;
    top: -0.5vw;
    font-family: 'ryumin-h';
    color: #fff;
    font-size: 5.4vw;
    line-height: 1;
}

.item_que .content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 0 1vw 1vw 0;
    width: 100%;
    padding: 3vw;
    background-color: #dcf6ff;
}

.item_que .content p {
    padding-right: 3vw;
    font-size: 3.7vw;
    color: #006fa8;
    font-weight: bold;
    line-height: 1.4;
}

.item_que .arrow {
    width: 3.6vw;
}

.item_que.is-active .arrow {
    transform: rotate(180deg);
}

.item_ans {
    margin-top: 2px;
    display: flex;
    align-items: stretch;
    padding-bottom: 3vw;
    /* max-height: 0; */
    /* transition: all .5s ease; */
}

.item_ans .uppercase {
    display: flex;
    justify-content: center;
    width: 7.4vw;
    padding: 3vw;
    border-radius: 1vw 0 0 1vw;
    background-color: #3cffb4;
    flex-shrink: 0;
    margin-right: 2px;
}

.item_ans .uppercase p{
    position: relative;
    top: -0.5vw;
    font-family: 'ryumin-h';
    color: #000;
    font-size: 5.4vw;
    line-height: 1;
}

.item_ans .content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 3vw;
    border-radius: 0 1vw 1vw 0;
    background-color: #e2ffe2;
}

.item_ans .content p {
    padding-right: 20px;
    line-height: 1.4;
    font-size: 3.5vw;
}


/* -----------------------------------------------
募集要項
----------------------------------------------- */

section.job .inner {
    margin-top: 8vw;
}

.job .job_name {
    padding: 4vw 4vw 3vw 4vw;
    position: relative;
    width: 100%;
    background: linear-gradient(90deg,#8cd5fe 0%, #caf6eb 100%);
    border-radius: 1vw;
    line-height: 1.3;
}

.job .job_name .stripe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url(../common/stripe.png);
    opacity: 1;
    background-size: 1.62vw;
}

.job .job_name p {
    position: relative;
    font-size: 8.6vw;
    line-height: 1;
    z-index: 2;
    font-weight: bold;
}

.job_info li {
    padding: 2vw 1vw;
    border-top: 1px solid #ccc;
}

.job_info li:last-of-type {
    border-bottom: 1px solid #ccc;
}

.job_info .item_name {
    font-weight: bold;
    font-size: 4.3vw;
    color: #00a47f;
}

.job_info .content {
    padding-left: 1em;
    font-size: 4.3vw;
    line-height: 1.68;
}

.job_btn {
    margin: 0 auto;
    margin-top: 16vw;
    margin-bottom: 24vw;
    /* display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 5.4vw;
    font-family: 'corp';
    width: 62vw;
    height: 14.8vw;
    border-radius: 7.4vw;
    background: linear-gradient(90deg,#00b0e8 0%, #00d8ab 100%); */
}

/* -----------------------------------------------
お問い合わせ
----------------------------------------------- */

section.contact .section_title .icon {
    height: 6vw;
}

section.contact .inner {
    padding-top: 10vw;
    /* padding: 50px 50px 0 50px; */
}

.form_item {
    position: relative;
    margin-top: 6vw;
    /* display: flex; */
}

.form_item .item_name {
    display: flex;
    align-items: center;
    font-size: 4.8vw;
    position: relative;
    gap: 3vw;
}

.form_item .item_name img {
    height: 6.7vw;
    width: auto;
}

.required .item_name::after {
    /* content: "必須";
    position: relative;
    left: 3vw;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-weight: bold;
    width: 12.2vw;
    height: 6vw;
    border-radius: 3vw;
    font-size: 3.8vw;
    text-indent: -0.1em;
    background: linear-gradient(90deg,#07b2e9 0%, #00dca2 100%); */
}

.form_item .item_name p {
    font-weight: bold;
}

textarea,
input[type="text"],
input[type="tel"],
input[type="email"] {
    width: 100%;
    display: block;
    padding: 2vw 3vw;
    border-radius: 1vw;
    border: 1px solid #abcbd2;
    background-color: #ecfbf7;
}

.entry textarea,
.entry input[type="text"],
.entry input[type="tel"],
.entry input[type="email"] {
    background-color: #effafb;
}

textarea {
    height: 40vw;
    font-size: 3.7vw;
    resize: none;
}

input[type="text"],
input[type="tel"],
input[type="email"] {
    height: 8.1vw;
    font-size: 3.7vw;
}

.privacypolicy {
    position: relative;
    padding: 2vw 6vw 6vw 6vw;
    width: 100%;
    margin-top: 16vw;
    border-radius: 2.4vw;
    background-color: #eeeeee;
}

.privacypolicy .title {
    font-size: 4vw;
    font-weight: bold;
}

.privacypolicy .character {
    display: none;
}

.pp_scroll {
    width: 100%;
    height: 26.3vw;
    margin-top: 2vw;
    padding-right: 4vw;
    font-size: 3.2vw;
    overflow-y: scroll;
}

.pp_scroll a {
    color: #00a2ff;
}

.check {
    display: flex;
    align-items: center;
    flex-direction: column;
}

.check p {
  position: relative;
  display: flex;
  align-items: center;
  width: fit-content;
  margin: 0 auto;
  margin-top: 35px;
  font-size: 16px;
  font-family: 'shingo-r';
  font-weight: 400;
  font-family:"Yu Gothic","游ゴシック体",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}

.checkbox {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  margin: 0;
  width: 8.4vw;
  height: 8.4vw;
  border: 0.4vw solid #00a2ff;
  border-radius: 0.6vw;
  background-color: #fff;
  transition: .1s all ease;
  cursor: pointer;
}

.checkbox:checked {
  border-color: #00a2ff;
  background-color: #00a2ff;
  background-image: url("data:image/svg+xml;utf8,\<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'>\<path d='M20 6L9 17l-5-5'/>\</svg>");
}

.contact_btn {
    margin: 0 auto;
    margin-top: 16vw;
    margin-bottom: 18vw;
    /* display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 5.4vw;
    font-family: 'corp';
    width: 62vw;
    height: 14.8vw;
    border-radius: 7.4vw;
    background: linear-gradient(90deg,#00b0e8 0%, #00d8ab 100%); */
}

.alert,.confirm,.complete {
    display: none;
}

.alert.active{
  display: block;
  font-size: 3vw;
  color: #f00;
}

.alert_pp{
  width: fit-content;
  margin: 0 auto;
    font-family: 'BIZ-b';
}

.confirm.active {
  position: fixed;
  display: flex;
  top: 100px;
  left: calc(50vw - 45%);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 30px;
  width: 90%;
  height: 530px;
  max-height: 800px;
  background-color: #fff;
  color: #000;
  z-index: 999;
  border-radius: 10px;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
  pointer-events: all;
}

.confirm h2 {
    background: none;
    color: #000;
  font-size: 28px;
  margin-bottom: 30px;
}

.confirm_item {
  display: flex;
  flex-direction: column;
  justify-content: left;
  width: 100%;
  border-top: 1px solid #5b575e;
}

.confirm_item:last-of-type {
  border-bottom: 1px solid #5b575e;
}
.confirm_item p {
  padding: 7px 10px;
}

.confirm_container {
  width: 100%;
  overflow-y: scroll;
}

.confirm_head {
  min-width: 160px;
  background-color: #ddd;
}
.confirm_address{
  display: flex;
  flex-direction: column;
}

.confirm_container p:last-of-type {
  text-align: left;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.confirm_btn {
  margin-top: 50px;
  display: flex;
  flex-direction: row-reverse;
}

.submit_btn,.back {
  margin: 0 10px;
  width: 110px;
  height: 50px;
  font-size: 18px;
  border: none;
  border-radius: 8px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  transition: .3s all ease;
}

.submit_btn:hover,.back:hover {
  opacity: .8;
}

.submit_btn {
  color: #fff;
  background-color: #005fad;
}

.back {
  background-color: #ccc;
  color: #000;
  line-height: 50px;
}

.complete {
  position: fixed;
  display: none;
  left: calc(50% - 40vw);
  top: calc(50% - 25vh);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5%;
  width: 80vw;
  height: 50vh;
  background-color: #fff;
  color: #000;
  z-index: 999;
  border-radius: 10px;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
  pointer-events: all;
}

.complete.active {
  display: flex;
}

.complete h1 {
  font-size: 28px;
  margin-bottom: 30px;
}

.close {
  width: 100px;
  height: 50px;
  font-size: 16px;
  background-color: #005fad;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 50px;
  margin-top: 30px;
  border-radius: 8px;
  cursor: pointer;
}

.close:hover {
  opacity: .8;
}

/* -----------------------------------------------
エントリー
----------------------------------------------- */

.entry .job_name {
    position: relative;
    width: 100%;
    padding: 2vw 4vw;
    background: linear-gradient(90deg,#8cd5fe 0%, #caf6eb 100%);
    border-radius: 5px;
}

.entry .job_name .stripe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url(../common/stripe.png);
    opacity: 1;
    background-size: 1.62vw;
}

.entry .job_name .select {
    position: relative;
    display: flex;
    align-items: center;
    font-weight: bold;
    z-index: 2;
    font-size: 4.8vw;
}

.entry .job_name p {
    position: relative;
    font-size: 8.6vw;
    line-height: 1.3;
    z-index: 2;
    font-weight: bold;
}

.radio_wrap {
    display: flex;
    align-items: center;
}

.radio {
    display: flex;
    align-items: center;
    margin-right: 100px;
}

input[type="radio"] {
    appearance: none;
    width: 8vw;
    height: 8vw;
    border: 1px solid #abcbd2;
    background-color: #effafb;
    border-radius: 4vw;
    margin-right: 1vw;
}

input[type="radio"]:checked {
    border-width: 6px;
}

.form_item label {
    position: relative;
    top: 0.4vw;
    font-size: 4.8vw;
}

.age_wrap {
    display: flex;
    align-items: center;
}

#age {
    width: 21.6vw;
    margin-right: 2vw;
}

.zip_top {
    display: flex;
    align-items: center;
    margin-bottom: 1vw;
}

#zip_three {
    width: 21.6vw;
    margin: 0 1vw;
}

#zip_four {
    width: 32.4vw;
    margin: 0 1vw;
}








}  /*  スマホ版ここまで  */
