﻿@charset "UTF-8";



/* -------------------------------------------

kv

------------------------------------------- */
.top-kv {
    position: relative;
    background-size: 82% auto;
}   
.swiper-button-prev,
.swiper-button-next {
    width: 4.5rem;
    height: 4.5rem;
    top: calc(50% - 2.25rem);
    position: absolute;
    z-index: 999;
    transition: all .3s;
}	
.swiper-button-prev {
    background: url(../../img/hoshinohara/prev.png) no-repeat center;
    background-size: 100% auto;
    left: 15rem;
}	
.swiper-button-next  {
    background: url(../../img/hoshinohara/next.png) no-repeat;
    background-size: 100% auto;
    right: 15rem;
}
@media screen and (max-width: 768px) {
	.swiper-button-prev,
    .swiper-button-next {
        width: 3rem;
        height: 3rem;
        top: calc(50% - 1.5rem);
    }	
    .swiper-button-prev {
        left: 1rem;
    }	
    .swiper-button-next  {
        right: 1rem;
    }
}
.swiper-button-prev:hover,
.swiper-button-next:hover {
    cursor: pointer;
    opacity: 0.5;
}
.swiper-pagination {
    bottom: -4rem !important;
}
.swiper-pagination-bullet {
    width: 1.8rem !important;
    height: 1.8rem !important;
    background: url(../../img/hoshinohara/pager.png) no-repeat !important;
    background-size: 100% auto !important;
    opacity: 1 !important;
}
.swiper-pagination-bullet-active {
    background: url(../../img/hoshinohara/pager-active.png) no-repeat !important;
    background-size: 100% auto !important;
}

.top-kv .swiper-slide img {
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
}

.swiper-wrapper {
    height: fit-content;
}



