@charset "UTF-8";
/* CSS Document */
#header_page { height: 450px; position: relative; top: 0; background-image: url("../img/bg_header.png"); background-repeat: no-repeat; background-size: cover; width: 100%; }

@media screen and (max-width: 450px) { #header_page { height: 200px; } }
/*========= メインイメージのCSS ===============*/
#newsWrap { box-sizing: border-box; border: 1px solid #ccc; max-width: 1100px; margin: 0 auto 2em; }
#newsWrap .btn_list { background: #C7D882; width: 50px; height: 50px; display: block; border-radius: 50%; line-height: 50px; text-align: center; color: #162A41; font-size: 90%; font-weight: 700; }
#newsWrap .btn_list:hover { background: #162A41; color: #fff; }
#newsWrap .ticker { margin: 12px auto; text-align: left; position: relative; overflow: hidden; background-color: #ffffff; width: calc(100% - 50px); }
#newsWrap .ticker ul { width: 100%; position: relative; }
#newsWrap .ticker ul li { width: 100%; display: none; font-size: 105%; }
#newsWrap .ticker a { color: #707070; text-decoration: underline; }
#newsWrap .newMark { display: inline-block; padding: 3px 1em; font-size: 90%; font-weight: 700; line-height: 100%; background: #C7D882; color: #162A41; border-radius: 20px; margin-right: 0.5em; }
#newsWrap #newsList li .catName { display: none; }

#kengakuBtn { margin-bottom: 3em; }
#kengakuBtn p { font-weight: bold; text-align: center; }
#kengakuBtn p a { background: #F5EFE9; border: 2px solid #d5bca3; color: #333; display: inline-block; padding: 1em 1.5em; border-radius: 0.5em; }
#kengakuBtn p a:hover { background: #e5d6c6; }

.bx-controls-direction { display: flex; justify-content: center; }
.bx-controls-direction a { background: #C7D882; display: inline-block; padding: 0.5em 2em; border-radius: 0.25em; margin: 1em 0.5em; color: #162A41; font-weight: 700; }

.entry-end { border: 1px solid; padding: 1.5em 2em; text-align: center; }

.bxslider_thumbnail { display: grid; grid-template-columns: repeat(6, 1fr); grid-gap: 5px; list-style: none; }
@media only screen and (max-width: 768px) { .bxslider_thumbnail { grid-template-columns: repeat(5, 1fr); } }
.bxslider_thumbnail > li { border: 2px solid #fff; }
.bxslider_thumbnail > li:has(.active) { border-color: #C7D882; }
.bxslider_thumbnail > li > a { display: block; position: relative; padding-top: 75%; }
.bxslider_thumbnail > li > a img { position: absolute; top: 0px; left: 50%; transform: translateX(-50%); max-width: 100%; max-height: 100%; height: 150px; object-fit: cover; }

.bx-wrapper { background-color: transparent; margin: 0px auto 4em; border: none; box-shadow: none; }
.bx-wrapper img { display: block; width: 100%; }
.bx-wrapper .bx-pager .bx-pager-item a.bx-pager-link { width: 15px; height: 15px; border-radius: 50%; background: #C7D882; }
.bx-wrapper .bx-pager .bx-pager-item a.bx-pager-link.active { background: #162A41; }

.flow { display: flex; justify-content: center; align-items: center; height: auto; margin: 2em auto; }
.flow .step { display: inline-block; width: 31%; height: 40px; line-height: 37px; text-align: center; border: 1px solid #90A7B0; border-radius: 18.5px; box-sizing: border-box; background-color: #FFF; }
.flow .bar { width: 2%; height: 1px; background-color: #90A7B0; }
.flow .active { background: #90A7B0; font-weight: 700; color: #fff; }

.table2 .cssbtn1 { display: inline-block; padding: 10px 2em; }

#googlemap { height: 0; overflow: hidden; padding-bottom: 56.25%; position: relative; border: 1px solid #ccc; }
@media only screen and (max-width: 768px) { #googlemap { padding-bottom: 100%; } }
@media only screen and (max-width: 576px) { #googlemap { padding-bottom: 150%; } }
#googlemap iframe { position: absolute; left: 0; top: 0; height: 100%; width: 100%; }

#setumeibun { margin-top: 3em; }
#setumeibun .sec01 p + p { margin-top: 1em; }

#madori { display: flex; }
@media only screen and (max-width: 768px) { #madori { display: inherit; } }
#madori figure { margin-top: 2em; }
#madori figure img { max-width: 100%; }
#madori figure figcaption { text-align: center; font-size: 1.2em; }

#reserve { background: #FFF; padding: 2em; text-align: center; margin-bottom: 2em; }
#reserve .txt-tel { padding-left: 70px; position: relative; margin: 0.5em auto 0; max-width: 450px; }
#reserve .txt-tel::before { content: "TEL"; display: block; width: 60px; height: 25px; line-height: 24px; background: #90A7B0; font-weight: 700; font-size: 135%; color: #FFF; position: absolute; left: 0; bottom: 20%; text-align: center; }
#reserve .txt-fax { padding-left: 70px; position: relative; margin-top: 0.5em; }
#reserve .txt-fax::before { content: "FAX"; display: block; width: 60px; height: 25px; line-height: 24px; background: #90A7B0; font-weight: 700; font-size: 135%; color: #FFF; position: absolute; left: 0; bottom: 20%; }

#attention { border: 1px solid #162A41; padding: 2em; background: #FFF; margin: 2em 0; position: relative; }
#attention::before { content: "注意事項"; position: absolute; top: 0; left: 0; background: #162A41; color: #FFF; padding: 5px 1em; font-size: 90%; font-weight: 700; }
#attention h4 { text-align: center; border-bottom: 1px solid #999; padding-bottom: 7px; margin-bottom: 1em; font-size: 115%; }
#attention h5 { text-indent: -1.2em; padding-left: 1.2em; margin-top: 0.75em; }
#attention h5::before { content: "■"; margin-right: 0.2em; }

/*pickerスタイル調整*/
.picker__table th, .picker__table td { border: none; }

.f-yane { background: #F5EFE9; }

@media screen and (max-width: 450px) { .bg1 { padding: 1em; }
  .flow { font-size: 80%; } }
