@charset "UTF-8";

/* 共通部分
------------------------------- */
html {
    font-size: 100%;
}
body{
    font-family: toppan-bunkyu-midashi-go-std, sans-serif,"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
    line-height: 1.45rem;
    color: #1a1a1a;
}
body p{
    font-size: 0.9rem;
}
.wrapper {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 3%;
}
.title{
    text-align: center;
}
.mob-br{
    display: none;
}


/* ハンバーガーメニュー
------------------------------- */
#menu-btn-check {
    display: none;/* チェックボックスを消す */
}

/* ハンバーガーボタン背景 */
.menu-btn {
    position: fixed;
    top: 10px;
    right: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 55px;
    width: 55px;
    z-index: 90;
    background-color: #f9de19;
    border: 3px solid #2f3d91;
    border-radius: 12px;
    cursor: pointer;
}

/* ハンバーガー線のみ */
.menu-btn span,
.menu-btn span::before,
.menu-btn span::after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 10px;
    background-color: #2f3d91;
    position: absolute;
    -webkit-transition: 0.2s transform;
    transition: 0.2s transform;
    margin: auto;
}
.menu-btn span::before {
    bottom: 8px;
}
.menu-btn span::after {
    top: 8px;
}

#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(135deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(225deg);
}

/* メニュー動き */
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;
    z-index: 80;
    transition: all 0.5s;
}
.menu-content ul {
    padding: 70px 10px 0;
}
.menu-content ul li {
    list-style: none;
    padding-bottom: 45px;
}
.menu-content ul li a {
    position: relative;
    display: block;
    width: 100%;
    color:#2f3d91;
    font-size: 1.3rem;
    text-decoration: none;
    line-height: 0;
    padding-bottom: 10px;
}
.menu-content ul li a::before {
    content: "";
    position: absolute;
    top: -16px;
    left: -15px;
    right: -10px;
    bottom: -28px;
}

#menu-btn-check:checked ~ .menu-content {
    left: 0;
}

/* メニュー中身 */
.menu-content nav{
    position: absolute;
    top: 53.5%;
    right: 12%;
    transform: translateY(-50%);
}
.menu-content nav::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -40px;
    transform: translateY(-45%);
    height: 340px;
    width: 7px;
    background-color: #2f3d91;
}
.menu-content nav::after {
    content: 'UZUMARU';
    font-size: 4rem;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 40%;
    transform: rotate(90deg);
}
.menu-bgfont{
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    z-index: -2;
    opacity: 0.4;
}

.menu-content li:nth-of-type(1)::after {
    content: 'top';
    font-size: 1rem;
    color: #2f3d91;
}
.menu-content li:nth-of-type(2)::after {
    content: 'point';
    font-size: 1rem;
    color: #2f3d91;
}
.menu-content li:nth-of-type(3)::after {
    content: 'model';
    font-size: 1rem;
    color: #2f3d91;
}
.menu-content li:nth-of-type(4)::after {
    content: 'flow';
    font-size: 1rem;
    color: #2f3d91;
}
.menu-content li:nth-of-type(5)::after {
    content: 'Q&A';
    font-size: 1rem;
    color: #2f3d91;
}
.menu-content li:nth-of-type(6)::after {
    content: 'contact';
    font-size: 1rem;
    color: #2f3d91;
}

.fv-entry a{
    font-size: 1.2rem;
    color: #f9de19;
    background-color: #2f3d91;
    border-radius: 20px;
    padding: 20px 40px;
    margin-top: 30px;
    text-decoration: none;
}
/* ハンバーガー背景 */
.menu-content {
    background-color: rgba(0, 0, 0, 0.8);
}
.menu-back {
    position: absolute;
    top: 0%;
    right: 0;
    height: 100%;
    width: 100%;
    background: #f7dc19;
    clip-path: polygon(75% 0, 100% 0, 100% 100%, 30% 100%);
    z-index: -1;
}


