@charset "UTF-8";
:root {
  --top-chiangmai: 29.4rem;
  --left-chiangmai: 67.4rem;
  --top-chumphon: 43.2rem;
  --left-chumphon: 68.2rem;
  --top-kototabang: 62.1rem;
  --left-kototabang: 69.8rem;
  --top-baclieu: 45.7rem;
  --left-baclieu: 79.2rem;
  --top-cebu: 43.8rem;
  --left-cebu: 110.6rem;
  --top-cpn2: 33.85rem;
  --left-cpn2: 58.85rem;
  --top-kmi6: 28.7rem;
  --left-kmi6: 61.3rem;
  --top-nuo2: 21.45rem;
  --left-nuo2: 64.5em;
  --top-ruti: 26.6rem;
  --left-ruti: 63.6rem;
}

.main {
  margin-top: 0.5rem;
  position: relative;
  z-index: 2;
}
.control {
  background: #000;
  height: 4rem;
  display: flex;
  align-items: center;
  z-index: 1000;
}
.control .inner {
  display: flex;
  align-items: center;
  height: 100%;
}

.fixed-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%; 
}


@media only screen and (max-width: 782px) {
  body.Device-SP .control {
    height: auto;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  body.Device-SP .control .inner {
    display: block;
  }
}
.dateform {
  display: flex;
  align-items: center;
}
.dateform label {
  border: none;
  color: #fff;
  font-size: 1.9rem;
  text-transform: uppercase;
  box-shadow: none;
  border-radius: 0px;
  appearance: none;
  box-sizing: border-box;
  background-color: #c0185b;
  width: 7rem;
  height: 3rem;
  margin: 0;
  padding: 0.2rem 0rem 0.2rem 2rem;
  position: relative;
  font-weight: bold;
}
_:lang(x)::-moz-placeholder,
.dateform label {
  padding: 0.2rem 0rem 0rem 2rem;
}

.dLabel {
  border: #c0185b 1rem solid;
  border-right: none;
  color: #c0185b;
  background: #fff;
  margin: 0;
  height: 4rem;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 1.4rem;
  padding: 0 0.5rem;
}
@media only screen and (max-width: 782px) {
  body.Device-SP .dLabel {
    padding: 0.5rem;
    border: #c0185b 2rem solid;
    font-size: 2.8rem;
    line-height: 2;
    height: 7rem;
  }
}
input[type="text"]#datepicker {
  letter-spacing: 0.1em;
  padding: 0em 0em 0em 0em;
  border: none;
  color: #fff;
  font-size: 1.9rem;
  text-transform: uppercase;
  text-align: left;
  box-shadow: none;
  border-radius: 0px;
  appearance: none;
  box-sizing: border-box;
  background-color: #c0185b;
  height: 3rem;
  margin: 0;
  position: relative;
  font-weight: bolder;
  width: 23rem;
}
input[type="text"]:before#datepicker:before {
  content: "UTC  ";
}

@media only screen and (max-width: 782px) {
  body.Device-SP input[type="text"]#datepicker {
    font-size: 4rem;
    height: 7rem;
  }
}
input[type="text"]#datepicker:focus {
  outline: 0;
}

input[type="text"].datepicker {
  font-weight: bold;
  background-color: #c0185b;
  color: #fff;
  border: none;
  height: 4rem;
  border-radius: 0;
  margin: 0;
  padding: 0.5em 0.5em 0.5em 0.5em;
  box-sizing: border-box;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 782px) {
  body.Device-SP input[type="text"].datepicker {
    font-size: 4rem;
    height: 7rem;
  }
}
input[type="text"].datepicker:focus {
  outline: 0;
}
button,
button[disabled]:hover,
button[disabled]:focus {
  border: none;
  color: #fff;
  font-size: 1.8rem;
  text-transform: uppercase;
  box-shadow: none;
  border-radius: 0px;
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  background-color: #c0185b;
  width: 4rem;
  height: 4rem;
  margin: 0;
  padding: 0;
  position: relative;
}
@media only screen and (max-width: 782px) {
  body.Device-SP button,
  body.Device-SP button[disabled]:hover,
  body.Device-SP button[disabled]:focus {
    font-size: 4rem;
    width: 7rem;
    height: 7rem;
  }
}
button:hover,
button:focus {
  animation: flash 1s ease;
}
button:focus {
  outline: 0;
}

