
.recaptcha-text{
  font-size: 10px;
}
 body{
    font-family: "Noto Sans JP", sans-serif;
 }
 .default-place-card-container{
    display: none;
 }
 .flex-news{
    padding-left: 10px;
 }
.container{
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 20px;   /* スマホで左右に余白 */
    box-sizing: border-box;
}
/* フォント */
.promise,.message h2,.top-back-white{
    font-family: "Noto Serif JP", serif;
    font-weight: 800;
}
.rinen,.top-moji3{
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

/* ヘッダー */
.header-container{
    display: flex;
    justify-content: space-between;
    height: 100px;
        background: linear-gradient(
        180deg,
        #ffffff 0%,
        #ffffff 50%,
        #e4e1e1 100%
    );
}
.header-logo > a {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: inherit;
}
/* 動きつける部分 */
.header-logo a,
.top-link a,
.contact-box,
.wpcf7-submit,
.tel-number{
    transition: transform 0.3s ease;
}

.header-logo a:hover,
.top-link a:hover,
.wpcf7-submit:hover,
.line-btn
 {
    transform: scale(1.05);
}
.tel-number:hover,
.line-btn:hover
 {
    transform: scale(.95);
}

.header-logo img{
    padding-top: 10px;
    width: 80px;
    height: 80px;
}
.header-logo{
    padding: 30px;
    padding-right: 0;
display: flex;
align-items: center;
}
.header-logo h2 span{
    font-size: 14px;
    font-weight: 300;
}
.header-logo h2{
    font-size: 24px;
    font-weight: 700;
    margin-top: 10px;
}
.header-list{
    margin:  auto 0;
    padding-right: 10px;
}
.header-list .top-menu a {
    position: relative;
    text-decoration: none;
}
.header-list .top-menu a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 0;
    height: 2px;
    background-color: #FF9500;
    transition: width 0.3s ease;
}

.header-list .top-menu a:hover::after {
    width: 100%;
}
.header-list ul{
    display: flex;
    padding-inline-start:0;
    align-items: center;
}

.wp-list li a,
.wp-list li a:hover,
.wp-list li a:active,
.header-list li a:hover,
.header-list li a:active,
.header-list li a{
    color: #000;
}
 a:hover, a:active, a{
    text-decoration: none;
}
.header-list li{
list-style: none;
color: #000;
font-weight: 700;
    display: flex;
    font-size: 16px;
}
.top-menu{
    padding: 10px 20px;
}
.header-button a {
    background-color: #FF9500;
    color: #fff;
    padding: 10px 20px;
    margin-right: 20px;
    margin-left: 20px;
    border-radius: 15px;
    font-size: 20px;
    border: 2px solid #FF9500;
    transition: all 0.3s ease;
}

.footer-left p a:link,
.footer-left p a,
.footer-left p a:hover,
.footer-left p a:active,
.copyright a:link,
.copyright a,
.copyright a:hover,
.copyright a:active,
.header-button a:link,
.header-button a:hover,
.header-button a:active,
.header-button a{
    color: #fff !important;
}
.list-wapper,.contact-wapper{
    padding-top: 50px;
        width: 90%;
    max-width: 1200px;
    margin: 10px auto;
    align-items: center;
}
.section{
    display:flex;
    justify-content:space-between;
    align-items:end;
    margin-bottom:30px;
}
.title {
    position: relative;
    padding-left: 10px;
    border-left: 2px solid #FF9500;
    font-size: 30px;
}
.title::before {
    content: "";
    position: absolute;
    left: -5px;
    top: 0;
    width: 1px;
    height: 100%;
    background: #6043D4
}

/* フッター */
footer{
    background-color: #000;
    color:#fff;
    font-weight: 700;
}
footer p{
    font-size: 18px;
}
.footer-flex {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* ロゴ */
.footer-flex .logo {
    position: absolute;
    top: -24px;
    left: -10px;
}

.footer-flex .logo img {
    width: 90px;
    display: block;
    transition: transform 0.3s ease;
}

/* 会社名 */
.footer-company-name {
    color: #fff;
    text-decoration: none;
    transition: transform 0.3s ease;
}

/* ホバー */
.footer-flex:hover .logo img {
    transform: translateY(-5px);
}

.footer-flex:hover .footer-company-name {
    transform: translateY(-5px);
}
.footer-container{
    display: flex;
    padding: 80px 0 30px 0;
    max-width: 1050px;
    margin: 0 auto;
}
.footer-left{
        position: relative;
        width: 50%;
        padding-left: 80px;
        box-sizing: border-box;
}
.footer-left span{
 transition: all 0.3s ease;
}
.footer-left span:hover{
    color: #F59E0B;
}
.footer-right iframe {
    display: block;
    width: 100%;
    max-width: 380px;
    height: 230px;
    border: 0;
}
.footer-right {
    width: 50%;
    min-width: 0;
}
.footer-left h5{
    font-size: 22px;
    margin: 0;
}
.footer-line{
  padding: 1px 0;
  width: 95%;
  margin: 0 auto;
  height: 1px;
 background: linear-gradient(
  to right,
   #6043D4,
  #FF9500,
 #6043D4
);
}
.copyright{
max-width: 1000px;
margin: 0 auto;
padding: 20px ;
padding-left: 80px;
    display:flex;
    justify-content:space-between;
    align-items:center;

    color:#fff;
    font-size:12px;
}
/*  ============
     トップページ
    ============ */
    .top-wapper{
        position: relative;
    width: 100%;
    overflow: hidden;
}
.top-back-white{
    position: absolute;
    top: 75%;
    left: 10%;
}
.top-back-white .title-top{
    padding: 5px;
    margin: 5px 0;
    font-size: 30px;
    width: fit-content;
    border-radius: 10px;
    background-color: white;
}
.top-back-white p small{
    font-size: 14px;
    border-radius: 10px;
    background-color: white;
    padding: 3px;
}
.top-flow{
    display: flex;
    width: max-content;
    animation: top-flow 100s linear infinite;
}

.top-flow img{
    width: 2000px;   /* 好きな幅 */
    height: auto;
    display: block;
    flex-shrink: 0;
}

@keyframes top-flow{
    from{
        transform: translateX(0);
    }
    to{
        transform: translateX(-50%);
    }
}
/* トップページ　リスト */
.wp-list{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    padding:0;
    margin:0;
}
.sekou-title span{
    font-size: 14px;
    display:block;
}
.wp-list img {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    object-fit: contain;
    border-radius: 15px;
    display: block;
}
.news-thumb{
      display:flex;
  justify-content:center;
  margin-bottom:15px;
}
.wp-list li,.post-card{
  border-radius: 15px;
  overflow: hidden;
  transition: .3s;
}


.top-link a{
    /* display:inline-block; */
    position:relative;
    text-decoration:none;
    color:#000;
    padding-bottom:10px;
    align-items: center;
    padding-left: 10px;
}
.portfolio-link {
    display: flex;
    align-items: center;
    gap: 8px;
}

.portfolio-link img {
    width: 30px;
    height: auto;
}
.link-line{
    position:absolute;
    left:0;
    bottom:0;
    width:0;
    height:2px;
    background:linear-gradient(
        90deg,
        #FF9500 0%,
        #6043D4 100%
    );
    transition:width .3s ease;
}

.link-line::after{
    content:"";
    position:absolute;
    right:0px;
    top:50%;
    width:8px;
    height:8px;
    border-top:2px solid #6043D4;
    border-right:2px solid #6043D4;
    transform:translateY(-50%) rotate(45deg);
    opacity:0;
    transition:opacity .2s ease .2s;
}


.about-company{
    position:relative;
    overflow:hidden;
    background:#fff;
    padding:150px 0 20px;
}

.about-arc{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:200px;
    pointer-events:none;
}
.recruit-message .about-arc{
    height:100px;
    position: static;
}
.about-inner{
    position:relative;
    z-index:2;
    max-width:1000px;
    margin:0 auto;
    text-align:center;
}

.about-en{
    font-size:14px;
    font-weight:700;
    margin-bottom:10px;
}

.about-inner h2{
    font-size:30px;
    margin-top: 5px;
    margin-bottom:40px;
}

.about-inner h3{
    font-size:24px;
    margin-bottom:30px;
}

.about-text{
    line-height:2;
    font-size:18px;
    margin-bottom:40px;
    font-weight: 700;
}

/* ボタン */
.about-btn {
    display: inline-block;
    padding: 18px 60px;
    border-radius: 999px;
    color: #fff;
    text-decoration: none;
    align-items: center;
    font-size: 22px;
    font-weight: 700;
    background: linear-gradient(90deg, #6a00ff, #b45fff);
    position: relative;
    transition: all 0.3s ease;
    border: 1px solid #fff;
}

.about-btn::after {
    content: "▶";
    margin-left: 15px;
    font-size: 18px;
}


/* 選ばれる理由 */
.auto{
    margin: 0 2%;
}

.reason-box{
    max-width:1200px;
    margin:20px auto;
    padding:20px;
    background:#f5f5f5;
    border-radius:40px;
    display:flex;
    justify-content:center;
}
.reason-left,
.reason-right{
flex: 1;
}
.reason-right img{
    width: 100%;
}
.reason-right{
    padding-top: 30px;
}
.reason-left h2{
    font-size:24px;
    line-height:1.4;
    margin-bottom:40px;
}
.reason-right .strength-wrap{
 filter: drop-shadow(-6px 6px 6px rgba(0, 0, 0, 0.25));
}

.reason-images img{
    width:86.5%;
    height:auto;
    object-fit:cover;
}
.reason-text p{
    margin: 0;
}
.reason-text{
    font-size:18px;
    line-height:2;
    font-weight: 700;
}
.human-circle{
    position:relative;

    width:340px;
    height:340px;

    margin:50px auto;

    border-radius:50%;

    background:
    radial-gradient(
        circle,
        #FFAC07 0%,
        #FFD184 30%,
        #FF9500 100%
    );
}

.human-circle span{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);

    color:#fff;
    font-size:64px;
    font-weight:bold;
}

.point{
    position:absolute;
    text-align: center;
    width:194px;
    padding:20px 0;

    border-radius:15px;

    background:linear-gradient(
        to bottom,
        #b84dff,
        #7a00ff
    );

    color:#fff;
}

.point small{
    font-size: 15px;
    display:block;
    margin-bottom:8px;
}

.point strong{
    display:block;
    font-size:20px;
}

.point1{
    top:0;
    left:-120px;
}

.point2{
    top:0;
    right:-120px;
}

.point3{
    bottom:0;
    left:-120px;
}

.point4{
    bottom:0;
    right:-120px;
}

.reason-btn,.reason-btn:visited{
        margin: 20px 0  ;
        background:linear-gradient(
        90deg,
        #F14E15,
        #FFCE6C
    );

}
.top-contact{
    width: 100%;
    padding-top: 80px;
}
/* つよみ */
.position-center{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
}
.strength-wrap{
    position:relative;
    display:flex !important;
    justify-content:center;
}

.strength{
    width:235px;
    height:90px;

    display:flex;
    justify-content:center;
    align-items:center;

    color:#fff;
    font-size:40px;
    font-weight:700;
}

/* 左 */
.purple{
    background:linear-gradient(
        to bottom,
        #c100ff,
        #7f00ff
    );

    clip-path:polygon(
        0 0,
        100% 0,
        100% 100%,
        20% 100%
    );
}

/* 右 */
.orange{
        background:linear-gradient(
        to bottom,
        #ff9500 0%,
        #ffc88e 100%
    );

    clip-path:polygon(
        0 0,
        80% 0,
        100% 100%,
        0 100%
    );
}

.cross{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);

    color:#fff;
    font-size:60px;
    font-weight:bold;
    z-index:10;
}
.position-bottom{
    position: absolute;
    bottom: 0;
    color: #fff;
    background-color: #000000B2;
    width: 100%;
    text-align: left;
    font-size: 24px;
    font-weight: 700;
}
.position-bottom p{
    padding-left: 10%;
}

