@charset "utf-8";
/*共通ページ*/
.article ul li, .article ol li{
    margin: 0 !important;
    list-style-type: none !important;
}
ol, ul {
    padding-left: 0 !important;
}
ul {
    list-style-type: none !important;
}
.logo-image{
    padding: 0px 0 30px !important;
    font-size: inherit;
}
.navi{ background-color: #333333 !important; }
.navi-in > ul li{
    display: block;
    width: 230px !important;
    height: 60px;
    position: relative;
    padding: 40px 0;
}
.navi-in a {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    color: #ffffff !important;
    text-decoration: none;
    display: flex;
    font-size: 1.2em !important;
    font-weight: bold;
    transition: all 0.3s ease-in-out;
    width: 100%;
    height: 100%;
    padding:0 10px;
    letter-spacing: 1.5px;
}
.navi-in a:hover{
    background-color: #e73e00 !important;
}

.entry-title, .archive-title{ margin: 0 !important; }
.archive-title{
    padding: 20px;
}
.page-id-8 .entry-content>* { margin-bottom: 0 !important; }
.page-id-8 .article { margin-bottom: 0 !important; }
.page-id-8 .article dl { margin-bottom: 0 !important; }

.entry-content{ margin: 0 !important; }
.entry-content p br{ display: none; }


.main {
    width: 860px;
    padding: 0 !important;
    border: 6px solid #333333 !important;
    border-radius: inherit !important;
    position: relative;
    z-index: 0;
}
.simcal-events-list-container > p{ padding: 0 20px; }
.simcal-default-calendar-list {padding: 0 !important; }
.simcal-default-calendar-list ul.simcal-events{
    margin: 0 !important;
    padding: 0 !important;
}
.simcal-past{
    padding: 0 20px !important;
}

.simcal-default-calendar-list .simcal-event-details p{ margin: 0 !important; }
.simcal-default-calendar-list .simcal-event-details .simcal-event-description{
    padding: 10px 10px 0;
    margin: 0 !important;
}
.simcal-event-details p br{ display: none !important; }
.simcal-event-title{
    font-size: 2em;
    line-height: 100%;
}
.simcal-event-details p{
    display: flex;
    align-items: flex-start;
}
.simcal-event-details strong {
    order: 2;
  }
  
.simcal-event-details > .simcal-event-address, .simcal-event-start-location {
    order: 1;
  }

.simcal-current h3{
    border: none !important;
    font-size: 2em;
    background-color: #369702;
    padding: 10px 0 !important;
    color: #ffffff;
}
.simcal-event-start-date{ display: none; }
.simcal-event-description{
    font-size: 1.2em;
}
.simcal-default-calendar-list dt.simcal-day-label{
    font-size: .9em;
    list-style: none;
    margin: 0 0 20px !important;
}

.simcal-default-calendar-list ul.simcal-events{
    margin: 0 !important;
    padding: 10px 40px;
}
.entry-title{
    font-size: 2em !important;
    background-color: #e73e00;
    color: #ffffff;
    text-align: center;
    line-height: 120% !important;
    margin-bottom: 20px !important;
    padding: 0.6em;
}

.simcal-day-label{
    width: 100%;
    border-bottom: none !important;
    text-align: center;
}
.simcal-day-label span{
    display: block !important;
    padding: 10px;
    font-size: 1.2em;
    line-height: 120%;
}
.simcal-default-calendar-dark .simcal-nav-button {
    color: #000000e6 !important;
}
.simcal-event-address, .simcal-event-start-location{
    display: inline-block;
    min-width: 70px;
    text-align: center;
    background-color: #369702;
    padding: 10px;
    line-height: 100%;
    color: #ffffff;
    margin-right: 10px !important;
}

.simcal-default-calendar-list ul.simcal-events li.simcal-event{
    list-style-type: none;
    margin-bottom: 10px;
    word-wrap: break-word;
    background-color: #f9f9f9;
    border: 4px solid #d9d8d8;
    margin-bottom: 20px !important;
    padding: 20px;  
}

.simcal-align-right{ display: none; }

.sj-select-area{
    display: flex;
    width: 100%;
    margin-bottom: 20px !important;
    padding: 0 20px;
    box-sizing: border-box;
}
.sj-select-area #pref-select{
    width: 50%;
}
.sj-select-area #store-select{
    width: 50%;
}


#simcal-no-event-message{
    display: block;
    color: #333333 !important;
    margin: 20px !important;
}
.reset-button-wrapper{
    width: 100%;
    margin: 0 !important;
    padding: 0 20px;
}
 .btnWrapperRe{
    width: 100%;
    padding: 0;
 }
