@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=PT+Serif:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;900&display=swap');

* {
font-family: 'Noto Sans JP', sans-serif;
}
.category__navigation-item a {
flex-direction: column;
display: flex;
align-items: center;
height: 100%;
font-size: 0.6rem;
color: #444;
font-weight: bold;
justify-content: center;
margin-bottom: 15px;
}

.category__navigation-item img {
width: auto;
height: auto;
display: block;
max-height: 32px;
max-width: 100%;
margin: 0 auto 0;
}

.footer-sub-link__list {
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 1rem;
color: black;
}

.footer-sub-link__item a {
font-size: 0.75rem;
color: #000;
}

.copyright__text {
font-size: 0.75rem;
color: #000;
}
/*-------------------------------------
freeArea
--------------------------------------*/
.freeArea {
display: grid;
gap: 40px;
padding: 0 0 40px;
}
.freeArea .imgBox {
max-width: 780px;
margin: 15px auto;
}
.freeArea .ttl {
font-weight: 600;
font-size: 25px;
color: #51a7dd;
position: relative;
width: fit-content;
}
.freeArea .ttl::after {
content: '';
display: block;
position: absolute;
top: 0;
bottom: 0;
margin: auto 0;
right: -142%;
width: 130px;
height: 2px;
background: #51a7dd;
}
.freeArea .txtBox {
line-height: 2;
}
.forSp {
display: none;
}
@media screen and (max-width: 1180px) {
.forPc {
display: none;
}
.forSp {
display: block;
}
}

/*-------------------------------------
イベントページ
--------------------------------------*/
.banner202408 .ebDestroy{
    display: none;
  }
  .banner202408 .fixedBanner{
    position: fixed;
    left: 3%;
    bottom: 3%;
    border: 1px solid #dddddd;
    animation-name: fadeInFB;
    animation-duration: 1.0s;
    animation-timing-function: ease-out;
    animation-fill-mode: forwards;
    display: none;
    z-index: 20;
    max-width: 300px;
  }
  .banner202408 .fixedBanner .fbClose{
    /* background: #FFF;
    border: 1px solid #888;
    border-radius: 50%; */
    aspect-ratio: 1/1;
    width: 27px;
    font-size: 30px;
    line-height: 1.0;
    position: absolute;
    top: -30px;
    right: -25px;
    display: grid;
    place-content: center;
    padding: 0 1px 3px 2px; 
    cursor: pointer;
  }
  .banner202408 .open{
    display: block;
    opacity: 1;
  }
  @keyframes fadeInFB{
    from {
      opacity: 0;
    }

    to {
      opacity: 1;
    }
  }
  @media (max-width: 1024px) {
    #contentsBox .ctsBox .banner202408 .fixedBanner{
      width: 200px;
    }
  }


/*-------------------------------------
shoppage
--------------------------------------*/
.shopPage .gridBox {
display: grid;
gap: 90px 0;
}
.shopPage .mainTtl {
color: #6cb4e4;
text-align: center;
padding: 0.25em;
border-top: solid 2px #6cb4e4;
border-bottom: solid 2px #6cb4e4;
background: -webkit-repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
background: repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
margin: 0 0 20px;
font-size: 120%;
}
.shopPage .flexBox {
display: flex;
justify-content: space-between;
gap: 20px;
}
.shopPage .reverce {
flex-direction: row-reverse;
}
.shopPage .imgBox {
max-width: 450px;
width: 100%;
}
.shopPage .imgBox img {
width: 100%;
border-radius: 10px;
gap: 15px;
object-fit: cover;
}
.shopPage .textBlock {
flex-shrink: 3;
font-size: 15px;
line-height: 2;
max-width: 390px;
}
.shopPage iframe {
width: 100%;
}
.blueBtn {
display: block;
width: fit-content;
margin: 15px 0 20px auto;
border-radius: 20px;
background: #51a7dd;
font-weight: 700;
color: #fff;
padding: 3px 25px;
}
.blueBtn::after {
content: '\f054';
font: normal normal normal 14px/1 FontAwesome,sans-serif;
display: inline-block;
margin: 0 0 0 5px;
}
.shopPage ul li {
    display: flex;
    align-items: baseline;
    gap: 4px;
}
.shopPage ul li::before {
content: '';
    border-radius: 50px;
    background: #51a7dd;
    height: 10px;
    padding: 0 0 0 10px;
    display: inline-block;
}
@media screen and (max-width: 970px) {
.shopPage .flexBox,
.shopPage .reverce {
flex-direction: column;
align-items: center;
}
.shopPage .textBlock {
max-width: inherit;
width: 100%;
}
.shopPage .gridBox > div {
margin-left: 0 !important;
}
.shopPage .gridBox {
gap: 50px 0;
}
}
/*-------------------------------------
PC検索ボックス
--------------------------------------*/
.topMainImg {
        display: none;
}

/*-------------------------------------
カリーラリーで設定した松本市の子エリア 非表示
--------------------------------------*/
/* 松本市配下のエリア（波田・梓川など）を非表示にする */

/* 詳しく探す>サイドバー */
.area.search-condition-box dl.s-area-1 dd.toggle{
    display: none;
}
.area.search-condition-box dl.s-area-1 + ul.searchAreaDetail_1{
    visibility: hidden;
}
.search_section--shop:has(li.active[data-name="category"][data-id="17"]) .area.search-condition-box dl.s-area-1 dd.toggle{
    display: inline-block;
}
.search_section--shop:has(li.active[data-name="category"][data-id="17"]) .area.search-condition-box dl.s-area-1 + ul.searchAreaDetail_1{
    visibility: visible;
}

/* イベント投稿画面 */
.chk-parent:has(input[id="main_event_area-list_area_1"]) .chk-child{
    visibility: hidden;
    height: 0;
}

/* イベントTOP>下部 */
.event-area__box ul.detail-area__list {
        display: none;
}


