/* ========== ベース ========== */
.nippo-skin{
  background-image: radial-gradient(circle, #023e2b, #002106);
  padding-bottom: 100px;
}

.nippo-layout{
  max-width:1200px; margin:0 auto; padding:0 16px 60px;
  display:grid; grid-template-columns: 1fr 320px; gap:24px;
}

@media (max-width: 980px){
  .nippo-layout{ grid-template-columns: 1fr; } 
}


/* ========== タイトル画像 ========== */
img.nippo-fv__img{
  display: block;
  margin: 0 auto 120px;
  position: relative;
  top: 90px;
}

/* ========== 日報シート ========== */
.nippo-sheet{
  background:#FFFEC9; 
  box-shadow:0 8px 24px rgba(0,0,0,.08); padding:20px;
}
.nippo-meta-row{
  display:grid; grid-template-columns: repeat(2, 1fr); gap:10px; margin-bottom:12px;
}
.nippo-field{
  border:1px solid #402E2E; padding:6px 8px;
  display:flex; align-items:center; gap:8px; min-height:38px;
}
.nippo-title{
  border:1px solid #402E2E; 
  border-bottom: none;
  padding:12px; margin:4px 0 0; font-size:1.4rem;
}
.nippo-content{
  border:1px solid #402E2E; padding:20px; min-height:220px;
}
.nippo-content img{ 
  max-width:100%; height:auto; border-radius:4px; 
}
.nippo-comment, .nippo-subttl{
  border:1px solid #402E2E; 
  border-top: none;
  padding:12px;
}
.nippo-comment__box{
  display:flex;
  align-items:center;
  justify-content: center;
  gap:12px;
}
.nippo-comment__text{
  text-align: left;
  color: #FF5050;
  font-family: serif;
  font-size: 18px;
  font-weight: 600;
}
.nippo-sheet__foot{ 
  margin-top:12px; display:flex; flex-wrap:wrap; gap:10px; 
}
.nippo-date{
  text-align: center;
  font-size: large;
  font-weight: 600;
  margin-bottom: 15px;
}
.nippo-title,.nippo-subttl{
  text-align: center;
  font-weight: 700;
}
.nippo-tags .nippo-tagpill{
  background-color: #fff;
  padding: 3px;
  margin-right: 10px;
  display: inline;
  line-height: 2;
}
.nippo-tags .nippo-tagpill:hover{
  opacity: 0.7;
}
.spbr{
  display:none;
}

@media (max-width: 720px){ 
  .nippo-meta-row{ grid-template-columns: 1fr 1fr; } 
  .nippo-sheet{font-size: 14px;}
  .nippo-comment__text{font-size: 14px;}
  .spbr{ display:block;}
}

/* ========== 応募ボタン ========== */

@media (max-width: 720px){ 
  .nippo-apply-cta{
    width: 100%;
  }
}

/* 固定CTA（SPだけ表示） */
.nippo-skin .nippo-apply-fixed{
  display: none;
}

@media (max-width: 720px){
  .nippo-skin .nippo-apply-fixed{
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    padding: 10px 12px calc(env(safe-area-inset-bottom) + 10px);
    background: rgba(0,0,0,.55);
    backdrop-filter: blur(6px);
  }

  /* 非表示状態（JSで付け外し） */
  .nippo-skin .nippo-apply-fixed.is-hidden{
    display: none;
  }

  .nippo-skin .nippo-apply-fixed__btn{
    position: relative;
    display: block;
    max-width: 520px;
    margin: 0 auto;
  }

  .nippo-skin .nippo-apply-fixed__img{
    display: block;
    width: 100%;
    height: auto;
  }

  /* 顔写真アイコンを右下に重ねる */
  .nippo-skin .nippo-apply-fixed__avatar{
    position: absolute;
    left: 6%;
    bottom: 16%;
    width: 46px;
    height: 46px;
    border-radius: 9999px;
    overflow: hidden;
    border: 2px solid #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.25);
  }
  .nippo-skin .nippo-apply-fixed__avatar img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* 固定CTAが被らないよう下余白（常に入れてOK） */
  body.nippo-skin{
    padding-bottom: 96px;
  }

  .ctaUndertext{
    font-size: 11px;
    text-align: center;
}
}

.ctaUndertext{
  color: #fff;
  margin-top: 10px;
}

/* ========== コーディネーターボタン ========== */
.nippo-skin .nippo-coord-btn{
  display:inline-block;
  margin-top:30px; 
}
.nippo-skin .nippo-coord-btn img{
  max-width:100%;
  height:auto;
  display:block;
}

@media (min-width: 720px){ 
  .nippo-skin .nippo-coord-btn img{
    width: 70%;
    margin: 0 auto;
  }
}

/* ========== コーディネーターヘッダー ========== */
.nippo-skin .nippo-coord-header{
  display:flex;
  gap:16px;
  align-items:center;
  margin: 0 0 40px;
}

.nippo-skin .nippo-coord-header__avatar{
  width:72px;
  height:72px;
  border-radius:9999px;
  overflow:hidden;
  border:2px solid #fff;
  flex:0 0 auto;
}
.nippo-skin .nippo-coord-header__avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.nippo-skin .nippo-coord-header__meta{
  color:#fff;
}
.nippo-skin .nippo-coord-header__office{
  font-weight:500;
  font-size: clamp(13px, 3vw, 16px);
  opacity:.9;
  margin-bottom:4px;
}
.nippo-skin .nippo-coord-header__title{
  font-weight:600;
  font-size: clamp(16px, 3vw, 34px);
  line-height:1.2;
}

.nippo-skin .nippo-coord-header__clear{
  display:inline-block;
  margin-top:30px;
  color:#fff;
  text-decoration:none;
  border:2px solid rgba(255,255,255,.25);
  border-radius:6px;
  padding:10px;
  width: 40%;
}
.nippo-skin .nippo-coord-header__clear:hover{
  background: rgba(255,255,255,.08);
}

/* メタ部分を伸ばして、線を引けるようにする */
.nippo-skin .nippo-coord-header__meta{
  flex: 1 1 auto;
  position: relative;
  padding-bottom: 10px; 
}

/* 白い線（左端＝meta左、右端＝メイン幅まで） */
.nippo-skin .nippo-coord-header__meta::after{
  content: "";
  position: absolute;
  left: 0;              /* ← metaの左端に揃う */
  right: 0;             /* ← メインカラムの右端まで伸びる */
  bottom: 0;
  height: 1px;
  background: #fff;
}



/* ========== 顔写真 ========== */
.nippo-skin .nippo-apply-cta{
  width: 70%;
  margin: 50px auto 15px;
  text-align: center;
}
.nippo-skin .nippo-apply-btn{
  position: relative;
  display: inline-block;
}
.nippo-skin .nippo-apply-avatar{
  position: absolute;
  left: 19px;
  bottom: 23px;
  width: 80px;
  height: 80px;
  border-radius: 9999px;
  overflow: hidden;
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.25);
}
.nippo-comment__chara{
  width: 110px;
  /* height: 110px; */
  border-radius: 9999px;
  overflow: hidden;
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.25);
}
.nippo-skin .nippo-apply-avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 720px){ 
  .nippo-skin .nippo-apply-cta{
  width: 100%;
  }
  .nippo-skin .nippo-apply-avatar{
  left: 10px;
  bottom: 13px;
  width: 70px;
  height: 70px;
  }
}


