h1,
h2,
h3,
h4,
h5,
h6,
span,
a,
p,
th,
td {
  /* font-family: 'Open Sans', 'Helvetica Neue', 'sans-serif' */
  font-family: arial, helvetica, HiraKakuProN-W3, Hiragino Sans, noto-sans-cjk-jp, Meiryo, メイリオ, sans-serif;
}

:root {
  --dark-0: #000000;
  --dark-1: #142245;
  --dark-2: #a9aebe;
  --dark-3: #c6cbdc;
  --dark-4: #333;
  --dark-outline: #142245;
  --light-0: #f0f6fd;
  --light-1: #fafcff;
  --light-2: #fefeff;
  --light-3: #fafafa;
  --light-4: #ffffff;
  --light-5: #fff;
  --light-outline: #f0f6fd;
  --red-0: #ef3b3b;
  --red-1: #ffd5d5;
  --red-outline: #ef3b3b;
  --green-0: #3ed25e;
  --green-outline: #3ed25e;
  --blue-0: #213785;
  --blue-1: #374fa2;
  --blue-2: #4698f7;
  --blue-3: #d7ebff;
  --blue-link: #0f56b3;
  --blue-outline: #374fa2;
  --yellow-0: #ffc93f;
  --yellow-1: #fef2d5;
  --yellow-outline: #ffc93f;
  --orange-0: #f36f21;
  --orange-1: #ffddbe;
  --orange-outline: #f36f21;
  --teal-0: #06daf7;
  --teal-outline: #06daf7;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --color-default: #212529;
  --color-primary: #ce1212;
  --color-secondary: #37373f;
  scroll-behavior: smooth;
  --delay-time: .5s;
}

a {
  text-decoration: none !important;
}
.icon-mess {
  background-image: url(../images/icon-mess.png)
}

.icon-gmail {
  background-image: url(../images/icon-gmail.png)
}

.icon-home {
  background-image: url(../images/icon-home.png);
}

.icon-sv1 {
  background-image: url(../images/home/service1.webp);
}

.icon-sv2 {
  background-image: url(../images/home/service2.png);
}

.icon-sv3 {
  background-image: url(../images/home/service3.png);
}

.icon-sv4 {
  background-image: url(../images/home/service4.png);
}

.icon-favorite {
  background-image: url(../images/icons/icon-favorite.svg);
}

.icon-favorite-active {
  background-image: url(../images/icons/icon-favorite-active.svg);
}
.icon-fb-2 {
  background-image: url(../images/icons/fb-icon.png);
}

.icon-workspace {
  background-image: url(../images/icons/icon_workspace.png)
}

.icon-demography {
  background-image: url(../images/icons/icon_demography.png)
}

.icon_diamond {
  background-image: url(../images/icons/icon_diamond.png)
}

.icon_holiday {
  background-image: url(../images/icons/icon_holiday.png)
}

.row-full {
  margin: 0 !important;
}

.row-full-wr {
  padding-left: 15vw !important;
  padding-right: 15vw !important;
}

@media (max-width: 767.98px) {
  .row-full-wr {
    padding: 0 !important
  }
}

.mh-60 {
  min-height: 60px;
}

body {
  background: white !important;
}

.hl-text {
  color: #03c;
  font-weight: bold;
  cursor: pointer;
}

.white-color {
  color: white !important;
}

.fw-bold {
  font-weight: bold;
}

.full-img {
  width: 100%;
}

.img-fit-cover {
  object-fit: cover;
}

.h-150 {
  height: 150px;
}

.h-120 {
  height: 120px;
}

.h-250 {
  height: 250px;
}

.h-550 {
  height: 550px;
}

.contain-img {
  object-fit: contain;
}

.pointer-part {
  cursor: pointer;
}

.ne-resize-part {
  cursor: ne-resize;
}