/*-------------------------------------
特集ページ
--------------------------------------*/
.specialPage {
margin: auto;
padding: 0 0 120px;
}
.specialPage .mainImg {
width: 100%;
margin: 0 auto 50px;
}
.specialPage img {
width: 100%;
}
/* リセットCSS */
.topics__detail .mainCtsBox .inn h2{
background: none;
margin: 0;
padding: 0;
border: none;
position: static;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
line-height: 1;
}
.topics__detail .mainCtsBox .inn h2::before{
content: none;
}
/*-------------------------------------
レポートの連載
--------------------------------------*/
.top-content__section .slides img { margin: auto; }
/*-------------------------------------
花火特集　2023年
--------------------------------------*/
.hanabi2023 * {
color: #3D3D3D;
font-family: 'PT Serif','Zen Old Mincho', serif;
font-size: 16px;
}
.hanabi2023 {
max-width: 1080px;
width: 100%;
margin: auto;
background: rgb(233,233,233);
background: linear-gradient(0deg, rgba(233,233,233,1) 0%, rgba(255,255,255,1) 70%);
}
.hanabi2023 .innerBox {
max-width: 940px;
width: 100%;
margin: auto;
}
.hanabi2023 .gridBox {
display: grid;
}
.hanabi2023 .black { 
position: relative; 
overflow: hidden;
}
.hanabi2023 .black::after {
content: '';
display: block;
position: absolute;
width: 100%;
height: 100%;
background: #707070;
opacity: 0.2;
top: 0;
left: 0;
}
.hanabi2023 .imgFlex {
display: flex;
gap: 0 10px;
/*height: 380px;*/
bottom: 0;
left: 12%;
}
.hanabi2023 .bnrTtl {
position: relative;
margin: 0 auto 0 0;
font-weight: 900;
}
.hanabi2023 .info { line-height: 2.5; }
.hanabi2023 .num {
padding: 7px 16px;
margin: 0 15px 0 0;
border-radius: 50%;
border: solid 1px #2C2C2C;
font-family: 'Zen Old Mincho', serif;
font-size: 20px;
display: inline-block;
}
.hanabi2023 .more {
display: flex;
align-items: center;
width: fit-content;
position: relative;
padding: 0 40px 0 0;
margin: 0 0 0 auto;
}
.hanabi2023 .bnrArea {
gap: 35px;
}
.hanabi2023 .bnrTtl { 
font-size: 27px; 
letter-spacing: 2px;
}
.hanabi2023 .engTtl {
display: flex;
color: #BEBEBE;
letter-spacing: 1.5px;
align-items: center;
}
.hanabi2023 .engTtl::before {
content: '';
width: 30px;
height: 1px;
display: inline-block;
background: #BEBEBE;
margin: 0 5px 0 0;
}
.hanabi2023 .bnrArea {
gap: 35px;
}
.hanabi2023 .bnrBtn {
width: 100%;
height: 200px;
padding: 20px;
display: grid;
grid-template-rows: 1fr auto;
transition: all 0.3s;
position: relative;
z-index: 0;
}
.hanabi2023 .bnrArea .more {
line-height: 1.7;
}
.hanabi2023 .bnrTtl, .hanabi2023 .bnrArea .more {
color: #fff;
}
.hanabi2023 .backImg {
position: absolute;
inset: 0;
}
.hanabi2023 .bnrBtn * {
z-index: 20;
font-weight: 700;
}
.hanabi2023 .flexBox {
display: flex;
justify-content: space-between;
align-items: center;
}
@media screen and (max-width: 1020px) {
.hanabi2023 .imgFlex {
/*height: 255px;*/
left: 20%;
}
.hanabi2023 .bnrTtl { padding: 0 20px; }
}

.hanabiArt01 {
background: #F5F5F5;
}
.hanabiArt01 .mainImg { 
height: 370px;
position: relative;
}
.hanabiArt01 .mainImg img { 
object-fit: cover; 
height: 100% !important;
}
.hanabiArt01 .mainImg .num,
.hanabiArt01 .mainImg .bnrTtl,
.hanabiArt01 .mainImg .more {
position: absolute;
z-index: 2;
}
.hanabiArt01 .mainImg .num {
top: 25px;
left: 25px;
font-size: 33px;
padding: 4px 20px;
border: solid 2px #fff;
color: #fff;
}
.hanabiArt01 .mainImg .bnrTtl {
writing-mode: vertical-rl;
top: 30px;
right: 45px;
font-size: 30px;
text-align: center;
letter-spacing: 4px;
border-left: solid 1px #fff;
border-right: solid 1px #fff;
padding: 10px;
color: #fff;
}
/*----------------------
　縦書きブラウザハック
-----------------------*/
/* chrome */
@media screen and (-webkit-min-device-pixel-ratio:0){
.hanabiArt01 .mainImg .bnrTtl {
letter-spacing: -10px;
}
}
/* Edge */
@supports (-ms-ime-align: auto){
.hanabiArt01 .mainImg .bnrTtl {
letter-spacing: -10px;
}
}
/* safari */
::-webkit-full-page-media, :future, :root .hanabiArt01 .mainImg .bnrTtl{
letter-spacing: 4px;
}
/* Firefox */
@-moz-document url-prefix(){
.hanabiArt01 .mainImg .bnrTtl{
letter-spacing: 4px;
}
}
.hanabiArt01 .mainImg .more {
bottom: 30px;
left: 30px;
font-weight: 900;
letter-spacing: 2px;
line-height: 1.8;
color: #fff;
}
.hanabiArt01 .container { 
gap: 120px 0; 
padding: 0 20px;
}
.hanabiArt01 .container .info {
padding: 0 0 20px;
font-weight: 600;
font-size: 17px;
}
.hanabiArt01 .container .bnrTtl {
color: #2C2C2C;
padding: 0 0 30px;
}
.hanabiArt01 .content { 
gap: 80px 0; 
max-width: 740px;
width: 100%;
margin: auto;
}
.hanabiArt01 .content > div,
.hanabiArt01 .container > div { 
width: 100%; 
}
.hanabiArt01 .imgFlex {
height: unset;
}
.hanabiArt01 .imgColumn {
display: grid;
gap: 30px;
}
.hanabiArt01 .imgBox { 
width: 100%; 
text-align: center;
}
.hanabiArt01 .imgBox img {
object-fit: cover;
object-position: center;
}
.hanabiArt01 figcaption {
color: #6B6B6B;
font-size: 14px;
text-align: center;
}
.hanabiArt01 .pointList {
background: #fff;
padding: 20px;
width: 100%;
display: grid;
gap: 10px;
}
.hanabiArt01 .pointList li {
list-style: none;
display: flex;
align-items: baseline;
font-weight: 700;
line-height: 2;
font-family: '游ゴシック', sans-serif;
font-weight: 500;
}
.hanabiArt01 .pointList li::before {
font: normal normal normal 14px/1 FontAwesome,sans-serif;
content: '\f12a';
background: #2C2C2C;
color: #fff;
margin: 0 10px 0 0;
border-radius: 50%;
display: inline-block;
padding: 6px 11px;
font-size: 16px;
}
.hanabiArt01 .tate {
height: 420px !important;
}
.hanabiArt01 .yoko {
max-width: 430px;
margin: auto;
}
@media screen and (max-width: 1020px) {
.hanabiArt01 .container {
width: fit-content;
}
.hanabiArt01 .pointList {
width: initial;
padding: 10px;
}
.hanabi2023 .mainArea01 {
flex-direction: column;
}
}
@media screen and (max-width: 780px) {
.hanabiArt01 .imgFlex {
flex-direction: column;
gap: 30px;
}
.hanabiArt01 .mainImg {
height: 470px;
}
.hanabiArt01 .mainImg .num {
top: 15px;
left: 20px;
padding: 4px 16px;
font-size: 26px;
}
.hanabiArt01 .mainImg .more {
bottom: 20px;
left: 20px;
font-size: 14px;
}
.hanabiArt01 .mainImg .bnrTtl {
top: 20px;
right: 25px;
font-size: 27px;
letter-spacing: 0;
}
.hanabiArt01 .container .info {
line-height: 2;
font-size: 16px;
}
.hanabiArt01 .yoko {
width: inherit;
}
.hanabiArt01 .container {
width: initial;
}
.hanabiArt01 .content {
gap: 40px 0;
}
.hanabiArt01 .pointList li {
font-size: 14px;
}
.hanabi2023 .bnrBtn .more { font-size: 13px; }
}
.hanabi2023  .backBtn {
text-align: center;
font-size: 25px;
font-weight: 800;
margin: 50px auto 0;
display: block;
width: fit-content;
}
.hanabi2023 .backBtn:hover {
opacity: 0.5;
}

