@charset "UTF-8";


/* =================== */
/*       pubulic       */
/* =================== */
.slick-slider { padding-bottom:1rem; }
.slick-slider.slider-box { padding-bottom:0; }
.slick-dots {
  display:flex;
  justify-content:center;
  position:relative;
  margin-top:-1.5rem;
}
.slick-dots li {
  width:.5rem !important;
  height:.5rem !important;
  margin:0 .5rem !important;
  padding:0 !important;
  border-radius:100vmax;
  background:#fff;
}
.slick-dots li.slick-active { background:#d63a3a; }
.slick-dots li button { display:none; }

.kv-box { border-radius:0; height:auto; }
.kv-pic {
  border-radius:10rem;
  height:41.5rem;
  overflow:hidden;
}
h1#page-ttl {
  font-size:2.5rem;
  letter-spacing:.1em;
  font-weight:bold;
  margin-left:3.5rem;
  margin-top:-1rem;
}
h1#page-ttl span:nth-child(1),
.en.clr span:nth-child(1) { color:#58bfba; }
h1#page-ttl span:nth-child(2),
.en.clr span:nth-child(2) { color:#000; }
h1#page-ttl span:nth-child(3),
.en.clr span:nth-child(3) { color:#feb411; }
h1#page-ttl span:nth-child(4),
.en.clr span:nth-child(4) { color:#000; }
h1#page-ttl span:nth-child(5),
.en.clr span:nth-child(5) { color:#ce4868; }
h1#page-ttl span:nth-child(6),
.en.clr span:nth-child(6) { color:#000; }
h1#page-ttl span:nth-child(7),
.en.clr span:nth-child(7) { color:#2d5fa6; }
h1#page-ttl span:nth-child(8),
.en.clr span:nth-child(8) { color:#000; }
h1#page-ttl span:nth-child(9),
.en.clr span:nth-child(9) { color:#58bfba; }
h1#page-ttl span:nth-child(10),
.en.clr span:nth-child(10) { color:#000; }
h1#page-ttl span:nth-child(11),
.en.clr span:nth-child(11) { color:#feb411; }
h1#page-ttl span:nth-child(12),
.en.clr span:nth-child(12) { color:#000; }
h1#page-ttl span:nth-child(13),
.en.clr span:nth-child(13) { color:#ce4868; }
h1#page-ttl span:nth-child(14),
.en.clr span:nth-child(14) { color:#000; }
h1#page-ttl span:nth-child(15),
.en.clr span:nth-child(15) { color:#2d5fa6; }
h1#page-ttl span:nth-child(16) { color:#000; }
h1#page-ttl span:nth-child(17) { color:#58bfba; }
h1#page-ttl span:nth-child(18) { color:#000; }
h1#page-ttl span:nth-child(19) { color:#feb411; }
h1#page-ttl span:nth-child(20) { color:#000; }
h1#page-ttl span:nth-child(21) { color:#ce4868; }
h1#page-ttl span:nth-child(22) { color:#000; }
h1#page-ttl span:nth-child(23) { color:#2d5fa6; }
h1#page-ttl span:nth-child(24) { color:#000; }
.kv-box .ttl-box { margin:4rem auto 2rem; }
.kv-box .ttl-box::before {
  content:"";
  width:6.5rem;
  height:4.25rem;
  background:url(../img/news_deco.png) no-repeat;
  background-size:cover;
  display:block;
}



.center-illust-h,
.center-h {
  position:relative;
  text-align:center;
  line-height:1.3;
}
.center-illust-h::before {
  content:"";
  width:8.45rem;
  height:7.5rem;
  background:url(../img/plan_illust2.png) no-repeat;
  background-size:cover;
  display:block;
  position:absolute;
  left:12.5rem;
  top:.5rem;
}
.center-illust-h::after {
  content:"";
  width:8.45rem;
  height:7.5rem;
  background:url(../img/plan_illust3.png) no-repeat;
  background-size:cover;
  display:block;
  position:absolute;
  right:12.5rem;
  top:.5rem;
}
.center-illust-h .ttl::before {
  content:"";
  width:7.25rem;
  height:6.7rem;
  background:url(../img/plan_illust1.png) no-repeat;
  background-size:cover;
  display:inline-block;
  margin:-3rem auto 1.5rem;
}
.center-illust-h .ttl .jp,
.center-h .ttl .jp {
  font-size:2rem;
  font-weight:bold;
  display:block;
}
.center-illust-h .ttl .jp .big,
.center-h .ttl .jp .big { font-size:2.5rem; }
.center-illust-h .ttl .jp .mini,
.center-h .ttl .jp .mini { font-size:1.5rem; }
.center-illust-h .ttl .en {
  letter-spacing:.15em;
  font-size:1.25rem;
  font-weight:bold;
  display:block;
  margin-top:.5rem;
}

#top-sec {
  width:43.5rem;
  margin:8.5rem auto 6rem;
}
#top-sec .center-illust-h::after { right:0; }
#top-sec .center-illust-h::before { left:0; }
#top-sec .txt {
  font-size:max(15px, 1rem);
  line-height:2;
  width:34rem;
  min-width:400px;
  margin:2rem auto 0;
}

.yoko-deco.ttl-box::before {
  content:"";
  width:6.5rem;
  height:4.25rem;
  background:url(../img/news_deco.png) no-repeat;
  background-size:cover;
  display:block;
}
.yoko-deco.ttl-box .ttl { margin:-.5rem 0 0 3.5rem; }
.yoko-deco.ttl-box .ttl .jp {
  font-size:2rem;
  font-weight:bold;
  display:block;
}
.yoko-deco.ttl-box .ttl .en {
  letter-spacing:.15em;
  font-size:1.25rem;
  font-weight:bold;
  display:block;
  margin-top:.5rem;
}

.dflt-layout { align-items:flex-start; }
.dflt-layout .main { width:44.5rem; margin-top:3.5rem; }
.dflt-layout .txt-box {
  width:calc(100% - 44.5rem - 3.5rem);
  position:relative;
  min-width:230px;
}
.dflt-layout .txt-box::before {
  content:"";
  width:8.45rem;
  height:7.5rem;
  background:url(../img/food/ttl_deco.png) no-repeat;
  background-size:cover;
  display:block;
  position:absolute;
  top:1rem;
  right:-5.5rem;
}
.dflt-layout .txt-box .txt-in { padding:0 1rem; }
.dflt-layout .txt-box .ttl-box {
  margin-left:-2.5rem;
  display:flex;
  align-items:baseline;
}
.dflt-layout .txt-box .ttl-box::before {
  content:"";
  width:6rem;
  height:5.55rem;
  background:url(../img/plan_illust1.png) no-repeat;
  background-size:cover;
  display:inline-block;
  margin-right:-1rem;
}
.dflt-layout .txt-box .layout-ttl .jp {
  font-size:2.5rem;
  font-weight:bold;
}
.dflt-layout .txt-box .layout-ttl .jp .mini { font-size:2rem; }
.dflt-layout .txt-box .layout-ttl .en {
  font-size:1.25rem;
  letter-spacing:.3em;
  display:block;
  margin-top:.5rem;
}
.dflt-layout .txt-box .txt {
  font-size:max(15px, 1rem);
  line-height:2;
  margin-top:1rem;
}
.dflt-layout .txt-box .wht-box {
  background:#fff;
  border-radius:2.5rem;
  padding:2rem;
  margin-top:1.5rem;
}
.dflt-layout .txt-box .wht-box .box-ttl {
  font-size:max(15px, 1.25rem);
  font-weight:bold;
  margin-bottom:.5rem;
}
.dflt-layout .txt-box .wht-box li {
  font-size:max(15px, 1rem);
  line-height:1.75;
  display:flex;
  align-items:baseline;
}
.dflt-layout .txt-box .wht-box li::before {
  content:"●";
  font-size:50%;
  color:#e0cdc3;
  margin-right:1em;
}

.pic-slider img { margin:0 .25rem; }

@media screen and (max-width: 960px) {
  .kv-box .ttl-box { margin-top:0; }
  #top-sec { width:60rem; }
  #top-sec .txt { width:50rem; }
  .dflt-layout { max-width:750px; }
  .dflt-layout .txt-box .txt { line-height:1.66; }
  .dflt-layout .txt-box .wht-box li { line-height:1.66; }
}
@media screen and (max-width: 750px) {
  .kv-pic { height:auto; border-radius:2.5rem; }
  .kv-box .ttl-box { margin-bottom:7px; }
  .kv-box .ttl-box::before { display:none; }
  h1#page-ttl { line-height:1; margin-top:17px; margin-left:0; text-align:center; }
  .center-illust-h::after { right:-30px; }
  .center-illust-h::before { left:-30px; }
  #top-sec { width:100%; margin-top:50px; margin-bottom:50px; }
  #top-sec .txt { width:93.3%; padding:0 15px; line-height:1.66; min-width:initial; }
  #top-sec .center-illust-h::before { left:-30px; }
  #top-sec .center-illust-h::after { right:-30px; }
  #top-sec .center-illust-h .ttl::before { margin-bottom:5px; }
  .yoko-deco.ttl-box { width:300px; margin:0 auto; }
  .yoko-deco.ttl-box .ttl { text-align:center; margin-left:0; }
  .yoko-deco.ttl-box::before { margin-left:50px; }
  .dflt-layout { display:block; }
  .dflt-layout .txt-box { width:100%; padding:0 20px; }
  .dflt-layout .txt-box .ttl-box { margin-left:0; }
  .dflt-layout .txt-box::before { right:0; }
  .dflt-layout .txt-box .txt { margin-top:15px; }
  .dflt-layout .txt-box .wht-box ul { padding-left:10px; }
  .dflt-layout .txt-box .wht-box li { line-height:1.5; }
  .dflt-layout .main { width:100%; }
}










/* =================== */
/*       body.news       */
/* =================== */
body.news .news-list {
  justify-content:flex-start;
  align-items:inherit;
  flex-wrap:wrap;
  margin:6rem auto 0;
  width:65rem;
}
body.news .news-list li {
  width:calc((100% - 5rem) / 3);
  margin-right:2.5rem;
  margin-bottom:3rem;
}
body.news .news-list li:nth-child(3n) { margin-right:0; }
body.news .news-list li .pic {
  width:100%;
  overflow:hidden;
  aspect-ratio:4 / 3;
  border-radius:1rem;
}
body.news .news-list li .pic img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:0.5s ease all;
}
body.news .news-list li .pic a:hover img {
  transform:scale(1.05);
  opacity:.5;
}
body.news .news-list li .txt-box { padding:1rem 0 0; }
body.news .news-list li time {
  font-size:max(14px, .9rem);
  margin-bottom:.5rem;
  display:block;
  color:#e85c1c;
  font-weight:bold;
}
body.news .news-list li .ttl {
  font-size:max(15px, 1rem);
  line-height:1.5;
  font-weight:400;
}
body.news .news-list li .ttl a:hover { text-decoration:underline; }
body.news .pn-box {
  width:60rem;
  margin:3rem auto 7rem;
  padding:0;
}
body.news .pn-box .btn {
  width:3rem;
  min-width:35px;
  cursor:pointer;
  transition:0.5s ease all;
}
body.news .pn-box .btn:hover { opacity:.5; }
body.news.detail .pankuzu {
  font-size:max(14px, .9rem);
  padding:0 0 4rem;
  flex-wrap:wrap;
  justify-content:flex-start;
  line-height:1.25;
  width:60rem;
  margin:6rem auto 0;
}
body.news.detail .pankuzu li {
  margin-bottom:.5rem;
}
body.news.detail .pankuzu li::after {
  content:">";
  display:inline-block;
  margin:0 .5rem;
}
body.news.detail .pankuzu li:last-child::after { display:none; }
body.news.detail .pankuzu a {
  color:#737373;
  text-decoration:underline;
}
body.news.detail .pankuzu a:hover { text-decoration:none; }
body.news.detail article {
  width:45rem;
  margin:0 auto 8rem;
}
body.news.detail article time {
  font-size:max(15px, 1rem);
  color:#e85c1c;
  font-weight:bold;
}
body.news.detail article h2 {
  margin:.5rem 0 2rem;
  font-size:1.5rem;
  line-height:1.66;
  font-weight:400;
}
body.news.detail article .pic { margin:3rem 0; }
body.news.detail article .pic img { border-radius:1rem; }
body.news.detail article .txt {
  font-size:max(15px, 1rem);
  line-height:2;
}

@media screen and (max-width: 960px) {
  body.news .news-list { width:86.6%; max-width:650px; margin-top:60px; }
  body.news .pn-box { width:86.6%; max-width:650px; }
  body.news.detail .pankuzu { width:86.6%; margin-top:60px; }
  body.news.detail article { width:86.6%; max-width:600px; margin-bottom:60px; }
}
@media screen and (max-width: 750px) {
  body.news .news-list { position:relative; z-index:1; width:86.6%; max-width:500px; margin-top:30px; }
  body.news .news-list li { margin-right:0; width:100%; margin-bottom:40px; }
  body.news .news-list li .pic { height:auto; }
  body.news .pn-box { width:86.6%; max-width:500px; margin-bottom:50px; margin-top:10px; }
  body.news .pn-box .btn { width:40px; }
  body.news.detail .pankuzu { font-size:14px; padding:0 0 40px; width:86.6%; max-width:550px; position:relative; z-index:1; margin-top:30px; }
  body.news.detail article { width:86.6%; max-width:550px; }
  body.news.detail article h2 { font-size:19px; }
  body.news.detail article .txt { line-height:1.66; }
}











/* =================== */
/*       body.access       */
/* =================== */
body.access #map-box {
  height:35rem;
  border-radius:2.5rem;
  overflow:hidden;
  margin:6rem auto 3rem;
}
body.access #map-box iframe { width:100%; height:100%; }
body.access .map-add-box {
  padding-left:9rem;
  justify-content:flex-start;
  padding-bottom:19rem;
}
body.access .map-add-box .map-logo { width:9.85rem; margin-right:2rem; }
body.access .map-add-box address {
  font-size:max(15px, 1rem);
  line-height:1.5;
}
body.access .map-add-box address .name { font-weight:bold; }
body.access .map-add-box .pic {
  width:12.5rem;
  position:absolute;
}
body.access .map-add-box .pic1 { top:-1rem; right:9rem; }
body.access .map-add-box .pic2 { top:9rem; right:4rem; z-index:-1; }
body.access .map-add-box .pic3 { bottom:2.5rem; right:20rem; }
body.access .map-add-box .illust {
  width:38.25rem;
  position:absolute;
  bottom:0;
  left:0;
  z-index:-1;
}
body.access #sec1 {
  background:#fff;
  border-radius:10rem;
  padding:0 4rem 2rem;
  margin-top:7rem;
}
body.access #sec1 .more-btn {
  width:7rem;
  position:absolute;
  right:2rem;
  bottom:-1rem;
}
body.access #sec1 .more-btn img { transition:0.5s ease all; }
body.access #sec1 .more-btn a:hover img { transform:scale(1.05); }
body.access #sec1 ul {
  align-items:flex-start;
  flex-wrap:wrap;
  margin-top:1rem;
}
body.access #sec1 ul li {
  width:calc((100% - 3rem) / 2);
  margin-bottom:2rem;
}
body.access #sec1 ul li .pic-box { position:relative; }
body.access #sec1 ul li .txt-box { padding:1.5rem 1rem 0; }
body.access #sec1 ul li .txt-box h3 {
  font-size:max(17px, 1.5rem);
  font-weight:bold;
}
body.access #sec1 ul li .txt-box .txt {
  font-size:max(15px, 1rem);
  line-height:1.75;
  margin:.5rem 0 .8rem;
}
body.access #sec1 ul li .txt-box dl {
  font-size:max(15px, 1rem);
  line-height:1.5;
}
body.access #sec1 ul li .txt-box dl dt {
  border-radius:.5rem;
  background:#58bfba;
  color:#fff;
  font-weight:bold;
  padding:0 1rem;
  display:inline-block;
  margin-bottom:.2rem;
}
body.access main .bnr {
  width:30rem;
  margin:7rem auto;
}
body.access main .bnr a:hover { opacity:.5; }

@media screen and (max-width: 1200px) {
  body.access .map-add-box { padding-left:3rem; }
}
@media screen and (max-width: 960px) {
  body.access .map-add-box { max-width:700px; }
}
@media screen and (max-width: 750px) {
  body.access #map-box { margin-top:40px; height:250px; margin-bottom:20px; }
  body.access .map-add-box { padding-left:0; display:block; padding-bottom:0; }
  body.access .map-add-box .map-logo { margin:0 auto 20px; }
  body.access .map-add-box address { text-align:center; }
  body.access .map-add-box .pic-box .pic { position:initial; width:calc((100% - 2rem) / 3); }
  body.access .map-add-box .pic-box { display:flex; justify-content:space-between; margin-top:20px; }
  body.access .map-add-box .illust { width:100%; position:initial; margin-top:20px; }
  body.access #sec1 { width:100vw; margin:60px calc(50% - 50vw) 0; border-radius:50px; }
  body.access #sec1 ul { display:block; }
  body.access #sec1 ul li { width:100%; }
  body.access #sec1 ul li .txt-box .txt { line-height:1.66; }
}









/* =================== */
/*       body.about       */
/* =================== */
body.about #sec1 {
  background:#fff;
  border-radius:5rem;
  padding:4rem 5rem;
}
body.about #sec2 {
  margin:7rem auto 9rem;
  align-items:flex-start;
  padding-bottom:6.5rem;
}
body.about #sec2 .pic { width:24rem; margin-top:1.5rem; }
body.about #sec2 .txt-box { width:calc(100% - 24rem - 2rem); }
body.about #sec2 .txt-box .txt-in {
  margin:2rem 0 0 5.5rem;
  font-size:max(15px, 1rem);
  line-height:1.5;
}
body.about #sec2 .txt-box .name { font-weight:bold; }
body.about #sec2 .txt-box .txt { margin-top:.5rem; }
body.about #sec2 .txt-box .txt a {
  color:#e85c1c;
  font-weight:bold;
  text-decoration:underline;
}
body.about #sec2 .txt-box .txt a:hover { opacity:.5; }
body.about #sec2 .illust1 {
  width:24.3rem;
  position:absolute;
  bottom:0;
  left:8rem;
}
body.about #sec2 .illust2 {
  width:15.25rem;
  position:absolute;
  bottom:2rem;
  right:8.5rem;
}

