﻿@import url(./default_body.css);
@import url(./topFreearea_map.css);


/* body */

html, body {
    overflow-x: hidden;
}

body {
    box-sizing: border-box;
    background-color: var(--background-color,#f6f6f6);
}

a {
    text-decoration: none;
}

    /*    a:hover {
        text-decoration: underline;
        position: relative;
        top: 1px;
        left: 1px;
    }
*/

    a:link {
        color: var(--text-color,#000000);
    }

    a:visited {
        color: var(--text-color, #000000);
    }

    a:hover {
        color: var(--text-color,#C70026);
    }


/* telto */
@media screen and (min-width:768px) {
    /* PCではリンクなし */
    a[href^="tel:"] {
        pointer-events: none;
        text-decoration: none;
    }

    .teltoon {
        display: none !important;
    }

    .teltooff {
        margin-left: 0px !important;
    }
}

@media screen and (max-width:767px) {
    /* スマホではリンクあり */
    a[href^="tel:"] {
    }

    .teltoon {
        margin-left: 0px !important;
    }

    .teltooff {
        display: none !important;
    }
}



section {
    margin: 0px auto;
    padding: 0px 0px 0px;
}



/*:::::::::::::::::::::::::
 * メインスライドエリア
 *::::::::::::::::::::::::*/
.wrap-swiperArea {
    background-color: var(--background-color,#f6f6f6);
    --swiper-width: min(800px, 100%);
}

.wrap-inner-swiperArea {
    max-width: 100%;
    margin: 0 auto;
    position: relative;
}

/* Heroスワイパー（webna:Swiper）— ページネーションを画像の下に配置 */
.wrap-swiperArea .swiperArea {
    padding-bottom: 36px !important;
}

.wrap-swiperArea .swiper-pagination {
    position: relative;
    bottom: auto;
    top: 12px;
}

.wrap-swiperArea .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    margin: 0 5px !important;
    background-color: #d8d8d8;
    opacity: 1;
}

.wrap-swiperArea .swiper-pagination-bullet-active {
    background-color: #939393;
}

/*:::::::::::::::::::::::::
 * ボタン
 *::::::::::::::::::::::::*/

.info-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 176px;
    padding: 11px 18px 13px;
    text-align: center;
    margin-inline: auto;
    border-radius: 50px;
    background-color: var(--background-color,#ffd55b);
    color: #1d1d1d;
    outline: 0;
    font-weight: 700;
    transition-duration: 0.3s;
    border:#ffd55b solid 3px;
}

.info-button::after {
    content: "";
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 14L14 10L10 6L8.6 7.4L10.2 9H6V11H10.2L8.6 12.6L10 14ZM10 20C8.61667 20 7.31667 19.7375 6.1 19.2125C4.88333 18.6875 3.825 17.975 2.925 17.075C2.025 16.175 1.3125 15.1167 0.7875 13.9C0.2625 12.6833 0 11.3833 0 10C0 8.61667 0.2625 7.31667 0.7875 6.1C1.3125 4.88333 2.025 3.825 2.925 2.925C3.825 2.025 4.88333 1.3125 6.1 0.7875C7.31667 0.2625 8.61667 0 10 0C11.3833 0 12.6833 0.2625 13.9 0.7875C15.1167 1.3125 16.175 2.025 17.075 2.925C17.975 3.825 18.6875 4.88333 19.2125 6.1C19.7375 7.31667 20 8.61667 20 10C20 11.3833 19.7375 12.6833 19.2125 13.9C18.6875 15.1167 17.975 16.175 17.075 17.075C16.175 17.975 15.1167 18.6875 13.9 19.2125C12.6833 19.7375 11.3833 20 10 20ZM10 18C12.2333 18 14.125 17.225 15.675 15.675C17.225 14.125 18 12.2333 18 10C18 7.76667 17.225 5.875 15.675 4.325C14.125 2.775 12.2333 2 10 2C7.76667 2 5.875 2.775 4.325 4.325C2.775 5.875 2 7.76667 2 10C2 12.2333 2.775 14.125 4.325 15.675C5.875 17.225 7.76667 18 10 18Z' fill='%231F1F1F'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

    .info-button:hover {
        background-color: #ffffff !important;
        color: #1d1d1d !important;
        text-decoration: none;
        /* outline: #ffd55b solid 3px; */
    }

#infoMain2 .info-button {
    color: var(--text-color,#1d1d1d);
}

.info-button:link {
    color: var(--text-color,#1d1d1d);
}


.info-button {
    color: var(--text-color,#1d1d1d) !important;
}

    .info-button:visited {
        color: var(--text-color,#1d1d1d);
    }

/*:::::::::::::::::::::::::
 * 新着エリア
 *::::::::::::::::::::::::*/

.ttl_news {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
}

.newsarea {
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding: 42px 0 112px;
    background-color: var(--background-color,#fbefc7);
}

.newsarea::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: clamp(32px, 6vw, 74px);
    background-color: var(--background-color,#fff);
    clip-path: polygon(0 100%, 50% 0%, 100% 100%);
}

.newsarea_wrapper {
    display: flex;
    align-items: stretch;
    gap: 44px;
    width: calc(100% - 40px);
    max-width: 1100px;
    margin: 0 auto;
}

.occm-info-card {
    display: flex;
    flex-direction: column;
    width: calc(50% - 22px);
    min-height: 520px;
    padding: 40px 28px 28px;
    background-color: var(--background-color,#ffffff);
    border-radius: 14px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.occm-info-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
}

.occm-info-card__titlegroup {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    min-width: 0;
}

.occm-info-card__header h2 {
    margin: 0;
}

.occm-info-card__subtitle {
    display: inline-block;
    margin-bottom: 6px;
    color: var(--text-color,#7d7d7d);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.listInfo {
    flex: 1;
    width: 100%;
    max-height: 340px;
    overflow-y: auto;
    overflow-x: hidden;
}

.rssarea {
    margin-top: 12px;
}

.rssarea a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 72px;
    height: 32px;
    padding: 0 16px;
    border-radius: 999px;
    background-color: var(--background-color,#ffd55b);
    color: #333333;
    font-size: 14px;
    font-weight: 700;
    border:1px solid #ffd55b;
}

.newsarea article {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 14px 20px;
    border-top: 1px solid #6f6f6f;
    border-bottom: 1px dashed #8c8c8c;
}

.occm-info-card ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.occm-info-card li + li article {
    border-top: 0;
}

.occm-info-card li:nth-child(even) article {
    background-color: var(--background-color,#f5f5f5);
}

.koushinDay {
    margin: 0;
    color: var(--text-color,#5d5d5d);
    font-size: 16px;
    font-weight: 500;
}

.newTtl {
    flex: 1;
    margin: 0;
    color: var(--text-color,#1a1a1a);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.45;
}

.newTtl a {
    color: var(--text-color,#333333);
    text-decoration: underline;
}

.occm-info-card .nodata {
    padding: 32px 12px;
    text-align: center;
    color: var(--text-color,#4b4b4b);
}

.occm-info-card .info-area__btn_wrap {
    margin-top: 28px;
    display: flex;
    justify-content: center;
}

.occm-info-card .textLink {
    position: relative;
    display: inline-block;
    padding-left: 16px;
}

.occm-info-card .textLink::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.68em;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 6px solid #d77819;
}

.occm-calendar {
    padding: 8px 0 68px;
    background-color: var(--background-color,#ffffff);
}

.occm-calendar__inner {
    width: calc(100% - 40px);
    max-width: 1160px;
    margin: 0 auto;
    padding: 0;
    background-color: transparent;
    border-radius: 0;
    box-shadow: none;
}

.occm-calendar__header {
    margin-bottom: 18px;
    text-align: center;
}

.occm-calendar__header h2 {
    margin: 0;
}

.occm-calendar__title {
    display: inline-block;
    max-width: 100%;
    height: auto;
}

.occm-calendar__body {
    overflow: visible;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.occm-calendar .fullCalendarArea {
    margin-top: 0;
    padding: 0;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}

.occm-calendar .ganttchart-calendar-content,
.occm-calendar #FullCalendar {
    background-color: var(--background-color,#ffffff);
}

.occm-calendar #FullCalendar {
    border: 0;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

.occm-calendar #FullCalendar .fc-toolbar {
    margin-bottom: 0.8em;
}

.occm-calendar #FullCalendar .fc-center h2 {
    font-size: 35px !important;
    font-weight: 700;
    color: var(--text-color,#2d241d);
}

.occm-calendar #FullCalendar .fc-button {
    box-shadow: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--text-color,#000000);
    font-weight: 600;
    letter-spacing: 0.02em;
}

.occm-calendar #FullCalendar .fc-today-button {
    display: none;
}

.occm-calendar #FullCalendar .fc-prev-button::before,
.occm-calendar #FullCalendar .fc-next-button::after {
    content: "";
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.occm-calendar #FullCalendar .fc-prev-button::before {
    background-image: url("../images/occm/arrow_left.svg");
}

.occm-calendar #FullCalendar .fc-next-button::after {
    background-image: url("../images/occm/arrow_right.svg");
}

.occm-calendar #FullCalendar .fc-day-header {
    padding: 12px 0;
    background-color: var(--background-color,#fff4cf);
    color: var(--text-color,#4f4032);
    font-size: 15px;
    font-weight: 700;
}

.occm-calendar #FullCalendar td,
.occm-calendar #FullCalendar th {
    border-color: #eadfcb;
}

.occm-calendar #FullCalendar .fc-day-number {
    padding: 6px 10px 0 0;
    color: var(--text-color,#4f4032);
    font-weight: 700;
}

.occm-calendar #FullCalendar .fc-content {
    padding: 1px 4px;
}

.occm-calendar #FullCalendar .fc-event {
    border: 0;
    border-radius: 8px;
    background-color: var(--background-color,#FBFACD);
}
.occm-calendar #FullCalendar a.fc-day-grid-event:after
{
    content: "";
    top: 0px;
    right: -16px;
    position: absolute;
    /* background-color: #FFFFFF; */
    background: #FBFACD;
    height: 100%;
    width: 16px;
}

.occm-calendar #FullCalendar .fc-event .fc-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-color,#333333);
}

.occm-calendar #FullCalendar .fc-basicWeek-view .fc-day-grid-container {
    min-height: 160px;
}

.occm-calendar #FullCalendar .fc-basicWeek-view .fc-body .fc-row {
    min-height: 160px;
}

.occm-calendar #FullCalendar .fc-basicWeek-view .fc-content-skeleton tbody tr:first-child td {
    padding-top: 4px;
}

.occm-calendar #FullCalendar .fc-month-view .fc-day-grid-container {
    min-height: auto;
    height: auto !important;
}

.occm-calendar #FullCalendar .fc-month-view .fc-body .fc-row {
    min-height: 92px;
    height: auto !important;
}

.occm-calendar #FullCalendar .fc-month-view .fc-content-skeleton tbody td {
    padding-top: 1px;
}

.occm-calendar #FullCalendar .fc-month-view a.fc-day-grid-event {
    margin-top: 4px;
    margin-right: 8px;
    padding: 2px 0 2px 4px;
}

.occm-calendar #FullCalendar .fc-month-view .fc-title {
    font-size: 11px;
    line-height: 1.35;
}

.occm-calendar__btn_wrap {
    margin-top: 10px;
    text-align: center;
    position: relative;
}

.occm-calendar__btn_wrap p {
    color: var(--text-color,#2d241d);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
}

.occm-calendar__switch.is-secondary {
    min-width: 176px;
}

.fullCalendarArea .kiji-info-cont{
    background-color: var(--background-color,#fbfacd);
}


.occm-panel {
    position: relative;
    background-color: var(--background-color,#ffffff);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16);
}

.occm-special.fadein,
.occm-permanent.fadein,
.occm-pickup.fadein,
.occm-instagram.fadein {
    opacity: 1;
    transform: none;
    transition: none;
}

.occm-panel::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 20px;
    bottom: -18px;
    height: 18px;
    background-color: rgba(0, 0, 0, 0.08);
    z-index: -1;
}

.occm-special .occm-panel::after {
    left: 0px;
}

.occm-permanent .occm-panel::after {
    right: 0px;
}

.occm-panel__body {
    padding: 54px 46px 46px;
}

.occm-panel__title {
    margin: 0;
    padding-bottom: 18px;
    border-bottom: 1px solid #2a2a2a;
    color: var(--text-color,#111111);
    font-size: 35px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
}

.occm-panel__copy {
    margin: 24px 0 0;
    color: var(--text-color,#111111);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.9;
    text-align: center;
}

.occm-panel__btn_wrap {
    margin-top: 30px;
    display: flex;
    justify-content: center;
}

.occm-special {
    position: relative;
    overflow: hidden;
    padding: 48px 0 118px;
    background-color: var(--background-color,#ffffff);
}

.occm-special__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(320px, 390px) minmax(0, 1fr);
    gap: 48px;
    align-items: center;
    width: calc(100% - 40px);
    max-width: 1260px;
    margin: 0 auto;
    padding: 58px 88px 58px 0;
}

.occm-special__inner::before {
    content: "";
    position: absolute;
    top: 0;
    right: calc(-50vw + 50%);
    bottom: 0;
    left: -10%;
    background-color: var(--background-color,#ffd65b);
    border-radius: 330px 0 0 280px;
    opacity: 0.85;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 1.35s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.5s ease;
    z-index: 0;
}

.occm-special__intro,
.occm-special__cards,
.occm-special__side-label {
    position: relative;
    z-index: 2;
}

.occm-special__intro {
    margin-left: calc(-50vw + 50%);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.28s;
}

.occm-special__intro .occm-panel__body,
.occm-permanent__panel .occm-panel__body {
    opacity: 0;
    transition: opacity 0.48s ease 0.52s;
}

.occm-special__intro .occm-panel__title,
.occm-special__intro .occm-panel__copy {
    text-align: right;
}

.occm-special__intro .occm-panel__btn_wrap {
    justify-content: flex-end;
}

.occm-special__intro .info-button,
.occm-permanent__panel .info-button {
    margin-inline: 0;
}

.occm-special__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px;
    align-items: start;
    opacity: 0;
    transform: translate3d(28px, 0, 0);
    transition: transform 0.96s cubic-bezier(0.22, 1, 0.36, 1) 0.4s, opacity 0.56s ease 0.4s;
}

.occm-special__side-label {
    position: absolute;
    top: 50%;
    right: calc(-50vw + 55%);
    width: 58px;
    height: 396px;
    opacity: 0;
    transform: translate3d(18px, -50%, 0);
    background-image: url("../images/occm/Special exhibition.png");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain;
    transition: transform 0.96s cubic-bezier(0.22, 1, 0.36, 1) 0.48s, opacity 0.56s ease 0.48s;
    z-index: 1;
}

.occm-special.scrollin .occm-special__inner::before {
    opacity: 1;
    transform: scaleX(1);
}

.occm-special.scrollin .occm-special__intro {
    transform: scaleX(1);
}

.occm-special.scrollin .occm-special__intro .occm-panel__body {
    opacity: 1;
}

.occm-special.scrollin .occm-special__cards {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.occm-special.scrollin .occm-special__side-label {
    opacity: 1;
    transform: translate3d(0, -50%, 0);
}

.occm-special-card {
    position: relative;
}

.occm-special-card__badge {
    position: absolute;
    top: -14px;
    left: 18px;
    min-width: 142px;
    padding: 12px 20px;
    border: 1px solid var(--text-color,#b9b9b9);
    color: var(--text-color,#1a1a1a);
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    z-index: 2;
}

.occm-special-card__badge--current {
    border-color: var(--text-color,#111111);
    background-color: var(--background-color,#111111);
    color: var(--text-color,#ffffff);
}

.occm-special-card__badge--next {
    background-color: var(--background-color,#ffffff);
}

.occm-special-card__link {
    display: block;
    padding: 16px 16px 20px;
    background-color: var(--background-color,#ffffff);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    color: var(--text-color,#111111) !important;
}

.occm-special-card__link:hover {
    color: var(--text-color,#111111) !important;
    text-decoration: none;
}

.occm-special-card__image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 0.72;
    background-color: var(--background-color,#efefef);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.occm-special-card__image--empty {
    color: var(--text-color,#1f1f1f);
    font-size: 20px;
    font-weight: 700;
}

.occm-special-card__date {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
    padding: 12px 14px;
    background-color: var(--background-color,#f3f3f3);
    color: var(--text-color,#111111);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

.occm-special-card__date::before {
    content: "";
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    background-image: url("../images/occm/icon_cal.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.occm-special-card__date--empty {
    min-height: 51px;
}

.occm-special-card__title {
    margin-top: 14px;
    color: var(--text-color,#111111);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
}

.occm-permanent {
    position: relative;
    z-index: 2;
    margin-top: -160px;
}

.occm-permanent__inner {
    position: relative;
    width: calc(100% - 40px);
    max-width: 1280px;
    min-height: 660px;
    margin: 0 auto;
}

.occm-permanent__visual {
    position: relative;
    width: 80vw;
    min-height: 620px;
    margin-left: calc(50% - 50vw);
    background-image: url("../images/occm/Rectangle 209.webp");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: cover;
    border-radius: 0 280px 280px 0;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
    opacity: 0.85;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 1.35s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.5s ease;
    z-index: 2;
}

.occm-photo-credit {
    position: absolute;
    bottom: 120px;
    left: calc(-40vw + 60%);
    font-size: 0.85rem;
    color: #ffffff;
    line-height: 1.4;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.7);
    pointer-events: none;
    z-index: 5;
    white-space: nowrap;
}

@media screen and (max-width: 600px) {
.occm-photo-credit {
        position: absolute;
        bottom: 50px;
        left: calc(-40vw + 60%);
        font-size: 0.85rem;
        color: #ffffff;
        line-height: 1.4;
        text-shadow: 0 1px 4px rgba(0, 0, 0, 0.7);
        pointer-events: none;
        z-index: 5;
        white-space: nowrap;
    }
}
.sns-occm-photo-credit {
    position: absolute;
    bottom: 10px;
    left: 50px;
    font-size: 0.85rem;
    color: #ffffff;
    line-height: 1.4;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.7);
    pointer-events: none;
    z-index: 5;
    white-space: nowrap;
}

.occm-permanent__side-label {
    position: absolute;
    top: 42px;
    bottom: 42px;
    left: calc(-45vw + 60%);
    width: 58px;
    opacity: 0;
    transform: translate3d(-18px, 0, 0);
    background-image: url("../images/occm/Permanent exhibition.png");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
    transition: transform 0.96s cubic-bezier(0.22, 1, 0.36, 1) 0.42s, opacity 0.56s ease 0.42s;
}

.occm-permanent__panel {
    --occm-permanent-panel-rest-transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: calc(-50vw + 50%);
    width: 800px;
    transform: var(--occm-permanent-panel-rest-transform) scaleX(0);
    transform-origin: right center;
    transition: transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.28s;
    z-index: 3;
}

.occm-panel__body--permanent {
    padding: 48px 160px 40px 42px;
}

.occm-permanent__panel .occm-panel__title,
.occm-permanent__panel .occm-panel__copy {
    text-align: left;
}

.occm-permanent__panel .occm-panel__btn_wrap {
    justify-content: flex-start;
}

.occm-permanent.scrollin .occm-permanent__visual {
    opacity: 1;
    transform: scaleX(1);
}

.occm-permanent.scrollin .occm-permanent__side-label {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.occm-permanent.scrollin .occm-permanent__panel {
    transform: var(--occm-permanent-panel-rest-transform) scaleX(1);
}

.occm-permanent.scrollin .occm-permanent__panel .occm-panel__body {
    opacity: 1;
}

.occm-pickup {
    position: relative;
    z-index: 3;
    overflow: visible;
    margin-top: -150px;
    padding: 84px 0 0px;
    background-color: transparent;
}

.occm-pickup__inner {
    position: relative;
    width: calc(100% - 40px);
    max-width: 1400px;
    margin: 0 auto;
    padding: 54px 80px 56px;
}

.occm-pickup__inner::before {
    content: "";
    position: absolute;
    top: -34px;
    right: calc(-50vw + 50%);
    bottom: 0;
    left: -8%;
    background-color: var(--background-color,#ffd65b);
    border-radius: 280px 0 0 280px;
    opacity: 0.9;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 1.35s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.5s ease;
    z-index: 0;
}

.occm-pickup__header,
.occm-pickup__slider-area {
    position: relative;
    z-index: 1;
}

.occm-pickup__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.22s;
}

.occm-pickup__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 170px;
    min-height: 38px;
    padding: 0 28px;
    border-radius: 999px;
    background-color: var(--background-color,#ffffff);
    color: var(--text-color,#111111);
    font-size: 28px;
    font-weight: 500;
    line-height: 1;
}

.occm-pickup__title {
    margin: 0;
    color: var(--text-color,#111111);
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.04em;
}

.occm-pickup__slider-area {
    position: relative;
    margin-top: 56px;
    padding: 0 65px;
    opacity: 0;
    transform: translate3d(36px, 0, 0);
    transition: transform 0.96s cubic-bezier(0.22, 1, 0.36, 1) 0.44s, opacity 0.56s ease 0.44s;
}

.occm-pickup-swiper {
    width: 100%;
    overflow: hidden;
    padding: 12px 8px;
}

.occm-pickup-swiper .swiper-wrapper {
    display: flex;
    align-items: stretch;
    gap: 24px;
    width: 100%;
}

.occm-pickup__slide {
    flex: 0 0 200px;
    width: 200px;
    height: auto;
    margin-right: 0 !important;
}

.occm-pickup__link {
    display: block;
    height: 100%;
    border-radius: 16px;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.14);
    overflow: hidden;
    background-color: var(--background-color,#ffffff);
}

.occm-pickup__link:hover {
    text-decoration: none;
}

.occm-pickup__link img {
    display: block;
    width: 100%;
    height: auto;
}

.occm-pickup__nav {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background-color 0.3s ease, opacity 0.3s ease;
}

.occm-pickup__nav--prev {
    left: 0;
    background-color: var(--background-color,#ffd65b);
}

.occm-pickup__nav--next {
    right: 0;
    background-color: var(--background-color,#ffd65b);
}

.occm-pickup__nav:hover {

}

.occm-pickup__nav.swiper-button-disabled {
    opacity: 0.55;
    cursor: default;
    background-color: var(--background-color,#ffd65b);
}

.occm-pickup__nav-icon {
    display: block;
    width: 40px;
    height: 40px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.occm-pickup__nav--prev .occm-pickup__nav-icon {
    background-image: url("../images/occm/pickup-arrow.png");
    background-color: var(--background-color,#ffd65b);
}

.occm-pickup__nav--next .occm-pickup__nav-icon {
    background-image: url("../images/occm/pickup-arrow.png");
    transform: rotate(180deg);
    background-color: var(--background-color,#ffd65b);
}

.occm-pickup.scrollin .occm-pickup__inner::before {
    opacity: 1;
    transform: scaleX(1);
}

.occm-pickup.scrollin .occm-pickup__header {
    transform: scaleX(1);
}

.occm-pickup.scrollin .occm-pickup__slider-area {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.occm-instagram,
.occm-instagram.insta_area {
    position: relative;
    z-index: 2;
    margin: 0 !important;
    padding: 0 0 2px !important;
    background-color: var(--background-color,#ffffff);
    overflow: hidden;
}

.occm-instagram__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 54px;
    align-items: center;
    width: calc(100% - 40px);
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 56px 56px 36px;
}

.occm-instagram__inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: calc(-50vw + 50%);
    right: -22%;
    bottom: 0;
    background-color: var(--background-color,#fbf4df);
    border-radius: 0 280px 280px 0;
    opacity: 0.95;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 1.35s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.5s ease;
    z-index: 0;
}

.occm-instagram__lead,
.occm-instagram__gallery {
    position: relative;
    z-index: 1;
}

.occm-instagram__lead {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    text-align: center;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.24s;
}

.occm-instagram__icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
}

.occm-instagram__icon {
    display: block;
    width: 54px;
    height: 54px;
}

.occm-instagram__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 170px;
    min-height: 38px;
    padding: 0 26px;
    border-radius: 999px;
    background-color: var(--background-color,#ffffff);
    color: var(--text-color,#111111);
    font-size: 28px;
    font-weight: 500;
    line-height: 1;
}

.occm-instagram__title {
    margin: 2px 0 0;
    color: var(--text-color,#111111);
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.04em;
}

.occm-instagram__btn_wrap {
    margin-top: 18px;
    justify-content: center;
}

.occm-instagram__btn_wrap .info-button {
    margin-inline: auto;
}

.occm-instagram__gallery {
    min-width: 0;
    padding-top: 42px;
    opacity: 0;
    transform: translate3d(36px, 0, 0);
    transition: transform 0.96s cubic-bezier(0.22, 1, 0.36, 1) 0.42s, opacity 0.56s ease 0.42s;
    left: 50px;
}

.occm-instagram__feed,
.occm-instagram__feed.dspInsta {
    margin: 0 !important;
}

.occm-instagram__feed ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.occm-instagram__feed > ul:not(.slick-slider) {
    display: flex;
    flex-wrap: nowrap;
    gap: 24px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 4px;
}

.occm-instagram__feed > ul:not(.slick-slider) li {
    flex: 0 0 calc((100% - 72px) / 4);
    min-width: 0;
}

.occm-instagram__feed li img {
    width: 190px !important;
    height: 230px !important;
    margin: 0;
    /* object-fit: cover !important; */
    border-radius: 0;
    box-shadow: none;
}

/* instaSlider.css の .dspInsta li img を OCCM セクション内で上書き（スマホ 767px 以下） */
@media screen and (max-width: 767px) {
    .occm-instagram .dspInsta li img {
        width: 148px !important;
        height: 198px !important;
        margin: 0px 0px;
    }
}

.occm-instagram__feed .slick-list {
    overflow: hidden;
    margin: 0 -130px;
}

.occm-instagram__feed .slick-track {
    display: flex;
    align-items: stretch;
    margin-left: 0;
}

.occm-instagram__feed .slick-slide {
    height: auto;
    padding: 0 12px !important;
    box-sizing: border-box;
}

.occm-instagram__feed .slick-slide > div {
    height: 100%;
    display: block;
}

.occm-instagram__feed .slick-prev,
.occm-instagram__feed .slick-next {
    display: none !important;
}

/* Instagram ナビゲーションボタン */
.occm-instagram__nav {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 48px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    transform: translateY(-50%);
}

.occm-instagram__nav--prev {
    left: 0;
}

.occm-instagram__nav--next {
    right: 0;
}

.occm-instagram__slides {
    overflow: hidden;
    margin: 0 32px;
}

.occm-instagram__nav-icon {
    display: block;
    width: 12px;
    height: 27px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px 27px;
}

.occm-instagram__nav--prev .occm-instagram__nav-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='27' viewBox='0 0 12 27'%3E%3Cpolyline points='11%2C1 1%2C13.5 11%2C26' fill='none' stroke='%232D2D2D' stroke-width='2.5' stroke-linejoin='round' stroke-linecap='round'/%3E%3C%2Fsvg%3E");
}

.occm-instagram__nav--next .occm-instagram__nav-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='27' viewBox='0 0 12 27'%3E%3Cpolyline points='1%2C1 11%2C13.5 1%2C26' fill='none' stroke='%232D2D2D' stroke-width='2.5' stroke-linejoin='round' stroke-linecap='round'/%3E%3C%2Fsvg%3E");
}

.occm-instagram__feed .slick-dots {
    display: none !important;
}

.occm-instagram__feed .slick_toggle_wrap {
    display: none !important;
}

.occm-instagram__feed .slick_toggle {
    display: none !important;
}

.occm-instagram__feed .slick_toggle_wrap span {
    display: none !important;
}

.occm-instagram__feed .slick_toggle .play {
    display: none;
}

.occm-instagram__feed .slick_toggle .stop,
.occm-instagram__feed .slick_toggle .play {
    width: auto !important;
    z-index: auto !important;
}

.occm-instagram__feed .slick_toggle.paused .play {
    display: inline !important;
}

.occm-instagram__feed .slick_toggle.paused .stop {
    display: none !important;
}

.occm-instagram.scrollin .occm-instagram__inner::before {
    opacity: 1;
    transform: scaleX(1);
}

.occm-instagram.scrollin .occm-instagram__lead {
    transform: scaleX(1);
}

.occm-instagram.scrollin .occm-instagram__gallery {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* ピックアップ コントロール行（ドット + 停止ボタン） */
.occm-pickup__controls {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -40px;
    min-height: 24px;
}

#occm-pickup-dots .slick-dots {
    position: static;
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#occm-pickup-dots .slick-dots li {
    width: 10px;
    height: 10px;
    margin: 0;
}

#occm-pickup-dots .slick-dots li button {
    width: 10px;
    height: 10px;
    padding: 0;
}

#occm-pickup-dots .slick-dots li button::before {
    width: 10px;
    height: 10px;
    font-size: 8px;
    line-height: 10px;
    color: #888;
    opacity: 1;
}

#occm-pickup-dots .slick-dots li.slick-active button::before {
    color: #2D2D2D;
    opacity: 1;
}

.occm-pickup__toggle {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    font-size: 13px;
    color: var(--text-color,#2D2D2D);
    line-height: 1;
    margin: 0;
    padding: 3px 8px;
    border: 1px solid var(--text-color,#2D2D2D);
    border-radius: 3px;
    background: transparent;
    user-select: none;
    white-space: nowrap;
    z-index: 3;
}

.occm-pickup__toggle .play {
    display: none;
}

.occm-pickup__toggle.paused .play {
    display: inline;
}

.occm-pickup__toggle.paused .stop {
    display: none;
}

/* Instagram コントロール行（ドット + 停止ボタン） */
.occm-instagram__controls {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -30px;
    padding-bottom: 8px;
    min-height: 24px;
    grid-column: 1 / -1;
}

#occm-insta-dots .slick-dots {
    position: static;
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#occm-insta-dots .slick-dots li {
    width: 10px;
    height: 10px;
    margin: 0;
}

#occm-insta-dots .slick-dots li button {
    width: 10px;
    height: 10px;
    padding: 0;
}

#occm-insta-dots .slick-dots li button::before {
    width: 10px;
    height: 10px;
    font-size: 8px;
    line-height: 10px;
    color: #888;
    opacity: 1;
}

#occm-insta-dots .slick-dots li.slick-active button::before {
    color: #2D2D2D;
    opacity: 1;
}

.occm-instagram__toggle {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    font-size: 13px;
    color: var(--text-color,#2D2D2D);
    line-height: 1;
    margin: 0px;
    padding: 3px 8px;
    border: 1px solid var(--text-color,#2D2D2D);
    border-radius: 3px;
    background: transparent;
    user-select: none;
    white-space: nowrap;
    z-index: 3;
}

.occm-instagram__toggle .play {
    display: none;
}

.occm-instagram__toggle.paused .play {
    display: inline;
}

.occm-instagram__toggle.paused .stop {
    display: none;
}

.occm-sns-links {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    background-image: url("../images/occm/Rectangle 296.webp");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.occm-sns-links__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: clamp(320px, 34vw, 448px);
    padding: 48px 24px;
}

.occm-sns-links__title {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.occm-sns-links__list {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: clamp(18px, 4vw, 60px);
    margin: 0;
    padding: 0;
    list-style: none;
}

.occm-sns-links__item {
    flex: 0 0 auto;
}

.occm-sns-links__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(90px, 9vw, 104px);
    height: clamp(90px, 9vw, 104px);
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.72);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.occm-sns-links__link:hover {
    background-color: rgba(255, 255, 255, 0.82);
    transform: translateY(-4px);
    text-decoration: none;
}

.occm-sns-links__icon {
    display: block;
    width: clamp(34px, 3.6vw, 44px);
    height: clamp(34px, 3.6vw, 44px);
    object-fit: contain;
}

.occm-sns-links__icon--facebook {
    width: clamp(28px, 3vw, 50px);
    height: clamp(28px, 3vw, 50px);
}

.occm-related-banners {
    padding: 40px 0 40px;
    background-color: var(--background-color,#ffffff);
}

.occm-related-banners__inner {
    width: calc(100% - 40px);
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 48px 34px;
    background-color: var(--background-color,#feefb8);
    border-radius: 14px;
}

.occm-related-banners__header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
}

.occm-related-banners__line {
    flex: 1 1 auto;
    max-width: 340px;
    height: 1px;
    background-color: #2f2a22;
}

.occm-related-banners__title {
    flex: 0 0 auto;
    margin: 0;
}

.occm-related-banners__title img {
    display: block;
    max-width: 100%;
    height: auto;
}

.occm-related-banners__body {
    margin-top: 30px;
}

.occm-related-banners .kanrenban {
    width: 100%;
}

.occm-related-banners .bannaiyo {
    display: grid;
    grid-template-columns: repeat(auto-fill, 220px);
    gap: 20px 22px;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* リセット */
.occm-related-banners .bannaiyo > li,
.occm-related-banners .bannaiyo .imgBan,
.occm-related-banners .bannaiyo .textBan {
    margin: 0;
    padding: 0;
    float: none;
    list-style: none;
    width: 220px;
    max-width: 100%;
}

/* 画像バナー */
.occm-related-banners .bannaiyo .imgBan {
    overflow: hidden;
    border: 1px solid #d7d0bf;
    background-color: var(--background-color,#ffffff);
}

.occm-related-banners .bannaiyo .imgBan a {
    display: block;
}

.occm-related-banners .bannaiyo .imgBan img {
    display: block;
    width: 100%;
    height: auto;
}

/* テキストバナー */
.occm-related-banners .bannaiyo .textBan a {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 78px;
    padding: 10px 16px;
    border: 1px solid #d7d0bf;
    background-color: var(--background-color,#ffffff);
    color: var(--text-color,#111111);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.45;
    text-decoration: none;
}

.occm-google-map {
    padding: 0 0 50px;
    background-color: var(--background-color,#ffffff);
}

.occm-google-map__inner {
    width: calc(100% - 40px);
    max-width: 1100px;
    margin: 0 auto;
}

.occm-google-map__iframe {
    display: block;
    width: 100%;
    height: clamp(360px, 42vw, 415px);
    border: 0;
    border-radius: 14px;
}

@media screen and (max-width: 1100px) {
    #mainBg {
        padding: 20px;
        padding-left: 24px;
    }

    .newsarea_wrapper {
        flex-direction: column;
    }

    .occm-info-card {
        width: 100%;
        min-height: auto;
    }

    .occm-calendar__inner {
        width: calc(100% - 32px);
        padding: 0;
    }

    .occm-special {
        padding: 32px 0 84px;
    }

    .occm-special__inner {
        grid-template-columns: 1fr;
        gap: 34px;
        padding: 44px 42px 52px;
    }

    .occm-special__inner::before {
        left: 0;
        border-radius: 180px 0 0 180px;
    }

    .occm-special__intro {
        margin-left: calc(-50vw + 50%);
        max-width: 520px;
    }

    .occm-special__cards {
        max-width: 760px;
        margin-left: auto;
        margin-right: 48px;
    }

    .occm-special__side-label {
        right: calc(-50vw + 50%);
        width: 48px;
        height: 320px;
    }

    .occm-permanent {
        margin-top: -48px;
        padding-bottom: 72px;
    }

    .occm-permanent__inner {
        min-height: 0;
    }

    .occm-permanent__visual {
        width: 100vw;
        min-height: 540px;
        margin-left: calc(50% - 50vw);
    }

    .occm-permanent__panel {
        right: calc(-50vw + 50%);
        width: min(460px, 48%);
    }

    .occm-pickup {
        margin-top: -38px;
        padding: 58px 0 92px;
    }

    .occm-pickup__inner {
        padding: 42px 40px 46px;
    }

    .occm-pickup__inner::before {
        top: -24px;
        left: 0;
        border-radius: 220px 0 0 220px;
    }

    .occm-pickup__title {
        font-size: 35px;
    }

    .occm-pickup__slider-area {
        margin-top: 42px;
        padding: 0 62px;
    }

    .occm-pickup-swiper .swiper-wrapper {
        gap: 20px;
    }

    .occm-instagram {
        padding-bottom: 92px;
    }

    .occm-instagram__inner {
        grid-template-columns: 1fr;
        gap: 34px;
        padding: 0 42px 48px 24px;
    }

    .occm-instagram__inner::before {
        right: calc(-50vw + 50%); /* スライダーのハミ出しを考慮しビューポート右端まで色塩が覆うように拡張 */
        border-radius: 0 220px 220px 0;
    }

    .occm-instagram__gallery {
        padding-top: 28px;
        padding-left: 0;
        left: 0; /* base の left:50px をリセット（1カラム時は不要） */
    }

    .occm-sns-links__inner {
        min-height: 360px;
        padding: 40px 20px;
    }

    .occm-sns-links__list {
        gap: 20px;
    }

    .occm-related-banners {
        padding: 48px 0 72px;
    }

    .occm-related-banners__inner {
        width: calc(100% - 32px);
        padding: 34px 28px 28px;
    }

    .occm-related-banners__line {
        max-width: 220px;
    }

    .occm-related-banners .bannaiyo > li,
    .occm-related-banners .bannaiyo .imgBan,
    .occm-related-banners .bannaiyo .textBan {
        /* width: calc(33.333% - 15px); */
    }

    .occm-google-map {
        padding: 0 0 76px;
    }

    .occm-google-map__inner {
        width: calc(100% - 32px);
    }

    #menuArea {
        padding: 0px 0px 30px;
    }

    #mainBg::before {
        display: none !important;
    }

    #mainBg::after {
        width: 208px;
        height: 122px;
        right: 2%;
        bottom: -38px;
        background-size: 208px;
    }
}

@media screen and (max-width: 1000px) {
    .occm-hero {
        padding-top: 12px;
    }

    .newsarea {
        padding: 36px 0 60px;
    }

    .occm-calendar {
        padding: 4px 0 52px;
    }

    .occm-special__cards {
        margin-right: 24px;
        gap: 24px;
    }

    .occm-special-card__badge {
        min-width: 126px;
        padding: 11px 16px;
        font-size: 16px;
    }

    .occm-permanent__visual {
        width: 100vw;
        min-height: 500px;
        margin-left: calc(50% - 50vw);
    }

    .occm-permanent__panel {
        --occm-permanent-panel-rest-transform: translateY(0);
        position: relative;
        top: auto;
        right: calc(-50vw + 50%);
        width: min(560px, calc(100% - 60px));
        margin: -120px 0 0 auto;
    }

    .occm-pickup__inner {
        width: calc(100% - 32px);
        padding: 36px 28px 40px;
    }

    .occm-pickup__eyebrow {
        min-width: 146px;
        min-height: 34px;
        font-size: 24px;
    }

    .occm-pickup__title {
        font-size: 32px;
    }

    .occm-pickup__slide {
        flex-basis: 184px;
        width: 184px;
    }

    .occm-instagram__eyebrow {
        min-width: 146px;
        min-height: 34px;
        font-size: 24px;
    }

    .occm-instagram__title {
        font-size: 32px;
    }

    .occm-instagram__feed li img {
        height: 260px;
    }

    .occm-instagram__feed > ul:not(.slick-slider) li {
        flex: 0 0 calc((100% - 48px) / 3); /* 4列 → 3列 */
    }

    .occm-sns-links__link {
        width: 88px;
        height: 88px;
    }

    .occm-sns-links__icon {
        width: 38px;
        height: 38px;
    }

    .occm-sns-links__icon--facebook {
        width: 32px;
        height: 32px;
    }

    .occm-related-banners .bannaiyo > li,
    .occm-related-banners .bannaiyo .imgBan,
    .occm-related-banners .bannaiyo .textBan {
        /* width: calc(50% - 11px); */
    }

    .rssarea {
        margin-top: 8px;
    }
}

@media screen and (max-width: 696px) {
    .occm-permanent__side-label {
        left: calc(-45vw + 54%);
    }
}

@media screen and (max-width: 600px) {
    #mainBg::after {
        width: 158px;
        height: 95px;
        bottom: -21px;
        background-size: 158px;
    }

    .newsarea {
        padding: 28px 0 48px;
    }

    .newsarea_wrapper {
        width: calc(100% - 24px);
        gap: 24px;
    }

    .occm-info-card {
        padding: 28px 18px 22px;
    }

    .occm-calendar__inner {
        width: calc(100% - 24px);
        padding: 0;
    }

    .occm-calendar__body {
        padding: 0;
    }

    .occm-panel__body {
        padding: 34px 24px 28px;
    }

    .occm-panel__title {
        font-size: 28px;
    }

    .occm-panel__copy {
        font-size: 16px;
        line-height: 1.8;
    }

    .occm-special {
        padding: 24px 0 48px;
    }

    .occm-special__inner {
        width: calc(100% - 24px);
        padding: 26px 14px 34px;
    }

    .occm-special__inner::before {
        right: -20px;
        border-radius: 110px 0 0 110px;
    }

    .occm-special__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
        margin-right: 0;
    }

    .occm-special__side-label {
        display: none;
    }

    .occm-special-card__badge {
        min-width: 84px;
        padding: 8px 10px;
        left: 14px;
        top: -12px;
        font-size: 12px;
    }

    .occm-special-card__link {
        padding: 12px 12px 16px;
    }

    .occm-special-card__image {
        aspect-ratio: 0.82;
    }

    .occm-special-card__title {
        margin-top: 10px;
        font-size: 16px;
        line-height: 1.45;
    }

    .occm-special-card__date {
        gap: 6px;
        margin-top: 10px;
        padding: 10px 12px;
        font-size: 13px;
    }

    .occm-special-card__date::before {
        width: 16px;
        height: 16px;
        flex-basis: 16px;
    }

    .occm-permanent {
        margin-top: 0;
        padding-bottom: 56px;
    }

    .occm-permanent__inner {
        width: calc(100% - 24px);
    }

    .occm-permanent__visual {
        width: 100vw;
        min-height: 320px;
        margin-left: calc(50% - 50vw);
        border-radius: 0 140px 140px 0;
    }

    .occm-permanent__side-label {
        top: 24px;
        bottom: 24px;
        left: 14px;
        width: 38px;
    }

    .occm-permanent__panel {
        --occm-permanent-panel-rest-transform: translateY(0);
        width: calc(100% - 18px);
        margin-top: -34px;
        right: calc(-50vw + 50%);
    }

    .occm-panel__body--permanent {
        padding: 30px 22px 24px;
    }

    .occm-special__intro,
    .occm-permanent__panel,
    .occm-pickup__header {
        transition-duration: 0.86s;
    }

    .occm-pickup {
        margin-top: -22px;
        padding: 40px 0 0px;
    }

    .occm-pickup__inner {
        width: calc(100% - 24px);
        padding: 26px 14px 30px;
    }

    .occm-pickup__inner::before {
        top: -14px;
        right: -20px;
        border-radius: 120px 0 0 120px;
    }

    .occm-pickup__header {
        gap: 14px;
    }

    .occm-pickup__eyebrow {
        min-width: 122px;
        min-height: 30px;
        padding: 0 20px;
        font-size: 20px;
    }

    .occm-pickup__title {
        font-size: 32px;
    }

    .occm-pickup__slider-area {
        margin-top: 28px;
        padding: 30px;
        position: relative;
    }

    #occm-pickup-banlist {
        margin: 0;
        padding: 0;
        list-style: none;
     }

    #occm-pickup-banlist .slick-list {
        padding: 10px 6px;
     }
 

    #occm-pickup-banlist .slick-track {
        white-space: nowrap;
        left: 0 !important;
    }

    #occm-pickup-banlist .slick-slide {
        display: inline-block !important;
        float: none;
        vertical-align: top;
        text-align: center;
        white-space: normal;
        height: auto;
    }

    #occm-pickup-banlist .slick-slide > * {
        display: inline-block;
        width: 200px;
        max-width: 100%;
        vertical-align: top;
    }

    #occm-pickup-banlist .slick-slide img {
        width: 200px;
        height: 200px;
     }

    .occm-pickup__nav {
        width: 36px;
        height: 36px;
        margin-right: -5px;
        margin-left: -5px;
    }

    .occm-pickup__nav-icon {
        width: 32px;
        height: 32px;
    }

    .occm-instagram {
        padding-bottom: 68px;
    }

    .occm-instagram__inner {
        width: calc(100% - 24px);
        gap: 26px;
        padding: 0 12px 30px 12px; /* 左右対称に統一 */
    }

    .occm-instagram__inner::before {
        /* __inner は margin: 0 auto なので left/right を負値でビューポート端まで伸ばす */
        left: calc(-50vw + 50%);
        right: calc(-50vw + 50%);
        border-radius: 0 120px 120px 0;
    }

    .occm-instagram__lead {
        gap: 12px;
        padding-top: 18px;
        padding-left: 12px;
    }

    .occm-instagram__icon-wrap {
        width: 62px;
        height: 62px;
    }

    .occm-instagram__icon {
        width: 42px;
        height: 42px;
    }

    .occm-instagram__eyebrow {
        min-width: 122px;
        min-height: 30px;
        padding: 0 20px;
        font-size: 20px;
    }

    .occm-instagram__title {
        font-size: 32px;
    }

    .occm-instagram__btn_wrap {
        margin-top: 12px;
    }

    .occm-instagram__gallery {
        padding-top: 8px;
        padding-left: 0;
        left: 0;
        /* __inner の左右パディング分だけ広げてギャラリーを全幅に */
        margin-left: -12px;
        margin-right: -12px;
    }

    .occm-instagram__feed li img {
        height: 224px;
    }

    .occm-instagram__feed > ul:not(.slick-slider) li {
        flex: 0 0 calc((100% - 24px) / 2); /* 4列 → 2列 */
    }

    .occm-instagram__feed .slick-list {
        margin: 0 -20px; /* 最小画面での越境を抑制 */
    }

    .occm-instagram__feed .slick-slide {
        padding: 0 8px !important;
    }

    .occm-instagram__feed .slick_toggle_wrap {
        display: none !important;
    }

    .occm-sns-links__inner {
        min-height: 280px;
        padding: 34px 16px;
    }

    .occm-sns-links__list {
        gap: 14px;
    }

    .occm-sns-links__link {
        width: 72px;
        height: 72px;
    }

    .occm-sns-links__icon {
        width: 30px;
        height: 30px;
    }

    .occm-sns-links__icon--facebook {
        width: 26px;
        height: 26px;
    }

    .occm-related-banners {
        padding: 40px 0 56px;
    }

    .occm-related-banners__inner {
        width: calc(100% - 24px);
        padding: 26px 14px 22px;
    }

    .occm-related-banners__header {
        gap: 12px;
    }

    .occm-related-banners__line {
        max-width: none;
    }

    .occm-related-banners__body {
        margin-top: 22px;
    }

    .occm-related-banners .bannaiyo {
        gap: 14px 12px;
    }

    .occm-related-banners .bannaiyo > li,
    .occm-related-banners .bannaiyo .imgBan,
    .occm-related-banners .bannaiyo .textBan {
    }

    .occm-related-banners .bannaiyo .textBan a {
        min-height: 72px;
        padding: 8px 12px;
        font-size: 14px;
    }

    .occm-google-map {
        padding: 0 0 56px;
    }

    .occm-google-map__inner {
        width: calc(100% - 24px);
    }

    .occm-google-map__iframe {
        height: 320px;
        border-radius: 12px;
    }

    .occm-instagram__feed > ul:not(.slick-slider) {
        gap: 16px;
    }

    .occm-instagram__feed > ul:not(.slick-slider) li {
        flex-basis: calc((100% - 16px) / 2);
    }

    .occm-info-card__header {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 00px;
    }

    .occm-info-card__titlegroup {
        flex-wrap: wrap;
        gap: 8px 12px;
    }

    .occm-info-card__subtitle {
        margin-bottom: 0;
        font-size: 13px;
    }

    .newsarea article {
        flex-direction: column;
        gap: 10px;
        padding: 14px 16px;
    }

    .koushinDay {
        flex-basis: auto;
        font-size: 15px;
    }

    .newTtl {
        font-size: 16px;
    }

    .newTtl a {
        font-size: 16px;
    }

    .occm-calendar #FullCalendar {
        padding: 0;
    }

    .occm-calendar #FullCalendar .fc-center h2 {
        font-size: 22px;
    }

    .occm-calendar #FullCalendar .fc-basicWeek-view .fc-day-grid-container,
    .occm-calendar #FullCalendar .fc-basicWeek-view .fc-body .fc-row {
        min-height: 132px;
    }

    .occm-calendar #FullCalendar .fc-month-view .fc-body .fc-row {
        min-height: 72px;
    }

    .occm-calendar__btn_wrap p {
        font-size: 13px;
        text-align: left;
    }

    .occm-instagram__lead,
    .occm-instagram__gallery {
        transition-duration: 0.86s;
    }

    /* 1. 休館日テキスト縮小 */
    .occm-kyukanbi {
        font-size: 0.82rem;
        margin: 0 12px 10px;
    }

    /* 2. 特別展示空テキスト縮小 */
    .occm-special-card__image--empty {
        font-size: 14px;
    }
}



@media screen and (max-width:450px) {
    .wrap-inner-swiperArea {
        width: calc(100% - 20px);
    }
}
/*:::::::::::::::::::::::::
 * スライド下ボタン
 *::::::::::::::::::::::::*/

.btn-area1 {
    background-color: var(--background-color,#fee0e0);
}

/* リスト全体の配置 */
.btn_list_area {
    display: flex;
    gap: 30px;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

    .btn_list_area li {
        position: relative;
        width: 300px;
        height: 110px;
        box-shadow: 0px 3px 6px #0000001A;
        border-radius: 5px;
        border: 3px solid #FF9A9A;
        background-color: var(--background-color,#fff);
        overflow: hidden;
        transition-duration:0.3s;
    }

    .btn_list_area li:hover {
        transform: translateY(-3px);
    }

        /* リンクエリア全体をボタン化 */
        .btn_list_area li a {
            display: flex;
            align-items: center; /* 上下中央 */
            width: 100%;
            height: 100%;
            text-decoration: none;
            padding: 0 15px;
            box-sizing: border-box;
        }

/* --- ① 左側のアイコン（疑似要素 / maskなし） --- */
.btn_cont_icon {
    width: 70px; /* アイコンの表示エリア */
    height: 70px;
    position: relative;
    flex-shrink: 0; /* 幅が縮まないように固定 */
}

    /* HTMLのimgタグ自体は隠す */
    .btn_cont_icon img {
        display: none;
    }

    /* 疑似要素でSVGを表示 */
    .btn_cont_icon::before {
        content: "";
        position: absolute;
        inset: 0;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }

/* アイコン個別設定：パスはHTMLのsrcを参考に指定 */
/* 小児救急（電話アイコン） */
.btn_list_area li:nth-child(1) .btn_cont_icon::before {
    background-image: url("../../common/images/occm/btn-syouniKyukyu.svg");
}

/* 夜間当番医（医者アイコン） */
.btn_list_area li:nth-child(2) .btn_cont_icon::before {
    background-image: url("../../common/images/occm/btn-yakanKyujitu.svg");
}

/* --- ② 右側のテキスト --- */
.btn_cont_text {
    padding-left: 10px;
    color: var(--text-color,#4A3A2C); /* テキストの色 */
    font-weight: bold;
    line-height: 1.4;
    font-size: 1.125rem;
}


/* --- ③ 右下の三角形（疑似要素 / mask使用） --- */
.btn_list_area li::after {
    content: "";
    position: absolute;
    right: 5px;
    bottom: 5px;
    width: 10px;
    height: 10px;
    /* maskを使って色を指定 */
    -webkit-mask-image: url("../images/bousai/icon-tri.svg");
    mask-image: url("../images/bousai/icon-tri.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    /* 背景色を変えるだけで三角形の色が変わります */
    background-color: #FF9A9A;
}

.btn_area1 {
    max-width: 640px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}


.wrap-btn_area1 {
    position: relative;
    background-color: var(--background-color, #FEE0E0);
    margin-bottom: 80px;
    padding-top: 16px;
}

    .wrap-btn_area1::after {
        content: "";
        position: absolute;
        /* エリアの下端（bottom: 0）から、カーブの半分くらいを外に突き出させる */
        bottom: -60px;
        left: 50%;
        transform: translateX(-50%);
        /* なだらかさの調整：幅を広げるほど緩やかになります */
        width: 100%;
        height: 120px;
        background-color: var(--background-color, #FEE0E0); /* エリアと同じ色にする */
        border-radius: 50%; /* これで「下側」が丸い楕円になります */
        z-index: -1; /* 背景として扱う */
    }
/*:::::::::::::::::::::::::
 * 枠組 
 *::::::::::::::::::::::::*/


.Ichiran {
    text-align: center;
    margin: 20px auto 20px;
    width: 200px;
    font-size: 1em;
    border-radius: 25px;
    padding: 8px 0px;
    height: 45px;
}



@media screen and (max-width:767px) {

    #slidArea {
        /*        min-height: 250px;
*/
    }
}



/* サイト内検索 */
#mainSearch02 {
    margin: 10px auto 0px 15px;
    letter-spacing: -.4em;
    width: 100%;
    max-width: 620px;
    float: left;
}

input.searchBox02 {
    height: 28px;
    width: 85%;
    margin: 1px 1px 0px 0px;
    vertical-align: middle;
    letter-spacing: normal;
    border: solid 1px #7F7F7F;
}

input.btnSearch02 {
    margin: 0px;
    padding: 0px;
    vertical-align: middle;
    letter-spacing: normal;
}


#mainSearch02 .bootstrap-scope .btn-gray {
    color: #2169AC !important;
    background-color: unset !important;
}
/* サイト内検索ver2.0 */
.serch #input_form_search_word {
    height: 32px;
}

.serch .serchright {
    padding: 5px 0px 0px 0px;
}


/*:::::::::::::::::::::::::
 * 特集コンテンツ
 *::::::::::::::::::::::::*/
@media screen and (min-width:801px) {
    #slidArea img {
        height: 360px;
        width: 950px;
    }

    #slidArea iframe {
        height: 360px;
    }

    #slidArea video {
        height: 360px;
    }
}

@media screen and (max-width:800px) {
    #slidArea img {
        aspect-ratio: 16 / 9;
    }

    #slidArea iframe {
        aspect-ratio: 16 / 9;
    }

    #slidArea video {
        aspect-ratio: 16 / 9;
    }
}




@media screen and (max-width:768px) {

    .jouhou_search {
        width: 230px;
        border: 2px solid #2169ac;
        border-radius: 5px;
        padding: 5px 0px;
        position: unset;
        margin: 0px auto;
    }

    .serach_btn_wrap {
        flex-direction: column;
        gap: 30px;
    }

    .serach_item {
        width: 170px;
        margin: 0px auto;
    }
}

.serchright a {
    text-decoration: none;
}



.keywordtitle {
    margin: 0px;
    padding: 5px 0px 14px 0px;
    font-size: 1.2em;
    font-weight: bold;
}


    .keywordtitle h5 {
        padding: 0.8rem 0;
        margin-bottom: 0.2rem;
        background-image: linear-gradient( 90deg, #CB1187 0 20%, #2169AC 20% );
        background-repeat: no-repeat;
        background-size: 100% 4%;
        background-position: bottom;
        font-weight: bold;
    }

.keyword_item span {
    padding: 0px 20px;
}

@media screen and (max-width:768px) {

    .keywordtitle h5 {
        text-align: center;
    }

    .keyword_item {
        padding: 0px 0px 30px;
    }

        .keyword_item span {
            padding: 0px 6px;
        }
}

.keyword a {
    text-decoration: none;
}


.benri_btn_wrap {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 60px;
    text-align: center;
    padding: 20px 0px;
    flex-wrap: wrap;
}

.benri_item {
    max-width: 155px;
    width: 100%;
}

.benri_item_dot {
    border-right: 3px dotted #ccc;
}

@media screen and (max-width:455px) {
    .benri_item_dot {
        display: none;
    }
}

@media screen and (max-width:768px) {
    .benri_btn_wrap {
        display: flex;
        flex-direction: row;
        justify-content: center;
        gap: 10px;
        text-align: center;
        padding: 20px 0px;
        flex-wrap: wrap;
    }
}

/*:::::::::::::::::::::::::
 * イベント情報
 *::::::::::::::::::::::::*/


.occm-event-area {
    position: relative;
    height: 680px;
    padding-bottom: 100px;
    width: 100%;
    height: auto;
    background-image: url("../images/occm/bg-event.png");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 1366px auto;
}

.ttl-event {
    margin: 0 auto;
    display: block;
}
.occm-event-area .ttlarea {
    padding-top: 60px;
}







.kijiTtk {
    float: left;
    margin: 0px;
    padding: 10px 5px 0px 0px;
}

.naiyo img {
    float: left;
    vertical-align: middle;
    margin: 5px;
}

.naiyo {
    margin: 15px auto;
}


/* バナー広告 */

.koukokuban {
    padding: 20px 0px;
    margin: 40px auto;
}

.bosyu {
    text-align: right;
    padding: 0px 20px 0px 0px;
}

.ban {
    border: 1px solid #cccccc;
}

.r_menu {
    margin-bottom: 7px;
}

    .r_menu .banTitle {
        font-size: 0.9em;
        height: 24px;
        line-height: 24px;
        text-align: center;
    }

    .r_menu .banImg {
        height: 55px;
        padding: 8px 10px 5px 35px;
        margin: 0px auto;
        text-align: center;
    }

#textbannerArea {
    margin: 15px auto 25px;
}

    #textbannerArea ul li {
        float: left;
        padding: 15px 15px 15px 25px;
        margin: 0px 8px;
        border-radius: 5px;
    }


#oneBanArea {
    margin: 0px auto;
    padding-left: 5px;
}


#kanrenban {
    max-width: 100%;
    margin: 0px auto;
}

#kanrenbanBox {
    max-width: 100%;
    margin: 0px auto 15px;
    padding: 0px 0px 15px 0px;
}

#koukokubanBox {
    max-width: 100%;
    margin: 0px auto 15px;
    padding: 0px 0px 15px 0px;
}


#kanrenbanArea {
    margin: 0px;
    padding: 40px 0px;
}

    #kanrenbanArea h4 span {
        padding: 4px 8px;
        font-weight: bold;
    }

#bannerArea h4 span {
    border-left: 5px solid #009799;
    padding: 4px 8px;
    font-weight: bold;
    margin-right: 50px;
}


#kanrenban div#kanrenbanHeader, #kanrenban div#koukokubanHeader {
    margin: 5px 0px 5px 0px;
    padding: 15px 10px 0px;
}

#kanrenbanHeader h4 {
    border-left: 5px solid #006837;
    margin: 0 auto 10px;
    padding: 3px 30px 3px 10px;
    font-size: 1.1em;
}

#koukokubanHeader h4 {
    border-left: 5px solid #79c06e;
    margin: 0 auto 10px;
    padding: 3px 30px 3px 10px;
    font-size: 1.1em;
}


#kanrenbanHeader p {
    background: url("../images/top1/ya_green.png") no-repeat 0 center;
    margin: 0 auto 10px;
    padding: 3px 30px 3px 10px;
    float: right;
}

