@charset "UTF-8";

/* 文字・表全般 */
.post .ans{
  line-height: 1.4;
  padding: 6px 4px;
}
.post table{
  margin-bottom: 0;
  table-layout: fixed;
  width: 100%;
}

#d1 table,
#d2 table,
#d3 table{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, "Noto Sans JP", sans-serif;
  font-size: 14px;
}

button, input, select, textarea{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, "Noto Sans JP", sans-serif;
  font-size: 14px;
}

td, th{
  padding: 2px 4px;
}

#tbl-bdr table,#tbl-bdr td,#tbl-bdr th{
  border-collapse: collapse;
  border: 0;
  font-size: 14px;
}
.post #tbl-bdr .ans{
  font-size: 13px;
}

/* 5ブロック共通化 */
#d1a,#d1b,#d1c,#d1d,#d1e{
  background: #fff;
  width: 100%;
  position: relative;
  margin: 10px auto;
  line-height: 1.6;
  padding: 3px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

/* 結果ボタン枠 */
#d2{
  background: #f7f9fc;
  border: 1px solid #e5e7eb;
  width: 100%;
  position: relative;
  margin: 10px auto 20px;
  line-height: 1.6;
  padding: 10px 10px 30px;
  border-radius: 4px;
}

/* 結果表示枠 */
#d3{
  width: 100%;
  height: auto;            /* 固定高さをやめる */
  position: relative;
  margin: 10px auto;
  line-height: 1.6;
  padding: 20px 0;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  background: #f7f9fc;
}

/* 実施日時 */
.blogbox p{ font-size: 12px; text-align: center; }
#d3 .blogbox{ 
	margin: 6px auto 10px;
}

/* グラフの包み：PCでも中央寄せ＆最大幅 */
.ego-chart-wrap{
  width: 100%;
  max-width: 640px;  /* いのさんの記事幅に合わせる */
  margin: 0 auto;
}

/* canvas をレスポンシブに */
#tutorial{
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* 凡例 */
.post .entry-content p.ego-legend{
  font-size: 12px !important;
  margin: 8px 0 0;
  color: #334155;
  padding: 0px 20px;
  text-align: center;
}
.ego-legend .b{
  font-weight: 700;
}

/* ボタン：今風（グラデーション廃止） */
#d2 .snd{
  display: block;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  padding: 12px 14px;
  background: #039be6;
  color: #fff;
  text-decoration: none;
  margin: 0 auto;
  border-radius: 12px;
  font-weight: 700;
  border: none;

  transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
  box-shadow: 0 3px 0 #02689a;
}
#d2 .snd:hover{
  opacity: .80;
  transform: translateY(-1px);
}
#d2 .snd:active{
  transform: translateY(0);
}

/* dialog（モーダル） */
.ego-dialog{
  border: none;
  padding: 0;
  background: transparent;
}
.ego-dialog::backdrop{
  background: rgba(15, 23, 42, .45);
}
.ego-dialog__card{
  width: min(560px, calc(100vw - 24px));
  background: #fff;
  border-radius: 16px;
  padding: 18px 16px;
  box-shadow: 0 18px 60px rgba(0,0,0,.25);
}
.ego-dialog__title{
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 800;
  color: #0f172a;
}
.ego-dialog__text{
  margin: 0 0 14px;
  font-size: 13px;
  line-height: 1.7;
  color: #334155;
}
.ego-dialog__actions{
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.ego-btn{
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 700;
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #0f172a;
  cursor: pointer;
}
.ego-btn--primary{
  background: #ff8901;
  border-color: #ff8901;
  color: #fff;
}
.ego-btn--ghost{
  background: #f7f9fc;
}

/* 注意文 */
.chui{ color: #dc2626; }

@media screen and (max-width: 767px){
  #st-footermenubox{ padding: 8px 0; }
}

@media (min-width: 768px){
input[type="radio"],
input[type="checkbox"]{
  transform: scale(1.3);
  margin-right: 6px;
  cursor: pointer;
}
}