@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;600&family=Noto+Serif+JP:wght@300;600&display=swap");
section { padding-bottom: 6rem; }

.img01 { margin-top: 5rem; }
.img01 .img { /*max-width: 640px;*/ max-width: 800px; margin: auto; }
.img01 .img .cap { position: relative; bottom: auto; left: auto; margin-bottom: .5rem; text-shadow: none; }
.img01 .note { text-align: center; margin-top: 4rem; }
@media screen and (max-width: 640px) { .img01 .note { text-align: left; } }

.plan-copy { margin-top: 3rem; }

.p-ttl { /*margin-top: 3rem;*/ margin-top: 10rem; font-size: 1.6rem; line-height: 1; text-align: center; padding: .5rem; background: #DEECD6; }
.p-ttl.p-ttl2 { margin-top: 3rem; }
.p-ttl.limited { margin-top: 7rem; background: #BBD4EF; }
.p-ttl.ki-1 { background: #F5B2B1; }
.p-ttl.ki-2 { background: #A9DCF7; }

.p-subttl { font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', sans-serif; font-weight: 300; -webkit-font-smoothing: antialiased; text-align: center; color: #a81f25; font-size: 1.4rem; line-height: 1; margin-top: 2rem; }

.takuchi { width: 100%; max-width: 600px; border: none; margin: 3rem auto 0 auto; }
.takuchi th, .takuchi td { padding: 1rem; text-align: center; }
.takuchi th { font-family: '游ゴシック', 'Yu Gothic', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', sans-serif; font-weight: 300; -webkit-font-smoothing: antialiased; text-align: center; color: #a81f25; font-size: 1.4rem; line-height: 1; margin-top: 2rem; }
.takuchi th:first-of-type { width: 25%; }
.takuchi th:last-of-type { width: 30%; }
.takuchi td { border-top: solid 1px #4C4948; border-bottom: solid 1px #4C4948; vertical-align: middle; }
.takuchi td .txt { display: block; font-size: 1.6rem; line-height: 1.4; padding: .5rem 0; }
.takuchi td:nth-of-type(2) .txt { border-right: solid 1px #4C4948; border-left: solid 1px #4C4948; }
@media screen and (max-width: 640px) { .takuchi th, .takuchi td { padding: .5rem; }
  .takuchi th { font-size: 1.2rem; }
  .takuchi td .txt { padding: .25rem 0; font-size: 1.4rem; } }

.takuchi_list { padding: 4rem 0 5rem; text-align: center; }
.takuchi_list img { max-width: 700px; width: 100%; height: auto; }

.slider_container { display: none; margin-top: 5rem; }
.slider_container .slider .img .cap { font-size: 2rem; }
.slider_container .thumb { display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; align-items: center; margin-top: 1rem; }
.slider_container .thumb * { min-height: 0%; }
.slider_container .thumb li { width: 10.2222%; margin-top: 1rem; /*margin-right: 1rem;*/ margin-right: 1%; background: #000; cursor: pointer; }
.slider_container .thumb li img { opacity: .5; transition: .3s ease-out; }
.slider_container .thumb li:hover img, .slider_container .thumb li.thumbnail-current img { opacity: 1; }
.slider_container .thumb li:last-child { margin-right: 0; }
.slider_container .thumb li.last { margin-right: 0; }
.slider_container .thumb li.dummy { display: none; background: none; }
.slider_container .note { margin-top: 2rem; text-align: center; }
.slider_container .note .txt { display: inline-block; text-align: left; }
@media screen and (max-width: 640px) { .slider_container .slider .img .cap { font-size: 1.6rem; }
  .slider_container .thumb { display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: stretch; align-items: stretch; }
  .slider_container .thumb * { min-height: 0%; }
  .slider_container .thumb li { width: 32%; margin-right: 0; }
  .slider_container .thumb li.dummy { display: block; }
  .slider_container .note { text-align: left; } }

.note-block { margin-top: 4rem; line-height: 1.6; text-align: center; }
@media screen and (max-width: 930px) { .note-block { text-align: left; } }

.plans { /*@include flex-j-s;*/ display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; align-items: center; }
.plans * { min-height: 0%; }
.plans .plan-item { width: 46%; max-width: 100%; margin-top: 4rem; border: 4px solid #956134; padding-bottom: 8rem; position: relative; background: #fff; }
@media screen and (max-width: 930px) { .plans .plan-item { width: 100%; max-width: 460px; margin: 4rem auto 0 auto; } }
.plans .plan-item .kaitei { position: absolute; right: 2px; top: 2px; background: #C31931; color: #fff; font-size: 14px; line-height: 1; padding: 3px 5px; display: inline-block; z-index: 2; }
.plans .plan-item .name { color: #956134; position: relative; padding: 1rem 30% 0.5rem 7.5%; background: -webkit-linear-gradient(transparent 60%, #EADAB9 60%); background: -o-linear-gradient(transparent 60%, #EADAB9 60%); background: linear-gradient(transparent 60%, #EADAB9 60%); line-height: 1; font-size: 6rem; }
.plans .plan-item .name .icon01, .plans .plan-item .name .icon02, .plans .plan-item .name .icon03 { position: absolute; top: 1rem; width: 12%; height: auto; }
.plans .plan-item .name .icon01 { right: 3%; }
.plans .plan-item .name .icon02 { right: 16%; }
.plans .plan-item .name .icon03 { right: 27%; }
@media screen and (max-width: 640px) { .plans .plan-item .name { font-size: 5rem; } }
.plans .plan-item .obi { background: #c31831; color: #fff; text-align: center; font-size: 14px; line-height: 1.4; width: 85%; padding: 5px; margin: 1rem auto 0 auto; }
.plans .plan-item .price { width: 85%; margin: 1rem auto 0 auto; padding: 5px; text-align: center; font-size: 14px; line-height: 1.2; color: #333; border: 1px solid #c31831; }
.plans .plan-item .price .num { font-size: 2em; font-weight: bold; color: #c31831; }
.plans .plan-item .head { display: flex; align-items: center; border-bottom: 1px solid #A48B78; padding-bottom: 1.5rem; font-size: 1.2rem; width: 85%; margin: auto; color: #956134; padding-top: 2rem; }
.plans .plan-item .head .label { line-height: 1; padding: 1rem; font-size: 1.5em; background-color: #8c8c8c; color: #FFF; }
.plans .plan-item .head .label .num { font-size: 1.55em; }
.plans .plan-item .head .type { font-size: 3em; color: #956134; }
.plans .plan-item .head .description { color: #956134; padding-left: 2em; }
.plans .plan-item .details { padding-top: 1.5rem; }
.plans .plan-item .details .detail p { line-height: 1.6em; }
.plans .plan-item .details .detail__mb { margin: auto; width: 85%; border-bottom: 1px solid #A48B78; padding-bottom: 1rem; }
.plans .plan-item .details .detail__mb p { margin-bottom: 0.5rem; font-size: 1.4rem; }
.plans .plan-item .details .detail__mb p b { font-size: 2.8rem; }
.plans .plan-item .btn_detail_box { position: absolute; left: 5%; bottom: 15px; width: 90%; }
.plans .plan-item .btn_detail { display: block; text-align: center; border: 2px solid #b60005; padding: 1rem 0; position: relative; margin: auto; margin-top: 2rem; margin-bottom: 0.5rem; color: #b60005; width: 80%; }
.plans .plan-item .btn_detail::after { content: ""; position: absolute; width: 1rem; height: 1rem; border: 1px solid #b60005; border-width: 0 1px 1px 0; right: 1rem; top: 50%; transform: rotate(-45deg) translateY(-50%); }
.plans .plan-item .btn_detail:hover { background-color: #b60005; color: #FFF; }
.plans .plan-item .btn_detail:hover::after { border-color: #FFF; }
