/* st　 
#EB611C
#FFA01D
#FFE599
*/
#main {
  width: 100%;
  height: auto;
  margin: 0;
  background: #030B14;
  border-top: 5px solid #EB611C;
}
.main {
  width: 100%;
  height: 700px;
  margin: 0 auto 0 auto;
  padding: 20px 0;
  position: relative;
  overflow: hidden;
}
.main_a {
  width: 100%;
  height: 700px;
  position: relative;
  object-fit: cover;
}
.main_b {
  width: 800px;
  height: auto;
  position: absolute;
  right: -5%;
  top: 0px;
}
.main_c {
  width: 800px;
  height: auto;
  position: absolute;
  right: -5%;
  top: 0px;
}
.main_03 {
  text-align: center;
  width: auto;
  height: auto;
  background: #FFE599;
  padding: 20px 0;
}
.main_btn {
  width: 950px;
  height: auto;
  position: absolute;
  top: 530px;
  left: 10%;
  display: flex;
  justify-content: space-between;
}
.main_l {
  width: 400px;
  position: relative;
}
.main_r {
  width: 400px;
  position: relative;
}
.main_btn2 {
  width: 95%;
  margin: 0 auto;
  position: relative;
}
/* ボタンのスライドアニメーション*/
.sld a {
  display: block;
  width: 450px;
  height: 90px;
  padding: 30px 0 0 0;
  border-radius: 6px;
  background-repeat: no-repeat;
  background-position: 100% 0;
  background-size: 200% auto;
  background-image: linear-gradient(to right, #fff 0%, #eee 50%, #ccc 50%, #fff 100%);
  box-shadow: 0 3px 10px rgb(0 0 0 / 16%);
  transition: background-position ease 0.4s;
  text-align: center;
  color: #000;
  text-decoration: none;
  font-weight: bold;
  font-size: 20px;
  border: #fff solid 3px;
}
.sld a:hover {
  background-position: 0 0;
  border: #EB611C solid 3px;
}
.sld img {
  position: absolute;
  width: 45px;
  height: 51px;
  top: 20px;
  left: 35px;
}
/* ---------------------------ボタンの装飾 */
.d_pulse-btn {
  width: 100%;
  position: relative;
}
.pulse-btn {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 90px;
  height: 100px;
  border-radius: 50%;
  background-color: transparent;
  box-shadow: 0 0 50px #fff;
  opacity: 0.4;
  right: 350px;
  top: 180px;
}
/* ボタンの中のアイコン画像 */
.pulse-btn img {
  width: 100px;
}
/* ボタンの波紋 */
.pulse-btn::before, .pulse-btn::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100px;
  height: 100px;
  border: 1px solid #FFF;
  border-radius: 50%;
  box-sizing: border-box;
  pointer-events: none;
  animation: pulsate 2s linear infinite;
}
.pulse-btn::after {
  animation-delay: 2s;
  position: absolute;
}
/* ボタンの波紋が広がっていくアニメーション */
@keyframes pulsate {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(2);
    opacity: 0;
  }
}
.main_txt {
  position: absolute;
  width: 800px;
  height: 400px;
  top: 50px;
  left: 10%;
}
.main_txt h3 {
  font-size: 2.5rem;
  font-weight: bolder;
  color: #fff;
  text-shadow: 1px 1px 0 #000, -1px -1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, 0px 1px 0 #000, 0-1px 0 #000, -1px 0 0 #000, 1px 0 0 #000;
  letter-spacing: 0.2em;
  animation: flashing 3s ease-in-out infinite alternate;
  text-align: left;
}
.main_txt h4 {
  margin: 0.5em 0 1em 0;
  font-size: 2rem;
  font-weight: bolder;
  color: #fff;
  text-shadow: 1px 1px 0 #000, -1px -1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, 0px 1px 0 #000, 0-1px 0 #000, -1px 0 0 #000, 1px 0 0 #000;
  animation: flashing 3s ease-in-out infinite alternate;
  text-align: left;
}
.main_txt p {
  padding: 2px 2px 2px 1em;
  margin: 0;
  font-size: 1.4rem;
  line-height: 150%;
  color: #fff;
  display: inline-block;
  background-color: rgb(0 0 0 /0.8);
  text-align: left;
}
@keyframes flashing {
  0% {
    opacity: 1;
    color: #fff;
  }
  100% {
    opacity: 1;
    color: yellow;
  }
}
/* ボタンの装飾 */
.bg {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  color: #fff;
}
.bg.-visible:before {
  transform: translate(0, 0);
}
.bg:before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #a33e46;
  transform: translate(0, 100%);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) .6s;
  content: '';
}
/*    */
/*リンクの下線アニメーション*/
.navi ul {
  position: relative;
  top: -50px;
  list-style: none;
}
.navi li {
  list-style: none;
  display: inline-block;
  padding: 0 20px;
  border-right: 1px solid #333;
}
.navi a {
  position: relative; /*アンダーラインの位置を決めるための基準 */
  text-decoration-line: none;
}
.navi a::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #000000;
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: right top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
  transition: transform 0.3s; /*変形の時間*/
}
.navi a:hover::after {
  transform: scale(1, 1); /*ホバー後、x軸方向に1（相対値）伸長*/
  transform-origin: left top; /*左から右に向かう*/
}
/*    */
/*    */
/* namiアニメーション*/
.t_animation {
  width: 20px;
  height: 20px;
  margin: 20px;
  animation: ugoki 3s linear infinite alternate;
}
@keyframes ugoki {
  0% {
    opacity: 0.75;
  }
  100% {
    opacity: 1;
  }
}
.i_cli {
  width: 90%;
  margin: 0 auto;
}
.i_cli ul {
list-style: none; ;
}
.i_cli li img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.i_cli li {
  position: relative;
  width: 180px;
  height: 60px;
  float: left;
}