@media screen and (max-width: 750px) {
  body.about #sec1 { width:100vw; margin:50px calc(50% - 50vw) 0; border-radius:50px; padding:40px; }
  body.about #sec2 { display:block; margin-top:50px; margin-bottom:70px; }
  body.about #sec2 .txt-box { width:100%; }
  body.about #sec2 .txt-box .txt-in { margin-left:0; }
  body.about #sec2 .pic { width:100%; margin-top:20px; }
  body.about #sec2 .illust1 { left:0; bottom:-10px; }
  body.about #sec2 .illust2 { right:-25px; bottom:50px; }
}








/* =================== */
/*       body.food       */
/* =================== */
body.food #top-sec .txt { width:35rem; text-align:center; min-width:initial; }
body.food #top-sec .pic {
  width:12.5rem;
  position:absolute;
}
body.food #top-sec .pic1 { bottom:11rem; left:5rem; }
body.food #top-sec .pic2 { bottom:2.5rem; right:21rem; }
body.food #top-sec .pic3 { bottom:7.5rem; right:5rem; }
body.food #top-sec .illust {
  width:38.25rem;
  margin-top:2.5rem;
  margin-left:-9rem;
}
body.food #sec1 {
  border-radius:10rem;
  background:url(../img/food/sec1_bk.jpg) no-repeat;
  background-size:cover;
  padding:9rem 0;
}
body.food #sec2 {
  border-radius:10rem;
  background:url(../img/food/sec2_bk.jpg) no-repeat;
  background-size:cover;
  padding:9rem 0;
  margin:7rem auto;
}
body.food #sec1 .illust {
  width:11.7rem;
  position:absolute;
  bottom:-4.5rem;
  right:-9rem;
}
body.food #sec2 .illust {
  width:9.95rem;
  position:absolute;
  bottom:-2rem;
  right:-5.5rem;
}
body.food #sec3 { margin-bottom:12rem; }
body.food #sec3 .in-w60 {
  background:#fff;
  border-radius:10rem;
  padding:4.5rem 5rem 10rem;
}
body.food #sec3 .txt-box {
  padding:2rem 2rem 0 5rem;
  font-size:max(15px, 1rem);
  line-height:1.75;
  align-items:flex-start;
}
body.food #sec3 .txt-box .txt {
  font-size:max(16px, 1.1rem);
  font-weight:bold;
}
body.food #sec3 .txt-box .txt span {
  font-weight:normal;
  font-size:max(13px, .85rem);
  margin-left:1rem;
}
body.food #sec3 .txt-box li {
  font-size:max(15px, 1rem);
  line-height:1.75;
  display:flex;
  align-items:baseline;
}
body.food #sec3 .txt-box li::before {
  content:"●";
  font-size:50%;
  color:#e0cdc3;
  margin-right:1em;
}
body.food #sec3 .pic-slider { margin-top:-7.5rem; }

