@charset "UTF-8";

@font-face {
    font-family: 'Poppins-Light';
    src: url(../fonts/Poppins/Poppins-Light.ttf);
}

@font-face {
    font-family: 'Valorax-lg25V';
    src: url(../fonts/valorax-font/Valorax-lg25V.otf);
}

* {
    margin: 0;
    padding: 0;
}

a {
    display: block;
    color: #000;
    text-decoration: none;
}

.loading {
    position: fixed;
    width: 100%;
    height: 800vw;
    overflow: hidden;
    z-index: 10000000;
    visibility: visible;
    opacity: 1;
}

.loading.loaded {
    visibility: hidden;
    opacity: 0;
}   

.logo_anime {
    position: fixed;
    width: 100vw;
    height: 800vw;
    top: 47%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #003366;
    overflow: hidden;
    transition: 0.3s;
    animation: vanish 1.2s 1s forwards;
} 

.logo_anime img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    z-index: 100000000;
    animation: logoanime 0.1s forwards;
    animation-iteration-count: 6;
}

.logo_anime img:nth-of-type(2){
    animation: logoanime2 2s forwards ease;
}

.logo_anime img:nth-of-type(3){
    opacity: 0%;
    animation: logoanime3 1.5s forwards;
}

@keyframes vanish {
    30% {opacity: 100%;}
    99% {left: 50%; opacity: 0%;}
    100% {left: 200%; opacity: 0%;}
}

@keyframes logoanime {
    0% {left: -50%;}
    80% {opacity: 30%;}
    90% {left: 50%; opacity: 0%;}
    100% {left: 200%; opacity: 0%;}
}

@keyframes logoanime2 {
    0% {opacity: 0%; left: -50%;}
    30% {opacity: 90%; left: 50%;}
    40% {opacity: 100%;}
    55% {left: 50%;} 
    60% {left: 150%; opacity: 100%;}
    61% {left: 50%; opacity: 30%;}
    70% {left: 200%;}
    100% {left: 200%; opacity: 0%;}
}

@keyframes logoanime3 {
    30% {opacity: 0%;}
    50% {opacity: 100%; left: 50%;}
    80% {opacity: 100%; left: 50%;}
    100% {opacity: 50%; left: 150%;}
}

header {
    position: fixed;
    display: flex;
    margin: -5vw auto 0;
    width: 100%;
    height: 15vw;
    background-color: #fff;
    clip-path: polygon(28% 0, 38% 40%, 100% 40%, 100% 100%, 0 100%, 0 0);
    border-bottom: 0.4vw solid #003366;
    z-index: 1000000;
}

header h1 {
    width: 25%;
    margin: 4vw 0 2vw 3%;
}

header h1 img {
    display: block;
    height: 100%;
}

header .pcMenu {
    display: flex;
    justify-content: space-between;
    width: 80%;
    margin: 4.5vw 5% auto;
    display: none;
}

header .pcMenu ul {
    display: flex;
    justify-content: space-between;
    width: 90%;
    list-style-type: none;
}

header .pcMenu ul:nth-of-type(2) {
    width: 50%;
    margin-left: 10%;
}

header .pcMenu ul li {
    position: relative;
    height: 100%;
    line-height: 2vw;
    font-size: 1.3vw;
    font-family: 'Poppins-Light';
}

header .pcMenu ul:nth-of-type(1) li::before {
    position: absolute;
    top: 1.7vw;
    left: -5%;
    display: block;
    content: '';
    width: 0%;
    height: 0.2vw;
    background-color: #ff0000;
}

header .pcMenu ul:nth-of-type(1) li:hover::before {
    width: 110%;
    transition: 0.5s;
}

header .pcMenu ul li a {
    font-weight: 600;
    text-align: center;
}

header .pcMenu ul li select,
header .pcMenu ul li option {
    border: none;
    height: 100%;
    line-height: 2vw;
    font-size: 1.3vw;
    font-weight: 600;
    font-family: 'Poppins-Light';
}

header .pcMenu ul:last-of-type li:last-of-type a{
    width: 7vw;
    padding: 0 2%;
    font-size: 1.3vw;
    font-family: 'Valorax-lg25V';
    color: #fff;
    background-color: #000;
}

header .pcMenu ul:last-of-type li:last-of-type a:hover {
    opacity: 0.7;
    transition: 0.5s;
}

.header_box {
    margin-top: -5vw;
    position: fixed;
    width: 100%;
    height: 9vw;
    background-color: #003366;
    z-index: 100000;
}