.reset-button-wrapper .btnReset{
    display: block;
    width: 100%;
    text-align: center;
    cursor: pointer;
    background-color: #cccccc;
    color: #333333;
    margin: 0;
    padding: 10px;
    border-radius: 4px;
}
.reset-button-wrapper .btnReset:hover{
    opacity: 0.7;
    transition: all 0.5s
}

.eye-catch{ padding: 0 20px; }
.cat-label{ display: none; }
.pagination-next{
    display: block;
    padding: 0 20px;
}
.pagination-next a{
    background-color: #0b308e;
    color: #ffffff;
    border: none;
}
.pagination-next a:hover{
    background-color: #cf034e !important;
    color: #ffffff;
}
.pagination .page-numbers{
    background-color: #0b308e;
    color: #ffffff;
    border-radius: 50px;
    border: none;
}
.pagination .page-numbers:hover{
    background-color: #cf034e !important;
    color: #ffffff;
}
.page-numbers.dots{
    opacity: 1 !important;
    background-color: #cf034e !important;
}
.pagination .current {
    background-color: #cf034e !important;
}

/*サイドバー*/
.sidebar{
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
}
.sidebar .sidemenu li{
    background-color: #333333;
    margin-bottom: 20px;
}
.sidebar .sidemenu li a{
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #ffffff;
    padding: 20px;
    font-size: 1em;
    font-weight: bold;
    border: 6px solid #333333;
}
.sidebar .sidemenu li a:hover{
    transition: all 0.3s ease-in-out;
    background-color: #e73e00 !important;
    border: 6px solid #e73e00;
}
#searchForm{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
}
#searchForm select{
    width: 50%;
}
#searchForm select:first-child{
    margin-right: 20px;
}

#searchForm .select-group{
    display: flex;
    width: 100%;
    margin-bottom: 20px;
}

.no-results{
    padding: 0 40px;
}

.single-post .post .entry-content { padding: 0 20px; }


#post-12 .entry-content hr{ display: none; }
#post-12 .entry-content h2{
    background-color: #cf034e;
    color: #ffffff;
}



#post-14 ul{
    width: 100%;
    margin: 0 auto;
}
#post-14 ul{
    width: 93.75%;
    margin: 0 auto;
}
#post-14 ul li{
    background-color: #f9f9f9;
    border: 4px solid #d9d8d8;
    margin-bottom: 20px !important;
    padding: 20px;
}
#post-14 ul li a{
    display: block;
    opacity: 1;
    transition: opacity 0.2s ease-in-out;
}
#post-14 ul li a:hover{ opacity: 0.7; }
#post-14 .prefecture{
    display: inline-block;
    background-color: #cf034e;
    padding: 10px;
    line-height: 100%;
    color: #ffffff;
    margin-right: 10px !important;
    vertical-align: text-bottom;
    font-size: 0.85em;
}
#post-14 .post-title{
    font-size: 1.6em;
    font-weight: bold;
    color: #333333;
    line-height: 120%;
}
#post-14 .store{
    display: block;
    color: #333333;
}



.wp-pagenavi{
    text-align: center;
}
.wp-pagenavi .pages{ display: none; }

.wp-pagenavi a, .wp-pagenavi span{
    display: inline-block;
    text-decoration: none;
    border: none !important;
    padding: 6px 18px !important;
    margin: 2px;
    border-radius: 50px;
    background-color: #0b308e;
    color: #ffffff;
    font-weight: normal !important;
    transition: background-color 0.2s ease-in-out;
}
.wp-pagenavi a:hover, .wp-pagenavi span{
 color: #ffffff;
 background-color: #cf034e !important;
}
.wp-pagenavi span.current {
    font-weight: bold;
    background-color: #cf034e !important;
}


/*プライバシーポリシー*/
#post-3 p { padding: 0 20px; }

#post-3 .titPrivacy{
    background-color: #333333;
    color: #ffffff;
    margin-bottom: 1.4em;
    padding: 20px;
    font-size: 1.2em;
    font-weight: bold;
}


/*お問い合わせ送信*/
.mw_wp_form{
    overflow: hidden;
    padding: 0 10px;
}

.mw_wp_form .cform th{
    font-size: 0.8em;
    width: 20%;
}


.mw_wp_form_confirm .cform th{
    width: 40%;
}


.mw_wp_form p{ display: none; }

