@charset "UTF-8";


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

body { background:#e4f5f7; }
.kv-box {
  height:35rem;
  /*margin-top:5.5rem;*/  position:relative;
  z-index:1;
}

#main-cont-box { padding-top:2.5rem; position:relative; }
#main-cont-box .main-deco1 {
  width:13.65rem;
  position:absolute;
  left:2rem;
  top:-2.5rem;
}
#main-cont-box .main-deco2 {
  width:35.25rem;
  position:absolute;
  left:1.5rem;
  top:-6rem;
}
#main-cont-box .main-deco3 {
  width:50.5rem;
  position:absolute;
  right:-7.5rem;
  top:-12rem;
}

h1#page-ttl {
  text-align:center;
  margin-bottom:4.5rem;
  position:relative;
  z-index:1;
}
h1#page-ttl .en-font {
  font-size:5rem;
  display:block;
  color:#9dafaa;
}
h1#page-ttl .jp {
  font-size:2.5rem;
  display:block;
  margin-top:-.5rem;
  color:#605a46;
}


@media screen and (max-width: 960px) {
  .kv-box { height:auto;
    margin-top: 5.5rem; }
}
@media screen and (max-width: 750px) {
  h1#page-ttl { margin-bottom:30px; }
  #main-cont-box .main-deco1 { width:82px; left:-7px; top:-22px; }
  #main-cont-box .main-deco2 { width:211px; left:-80px; top:0; }
  #main-cont-box .main-deco3 { width:303px; top:-70px; right:-55px; }
}












/* =================== */
/*       body.news       */
/* =================== */
body.news .news-list-box {
  border-radius:10rem;
  background:#fff;
  padding:4rem 10rem;
}
body.news .news-list {
  justify-content:flex-start;
  align-items:inherit;
  flex-wrap:wrap;
  margin:0 auto 1rem;
}
body.news .news-list li {
  width:calc((100% - 5rem) / 3);
  margin-right:2.49rem;
  margin-bottom:5rem;
  position:relative;
  box-sizing:border-box;
}
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;
}
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:.7;
}
body.news .news-list li .txt-box {
  padding:1rem 1rem 0;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
}
body.news .news-list li time {
  font-size:max(18px, 1.25rem);
  display:block;
  color:#9dafaa;
}
body.news .news-list li .ttl {
  font-size:max(15px, 1rem);
  line-height:1.5;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  width:100%;
  margin-top:.5rem;
  font-weight:400;
}
body.news .news-list li .ttl a:hover { text-decoration:underline; }
body.news .news-list li .txt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #a1a1a1;
  line-height: 1.66;
  font-size: max(14px, .9rem);
}
body.news .news-list li .cat {
  color: #fff;
  background: #000;
  padding: .2rem .5rem;
  margin: 0 1.5rem 0 .5rem;
  text-align: center;
  font-size: max(14px, .9rem);
}
body.news .pn-box {
  margin:0 auto;
  padding:0 2rem;
}
body.news .pn-box .btn {
  width:3rem;
  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 2rem;
  flex-wrap:wrap;
  justify-content:flex-start;
  line-height:1.25;
  margin:0 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 {
  text-decoration:underline;
  color:#9dafaa;
}
body.news.detail .pankuzu a:hover { text-decoration:none; }
body.news.detail article {
  margin:0 auto;
  padding:2rem 7.5rem 0;
}
body.news.detail article time {
  font-size:max(18px, 1.25rem);
  color:#9dafaa;
  font-weight:bold;
}
body.news.detail article h2 {
  margin:1rem 0 2.5rem;
  font-size:1.5rem;
  line-height:1.33;
  font-weight:400;
}
body.news.detail article .pic { margin:3rem 0; }
body.news.detail article .txt {
  font-size:max(15px, 1rem);
  line-height:2;
}

@media screen and (max-width: 960px) {
  body.news .news-list-box { padding:4rem 6rem; }
  body.news .news-list { width:100%; }
  body.news .pn-box { width:86.6%; }
  body.news .pn-box { padding:0; }
}
@media screen and (max-width: 750px) {
  body.news .news-list-box { padding:50px 30px; }
  body.news .news-list { position:relative; z-index:1; max-width:550px; }
  body.news .news-list li { margin-right:0; width:100%; margin-bottom:40px; }
  body.news .news-list li .pic { height:auto; }
  body.news .news-list li::before { display:none; }
  body.news .pn-box { width:86.6%; max-width:550px; }
  body.news .pn-box .btn { width:40px; }
  body.news.detail .pankuzu { font-size:14px; padding:0 0 20px; max-width:550px; position:relative; z-index:1; margin-top:10px; }
  body.news.detail article { max-width:550px; margin-top:10px; padding:0; margin-bottom:20px; }
  body.news.detail article h2 { font-size:19px; }
  body.news.detail article .txt { line-height:1.66; }
  body.news .news-list li .cat { width: auto; padding: 2px 5px 3px; }
  body.news.detail .deco { width:383.5px; top:17rem; }
}







/* =================== */
/*       body.access       */
/* =================== */
body.access #map-box {
  border-radius:2.5rem;
  height:35rem;
  overflow:hidden;
}
body.access #map-box iframe {
  width:100%;
  height:100%;
  object-fit:cover;
}
body.access .map-add-box {
  justify-content:center;
  align-items:flex-start;
  margin-top:4rem;
}
body.access .map-add-box .map-logo {
  width:11.8rem;
  margin-right:2.5rem;
}
body.access .map-add-box address {
  font-size:max(15px, 1rem);
  line-height:1.75;
}
body.access ul.bnr-list {
  flex-wrap:wrap;
  margin-top:9rem;
}
body.access ul.bnr-list li {
  width:calc((100% - 4rem) / 2);
  margin-bottom:3rem;
}
body.access ul.bnr-list li a:hover { opacity:.5; }

