@charset "utf-8";
/* 共通部分 */
html {
    font-size: 100%
}
body,h1,ul,li {
    margin: 0;
    padding: 0;
}
  ul {
    list-style: none;
}
body {
    font-family: "kozuka-mincho-pr6n", serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.7;
    color: #5a5a5a;
    background-color: #cac6a2;
    height: 100%;
}
a {
    text-decoration: none;
}
img {
    max-width: 100%;
}
.wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 4%;
}
footer {
    height: 50px;
    padding-top: 8px;
    text-align: center;
    color: #f0efe5;
    background-color: #5c5700;
}
/* HEADER */
.l-wrapper {
    width: 100%;
    margin: 0 auto;
    padding-top: 40px;
    background-color: #cac6a2;
}
.l-header {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem 0;
}
.l-header a {
    text-decoration: none;
    color: #4f2614;
}
.l-title {
    width: 300px;
    height: 140px;
    position: absolute;
    text-align: center;
    background-image: url(../images/logo-bk.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 180px 140px;
    padding: 0 0 20px 0;
    margin-bottom: 2px;
}
.logo {
    width: 100px;
    padding-top: 20px;
}
.l-navList {
    display: flex;
} 
.li-navList a {
    display: block;
    background: #ccc;
}
.nav-menu {
    padding-right:10px;
    padding-left: 10px;
    margin: 0 20px 0 20px;
    width: 170px;
    border-left: 1px solid #4f2614;
    border-right: 1px solid #4f2614;
}
li {
    flex-grow: 1;
    text-align: center;
}
li a:hover {
    font-size: 1.05rem;
}
.nav1 {
    margin: 0;
    padding: 0 10px 0 10px;
}
.nav2 {
    border-left: none;
    margin: 0;
}
.nav-space {
    border: none;
    margin: 0 30px 0 30px;
    padding:0 10px 0 10px;
}
.nav3 {
    border-right: none;
    margin: 0;
    padding: 0 10px 0 10px;
}
.nav4 {
    margin: 0;
    padding: 0 10px 0 10px;
}
/* ハンバーガーメニュー */
#menu {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 0;
    height: 0;
    background-color: transparent;
    border: none;
}
/* HOME */
#home {
    background-image: url(../images/top.png);
    background-color: #2a2a2a;
    background-blend-mode: screen;
    min-height: 100vh;
}
.big-bg {
    background-size: cover;
    background-position: center top;
}
.home-content, .home-content p {
    animation-name:fadeInAnime;
    animation-duration:2s;
    animation-fill-mode:forwards;
    opacity:0;
}
@keyframes fadeInAnime{
    from {
      opacity: 0;
    }
  
    to {
      opacity: 1;
    }
  }
