@charset "UTF-8";
.fa-twitter:before{
content: "𝕏"!important;
}
.footer-sns__item a.twitter__icon {
  background-color: black!important;
}

:root {
--model-course-base-color: #008264;
--model-course-sub-color: #d9ece8;
}

.o-model-course__label-item.is-time-required {
background-color: #32cd32;
}

.realtimeTitleBox {
	margin: 20px auto;
}
#realtimeBox .infoBox .txtBox {
	display: none;
}
#realtimeBox .infoBox .qr {
	display: none;
}

.tippy-content .sns-side-box{
    background-color: #E7F1DC;
}


@media (max-width: 767px){
    .google-translate-box .skiptranslate.goog-te-gadget {
        margin-left: 0;
        margin-right: 0;
    }
    .google-translate-box{
        padding-left: 0;
    }
}
@media (max-width: 320px){
    .site-digest__header-box .site__logo {
        max-height: 40px;
    }
}
#contentsBox .ctsBox section.list-hgt.horizontal-scroll {
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
@media (max-width: 767px) {
	#contentsBox .ctsBox section.list-hgt.horizontal-scroll {
		-webkit-flex-wrap: nowrap;
		flex-wrap: nowrap;
	}
}

@media screen and (max-width: 1280px) and (min-width: 1025px){
body .header__navigation-item.header__tab-item a {
    font-size: 10.5px;
font-size: var(--font-size-3xs, 10.5px);
}
}
.flyer-tag-label{
    background-color: #FFF;
}


@media (max-width: 767px) {
    #job_section .banner-slide__box .banner-slide__list {
        margin: 0 0.5rem;
    }
    #job_section .banner-slide__box .slick-slider .prev {
        left: 1rem;
    }
    #job_section .banner-slide__box .slick-slider .next {
        right: 1rem;
    }
}


/* 20210915 チケットを目立たせる */
.header__navigation-item.header__tab-item a[href="/p-channel/"] {
    color: #333;
    background: #ebebeb;
}

.header__navigation-item.header__tab-item a.active[href="/p-channel/"] {
    background: #32cd32;
    color: #FFF;
}


.header__navigation-item.header__tab-item a.header__tab-item__ticket,
.header__navigation-item.header__tab-item a.header__tab-item__ticket.active {
    color: #FFF;
    background: rgb(245, 157, 164);
}

@media(min-width: 768px){
    .header__navigation-item.header__tab-item a:hover[href="/p-channel/"] {
        background: #32cd32;
        color: #FFF;
    }

    .header__navigation-item.header__tab-item a.header__tab-item__ticket:hover {
        color: #FFF;
        background: rgb(245, 157, 164);
    }
}
#content_news_banner .news-banner__list .imgBox img{
  border:1px solid #c9c9c9;
}

@media (max-width: 767px){
#content_news_banner .banner-slide__box .banner-slide__thumbnail img {
  border:1px solid #c9c9c9;
}
}

.shopDigestBox #mainBox .digest-header__box--banner ul.banner__list li.banner__item img {
  border:1px solid #c9c9c9;
}
#side #digestSideDefault .side-banner__box ul.side-banner__list li.side-banner__item img {
  border:1px solid #c9c9c9;
}
@media (max-width: 767px){
#side #digestSideDefault .side-banner__box ul.side-banner__list li.side-banner__item img {
  border:none;
}
}
#content_job .job-banner__box ul.job-banner__list li.job-banner__item img {
  border:1px solid #c9c9c9;
}
@media (max-width: 767px){
#content_job .banner-slide__box .banner-slide__thumbnail img {
  border:1px solid #c9c9c9;
}
}
#job_section ul.job-banner__list li.job-banner__item img {
  border:1px solid #c9c9c9;
}
@media (max-width: 767px){
#job_section .banner-slide__box .banner-slide__thumbnail img {
  border:1px solid #c9c9c9;
}
}

/* 軽井沢ナビ掲示板デザイン調整 */