#koukokubanHeader span {
    margin: 0 0 0 10px;
    padding: 0px;
    font-size: 0.9em;
}

#adinfo {
    width: 100%;
    margin: 0 auto;
    padding-top: 50px;
    padding-bottom: 20px;
}

#adinfoBox {
    width: 100%;
    margin: 0px auto 15px;
    padding: 0px 0px 15px 0px;
}

#banArea {
    margin: 0px;
    padding: 0px;
}


#adinfo div#addinfoHeader {
    margin: 5px 0px 15px 0px;
    padding: 5px 10px 5px;
}

#addinfoHeader h4 {
    /*border-left: 5px solid #ff9700;*/
    margin: 0 auto 10px;
    padding: 3px 30px 3px 10px;
    font-size: 1.1em;
}

#addinfoHeader p {
    background: url("../images/top1/ya_green.png") no-repeat 0 center;
    margin: 0 auto 10px;
    padding: 3px 30px 3px 10px;
    float: right;
}

/* 2016/09/15 アクセシビリティ対応 <div><p>→<ul><li>*/
p.imgBan,
li.imgBan {
    display: inline-block;
    vertical-align: middle;
    margin: 25px 25px 25px 5px;
    float: left;
}

    /* 2016/09/15 アクセシビリティ対応 <div><p>→<ul><li>*/
    p.imgBan img,
    li.imgBan img {
        display: block;
    }

