/*
Theme Name: kikko-craft
Theme URI: 
Template: lightning
Description: 
Author: 株式会社 滝沢印刷
Tags: 
Version: 1.0.0
*/

/* お客様の声 メニューから非表示 */
#menu-item-529 {
    display: none !important;
}

.error404 .page-header {
    display: none !important;
}

body {
    color: var(--vk-color-primary);
	background-color: #edebd7;
    font-family: "Yu Gothic", "YuGothic", "游ゴシック", sans-serif;
    font-weight: normal;
}

h1, h2, h3, h4, h5, h6, .page-header-title {
    font-weight: 600 !important;
}

.bodoni-moda {
  font-family: "Bodoni Moda", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.site-header-logo img {
    aspect-ratio: 271 / 25;
    width: auto;
    height: auto;
}

#site-header-container {
    max-width: 100vw;
}

.site-body {
    padding-top: 0;
}

#top_slider {
    padding-top: 0;
    margin-top: -2px !important;
}

#top_slider .swiper {
    clip-path: url(#clippath);
    -webkit-clip-path: url(#clippath);
    overflow: hidden;
}

#lineup {
    clip-path: url(#clippath-flipped);
    -webkit-clip-path: url(#clippath-flipped);
}

#top_slider .main_catch {
    position: absolute;
    left: 0;
    bottom: 60px;
    z-index: 999;
}

#top_slider .main_catch figure,
#top_slider .main_catch img {
    width: 50vw !important;
    max-width: 707px;
}

.swiper-pagination {
    top: unset !important;
    left: unset !important;
    right: calc((100vw - 1140px) / 2 + 15px);
    bottom: 60px !important;
    text-align: right;
}

.swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background-color: #ffffff;
    outline: 1px solid #ffffff;
    border-radius: 5px;
}

.swiper-pagination-bullet-active {
    background-color: var(--vk-color-primary);
    outline: 1px solid var(--vk-color-primary);
}

.section_group {
    margin-top: 130px !important;
}

.sub_title_en {
    font-size: 25px;
    margin-bottom: 55px !important;
    line-height: 1;
}

.sub_title_en.second {
    font-size: 20px !important;
    margin-bottom: 10px !important;
}

.sub_title_en.third {
    margin-bottom: 30px !important;
}

h2.section_title {
    font-size: 40px;
    letter-spacing: 3px;
    line-height: 1.5;
}

#faq_group h2.section_title, #info h2.section_title {
    margin-bottom: 60px !important;
}

h3.feature_title {
    font-family: "Yu Gothic Medium", "YuGothic", "游ゴシック Medium", "游ゴシック", sans-serif;
    font-size: 30px !important;
    font-weight: bold;
    letter-spacing: 2px;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

.feature_title.price {
    font-size: 30px;
    margin-bottom: 0 !important;
}

#features h4, #lineup h4 {
    font-size: 20px !important;
    margin-top: 10px !important;
    margin-bottom: 15px !important;
}

#scene_group {
    background-image: url(https://www.kikko-craft.com/engine2/wp-content/uploads/2026/03/scene_bg_sp2_2.webp);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain;
}

h3 {
    font-size: 30px;
    line-height: 1.75;
    margin-bottom: 100px !important;
}

h4 {
    font-size: 35px;
    line-height: 1.75;
    margin-bottom: 75px !important;
}

.sub_number {
    font-size: 20px;
    margin-bottom: 10px !important;
}

.lineup_spec {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.74;
    margin-bottom: 20px !important;
}

.alert-info {
    display: none;
}

#features .wp-block-media-text {
    margin-bottom: 5px !important;
}

.pd_150 {
    padding-top: 200px !important;
    padding-bottom: 130px !important;
}

#lineup h5 {
    font-size: 20px;
    font-family: "Yu Gothic Medium", "YuGothic", "游ゴシック Medium", "游ゴシック", sans-serif;
    font-weight: 600;
    line-height: 1.74;
    margin-bottom: 0 !important;
}

#lineup figure img {
    margin-bottom: 40px !important;
    border-radius: 5px !important;
}

.vk_button-color-custom a:hover {
    box-shadow: none !important;
}

.vk_button .vk_button_link {
    min-width: 175px;
}

.mb_120 {
    margin-bottom: 120px !important;
}

.mb_80 {
    margin-bottom: 80px !important;
}

.mb_60 {
    margin-bottom: 60px !important;
}

h3.feature_title.mb_80 {
    margin-bottom: 40px !important;
}

#middle_bg .wp-block-cover {
    margin-right: 0;
    margin-left: 0;
}