.fa-twitter:before{
content: "𝕏"!important;
}
.footer-sns__item a.twitter__icon {
background-color: black!important;
}
/*----------------------
　レポート
-----------------------*/
.reportArea .contTtl {
padding: 1.5em 1.0em;/*文字の上下 左右の余白*/
color: #2F4F4F;/*文字色*/
background: #f4f4f4;/*背景色*/
border-left: solid 5px #ffd700;/*左線*/
border-bottom: solid 3px #d7d7d7;/*下線*/
}
/* 表 */
.reportArea .tblMenu table {
width: 100%;
margin: 0 0 20px;
}
.reportArea .tblMenu table th {
padding: 14px;
border-bottom: #666666 2px solid;
}
.reportArea .tblMenu table th h4 {
font-weight: bold;
font-size: 104%;
text-align: left;
}
.reportArea .tblMenu table td {
line-height: 1.5;
padding: 10px 15px;
border-bottom: #FFFFFF 1px solid;
background: #F5F5F5;
font-weight: normal;
font-size: 93%;
}
.reportArea .tblMenu table td:first-child {
border-right: #FFFFFF 1px solid;
}
.reportArea .tblMenu table td:last-child {
width: 70%;
vertical-align: middle;
text-align: left;
}
/*
.tblMenu table td h4{
padding: 10px 15px;
background: #FFCCCC;
font-weight: bold;
font-size: 104%;
text-align: center;
}*/
.reportArea .tblMenu ul li {
line-height: 1.5;
margin: 0 0 5px;
color: #FF0000;
font-size: 93%;
}
.reportArea .tbl-bo_to{
border-top: 2px solid #D3D3D3;
}

/* -----------------------
ブログ記事 投稿 CSS
--------------------------*/
/* 共通スタイル */
:root {
--font-size--normal: 16px;
--font-size--ttl: 22px;
--font-size--subTtl: 18.5px;
--font-size--quote: 14px;

--thcolor-00: #F0EAE7; /*インデックスグレーボックス*/

--lineheight-normal: 2.5;
--fontwight-nomal: 500; 
}
@media screen and (max-width: 880px) {
:root {
--font-size--normal: 15px;
--font-size--ttl: 20px;
--font-size--subTtl: 18px;
--font-size--quote: 12px;
}
}

/* テキスト */
.articleCont p,
.articleCont li{
font-size: var(--font-size--normal);
font-weight: var(--fontwight-nomal);
line-height: var(--lineheight-normal);
}
.articleCont .paraArea .paraBlock h3{
font-size: var(--font-size--ttl);
}
.articleCont h4{
font-size: var(--font-size--subTtl);
}
.articleCont .quote a{
text-decoration: underline;
}

/* インデックスエリア */
.articleCont .indexArea{
padding: 25px 0 45px;
}
.articleCont .indexArea .preface{
padding: 0 0 45px 0;
}
.articleCont .indexBox{
background-color: var(--thcolor-00);
padding: 20px 30px;
}  
.articleCont .indexArea ul{
padding: 0 0 0 25px;
list-style: disc;
}
@media screen and (max-width: 880px) {
.articleCont .indexArea{
padding: 0 0 25px;
}
.articleCont .indexArea .preface{
padding: 0 0 25px 0;
}
}


/* パラグラフエリア */
/* 余白*/
.articleCont .paraArea,
.articleCont .paraArea .paraGrid{
display: grid;
grid-template-columns: 100%;
}
.articleCont .paraArea{
gap: 50px;
}
.articleCont .paraArea .paraGrid{
gap:30px
}

.articleCont .paraArea .paraBlock .paraTtl{
padding: 0 0 0 10px;
margin: 0 0 25px 0;
}
.articleCont .paraArea img{
width: 100%;
display: block;
}
.articleCont .paraArea .paraBlock .subTtl{
padding: 10px 0;
position: relative;
}
.articleCont .paraArea .paraBlock .subTtl::before{
position: absolute;
content: '';
width: 50px;
height: 3px;
left: 0;
top: 0px;
}
.articleCont .paraArea .quote{
text-align: end;
font-size: var(--font-size--quote);
}
@media screen and (max-width: 880px) {
.articleCont .paraArea .quote{
line-height: 1.0;
text-align: start;
padding: 2px 0 0 0;
}
}
@media screen and (max-width: 767px) {
.articleCont {
margin: 0 !important;
}
}

/* -----------------------
桜特集
--------------------------*/
:root {
        --sakura2024-bgColor-pink: #FFF9F4;
        --sakura2024-bgColor-white: #FFF;
        --sakura2024-bgColor-gray: #F5F5F5;
        --sakura2024-txtColor-pink: #ED8E8E;
        --sakura2024-txtColor-green: #99B74E;
        --sakura2024-txtColor-blue: #699CD1;
        --sakura2024-font-weight-medium: 400;
        --sakura2024-font-weight-bold: 700;
        --sakura2024-font-style-basic: "Zen Maru Gothic",  sans-serif;

        --sakura2024-contWide-cont: 880px;

        --sakura2024-borderRadius-basic: 20px 0 20px 0;
        --sakura2024-borderRadius-big: 30px 0 30px 0;
}

.sakuraArea {
        background: var(--sakura2024-bgColor-pink);
}

.sakuraArea  {
        background: var(--sakura2024-bgColor-pink);
        font-family: var(--sakura2024-font-style-basic);
        font-style: normal;
        font-weight: var(--sakura2024-font-weight-medium);
        font-size: 18px;
        letter-spacing: 1px;
}

.sakuraArea img {
        display: block;
        margin: auto;
}

.sakuraArea .mainImg {
        padding: 0 0 70px;
}

.sakuraArea .ttl {
        color: var(--sakura2024-txtColor-pink);
        font-weight: var(--sakura2024-font-weight-bold);
        font-size: 27px !important;
        text-align: center;
        padding: 0 0 40px;
}

.sakuraArea .indexBlock {
        padding: 0 0 80px;
}

.sakuraArea .indBox {
        display: grid;
        gap: 30px;
        place-content: center;
        margin: 0 auto 40px;
}

.sakuraArea .areaItm {
        display: flex;
        justify-content: center;
        gap: 25px;
        flex-wrap: wrap;
}

.sakuraArea .areaItm a {
        color: var(--sakura2024-txtColor-pink);
        font-weight: var(--sakura2024-font-weight-bold);
        padding: 10px 20px;
        background: var(--sakura2024-bgColor-white);
        border-radius: var(--sakura2024-borderRadius-basic);
        display: flex;
        align-items: center;
        box-shadow: 0px 10px 10px -6px rgba(237, 142, 142, 1);
}

.sakuraArea .areaItm a.active {
        background: var(--sakura2024-txtColor-pink);
        color: var(--sakura2024-bgColor-white);
}

.sakuraArea .placeItm {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        align-items: center;
        color: var(--sakura2024-txtColor-green);
        padding: 20px 40px;
        border-radius: var(--sakura2024-borderRadius-basic);
        background: var(--sakura2024-bgColor-white);
}

.sakuraArea .placeItm a {
        color: var(--sakura2024-txtColor-green);
        font-weight: var(--sakura2024-font-weight-bold);
        display: flex;
        background: var(--sakura2024-bgColor-white);
}

