@layer basic {
:root {
  --mdc-theme-primary: #ffffff;
}

/*【「1dp」を「px」に変換したの場合の例】*/
:root.dt {
  --vh: calc(100svh - 54px);
}
/* for Android */
@media screen and (-webkit-min-device-pixel-ratio: 3.0) {
  :root {
    /* ピクセル密度2.0以上 =【xxdpi（超超高解像度）】の指定 */
    --dp: 3px;
  }
  :root.android {
    --vh: calc(100svh - var(--dp)*8 - var(--dp)*16 - 48px - 56px);
  }
}
@media screen and (-webkit-max-device-pixel-ratio: 2.0) {
  :root {
    /* ピクセル密度2.0以下 =【xdpi（超高解像度）】の指定 */
    --dp: 2px;
  }
  :root.android {
    --vh: calc(100svh - var(--dp)*12 - var(--dp)*24 - 48px - 56px);
  }
}
@media screen and (-webkit-max-device-pixel-ratio: 1.5) {
  :root {
    /* ピクセル密度1.5以下 =【hdpi（高解像度）】の指定 */
    --dp: 1.5px;
  }
  :root.android {
    --vh: calc(100svh - var(--dp)*16 - var(--dp)*32 - 48px - 56px);
  }
}
@media screen and (-webkit-max-device-pixel-ratio: 1.0) {
  :root {
    /* ピクセル密度1.0以下 =【mdpi（中解像度）】の指定 */
    --dp: 1px;
  }
  :root.android {
    --vh: calc(100svh - var(--dp)*24 - var(--dp)*48 - 48px - 56px);
  }
}
@media screen and (-webkit-max-device-pixel-ratio: 0.75) {
  :root {
    /* ピクセル密度0.75以下 =【ldpi（低解像度）】の指定 */
    --dp: .75px;
  }
  :root.android {
    --vh: calc(100svh - var(--dp)*32 - var(--dp)*64 - 48px - 56px);
  }
}

/* ios / android 端末別 */
/*
:root.ios,
:root.iphone {
  --vh: calc(100dvh - 20pt - 44pt - 48px - 56px);
}
*/
:root.ios,
:root.iphone,
:root.ipad {
  --vh: calc(100svh - 40px - 42px)!important;
}
/*
:root.sp.android {
  --vh: calc(100svh - 72px - 48px - 56px);
}
*/
:root.sp.android {
  --vh: calc(100svh - 48px - 56px);
}

:root.tb.android {
  --vh: calc(100svh - 48px - 56px);
}

@media screen and (display-mode: standalone) {
  :root.sp.android {
    --vh: calc(100dvh - 72px -48px);
  }
}

:root {
  --mask: #2296f3;
}

@font-face {
  font-family: 'Material Icons';
  font-display: swap;
}

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

html {
	height: 100%;
	overflow-y: scroll;
}

html {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}
/*
@media (max-width: 700px) and (orientation: portrait) {
  .tb body {
    font-size: 7.8pt;
  }
}

@media (max-width: 375px) and (orientation: portrait) {
  .sp body {
    font-size: 7.8pt;
  }
}

@media (max-width: 799.9999px) and (orientation: portrait) {
  section {
    display: block;
    overflow-y: scroll!important
  }
}

@media (min-width: 800px) and (orientation: portrait) {
  .column {
     width: calc(50% - 20px);
  }

  .left {
    padding-right: 10px;
  }

  .right {
    padding-left: 10px;
  }
}
*/
@media(orientation: landscape) {
  .column {
    padding-right: env(safe-area-inset-right)!important;
    padding-left: env(safe-area-inset-left)!important;
  }
}

.padded {
  padding: 0 10%;
}

.back-link {
  padding-bottom: 10%;
}

/*
 *
 * Web-Fonts
 *
*/
.kosugi-maru-regular {
  font-family: "Kosugi Maru", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.no-wrap {
  white-space: nowrap;
}