﻿@charset "UTF-8";
html {
  font-family: "ＭＳ ゴシック",sans-serif;
  font-size: 62.5%;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%; }
  html body {
    font-size: 1.0rem;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%; }
    html body > table {
      height: 100%;
      width: 100%;
      border-collapse: collapse;
      border: 0; }
      html body > table > thead > tr > td {
        position: relative; }
        html body > table > thead > tr > td #header_wrap {
          background-color: #039ef4; }
          html body > table > thead > tr > td #header_wrap h1 {
            background-image: url(https://img.hinode.pics/images/Shared/LayoutMap.Mobile/sun_title.png);
            width: 270px;
            height: 50px;
            margin: 0 auto;
            padding: 0; }
          html body > table > thead > tr > td #header_wrap #menu_open_button {
            background-image: url(https://img.hinode.pics/images/Common/Mobile/buttons.png);
            background-position: -75px top;
            width: 25px;
            height: 25px;
            display: inline-block;
            position: absolute;
            right: 13px;
            top: 13px; }
      html body > table > tbody > tr > td {
        position: relative; }
        html body > table > tbody > tr > td #map_canvas {
          height: 100%;
          width: 100%;
          z-index: 0; }
      html body > table > tfoot > tr > td #notice_wrap {
        display: flex;
        height: 20px;
        line-height: 20px;
        padding: 0 0 0 5px; }
        html body > table > tfoot > tr > td #notice_wrap > div:nth-of-type(1) > span {
          background-color: #eee;
          padding: 3px 5px;
          margin: 0 5px 0 0; }
        html body > table > tfoot > tr > td #notice_wrap > div:nth-of-type(2) > p {
          margin: 0; }
          html body > table > tfoot > tr > td #notice_wrap > div:nth-of-type(2) > p > span {
            color: red; }
          html body > table > tfoot > tr > td #notice_wrap > div:nth-of-type(2) > p > a {
            color: #05f;
            padding: 0 5px; }
        html body > table > tfoot > tr > td #notice_wrap > div:nth-of-type(3) > span#close_notice_button {
          background-color: red;
          color: #fff;
          padding: 2px; }

#zoom_control_buttons_wrap {
  position: absolute;
  bottom: 40px;
  right: 10px; }
  #zoom_control_buttons_wrap ul {
    list-style: none;
    margin: 0;
    padding: 0;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.3); }
    #zoom_control_buttons_wrap ul li:nth-of-type(1) {
      border: 1px solid #ccc;
      border-width: 0 0 1px; }
    #zoom_control_buttons_wrap ul li a {
      display: block;
      background-color: #fff;
      color: #000;
      margin: 0;
      padding: 0;
      text-decoration: none;
      width: 30px;
      height: 30px;
      line-height: 30px;
      text-align: center;
      font-size: 1.8rem;
      font-weight: bold;
      width: 40px;
      height: 40px;
      line-height: 40px; }
      #zoom_control_buttons_wrap ul li a:active {
        background-color: #f8f8f8; }
      #zoom_control_buttons_wrap ul li a#zoom_in_button {
        border-radius: 3px 3px 0 0; }
      #zoom_control_buttons_wrap ul li a#zoom_out_button {
        border-radius: 0 0 3px 3px; }

#get_weather_time_wrap {
  position: absolute;
  bottom: 20px;
  left: 10px;
  background-color: #fff;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.3);
  font-size: 1.4rem;
  display: none; }
  #get_weather_time_wrap p {
    padding: 10px;
    margin: 0; }
    #get_weather_time_wrap p span:nth-of-type(1) {
      display: block;
      margin: 0 0 10px;
      font-weight: bold; }
    #get_weather_time_wrap p span:nth-of-type(2) {
      margin: 0 5px 0 0; }

