@charset "UTF-8";
/*
Theme Name: Emanon Premium child
Theme URI: https://wp-emanon.jp/emanon-premium/
Author: 株式会社イノ・コード
Author URI: https://innocord.co.jp/
Description: Emanon Premiumnの子テーマです。
Template: emanon-premium
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags:one-column, two-columns, three-columns, left-sidebar, right-sidebar, theme-options
*/
/* 文字数カウンター */
.ry-counter-box{
  width: 100%;
  max-width:800px;
  margin:2rem auto;
  margin-top: 4rem;
  /* padding:1rem */
}
.ry-counter-box h1{
  font-size:1.6rem;
  margin-bottom:1rem;
  text-align:center
}
.ry-counter-box textarea{
  width:100%;
  height:220px;
  font-size:1rem;
  padding:.75em;
  border:1px solid #ccc;
  border-radius:6px
}
.ry-counter-box .result{
  margin-top:.75em;
  font-weight:600;
  font-size:1.05rem;
  line-height:1.7
}
.ry-counter-box .result div{
  display:flex;
  justify-content:flex-start;
}
.preview{
  margin-top:1.2rem;
  padding:1rem;
  border:1px dashed #bbb;
  border-radius:6px;
  background:#fafafa;
  white-space:pre-wrap;
  word-wrap:break-word;
}
.preview mark{
  background:#fff59d;
  padding:0 .1em;
  border-radius:3px;
}
.keyword-box{
  margin-top:1rem;
  display:flex;gap:.5rem;
  align-items:center
}
.keyword-box input{
  flex:1 1 200px;padding:.45em .6em;border:1px solid #aaa;border-radius:4px;font-size:.95rem;
}
.counts{
  margin: 15px 0;
}
.counts div{
  margin: 5px 0;
}

#ry_textarea{
  width: 100%;
  max-width: 800px;
}
#cnt-both,
#cnt-ns,
#cnt-nl,
#cnt-all{
  margin-left: 15px;
  margin-right: 5px;
}

.counter-guide ul{
  width: 100%;
  max-width: 800px;
  margin: 0 auto 2rem auto;
  padding: 1.2rem;
  background: #fff;
  border: 3px solid #333;
  border-radius: 0 0 5px 5px;
}
.counter-guide h2{
  border-radius: 5px 5px  0 0;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 10px 25px;
  font-size: 16px;
  background: #333;
  color: #fff;
}

.counter-guide ul li{
  font-size: 13px;
  margin: 5px 0 !important;
}
.counter-guide ul li strong{
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .keyword-box {
    display: flex;
    flex-direction: column;
  }
  .counts{
    font-size: 12px;
  }
  #kw-list{
    font-size: 12px;
  }
}

/* おみくじ */

/* ---- レイアウト ---- */
.omikuji-wrap{max-width:460px;margin:8.5rem auto 11rem auto;text-align:center;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;}
.omikuji-box{width:160px;height:160px;margin:0 auto 1.2rem;position:relative;cursor:pointer}
.omikuji-box img{width:100%;height:100%;object-fit:cover;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.omikuji-box.shake{animation:shake 1.2s ease-in-out}
@keyframes shake{
  10%,90%{transform:translateX(-2px)}
  20%,80%{transform:translateX(4px)}
  30%,70%{transform:translateX(-6px)}
  40%,60%{transform:translateX(6px)}
  50%     {transform:translateX(-6px)}
}

.omikuji-result{opacity:0;transform:translateY(16px);transition:.4s}
.omikuji-result.show{opacity:1;transform:none}

.omikuji-result h2{font-size:1.8rem;margin:.4rem 0}
.omikuji-result p {margin:.3rem 0 1rem;font-size:.95rem;line-height:1.5}

.omikuji-btn{display:inline-block;background:#ff5252;color:#fff;padding:.8rem 2.4rem;
  border-radius:50px;font-size:1.05rem;font-weight:700;box-shadow:0 4px 10px rgba(0,0,0,.25);
  transition:.25s;user-select:none}
.omikuji-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}

.omikuji-total{margin-top:1rem;font-size:.9rem;color:#555}

/* ---- 背景紙吹雪アニメ ---- */
.confetti{position:fixed;top:0;left:0;width:100%;height:0;pointer-events:none;overflow:visible}
.confetti span{
  position:absolute;width:8px;height:12px;background:#fdd835;border-radius:2px;
  opacity:0;animation:fall 2.5s forwards ease-in-out
}
@keyframes fall{
  0%{transform:translateY(-40vh) rotate(0deg);opacity:0}
  20%{opacity:1}
  100%{transform:translateY(100vh) rotate(720deg);opacity:0}
}
.page-id-157 .sns-share{
	max-width: 50%;
    margin: auto;
    width: 100%;
}
/* タイピング */
.tt-wrap{max-width:960px;margin:100px auto;padding:16px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.04);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Hiragino Kaku Gothic ProN","メイリオ",sans-serif}
.tt-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tt-controls{display:flex;align-items:flex-end;gap:8px}
.tt-controls select,.tt-controls button{border:1px solid #d1d5db;border-radius:8px;padding: 5px 10px;}
.tt-controls button{cursor:pointer}
.tt-controls button:disabled{opacity:.5;cursor:not-allowed}
.tt-panel{margin-top:12px}
.tt-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:8px;border:1px dashed #e5e7eb;border-radius:10px;background:#fcfcfd}
@media (max-width:640px){.tt-stats{grid-template-columns:repeat(3,1fr)}}
.tt-target{margin:14px 0;padding:14px 12px;min-height:64px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;line-height:1.9;word-break:break-all}
.tt-target .ok{color:#16a34a}
.tt-target .ng{color:#dc2626;text-decoration:underline wavy}
.tt-target .cursor{position:relative}
.tt-target .cursor::after{content:"";position:absolute;right:-1px;top:0;height:1.2em;width:2px;background:#111827;animation:blink .9s step-end infinite}
@keyframes blink{50%{opacity:0}}
.tt-input input{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:10px;font-size:16px}
.tt-footer{margin-top:8px;color:#6b7280}