/* -------------------------------------------

concept

------------------------------------------- */
.top-concept {
    padding-top: 4rem;
    background: url(../../img/hoshinohara/texture-2.jpg) center top;
    background-size: 100% auto;
    position: relative;
}
@media screen and (max-width: 768px) {
	.top-concept {
        background: url(../../img/hoshinohara/deco-2.png) no-repeat right 2rem top 6rem;
        background-size: 6rem auto;
    }
}
/* deco */
.top-concept .deco {
    position: absolute;
    right: 12rem;
    top: 7rem;
    width: 10rem;
}
/* wrap-1 */
.top-concept .wrap-1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6rem 15rem 12rem 7rem;
}
.top-concept .wrap-1 > figure {
    width: 50%;
}
.top-concept .wrap-1 > div {
    width: 50%;
    padding-left: 4rem;
}
@media screen and (max-width: 768px) {
    .top-concept .wrap-1 {
        display: block;
        padding: 4rem 3rem 6rem 3rem;
    }
    .top-concept .wrap-1 > figure {
        width: 90%;
        margin: 0 auto 2rem auto;
    }
    .top-concept .wrap-1 > div {
        width: 100%;
        padding: 0;
    }
}
/* h3 */
.top-concept h2 {
    font-weight: bold;
    margin-bottom: 1rem;
}
.top-concept h2 span {
    background: url(../../img/hoshinohara/bg-crayon.png) no-repeat left bottom;
    background-size: auto 100%;
    padding: 1.5rem 1rem;
    font-size: 3.6rem;
    color: #fff;
    display: flex;
    align-items: center;
    font-weight: 700;
}
.top-concept h2 span i:nth-child(1) {
    color: var(--pink-pale);
    margin-left: 0.8rem;
}
.top-concept h2 span i:nth-child(2) {
    color: var(--blue-pale);
    margin: 0 1rem;
}
.top-concept h2 span i:nth-child(3) {
    color: var(--green-pale);
    margin-left: 0.8rem;
}
@media screen and (max-width: 768px) {
    .top-concept h2 span {
        font-size: 3.0rem;
    }
}
/* h3 */
.top-concept h3 {
    background: 
        url(../../img/hoshinohara/dot-brown.png) repeat-x left top,
        url(../../img/hoshinohara/dot-brown.png) repeat-x left bottom;
    background-size: auto 0.2rem;
    padding: 1.1rem 0.5rem 1rem 0.5rem;
    font-size: 2rem;
    margin-bottom: 2rem;
    color: var(--brown-pale);
    font-weight: 500;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .top-concept h3 {
        margin-bottom: 1.5rem
    }
}
/* p */
.top-concept p {
    line-height: 2;
    margin-bottom: 3rem;
}
.top-concept .more {
    margin: 0;
}
@media screen and (max-width: 768px) {
    .top-concept p {
        margin-bottom: 2rem;
    }
    .top-concept .more {
        margin: 0 auto;
    }
}
/* ul */
.top-concept .wrap-1 ul li {
    display: flex;
    justify-content: space-between;
    color: var(--purple-pale);
    font-weight: 500;
    line-height: 1.5;
}
.top-concept .wrap-1 ul li:not(:last-child) {
    margin-bottom: 1.5rem;
}
.top-concept .wrap-1 ul li span:nth-child(1) {
    display: block;
    width: 4.5rem;
    height: 4.5rem;
    background: url(../../img/hoshinohara/bg-num-1.png) no-repeat;
    background-size: 100% auto;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-family: var(--font-potta);
    font-size: 1.8rem;
    padding-left: 0.2rem;
}
.top-concept .wrap-1 ul li span:nth-child(2) {
    width: calc(100% - 6rem);
} 
.top-concept .wrap-1 ul li:nth-child(2) span:nth-child(1) {
    background: url(../../img/hoshinohara/bg-num-2.png) no-repeat;
    background-size: 100% auto;
}
.top-concept .wrap-1 ul li:nth-child(3) span:nth-child(1) {
    background: url(../../img/hoshinohara/bg-num-3.png) no-repeat;
    background-size: 100% auto;
}
.top-concept .wrap-1 ul li:nth-child(4) span:nth-child(1) {
    background: url(../../img/hoshinohara/bg-num-4.png) no-repeat;
    background-size: 100% auto;
}
.top-concept .wrap-1 ul li:nth-child(5) span:nth-child(1) {
    background: url(../../img/hoshinohara/bg-num-5.png) no-repeat;
    background-size: 100% auto;
}
.top-concept .wrap-1 ul li:nth-child(2) {
    color: var(--blue-pale);
}
.top-concept .wrap-1 ul li:nth-child(3) {
    color: var(--pink-pale);
}
.top-concept .wrap-1 ul li:nth-child(4) {
    color: var(--orange-pale);
}
.top-concept .wrap-1 ul li:nth-child(5) {
    color: var(--green-pale);
}



