@charset "UTF-8";
/* CSS Document */
html {
  margin-top: 0 !important;
}
html body {
  margin-top: 0 !important;
  background: #fff;
}
body {
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: source-han-sans-japanese, source-han-sans-japanese,
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka,
    "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #000;
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 auto;
  padding: 0;
  font-size: 1.2vw;
  line-height: 100%;
  font-weight: 100;
}
img,
video,
iframe {
  margin: 0;
  padding: 0;
  vertical-align: bottom;
}
a {
  text-decoration: none;
  color: #000;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
a:hover {
  opacity: 0.6;
}
@-webkit-keyframes flash {
  0% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}
@keyframes flash {
  0% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes shine {
  100% {
    left: 100%;
  }
}
@keyframes shine {
  100% {
    left: 100%;
  }
}
.pc {
  display: block;
}
.tab {
  display: none;
}
.sp {
  display: none;
}

/* 16px~32px */
.pm {
  margin: clamp(1rem, 0.6364rem + 1.8182vw, 2rem) 0;
}
.pmt {
  margin-top: clamp(1rem, 0.6364rem + 1.8182vw, 2rem);
}
.pmb {
  margin-bottom: clamp(1rem, 0.6364rem + 1.8182vw, 2rem);
}
.pp {
  padding: clamp(1rem, 0.6364rem + 1.8182vw, 2rem) 0;
}
.ppt {
  padding-top: clamp(1rem, 0.6364rem + 1.8182vw, 2rem);
}
.ppb {
  padding-bottom: clamp(1rem, 0.6364rem + 1.8182vw, 2rem);
}
/* 8px~16px */
.pm05 {
  margin: clamp(0.5rem, 0.3182rem + 0.9091vw, 1rem) 0;
}
.pmt05 {
  margin-top: clamp(0.5rem, 0.3182rem + 0.9091vw, 1rem);
}
.pmb05 {
  margin-bottom: clamp(0.5rem, 0.3182rem + 0.9091vw, 1rem);
}
.pp05 {
  padding: clamp(0.5rem, 0.3182rem + 0.9091vw, 1rem) 0;
}
.ppt05 {
  padding-top: clamp(0.5rem, 0.3182rem + 0.9091vw, 1rem);
}
.ppb05 {
  padding-bottom: clamp(0.5rem, 0.3182rem + 0.9091vw, 1rem);
}
/* 2px~4px */
.pm005 {
  margin: clamp(0.125rem, 0.0795rem + 0.2273vw, 0.25rem) 0;
}
.pmt005 {
  margin-top: clamp(0.125rem, 0.0795rem + 0.2273vw, 0.25rem);
}
.pmb005 {
  margin-bottom: clamp(0.125rem, 0.0795rem + 0.2273vw, 0.25rem);
}
.pp005 {
  padding: clamp(0.125rem, 0.0795rem + 0.2273vw, 0.25rem) 0;
}
.ppt005 {
  padding-top: clamp(0.125rem, 0.0795rem + 0.2273vw, 0.25rem);
}
.ppb005 {
  padding-bottom: clamp(0.125rem, 0.0795rem + 0.2273vw, 0.25rem);
}

footer{
  text-align: center;
}

@media screen and (max-width: 960px) {
  p,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: 3.2vw;
  }
  .pc {
    display: block;
  }
  .tab {
    display: block;
  }
  .sp {
    display: none;
  }
}

@media screen and (max-width: 500px) {
  .pc {
    display: none;
  }
  .tab {
    display: none;
  }
  .sp {
    display: block;
  }
}



/* =========================================================
     選択された言語のみ表示
========================================================= */
.lang {
  display: none; /* デフォルトでは全ての言語を非表示 */
}
.lang-active {
  display: block; /* アクティブな言語のみ表示 */
}
.language-btn {
  margin-right: 10px;
  text-decoration: none;
  color: blue;
  font-size: 14px;
}
.language-btn.active {
  font-weight: bold; /* アクティブなボタンを強調表示 */
}
.lang p{
  font-size: 14px;
}
.lang h2{
  font-size: 25px;
  font-weight: bold;
}
@media screen and (max-width: 500px) {
  .lang p{
    font-size: 12px;
  }
  .lang h2{
    font-size: 14px;
  }
}
/* =========================================================
     ページトップ
========================================================= */
.to-top{
  position: fixed;
  right: 2%;
  bottom: 2%;
}
.to-top img{
  max-width:200px;
}
@media screen and (max-width: 500px) {
  .to-top img{
    max-width:150px;
  }
}