.middle_bg_txt {
    font-size: 30px;
    /* font-family: "yu mincho", "Yu Mincho", "游明朝", serif; */
    letter-spacing: 10px;
    line-height: 2;
    font-family: "hiragino-mincho-pron", sans-serif;
    font-weight: 600;
    font-style: normal;
}

.middle_bg_txt p {
    display: inline-block;
}

.middle_bg_txt .char {
    display: inline-block;
    animation: floatWave 8s ease-in-out infinite;
}

#voices .swiper-slide {
    background-color: #fff;
    border-radius: 5px;
}

#voices .swiper {
    padding-left: 15px;
    padding-right: 15px;
}

#voices .swiper-wrapper {
    gap: 15px;
}

#voices .card-body {
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
}

#voices h5, #voices .vk_post .vk_post_excerpt {
    font-family: "游ゴシック Medium","Yu Gothic Medium","游ゴシック体",YuGothic,"ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN,sans-serif;
    font-size: 14px;
    color: var(--vk-color-primary);
}

#voices .vk_post .vk_post_excerpt {
    margin-bottom: 30px !important;
}

#voices .vk_post .vk_post_title a {
    color: var(--vk-color-primary);
    pointer-events: none;
}

#voices .vk_post .vk_post_title {
    line-height: 1.7;
}

#voices .vk_slider .swiper-button-next,
#voices .vk_slider .swiper-button-prev, 
#voices .vk_post_list_slider .swiper-button-next, 
#voices .vk_post_list_slider .swiper-button-prev {
    width: 35px;
    height: 35px;
    color: #fff;
    border-radius: 17.5px;
    background-color: transparent;
    border: 1px solid #fff;
}

#voices .vk_slider .swiper-button-next::after,
#voices .vk_slider .swiper-button-prev::after, 
#voices .vk_post_list_slider .swiper-button-next::after, 
#voices .vk_post_list_slider .swiper-button-prev::after {
    font-size: 15px;
}

#voices .swiper_nav {
    position: relative;
    z-index: 99;
    bottom: -24px !important;
    margin-left: 27%;
}

#craftman-ship {
    position: relative;
    color: #fff !important;
    background-image: url(https://www.kikko-craft.com/engine2/wp-content/uploads/2026/02/craftman-ship_bg2-scaled.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right top;
}

#craftman-ship::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: auto;
    height: 100%;
    background-image: url(https://www.kikko-craft.com/engine2/wp-content/uploads/2026/02/craftman-ship_bg_txt.webp);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right center;
    aspect-ratio: 158 / 1210;
}

.craftman-ship_left_col figure img {
    border-top-right-radius: 5px !important;
    border-bottom-right-radius: 5px !important;
}

.left_0 {
    margin-left: calc(50% - 50vw) !important;
    margin-right: auto !important;
    max-width: 82vw !important;
}

#craftman-ship figure.sp_only img {
    margin-bottom: 40px !important;
}

.vk_accordion {
    margin-bottom: 15px !important;
}

.vk_accordion-trigger {
    background-color: var(--vk-color-primary) !important;
    color: #fff !important;
    font-size: 24px;
    padding-right: calc( 1rem * 3 );
}

.vk_accordion-trigger p {
    margin-bottom: 0 !important;
    position: relative;
    padding-left: 60px;
}

.vk_accordion-trigger p::before {
    content: "";
    background-image: url(https://www.kikko-craft.com/engine2/wp-content/uploads/2026/02/faq_q.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 17px;
    height: 20px;
    position: absolute;
    top: 10px;
    left: 20px;
}

.vk_accordion-trigger .vk_accordion-toggle-close::after,
.vk_accordion-trigger .vk_accordion-toggle-open::after {
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    width: 11px;
    height: 11px;
}

.vk_accordion-target {
    background-color: #fff;
    border-radius: 0 0 5px 5px;
}

.vk_accordion-trigger:has(.vk_accordion-toggle-close) {
    border-radius: 5px;
}

.vk_accordion-trigger:has(.vk_accordion-toggle-open) {
    border-radius: 5px 5px 0 0;
}

#info {
    padding: 50px;
    border-radius: 5px;
}

.phone_number {
    /* font-family: "yu-mincho", "Yu Mincho", "游明朝", serif; */
    font-size: 40px;
    line-height: 1;
    margin-bottom: 40px !important;
    font-family: "hiragino-mincho-pron", sans-serif;
    font-weight: 600;
    font-style: normal;
}

.phone_number a {
    text-decoration: none;
    color: var(--vk-color-primary);
}