.row-home-1 {
  background-image: url(../images/home/hero2022.jpg);
  height: 40vw;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
@media (max-width: 767.98px) {
  .row-home-1 {
    height: 60vh;
    background-size: 120% 120%;
  }
}

.ml-10{
  margin-left: 10px;
}

.line-part {
  width: 100px;
  height: 8px;
  background: #982f3a;
  border-radius: 4px;
}

.mb-20 {
  margin-bottom: 20px;
}

.mb-10 {
  margin-bottom: 10px;
}

.step-content-part {
  background: white;
  padding: 20px;
  border: solid 1px;
  border-radius: 8px;
  text-align: center;
  min-height: 265px;
}

.mh-180 {
  min-height: 180px;
}

.step-part {
  text-align: center;
}

.text-center {
  text-align: center;
}

.fs-13 {
  font-size: 13px;
}

.cl-red {
  color:red;
}

.cl-dark4 {
  color:var(--dark-4);
}


.invalid-info {
  color:red;
  width: 100%;
  text-align: center;
  font-style: italic;
  font-size: 12px;
  margin: 0;
}

.success-info {
  color:green;
  width: 100%;
  text-align: center;
  font-weight: bold;
  font-size: 12px;
  margin: 0;
}

.over-for-full {
  min-height: 70vh;
}

@media (max-width: 767.98px) {
  .over-for-full {
    min-height: 50vh;
  }
}

.scroll-part{
  overflow: auto;
}

.scroll-y-part{
  overflow-y: auto;
  overflow-x: hidden;
}

.t-overflow-ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mb-0{
  margin-bottom: 0;
}

.modal-backdrop{
  z-index: 100000 !important;
}

.modal {
  z-index: 100001 !important;
}

.gray-color1{
  color:#7b7c7c
}

.modal-content {
  border-radius: 8px !important;
  padding: 10px 0 !important;
}

.mt-4 {
  margin-top: 4px;
}

.mt-10 {
  margin-top: 10px;
}

.mt-20 {
  margin-top: 20px;
}

.pt-20 {
  padding-top: 20px;
}

.pt-40 {
  padding-top: 40px;
}

.ml-20 {
  margin-left: 20px;
}

.big-popup-content{
  height: 80vh;
}

@media (max-width: 767.98px) {
  .big-popup-content {
    height: 68vh;
  }
}

.close-icon-part {
  position: absolute;
  top: 5px;
  right: 5px;
  cursor: pointer;
}

.color-red {
  color: var(--red-0);
}

.box-shadow1{
  box-shadow: 0 2px 4px rgb(0 0 0 / 25%);
}

.mb-0 {
  margin-bottom: 0;
}

.disabled-element {
  pointer-events: none;
}

.btn-with-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.bg-light-5 {
  background: var(--light-5);
}

/* map HTML marker styles */
.price-tag {
  background-color: #4285F4;
  border-radius: 8px;
  color: #FFFFFF;
  font-size: 14px;
  padding: 10px 15px;
  position: relative;
}

.price-tag::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translate(-50%, 0);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #4285F4;
}

.block-tag {
  width: 300px;
  height: 400px;
}

.block-tag img {
  width: 100%;
  height: 75%;
  object-fit: contain;
}

@keyframes drop {
  0% {
    transform: translateY(-200px) scaleY(0.9);
    opacity: 0;
  }
  5% {
    opacity: 0.7;
  }
  50% {
    transform: translateY(0px) scaleY(1);
    opacity: 1;
  }
  65% {
    transform: translateY(-17px) scaleY(0.9);
    opacity: 1;
  }
  75% {
    transform: translateY(-22px) scaleY(0.9);
    opacity: 1;
  }
  100% {
    transform: translateY(0px) scaleY(1);
    opacity: 1;
  }
}
.drop {
  animation: drop 0.3s linear forwards var(--delay-time);
}

.ui-button {
  background-color: #fff;
  border: 0;
  border-radius: 2px;
  box-shadow: 0 1px 4px -1px rgba(0, 0, 0, 0.3);
  margin: 10px;
  padding: 0 0.5em;
  font: 400 18px Roboto, Arial, sans-serif;
  overflow: hidden;
  height: 40px;
  cursor: pointer;
}

.ui-button:hover {
  background: rgb(235, 235, 235);
}