@charset "UTF-8";

/* about */
.background-stadium {
  background: url(../image/stadium.png);
  background-size: cover;
  padding: 200px 0;
  text-align: center;
  font-size: 36px;
}

.contents {
  overflow: hidden;
}
.item-four-part {
  float: left;
  padding: 20px 0px;
  text-align: center;
  width: 25%;
}

.item-two-part {
  float: left;
  padding: 0 20px;
  text-align: center;
  width: 45%;
}

.item-three-part {
  float: left;
  text-align: center;
  padding: 0px 20px;
  width: 30%;
}

.item2 {
  float: left;
  padding: 20px 0px;
  text-align: center;
  width: 60%;
}

.item3 {
  float: left;
  padding: 20px 30px;
  text-align: center;
  width: 45%;
}

.background-about {
  background: url(../image/player.jpg);
  padding: 200px 0px;
  background-size:100%;
  
  text-align: center;
  font-size: 36px;
}

.width-two-part {
  width:50%;
}

.width-three-part{
  width: 30%;
}

.width-four-part{
  width: 25%;
}

.img-div-logo {
  width:auto;
  height:auto;
  max-width:100%;
  max-height:200px;
}

.img-div {
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
}

.img-div-parent {
  width:auto;
  height:auto;
  max-width:50%;
  max-height:50%;
}

.video {
  width:100%;              /*横幅いっぱいにwidthを指定*/
  padding-bottom: 56.25%;  /*高さをpaddingで指定(16:9)*/
  height:0px;              /*高さはpaddingで指定するためheightは0に*/
  position: relative;
}

.video iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}


.box-left {
  margin-top: -15%;
  margin-left: 40%;
  max-width:40%;
  background-color: rgba(28,51,101,0.8);
  z-index: 1;
  position: absolute;
}

.box-right {
  text-align: left;
  margin-top: -15%;
  margin-left: 20%;
  max-width:40%;
  background-color: rgba(28,51,101,0.8);
  z-index: 1;
  position: absolute;
}

.box-center {
  margin-top: -5%;
  margin-left: 9%;
  max-width:80%;
  min-width: 80%;
  background-color: #dbdf1eab;
  z-index: 1;
  position: absolute;
}

.div-position {
  position: relative;
  width:100%;
}

.margin-height-auto {
  margin: auto 0px;
}

.sub-font-size {
  font-size: 20px;
  font-weight: 400;
}

.parent-voice {
  padding-top: 50px;
  font-size: 25px;
}

.back-image {
  background-image: url("../image/player2.jpg");
}

.padding-bottom {
  padding-bottom: 30px;
}


@media all and (min-width: 768px) {
  .font-custom {
    font-size: 19px;
  }
}
 
@media all and (max-width: 768px) { 
  .font-custom {
    font-size: 17px;
  }
}
/* アニメーション */

#box{
  width: 100%;
  height: 70px;
  animation: anim 1s;
  animation-fill-mode:forwards;
}

#image{
  animation: rotation 1s;
  width:100px;
  float:left;
}

#child {
  float: left;
  padding-top: 15px;
  font-size: 22px;
  text-align: left ;
  animation: fadeIn 1s;
}

@keyframes fadeIn { /*animation-nameで設定した値を書く*/

  0% {opacity: 0} /*アニメーション開始時は不透明度0%*/

  100% {opacity: 1} /*アニメーション終了時は不透明度100%*/

}

@keyframes anim {
  0% {
  transform: translateX(300px);
  }

  100% {
  transform: translateX(0px);
  }
}
@keyframes rotation{
  0%{ transform:rotate(360deg);}
  100%{ transform:rotate(0); }
}

/* ペコペコ */

.anim-box {
  background: linear-gradient(to right, #362ae0 0%,#3b79cc 50%,#42d3ed 100%);
  border-radius: 5px;
  max-width: 400px;
  height: 250px;
}
.matrix .bg-wrap,
.matrix .bg-wrap .inn {
  display: block;
}
 
.matrix .bg-wrap {
  overflow: hidden;
  opacity: 0;
}
 
.matrix .bg-wrap + .bg-wrap {
  margin-top: 10px;
}
 
.matrix .bg-wrap .inn.large {
  font-size: 36px;
  font-weight: bold;
}
.matrix .bg-wrap .inn.small {
  font-size: 15px;
}
 
.matrix .bg-wrap .inn {
  opacity: 0;
  transform: matrix(1, 0, 0, 1, 0, 100);
  transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
 
.matrix.is-animated .bg-wrap {
  opacity: 1;
}
 
.matrix.is-animated .bg-wrap .inn {
  opacity: 1;
  transform: matrix(1, 0, 0, 1, 0, 0);
}h1{
  font-size:25px;
  text-align: left;
  text-transform:capitalize;
}
.service-box{
 position: relative;
 overflow: hidden;
 margin-bottom:10px;
 perspective:1000px;
 -webkit-perspective:1000px;
}
.service-icon{
 width: 100%;
 height: 250px;
 text-align: center;
 transition: all .5s ease;
}

.service-content{
 position: absolute;
 top: 0;
 left: 0;
 z-index: 1;
 opacity: 0;
 width: 100%;
 height: 250px;
 text-align: center;
 transition: all .5s ease;
 background-color: #474747;
 backface-visibility:hidden;
 transform-style: preserve-3d;
 -webkit-transform: translateY(110px) rotateX(-90deg);
 -moz-transform: translateY(110px) rotateX(-90deg);
 -ms-transform: translateY(110px) rotateX(-90deg);
 -o-transform: translateY(110px) rotateX(-90deg);
 transform: translateY(110px) rotateX(-90deg);
}
.service-box .service-icon .front-content{
 position: relative;
 top:80px;
 -webkit-transform: translateY(-50%);
 -moz-transform: translateY(-50%);
 -ms-transform: translateY(-50%);
 -o-transform: translateY(-50%);
 transform: translateY(-50%);
}

.service-box .service-icon .front-content i {
 font-size: 28px;
 color: #fff;
 font-weight: normal;
}

.service-box .service-icon .front-content h3 {
 font-size: 19px;
 color: #fff;
 text-align: center;
 margin-bottom: 15px;
 text-transform: uppercase;
}
.service-box .service-content h3 {
 font-size: 19px;
 font-weight: 700;
 color: #fff;
 margin-bottom:10px;
 text-transform: uppercase;
}
.service-box .service-content p {
 font-size: 13px;
 color: #b1b1b1;
 margin:0;
}
.yellow{background-color: #ffc000;}
.orange{background-color: #fc7f0c;}
.red{background-color: #e84b3a;}
.grey{background-color: #474747;}
.service-box:hover .service-icon{
 opacity: 0;
 -webkit-transform: translateY(-110px) rotateX(90deg);
 -moz-transform: translateY(-110px) rotateX(90deg);
 -ms-transform: translateY(-110px) rotateX(90deg);
 -o-transform: translateY(-110px) rotateX(90deg);
 transform: translateY(-110px) rotateX(90deg);
}
.service-box:hover .service-content {
 opacity: 1;
 -webkit-transform: rotateX(0);
 -moz-transform: rotateX(0);
 -ms-transform: rotateX(0);
 -o-transform: rotateX(0);
 transform: rotateX(0);
}

.voicerect{
  background-color: #FFFFFF50;
  width: 80%;
}

.sample03 {
  float: left;
  width: 50px;
  height:50px;
  line-height: 50px;
  text-align: center;
  transition: 0.5s;   /* transition プロパティの指定 */
}
/* アニメーション最終状態（到達点）の CSS の設定を記述 */
.sample03:hover {
  transform: rotate(360deg);
}