.sakuraArea .placeItm,
.sakuraArea .placeItm a {
        gap: 40px;
}

.sakuraArea .placeItm a:not(.sakuraArea .placeItm li:last-of-type > a)::after {
        content: '';
        width: 2px;
        height: 30px;
        background: var(--sakura2024-bgColor-gray);
        transform: rotate(30deg);
        display: inline-block;
}

.sakuraArea .hanaTtl {
        color: var(--sakura2024-bgColor-white);
        font-weight: var(--sakura2024-font-weight-bold);
        background: var(--sakura2024-txtColor-pink);
        width: fit-content;
        padding: 10px 20px !important;
        border-radius: var(--sakura2024-borderRadius-basic);
        margin: 0 0 30px;
}

.sakuraArea .wrap {
        max-width: var(--sakura2024-contWide-cont);
        width: 100%;
        margin: auto;
        padding: 0 15px 100px;
}

.sakuraArea .container {
        display: grid;
        gap: 80px;
}

.articleCont .slidContainer {
        overflow: hidden;
}

.slidContainer .imgBox img {
        width: calc(100% - 10px) !important;
        object-fit: cover;
        max-height: 460px;
        aspect-ratio: 7 / 5;
}

.sakuraArea .txtBox {
        padding: 0 10px;
        line-height: 2;
}

.sakuraArea .itmGrid {
        display: grid;
        gap: 20px;
        width: 100%;
}

.sakuraArea .infoBox {
        padding: 30px;
        background: var(--sakura2024-bgColor-white);
        border-radius: var(--sakura2024-borderRadius-big);
        display: grid;
        grid-template-columns: 3fr 10fr;
        gap: 20px;
}

.slidContainer .slick-arrow {
        width: 60px;
        height: 60px;
        border-radius: 50%;
        background-color: #fff;
        cursor: pointer;
        border: none;
        outline: none;
        font-size: 0;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto 0;
        z-index: 1;
        filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}

.slidContainer .slick-arrow::before {
        content: '';
        display: block;
        width: 12px;
        height: 12px;
        border: 1px solid var(--sakura2024-txtColor-pink);
        border-width: 3px 3px 0 0;
        position: absolute;
        inset: 0;
        margin: auto;
        transform: rotate(45deg);
}

.slidContainer .slick-next {
        right: 0;
}

.slidContainer  .slick-prev {
        left: 0;
}

.slidContainer  .slick-next::before {
        left: -2px;
}

.slidContainer  .slick-prev::before {
        border-width: 0 0 3px 3px;
        right: -2px;
}

.slidContainer .dot {
        text-align: center;
        position: relative;
}

.slidContainer .slick-dots {
        bottom: 0;
}

.slidContainer .dot button {
        width: 15px;
        height: 15px;
}

.slidContainer .slick-dots li button:before {
        font-size: 13px;
}

.sakuraArea .infoBox * {
        background: var(--sakura2024-bgColor-white);
}

.sakuraArea .infoBox dt,
.sakuraArea .infoBox dd {
        padding: 10px;
}

.sakuraArea .infoBox dt {
        color: var(--sakura2024-txtColor-pink);
        border-right: var(--sakura2024-txtColor-pink) 1px dashed;
}

.sakuraArea .infoBox .linkTxt {
        text-align: right;
        color: var(--sakura2024-txtColor-pink);
        text-decoration: underline var(--sakura2024-txtColor-pink) 1px;
}

/* .sakuraArea .contBlock {
        display: none;
        opacity: 0;
}

.sakuraArea .contBlock.is-active {
        display: block;
        animation: displayAnime 2s forwards;
} */

@keyframes displayAnime {
        from {
                opacity: 0;
        }

        to {
                opacity: 1;
        }
}

@media screen and (max-width: 580px) {
        .sakuraArea * {
                font-size: 16px;
        }
        .sakuraArea .wrap {
        padding: 0 10px 50px;
        }
        .sakuraArea .mainImg {
                padding: 0 0 35px;
        }

        .sakuraArea .ttl {
                font-size: 22px !important;
                padding: 0 0 20px;
        }

        .sakuraArea .hanaTtl {
                font-size: 18px !important;
        }

        .sakuraArea .areaItm {
                justify-content: flex-start;
                gap: 10px;
        }

        .sakuraArea .indexBlock {
                padding: 0 0 50px;
        }

        .sakuraArea .placeItm,
        .sakuraArea .placeItm a {
                gap: 15px 25px;
        }

        .sakuraArea .infoBox {
                grid-template-columns: 1fr;
        }

        .sakuraArea .infoBox dt {
                border-right: none;
                border-left: var(--sakura2024-txtColor-pink) 1px dashed;
                font-weight: 600;
        }

        .slidContainer .slick-arrow {
                width: 40px;
                height: 40px;
        }

        .slidContainer .slick-arrow::before {
                width: 8px;
                height: 8px;
        }

        .slidContainer .slick-next::before {
                left: -5px;
        }

        .slidContainer .slick-prev::before {
                right: -2px;
        }
.sakuraArea .infoBox { 
padding: 30px 20px;
}
}
/* --------- 桜特集 End -----------*/