p.textBan,
li.textBan {
    display: inline-block;
    vertical-align: middle;
    margin: 5px;
}
    /* 2016/09/15 アクセシビリティ対応 <div><p>→<ul><li>*/
    p.textBan span,
    li.textBan span {
        display: table;
        border: solid 1px #CCCCCC;
        width: 188px;
        height: 52px;
        box-sizing: border-box;
        line-height: 1.1em;
        text-align: center;
        overflow: hidden;
    }
        /* 2016/09/15 アクセシビリティ対応 <div><p>→<ul><li>*/
        p.textBan span a,
        li.textBan span a {
            display: table-cell;
            vertical-align: middle;
            text-align: center;
            text-decoration: none;
        }

/* banスライダーのテキストバナー内の別ウィンドウで開くアイコン画像 */
.textBan .textBan_newWinOpn {
    width: 10px;
    height: 9px;
}
/* フローティングバナー */
div#fBanArea {
    width: 100%;
    font-size: 0.9em;
    padding: 5px 0px 0px 0px;
    display: none;
    margin-bottom: 10px;
}

    div#fBanArea div#fBanBox {
        margin: 10px auto;
        position: relative;
    }

@media screen and (min-width:1201px) {
    div#fBanArea div#fBanBox {
        max-width: 1200px;
    }
}