/* ファーストビュー
---------------------------------------- */
/* fv背景 */
#fv {
    position: relative;
}
.fv-trapezoid {
    position: absolute;
    top: 40%;
    right: 0;
    display: block;
    height: 150%;
    width: 84%;
    background: #f7dc19;
    clip-path: polygon(0 100%, 100% 0, 100% 100%, 0 100%);
    z-index: -10;
}
/* fvメイン */
.fv-txt-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 47vw;
    background: #f7dc19;
    padding: 7% 0;
}
.fv-txt-box img {
    width: 20vw;
}
.fv-txt2 {
    margin-top: 6%;
}
.fv-txt-takamaru {
    width: 50vw;
}
.fv-fukuoka {
    position: absolute;
    top: 0;
    right: 4%;
    width: 51%;
}

/* ==アニメーション（CSSのみで表示）== */
/* ウズマル */
.slide-lr {
    overflow: hidden;
    position: relative;
}
.slide-lr:before {
    animation: slide-lr 0.2s ease-out forwards;
    background: #f7dc19;
    bottom: 0;
    content: '';
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}
@keyframes slide-lr {
    100% {
        transform: translateX(100%);
    }
}

/* アツマル */
.slide-rl {
    overflow: hidden;
    position: relative;
}
.slide-rl:before {
    animation: slide-rl 0.2s ease-out forwards 0.6s;
    background: #f7dc19;
    bottom: 0;
    content: '';
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}
@keyframes slide-rl {
    100% {
        transform: translateX(-100%);
    }
}

/* バリタカマル */
.slide-takamaru {
    margin: 3% 0 0 2%;
    overflow: hidden;
    position: relative;
    width: 50vw;
}
.slide-takamaru:before {
    animation: slide-takamaru 0.4s ease-out forwards 1.1s;
    background: #fff;
    bottom: 0;
    content: '';
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}

@keyframes slide-takamaru {
    100% {
        transform: translateX(100%);
    }
}


/* フォント演出
------------------------------- */
/* ==じわっ== */
.blur{
    animation-name:blurAnime;
    animation-duration:1.2s;
    animation-fill-mode:forwards;
  }

@keyframes blurAnime{
  from {
    filter: blur(10px);
    transform: scale(1.02);
    opacity: 0;
  }
  to {
    filter: blur(0);
    transform: scale(1);
    opacity: 1;
  }
}
 
.blurTrigger{
    opacity: 0;
}

/* == 上から流れる ==*/
.slide-in {
    overflow: hidden;
    display: block;
}

.slide-in_inner {
    display: block;
}


/* 上下のアニメーション*/
.shadow-wrap{
    padding: 0 12px 14px 0;
}
.upAnime{
    opacity: 0;
}
.slideAnimeDownUp {
    animation-name:slideTextY100;
    animation-duration:1.5s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextY100 {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}
.slideAnimeUpDown {
    animation-name:slideTextY-100;
    animation-duration:1.5s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextY-100 {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}



/* IT業界悩み
------------------------------- */
/* 背景 */
#worries{
    position: relative;
}
.bg-worries {
    position: absolute;
    height: 77%;
    width: 100%;
    top: -6%;
    left: 0;
    z-index: -2;
    background: #2f3d91;
    transform: skewY(12deg);
}
#worries .trapezoid {
    position: absolute;
    top: 41%;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    height: 77%;
    width: 100%;
    background: #2f3d91;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 72%);
    z-index: -2;
}

.border-pc {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -49%);
    height: 116.5%;
    z-index: -1;
}
.border-mob {
    display: none;
}

/* 背景ドット */
#worries .dot {
    position: absolute;
    top: 85%;
    left: 0;
    width: 80%;
    z-index: -5;
}

/* メイン */
#worries{
    color: #fff;
}
#worries .title{
    margin: 35% auto 40px;
    padding-top: 5%;
}
.worries-item{
    display: flex;
    justify-content: center;
    align-items: flex-start;
}
.worries-item img{
    width: 30%;
}
.worries-text{
    padding-top: 40px;
}
.worries-text h2{
    margin-bottom: 20px;
}
.img-right{
    margin-left: 5%;
}
.img-left {
    margin-right: 5%;
}
.worries-right{
    margin-top: 100px;
}
.worries-left{
    margin-top: 100px;
    margin-bottom: 100px;
}