/*------- 浅間温泉特集2024 -------*/
/*-----------------------------
共通スタイル
-----------------------------*/
:root {
--asamaonsen2024-bgColor-base: #F5EDE4;
--asamaonsen2024-bgColor-history: #C4CCC4;
--asamaonsen2024-bgColor-gourmet: #D4D1B7;
--asamaonsen2024-bgColor-hotSpring: #B1C5CA;
--asamaonsen2024-bgColor-shopping: #CCC4CA;
--asamaonsen2024-txtColor-lightBrack: #040404;
--asamaonsen2024-txtColor-green: #99B74E;
--asamaonsen2024-color-brack: #000000;
--asamaonsen2024-color-white: #FFFFFF;
--asamaonsen2024-font-style-ZOM: "Zen Old Mincho", serif;
--asamaonsen2024-font-style-JS: "Josefin Sans", sans-serif;
--asamaonsen2024-font-size-ttl: 36px;
--asamaonsen2024-font-size-ttlSP: 30px;
--asamaonsen2024-font-size-subTtl: 24px;
--asamaonsen2024-font-size-txt: 17px;
--asamaonsen2024-font-weight-thin: 300;
--asamaonsen2024-font-weight-medium: 400;
--asamaonsen2024-font-weight-midBold: 500;
--asamaonsen2024-font-weight-bold: 700;
--asamaonsen2024-linehight-wideTxt: 2.2;
--asamaonsen2024-linehight-nomal: 2.0;
--asamaonsen2024-linehight-ttl: 1.5;
--asamaonsen2024-cornerradius-recoContainer: 30px;
/*スリックカードテンプレート追記分*/
--asamaonsen2024-lineColor-Gray: #C7C7C7;
--asamaonsen2024-slickColor-darkGray: #494040;
--asamaonsen2024-font-size-unLayerTtl: 20px;
--asamaonsen2024-font-size-unLayerTtlSP: 20px;
--asamaonsen2024-font-size-unLayerTtlAlpha: 17px;
--asamaonsen2024-linehight-unLayerTtlAlpha: 1.2;
}
/* 文字 */
.asamaonsen2024 *{
font-size: var(--asamaonsen2024-font-size-txt);
font-family: var(--asamaonsen2024-font-style-ZOM);
font-weight: var(--asamaonsen2024-font-weight-medium);
line-height: var(--asamaonsen2024-linehight-nomal);
}
.asamaonsen2024 .ttl{
font-size: var(--asamaonsen2024-font-size-ttl);
font-family: var(--asamaonsen2024-font-style-JS);
}
.asamaonsen2024 .subTtl{
font-size: var(--asamaonsen2024-font-size-subTtl);
}
.asamaonsen2024 .ttl,
.asamaonsen2024 .subTtl{
line-height: var(--asamaonsen2024-linehight-ttl);
}
.asamaonsen2024 a:visited{
color: var(--asamaonsen2024-color-brack);
}
.asamaonsen2024 a{
text-decoration: none;
}
.asamaonsen2024 a:hover{
opacity: 0.7;
}
.asamaonsen2024 .thinlyNum{
font-weight: var(--asamaonsen2024-font-weight-thin);
}
.asamaonsen2024 .styleJS{
font-family: var(--asamaonsen2024-font-style-JS);
}
.asamaonsen2024 img {
width: 100% !important;
}
@media screen and (max-width: 428px) {
.asamaonsen2024 .ttl{
font-size: var(--asamaonsen2024-font-size-ttlSP);
}
}
/* ベース背景 */
.asamaonsen2024 {
background: var(--asamaonsen2024-bgColor-base);
}
/* 共通レイアウト */
/* インナーフレーム */
.asamaonsen2024 .innerFlame{
max-width: 1080px;
padding: 60px 20px;
margin: 0 auto;
}
/* 余白 */
.asamaonsen2024 .areaGrid{
gap: 100px
}
.asamaonsen2024 .ttl:not(.messageArea .ttl, .menuArea .ttl, .tosonHaikuArea .ttl, .recommendsArea .recoContainer .ttl, .modelCorseBannerArea .bannerBtnGrid .ttl){
margin: 0 0 30px;
}
/* Display */
.asamaonsen2024 .flex{
display: flex;
}
.asamaonsen2024 .grid{
display: grid;
}
.validUn915{
display: none;
}
@media screen and (max-width: 915px) {
.validUp915{
display: none;
}
.validUn915{
display: inline;
}
}
@media screen and (min-width: 740px) {
.validUn740{
display: none;
}
}
@media screen and (max-width: 650px) {
.validUp650{
display: none;
}
}
@media screen and (min-width: 428px) {
.validUn428{
display: none;
}
}
@media screen and (max-width: 428px) {
.asamaonsen2024 .innerFlame{
padding: 30px 20px;
}
}
/*-----------------------------
共通パーツ
-----------------------------*/
/* メニューリスト */
.asamaonsen2024 .menuArea{
margin: 0 0 -30px;
}
.asamaonsen2024 .menuArea *{
text-align: end;
}
.asamaonsen2024 .menuArea .ttl{
margin: 0 0 10px;
}
.asamaonsen2024 .menuArea .menuGrid{
gap: 5px;
}
.asamaonsen2024 .menuArea li{
list-style: none;
}
.asamaonsen2024 .menuArea li a{
font-weight: var(--asamaonsen2024-font-weight-midBold);
}
@media screen and (max-width: 428px) {
.asamaonsen2024 .menuArea .menuGrid{
gap: 2px;
}
}
.asamaonsen2024 .logoBox {
                display: block;
                width: fit-content;
                padding: 10px 20px;
                background: var(--asamaonsen2024-color-white);
                border: solid 5px var(--asamaonsen2024-bgColor-base);
                border-radius: 10px;
                margin: auto;
                max-width: 390px;
font-weight: 700;
}
/*-------------------------------
スリックカードテンプレート共通CSS
--------------------------------*/
.asamaonsen2024 .container { gap: 130px; }
/* 文字色を黒に初期化 */
.asamaonsen2024 .slickCardPage *,
.asamaonsen2024 .slickCardPage .infoBox *{
color: var(--asamaonsen2024-color-brack);
}
.asamaonsen2024 .slickCardPage .infoBox a{
text-decoration: underline;
}

/* BGカラー上書き */
.asamaonsen2024 .slickCardPage{
background: var(--asamaonsen2024-bgColor-base);
}

/* 全体のレイアウト */
.asamaonsen2024 .slickCardPage .wrap{
padding-top: 50px;
}
.asamaonsen2024 .slickCardPage .areaGrid{
gap: 50px;
}
/*--------------------------
共通パーツ 
--------------------------*/
/* 見出し装飾ライン */
.asamaonsen2024 .slickCardPage .topLine{
position: relative !important;
padding: 10px 0 0 !important;
}
.asamaonsen2024 .slickCardPage .topLine::after{
content: '';
position: absolute;
width: 80px;
height: 2px;
background: var(--asamaonsen2024-color-brack);
}
.asamaonsen2024 .slickCardPage .topLineGrid{
gap: 3px
}
.asamaonsen2024 .dot { padding: 20px 0 0; }
/* infoBox */
.asamaonsen2024 .slickCardPage .infoBox{
border-radius: 0;
}
.asamaonsen2024 .slickCardPage .infoBox dt{
border-right: solid 1px var(--asamaonsen2024-lineColor-Gray);
justify-self: end;
}
@media screen and (max-width: 750px) {
.asamaonsen2024 .container { gap: 80px; }
.asamaonsen2024 .slickCardPage .wrap .contBlock .infoBox{
grid-template-columns: 1fr;
}
.asamaonsen2024 .slickCardPage .infoBox dt {
border-right: none;
border-left: 1px dashed var(--asamaonsen2024-lineColor-Gray);
justify-self: start;
}
.asamaonsen2024 .infoBox {
gap: 10px;
}
.asamaonsen2024 .infoBox dd {
padding: 0 10px;
}
}
/* Allowボタン */
.asamaonsen2024 .btnAllow{
width: 30px;
align-self: center;
position: relative;
}
.asamaonsen2024 .btnAllow::after{
content: '';
position: absolute;
width: 8px;
transform: rotate(30deg);
bottom: 2px;
right: 0;
}
.asamaonsen2024 .btnBox{
justify-content: space-between;
align-items: center;
}
.asamaonsen2024 .btnAllow,
.asamaonsen2024 .btnAllow::after{
display: block;
height: 1px;
background: var(--asamaonsen2024-color-brack);
}

/*-----------------------
各セクションカスタムCSS
-----------------------*/
/* TOPイメージ */
.asamaonsen2024 .slickCardPage .topImage{
width: 100%;
}

/* メッセージエリア */
.asamaonsen2024 .slickCardPage .mesBox{
background: var(--asamaonsen2024-color-white);
padding: 20px 25px;
}
.asamaonsen2024 .slickCardPage .mesGrid{
gap: 50px;
}
.asamaonsen2024 .slickCardPage .mesTxtGrid{
gap: 15px;
}
.asamaonsen2024 .slickCardPage .mesBoxGrid{
gap: 10px;
}
.asamaonsen2024 .slickCardPage .mesBox .mesTxtGrid{
gap: 20px;
}
.asamaonsen2024 .slickCardPage .mesBox .unLayerTtl{
font-size: var(--asamaonsen2024-font-size-txt);
}
.asamaonsen2024 .slickCardPage .mesBox .mesList li{
display: inline-block;
}
.asamaonsen2024 .slickCardPage .mesBox .mesList li::after{
content: '/';
margin: 0 0 0 5px;
}
.asamaonsen2024 .slickCardPage .mesBox .mesList li:last-of-type::after{
content: none;
}