.site-footer {
    border-top: none;
    background-image: url(https://www.kikko-craft.com/engine2/wp-content/uploads/2026/02/footer_bg-scaled.png);
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
    font-size: 18px;
    position: relative;
}

.site-footer::before {
    content: "";
    background-image: url(https://www.kikko-craft.com/engine2/wp-content/uploads/2026/02/footer_bg_txt.webp);
    background-repeat: no-repeat;
    background-size: contain;
    aspect-ratio: 875 / 287;
    width: 60vw;
    height: auto;
    position: absolute;
    left: 0;
    bottom: 0;
}

.site-footer-copyright p {
    font-size: 18px !important;
    text-align: right;
}

.clip_path_svg {
    position: absolute;
    max-height: 0px !important;  
}

.page_top_btn {
    width: 80px;
    height: 80px;
    background-color: rgba(90,55,0,1);
    background-size: 40%;
    box-shadow: none;
    border-radius: 40px;
    z-index: 999;
}

.section_illust_group h4 {
    margin-bottom: 20px !important;
}

.swiper_nav_craftmanship_pc {
    margin-top: 60px !important;
}

.craftmanship_sp_slider figure img {
    border-radius: 5px !important;
}

@keyframes floatWave {
    0%, 100% {
        transform: translateY(0);
    }
    25% {
        transform: translateY(-50px);
    }
    75% {
        transform: translateY(50px);
    }
}

@media (min-width: 1200px) {
    .section_illust_group h4 {
        margin-bottom: 60px !important;
    }
}

@media (min-width: 992px) {
    .illust_sec_pc_pl60 {
        padding-left: 0 !important;
    }
    #section_illust2 .illust_sec_pc_pl60 {
        padding-left: 60px !important;
    }
}

@media (max-width: 1199.98px) {
    .swiper-pagination {
        right: calc((100vw - 960px) / 2 + 15px);
    }
    #scene_group {
        background-size: 60%;
    }
        #lineup .wp-block-media-text.is-stacked-on-mobile  {
        grid-template-columns: 100% !important;
    }
    #lineup .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__media {
        grid-column: 1;
        grid-row: 1;
    }
    #lineup .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__content {
        grid-column: 1;
        grid-row: 2;
    }
    #lineup .wp-block-media-text__content {
        padding-top: 30px !important;
        padding-left: 0 !important;
    }
    #lineup .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__media img {
        margin-bottom: 0 !important;
    }
}

@media (min-width: 992px) {
    .site-header-logo img {
        width: 100%;
    }
}

@media (max-width: 992px) {
    .site-header-logo img {
        aspect-ratio: 194 / 17;
        max-height: 17px;
    }
    .site-header-logo--mobile-position--left img {
        margin-left: 0;
    }
    .site-header-logo {
        padding-top: 22px;
    }
    .swiper-pagination {
        right: calc((100vw - 720px) / 2 + 15px);
    }
    .section_group {
        margin-top: 95px !important;
    }
    #middle_bg .wp-block-cover {
        margin-right: -5px;
        margin-left: -5px;
    }
    #craftman-ship h3.feature_title {
        font-size: 20px !important;
    }
    #craftman-ship .wp-block-columns {
        gap: 15px !important;
    }
}