@media screen and (max-width: 1300px) {
  body.food #sec3 .txt-box { display:block; }
  body.food #sec3 .txt-box .r-box { margin-top:2rem; }
}
@media screen and (max-width: 960px) {
  body.food #top-sec .txt { width:100%; }
  body.food #top-sec .pic1 { bottom:10rem; left:2rem; }
  body.food #top-sec .pic3 { bottom:8.5rem; right:2rem; }
  body.food #top-sec .illust { margin-top:5.5rem; margin-left:-5rem; }
  body.food #sec3 .txt-box .sp-on { display:none; }
}
@media screen and (max-width: 750px) {
  body.food #top-sec .txt { text-align:left; }
  body.food #top-sec .pic-box .pic { position:initial; width:calc((100% - 25px) / 2); margin-bottom:20px; }
  body.food #top-sec .pic-box { display:flex; flex-wrap:wrap; justify-content:space-between; padding:0 25px; max-width:500px; margin:20px auto 0; }
  body.food #top-sec .illust { width:258px; margin-left:calc(100% - 258px); margin-top:-15rem; }
  body.food #sec1 { border-radius:5rem; padding:30px 0; }
  body.food #sec1 .main-cont,
  body.food #sec2 .main-cont { width:86.6%; }
  body.food #sec1 .illust { width:94px; right:0; bottom:-25px; }
  body.food #sec2 { border-radius:5rem; padding:30px 0; margin:30px 0 50px; }
  body.food #sec2 .illust { right:0; }
  body.food #sec3 { margin-bottom:50px; }
  body.food #sec3 .main-cont { width:100%; }
  body.food #sec3 .in-w60 { width:100%; border-radius:5rem; padding:3.5rem calc(6.7% + 20px) 10rem; }
  body.food #sec3 .txt-box { padding:20px 0 0; }
  body.food #sec3 .txt-box .sp-on { display:initial; }
}