/* 3つの理由
------------------------------- */
/* 背景 */
#reason {
    position: relative;
}
.reason-border{
    position: absolute;
    top: 1%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    z-index: -1;
}
.bg-reason .trapezoid {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -47%);
    display: block;
    height: 217%;
    width: 100%;
    background: #f7dc19;
    clip-path: polygon(0 23%, 100% 0, 100% 100%, 0 75%);
    z-index: -3;
}
/* 背景ドット */
.bg-reason .dot {
    position: absolute;
    top: 95%;
    left: 0;
    width: 80%;
    z-index: -5;
}

/* メイン */
#reason{
    color: #1A1A1A;
}
#reason .title {
    margin-top: 29%;
    margin-bottom: 40px;
}
#reason .title img {
    width: 50%;
}
.reason-box{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2.5%;
}
.reason-item{
    width: 300px;
    background-color: #fff;
    border: 3px solid #2f3d91;
    border-radius: 20px;
    box-shadow: 10px 11px 0 0 #2f3d91;
    padding: 5% 2% 0;
}
.reason-title{
    position: relative;
}
.reason-title h2{
    font-size: 1.48rem;
    text-align: center;
    color: #2f3d91;
}
.reason-title img{
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.reason-img {
    width: 90%;
    margin: 10px auto 0;
    display: block;
}
.reason-text{
    height: 229px;
    margin-top: 23px;
    
}


/* 福岡に根付いた企業
------------------------------- */
/* 背景 */
#area-fukuoka {
    position: relative;
}
.fukuoka-border {
    position: absolute;
    top: -8%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    z-index: -1;
}
.bg-fukuoka .trapezoid {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -47.5%);
    display: block;
    height: 200%;
    width: 100%;
    background: #2f3d91;
    clip-path: polygon(0 19%, 100% 0, 100% 100%, 0 73%);
    z-index: -3;
}
/* 背景ドット */
.bg-fukuoka .dot {
    position: absolute;
    top: 95%;
    left: 0;
    width: 80%;
    z-index: -5;
}

/* メイン */
#area-fukuoka .title {
    color: #f7dc19;
    position: relative;
    font-size: 3.3rem;
    padding-right: 5px;
    margin: 51% auto 13%;
}
#area-fukuoka .title::after {
    content: '福岡に根付いた企業';
    width: 100%;
    position: absolute;
    top: 13%;
    left: 0.4%;
    color: rgba(0, 0, 0, 0);
    -webkit-text-stroke: 1px #f7dc19;
    text-stroke: 1px #f7dc19;
}
.fukuoka{
    position: relative;
}
.fukuoka img {
    display: block;
    margin: 0 auto;
    width: 90%;
}
.fukuoka-p{
    position: absolute;
    top: 66%;
    left: 3%;
    color: #fff;
}


/* 社員のモデルケース
------------------------------- */
/* 背景 */
#syain {
    position: relative;
}
.bg-syain .trapezoid {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -34%);
    display: block;
    height: 370%;
    width: 100%;
    background: #f7dc19;
    clip-path: polygon(0 21%, 100% 0, 100% 100%, 0 73%);
    z-index: -3;
}
.syain-border{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -31%);
    width: 100%;
    z-index: -1;
}
/* 背景ドット */
.bg-syain .dot {
    position: absolute;
    top: 190%;
    left: 0;
    width: 80%;
    z-index: -5;
}

/* メイン */
#syain .title {
    position: relative;
    font-size: 3.3rem;
    padding-right: 5px;
    padding-top: 5%;
    margin: 42% auto 8%;
}
#syain .title::after {
    content: '社員のモデルケース';
    width: 100%;
    position: absolute;
    top: 71%;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(0, 0, 0, 0);
    -webkit-text-stroke: 1px #1a1a1a;
    text-stroke: 1px #1a1a1a;
}
.syainmei {
    position: relative;
  }
