@charset "UTF-8";

* {
    margin: 0;
    padding: 0;
}

/*ページ内リンクスクロール指定*/
html {
    scroll-behavior: smooth;
}

/*ヘッダー部分(ロゴ)*/
header {
    position: fixed;
    top: 0%;
    display: flex;
    width: 100%;
    z-index: 10000;
    
}
.box {
    width: 20%;
    display: flex;
    background-color: darkgray;
}
h1 {
    width: 49%;
    margin-left: auto;
    margin-right: auto;
}
h1 img {
    display: block;
    width: 100%;
}


/*ヘッダー部分(グローバルナビゲーション)*/
.nav-all {
    width: 100%;
    margin: 0 auto;
}
.navWrap {
    display: flex;
    list-style-type: none;
}
.navItem {
   width: 20%;
   padding-top: 4%;
   padding-bottom: 4%;
   background-color: darkgray;
   position: relative;
   transition: all .3s;
}
.navItem:hover {
    background-color: darksalmon;
}
.navItem a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: #1b4059;
    font-size: 1vw;
    letter-spacing: 0.05em;
    font-weight: 600;
    transition: all .3s;
}
.navItem:hover a {
    color: #fff;
}

.navItemChilds {
    display: none;/*デフォルトでは非表示の状態にしておく*/
    width: 100%;
    position: absolute;
    top: 100%;
    left: 0%;
}
.navDrop:hover .navItemChilds {
    display: block;/*Gナビメニューにホバーしたら表示*/
}
.navItemChild1 {
    padding: 5%;
    color: #fff;
    background-color: rgba(50, 40, 200, 0.9);
    transition: all 0.3s;
    text-align: center;
    position: relative;
    list-style-type: none;
}
.navItemChild1:not(:first-child)::before{
    content: "";
    width: 100%;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
}
.navItemChild1:hover {
    background-color:rgba(5, 0, 94, 0.9);
}
.navItemChild1 a {
    display: flex;
    line-height: 2.5;
    justify-content: center;
    align-items: center;
    color: #fff;
    text-decoration: none;
    position: relative;
}
.navItemChild1 a::before {
    content: '';
    display: block;
    width: 3%;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(135deg);
    position: absolute;
}
.navItemChilds {
    visibility: hidden;/*デフォルトでは非表示の状態にしておく*/
    opacity: 0;/*不透明度0*/
    transition: all .3s;/*表示の変化を0.3秒に指定*/
    width: 100%;
    position: absolute;
}
.navDrop:hover .navItemChilds {
    visibility: visible;/*Gナビメニューにホバーしたら表示*/
    opacity: 1;/*不透明度1*/
}
.navItemChilds {
    transform: scaleY(0);/*デフォルトでは非表示の状態にしておく*/
    transform-origin: center top;/*変形を適応する基準をtopとする*/
    transition: all .3s;/*表示の変化を0.3秒に指定*/
    width: 100%;
    position: absolute;
}
.navDrop:hover .navItemChilds {
    transform: scaleY(1);/*Gナビメニューにホバーしたら表示*/
}