/* =================== */
/*       body.facility       */
/* =================== */
body.facility #top-sec {
  width:50rem;
  min-width:600px;
  margin-bottom:2rem;
}
body.facility #top-sec .center-illust-h::before { left:3.25rem; }
body.facility #top-sec .center-illust-h::after { right:3.25rem; }
body.facility #top-sec .num {
  font-size:max(15px, 1rem);
  text-align:center;
  margin-top:2rem;
}
body.facility #top-sec .num span {
  font-weight:bold;
  color:#fff;
  background:#58bfba;
  border-radius:.5rem;
  padding:0 .5rem .1rem;
  margin-right:1rem;
}
body.facility #top-sec .txt {
  width:auto;
  text-align:center;
  margin-top:1rem;
  margin-bottom:2rem;
}
body.facility #top-sec .pic-box { position:relative; }
body.facility #top-sec .pic-box .illust1 {
  width:11.4rem;
  position:absolute;
  left:-12.5rem;
  bottom:-2rem;
}
body.facility #top-sec .pic-box .illust2 {
  width:15.7rem;
  position:absolute;
  right:-13rem;
  bottom:-2rem;
}
body.facility dl.top-dl { margin:3rem auto 4rem; }
body.facility dl.top-dl .line {
  display:flex;
  align-items:baseline;
  margin-bottom:.5rem;
}
body.facility dl.top-dl .line dt {
  font-size:max(16px, 1.1rem);
  font-weight:bold;
  color:#fff;
  background:#58bfba;
  border-radius:.5rem;
  padding:.5em;
  width:11em;
  text-align:center;
}
body.facility dl.top-dl .line dd {
  width:calc(100% - (max(16px, 1.1rem) * 11) - 2rem);
  margin-left:2rem;
  font-size:max(15px, 1rem);
  line-height:1.75;
}
body.facility dl.top-dl .line dd .txt { font-weight:bold; }
body.facility dl.top-dl .line dd .att {
  text-indent:-1em;
  padding-left:1em;
  line-height:1.5;
}
body.facility #sec1 {
  background:#fff;
  border-radius:10rem;
  padding:4.5rem 5rem;
}
body.facility #sec1 ul { margin:2.5rem 0 0 4.5rem; }
body.facility #sec1 li {
  font-size:max(15px, 1rem);
  line-height:1.5;
  margin-bottom:1rem;
  font-weight:bold;
  display:flex;
}
body.facility #sec1 li::before {
  content:"";
  width:1.5rem;
  height:1.5rem;
  background:url(../img/facility/list_deco.png) no-repeat;
  background-size:contain;
  display:block;
  margin-right:.5rem;
}
body.facility #sec1 li p { width:calc(100% - 2rem); }
body.facility #sec1 .illust1 {
  width:11.65rem;
  position:absolute;
  top:5rem;
  right:5rem;
}
body.facility #sec1 .illust2 {
  width:9.7rem;
  position:absolute;
  bottom:-1.5rem;
  left:-3rem;
}
body.facility #sec1 .illust3 {
  width:11.2rem;
  position:absolute;
  bottom:-4rem;
  right:3rem;
}
body.facility #sec2 {
  border-radius:10rem;
  background:url(../img/facility/sec2_bk.jpg) no-repeat;
  background-size:cover;
  padding:9rem 0;
  margin:7rem auto;
}
body.facility #sec2 .ttl-box {
  margin-left:-2.5rem;
  display:flex;
  align-items:baseline;
}
body.facility #sec2 .ttl-box::before {
  content:"";
  width:6rem;
  height:5.55rem;
  background:url(../img/plan_illust1.png) no-repeat;
  background-size:cover;
  display:inline-block;
  margin-right:-1rem;
}
body.facility #sec2 h3 .jp {
  font-size:2.5rem;
  font-weight:bold;
}
body.facility #sec2 h3 .en {
  font-size:1.25rem;
  letter-spacing:.3em;
  display:block;
  margin-top:.5rem;
}
body.facility #sec2 ul {
  align-items:flex-start;
  margin-top:2rem;
}
body.facility #sec2 ul li { width:calc((100% - 3rem) / 2); }
body.facility #sec2 li .txt-box { padding:1rem 1rem 0; }
body.facility #sec2 li h4 {
  font-size:max(18px, 1.5rem);
  font-weight:bold;
}
body.facility #sec2 li .txt {
  font-size:max(15px, 1rem);
  line-height:1.75;
  margin-top:.5rem;
}
body.facility #sec3 {
  background:#fff;
  border-radius:10rem;
  padding:0 15rem 3rem;
  margin-bottom:10rem;
}
body.facility #sec3 .center-illust-h::before { left:0; }
body.facility #sec3 .center-illust-h::after { right:0; }
body.facility #sec3 ul { margin-top:3rem; }
body.facility #sec3 li {
  display:flex;
  align-items:flex-start;
  margin-bottom:2rem;
}
body.facility #sec3 li::before {
  content:"●";
  font-size:66%;
  color:#2d5fa6;
  margin-right:1em;
  padding-top:.5rem;
}
body.facility #sec3 li h4 {
  font-size:max(20px, 1.5rem);
  font-weight:bold;
  margin-bottom:.5rem;
}
body.facility #sec3 li .txt {
  font-size:max(15px, 1rem);
  line-height:1.75;
}
body.facility #sec3 li .txt a ,
body.facility #sec3 li .att a {
  color:#e85c1c;
  font-weight:bold;
  text-decoration:underline;
}
body.facility #sec3 li .txt a:hover,
body.facility #sec3 li .att a:hover { opacity:.5; }
body.facility #sec3 li .att {
  font-size:max(15px, 1rem);
  line-height:1.5;
  text-indent:-1em;
  padding-left:1em;
}
body.facility #sec3 .pic1 {
  width:15rem;
  position:absolute;
  top:9.5rem;
  left:-3rem;
}
body.facility #sec3 .pic2 {
  width:15rem;
  position:absolute;
  top:24rem;
  right:-3rem;
}
body.facility #sec3 .pic3 {
  width:12.5rem;
  position:absolute;
  top:34.5rem;
  left:-.5rem;
}
body.facility #sec3 .pic4 {
  width:12.5rem;
  position:absolute;
  bottom:7rem;
  right:-.5rem;
}
body.facility #sec3 .illust1 {
  width:4.9rem;
  position:absolute;
  top:22rem;
  left:6.5rem;
}
body.facility #sec3 .illust2 {
  width:8rem;
  position:absolute;
  top:15rem;
  right:3rem;
}
body.facility #sec3 .illust3 {
  width:12.25rem;
  position:absolute;
  left:2rem;
  bottom:13rem;
}
body.facility #sec3 .illust4 {
  width:7.3rem;
  position:absolute;
  right:7.5rem;
  bottom:2rem;
}
body.facility #sec3 .illust5 {
  width:10.95rem;
  position:absolute;
  bottom:-1.5rem;
  right:18rem;
}
body.facility #sec3 .sec-top-txt {
  font-size: max(15px, 1rem);
  line-height: 1.75;
  text-align: center;
  margin: 1.5rem 0 1rem;
}

