@charset "utf-8";
/*--------------------------------------------------------------
1. RESET
--------------------------------------------------------------*/
html{color:#000;background:#FFF}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,figure{margin:0;padding:0}
table{border-collapse:collapse;border-spacing:0}
fieldset,img{border:0}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}
ol,ul{list-style:none}
caption,th{text-align:left}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}
q:before,q:after{content:''}
abbr,acronym{border:0;font-variant:normal}
sup{vertical-align:text-top}
sub{vertical-align:text-bottom}
input,textarea,select{font-size:inherit;font-weight:inherit;}
legend{color:#000}
*{zoom: 1;}
img{vertical-align: bottom;}
:focus{outline:none;}
*{box-sizing: border-box;}
/*--------------------------------------------------------------
2. BASE
--------------------------------------------------------------*/
html {
  font-size: 62.5%; /* 1rem = 10px */
  height: 100%;
  -webkit-font-smoothing: antialiased;
}

body {
  margin: 0;
  padding: 0;
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', 'Meiryo', sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
  font-size: 1.4rem;
  min-height: 100dvh; /* アドレスバーの影響を受けずに画面全体をカバー */
  padding-top: env(safe-area-inset-top); /* ノッチやiphoneホームバーを避けた安全な領域を確保 */
  padding-bottom: env(safe-area-inset-bottom);
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
  box-sizing: border-box;
  /* overflow: hidden; スクロール不要時使用*/
  }

  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
  button {
    border:0;
  }

  footer {
    background: #000;
    height: auto;
    color: #fff;
    text-align: center;
    padding: 6px;
    font-size: 1rem;
    letter-spacing: 0.1em;
  }

  /* ==== PC用レイアウト ==== */
  @media screen and (min-width: 768px) {

    .sp-only {
      display: none !important;
    }

    .pc-only {
      display: block;
    }
  }