@font-face {
    font-family: 'Noto Sans Local';
    src: url('/douga/fonts/NotoSansJP-VariableFont_wght.woff2') format('woff2'),
         url('/douga/fonts/NotoSansJP-VariableFont_wght.woff') format('woff');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

html {font-size:62.5%!important;box-sizing:border-box}
*,*:before,*:after{box-sizing:inherit}

body{
    font-family:'Noto Sans Local',sans-serif!important;
    font-size:2.3rem!important;
    line-height:1.5!important;
}

/* ここが決め手：本文だけ自然な左右余白＋左寄せすぎ防止 */
body,p,li,ul,ol,dd,dt,blockquote,div,.entry-content,.post-content{
    font-size:2.3rem!important;
    line-height:1.5!important;
    padding:0 0.8rem!important;     /* ← 左右8pxだけ自然な余白 */
    max-width:100%!important;
}

/* 動画 */
.item-movie{
    position:relative;width:100%;padding-top:56.25%;margin:2rem 0
}
.item-movie iframe{
    position:absolute;top:0;left:0;width:100%!important;height:100%!important;border:none
}

/* 以下は全部あなたのカスタム部分（一切削らず残してる） */
h2{font-size:3.2rem!important;font-weight:900;line-height:1.35;color:#1a1a1a;margin:2.5rem 0 1.8rem;position:relative;padding-left:28px;letter-spacing:.06em}
h2::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:60%;background:linear-gradient(180deg,#667eea,#764ba2);border-radius:3px}
h3{font-size:2.2rem!important;font-weight:700;line-height:1.5;color:#1a1a1a;position:relative;padding:10px 16px 10px 28px;margin:1.8rem 0 1rem;border:1px solid rgba(102,126,234,.2);border-radius:8px;background:rgba(248,249,255,.6);box-shadow:0 2px 8px rgba(102,126,234,.08);letter-spacing:.04em}
h3::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:70%;background:linear-gradient(180deg,#667eea,#764ba2);border-radius:2px}

.box27,.box28{position:relative;margin:2em 0;padding:.5em 1em}
.box27{display:block!important;width:98%;max-width:98%;margin-left:0!important;margin-right:auto!important;border:solid 3px #62c1ce;background:#F4FCFD}
.box28{display:inline-block;font-size:21px;border:solid 3px #FFC879;background:#FEEED7}
.box27 .box-title,.box28 .box-title{position:absolute;top:-27px;left:-3px;padding:0 9px;height:25px;line-height:25px;background:#C07811;color:#fff;font-weight:bold;border-radius:5px 5px 0 0;font-size:19px}

.btn-order{display:inline-block;padding:10px 20px;margin:20px auto;color:#fff!important;background:#FF6600;font-size:20px;font-weight:bold;text-decoration:none!important;border-radius:8px;box-shadow:0 4px 0 #9E640E;transition:all .3s;text-align:center}
.btn-order:hover{background:#E8952A;box-shadow:0 2px 0 #9E640E;transform:translateY(2px)}
.btn-inline{display:inline!important;padding:2px 8px!important;margin:0 4px!important;font-size:13px!important;font-weight:bold!important;color:#fff!important;background:#FF6600!important;border-radius:4px!important;box-shadow:0 2px 0 #9E640E!important;text-decoration:none!important;transition:all .2s!important;line-height:1.4!important}

#topTopBtn{position:fixed;right:20px;bottom:30px;z-index:9999;opacity:0;visibility:hidden;transition:opacity .4s ease,transform .4s ease;animation:float 2.5s ease-in-out infinite}
#topTopBtn.show{opacity:1;visibility:visible}
#topTopBtn:hover img{transform:scale(1.15)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

@media(max-width:768px){
    body,p,li,ul,ol,dd,dt,blockquote,div,.entry-content,.post-content{font-size:2.4rem!important}
    h2{font-size:2.6rem!important;padding-left:22px}
    h2::before{width:5px}
    h3{font-size:1.9rem!important;padding:8px 14px 8px 24px}
    h3::before{width:3px}
}
.hr2 {
    height: 1px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        #87CEEB 20%, 
        #00CED1 50%, 
        #87CEEB 80%, 
        transparent 100%);
    border-radius: 3px;
    margin: 2.5rem 0;
    border: none;
    background-size: 30px 6px;
    animation: flow 8s linear infinite;
}

@keyframes flow {
    0% { background-position: 0 0; }
    100% { background-position: 60px 0; }
}
/* 動画埋め込み 完全強制復活版（2025年11月対応） */
.item-movie,
.video-container,
div:has(> iframe[src*="youtube"]),
div:has(> iframe[src*="youtu.be"]) {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    padding-top: 56.25% !important;
    margin: 2.5rem auto !important;
    overflow: hidden !important;
    background: #000 !important;
    display: block !important;
}

.item-movie iframe,
.video-container iframe,
iframe[src*="youtube.com"],
iframe[src*="youtu.be"] {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    display: block !important;
}
.mini {
    color: #3D5066; 
    font-size: 1.4rem;       

    line-height: 0.6 !important; /* 値1.0を強制的に適用 */
}
.text-highlight {
    background-color: #CAF4F9; 
}