@media screen and (max-width: 960px) {
  body.facility #sec3 .sec-top-txt .pc-on { display:initial; }
}
@media screen and (max-width: 750px) {
  body.facility #top-sec { width:100%; min-width:initial; margin-bottom:80px; }
  body.facility #top-sec .center-illust-h::before { left:-30px; }
  body.facility #top-sec .center-illust-h::after { right:-30px; }
  body.facility #top-sec .txt { text-align:left; margin-top:15px; padding:0 23px; }
  body.facility #top-sec .num { margin-top:30px; }
  body.facility #top-sec .pic-box { width:93.3%; margin:0 auto; }
  body.facility #top-sec .pic-box .illust1 { left:75px; z-index:1; width:91px; bottom:-70px; }
  body.facility #top-sec .pic-box .illust2 { right:75px; width:125px; bottom:-70px; }
  body.facility dl.top-dl { margin-top:25px; }
  body.facility dl.top-dl .line { display:block; margin-bottom:20px; }
  body.facility dl.top-dl .line dd { width:100%; margin-left:0; padding:0 15px; margin-top:8px; }
  body.facility #sec1 { width:100vw; margin:0 calc(50% - 50vw); border-radius:5rem; padding:30px 0 75px; }
  body.facility #sec1 ul { margin:20px auto 0; width:86.6%; padding:0 23px; }
  body.facility #sec1 .illust1 { top:-20px; right:0; }
  body.facility #sec1 .yoko-deco.ttl-box::before { margin-left:0; }
  body.facility #sec1 .illust2 { left:50px; bottom:-35px; }
  body.facility #sec1 .illust3 { right:60px; }
  body.facility #sec2 { margin:50px auto; border-radius:5rem; padding:30px 0; }
  body.facility #sec2 .main-cont { width:100%; }
  body.facility #sec2 .ttl-box { margin-left:25px; }
  body.facility #sec2 ul { display:block; }
  body.facility #sec2 ul li { width:100%; margin-bottom:20px; }
  body.facility #sec2 li .txt-box { padding:15px 10px 0; }
  body.facility #sec2 li .txt { line-height:1.66; }
  body.facility #sec3 { width:100vw; margin:0 calc(50% - 50vw); border-radius:5rem; padding:0 0 90px; margin-top:60px; margin-bottom:40px; }
  body.facility #sec3 .center-illust-h::before { left:-30px; }
  body.facility #sec3 .center-illust-h::after { right:-30px; }
  body.facility #sec3 ul { width:86.6%; padding:0 15px; margin:30px auto 0; }
  body.facility #sec3 .pic { position:initial !important; width:calc((100% - 25px) / 2) !important; margin-bottom:25px; }
  body.facility #sec3 .pic-box { display:flex; flex-wrap:wrap; justify-content:space-between; width:86.6%; padding:0 15px; margin:40px auto 0; position:relative; }
  body.facility #sec3 li .txt { line-height:1.66; }
  body.facility #sec3 .illust1 { top:-50px; left:-15px; }
  body.facility #sec3 .illust2 { top:-70px; right:-20px; }
  body.facility #sec3 .illust3 { bottom:-30px; left:-50px; }
  body.facility #sec3 .illust4 { bottom:0; right:-20px; }
  body.facility #sec3 .illust5 { bottom:-70px; right:35%; }
  body.facility #sec3 .sec-top-txt { text-align:left; width:86.6%; padding:0 12px; line-height:1.66; margin:1.5rem auto 1rem; }
  body.facility #sec3 .sec-top-txt .pc-on { display:none; }
}