#rewindBtn {
  margin-right: 0.2rem;
  border-radius: 0.8rem 0 0 0.8rem;
  height: 3rem;
}
#rewindBtn::before {
  content: "";
  position: absolute;
  width: 1.2rem;
  height: 1.2rem;
  border: transparent 0.6rem solid;
  border-right: #fff 0.6rem solid;
  left: calc(50% - 1.1rem);
  top: calc(50% - 0.6rem);
  box-sizing: border-box;
}
#rewindBtn::after {
  content: "";
  position: absolute;
  width: 1.2rem;
  height: 1.2rem;
  border: transparent 0.6rem solid;
  border-right: #fff 0.6rem solid;
  left: calc(50% - 0.4rem);
  top: calc(50% - 0.6rem);
  box-sizing: border-box;
}
@media only screen and (max-width: 782px) {
  body.Device-SP #rewindBtn::before {
    width: 2.4rem;
    height: 2.4rem;
    border: transparent 1.2rem solid;
    border-right: #fff 1.2rem solid;
    left: calc(50% - 2.2rem);
    top: calc(50% - 1.2rem);
  }
  body.Device-SP #rewindBtn::after {
    width: 2.4rem;
    height: 2.4rem;
    border: transparent 1.2rem solid;
    border-right: #fff 1.2rem solid;
    left: calc(50% - 0.8rem);
    top: calc(50% - 1.2rem);
  }
}
#forwardBtn {
  margin-left: 0.2rem;
  border-radius: 0 0.8rem 0.8rem 0;
  height: 3rem;
}
#forwardBtn::before {
  content: "";
  position: absolute;
  width: 1.2rem;
  height: 1.2rem;
  border: transparent 0.6rem solid;
  border-left: #fff 0.6rem solid;
  right: calc(50% - 1.1rem);
  top: calc(50% - 0.6rem);
  box-sizing: border-box;
}
#forwardBtn::after {
  content: "";
  position: absolute;
  width: 1.2rem;
  height: 1.2rem;
  border: transparent 0.6rem solid;
  border-left: #fff 0.6rem solid;
  right: calc(50% - 0.4rem);
  top: calc(50% - 0.6rem);
  box-sizing: border-box;
}
@media only screen and (max-width: 782px) {
  body.Device-SP #forwardBtn::before {
    width: 2.4rem;
    height: 2.4rem;
    border: transparent 1.2rem solid;
    border-left: #fff 1.2rem solid;
    right: calc(50% - 2.2rem);
    top: calc(50% - 1.2rem);
  }
  body.Device-SP #forwardBtn::after {
    width: 2.4rem;
    height: 2.4rem;
    border: transparent 1.2rem solid;
    border-left: #fff 1.2rem solid;
    right: calc(50% - 0.8rem);
    top: calc(50% - 1.2rem);
  }
}

#playBtn {
  margin-left: 1rem;
  border-radius: 0.8rem;
  width: 6rem;
}
#playBtn > input {
  display: none;
}
#playBtn > input:not(:checked) + span::before {
  position: absolute;
  top: 50%;
  left: calc(50% - 0.7rem);

  transform: translateY(-50%);
  width: 15px;
  height: 15px;

  border: 0.5em solid transparent;
  border-left: 0.8em solid currentColor;
  box-sizing: border-box;
  content: "";
}
#playBtn > input:checked + span::before,
#playBtn > input:checked + span::after {
  content: "";
  position: absolute;
  width: 0.5rem;
  height: 1.4rem;
  background: #fff;
  left: calc(50% - 0.7rem);
  top: calc(50% - 0.7rem);
  box-sizing: border-box;
}
#playBtn > input:checked + span::after {
  left: calc(50% + 0.2rem);
}
@media only screen and (max-width: 782px) {
  body.Device-SP #playBtn {
    width: 12rem;
  }
  body.Device-SP #playBtn::before,
  body.Device-SP #playBtn::after {
    width: 1rem;
    height: 2.8rem;
    left: calc(50% - 1.4rem);
    top: calc(50% - 1.4rem);
  }
  body.Device-SP #playBtn::after {
    left: calc(50% + 0.4rem);
  }
}

.checkform {
  margin-left: 2rem;
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
@media only screen and (max-width: 782px) {
  body.Device-SP .checkform {
    justify-content: flex-start;
    margin: 2rem 0 0 0;
  }
}
.checkform label {
  margin-left: 1.8rem;
  display: flex;
  align-items: center;
  height: 100%;
}
.checkform input[type="checkbox"] {
  box-shadow: none;
  border: none;
  margin: 0 0.8rem 0 0;
}
@media only screen and (max-width: 782px) {
  body.Device-SP .checkform label {
    font-size: 3.2rem;
  }
}
.map {
  background: white;
  height: 80rem;
  position: relative;
}
#mapImg {
  height: 80rem;
  background-repeat: no-repeat;
  background-position: top;
  background-image: url(../img/map/bg_map.webp); 
  background-size: auto 100%, 0px, auto 100%;
}
#dayNight {
  height: 80rem;
  background-repeat: no-repeat;
  background-position: top;
  /* background-image: none; */
  background-size: auto 100%, 0px, auto 100%;
  transition: background-image 1s ease-in-out;
}