@media (min-width: 782px) {
    h2.section_title {
        margin-left: 60px !important;
    }
    #faq_group h2.section_title, #info h2.section_title {
        margin-left: 0 !important;
    }
    .scene_bg_sp, .section_illust_sp {
        display: none;
    }
    .mb_200 {
        margin-bottom: 200px !important;
    }
    #section_illust1 {
        background-image: url(https://www.kikko-craft.com/engine2/wp-content/uploads/2026/03/section_illust1_bg2-scaled.webp);
        background-repeat: no-repeat;
        background-size: calc(100% - 26px) 100%;
        background-position: center;
        padding: 80px 15px;
        aspect-ratio: 1420 / 750;
    }
    #section_illust2 {
        background-image: url(https://www.kikko-craft.com/engine2/wp-content/uploads/2026/03/section_illust2_bg2-scaled.webp);
        background-repeat: no-repeat;
        background-size: calc(100% - 26px) 100%;
        background-position: center;
        padding: 80px 15px;
        aspect-ratio: 1420 / 750;
        margin-top: 4px !important;
    }
    #section_illust3 {
        background-image: url(https://www.kikko-craft.com/engine2/wp-content/uploads/2026/03/section_illust3_bg2-scaled.webp);
        background-repeat: no-repeat;
        background-size: calc(100% - 26px) 100%;
        background-position: center;
        padding: 80px 15px;
        aspect-ratio: 1420 / 750;
        margin-top: 4px !important;
    }
    .mb_100 {
        margin-bottom: 100px !important;
    }
    .section_illust_group .wp-block-columns {
        height: 100%;
    }
    #scroll_event .swiper {
        height: auto !important;
    }
    #scroll_event .swiper-slide {
        height: auto !important;
        display: unset !important;
    }
    .mw_782_pt70 {
        padding-top: 70px !important;
    }
    .voice_swiper_wrapper {
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        min-width: 95%;
    }
    #voices .vk_post_list_slider .vk_post {
        width: calc(100% - 50px);
    }
    .craftman-ship_left_col {
        margin-right: auto !important;
        margin-left: calc(50% - 50vw) !important;
        position: relative;
        aspect-ratio: 820 / 900;
        width: 100%;
        height: auto;
    }
    .craftman-ship_left_col figure {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        /* opacity: 0; */
        transition: opacity 0.8s ease-in-out;
        margin: 0 !important;
    }
    .craftman-ship_left_col figure.active {
        opacity: 1;
    }
    .sp_only {
        display: none !important;
    }
    .site-footer {
        aspect-ratio: 1440 / 600;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    .site-footer-copyright {
        margin-top: auto;
    }
    .vk-mobile-nav {
        width: 30vw;
    }
    .vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-right-in {
        left: calc(100vw - 30vw);
    }
    #craftman-ship .swiper {
        height: 100%;
        max-width: 100%;
        margin-left: 0;
    }
    #craftman-ship .swiper-wrapper {
        gap: 0 !important;
    }
    #craftman-ship .vk_slider_item {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    #slider-part {
        margin-top: 100px !important;
    }
}

@media (max-width: 1360px) and (min-width: 782px) {
    .voice_swiper_wrapper {
        min-width: 86%;
    }
}

@media (max-width: 991.98px) and (min-width: 782px) {
    #features h2.section_title, #lineup h2.section_title {
        margin-left: 0 !important;
    }
    #section_illust1 .illust_sec_pc_pl60,
    #section_illust3 .illust_sec_pc_pl60 {
        padding-right: 15px !important;
    }
    #section_illust2 .illust_sec_pc_pl60 {
        padding-left: 15px !important;
    }
}