@media screen and (max-width:1200px) {
    div#fBanArea div#fBanBox {
        max-width: 95%;
    }
}

@media screen and (max-width:767px) {
    div#fBanArea div#fBanBox {
        max-width: 98%;
    }
}

#fAdinfoLink {
    float: left;
    margin-left: 50px;
}

.fLinkInfo p {
    float: left;
    font-size: 1.2em;
    font-weight: bold;
    padding: 0px 0px 0px 10px;
    border-left: 5px solid #006837;
    margin: 0px 0px 0px 10px;
}

div#fBanArea.floating {
    position: fixed;
    left: 0;
    bottom: 0;
    /*z-index: 99999;*/
    z-index: 1199;
    margin-bottom: 0px;
}

div#floatOff {
    float: left;
    text-align: center;
    margin-right: 5px;
}

    div#floatOff img {
        cursor: pointer;
    }

#fBanItem {
    margin: 10px auto 0px;
}

@media screen and (min-width:1201px) {
    div#fBanArea div#fBanBox {
        max-width: 1000px;
    }
}

@media screen and (max-width:1200px) {
    div#fBanArea div#fBanBox {
        max-width: 95%;
    }
}

@media screen and (max-width:767px) {
    div#fBanArea div#fBanBox {
        max-width: 98%;
    }
}