/* =================== */
/*       body.pricing       */
/* =================== */
body.pricing #plan-bnr { padding-bottom:0; margin-bottom:2.5rem; }
body.pricing .page-top-txt {
  text-align:center;
  font-weight:bold;
}
body.pricing .page-top-txt .big { font-size:max(18px, 1.25rem); }
body.pricing .page-top-txt .txt {
  font-size:max(15px, 1rem);
  line-height:1.5;
  margin-top:.5rem;
}
body.pricing #sec1 { margin:7rem auto; }
body.pricing #sec1 h2 .en {
  letter-spacing:.3em;
  font-size:1.25rem;
}
body.pricing #sec1 table {
  width:100%;
  margin-top:2rem;
  font-size:max(15px, 1.1rem);
  text-align:center;
}
body.pricing #sec1 table th {
  background:#58bfba;
  color:#fff;
  font-weight:bold;
  padding:.8rem 0;
  border:1px solid #e0cdc3;
  width:calc(100% / 5);
}
body.pricing #sec1 table td {
  padding:.8rem 0;
  font-weight:bold;
  border:1px solid #e0cdc3;
  background:#fff;
}
body.pricing #sec2 .sec-top-txt {
  font-size:max(15px, 1rem);
  line-height:1.75;
  text-align:center;
  margin:1.5rem 0 1rem;
}
body.pricing #sec2 .sec-top-att {
  font-size:max(15px, 1rem);
  line-height:1.5;
  text-align:center;
}
body.pricing #sec2 .tel a {
  font-size:max(15px, 1.25rem);
  color:#fff;
  border-radius:100vmax;
  line-height:max(35px, 3rem);
  background:#ee4614;
  font-weight:bold;
  width:max(200px, 17.5rem);
  margin:1rem auto 0;
  display:block;
  text-align:center;
}
body.pricing #sec2 .tel a:hover { opacity:.5; }
body.pricing #sec2 .tel span { font-size:max(20px, 1.75rem); }
body.pricing #sec2 {
  background:#fff;
  border-radius:10rem;
  padding:0 4rem 5rem;
  margin-bottom:10rem;
}
body.pricing #sec2 .center-illust-h::before { left:0; }
body.pricing #sec2 .center-illust-h::after { right:0; }
body.pricing #sec2 article { margin-top:3rem; }
body.pricing #sec2 article h3 {
  display:flex;
  align-items:center;
  margin-bottom:1rem;
}
body.pricing #sec2 article h3::before {
  content:"●";
  color:#2d5fa6;
  font-size:max(15px, 1rem);
  margin-right:1em;
}
body.pricing #sec2 article h3 .jp {
  font-size:max(18px, 1.5rem);
  font-weight:bold;
}
body.pricing #sec2 article h3 .en {
  font-size:1.25rem;
  letter-spacing:.3em;
  margin-left:1rem;
}
body.pricing #sec2 #art1 table {
  width:100%;
  font-size:max(15px, 1.1rem);
  text-align:center;
}
body.pricing #sec2 #art1 th {
  background:#58bfba;
  color:#fff;
  font-weight:bold;
  padding:.8rem 0;
  border-radius:1rem;
  border:1.5px solid #fff;
}
body.pricing #sec2 #art1 td {
  padding:.8rem 0;
  font-weight:bold;
  border:1px solid #e0cdc3;
  vertical-align:middle;
}
body.pricing #sec2 #art1 td.clr { color:#58bfba; }
body.pricing #sec2 #art1 td.nl-bdr { border-left:0; }
body.pricing #sec2 #art1 td.nr-bdr { border-right:0; }
body.pricing #sec2 #art1 .att {
  font-size:max(15px, 1.1rem);
  margin-top:1rem;
  text-align:right;
}
body.pricing #sec2 #art2 dl { justify-content:flex-start; }
body.pricing #sec2 #art2 dl .line {
  margin-right:5rem;
  display:flex;
  align-items:center;
  font-size:max(15px, 1.1rem);
}
body.pricing #sec2 #art2 dl dt {
  background:#58bfba;
  color:#fff;
  font-weight:bold;
  padding:.6rem 0 .7rem;
  border-radius:1rem;
  width:10rem;
  text-align:center;
}
body.pricing #sec2 #art2 dl dd {
  margin-left:1rem;
  font-weight:bold;
}
body.pricing #sec2 #art3 .ttl-box {
  justify-content:flex-start;
  padding-bottom:1rem;
  border-bottom:2px solid #000;
  position:relative;
  cursor:pointer;
}
body.pricing #sec2 #art3 .ttl-box::before {
  content:"";
  width:1.6rem;
  height:1.15rem;
  background:url(../img/pricing/arrow1.png) no-repeat;
  background-size:cover;
  display:block;
  position:absolute;
  right:3rem;
  top:.5rem;
}
body.pricing #sec2 #art3 .ttl-box.open::before {
  background:url(../img/pricing/arrow2.png) no-repeat;
  background-size:cover;
}
body.pricing #sec2 #art3 .ttl-box h3 { margin-bottom:0; }
body.pricing #sec2 #art3 .ttl-box .price {
  font-size:max(18px, 1.25rem);
  font-weight:bold;
  margin-left:2rem;
}
body.pricing #sec2 #art3 .ttl-box .price span { font-size:max(20px, 1.5rem); }
body.pricing #sec2 #art3 .open-box { display:none; }
body.pricing #sec2 #art3 .two-box {
  align-items:flex-start;
  padding:2rem 2rem 0;
}
body.pricing #sec2 #art3 .two-box .box { width:calc((100% - 2.5rem) / 2); }
body.pricing #sec2 #art3 .two-box .box h4 {
  font-size:max(18px, 1.25rem);
  font-weight:bold;
  padding-bottom:.7rem;
  border-bottom:1px solid #000;
}
body.pricing #sec2 #art3 .two-box .box ul { padding-left:.5rem; padding-top:1rem; }
body.pricing #sec2 #art3 .two-box .box li {
  font-size:max(15px, 1rem);
  display:flex;
  align-items:center;
  margin-bottom:.5rem;
}
body.pricing #sec2 #art3 .two-box .box li::before {
  content:"●";
  font-size:50%;
  color:#e0cdc3;
  margin-right:1em;
}
body.pricing #sec3 {
  background:#fff;
  border-radius:10rem;
  padding:0 4rem 5rem;
  margin-bottom:10rem;
}