.syainmei h2 {
    color: #2f3d91;
}
.syainmei img {
    width: 70%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.syain-img{
    width: 55%;
    display: block;
    margin: 5% auto 0;
}
  
/* Modal */
.modaal-container{
    background: transparent;
}

.modal {
    display: flex;
    justify-content: center;
    gap: 5%;
}
.modal-item {
    width: 300px;
    text-align: center;
    border: 3px solid #2f3d91;
    border-radius: 20px;
    box-shadow: 10px 11px 0 0 #2f3d91;
    background-color: #fff;
    padding: 2%;
}
.modal-item p {
    font-size: 1.1rem;
    font-weight: 600;
    margin-top: 5%;
}
.gallery {
    color: #1a1a1a;
    text-decoration: none;
    border: 2px solid #1a1a1a;
    border-radius: 12px;
    padding: 15px 25px;
    display: inline-block;
}

/* 社員の声
------------------------------- */
#syain-voice .title {
    position: relative;
    font-size: 3.3rem;
    padding-right: 5px;
    margin: 20% auto 7%;
}
#syain-voice .title::after {
    content: '社員の声';
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -40%);
    color: rgba(0, 0, 0, 0);
    -webkit-text-stroke: 1px #1a1a1a;
    text-stroke: 1px #1a1a1a;
}
/* メイン */
.voice-box {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.voice-txt {
    text-align: center;
    width: 50%;
    margin-bottom: 40px;
}
.voice-txt p:nth-of-type(1), 
.voice-txt p:nth-of-type(2)  {
    margin-bottom: 4%;
}
/* 動画モーダル */
.modaal-video .modaal-inner-wrapper{
	padding:0;
}
.video-open {
    color: #1a1a1a;
    text-decoration: none;
    border: 2px solid #1a1a1a;
    border-radius: 12px;
    padding: 15px 25px;
    display: inline-block;
}
  

/* 採用の流れ
------------------------------- */
/* 背景 */
#recruit {
    position: relative;
}
.rc-border-l {
    position: absolute;
    top: 54%;
    right: 66%;
    transform: translateY(-43.5%);
    height: 120%;
}
.rc-border-r {
    position: absolute;
    top: -21.5%;
    right: 0;
    width: 44%;
}
.recruit-border-mob {
    display: none;
}

.bg-recruit .trapezoid {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -42.5%);
    display: block;
    height: 222%;
    width: 100%;
    background: #2f3d91;
    clip-path: polygon(0 23%, 100% 0, 100% 100%, 0 66%);
    z-index: -3;
}
/* 背景ドット */
.bg-recruit .dot {
    position: absolute;
    top: 92%;
    left: 0;
    width: 80%;
    z-index: -5;
}

/* メイン */
#recruit .title {
    color: #f7dc19;
    position: relative;
    font-size: 3.3rem;
    padding-right: 5px;
    padding-top: 5%;
    margin: 33% auto 10%;
}
#recruit .title::after {
    content: '採用の流れ';
    width: 100%;
    position: absolute;
    top: 72%;
    left: 0.3%;
    color: rgba(0, 0, 0, 0);
    -webkit-text-stroke: 1px #f7dc19;
    text-stroke: 1px #f7dc19;
}
#recruit .mob {
     display: none;
 }
 #recruit .pc {
    display: block;
    margin: 0 auto;
    max-width: 60%;
}


/* Q&A
------------------------------- */
/* 背景 */
#qa {
    position: relative;
}
.qa-border {
    position: absolute;
    top: -39%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    z-index: -1;
}
.bg-qa .trapezoid {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -44%);
    display: block;
    height: 260%;
    width: 100%;
    background: #f7dc19;
    clip-path: polygon(0 21%, 100% 0, 100% 100%, 0 71%);
    z-index: -3;
}
/* 背景ドット */
.bg-qa .dot {
    position: absolute;
    top: 115%;
    left: 0;
    width: 80%;
    z-index: -5;
}