/* リストメニューエリア */
.asamaonsen2024 .slickCardPage .menuArea{
margin: 50px 0;
}
.asamaonsen2024 .slickCardPage .menuArea .ttl{
padding: 0;
font-size: var(--asamaonsen2024-font-size-ttl) !important;
font-weight: var(--asamaonsen2024-font-weight-midbold);
}
.asamaonsen2024 .slickCardPage .menuArea .menuSubTtl{
display: block;
font-size: 18px;
font-weight: 600;
margin: 0 0 5px;
}
.asamaonsen2024 .slickCardPage .menuArea .menuCatGrid{
gap: 50px;
}
@media screen and (max-width: 428px) {
.asamaonsen2024 .slickCardPage .menuArea .ttl{
font-size: var(--asamaonsen2024-font-size-ttlSP) !important;
}
.asamaonsen2024 .slickCardPage .menuArea .menuSubTtl{
font-size: var(--asamaonsen2024-font-size-txt);
} 
}

/* アイテム */
.asamaonsen2024 .slickCardPage .catGrid{
gap: 150px
}
.asamaonsen2024 .slickCardPage .catItem>.subTtl{
font-weight: var(--asamaonsen2024-font-weight-bold);
text-align: center;
padding: 25px 0;
}
@media screen and (max-width: 428px) {
.asamaonsen2024 .slickCardPage .catGrid{
gap: 100px
}
.asamaonsen2024 .slickCardPage .catItem>.subTtl{
font-size: 22px;
}
}

/* スリック */
.asamaonsen2024 .slickCardPage .unLayerTtl:not(.asamaonsen2024 .slickCardPage .mesBox .unLayerTtl){
font-size: var(--asamaonsen2024-font-size-unLayerTtl);
}
.asamaonsen2024 .slickCardPage .unLayerTtl{
font-weight: var(--asamaonsen2024-font-weight-medium);
line-height: var(--asamaonsen2024-linehight-ttl);
}
.asamaonsen2024 .slickCardPage .unLayerTtlAlpha{
font-size: var(--asamaonsen2024-font-size-unLayerTtlAlpha);
font-weight: var(--asamaonsen2024-font-weight-medium);
line-height: var(--asamaonsen2024-linehight-unLayerTtlAlpha);
font-family: var(--asamaonsen2024-font-style-JS);
}
.asamaonsen2024 .slickCardPage .container .contGrid{
gap:100px;
}
.asamaonsen2024 .slickCardPage .container .txtBoxGrid{
gap: 20px;
}
.asamaonsen2024 .slickCardPage .container .infoBox{
grid-template-columns: 1fr 5fr;
}
.asamaonsen2024 .slickCardPage .container .infoBox dt{
padding: 10px 30px 10px 10px;
}
/* ドット・アロー色変更 */
.asamaonsen2024 .slickCardPage ul.slick-dots li button:hover:before, 
.asamaonsen2024 .slickCardPage ul.slick-dots li.slick-active button:before{
color: var(--asamaonsen2024-slickColor-darkGray);
}
.asamaonsen2024 .slickCardPage .slick-arrow::before{
border-color: var(--asamaonsen2024-slickColor-darkGray);
}

@media screen and (max-width: 580px) {
.asamaonsen2024 .slickCardPage .container .infoBox dt {
border-color: var(--asamaonsen2024-lineColor-Gray);
}
}

/* スモールカードコンテナ */
.asamaonsen2024 .slickCardPage .smallCardContainer{
margin: 100px 0 0;
}
.asamaonsen2024 .slickCardPage .sccGrid{
grid-template-columns: 1fr 1fr;
gap: 60px 30px;
}
.asamaonsen2024 .slickCardPage .smallCardContainer .sccItemGrid{
height: fit-content;
gap: 15px;
}
.asamaonsen2024 .slickCardPage .smallCardContainer .infoBox{
gap: 0;
grid-template-columns: 2fr 5fr;
padding: 15px 5px;
}
.asamaonsen2024 .slickCardPage .smallCardContainer .infoBox dt{
padding: 0 15px 0 0;
}
.asamaonsen2024 .slickCardPage .smallCardContainer .infoBox dd{
padding: 0 0 0 15px;
}
.asamaonsen2024 .sccItemGrid img { 
aspect-ratio: 4 / 3; 
object-fit: cover;
}
@media screen and (max-width: 750px) {
.asamaonsen2024 .slickCardPage .sccGrid{
grid-template-columns: 1fr;
gap: 50px;
}
.asamaonsen2024 .slickCardPage .smallCardContainer .sccItemGrid{
gap: 20px;
}
.asamaonsen2024 .slickCardPage .smallCardContainer .infoBox{
padding: 30px 20px;
gap: 10px;
}
.asamaonsen2024 .slickCardPage .smallCardContainer .infoBox dt{
padding: 0 0 0 10px;
}
.asamaonsen2024 .slickCardPage .smallCardContainer .infoBox dd{
padding: 0 0 0 10px;
}
}
.asamaonsen2024.corseTemplate .itmGrid {
        background: var(--asamaonsen2024-color-white);
        padding: 20px;
        grid-template-areas:
        "areaA areaA"
        "areaB areaC"
        "areaB areaD";
        gap: 20px;
        width: 100%;
}
.asamaonsen2024.corseTemplate .ttl,
.asamaonsen2024.corseTemplate .thinlyNum {
        margin: 0 !important;
        padding: 0;
}
.asamaonsen2024.corseTemplate .subTtl {
        font-weight: var(--asamaonsen2024-font-weight-bold);
}
.asamaonsen2024.corseTemplate .mesGrid {
        padding: 0 0 70px;
}
.asamaonsen2024 .tag {
        width: fit-content;
        background: var(--asamaonsen2024-bgColor-history);
        border-radius: 50px;
        border: solid 2px var(--asamaonsen2024-color-white);
        padding: 10px 20px;
        display: flex;
        align-items: center;
        position: relative;
        z-index: 5;
        align-items: center;
        gap: 5px;
}
.asamaonsen2024 .tag:not(.asamaonsen2024 .numSubTtlFlex .tag)::after {
        content: '';
        display: inline-block;
        background-image: url("/db_img/site_img/images/3ac873f97095d4ffd69d4cbc2557bd89.png");
        background-repeat:no-repeat;
        background-size: contain;
        width: 25px;
        aspect-ratio: 1/1;
} 
.asamaonsen2024.corseTemplate .numSubTtlFlex { 
        grid-area: areaA; 
        justify-content: center;
        align-items: baseline;
        gap: 15px;
}
.asamaonsen2024.corseTemplate .imgBox { grid-area: areaB; }
.asamaonsen2024.corseTemplate .txtBoxGrid { grid-area: areaC; }
.asamaonsen2024.corseTemplate .btnBox { 
        grid-area: areaD; 
        justify-self: end;
        width: fit-content;
        gap: 20px;
        margin: 20px 0 0;
}
.asamaonsen2024 .interBox {
        padding: 40px 0;
        position: relative;
        margin: auto;
        width: 85%;
}
.asamaonsen2024 .interBox::before,
.asamaonsen2024 .interBox::after {
        content: '';
        position: absolute;
        z-index: 1;
        border-left: solid 2px var(--asamaonsen2024-color-brack);
}
.asamaonsen2024 .interBox::before {
        top: 0;
        height: 100%;
        left: 61px;
}
.asamaonsen2024 .interBox::after {
        bottom: -4px;
        transform: rotate(40deg);
        height: 30px;
        left: 71px;
}
.asamaonsen2024 .interBox .spotGrid {
        padding: 40px 0 0;
        gap: 30px;
}
.asamaonsen2024 .interBox .spotFlex {
        align-items: flex-start;
        gap: 60px;
        position: relative;
        left: 48px;
}
.asamaonsen2024 .interBox .spotFlex::before {
        content: '';
        display: block;
        width: 25px;
        aspect-ratio: 1 / 1;
        border-radius: 50%;
        border: solid 2px var(--asamaonsen2024-color-white);
        background: var(--asamaonsen2024-bgColor-history);
        position: relative;
        z-index: 3;
}
.asamaonsen2024 .interBox .spotItm {
        background: var(--asamaonsen2024-color-white);
        max-width: 300px;
        padding: 20px;
        width:100%
}
.asamaonsen2024 .interBox .imgBox {
        width: 100%;
        max-height: 200px;
        padding: 10px 0 0;
}
.asamaonsen2024 .interBox .imgBox img {
        width: 100% !important;
}
.asamaonsen2024.corseTemplate .goal {
        background: var(--asamaonsen2024-color-white);
        padding: 15px 10px;
}
.asamaonsen2024 .slickCardPage .wrap .goal{
        margin-top: 0;
}
.asamaonsen2024.corseTemplate .goal .tag {
        font-family: var(--asamaonsen2024-font-style-JS);
}
@media screen and (max-width: 720px) {
.asamaonsen2024.corseTemplate .numSubTtlFlex {
        gap: 5px;
}
@media screen and (max-width: 428px) {
.asamaonsen2024 .interBox .spotItm {
        max-width: 230px;
}
.asamaonsen2024 .tag {
        font-size: 15px;
}
}
.asamaonsen2024.corseTemplate .itmGrid {
        grid-template-areas:
        "areaA"
        "areaB"
        "areaC" 
        "areaD"; 
        gap: 5px;
        padding: 10px 5px;
}
.asamaonsen2024 .interBox {
        width: 100%;
}
.asamaonsen2024 .tag {
        padding: 5px 10px;
}
.asamaonsen2024 .numSubTtlFlex .tag {
        padding: 3px;
}
.asamaonsen2024.corseTemplate .subTtl {
        font-size: 20px;
}
.asamaonsen2024 .interBox .unLayerTtl {
        font-size: var(--asamaonsen2024-font-size-txt) !important;
}
.asamaonsen2024 .interBox::before {
        left: 27px;
}
.asamaonsen2024 .interBox::after {
        left: 37px;
}
.asamaonsen2024 .interBox .spotFlex {
        left: 15px;
        gap: 10px;
}
}
/*-------浅間温泉特集2024 End-------*/