/* === テーブル本体 === */
.nippo-cal__table{ width:100%; border-collapse:collapse; }
.nippo-cal__table th,
.nippo-cal__table td{
  text-align:center; padding:.45rem; border-bottom:1px solid rgba(0,0,0,.06);
}
.nippo-cal__table thead th{ font-size:.9rem; opacity:.8; }
.nippo-cal__table td.is-empty{ background:transparent; }

/* ========== 右サイド タグ ========== */
.nippo-layout__side .widget1{
  background:#e9ecef; color:#333; padding:14px; margin-bottom:14px;
}
.nippo-layout__side .widget2{
  background:#1A3E26; color:#fff; padding:14px; margin-bottom:14px;
}
.widget-title{
  margin:0 0 8px; font-size:1rem; border-bottom:1px solid rgba(255,255,255,.2); 
  padding-bottom:6px; text-align: center; color: #fff;
}

.tagcloud a{
  display:inline-block; color:#fff; background:#2a3b2d; padding:.25rem .5rem; border-radius:999px;
  margin:.2rem; font-size:.86rem !important; text-decoration:none;
}
.tagcloud a:hover{ background:#36513f; }

.nippo-taglist { margin-top:.25rem; }
.nippo-taglist .nippo-tagpill{
  display:inline-block;
  margin:.25rem;
  padding:.35rem .6rem;
  font-size:.9rem;
  line-height:1;
  color:#fff;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.5);
}
.nippo-taglist .nippo-tagpill:hover{ background:#36513f; }
.nippo-taglist .nippo-tagpill:active{ transform:translateY(1px); }
.nippo-taglist .nippo-tagpill.is-active{
  background:#4c7c60;
  border-color:rgba(255,255,255,.28);
}

.nippo-skin .nippo-filter__banner{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  background:#1c2a1f; color:#fff; padding:10px 12px; margin:12px 0;
}

.nippo-skin .nippo-filter__actions{ display:flex; gap:8px; flex-wrap:wrap; }
.nippo-skin .nippo-filter__link,
.nippo-skin .nippo-filter__clear{
  display:inline-block; color:#fff; text-decoration:none;
  border:1px solid rgba(255,255,255,.25); border-radius:6px; padding:6px 10px;
}
.nippo-skin .nippo-filter__link:hover,
.nippo-skin .nippo-filter__clear:hover{ background:rgba(255,255,255,.08); }

/* nippo-layout 全幅に広げる */
.nippo-skin .nippo-layout > .nippo-filter__banner{
  grid-column: 1 / -1;       /* ★2カラムぶち抜き */
}

/* ========== カレンダー ========== */
.nippo-cal{
  background:#e9ecef; color:#333; border-radius:8px;
  padding:12px; 
}
.nippo-cal__nav{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:8px; font-weight:700;
}
.nippo-cal__nav a{ text-decoration:none; font-weight:500; opacity:.85; font-size: 13px;}
.nippo-cal__title{ font-size:1.05rem; }

/* 曜日色 */
.nippo-cal__table th.is-sun,
.nippo-cal__table td.is-sun{ color:#d04b4b; }
.nippo-cal__table th.is-sat,
.nippo-cal__table td.is-sat{ color:#3b6ff5; }

/* 数字＆青丸ドット（投稿がある日のみ） */
/* ① セルの高さと中央寄せを固定 */
.nippo-cal__table td{
  position: relative;
  height: 44px;                /* ← お好みで */
  padding: 0;                  /* 上下の余白はここで管理 */
  vertical-align: middle;
}

.nippo-cal__table td .day{
  position: relative;          /* ドットの基準にする */
  display: flex;
  justify-content: center;     
  height: 100%;
  top: 7px;
  font-size: 13px;
}

.nippo-cal__table td .day .num{
  line-height: 1;              /* テーマ側のline-heightの影響を遮断 */
}

/* ② 投稿日の青丸を絶対配置（レイアウトに影響させない） */
.nippo-cal__table td.has-post a.day::after {
  content: "";
  position: absolute;
  bottom: 14px;                 /* セル下からの距離（調整可） */
  left: 50%;
  transform: translateX(-50%);
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #3b6ff5;         /* 青丸の色 */
  pointer-events: none;         /* クリックの邪魔をしない */
}

.nippo-skin .nippo-cal.is-loading{
  opacity:.6; pointer-events:none; transition:opacity .15s ease;
}


/* 番号ウィンドウナビ */
.nippo-number-nav{
  margin:16px 0 0; display:flex; justify-content:center; gap:8px; flex-wrap:wrap;
}
.np-num{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:40px; height:40px; padding:0 10px;
  border-radius:6px; background:#2a3b2d; color:#fff; text-decoration:none;
  font-weight:700; border:1px solid rgba(255,255,255,.15);
  transition:background .15s, border-color .15s, transform .05s;
}
.np-num:hover{ background:#36513f; border-color:rgba(255,255,255,.3); }
.np-num:active{ transform:translateY(1px); }
.np-num.is-active{ background:#4c7c60; border-color:rgba(255,255,255,.45); }
.np-num.np-arrow{ min-width:36px; width:36px; }
.np-num.np-arrow.is-disabled{ opacity:.35; pointer-events:none; }
.np-ellipsis{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:24px; color:#fff; opacity:.7;
}


/* 日報ページだけ、テーマの既定ヘッダー（タイトル/日付）を隠す */
body.nippo-skin .main-title,
body.nippo-skin .date-content,
body.single-nippo .main-title,
body.single-nippo .date-content,
body.post-type-nippo .main-title,
body.post-type-nippo .date-content {
  display: none !important;
}

.content-wrap{
  width: 100% !important;
  max-width: none !important;
}

/* LINEボタン非表示 */
.tw-self-stretch {
  display: none !important;
}