        /* 基本 ====================================================================*/
        body {
            margin: 0;
            padding: 0;
            font-family: serif;
            font-weight: normal;
            box-sizing: border-box;
        }

        * {
            margin: 0;
            padding: 0;
            color: #202020;
        }

        a,
        a:visited,
        footer * {
            text-decoration: none;
            color: #fff;
        }

        main {
            display: flex;
            flex-flow: column;
        }

        #image1 {
            width: 100%;
        }

        section {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            margin-bottom: 100px;
        }

        section h2 {
            margin-bottom: 10px;
        }

        div.section {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            margin-bottom: 100px;
        }

        div.section h2 {
            margin-bottom: 10px;
        }


        .accent {
            position: relative;
          }
        .accent:before {
            position: absolute;
            bottom: -4px;
            /*下線 位置*/
            width: 60px;
            /*下線 横幅*/
            height: 5px;
            /*下線 縦幅*/
            content: '';
            border-radius: 3px;
            /*下線 角丸*/
            background: var(--corporate-color);
            /*下線 カラー*/
        }

        .row {
            width: 80%;
            max-width: 1200px;
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            
        }
        .gap-100px-20px{
            gap: 100px 20px;
        }

        /* 共通 ====================================================================*/
        .overflow-hidden {
            overflow: hidden;
        }

        .font-weight-bold {
            font-weight: bold;
        }

        .justify-content-center {
            justify-content: center;
        }

        .flex-flow-column {
            flex-flow: column;
        }

        .width-100pct {
            width: 100%;
        }
        .hidden {
            display: none;
        }

        /* ヘッダー ====================================================================*/
        header {
            position: -webkit-sticky;
            position: sticky;
            top: 0;
            opacity: 0.95;
            align-items: center;
            background-color: var(--corporate-color);
            box-sizing: border-box;
            display: flex;
            justify-content: space-between;
            padding: 1rem 2rem;
            width: 100%;
            height: 80px;
            z-index: 3;

        }

        header>.title {
            font-size: 30px;
            color: #fff;
        }


        /* 説明 ====================================================================*/
        .explanation {
            width: 80%;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .explanation hr {
            height: 5px;
            width: 100%;
            background-color: #404040;
            border: 0;
            margin-bottom: 30px;
        }

        /* SNS ====================================================================*/
        .sns {
            width: 120px;
            cursor: pointer;

        }

        .sns:hover {
            filter: drop-shadow(4px 4px 4px #aaa);
        }

        .row:has(.sns) {
            gap: 50px 100px;
        }

        /* ギャラリー ====================================================================*/
        .gallery {
            position: relative;
            max-width: 100%;
            margin: 0 auto;
            height:250px;
            overflow: hidden;
        }

        .infinite-slider .swiper-wrapper {
            transition-timing-function: linear;
        }

        .infinite-slider .swiper-slide {
            width: auto !important;
        }

        .infinite-slider .swiper-slide img {
            width: auto;
        }

        /* 新着情報 ====================================================================*/
        .news {
            width: calc(100% - 320px);
            min-width:300px;
        }

        .news-area {
            overflow-y: scroll;
            width: 100%;
            height: 300px;
        }

        .news-area>p {

            line-height: 30px;
        }

        /* カレンダー ====================================================================*/
        .calendar {
            width: 300px;
        }

        .calendar-area {
            width: 300px;
            height: 300px;
            border: 2px solid #404040;
        }

        .calendar-area {
            display: flex;
            justify-content: center;
        }

        .calendar-area .cell {
            width: 40px;
            height: 30px;
            text-align: center;
        }

        .frame {
            width: 100%;
            margin: 0px;
            padding: 0px;
        }

        #month {
            background-color: #404040;
            color: #fff;
            font-size: 20px;
            font-weight: bold;
            margin: 0px;
            padding: 10px;
        }

        td:first-child,
        td.holiday {
            color: red;
        }

        #next-prev-button {
            display: none;
        }

        /* お問い合わせ ====================================================================*/
        .info {
            width: 100%;
        }


        .info input[type=text] {
            width: 100%;
            height: 60px;
            font-size: 100%;
            border: 2px solid #404040;
            border-radius: 5px;
            margin-bottom: 10px;

        }

        textarea {
            width: 100%;
            height: 300px;
            font-size: 100%;
            border: 2px solid #404040;
            border-radius: 5px;
            margin-bottom: 10px;
        }

        .circle-button {
            margin-top: 10px;
            cursor: pointer;
            display: flex;
            justify-content: center;
            align-items: center;
            width: 300px;
            height: 50px;
            color: #FFF;
            font-size: 30px;
            font-weight: bold;
            border-radius: 30px;
            background: var(--corporate-color);
            transition: 0.3s ease-in-out;

        }

        /* フッター ====================================================================*/
        footer {
            width: 100%;
            background-color: #404040;
        }

        address {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-wrap: wrap;
            padding-top: 50px;
            padding-bottom: 50px;
            gap: 50px 50px;
        }

        address img {
            width: 300px;
        }

        address>div>p {
            font-size: 20px;
            padding-bottom: 10px;
        }

        address>.text {
            width: 300px;
        }

        .area-img {
            position: relative;
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;
            gap: 50px 50px;

        }

        /* メディアクエリ ====================================================================*/
        @media (max-width: 1000px) and (max-height:700px) {
            #image1 {
                object-fit: cover;
                height: calc(100svh - 80px);
            }

            .news {
                width: 300px;
            }

        }