@media (max-width: 781.98px) {
    #top_slider .swiper {
        clip-path: url(#clippath-mobile);
        -webkit-clip-path: url(#clippath-mobile);
    }
    
    #lineup {
        clip-path: url(#clippath-flipped-mobile);
        -webkit-clip-path: url(#clippath-flipped-mobile);
    }
    body {
        font-size: 14px;
    }
    h2.section_title {
        font-size: 25px;
        letter-spacing: 2px;
        line-height: 1.4;
    }
    .sub_title_en {
        font-size: 18px;
        margin-bottom: 30px !important;
    }
    .sub_title_en:not(.second) {
        text-align: center;
    }
    .scene_bg_sp {
        display: block;
        width: 87vw !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        margin-bottom: 40px !important;
    }
    .section_illust_sp {
        display: block;
        margin-bottom: 40px !important;
    }
    .sp_center {
        text-align: center !important;
    }
    .sp_right {
        text-align: right !important;
    }
    #scene_group {
        background-image: none;
    }
    .sub_number {
        font-size: 18px;
        margin-bottom: 10px !important;
    }
    h3 {
        font-size: 20px;
        margin-bottom: 40px !important;
    }
    h4 {
        font-size: 26px;
        margin-bottom: 35px !important;
    }
    .section_illust_group {
        background-color: rgba(96, 53, 0, 0.2);
        border-radius: 5px;
        padding: 30px 15px;
        margin-left: unset !important;
        margin-right: unset !important;
    }
    #section_sp_h3 {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }
    #section_sp_h3 h3 {
        margin-bottom: 20px !important;
    }
    .section_illust_group.second {
        padding-bottom: 0 !important;
    }
    #scene_group .wp-block-columns {
        gap: 0 !important;
    }
    #slider-part .swiper-wrapper {
        display: block !important;
    }
    #slider-part .swiper-slide {
        margin-left: auto !important;
        margin-right: auto !important;
    }
    #slider-part .swiper-slide .wp-block-columns {
        gap: 0 !important;
    }
    .section_illust_group {
        margin-top: 65px !important;
    }
    .pd_150 {
        padding-top: 100px !important;
        padding-bottom: 100px !important;
    }
    .lineup_spec {
        font-size: 16px;
    }
    .mb_120 {
        margin-bottom: 80px !important;
    }
    .mb_80 {
        margin-bottom: 40px !important;
    }
    h3.feature_title.mb_80 {
        margin-bottom: 40px !important;
    }
    .voice_swiper_wrapper {
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }
    .craftman-ship_left_col {
        display: none;
    }
    .sp_only {
        display: block !important;
    }
    #craftman-ship::before {
        max-height: 610px;
    }
    #lineup .wp-block-column.mw_782_pt70 .wp-block-group.mb_120:last-child {
        margin-bottom: 0 !important;
    }
    #middle_bg {
        padding-top: 30px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        padding-bottom: 30px !important;
    }
    .vk_accordion-trigger {
        font-size: 16px;
    }
    .vk_accordion-trigger p::before {
        top: 6px;
        left: 0;
        width: 13px;
        height: 16px;
    }
    .vk_accordion-trigger p {
        padding-left: 25px;
    }
    .vk_accordion-trigger .vk_accordion-toggle-close::after,
    .vk_accordion-trigger .vk_accordion-toggle-open::after {
        right: 3rem;
    }
    #info {
        padding: 40px 15px;
    }
    .phone_number {
        /* font-family: "yu-mincho", "Yu Mincho", "游明朝", serif; */
        font-size: 25px;
        margin-bottom: 30px !important;
        font-family: "hiragino-mincho-pron", sans-serif;
        font-weight: 600;
        font-style: normal;
    }
    .mb_60 {
        margin-bottom: 40px !important;
    }
    #info h2.section_title.mb_60 {
        margin-bottom: 40px !important;
    }
    .site-footer {
        font-size: 18px;
    }
    .site-footer {
        aspect-ratio: 390 / 420;
        height: 100%;
        display: block;
    }
    .site-footer-copyright {
        margin-top: 0;
    }
    .site-footer::before {
        width: 100vw;
    }
    .swiper-slide p {
        font-size: 14px;
    }
    .swiper-slide p:not(.sub_number) {
        font-size: 16px;
    }
    .site-footer, .site-footer-copyright p {
        font-size: 14px !important;
    }
    #features {
        margin-bottom: 30px !important;
    }
    #lineup .mb_120 {
        margin-bottom: 80px !important;
        position: relative;
    }
    #lineup .mb_120:not(.second)::after {
        content: "";
        position: absolute;
        bottom: -40px;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: #b3b3b3;
    }
    .main_catch {
        margin-left: 5px !important;
        margin-right: 5px !important;
        width: calc(100vw - 10px);
    }
    .feature_title.price {
        font-size: 25px;
    }
}

@media (max-width: 767.98px) {
    .swiper-pagination {
        right: calc((100vw - 540px) / 2 + 15px);
    }
    .section_group {
        margin-top: 75px !important;
    }
}

@media (min-width: 601px) {
    .wp-block-media-text__content {
        padding-top: 0 !important;
        padding-right: 0 !important;
        padding-bottom: 30px !important;
    }
    #features .wp-block-media-text {
        min-height: 400px !important;
    }
    .phone_number a {
        pointer-events: none;
    }
}

@media (max-width: 600.98px) {
    .middle_bg_txt {
        font-size: 18px;
        justify-content: center !important;
        gap: 0;
    }
    .middle_bg_txt p:nth-child(3) {
        margin-left: 18px;
    }
    @keyframes floatWave {
        0%, 100% {
            transform: translateY(0);
        }
        25% {
            transform: translateY(-25px);
        }
        75% {
            transform: translateY(25px);
        }
    }
    
    .sub_title_en.second {
        text-align: center;
        margin-top: 35px !important;
    }
    h3.feature_title, #features h4, #lineup h4 {
        text-align: center !important;
    }
    #lineup h3.feature_title {
        margin-bottom: 0 !important;
    }
    .wp-block-media-text__content {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .sub_title_en.second {
        font-size: 18px !important;
    }
    h3.feature_title {
        margin-bottom: 0 !important;
    }
    #features h4, #lineup h4 {
        font-size: 18px !important;
        margin-top: 0 !important;
    }
    #features .wp-block-media-text {
        margin-bottom: 35px !important;
    }
    #features .wp-block-media-text figure {
        min-height: calc(100vw - 30px) !important;
    }
    #middle_bg .wp-block-cover {
        min-height: 350px !important;
    }
}

@media (min-width: 576px) {
    #top_slider .swiper .vk_slider_item {
        aspect-ratio: 1440 / 950;
        width: 100%;
        height: auto;
    }
    .wp-block-cover__inner-container {
        margin-bottom: 30px !important;
    }
}