body.pricing #sec2 #art4 dl { justify-content:flex-start; }
body.pricing #sec2 #art4 dl .line {
  margin-right:5rem;
  display:flex;
  align-items:center;
  font-size:max(15px, 1.1rem);
}
body.pricing #sec2 #art4 dl dt {
  background:#58bfba;
  color:#fff;
  font-weight:bold;
  padding:.6rem 0 .7rem;
  border-radius:1rem;
  width:10rem;
  text-align:center;
}
body.pricing #sec2 #art4 dl dd {
  margin-left:1rem;
  font-weight:bold;
}










body.pricing #sec2 .center-illust-h::before { left:0; }
body.pricing #sec2 .center-illust-h::after { right:0; }
body.pricing #sec3 article { margin-top:3rem; }
body.pricing #sec3 article h3 {
  display:flex;
  align-items:center;
  margin-bottom:1rem;
}
body.pricing #sec3 article h3::before {
  content:"●";
  color:#2d5fa6;
  font-size:max(15px, 1rem);
  margin-right:1em;
}
body.pricing #sec3 article h3 .jp {
  font-size:max(18px, 1.5rem);
  font-weight:bold;
}
body.pricing #sec3 article h3 .en {
  font-size:1.25rem;
  letter-spacing:.3em;
  margin-left:1rem;
}
body.pricing #sec3 table {
  width:100%;
  font-size:max(15px, 1.1rem);
}
body.pricing #sec3 th {
  background:#58bfba;
  color:#fff;
  font-weight:bold;
  padding:.8rem 0;
  border-radius:1rem;
  border:1.5px solid #fff;
}
body.pricing #sec3 td {
  padding:.8rem 1rem;
  font-weight:bold;
  border:1px solid #e0cdc3;
  vertical-align:middle;
  line-height:1.5;
}
body.pricing #sec3 td.clr { color:#58bfba; }
body.pricing #sec3 td.nl-bdr { border-left:0; white-space:nowrap; }
body.pricing #sec3 td.nr-bdr { border-right:0; }
body.pricing #sec3 td.txt-c { text-align:center; white-space:nowrap; padding:.8rem 1.5rem; }
body.pricing #sec3 .att {
  font-size:max(15px, 1.1rem);
  margin-top:1rem;
  text-align:right;
}
body.pricing #sec3 .sec-top-txt {
  font-size:max(15px, 1rem);
  line-height:1.75;
  text-align:center;
  margin:1.5rem 0 1rem;
  letter-spacing:-.008em;
}
body.pricing #sec3 .center-txt {
  font-size:max(15px, 1rem);
  font-weight:bold;
  text-align:center;
  margin-top:2.5rem;
  margin-bottom:.7rem;
}
body.pricing #sec3 .more-btn {
  width:7rem;
  margin:0 auto;
}
body.pricing #sec3 .more-btn a:hover { opacity:.5; }