/* swiperスライドショー */
.swiper_box {
    margin: 5vw auto;
    padding-top: 8vw;
}

.swiper_box .swiper .swiper-wrapper .swiper-slide {
    height: 70vw;
    line-height: 200px;
    text-align: center;
    position: relative;
}

.swiper-button-prev,.swiper-button-next {
    background-color: gainsboro;
}


.swiper img {
    height: 110%;
    filter:brightness(80%);
}

.swiper_box h2 {
    width: 65%;
    text-align: center;
    padding: 1vw;
    position: absolute;
    top: 32%;
    left: 50%;
    transform: translate(-50%,0%);
    color: #ffff00;
    font-size: 120%;
    text-shadow: 0.2vw 0.2vw 0.3vw #000;
    font-family: 'Poppins-Light';
    z-index: 100;
}

.swiper_box p {
    width: 65%;
    text-align: center;
    padding: 1vw;
    position: absolute;
    top: 47%;
    left: 50%;
    transform: translate(-50%,0%);
    color: #ffff00;
    font-size: 100%;
    text-shadow: 0.2vw 0.2vw 0.3vw #000;
    font-family: 'Poppins-Light';
    z-index: 100;
}

.swiper_box::before {
    content: '';
    display: block;
    width: 100%;
    height: 10vw;
    background-color: #000;
}

.swiper_box::after {
    content: '';
    display: block;
    width: 100%;
    height: 8vw;
    background-color: #000;
}

/* 説明文 */
.section_explanation {
    position: relative;
    width: 90%;
    height: 45vw;
    margin: 10vw auto 0;
}

.section_explanation::before {
    position: absolute;
    top: 25%;
    left: 40%;
    translate: -50%,-50%;
    content: '';
    display: block;
    width: 20vw;
    height: 20vw;
    background-color: #ff0000;
    box-shadow: 2vw 2vw 0 #ff0000;
}

.section_explanation p {
    position: absolute;
    white-space: pre-wrap;
    line-height: 2;
    text-align: center;
    text-shadow: 3px 3px 3px #6b6b6b;
    font-weight: 400;
    font-size: 3.4vw;
    font-family: 'Poppins-Light';
}

/* 地図 */
.section_map {
    display: flex;
    height: 80vw;
    margin: 10vw auto 0;
    justify-content: center;
    background-color: #003366;
}

.section_map img {
    margin: auto;
    padding-bottom: 10vw;
    width: 100%;
}

/* ハイライト */
.section_highlights {
    margin-top: -10vw;
}

.section_title_box {
    display: flex;
    align-items: center;
    width: 100%;
    height: 25vw;
    clip-path: polygon(26% 0, 40% 32%, 100% 32%, 100% 100%, 0 100%, 0 0);
    background-color: #ea1111;
}

.section_title_box h3 {
    display: flex;
    align-items: center;
    margin: 8vw 0 0 2vw;
    line-height: 1;
    color: #ffff00;
    font-size: 5vw;
    font-family: 'Valorax-lg25V';
    text-shadow: 0.5vw 0.5vw 0.1vw #eb00d9;
}

.section_title_box h3::before {
    display: inline-block;
    content: '■';
    line-height: 1;
    color: #ffff00;
    font-size: 8vw;
    font-family: 'Valorax-lg25V';
}

.section_highlights_contents {
    width: 80%;
    margin: 7vw auto;
}

.section_highlights_contents section {
    display: flex;
    flex-wrap: wrap;
    margin: 10vw auto;
}

.section_highlights_contents section:nth-child(even) {
    flex-wrap: wrap-reverse;

}

.section_highlights_contents h4 {
    width: fit-content;
    margin: 5vw 0 1.5vw;
    padding: 0 1vw;
    letter-spacing: 1.5px;
    line-height: 1.8;
    font-size: 3.4vw;
    font-family: 'Poppins-Light';
    background-color: #ffff00;
}

.section_highlights_contents p {
    margin: 0;
    letter-spacing: 1.2px;
    line-height: 2;
    font-size: 3vw;
    font-family: 'Poppins-Light';
}

.section_highlights_imgbox {
    display: flex;
    align-items: center;
    background-color: gold;
}

.section_highlights_imgbox img {
    width: 100%;
}

/* Tours */
.section_tours .section_title_box {
    background-color: #003366;
}

.section_tours_contents {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 0.5vw;
    width: 90%;
    margin: 4vw auto;
}


.section_tours_contents a {
    width: 90%;
    margin: 5vw 1.5vw;
    background-color: rgb(238, 238, 238);
}