.site-digest__header-box__inner{
justify-content: flex-start;
}

/*------- 夏祭り・花火大会特集 -------*/
/*-------------------------
    common 
-------------------------*/
    :root{
        --hanabi-color-white: #FFFFFF;
        --hanabi-color-yellow: #FDE821;
        --hanabi-color-navy: #37385C;
        --hanabi-txt-color-darkgray: #55504B;
        --hanabi-txt-color-black: #333;
        --hanabi-txt-color-blackNavy: #010C25;
        --hanabi-ttl-font: "Zen Old Mincho", serif;
    }
    /*-----------------------------
    イルミネーション仕様にベース改造
    ------------------------------*/
    /* パンくずリスト */
    #container:has(.hanabiArea) #breadBox .inn ul li::before,
    #container:has(.hanabiArea) #breadBox .inn ul li>*{
      color: var(--hanabi-color-white);
    }

    /* スマホ"ピックアップレポート"タイトル */
    #container:has(.hanabiArea) .bdrBottom.pcDisplayNone{
        display: none;
    }

    /* 背景色*/
    #container:has(.hanabiArea) body{
      color: var(--hanabi-color-white);
    }
    #container:has(.hanabiArea) #breadBox{
      background: var(--hanabi-color-navy);
    }
    #container:has(.hanabiArea){
      background: var(--hanabi-color-navy);
    }

    /* 不要な背景を除去 */
    #container:has(.hanabiArea) div#contentsBox #mainBox,
    #container:has(.hanabiArea) div#mainBox .mainCtsBox .titleBox,
    .hanabiArea,
    #container:has(.hanabiArea) #mainBox .snsOptionDetailBox
    {
      background: unset;
    }

    /* 本文のフォントカラー */
    .hanabiArea .txtBox{
        color: var(--hanabi-color-white);
    }

    /* フォント */
    .hanabiArea .areaBtnBox .areaBtn,
    .hanabiArea .areaIndex,
    .hanabiArea h3.hanaTtl{
      font-family: var(--hanabi-ttl-font);
    }

    /* タイトル */
    .hanabiArea .contBlock .hanabi{
      display: flex;
      gap: 10px;
      align-items: center;
    }
    #container:has(.hanabiArea) .topics__detail .mainCtsBox .sakuraArea h3.hanaTtl{ 
      color: var(--hanabi-color-yellow);
      font-size: 24px;
      background: none;
      margin: unset;
      padding: unset !important;
    }
    .hanabiArea .evDate{
        color: var(--hanabi-color-white);
        font-size: 14px;
        line-height: 1.8;
        padding-bottom: 8px;
    }

    /* スライド画像大きさ */
    .hanabiArea .slidContainer .imgBox img{
      max-height: unset;
      aspect-ratio: 7/4;
    }

    /* PC/SP */
    .hanabiArea .brForDW600{
      display: none;
    }
    @media screen and (max-width:600px) {
      .hanabiArea .brForDW600{
        display: inline;
      }
    }

    /* knee */
    #container:has(.hanabiArea) .topics__detail section.writerBox{
      background-color: var(--hanabi-color-white);
    }
    #container:has(.hanabiArea) .topics__detail section.writerBox .subTit,
    #container:has(.hanabiArea).topics__detail section.writerBox .innR{
      color: var(--hanabi-txt-color-black);
    }
    #container:has(.hanabiArea) .control-box__button-list * :not(.control-box__button-list .report-top):not(.control-box__button-list .report-top *){
      display: none;
    }

    /* デフォルトのタイトルエリアを非表示 */
    #container:has(.hanabiArea) #mainBox .mainCtsBox .titleBox{
      visibility: hidden;
      height: 0px;
      padding: 0;
    }
    /* 表示領域をデフォルトから拡張 */
    #container:has(.hanabiArea) #mainBox{
      float: none;
      width: 100%;
      max-width: 940px;
      margin: 0 auto;
    }
    /* サイドバナー非表示 */
    #container:has(.hanabiArea) #side{
      display: none;
    }

    /* slick */
    /* next,prev ボタン領域を拡大 */
    .hanabiArea .slidContainer button.slick-prev,
    .hanabiArea .slidContainer button.slick-next{
      display: block;
      width: 40px;
      height: 40px;
      background-color: unset;
    }
    .hanabiArea .slidContainer button.slick-prev{
      transform: rotate(45deg);
      left: 15px;
    }
    .hanabiArea .slidContainer button.slick-next{
      transform: rotate(-135deg);
      right: 15px;
    }
    .hanabiArea .slidContainer button.slick-prev::before,
    .hanabiArea .slidContainer button.slick-next::before{
      border-width: 0 0 5px 5px;
      width: 20px;
      height: 20px;
      border-color: #FFF;
      opacity: 1.0;
      transform: unset;
    }
    @media screen and (max-width:480px) {
    .hanabiArea .slidContainer button.slick-prev,
    .hanabiArea .slidContainer button.slick-next{
      width: 30px;
      height: 30px;
    }
    .hanabiArea .slidContainer button.slick-prev::before,
    .hanabiArea .slidContainer button.slick-next::before{
      width: 12px;
      height: 12px;
    }
    }

    /*-----------------------------
    各セクション スタイル
    ------------------------------*/
    .hanabiArea .mainImg{
      padding: unset;
    }
    /* 別の月への遷移ボタン */
    .hanabiArea .monthNavArea{
        display: flex;
        justify-content: center;
        gap: 20px;
        margin-top: 15px;
    }
    .hanabiArea .monthNavArea>a{
        border-radius: 5px;
        background: var(--hanabi-color-white);
        color: var(--hanabi-color-navy);
        padding: 5px 20px;
    }
    .hanabiArea .monthNavArea>a.select{
        color: var(--hanabi-color-white);
    }

    /* Topメッセージ */
    .hanabiArea .topTxtBlock{
        margin-top: 30px;
        display: grid;
        gap: 20px;
    }
    .hanabiArea .topTxtBlock .txtBox{
        text-align: center;
    }
    @media screen and (max-width: 900px) {
      .hanabiArea .topTxtBlock .txtBox{
        text-align: start;
      }
      .hanabiArea .validUp900{
        display: none;
      }
    }
 
    /* インデックス */
    .hanabiArea .indexBlock{
        display: grid;
        gap: 10px;
        margin-top: 60px;
        padding: unset;
    }
    .mainCtsBox .hanabiArea .indexBlock .indexTtl{
        border-radius: 5px;
        border: 3px solid var(--hanabi-color-white);
        box-shadow: 3px 2px 4px 0px #02143D;
        padding: 10px 15px;
        color: var(--hanabi-color-white);
        font-size: 14px;
        width: fit-content;
    }
    .hanabiArea .indexBox{
        border-radius: 8px;
        background: var(--hanabi-color-white);
        box-shadow: 3px 2px 4px 0px #02143D;
        padding: 5px 10px;
        display: grid;
    }
    .hanabiArea .indexBox li{
        display: flex;
        gap: 5px;
        align-items: flex-start;
        line-height: 1.8;
    }

    .hanabiArea .indexBox li::before{
        content:'●';
        width: 30px;
        aspect-ratio: 1/1;
        text-align: center;
        flex-shrink: 0;
    }
    .hanabiArea .indexBox li.hanabi::before{
        content: '';
        background: url(https://www.gurutto-matsumoto.com/db_img/site_img/images/6c23f1340f2beb63578c5e9d58166491.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: 50% 50%;
    }
    @media screen and (max-width: 600px) {
      .hanabiArea .indexBox{
        gap: 15px;
      }
    }
    /* カードタイトル花火アイコン */
    .hanabiArea .contBlock .hanabi::before{
      content: '';
      width: 45px;
      aspect-ratio: 1/1;
      border-radius: 9999px;
      background: url(https://www.gurutto-matsumoto.com/db_img/site_img/images/6c23f1340f2beb63578c5e9d58166491.png);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: 50% 50%;
    }

    /* 画像クレジット */
    .hanabiArea .credit{
        text-align: end;
    }
    .hanabiArea .credit,
    .hanabiArea .credit a{
        font-size: 14px;
        font-style: italic;
        color: var(--hanabi-color-white);
    }

    /* スポット infoBox */
    .topics__detail .mainCtsBox .hanabiArea .contOuterTtl{
        border-radius: 5px;
        border: 3px solid var(--hanabi-color-white);
        box-shadow: 3px 2px 4px 0px #02143D;
        padding: 10px 15px;
        color: var(--hanabi-color-white);
        font-size: 16px;
        text-align: center;
        margin-top: 125px;
    }
    .hanabiArea .contBlock{
        display: grid;
        gap: 80px;
        margin-top: 35px;
    }
    .hanabiArea .container{
      gap: unset;
    }
    .hanabiArea .container .infoBox{
      border-radius: unset;
      position: relative;
    }
    
    .hanabiArea .container .infoBox dt{
      color: var(--hanabi-color-navy);
      border-color: var(--hanabi-color-navy);
    }
    .hanabiArea .container .infoBox dd,
    .hanabiArea .container .infoBox dd a{
      color: var(--hanabi-txt-color-darkgray);
    }
    .hanabiArea .container .infoBox dd a{
      text-decoration-color: var(--hanabi-color-navy);
    }

    @media screen and (max-width: 580px) {
        .hanabiArea .infoBox dt, 
        .hanabiArea .infoBox dd{   
          padding: 5px 10px;
        }
        .hanabiArea .infoBox{
            gap: 15px;
            padding: 20px;
        }
    }

    /*スポット 詳細ボタン */
    .hanabiArea .detailBtn{
      display: flex;
      gap: 10px;
      align-items: center;
      justify-content: center;
	    text-align: center;
	    text-decoration: none;
	    width: 200px;
	    margin: auto;
	    padding: 10px 20px;
	    font-weight: bold;
	    border: 3px solid var(--hanabi-color-white);
        border-radius: 5px;
	    color: var(--hanabi-color-white);
	    transition: 0.25s;
    }
    .hanabiArea .detailBtn::after{
      content: '';
      width: 20px;
      aspect-ratio: 1/1;
      background: url(https://www.gurutto-matsumoto.com/db_img/site_img/images/44a64893556ce14c442614b56f75fa4d.png);
      background-size: contain;
      background-repeat: no-repeat;
    }
    .hanabiArea .detailBtn:hover::after {
      opacity: unset;
      transition: 0.25s;
    }
    .hanabiArea .detailBtn:hover {
	    background: var(--hanabi-color-white);
        opacity: unset;
    }

    /* knee・footer */
    #container:has(.hanabiArea) .reportRecommendBox *,
    #container:has(.hanabiArea) .control-box__button-list *,
    #container:has(.hanabiArea) .snsOptionDetailBox *{
        color: var(--hanabi-color-white) !important;
    }
    #container:has(.hanabiArea) .reportRecommendBox,
    #container:has(.hanabiArea) .reportRecommendBox .reportRecommendTitleBox{
        border-color: var(--hanabi-color-white);
    }
/*------- 夏祭り・花火大会特集 End -------*/