#map_control_button_wrap {
  position: absolute;
  top: 50px;
  right: 0; }
  #map_control_button_wrap a {
    margin: 0 0 10px 0;
    line-height: 40px;
    height: 40px;
    width: 45px;
    display: block;
    font-weight: bold;
    font-size: 1.1rem;
    color: #fff;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.3);
    border-radius: 3px 0 0 3px; }
  #map_control_button_wrap #go_to_google_maps_button {
    background-repeat: no-repeat;
    background-color: #fff;
    background-position: center;
    background-image: url(https://img.hinode.pics/images/Common/icon_google_maps.png);
    background-image: -webkit-image-set(url(https://img.hinode.pics/images/Common/icon_google_maps.png) 1x, url(https://img.hinode.pics/images/Common/icon_google_maps@2x.png) 2x);
    background-image: image-set(url(https://img.hinode.pics/images/Common/icon_google_maps.png) x1, url(https://img.hinode.pics/images/Common/icon_google_maps@2x.png) x2); }
  #map_control_button_wrap #go_to_sun_page_button {
    background-color: #f6e82c;
    color: #000; }
  #map_control_button_wrap #go_to_moon_page_button {
    background-color: #424598; }
  #map_control_button_wrap #present_location_button {
    background-color: #039ef4; }
  #map_control_button_wrap .disp_post_photos_button {
    background-color: #eee;
    color: #333;
    line-height: 20px; }
    #map_control_button_wrap .disp_post_photos_button.active {
      background-color: #ff6a00;
      color: #fff; }
  #map_control_button_wrap #disp_weather_layer_button {
    background-color: #eee;
    color: #333; }
    #map_control_button_wrap #disp_weather_layer_button.active {
      background-color: #0026ff;
      color: #fff; }

#layer_set_control_wrap {
  position: absolute;
  top: 90px;
  left: 50%;
  width: 200px;
  margin: 0 0 0 -100px; }
  #layer_set_control_wrap ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: center; }
    #layer_set_control_wrap ul li {
      background-color: #fff;
      color: #000;
      height: 30px;
      width: 60px;
      box-sizing: border-box;
      text-align: center;
      line-height: 30px;
      font-size: 12px;
      box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.3);
      border-radius: 2px; }
      #layer_set_control_wrap ul li.active {
        background-color: #039ef4;
        color: #fff;
        font-weight: bold; }
      #layer_set_control_wrap ul li:active {
        background-color: #fafafa; }
      #layer_set_control_wrap ul li:nth-of-type(2) {
        margin: 0 10px; }

#left_panel_wrap {
  position: absolute;
  top: 50px;
  left: 0; }
  #left_panel_wrap > ul {
    margin: 0;
    padding: 0; }
    #left_panel_wrap > ul > li > a {
      margin: 0 0 10px 0;
      line-height: 40px;
      height: 40px;
      width: 45px;
      display: block;
      font-weight: bold;
      font-size: 1.1rem;
      color: #fff;
      text-align: center;
      text-decoration: none;
      box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.3);
      border-radius: 0 3px 3px 0;
      background-color: #fff; }
      #left_panel_wrap > ul > li > a.go_to_home_button {
        background-repeat: no-repeat;
        background-color: #fff;
        background-position: center;
        background-image: url(https://img.hinode.pics/images/Common/icon_home.png?01);
        background-image: -webkit-image-set(url(https://img.hinode.pics/images/Common/icon_home.png?01) 1x, url(https://img.hinode.pics/images/Common/icon_home@2x.png?01) 2x);
        background-image: image-set(url(https://img.hinode.pics/images/Common/icon_home.png?01) x1, url(https://img.hinode.pics/images/Common/icon_home@2x.png?01) x2); }

.yolp-ymapbanner {
  display: none !important; }

/* 🔴 AD-05 Step16-a＝モバイル最上部の広告の器。中身は空（<ins> は JS が幅を見て差し込む）。
   padding は青いタイトルバー（全体が <a>）と広告を離すため＝誤クリック防止。
   PC 幅（768px 以上）で消す規則は layoutmap/base.css 側にある。 */
:root {
  /* 🔴 器の高さはここに1箇所だけ。下の table の calc と必ず連動させる
     （両方に数字を書くと片方だけ直してズレる）。
     100px（広告 320x100）＋ padding 6px × 2 ＝ 112px。
     ⚠️ MobileTopAdStyle の height: 100px と対。MobileTopAdBoxHeightTests が整合を見張る。 */
  --mobile-top-ad-h: 112px; }

#mobile_top_ad_wrap {
  /* 🔴 この height が効くのは広告が入る前と PC 幅だけ＝AdSense が読み込み後に
     style="height: auto !important" をこの div へ直接差し込んで勝つ（本番実測）。 */
  height: var(--mobile-top-ad-h);
  box-sizing: border-box;
  padding: 6px 0;
  /* 🔴 高さを成り行きにされた時に 112px へ収める1行＝消すと縦に 1〜4px はみ出す。
     <ins> が inline-block なので行box に descender ぶんの余白が付く（日本語 +1.333px /
     Lang +4px＝font-size 差）。strut を消せば行box＝<ins> の 100px で 6+100+6=112px。
     🔑 広告は 1px も動かない（縮むのは器だけ）。MobileTopAdBoxHeightTests が見張る。 */
  line-height: 0;
  text-align: center;
  background-color: #fff; }

/* 🔴 器を足したぶんだけ表を縮める。
   これが無いと table の height:100%（上の方で定義）がビューポート丁度の高さを取るので、
   器の分だけ地図が下にはみ出して縦スクロールが生まれる（実測で 62px はみ出した）。
   🔑 セレクタを body.has-mobile-top-ad で縛るのが AD-05 Step16-a の肝＝
      クラスが付かないページ（いまは / ）では上の html body > table { height:100% } が
      そのまま生き残る＝**器を入れていないページが巻き添えで縮まない**。
      詳細度＝クラス1＋要素2 で html body > table（要素3）に勝つ。
   ⚠️ PC 幅では layoutmapmain/Main.css の `html body > table { height: auto }` が後勝ちで打ち消す。 */
body.has-mobile-top-ad > table {
  height: calc(100% - var(--mobile-top-ad-h)); }