/* メイン */
#qa .title {
    position: relative;
    font-size: 4.8rem;
    padding-right: 5px;
    padding-top: 5%;
    margin: 55% auto 10%;
}
#qa .title::after {
    content: 'Q&A';
    width: 100%;
    position: absolute;
    top: 71%;
    left: 0.2%;
    color: rgba(0, 0, 0, 0);
    -webkit-text-stroke: 1px #1a1a1a;
    text-stroke: 1px #1a1a1a;
}
/*アコーディオン全体*/
.accordion-area{
    list-style: none;
    width: 86%;
    max-width: 930px;
    margin:0 auto;
}

.accordion-area li{
    margin: 30px 0;
}

.accordion-area section {
    border: 4px solid #2f3d91;
    border-radius: 28px;
    background-color: #f7dc19;
}

/*アコーディオンQuestion*/
.accordion-title {
    position: relative;
    cursor: pointer;
    font-size:1rem;
    padding: 3% 3% 3% 50px;
    transition: all .5s ease;
    display: flex;
    align-items: flex-start;
    gap: 8%;
}
.accordion-title h3 {
    font-size: 1rem;
    font-weight: 600;
    margin: auto 0;
}

/* 矢印 */
.accordion-title::after {
    position: absolute;
    border-right: solid 3px #1a1a1a;
    border-top: solid 3px #1a1a1a;
    content: "";
    display: block;
    height: 27px;
    width: 27px;
    top: 30%;
    right: 45px;
    transform: rotate(135deg);
    transition: transform .3s ease-in-out, top .3s ease-in-out;
}
.accordion-title.open::after {
    top: 45%;
    transform: rotate(-45deg);
}
.accordion-title.close::after{
    transform: rotate(-45deg);
}

/*アコーディオンAnswer*/
.box {
    display: none;
    margin:0 3% 0 3%;
    padding: 3%;
    line-height: 1.3rem;
}
.box p {
    font-weight: 600;
}

.box-container {
    display: flex;
    align-items: flex-start;
    gap: 10%;
}
.box-container br{
    display: block;
    content: "";
}
.box-container div {
    width: 80%;
}
  


/*  contact
------------------------------- */
/* 背景 */
#contact {
    position: relative;
}
.contact-border {
    position: absolute;
    top: 54%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    z-index: -1;
}
.bg-contact .trapezoid {
    position: absolute;
    top: -46%;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    height: 148%;
    width: 100%;
    background: #2f3d91;
    clip-path: polygon(0 36%, 100% 0, 100% 100%, 0 100%);
    z-index: -3;
}

/* メイン */
#contact .title {
    color: #f7dc19;
    position: relative;
    font-size: 4.8rem;
    padding-right: 5px;
    padding-top: 5%;
    margin: 51% auto 9%;
}
#contact .title::after {
    content: 'contact';
    width: 100%;
    position: absolute;
    top: 74%;
    left: 0.4%;
    color: rgba(0, 0, 0, 0);
    -webkit-text-stroke: 1px #f7dc19;
    text-stroke: 1px #f7dc19;
}
.contact-address{
    text-align: center;
    margin-bottom: 3%;
}
.contact-question {
    text-align: center;
    margin: 6% auto 2%;
}
.contact-together {
    text-align: center;
    margin-top: 2%;
}
#contact p{
    color: #fff;
}
.contact-box{
    display: flex;
    justify-content: center;
    gap: 10%;
}
.contact-item{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3%;
    background-color: #fff;
    border-radius: 22px;
    width: 35%;
    padding: 8% 1%;
    font-size: 0.75rem;
}
.contact-item img {
    width: 39%;
}
.contact-item .contact-mail {
    width: 30%;
}
.tel-mail{
    text-decoration: none;
    color: #1a1a1a;
}
.tel-mail::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
}
.contact-btn{
    text-align: center;
}
.contact-btn a {
    display: inline-block;
    text-decoration: none;
    color: #1a1a1a;
    background-color: #f9de19;
    border-radius: 12px;
    padding: 1.7% 4%;
}


/* フッター
------------------------------------ */
footer {
    text-align: center;
    padding: 8% 0 26px;
    background-color: #2f3d91;
}
.modal-open {
    text-decoration: none;
    color: #f7dc19;
}
.copyright {
    color: #fff;
    line-height: 0;
    margin-top: 10px;
}

