@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.2.0
*/

:root {
    --cadmas-ink: #102a4a;
    --cadmas-link: #123f73;
    --cadmas-accent: #a3361f;
    --cadmas-tint: #eef4f9;
    --cadmas-line: #c9d6e3;
    --cadmas-grid: #e3ebf2;
}

body {
    color: var(--cadmas-ink);
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Noto Sans JP", system-ui, sans-serif;
}

#container { background: #fff; }
.cadmas-wrap { width: min(1200px, calc(100% - 64px)); margin-inline: auto; }
.cadmas-header { background: #fff; border-bottom: 1px solid var(--cadmas-line); }
.cadmas-header-inner,
.cadmas-footer-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 28px;
    padding-block: 14px;
}
.cadmas-brand { display: block; color: var(--cadmas-ink); line-height: 1.3; text-decoration: none; }
.cadmas-brand span { display: block; font-size: .8rem; font-weight: 700; }
.cadmas-brand strong { display: block; font-size: clamp(1.2rem, 2.8vw, 1.55rem); font-weight: 900; }
.cadmas-nav { display: flex; flex-wrap: wrap; gap: 0 22px; }
.cadmas-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: var(--cadmas-link);
    font-size: .94rem;
    font-weight: 700;
    text-decoration: none;
}
.cadmas-nav a:hover, .cadmas-nav a[aria-current] { color: var(--cadmas-accent); text-decoration: underline; }
.cadmas-header a:focus-visible, .cadmas-footer-inner a:focus-visible, .cadmas-hero a:focus-visible {
    outline: 3px solid #2f7bd1;
    outline-offset: 3px;
}

.cadmas-hero {
    border-bottom: 1px solid var(--cadmas-line);
    background-color: #f6f9fb;
    background-image: linear-gradient(var(--cadmas-grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--cadmas-grid) 1px, transparent 1px);
    background-size: 48px 48px;
    padding-block: clamp(36px, 6vw, 84px);
}
.cadmas-hero-inner { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: 24px; }
#cadmas-hero-title {
    margin: 0 0 16px;
    color: var(--cadmas-ink);
    font-size: clamp(2rem, 5vw, 4rem);
    font-weight: 900;
    line-height: 1.15;
    overflow-wrap: anywhere;
}
#cadmas-hero-title span { color: var(--cadmas-link); }
.cadmas-hero p { max-width: 32em; margin: 0 0 22px; font-size: 1.05rem; line-height: 1.8; }
.cadmas-hero-image { display: block; width: 100%; height: auto; }
.cadmas-guide-links { display: flex; flex-wrap: wrap; gap: 10px; }
.cadmas-guide-links a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    padding: 8px 14px;
    border: 1px solid var(--cadmas-link);
    border-radius: 4px;
    background: var(--cadmas-link);
    color: #fff;
    text-decoration: none;
    font-weight: 700;
}
.cadmas-guide-links a + a { background: #fff; color: var(--cadmas-link); }
.cadmas-guide-links a:hover { background: var(--cadmas-ink); color: #fff; }
.cadmas-home-guides { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.cadmas-home-guides section { padding: 20px; border: 1px solid var(--cadmas-line); border-top: 3px solid var(--cadmas-link); }
.cadmas-home-guides h2 { margin: 0 0 8px; font-size: 1.25rem; }
.cadmas-home-guides a { color: var(--cadmas-link); }
.cadmas-home-guides p { margin: 0; }

#main { min-width: 0; }
.home.blog #main { width: 100%; }
.home.blog #sidebar { display: none; }
#main .article { line-height: 1.9; }
#main .entry-title { color: var(--cadmas-ink); line-height: 1.35; }
#main .entry-content h2 {
    padding: .6em .75em;
    background: var(--cadmas-tint);
    border: 0;
    border-left: 4px solid var(--cadmas-link);
    color: var(--cadmas-ink);
}
#main .entry-content h3 { border: 0; border-bottom: 1px solid var(--cadmas-line); color: var(--cadmas-ink); }
#main .entry-content a { text-underline-offset: .2em; }
#main .toc {
    max-width: 100%;
    padding: 16px 20px;
    background: var(--cadmas-tint);
    border: 1px solid var(--cadmas-line);
    border-radius: 4px;
    overflow-wrap: anywhere;
}
#main .entry-content figure { max-width: 100%; }
#main .entry-content .wp-block-table { overflow-x: auto; }
#footer { background: var(--cadmas-tint); color: var(--cadmas-ink); border-top: 1px solid var(--cadmas-line); }
.cadmas-footer-inner { width: 100%; }
.cadmas-footer-inner > a { color: var(--cadmas-ink); font-weight: 900; text-decoration: none; }

@media (max-width: 700px) {
    .cadmas-wrap { width: calc(100% - 32px); }
    .cadmas-hero-inner, .cadmas-home-guides { grid-template-columns: 1fr; }
    .cadmas-hero-image { width: min(75%, 360px); justify-self: center; }
    .cadmas-nav { gap: 0 14px; }
}

/* 上部メニューのお問い合わせボタン（本体サイトと同じ朱色） */
.cadmas-header .cadmas-nav { align-items: center; }
.cadmas-header .cadmas-nav a[href*="dpt-lab.com/contact"] {
    min-height: 44px;
    padding: 0 20px;
    border-radius: 4px;
    background: #c4432a;
    color: #fff;
    letter-spacing: .04em;
    text-decoration: none;
    transition: background .2s;
}
.cadmas-header .cadmas-nav a[href*="dpt-lab.com/contact"]:hover { background: #a3361f; color: #fff; text-decoration: none; }
