/**
 * WordPress Custom CSS Compatibility
 * Extracted from drone-saga.com "Additional CSS" (外観→カスタマイズ→追加CSS)
 * These styles were originally written for the Lightning theme and are needed
 * for existing fixed pages to display correctly.
 */

/* ============================================
   Page Header
   ============================================ */
:root {
    --vk-color-primary: #3184b5;
    --vk-color-primary-dark: #276a91;
    --vk-color-primary-vivid: #3691c7;
    --vk-color-text-body: #333;
    --vk-color-text-link: #195b8a;
    --vk-size-admin-bar: 0px;
    --vk-width-container: 1200px;
    --vk-width-container-padding: 15px;
    --vk-margin-xs: 0.75rem;
    --vk-margin-sm: 1.5rem;
    --vk-margin-md: 2.4rem;
    --vk-margin-lg: 4rem;
    --vk-margin-xl: 6rem;
}

.page-header {
    position: relative;
    color: #ffffff;
    background: var(--vk-page-header-url, url(https://drone-saga.com/wp-content/uploads/2025/06/10.png)) no-repeat 50% center;
    background-size: cover;
    min-height: 24rem;
}

.page-header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #000000;
    opacity: 0.6;
    width: 100%;
    height: 100%;
}

.page-header-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 24rem;
}

.page-header-title {
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
}

/* ============================================
   Site Body / Layout
   ============================================ */
.site-body {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}

.site-body-container {
    max-width: var(--vk-width-container);
    margin: 0 auto;
    padding: 0 var(--vk-width-container-padding);
}

.container {
    max-width: var(--vk-width-container);
    margin: 0 auto;
    padding: 0 var(--vk-width-container-padding);
}

.main-section {
    --vk-color-text-link: #195b8a;
}

/* ============================================
   Entry / Content Area
   ============================================ */
.entry-body {
    line-height: 1.8;
}

.entry-body img {
    max-width: 100%;
    height: auto;
}

/* ============================================
   Breadcrumb
   ============================================ */
.breadcrumb {
    padding: 0.75rem 0;
    font-size: 0.85rem;
}

.breadcrumb-list {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
    gap: 0.25rem;
}

.breadcrumb-list__item {
    display: flex;
    align-items: center;
}

.breadcrumb-list__item + .breadcrumb-list__item::before {
    content: ">";
    margin: 0 0.5em;
    color: #999;
}

.breadcrumb-list__item a {
    color: var(--vk-color-primary);
    text-decoration: none;
}

.breadcrumb-list__item a:hover {
    text-decoration: underline;
}

/* ============================================
   Heading Title Design (Pro Title Design)
   ============================================ */
h2, h2.main-section-title {
    color: var(--vk-color-text-body);
    position: relative;
    border: none;
    padding: unset;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

h3, h4, h5, h6 {
    color: var(--vk-color-text-body);
    position: relative;
    border: none;
    padding: unset;
    text-align: left;
}

/* ============================================
   Custom CSS from WordPress Customizer
   (site-specific overrides)
   ============================================ */

/* Header */
.logo {
    margin-bottom: 0 !important;
    padding-top: 12px;
    padding-bottom: 16px;
    font-size: 1.3rem;
    padding-left: 30px;
}

@media screen and (max-width: 430px) {
    .logo a {
        font-size: 1.2rem !important;
    }
}

/* Post list */
.postListText_singleTermLabel_inner,
.vk_post_imgOuter_singleTermLabel {
    background: #3184b5 !important;
}

.bg-white {
    display: inline-block;
    background: #ffffff;
    padding-right: 6px;
}

/* Two column layout */
.two-column {
    max-width: 800px;
    margin: 0 auto;
}

/* Align center rows */
.align-center .row {
    align-items: center;
}

/* Access page */
.access-right-column ul li::before {
    color: #3184b5 !important;
}

.about-table {
    border-color: #dddddd;
}

.about-table td:first-child {
    background: #f3f3f3;
}

/* Social buttons */
.instagram-button a {
    background: linear-gradient(45deg, #feda75, #fa7e1e, #d62976, #962fbf, #4f5bd5) !important;
    border: none !important;
}

.youtube-button a {
    border: none !important;
}

/* Tel button */
.tel-button a {
    border-color: #3184b5 !important;
}

/* Contact form */
.required {
    border-radius: 0.25em;
    color: #fff;
    display: inline;
    font-size: 75%;
    line-height: 1;
    padding: 0.2em 0.6em;
    text-align: center;
    vertical-align: baseline;
    white-space: nowrap;
    background-color: #d9534f;
    margin-right: 8px;
}

.optional {
    color: #fff;
    display: inline;
    font-size: 75%;
    line-height: 1;
    padding: 0.2em 0.6em;
    text-align: center;
    vertical-align: baseline;
    white-space: nowrap;
    background-color: #777777;
    margin-right: 8px;
}

.contact-button input {
    width: 320px;
    padding: 12px;
    font-size: 1.2rem;
}

.contact-button {
    text-align: center;
    margin-top: 18px;
}

.grecaptcha-badge {
    visibility: hidden;
}

.accept {
    margin-top: 24px;
    text-align: center;
}

.contact-form th {
    text-align: left;
    background: #f3f3f3;
}

.contact-form p {
    margin-bottom: 0 !important;
}

.contact-form input,
.contact-form textarea {
    margin-bottom: 0;
}

@media screen and (min-width: 700px) {
    .contact-form th {
        width: 300px !important;
    }
}

@media screen and (max-width: 699px) {
    .contact-form th {
        width: 30% !important;
    }
}

@media screen and (max-width: 768px) {
    .contact-form th,
    .contact-form td {
        display: block;
        width: 100% !important;
    }
    .contact-form td {
        margin-bottom: 1.5rem;
    }
}

.wpcf7-response-output {
    text-align: center;
}

.wpcf7-spinner {
    display: none;
}

:where(:not(.wp-block-table)) > table {
    border: none;
}

.contact-form tr {
    border: #ccc;
}

/* Sub heading responsive */
@media screen and (max-width: 992px) {
    .sub-midashi {
        font-size: 1.5rem !important;
    }
}

@media screen and (max-width: 431px) {
    .sub-midashi {
        font-size: 1.9rem !important;
    }
    .page-header-title {
        font-size: 1.6rem !important;
    }
}

/* Blog */
.vcard.author {
    display: none;
}

.entry-meta-data-list dt {
    background: var(--vk-color-primary);
}

/* Font switch - Noto Sans JP */
h1, h2, h3, h4, h5, h6, .page-header-title {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
}

body {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
}

/* Campaign text */
.vk-campaign-text {
    color: #fff;
    background-color: #eab010;
}

.vk-campaign-text_btn,
.vk-campaign-text_btn:link,
.vk-campaign-text_btn:visited,
.vk-campaign-text_btn:focus,
.vk-campaign-text_btn:active {
    background: #fff;
    color: #4c4c4c;
}

a.vk-campaign-text_btn:hover {
    background: #eab010;
    color: #fff;
}

/* Tag cloud */
.tagcloud a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f02b";
    font-weight: bold;
}