/* -------------------------------------------

facility

------------------------------------------- */
.top-facility {
    background:
        url(../../img/hoshinohara/bg-circle.png) no-repeat left top;
    background-size: 
       100% auto;
    padding: 12rem 0 16rem 0;
    position: relative;
}
@media screen and (max-width: 768px) {
	.top-facility {
        padding: 8rem 3rem 3rem 3rem;
        background-size: 100% auto;
    }
}
/* deco */
.top-facility .deco-2 {
    position: absolute;
    left: 10rem;
    bottom: 25rem;
    width: 10rem;
}
@media screen and (max-width: 768px) {
    .top-facility .deco {
        position: relative;
        left: auto;
        bottom: auto;
        width: 10rem;
        margin: 3rem auto 0 auto;
    }
}
.top-facility > span {
    display: block;
    position: absolute;
    width: 9rem;
    top: -3.5rem
}
.top-facility .ttl-wrap {
    display: flex;
    justify-content: center;
}
/* ul */
.top-facility ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.top-facility li {
    width: 31%;
    margin-right: 3.5%;
}
.top-facility li:nth-child(3n) {
    margin-right: 0;
}
.top-facility li:nth-child(n + 4) {
    margin-top: 4rem;
}
.top-facility li figure  {
    position: relative;
}
.top-facility li figure img {
    border-radius: 1.5rem;
    aspect-ratio: 3 / 2;
    width: 100%;
    object-fit: cover;
    object-position: center;
    border: solid 0.35rem var(--purple-pale);
}
.top-facility li:nth-child(2) figure img {
    border: solid 0.35rem var(--blue-pale);
}
.top-facility li:nth-child(3) figure img {
    border: solid 0.35rem var(--pink-pale);
}
.top-facility li:nth-child(4) figure img {
    border: solid 0.35rem var(--orange-pale);
}
.top-facility li:nth-child(5) figure img {
    border: solid 0.35rem var(--green-pale);
}
.top-facility li:nth-child(6) figure img {
    border: solid 0.35rem var(--purple-pale);
}
.top-facility li figure img.deco {
    border-radius: 0;
    border: none;
    position: absolute;
    right: -1rem;
    bottom: -3rem;
    width: 6.4rem;
    height: 5.8rem;
}
.top-facility ul li span {
    display: block;
    width: 4.5rem;
    height: 4.5rem;
    background: url(../../img/hoshinohara/bg-num-1.png) no-repeat;
    background-size: 100% auto;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-family: var(--font-potta);
    font-size: 1.8rem;
    padding-left: 0.2rem;
}
.top-facility ul li:nth-child(2) span {
    background: url(../../img/hoshinohara/bg-num-2.png) no-repeat;
    background-size: 100% auto;
}
.top-facility ul li:nth-child(3) span {
    background: url(../../img/hoshinohara/bg-num-3.png) no-repeat;
    background-size: 100% auto;
}
.top-facility ul li:nth-child(4) span {
    background: url(../../img/hoshinohara/bg-num-4.png) no-repeat;
    background-size: 100% auto;
}
.top-facility ul li:nth-child(5) span {
    background: url(../../img/hoshinohara/bg-num-5.png) no-repeat;
    background-size: 100% auto;
}
.top-facility dl {
    width: 100%;
    margin: 2rem auto 2.5rem auto;
}
.top-facility dt {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
    color: var(--purple-pale);
}
.top-facility dt i {
    width: calc(100% - 4.5rem);
    padding-left: 1.5rem;
    font-size: 1.6rem;
    font-weight: bold;
}
.top-facility ul li:nth-child(2) dt {
    color: var(--blue-pale);
}
.top-facility ul li:nth-child(3) dt {
    color: var(--pink-pale);
}
.top-facility ul li:nth-child(4) dt {
    color: var(--orange-pale);
}
.top-facility ul li:nth-child(5) dt {
    color: var(--green-pale);
}
@media screen and (max-width: 768px) {
	.top-facility ul {
        display: block;
    }
    .top-facility li {
        width: 100%;
    }
    .top-facility li:not(:last-child) {
        margin-bottom: 4rem;
    }
    .top-facility dl {
        width: 100%;
        margin: 1rem auto 2rem auto;
    }
    .top-facility dt {
        margin-bottom: 1rem;
    }
    .top-facility dt i {
        font-size: 2.2rem;
    }
}



/* -------------------------------------------

other

------------------------------------------- */
.top-other {
    background: var(--prime);
    padding: 0 0 3rem 0;
}
@media screen and (max-width: 768px) {
    .top-other {
        padding: 3rem 3rem 4rem 3rem;
    }	
}
.top-other ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
    top: -7rem
}
.top-other ul li {
    width: 31%;
}
@media screen and (max-width: 768px) {
    .top-other ul {
        display: block;
        top: auto
    }
    .top-other ul li {
        width: 100%;
    }
    .top-other ul li:not(:last-child) {
        margin-bottom: 2rem;
    }
}
.top-other ul li a {
    border-radius: 3rem;
    border: solid 0.7rem var(--prime);
    background: url(../../img/hoshinohara/top-other-bg-1.jpg) no-repeat center / cover;
    display: block;
    padding: 2.5rem;
}
.top-other ul li:nth-child(2) a {
    background: url(../../img/hoshinohara/top-other-bg-2.jpg) no-repeat center / cover;
}
.top-other ul li:nth-child(3) a {
    background: url(../../img/hoshinohara/top-other-bg-3.jpg) no-repeat center / cover; 
}
.top-other ul li a > div {
    background: rgba(255,255,255,0.9);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 5rem 0;
    border-radius: 1.5rem;
    font-size: 2.4rem;
    font-weight: bold;
}
.top-other ul li a > div img {
    width: 7rem;
}
.top-other ul li:nth-child(1) a {
    color: var(--orange-pale);
}
.top-other ul li:nth-child(2) a {
    color: var(--green-pale);
}
.top-other ul li:nth-child(3) a {
    color: var(--brown-pale);
}



