@import url("https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed&family=Noto+Sans+JP:wght@300&display=swap");
figure, figcaption { margin: 0; padding: 0; }

.txtArea { padding-top: 5rem; text-align: center; }

.img { position: relative; }
.img .cap { display: inline-block; position: absolute; bottom: 10px; right: 10px; color: #333; font-size: .625rem; line-height: 1; }
.img .cap.w { color: #fff; text-shadow: 0 0 3px #000,0 0 6px #000; }
.img .cap.l { left: 10px; right: auto; }

.merit-menu { margin-top: 3rem; }
.merit-menu ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.merit-menu ul div, .merit-menu ul li { min-height: 0%; }
.merit-menu ul li { width: 18%; margin: 2rem 1% 0 1%; }
.merit-menu ul li a { display: block; }
.merit-menu ul li img { width: 100%; height: auto; filter: drop-shadow(6px 6px 8px rgba(0, 0, 0, 0.4)); transition: .3s; }
.merit-menu ul li img:hover { filter: drop-shadow(5px 5px 8px rgba(0, 0, 0, 0.4)); transform: translate(1px, 1px); }
@media screen and (max-width: 400px) { .merit-menu ul li { /*width: 28%;*/ width: 21%; margin: 3rem 2% 0 2%; } }

.merit-box { padding-top: 5rem; }
.merit-box:last-of-type { padding-bottom: 5rem; }
.merit-box img { width: 100%; height: auto; }
.merit-box a { display: block; }
.merit-box .merit-head .head-img { width: 120px; margin: 0 auto; text-align: center; }
.merit-box .merit-head .text-l { margin: 2rem auto 0 auto; width: 100%; max-width: 680px; text-align: center; padding-bottom: 1rem; border-bottom: dashed 2px #222; }
.merit-box .merit-head .text-m { margin-top: 1rem; text-align: center; }
.merit-box .img-list { margin-top: 1rem; }
.merit-box .img-list ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
.merit-box .img-list ul div, .merit-box .img-list ul li { min-height: 0%; }
.merit-box .img-list ul + .note { margin-top: .2rem; }
.merit-box .img-list ul li { margin-top: 1rem; }
.merit-box .img-list ul li.li-m { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; align-content: space-between; }
.merit-box .img-list ul li.li-m div, .merit-box .img-list ul li.li-m li { min-height: 0%; }
.merit-box .img-list ul li.li-m .img + .img { margin-top: .1rem; }
.merit-box .img-area { margin-top: 2rem; width: 100%; }
@media screen and (max-width: 768px) { .merit-box .img-list ul li.li-l { width: 100%; }
  .merit-box .img-list ul li.li-m { width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
  .merit-box .img-list ul li.li-m div, .merit-box .img-list ul li.li-m li { min-height: 0%; }
  .merit-box .img-list ul li.li-m .img { width: 49%; margin-top: 1rem; }
  .merit-box .img-list ul li.li-m .img + .img { margin-top: 1rem; } }

#merit01 .img-list ul li.li-l { width: 62.4012638231%; }
#merit01 .img-list ul li.li-m { width: 35.9399684044%; }
@media screen and (max-width: 768px) { #merit01 .img-list ul li.li-l, #merit01 .img-list ul li.li-m { width: 100%; } }

@media screen and (max-width: 768px) { #merit02 .img-area .img { overflow-x: scroll; }
  #merit02 .img-area .img img { height: 250px; width: auto; } }

#merit03 .img-list ul li.li-l { width: 66.3507109005%; }
#merit03 .img-list ul li.li-m { width: 32.7804107425%; }
@media screen and (max-width: 768px) { #merit03 .img-list ul li.li-l, #merit03 .img-list ul li.li-m { width: 100%; } }

@media screen and (max-width: 768px) { #merit04 .img-area { max-width: 420px; margin-right: auto; margin-left: auto; } }

.bnr_plan { margin: 4rem auto 0; }
.bnr_plan a { display: flex; justify-content: center; align-items: center; width: 100%; max-width: 680px; margin: 0 auto; padding: 1.5rem 2rem; text-align: center; font-family: 'Noto Sans JP', sans-serif; font-size: 2rem; font-weight: bold; font-feature-settings: "palt"; letter-spacing: 0.05em; color: #007f76; border: 4px solid #007f76; background: #fffeee; box-sizing: border-box; }
.bnr_plan a:hover { filter: brightness(105%); }
@media screen and (max-width: 640px) { .bnr_plan a { padding: 1.5rem; font-size: 1.4rem; } }

#plan { margin-bottom: 5rem; }
#plan .plan-list-head .leadCopy { text-align: center; margin: 5rem auto 0; }
#plan .plan-list-head .leadCopy .nyukyoka { display: inline-block; font-size: 1.5rem; color: #fff; background: linear-gradient(to right, #fff 0%, #9c9a02 30%, #9c9a02 70%, #fff 100%); padding: 0.2rem 5rem; line-height: 1.3; margin-top: 1rem; }
#plan .plan-list-head .leadCopy h4 { margin-bottom: 0 !important; padding-top: 2rem; font-family: ltc-bodoni-175, serif; font-weight: 400; font-style: normal; font-size: 58px; color: #007f76; line-height: 1; font-weight: normal; }
#plan .plan-list-head .leadCopy .text-s { margin-top: 0 !important; font-size: 1.4rem; }
#plan .plan-list-head .leadCopy .text-l { width: 100%; background-color: #80c4c0; margin-top: 2rem; color: #fff; font-size: 1.3rem; }
@media screen and (max-width: 768px) { #plan .plan-list-head .leadCopy { width: 90%; text-align: center !important; }
  #plan .plan-list-head .leadCopy .text-l { font-size: 0.8rem; }
  #plan .plan-list-head .leadCopy .text-s { text-align: center !important; } }
#plan .plan-btnlist { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; -webkit-box-sizing: border-box; box-sizing: border-box; }
#plan .plan-btnlist div, #plan .plan-btnlist li { min-height: 0%; }
#plan .plan-btnlist *, #plan .plan-btnlist *:before, #plan .plan-btnlist *:after { -webkit-box-sizing: border-box; box-sizing: border-box; }
#plan .plan-btnlist li { width: 48%; margin-top: 2rem; }
#plan .plan-btnlist li a { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; overflow: hidden; min-height: 163px; }
#plan .plan-btnlist li a div, #plan .plan-btnlist li a li { min-height: 0%; }
#plan .plan-btnlist li a .new { background: #D22; color: #fff; font-size: .85rem; line-height: 1; position: absolute; top: -1.5rem; right: -2.5rem; padding: .3rem 2rem; transform: rotate(45deg); transform-origin: 0% 50%; font-family: ltc-bodoni-175, serif; font-weight: 400; font-style: normal; font-weight: bold; }
#plan .plan-btnlist li a .type { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-family: ltc-bodoni-175, serif; font-weight: 400; font-style: normal; width: 35%; color: #fff; text-align: center; font-size: 1.5rem; }
#plan .plan-btnlist li a .type div, #plan .plan-btnlist li a .type li { min-height: 0%; }
#plan .plan-btnlist li a .type .txt-l { font-size: 3rem; margin-right: .5rem; }
#plan .plan-btnlist li a .btn-txt { width: 65%; padding: 1rem; }
#plan .plan-btnlist li a .btn-txt .spec { display: block; font-size: 1.5rem; line-height: 1; margin-top: 0.5rem; letter-spacing: .1rem; text-align: center; font-family: ltc-bodoni-175, serif; font-weight: 400; font-style: normal; }
#plan .plan-btnlist li a .btn-txt .spec .num { font-size: 2.4rem; }
#plan .plan-btnlist li a .btn-txt .spec .txt-s { font-size: 1rem; font-family: a-otf-ryumin-pr6n, serif; font-weight: 300; font-style: normal; /**font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
font-weight: normal**/ }
#plan .plan-btnlist li a .btn-txt .spec2 { display: block; padding-top: .5rem; margin-top: .5rem; font-size: .9rem; text-align: center; border-top: solid 1px #9FA0A0; }
#plan .plan-btnlist li a .btn-txt .spec2 .num { font-size: 1.5rem; font-family: ltc-bodoni-175, serif; font-weight: 400; font-style: normal; }
#plan .plan-btnlist.ldk-2 li a { border: solid 2px #38b3ee; }
#plan .plan-btnlist.ldk-2 li a .type { background: #38b3ee; }
#plan .plan-btnlist.ldk-2 li a .btn-txt { color: #38b3ee; }
#plan .plan-btnlist.ldk-3 li a { border: solid 2px #007f76; }
#plan .plan-btnlist.ldk-3 li a .type { background: #007f76; }
#plan .plan-btnlist.ldk-3 li a .btn-txt { color: #000; }
#plan .plan-btnlist.ldk-4 li a { border: solid 2px #90C21F; }
#plan .plan-btnlist.ldk-4 li a .type { background: #90C21F; }
#plan .plan-btnlist.ldk-4 li a .btn-txt { color: #90C21F; }
@media screen and (max-width: 640px) { #plan .plan-btnlist li { width: 100%; }
  #plan .plan-btnlist li a { min-height: auto; }
  #plan .plan-btnlist li a .type { font-size: 1.2rem; line-height: 1; }
  #plan .plan-btnlist li a .type .txt-l { font-size: 2.2rem; }
  #plan .plan-btnlist li a .btn-txt .spec { font-size: 1.2rem; }
  #plan .plan-btnlist li a .btn-txt .spec .num { font-size: 2rem; }
  #plan .plan-btnlist li a .btn-txt .spec .txt-s { font-size: 0.8rem; }
  #plan .plan-btnlist li a .btn-txt .spec2 { font-size: .7rem; }
  #plan .plan-btnlist li a .btn-txt .spec2 .num { font-size: 1.2rem; } }
#plan .calm-villa { display: none; }
#plan .page-note { margin-top: 2rem; }
#plan .page-note .note .aw { margin-right: 1rem; }
