@charset "utf-8";

/*
theme Name: kogei-theme
Author: .Lab(株式会社KSB)
Description: 株式会社KOGEIのオリジナルWPテーマです。
version: 1.0.0
*/

/* reset CSS */
*,*::before,*::after{box-sizing:border-box; -webkit-box-sizing: border-box}ul[class],ol[class]{padding:0}body,h1,h2,h3,h4,p,ul[class],ol[class],figure,blockquote,dl,dd{margin:0}html{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}ul[class],ol[class]{list-style:none}a:not([class]){text-decoration-skip-ink:auto}img{max-width:100%;display:block}article>*+*{margin-top:1em}input,button,textarea,select{font:inherit}img:not([alt]){filter:blur(10px)}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}

/*
webフォントの設定
利用サービス: adobefont
源ノ角ゴシックJP: source-han-sans-japanese, sans-serif
    font-style: normal
    extra light - 100
    light: font-weight - 200
    normal: font-weight - 300
    medium: font-weight - 500
    bold: font-weight - 700
源ノ明朝: source-han-serif-japanese, serif
    font-style: normal
    regular: font-weight - 400
futura PT: futura-pt, sans-serif
    font-style: normal
    light: font-weight - 300
    book: font-weight - 400
    medium: font-weight - 500
*/


/* ここからindex.phpのCSS */
html {
    overflow: auto;
}

body {
    margin: 0 auto;
    font-size: 16px;
    color: #2E2E2E;
    overflow-x: hidden;
}

p,
h1,
h2,
h3,
h4,
p,
ul {
    font-family: source-han-sans-japanese, sans-serif;
    font-style: normal;
    font-weight: 200;
    word-break: break-all;
    text-align: justify;
}

a {
    text-decoration: none;
    word-break: break-all;
}

a:hover {
    text-decoration: none;
}

/* 共通で使用するcssの設定 */
/* 1. 余白 */
.kg-spacer-1 {
    height: 80px;
}

.kg-spacer-2 {
    height: 40px;
}

.kg-spacer-3 {
    height: 20px;
}

/* コンテンツ幅 */
.main-contents {
    max-width: 1360px;
    height: auto;
    margin: 0 auto;
    padding: 0 60px;
}

/* 各コンテンツのタイトル */
.content-title {
    font-family: futura-pt, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 75px;
    text-align: center;
    line-height: 0.9;
    letter-spacing: 7.5;
}

.sub-title {
    font-family: source-han-sans-japanese, sans-serif;
    font-style: normal;
    font-weight: 200;
    font-size: 18px;
    text-align: center;
    letter-spacing: 2.5;
}

/* 固定ページ専用eyecatchのcss */
.page-eyecatch {
    width: 100%;
    height: 220px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url('./assets/company_back.jpeg')
}

.title-wrapper {
    width: fit-content;
    width: -moz-fit-content;
    height: auto;
    margin: 0 auto;
}

.page-title {
    font-family: futura-pt, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 60px;
    text-align: center;
    line-height: 0.9;
    letter-spacing: 7.5;
}

.page-sub-title {
    font-family: source-han-sans-japanese, sans-serif;
    font-style: normal;
    font-weight: 200;
    font-size: 18px;
    text-align: center;
    letter-spacing: 2.5;
}

/* ここからhomeのcss */
.eyecatch {
    width: 100%;
    height: 600px;
    position: relative;
}

