/* アフィリエイトの部品（WordPress の Code Snippet 11 のインライン CSS をそのまま移した） */
.affiliate-disclosure{margin:0 0 1.5rem;padding:.55rem .75rem;border-left:3px solid #90a4ae;background:#f7f9fa;color:#546e7a;font-size:.8rem}
.affiliate-offers{margin:2.5rem 0 1rem;padding:1.25rem;border:1px solid #d8e4e6;border-radius:12px;background:#f8fbfc}
.affiliate-offers__title{margin:0 0 1rem!important;padding:0!important;border:0!important;background:none!important;font-size:1.15rem!important;font-weight:700;text-align:left}
.affiliate-offers__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.affiliate-cta-card{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;border:1px solid #d7e2e4;border-radius:10px;background:#fff}
.affiliate-cta-card__visual{display:block;width:100%;margin:0 auto .85rem;text-align:center;text-decoration:none!important}
.affiliate-cta-card__visual img{display:block;width:100%;height:auto;max-width:300px;margin:auto;border-radius:7px;object-fit:contain}
.affiliate-cta-card__label{display:inline-block;margin:0 0 .55rem;padding:.1rem .5rem;border-radius:999px;background:#eef3f4;color:#607d8b;font-size:.7rem;font-weight:700}
.affiliate-cta-card__description{flex:1;margin:0 0 .85rem;color:#37474f;font-size:.92rem;line-height:1.65}
.affiliate-cta-card__button{display:block;width:100%;box-sizing:border-box;padding:.75rem .8rem;border-radius:8px;background:#008c95;color:#fff!important;font-weight:700;text-align:center;text-decoration:none!important;box-shadow:0 2px 4px rgba(0,0,0,.14);transition:background-color .2s,transform .2s}
.affiliate-cta-card__button:hover,.affiliate-cta-card__button:focus{background:#006f76;transform:translateY(-1px)}
.affiliate-offers--article-top{margin:0 0 1.75rem;padding:1rem}
.affiliate-offers--article-top .affiliate-offers__title{font-size:1rem!important}
.affiliate-offers--article-top .affiliate-offers__grid{grid-template-columns:1fr}
.affiliate-cta-card--compact{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);column-gap:1rem;align-items:center}
.affiliate-cta-card--compact .affiliate-cta-card__visual{grid-column:1;grid-row:1/4;margin:0}
.affiliate-cta-card--compact .affiliate-cta-card__label,.affiliate-cta-card--compact .affiliate-cta-card__description,.affiliate-cta-card--compact .affiliate-cta-card__button{grid-column:2}
.affiliate-cta-card--compact .affiliate-cta-card__description{margin:0 0 .75rem}
.affiliate-cta-card--compact .affiliate-cta-card__button{width:100%;min-width:0}
.affiliate-offers--homepage{margin:0 0 1.25rem;padding:1.25rem}
.affiliate-offers--homepage .affiliate-offers__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.affiliate-offers--homepage .affiliate-cta-card{padding:.75rem}
.affiliate-offers--homepage .affiliate-cta-card__description{font-size:.86rem}
.affiliate-offers--index-middle,.affiliate-offers--article-middle{margin:2rem 0;padding:1.1rem}
.affiliate-offers--index-middle .affiliate-offers__grid,.affiliate-offers--article-middle .affiliate-offers__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.affiliate-offers--sidebar{margin:0;padding:1rem}
.affiliate-offers--sidebar .affiliate-offers__title{font-size:1rem!important}
.affiliate-offers--sidebar .affiliate-offers__grid{grid-template-columns:1fr}
.affiliate-offers--sidebar .affiliate-cta-card--compact{display:flex}
.affiliate-offers--sidebar .affiliate-cta-card__visual{margin-bottom:.7rem}
.affiliate-offers--sidebar .affiliate-cta-card__button{width:100%;min-width:0;font-size:.9rem}
.widget .affiliate-offers{box-sizing:border-box}
.rakuten-motion{margin:1rem 0;padding:1rem;border:1px solid #d8e4e6;border-radius:12px;background:#f8fbfc;text-align:center}
.rakuten-motion__title{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0 0 .75rem!important;padding:0!important;border:0!important;background:none!important;font-size:1rem!important;font-weight:700}
.rakuten-motion__title .affiliate-cta-card__label{margin:0}
.rakuten-motion__body{display:flex;justify-content:center;min-height:200px}
.rakuten-motion--sidebar{margin:0;box-sizing:border-box}
.rakuten-motion--article-middle{margin:2rem 0}
.book-picks{margin:1.5rem 0 2rem;padding:1.25rem;border:1px solid #d8e4e6;border-radius:12px;background:#f8fbfc}
.book-picks__title{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem!important;padding:0!important;border:0!important;background:none!important;font-size:1.1rem!important;font-weight:700}
.book-picks__title .affiliate-cta-card__label{margin:0}
.book-picks__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.book-pick{position:relative;display:flex;flex-direction:column;padding:1rem .85rem;border:1px solid #d7e2e4;border-radius:10px;background:#fff;text-align:center}
.book-pick__badge{position:absolute;top:.5rem;left:.5rem;padding:.15rem .55rem;border-radius:999px;background:#e65100;color:#fff;font-size:.72rem;font-weight:700;z-index:1}
.book-pick__cover{display:flex;align-items:center;justify-content:center;height:180px;margin:0 0 .75rem}
.book-pick__cover img{max-height:180px;width:auto;max-width:100%;box-shadow:0 3px 8px rgba(0,0,0,.18)}
.book-pick__title{flex:1;margin:0 0 .35rem!important;color:#263238;font-size:.86rem;font-weight:700;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.book-pick__author{margin:0 0 .75rem!important;color:#78909c;font-size:.75rem;line-height:1.4}
.book-pick__buttons{display:flex;flex-direction:column;gap:.4rem}
.book-pick__button{display:block;padding:.5rem .4rem;border-radius:6px;color:#fff!important;font-size:.82rem;font-weight:700;text-decoration:none!important}
.book-pick__button--amazon{background:#f08804}
.book-pick__button--rakuten{background:#bf0000}
.book-pick__button:hover,.book-pick__button:focus{opacity:.88}
.book-picks--homepage{margin:0 0 1.5rem}
.book-picks--sidebar{margin:0}
.book-picks--sidebar .book-picks__grid{grid-template-columns:1fr}
@media(max-width:600px){.book-picks{padding:1rem}.book-picks__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 .35rem}.book-pick{flex:0 0 62%;scroll-snap-align:start}}
.svc-banners{margin:1.5rem 0;padding:1.25rem;border:1px solid #d8e4e6;border-radius:12px;background:#f8fbfc}
.svc-banner{display:flex;align-items:center;gap:1rem;margin:0 0 .75rem;padding:1rem 1.1rem;border:1px solid #d7e2e4;border-left:6px solid var(--svc);border-radius:10px;background:#fff;color:#263238!important;text-decoration:none!important;transition:transform .15s,box-shadow .15s}
.svc-banner:hover,.svc-banner:focus{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}
.svc-banner__icon{flex:0 0 56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--svc);color:#fff}
.svc-banner__icon svg{width:30px;height:30px}
.svc-banner__body{flex:1;display:flex;flex-direction:column;min-width:0}
.svc-banner__kicker{color:var(--svc);font-size:.75rem;font-weight:700}
.svc-banner__name{font-size:1.1rem;font-weight:700;line-height:1.4}
.svc-banner__desc{color:#546e7a;font-size:.82rem;line-height:1.5}
.svc-banner__cta{flex:0 0 auto;padding:.65rem 1.1rem;border-radius:8px;background:var(--svc);color:#fff;font-weight:700;font-size:.9rem;white-space:nowrap}
@media(max-width:600px){.svc-banner{flex-wrap:wrap}.svc-banner__icon{flex-basis:44px;height:44px}.svc-banner__cta{flex:1 1 100%;text-align:center}}
.affiliate-offers__note{margin:.75rem 0 0!important;color:#78909c;font-size:.72rem;line-height:1.5}
.affiliate-offers--article-middle .affiliate-offers__grid{grid-template-columns:1fr}
@media(max-width:1023px){.affiliate-offers--homepage .affiliate-offers__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.affiliate-offers{padding:1rem}.affiliate-offers__grid{grid-template-columns:1fr}}
@media(max-width:600px){.affiliate-cta-card--compact{display:flex}.affiliate-cta-card--compact .affiliate-cta-card__button{width:100%;min-width:0}.affiliate-offers--homepage .affiliate-offers__grid,.affiliate-offers--index-middle .affiliate-offers__grid,.affiliate-offers--article-middle .affiliate-offers__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 .35rem}.affiliate-offers--homepage .affiliate-cta-card,.affiliate-offers--index-middle .affiliate-cta-card,.affiliate-offers--article-middle .affiliate-cta-card{flex:0 0 82%;scroll-snap-align:start}}