.ctsBox section.fontL h3 {
    font-size: 20px !important;
font-size: var(--font-size-xl, 20px); !important;
    margin-bottom: 5px;
}


#contentsBox .ctsBox section.txtBase article h3, #contentsBox .ctsBox section.txtBase article h4 {
    margin-top: 10px;
}


h2.bdrBottom, h3.bdrBottom {
    margin-bottom: 20px;
    margin-top: 20px;
    color: limegreen;
    padding-bottom: 5px;
    font-size: 240%;
    line-height: 30px;
    border-bottom: #8bc34a 1px solid;
}


.ctsBox section.fontL h4, .ctsBox section.fontL h3 {
    font-size: 19px !important;
font-size: var(--font-size-xl, 19px); !important;
}

/* BB-BBS用 */

.bbs-category-box label {
    padding: 15px 15px;
    background-color: #F0F2F1;
    border-radius: 50px;
    cursor: pointer;
    display: inline-block;
    font-weight: normal;
    margin: 10px 0 0;
    width: 100%;
    text-align: center;
}


a.btn-main {
    padding: 0 20px;
    color: #333;
    font-size: 108%;
font-size: var(--font-size-sm, 108%);
    text-align: left;
    line-height: 55px !important;
    border: #CCC 1px solid;
    background-color: #eeffd8;
}

.dtlBbs .reBox .body .inn.child {
    padding-left: 28px;
    background-color: #eeffd8;
    margin: 10px;
    border-radius: 20px;
}

a.btn-sub {
    width: 160px !important;
    padding: 0 10px;
    line-height: 40px !important;
    border-radius: 5px;
    background-color: #dbff89;
    border: #7bc164 1px solid;
}

h2.bdrBottom, h3.bdrBottom {
    margin-bottom: 30px;
    margin-top: 16px;
    color: #0fae0f;
    padding-bottom: 18px;
    font-size: 240%;
font-size: var(--font-size-2xl, 240%);
    line-height: 30px;
    border-bottom: #32cd32 2px solid;
    text-align: -webkit-center;
}

div#mainBox .mainCtsBox .titleBox {
    padding-top: 21.35px;
    padding-bottom: 10px;
    background-color: #FFF;
    border-bottom: #32cd32 2px solid;
}
/*
h2 span.subTit, h3 span.subTit {
    margin-left: 10px;
    font-size: 12px;
    vertical-align: middle;
    font-weight: normal;
    display: flex;
    justify-content: center;
}*/

@media (max-width: 767px){
h2.bdrBottom, h3.bdrBottom {
    padding: 0px 0px 0px 0px!important;
    font-size: 200%;
font-size: var(--font-size-2xl, 200%);
    line-height: 30px;
    margin-top: 30px;
    border-bottom: #32cd32 2px solid;
}
}


.formBox .formBtnBox {
    text-align: center;
    margin-bottom: 100px;
}

.tb01 td {
    padding: 10px !important;
}

/* とりあえずコメントアウト
#mainBox {
    float: left;
    width: 880px;
    overflow: hidden;
    padding-bottom: 50px;
}
*/

.o-model-course-vehicle.is-walk,
.o-model-course-vehicle.is-bicycle,
.o-model-course-vehicle.is-bike,
.o-model-course-vehicle.is-car,
.o-model-course-vehicle.is-train,
.o-model-course-vehicle.is-bus {
background-color: #def9de;
}

#contentsBox.eventBox .ctsBox section.list-wid article.type2 {
    width: 80%;
    margin: 0 auto;
    border: none;
}

#contentsBox.eventBox .ctsBox section.list-wid article .imgBox img {
    height: 130px;
    object-fit: cover;
}

#side.eventBox h2.side_headline {
padding-bottom: 0.5rem;
    margin-bottom: 32px;
    border-bottom: 2px solid #333;
}

.tourism-route__list-box h2.center_headline {
    margin: 2rem 1rem 1rem 1rem;
}

#content_shop .shop-info__item .info-copy--middle {
    font-size: 0.94rem;
