@charset "UTF-8";
/* =====================================
	全体設定
===================================== */

html{
    font-size: 62.5%;
}

a{
	color:#000;
	text-decoration:none;
    transition: 0.3s all ease;
}

a:hover{
	opacity: 0.6;
}

.sp{
	display:none !important;
}

body{
	position: relative;
	margin: 0 auto;
	font-size: min(4vw, 3.0rem);
	font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-style: normal;
	color: #232323;
    background: #fafafc;
    line-height: 1.8;
	text-align: left;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;/*Chrome,Safari*/
	-ms-text-size-adjust: 100%;/*EgdeMobile*/
	-moz-text-size-adjust: 100%;/*firefox*/
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "palt";
    letter-spacing: 0.02em;
}

#wrapper{
    width: 100%;
    max-width: 750px;
    margin: 0 auto;
    background: #fff;
}

img{
    max-width: 100%;
}


/* =====================================
	main
===================================== */

.visual{
    width: 100%;
    position: relative;
}

.visual video{
    width: 100%;
}

.visual .emblem01 img{
    width: min(20.53vw, 154px);
    position: absolute;
    top: 10%;
    left: 55%;
}

.visual .emblem02 img{
    width: min(20.53vw, 154px);
    position: absolute;
    top: 10%;
    left: 77%;
}

.visual h1 img{
    width: min(67.467vw, 506px);
    position: absolute;
    top: 57.5%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.experience .movie{
    width: min(81.867vw, 614px);
    aspect-ratio: 16 / 9;
    margin: 0 auto;
}

.experience .movie iframe{
    width: 100%;
    height: 100%;
}

.experience > ul{
    width: 100%;
    height: min(127.467vw, 956px);
    background: url("../img/bg01.png") no-repeat center;
    background-size: contain;
    padding-top: min(40.4vw, 303px);
}

.experience > ul li img{
    width: 100%;
}

.slick-prev, .slick-next{
    top: min(64.133vw, 481px);
    width: min(3.33vw, 25px);
    height: min(5.867vw, 44px);
    -webkit-transform: translate(0);
    -ms-transform: translate(0);
    transform: translate(0);
    z-index: 100;
}

.slick-prev{
    left: min(3.6vw, 27px);
    background: url("../img/prev01.png") no-repeat center;
    background-size: contain;
}

.slick-next{
    right: min(3.6vw, 27px);
    background: url("../img/next01.png") no-repeat center;
    background-size: contain;
}

.results dl{
    border-bottom: min(0.4vw, 3px) solid #e5e5e5;
    width: min(89.33vw, 670px);
    margin: 0 auto;
}

.results dl dt{
    border-top: min(0.4vw, 3px) solid #e5e5e5;
    width: 100%;
    font-size: min(5.067vw, 3.8rem);
    font-weight: 500;
    text-align: center;
    line-height: 1;
    color: #21719a;
    padding: min(4vw, 30px) 0;
    cursor: pointer;
    position: relative;
}

.results dl dt::before{
    content: "";
    width: min(4vw, 30px);
    height: min(0.4vw, 3px);
    background: #21719a;
    position: absolute;
    top: 50%;
    right: min(4vw, 30px);
    transform: translateY(-50%);
}

.results dl dt::after{
    content: "";
    width: min(0.4vw, 3px);
    height: min(4vw, 30px);
    background: #21719a;
    position: absolute;
    top: 50%;
    right: min(5.733vw, 43px);
    transform: translateY(-50%);
}

.results dl dt.active::after{
    opacity: 0;
}

.results dl dd{
    display: flex;
    justify-content: space-between;
    border-top: min(0.4vw, 3px) solid #e5e5e5;
    padding: min(4.8vw, 36px) min(4vw, 30px) min(8.933vw, 67px);
    font-weight: normal;
}

.results dl dd ul{
    width: 45.082%;
}

.results dl div:last-child dd{
    padding: min(4.8vw, 36px) min(4vw, 30px) min(8.933vw, 67px) min(9.33vw, 70px);
}

.results dl div:last-child dd ul{
    width: 100%;
}



/* =====================================
	footer
===================================== */

footer{
    margin-top: min(21.33vw, 160px);
}

.floating{
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 750px;
    background: rgb(255, 255, 255, .75);
    display: flex;
    justify-content: space-between;
    padding: min(2.67vw, 20px) min(2.533vw, 19px);
}

.floating li:nth-child(1){
    width: 45.646%;
}

.floating li:nth-child(2){
    width: 52.66854%;
}