/* == プライバシーポリシー == */
footer .modaal-content-container{
    padding: 0;
}
#privacy{
    display: none;
}
.modaal-container{
    max-width: 600px;
}
.modaal-content-container {
    background-color: #fff;
    border: 4px solid #2f3d91;
    border-radius: 20px;
}
.modaal-container h2 {
    margin-top: 30px;
}
/* アローボタン */
.modal-open {
    position: relative;
}
.modal-open span {
    position: absolute;
    content: "";
    height: 7px;
    width: 7px;
    border-top: 2px solid #f7dc19;
    border-right: 2px solid #f7dc19;
    transform: translateY(-50%) rotate(45deg);
    top: 50%;
    left: 100%;
}
.modal-open span::after {
    position: absolute;
    content: "";
    height: 7px;
    width: 7px;
    border-top: 2px solid #f7dc19;
    border-right: 2px solid #f7dc19;
    transform: rotate(0deg);
    bottom: 5px;
    left: 5px;
}
/* プライバシーモーダルのボタン色 */
.modaal-close:after, 
.modaal-close:before{
    background:#ccc;  
}
.modaal-close:hover:after,
.modaal-close:hover:before{
    background:#ccc;
}





/* モバイル版
================================================ */
@media (max-width: 600px) {

/* 共通
------------------------------- */
body {
    line-height: 1.3rem;
}
body h1{
font-size: 1.4rem;
}
body h2{
font-size: 0.9rem;
}
.box-title{
font-size: 1.3rem;
}
body p{
font-size: 0.8rem;
}
.mob-br{
display: block;
}
.title {
margin-bottom: 20px;
}

/* ハンバーガー
--------------------------------- */
.menu-btn {
    height: 50px;
    width: 50px;
    border: 2px solid #2f3d91;
}
.menu-btn span, .menu-btn span::before, .menu-btn span::after{
    height: 2px;
    width: 20px;
}
.menu-btn span::before {
    bottom: 7px;
}
.menu-btn span::after {
    top: 7px;
}

.menu-content nav {
    top: 50%;
    left: 50%;
    right: auto;
    transform: translate(-50%, -50%);
}
.menu-content nav::before {
    top: 50%;
    left: -50px;
    transform: translateY(-42%);
    height: 270px;
    width: 6px;
}
.menu-content ul li {
    padding-bottom: 31px;
}
.menu-content ul li a {
    font-size: 0.9rem;
    padding-bottom: 5px;
}
.menu-content li:nth-of-type(1)::after,.menu-content li:nth-of-type(2)::after,.menu-content li:nth-of-type(3)::after,.menu-content li:nth-of-type(4)::after,.menu-content li:nth-of-type(5)::after,.menu-content li:nth-of-type(6)::after {
    font-size: 0.7rem;
}
.fv-entry a {
    font-size: 0.9rem;
    border-radius: 12px;
    padding: 13px 27px;
}

/* ハンバーガー背景 */
.menu-back {
    position: absolute;
    top: 0%;
    right: 0;
    height: 100%;
    width: 100%;
    background: #f7dc19;
    clip-path: polygon(0% 30%, 63% 0, 100% 0%, 100% 100%,0 100%);
    z-index: -1;
}
.menu-bgfont {
    height: 80%;
}


/* ファーストビュー
--------------------------------- */
.fv-trapezoid {
    position: absolute;
    top: 36.5%;
    right: 0;
    display: block;
    height: 63%;
    width: 100%;
    background: #f7dc19;
    clip-path: polygon(0 49%, 100% 0, 100% 53%, 0 75%);
    z-index: -10;
}

.fv-fukuoka {
    top: 12%;
    right: 0;
    width: 100%;
}
.fv-txt-box {
    width: 50vw;
}
.fv-txt-box img {
    width: 30vw;
}
.fv-txt2 {
    margin-top: 0;
}
.slide-takamaru {
    margin: 105% 0 0;
    width: 100%;
}
.fv-txt-takamaru {
    width: 100%;
}



/* IT業界悩み
------------------------------- */
/* 背景 */
.border-pc {
    display: none;
}
.border-mob {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -46%);
    height: 125%;
    z-index: -1;
}
.bg-worries {
    top: -7%;
}
#worries .trapezoid {
    top: 41%;
    display: block;
    height: 91%;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 75%);
}
/* 背景ドット */
#worries .dot {
    top: 104%;
    width: 100%;
}