/*セクション部分指定全て*/
section {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
section:nth-of-type(6) {
    margin-bottom: 5%;
}

/*背景画像*/
.nami {
    width: 100%;
    background-image: url(../images/nami.jpg);
    background-size: 100%;
}

/*メイン画像position部分*/
.box3 {
    display: flex;
    position: relative;
}
.box2 {
    display: flex;
    position: absolute;
    width: 65%;
    top: 20%;
    left: 20%;
    z-index: 10;
}
.box2 img { 
    display: block;
    width: 15%;
    margin-left: 10%;
}
.box2 h2 {
    text-align: center;
    margin-left: 20%;
    font-size: 2vw;
    color: #303030;
    font-family: "Kiwi Maru", serif;
}
.box2 .ho {
    font-size: 2vw;
    color: salmon;
}


.box2-1 {
    position: absolute;
    width: 50%;
    padding: 2%;
    top: 60%;
    left: 0%;
    z-index: 10;
    background-color:rgba(255, 255, 255, 0.9);

}
.box2-1 h2 {
    margin-bottom: 3%;
    text-align: center;
    font-size: 2vw;
    color: salmon;
    font-family: "Noto Sans JP", sans-serif;
}
.box2-1ul {
    width: 30%;
    margin-left: auto;
    margin-right: auto;
}
.box2-1 ul {
    margin-left: 10%;
    list-style-type: circle;
    font-family: "Noto Sans JP", sans-serif;
}
.box2-1 ul li {
    line-height: 2;
    font-size: 1.3vw;
    color: #303030;
    font-family: "Noto Sans JP", sans-serif;
}

.main-img {
    display: block;
    width: 100%;
    margin-top: 5%;
    background-size: cover;
    margin-left: auto;
    margin-right: auto;
    border-radius: 0% 0% 20% 20%;

}

/*すだれ部分*/
.background-img {
    display: block;
    position: relative;
    width: 30%;
    margin-top: 10%;
    margin-left: auto;
    margin-right: auto;

}
.title-1 {
    position: absolute;
    width: 30%;
    margin-top: 3%;
    margin-left: 35%;
    font-size: 2vw;
    text-align: center;
    z-index: 10;
    color: #fff;
    font-family: "Kiwi Maru", serif;
}



/*湯屋サーモンとは？部分*/
.box4 {
    width: 65%;
    position: relative;
    margin-top: 3%;
    margin-left: auto;
    margin-right: auto;
    text-align:left;
    white-space: pre-wrap;
    background: white;
    border-top: solid 6px salmon;
    box-shadow: 0 3px 4px rgba(0, 0, 0, 0.32);
}
.box4 span {
    font-weight: bold;
    font-size: 2vw;
    color: salmon;
}
.box4 p {
    text-indent: 1em;
    font-size: 1.3vw;
    color: #303030;
    font-family: "Noto Sans JP", sans-serif;
}
.samon-img {
    display: block;
    width: 30%;
    position: absolute;
    top: 70%;
    left: 80%; 
}
.animation{
    animation-timing-function: ease-in-out; 
    animation-iteration-count: infinite;    
    animation-direction: alternate; 
    animation-duration: 1.5s;
}
.samon-img {
    
      animation-name: anim_v;
}  
@keyframes anim_v {
    
    0% {
        transform: translate(0, 0);
    }
    
    100% {
        transform: translate(0, 30%);
    }
}



/*お知らせ部分*/
.notice-all {
    width: 96%;
    padding: 2%;
    display: flex;
    position: relative;
    background-color: rgba(255, 255, 255, 0.75);
}
.notice-all img {
    display: block;
    width: 10%;
    position: absolute;
    left: 58%;
    top: 50%;
    z-index: 10;
}
.notice-all ul {
    width: 30%;
    margin-left: auto;
    margin-right: auto;
    list-style-type: none;
    background-color: rgba(255, 255, 255, 0.9);
}
.notice-all ul li {
    text-align: left;
    font-size: 1.2vw;
    line-height: 3;
    border-top: 2px solid darkgray;
    font-family: "Noto Sans JP", sans-serif;
}
.notice-all ul li a {
    color:rosybrown;

}


/*薄い背景画像*/
.all-guidance {
    display: flex;
    width: 96%;
    padding: 2%;
    background-color: rgba(255, 255, 255, 0.75);
}


/*館内案内部分*/
.guidance-1 {
    width: 30%;
    margin-top: 3%;
    margin-left: auto;
    margin-right: auto;
}
.guidance-1 h3 {
    margin-bottom: 3%;
    text-align: center;
    font-size: 2vw;
    font-family: "Noto Sans JP", sans-serif;
    background-color: rgba(50, 40, 200, 0.5);
}
.guidance-1 h3 a {
    position: relative;
    font-size: 1.4vw;
    font-weight: 700;
    line-height: 2.6;
    text-decoration: none;
     color: #303030;
}
.guidance-1 h3 a::after{
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: white;
    bottom: -1px;            
    transform: scale(0, 1);  
    transform-origin: left; 
    transition: transform 0.3s;

}
.guidance-1 h3 a:hover::after {
    transform: scale(1, 1);   
}

/*それぞれのimgマーク部分*/
.position-box {
    position: relative;
}
.position-box img {
    position: absolute;
    top: -35%;
    width: 25%;
    z-index: 100;
}


/*画像切り替え部分アニメーション*/
.container{
    width: 90%;
    height: 15vw;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}
.image {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 0;
    background-size: cover;
    background-position: center center;
    
    animation: image-switch-animation 12s infinite;
}

.src1 {
    background-image: url(../images/bath-1.webp);
}
.src2 {
  background-image: url(../images/bath-2.webp);
}
.src3 {
  background-image: url(../images/bath-3.webp);
}
.src4 {
  background-image: url(../images/bath-4.webp);
}
.src5 {
  background-image: url(../images/bath-5.webp);
}
.src6 {
    background-image: url(../images/hood-1.jpg);
}
.src7 {
  background-image: url(../images/hood-2.jpg);
}
.src8 {
  background-image: url(../images/hood-3.jpg);
}
.src9 {
  background-image: url(../images/hood-4.jpg);
}
.src10 {
  background-image: url(../images/hood-5.jpg);
}
.src11 {
    background-image: url(../images/others-1.webp);
}
.src12 {
  background-image: url(../images/others-2.webp);
}
.src13 {
  background-image: url(../images/others-3.webp);
}
.src14 {
  background-image: url(../images/others-4.webp);
}
.src15 {
  background-image: url(../images/others-5.webp);
}

@keyframes image-switch-animation {
    0%{ opacity: 0;}
    5%{ opacity: 1;}
    25%{ opacity: 1;}
    30%{ opacity: 0;}
    100%{ opacity: 0;}
}

.image:nth-of-type(1) {
    animation-delay: 0s;
}
.image:nth-of-type(2) {
  animation-delay: 3s;
}
.image:nth-of-type(3) {
  animation-delay: 6s;
}
.image:nth-of-type(4) {
  animation-delay: 9s;
}
.image:nth-of-type(5) {
  animation-delay: 12s;
}

/*etc...部分*/
.guidance-1 ul {
    margin-left: 10%;
    list-style-type: circle;
    font-family: "Noto Sans JP", sans-serif;
}
.guidance-1 ul li {
    font-size: 1.3vw;
    color: #303030;
}



/*料金部分*/
.all-fee {
    display: flex;
    width: 96%;
    padding: 2%;
    background-color: rgba(255, 255, 255, 0.75);
}
.fee {
    width: 30%;
    margin-left: auto;
   
}
.fee h3 {
    width: 80%;
    margin-bottom: 5%;
    font-size: 1.8vw;
    color: #fff;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    background-color: darksalmon;
}
.fee ul {
    width: 100%;
    margin-left: 10%;
    margin-bottom: 3%;
    list-style-type: circle;
}
.fee ul li {
    line-height: 2;
    font-size: 1.5vw;
    text-align: left;
    color: #303030;
    font-family: "Noto Sans JP", sans-serif;
}
/*料金(お風呂道具)*/
.fee-2 {
    width: 30%;
    margin-right: auto;
    margin-left: 3%;
    
}
.fee-2 h3 {
    width: 80%;
    margin-bottom: 5%;
    font-size: 1.8vw;
    color: #fff;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    background-color:salmon;
}
.fee-2 ul {
    width: 100%;
    margin-left: 10%;
    margin-bottom: 3%;
    list-style-type: circle;
}
.fee-2 ul li {
    line-height: 2;
    font-size: 1.5vw;
    text-align: left;
    color: #303030;
    font-family: "Noto Sans JP", sans-serif;
}
.fee-2 img {
    width: 100%;
    border-radius: 50%;
}


/*お得情報部分(誕生日)*/
.birthday {
    position: relative;
    width: 100%;
    padding-top: 3%;
    padding-bottom: 10%;
    background-color: rgba(255, 255, 255, 0.75);
    background-image: url(../images/cake.png);
    background-repeat: no-repeat;
    background-position: 50% 70%;
    background-size: 25% auto;
}
.birthday img {
    position: absolute;
    top: 23%;
    left: 25%;
    width: 10%;
    transform: scaleX(-1);
}
.birthday .samon {
    position: absolute;
    top: 23%;
    left: 65%;
    width: 10%;
    transform: scaleX(1);
}

.birthday h3 {
    width: 100%;
    text-align: center;
    font-size: 3vw;
    margin-top: 3%;
    margin-bottom: 5%;
    color: #303030;
    font-family: "Noto Sans JP", sans-serif;

}
.birthday h3::before {
    content: "★";
    color: #303030;
}
.birthday h3::after {
    content: "★";
    color: #303030;
} 
.birthday-1 {
    width: 70%;
    padding-top: 3%;
    margin-left: auto;
    margin-right: auto;
}
.birthday p {
    font-size: 1.7vw;
    line-height: 2;
    text-align: center;
    white-space: pre-wrap;
    color: #303030;
    font-family: "Noto Sans JP", sans-serif;
}
.birthday p .span-1 {
    font-size: 2vw;
    font-weight: 600;
    color: salmon;
    font-family: "Noto Sans JP", sans-serif;
}
.birthday p .span-2 {
    font-size: 1vw;
    font-weight: 600;
    color:red;
    font-family: "Noto Sans JP", sans-serif;
    
}

/*お得情報部分(ネットクーポン)*/
.net-coupon {
    position: relative;
    width: 100%;
    padding-top: 5%;
    padding-bottom: 5%;
    border-top: 2px dotted;
    background-color: rgba(255, 255, 255, 0.75);
    background-image: url(../images/onsen1.png);
    background-repeat: no-repeat;
    background-position: 50% 85%;
    background-size: 25% auto;
}
.net-coupon h3 {
    font-size: 3vw;
    text-align: center;
    color: #303030;
}
.net-coupon h3::before {
    content: "★";
    color: #303030;
}
.net-coupon h3::after {
    content: "★";
    color: #303030;
}
.net-coupon p {
    text-align: center;
    font-size: 2vw;
    font-weight: 600;
    font-family: "Noto Sans JP", sans-serif;
    color: darksalmon;
}
.net-coupon h4 {
    padding-top: 3%;
    text-align: center;
    font-size: 3vw;
    font-weight: 600;
    font-family: "Noto Sans JP", sans-serif;
    color: slateblue;
}
.net-coupon ul {
    width: 100%;
    list-style-type: circle;
    padding-top: 3%;
}
.net-coupon ul li {
    width: 50%;
    font-size: 1vw;
    text-align: left;
    margin-left: 40%;
    color: #202020;
    font-family: "Noto Sans JP", sans-serif;
}
.net-coupon img {
    position: absolute;
    top: 23%;
    left: 25%;
    width: 10%;
    transform: scaleX(-1);
}
.net-coupon .samon {
    position: absolute;
    top: 23%;
    left: 65%;
    width: 10%;
    transform: scaleX(1);
}


/*アクセス部分*/
.map {
    display: flex;
    width: 100%;
    position: relative;
    padding-top: 5%;
    padding-bottom: 10%;
    background-color: rgba(255, 255, 255, 0.75);
}
.map p {
    padding: 3%;
    padding-top: 5%;
    margin-left: auto;
    font-size: 1.2vw;
    white-space: pre-wrap;
    font-family: "Noto Sans JP", sans-serif;
    background-color: rgba(255, 255, 255, 0.75);
}
iframe {
    width: 40%;
    height: 30vw;
    margin-right: auto;
}
.animation{
    animation-timing-function: ease-in-out; 
    animation-iteration-count: infinite;    
    animation-direction: alternate; 
    animation-duration: 1.5s;
}
.map-samon {
    animation-name: anim_v1;
    width: 20%;
    position: absolute;
    top: 60%;
    left: 10%;

}  
@keyframes anim_v1 {
    
    0% {
        transform:translate(0 , 0);
    }
    
    100% {
        transform: translate(0 , 30%);
    }
}

/*フッター部分*/
footer {
   width: 100%;
   padding-top: 2%;
   background-color: darkgray;
}
footer img {
    display: block;
    width: 10%;
    padding-bottom: 2%;
    margin-left: auto;
    margin-right: auto;
}
footer i {
    width: 100%;
    font-size: 3vw;
    text-align: center;
    background: rgb(255,214,0);
    background: linear-gradient(24deg, rgba(255,214,0,1) 46%, rgba(255,0,105,1) 53%, rgba(255,0,105,1) 55%, rgba(211,0,197,1) 57%, rgba(118,56,250,1) 60%);
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
footer ul {
    width: 80%;
    padding-bottom: 2%;
    display: flex;
    margin-left: auto;
    margin-right: auto;
    list-style-type: none;
}
footer ul li {
    width: 100%;
    border-left: 1px #808080 solid;
    font-size: 1vw;
    text-align:center;
    font-family: "Noto Sans JP", sans-serif;
}
footer ul li:nth-of-type(7) {
    border-right: 1px #808080 solid;
}

.copyright {
    width: 100%;
    margin-top: 1%;
    margin-bottom: 1%;
    margin-left: auto;
    margin-right: auto;
}
footer p {
    font-size: 1vw;
    color: #404040;
    text-align: center;

}