.home-content {
    text-align: center;
    margin-top: 15%;
}
.home-content p {
    font-size: 1.125rem;
    margin: 10px 0 42px;
    color: #f0efe5;
    text-shadow: #020202 3px 2px 3px;
    background-image: linear-gradient(to left,rgba(255, 255, 255, .0), rgba(107, 45, 20, .7), rgba(255, 255, 255, .0));
    background-blend-mode: multiply;
}
/* 見出し */
.page-title {
    font-size: 4rem;
    color: #f0efe5;
    text-shadow: #010101 1px 1px 5px, 1px 1px 5px, 1px 1px 5px;
}
.page-title,
.sub-text {
    animation-name:fadeInAnime;
    animation-duration:2s;
    animation-fill-mode:forwards;
    opacity:0;
}
/* ボタン */
.button {
    font-size: 1.125rem;
    color: #f0efe5;
    background-color: #5c5700;
    border-radius: 5px;
    padding: 18px 32px;
}
.button:hover {
    background-color: #c57223;
}
/* NEWS */
#news  {
    background-image: url(../images/news.png);
    background-position: top center;
    width: 80%;
    height: 100vh;
    margin: 0 auto;
}
#news .page-title {
    text-align: center;
    margin-top: 15%;
    font-size: 3rem;
}
#news .sub-text {
    text-align: center;
    margin-top: 5%;
    color: #f0efe5;
    font-size: 1.125rem;
    text-shadow: #010101 0px 0px 5px, 0px 0px 5px, 0px 0px 5px;
    background-image: linear-gradient(to left,rgba(255, 255, 255, .0), rgba(107, 45, 20, .7), rgba(255, 255, 255, .0));
    background-blend-mode: multiply;
}
.flame {
    width: 80%;
    height: 60%;
    border: solid 1px #fff;
    margin: 10% auto;
}
/* 記事部分 */
.news-contents {
    display: flex;
    justify-content: space-between;
    background-color: #f0efe5;
    margin: 0 auto;
    padding: 0 10%;
    width: 100%;
}
article {
    width: 74%;
}
.news-container {
    padding-top: 8%;
    margin-bottom: 12%;
}
.post-info {
    position: relative;
    padding-top: 4px;
    margin-bottom: 40px;
}
.post-date {
    background: #ff7c33;
    border-radius: 50%;
    color: #fff;
    width: 100px;
    height: 100px;
    font-size: 1.625rem;
    text-align: center;
    position: absolute;
    top: 0;
    padding-top: 10px;
    font-family: "kozuka-gothic-pr6n", sans-serif;
}
.post-date span {
    font-size: 1rem;
    border-top: 1px rgba(255, 255, 255, .5) solid;
    padding-top: 6px;
    display: block;
    width: 60%;
    margin:0 auto;
}
.post-title {
    font-style: normal;
    font-weight: 200;
    font-size: 1.95rem;
}
.post-title,
.post-cat {
    margin-left: 120px;
}
.news-pic {
    width: 745px;
    height: auto;
}
.news-text {
    display: inline-block;
}
/* サイドバー */
aside {
    width: 22%;
    padding: 5% 0 0 3%;
}
.sub-title {
    font-size: 1.25rem;
    padding: 0 8px 8px;
    border-bottom: 2px #828282 solid;
    font-weight: normal;
}
aside p {
    padding: 12px 3px;
}
.sub-menu {
    margin-bottom: 60px;
    list-style: none;
}
.sub-menu li {
    border-bottom: 1px #828282 dotted;
}
.sub-menu a {
    color: #5a5a5a;
    padding: 10px;
    display: block;
}
.sub-menu a:hover {
    color:#ff7c33;
}
/* 温泉について */
#bath {
    background-image: url(../images/onsen.png);
    width: 80%;
    height: 100vh;
    margin: 0 auto;
}
#bath .page-title {
    text-align: center;
    margin-top: 10%;
    font-size: 3rem;
}
#bath .sub-text {
    text-align: center;
    margin-top: 5%;
    margin-bottom: 10%;
    padding: 20px 10px;
    color: #f0efe5;
    font-size: 1.125rem;
    text-shadow: #010101 0px 0px 2px, 0px 0px 2px, 0px 0px 2px;
    background-image: linear-gradient(to left,rgba(255, 255, 255, .0), rgba(107, 45, 20, .7), rgba(255, 255, 255, .0));
    background-blend-mode: multiply;
}
.bath-info {
    background-color: #f0efe5;
    margin: 3% auto;
    padding: 3%;
}

