@charset "UTF-8";
:root{--site-source-build:"daitakusoken.b-jp.com";}
@charset "utf-8";
 
.menu-wrap {
        right:0 !important;
	-webkit-transform: translate3d(320px,0,0);
	transform: translate3d(320px,0,0);
	visibility:hidden;
}

.show-menu .menu-wrap,
.show-menu .menu-inner ,
.show-menu .morph-shape  {
        -webkit-transform: translate3d(-30px,0,0);
        transform: translate3d(-30px,0,0);
}
.show-menu .menu-wrap {
	right:0;
	opacity:1;
	visibility:visible;
}



@media only screen and (max-width: 1064px) {
    .s3b10aaf1-nav-holder {
        width: 290px !important;
        min-height: 300px !important;
        height: auto !important;
        max-height: calc(100vh - 90px) !important;
        padding: 36px 38px 34px !important;
        overflow-y: auto !important;
        transform-origin: top right;
        animation: navDropIn 0.32s cubic-bezier(.22, .61, .36, 1) both;
    }

    .s3b10aaf1-nav-holder nav ul li {
        padding: 12px 0 !important;
    }

    .s3b10aaf1-nav-holder nav li a,
    .s3b10aaf1-nav-holder nav li ul li a {
        line-height: 1.35 !important;
    }
}

@media only screen and (max-width: 540px) {
    .s3b10aaf1-nav-holder {
        width: min(310px, calc(100vw - 40px)) !important;
        min-height: 310px !important;
    }
}