.fade-out {
  animation: fadeOut 1s ease-in-out forwards; /* showクラスが追加されたときにアニメーション */
}

.fade-in {
  /* opacity: 1;
  transition: opacity 0.5s ease-in-out; */
  animation: fadeIn 0.5s ease-in-out forwards; /* showクラスが追加されたときにアニメーション */
}

/* .dayNight {
  height: 80rem;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  overflow: hidden;
} */
/* .dayNight .container {
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
}
#dayNightIcon {
  position: absolute;
  width: 7.2rem;
  top: auto;
  bottom: 0;
  height: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateX(-3.6rem);
}
#dayNightIcon.moon_sun {
  flex-direction: row-reverse;
}
#dayNightIcon.moon li.sun {
  display: none;
}
#dayNightIcon.sun li.moon {
  display: none;
}
.dayNight li {
  text-align: center;
  width: 3.6rem;
}
.dayNight li.sun img {
  width: 1.6rem;
}
.dayNight li.moon img {
  width: 1.2rem;
}
body.Device-SP #dayNightSvg {
  width: 140rem;
  height: 100rem;
}
@media only screen and (max-width: 782px) {
  body.Device-SP .map {
    height: 63rem;
  }
  body.Device-SP .dayNight {
    height: 63rem;
  }
  body.Device-SP #dayNightIcon {
    height: 4rem;
    width: 14.4rem;
    transform: translateX(-7.2rem);
  }
  body.Device-SP .dayNight li {
    width: 7.2rem;
  }
  body.Device-SP .dayNight li.sun img {
    width: 3.2rem;
  }
  body.Device-SP .dayNight li.moon img {
    width: 2.4rem;
  }

  body.Device-SP #dayNightSvg {
    width: 140rem;
    height: 63rem;
  }
} */

.levelBar {
  position: absolute;
  top: -2rem;
  width: 100%;
}
.levelBar .inner {
  position: relative;
}
/*
.levelBar .toggle:not(.open):not(.lv1) {
    cursor: pointer;
}
.levelBar .toggle:not(.open):not(.lv1):hover {
    animation: whiteout 0.5s ease;
}
*/

@keyframes whiteout {
  0% {
    background-color: #fff;
  }
  10% {
    background-color: #555;
  }
  100% {
    background-color: #696969;
  }
}

.arrow_box {
  position: relative;
  width: 15rem;
  word-wrap: break-word;
  text-align: left;
  height: auto;
  background: #0e3297;
  padding: 10px;
  /* border: 1px solid #000000; */
  color: #FFFFFF;
  font-size: 1.3rem;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  text-shadow: 0px 0px 0px #FFFFFF;
  opacity: 0; /* 初期状態は透明 */
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.5;
  z-index:4;
}

.arrow_box.show.warning {
  animation: fadeIn 1s ease-in-out forwards; /* showクラスが追加されたときにアニメーション */
}

