@charset "UTF-8";
/* CSS Document */

/* top */
.top{
    position: relative;
}
.square1{
	position: absolute;
	top: -10%;
	right: 0%;
	width: 52%;
	height: 15vh;
	max-height: 100px; 
	background: #f8d7d8;
    z-index: -1;
}

.top::after{
    content: 'Steadily exceed your goals step by step';
    position: absolute;
    max-width: 60%;
    bottom: 8%;
    right: 0;
    text-align: end;
    font-size: 5.6rem;
    font-weight: bold;
    -webkit-text-stroke: 1px #d72229;
    color: transparent;
    font-family: "遊明朝体", "Yu Mincho", "遊明朝", "Hiragino Mincho ProN", serif;    
}
.top_inner{
    display: flex;
}
.top_back{
    background: #d72229;
    width: 26%;
  }

.top h2{
    position: relative;
    padding: 50% 0 0 12%;
    font-family: "遊明朝体", "Yu Mincho", "遊明朝", "Hiragino Mincho ProN", serif;
	font-size: 7.5vw;
	color: #FFF;
    line-height: 0.4;
    z-index: 1;
}
.top h2 span{
    font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-size: 1.5vw;
}
.img{
    width: 74%;
    padding-bottom: 5%;
    opacity:0;
    animation-name:animation;
    animation-duration:1s; 
    animation-fill-mode: forwards;
  }
  @keyframes animation {
  0% {
   opacity: 0;
   transform: translateX(-50px);
  }
    100%{
      opacity: 1;
      transform: translateX(0);
    }
  }
   
.top ul{
    box-sizing: border-box;
    text-align: right;
    margin-top: -4%;
}
.top ul li{
    display: inline-block;
    font-size: 1.3rem;
    font-weight: 600;
}
.top ul li a{
    position: relative;
    margin-right: 30px;
}
.top ul li a::after{
    content: '';
    position: absolute;
    top: 20%;
    right: -25px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 10px;
    border-color: transparent transparent transparent #d72229;  
}
.top ul li span{
    margin-right: 45px;
}

/* info */
.info h3{
    font-size: 2.8rem;
    text-align: center;
    letter-spacing: 0.4rem;
    padding-top: 100px;
    padding-bottom: 70px;
}
.info h3 span{
    font-size: 1.2rem;
    color: #d72229;
    letter-spacing: 0.1rem;
}
.info table{
    max-width: 1000px;
    margin: 0 auto;
}
.info table tr{
    border-bottom: solid 2px #98A6B5;
    font-size: 1.4rem;
}
.info table tr:first-child{
    border-top: solid 2px #98A6B5;
}
.info table tr th{
    font-weight: 500;
    text-align: left;
    padding: 3% 0 3% 11vw;
}
.info table tr td{
    padding-left: 7vw;
    padding-right: 18vw;
}
/* access */
.access{
    padding: 0% 22% 100px 22%;
}
.access h3{
    font-size: 2.8rem;
    text-align: center;
    letter-spacing: 0.2rem;
    padding-top: 100px;
    padding-bottom: 70px;
}
.access h3 span{
    font-size: 1.2rem;
    color: #d72229;
    letter-spacing: 0.1rem;
}
.gmap {
    max-width: 1000px;
    height: 0;
    overflow: hidden;
    padding-bottom: 26%;
    margin: 0 auto;
    border: solid 1px #98A6B5;
    position: relative;
    }
    .gmap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    }

@media screen and (max-width:550px) {
    .top{
        padding-top: 10%;
    }
    .square1{
        top: 6%;
    }
    .top_back{
        width: 35%;
    }
    .top h2{
        padding: 80% 0 0 5%;
        font-size: 11vw;
    }
    .img{
        width: 65%;
      }
    .img img{
        height: 250px;
        object-fit: cover;
    }
    .top ul li{
        font-size: 1rem;
    }
    .top ul li a::after{
        top: 15%;
        right: -24px;
        border-width: 4px 0 4px 8px;
    }
    .top ul li span{
        margin-right: 20px;
    }


.top::after{
    content: 'Steadily exceed your goals step by step';
    position: absolute;
    max-width: 50%;
    bottom: 8%;
    right: 0;
    font-size: 2.4rem;
}

    /* info */

    .info h3{
        font-size: 2.2rem;
        padding-bottom: 50px;
    }
    .info h3 span{
        font-size: 1.4rem;
        font-weight: 500;
    }
    .info table th,.info table td{
        display: block;
    }
    .info table tr{
        border-bottom: solid 1px #98A6B5;
    }
    .info table tr:first-child{
        border-top: solid 1px #98A6B5;
    }
    .info table tr th{
        font-weight: 600;
        text-align: left;
        padding: 3% 0 2% 7vw;
    }
    .info table tr td{
        padding: 0 18vw 3% 7vw;
        font-size: 1.3rem;
    }

    /* access */
.access{
    padding: 0% 10% 100px 10%;
}
.access h3{
    font-size: 2.2rem;
    padding-bottom: 50px;
}
.access h3 span{
    font-size: 1.4rem;
    font-weight: 500;
}
.gmap {
    max-width: 350px;
    padding-bottom: 90%;
    }
}