@media screen and (max-width: 960px) {
  body.access ul.bnr-list { max-width:600px; }
  body.access .map-add-box address .pc-on { display:initial; }
  body.access .map-add-box address .sp-on { display:none; }
}
@media screen and (max-width: 750px) {
  body.access .map-add-box { display:block; }
  body.access .map-add-box address .pc-on { display:none; }
  body.access .map-add-box address .sp-on { display:initial; }
  body.access .map-add-box .map-logo { margin:0 auto 15px; }
  body.access .map-add-box address { text-align:center; line-height:1.66; }
  body.access ul.bnr-list { display:block; margin-top:60px; width:70%; max-width:300px; }
  body.access ul.bnr-list li { width:100%; margin-bottom:15px; }
}







/* =================== */
/*       body.kozushima       */
/* =================== */
body.kozushima h1#page-ttl .en-font { font-size:3.5rem; }
body.kozushima #sec1 {
  position:relative;
  margin-bottom:9rem;
}
body.kozushima #sec1 .wht-box {
  background:#fff;
  border-radius:10rem;
  padding:4.5rem 7.5rem;
}
body.kozushima #sec1 h2 {
  font-size:2.5rem;
  text-align:center;
}
body.kozushima #sec1 h2 .mini {
  display:block;
  font-size:2rem;
  margin-bottom:.3rem;
}
body.kozushima #sec1 .txt {
  font-size:max(18px, 1.4rem);
  line-height:1.78;
  margin-top:1.5rem;
}
body.kozushima #sec1 .illust {
  width:7.25rem;
  position:absolute;
  top:3.5rem;
  right:3rem;
}
body.kozushima #sec1 .illust1 {
  width:58.6rem;
  position:absolute;
  left:-16.5rem;
  bottom:-14rem;
}
body.kozushima #sec1 .illust2 {
  width:33.4rem;
  position:absolute;
  right:-5rem;
  bottom:-24.5rem;
}
body.kozushima #sec2 h2 {
  width:32.7rem;
  margin:0 auto 2rem;
}
body.kozushima #sec2 ul {
  flex-wrap:wrap;
  align-items:flex-start;
}
body.kozushima #sec2 ul li {
  width:calc((100% - 4rem) / 3);
  margin-bottom:3.5rem;
}
body.kozushima #sec2 ul li .txt-box { padding:1rem .5rem 0; }
body.kozushima #sec2 ul li h3 {
  font-size:2.25rem;
  color:#9dafaa;
}
body.kozushima #sec2 ul li h3 span { font-size:1.5rem; }
body.kozushima #sec2 ul li .time {
  font-size:max(15px, 1rem);
  display:inline-block;
  padding:.2rem .8rem;
  background:#fff;
  border-radius:100vmax;
  margin:.5rem 0;
}
body.kozushima #sec2 ul li .txt {
  font-size:max(15px, 1rem);
  line-height:1.75;
}