/* 2016/09/15 アクセシビリティ対応 <div><p>→<ul><li>*/
p.imgBanfl,
li.imgBanfl {
    display: inline-block;
    vertical-align: middle;
    margin: 0px 7px 10px 0px;
}
    /* 2016/09/15 アクセシビリティ対応 <div><p>→<ul><li>*/
    p.imgBanfl img,
    li.imgBanfl img {
        display: block;
    }

/* 2016/09/15 アクセシビリティ対応 <div><p>→<ul><li>*/
p.textBanfl,
li.textBanfl {
    display: inline-block;
    vertical-align: middle;
    margin: 0px 20px 10px 0px;
}
    /* 2016/09/15 アクセシビリティ対応 <div><p>→<ul><li>*/
    p.textBanfl span,
    li.textBanfl span {
        display: table;
        border: solid 1px #CCCCCC;
        width: 188px;
        height: 52px;
        box-sizing: border-box;
        line-height: 1.1em;
        text-align: center;
        overflow: hidden;
    }
        /* 2016/09/15 アクセシビリティ対応 <div><p>→<ul><li>*/
        p.textBanfl span a,
        li.textBanfl span a {
            display: table-cell;
            vertical-align: middle;
            text-align: center;
            text-decoration: none;
        }


/*
#fBanArea p.textBan {
    border: solid 1px #CCCCCC;
    width: 188px;
    padding: 13px 0px;
    text-align: center;
    font-size: 0.9em;
    margin: 5px 10px;
    display: inline-block;
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
}*/