.arrow_box.warning {
  animation: fadeOut 1s ease-in-out forwards; /* showクラスが追加されたときにアニメーション */
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.arrow_box.right:after{
  margin-top: -18px;
  content:'';
  height:0;
  width:0;
  pointer-events:none;
  position:absolute;
  left: 87%;
  top: 110%;
  display: block;
  border-right: 20px solid #0e3297;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  transform: rotate(10deg);
}

.arrow_box.up:after{
  margin-top: -18px;
  content: '';
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  left: 0%;
  top: 4%;
  display: block;
  border-right: 20px solid #0e3297;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  transform: rotate(80deg);
}

.arrow_box.normal {
  position: absolute;
  top: 10rem;
  left: 40rem;
  width: auto;
  font-size: 1.8rem;
}
.arrow_box.normal:after, .arrow_box.normal:before{
  display: none;
}
.arrow_box.chumphon {
  position: absolute;
  top: 34.8rem;
  left: 51.3rem;
}
.arrow_box.chiangmai {
  position: absolute;
  top: 21rem;
  left: 50.5rem;
}
.arrow_box.kototabang{
  position: absolute;
  top: 53.7rem;
  left: 52.9rem;
}
.arrow_box.cebu{
  position: absolute;
  top: 49rem;
  left: 110rem;
}
.arrow_box.baclieu{
  position: absolute;
  top: 51rem;
  left: 79rem;
}





.hukidashi {
  position: absolute;
  border: #fff 0.1rem solid;
  border-radius: 0.8rem;
  background: #000;
  text-align: center;
  min-width: 13rem;
  opacity: 0;
  pointer-events: none;
}

.levelBar.showHukidashi .hukidashi {
  opacity: 1;
  pointer-events: auto;
}
.levelBar .hukidashi dt {
  display: block;
  padding: 1rem 1rem 1rem 2rem;
  font-size: 1.2rem;
  line-height: 2rem;
}
.levelBar .hukidashi.lv1 dt {
  margin: 0.2rem 0;
}

a.glass {
  font-size: 1.2rem;
  background: url(../img/icon_glass.png) no-repeat right 0.2rem / 1.8rem auto;
  display: block;
  line-height: 2rem;
  box-sizing: border-box;
}
.toggle:not(.open) a.glass {
  pointer-events: none;
}
.toggle.open a.glass {
  background-image: url(../img/icon_glass_minus.png);
}

.levelBar .hukidashi dt {
  padding: 0 1.8rem;
  margin: 0.2rem auto;
  font-size: 1.2rem;
  display: block;
  line-height: 2rem;
  box-sizing: border-box;
}

.h3lv {
  font-size: 1.3rem;
  font-weight: bold;
  margin: 0.2rem 0 0.2rem;
  transition: all 0.5s ease;
}
.lv4 .h3lv {
  color: #ff2ef0;
}
.lv3 .h3lv {
  color: #ff850d;
}
.lv2 .h3lv {
  color: #ffc70d;
}
.lv1 .h3lv {
  color: #36b739;
}
.h3lv.small {
  font-size: 1.4rem;
}

.levelBar .hukidashi.hasDetail dt {
  text-align: right;
  padding-right: 2.5rem;
}
.levelBar .hukidashi.hasDetail dd {
  text-align: left;
  margin: 0 2rem 1rem 2rem;
}
.levelBar .hukidashi dd p {
  opacity: 1;
  padding: 1px 10px 10px 10px;
  pointer-events: auto;
  /* width: inherit; */
  /* height: inherit; */
  text-align: left;
  font-size: 1.3rem;
  line-height: 1.5;
}

body.Device-PC .levelBar .hukidashi dd p {
  max-width: 30rem;
}
.levelBar .lv {
  position: absolute;
  top: 0;
  right: 0;
  width: 5rem;
}

.levelBar .lv img {
  position: absolute;
  transition: opacity 0.5s ease;
}
.levelBar .lv img:first-child {
  opacity: 0;
}
.levelBar.showHukidashi .lv img:first-child {
  opacity: 1;
}
.levelBar.showHukidashi .lv img:last-child {
  opacity: 0;
}

.lv.chiangmai {
  position: absolute;
  top: 22rem;
  left: 68rem;
  width: 5rem;
}
.lv.chumphon {
  position: absolute;
  top: 44.5rem;
  left: 68rem;
  width: 5rem;
}
.lv.kototabang {
  position: absolute;
  top: 63rem;
  left: 71rem;
  width: 5rem;
}
.lv.cebu {
  position: absolute;
  top: 41.5rem;
  left: 120rem;
  width: 5rem;
}
.lv.baclieu {
  position: absolute;
  top: 43rem;
  left: 97.5rem;
  width: 5rem;
}
.hukidashi.briefing {
  opacity: 1;
  pointer-events: auto;
  top: 9rem;
  left: 100rem;
  transition: all 0.5s ease;
  font-size: 1.3rem;
  width: 25rem;
  padding: 10px;
  text-align: left;
  line-height: 2rem;
}

.hukidashi.chiangmai.show {
  opacity: 1;
  pointer-events: auto;
  top: 15rem;
  left: 73.5rem;
  transition: all 0.5s ease;
}
.hukidashi.chumphon.show {
  opacity: 1;
  pointer-events: auto;
  top: 30rem;
  left: 70rem;
  transition: all 0.5s ease;
}
.hukidashi.kototabang.show {
  opacity: 1;
  pointer-events: auto;
  top: 63rem;
  left: 47rem;
  transition: all 0.5s ease;
}
.hukidashi.cebu.show {
  opacity: 1;
  pointer-events: auto;
  top: 28rem;
  left: 100rem;
  transition: all 0.5s ease;
}
.hukidashi.baclieu.show {
  opacity: 1;
  pointer-events: auto;
  top: 29.5rem;
  left: 74.5rem;
  transition: all 0.5s ease;
}
.lv img {
  position: absolute;
  transition: opacity 0.5s ease;
}

@media only screen and (max-width: 782px) {
  body.Device-SP .levelBar .hukidashi {
    top: 1rem;
    right: 9.6rem;
    min-width: 26rem;
  }
  body.Device-SP .levelBar .hukidashi dt {
    margin: 0.4rem 0;
    padding: 0 1rem;
    font-size: 2.4rem;
    line-height: 4rem;
  }
  body.Device-SP .levelBar .hukidashi.hasDetail dt {
    margin: 0;
  }
  body.Device-SP .levelBar .hukidashi dt {
    padding: 0 3.6rem;
    margin: 0.4rem auto;
  }
  body.Device-SP .h3lv {
    font-size: 4rem;
    margin: 1rem 0 2rem;
  }
  body.Device-SP .h3lv.small {
    font-size: 3rem;
  }
  body.Device-SP .levelBar .hukidashi.hasDetail dt {
    padding-right: 5rem;
  }
  body.Device-SP .levelBar .hukidashi.hasDetail dd {
    margin: 0 4rem 2rem 4rem;
  }
  body.Device-SP .levelBar .hukidashi.hasDetail dd p {
    font-size: 3.2rem;
    line-height: 4.4rem;
  }
  body.Device-SP .levelBar .lv {
    width: 10rem;
  }
}

.mapping {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
}
.mapping.show {
  opacity: 1;
}

.mapping.alert.show {
  pointer-events: auto;
}
.mapping.roti.show {
  pointer-events: auto;
}
.mapping.alert {
  z-index: 6;
}
.mapping.revC {
  z-index: 3;
}

hr.dotLine,
hr.solidLine {
  border: none;
  border-top: rgba(255, 255, 255, 0.5) 1px dashed;
  position: absolute;
  width: 100%;
  height: 0px;
  left: 0;
  top: 30rem;
}
hr.solidLine {
  border-top: rgba(255, 255, 255, 0.5) 1px solid;
  top: 50rem;
}

.mapping .inner {
  position: relative;
  max-width: inherit;
}

.reversedC {
  position: absolute;
  top: 25rem;
  object-fit: contain;
  width: 5rem;
  /* height: 100rem; */
  opacity: 0;
  transition: opacity 0.3s ease;
}
.reversedC.show {
  opacity: 1;
}

.point {
  position: absolute;
  width: 1.4rem;
  height: 1.4rem;
  background-color: #fff;
  border: #000 0.25rem solid;
  border-radius: 50%;
  box-sizing: border-box;
}
.revC.mapping.show + .alert.mapping .point.warning {
  animation: warning 2s linear infinite;
}

.point.chumphon.warning.show,
.point.chiangmai.warning.show,
.point.kototabang.warning.show,
.point.baclieu.warning.show,
.point.cebu.warning.show {
  animation: warning 2s linear infinite;
  z-index: 5;
  transition: all 0.5s ease;
}
@keyframes warning {
  0% {
    background-color: #ffdf00;
  }
  33% {
    background-color: #ff0000;
  }
  66% {
    background-color: #ff0000;
  }
  100% {
    background-color: #ffdf00;
  }
}

.alert-circle.warning.show {
  position: absolute;
  top: 0.4rem;
  left: 0.4rem;
  width: 20rem;
  height: 20rem;
  border: 0.7rem solid red;
  border-radius: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  animation: pulse 1s infinite;
}
@keyframes pulse {
  0% {
      width: 0.1rem;
      height: 0.1rem;
      opacity: 1;
  }
  50% {
      width: 5rem;
      height: 5rem;
      opacity: 0.8;
  }
  100% {
      width: 10rem;
      height: 10rem;
      opacity: 0;
  }
}

/* .point.chiangmai::after, .point.chumphon::after, .point.kototabang::after, .point.baclieu::after, .point.cebu::after{
    content: "";
    background: url("../img/point_arrow.png") no-repeat -1rem 50% / 100% 100%;
    width: 18rem;
    height: 2rem;
    position: absolute;
    top: -0.7rem;
    transform-origin:0 50% 0;
}
.point.chiangmai::after { transform: rotate(185deg);}
.point.chumphon::after { transform: rotate(180deg);}
.point.kototabang::after { transform: rotate(175deg);}
.point.baclieu::after { transform: rotate(40deg) ;}
.point.cebu::after { transform: rotate(-110deg) scale(1.5) ;} */

.chiangmai.chiangmai_balloon,
.chumphon.chumphon_balloon,
.kototabang.kototabang_balloon,
.baclieu.baclieu_balloon,
.cebu.cebu_balloon {
  /* content: ""; */
  /* background: url("../img/point_arrow.png") no-repeat -1rem 50% / 100% 100%; */
  /* width: 20rem; */
  /* height: 4rem; */
  /* position: absolute; */
  /* top: -0.7rem; */
  /* transform-origin: 0 50% 0; */
}
.chiangmai.chiangmai_balloon {
  transform: rotate(185deg);
  top: var(--top-chiangmai);
  left: var(--left-chiangmai);
}
.chumphon.chumphon_balloon {
  transform: rotate(180deg);
  top: var(--top-chumphon);
  left: var(--left-chumphon);
}
.kototabang.kototabang_balloon {
  transform: rotate(175deg);
  top: var(--top-kototabang);
  left: var(--left-kototabang);
}
.baclieu.baclieu_balloon {
  transform: rotate(40deg);
  top: var(--top-baclieu);
  left: var(--left-baclieu);
}
.cebu.cebu_balloon {
  transform: rotate(-110deg) scale(1.5);
  top: var(--top-cebu);
  left: var(--left-cebu);
}

.mapping .pop {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-end;
  width: 20rem;
  z-index: 6;
}

.pop {
  z-index: 6;
}

.mapping .pop:not(.open):hover {
  cursor: pointer;
}
.mapping .pop:not(.open):hover dt,
.mapping .pop:not(.open):hover dd {
  animation: whiteout 0.5s ease;
}

.mapping .pop.left {
  right: calc(100% - 50rem);
}
.mapping .pop.right {
  /* left: calc(100% - 50rem); */
  align-items: flex-start;
}

.mapping .pop dt {
  background: #696969;
  margin: 0 0.8rem 0 0;
  padding: 0 0.8rem 0 1.2rem;
  width: 12rem;
}
.mapping .pop.right dt {
  margin: 0 0 0 0.8rem;
  padding: 0 1.2rem 0 0.8rem;
}
.mapping .pop dt a {
  transform: translateY(0.3rem);
  font-weight: bold;
}
@media only screen and (max-width: 782px) {
  body.Device-SP .mapping .pop {
    width: auto;
    background: #000;
    border-radius: 0.8rem;
  }
  body.Device-SP .mapping .pop dt,
  body.Device-SP .mapping .pop.right dt {
    margin: 0;
    padding: 0.2rem 2rem 0.2rem 0.5rem;
    width: 100%;
    box-sizing: border-box;
  }
  body.Device-SP .mapping .pop dt a {
    font-size: 2rem;
  }
}
.mapping .pop dd {
  background: #696969;
  padding: 0.8rem;
  border-radius: 0.8rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: row-reverse;
}
.mapping .pop dd .graph {
  height: 13rem;
  display: flex;
}
.mapping .pop dd .graph figure {
  background: #fff;
  width: calc(13rem * 1.33333);
  height: 100%;
}
.mapping .pop dd .graph figure + figure {
  margin-left: 0.8rem;
}
.mapping .pop dd .graph figure img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
.mapping .toggle.twoGraph {
  width: 39rem;
}
@media only screen and (max-width: 782px) {
  body.Device-SP .mapping .pop.twoGraph {
    width: auto;
  }
}

.pop.chiangmai {
  top: 18rem;
  /* left: 29.5rem; */
}
.pop.chumphon {
  top: 36rem;
}
.pop.kototabang {
  top: 56rem;
}
.pop.cebu {
  top: 25rem;
  left: 115rem;
}
.pop.baclieu {
  top: 26rem;
  left: 86rem;
}

.mapping .popup {
  display: none;
}

#popup {
  opacity: 0;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.8);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transition: all 0.5s ease;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}