@media (max-width: 575.98px) {
    #top_slider .swiper .vk_slider_item {
        aspect-ratio: 399 / 844;
        max-height: 844px;
    }
    #top_slider .main_catch {
        position: absolute;
        left: 50%;
        bottom: 50%;
        transform: translate(-50%, 50%);
    }
    #top_slider .main_catch figure,
    #top_slider .main_catch img {
        width: calc(100vw - 30px) !important;
    }
    .swiper-pagination {
        right: 15px;
    }
    .section_group {
        margin-top: 65px !important;
    }
    #lineup.section_group {
        margin-top: 0 !important;
    }
}

@media (min-width: 1000px) and (max-height: 800px) {
    #top_slider .swiper {
        max-height: 100vh;
    }
    .section_illust_group .mb_100 {
        margin-bottom: 20px !important;
    }
    .section_illust_group h3 {
        font-size: 20px;
    }
    .section_illust_group h4 {
        font-size: 25px;
        margin-bottom: 20px !important;
    }
    .craftman-ship_left_col {
        height: 100vh;
        aspect-ratio: unset;
        overflow: hidden;
    }
    .craftman-ship_left_col figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
}

@media (max-width: 991.98px) and (min-width: 782px) {
    .section_illust_group .mb_100 {
        margin-bottom: 20px !important;
    }
    .section_illust_group h3 {
        font-size: 20px;
    }
    .section_illust_group h4 {
        font-size: 25px;
        margin-bottom: 20px !important;
    }
}

/* #voices内のswiperのデフォルトボタンを非表示 */
#voices .vk_post_list_slider .swiper-button-prev,
#voices .vk_post_list_slider .swiper-button-next {
    display: none !important;
}


/* お問い合わせフォーム */
.wpcf7 {
    margin: 0 0 0 !important;
    border: none;
    background: none;
}

.wpcf7 form {
margin: 0;}

.post_content .wpcf7 table {
margin: 0 0 34px 0;}

.wpcf7 td,
.wpcf7 th {
padding: 15px 0 15px;}

.wpcf7 td,
.wpcf7 th.table_head,
.wpcf7 label {
vertical-align: middle;}

.wpcf7 th.table_head.second {
    vertical-align: top;
}

.wpcf7 th.table_head.second .item-text {
    padding-top: 20px;
}

.page-id-69 #container .post_content .pb_simple_table th.table_head {
width: 30%;}

.wpcf7 .item-text {
    font-size: 18px;
    line-height: 1;
    padding: 0;
    display: table-cell;
}

.wpcf7 .pb_simple_table th.table_head {
    position: relative;
}

.wpcf7 input[type=text].short {
    width: unset !important;
}

.wpcf7 .pb_simple_table,
.wpcf7 .pb_simple_table th,
.wpcf7 .pb_simple_table td {
border: none;}

.wpcf7 .pb_simple_table th,
.wpcf7 .pb_simple_table td {
    padding: 25px 0 0 !important;
}

.wpcf7 .pb_simple_table tr:last-child {
    border-bottom: none;
}

.wpcf7 .form-txt_required {
    color: #c91900;
    font-size: 18px;
    line-height: 1;
    display: inline-block;
}

.wpcf7 .form-txt_required.nini {
    background: #666666;
}

.wpcf7 .form-txt_free {
color: #fff;
background: #696864;
font-size: 11px;
line-height: 20px;
height: 20px;
padding: 0 5px;
display: inline-block;
border-radius: 0px;
position: absolute;
top: -2px;
left: 0px;}

input[type=date], input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url], select, textarea {
    border-radius: 6px !important;
}

/* 送信ボタン */
.page .wpcf7 .wpcf7-submit {
cursor: pointer;
outline: none;
display: block;
color: #fff;
font-size: 18px;
height: 50px;
line-height: 50px;
min-width: 175px;
margin: 42px auto 0 auto;
letter-spacing: 1px;
background: var(--vk-color-primary);
border: 1px solid var(--vk-color-primary);
text-decoration: none;
border-radius: 25px !important;
transition: all .3s;
padding: 0;
}

.page .wpcf7 .wpcf7-submit:hover {
opacity: 0.7;
transition: all .3s;
}

@media only screen and (max-width: 991px) {
.page .wpcf7 .wpcf7-submit {
height: 45px;
line-height: 45px;
min-width: 200px;}
}

.wpcf7 input,
.wpcf7 textarea,
.wpcf7 select {
border: 2px solid var(--vk-color-primary); }

.wpcf7 p {
    margin-bottom: 35px;
    max-width: 1000px;
    margin: 0 auto; }