/*:::::::::::::::::::::::::
 * Navigation Skip
 *::::::::::::::::::::::::*/
.Navigation ul {
    margin: 0;
    padding: 0;
}

.Navigation li {
    position: absolute;
    text-align: left;
    margin: 0;
    padding: 0;
    display: block;
}

.Navigation a {
    padding: 5px;
    display: inline;
    z-index: 1000000;
    text-decoration: none;
    position: absolute;
    max-width: 300px;
    left: -1000em;
    top: 0;
    font-weight: bold;
    text-align: center;
    font-size: 125%;
    zoom: 1;
    white-space: nowrap;
}

    .Navigation a:focus,
    .Navigation a:active {
        position: absolute;
        top: 30px;
        left: 250px;
        background: #fff !important;
        border: 2px solid #000;
    }

img.imgFromText {
    max-height: 126px !important;
    max-width: 90px !important;
}

* html img.imgFromText {
    height: 126px !important;
    width: 90px !important;
}

/*:::::::::::::::::::::::::
 * フリーエリア用
 *::::::::::::::::::::::::*/
.freeareaWrap {
    margin: 0px auto;
    padding: 0px;
    width: 99%;
}

.freearea {
    padding: 0px;
    margin-top: 0px;
}

    .freearea.disp_marquee_text {
        background-color: transparent !important;
        margin: 1px auto !important;
    }

/*:::::::::::::::::::::::::
 * あなたが最近チェックしたページ
 *::::::::::::::::::::::::*/
div#browsingHistoryArea {
    max-width: 1200px;
    margin: 0px auto 0px;
    padding: 10px 0px;
}

div#browsinghisotry_block ul {
    overflow: hidden;
    padding: 0px 10px;
}

    div#browsinghisotry_block ul li {
        border-top: 1px dotted #cccccc;
        margin-top: -1px;
        padding: 5px 0;
    }

div#browsinghisotry_block .upddate {
    float: left;
    font-size: 0.9em;
    min-width: 130px;
    width: auto;
    padding-left: 5px;
}

#browsingHistoryTop1 .browsinghistory_header {
    padding: 10px 0px 10px 12px;
}

div#browsinghisotry_block .title {
    float: left;
    max-width: 800px;
    text-overflow: ellipsis;
    padding: 0px 5px 0px 10px;
}

div#browsinghisotry_block .del {
}

#browsinghistory_ttl h2 {
    float: left;
    font-size: 1.1em;
    font-weight: bold;
    padding-left: 10px;
    border-left: 5px solid #cccccc;
}

#browsinghistory_rmv {
    float: right;
    padding-right: 5px;
    font-size: 0.9em;
}



/*:::::::::::::::::::::::::
 * レスポンシブル用
 *::::::::::::::::::::::::*/


@media screen and (max-width:1100px) {
    /* タブレット用のスタイル記述 */
    img {
        height: auto;
        margin-right: -3px
    }

    #slidArea {
        width: 100%;
        margin: 0px auto;
        float: none;
    }


    .mainBlock {
        margin: 0px auto 0px;
        padding-top: 5px;
    }


    .kinkyuBlock {
        border: 1px solid #C1272D;
        padding: 0px;
        box-sizing: border-box;
        margin: 0px auto 0px;
        max-width: none;
        float: none;
    }


    /* サイト内検索 */
    #mainSearch02 {
        margin: 10px 10px 0px;
    }

    input.btnSearch02 {
        margin: 0px;
        padding: 0px;
        vertical-align: middle;
    }



    #benri_btn ul li {
        min-width: 150px;
    }

    .boxArea ul li::before {
        padding: 5px 5px;
        line-height: 0em;
    }

    .naiyo ul li {
        margin: 15px 0px;
        float: left;
        min-width: 130px;
    }
}

@media screen and (max-width:1000px) {
}

@media screen and (max-width:980px) {
    /* タブレット用のスタイル記述 */

    ul.kinkyuTxt li p.koshin {
        float: none;
        min-width: 70px;
        margin-left: 10px;
    }

    ul.kinkyuTxt li div.k_naiyo {
        float: left;
        max-width: 100%;
        margin: 0px 0px 10px 10px;
    }
}