font-size: var(--font-size-md, 0.94rem);
}
#content_shop .shop-info__item .shop-info__copy {
    font-size: 0.8rem;
  font-size: var(--font-size-xs, 0.8rem);
}

#content_shop .shop-info__item .info-copy--middle {
    font-size: 0.94rem;
 font-size: var(--font-size-md, 0.94rem);
}
#content_shop .shop-info__item .shop-info__copy {
    font-size: 0.8rem;
font-size: var(--font-size-xs, 0.8rem);
}


.main__image-box--top .main-image.slick .inner img {
    width: 100%;
    height: auto;
}

#content_banner_slide .banner-slide__item--one-column .banner-slide__thumbnail img {
  object-fit: contain;
  font-family: "object-fit:contain;";
  aspect-ratio: 1 / 1;
}

#mainBox .mainCtsBox .inn ul#thumbnaillist li {
    border: none !important;
}


#side .staffBox {
    border: 2px solid #333;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
#side .staffBox .name {
    order: 2;
    width: 100%;
    text-align: center;
    border-radius: 10px;
    background-color: #333; 
    margin-bottom: 15px;
    padding: 7px 10px;
}
#side .staffBox img {
    order: 1;
    float: none;
    width: 250px !important;
    height: 250px;
    margin: 0 0 15px !important;
    object-fit: cover;
    border-radius: 50%;
}
#side .staffBox p.caption {
    order: 3;
}


@media screen and (min-width: 768px) and (max-width: 1024px) {
    #side .staffBox .name {
        width: calc(60% - 15px);
    }
}

@media (max-width: 767px) {
    #side .staffBox img {
        order: 1;
        float: none;
        width: 250px !important;
        height: 250px;
        margin: 0 0 15px !important;
        object-fit: cover;
        border-radius: 50%;
    }
}


@media(min-width: 768px) {
  body .top-content__section#content_shot .section__title {
    font-size: 2.125rem;
font-size: var(--font-size-4xl, 2.125rem);
  }
  body .top-content__section#content_shot .section__title span {
    font-size: 2.5rem;
font-size: var(--font-size-5xl, 2.5rem);
  }
}
@media(min-width: 1024px) {
  /* .shot-info__thumbnail {
    height: calc(100% - 110px);
  }
  
  .shot-info__detail {
    height: 110px;
  } */
  .shot-info__detail .shot-info__title {
    -webkit-line-clamp: 2;
  }
  
}


/* 求人アスペクト比変更 */
ul.job-info__recommend-list li.job-info__recommend-item .job-info__thumbnail {
    width: 100%;
    height: initial;
    margin: 0 auto;
    aspect-ratio: 75/53;
}

ul.job-info__recommend-list li.job-info__recommend-item .job-info__thumbnail a {
    display: block;
    width: 100%;
    height: 100%;
}
ul.job-info__recommend-list li.job-info__recommend-item .job-info__thumbnail img {
    width: 100%;
    height: 100%;
    max-width: initial;
    max-height: initial;
    object-fit: cover;
}


@media(max-width: 767px){
    #mainBox .course__menu-detail_box .course__menu-form {
        min-height: 500px;
    }
}


@media(max-width: 767px){
    .site-digest__header-box__button {
        margin-block: 0;
    }
/* レポートスタイル
  #content_report .topics__box ul.topics__list{
    justify-content: space-around;
  }
  #content_report .topics__box ul.topics__list li.topics__item{
    width: 100%;
    border-bottom: 1px solid #c9c9c9;
  }
	#content_report .topics__box ul.topics__list li:not(first-child) {
    width: calc(100% / 2 - 0.7rem);
	}
	#content_report .topics__box ul.topics__list li:nth-child(4),
	#content_report .topics__box ul.topics__list li:nth-child(5),
	#content_report .topics__box ul.topics__list li:nth-child(6) {
    display: none;
  }
  #content_report .topics__box ul.topics__list li:not(first-child) .imgBox {
    width: 140px;
  }
  #content_report .topics__box ul.topics__list li:not(first-child) .imgBox img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  #content_report .topics__box ul.topics__list li:first-child .txtBox {
    width: 100%;
    margin-top: 0.4rem;
    display: block;
  }
  #content_report .topics__box ul.topics__list li:not(first-child) .txtBox {
    display: block;
  }
*/
}