.wpcf7 .form-p_1 {
margin-bottom: 15px; }

.wpcf7 .form-p_2 {
margin-bottom: 10px;
font-size: 14px; }

.wpcf7 .form-p_3 {
margin-bottom: 35px;
font-size: 14px; }

.wpcf7 .font_m {
font-size: 14px;}

.wpcf7 .font_s {
font-size: 14px;}

.wpcf7 .font_margin_s {
margin-bottom: 15px;}

.wpcf7 .form-p_approval .wpcf7-list-item {
display: inline-block; }

.wpcf7 .form-p_approval span.wpcf7-list-item {
margin: 0 2px 0 -4px;}

.wpcf7 .form-txt_red {
color: #c91900;
font-weight: bold; }

.wpcf7 span.wpcf7-not-valid-tip,
.wpcf7 .wpcf7-response-output.wpcf7-validation-errors {
color: #c91900; }

div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing{
border: none; }

.wpcf7 form.sent div.wpcf7-response-output {
border: none; }

.wpcf7 form.invalid div.wpcf7-response-output {
border: none; }

.wpcf7 form .wpcf7-response-output {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center;
}

.wpcf7 .file-attach-1 .wpcf7-file {
margin-bottom: 10px;}

.wpcf7 .file-attach-2 .wpcf7-file {
margin-bottom: 10px;}

@media screen and (max-width:750px) {
    .contact_group {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
    }
    .contact_lead {
    margin-bottom: 50px !important;
    }
    body .wpcf7 {
    max-width: unset !important;
    margin-left: 0 !important;
    margin-right: 0x !important;
    }
    .wpcf7 .item-text {
        font-size: 16px;
        padding: 0 0 0 0;
        line-height: 1.5;
    }
    .wpcf7 .form-txt_required {
        font-size: 16px;
    }
    .page .wpcf7 .wpcf7-submit {
        font-size: 18px;
    }
}

@media screen and (max-width:576px) {
    .wpcf7 {
        padding-bottom: 0;
    }
}

.wpcf7 .form-txt_required {
display: inline-block;
/* position: relative; */
}

.wpcf7 .form-txt_free {
display: inline-block;
position: relative;
margin-bottom: 5px;}

.wpcf7 td.table_content {
vertical-align: middle; }

.wpcf7 .pb_simple_table th {
    text-align: left;
    width: 30%;
}


@media screen and (min-width: 766px) and (max-width: 992px) {
.wpcf7 .item-text {
    font-size: 14px;
}
.wpcf7 .form-txt_required {
    font-size: 12px;
}
.wpcf7 .wpcf7-submit {
    min-width: 200px;
}
}

@media all and (max-width: 767px) {
.wpcf7 .pb_simple_table th, .wpcf7 .pb_simple_table td {
    display: block;
    width: 100%;
    border-bottom: none;
}
.wpcf7 td, .wpcf7 th {
    padding: 0 0 10px 0;
}
.wpcf7 .form-txt_required {
    top: 32px;
    right: 0;
    display: inline;
    width: 40px;
    text-align: center;
    margin-bottom: 0px;
}
.wpcf7 td.table_content {
    margin-bottom: 20px;
}
.wpcf7 .item-text {
    padding: 6px 0 0 0;
}
.wpcf7 .pb_simple_table th, .wpcf7 .pb_simple_table td {
    padding: 5px 0 0px !important;
}
}

.wpcf7 select {
    font-family: "Yu Gothic", "YuGothic", "游ゴシック", sans-serif;
    font-weight: bold;
    color: var(--vk-color-primary);
    background-image: url(https://www.kikko-craft.com/engine2/wp-content/uploads/2026/02/select_box.png);
    background-position: right 20px center;
    background-repeat: no-repeat;
    background-size: 12px 10px;
}

.wpcf7 select option {
    font-family: "Yu Gothic", "YuGothic", "游ゴシック", sans-serif;
    font-weight: bold;
    color: var(--vk-color-primary);
    font-size: 1rem;
}

.form-p_approval {
    margin-top: 30px !important;
}

/* ハンバーガーメニューをPCでも表示 */

.global-nav-list {
    display: none;
}

.vk-mobile-nav {
    padding-top: 30px;
    padding-left: 20px;
}

.vk-mobile-nav-menu-btn {
    background: url(https://www.kikko-craft.com/engine2/wp-content/uploads/2026/02/mobile_nav_close.svg) center 50% no-repeat;
    z-index: 9999999999999;
    border: none;
    border-radius: 0;
    width: 40px !important;
    height: 30px !important;
    top: 20px !important;
    right: 20px !important;
    transition: background-image 0.3s ease;
}

.vk-mobile-nav-menu-btn.menu-open {
    border: none;
    background: url(https://www.kikko-craft.com/engine2/wp-content/uploads/2026/02/mobile_nav_open.svg) center 50% no-repeat;
}

/* 濃色アイコン（明るい背景用） - メニューを開いていないときのみ適用 */
.vk-mobile-nav-menu-btn.menu_black:not(.menu-open) {
    background-image: url(https://www.kikko-craft.com/engine2/wp-content/uploads/2026/02/mobile_nav_open_black.svg);
}

.vk-mobile-nav {
    color: #fff;
    background-color: var(--vk-color-primary);
    overflow-x: hidden;
    overflow-y: auto;
}

.vk-mobile-nav .widget_nav_menu ul li a, .vk-mobile-nav nav ul li a {
    color: #fff;
    border-bottom: none;
}

.vk-mobile-nav nav ul li {
    position: relative;
    padding-top: 30px;
}

.vk-mobile-nav nav ul li a {
    padding-left: 5px;
    /* font-family: "Yu Mincho", "YuMincho", "游明朝", serif; */
    font-size: 20px;
    overflow: visible;
    font-family: "hiragino-mincho-pron", sans-serif;
    font-weight: 600;
    font-style: normal;
}

.vk-mobile-nav nav ul li a::before {
    content: attr(title);
    position: absolute;
    top: -15px;
    left: 5px;
    font-family: "Bodoni Moda", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    color: #fff;
}

.vk-mobile-nav nav>ul {
    border-top: none;
}

@media (min-width: 992px) {
    body.device-mobile .vk-mobile-nav-menu-btn,
    body.device-pc .vk-mobile-nav-menu-btn,
    body.device-pc .vk-mobile-nav {
        display: block;
    }
    .vk-mobile-nav-menu-btn {
        top: 50px;
    }
    .vk-mobile-nav-menu-btn.position-right {
        right: 50px;
    }
    .admin-bar .vk-mobile-nav-menu-btn {
        top: calc(32px + 50px);
    }
    .vk-mobile-nav-menu-btn {
        width: 60px;
        height: 60px;
    }
}

@media (max-width: 991.98px) {
    .vk-mobile-nav-menu-btn {
        width: 31px !important;
        height: 23px !important;
    }
}

@media (max-width: 781.98px) {
    .vk-mobile-nav {
        width: calc(100% - 80px);
    }
}

/* ハンバーガーメニュー用オーバーレイ */
.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 1000;
    pointer-events: none;
}

.menu-overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* #section_sp_h3のスタイル */
#section_sp_h3 {
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    opacity: 1;
    background-color: transparent;
}

#section_sp_h3 h3 {
    font-size: 40px;
}

@media (max-width: 781.98px) {
    #section_sp_h3 {
        display: block !important;
        padding: 0;
    }
    #section_sp_h3 h3 {
        font-size: 25px;
    }
    #section_illust1.section_illust_group {
        margin-top: 30px !important;
    }
    .section_illust_group h4 {
        margin-bottom: 40px !important;
    }
    #section_illust1.section_illust_group,
    #section_illust2.section_illust_group,
    #section_illust3.section_illust_group {
        margin-bottom: 30px !important;
    }
    #section_illust1.section_illust_group .first_cols,
    #section_illust2.section_illust_group .first_cols,
    #section_illust3.section_illust_group .first_cols {
        gap: 0 15px !important;
    }
    #section_illust3.section_illust_group {
        padding-bottom: 0 !important;
    }
}

@media (min-width: 576px) and (max-width: 781.98px) {
    #section_illust1.section_illust_group,
    #section_illust2.section_illust_group,
    #section_illust3.section_illust_group {
        margin-left: 15px !important;
        margin-right: 15px !important;
    }
}

/* 画面幅782px未満では各セクションのh3を非表示 */
@media (max-width: 781px) {
    #section_illust1 .section_illust_left h3,
    #section_illust2 .section_illust_left h3,
    #section_illust3 .section_illust_left h3 {
        display: none;
    }
}

#scroll_event .section_group {
    margin-top: 0 !important;
}


@media (min-width: 1000px) and (max-height: 2500px) {
    #top_slider .swiper {
        max-height: 100vh;
    }
}

/* reCAPTCHA */

/* body:not(.page-id-4292) .grecaptcha-badge {
    display: none !important;
} */

.grecaptcha-badge {
    bottom: 170px !important;
}

@media (max-width: 576px) {
    .grecaptcha-badge {
        bottom: 40px !important;
    }
}