@media screen and (max-width: 960px) {
  body.kozushima #sec2 ul li { width:calc((100% - 2rem) / 2); }
}
@media screen and (max-width: 750px) {
  body.kozushima #sec1 .wht-box { padding:40px 25px; position:relative; z-index:1; }
  body.kozushima #sec1 .illust { top:15px; right:-25px; }
  body.kozushima #sec1 .txt { line-height:1.38; }
  body.kozushima #sec1 .illust1 { width:45rem; bottom:-4rem; }
  body.kozushima #sec1 .illust2 { right:-9rem; bottom:-20rem; width:25rem; }
  body.kozushima #sec2 h2 { width:100vw; margin:0 calc(50% - 50vw) 2rem; }
  body.kozushima #sec2 h2 img { max-width:400px; display:block; margin:0 auto; }
  body.kozushima #sec2 ul li { width:100%; }
  body.kozushima #sec2 ul li .txt-box { padding:15px 10px 0; }
  body.kozushima #sec2 ul li h3 { font-size:25px; }
  body.kozushima #sec2 ul li h3 span { font-size:18px; }
  body.kozushima #sec2 ul li .txt { line-height:1.66; }
  body.kozushima #sec2 ul li .time { padding:5px 15px; margin:10px 0; }
}







/* =================== */
/*       body.cafe       */
/* =================== */
body.cafe #sec1 {
  position:relative;
  margin-bottom:17rem;
}
body.cafe #sec1 .wht-box {
  background:#fff;
  border-radius:10rem;
  padding:4.5rem 7.5rem 27rem;
}
body.cafe #sec1 h2 {
  font-size:2.5rem;
  text-align:center;
}
body.cafe #sec1 h2 .mini {
  display:block;
  font-size:2rem;
  margin-bottom:.3rem;
}
body.cafe #sec1 .txt {
  font-size:max(18px, 1.4rem);
  line-height:1.78;
  margin-top:1.5rem;
}
body.cafe #sec1 .slider { margin-top:-24rem; }
body.cafe #sec1 .slider img { margin:0 .75rem; }
body.cafe #sec1 .illust {
  width:7.25rem;
  position:absolute;
  top:3.5rem;
  right:3rem;
}
body.cafe #sec1 .illust1 {
  width:58.6rem;
  position:absolute;
  left:-16.5rem;
  bottom:-14rem;
}
body.cafe #sec1 .illust2 {
  width:28.1rem;
  position:absolute;
  right:-5rem;
  bottom:-24.5rem;
}
body.cafe #sec2 { position:relative; }
body.cafe #sec2 h2 {
  width:45rem;
  position:absolute;
  top:-6rem;
  right:14rem;
  z-index:1;
}
body.cafe #sec2::before {
  content:"";
  width:52.5rem;
  height:40rem;
  border-radius:0 10rem 0 0;
  background:rgba(255,255,255,.8);
  position:absolute;
  top:0;
  left:0;
  z-index:-1;
}
body.cafe #sec2 .txt-box {
  width:30rem;
  min-width:320px;
  margin-left:10.5rem;
  padding-top:9rem;
  position:relative;
  z-index:1;
}
body.cafe #sec2 .txt-box h3 {
  font-size:max(23px, 1.75rem);
  margin-bottom:1.3rem;
}
body.cafe #sec2 .txt-box dl { margin-bottom:5rem; }
body.cafe #sec2 .txt-box dl .line {
  display:flex;
  align-items:center;
  margin-bottom:.8rem;
}
body.cafe #sec2 .txt-box dl .line dt {
  width:7.5rem;
  line-height:2.5rem;
  background:#9dafaa;
  border-radius:100vmax;
  text-align:center;
  color:#fff;
  font-size:max(17px, 1.25rem);
  font-weight:bold;
}
body.cafe #sec2 .txt-box dl .line dd {
  font-size:max(17px, 1.25rem);
  margin-left:1rem;
}
body.cafe #sec2 .pic2 {
  width:19rem;
  position:absolute;
  left:49rem;
  top:15rem;
}
body.cafe #sec2 .pic3 {
  width:23rem;
  position:absolute;
  right:0;
  top:5rem;
}
body.cafe #sec2 .pic4 {
  width:25rem;
  margin-top:-2rem;
  margin-left:27rem;
}
body.cafe #sec2 .illust {
  width:87.65rem;
  position:absolute;
  left:-8.5rem;
  top:-10rem;
}
body.cafe #sec2 .illust2 {
  width:4.15rem;
  position:absolute;
  left:17.5rem;
  bottom:5rem;
}
body.cafe #sec2 .illust3 {
  width:27.1rem;
  position:absolute;
  right:18rem;
  bottom:4.5rem;
}