@media screen and (max-width:767px) {
    /* スマートフォン用のスタイル記述 */

    .menuitem02 {
        margin: 15px auto 0px;
    }

    #slidArea {
        width: 100%;
        margin: 0px auto;
    }

    #kinkyuArea {
        width: 100%;
        padding: 10px 0px;
    }

    #about_Area {
        width: 100%;
        margin: 0px auto 20px;
    }


    .serchleft {
        float: none;
        max-width: 100%;
        width: auto;
    }

    input.searchBox02 {
        height: 28px;
        width: 71%;
        margin: 1px 1px 0px 0px;
        vertical-align: middle;
        letter-spacing: normal;
        border: solid 1px #7F7F7F;
    }

    .keywordtitle {
        margin: 10px;
        padding: 5px 5px 5px 5px;
    }

        .keywordtitle span {
            margin: 0px 0px auto 5px;
            padding: 5px 5px 14px 5px;
        }

    .benribox02 {
        width: auto;
    }



    #benri_btn {
        margin: 0px 5px;
    }

    .kanrenban {
        margin: 15px auto;
    }

    div.newTtl {
        float: none;
        width: auto;
        padding: 2px 5px;
    }



    .info {
        padding: 0px;
        margin: 10px 0px 15px 0px;
    }

        .info p.koushinDay {
            float: none;
            width: 90%;
            font-size: 0.9em;
            text-indent: 1em;
        }

    .infoIchiran {
        float: none;
    }



    .serchright {
        max-width: 320px;
        width: 100%;
        text-align: center;
        margin: 0px auto;
        float: none;
    }

    #life_event {
        margin: 0px auto 0px auto;
        display: inline-flex;
        flex-direction: row;
        width: 100%;
        flex-wrap: wrap;
        justify-content: center;
    }

    .Blockmenu {
        max-width: 1000px;
        margin: 0px auto 0px;
        padding-top: 0px;
        display: flex;
        /* flex-direction: column;*/
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .boxArea {
        margin: 10px 0px 15px 10px;
        padding: 0px;
        float: none;
        width: 96%;
    }

    #kohoArea {
        width: auto !important;
        float: none;
        margin: 10px auto;
        padding: 0px;
    }

    #ugokiArea {
        width: auto !important;
        float: none;
        margin: 0px auto;
        padding: 0px;
    }

    .naiyo {
        margin: 0px auto;
        padding: 0px;
    }


    .kohoIchiran {
        padding: 3px 2px 2px 10px;
        margin: 10px 0px 2px;
        font-size: 0.9em;
        width: 160px;
        border-radius: 15px;
    }



    .btnArea {
        float: none;
        text-align: center;
    }

        .btnArea img {
            text-align: center;
            margin: 0px auto;
        }


    #fBanItem {
        text-align: center;
    }

    .newTtl span.termTitle {
        margin: 0px 0px 0px 15px;
    }

    #ugkTxt {
        margin: 0px auto;
    }

    #mainSearch02 {
        margin: 10px 0px;
    }

        #mainSearch02 .searchBox-gcs {
            width: 100% !important;
        }

    h4 {
        padding: 0px 0px 0px 0px;
    }

    #jyuuyou_Area {
        width: calc(100% - 20px);
        margin: 0px auto;
    }
}

@media screen and (max-width:400px) {
    /* スマートフォン用のスタイル記述 */

}

/* パーソナライズ */
.personalizeBox {
    margin-bottom: 7px;
    text-align: center;
}

    .personalizeBox .login {
        margin: 10px auto 5px auto;
        text-align: center;
    }

    .personalizeBox ul {
        width: 35%;
        margin: 5px auto;
    }

    .personalizeBox .setsumei {
        padding: 3px 3px 3px 17px;
        background: url("../images/top1/b_01.png") no-repeat 7px center;
        margin: 2px auto;
        text-align: left;
    }

/* wysiwyg */
#mainShosai table.__wys_table {
    width: auto;
}

.__wys_table td {
    border: solid 1px #000000;
    padding: 3px;
}

.__wys_table th {
    background-color: #eeffee;
    border: 1px solid #000000;
    font-weight: bold;
    padding: 3px;
}


/*:::::::::::::::::::::::::
 * 翻訳メニュー
 *::::::::::::::::::::::::*/


#foreignSP {
    display: none;
    width: 96%;
    margin: 5px auto 5px auto;
}

    #foreignSP .plus {
        background: url("../images/top1/btn_plus.png") 98% center no-repeat #E3F4FF;
        background-size: 25px 25px;
    }

    #foreignSP .minus {
        background: url("../images/top1/btn_minus.png") 98% center no-repeat #E3F4FF;
        background-size: 25px 25px;
    }

        #foreignSP .plus a,
        #foreignSP .minus a {
            display: block;
            height: 100%;
            padding: 15px 10px 15px 20px;
            font-weight: bold;
            text-decoration: none;
            margin: 0px;
        }

    #foreignSP .dspMode {
        display: block !important;
        border: 1px solid #2169AC !important;
        background-color: #2169AC;
    }

#foreignTitle {
    width: 100%;
    margin: 1px auto;
}

    #foreignTitle h4 {
        font-size: 1.2em;
    }

    #foreignTitle a {
        border: 1px solid #2169AC;
        padding: 10px 8px 10px 12px !important;
        color: #2169AC;
        display: block;
        height: 100%;
        font-weight: normal !important;
    }

#foreignDsp {
    width: 99%;
    margin: 0px auto;
    padding: 2px 0px 6px 0px;
    display: none;
}

    #foreignDsp ul {
        width: 100%;
        margin: 0px auto;
    }

        #foreignDsp ul li {
            padding: 0px;
            width: 97%;
            margin: 2px 0px 0px 4px !important;
            float: left;
            background: url("../images/top1/ya_b01.png") no-repeat 95% center #ffffff;
            background-size: 10px 13px;
            border: 1px solid #2169AC;
        }

            #foreignDsp ul li a {
                width: 70%;
                line-height: 2.4em;
                display: block;
                padding: 0px !important;
                margin-left: 15px !important;
            }

@media screen and (max-width:767px) {
    #foreignSP {
        display: none;
    }
}

.conttitle {
    padding: 20px 0px;
}



/*:::::::::::::::::::::::::
 * スクロール&フェードイン
 *::::::::::::::::::::::::*/
.fadein {
    opacity: 0;
    transform: translate(0, 50px);
    transition: all 1500ms;
}

    .fadein.scrollin {
        opacity: 1;
        transform: translate(0, 0);
    }

@media (prefers-reduced-motion: reduce) {
    .fadein,
    .fadein.scrollin,
    .occm-special__cards,
    .occm-special__intro .occm-panel__body,
    .occm-instagram__gallery,
    .occm-pickup__slider-area,
    .occm-instagram__lead,
    .occm-permanent__side-label,
    .occm-permanent__panel .occm-panel__body {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .occm-special__inner::before {
        opacity: 1;
        transform: scaleX(1);
        transition: none;
    }

    .occm-special__intro {
        transform: scaleX(1);
        transition: none;
    }

    .occm-special__side-label {
        opacity: 1;
        transform: translate3d(0, -50%, 0);
        transition: none;
    }

    .occm-permanent__visual {
        opacity: 1;
        transform: scaleX(1);
        transition: none;
    }

    .occm-permanent__panel {
        transform: var(--occm-permanent-panel-rest-transform) scaleX(1);
        transition: none;
    }

    .occm-pickup__inner::before {
        opacity: 1;
        transform: scaleX(1);
        transition: none;
    }

    .occm-pickup__header {
        transform: scaleX(1);
        transition: none;
    }

    .occm-instagram__inner::before {
        opacity: 1;
        transform: scaleX(1);
        transition: none;
    }
}

/* お天気情報 start */
#wthHiduke {
    text-align: center;
    font-size: 1em;
}

#contentsWth {
    width: 100%;
    font-size: 0.9em;
}

.wrapWth {
    float: left;
    text-align: center;
    margin: 10px auto;
    height: 80px;
    border: 0px none;
    padding: 0px 5px;
    /*
    width : 44% ;
    width : -webkit-calc(50% - 10px);
    width : calc(50% - 10px);
    */
    width: 14%;
    width: -webkit-calc(14.2% - 10px);
    width: calc(14.2% - 10px);
}

    .wrapWth .wth span {
        margin-right: 5px;
        font-size: 0.8em;
    }

#contentsWth .title {
    font-size: 0.9em;
}

#contentsWth .maxtemp {
    font-size: 0.9em;
}

#contentsWth .mintemp {
    font-size: 0.9em;
}
/* お天気情報 end */

/* 休日カレンダー枠 */
.holiday_cal {
    max-width: 400px;
    width: 100%;
    margin: 0px auto;
}
    /* 休日カレンダー */
    .holiday_cal .cal_disp_title {
        width: 90% !important;
        margin: 0px auto;
    }

    .holiday_cal .cal_disp {
        width: 90% !important;
        margin: 0px auto 5px auto;
    }

.occm-kyukanbi {
    max-width: 980px;
    margin: 0 55px 12px;
    text-align: right;
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#test {
    /*設置する親要素ページ全体ならbodyなど*/
    position: relative;
    height: 100vh;
    margin: 0;
    padding: 0;
}

.testcontents {
    /*サンプルはfixedの確認のためにheight指定しています。*/
    height: 1000px;
}

.cp_snslink06 {
    position: fixed;
    top: 50%;
    left: 0;
    display: block;
    overflow: hidden;
    margin: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

    .cp_snslink06 .cp_link_list {
        -webkit-transform: translateX(-275px);
        transform: translateX(-275px);
        list-style-type: none;
    }

    .cp_snslink06 .cp_link a {
        text-decoration: none;
        color: #009688;
    }

    .cp_snslink06 .cp_link:hover a {
        color: #ffffff;
    }

    .cp_snslink06 .cp_link {
        display: block;
        width: 300px;
        margin: 5px;
        padding: 10px;
        -webkit-transition: all 1s;
        transition: all 1s;
        text-align: right;
        -webkit-border-radius: 0 30px 30px 0;
        border-radius: 0 30px 30px 0;
        background: #80cbc4;
    }

        .cp_snslink06 .cp_link:hover {
            -webkit-transform: translate(110px, 0);
            transform: translate(110px, 0);
            background: #009688;
        }

        .cp_snslink06 .cp_link i {
            font-size: 20px;
            width: 40px;
            height: 40px;
            margin-left: 10px;
            padding: 10px;
            -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
            color: #ffffff;
            -webkit-border-radius: 50%;
            border-radius: 50%;
            background: #009688;
        }

        .cp_snslink06 .cp_link:hover i {
            -webkit-transition: all 1s;
            transition: all 1s;
            -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
            color: #009688;
            background: #80cbc4;
        }

#jyuuyou_Area {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

    #jyuuyou_Area .titleimg {
        padding: 0px 15px 0px 0px;
    }

.jyuuyou_info {
    padding: 8px;
    border-radius: 10px;
    max-width: 630px;
    width: 100%;
}

    .jyuuyou_info ul li {
        padding: 5px 0px;
    }


/* ガントチャートカレンダー start*/
.calendar_Area .fullCalendarArea {
    padding: 0px 18px;
}

.calendar_Area .fullCalendarArea {
    margin-top: 20px;
    /*padding:0px 12px;*/
}

#FullCalendar div.fc-day-grid-container {
    height: auto !important;
    /*overflow-y:scroll;*/
    /*-webkit-overflow-scrolling: touch;*/
    /*overflow-x:hidden;*/
    min-height: 400px;
}

#FullCalendar .fc-basic-view .fc-body .fc-row {
    min-height: 400px;
    height: auto !important;
}