.popup-opened #popup {
  opacity: 1;
  pointer-events: auto;
}
.popup-opened #body {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 6;
}

#popupClone {
  background: #fff;
  max-width: 96%;
  max-height: 96%;
  color: #000;
  position: relative;

  box-sizing: border-box;
}
#popupClone .close {
  width: 5rem;
  height: 5rem;
  display: block;
  position: absolute;
  right: 1.5rem;
  top: 1.5rem;
}
#popupClone .close::before,
#popupClone .close::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  transform: rotate(45deg);
  position: absolute;
  left: 0;
  top: 50%;
}
#popupClone .close::after {
  transform: rotate(-45deg);
}
#popupClone .scrollable {
  overflow: scroll;
  overflow-x: hidden;
  padding: 3rem 0 0 0;
  box-sizing: border-box;
  max-height: 90vh;
}
#popupClone dt {
  font-size: 3rem;
  text-align: center;
  color: #000;
}
#popupClone dd {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 1.5rem;
}
#popupClone dd .graph {
  display: flex;
  align-items: center;
  padding: 0 5rem;
}
#popupClone dd .graph figure + figure {
  margin: 0 0 0 2rem;
}
@media screen and (orientation: portrait) {
  #popupClone dd .graph {
    flex-direction: column;
  }
  #popupClone dd .graph figure + figure {
    margin: 2rem 0 0 0;
  }
}
#popupClone dd .graph img {
  width: 900px;
  height: auto;
}
#popupClone dd .detailSet {
  display: flex;
  background: #2f3d6c;
  width: 100%;
  text-align: center;
}
#popupClone dd .detail {
  margin-top: 1.5rem;
  font-size: 1.8rem;
  line-height: 1.5;
  padding: 2rem 5rem 3rem;
  position: relative;
  overflow: hidden;
  background: #2f3d6c;
  color: #fff;
  display: flex;
  justify-content: center;
  width: 100%;
}
#popupClone dd .detail p {
  margin: 0;
}
#popupClone dd .detail p + p {
  margin-top: 1rem;
}