@media screen and (max-width: 960px) {
  body.cafe #sec2 .pic1.sp-on { display:none; }
  body.cafe #sec2 .pic1.pc-on { display:block; }
  body.cafe #sec2 h2 { right:12rem; }
  body.cafe #sec2 .txt-box { margin-left:5.25rem; }
  body.cafe #sec2 .pic2 { left:41rem; }
  body.cafe #sec2 .pic3 { width:20rem; }
}
@media screen and (max-width: 750px) {
  body.cafe #sec1 { margin-bottom:21rem; }
  body.cafe #sec1 .wht-box { padding:40px 25px 270px; position:relative; z-index:1; }
  body.cafe #sec1 .slider { position:relative; z-index:2; }
  body.cafe #sec1 .illust { top:15px; right:-25px; }
  body.cafe #sec1 .txt { line-height:1.38; }
  body.cafe #sec1 .illust1 { width:45rem; bottom:-9rem; }
  body.cafe #sec1 .illust2 { right:-9rem; bottom:-20rem; width:25rem; }
  body.cafe #sec2 { margin-bottom:50px; }
  body.cafe #sec2 h2 { width:400px; right:0; left:0; margin:0 auto; top:-14rem; }
  body.cafe #sec2 h2 img { display:block; margin-left:30px; }
  body.cafe #sec2 .cont-box { width:86.6%; margin:0 auto; }
  body.cafe #sec2 .pic-box { position:relative; max-width:450px; margin:0 auto; }
  body.cafe #sec2::before { width:96.65%; height:765px; }
  body.cafe #sec2 .pic1.sp-on { display:block; }
  body.cafe #sec2 .pic1.pc-on { display:none; }
  body.cafe #sec2 .txt-box { width:100%; min-width:inherit; margin-left:0; padding-top:40px; }
  body.cafe #sec2 .txt-box h3 { padding:20px 10px 0; }
  body.cafe #sec2 .txt-box dl { margin-left:10px; }
  body.cafe #sec2 .txt-box dl .line { align-items:baseline; }
  body.cafe #sec2 .txt-box dl .line dt { width:100px; line-height:30px; }
  body.cafe #sec2 .txt-box dl .line dd { line-height:1.5; }
  body.cafe #sec2 .pic2 { position:initial; width:152px; margin-left:10px; }
  body.cafe #sec2 .pic3 { position:initial; width:161px; margin-left:calc(100% - 161px + 25px); margin-top:-250px; }
  body.cafe #sec2 .pic4 { margin-left:-13px; margin-top:-90px; }
  body.cafe #sec2 .illust2 { bottom:400px; left:0; }
  body.cafe #sec2 .illust3 { right:-40px; bottom:-20px; }
}