#FullCalendar div.fc-day-grid-container::-webkit-scrollbar {
    display: block;
}

#FullCalendar div.fc-day-grid-container::-webkit-scrollbar {
    width: 15px;
}

#FullCalendar div.fc-day-grid-container::-webkit-scrollbar-track {
    background: #f1f1f1;
}

#FullCalendar div.fc-day-grid-container::-webkit-scrollbar-thumb {
    background: #c1c1c1;
}

#FullCalendar .fc-day {
    border-bottom: none;
}

/*#FullCalendar div.fc-widget-header{
    padding-right:15px;
    background-color: #DDD;
}*/

#FullCalendar .fc-body {
    background-color: #FFF;
}

/*#FullCalendar .fc-view-container{
    padding:0px 30px;
}*/

#FullCalendar .fc-prev-button {
    /*position: absolute;
    top: 0px;
    left: 9px;*/
    width: 120px;
    height: 33px;
    /*z-index: 100;*/
    background: var(--background-color,#ffd55b);
    border: none;
    /*opacity: 0.8;*/
    border-radius: 0%;
}

    #FullCalendar .fc-prev-button span {
        color: #FFFFFF;
    }

#FullCalendar .fc-icon-left-single-arrow:after {
    left: -25%;
}

#FullCalendar .fc-next-button {
    width: 120px;
    height: 33px;
    /* z-index: 100; */
    background: var(--background-color,#ffd55b);
    border: none;
    /* opacity: 0.8; */
    border-radius: 0%;
}



    #FullCalendar .fc-next-button span {
        color: #FFFFFF;
        margin: 0px -0.2em;
    }

#FullCalendar .fc-icon-right-single-arrow:after {
    right: -5%;
}

/*#FullCalendar .fc-state-default.fc-corner-right,
#FullCalendar .fc-state-default.fc-corner-left{
    border-radius:4px;
}*/

#FullCalendar .fc-today-button {
    position: absolute;
    top: 1px;
    left: -70px;
    border-radius: 4px;
}

#FullCalendar .kiji-info-kikan {
    font-size: 0.85em;
}

.calendarIchiran {
    font-size: 1em;
    padding: 3px;
    margin: 40px auto 0px;
    text-align: center;
    width: 180px;
}

@media all and (-ms-high-contrast: none) {
    /*IE10以上*/
    #FullCalendar .fc-day-header {
        padding-top: 10px;
    }

    /*#FullCalendar div.fc-widget-header{
    padding-right:17px;
  }*/
}


@media screen and (max-width:767px) {
    /* スマートフォン用のスタイル記述 */

    #FullCalendar .fc-today-button {
        left: 57px;
    }

    #FullCalendar .fc-center {
        position: inherit;
    }
}

@media screen and (max-width: 636px) {

    /*.cont_item5 span:after {
        display: none;
    }*/
}

/*ガントチャートカレンダー end*/

/* スライドビューワのnext・prevボタンを表示する場合 */
/*
.layouttype7 .bx-wrapper .bx-controls-direction a {
    top: auto !important;
    padding: 2px 17px !important;
    bottom: 38% !important;
}
    .layouttype7 .bx-wrapper .bx-controls-direction a.bx-prev:hover {
        position: absolute !important;
        top: auto !important;
        right: auto !important;
        left: 10px !important;
    }
    .layouttype7 .bx-wrapper .bx-controls-direction a.bx-next:hover {
        position: absolute !important;
        top: auto !important;
        left: auto !important;
        right: 10px !important;
    }

.layouttype7 .bx-wrapper .bx-controls-direction .bx-prev {
    display: block !important;
    left: 10px !important;
    background: url(../images/bxslider/controls.png) no-repeat 0 -32px !important;
    z-index: 99 !important;
}
.layouttype7 .bx-wrapper .bx-controls-direction .bx-next {
    display: block !important;
    right: 10px !important;
    background: url(../images/bxslider/controls.png) no-repeat -43px -32px !important;
    z-index: 99 !important;
}
*/



/* 分類の記事一覧（新着マークおよびポップアップ表示付き） start */

/* 記事一覧 */
.oshirase_list {
    max-width: 1100px;
    margin: 0px auto 0px;
    padding: 20px 0px;
}

    .oshirase_list .ttl {
        float: left;
        padding: 0px 15px;
        width: 76%;
    }

    .oshirase_list .newdspmark {
        margin-right: 4px;
        background-color: #ff0000;
        color: #ffffff;
        font-size: 0.7em;
        padding: 4px 6px;
    }

        .oshirase_list .newdspmark img {
            margin-right: 3px;
        }

/* ポップアップ表示 */
.popupfloat {
    width: 270px;
    position: fixed;
    right: 15vw;
    bottom: 15vh;
    z-index: 99999;
    cursor: pointer;
    cursor: hand;
}

    .popupfloat .wrap {
        width: 100%;
        padding: 8px 10px;
        background-color: #ffffff;
        border: solid 2px #1d92c4;
        border-radius: 5px;
        box-shadow: 1px 1px 3px #666;
        text-align: center;
        margin: 0 auto;
        display: flex;
        /* 上下左右で中央 */
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

        .popupfloat .wrap .content {
            width: 100%;
            max-height: 15vh;
            display: block;
            overflow-y: auto;
            color: #1d92c4;
            font-size: 0.9rem;
        }

/* 分類の記事一覧（新着マークおよびポップアップ表示付き） end */


figure {
    margin: 0;
    padding: 0;
    overflow: hidden;
    position: relative;
    border-radius: 5px;
}

    figure::before {
        position: absolute;
        top: 0;
        left: -75%;
        z-index: 2;
        display: block;
        content: '';
        width: 50%;
        height: 100%;
        background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
        background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
        -webkit-transform: skewX(-25deg);
        transform: skewX(-25deg);
    }

    figure:hover::before {
        -webkit-animation: shine .75s;
        animation: shine .75s;
    }

@-webkit-keyframes shine {
    100% {
        left: 125%;
    }
}

@keyframes shine {
    100% {
        left: 125%;
    }
}

@media screen and (min-width:768px) {

    /*L-Alert内容表示用 start */
    #pcx_detail, .pcx_detail {
        width: 100%;
        border: 1px solid #F5D6D6;
    }

        #pcx_detail th, #pcx_detail td, .pcx_detail th, .pcx_detail td {
            padding: 6px;
        }

        #pcx_detail th, .pcx_detail th {
            border-top: 1px solid #DA5054;
            border-bottom: 1px solid #DA5054;
            border-right: 1px solid #DA5054;
            border-left: 1px solid #DA5054;
            width: 15%;
            text-align: center;
        }

        #pcx_detail td, .pcx_detail td {
            border-top: 1px solid #DA5054;
            border-bottom: 1px solid #DA5054;
            border-right: 1px solid #DA5054;
            border-left: 1px solid #DA5054;
            width: 85%;
        }

    .evacuation_bold {
        font-weight: bold;
    }
    /*L-Alert内容表示用 end */

    /* L-Alert内容表示用 ver2.1 避難情報 start */
    #pcx_evacuation, .pcx_evacuation {
        width: 100%;
        border: 1px solid #F5D6D6;
    }

        #pcx_evacuation th, #pcx_evacuation td, .pcx_evacuation th, .pcx_evacuation td {
            padding: 6px;
        }

        #pcx_evacuation th, .pcx_evacuation th {
            border-top: 1px solid #DA5054;
            border-bottom: 1px solid #DA5054;
            border-right: 1px solid #DA5054;
            border-left: 1px solid #DA5054;
            width: 20%;
            text-align: center;
        }

        #pcx_evacuation td, .pcx_evacuation td {
            border-top: 1px solid #DA5054;
            border-bottom: 1px solid #DA5054;
            border-right: 1px solid #DA5054;
            border-left: 1px solid #DA5054;
            width: 40%;
        }
    /* L-Alert内容表示用 ver2.1 避難情報 end */
}

@media screen and (max-width:767px) {

    /* L-Alert内容表示用 start */
    #pcx_detail, .pcx_detail {
        width: 100%;
        border: 1px solid #F5D6D6;
    }

        #pcx_detail th, #pcx_detail td, .pcx_detail th, .pcx_detail td {
            padding: 6px;
        }

        #pcx_detail th, .pcx_detail th {
            border-top: 1px solid #DA5054;
            border-bottom: 1px solid #DA5054;
            border-right: 1px solid #DA5054;
            border-left: 1px solid #DA5054;
        }

        #pcx_detail td, .pcx_detail td {
            border-top: 1px solid #DA5054;
            border-bottom: 1px solid #DA5054;
            border-right: 1px solid #DA5054;
            border-left: 1px solid #DA5054;
        }

    .evacuation_bold {
        font-weight: bold;
    }
    /* L-Alert内容表示用 end */


    /* L-Alert内容表示用 ver2.1 避難情報 start */
    #pcx_evacuation, .pcx_evacuation {
        width: 100%;
        border: 1px solid #F5D6D6;
    }

        #pcx_evacuation th, #pcx_evacuation td, .pcx_evacuation th, .pcx_evacuation td {
            padding: 6px;
        }

        #pcx_evacuation th, .pcx_evacuation th {
            border-top: 1px solid #DA5054;
            border-bottom: 1px solid #DA5054;
            border-right: 1px solid #DA5054;
            border-left: 1px solid #DA5054;
        }

        #pcx_evacuation td, .pcx_evacuation td {
            border-top: 1px solid #DA5054;
            border-bottom: 1px solid #DA5054;
            border-right: 1px solid #DA5054;
            border-left: 1px solid #DA5054;
        }

        #pcx_evacuation tr:first-child td, .pcx_evacuation tr:first-child td {
            border-top: none;
        }
    /* L-Alert内容表示用 ver2.1 避難情報 end */
}

/*:::::::::::::::::::::::::
 * webフォントカラー
 *::::::::::::::::::::::::*/
.my-green {
    color: #65ab31;
}

.my-white {
    color: #ffffff;
}

.my-pink {
    color: #CB1187;
}

.my-red {
    color: #980C0C;
}

.my-blue {
    color: #075B92;
}

.my-skyblue {
    color: #5DB1D5;
}





/*トピックススライダーのぞき窓サイズ*/
#bankijislider_akiya_topics {
    width: 1140px;
    margin: 0 auto;
    margin-top: 20px;
}

/*トピックススライダー内部位置調整*/
.slick-track {
    left: 140px !important;
}

.Topics_Area .slick-dots li.slick-active button::before {
    opacity: .98 !important;
    color: #E1758B !important;
}

.Topics_Area .slick-dots li button::before {
    color: #E1758B !important;
}

.Topics_Area img {
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
    border-radius: 9px;
}






@media screen and (max-width:1230px) {
    .link_2btn_area {
        right: 8%;
    }
}

@media screen and (max-width:1100px) {

    .link_2btn_area-sp {
        display: block;
    }

    .link_2btn_area {
        display: none;
    }

    .link_2btn_area-sp {
        display: block;
        max-width: 460px;
        display: flex;
        justify-content: space-between;
        margin: 0 auto;
        margin-top: 20px;
        margin-bottom: 40px;
    }
}

.swiper-button-pause::after {
    right: -32px !important;
}

@media screen and (max-width:1000px) {
    .swiperArea {
        margin-top: 10px !important;
    }

    .swiper-button-next {
        right: 25px !important;
    }

    .swiper-button-prev {
        left: 25px !important;
    }

    .swiper-button-prev, .swiper-button-next {
        top: 43%;
    }

    .swiper-button-pause::after {
        right: 15px !important;
        bottom: 0px !important;
    }
}
