/* 共通テンプレート。PCの旧レイアウトには手を加えず、小画面で幅と操作部を調整する。 */
img[data-nounai-result] { max-width: 100%; height: auto; }
.ad-space { max-width: 100%; margin: 0 auto; box-sizing: border-box; }
/* 320px画面でも左右の枠線に重なる分だけ中央へ張り出し、広告自体は縮小しない。 */
.ad-space.ad-header { display: flex; flex-direction: column; align-items: center; }
.ad-space ins.adsbygoogle[data-ad-format="auto"] { display: block; width: 100%; }
.ad-label { display: block; color: #777; font: 10px/18px sans-serif; text-align: center; }
#con_main input[name="oo"], #con_main input[type="submit"] { box-sizing: border-box; min-height: 34px; padding-top: 6px; padding-bottom: 6px; vertical-align: middle; }
input[name="oo"]:focus-visible, input[type="submit"]:focus-visible { outline: 3px solid #215eae; outline-offset: 2px; }
@media (max-width: 600px) {
  html { -webkit-text-size-adjust: 100%; }
  body { margin: 0; font-size: 14px; overflow-wrap: anywhere; }
  #wrap, #ext_wrap, #ext_center { width: 100%; max-width: 100%; float: none; }
  #ext_left, #ext_right { display: none; }
  div#all { width: calc(100% - 2px); max-width: 500px; margin: 0 auto; }
  #all #header_title, div#con_main, div#footer { width: 100%; max-width: 100%; }
  #con_main { box-sizing: border-box; }
  #con_main form { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin: 10px 12px 14px; }
  #con_main input[name="oo"] { box-sizing: border-box; flex: 1 1 150px; width: 0; min-width: 0; max-width: 100%; min-height: 50px; padding: 8px; font-size: 16px; }
  #con_main input[type="submit"] { box-sizing: border-box; flex: 0 0 auto; min-height: 50px; padding: 8px 14px; font-size: 16px; cursor: pointer; }
  #maga_title { padding: 0 8px; font-size: 21px; overflow-wrap: anywhere; }
  #con_main img { max-width: 100%; height: auto; }
  #con_main .tokimeki-banner { box-sizing: border-box; }
  #con_main .sns-links { width: 100% !important; max-width: 400px; }
  #con_main .lab-ad { max-width: 100% !important; }
  #maker_list, #makerlist table, #mokuji, #result1 table, #result2 table, #result3 table { width: 100%; max-width: 100%; box-sizing: border-box; }
  #menu01 li a { padding: 18px 52px 18px 14px; overflow-wrap: anywhere; }
  #menu01 li a:before { right: 23px; }
  #menu01 li a:after { right: 28px; }
  .q, .a { box-sizing: border-box; width: calc(100% - 24px) !important; max-width: 100%; line-height: 1.7; }
  a.nmmm-card-link { max-width: calc(100% - 16px); }
  .nmmm-card-link .nmmm-card { padding: 10px; gap: 10px; }
  .nmmm-card-link .nmmm-card-icon { flex-basis: 64px; width: 64px; height: 64px; }
  .nmmm-card-link .nmmm-card-title { font-size: 17px; }
  #con_main .nmmm-card-icon img { height: 100%; }
  .nmg-card { padding: 10px; gap: 10px; }
  .nmg-card-icon { width: 64px; height: 64px; }
  #footer { line-height: 1.7; overflow-wrap: anywhere; }
  .ad-space { max-width: 100%; }
}