@media only screen and (max-width: 782px) {
  body.Device-SP #popupClone .scrollable {
    padding-top: 6rem;
  }
  body.Device-SP #popupClone .close {
    width: 10rem;
    height: 10rem;
  }
  body.Device-SP #popupClone dt {
    font-size: 6rem;
  }
  body.Device-SP #popupClone dd .detail {
    font-size: 4rem;
  }
}

.mapping.vertical,
.mapping.horizontal,
.mapping.roti {
  overflow: hidden;
  pointer-events: none;
  z-index: 5;
  height: 80rem;
}

.mapping.vertical .inner,
.mapping.horizontal .inner,
.mapping.roti .inner {
  height: 80rem;
}

.mapping svg {
  position: absolute;
  /* stroke: #00deff; */
  /* stroke-width: 2; */
  fill: transparent;
  width: 20rem;
  height: 20rem;
}
.mapping.vertical svg {
  stroke: #00deff;
}
.mapping.horizontal svg {
  stroke: #00ff8a;
  stroke-width: 2.1;
}
.mapping.roti svg {
  fill: #9f871c;
  stroke: #9f871c;
  fill-opacity: 50%;
  stroke-width: 2.1;
}

.hanrei {
  width: 14rem;
  height: 19.5rem;
  border-radius: 0.8rem;
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  /* right: 1rem; */
  border: #fff 0.1rem solid;
  box-sizing: border-box;
  padding: 1rem 0 0.5rem;
  transition: top 0.5s ease;
  left: -2rem;
}
/* .hanrei.verti { top: 38rem;} */
.hanrei.horiz {
  top: 10rem;
}
.hanrei.verti {
  top: 30rem;
}
.hanrei.roti {
  top: 50rem;
}
/* .mapping.horizontal.show + .mapping.vertical.show .hanrei.verti { top: 45rem;} */

