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

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300;400;500;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

@font-face {
    font-family: 'Futura PT Light';
    font-style: normal;
    font-weight: normal;
    src: url('../css/FuturaCyrillicLight.woff') format('woff');
}

body {}

a {
    text-decoration: none;
}

a:hover {
    opacity: 0.75;
}

#contents img {
    width: 100%;
    vertical-align: bottom;
    margin-top: -1px;
}

#contact-SP {
    position: relative;
    background-color: #FFFFFF;
    z-index: 20;
}

header {
    background-color: #FFFFFF;
}

footer {
    position: relative;
    background-color: #FFFFFF;
    z-index: 20;
}

/*-----------------------------------------------

contents

------------------------------------------------*/
#container {
    min-width: 100% !important;
}

.contentsInner_wrap {
    width: 100%;
}

.contentsInner {
    width: 100%;
    position: fixed;
}


.contentsImg {
    width: 100vw;
    height: 100vh;
    position: fixed;
    background-image: url(../img/hawaii26_main_bg.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    top: 0;
    z-index: -997;
}

@media (max-width:767px) {
    .contentsImg {
        top: 40px;
    }
}

.contentsImg::after {
    content: "";
    display: block;
    clear: both;
}

.wrapper {
    position: relative;
    max-width: 750px;
    margin: 0 auto;
    overflow: hidden;
}


.maintitle_sub {
    position: absolute;
    top: 350px;
    right: calc(50% + 390px);
    width: 350px;
    z-index: 10;
}

#contents .sideMenu {
    position: absolute;
    top: 250px;
    left: calc(50% + 410px);
    width: 280px;
    z-index: 10;
}

#contents .sideMenu .btn_flex {
    gap: 0;
    margin-bottom: 0;
}

@media (max-width:767px) {
    #contents .sideMenu {
        top: 177px;
    }
}


.btn {
    background-image: url(../img/hawaii26_bg_2nd.jpg);
    background-size: cover;
    background-repeat: repeat-y;
}

.btn_inner {
    width: 77.6%;
    margin: 0 auto;
    padding-top: 8.8%;
    padding-bottom: 8%;
}

.btn_flex {
    display: flex;
    gap: 15px;
    margin-bottom: 2rem;
}

#sec05 .btn {
    width: 65.8%;
    margin: -26% auto 0;
    padding-bottom: 10%;
    background: none;
}

#sec06 .btn {
    width: 65.8%;
    margin: -24% auto 0;
    padding-bottom: 9%;
    background: none;
}

#sec05 .btn2,
#sec06 .btn2 {
    margin: -18% auto 0;
    padding-bottom: 4%;
}



.view {
    padding-top: 3%;
}

#sec01,
#sec02,
#sec03,
#sec04,
#sec05 {
    margin-top: -165px;
    padding-top: 165px;
}

@media (max-width:500px) {

    #sec01,
    #sec02,
    #sec03,
    #sec04,
    #sec05 {
        margin-top: -55px;
        padding-top: 55px;
    }
}

@media (max-width:767px) {
    .wrapper {
        width: 100%;
    }
}

@media (max-width:520px) {
    .wrapper {
        max-width: 100%;
    }
}

#title {
    width: 100%;
    margin: auto;
}

#maintitle {
    width: 100%;
    margin: auto;
}

.maintitle_img {
    margin: auto;
    padding-top: 0;
}

@media (min-width: 767px) {
    .pc_none {
        display: none;
    }
}

@media (max-width: 767px) {
    .sp_none {
        display: none;
    }
}

@media (max-width: 500px) {}

.youtube_wrap {
    position: relative;

}

.youtube_area {
    position: absolute;
    top: 30%;
    left: 13%;
    width: 73.5%;
}

.video {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9のアスペクト比 */
    margin-bottom: 2em;
    height: 0;
}

.video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media (max-width:767px) {
    .video {
        margin-bottom: 1em;
    }
}

#info .view {
    max-width: 780px;
    margin: auto
}

#ft_info {
    width: 100%;
    background-color: #faedd9;
}

#ft_info .inner {
    width: 100%;
    margin: auto;
    padding: 1% 0 3%;
    text-align: center;
}

#ft_info .inner a img {
    width: 100%;
    max-width: 502px;
}

#ft_info .inner .kaiki {
    max-width: 500px;
}

@media (max-width:520px) {
    #ft_info .inner {
        padding: 3%;
    }
}

#ft_info .note {
    font-size: 16px;
    line-height: 2;
    text-align: justify;
    width: 88%;
    margin: auto;
}

@media (max-width:768px) {
    #ft_info .note {
        font-size: 14px
    }
}

#ft_info .note li {
    list-style: none !important;
    -webkit-list-style: none !important;
    -ms-list-style: none !important;
}

.banner {
    width: 100%;
    margin: 0 auto;
}