.space-16{
    margin: 0 auto;
    padding: 0 10%;
}
.back-purple{
    width: 95%;
    padding: 40px 20px 100px 20px;
    margin-top: 40px;
    display: flex;
    background-color: #9000FF;
}
.Yuji{
font-family: "Yuji Boku", serif;
}
.circle-container{
    display: flex;
    position:absolute;
    gap: 50px;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
}
.circle{
    width:164px;
    height:164px;
    border-radius:50%;
    font-weight: 400;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
    font-size:50px;
    font-weight:bold;
    z-index:2;
}

.circle-purple{  background:#9000FF}

/* 上に飛び出す円 */
.circle-orange{  background:#FFAC07;}

.back-orange{
    width: 95%;
    position: relative;
    background-color:  #FFAC07;
    padding: 100px 20px 40px 20px;
    margin-bottom: 40px ;
    display: flex;
}
.white-box{
    margin: 20px 20px;
    background-color: #fff;
    padding: 10px 40px;
    width: 425px;
    margin: 0 auto;
    border-radius: 10px;
}
.white-box h6{
    width: fit-content;
    background-color: red;
    border-radius: 10px;
    padding: 5px 10px;
    font-size: 20px;
    margin: 0;
    margin-bottom: 5px;
    color:#fff;
        font-weight: 700px;
}
.white-box h5{
    font-size: 24px;
    font-weight: 700px;
    margin: 0;
}
.white-box img{
    margin: 20px 0;
        width:100%;
    height:220px;
    border-radius:10px;
    object-fit:cover;
}
.white-box p{
    font-size: 20px;
}
.center{
    margin: 0 auto;
    text-align: center;
}

/*  */
.promise{
    background-color: #000;
    margin:0px auto;
    padding: 20px 0 60px 0;
}

.promise-title{
    color: #FFF;
    text-align:center;
    font-size:24px;
    font-weight:700;
    margin-bottom:40px;
}

.promise-box{
    background: #fff;
    padding:20px 200px 20px 160px;
    margin: 0 auto;
    border:5px solid transparent;
    width: fit-content;
    border-image:linear-gradient(
        180deg,
        #7A00FF 0%,
        #FF9900 100%
    ) 1;
}

.promise-item{
    display:flex;
    align-items:center;
    gap:20px;

    margin: 0 auto 20px;
}

.promise-item:last-child{
    margin-bottom:0;
}

.number{
    width:40px;
    text-align:center;
    font-size:24px;
    font-weight:700;
}

.promise-item p{
    margin:0;
    font-size:24px;
    font-weight:700;
}
.business{
    margin: 0 auto;
}
.business-glid{
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    gap: 0 20px;
    grid-template-columns: 1fr 1fr 1fr;
}
.business-box{
    margin: 0 auto;
}
.business-box img{
    margin: 20px 0;
        width:314px;
    height:200px;
    border-radius:10px;
    object-fit:cover;
}
.business-box h5{
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 0;
}
.business-box p{
    font-size: 20px;
    font-weight: 400;
    width: 325px;
    margin-top: 0;
}
.business-slide img{
height: 400px !important;
}
.business-slide h5{
    font-size: 30px;
    margin: 10px ;
}
.business-slide p{
    font-size: 24px;
    margin: 0;
}
.features{
    max-width: 1440px;
    margin: 50px auto;
}
.features-flex{
    max-width: 1300px;
    display: flex;
    justify-content: right;
    align-items: center;
    margin: 0 5%;
    margin-top: 20px;
    gap: 5px;
}

.featurs-left{
    max-width: 50%;
}

.featurs-left h4{
    font-size: 32px;
    font-weight: 700;
    line-height: 1.3;
    margin: 20px 0;
}
.featurs-left h6{
    font-size: 20px;
    margin: 0;
}
.featurs-left p{
    font-size: 20px;
    line-height: 1.2;
}
.features-flex img{
    width: 100%;
    border-radius: 10px;
}
.orange-box2{
    background: #FFAE00;
}
.orange-box3 {
    margin-top: 40px;
    max-width: 505px;
    height: 191px;
    background: #ffad00;
    border-radius: 10px;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.25);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.purple-box2{
    background: #5C4CC7;
}

.orange-box3 h5,
.orange-box3 p {
    width: 51%;
    margin-left: auto;
    margin-right: auto;
}

.orange-box3 h5 {
    margin-top: 0;
    margin-bottom: 8px;
    color: #fff;
    font-size: 32px;
    text-align: left;
    padding-top:30px;
}

.orange-box3 p {
    margin-top: 0;
    margin-bottom: 0;

    display: flex;
    align-items: baseline;
    font-size: 64px;
    color: #fff;
}
.orange-box3 p small {
    font-size: 36px;
    margin-right: 50px;
}
.orange-box3 p sub {
    font-size: 32px;
    margin-left: 4px;
}
.orange-box3 p strong{
    font-family: 'Times New Roman', serif;
}
.contact-cta{
    max-width: 900px;
    margin:50px auto;
    padding: 30px 60px;

    color: #fff;

    background: linear-gradient(
        180deg,
        #99C7FF 0%,
        #0073FF 100%
    );

    border-radius: 15px;

    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

.contact-cta h2{
    margin-bottom: 40px;

    font-size: 32px;
    font-weight: 700;
    line-height: 1.3;
}

.contact-cta p{
    margin-bottom: 20px;

    font-size: 20px;
    line-height: 1.2;
}

.cta-btn-wrap{
    display: flex;
    justify-content: center;
    padding-top: 20px;
    gap: 50px;
}

.cta-btn{
    min-width: 238px;
    padding: 25px 40px;
    background: linear-gradient(
        180deg,
        #FD912B 0%,
        #F14E15 100%
    );
    border-radius: 15px;
    color: #fff;
    text-decoration: none;
    box-shadow:  5px 5px 8px #e43d00;
    font-size: 20px;
    font-weight: 700;
    text-align: center;

    transition: .3s;
}

.cta-btn:hover{
    transform: translateY(3px);
    opacity: .9;
}

/* 採用ページ */
.recruit-first{
    position: relative;
    max-width: 1100px;
    width: 80%;
    margin: 0 auto;
    padding: 15px 100px;
    margin-top: 80px;
    background: #f5f5f5;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,.08);
}

.recruit-first h4{
    margin: 0 0 20px;
    font-size: 30px;
    font-weight: 700;
}

.recruit-first h4 span{
    font-size: 18px;
    font-weight: 400;
    margin-left: 10px;
}

.recruit-first p{
    line-height: 1.2;
    font-size: 20px;
    margin: 0;
}
.recruit-message{
    overflow:hidden;
    background: linear-gradient(
    to bottom,
    #64CBFF 0%,
    #D3F0FF 100%
    );
}
/* 丸い写真のところ */
.member-list{
    padding-top: 50px;
    display:flex;
    justify-content:center;
    gap:50px;
    align-items:flex-start;
}
.member-list img{
    width:180px;
    height:180px;
    border-radius:50%;
    object-fit:cover;
}
.m1{ margin-top:40px; }
.m2{ margin-top:15px; }
.m3{ margin-top:0; }
.m4{ margin-top:15px; }
.m5{ margin-top:40px; }
/* 丸いアーチ */
.orange-area{
    position: relative;
    background:#ffae00;
    padding:10px 5% 80px;
    margin: -1px 0;
}
/* 転職 */
.change-container{
    padding: 50px 0;
    background-color: #F7F7F7;
}
.recruit-first{
    background-color: #fff;
    border-radius: 10px;

}
.page-template-recruit .container{
    padding: 0;
}
.job-change h4{
    padding-left: 10%;
    font-size: 30px;
    margin: 20px 0;
}
.job-change{
    padding: 0 5%;
    margin: 0 auto;
}

.orangearea-top{
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    width: 80%;
    color: #fff;
}
.orangearea-top h2{
    font-size: 30px;
    padding-bottom: 5px;
    border-bottom: #fff 2px solid;
}
.orangearea-top h2 span{
    font-size: 36px;
}
.merit-boxes{
    display:flex;
    justify-content:center;
    gap:45px;
    margin-top: 100px;
    padding:20px;

}
.hukuri-flex{
    display: flex;
}
.merit-box {
    background-color: #FFF;
    border-radius: 10px;
    max-width: 500px;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
        height: fit-content;
}
.merit-box li{
    font-weight: 700;
    padding-bottom: 20px;
    padding-right: 10px;
}
.merit-box h3{
    font-size: 30px;
    border-bottom: #000 solid 1px;
    margin:  20px  ;
    padding-bottom: 10px;
}
.shokutyo{
    padding: 10px 12%;
    margin: 0 auto;
    max-width: 1100px;
}
.shokutyo h4{
    color: #fff;
    font-size: 30px;
}
.shokutyo-box{
    width: 100%;
}
.shokutyo-box img{
    display: block;
    max-width: 100%;
    width: 100%;
    height: auto;
    border-radius: 10px;
}
/* キャリアアップ */
.career-up{
    padding: 20px ;
    background: linear-gradient(
    to bottom,
    #65ADFF 0%,
    #0077FF 100%
    );
}
.career-container{
    padding: 0 5%;
    margin: 0 auto;
}
.career-up h4{
    font-size: 30px;
    color: #fff;
}
.career-up h5{
    font-size:20px;
    margin: 0;
}
.career-top
{
    position: relative;
    max-width: 980px;
    margin: 0 auto;
    padding: 15px 10px;
}
.career-logo{
    position: absolute;
    top: 0;
    right: 30px;

}
.career-logo img{
    width: 90px;
    height: 90px;
}
.career-top,.career-bottom{
    background-color: #fff;
    border-radius: 10px;
    /* width: 100%; */
}
.career-top h5,.career-bottom p{
    padding-left: 10px;
    padding-top: 10px;
    font-size: clamp(18px, 4vw, 20px);
}
.career-border{
    border-bottom: 1px solid #4F4F4F;
    margin:10px;
    margin-bottom: 10px;
}
.flow{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:20px;
}

.step{
    width:115px;
    height:115px;
    border-radius:50%;
    background:#f7a800;
    color:#fff;
    font-weight:bold;
    font-size:24px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.flow-area{
    display: flex;
}
.goal{
    width:170px;
    height:170px;
    border-radius:50%;
    background:#07D2FF;
    color:#fff;
    font-weight:bold;
    font-size:44px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.goal-area {
    display: flex;
    align-items: center;
    gap: 10px;
}
.arrow{
    font-size:20px;
    font-weight:bold;
    color:#000;
}
.last-arrow{
    font-size: 100px;
}
.career-flex{
    gap: 40px;
    max-width: 1100px;
    /* margin: 20px auto; */
    display: flex;
    justify-content: space-between;
    padding: 0 0 50px 0;
    box-sizing: border-box;
}
.koe{
    margin: 20px 10%;
}
.career-up .container {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}
.career-bottom{
    flex: 1;
    max-width: 430px;
    padding: 20px 10px;
    margin-top: 20px;
    
}
.career-bottom1{
    padding: 20px;
}
.career-bottom h5{
    font-size: 25px;
    padding-top: 5px;
    padding-bottom: 10px;
    margin: 0;
}

.orange-box{
    color: #fff;
    background-color: #FFAC07;
    border-radius: 10px;
    width: 115px;
    height: 26px;
    font-size: 18px;
    text-align: center;
}
.purple-box{
    background-color: #9000FF;
}
.career-bottom img{
    display: block;
    border-radius: 10px;
    width:95%;
    margin: 10px auto;
}
.messagefrombutyo{
    display: flex;
    padding: 0 10%;
    gap: 10px;
    align-items: center;
}
.butyo-left{
    width: 30%;
}
.butyo-left img{
    display: block;
    border-radius: 10px;
    width: 100%;
    filter: drop-shadow(0 4px 4px #00000040);
}
.butyo-right{
        width: 70%;
    }
.speechBubble {
  position: relative;
  display: inline-block;
  margin-left: 64px;
  padding: 16px;
  border-radius: 8px;
  background-color: #ffffff;
  text-align: left;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.25;
  color: #000000;
  filter: drop-shadow(0 4px 4px #00000040);
}

.speechBubble::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  border-style: solid;
  border-width: 19px 64px 19px 0;
  border-color: transparent #ffffff transparent transparent;
  translate: -100% -50%;
}

/* 募集要項 */
.youkou{
    margin: 0 auto;
    background-color: #F7F7F7;
    padding: 50px  90px 5%;
}
.youkou h4{
    font-size: 24px;
    margin-top: 20px;
}
.youkou h5{
    font-size: 18px;
    margin: 0;
}
.youkou p{
    margin: 0;
    line-height: 1.5;
}
.youkou-gridbox{
    padding: 30px 0 100px 0;
    display: flex;
    align-items: stretch;
    gap: 80px;
    justify-content: center;
}

.bosyu{
    width: 80%;
    height: 800px;
    border-radius: 10px;
background-color: #fff;
    padding: 10px 20px;
    max-width: 500px;
        display: flex;
    flex-direction: column;
}
.bosyu-flex {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.bosyu pre {
    font-size: 16px;
     line-height: 1.2;
     margin-top: 10px;
     white-space: pre-wrap;
}
/* グラデバー */
.gradient-line{
    padding: 4px 0;
  width: 100%;
  height: 2px;
 background: linear-gradient(
  to right,
   #9000FF,
  #FFAC07,
 #9000FF
);
}
/* コンタクトフォーム */
.recruit-form h3,.youkou h3{
    font-size: 30px;
    text-align: center;
}
.recruit-form{
    padding-top: 60px;
    padding-bottom: 60px;
  max-width: 864px;
  margin: 50px auto 0 auto;
  background:#fff;
      padding: 30px 40px;
    border-radius: 10px;

}
.recruit-form p{
    margin: 8px;
}

.recruit-table,.com-table{
    width:100%;
    border-collapse:collapse;
}

.recruit-table th{
    vertical-align: top;
    padding-left: 3%;
     width:25%;
    text-align:left;
    border-top:2px solid #FFAC07;
    border-bottom:2px solid #FFAC07;
}
.recruit-table td{
    width:75%;
    border-top:2px solid #9000FF;
    border-bottom:2px solid #9000FF;
    padding: 0 3%;
}
.wpcf7-radio{
    display: flex;
    gap: 140px;
    padding-left: 30px;
    padding-top: 11px ;
    padding-bottom: 11px ;
    font-weight: 700;
}
.recruit-table input[type="text"],
.recruit-table input[type="tel"],
.recruit-table select,
.recruit-table input[type="email"],
.recruit-table textarea{
    width:100%;
    padding:14px;
    border:2px solid #8E8E8E;
    box-sizing:border-box;
}
.recruit-table select{
    color: #676767;
}
.recruit-table textarea{
    height:150px;
}

.submit-area{
    padding-top: 20px;
}
.submit-area small {
    display: block;
    margin: 0 auto;
    width: 97%;
    font-size: 16px;
    text-align: left;
}
.wpcf7-submit{
    background:#ff9500;
        display: block;
    margin: 0 auto;
    color:#fff;
    border:none;
    padding:12px 130px;
    border-radius:30px;
    cursor:pointer;
    font-size: 16px;
}
.page-template-contact main{
    background-color: #F7F7F7;
    padding-bottom: 50px;
}
.contact-area img{
    width: 100px;
    height: 100px;
}
.textarea-con {
    max-width: 1100px;
    margin: 0 auto;
    padding-top: 50px;
    padding-bottom: 20px;
}
.textarea-con p{
    font-size: 18px;}
    /* 同意 */
    .doui{
        padding: 20px 0;
        font-size: 18px;
        text-align: center;
    }
/* このエリアは変更 */
.contact-area {
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px 68px;
    border-radius: 10px;
    display: flex;
    gap: 40px;
    background: #fff;
    box-sizing: border-box;
}

/* 左右 */
.contact-box2 {
    flex: 1;
    text-align: left;
    margin: 0;
}

/* 左側の区切り線 */
.contact-box2:first-child {
    border-right: 1px solid #ddd;
    padding-right: 40px;
}


/* 右側 */
.contact-box2:last-child {
    padding-left: 0;
}

/* タイトル */
.contact-box2 h3 {
    margin: 0 0 20px;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
}

.contact-box2 h3 span {
    font-size: 20px;
    margin-left: 10px;
}
/* 電話番号 */
.tel-content {
    display: flex;
    align-items: center;
}
.tel-number {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 48px;
    font-weight: 700;
    color: #000;
    text-decoration: none;
}
/* 電話アイコン */

.tel-icon img {
    width: 100px;
    height: 100px;
    object-fit: contain;
    display: block;
}


/* LINEボタン */
.line-btn {
    max-width: 444px;
    height: 124px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #39CD00;
    border-radius: 10px;
    color: #fff;
    text-decoration: none;
    font-size: 40px;
    font-weight: 700;
    transition: .3s;
    box-sizing: border-box;
    margin: 0 auto;
}


.line-btn img {
    width: 100px;
    height: 100px;
}


.line-btn:hover {
    opacity: .8;
}
/* 変更有↑ */
/* トップイメージ */
.top-image{
     background-repeat: no-repeat;
    background-size: cover;
        height: 500px;
    position: relative;
}
.page-template-contact .top-image{
    background-image: url("../images/contact.jpg");
    background-position: center bottom;

    height: 310px;
}
.page-template-news .top-image{
    background-image: url("../images/contact.jpg");
    background-position: center bottom;

    height: 310px;
}
.page-template-projects .top-image{
    background-image: url("../images/projects-top.jpg");
    background-position: center top;

}
.page-template-protfolios .top-image{
    background-image: url("../images/portfolio.jpg");
    background-position: center center;
    height: 310px;
}
.page-template-company .top-image{
    background-image: url("../images/company-top.jpg");
    background-position: center top;
    height: 310px;
}
.single .top-image{
    background-position: center center;
    height: 310px;
}
.top-moji h5{
    position: absolute;
    top: 40%;
    left: 10%;
color: #fff;
font-size: 30px;
}
.top-image h5 span{
    font-size: 14px;

}
.top-moji2{
    color: #fff;
    position: absolute;
        bottom: 100px;
    left: 5%;
}
.top-moji2 h5{
    font-size: 30px;
}
.top-moji3{
    width: 100%;
    text-align: center;
    color: #fff;
    position: absolute;
        top: 50%;
    left: 50%;
        transform: translate(-50%, -50%);
}
.top-moji3 h1{
    font-size: 36px;
}
/* トップイメージここまで */

/* 企業情報*/
.rinen{
    text-align: center;
    padding-top: 50px ;
}
.rinen h1{
    font-size: 32px;
}
.rinen p{
    font-size: 16px;

}
.rinen img{
    width: 50%;
}
/* 社長のところ */
.message{
    display:flex;
    align-items:flex-start;
    padding: 100px;
}

.message-img{
    width:40%;
    flex-shrink:0;
}

.message-img img{
    width:100%;
    display:block;
}
.message-text{
    flex:1;
}

 .en{
    color:#ff9500;
    font-size:16px;
}

.message-img h2{
    font-size:40px;
    line-height:1.4;
    margin:20px 0 50px;
    font-weight: normal;
}

.message-text img{
width: 100%;
}
.message-text .syatyo-name{
    margin-left: auto;
    display: block;
    width: 60%;

}


/* 部長のところ */
.busyo{
    width:90%;
    max-width:1200px;
    margin:100px auto;
}

.member-wrap{
    display:flex;
    justify-content:space-between;
    gap:100px;
}

.member-box{
    flex:1;
}

.member-name{
    font-size:32px;
    font-weight:500;
}

.busyo-box{
    width:100%;
    border-collapse:collapse;
    margin-bottom:20px;
}
.member-box img{
    width: 100%;
    height: auto;
    border-radius: 10px;
}
.busyo-box th,
.busyo-box td{
    border-bottom:1px solid #8E8E8E;
    padding:20px;
}

.busyo-box th{
    width:30%;
    text-align:left;
    font-weight:400;
}

.busyo-box td{
    width:70%;
}

.member-message h4{
    font-size:18px;
    margin:10px 0;
}

.member-message p{
    font-size: 18px;
    line-height:1.2;
    width: 100%;
}
.syakun {
    margin-top: 50px;
    text-align: center;
}
.syakun img{
    width: 80%;
}
.orverview h1{
    text-align: center;
    font-size: 30px;
}
.orverview h1 span{
    font-size: 14px;
}
.com-table th{
    text-align: center!important;
    padding-left: 3%;
    padding-top: 20px;
    padding-bottom: 20px;
     width:25%;
    text-align:left;
    border-top:2px solid #6043D4;
    border-bottom:2px solid #6043D4;
    font-size: 18px;
}
.com-table td{
    width:75%;
    border-top:2px solid #FF9500;
    border-bottom:2px solid #FF9500;
    padding: 20px 3%;
    font-size: 18px;

}
.contact-container{
    display:flex;
    max-width: 1100px;
    margin: 50px auto;
}

.contact-box{
    flex:1;
    display:block;
    padding:10px 50px;
    color:#fff;
    text-decoration:none;
    box-shadow: 4px 4px  rgba(0,0,0,0.2);
}
.contact-box h5 span, .contact-box p,.contact-box h6{
font-size: 18px;
}
.contact-box h5 {
    font-size: 30px;
}
.contact-box h6{
    border-bottom: #fff solid 2px;
    width: fit-content;
    padding-right: 20px;
}
.contact-container a:hover,.contact-container a:active,.contact-container a{
    color: #fff;
}
.orange-box1{
    background: linear-gradient(
    to bottom,
    #FFBA59 0%,
    #F18D00 100%
    );
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

.purple-box{
    background: linear-gradient(
    to bottom,
    #6043D4 0%,
    #352184 100%
    );
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}
.purple-box:hover{
   background:linear-gradient(
    to bottom,
    #352184 0%,
    #6043D4 100%
    )
}
.orange-box1:hover{
    background: linear-gradient(
    to bottom,
    #F18D00 0%,
    #FFBA59 100%
    );
}
/* リスト */
.c-list-wapper{
    max-width: 1400px;
    margin: 50px auto;
}
.post-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 80%;
  margin: 0 auto;
}

 .post-card .thumb {
    box-sizing: border-box;
  }
  .top {
  position: absolute;
  bottom: 20px;
  left: 0;
  width: 100%;
  background-color: transparent;
}
.top-flex{
  display: flex;
  padding-left: 10%;
  align-items: flex-end;
}

.item{
  max-width:none;
}


.post-card .title{
  font-size: 18px;
}
.cat-child{
  font-size: 15px;
    padding: 3px;
  margin-right: 20px;
  border: #ABABAB 1px solid;
}
.post-card {
    width: 94%;
    padding: 10px;
}
.post-card .thumb {
    width: 100%;
    height: auto;
    overflow: visible;

}

.post-card .thumb img {
    aspect-ratio: 16 / 9;
    border-radius: 20px;
    width: 100%;
    height: 100%;
    object-fit: contain;
  display: block;

}

.post-card .date {
  font-size: 16px;
  color: #000;
  margin-top: 8px;
}

.post-card .title {
  font-size: 13px;
  margin-top: 6px;
  font-weight: bold;
}
.post-card a,.post-card a:hover,.post-card a:active,.post-card a:link{
    color: #000;
}
.pagination {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 20px;
}

.pagination a,
.pagination span {
  padding: 6px 10px;
  border: 1px solid #ccc;
  color: #000;
}

.pagination .current {
  background: #868686;
  color: #000;
}
.meta{
margin: 10px;
  }

  .pc-only{
    display:block;
}

.sp-only,.ip-only{
    display:none;
}
.sp-menu-only{
    display: none;}

/* MENUボタン */
.header-container {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}


/* =========================
   single
========================= */
.single .post{
    margin-top: 50px;
}
.single .post-date{
    color: #FFF;
    background-color: #FF9900;
    padding: 10px 20px;
    width: fit-content;
}
.category-news .container,.category-portfolios .container{
    padding:0 12%;
}
/* =========================
   施工実績スライダー
========================= */

.sliderArea {
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
    position: relative;
}
.slick-dotted.slick-slider{
    margin-bottom: 0 !important;
}

/* =========================
   メイン画像
========================= */

.slider_thumb {
    background: #eee;
}

.slider_thumb .slick-slide,.business-slider .slick-slide {
    display: flex;
    justify-content: center;
    align-items: center;
}

.slider_thumb img,.business-slider img{
    width: 90%;
    margin: 20px auto;
    height: 400px;
    object-fit: contain;
    display: block;
}


/* =========================
   サムネイル
========================= */

.single1 .thumb {
    background: #666;
    padding: 15px 50px;
}

.single1 .thumb .slick-slide {
    margin: 0 15px;
}

.single1 .thumb img {
    width: 100%;
    height: 100px;
    object-fit: contain;
    display: block;
}
.works-post{
    padding-top: 50px;
}
.thumb-fixed {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.thumb-fixed .thumb-item {
    flex: 0 0 calc(33.333% - 7px);
}
/* =========================
   下の矢印
========================= */

.sliderArea .slick-prev,
.sliderArea .slick-next {
    position: absolute;
    top: auto;
    bottom: -100px;

    width: 50px;
    height: 50px;

    padding: 0;
    border: none;
    background: transparent;

    z-index: 20;

    font-size: 0;
    opacity: 1;
}

/* 左 */
.sliderArea .slick-prev {
    left: calc(50% - 215px);
}


/* 右 */
.sliderArea .slick-next {
    right: calc(50% - 220px);
}


/* 左右の > < */
.sliderArea .slick-prev::before {
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    background-image: url("../images/back-btn.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 1;
    transition: all 0.3s ease;
}

.sliderArea .slick-next::before {
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    background-image: url("../images/next-btn.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 1;
    transition: all 0.3s ease;
}
.sliderArea .slick-prev:hover::before,
.sliderArea .slick-next:hover::before {
    transform: scale(1.2);
}

/* hoverしても消さない */
.sliderArea .slick-prev:hover,
.sliderArea .slick-next:hover {
    opacity: 1;
    background: transparent;
}


/* =========================
   ドット
========================= */
.sliderArea .slick-dots li:nth-child(n+7) {
    display: none;
}
.sliderArea .slick-dots {
    position: absolute;
    bottom: -70px;

    left: 50%;
    transform: translateX(-50%);

    width: auto;

    display: flex;
    justify-content: center;
    align-items: center;

    margin: 0;
    padding: 0;

    list-style: none;
}


.sliderArea .slick-dots li {
    width: 40px;
    height: 40px;
    margin: 0 5px;
}


/* ドットのボタン */
.sliderArea .slick-dots li button {
    width: 40px;
    height: 40px;
    padding: 0;

    font-size: 0;
}


/* ドット */
.sliderArea .slick-dots li button::before {
    content: "";

    width: 20px;
    height: 20px;

    background: #ddd;
    border-radius: 50%;

    opacity: 1;

    position: absolute;
    top: 50%;
    left: 50%;

    transform: translate(-50%, -50%);
}


/* 選択中 */
.sliderArea .slick-dots li.slick-active button::before {
    background: #999;
}


/* hover */
.sliderArea .slick-dots li button:hover::before {
    opacity: 1;
}
/* =========================
   施工実績テーブル
========================= */

.works-table {
    padding: 50px 0;
    width: 100%;
    max-width: 800px;
    margin: 100px auto 0;
    border-collapse: collapse;
    border-top: 1px solid #ddd;
    border-right: 1px solid #ddd;
    font-size: 16px;
    line-height: 1.7;
}

/* 左側 */
.works-table th {
    width: 180px;
    padding: 18px 20px;
    color: #fff;
    background: #464646;
    border-bottom: 1px solid #fff;
    font-weight: 500;
    text-align: center;
}

/* 右側 */
.works-table td {
    padding: 18px 20px;
    border-bottom: 1px solid #ddd;
    background: #fff;
    text-align: left;
    vertical-align: top;
}

.works-table tr:last-child td {
    line-height: 1.9;
}
.single .contact-wapper,.single .top-contact{
    padding-top: 0;
}
/* 一覧へボタン */
.single-btn-area {
    display: flex;
    justify-content: center;
    margin: 60px auto ;
}

.single-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 280px;
    height: 60px;
    border: 1px solid #464646;
    color: #464646;
    text-decoration: none;
    font-size: 16px;
    letter-spacing: 0.08em;
    background: #fff;
    transition: all 0.3s ease;
}

/* 矢印 */
.single-btn .arrow {
    position: absolute;
    right: 25px;
    width: 35px;
    height: 1px;
    background: #464646;
    transition: all 0.3s ease;
}

/* 矢印の先端 */
.single-btn .arrow::after {
    content: "";
    position: absolute;
    right: 0;
    top: -4px;
    width: 8px;
    height: 8px;
    border-top: 1px solid #464646;
    border-right: 1px solid #464646;
    transform: rotate(45deg);
}
.privacy {
    max-width: 1096px;
    margin: 0 auto;
    padding-bottom: 80px;
}
.privacy h1{
padding: 80px 0;
font-size: 30px;
}
.privacy pre {
    margin: 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-word;
    box-sizing: border-box;
    max-width: 100%;
    font-family: inherit;
    font-size: 18px;
    line-height: 1.5;
}
.privacy span{
    padding: 5px 0;
}
/* リキャプチャ消すやつ*/
.grecaptcha-badge{
  visibility: hidden;
}
.recaptcha-text{
  font-size: 10px;}

@media screen and (max-width: 768px) {

}
.thanks{
        max-width: 800px;
    margin: 0 auto;
    padding: 80px;
}
@media screen and (max-width:1250px){
    /* .title{
        margin-left: 5%;
    } */
    .top-moji3,.header-logo h2,.post-title{
        font-size: 20px;
    }
    .top-menu{
        padding: 10px 5px;
    }
    .header-list li,.header-logo h2 span{
        font-size: 12px;
    }
    .header-button a{
        font-size: 14px;
    }
    .goal-area {
    flex-direction: column;
    padding-bottom: 20px;
}
.business-glid{
    grid-template-columns: 1fr 1fr;
    max-width: 800px;
    padding: 0 10px;
}
.flow-area{
    display: block;
}
.last-arrow{
    transform: rotate(90deg);
}
    .yoko-only{
        display: inherit;
    }
        .post-grid {
        width: 100%;
        max-width: 800px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        box-sizing: border-box;
        }

.member-list img{
    width: 100px;
    height: 100px;
}

  .back-orange,.back-purple{
    gap:20px;
    }
    .post-thumbnail img{
        max-width: 80%;
        height: auto;
    }
    .post{
        margin: 0 auto;
    }
    .contact-cta {
    max-width: 700px;
    margin: 100px auto;
    padding: 30px 20px;
    color: #fff;
}
.features-flex{
    justify-content:center;
}
/* =================
    事業内容(project)
   ================= */
.orange-box3{
    max-width: 400px;
}
/* =================
    お問い合わせ
   ================= */
   .textarea-con{
    max-width: 1000px;
   }
   .tel-number{
    font-size: 30px;
   }
   .tel-icon img{
    width: 50px;
    height: 50px;
   }
.tel-content{
   justify-content: center;
}
.contact-area{
    max-width: 1000px;
}

.line-btn img{
    width: 50px;
    height: 50px;
}
.line-btn{
    max-width: 400px;
    margin: 0 auto;
    height: 90px;
}
    .privacy {
        width: 90%;
        padding-bottom: 30px;
    }
    .privacy h1{
    padding: 20px 0;
    font-size: 24px;
    }
        .privacy pre {
        font-size: 14px;
    }
 }
/* =========
    ipad
    ======== */
@media screen and (max-width: 1080px) {
    .ip-only{
        display: block;
    }
    .ip-pc-none{
        display: none;
    }
.strength {
    width: 48%;
    height: 58px;
    font-size: 24px;
}
  .page-template-projects .strength{
    width: 170px;
    height: 58px;
   }

   .position-center{
    top:40%;
   }
.cross{
    font-size: 40px;
}
.point {
    width: 90%;
    padding: 10px 6px;
    border-radius: 15px;
    text-align: center;
}
.point small{
    font-size: 12px;
}
.point1{
    top: -50px;
    left: -90px;
}
.point2{
    top: -50px;
    right: -90px;
}
.point3{
    bottom:  -50px;
    left: -90px;
}
.point4{
    bottom:  -50px;
    right: -90px;
}
.point strong{
    font-size: 16px;
}
.human-circle {
    position: relative;
    width: 160px;
    height: 160px;
    margin: 80px auto;
    }
    .human-circle span{
        font-size: 35px;
    }

    .merit-boxes{
        padding-top: 60px;
    }
    .orangearea-top{
        width: 90%;
    }
    .message{
    padding: 20px;
}
.space-16{
    padding: 0 5%;
}
/* 事業内容（project） */
    .features-flex{
        flex-direction: column;
        gap: 20px;
        margin: 0 10%;
        align-items: normal;
    }
.orange-box3 h5, .orange-box3 p
 {
    width: auto;
 }

 .textarea-con{
    max-width: 800px;
 }
 .contact-area{
    max-width: 800px;
 }
 .contact-box2 h3{
    font-size: 22px;
}
    .featurs-left {
        max-width: none;
    }

    /* 採用 */
    .recruit-first{
        max-width: 800px;
        padding:15px 30px;
    }
/* 会社情報 */
.member-wrap{
    gap: 50px;
}
.busyo{
    width: auto;
}
}


/* スマホ */
@media screen and (max-width: 768px) {
    .auto{
        margin: 0;
    }
    .top-flow img{
    width: 1150px;
    height: auto;
    display: block;
    flex-shrink: 0;
}
.wp-list img{
    width: 95%;
}
.news-thumb{
    padding-top: 10px;
}
    /* ==========
    ハンバーガー
    ============== */
    .header-container {
        width: 100%;
        padding-left: 15px;
        padding-right: 15px;
        box-sizing: border-box;
        display: flex;
        align-items: center;
    }

    .header-logo {
        min-width: 0;
        flex: 1;
    }

    .hamburger {
        width: 50px;
        height: 40px;
        margin: 0;
        padding: 0;
        flex-shrink: 0;
        background: none;
        border: none;
        position: relative;
        z-index: 1001;
    }

    .hamburger .menu-text,
    .hamburger .close-text {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        white-space: nowrap;
    }

    .hamburger .menu-text {
        font-size: 14px;
        opacity: 1;
    }

    .hamburger .close-text {
        font-size: 30px;
        line-height: 1;
        opacity: 0;
    }

    .hamburger.active .menu-text {
        opacity: 0;
    }

    .hamburger.active .close-text {
        opacity: 1;
    }
    .hamburger,
.hamburger:focus,
.hamburger:active {
    background: transparent !important;
    border: none !important;
    outline: none !important;
    color: #000 !important;
    -webkit-appearance: none;
    appearance: none;
}

.hamburger .menu-text,
.hamburger .close-text {
    color: #000 !important;
    -webkit-text-fill-color: #000;
}
/* スマホメニュー */
/* =========================
   スマホメニュー
========================= */
/* スマホメニュー */
.sp-menu {
    position: fixed;
    inset: 0;

    width: 100%;
    height: 100vh;

        background: linear-gradient(180deg,
         #ffffff 0%,
         #ffffff 50%,
         #ffffff 85%,
          #ffe1b9 100%);

    z-index: 1000;

    overflow-y: auto;
    box-sizing: border-box;

    /* 閉じている状態 */
    transform: translateX(100%);
    transition: transform 0.4s ease;
}

/* 開いた状態 */
.sp-menu.active {
    transform: translateX(0);
}


/* メニュー上部 */
.sp-menu-header {
    position: relative;

    height: 60px;

    display: flex;
    align-items: center;
        padding-left: 15px;
        padding-right: 15px;

    box-sizing: border-box;
}


/* ロゴ */
.sp-menu-header img {
    width: 130px;
    height: auto;
    display: block;
}


/* リスト */
.sp-menu ul {
    list-style: none;

    margin: 0;
    padding:  30px;
}


/* 各項目 */
.sp-menu li {
    margin: 0;
    padding: 0;

    border-top: 1px solid #FF9500;
}


/* リンク */
.sp-menu li a {
    display: flex;
    flex-direction: column;

    justify-content: center;

    min-height: 65px;

    padding:  5px;

    box-sizing: border-box;

    text-decoration: none;
}


/* 英語 */
.sp-menu .menu-en {
    color: #FF9500;
    font-size: 21px;
    letter-spacing: 2px;
    line-height: 1.3;
}


/* 日本語 */
.sp-menu .menu-ja {
    color: #666;
    font-size: 14px;
    font-weight: 600;
    margin-top: 4px;
}


/* プライバシーポリシー */
.sp-menu .privacy-menu {
    border-top: none;
}

.sp-menu .privacy-menu a {
    min-height: 50px;
    color: #777;
    font-size: 13px;
}

    .single-btn-area {
        margin: 40px auto 40px;
        padding: 0 20px;
    }

    .single-btn {
        width: 100%;
        max-width: 320px;
        height: 55px;
        font-size: 14px;
    }

    .single-btn .arrow {
        right: 20px;
        width: 30px;
    }

}
/* メディクエリ */

  @media screen and (max-width:768px){
    .header-container {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 9999;
        height: 60px;

 }

body{
    max-width: 100%;
    padding-top: 60px;
}
.container{
    padding: 0;
}
    .pc-only{
        display:none !important;
    }

    .sp-only{
        display:inherit !important;
    }
    .sp-menu-only{
        display: block !important;
    }
    .header-container{
        justify-content:space-between;
        align-items:center;
    }
/* =========================
   ヘッター
========================= */
.header-logo{
    align-items: center;
    padding: 0;
}
.header-logo img{
    padding-top:0;
    width: 45px;
    height: 45px;
}
.neo{
    display: flex;
    align-items: center;
    gap: 8px;
}

.logo-small{
    font-size: 10px;
    line-height: 1;
    font-weight: 400;
}

.logo-main{
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
}
/* =========================
   トップページ
========================= */
.title {
    font-size:24px ;
            margin-left: 6px;
}
.padding-left{
    margin-left: 5%;
}
.catch-copy{
    position: relative;
    text-align: center;
    padding: 30px 0;
}

.catch-copy h2{
    font-size: 24px;
    font-weight: bold;
    line-height: 1.2;
    display: inline-block;
    position: relative;
}

/* 上のオレンジ線 */
.catch-copy h2::before{
    content: "";
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 31px;
    background: orange;
}

/* 下の紫線 */
.catch-copy h2::after{
    content: "";
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 31px;
    background: blueviolet;
}
.list-wapper{
    padding-top: 0;
    margin: 20px  auto 0 auto;
    width: 90%;
}
.about-wrap{
    margin-bottom: 20px;
    position: relative;
}
.about-inner h2 {
    font-size: 24px;
    margin: 0;
}
.about-inner h3 {
    font-size:16px;
    margin-bottom: 10px;
}
    .about-text {    font-size: 12px;
    line-height: 1.5;
    margin-bottom: 20px;}
.reason-left h2{
    font-size: 20px;
    margin-bottom: 20px;
}
.wp-list {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 0;
    margin: 0;
}
.wp-list li,
.post-card {
    box-shadow: 0 10px 25px rgba(0,0,0,.15);
}
.top-link{
    text-align: right;
       margin-top: 20px;
}
.top-link a{
    padding: 5px 20px ;
    font-size: 14px;
}
.link-line{
    width: 100%;
}
.link-line::after{
    opacity: 1;
}
.reason-right{
    margin-bottom: 20px;
}
.reason-box{
    border-radius:0;
    color: #000;
    flex-direction:column;
    padding: 15px;
    min-width: 345px !important;
    margin: 0;
    padding-top: 0;
}
.reason-images{
     justify-content: center;
    padding: 3px;
    gap: 5px;
    border: 2px solid transparent;
    margin-bottom: 10px;
    }
.reason-images img {
    width: 100%;
    height: auto;
    object-fit: cover;

}
    .about-company{
        overflow:hidden;
        background:#fff;
        color:#000;
        padding:0 10px;
    }
    .about-arc{
            line-height: 0;
        position: static;
        display: block;
        width: 100%;
        height: 120px;
    }
    .about-btn{
        display: inline-flex;
        font-size: 14px;
        padding: 8px 30px;
    }
    .reason-text p{
        font-size: 12px;
        line-height: 1.2;
        padding-left: 10px;
    }
    .reason-btn{
        margin: 0 0 20px 0;
    }
        .strength-wrap{
        margin: 0 auto;
    max-width: 370px;}
    .reason-left{
        max-width: 375px;
        margin: 0 auto;
    }



    .contact-container{
        flex-direction:column;
        max-width: 341px;
    }
    .contact-box{
        padding: 20px 0 20px 15px;
    }
    .contact-box h5{
        font-size: 20px;
        margin: 0;
    }
    .contact-box h6{
        margin: 5px 0;
    }
    .contact-box h5 span, .contact-box p{
font-size: 14px;
    }
    .orange-box1 {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 0px;
    }
    .purple-box {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    border-top-right-radius: 0px;
    }
/* =========================
   お問い合わせ
========================= */
.page-template-contact .top-image{
    height: 210px;
}
    .recruit-form{
        max-width:100%;
        margin:0;
        padding:10px;
    }
    .recruit-form p{
        margin: 0;
    }
    td .recruit-form p small{
        font-size: 10px;
}
    .recruit-table{
        width:100%;
        table-layout:fixed;
    }

    .recruit-table th{
        width:35%;
        padding-left: 5px;
        padding-top: 10px;
        font-size: 14px;
    }

    .recruit-table td{
        width:65%;
        padding:10px;
    }

    .wpcf7-radio{
        display:flex;
        gap:10px;
        padding: 0;
        font-size: 14px;
    }

    .recruit-table input[type="text"],
    .recruit-table input[type="email"],
    .recruit-table input[type="tel"],
    .recruit-table select,
    .recruit-table textarea{
        width:100%;
        font-size:12px;
        padding: 10px ;
    }
.text-area-contact{
    padding: 10px 30px;
    margin: 0 auto;
    text-align: center;
    width: 80%;
}
    /* 送信ボタン */
    .wpcf7-submit{
        width:100%;
        padding:15px;
        font-size: 14px;
    }

    .submit-area small{
        margin: 0 auto;
        padding: 0 10px;
        display:block;
        font-size: 12px;
    }
.doui{
    font-size: 14px;
}
    /* 説明文 */
    .textarea-con{
        padding: 10px 30px;
    }

    .textarea-con p{
        font-size:12px;
    }

    /* お問い合わせエリア */
    .contact-area{
        flex-direction:column;
        text-align: center;
        padding:10px;
        margin: 0 30px 30px 30px;
        gap:10px;
    }
.contact-box2{
    text-align: center;
}
    .contact-box2:first-child{
        border-right:none;
        border-bottom:1px solid #ddd;
         padding: 0;
         padding-bottom: 10px;
    }

    .contact-box2 h3{
        font-size:16px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .contact-box2 h3 span{
        display:block;
        margin:5px 0 0;
        font-size:12px;
    }

    /* 電話番号 */
    .tel-content{
        gap:10px;
        text-align:center;
    }
.tel-icon{
    width: 30px;
    height: 30px;
}
    .contact-area img{
        width:30px;
        height:30px;
    }

    .tel-number{
        font-size:20px;
        word-break:break-all;
    }

    /* LINEボタン */
    .line-btn{
        max-width: 300px;
        width:80%;
        height:50px;
        font-size:24px;
    }
.page-template-contact main{
    padding-bottom: 0;
}

/* =================
    事業案内(project)
   ================= */
   .page-template-projects .top-image{
    background-image: url(../images/sp-back1.jpg);
    height: 210px;
    background-position: center center;
   }
   .features{
    max-width: 100%;
    margin: 20px auto;
   }
   .space-16{
    padding: 0 16px;
}
    .back-purple{
        margin-top: 0;
        width: 90%;
        flex-direction:column;
        gap:20px; /* 要素の間隔 */
        padding-top: 20px;
        padding-bottom: 80px;
    }
    .back-orange{
        width: 90%;
    flex-direction:column;
    gap:20px;
    padding-top: 80px;
    padding-bottom: 20px;
    }
    .white-box{
        padding: 10px;
        width: 100%;
        box-sizing: border-box;
    }
    .white-box img{
        width: 100%;
        height: auto;
        margin-bottom: 0;
    }
    .white-box h6,.white-box p{
        font-size: 14px;
    }
    .white-box h5{
        font-size: 20px;
    }
    .circle {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    font-weight: 400;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    z-index: 2;
}
.circle-container{
    display: flex !important;
    top: 0px;
    gap: 20px;
}
.promise{
    background-color: #000;
    padding: 20px 0;
    margin: 10px 0;
    margin-bottom: 50px;
}
.promise-title{
    color: #fff;
    font-size: 16px;
    margin: 20px 0;
}
.promise-box{
    background-color: #fff;
    width: 330px;
    margin: 20px auto;
    padding:20px 5px;
}
.promise-item{
    gap: 0;
}
.number,.promise-item p{
    font-size: 14px;
}
    .business-glid{
        grid-template-columns:repeat(2, 1fr);
        gap:20px 10px;
    }

    .business-box{
        width:96.5%;
    }

    .business-box img{
        width:100%;
        height:auto;
        aspect-ratio:5 / 3;
        object-fit:cover;
    }

    .business-box h5{
        font-size:16px;
        margin-top: 0;
    }

    .business-box p{
        width:100%;
        font-size:12px;
    }
    .business-box img{
        margin:7px 0 5px 0;
    }
    .business-slide h5{
    font-size: 20px;
    margin: 10px ;
}
.business-slide p{
    font-size: 12px;
    margin: 0;
}
    .cta-btn-wrap{
        flex-direction:column;
        gap: 20px;

    }
    .orange-box3{
        max-width:300px;
        height:150px;
        margin: 20px auto 0 auto;
    }
    .features-flex img{
        width: 100%;
    }
    .orange-box3 h5{
        padding-top: 0;
        font-size: 24px;
    }
    .featurs-left h4{
        font-size: 20px;
        margin: 10px 0;
    }
    .featurs-left h6{
        font-size: 14px;
    }
    .orange-box3 p small{
        font-size: 32px;
        margin-right: 20px;
    }
    .featurs-left p{
        font-size: 12px;
    }
    .featurs-left strong{
        font-size: 48px;
    }
     .contact-cta{
        padding:  20px 17.5px 50px 17.5px;
        margin: 40px 16px 40px 16px;
     }
    .contact-cta h2{
        font-size: 20px;
        text-align: center;
        margin-bottom: 20px;

    }
    .contact-cta p{
        margin-bottom: 20px;
        font-size: 14px;
        }
    .cta-btn{
        min-width: 160px;
        max-width: 238px;
        margin: 0 auto ;
        font-size: 16px;
            padding: 20px 39px;
    }

    .featurs-left{
        max-width: none;
        text-align: left;
    }
/* =================
    ニュースリスト
   ================= */
   .page-template-news .top-image,
   .page-template-protfolios .top-image,
   .single .top-image{
    height: 210px;
    background-position: center center;
   }
    .c-list-wapper{
        padding:0 15px;
        box-sizing:border-box;
    }
    .c-list-wapper .title-list{
        font-size: 12px;
        margin-bottom: 0;
    }
    .post-grid{
        width:100%;
        max-width:none;
        margin:0;
        display:grid;
        grid-template-columns:repeat(2, 1fr);
        gap:10px;
        box-sizing:border-box;
    }
    .post-card{
            padding:10px;
            width: auto;
        }
    .post-card .thumb{
        width:100%;
    aspect-ratio: 16 / 9;
        overflow:hidden;
    }
.post-card .date{
    font-size: 10px;
}
    .post-card .thumb img{
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: block;
    }
    .cat-child{
        margin-right:5px;
        font-size: 10px;
    }
    .flex-news h3{
        font-size: 16px;
    }
    .meta,.c-list-wapper .title-list{
        margin-left: 0;
        padding-left: 0;
    }
    /* フッター */
    footer{
        padding-bottom:10px;
    }
    .footer-container{
        padding:  5px 15px;
        display: block;
    }
    .footer-flex{
        gap: 0;
    }
    .footer-left{
        width: 100%;
        padding-left: 0;
    }
    .footer-flex .logo{
        position: static;
    }
    .footer-flex .logo img{
        width: 60px;
        height: 60px;
    }
    footer p{
        font-size: 12px;
        padding-left: 10px;
    }
    .footer-left h5{
        font-size: 20px;
        display: flex;
        align-items: center;
        gap: 10px;
        margin: 0;
        padding: 20px 0;
    }
    .copyright{
        padding:5px 10px;
        font-size: 10px;
    }
/* =================
    採用ページ
   ================= */
   .merit-boxes,.career-flex,.youkou-gridbox{
    flex-direction: column;
    align-items: center;
   }
   .recruit-first{
       margin: 20px auto;
       padding: 15px;
       width: 85%;
       max-width: 336px;
    }
    /* フォントサイズ */
    .recruit-first h4{
        font-size: 20px;
    }
    .orangearea-top h2,
    .merit-box li,
    .recruit-first p,
    .career-bottom p,
    .career-top h5,
    .youkou p,
    .bosyu pre{
        font-size: 12px;
    }
    .merit-box h3,.shokutyo h4,
    .career-bottom h5,
    .recruit-form h3,
    .youkou h4,.orangearea-top h2 span{
        font-size: 16px;
    }
    .youkou h5{
        font-size: 14px;
        margin: 0;
    }
    .merit-box h3{
        margin: 0;
        padding: 15px 5px 10px 5px;
    }

        .recruit-first h4 span{
            font-size: 14px;
        }
    .member-list{
        gap: 10px;
        padding-top: 20px;
    }
    .recruit-message .about-arc{
        height: 30px;
        top: -1px;
    }
    .orange-area {
    padding: 0px 5% 80px;
    border-radius:  0;
}
.orangearea-top{
    top: -20px;
}
    .member-list img{
        width: 17%;
        height: auto;
    }
    .career-bottom p{
    padding-left: 0;
    padding-top: 0;
    width: 95%;
    margin: 0 auto;
    }
    .orangearea-top{
        width: 90%;
    }
    .merit-boxes {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 20px;
        padding: 20px 5px;
        box-sizing: border-box;
        margin-top: 40px;
    }
.hukuri-flex{
    justify-content: space-between;
}
    .merit-box {
        width: 100%;
        max-width: 350px;
        margin: 0 auto;
        padding: 0 20px;
        box-sizing: border-box;
    }
    .merit-box ul{
        padding-left: 20px;
    }
    .merit-box li{
        padding-bottom: 2px;
        padding-right: 0;
    }
    .shokutyo,
    .career-container,
    .messagefrombutyo,
    .youkou-gridbox{
        padding: 0;
        margin: 0;
    }
   .career-bottom img{
    height: auto;
   }
   .career-up{
    padding: 20px 0;
   }
   .orange-box,
   .career-bottom h5{
    margin-left: 2.5%;
   }
   .koe{
    margin:20px 0   }
   .orange-area{
    padding-top: 20px;
    padding-bottom: 20px;
    margin-top: -1px;
   }
   .change-container{
    padding: 4px 0;
   }
   .career-bottom{
    padding: 10px;
   }
   .messagefrombutyo{
    flex-direction: column;
    padding: 20px 0;
   }
   .butyo-left{
    width: 80%;
   }
   .butyo-right{
    width: 100%;
   }
   .speechBubble {
    margin: 0 10px;
  position: relative;
  display: inline-block;
  margin-top: 20px;
  padding: 16px;
  border-radius: 8px;
  background-color: #ffffff;
  text-align: left;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.25;
  color: #000000;
}

.speechBubble::after {
display: none;
}
   .flow{
    padding: 20px 5px;
    gap: 5px;
   }
   .step{
    font-size: 14px;
    width: 50px;
    height: 50px;
   }
   .goal{
    font-size: 25px;
    width: 80px;
    height: 80px;
   }
   .arrow{
    font-size: 20px;
   }
   .bosyu{
    flex: 1;
    margin: 0 auto;
    width: 85%;
   }
   .youkou-gridbox{
    width: 100%;
    gap: 20px;
   }
   .youkou{
    padding: 20px 10px;
    padding-bottom: 20px;
}
    .youkou .title{
        margin-left: 20px;
    }
.career-top{
    margin: 0 auto;
    max-width: 500px;
}

.title::before{
    width: 2px;
    left: -6px;
}
.title-white{
    color: #fff;
}
.goal-area{
    padding-bottom: 0;
}
.career-flex{
    margin: 0;
    gap: 0;
    padding: 0;
}
/* =================
    会社概要
   ================= */
    .page-template-company .top-image{
    background-image: url(../images/company-sp.jpg);
    height: 210px;
    background-position: center center;
   }
   .top-moji h5{
    font-size: 24px;
   }
   .message-img h2{
    margin: 10px 0;
   }
   .message,.member-wrap{
    flex-direction: column;
   }
    .member-wrap{
    gap: 10px;
   }
   /* フォントサイズ */
   .message-img h2,.orverview h1{
    font-size: 24px;
   }
   .rinen h1{
    font-size: 20px;
   }
   .member-name{
    font-size: 16px;
   }
   .busyo-box,
   .com-table th,
   .com-table td,.member-message h4{
    font-size: 14px;
   }
   .member-message p{
    font-size: 12px;
   }
   .rinen{
    padding-top: 20px;
   }
   .rinen img{
    width: 70%;
   }
   .rinen p{
    font-size: 12px;
    margin-bottom: 50px;
   }
   .busyo{
    margin: 30px auto;
    width: 90%;
   }
.message{
    padding: 0 5%;
}
   .message-img{
    width: auto;
   }
   .syakun img{
    width: 100%;
   }
    .com-table th{
width: 30%;
     }
   .com-table td{
    width: 70%;
   }
   /* =================
    施工実績スライダー
   ================= */
    .sliderArea {
        width: 100%;
    }

    .slider_thumb img {
        height: 300px;
    }
.slider_thumb img, .business-slider img{
    width: 100%;
    margin: 0 auto;
}
   .single1 .thumb {
        padding: 10px 20px;
    }

   .single1 .thumb .slick-slide {
        margin: 0 5px;
    }

   .single1 .thumb img {
        height: 70px;
    }

    .sliderArea .slick-prev,
    .sliderArea .slick-next {
        bottom: -87px;
        top: auto;
        width: 40px;
        height: 40px;
    }

    .sliderArea .slick-prev {
        left: calc(50% - 140px);
    }

    .sliderArea .slick-next {
        right: calc(50% - 150px);
    }

    .sliderArea .slick-prev::before,
    .sliderArea .slick-next::before {
        width: 30px;
        height: 30px;
    }

    .sliderArea .slick-dots li,
    .sliderArea .slick-dots li button {
        width: 25px;
        height: 25px;
    }

    .sliderArea .slick-dots li button::before {
        width: 15px;
        height: 15px;
    }
    .single1 .thumb{
        padding: 0;
    }
.single1 .thumb img{
    height: 70px;
}

.works-table th{
    width: 80px;
    font-size: 14px;
}
.works-table td{
    font-size: 14px;
}

.sliderArea .slick-dots{
    bottom: -60px;
}
.thanks{
    padding: 30px 10%;

}
.thanks h1{
    font-size: 20px;

}
.thanks p{
    font-size: 12px;

}
.single .top-contact{
    width: 90%;
}
.category-news .container, .category-our_projects .container{
    padding: 0 5%;
}
.post-content{
    font-size: 12px;
}
/* ぷらポリ */
    .privacy {
        width: 90%;
        padding-bottom: 30px;
    }
    .privacy h1{
    padding: 20px 0;
    font-size: 20px;
    }
        .privacy pre {
        font-size: 12px;
    }
  }
@media (hover: hover) and (pointer: fine) {

    .header-list .top-menu a:hover::after {
        width: 100%;
    }
    .top-link a:hover .link-line{
    width:100%;
}

.top-link a:hover .link-line::after{
    opacity:1;
}

    .wp-list li:hover,
    .post-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 25px rgba(0,0,0,.15);
    }

    .purple-box:hover {
        background: linear-gradient(
            to bottom,
            #352184 0%,
            #6043D4 100%
        );
    }

    .orange-box1:hover {
        background: linear-gradient(
            to bottom,
            #F18D00 0%,
            #FFBA59 100%
        );
    }

    .header-button a:hover {
        background-color: #fff;
        color: #FF9500 !important;
    }

    .about-btn:hover {
        background: #fff;
        color: #6a00ff;
        border-color: #6a00ff;
        transform: translateY(-3px);
        border: 1px solid #6a00ff;
    }

    .reason-btn:hover {
        color: #F14E15;
        border-color: #F14E15;
        border: 1px solid #F14E15;
    }
    /* hover */
.single-btn:hover {
    background: #464646;
    color: #fff;
}

.single-btn:hover .arrow {
    background: #fff;
    right: 18px;
}

.single-btn:hover .arrow::after {
    border-color: #fff;
}


}