@charset "UTF-8";
/*----------------------------------------------------------------- 
カラーコード・メディアクエリ
----------------------------------------------------------------- */
/*----------------------------------------------------------------- 
フォント
----------------------------------------------------------------- */
@font-face { font-family: "Palanquin"; src: url("fonts/Palanquin-Medium.ttf") format("truetype"); font-style: normal; font-weight: 500; }

/*----------------------------------------------------------------- 
共通パーツ
----------------------------------------------------------------- */
body { color: #111; padding-right: 11%; font-family: "tbnpmincho-std", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

@media (max-width: 768px) { body { padding-right: 0; } }

.combine { -webkit-text-combine: horizontal; -ms-text-combine-horizontal: all; text-combine-upright: all; }

.combine { -webkit-text-combine: horizontal; -ms-text-combine-horizontal: all; text-combine-upright: all; }

.catchCopy { position: absolute; -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; }

.catchCopy span { font-size: 18px; display: inline-block; background-color: #111; color: #fff; line-height: 1; padding: 27px 12px 15px; letter-spacing: 0.8em; }

@media (max-width: 768px) { .catchCopy span { font-size: 12px; letter-spacing: 0.5em; padding: 20px 12px 15px; } }

.catchCopy span:not(:last-of-type) { margin-left: 25px; }

@media (max-width: 768px) { .catchCopy span:not(:last-of-type) { margin-left: 15px; } }

a:hover { opacity: 0.7; }

.viewMore { font-family: Palanquin, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; font-weight: 500; }

/*----------------------------------------------------------------- 
ヘッダー・フッター
----------------------------------------------------------------- */
.menu { z-index: 3; position: fixed; top: 40px; right: calc(5.5% - 20px); width: 40px; transform: translateX(-5.5%); text-align: center; display: flex; flex-wrap: wrap; justify-content: center; }

@media screen and (max-height: 620px) { .menu { top: 20px; } }

@media (max-width: 768px) { .menu { bottom: 15px; right: 20px; top: unset; transform: usnet; width: 30px; } }

.menu .lineWrap { width: 100%; height: 33px; position: relative; }

@media (max-width: 768px) { .menu .lineWrap { height: 16px; margin-bottom: 8px; } }

.menu .line { transition: all 0.4s; display: block; width: 100%; height: 1px; margin-bottom: 10px; background-color: #111; }

@media (max-width: 768px) { .menu .line { background-color: #fff; margin-bottom: 7px; } }

.menu .line.last { padding-left: 20px; width: 20px; float: right; }

.menu .text { text-align: center; font-size: 10px; letter-spacing: 0.05em; line-height: 1; display: block; font-family: 'Palanquin', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }

@media (max-width: 768px) { .menu .text { color: #fff; text-align: right; font-size: 8px; } }

.menu .text.close { display: none; }

.mainNav { font-family: "游ゴシック体", YuGothic, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; width: 11%; position: fixed; right: 0px; height: 100vh; display: flex; flex-direction: column; justify-content: space-between; align-items: center; padding: 120px 0 40px; border-left: 1px solid #e5e5e5; background-color: #fff; }

@media screen and (max-height: 620px) { .mainNav { padding: 80px 0 0px; } }

@media (max-width: 768px) { .mainNav { display: block; background-color: #111; color: #fff; width: calc(100% + 1px); height: 70px; bottom: 0; padding: 15px 20px; z-index: 2; } }

.mainNav .mainNavTop { display: flex; flex-direction: column; align-items: center; }

@media (max-width: 768px) { .mainNav .mainNavTop { display: block; } }

.mainNav .menuLogo { width: 60px; margin-bottom: 20px; }

@media (max-width: 768px) { .mainNav .menuLogo { display: none; } }

.mainNav .businessHours { text-align: center; display: flex; justify-content: space-between; }

@media (max-width: 768px) { .mainNav .businessHours { text-align: left; line-height: 1.8; align-items:center;} }

.mainNav .businessHours img { width: 80px; margin-right: 20px; -o-object-fit: contain; object-fit: contain; }

.mainNav .businessHours p { width: calc(100% - 100px); font-size: 12px; -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; line-height: 0; }

@media (max-width: 768px) { .mainNav .businessHours p { -ms-writing-mode: unset; -webkit-writing-mode: unset; writing-mode: unset; font-size: 11px; line-height: 1.8; } }

.mainNav .linkList { display: flex; justify-content: center; font-size: 14px; padding-bottom: 20px; }

@media (max-width: 768px) { .mainNav .linkList { display: none; font-size: 14px; padding-bottom: 0; } }

.mainNav .linkList li { -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; positioN: relative; padding-top: 13px; line-height: 1; }

.mainNav .linkList li:first-child { margin-right: 18px; }

.mainNav .linkList li::before { top: 0; left: 50%; transform: translateX(-50%); border-radius: 50%; position: absolute; content: ''; display: block; width: 8px; height: 8px; border: 2px #111 solid; }

.footer { background-color: #111; color: #fff; padding-top: 80px; padding-bottom: 80px; padding-right: 30px; padding-left: 30px; }

@media (max-width: 768px) { .footer { padding-bottom: 120px; } }

.footer small { font-size: 11px; }

.footer a { color: #fff; }

.footer .footerLogo { width: 140px; margin-bottom: 20px; }

.footer address { font-size: 14px; line-height: 2; }

.footer .businessHours { font-size: 14px; line-height: 2; margin-bottom: 25px; }

.footer .footerInner { max-width: 1000px; width: 100%; margin: 0 auto; display: flex; justify-content: space-between; }

@media (max-width: 768px) { 
    .footer .footerInner { flex-wrap: wrap; }
    .footer .businessHours a img {width: 30px;margin-top: 20px;margin-right: 10px;}
}

.footer .info, .footer .sitemap { width: calc(50% - 20px); }

@media (max-width: 768px) { .footer .info, .footer .sitemap { width: 100%; } }

@media (max-width: 768px) { .footer .info { order: 2; } }

@media (max-width: 768px) { .footer .sitemap { margin-bottom: 80px; } }

.footer .sitemap ul { display: flex; flex-wrap: wrap; justify-content: flex-start; }

.footer .sitemap ul li { width: calc(100% / 3); margin-bottom: 18px; }

@media (max-width: 768px) { .footer .sitemap ul li { width: 50%; font-size: 14px; } }

.footer .sitemap .ctaBtn { margin-top: 20px; width: 100%; display: block; background-color: #fff; color: #111; line-height: 56px; text-align: center; font-size: 18px; }

time { font-family: Palanquin, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; font-weight: 500; display: block; line-height: 1; margin-bottom: 5px; letter-spacing: 0.05em; }

/*----------------------------------------------------------------- 
トップページ
----------------------------------------------------------------- */
.firstView img { width: 100%; height: 100vh; -o-object-fit: cover; object-fit: cover; }

@media (max-width: 768px) { .firstView img { height: calc(100vh - 60px); } }

.firstView .catchCopy { top: 100px; left: 20%; transform: translateX(-30%); }

.contentsSide { width: 70px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; height: 100vh; position: fixed; }

@media (max-width: 768px) { .contentsSide { display: none; } }

.contentsSide small { -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; font-size: 11px; line-height: 70px; }

.top .priceAndFacility { display: flex; padding-left: 70px; max-width: 1760px; width: 100%; margin: 0 auto; }

@media (max-width: 768px) { .top .priceAndFacility { flex-wrap: wrap; padding-left: 0; } }

.top .newsWrap { width: 280px; border-left: 1px solid #e5e5e5; padding-top: 40px; padding-right: 40px; padding-left: 40px; padding-bottom: 40px; }

@media (max-width: 768px) { .top .newsWrap { border-left: 0px; width: 100%; padding-right: 20px; padding-left: 20px; padding-top: 40px; padding-bottom: 55px; } }

.top .newsWrap .newsInner { position: -webkit-sticky; position: sticky; top: 40px; }

.top .newsWrap p a { text-decoration: underline; }

.top .newsWrap h2 { display: flex; align-items: flex-end; margin-bottom: 40px; }

.top .newsWrap h2 span:nth-child(1) { font-size: 18px; padding-right: 10px; font-family: Palanquin, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; font-weight: 500; letter-spacing: 0.05em; line-height: 1; }

.top .newsWrap h2 span:nth-child(2) { font-family: "游ゴシック体", YuGothic, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; font-size: 10px; padding-left: 10px; border-left: 1px solid #ddd; }

.top .newsWrap .newsList { margin-bottom: 40px; font-family: "游ゴシック体", YuGothic, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }

.top .newsWrap .newsList li { font-size: 12px; }

.top .newsWrap .newsList li:not(:last-child) { margin-bottom: 25px; }

.top .newsWrap .newsList li p { line-height: 2; }

@media (max-width: 768px) { .top .newsWrap .newsList li p { font-size: 14px; } }

.top .newsWrap .linkBtn { display: block; line-height: 40px; height: 40px; text-align: center; border-radius: 3px; border: 1px solid #aaa; }

@media (max-width: 768px) { .top .newsWrap .linkBtn { max-width: 200px; margin: 0 auto; } }

.top .mainContents { width: 89%; }

@media (max-width: 768px) { .top .mainContents { width: 100%; } }

.top .mainContents .subImgWrap { width: 100%; position: relative; }

.top .mainContents .subImgWrap .catchCopy { top: 80px; left: 30%; transform: translateX(-30%); }

@media (max-width: 768px) { .top .mainContents .subImgWrap .catchCopy { top: 20px; left: 20px; transform: translateX(0px); } }

.top .mainContents .subImgWrap img { width: 100%; height: 800px; -o-object-fit: cover; object-fit: cover; }

@media (max-width: 768px) { .top .mainContents .subImgWrap img { height: 400px; } }

.top .mainContents .infoWrap { background-color: #f3f3f3; overflow: hidden; padding: 80px 20px; }

@media (max-width: 768px) { .top .mainContents .infoWrap { padding: 0px 20px; } }

.top .mainContents .infoWrap .infoInner { display: flex; max-width: 834px; width: 100%; margin: 0 auto; padding: 40px 0px; }

@media (max-width: 768px) { .top .mainContents .infoWrap .infoInner { flex-wrap: wrap; } }

.top .mainContents .infoWrap .annotationWrap { width: 300px; padding-top: 625px; position: relative; display: flex; justify-content: flex-end; }

@media (max-width: 768px) { .top .mainContents .infoWrap .annotationWrap { display: block; width: 100%; padding-top: 0; order: 2; } }

.top .mainContents .infoWrap .annotationWrap img { position: absolute; width: 365px; height: 585px; -o-object-fit: cover; object-fit: cover; border-radius: 5px; top: 0; right: 0; }

@media (max-width: 768px) { .top .mainContents .infoWrap .annotationWrap img { display: none; } }

.top .mainContents .infoWrap .annotationWrap .annotation { font-weight: 500; width: 200px; font-family: "游ゴシック体", YuGothic, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; font-weight: 500; }

@media (max-width: 768px) { .top .mainContents .infoWrap .annotationWrap .annotation { width: 100%; } }

.top .mainContents .infoWrap .annotationWrap .annotation h3 { font-size: 14px; line-height: 1; margin-bottom: 20px; text-align: center; }

@media (max-width: 768px) { .top .mainContents .infoWrap .annotationWrap .annotation h3 { text-align: left; } }

.top .mainContents .infoWrap .annotationWrap .annotation ul li { text-indent: -1em; padding-left: 1em; line-height: 1.8; font-size: 12px; }

.top .mainContents .infoWrap .info { width: calc(100% - 300px); padding-top: 40px; }

@media (max-width: 768px) { .top .mainContents .infoWrap .info { padding-top: 0; width: 100%; } }

.top .mainContents .infoWrap .info h2 { background-color: #cacaca; font-size: 18px; display: inline-block; }

.top .mainContents .infoWrap .info .onsenType { font-size: 17px; margin-left: 10px; line-height: 2; }

@media (max-width: 768px) { .top .mainContents .infoWrap .info .onsenType { font-size: 16px; margin-bottom: 5px; } }

.top .mainContents .infoWrap .info .desc { font-size: 15px; }

@media (max-width: 768px) { .top .mainContents .infoWrap .info .desc { font-size: 14px; } }

.top .mainContents .infoWrap .info .desc.first { margin-left: 50px; }

@media (max-width: 768px) { .top .mainContents .infoWrap .info .desc.first { margin-left: 0; margin-bottom: 35px; } }

.top .mainContents .infoWrap .info .red { color: #dd0000; }

.top .mainContents .infoWrap .info .viewMoreWrap { text-align: right; margin: 0 5px; }

@media (max-width: 768px) { .top .mainContents .infoWrap .info .viewMoreWrap { margin: 0 5px 30px; } }

@media (max-width: 768px) { .top .mainContents .infoWrap .info .viewMoreWrap:last-of-type { margin: 0 5px 60px; } }

.top .mainContents .infoWrap .info .viewMore { font-size: 12px; position: relative; display: inline-block; }

.top .mainContents .infoWrap .info .viewMore::before { content: ''; display: block; position: absolute; left: 50%; transform: translateX(-50%); top: -50px; width: 1px; height: 40px; background-color: #111; }

@media (max-width: 768px) { .top .mainContents .infoWrap .info .viewMore::before { top: 50%; transform: translateY(-50%); left: -50px; width: 40px; height: 1px; } }

.top .mainContents .infoWrap .info .price, .top .mainContents .infoWrap .info .facility { -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; width: 100%; height: 360px; }

@media (max-width: 768px) { .top .mainContents .infoWrap .info .price, .top .mainContents .infoWrap .info .facility { -ms-writing-mode: unset; -webkit-writing-mode: unset; writing-mode: unset; height: unset; } }

.top .mainContents .infoWrap .info .price h2, .top .mainContents .infoWrap .info .facility h2 { padding: 14px 4px; margin-left: 18px; }

@media (max-width: 768px) { .top .mainContents .infoWrap .info .price h2, .top .mainContents .infoWrap .info .facility h2 { padding: 4px 8px; margin-bottom: 20px; margin-left: 0; } }

.top .mainContents .infoWrap .info .price .onsenType, .top .mainContents .infoWrap .info .price .desc, .top .mainContents .infoWrap .info .price .viewMoreWrap, .top .mainContents .infoWrap .info .facility .onsenType, .top .mainContents .infoWrap .info .facility .desc, .top .mainContents .infoWrap .info .facility .viewMoreWrap { margin-left: 0; }

.top .mainContents .infoWrap .info .price p, .top .mainContents .infoWrap .info .facility p { line-height: 1.8; }

.top .mainContents .infoWrap .info .price { margin-bottom: 80px; }

@media (max-width: 768px) { .top .mainContents .infoWrap .info .price { margin-bottom: 60px; } }

.top .gmap { height: 480px; margin-bottom: 100px; }

@media (max-width: 768px) { .top .gmap { height: 300px; margin-bottom: 60px; } }

.top .gmap iframe { width: 100%; height: 100%; }

.top .features { max-width: 1060px; padding: 0 30px 0 70px; width: 100%; margin: 0 auto 120px; }

@media (max-width: 768px) { .top .features { padding: 0px 20px; margin: 0 auto 40px; } }

.top .features .catchCopy { top: -30px; }

@media (max-width: 768px) { .top .features .catchCopy { top: -20px; } }

.top .features .feature { display: flex; justify-content: space-between; position: relative; }

.top .features .feature:not(:last-of-type) { margin-bottom: 120px; }

@media (max-width: 768px) { .top .features .feature:not(:last-of-type) { margin-bottom: 80px; } }

@media (max-width: 768px) { .top .features .feature { flex-wrap: wrap; } }

.top .features .feature .youtube, .top .features .feature img { width: calc(100% - 405px); height: 450px; -o-object-fit: cover; object-fit: cover; }

@media (max-width: 768px) { .top .features .feature .youtube, .top .features .feature img { width: 100%; height: 250px; margin-bottom: 20px; } }

.top .features .feature .youtube { position: relative; }

.top .features .feature .info { width: 360px; display: flex; flex-direction: column; justify-content: flex-end; }

@media (max-width: 768px) { .top .features .feature .info { width: 100%; order: 2; } }

.top .features .feature .info p { margin-bottom: 40px; font-size: 15px; line-height: 1.7; }

@media (max-width: 768px) { .top .features .feature .info p { font-size: 14px; line-height: 2; } }

.top .features .feature .info .viewMoreWrap { text-align: right; }

.top .features .feature .info .viewMoreWrap .viewMore { font-size: 12px; position: relative; }

.top .features .feature .info .viewMoreWrap .viewMore::before { position: absolute; content: ''; display: block; width: 40px; height: 1px; top: 50%; left: -50px; transform: translateY(-50%); background-color: #111; }

.top .features .feature:nth-child(1) .catchCopy, .top .features .feature:nth-child(3) .catchCopy { left: 20px; }

.top .features .feature:nth-child(2) .catchCopy { right: 20px; }

.top .onlineShop { background: linear-gradient(180deg, #fff 0%, #fff 15%, #e0ecee 15%, #e0ecee 100%); padding-left: 70px; padding-right: 30px; }

@media (max-width: 768px) { .top .onlineShop { padding-left: 0; padding-right: 0; padding-bottom: 80px; background: linear-gradient(180deg, #fff 0%, #fff 11%, #e0ecee 11%, #e0ecee 100%); } }

.top .onlineShop .onlineShopSlider,
.top .onlineShop .groupCompany{ max-width: 1060px;  width: 100%; margin: 0 auto; position: relative; }
.top .onlineShop .onlineShopSlider {padding: 0 92px 120px 30px;}
.top .onlineShop .groupCompany {padding: 0 92px 100px 30px;}

@media (max-width: 768px) { .top .onlineShop .onlineShopSlider,.top .onlineShop .groupCompany { padding: 0;}
.top .onlineShop .onlineShopSlider{margin-bottom: 80px;}
.top .onlineShop .groupCompany{margin-bottom: 60px;}}

.top .onlineShop h2 { -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; font-size: 22px; position: absolute; top: 0px; right: 30px; letter-spacing: 0.08em; }

@media (max-width: 768px) { .top .onlineShop h2 { -ms-writing-mode: unset; -webkit-writing-mode: unset; writing-mode: unset; position: static; margin-bottom: 40px; padding: 0 25px; } }

.top .onlineShop .onlineShopSlider li { text-align: center; position: relative; }

.top .onlineShop .onlineShopSlider li:nth-child(even) { padding-bottom: 86px; }

.top .onlineShop .onlineShopSlider li:nth-child(odd) { padding-top: 86px; }

.top .onlineShop .onlineShopSlider li a { display: block; width: 100%; text-align: center; }

.top .onlineShop .onlineShopSlider li img { width: 172px; height: 172px; -o-object-fit: cover; object-fit: cover; border-radius: 50%; margin-right: auto; margin-left: auto; margin-bottom: 24px; }

.top .onlineShop .onlineShopSlider li h3 { margin-bottom: 11px; font-size: 14px; position: relative; }

.top .onlineShop .onlineShopSlider li h3::before { content: ''; display: block; height: 15px; position: absolute; top: -23px; left: 50%; transform: translateX(-50%); border-right: 1px dotted #111; }

.top .onlineShop .onlineShopSlider li p { font-size: 10px; }
.top .onlineShop .companyList {display: flex;justify-content: space-between; align-items: flex-start;}
.top .onlineShop .companyList li{width: calc(100% / 3 - (80px / 3));height: auto;}
@media screen and (max-width: 1000px) {
    .top .onlineShop .companyList {flex-wrap: wrap;}
    .top .onlineShop .companyList li{width: calc(50% - 20px);margin-bottom: 40px;}
}
@media screen and (max-width: 768px) {
    .top .onlineShop .companyList {padding: 0 20px;}
    .top .onlineShop .companyList li{width: 100%;}
    .top .onlineShop .companyList li:not(:last-child){margin-bottom: 60px;}
}
.top .onlineShop .companyList li a {display: block;position: relative;}
.top .onlineShop .companyList li a img {width: 100%;height: auto;}
.top .onlineShop .companyList li a p {top: -20px;right: 20px;}
.top .onlineShop .companyList li a p span {letter-spacing: 0.05em;}
@-moz-document url-prefix() {
    .top .onlineShop .companyList li a p span {padding:27px 9px 15px 12px;}
}

/*----------------------------------------------------------------- 
下層共通パーツ
----------------------------------------------------------------- */
.lowerPage { margin: 0 auto; width: 100%; max-width: 1110px; padding: 120px 15px 120px; line-height: 1.8; font-size: 15px; }

@media (max-width: 768px) { .lowerPage { font-size: 14px; padding: 60px 15px 120px; } }

.lowerPage h1 { font-size: 40px; line-height: 1.4; margin-bottom: 60px; }

@media (max-width: 768px) { .lowerPage h1 { font-size: 32px; } }

.lowerPage h2 { font-size: 18px; }

@media (max-width: 768px) { .lowerPage h2 { font-size: 1.2em; } }

.lowerPage .lowerFirstView { display: flex; justify-content: space-between; margin: 0 0 120px; }

@media (max-width: 768px) { .lowerPage .lowerFirstView { flex-wrap: wrap; height: calc(100vh - 60px); margin: 0 calc(50% - 50vw) 0px; } }

.lowerPage .lowerPageInner {padding: 0 15px 0;max-width: 1110px;margin: 0 auto;}

.lowerPage .lowerFirstView .titleWrap { width: 50%; position: relative; }
@media screen and (min-width: 769px) {
    _::-webkit-full-page-media, _:future, :root .lowerPage .lowerFirstView .titleWrap {position: unset;display: flex;justify-content: center;align-items:center;}
    _::-webkit-full-page-media, _:future, :root .lowerPage .lowerFirstView .titleWrap h1{position: unset;transform: unset;}
}

@media (max-width: 768px) { .lowerPage .lowerFirstView .titleWrap { width: 100%; height: 50%; } }

.lowerPage .lowerFirstView .titleWrap h1 { position: absolute; left: 50%; top: 25%; transform: translateX(-50%); font-size: 48px; -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; white-space: nowrap; line-height: 1; background-color: #eee; padding: 27px 12px; }

@media (max-width: 768px) { .lowerPage .lowerFirstView .titleWrap h1 { font-size: 22px; top: -30%; transform: translate(-50%, 30%); padding: 20px 10px; } 
_::-webkit-full-page-media, _:future, :root .lowerPage .lowerFirstView .titleWrap h1 {transform: translate(-100%, 30%);}}

@media screen and (max-height: 550px) {
    .lowerPage .lowerFirstView .titleWrap h1 {top: -60%;}
}

.lowerPage .lowerFirstView .firstViewImg { width: 50%; height: 100vh; -o-object-fit: cover; object-fit: cover; }

@media (max-width: 768px) { .lowerPage .lowerFirstView .firstViewImg { width: 100%; height: 50%; } }

.lowerPage .desc { -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; width: 100%; height: 360px; margin-bottom: 60px; display: flex; flex-direction: column; justify-content: center; }

@media (max-width: 768px) { .lowerPage .desc { -ms-writing-mode: unset; -webkit-writing-mode: unset; writing-mode: unset; display: block; height: auto; margin-bottom: 20px; } }

.lowerPage .desc h2 { margin-left: 65px; }

@media (max-width: 768px) { .lowerPage .desc h2 { margin-left: 0; margin-bottom: 60px; } }

.lowerPage .descSection { margin-bottom: 130px; }
.lowerPage .descSection img {width: 100%;}

@media (max-width: 768px) { .lowerPage .descSection { margin-bottom: 60px; } }

.lowerPage .descSection .desc p { font-size: 15px; }

.lowerPage .featureSection { display: flex; justify-content: space-between; align-items: flex-start; }

.lowerPage .featureSection:not(:last-of-type) { margin-bottom: 120px; }

@media (max-width: 768px) { .lowerPage .featureSection { display: block; } }

.lowerPage .featureSection .feature, .lowerPage .featureSection img { width: calc(50% - 35px); }

@media (max-width: 768px) { .lowerPage .featureSection .feature, .lowerPage .featureSection img { width: 100%; } }

.lowerPage .featureSection .feature h2 { font-size: 18px; margin-bottom: 40px; }

.lowerPage .featureSection .feature p { font-size: 15px; }

@media (max-width: 768px) { .lowerPage .featureSection .feature p { margin-bottom: 20px; } }

.lowerPage .noimage { -o-object-fit: contain; object-fit: contain; }

/*----------------------------------------------------------------- 
お知らせ一覧ページ
----------------------------------------------------------------- */
main.news { padding: 120px 15px; }

main.news h1 + img { display: block; width: 100%; height: auto; max-width: 640px; margin: 0 auto 60px; }

main.news h2 { font-size: 14px; margin-bottom: 60px; }

main.news p { font-size: 15px; line-height: 2.2em; }

@media (max-width: 768px) { main.news p { font-size: 14px; } }

main.news .articleWrap { display: flex; flex-wrap: wrap; line-height: 1.8; margin-bottom: -80px; margin-top: 80px; }

main.news .articleWrap .imgWrap { position: relative; margin-bottom: 20px; }

main.news .articleWrap .imgWrap img { width: 100%; height: auto; }

main.news .articleWrap .imgWrap .category { left: 20px; top: -20px; background-color: #111; position: absolute; -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; }

@media (max-width: 768px) { main.news .articleWrap .imgWrap .category { left: 10px; top: -20px; } }

main.news .articleWrap .imgWrap .category span { font-size: 18px; padding: 14px 4px; color: #fff; }

@media (max-width: 768px) { main.news .articleWrap .imgWrap .category span { font-size: 14px; } }

main.news .articleWrap .article { width: calc(100% / 3 - (80px / 3)); margin-right: 40px; margin-bottom: 80px; display: block; }

main.news .articleWrap .article h2 { margin-bottom: 0; }

@media (max-width: 768px) { main.news .articleWrap .article { margin-right: 0; width: 100%; } }

main.news .articleWrap .article:nth-child(3n) { margin-right: 0; }

@media (max-width: 768px) { main.news .articleWrap .article:nth-child(even) { margin-right: 0; } }

/*----------------------------------------------------------------- 
ニュース詳細ページ
----------------------------------------------------------------- */
main.newsDetail h2 { font-size: 22px; }

@media (max-width: 768px) { main.newsDetail h2 { font-size: 20px; } }

/*----------------------------------------------------------------- 
施設案内ページ
----------------------------------------------------------------- */
main.access .facilitySection { margin-bottom: 120px; }

main.access .facilitySection .facilityWrap { display: flex; flex-wrap: wrap; line-height: 1.8; margin-top: 80px; }

main.access .facilitySection .facilityWrap .imgWrap { position: relative; margin-bottom: 20px; }

main.access .facilitySection .facilityWrap .imgWrap img { width: 100%; height: 400px; -o-object-fit: cover; object-fit: cover; }

@media (max-width: 768px) { main.access .facilitySection .facilityWrap .imgWrap img { height: 240px; } }

main.access .facilitySection .facilityWrap h2 { left: 20px; top: -20px; background-color: #111; position: absolute; -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; }

main.access .facilitySection .facilityWrap h2 span { font-size: 20px; padding: 14px 4px; color: #fff; }

main.access .facilitySection .facilityWrap .facility { width: calc(50% - 30px); margin-bottom: 80px; display: block; }

@media (max-width: 768px) { main.access .facilitySection .facilityWrap .facility { width: 100%; } }

main.access .facilitySection .facilityWrap .facility:nth-child(odd) { margin-right: 60px; }

@media (max-width: 768px) { main.access .facilitySection .facilityWrap .facility:nth-child(odd) { margin-right: 0; } }

main.access .facilitySection .other { background-color: #f3f3f3; padding: 30px; }

main.access .facilitySection .other p { margin-bottom: 10px; }

main.access .facilitySection .other p span { font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }

main.access .facilitySection .other ul li { text-indent: -1em; margin-left: 1em; }

main.access .accessSection iframe { width: 100%; height: 50vh; margin-bottom: 40px; }

main.access .accessSection p { margin-bottom: 20px; }

main.access .annotation { font-size: 12px; font-family: "游ゴシック体", YuGothic, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin-top: 0.5em; }

/*----------------------------------------------------------------- 
『炭酸泉について』ページ
----------------------------------------------------------------- */
main.spa {padding: 0 0 120px; max-width: unset;}

/*----------------------------------------------------------------- 
『メディア素材のダウンロード』ページ
----------------------------------------------------------------- */
.post-password-form { height: 60vh; width: 100%; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; flex-direction: column; }

.post-password-form p:first-of-type { margin-bottom: 40px; }

main.media .annotation { font-size: 15px; }

@media (max-width: 768px) { main.media .annotation { font-size: 14px; } }

main.media .annotation:first-of-type { margin-bottom: 40px; }

main.media .annotation:last-of-type { margin-bottom: 80px; }

main.media h2 { font-size: 24px; margin-bottom: 20px; }

@media (max-width: 768px) { main.media h2 { font-size: 20px; } }

main.media .linkList li:not(:last-child) { margin-bottom: 20px; }

main.media .linkList li a { text-decoration: underline; }

/*----------------------------------------------------------------- 
ハンバーガーメニュー
----------------------------------------------------------------- */
.menuOpened { overflow: hidden; }

@media (max-width: 768px) { .menuOpened .menu { top: 30px; right: 20px; bottom: unset; } }

.menuOpened .text { color: #111; }

.menuOpened .text.open { display: none; }

.menuOpened .text.close { display: block; }

@media (max-width: 768px) { .menuOpened .lineWrap { margin-bottom: 0; } }

.menuOpened .lineWrap .line { transform: rotate(45deg); position: absolute; bottom: 10px; background-color: #111; }

.menuOpened .lineWrap .line:nth-child(3) { opacity: 0; }

.menuOpened .lineWrap .line:nth-child(2) { transform: rotate(-45deg); }

.overlayMenu { display: none; position: fixed; width: 100%; height: 100vh; background-color: #fff; z-index: 2; }

@media (max-width: 768px) { .overlayMenu { z-index: 3; } }

.overlayMenuInner { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }

@media (max-width: 768px) { .overlayMenuInner { display: block; padding-top: 40px; padding-bottom: 80px; overflow: auto; } }

.overlayMenuInner .infoWrap { display: flex; }

@media (max-width: 768px) { .overlayMenuInner .infoWrap { flex-wrap: wrap; } }

.overlayMenuInner .info { padding-right: 55px; font-size: 14px; line-height: 2; }

@media (max-width: 768px) { .overlayMenuInner .info { order: 2; font-size: 12px; padding-right: 20px; padding-left: 20px; width: 100%;} }

.overlayMenuInner .info>img { margin-bottom: 25px; width: 170px; }

@media (max-width: 768px) {
    .overlayMenuInner .info>img { display: none; } 
    .overlayMenuInner .info p a img {width: 30px;margin-top: 10px;margin-right: 10px;}
}

.overlayMenuInner .info a { text-decoration: underline; }

.overlayMenuInner .sitemap { padding-left: 55px; }

@media (max-width: 768px) { .overlayMenuInner .sitemap { padding-left: 30px; margin-bottom: 90px;width: 100%; } }

.overlayMenuInner .sitemap ul li { font-size: 24px; line-height: 1; margin-bottom: 28px; }

.overlayMenuInner .sitemap ul li:last-child { margin-bottom: 38px; }

.overlayMenuInner .sitemap .links { font-size: 15px; display: flex; }

.overlayMenuInner .sitemap .links a { display: inline-block; }

.overlayMenuInner .sitemap .links a:first-child { padding-right: 18px; border-right: 1px solid #111; }

.overlayMenuInner .sitemap .links a:last-child { padding-left: 20px; }

iframe#iframe_ytPlayer {width: 600px!important;height: 500px!important;transform: scale(1.5);margin-left: unset!important;margin-top: unset!important;}