@charset "UTF-8";

main{
    padding-top: 100px;
}

.top_heading{
    background-image: url("../image/under_bg.png");
    background-position: center center;
    -webkit-background-size: cover;
    background-size: cover;
    color: #FFF;
    text-align: center;
    padding: 50px 0px; 
}

.top_heading h1{
        font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.065em;
    margin-top: 15px;

}

.top_heading .border{
    height: 1px;
    width: 31px;
    background-color: #FFF;
    margin: 0 auto;
}

.top_heading h2{
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: 15px;
}

.description_contetnts{
    background-color: #FFF;
}
.description {
    text-align: center;
    padding: 60px 0px;
    max-width: 800px;
    width: 90%;
    text-align: left;
    margin: 0 auto;
    background-color: #FFF;
}
.description h3 {
        font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.065em;
    text-align: center;
}
.description p {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.065em;
    margin-top: 20px;
    line-height: 22px;
}
.service_contents{
    background-image: url("../image/contents_bg.png");
    -webkit-background-size: cover;
    background-size: cover;
    background-position: top center;
}

.service_contents .row{
    margin: 0 auto;
    max-width: 810px;
    width: 90%;
        display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}

.service_contents .service_row {
    width: 30%;
}

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

.service_contents h4 {
    font-size: 16px;
    font-weight: 1000;
    letter-spacing: 0.055em;
    line-height: 24px;
    text-align: center;
    margin-bottom: 10px;
}

.service_contents h4.high_name {
    padding: 10px 0px;
}

.service_contents p {
    text-align: left;
    font-size: 12px;
    letter-spacing: 0.05em;
    font-weight: 500;
    line-height: 20px;
    margin-top: 15px;
}
.service_contents ul {
    padding: 0;
    margin-top: 20px;
    text-align: left;
}
.service_contents ul li {
            font-size: 12px;
    font-weight: 400;
    letter-spacing: -0.055em;
    line-height: 17px;
    list-style: none;
}

#bg-video {
    position: fixed;
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -100;
    background: url('poster.jpg') no-repeat;
    background-size: cover;
}

/* ----- 背景の上に表示させたいコンテンツ ----- */

.header-title {
    position: relative;
    /*必ず必要*/
    z-index: 2;
    /*必ず必要*/
    display: flex;
    width: 50%;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: auto;
    height: 300px;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;
}

.wrap {
    height: 400px;
    background: linear-gradient(-45deg, rgba(82, 0, 25, 0.5), rgba(0, 78, 75, 0.5));
    animation: AnimationName 10s ease infinite;
    background-size: 600% 600%;
}

@keyframes AnimationName {
    0% {
        background-position: 0% 50%
    }
    50% {
        background-position: 80% 50%
    }
    100% {
        background-position: 0% 50%
    }
}

.parent {
    background: #FFF;
    transform: skew(0deg, 1.8deg);
    position: relative;
    z-index: 3;
    height: 100px;
    margin-top: -50px;
    margin-bottom: -30px;
}

.child {
    transform: skew(0deg, -1.8deg);
}

.parent2 {
    background: #FFF;
    transform: skew(0deg, -1.8deg);
    position: relative;
    z-index: :3;
    height: 100px;
    margin-top: -30px;

}

.child2 {
    transform: skew(0deg, 1.8deg);
}

.reel_title {
    color: #FFF;
    font-size: 60px;
    font-weight: 1000;
}

.rainbow {
    background: transparent;
    color: #FFF;
    position: relative;
    padding: 15px 25px;
    display: inline-block;
    text-align: center;
    transition: .3s;
    display: block;
}

p.rainbow{
    margin-bottom: 0;
    margin-top: 100px;
    padding-bottom: 25px;
}

.rainbow:hover {
    text-shadow: 2px 4px #F4064F, -2px -4px #1EE5E0;
}

.rainbow:active {
    color: FFF;
    text-shadow: none;
}

.icon_3d {
    font-size: 120px;
    display: block;
    color: #FFF;
}

.hamon{
  border-radius: 10px;
  color:#fff;
  position: relative;
  position: relative;
  overflow: hidden;
  transition: .5s;
}
.hamon::before,
.hamon::after{
  position: absolute;
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  left: calc(50% - 5px);
  top: calc(50% - 5px);
  border-radius: 50%;
  background: rgba(255, 255, 255, .5);
  transform: scale(0,0);
    margin-top: 50px;
}
.hamon:hover::before{
  animation: hamon 2s infinite;
}
.hamon:hover::after{
  animation: hamon 2s .3s infinite;
}
@keyframes hamon {
  0%   {  transform: scale(0,0);}
  100% {  transform: scale(100,100);opacity: 0;}
}

.reel_sub_title{
    font-size:18px;
    margin-top: 5px;
    margin-bottom: 5px;
}
.application h3{
    text-align: center;
    margin: 0;
}


.application{
    max-width: 800px;
    width: 90%;
    margin: 0 auto;
    background-color: #FFF;
}

p{
        text-align: left;
    font-size: 12px;
    letter-spacing: 0.05em;
    font-weight: 500;
    line-height: 20px;
}

.application_contents{
    background-color: #FFF;
    padding-top: 50px;
    margin-top: -30px;
}


.client {
    margin-top: -50px;
}