/* =================== */
/*       body.guesthouse       */
/* =================== */
body.guesthouse #sec1 {
  position:relative;
  margin-bottom:10rem;
}
body.guesthouse #sec1 .wht-box {
  background:#fff;
  border-radius:10rem;
  padding:4.5rem 7.5rem 49rem;
  width:65rem;
  margin:0 auto;
  position:relative;
}
body.guesthouse #sec1 h2 {
  font-size:2.5rem;
  text-align:center;
}
body.guesthouse #sec1 h2 .mini {
  display:block;
  font-size:2rem;
  margin-bottom:.3rem;
}
body.guesthouse #sec1 .ttl {
  font-size:max(20px, 1.75rem);
  text-align:center;
  margin-top:2rem;
  margin-bottom:.5rem;
}
body.guesthouse #sec1 ul li {
  display:flex;
  align-items:baseline;
  font-size:max(15px, 1.1rem);
  line-height:1.66;
  margin-bottom:.5rem;
}
body.guesthouse #sec1 ul li .mini { font-size:max(14px, 1rem); }
body.guesthouse #sec1 ul li::before {
  content:"●";
  font-size:50%;
  color:#9dafaa;
  margin-right:1em;
}
body.guesthouse #sec1 .slider-box {
  width:75rem;
  margin:-45rem auto 0;
  position:relative;
}
body.guesthouse #sec1 .slider-box .slider { padding-bottom:.5rem; }
body.guesthouse #sec1 .illust {
  width:7.25rem;
  position:absolute;
  top:3.5rem;
  right:3rem;
}
body.guesthouse #sec1 .illust1 {
  width:58.6rem;
  position:absolute;
  left:-16.5rem;
  bottom:-14rem;
}
body.guesthouse #sec1 .illust2 {
  width:28.1rem;
  position:absolute;
  right:-5rem;
  bottom:-24.5rem;
}
body.guesthouse #sec2 { position:relative; }
body.guesthouse #sec2 h2 { width:44.75rem; margin-left:37rem; }
body.guesthouse #sec2 article {
  position:relative;
  margin-bottom:8.5rem;
}
body.guesthouse #sec2 article .layout { align-items:flex-start; }
body.guesthouse #sec2 article.pic-r::before {
  content:"";
  width:52.5rem;
  min-height:550px;
  height:47.5rem;
  background:rgba(255,255,255,.8);
  display:block;
  position:absolute;
  left:0;
  top:-5rem;
  border-radius:0 10rem 0 0;
  z-index:-1;
}
body.guesthouse #sec2 article.pic-l::before {
  content:"";
  width:52.5rem;
  height:47.5rem;
  background:rgba(255,255,255,.8);
  display:block;
  position:absolute;
  right:0;
  top:-5rem;
  border-radius:10rem 0 0 0;
  z-index:-1;
}
body.guesthouse #sec2 article .main {
  width:44.75rem;
  margin-top:3.5rem;
}
body.guesthouse #sec2 article .layout.pic-r .main { order:2; margin-right:-5rem; }
body.guesthouse #sec2 article .layout.pic-l .main { margin-left:-5rem; }
body.guesthouse #sec2 article .layout.pic-r .txt-box { order:1; }
body.guesthouse #sec2 article .txt-box { width:30.75rem; }
body.guesthouse #sec2 article .icon {
  width:7.5rem;
  margin-right:1rem;
}
body.guesthouse #sec2 article h3 { width:calc(100% - 8.5rem); }
body.guesthouse #sec2 article h3 .en-font {
  font-size:5rem;
  color:#ccecf0;
  display:block;
}
body.guesthouse #sec2 article h3 .jp {
  display:block;
  font-size:max(20px, 1.5rem);
  margin-top:-1rem;
}
body.guesthouse #sec2 article .txt {
  font-size:max(15px, 1rem);
  line-height:1.75;
  margin:1.5rem 0;
}
body.guesthouse #sec2 article .txt2 {
  font-size:max(15px, 1rem);
  margin-bottom:3rem;
  display:flex;
  align-items:flex-start;
  line-height:2rem;
}
body.guesthouse #sec2 article .txt2 span {
  line-height:2rem;
  width:7.5rem;
  min-width:90px;
  background:#9dafaa;
  color:#fff;
  text-align:center;
  font-weight:bold;
  display:inline-block;
  border-radius:100vmax;
  margin-right:1rem;
}
body.guesthouse #sec2 article .sub1 { width:27.5rem; position:relative; }
body.guesthouse #sec2 article .layout.pic-r .sub1 { margin-left:calc(100% - 27.5rem); }
body.guesthouse #sec2 article .sub2 {
  width:25rem;
  margin-top:-11rem;
  margin-left:29rem;
}
body.guesthouse #sec2 article.pic-r .illust {
  width:43em;
  position:absolute;
  left:-8.5rem;
  top:-14.5rem;
}
body.guesthouse #sec2 article.pic-l .illust {
  width:43em;
  position:absolute;
  right:-8.5rem;
  top:-14.5rem;
}
body.guesthouse #sec2 .sec2-illust {
  width:62.2rem;
  position:absolute;
  bottom:-16rem;
  right:-6rem;
  z-index:-1;
}
body.guesthouse #sec2 dl.dl {
  width:50rem;
  background:rgba(255,255,255,.8);
  border:1px solid #9dafaa;
  padding:1rem 2.5rem;
  margin:0 auto;
}
body.guesthouse #sec2 dl.dl .line {
  display:flex;
  border-bottom:2px dotted #9dafaa;
  padding:.5rem 1rem;
  line-height:1.75;
}
body.guesthouse #sec2 dl.dl .line:last-child { border-bottom:0; }
body.guesthouse #sec2 dl.dl .line dt {
  font-size:max(16px, 1.1rem);
  color:#9dafaa;
  width:7em;
}
body.guesthouse #sec2 dl.dl .line dd {
  font-size:max(15px, 1rem);
  width:calc(100% - (7 * max(16px, 1.1rem)));
}
body.guesthouse #sec3 {
  background:rgba(255,255,255,.8);
  border-radius:10rem;
  width:65rem;
  margin:7rem auto;
  padding:4rem 12.5rem;
  text-align:center;
  position:relative;
}
body.guesthouse #sec3 h4 { margin-bottom:1rem; }
body.guesthouse #sec3 h4 .en-font {
  font-size:6rem;
  display:block;
  color:#ccecf0;
}
body.guesthouse #sec3 h4 .jp {
  font-size:max(20px, 1.5rem);
  display:block;
  margin-top:-1rem;
}
body.guesthouse #sec3 .txt {
  line-height:1.75;
  font-size:max(15px, 1rem);
  margin:2rem 0;
}
body.guesthouse #sec3 .txt2 { font-size:max(15px, 1rem); }
body.guesthouse #sec3 .txt2 span {
  line-height:2rem;
  width:7.5rem;
  background:#9dafaa;
  border-radius:100vmax;
  display:inline-block;
  color:#fff;
  font-weight:bold;
  margin-right:1rem;
}
body.guesthouse #sec3 .illust {
  width:87.65rem;
  position:absolute;
  top:-9.5rem;
  left:-6rem;
}
body.guesthouse #sec3 .cont-box { position:relative; z-index:1; }
body.guesthouse #sec4 h4 { text-align:center; }
body.guesthouse #sec4 h4 .en-font {
  font-size:3rem;
  display:block;
  color:#ccecf0;
}
body.guesthouse #sec4 h4 .jp {
  font-size:max(20px, 1.5rem);
  display:block;
  margin-top:-.5rem;
}
body.guesthouse #sec4 table {
  width:100%;
  font-size:max(15px, 1rem);
  text-align:center;
  margin-top:1.5rem;
}
body.guesthouse #sec4 table th {
  width:calc(100% / 4);
  border:1px solid #9dafaa;
  border-bottom:0;
  padding:.8rem 0;
  background:#f5f0cb;
  font-weight:400;
}
body.guesthouse #sec4 table td {
  padding:.8rem 0;
  background:#fff;
  border:1px solid #9dafaa;
  border-top:0;
}