.info-container {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    margin: 2% auto;
    padding: 3%;
}
.info-container:nth-child(2) {
    flex-direction: row-reverse;
}
.big-bath,
.open-airbath,
.private-bath {
    width: 33%;
    margin:  0 2%;
}
.big-bath-image,
.open-airbath-image,
.private-bath-image {
    width: 55%;
}
.info-title {
    font-size: 2rem;
    font-weight: bold;
    border-bottom: #5c5700 1px solid;
    padding: 0 15px 0 5px;
}
.info-text {
    padding: 20px 5px 5px 5px;
}
.bath-pic {
    width: 100%;
    height: auto;
}
.price-title,
.spring-title {
    margin: 3% 30% 3% 30%;
    font-size: 2rem;
    font-weight: bold;
    border-bottom: #5c5700 1px solid;
    text-align: center;
}
.price-table,
.spring-table {
    margin: auto;
    border: #5c5700 1px solid;
    margin-bottom: 3%;
}
.price-table th,
.price-table td,
.spring-table th,
.spring-table td {
    width: 300px;
    height: 60px;
    padding: 5px;
    font-size: 1.3rem;
    text-align: center;
}
.price-table th {
    background-color: #ff955a;
}
.price-table tr:nth-child(3) {
    background-color: #cac6a2;
}
.annotation {
    text-align: center;
}
.spring-table th {
    background-color: #ff955a;
}
.spring-table td {
    width: 600px;
    font-size: 1rem;
}
.spring-table td ul {
    list-style-type: disc;
    list-style-position: inside;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-left: 50px;
}
.spring-table tr:nth-child(1) td,
.spring-table tr:nth-child(3) td {
    background-color: #cac6a2;
}
/* お食事処 */
#food {
    background-image: url(../images/food.png);
    width: 80%;
    height: 100vh;
    margin: 0 auto;
}
#food .page-title {
    text-align: center;
    margin-top:10%;
    font-size: 3rem;
}
#food .sub-text {
    text-align: center;
    margin-top: 5%;
    margin-bottom: 10%;
    padding: 20px 10px;
    color: #f0efe5;
    font-size: 1.125rem;
    text-shadow: #010101 0px 0px 2px, 0px 0px 2px, 0px 0px 2px;
    background-image: linear-gradient(to left,rgba(255, 255, 255, .0), rgba(107, 45, 20, .7), rgba(255, 255, 255, .0));
    background-blend-mode: multiply;
}
.food-menu {
    background-color: #f0efe5;
}
.food-title {
    background-color: #f0efe5;
    font-size: 1.3rem;
    font-weight: normal;
    text-align: center;
    padding: 3% 20px 0 20px;
    margin: 3% 20% 0 20%;
    border-bottom: #5c5700 solid 1px;
}
.grid {
    display: grid;
    gap: 26px;
    grid-template-columns: repeat(3, minmax(240px, 1fr));
    margin-top: 6%;
    margin-bottom: 0;
    padding-bottom: 50px;
    align-items: center;
    justify-items: center;
}
.item figcaption p {
    text-align: center;
    width: 300px;
}
/* 交通アクセス */
#access {
    background-image: url(../images/access.png);
    width: 80%;
    height: 100vh;
    margin: 0 auto;
}
#access .page-title {
    text-align: center;
    margin-top: 10%;
    font-size: 3rem;
}
#access .sub-text {
    text-align: center;
    margin-top: 5%;
    margin-bottom: 10%;
    padding: 20px 10px;
    color: #f0efe5;
    font-size: 1.125rem;
    text-shadow: #010101 0px 0px 2px, 0px 0px 2px, 0px 0px 2px;
    background-image: linear-gradient(to left,rgba(255, 255, 255, .0), rgba(107, 45, 20, .7), rgba(255, 255, 255, .0));
    background-blend-mode: multiply;
}
.access-content {
    width: 100%;
    margin: 3% auto;
    padding-bottom: 3%;
    background-color: #f0efe5;
}
.access-container {
    width: 100%;
    padding: 5% 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.access-info {
    width: 25%;
    text-align: justify;
}
.access-title {
    font-size: 1.3rem;
    border-bottom: #5c5700 1px solid;
}
.access-info p {
    font-size: 1rem;
    padding: 20px 10px;
}
.access-map {
    width: 70%;
}
iframe {
    width: 100%;
}
.car-title,
.train-title {
    font-size: 2rem;
    border-bottom: #5c5700 1px solid;
    text-align: center;
    margin: 30px 30%;
}
.access-car-table,
.access-train-table {
    width: 80%;
    border-collapse: collapse;
    border: #5c5700 1px solid;
    margin: 5% auto;
}
.access-car-table th {
    height: 60px;
    width: 15%;
    font-size: 1.3rem;
    font-weight: bold;
    border-bottom: #f0efe5 1px solid;
    background-color: #5c5700;
    color: #f0efe5;
}
.access-train-table {
    height: 480px;
}
.access-car-table td {
    height: 60px;
    padding-left: 1rem;
    border-bottom: #5c5700 1px solid;
    background-color: #f9f9f5;
}
.access-train-table th {
    height: 60px;
    width: 15%;
    font-size: 1.3rem;
    font-weight: bold;
    border-bottom: #f0efe5 1px solid;
    background-color: #5c5700;
    color: #f0efe5;
}
.access-train-table td{
    height: 60px;
    border-bottom: #5c5700 1px solid;
    text-align: left;
    padding-left: 5rem;
    background-color: #f9f9f5;
}
.access-train-table td li {
    text-align: left;
}
.train-info {
    list-style-type: disc;
    list-style-position: inside;
}

/* モバイル版共通 */
@media (max-width: 800px) {
    .page-title {
        font-size: 2.5rem;
    }
    #news,
    #bath,
    #food,
    #access {
    height: 50vh;
    }
    #news .page-title,
    #bath .page-title,
    #access .page-title {
        margin-top: 50px;
        font-size: 2rem;
    }
    #news .sub-text,
    #bath .sub-text,
    #food .sub-text,
    #access .sub-text {
        display: block;
        width: 100%;
        max-width: 95%;
        margin: auto;
        margin-top: 20px;
        font-size: 0.8rem;
        text-align: center;
    }
    #news .flame,
    #bath .flame,
    #food .flame,
    #access .flame {
        margin-top: 20px;
    }
    