.s3b10aaf1-access-map-wrap {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.s3b10aaf1-access-map-wrap iframe,
.s3b10aaf1-access-map,
.s3b10aaf1-service-content-about .container > iframe[title*="Google Maps"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media only screen and (max-width: 768px) {
    .s3b10aaf1-access-map-wrap {
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .s3b10aaf1-access-map-wrap iframe,
    .s3b10aaf1-access-map,
    .s3b10aaf1-service-content-about .container > iframe[title*="Google Maps"] {
        float: none !important;
        clear: both !important;
    }
}


@keyframes navDropIn {
    from {
        opacity: 0;
        transform: translateY(-10px) scale(.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes headerSoftIn {
    from {
        opacity: 0;
        transform: translateY(-12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

header.s3b10aaf1-main-header {
    animation: headerSoftIn .48s ease-out both;
}

.s3b10aaf1-logo-holder img,
.s3b10aaf1-nav-button span,
.s3b10aaf1-btn,
.s3b10aaf1-box-item img,
.s3b10aaf1-respimg,
.s3b10aaf1-access-map-wrap iframe,
#contact-form input,
#contact-form textarea,
#submit {
    transition: transform .36s ease, box-shadow .36s ease, opacity .36s ease, filter .36s ease, background-color .36s ease;
}

.s3b10aaf1-nav-button-wrap:hover .s3b10aaf1-nav-button span:first-child {
    width: 100%;
}

@media (hover: hover) {
    .s3b10aaf1-logo-holder:hover img {
        transform: translateY(-2px);
    }

    .s3b10aaf1-btn:hover,
    #submit:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 30px rgba(0,0,0,.12);
    }

    .s3b10aaf1-box-item:hover img {
        transform: scale(1.03);
        filter: brightness(1.04);
    }

    .s3b10aaf1-access-map-wrap:hover iframe {
        box-shadow: 0 16px 45px rgba(0,0,0,.12);
    }
}

#contact-form input:focus,
#contact-form textarea:focus {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(0,0,0,.08);
    outline: none;
}

.js-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .68s cubic-bezier(.22,.61,.36,1), transform .68s cubic-bezier(.22,.61,.36,1);
    will-change: opacity, transform;
}

.js-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }

    .js-reveal {
        opacity: 1 !important;
        transform: none !important;
    }
}


.s3b10aaf1-case-section .s3b10aaf1-case-section-lead{
    text-align:left;
    padding-top:6px;
}
.s3b10aaf1-case-section .s3b10aaf1-case-section-lead h3,
.s3b10aaf1-case-page-head h3{
    font-size:28px;
    line-height:1.5;
    font-weight:700;
    color:#111;
    margin-bottom:12px;
}
.s3b10aaf1-case-section .s3b10aaf1-case-section-lead p,
.s3b10aaf1-case-page-head p{
    font-size:15px;
    line-height:2;
    color:#555;
    margin:0;
}
.s3b10aaf1-case-card-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-top:45px;
}
.s3b10aaf1-case-card{
    display:block;
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
    transition:all .35s ease;
    color:#222;
    text-align:left;
}
.s3b10aaf1-case-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 45px rgba(0,0,0,.13);
    color:#222;
}
.s3b10aaf1-case-card-img{
    width:100%;
    height:250px;
    overflow:hidden;
    background:#f2f2f2;
}
.s3b10aaf1-case-card-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .5s ease;
}
.s3b10aaf1-case-card:hover .s3b10aaf1-case-card-img img{
    transform:scale(1.06);
}
.s3b10aaf1-case-card-body{
    padding:24px 24px 28px;
}
.s3b10aaf1-case-card-body h4{
    font-size:20px;
    line-height:1.5;
    font-weight:700;
    margin:0 0 10px;
    color:#111;
}
.s3b10aaf1-case-card-body p{
    font-size:14px;
    line-height:1.9;
    color:#666;
    margin:0 0 18px;
}
.s3b10aaf1-case-card-body span{
    display:inline-block;
    font-size:13px;
    font-weight:700;
    color:#2f63d6;
    letter-spacing:.08em;
}
.s3b10aaf1-case-list-page{
    background:#f6f6f6;
    padding:90px 0;
}
.s3b10aaf1-case-page-head{
    text-align:center;
    max-width:760px;
    margin:0 auto 20px;
}
.s3b10aaf1-case-detail-page{
    background:#f6f6f6;
    padding:90px 0;
}
.s3b10aaf1-case-detail-head{
    max-width:850px;
    margin:0 auto 36px;
    text-align:center;
}
.s3b10aaf1-case-detail-head h1{
    font-size:34px;
    line-height:1.5;
    font-weight:700;
    color:#111;
    margin:0 0 15px;
}
.s3b10aaf1-case-detail-head p{
    font-size:15px;
    line-height:2;
    color:#555;
    margin:0;
}
.s3b10aaf1-case-detail-content{
    max-width:900px;
    margin:0 auto 40px;
    background:#fff;
    border-radius:14px;
    padding:28px 34px;
    font-size:15px;
    line-height:2;
    color:#333;
    text-align:left;
}
.s3b10aaf1-case-detail-content img{
    max-width:100% !important;
    height:auto !important;
}
.s3b10aaf1-case-gallery{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
    margin-top:30px;
}
.s3b10aaf1-case-gallery-item{
    display:block;
    height:260px;
    overflow:hidden;
    border-radius:14px;
    background:#fff;
    box-shadow:0 10px 26px rgba(0,0,0,.08);
}
.s3b10aaf1-case-gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .45s ease;
}
.s3b10aaf1-case-gallery-item:hover img{
    transform:scale(1.05);
}
.s3b10aaf1-case-back{
    text-align:center;
    margin-top:45px;
}
.s3b10aaf1-pagebar { padding:20px; overflow:hidden; clear:both}
.s3b10aaf1-pagebar .s3b10aaf1-pagination { display:flex; justify-content:center; margin-top:10px; flex-wrap:wrap; }
.s3b10aaf1-pagination a { background:#fff; border:1px solid #ccc; color:#333; font-size:12px; padding:8px 10px; margin:0 2px 6px; border-radius:3px; line-height:100%; }
.s3b10aaf1-pagination span { color:#333; font-size:12px; padding:7px 2px; margin:0 2px; border-radius:3px; }
.s3b10aaf1-pagination a:hover { color:#333; border:1px solid #333; }
.s3b10aaf1-pagination a.page-num-current { color:#fff; background:#333; border:1px solid #333; }
.s3b10aaf1-text-secondary{ text-align:center; padding:30px 0; }

@media screen and (max-width:992px){
    .s3b10aaf1-case-card-grid,
    .s3b10aaf1-case-gallery{
        grid-template-columns:repeat(2,1fr);
        gap:22px;
    }
}
@media screen and (max-width:640px){
    .s3b10aaf1-case-section,
    .s3b10aaf1-case-list-page,
    .s3b10aaf1-case-detail-page{
        padding:60px 0 !important;
    }
    .s3b10aaf1-case-card-grid,
    .s3b10aaf1-case-gallery{
        grid-template-columns:1fr;
    }
    .s3b10aaf1-case-card-img,
    .s3b10aaf1-case-gallery-item{
        height:230px;
    }
    .s3b10aaf1-case-detail-head h1{
        font-size:26px;
    }
    .s3b10aaf1-case-detail-content{
        padding:22px 20px;
    }
}



.s3b10aaf1-hero-company-title{
    float:left;
    width:100%;
    margin:0 0 14px;
    color:rgba(255,255,255,.88);
    font-size:16px;
    line-height:1.7;
    letter-spacing:.08em;
    text-align:left;
    font-weight:600;
    text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.s3b10aaf1-section-title h1{
    float:left;
    width:100%;
    font-size:46px;
    font-weight:700;
    line-height:46px;
    text-transform:uppercase;
    font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, "Meiryo", "Noto Sans JP", sans-serif !important;
    text-align:left;
    color:#fff;
}
@media screen and (max-width:768px){
    .s3b10aaf1-hero-company-title{font-size:13px; line-height:1.6; margin-bottom:10px;}
    .s3b10aaf1-section-title h1{font-size:34px; line-height:45px;}
}


.s3b10aaf1-content-footer .col-md-4 .s3b10aaf1-footer-box ul li:nth-child(2) > span,
.s3b10aaf1-content-footer .col-md-4 .s3b10aaf1-footer-box ul li:nth-child(3) > span {
    float: none;
    padding-right: 0;
}


.s3b10aaf1-content-footer .col-md-4 .s3b10aaf1-footer-box ul li,
.s3b10aaf1-content-footer .col-md-4 .s3b10aaf1-footer-box ul li > span,
.s3b10aaf1-content-footer .col-md-4 .s3b10aaf1-footer-box ul li > a {
    color: #000 !important;
}