@media screen and (max-width: 1200px) {
  body.guesthouse #sec3 { padding:40px 80px; }
}
@media screen and (max-width: 960px) {
  body.guesthouse #sec2 article .layout { display:block; max-width:600px; }
  body.guesthouse #sec2 article.pic-r::before,
  body.guesthouse #sec2 article.pic-l::before { width:96.65%; height:90%; }
  body.guesthouse #sec2 article .main { width:100%; margin:0 !important; }
  body.guesthouse #sec2 article .txt-box { width:100%; margin-top:25px; padding:0 13px; }
  body.guesthouse #sec2 article .layout .sub1 { margin:0 auto !important; }
  body.guesthouse #sec2 article .sub2 { margin-top:-80px; margin-left:330px; }
  body.guesthouse #sec2 article .txt2 span { width:112px; line-height:30px; }
  body.guesthouse #sec3 .txt2 span { width:112px; line-height:30px; }
  body.guesthouse #sec4 table.pc-on { display:table; max-width:650px; margin:15px auto 0; }
  body.guesthouse #sec4 table.sp-on { display:none; }
  body.guesthouse #sec1 .slider-box { width:700px; }
  body.guesthouse #sec2 h2 { margin:0 auto; }
}
@media screen and (max-width: 750px) {
  body.guesthouse #sec1 .wht-box { width:93.3%; padding:40px 25px 490px; position:relative; z-index:1; }
  body.guesthouse #sec1 .illust { top:100px; right:-15px; }
  body.guesthouse #sec1 .txt { line-height:1.38; }
  body.guesthouse #sec1 .illust1 { width:45rem; bottom:-9rem; }
  body.guesthouse #sec1 .illust2 { right:-9rem; bottom:-20rem; width:25rem; }
  body.guesthouse #sec1 .slider-box { position:relative; z-index:1; width:100%; }
  body.guesthouse #sec2 h2 { width:390px; }
  body.guesthouse #sec2 h2 img { display:block; margin-left:80px; }
  body.guesthouse #sec2 article.pic-r::before, body.guesthouse #sec2 article.pic-l::before { height:95%; }
  body.guesthouse #sec2 article .txt { line-height:1.66; margin-bottom:25px; }
  body.guesthouse #sec2 article .txt2 { line-height:1.5; }
  body.guesthouse #sec2 article .txt2 span { display:block; margin-bottom:10px; }
  body.guesthouse #sec2 article .sub2 { margin-top:-15px; margin-left:calc(100% - 25rem + 20px); }
  body.guesthouse #sec2 dl.dl { width:86.6%; }
  body.guesthouse #sec2 dl.dl .line { display:block; line-height:1.66; padding:10px; }
  body.guesthouse #sec2 dl.dl .line dd { width:100%; }
  body.guesthouse #sec3 { width:93.3%; padding:40px 25px; }
  body.guesthouse #sec3 .txt { text-align:left; line-height:1.66; }
  body.guesthouse #sec4 { margin-bottom:40px; }
  body.guesthouse #sec4 table.sp-on { display:table; margin:15px auto 0; }
  body.guesthouse #sec4 table.pc-on { display:none; }
  body.guesthouse #sec4 table.sp-on th { width:50%; border:1px solid #9dafaa; padding:10px 0; }
  body.guesthouse #sec4 table.sp-on td { border:1px solid #9dafaa; padding:10px 0; }
  body.guesthouse #sec2 .sec2-illust { width:48rem; right:-8rem; bottom:0; }
}