/* モバイル版ヘッダー */
    .l-wrapper {
        padding: 80px;
        height: 100px;
    }
    .l-header {
        flex-direction: column;
    }
    .l-title {
        width: 100px;
        height: 100px;
        background-image: none;
        position: absolute;
        top: 0%;
        left: 50%;
        transform: translateX(-50%);
    }
    .l-navList {
        display: flex;
        flex-direction: column;
        width: 170px;
        position: absolute;
        top: 120px;
        left: 50%;
        transform: translateX(-50%);
    }
    .nav-menu,
    .nav1,
    .nav2,
    .nav3,
    .nav4 {
        border: none;
        border-bottom: solid 1px #4f2614;
        padding-top: 10px;   
    }
    .nav-space {
        border: none;
        height: 0;
        padding-top: 0;
    }
    #nav {
        position: fixed;
        width: 100%;
        height: 35vh;
        background-color: #cac6a2;
        top: -30%;
        opacity: 0;
        pointer-events: none;
        transition: top .5s, opacity .5s;
    }
    /* モバイル版ハンバーガーメニュー */
    #menu {
        position: fixed;
        top: 20px;
        right: 20px;
        width: 30px;
        height: 20px;
        background-color: transparent;
        border: none;
        z-index: 10;
    }
    #menu span {
        display: block;
        width: 100%;
        height: 2px;
        background-color: #202020;
        position: absolute;
        left: 0;
    }
    #menu span:nth-child(1) {
        top: 0;
    }
    #menu span:nth-child(2) {
        top: 8px;
    }
    #menu span:nth-child(3) {
        top: 16px;
    }
    #nav.active {
        top: 0;
        opacity: 1;
        pointer-events: all;
        background-color: #cac6a2;
        z-index: 1;
    }
/* モバイル版 HOME */
    .home-content {
        margin-top: 40%;
    }
/* モバイル版 NEWS */
    .news-contents {
        flex-direction: column;
        margin-top: 3%;
    }
    .flame {
        height: 50%;
    }
    article,aside {
        width: 100%;
    }
    aside {
        margin-top: 30px;
    }
    aside p {
        margin-bottom: 30px;
    }
    .post-info {
        margin-bottom: 40px;
    }
    .post-date {
        font-size: 1.3rem;
        padding-top: 12px;
    }
    .post-title {
        font-size: 1.375rem;
    }
    /* モバイル版温泉について */
    #bath .sub-text {
        text-align: justify;
        padding: 3px 10px 3px 10px;
    }
    .info-container {
        flex-direction: column;
    }
    .big-bath,
    .open-airbath,
    .private-bath {
        width: 100%;
    }
    .info-container:nth-child(2) {
        flex-direction: column;
    }
    .info-title,
    .price-title,
    .spring-title {
        font-size: 1.5rem;
        text-align: center;
        padding-top: 5%;
    }
    .info-text {
        margin-bottom: 3%;
    }
    .big-bath-image,
    .open-airbath-image,
    .private-bath-image {
        width: 100%;
    } 
    .price-table,
    .spring-table {
        font-size: 1rem;
    }
    .price-table th,
    .price-table td,
    .spring-table th,
    .spring-table td {
        height: auto;
    }
    .price-table th,
    .price-table td {
        width: 120px;
    }
    .p-sub {
        font-size: 0.8rem;
    }
    .annotation {
        text-align: justify;
    }
    
    /* モバイル版お食事処*/
    #food {
        height: 50vh;
    }
    #food .page-title {
        font-size: 1.5rem;
        margin-top: 20%;
    }
    #food .sub-text {
        font-size: 13px;
        padding: 15px 10px 15px 10px;
        margin: 20px 0;
        margin-top: 10%;
        text-align: center;
    }
    .food-title{
        font-size: 1.125rem;
        margin: 0 3%;
    }
    .flame {
        height: 55%;
    }
    .food-menu {
        margin: 5% auto;
    }
    .grid {
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    }
    /*モバイル版交通アクセス*/
    .access-container {
        width: 100%;
        flex-direction: column;
        align-items: center;
    }
    .access-info {
        width: 100%;
        text-align: center;
    }
    .access-info p {
        display: block;
        width: 80%;
        margin: 0 auto;
        text-align: left;
    }
    .access-map {
        width: 100%;
    }
    .car-title,
    .train-title {
        font-size: 1.1rem;
    }
    .access-car-table th,
    .access-train-table th {
        font-size: 1rem;
    }
    .access-car-table,
    .access-train-table td {
        font-size: 0.8rem;
    }
    .access-train-table td {
        padding-left: 1rem;
        text-align: left;
    }
}
/* レスポンシブ380ｐｘ*/
@media (max-width: 380px) {
    #news, #bath, #food, #access {
        height:62vh;
    }
    #nav.active {
        height: 50%;
    }
    #bath .page-title,
    #access .page-title {
        margin-top: 18%;
    }
    #food .sub-text,
    #food .page-title {
        margin-top: 15%
    }
}