@media screen and (max-width: 960px) {
  body.pricing #sec3 .sec-top-txt .pc-on { display:initial; }
  body.pricing #sec1 table.pc-on { display:table; }
  body.pricing #sec1 table.sp-on { display:none; }
}
@media screen and (max-width: 750px) {
  body.pricing #sec3 .sec-top-txt .pc-on { display:none; }
  body.pricing #sec1 table.pc-on { display:none; }
  body.pricing #sec1 table.sp-on { display:table; }
  body.pricing #sec1 table th { width:50%; }
  body.pricing #sec2 .center-illust-h::before { left:-30px; }
  body.pricing #sec2 .center-illust-h::before { right:-30px; }
  body.pricing #sec3 .center-illust-h::before { left:-30px; }
  body.pricing #sec3 .center-illust-h::before { right:-30px; }
  body.pricing main > .main-cont { width:100%; }
  body.pricing #sec1 { margin-top:50px; }
  body.pricing #sec2,
  body.pricing #sec3 { margin:50px auto; border-radius:5rem; padding:0 30px 30px; }
  body.pricing #sec2 .sec-top-txt,
  body.pricing #sec3 .sec-top-txt { text-align:left; line-height:1.66; padding:0 15px; }
  body.pricing #sec2 .sec-top-att { text-align:left; padding:0 15px; text-indent:-1em; padding-left:calc(15px + 1em); }
  body.pricing #sec2 .tel a { margin-top:15px; line-height:40px; }
  body.pricing #sec2 #art1 table { width:690px; }
  body.pricing #sec2 #art2 dl .line { margin-right:0; margin-bottom:5px; }
  body.pricing #sec2 #art2 dl { display:block; }
  body.pricing #sec2 article { margin-top:40px; }
  body.pricing #sec2 #art3 .ttl-box { display:block; }
  body.pricing #sec2 #art3 .ttl-box .price { margin-left:3rem; margin-top:7px; }
  body.pricing #sec2 #art3 .ttl-box::before { top:2rem; }
  body.pricing #sec2 #art3 .two-box { display:block; }
  body.pricing #sec2 #art3 .two-box .box { width:100%; margin-bottom:20px; }
  body.pricing #sec3 table { width:690px; }
  body.pricing #sec3 { margin-top:70px; }
}