.hanrei dt {
  text-align: center;
  white-space: nowrap;
  font-size: 1.1rem;
}
.hanrei dd {
  position: relative;
}
.hanrei dd figure {
  width: 55rem;
  position: absolute;
  left: 1.5rem;
  top: 1rem;
}
.hanrei dd figure img {
  width: 5.5rem;
}
.hanrei dd span {
  width: 5rem;
  position: absolute;
  left: 8rem;
  font-size: 1.3rem;
}
.hanrei dd span.num4 {
  top: 4.5rem;
}
.hanrei dd span.num3 {
  top: 8rem;
}
.hanrei dd span.num2 {
  top: 11rem;
}
.hanrei dd span.num1 {
  top: 13.3rem;
}
.hanrei dd span.num0 {
  top: 15rem;
}

.lastupdate {
  margin: 0;
  padding: 0.2rem 25rem 0 0;
  text-align: right;
  color: #0a1433;
  font-size: 1.1rem;
}
@media only screen and (max-width: 782px) {
  body.Device-SP .lastupdate {
    padding: 2rem;
    font-size: 2.2rem;
  }
}
.dateSlider {
  height: 6rem;
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 100;
}
.dateSlider .inner {
  position: relative;
  height: 100%;
}
.dateSlider .legend {
  position: absolute;
  bottom: -2.5rem;
  right: 26rem;
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  font-weight: bold;
  height: 2.5rem;
  color: #000;
}
.dateSlider .legend li {
  padding: 0 0 0 1.5rem;
  position: relative;
}
.dateSlider .legend li + li {
  margin-left: 2rem;
}
.dateSlider .legend li::before {
  content: "";
  width: 1rem;
  height: 1rem;
  position: absolute;
  left: 0;
  top: calc(50% - 0.5rem);
}
.dateSlider .legend li.range::before {
  background-color: #eb3479;
  border-color: #fff;
  border-style: solid;
  border-width: 0.1px;
}
.dateSlider .legend li.frequency::before {
  background-color: #006400;
  border-color: #fff;
  border-style: solid;
  border-width: 0.1px;
}
.dateSlider .legend li.mix::before {
  background-color: #2f72eb;
  border-color: #fff;
  border-style: solid;
  border-width: 0.1px;
}
.dateSlider .legend li.nohpf::before {
  background-color: #7e8981;
  border-color: #fff;
  border-style: solid;
  border-width: 0.1px;
}
.dateSlider .legend li.nodata::before {
  background-color: #000000;
  border-color: #fff;
  border-style: solid;
  border-width: 0.1px;
}

.bg_white {
  position: relative;
  z-index: 1;
}
.graphList .inner_n {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  margin-top: 2rem;
}
.graphList .inner_n dl {
  margin-top: 2rem;
  width: 50%;
}
.graphList .inner_n dt {
  color: #0a1433;
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 0.5rem;
}
.graphList .inner_n dd {
  display: flex;
  justify-content: center;
  text-align: center;
}
.graphList .inner_n dd img {
  max-width: 100%;
}
@media only screen and (max-width: 782px) {
  body.Device-SP .graphList .inner_n {
    margin-top: 3rem;
  }
  body.Device-SP .graphList .inner_n dl {
    margin-top: 4rem;
    width: 80%;
  }
  body.Device-SP .graphList .inner_n dt {
    font-size: 3.2rem;
    margin-bottom: 1rem;
  }
}