/*google chartのQRコード非表示対応*/
.shopQr,
[src^="https://chart.apis.google.com/chart"][src*="cht=qr"]{
    display: none;
}



@media (max-width: 1535px) {
    /* .spn-sticky-menu .scroller .header__navigation-list {
        overflow-x: scroll;
    } */

    .header__navigation-item.header__tab-item {
        flex: unset !important;
    }

    .header__navigation-item.header__tab-item a {
        padding: 10px 24px;
        white-space: nowrap;
    }
}

  .header__navigation-item.header__tab-item {
    width: auto !important;
  }

#content_shot2 .shot-info__thumbnail {
    border-bottom: none !important;
}
#content_shot2 .shot-info__thumbnail img {
    width: 100% !important; 
    height: auto !important;
    max-height: 100% !important;
    aspect-ratio: 1 / 1 !important;
}


/*レポートスタイル*/
/*
.topics__list .topics__item .txtBox .writer img {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  margin-right: 10px;
  margin-top: -2px;
}

.topics__list {
	gap: 15px;
	margin-bottom: 32px;
}

.topics__list .topics__item {
	width: calc(33.3% - 10px);
	margin: 0;
}

.topics__list .topics__item .imgBox {
	float: none;
	width: initial;
	margin-right: 0;
}

@media (max-width: 767px) {
  .topics__list .topics__item {
    width: 100%;
    margin: 0 0.313rem;
  }

	.topics__list .topics__item a {
		display: block;
		width: 100%;
	}

  ul.topics__list li.topics__item .imgBox,
	.topics__list .topics__item .imgBox {
                width: 100%;
		margin-bottom: 8px;
	}

	#content_report .topics__box ul.topics__list li:not(first-child) {
		width: 100%;
	}

  ul.topics__list li.topics__item .txtBox,
	#content_report .topics__box ul.topics__list li:not(first-child) .txtBox {
		display: block;
		width: 100%;
	}

  .topics__list .topics__item:first-child,
	#content_report .topics__box ul.topics__list li.topics__item {
		padding: 16px;
		margin: 0 0.313rem;
		border: 1px solid #c9c9c9;
	}

	#content_report .topics__box ul.topics__list li:first-child .imgBox {
		width: 100%;
	}

	#content_report .topics__box ul.topics__list li:first-child .txtBox .cateBox, #content_report .topics__box ul.topics__list li:first-child .txtBox .day, #content_report .topics__box ul.topics__list li:first-child .txtBox .writer {
		display: block;
	}

	.topics__list .topics__item .txtBox h3 {
		margin-bottom: 16px;
	}
}
*/
@media (max-width: 767px) {
.search-result-wrapper .popular-area a { display: flex; align-items: center; }
}


/*美容予約 メニュー 空き状況カレンダー*/
.p-rsvCta__list-item button.c-btn-square {
	color: var(--color-category-main);
	background-color: #fff;
}

.basic-layout__main .p-btnsArea .p-btnsArea-item .c-btn {
	padding-inline: 0;
}

.p-selectedBox__table-btn .c-btn {
    background-color: var(--color-beauty-main);
}
.p-rsvAction a.c-btn {
    background-color: var(--color-beauty-main);
}
.p-rsvAction a.c-btn:hover, a.c-btn:focus {
    color: #fff;
}
.c-btn-back:before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><path d="M60.57 42.57 24.21 78.93a3.64 3.64 0 0 1-5.14-5.14L52.86 40 19.06 6.21a3.64 3.64 0 0 1 5.15-5.14l36.36 36.36a3.64 3.64 0 0 1 0 5.14Z" fill="%23fff" /></svg>');
}
.p-pageSection__cont a.c-btn-cat-w, a.c-btn-w {
    background-color: #fff !important;
    color: var(--color-beauty-main);
    border: 1px solid var(--color-beauty-main);
}

