/*! Luxeritas Child Theme CSS. Original author: LunaNuko; GPL-2.0-or-later. */
body {
font-family: Verdana,Arial,"メイリオ",Meiryo,"ヒラギノ角ゴPro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",sans-serif;
}
.bold {font-weight: bold;}
.f_FFF {color: #FFFFFF;}
.f_CCC {color: #CCCCCC;}
.f_F00,.red {color: #FF0000;}
.f_F30 {color: #FF3300;}
.f_F60 {color: #FF6600;}
.f_333 {color: #333333;}
.f_600 {color: #660000;}
.f_630 {color: #663300;}
.f_666 {color: #666666;}
.f_F00b,.redb {font-weight: bold;color: #FF0000;}
.f_F60b {font-weight: bold;color: #FF6600;}
.f_600b {font-weight: bold;color: #660000;}
.f_F30b {font-weight: bold;color: #FF3300;}
.f_10 {font-size: 10px;}
.f_12 {font-size: 12px;}
.f_14 {font-size: 14px;}
.f_16 {font-size: 16px;}
.f_18 {font-size: 18px;}
.f_80 {font-size: 80%}
.f_84 {font-size: 84%}
.f_86 {font-size: 86%}
.f_88 {font-size: 88%}
.f_90 {font-size: 90%}
.f_92 {font-size: 92%}
.f_94 {font-size: 94%}
.f_96 {font-size: 96%}
.f_100 {font-size: 100%}
.f_110 {font-size: 110%}
.f_120 {font-size: 120%}
.f_130 {font-size: 120%}
.f_140 {font-size: 140%}
.tp0 {margin-top: 0px;}
.tp3 {margin-top: 3px;}
.tp5 {margin-top: 5px;}
.tp10 {margin-top: 10px;}
.tp15 {margin-top: 15px;}
.tp20 {margin-top: 20px;}
.tp25 {margin-top: 25px;}
.tp30 {margin-top: 30px;}
.tp35 {margin-top: 35px;}
.tp40 {margin-top: 40px;}
.bp0 {margin-bottom: 0px;}
.bp3 {margin-bottom: 3px;}
.bp5 {margin-bottom: 5px;}
.bp10 {margin-bottom: 10px;}
.bp15 {margin-bottom: 15px;}
.bp20 {margin-bottom: 20px;}
.bp25 {margin-bottom: 25px;}
.bp30 {margin-bottom: 30px;}
.bp35 {margin-bottom: 35px;}
.bp40 {margin-bottom: 40px;}
.lp0 {margin-left: 0px;}
.lp5 {margin-left: 5px;}
.lp10 {margin-left: 10px;}
.lp15 {margin-left: 15px;}
.lp20 {margin-left: 20px;}
.lp25 {margin-left: 25px;}
.lp30 {margin-left: 30px;}
.lp35 {margin-left: 35px;}
.lp40 {margin-left: 40px;}
.lp50 {margin-left: 50px;}
.rp0 {margin-right: 0px;}
.rp5 {margin-right: 5px;}
.rp10 {margin-right: 10px;}
.rp15 {margin-right: 15px;}
.rp20 {margin-right: 20px;}
.rp30 {margin-right: 30px;}
.rp80 {margin-right: 80px;}
.rp100 {margin-right: 100px;}

em {font-style: normal;}
.kome {font-size: 90%;color: #454545;}
.by {font-size: 80%;color: #630;margin-left: 15px;}
.img_s {
background: url("/img/shadow.gif") no-repeat right bottom;
padding: 5px 10px 10px 5px;
}
.link ,.link_waku ,.link_link_waku {font-size: 100%;}
.link {background-color: #fffaf0;margin-bottom:30px;}
.link_waku {margin-bottom: 0px;background-color: none;margin-bottom: 5px;}
.link:before ,.link_waku:before {
content:"参考";font-size: 70%;color: #666;padding: 4px 8px;margin-right: 10px;
background-color: #e2ffe5;border: 1px solid #666;border-radius:5px;
}
.fby ,.kyotyo1 {font-weight: bold;color:#222;background-image: linear-gradient(transparent 60%, #ffcee2 60%);}
.fbb ,.kyotyo2 {color:#222;background-image: linear-gradient(transparent 60%, #d6def3 50%);}
.fbc {color:#222;background-image: linear-gradient(transparent 60%, #d6def3 50%);}
.link_b ,.link_s {
font-size: 96%;
color: #fff;
margin-top: 30px;
padding: 2px;
background-color: #e4f1f0;
border-radius:3px;
position: relative;
}
.link_b ul ,.link_s ul {
color: #111;
margin-left: 0;
padding-left: 25px;
list-style-type:disc;
list-style-position: inside;
}
.link_s li {font-size: 88%;color: #555;margin-bottom:10px;}
.link_s li a {font-size: 106%;}
.link_b span ,.link_s span {
font-size: 88%;
position: absolute;
top: -13px;
left: 5px;
padding: 2px 10px 1px 10px;
border-radius:8px;
}
.link_b span {border: 2px solid #e5ffe4;background-color: #337d33;}
.link_s span {border: 2px solid #e5ffe4;background-color: #337d33;}
.kasen_gray {border-bottom: 2px dotted #666;}
.kasen_r ,.u_r {border-bottom: 2px dotted #F00;}
.kasen_p ,.u_p {border-bottom: 2px dotted #ee128c;}
.kasen_g ,.u_g {border-bottom: 2px dotted #008431;}
.point {
color: #000;
padding: 20px 20px 0px 20px;margin-bottom: 30px;
border: 1px dotted #25b716;
background-color: #fffde2;
}
.point p ,.board p {margin-bottom: 20px;padding-bottom: 0;}
.campaign_box {margin-top: 30px;}
.board {
font-size: 92%;
padding: 20px 30px 10px 20px;margin-bottom: 30px;
background-color: #f1f1f1;
background-image: none;
background-position: 99% 8px;
background-repeat: no-repeat;
-webkit-box-shadow: 0 9px 4px -6px #ccc;
-moz-box-shadow: 0 9px 4px -6px #ccc;
box-shadow: 0 9px 4px -6px #ccc;
border: 1px dotted #aaa;border-radius: 3px;
}
.board ul {margin-left: 15px;padding-left: 0;}
.point_kabu ,.point_none ,.po_kabu ,.po_none {
width: 100%;border: 6px solid #afd15b;border-radius: 5px;background-color: #fffded;
margin-top: 30px;margin-bottom:30px;padding: 20px 20px 5px 20px;box-sizing:border-box;
}
.point_kabu ,.po_kabu {
padding-bottom: 20px;background: none;
background-position: 99% 100%;
background-repeat: no-repeat;
background-color: #fffded;
}
.point_sanko ,.po_sanko {
color: #111;
padding: 55px 10px 10px 10px;margin-bottom:30px;margin-top: 30px;
background: none ,linear-gradient(to right,#f2ece0,#ebdfba);
background-position: 100% 0%;
background-repeat: no-repeat;
border: 1px solid #ebdfba;border-radius: 5px;
}
.point_sanko .sub_title ,.point_sanko ul ,.po_sanko .sub_title ,.po_sanko ul  {font-size: 100%;}
.point_none ul ,.point_kabu ul ,.point_sanko ul ,.po_none ul ,.po_kabu ul ,.po_sanko ul {
font-size: 110%;margin-left: 0;padding-left: 25px;
}
.point_none li ,.point_kabu li ,.point_sanko li ,.po_none li ,.po_kabu li ,.po_sanko li {margin-bottom: 15px;}
.sponcer_box {margin-bottom: 30px;}
.post blockquote {
background-color: #e8e8e8;
background-image: none;
background-repeat: no-repeat;
background-position: 2% 5%;
padding-top: 30px;
padding-right: 20px;
padding-bottom: 10px;
padding-left: 35px;
margin-top: 20px;
margin-right: 10px;
margin-bottom: 20px;
margin-left: 10px;
border: 1px dotted #ddd;
}
.kizi h2 ,.post h2 {color: #29164e;border-left:none;}
.kizi h2 ,.post h2 {
font-weight: bold;
position: relative;
padding: 0.5em 0.5em 0.5em 0.5em;
margin: 40px 0 35px 0;
line-height: 1.4;
color: #098c45;
border-top: dashed 2px #098c45;
border-bottom: dashed 2px #098c45;
background: #f3ffec;
}



.logo-up {
    margin: 0px auto 0 auto;
}

#toc_container p.toc_title+ul.toc_list>li {
 margin-bottom: 0.1em;
 padding-bottom: 0.4em;
}
#toc_container p.toc_title+ul.toc_list {
    margin-top: 1em;
    margin-right: 0.4em;
    margin-bottom: 0;
}
#toc_container li {
 padding-left: 0.35em !important;
 line-height: 1.2em;list-style-type: decimal;
}
#toc_container li li {margin-bottom: 10px;list-style-type:disc;}
#toc_container ul ul {
 margin-bottom: 10px;margin-top: 10px;
}
.toc_number {
 margin-left: -0.5em;
 margin-right: 0.5em;
 font-family: 'Dynalight', cursive;
}
#toc_container p.toc_title {
    text-align: center;
    font-size: 98%;
    font-weight: 700;
    margin: 0;
    padding: 0;
    letter-spacing: 0.05em;
}
#toc_container ul>li>ul>li {
    font-size: 94% !important;
}
#toc_container {
    background: #fce4d6 !important;
    padding: 10px;
    margin-bottom: 1em;
    width: auto;
    display: table;
    box-shadow: 0 0 0 10px #fce4d6 !important;
    border: dashed 2px #98605e !important;
    border-radius: 9px;
    margin-top: 30px;
}
#toc_container a {
    text-decoration: none;
    text-shadow: none;
    color: #98605e !important;
}

#core h2 ,#core h3,#core h4 {
font-size: 124%;font-weight: bold;color: #fff;
margin: 40px 0 30px 0;padding: 23px 25px 20px 25px;
border-radius: 5px;
text-shadow: -1px -1px 2px rgba(0,0,0,0.4);
position: relative;
z-index: 0;
border: none;
}
.post h3 ,.post h4 {border-left: none;}
#core h2:after ,#core h3:after ,#core h4:after {
content: "";
position: absolute;
left: 10px;
right: 10px;
top: 10px;
bottom: 10px;
border: 2px dashed #fff;
padding: 3px;
margin: -5px;
border-radius: 5px;
z-index: -1;
}
#core h2:before ,#core h3:before ,#core h4:before {
content: "";
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
background: #feb9c1;
background-color: rgba(91,186,154,1);
border-radius: 5px;
box-shadow: inset -1px -1px 2px rgba(0,0,0,0.6), inset 1px 1px 2px rgba(255,255,255,1);
z-index: -1;
}
@media (max-width: 575px) {
#sitename {
    font-size: 2.2rem;
}
.rp80 ,.rp100 {margin-right: 0px;}
.board {
padding: 5px 10px 5px 10px;
background: none ,linear-gradient(to right,#f0f5d0,#e3eba2);
background-position: 98% 12%;
background-repeat: no-repeat;
}
.link_waku {margin-bottom: 30px;}
.link,.link2 ,.link_waku {height: auto;}
.point_kabu ,.point_none {border: 5px solid #afd15b;padding:20px 15px 5px 15px;}
.point_kabu {background: none;background-color: #fffded;}
.point_sanko {padding: 15px 10px 10px 10px;background: none;background-color: #fffded;}
}



/* === 2026 renewal design: feminine fresh Hokkaido media === */
:root {
  --hk-bg: #f7fbfa;
  --hk-bg-accent: #eef7f5;
  --hk-surface: #ffffff;
  --hk-surface-soft: #fbfefd;
  --hk-text: #3f4d55;
  --hk-heading: #28434d;
  --hk-muted: #6e8087;
  --hk-line: #dfebe7;
  --hk-mint: #7eb8ab;
  --hk-mint-dark: #4f8377;
  --hk-blue: #dcecf5;
  --hk-pink: #f7dfe8;
  --hk-shadow: 0 14px 40px rgba(107, 137, 144, 0.12);
  --hk-radius: 24px;
}
html { scroll-behavior: smooth; }
body {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  color: var(--hk-text);
  background: linear-gradient(180deg, #f7fbfa 0%, #ffffff 240px) fixed;
  line-height: 1.85;
}
a { color: var(--hk-mint-dark); }
a:hover { color: #345d55; }
#header, .container, #footer { background: transparent; }
#head-in, .container, #footer { max-width: 1180px; margin-left: auto; margin-right: auto; }
#head-in { padding: 26px 18px 10px; }
.head-cover {
  background: var(--hk-surface);
  border: 1px solid rgba(223, 235, 231, 0.85);
  border-radius: 30px;
  overflow: hidden;
  box-shadow: var(--hk-shadow);
}
.head-cover .info {
  position: relative;
  min-height: 320px;
  padding: 52px 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.92) 34%, rgba(255,255,255,.64) 58%, rgba(255,255,255,.12) 100%),
    url('/assets/img/hokkaido-hero-banner.png') center center / cover no-repeat;
}
#sitename { margin: 0; line-height: 1.15; }
#sitename a {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  text-decoration: none;
  max-width: 560px;
}
.site-title-main {
  display: block;
  color: var(--hk-heading);
  font-size: clamp(2rem, 5vw, 3.8rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-shadow: 0 2px 0 rgba(255,255,255,0.55);
}
.site-title-sub {
  display: inline-flex;
  align-items: center;
  gap: .5em;
  color: #73988f;
  font-size: .9rem;
  font-weight: 600;
  letter-spacing: .25em;
}
.site-title-sub::before {
  content: "";
  display: inline-block;
  width: 36px;
  height: 1px;
  background: #9bc2ba;
}
.desc {
  max-width: 560px;
  margin: 18px 0 0;
  font-size: 1.05rem;
  color: #587078;
  line-height: 1.95;
}
nav { margin-top: 18px; }
#nav {
  background: var(--hk-surface);
  border: 1px solid rgba(223, 235, 231, 0.85);
  border-radius: 22px;
  box-shadow: var(--hk-shadow);
  padding: 10px 16px 12px;
}
#gnavi .menu {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
#gnavi .menu > li { float: none; }
#gnavi .menu > li > a {
  background: linear-gradient(180deg, #fbfffe 0%, #f2faf7 100%);
  border: 1px solid #daebe7;
  border-radius: 999px;
  color: #51716a;
  padding: 11px 18px;
  transition: all .2s ease;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}
#gnavi .menu > li > a:hover,
#gnavi .menu > li.current-menu-item > a,
#gnavi .menu > li.current-post-ancestor > a,
#gnavi .menu > li.current-menu-parent > a,
#gnavi .menu > li.current-post-parent > a {
  background: linear-gradient(135deg, #e7f6f1 0%, #eef7ff 100%);
  border-color: #bcded5;
  color: #355e57;
  transform: translateY(-1px);
}
.mobile-nav {
  margin-top: 12px;
  border-top: 1px solid #edf4f1;
  padding-top: 12px;
}
.mobile-nav li i { color: #6f958c; }
.mobile-nav li p { color: #50656b; }
.container { padding: 22px 18px 42px; }
#breadcrumb {
  background: rgba(255,255,255,.75);
  border: 1px solid #e6efec;
  border-radius: 999px;
  box-shadow: 0 8px 24px rgba(107, 137, 144, .08);
  padding: 13px 20px;
  margin-bottom: 26px;
}
#breadcrumb, #breadcrumb a { color: #687b81; }
#primary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 28px;
  align-items: start;
}
#main, #section, #list, #tile-2 { width: 100%; }
#section > .tile-2,
#section > #tile-2,
#section > .toc,
#section > .archive, 
#list, #tile-2 { overflow: visible; }
.toc.grid.clearfix section,
#list > .toc section,
#tile-2 > .toc section,
.archive-list > section,
.page .post,
.single #core,
#sidebar .widget,
#side .widget {
  background: var(--hk-surface);
  border: 1px solid rgba(223, 235, 231, .85);
  border-radius: var(--hk-radius);
  box-shadow: var(--hk-shadow);
}
.toc.grid.clearfix section,
#list > .toc section,
#tile-2 > .toc section,
.archive-list > section {
  padding: 22px;
}
#section .toc, #list .toc, #tile-2 .toc { margin-bottom: 24px; }
.term img,
.thumbnail,
.post img,
.wp-caption img {
  border-radius: 18px;
  box-shadow: 0 12px 22px rgba(80, 100, 110, 0.12);
}
.entry-title,
.entry-title a,
.post h1.entry-title {
  color: var(--hk-heading);
  line-height: 1.5;
}
#list .entry-title, #tile-2 .entry-title { font-size: 1.35rem; margin-bottom: 12px; }
.meta { color: var(--hk-muted); font-size: .93rem; }
.meta i { color: #86a7a1; }
.excerpt, .exsp { color: #53646b; }
.read-more-link {
  display: inline-flex;
  align-items: center;
  gap: .4em;
  margin-top: 12px;
  padding: 10px 16px;
  border-radius: 999px;
  background: linear-gradient(135deg, #eff8f4 0%, #f7fbff 100%);
  border: 1px solid #dcebe6;
  text-decoration: none;
}
.read-more-link:hover { background: linear-gradient(135deg, #e6f6f1 0%, #edf5fb 100%); }
#core {
  background: var(--hk-surface);
  border: 1px solid rgba(223, 235, 231, .85);
  border-radius: 30px;
  box-shadow: var(--hk-shadow);
  padding: 36px 40px;
}
.post h1.entry-title {
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  margin-bottom: 18px;
}
.post h2, .kizi h2 {
  color: #355e57;
  border: none;
  margin: 42px 0 26px;
  padding: 16px 20px;
  font-size: 1.45rem;
  border-radius: 18px;
  background: linear-gradient(135deg, #eef8f4 0%, #f4faff 100%);
  box-shadow: inset 0 0 0 1px #dcebe6;
}
.post h3, .post h4, #core h3, #core h4 {
  color: var(--hk-heading);
  background: transparent;
  border: none;
  text-shadow: none;
  box-shadow: none;
  padding: 0;
  margin: 34px 0 18px;
  font-size: 1.2rem;
}
.post h3::before, .post h4::before, .post h3::after, .post h4::after,
#core h3::before, #core h4::before, #core h3::after, #core h4::after {
  content: none !important;
}
.post h3 {
  padding-left: 14px;
  border-left: 4px solid #9bc8bc;
}
.post blockquote {
  background: #f7fbfa;
  border: 1px solid #e4efeb;
  border-radius: 18px;
  padding: 24px 24px 12px 28px;
}
.wp-caption { max-width: 100%; }
.wp-caption .wp-caption-text {
  margin-top: 10px;
  color: #72848a;
  font-size: .92rem;
}
.link {
  background: #f7fbfa;
  border: 1px solid #e1ece8;
  border-radius: 16px;
  padding: 14px 16px;
}
.link:before, .link_waku:before {
  background: #e8f4ef;
  border-color: #9dc4b9;
  color: #4a6c63;
}
#sidebar .widget, #side .widget {
  padding: 22px;
  margin-bottom: 22px;
}
#sidebar ul, #side ul { margin-left: 0; padding-left: 0; }
#sidebar li, #side li { list-style: none; margin-bottom: 10px; }
.side-title, .widget-title {
  position: relative;
  color: var(--hk-heading);
  font-size: 1.1rem;
  margin-bottom: 16px;
  padding-left: 16px;
}
.side-title::before, .widget-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #9bc8bc;
}
#footer { padding: 0 18px 34px; }
#footer footer {
  background: var(--hk-surface);
  border: 1px solid rgba(223,235,231,.85);
  border-radius: 24px;
  box-shadow: var(--hk-shadow);
  padding: 26px 28px;
}
#copyright .copy { color: #73858c; }
#wp-footer #page-top {
  right: 20px;
  bottom: 20px;
  background: linear-gradient(135deg, #eaf7f2 0%, #eef6fb 100%);
  color: #3f6b62;
  border-radius: 999px;
  border: 1px solid #d8eae4;
  box-shadow: 0 10px 24px rgba(91, 116, 122, .14);
}
#wp-footer #page-top i { color: #3f6b62; }
#sidebar .widget_text script,
#side .widget_text script { max-width: 100%; }

@media (max-width: 959px) {
  #primary { grid-template-columns: 1fr; }
  #sidebar { width: 100%; }
  .head-cover .info { min-height: 280px; padding: 36px 28px; background-position: 72% center; }
  #nav { padding: 10px 12px 12px; }
  #core { padding: 28px 20px; }
}
@media (max-width: 575px) {
  #head-in { padding: 14px 12px 10px; }
  .head-cover { border-radius: 22px; }
  .head-cover .info {
    min-height: 240px;
    padding: 28px 20px 24px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.93) 0%, rgba(255,255,255,.83) 50%, rgba(255,255,255,.72) 100%),
      url('/assets/img/hokkaido-hero-banner.png') 68% center / cover no-repeat;
  }
  .site-title-main { font-size: 2rem; letter-spacing: .05em; }
  .site-title-sub { font-size: .78rem; letter-spacing: .18em; }
  .desc { font-size: .95rem; line-height: 1.7; }
  #nav { border-radius: 18px; }
  #breadcrumb { border-radius: 18px; padding: 11px 14px; }
  .toc.grid.clearfix section, #list > .toc section, #tile-2 > .toc section { padding: 16px; }
  #core { border-radius: 24px; }
  .post h1.entry-title { font-size: 1.7rem; }
  #wp-footer #page-top { padding: 10px 14px; }
}