.mw_wp_form .sub{ display: block; }
.mw_wp_form .boxBtn br{ display: none; }
.mw_wp_form .boxBtn .txtSubmit{
    display: block;
    max-width: 300px;
    margin: 0 auto;
    background-color: #369702;
    color: #ffff;
    border: none;
}
.mw_wp_form .boxBtn .txtReturn{
    display: block;
    max-width: 300px;
    margin: 0 auto 20px;
    background-color: #333333;
    color: #ffff;
    border: none;
}


.txtSend a{
    display: inline-block;
    margin: 10px 0;
    padding: 10px 20px;
    color: #ffffff;
    background-color: #cf034e;
}

/*フッター*/
.copyright {
    margin-top: 8px;
    padding: 0 10px;
}


@media screen and (max-width: 1023px) {
    .header-container-in.hlt-top-menu {
        padding: 20px 0 0;
    }
    .header-container-in.hlt-top-menu .header {
        padding-bottom: 20px;
    }
    .navi-in > .menu-header {
        display: block !important;
    }
    .hlt-tm-right .navi-in > ul {
        background-color: #333333;
    }
    .navi-in > ul li {
        display: inline-block !important;
        width: 176px;
        height: 60px;
        position: relative;
        background-color: #333333;
    }
    .no-scrollable-sidebar .sidebar {
        display: none;
    }

}

@media screen and (max-width: 834px) {
    .mw_wp_form .cform th {
        width: 100%;
    }
    .cform th,
    .cform td {
      display: block;
      width: 100%;
      box-sizing: border-box; /* 幅とpadding, borderを含めて100%にする */
      padding: 8px; /* 見やすくするためにpaddingを追加 */
      text-align: left; /* 左寄せにする */
    }
  
    .cform th {
      font-weight: bold; /* th要素を強調 */
      border-bottom: 1px solid #ccc; /* 区切り線を追加 */
    }
  
    .cform td {
      border-bottom: 1px solid #eee; /* td要素にも区切り線を追加 */
    }
  
    .cform tr:last-child th,
    .cform tr:last-child td {
      border-bottom: none; /* 最後の行のボーダーを削除 */
    }
  
    .cform .sub {
      display: block; /* 説明文を改行して表示 */
      margin-top: 5px;
      font-size: 0.9em;
      color: #777;
    }
  
    .cform .mwform-tel-field {
      display: block; /* 電話番号フィールドを改行して表示 */
    }
  
    .cform .mwform-tel-field input {
      width: calc(33.33% - 10px); /* 電話番号の各入力欄の幅を調整 */
      display: inline-block;
      margin-right: 0;
    }
  
    .cform .mwform-tel-field input:last-child {
      margin-right: 0;
    }

    .footer {
        margin-top: 20px;
        padding: 0 !important;
    }
    .navi-footer-in > .menu-footer {
        padding: 0;
        margin: 0;
        list-style: none;
        display: block !important;
        flex-wrap: wrap;
        justify-content: flex-end;
        text-align: left;
    }
    .navi-footer-in > .menu-footer li.menu-item {
        width: 100% !important;
        margin: 0 !important;
        display: flex;
        flex: 1 1 auto;
        text-align: left !important;
        border-bottom: 1px solid #ffffff !important;
    }
    .navi-footer-in > .menu-footer li.menu-item a {
        width: 100%;
        font-size: 1em;
        padding: 10px !important;
    }
    .footer-bottom {
        margin-top: 24px;
        padding: 0 !important;
        position: relative;
        font-size: 14px;
    }
  }








@media screen and (max-width: 1023px) {
    .navi-in > .menu-header { display: flex !important; }
    .hlt-tm-right .navi-in > ul {
        background-color: #333333;
        line-height: 0;
    }
    main.main, div.sidebar {
        display: block;
        margin: 3.125% !important;
        width: auto;
    }
    .navi-in > ul li{
        display: block;
        width: 100% !important;
        height: 60px;
        position: relative;
        padding: 30px 0;
    }
    .navi-in a {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        color: var(--cocoon-text-color);
        text-decoration: none;
        display: flex;
        font-size: 1em !important;
        transition: all 0.3s ease-in-out;
        width: 100%;
        height: 100%;
        padding: 0 10px;
        letter-spacing: 1.5px;
        line-height: 120%;
    }
}


