/* Noto Sans JP の読み込みは functions.php に集約（2026-05-26 一本化）。
   従来ここにあった @import url('...Noto+Sans+JP') は削除。weight 400/700 を <head> でまとめて読み込む。 */
html {
  scroll-behavior: smooth;
}
pre {
	white-space: pre-wrap ;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
}
a.selected{
    color: #FFF !important;
}

.hover-anime {
    cursor: pointer;
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}
.hover-anime:hover {
    transform: scale(1.1);
}

@media (min-width: 768px){
  .container {
    max-width: 780px;
  }  
}
@media (min-width: 992px){
  .container {
    max-width: 1100px;
  }  
}

.fa-youtube-play:before {
  color: red;
}
.fa-twitter:before {
  color: rgb(13, 157, 224);
}
.font-noto{
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
  -webkit-transform-origin: 0 0;
  -webkit-transform: scale(1, 1.01);
  -moz-transform-origin: 0 0;
  -moz-transform: scale(1, 1.01);
  -ms-transform-origin: 0 0;
  -ms-transform: scale(1, 1.02);
  -o-transform-origin: 0 0;
  -o-transform: scale(1, 1.01);
  color: #666;
}
.font-min{
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
  -webkit-transform-origin: 0 0;
  -webkit-transform: scale(1, 1.01);
  -moz-transform-origin: 0 0;
  -moz-transform: scale(1, 1.01);
  -ms-transform-origin: 0 0;
  -ms-transform: scale(1, 1.02);
  -o-transform-origin: 0 0;
  -o-transform: scale(1, 1.01);
  color: #FFF;
  font-weight: bold;
}
.font-panel-title{
  font-weight: bold;
  margin-right: 10px;
}
.font-panel{
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
  -webkit-transform-origin: 0 0;
  -webkit-transform: scale(1, 1.01);
  -moz-transform-origin: 0 0;
  -moz-transform: scale(1, 1.01);
  -ms-transform-origin: 0 0;
  -ms-transform: scale(1, 1.02);
  -o-transform-origin: 0 0;
  -o-transform: scale(1, 1.01);
  color: #333;
  font-size: 1.5rem !important;
  padding: 20px;
  text-align: left;
}
.twitter-timeline {
  padding: 0 20px;
}
.modal-dialog{
  display: grid;
  align-items: center;
  min-height: 100%;
}
.modal-content {
  font-family: 'Noto Sans JP', sans-serif !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  color: white;
  font-size: 1.8rem;
}
.modal-body{
  padding-top: 0 !important;
  margin-top: -85px;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
  -webkit-transform-origin: 0 0;
  -webkit-transform: scale(1, 1.01);
  -moz-transform-origin: 0 0;
  -moz-transform: scale(1, 1.01);
  -ms-transform-origin: 0 0;
  -ms-transform: scale(1, 1.02);
  -o-transform-origin: 0 0;
  -o-transform: scale(1, 1.01);
}
.btn{
  margin: 10px;
}
.drop {
  position: relative;
  width: 20px;
  height: 20px;
  top: -30px;
  margin: 0 auto;
  background: #FFF;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  border-radius: 20px;
  -moz-animation-name: drip;
  -webkit-animation-name: drip;
  animation-name: drip;
  -moz-animation-timing-function: cubic-bezier(1,0,.91,.19);
  -webkit-animation-timing-function: cubic-bezier(1,0,.91,.19);
  animation-timing-function: cubic-bezier(1,0,.91,.19);
  -moz-animation-duration: 2s;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -moz-animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.drop:before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 30px solid rgba(255,255,255,1);
  top: -22px;
}

.wave {
  position: absolute;
  opacity: 0;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 1px;
  border: #FFF 7px solid;
  -moz-border-radius: 300px / 150px;
  -webkit-border-radius: 300px / 150px;
  border-radius: 300px / 150px;
  -moz-animation-name: ripple;
  -webkit-animation-name: ripple;
  animation-name: ripple;
  -moz-animation-delay: 2s;
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
  -moz-animation-duration: 2s;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -moz-animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  transform: translate(-50%, -50%);
}

.wave:after {
  content: "";
  position: absolute;
  opacity: 0;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 1px;
  border: #FFF 5px solid;
  -moz-border-radius: 300px / 150px;
  -webkit-border-radius: 300px / 150px;
  border-radius: 300px / 150px;
  -moz-animation-name: ripple-2;
  -webkit-animation-name: ripple-2;
  animation-name: ripple-2;
  -moz-animation-duration: 2s;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -moz-animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  transform: translate(-50%, -50%);
}

@keyframes ripple {
    from {
      opacity: 1;
    }
    to {
      width: 700px;
      height: 350px;
      border-width: 1px;
      top: 50%;
      left: 50%;
      opacity: 0;
    }
}

@keyframes ripple-2 {
    0% {
      opacity: 1;
    }
    50% {
      opacity: 0;
    }
  100% {
    width: 300px;
    height: 150px;
    border-width: 1px;
    top: 50%;
    left: 50%;
  }
}

@keyframes drip {
    to {
      top: 50%;
    }
}

.background {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: -1;
}

.main-title{
    font-size: 4rem;
}
.sub-title{
    font-size: 2.5rem;
}

.text-center{
  text-align: center;
}
.m-0-hr{
  margin: 0 !important;
  margin-top: 12px !important;
}
.my-5{
    margin: 30px 0;
}
.mb-2{
    margin-bottom: 20px !important;
}
.mb-4{
    margin-bottom: 40px !important;
}
.mb-7{
    margin-bottom: 70px !important;
}
.wrapper-contact{
  height: 20px;
  margin-bottom: 30px !important;
}
.title-contact{
  font-size: large;
}

.box_10_ttl {
	border-left: solid 4px #27acd9;
	padding-left: 12px;
  text-align: left;
	color: #27acd9;
	font-weight: bold;
	margin-bottom: 10px;
  font-size: 1.7rem;
  margin-top: 0px;
}
.box_10_txt {
	margin-top: 10px;
  text-align: left;
  font-size: 1.4rem;
}

.box_15 {
	padding: 0.1em;
	}
.box_15_ttl {
	border-left: solid 4px #27acd9;
	padding-left: 15px;
  text-align: left;
	color: #27acd9;
	font-weight: bold;
	margin-bottom: 10px;
  font-size: 2.2rem;
	}
.box_15_txt {
	margin-top: 10px;
	padding-left: 20px;
  text-align: left;
  font-size: 1.4rem;
}

hr {
  border-top: 1px solid #DDD;
}
.guide-hr {
  margin: 5px 0 !important
}