/* メイン */
#worries .title {
    margin: 27% auto 45px;
}
#worries p {
    font-size: 0.65rem;
}
.img-right{
    margin-left: 20px;
}
.img-left{
    margin-right: 20px;
}
.worries-text {
    padding-top: 10px;
}
.worries-right {
    margin-top: 68px;
}
.worries-left {
    margin: 77px 0;
}

.worries-item img {
    width: 40%;
}


/* 3つの理由
------------------------------- */
/* 背景 */
.reason-border{
    top: -2%;
}
.bg-reason .trapezoid {
    transform: translate(-50%, -48%);
    height: 122%;
    clip-path: polygon(0 7%, 100% 0, 100% 100%, 0 93%);
    z-index: -2;
}
/* 背景ドット */
.bg-reason .dot {
    top: 101%;
    width: 100%;
}

/* メイン */
#reason .title {
    margin-top: 58%;
}
#reason .title img {
    width: 60%;
}

.reason-first-title{
width: 60%;
}
.reason-box{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 70px;
}
.reason-item {
    width: 264px;
    padding: 40px 5% 0;
}
.reason-title img{
    max-width: 150%;
}
.reason-text {
    height: 166px;
}


/* 福岡に根付いた企業
------------------------------- */
/* 背景 */
.bg-fukuoka .trapezoid {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -40%);
    display: block;
    height: 228%;
    width: 100%;
    background: #2f3d91;
    clip-path: polygon(0 15%, 100% 0, 100% 100%, 0 82%);
    z-index: -2;
}
/* 背景ドット */
.bg-fukuoka .dot {
    top: 123%;
    width: 100%;
}

/* メイン */
#area-fukuoka .title {
    font-size: 1.2rem;
    margin: 60% auto 11%;
}
#area-fukuoka .title::after {
    top: 4%;
    left: 0;
    -webkit-text-stroke: 0.5px #f7dc19;
    text-stroke: 0.5px #f7dc19;
}
.fukuoka {
    position: relative;
}
.fukuoka img{
    max-width: 80%;
}
.fukuoka-p {
    width: 44%;
    position: absolute;
    top: 60%;
    left: 10%;
    font-size: 0.65rem;
}
.fukuoka-p br{
    display: none;
}


/* 社員モデル
------------------------------- */
/* 背景 */
.syain-border {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
.bg-syain .trapezoid {
    transform: translate(-50%, -38%);
    height: 164%;
    clip-path: polygon(0 7%, 100% 0, 100% 100%, 0 92%);
    z-index: -2;
}
/* 背景ドット */
.bg-syain .dot {
    top: 133%;
    width: 100%;
}

/* メイン */
#syain .title {
    font-size: 1.4rem;
    margin-top: 71%;
}
#syain .title::after {
    transform: translate(-50.5%, -40%);
    -webkit-text-stroke: 0.5px #1a1a1a;
    text-stroke: 0.5px #1a1a1a;
}
.modal {
    flex-direction: column;
    gap: 0;
    align-items: center;
}
.modal-item {
    width: 70%;
    padding: 7%;
    margin-bottom: 10%;
}
.modal-item p {
    font-size: 0.9rem;
}
.syainmei h2 {
    font-size: 1.3rem;
}
.syainmei img {
    width: 90%;
}
.syain-img {
    width: 65%;
}
.gallery {
    border-radius: 10px;
    padding: 9px 16px;
}

/* 社員の声
------------------------------- */
#syain-voice .title {
    font-size: 1.4rem;
    margin-top: 10%;
}
#syain-voice .title::after {
    transform: translate(-50.5%, -45%);
    -webkit-text-stroke: 0.5px #1a1a1a;
    text-stroke: 0.5px #1a1a1a;
}
.voice-txt {
    width: 100%;
    margin-bottom: 9%;
}
.voice-txt p:nth-of-type(1), 
.voice-txt p:nth-of-type(2) {
    margin-bottom: 7%;
}
.video-open {
    border-radius: 10px;
    padding: 9px 16px;
}