/* 逆CのX位置 */
.reversedC.left {
  left: 68rem;
}
.reversedC.center {
  left: 79rem;
}
.reversedC.right {
  left: 110rem;
}

/* （solidLine）と（dotLine）のY位置 */
.dotLine {
  top: 30rem;
}
.solidLine {
  top: 50rem;
}

/* 都市の位置 */
.point.chiangmai {
  top: var(--top-chiangmai);
  left: var(--left-chiangmai);
}

.point.chumphon {
  top: var(--top-chumphon);
  left: var(--left-chumphon);
}

.point.kototabang {
  top: var(--top-kototabang);
  left: var(--left-kototabang);
}

.point.baclieu {
  top: var(--top-baclieu);
  left: var(--left-baclieu);
}

.point.cebu {
  top: var(--top-cebu);
  left: var(--left-cebu);
}

.point.CPN2 {
  top: 34rem;
  left: 51rem;
} /*chumphon*/
.point.KMI6 {
  top: 35rem;
  left: 63rem;
} /*baclieu*/
.point.NUO2 {
  top: 33rem;
  left: 87rem;
} /*cebu*/
.point.RUTI {
  top: 49rem;
  left: 53rem;
} /*kototabang*/

.mapping.levelBar.show {
  pointer-events: auto;
}

.mapping.levelBar {
  z-index: 7;
}

.CPN2_circle svg {
  top: var(--top-cpn2);
  left: var(--left-cpn2);
}
.KMI6_circle svg {
  top: var(--top-kmi6);
  left: var(--left-kmi6);
}
.NUO2_circle svg {
  top: var(--top-nuo2);
  left: var(--left-nuo2);
}
.RUTI_circle svg {
  top: var(--top-ruti);
  left: var(--left-ruti);
}

.CPN_roti_circle svg {
  top: calc(var(--top-chiangmai) - 94px);
  left: calc(var(--left-chiangmai) - 94px);
}

.CMU_roti_circle svg {
  top: calc(var(--top-chumphon) - 94px);
  left: calc(var(--left-chumphon) - 94px);
}

.KTB_roti_circle svg {
  top: calc(var(--top-kototabang) - 94px);
  left: calc(var(--left-kototabang) - 94px);
}

.BCL_roti_circle svg {
  top: calc(var(--top-baclieu) - 94px);
  left: calc(var(--left-baclieu) - 94px);
}

.CEB_roti_circle svg {
  top: calc(var(--top-cebu) - 94px);
  left: calc(var(--left-cebu) - 94px);
}

#CMU_forecast_level #CMU_forecast_level_base #CPN_forecast_level #CPN_forecast_level_base
#KTB_forecast_level #KTB_forecast_level_base #CEB_forecast_level #CEB_forecast_level_base
#BCL_forecast_level #BCL_forecast_level_base{
  display:none;
}

.pointname{
  color: black;
  font-size: 3.5rem;
  position: absolute;
  font-weight: 900;
  text-shadow: 1.5px 1.5px 0 lightgray, -1.5px 1.5px 0 lightgray, 1.5px -1.5px 0 lightgray, -1.5px -1.5px 0 lightgray, 1.5px 0 0 lightgray, -1.5px 0 0 lightgray, 0 1.5px 0 lightgray, 0 -1.5px 0 lightgray;
}



.mapping.pointname{  
  pointer-events: auto;
  z-index: 4;
  height: 80rem;
  opacity: 1;
}

.pointname.chiangmai{
  top: 30.3rem;
  left: 50rem;
}

.pointname.chumphon{
  top: 44rem;
  left: 50rem;
}

.pointname.kototabang{
  top: 63rem;
  left: 50rem;
}

.pointname.baclieu{
  top: 47rem;
  left: 81rem;
}

.pointname.cebu{
  top: 45rem;
  left: 112rem;
}

.pointname.nuo2{
  top: 29rem;
  left: 75rem;
  color: green;
  font-size: 2.0rem;
}

.pointname.ruti{
  top: 36.5rem;
  left: 74rem;
  color: green;
  font-size: 2.0rem;
}

.pointname.kmi6{
  top: 39.5rem;
  left: 72rem;
  color: green;
  font-size: 2.0rem;
}

.pointname.cadt{
  top: 40rem;
  left: 79rem;
  color: green;
  font-size: 2.0rem;
}

.pointname.magneticequator{
  top: 42rem;
  left: 130rem;
  color: red;
  font-size: 2.0rem;
  width: 20rem;
}

.pointname.equator{
  top: 60rem;
  left: 135rem;
  color: red;
  font-size: 2.0rem;
  width: 20rem;
}

#graph_area {
  width: 1400px; 
  height: 100%;
}