@media screen and (max-width: 494px) {
    .navi-in > ul li {
        display: block;
        width: 100% !important;
        height: 60px;
        position: relative;
        border-bottom: 1px solid #494949;
    }
    .navi-in > ul li:nth-child(2) {
        border-bottom: none;
    }
    .navi-in > ul li:nth-child(2) {
        width: 100% !important;
    }
    .navi-in a {
        position: relative;
        display: block !important;
        color: var(--cocoon-text-color);
        text-decoration: none;
        display: flex;
        font-size: 16px;
        transition: all 0.3s ease-in-out;
        width: 100%;
        height: 100%;
    }
    .navi-in > ul .caption-wrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        align-content: center;
        width: 100%;
        height: 100%;
    }
    #searchForm {
        display: flex;
        width: 100%;
        padding: 0 10px;
        box-sizing: border-box;
    }
    .sj-select-area {
    display: flex;
    width: 100%;
    margin-bottom: 20px !important;
    padding: 0 10px;
    box-sizing: border-box;
    }
}





@media screen and (max-width: 480px) {
    .entry-title {
    font-size: 1.4em !important;
    background-color: #e73e00;
    color: #ffffff;
    text-align: center;
    line-height: 120% !important;
    margin-bottom: 20px !important;
    }
    .simcal-event-title{
    font-size: 1.4em;
    line-height: 100%;
    }
    #post-14 .post-title{
    font-size: 1.4em;
    font-weight: bold;
    color: #333333;
    line-height: 120%;
}
    .simcal-default-calendar-list ul.simcal-events {
        margin: 0 !important;
        padding: 0px 10px;
    }
    .simcal-event-details p {
        display: flex;
        flex-direction: column;
    }
    .simcal-event-address, .simcal-event-start-location {
        display: inline-block;
        width: 100px !important;
        text-align: center;
        background-color: #369702;
        padding: 10px;
        line-height: 100%;
        color: #ffffff;
        margin: 0 0 10px;
    }
    .no-results {
        padding: 0 20px !important;
    }
    .simcal-past{
        padding: 0 10px !important;
    }
    .simcal-default-calendar-list dt.simcal-day-label {
        font-size: .9em;
        list-style: none;
        margin: 0 0 10px !important;
    }
    .simcal-default-calendar-list ul.simcal-events li.simcal-event {
        list-style-type: none;
        margin-bottom: 10px;
        word-wrap: break-word;
        background-color: #f9f9f9;
        border: 4px solid #d9d8d8;
        margin-bottom: 10px !important;
        padding: 10px;
    }
    #post-50 .entry-title, #post-52 .entry-title{ font-size: 1.8em !important; }
    #post-8 .entry-title{ font-size: 1.5em !important; }
    .reset-button-wrapper {
    width: 100%;
    margin: 0 !important;
    padding: 0 0.6em;
    }
}






/*その他*/
.txtAttention{ padding: 40px 20px; }

.mw_wp_form_confirm .coNone{ display: none; }

.navi-footer-in a:hover {
    background-color: #e73e00 !important;
}
.go-to-top-button {
    border-width: 0;
    background-color: transparent !important;
    color: #333;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 70px !important;
    height: 70px !important;
    cursor: pointer;
    text-align: center;
    line-height: 1;
    border-radius: 5px;
    font-size: 52px !important;
}
.error404 .post p{ padding: 0 20px; }

.sidebar .sidemenu li{
    position: relative;
}
.fa-clock:before, .fa-camera:before{
    display: inline-block;
    font-size: 2em;
    vertical-align: middle; 
}



.header {
    height: 100vh;
    overflow: hidden;
  
    /* 元のカラフルな背景（コメントアウト） */
    /* background:
      radial-gradient(circle at bottom, #fff -30%, transparent 70%),
      linear-gradient(to right, #134a8e, #00b6f1 50%),
      #fff; */
  
    /* パステルカラーの背景 */
    background:
      radial-gradient(circle at bottom, #f8f8f8, transparent 80%), /* パステルホワイトに近い */
      linear-gradient(to top, #a7d9ed 0%, transparent 70%), /* パステルブルー */
      linear-gradient(to bottom, transparent, rgba(248, 248, 248, 0.4) 70%), /* 半透明パステルホワイト */
      #a7d9ed; /* デフォルトのパステルブルー */
    animation: bg-pastel 30s infinite;
  }
  
  @keyframes bg-pastel {
    0%, 100% { background-color: #a7d9ed; } /* パステルブルー */
    25% { background-color: #b3e5be; } /* パステルグリーン */
    50% { background-color: #fff9c4; } /* パステルイエロー */
    75% { background-color: #f48fb1; } /* パステルピンク */
  }
  