/* 採用の流れ
------------------------------- */
/* 背景 */
.recruit-border-pc {
    display: none;
}
.recruit-border-mob {
    display: block;
}
.rc-border-l {
    position: absolute;
    top: 50%;
    left: 0;
    right: auto;
    transform: translateY(-23.5%);
    height: 80%;
}
.rc-border-r {
    top: -16.5%;
    width: 35%;
}
.bg-recruit .trapezoid {
    transform: translate(-50%, -48%);
    height: 161%;
    clip-path: polygon(0 17%, 100% 0, 100% 100%, 0 85%);
    z-index: -2;
}
/* 背景ドット */
.bg-recruit .dot {
    top: 104%;
    width: 100%;
}

/* メイン */
#recruit .title {
    font-size: 1.2rem;
    margin-top: 52%;
}
#recruit .title::after {
    top: 47%;
    left: 0;
    -webkit-text-stroke: 0.5px #f7dc19;
    text-stroke: 0.5px #f7dc19;
}
#recruit .mob {
    display: block;
    margin: 0 auto;
    max-width: 65%;
}
#recruit .pc{
    display: none;
}

/* Q&A
------------------------------- */
/* 背景 */
.qa-border {
    top: -13%;
    z-index: -1;
}
.bg-qa .trapezoid {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -47%);
    height: 182%;
    clip-path: polygon(0 21%, 100% 0, 100% 100%, 0 81%);
    z-index: -2;
}
/* 背景ドット */
.bg-qa .dot {
    top: 110%;
    width: 100%;
}

/* メイン */
#qa .title {
    font-size: 1.7rem;
    margin-top: 52%;
}
#qa .title::after {
    top: 50%;
    left: 0;
    -webkit-text-stroke: 0.5px #1a1a1a;
    text-stroke: 0.5px #1a1a1a;
}
.accordion-title {
    padding: 3% 3% 3% 6%;
}
.accordion-title::after {
    border-right: solid 2px #1a1a1a;
    border-top: solid 2px #1a1a1a;
    height: 15px;
    width: 15px;
    right: 22px;
}
.accordion-area section {
    border: 3px solid #2f3d91;
    border-radius: 20px;
}
.accordion-title h3 {
    font-size: 0.8rem;
    width: 65%;
}
.box p {
    font-size: 0.8rem;
}
.box-container br {
    display: none;
}
.box-container div {
    width: 70%;
}

/*  contact
------------------------------- */
/* 背景 */
.contact-border {
    top: 43%;
}
.bg-contact .trapezoid {
    top: -30%;
    height: 132%;
    clip-path: polygon(0 28%, 100% 0, 100% 100%, 0 100%);
    z-index: -2;
}
/* メイン */
#contact .title {
    font-size: 1.6rem;
}
#contact .title::after {
    top: 50%;
    left: 0;
    -webkit-text-stroke: 0.5px #f7dc19;
    text-stroke: 0.5px #f7dc19;
}
#contact p {
    font-size: 0.73rem;
}
.contact-box{
    display: flex;
    justify-content: center;
    gap: 3%;
}

.contact-item{   
    display: flex;
    flex-direction: column;
    border-radius: 13px;
    width: 39%;
    height: 120px;
    padding: 0;
}
.contact-item img{
    max-width: 40%;
}
.contact-mail {
    margin-top: 5px;
}
.contact-address {
    margin-bottom: 11%;
}
.contact-question{
    margin: 10% auto 7%
}
.tel-mail{
    font-size: 0.55rem;
}
.contact-btn a {
    padding: 3% 6%;
    border-radius: 10px;
}
.contact-together{
    margin-top: 4%;
}


/* フッター
---------------------------- */
footer {
    padding: 13% 0 20px;
}
.modaal-container h2 {
    font-size: 1.1rem;
}
}