@media screen and (max-width: 768px) {
    .c-calendar__bottomBtn {
        display: none;
    }
}
/*美容予約end*/

.paragraph_5 .c1 {
    font-size: var(--font-size-lg);
}

.paragraph_5 .c1 > span {
    font-size: var(--font-size-lg);
				line-height: 1.6;
}

.TspecialBox {
    font-size: var(--font-size-md);
}

.TspecialBox .infoBox table {
    font-size: var(--font-size-sm);
}

.tblMenu table td span {
	font-size: var(--font-size-sm);
}

.h9 > span {
	font-size: var(--font-size-3xl);
}

/* font-size utility */
.u-fs--3xs {
    font-size: var(--font-size-3xs) !important;
}

.u-fs--2xs {
    font-size: var(--font-size-2xs) !important;
}

.u-fs--xs {
    font-size: var(--font-size-xs) !important;
}

.u-fs--sm {
    font-size: var(--font-size-sm) !important;
}

.u-fs--md {
    font-size: var(--font-size-md) !important;
}

.u-fs--lg {
    font-size: var(--font-size-lg) !important;
}

.u-fs--xl {
    font-size: var(--font-size-xl) !important;
}

.u-fs--2xl {
    font-size: var(--font-size-2xl) !important;
}

.u-fs--3xl {
    font-size: var(--font-size-3xl) !important;
}

.u-fs--4xl {
    font-size: var(--font-size-4xl) !important;
}

.u-fs--5xl {
    font-size: var(--font-size-5xl) !important;
}


#content_shot2 .shot-info__thumbnail {
    height: auto !important;
}

#content_shot2 .shot-info__thumbnail img {
    width: 100%;
    height: auto;
    max-height: 100%;
    aspect-ratio: 1 / 1;
	object-fit: cover;
}

body:has(#job_section)  #wrapper {
overflow: hidden;
}

.related-event__list-item dl dd {
padding-bottom: 6px !important;
}

.related-event__list-box .related-event__list-info.slick {
height: auto !important;
}

:root {
  --font-size-3xs: 10px; /* 最小 */
  --font-size-2xs: 12px; /* 補足・キャプションなど極小テキスト */
  --font-size-xs: 13px; /* 小さめ補足、注釈 */
  --font-size-sm: 14px; /* モバイル本文や小UI */
  --font-size-md: 16px; /* 通常の本文サイズ（基準） */
  --font-size-lg: 18px; /* 本文強調、導入文 */
  --font-size-xl: 20px; /* 小見出し */
  --font-size-2xl: 24px; /* セクション見出し */
  --font-size-3xl: 28px; /* メイン見出し */
  --font-size-4xl: 32px; /* トップ見出し・ヒーロー */
  --font-size-5xl: 40px; /* 特大ビジュアル用見出しなど */
}

@media (max-width: 767px) {
  :root {
    /* --font-size-md: 15px; 通常の本文サイズ（基準） */
    --font-size-2xl: 22px; /* セクション見出し */
    --font-size-3xl: 24px; /* メイン見出し */
    --font-size-4xl: 28px; /* トップ見出し・ヒーロー */
    --font-size-5xl: 32px; /* 特大ビジュアル用見出しなど */
  }
}

/* 近くのお店 */
#contentsBox .ctsBox section.list-hgt article.aroundBox a img {
    aspect-ratio: 10 / 7;
    height: 100%;
    object-fit: contain;
}


/* 日本語以外のときに適用 */
html:not(:lang(ja)) #contentsBox .ctsBox section.list-hgt article.aroundBox .peripheralInfo div.route:first-of-type {
    display: flex;
    flex-direction: column;
}
html:not(:lang(ja)) #contentsBox .ctsBox section.list-hgt article.aroundBox .peripheralInfo div.route:first-of-type p {
    order: 1;
}

.goog-te-gadget-simple {
    display: none!important;
}