/* -------------------------------------------

access

------------------------------------------- */
.top-access {
    background:
        url(../../img/hoshinohara/bg-circle.png) no-repeat left top,
        url(../../img/hoshinohara/texture-1.jpg) center top;
    background-size: 
        100% auto,
        100% auto;
    padding: 12rem 0 8rem 0;
    position: relative;
}
@media screen and (max-width: 768px) {
    .top-access {
        padding: 12rem 3rem;
    
    }
}
/* deco */
.top-access .deco-1,
.top-access .deco-2 {
    display: block;
    position: absolute;
}
.top-access .deco-1 {
    width: 10rem;
    top: 12rem;
    left: 22rem;
}
.top-access .deco-2 {
    width: 12rem;
    top: 10rem;
    right: 20rem;
}
@media screen and (max-width: 768px) {
    .top-access .deco-1,
    .top-access .deco-2 {
        display: block;
        position: absolute;
    }
    .top-access .deco-1 {
        width: 7rem;
        top: 4rem;
        left: 1rem;
    }
    .top-access .deco-2 {
        width: 8rem;
        top: auto;
        bottom: 2rem;
        right: 0.5rem;
    }
}
.top-access h2 {
    text-align: center;
    font-size: 2.2rem;
    margin-bottom: 2rem;
}
.top-access .wrap {
    width: 44rem;
    margin: 0 auto;
    background: url(../../img/hoshinohara/dot-brown.png) repeat-x left top;
    background-size: auto 0.2rem;
    line-height: 1;
}
@media screen and (max-width: 768px) {
    .top-access .wrap {
        width: auto;
    }
}
.top-access ul li {
    background: url(../../img/hoshinohara/dot-brown.png) repeat-x left bottom;
    background-size: auto 0.2rem;
    padding: 2rem 0;
}
.top-access dl {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.top-access dl dt {
    width: 25%;
    padding-left: 1.5rem;
}
.top-access dl dd {
    width: 75%;
}
.top-access ul li a {
    font-size: 2.4rem;
    font-weight: bold;
}



/* -------------------------------------------

instagram

------------------------------------------- */
.top-insta {
	padding: 8rem 0;
}
.top-insta .ttl-wrap {
    display: flex;
    justify-content: center;
}
.top-insta .wrap {
	width: 80rem;
	margin: 0 auto;
}
.CMS-INSTAGRAM-LIST {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}
.CMS-INSTAGRAM-LIST > * {
    width: calc((100% - 2rem) / 3);
    margin-right: 1rem;
}
.CMS-INSTAGRAM-LIST > *:nth-of-type(3n) {
    margin-right: 0;
}
.CMS-INSTAGRAM-LIST > *:nth-of-type(n + 4) {
    margin-top: 1rem;
}
.CMS-INSTAGRAM-LIST > *:nth-of-type(n + 7) {
    display: none;
}
@media screen and (max-width: 768px) {
	.top-insta {
		padding: 6rem 0;
	}
	.top-insta .wrap {
		width: auto;
		padding: 0 3rem;
	}
}



/* -------------------------------------------

form

------------------------------------------- */
.CMS-FORM-GROUP {
    display: flex;
    align-items: center;
}
.CMS-FORM-GROUP:not(:last-of-type) {
    margin-bottom: 4rem;
}
.CMS-FORM-GROUP > label {
    width: 30%;
    font-weight: bold;
}
.CMS-FORM-GROUP > .wpcf7-form-control-wrap {
    width: 70%;
}
.CMS-FORM-GROUP input,
.CMS-FORM-GROUP textarea {
    width: 100%;
    padding: 2rem;
    border: #ddd solid 0.15rem;
}
.CMS-FORM-INPUT,
.CMS-FORM-EMAIL {
    -webkit-appearance: none;
    appearance: none;
}
.wpcf7-select {
    margin-right: 0.5rem;
}
.CMS-FORM-GROUP textarea {
    height: 16rem;
    -webkit-appearance: none;
    appearance: none;
}
.CMS-FORM-GROUP input[type="submit"] {
    background: var(--prime);
    border: none;
    color: #fff;
    display: block;
    font-weight: bold;
    font-size: 1.6rem;
    width: 24rem;
    padding: 2rem 0;
    margin: 0 auto;
    transition: all .3s;
	font-family: "M PLUS 1p", sans-serif;
    border-radius: 10rem;
}
.CMS-FORM-GROUP input[type="submit"]:hover {
    cursor: pointer;
    opacity: 0.5;
}
.CMS-FORM-RADIO input[type="radio"] {
    width: 2rem;
    height: 2rem;
    display: block;
    margin-top: 0.9rem;
    border-radius: 50%;
}
.CMS-FORM-RADIO {
    width: 70%;
}
.CMS-FORM-RADIO > div {
    display: flex;
    align-items: center;
}
.CMS-FORM-RADIO label{
    display: block;
    width: calc(100% - 3.5rem);
    margin-top: 0.8rem;
    margin-left: 0.5rem;
    font-weight: normal;
}
_::-webkit-full-page-media, _:future, :root .CMS-FORM-RADIO label {
    margin-top: 0;
}
input[type="submit"],
input[type="button"] {
    border-radius: 0;
    -webkit-appearance: button;
    appearance: button;
    border: none;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
    display: none;
}
.wpcf7-spinner {
	display: none;
}
input[type="date"] {
    -webkit-appearance: none;
    appearance: none;
    background: #fff;
}
.his {
    background: var(--prime);
    line-height: 1;
    color: #fff;
    font-size: 1.2rem;
    padding: 0.2rem 0.7rem 0.4rem 0.7rem;
    margin-left: 1.0rem;
    vertical-align: 0.1rem;
    font-weight: normal;border-radius: 10rem;
}
.check-wrap .wpcf7-acceptance label {
    display: flex;
    align-items: center;
}
@media screen and (max-width: 768px) {
    .CMS-FORM-GROUP {
        display: block;
    }
    .CMS-FORM-GROUP label {
        width: 100%;
        display: block;
        margin-bottom: 1rem;
    }
    .CMS-FORM-GROUP input,
    .CMS-FORM-GROUP textarea {
        width: 100%;
    }
    .CMS-FORM-RADIO input[type="radio"] {
        transform: scale(0.6);
    }
    _::-webkit-full-page-media, _:future, :root .CMS-FORM-RADIO label {
        margin-top: 1.4rem;
        margin-left: 0;
    }
    .CMS-FORM-GROUP input[type="submit"] {
        width: 100%;
        padding: 2rem 0;
        font-size: 1.8rem;
    }   
    input[type="date"] {
        width: 100%;
        font-size: 2rem;
        color: #000;
    }
}



/* -------------------------------------------

privacy

------------------------------------------- */
.privacy {
	padding: 2rem;
	height: 20rem;
	overflow: auto;
	background: #fff;
    border: #ddd solid 0.15rem;
}
.privacy-note {
    margin-bottom: 3rem;
}



/* -------------------------------------------

thanx

------------------------------------------- */
.thanx {
    text-align: center;
}
.back {
    text-align: center;
    display: block;
}
@media screen and (max-width: 768px) {
    .thanx {
        text-align: left;
    }
}



/* -------------------------------------------

contact

------------------------------------------- */
.contact-tel {
    margin-top: 6rem;
    background: url(../../img/hoshinohara/texture-2.jpg) center top;
    background-size: 100% auto;
    padding: 2rem;
    border: dotted 0.3rem var(--brown-pale);
    display: flex;
    flex-direction: column;
    align-items: center;
}
.contact-tel dt {
    font-weight: 500;
    font-size: 1.8rem;
}
.contact-tel a {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1;
    text-decoration: none;
}
.contact-tel a i {
    font-size: 2rem;
    margin-right: 0.5rem;
    margin-top: 0.6rem;
}
.contact-tel i {
    margin-top: 0.7rem;
    display: block;
}
@media screen and (max-width: 768px) {
    .contact-tel i {
        font-size: 1.2rem;
    }
    .contact-tel a span {
        border-bottom: solid 0.2rem var(--brown-pale);
    }
}



/* -------------------------------------------

facility

------------------------------------------- */
/* ---- 年間行事 ---- */
.facility-event > ul {
    display: flex;
    flex-wrap: wrap;
}
.facility-event > ul > li {
    width: 32%;
    background: #fff;
    margin-right: 2%;
    padding: 1.7rem 2rem 2rem 2rem;
    border-radius: 2rem;
    box-shadow: 0 0.2rem 0 rgba(0,0,0,0.05);
}
.facility-event > ul > li:nth-child(3n) {
    margin-right: 0;
}
.facility-event > ul > li:nth-child(n + 4) {
    margin-top: 2%;
}
.facility-event dt {
    font-weight: bold;
    text-align: center;
    font-size: 1.8rem;
    line-height: 1;
    border-bottom: dotted 0.4rem var(--brown-pale);
    padding-bottom: 1.2rem;
    margin-bottom: 1.6rem;
}
.facility-event dt i {
    font-size: 2.8rem;
    vertical-align: -0.1rem;
    margin-right: 0.2rem;
}
.facility-event ul {
    margin-bottom: 1.5rem;
}
.facility-event ul ul {
    min-height: 8rem;
}
@media screen and (max-width: 768px) {
    .facility-event ul ul {
        min-height: auto;
    }
}
.facility-event figure {
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
}
.facility-event figure img {
    border-radius: 1rem;
    aspect-ratio: 3 / 2;
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
@media screen and (max-width: 768px) {
    .facility-event > ul {
        display: block;
    }
    .facility-event > ul > li:not(:last-child) {
        margin-bottom: 1.5rem;
    }
    .facility-event > ul > li {
        width: 100%;
        margin-right: 0;
    }
    .facility-event > ul > li:nth-child(3n) {
        margin-right: 0;
    }
    .facility-event > ul > li:nth-child(n + 4) {
        margin-top: 0;
    }
    .facility-event .list-group li:not(:last-child) {
        margin-bottom: 0.5rem;
    }
}
/* ---- 1日の流れ ---- */
.facility-flow ul li:not(:last-child) {
    margin-bottom: 3rem;
}
.facility-flow ul dt {
    text-align: center;
    margin-bottom: 2rem;
    font-weight: bold;
    font-size: 1.8rem;
    color: var(--red);
}
.facility-flow ul dd {
    display: flex;
    position: relative;
    justify-content: space-between;
}
.facility-flow ul dd::before {
    content: "";
    width: 0.3rem;
    height: 100%;
    background: var(--orange-pale);
    position: absolute;
    left: calc(50% - 0.15rem);
    top: 0;
}
.facility-flow ul li:nth-child(even) dd {
    flex-direction: row-reverse;
}
.facility-flow ul dd > * {
    width: 45%;
}
.facility-flow figure img {
    border-radius: 2rem;
    aspect-ratio: 3 / 2;
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
.facility-flow dl.adjust dd::before {
    display: none;
}
.facility-flow ul dl.adjust dd {
    display: block;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .facility-flow ul li {
        position: relative;
    }
    .facility-flow ul li:not(:last-child)::after {
        content: "";
        width: 0;
        height: 0;
        border-left: 2rem solid transparent;
        border-right: 2rem solid transparent;
        border-top: 2rem solid var(--orange-pale);
        position: absolute;
        left: calc(50% - 2rem);
        bottom: -4.3rem;
    }

    .facility-flow ul li:not(:last-child) {
        margin-bottom: 6rem;
    }
    .facility-flow ul dt {
        font-size: 2rem;
        color: var(--red);
        margin-bottom: 1rem;
    }
    .facility-flow ul dd {
        display: block;
    }
    .facility-flow ul dd::before {
        display: none;
    }
    .facility-flow ul dd > * {
        width: 100%;
    }
    .facility-flow ul dd > figure {
        margin-bottom: 1.5rem;
    }
}



/* -------------------------------------------

news

------------------------------------------- */
.top-news {
    padding: 10rem 0;
}
@media screen and (max-width: 768px) {
    .top-news {
        padding: 8rem 3rem;
    }
}
.top-news h2 {
    display: flex;
    justify-content: center;
    margin-bottom: 1.5rem;
}
.top-news .more-wrap {
    margin-top: 4rem;
}
.top-news ul {
    width: 60rem;
    margin: 0 auto;
}
.news-list li {
    border-bottom: dotted 0.4rem var(--brown-pale);
    padding: 2rem 0;
}
.news-list dl {
    display: flex;
}
.news-list dt {
    width: 12rem;
}
.news-list dd {
    width: calc(100% - 12rem);
}
@media screen and (max-width: 768px) {
    .top-news ul {
        width: auto;
    }
    .news-list dl {
        display: block;
    }
    .news-list dt {
        width: 100%;
        margin-bottom: 0.4rem;
    }
    .news-list dd {
        width: 100%;
    }    
}

.news .news-list li:nth-child(n + 11) {
    display: none;
}
.news .news-list li:nth-child(n + 11).open {
    display: block;
}
.hidden-view{
    display: none;
}
.hidden-view.open{
    display: block;
}
.button {
    border: none;
    background: var(--prime);
    width: 16rem;
    height: 4.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10rem;
    margin: 4rem auto 0 auto;
    transition: all .3s;
}
.button:hover {
    opacity: 0.5;
    cursor: pointer;
}
.button::before {
    content: "もっと見る";
    color: #fff;
    font-size: 1.4rem;
    line-height: 1;
}
.button.close::before {
    content: "閉じる";
}

/* news detail */
.news-detail p {
  font-size: 1.6rem;
  line-height: 1.5;
}
.news-detail figure {
  text-align: center;
}
.news-detail img {
  max-width: 800px;
  width: 100%;
  height: auto;
}
.news-detail p + p,
.news-detail figure + p,
.news-detail p + figure,
.news-detail figure + figure {
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .news-detail img {
    max-width: 100%;
  }
  .news-detail p {
    font-size: 1.4rem;
  }
  .news-detail p + p,
  .news-detail figure + p,
  .news-detail p + figure,
  .news-detail figure + figure {
    margin-top: 2rem;
  }
}


/* -------------------------------------------

gallery

------------------------------------------- */
.gallery-list {
	display: flex;
	flex-wrap: wrap;
}	
.gallery-list li {
	width: 17rem;
	margin-right: calc(3rem / 4);
}
.gallery-list li:nth-child(5n) {
	margin-right: 0;
}
.gallery-list li:nth-child(n + 6) {
	margin-top: calc(3rem / 4);
}
.gallery-list img {	
	height: 17rem;
	object-fit: cover;	
}
@media screen and (max-width: 768px) {
	.gallery-list li {
		width: 24%;
		margin-right: calc(4% / 3);
	}
	.gallery-list li:nth-child(5n) {
		margin-right: auto;
	}
	.gallery-list li:nth-child(4n) {
		margin-right: 0;
	}
	.gallery-list li:nth-child(n + 6) {
		margin-top: auto;
	}
	.gallery-list li:nth-child(n + 5) {
		margin-top: calc(4% / 3);
	}
	.gallery-list img {	
		height: 15rem;
		object-fit: cover;	
	}
}
@media screen and (max-width: 430px) {
	.gallery-list img {	
		height: 11rem;
	}
}
@media screen and (max-width: 414px) {
	.gallery-list img {	
		height: 8rem;
	}
}
.youtube p {
    text-align: center;
    font-size: 1.8rem;
    color: var(--prime);
}
.check-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4rem;
}
select {
    padding: 0.5rem;
    font-size: 1.7rem;
}