.section_tours_imgbox {
    width: 100%;
    display: flex;
    align-items: center;
    overflow: hidden;
    transition: 0.5s;
}

.section_tours_imgbox:hover {
    opacity: 0.7;
    transition: 0.5s;
}

.section_tours_contents section:hover {
    text-decoration: underline;
}

.section_tours_contents section img {
    width: 100%;
}

.section_tours_contents section h4 {
    margin: 2vw 0 0;
    padding: 0 1.5vw;
    line-height: 2;
    letter-spacing: 1.5px;
    font-size: 3.4vw;
    font-family: 'Poppins-Light';
}

.section_tours_contents section p {
    margin-top: auto;
    padding: 0 1.5vw 2vw;
    line-height: 2;
    letter-spacing: 0.5px;
    font-size: 3vw;
    font-family: 'Poppins-Light';
}

.more_box {
    display: flex;
    align-items: center;
    margin: -2vw auto 0;
    width: 90%;
    height: 15vw;
    clip-path: polygon(26% 0, 40% 25%, 100% 25%, 100% 100%, 0 100%, 0 0);
    background-color: #ea1111;
    transition: 0.5s;
}

.more_box:hover {
    opacity: 0.8;
    transition: 0.5s;
}

.more_box p {
    margin: 3vw auto 0;
    line-height: 1;
    color: #ffff00;
    font-size: 4vw;
    font-family: 'Valorax-lg25V';
    position: relative;
    text-shadow: 0.5vw 0.5vw 0.1vw #eb00d9;
}

.more_box p::before {
    display: inline-block;
    content: '';
    position: absolute;
    top: 4vw;
    left: 0vw;
    width: 20vw;
    height: 0.2vw;
    background-color: #ffff00;
    transition: 1s;
}

.more_box p::after {
    display: inline-block;
    content: '';
    position: absolute;
    top: 1.2vw;
    left: 18vw;
    width: 2vw;
    height: 3vw;
    transform: skewX(45deg);
    background-color: #ffff00;
    transition: 1s;
}

.more_box:hover p::before {
    width: 39vw;
    transition: 1s;
}

.more_box:hover p::after {
    left: 37.3vw;
    transition: 1s;
}

/* フッター */
footer {
    margin: 7vw auto 0;
    width: 100%;
    background-color: #003366;
    clip-path: polygon(28% 0, 45% 5%, 100% 5%, 100% 100%, 0 100%, 0 0);
}

footer img {
    width: 30vw;
    margin: 10vw 0 1.5vw 5% ;
}

footer nav {
    width: 90%;
    margin: 1.5vw auto;
}

.footer_navigation {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    list-style-type: none;
}

.footer_navigation li {
    margin-top: 5vw;
    width: 20%;
}

.footer_navigation li h4 {
    margin-right: 1vw;
    width: 40%;
    line-height: 2;
    color: #ffff00;
    font-size: 3vw;
    font-weight: 600;
    font-family: 'Poppins-Light';
}

.footer_navigation li ul {
    display: block;
    width: 100%;
    list-style-type: none;
}

.footer_navigation li ul li {
    width: 100%;
    margin-top: 2vw;
}

.footer_navigation li ul li a {
    margin: 2vw 0;
    line-height: 1.5;
    color: #ffff00;
    font-size: 2.2vw;
    font-family: 'Poppins-Light';
    position: relative;
}

.footer_navigation li ul li a:hover {
    text-decoration: underline;
}

.Area_list {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin-top: 5vw;
    height: 180vw;
    list-style-type: none;
}

.Area_list p {
    color: #ffff00;
    font-size: 2.2vw;
    font-weight: 600;
    font-family: 'Poppins-Light';
}

.Area_list_content {
    margin-top: 5vw;
    margin-bottom: auto;
}

.Area_list_content ul {
    list-style-type: none;

}

.Area_list_content ul li {
    width: 100%;
    margin-top: 2vw;
}

.Area_list_content ul li a {
    margin: 0.5vw 0;
    line-height: 1;
    color: #ffff00;
    font-size: 2vw;
    font-family: 'Poppins-Light';
}

.Area_list_content ul li a:hover {
    text-decoration: underline;
}

footer address {
    margin-top: 10vw;
    margin-left: 5vw;
    text-align: left;
    color: #ffff00;
    font-size: 2.8vw;
    font-family: 'Poppins-Light';
}

footer address+ p {
    width: 100%;
    margin: 3vw auto 0;
    padding: 5vw 0;
    text-align: center;
    color: #ffff00;
    font-size: 2.8vw;
    font-family: 'Poppins-Light';
}