.eyecatch-1 {
    width: 100%;
    height: 100%;
    background-image: url("assets/eyecatch-slide1.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}

.eyecatch-2 {
    width: 100%;
    height: 100%;
    background-image: url("assets/eyecatch-slide2.jpeg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}

.eyecatch-3 {
    width: 100%;
    height: 100%;
    background-image: url("assets/eyecatch-slide3.jpeg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}

.eyecatch-filter {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    background-color: rgba(0, 0, 0, 0.1);
}

.eyecatch-copy {
    font-family: source-han-serif-japanese, serif;
    font-style: normal;
    font-weight: 300;
    font-size: 35px;
    text-align: left;
    line-height: 1.6;
    color: #FFFFFF;
    position: absolute;
    top: 50%;
    left: 60;
    z-index: 1;
    transform: translateY(-50%);
    text-shadow: 0 4px 3px rgba(0, 0, 0, 0.35);
}

.news-feed {
    max-width: 750px;
    height: auto;
    border-top: 1px solid #464646;
    margin: 0 auto;
}

.news-field {
    display: flex;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px dashed #464646;
}

.post-date {
    font-family: futura-pt, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    margin-right: 20px;
}

.news-chip {
    width: auto;
    height: auto;
    min-width: fit-content;
    min-width: -moz-fit-content;
    padding: 5px 25px;
    background-color: #6AD1FF;
    font-size: 14px;
    color: #FFFFFF;
    margin-right: 20px;
}

.news-field a {
    color: #2E2E2E;
    font-family: source-han-sans-japanese, sans-serif;
    font-style: normal;
    font-weight: 500;
}

.news-feed a:hover {
    color: #909090;
}

.link-btn-wrraper {
    width: fit-content;
    width: -moz-fit-content;
    max-width: 270px;
    height: fit-content;
    height: -moz-fit-content;
    display: block;
    margin: 0 auto;
    color: #2E2E2E;
    transition: all 250ms;
}

.link-btn-wrraper:hover {
    color: #FFFFFF;
}

.link-btn {
    width: auto;
    height: auto;
    position: relative;
    z-index: 2;
    margin: 0 auto;
    padding: 10px 70px;
    border: 1px solid #464646;
    background-color: #FFFFFF;
}

.link-btn p {
    text-align: center;
}

.link-btn::before,
.link-btn::after {
    width: 0;
    height: 100%;
    background-color: #464646;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    display: block;
    content: '';
    transition: all 500ms ease-in-out;
}

.link-btn:hover::after {
    width: 100%;
    color: #FFFFFF;
}

/* セービススライダーのcss */
.service {
    width: 100%;
    height: fit-content;
    height: -moz-fit-content;
    display: flex;
}

.service-nav {
    min-width: 40px;
    height: auto;
    display: flex;
    align-items: center;
}

.nav-wrapper {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
}

.service-nav-btn {
    width: 15px;
    height: 15px;
    display: block;
    margin-left: auto;
    border: solid 1px #2E2E2E;
    border-radius: 50%;
    margin-bottom: 30px;
}

.service-nav-btn.active {
    background-color: #2E2E2E;
}

.service-nav-btn:last-child {
    margin-bottom: 0;
}

.service-swiper {
    max-width: 1180px;
    min-width: 750px;
    height: auto;
    margin-right: 0;
    margin-left: -60px;
}

.service-slide {
    width: 100%;
    height: auto;
    padding: 40px 60px;
    background-color: #F2F2F2;
}

.service-overview {
    width: 100%;
    height: auto;
    display: flex;
}

.service-detail {
    width: 50%;
    height: auto;
}

.service-name {
    font-size: 28px;
}

.service-detail p {
    margin-right: 40px;
}

.service-picture {
    width: 50%;
    height: auto;
}

.service-picture img {
    width: 100%;
    height: auto;
}

/* ここから事例紹介のcss */
.kg-works {
    width: 100%;
    height: auto;
}

.works-caption {
    max-width: 750px;
    height: fit-content;
    height: -moz-fit-content;
    margin-left: auto;
    letter-spacing: 1.2;
}

.works-caption p {
    text-align: right;
}

.work-slide-area {
    width: auto;
    height: fit-content;
    height: -moz-fit-content;
    margin: 0 auto;
    margin-right: calc((100% - 100vw) / 2);
    margin-left: calc((100% - 100vw) / 2);
}

.slick-content {
    width: auto;
    margin: 0 15px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.contact-cap {
    max-width: 750px;
    margin: 0 auto;
    text-align: justify;
    letter-spacing: 1.2;
}

/* スマホ版 */
@media screen and (min-width: 100px) and (max-width: 750px) {
    /* 共通で使用するcssの設定 */
    .kg-spacer-1 {
        height: 40px;
    }

    .kg-spacer-2 {
        height: 20px;
    }

    .kg-spacer-3 {
        height: 10px;
    }

    .img-pc {
        display: none;
    }

    .img-sp {
        display: block;
        width: 100%;
        height: auto;
    }

    .eyecatch {
        height: 380px;
    }

    .eyecatch-copy {
        font-size: 23px;
        color: #FFFFFF;
        position: absolute;
        left: 15;
    }

    .main-contents {
        width: 100%;
        height: auto;
        margin: 0 auto;
        padding: 0 15px;
    }

    .content-title {
        font-size: 35px;
    }

    .sub-title {
        font-size: 10px;
    }

    .news-feed {
        width: 100%;
        height: auto;
    }

    .news-field {
        padding: 5px 0;
    }

    .post-date {
        font-size: 10px;
        margin-right: 5px;
    }

    .news-chip {
        min-width: fit-content;
        padding: 2px 10px;
        font-size: 9px;
        margin-right: 10px;
    }

    .news-field a {
        font-size: 10px;
    }

    .news-feed a:hover {
        color: #909090;
    }

    .link-btn {
        font-size: 12px;
        padding: 10px 40px;
    }

    /* セービススライダーのcss */
    .service {
        width: calc(100% + 30px);
        height: fit-content;
        margin-left: -15px;
        display: flex;
        flex-direction: column;
    }

    .service-nav {
        min-width: auto;
        max-width: auto;
        width: fit-content;
        height: 13px;
        margin:  20px auto 0 auto;
        display: flex;
        align-items: center;
        transform: rotate(-90deg);
    }

    .nav-wrapper {
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
    }

    .service-nav-btn {
        width: 13px;
        height: 13px;
        display: block;
        margin-left: auto;
        border: solid 1px #2E2E2E;
        border-radius: 50%;
        margin-bottom: 15px;
    }

    .service-swiper {
        max-width: auto;
        min-width: auto;
        margin-right: 0;
        margin-left: 0;
    }

    .service-slide {
        width: 100%;
        height: auto;
        padding: 20px 15px;
        background-color: #F2F2F2;
    }

    .service-overview {
        width: 100%;
        flex-direction: column-reverse;
    }

    .service-detail {
        width: 100%;
        height: auto;
    }

    .service-name {
        font-size: 18px;
    }

    .service-detail p {
        text-align: justify;
        margin-right: auto;
        margin-left: auto;
        font-size: 10px;
    }

    .service-picture {
        width: 100%;
        margin-bottom: 20px;
    }

    .service-picture img {
        width: 100%;
        height: auto;
    }

    /* ここから、事例紹介のcss */
    .works-caption {
        max-width: 95%;
        font-size: 10px;
        height: fit-content;
        text-align: right;
        margin-left: auto;
        letter-spacing: 1.2;
    }

    .slick-content {
        width: auto;
        margin: 0 10px;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .contact-cap {
        font-size: 10px;
    }

}

@supports (-ms-ime-align: auto) {
    .post-date {
        width: 100px;
    }
}
