@charset "UTF-8";



/* =================== */
/*       pubulic       */
/* =================== */
.slick-slider { padding-bottom:.5rem; }
.slick-dots {
  display:flex;
  justify-content:center;
  position:relative;
  margin-top:-1.5rem;
}
.slick-dots li {
	width:.4rem !important;
  height:.4rem !important;
  border:1px solid #fff !important;
  border-radius:100px;
  margin:0 .2rem !important;
  padding:0 !important;
}
.slick-dots li.slick-active { background:#942343; border:1px solid #942343 !important; }
.slick-dots li button { display:none; }


.kv-box { height:35rem; }

h1#page-ttl {
  text-align:center;
  margin-top:2rem;
  font-weight:100;
  position:relative;
}
h1#page-ttl .en-font {
  font-size:6rem;
  color:#FFF;
  display:block;
}
h1#page-ttl .jp {
  font-size:max(18px, 1.5rem);
  color: #FFF;
  display:block;
  margin-top:.5rem;
  font-weight:600;
}

.dflt-h {
  text-align:center;
  position:relative;
}
.dflt-h::before {
  content:"";
  width:22rem;
  height:5.3rem;
  background:url(../img/lower/dflt_h_deco.png) no-repeat;
  background-size:contain;
  display:block;
  margin:0 auto .5rem;
}
.dflt-h .en-font {
  font-size:3.5rem;
  color:#FFF;
  display:block;
}
.dflt-h .jp {
  font-size:max(16px, 1.1rem);
  color: #FFF;
  display:block;
  margin-top:.5rem;
  font-weight:600;
}
.dflt-h.wht { color:#fff; }
.dflt-h.wht .en-font { color:#fff; }
.dflt-h.wht::before {
  width:10rem;
  height:2.4rem;
  background:url(../img/lower/dflt_h_deco_w.png) no-repeat;
}

#lower-top-sec { margin:13rem 0 20rem; }
#lower-top-sec .in-w75 { padding:9rem 0 15rem; }
#lower-top-sec .cont-box { align-items:flex-end; }
#lower-top-sec .cont-box .txt-box {
  width:31rem;
  margin-left:10.5rem;
  color:#fff;
}
#lower-top-sec .cont-box .txt-box .ttl { line-height:1.25; }
#lower-top-sec .cont-box .txt-box .en-font {
  font-size:2.5rem;
}
#lower-top-sec .cont-box .txt-box .jp {
  font-size:max(20px, 2rem);
  display:block;
  margin:1rem 0 1.5rem;
  font-weight:600;
}
#lower-top-sec .cont-box .txt-box .txt {
  font-size:max(16px, 1.1rem);
  line-height:1.8;
  letter-spacing:0;
}
#lower-top-sec .cont-box .main-pic {
  width:19.8rem;
  margin-right:7.5rem;
}
#lower-top-sec .pic1 {
  position:absolute;
  width:25rem;
  bottom:-7.5rem;
  left:0;
  z-index:1;
}
#lower-top-sec .pic2 {
  position:absolute;
  width:25rem;
  bottom:-12.5rem;
  left:24rem;
}

.dflt-layout { position:relative; }
.dflt-layout .pic { width:47.5rem; }
.dflt-layout.pic-r .pic { order:2; margin-left:calc(100% - 47.5rem); }
.dflt-layout.pic-r .txt-box {
  order:1;
  left:2rem;
}
.dflt-layout.pic-l .txt-box { right:1rem; }
.dflt-layout .en-font {
  font-size:5rem;
  color:#FFF;
  position:absolute;
  top:-0.3rem;
  /*z-index:1;*/
  z-index: 3;
  line-height:1.1;
  font-weight:400;
}
.dflt-layout .en-font span { font-size:4rem; display:block; }
/* .dflt-layout.pic-l .en-font { right:5rem; text-align:right; } */
/* .dflt-layout.pic-r .en-font { left:5rem; } */
.dflt-layout .txt-box {
  width:28.35rem;
  height:20.65rem;
  background:url(../img/pickup_bg.png) no-repeat;
  background-size:contain;
  position:absolute;
  z-index:2;
  top:13rem;
}
.dflt-layout .txt-box.big {
  height:23rem;
  background:url(../img/lower/dflt_bk.png) no-repeat;
  background-size:contain;
  top:11.5rem;
}
.dflt-layout .txt-box .ttl {
  font-size:max(17.5px, 1.75rem);
  letter-spacing:.1em;
  padding-top:3rem;
  padding-right:1.5rem;
  font-weight:600;
  margin:0 auto;
  width:20rem;
  box-sizing:content-box;
  line-height:1.25;
}
.dflt-layout .txt-box .txt {
  width:20rem;
  margin:0.5rem auto 0;
  padding-right:1.5rem;
  box-sizing:content-box;
  font-size:max(14px, 1rem);
  line-height:1.5;
  letter-spacing:0;
}

.pic3-box { margin:4rem auto 10rem; }
.pic3-box .minipic { width:calc((100% - 5rem) / 3); }


@media screen and (max-width: 1250px) {
  .dflt-layout .txt-box { width:360px; height:260px; }
  .dflt-layout .txt-box.big { height:300px; }
  .dflt-layout .txt-box .ttl { padding-top:2rem; }
}

@media screen and (max-width: 1120px) {
  .kv-box { height:auto; }
  #lower-top-sec .cont-box .txt-box { width:38rem; margin-left:3.5rem; }
  #lower-top-sec .cont-box .txt-box .txt { line-height:1.5625; }
  .dflt-layout .txt-box .txt { width:24rem; }
  .dflt-layout .txt-box .ttl { width:24rem; padding-top:4rem; }
}

@media screen and (max-width: 960px) {
  h1#page-ttl .en-font { font-size:50px; }
  .kv-box { height:auto; }

  #lower-top-sec { margin:40px 0 170px; }
  #lower-top-sec .in-w75 { padding:60px 0 105px; max-width:600px; }
  #lower-top-sec .cont-box { display:block; }
  #lower-top-sec .cont-box .txt-box { width:100%; margin-left:0; }
  #lower-top-sec .cont-box .txt-box .jp { margin:10px 0 30px; }
  #lower-top-sec .cont-box .main-pic { margin:20px auto 0; }
  #lower-top-sec .pic1 { width:52%; max-width:200px; right:50%; left:inherit; bottom:-65px; }
  #lower-top-sec .pic2 { width:52%; max-width:200px; left:50%; bottom:-100px; }

  .dflt-layout { display:block; width:86.6%; max-width:600px; margin-top:20px; }
  .dflt-layout .pic { width:100%; margin-bottom:0; }
  .dflt-layout .en-font {
    position:relative;
    margin-top: 20px;
    top:inherit !important;
    left:0 !important;
    right:inherit !important;
    text-align:center;
   /*  padding-right:25px; */
    line-height:1.1;
  }
  .dflt-layout .txt-box {
    background:url(../img/lower/dflt_bk_sp.png) no-repeat !important;
    background-size:contain !important;
    width:329px;
    height:300px;
    margin:-10px auto 0 !important;
    position:relative;
    z-index:1;
    top:27px !important;
    left:inherit !important;
    right:inherit !important;
  }
  .dflt-layout .txt-box .ttl { font-size:20px; line-height:1.2; width:240px; padding-top:20px; }
  .dflt-layout .txt-box .txt { font-size:16px; line-height:1.25; width:240px;}
  .dflt-layout.pic-r .pic { margin-left:0; }
  .dflt-layout.pic-r .en-font {
    text-align:center;
    /* padding-left:25px; */
    padding-right:0;
  }
  .pic3-box { display:block; margin:-15px auto 80px; width:235px; }
  .pic3-box .minipic { width:100%; margin-bottom:15px; }
}
/* =================== */
/*       body.news       */
/* =================== */
body.news .news-list {
  justify-content:flex-start;
  align-items:inherit;
  flex-wrap:wrap;
  width:65rem;
  margin:10rem auto 0;
}
body.news .news-list li {
  width:calc((100% - 5rem) / 3);
  margin-right:2.4rem;
  margin-bottom:4rem;
}
body.news .news-list li:nth-child(3n) { margin-right:0; }
body.news .news-list li .pic {
  width:100%;
  height:15rem;
  overflow:hidden;
}
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:1.5rem 0 0; }
body.news .news-list li time {
  font-size:max(16px, 1rem);
  color:#942343;
  margin-bottom:1rem;
  display:block;
  font-weight:600;
}
body.news .news-list li .ttl {
  font-size:max(16px, 1rem);
  line-height:1.5;
  font-weight:100;
}
body.news .news-list li .ttl a:hover { text-decoration:underline; }
body.news .pn-box {
  width:65rem;
  margin:4rem auto 11rem;
  padding:0;
}
body.news .pn-box .btn {
  width:1.25rem;
  cursor:pointer;
  transition:0.5s ease all;
}
body.news .pn-box .btn:hover { opacity:.5; }
body.news.detail .pankuzu {
  font-size:max(16px, .8rem);
  padding:0 0 4rem;
  flex-wrap:wrap;
  justify-content:flex-start;
  line-height:1.25;
  width:65rem;
  margin:9rem 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:#942343;
  text-decoration:underline;
}
body.news.detail .pankuzu a:hover { text-decoration:none; }
body.news.detail article {
  width:45rem;
  margin:0 auto;
  padding-bottom:6rem;
}
body.news.detail article time {
  font-size:max(16px, 1rem);
  color:#942343;
  font-weight:600;
}
body.news.detail article h2 {
  margin:1rem 0 3rem;
  font-size:1.5rem;
  line-height:1.33;
  font-weight:100;
}
body.news.detail article .pic { margin:3rem 0; }
body.news.detail article .txt {
  font-size:max(16px, 1rem);
  line-height:2.22;
}
@media screen and (max-width: 960px) {
  body.news .news-list { position:relative; z-index:1; width:86.6%; max-width:550px; margin-top:50px; }
  body.news .news-list li { margin-right:0; width:100%; }
  body.news .news-list li .pic { height:auto; }
  body.news .pn-box { width:86.6%; max-width:550px; }
  body.news .pn-box .btn { width:20px; }
  body.news.detail .pankuzu { font-size:14px; padding:0 0 50px; width:86.6%; max-width:550px; position:relative; z-index:1; margin-top:40px; }
  body.news.detail article { width:86.6%; max-width:550px; }
  body.news.detail article time { font-size:16px; }
  body.news.detail article h2 { font-size:21px; }
  body.news.detail article .txt { font-size:16px; line-height:1.5625; }
}
/* =================== */
/*       body.faq       */
/* =================== */
#faq #sec1 { margin:6rem auto 6rem; }
#faq #sec2 { margin-bottom:6rem; }
#faq .wht-box {
 /*  background:rgba(255,255,255,.5); */
 background-color: #FFF;
  padding:3.5rem 3rem;
  letter-spacing:0;
  min-width:800px;
}
#faq .wht-box h2 {
  font-size:max(18px, 1.5rem);
  color:#942343;
  font-weight:600;
}
#faq .wht-box dt {
  font-size:max(16px, 1.1rem);
  color:#942343;
  font-weight:600;
  margin-top:2rem;
  position:relative;
  cursor:pointer;
  padding-right:3rem;
  padding-left:2.5rem;
  line-height:1.25;
  padding-top:.6rem;
}
#faq .wht-box dt span.icon {
  font-size:max(18px, 1.75rem);
  position:absolute;
  left:0;
  top:0;
}
#faq .wht-box dt::before {
  content:"";
  width:1.4rem;
  height:1rem;
  background:url(../img/faq/open.png) no-repeat;
  background-size:contain;
  display:block;
  position:absolute;
  right:1rem;
  top:1rem;
}
#faq .wht-box dt.open::before {
  background:url(../img/faq/close.png) no-repeat;
  background-size:contain;
}
#faq .wht-box dt::after {
  content:"";
  width:calc(100% + 3rem + 2em);
  height:.3rem;
  background:url(../img/faq/line.png) no-repeat;
  background-size:contain;
  display:block;
  margin-top:1rem;
  margin-left:-2em;
}
#faq .wht-box dd {
  font-size:max(16px, 1rem);
  line-height:1.5;
  padding-left:2rem;
  margin:.8rem 1.5rem;
  display:none;
  position:relative;
  padding-top:.5rem;
}
#faq .wht-box dd span.icon {
  font-size:max(18px, 1.5rem);
  position:absolute;
  left:0;
  top:0;
}
#faq .wht-box dd a { text-decoration:underline; }
#faq .wht-box dd a img {
  width:4.8rem;
  vertical-align:bottom;
  border-bottom:1px solid #000;
}
#faq .wht-box dd a:hover { text-decoration:none; }
#faq .wht-box dd a:hover img { border-bottom:0; padding-bottom:1px; }
#faq .wht-box dd span.att { text-align:center; display:block; }
#faq .wht-box dd table {
  width:calc(100% + 2em);
  margin:1.5rem 0 1.5rem -2em;
}
#faq .wht-box dd th {
  background:#997572;
  color:#fff;
  text-align:center;
  padding:.5rem 0;
  border:1px solid #fff;
  width:calc(100% / 5);
}
#faq .wht-box dd td {
  padding:.5rem 0;
  border:1px solid #fff;
  text-align:center;
  background:rgba(255,255,255,.3);
}

@media screen and (max-width: 1200px) {
  #faq .wht-box dd { padding-top:.3rem; }
}

@media screen and (max-width: 1000px) {
  #faq .wht-box dt { padding-top:.3rem; }
}

@media screen and (max-width: 960px) {
  #faq .wht-box { min-width:inherit; max-width:600px; }
  #faq #sec1 { margin:40px auto; }
  #faq #sec2 { margin-bottom:40px; }
  #faq #sec3 { margin-bottom:80px; }
  #faq .wht-box dd table.sp-on { display:table; }
  #faq .wht-box dd th { width:43%; }
  #faq .wht-box dd span.att { text-align:left; }
  #faq .wht-box dd a img { width:55px; }
}







/* =================== */
/*       #access       */
/* =================== */
#access .map-box {
  height:35rem;
  margin:10rem auto 4rem;
}
#access .map-box iframe {
  width:100%;
  height:100%;
}
#access .add-box {
  align-items:flex-start;
  justify-content:center;
}
#access .add-box .pic {
  width:23rem;
  margin-right:4rem;
}
#access .add-box .txt-box .logo { width:13.5rem }
#access .add-box .txt-box address {
  font-size:max(16px, 1rem);
  line-height:1.5;
  margin-top:.7rem;
}
#access .add-box .txt-box address .name { margin-bottom:.5rem; }
#access #sec1 {
  width:50rem;
  margin:5.5rem auto 6rem;
}
#access #sec1 h3 { margin-bottom:1.5rem; }
#access #sec1 h3 .en-font {
  font-size:3.5rem;
  color:#FFF;
  display:block;
}
#access #sec1 h3 .jp {
  font-size:max(16px, 1.1rem);
  display:block;
  margin-top:.5rem;
  font-weight:600;
  color: #FFF;
}
#access #sec1 #root1 { margin:1.5rem 0 5rem; }
#access #sec1 #root2 .txt {
  font-size:max(18px, 1.5rem);
  margin-top:2rem;
}
#access #sec1 #root2 .txt span { color:#3eddb3; }
#access #sec1 #root2::after {
  content:"";
  width:100%;
  height:.3rem;
  background:url(../img/access/line.png) no-repeat;
  background-size:contain;
  display:block;
  margin-top:1rem;
}
#access #sec2 {
  width:100%;
  background:url(../img/access/sec2_bk.jpg) no-repeat center;
  background-size:cover;
  padding:4rem 0 6rem;
  margin:6rem 0;
}
#access #sec2 .form-box {
  width:50rem;
  min-width:600px;
  background:#fff;
  margin:4rem auto 0;
  padding:3rem 5rem;
  box-sizing:border-box;
  font-size:max(16px, 1rem);
}
#access #sec2 form table { width:100%; }
#access #sec2 form tr { position:relative; }
#access #sec2 form tr::after {
  content:"";
  width:100%;
  height:.15rem;
  background:url(../img/access/line.png) no-repeat;
  background-size:contain;
  display:block;
  position:absolute;
  left:0;
  bottom:0;
}
#access #sec2 form th {
  text-align:left;
  width:calc(100% - 27rem);
  line-height:2;
  padding:1rem 1rem 1rem 0;
  vertical-align:top;
  font-weight:600;
  color:#942343;
  position:relative;
}
#access #sec2 form th:after {
  content:"";
  width:1px;
  height:1.5em;
  background:#c9b5b4;
  display:block;
  position:absolute;
  right:0;
  top:1.35rem;
}
#access #sec2 form td {
  width:23rem;
  min-width:280px;
  padding:1rem 0;
}
#access #sec2 form input,
#access #sec2 form textarea {
  border:0;
  line-height:1.5;
  width:calc(100% - 2rem);
  padding:.35rem .5rem .5rem 1rem;
  box-sizing:border-box;
  font-size:max(16px, 1rem);
  color:#000;
  font-weight:100;
  font-family:'Klee One', cursive;
}
#access #sec2 form textarea { height:100%; }
#access #sec2 form tr:last-child td { height:7em; }
#access #sec2 form input[type='submit'] {
  background:#05392d;
  color:#fff;
  font-size:max(18px, 1.25rem);
  line-height:3rem;
  text-align:center;
  width:16.5rem;
  border-radius:100px;
  display:block;
  margin:3rem auto 1rem;
  transition:0.5s ease all;
  cursor:pointer;
  border-radius:100px;
  font-family:'Klee One', cursive;
}
#access #sec2 form input[type='submit']:hover { opacity:.7; }
#access #sec3 ul {
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:flex-start;
  margin-top:2.5rem;
  min-width:850px;
}
#access #sec3 li {
  width:calc((100% - 7rem) / 3);
  margin-right:3.5rem;
  margin-bottom:2rem;
  letter-spacing:0;
}
#access #sec3 li:nth-child(3n) { margin-right:0; }
#access #sec3 li .txt-box .ttl-box {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:2rem 0 1rem;
}
#access #sec3 li .txt-box .name {
  font-size:max(18px, 1.5rem);
  color:#FFF;
  font-weight:600;
}
#access #sec3 li .txt-box .time {
  font-size:max(16px, 1rem);
  color:#fff;
  background:#942343;
  border-radius:100px;
  width:6rem;
  min-width:80px;
  padding:.3rem 0;
  text-align:center;
}
#access #sec3 li .txt-box .txt {
  font-size:max(16px, 1rem);
  line-height:1.5;
}
#access #sec3 li .txt-box .view-btn { text-align:right; }
#access #sec3 li .txt-box .view-btn img { width:9.1rem; }
#access #sec3 li .txt-box .view-btn a:hover { opacity:.5; }

@media screen and (max-width: 960px) {
    #access #sec2 .form-box { width:86.6%; min-width:inherit; padding:20px 30px; max-width:600px; }
    #access #sec2 form table,
    #access #sec2 form table tbody,
    #access #sec2 form table tbody tr,
    #access #sec2 form table tbody th,
    #access #sec2 form table tbody td { display:block; width:100%; }
    #access #sec2 form table tbody th { border-bottom:0; padding-bottom:0; }
    #access #sec2 form table tbody td { min-width:inherit; }
    #access #sec2 form input, #access #sec2 form textarea { width:100%; padding:0; }
    #access #sec2 form input[type='submit'] { width:220px; line-height:40px; }
    #access .map-box { height:250px; margin:40px auto; }
    #access .add-box { display:block; text-align:center; }
    #access .add-box .pic { margin:0 auto 15px; }
    #access .add-box .txt-box .logo { margin:0 auto; }
    #access #sec1 { width:86.6%; max-width:600px; }
    #access #sec1 #root2 .txt { line-height:1.5625; }
    #access #sec2 form th:after { display:none; }
    #access #sec3 ul { min-width:inherit; max-width:550px; display:block; margin-bottom:70px; }
    #access #sec3 li { width:100%; margin-right:0; }
    #access #sec3 li .txt-box .view-btn img { width:110px; }
}


/* =================== */
/*       body.shooting       */
/* =================== */
body.shooting #lower-top-sec {
  background:url(../img/shooting/top_bk.jpg) no-repeat center right;
  background-size:cover;
}
body.shooting #sec1 { margin-top:8rem; }
body.shooting .plan-sec {
  background:rgba(255,255,255,.5);
  padding:4rem 7.5rem 5.5rem;
  margin-bottom:4rem;
}
body.shooting .plan-sec .dflt-h .jp {
  font-size:max(18px, 1.75rem);
  margin:1rem 0 1.5rem;
}
body.shooting .plan-sec .sec-top-txt {
  font-size:max(16px, 1rem);
  line-height:1.75;
  text-align:center;
}
body.shooting .plan-sec .dl-box {
  margin:1.5rem auto 3rem;
  width:50rem;
  min-width:600px;
  align-items:flex-start;
}
body.shooting .plan-sec .dl-box dl { width:calc((100% - 3rem) / 2); }
body.shooting .plan-sec .dl-box .line {
  display:flex;
  position:relative;
  font-size:max(16px, 1rem);
  padding:.5rem 0 .8rem;
  width:100%;
  line-height:1.5;
}
body.shooting .plan-sec .dl-box .line::after {
  content:"";
  width:100%;
  height:3px;
  background:url(../img/shooting/dl_line.png) no-repeat;
  background-size:contain;
  display:block;
  position:absolute;
  bottom:0;
  left:0;
}
body.shooting .plan-sec .dl-box .line dt {
  color:#942343;
  font-weight:600;
  width:7.5em;
}

body.shooting .plan-sec .dl-box .line dd {
  width:calc(100% - 7.5em);
  letter-spacing: 0;
}
body.shooting .plan-sec .sub-ttl {
  font-size:max(18px, 1.1rem);
  text-align:center;
  font-weight:600;
  margin:2.5rem 0 -.5rem;
}
body.shooting .plan-sec .att-txt {
  font-size:max(16px, 1rem);
  color:#05392d;
  text-align:center;
  margin:-.5rem 0 4rem;
  letter-spacing:0;
	line-height: 160%;
}
body.shooting .mini-bnr {
  width:50rem;
  margin:9rem auto;
}
body.shooting .mini-bnr a:hover { opacity:.5; }

@media screen and (max-width: 1120px) {
  body.shooting .plan-sec { padding:4rem 5.5rem 5.5rem; }
  body.shooting .plan-sec .dl-box { min-width:650px; }
  body.shooting .plan-sec .dl-box dl { width:calc((100% - 2rem) / 2); }
  body.shooting .plan-sec .dl-box .line dt { width:7em; }
  body.shooting .plan-sec .dl-box .line dd { width:calc(100% - 7em); }
}

@media screen and (max-width: 960px) {
  body.shooting #lower-top-sec {
    background:url(../img/shooting/top_bk_sp.jpg) no-repeat top right;
    background-size:cover;
  }
  body.shooting #sec1 { margin-top:70px; }
  body.shooting .plan-sec { padding:30px; max-width:600px; }
  body.shooting .plan-sec .sec-top-txt { line-height:1.5625; text-align:left; }
  body.shooting .plan-sec .dflt-h .jp { margin:10px 0 20px; }
  body.shooting .plan-sec .dl-box { min-width:inherit; display:block; width:100%; }
  body.shooting .plan-sec .dl-box dl { width:100%; }
  body.shooting .plan-sec .dl-box .line { display:block; padding:10px 0; }
  body.shooting .plan-sec .dl-box .line dt { width:100%; margin-bottom:5px; line-height:1; }
  body.shooting .plan-sec .dl-box .line dd { width:100%; }
  body.shooting .plan-sec .att-txt { text-align:left; padding-left:1em; text-indent:-1em; line-height:1.5; margin:-10px 0 30px; }
  body.shooting .plan-sec .dl-box .line::after {
    background:url(../img/shooting/dl_line.png) repeat-x;
    background-size:contain;
  }
  body.shooting .mini-bnr { width:86.6%; max-width:500px; margin:50px auto; }
  body.shooting .benefit { max-width:500px; }
}
/* =================== */
/*       body.studio       */
/* =================== */
body.studio #lower-top-sec {
  background:url(../img/studio/top_bk.jpg) no-repeat center right;
  background-size:cover;
}
body.studio .benefit { margin:10rem auto; }

@media screen and (max-width: 960px) {
  body.studio #lower-top-sec {
    background:url(../img/studio/top_bk_sp.jpg) no-repeat top right;
    background-size:cover;
  }
  body.studio .benefit { max-width:500px; margin:25px auto 70px; }
  body.studio #art1 .dflt-layout .txt-box .ttl { padding-top:20px; }
}
/* =================== */
/*       .stay       */
/* =================== */
.stay #lower-top-sec {
  background:url(../img/stay/top_bk.jpg) no-repeat center right;
  background-size:cover;
}
.stay #lower-top-sec .cont-box .txt-box .txt { padding-bottom:4rem; }
.stay .sec-top-txt {
  line-height:1.75;
  font-size:max(16px, 1rem);
  color: #FFF;
  text-align:center;
  margin:2rem 0 2.5rem;
}
.stay .dflt-layout .txt-box dl .line {
  display:flex;
  align-items:center;
  font-size:max(16px, 1rem);
  width:20rem;
  margin:2.2rem auto 0;
  padding-right:1.5rem;
  box-sizing:content-box;
}
.stay .dflt-layout .txt-box dl .line dt {
  background:#997572;
  padding:.3rem;
  color:#fff;
}
.stay .dflt-layout .txt-box dl .line dd {
  margin-left:.8rem;
}
.stay .dflt-layout .txt-box .txt {
  /* margin:.5rem auto 0; */
  letter-spacing:-.01em;
}
.stay #art1 .dflt-layout .en-font {
  top:4rem;
  right:9rem;
}
.stay #sec1 article { margin-bottom:6rem; }
.stay .dflt-layout .pic { position:relative; }
.stay .dflt-layout .pic .num {
  font-size:7.5rem;
  color:#FFF;
  display:block;
  position:absolute;
  left:3rem;
  bottom:-3.2rem;
  z-index:1;
  font-family:'Fredericka the Great', serif;
}
.stay #art3 .pic-r { margin-top:2.5rem; }
.stay #art4 .pic-r.art-in2 { margin-top:4rem; }
.stay #art4 .pic-l.art-in3 { margin-top:4rem; }
.stay #art4 .pic-r .pic .num {
  top:4rem;
  left:-5.5rem;
  bottom:inherit;
}
.stay #art4 .pic-l.art-in3 .pic .num {
  top:4rem;
  right:-5.5rem;
  bottom:inherit;
  left:inherit;
}
.stay #art4 .dflt-layout .en-font {
  top:6.5rem;
  right:11rem;
}
.stay #sec1 .facility-box { min-width:750px; }
.stay #sec1 .facility-box .pic { width:20.75rem; }
.stay #sec1 .facility-box .txt-box {
  width:calc(100% - 25.75rem - 0rem);
  font-size:max(16px, 1rem);
  line-height:1.5;
}
.stay #sec1 .facility-box .txt-box .ttl {
  color:#FFF;
  font-weight:600;
}
.stay #sec1 .facility-box .txt-box .txt1 { margin:.5rem; }
.stay #sec1 .facility-box .txt-box .txt1::after {
  content:"";
  width:calc(100% + 1rem);
  height:3px;
  background:url(../img/shooting/dl_line.png) repeat-x;
  background-size:contain;
  display:block;
  margin:.5rem -.5rem 1rem;
}
.stay #sec1 .facility-box .txt-box .txt2 {
  margin:1rem 1rem 0;
  padding-left:1em;
  text-indent:-1em;
}
.stay #sec1 .facility-box .txt-box .txt2 span {
  display:block;
  color:#FFF;
  font-weight:600;
}
.stay #sec1 #art5 {
  margin:6rem auto;
  /* background:rgba(255,255,255,.5); */
  background-color: #942343;
  padding:3rem 5rem;
  min-width:750px;
}
.stay .dflt-h.mini::before {
    content:"";
    width:10rem;
    height:2.4rem;
    background:url(../img/stay/dflt_h_deco_mini.png) no-repeat;
    background-size:contain;
    display:block;
    margin:0 auto 0.5rem;
}
.stay .dflt-h.mini.wht::before {
    background:url(../img/stay/dflt_h_deco_mini_w.png) no-repeat;
    background-size:contain;
}
.stay .box-layout { margin-top:2.5rem; }
.stay .box-layout .pic { width:21.25rem; }
.stay .box-layout .txt-box {
  width:calc(100% - 21.25rem - 2rem);
  font-size:max(16px, 1rem);
  line-height:1.5;
  color: #FFF;
}
.stay .box-layout .txt-box dl dt {
  color:#ff6ea6;
  font-weight:600;
  margin-top:1.5rem;
}
.stay .box-layout .txt-box dl dd { margin:0 .5rem 0; }
.stay .box-layout .txt-box dl dd::after {
  content:"";
  width:calc(100% + 1rem);
  height:3px;
  background:url(../img/shooting/dl_line.png) repeat-x;
  background-size:contain;
  display:block;
  margin:.8rem -.5rem 1rem;
}
.stay #art6 {
  background:url(../img/stay/sec2_bk.jpg) no-repeat right top;
  background-size:cover;
  color:#fff;
}
.stay #art6 .in-w60 { padding:5rem; min-width:750px; }
.stay #art6 .box-layout .txt-box dl dt { color:#fff; }
.stay #art6 .box-layout .txt-box dl dd::after {
  background:url(../img/stay/wht_line.png) repeat-x;
  background-size:contain;
}
.stay #sec2 #art7 {
  width:50rem;
  margin:4.5rem auto 6rem;
}
.stay #sec2 #art7 .dflt-h {
  text-align:left;
  /* cursor:pointer; */
}
.stay #sec2 #art7 .dflt-h::after {
  content:"";
  width:100%;
  height:3px;
  background:url(../img/shooting/dl_line.png) repeat-x;
  background-size:contain;
  display:block;
  margin-top:1rem;
}
/* .stay #sec2 #art7 .dflt-h::before {
  content:"";
  width:1.4rem;
  height:1rem;
  background:url(../img/faq/open.png) no-repeat;
  background-size:contain;
  display:block;
  position:absolute;
  right:1rem;
  top:2.5rem;
} */
/* .stay #sec2 #art7 .dflt-h.open::before {
  background:url(../img/faq/close.png) no-repeat;
  background-size:contain;
} */
.stay #sec2 #art7 .txt-box {
  margin:1.3rem 1rem;
  font-size:max(16px, 1rem);
  line-height:1.5;
  /* display:none; */
}
.stay #sec2 #art7 .txt-box li {
  padding-left:1.5em;
  position:relative;
  margin-bottom:.5rem;
}
.stay #sec2 #art7 .txt-box li::before {
  content:"●";
  color:#c9b5b4;
  display:block;
  position:absolute;
  top:0;
  left:0;
}
.stay #sec2 #art7 .txt-box .txt {
  text-indent:-1em;
  padding-left:1em;
  margin-top:1.5rem;
}
.stay .pic2-box { margin:2.5rem 0; }
.stay .pic2-box .pic { width:28.25rem; }
.stay #sec3 .txt {
  line-height:1.75;
  font-size:max(16px, 1rem);
  width:40rem;
  margin:0 auto;
}
.stay .dflt-dl {
  width:40rem;
  margin:1.5rem auto 0;
}
.stay .dflt-dl .line {
  display:flex;
  font-size:max(16px, 1rem);
  line-height:1.5;
  padding:.5rem 0 .7rem;
  position:relative;
}
.stay .dflt-dl .line::after {
  content:"";
  width:100%;
  height:3px;
  background:url(../img/shooting/dl_line.png) repeat-x;
  background-size:contain;
  display:block;
  position:absolute;
  left:0;
  bottom:0;
}
.stay .dflt-dl .line dt {
  color:#3eddb3;
  width:8.5em;
}
.stay .dflt-dl .line dd {
  width:calc(100% - 8.5em);
  color: #FFF;
}
.stay #art8 .in-w60 {
  padding:4rem 5rem;
 /*  background:rgba(255,255,255,.5); */
 background-color: #942343;
  margin:9rem auto 8rem;
}
.stay #art8 .dflt-h { text-align:left; }
.stay #art8 .dflt-h::before { display:none; }
.stay #art8 .pic { width:28.25rem; }
.stay #art8 .txt-box { width:calc(100% - 28.25rem - 2rem); }
.stay #art8 .txt-box .txt {
  font-size:max(16px, 1rem);
  line-height:1.5;
  margin-top:1.5rem;
  width:auto;
}
.stay #sec3 {
    margin-bottom: 6rem;
}
.stay #sec3 .att-txt {
  font-size:max(16px, 1rem);
  font-weight:600;
  margin-top:1.5rem;
  line-height:1.5;
  text-align: center;
}
.stay #sec4 {
  width:47.75rem;
  margin:0 auto 8rem;
}
.stay #sec5 {
  background:#05392d;
  color:#fff;
  padding:3rem 0 4rem;
}
.stay #sec5 .dflt-h .en-font { color:#fff; }
.stay #sec5 .dflt-h::before {
    background: url(../img/ttl_deco_w.png) no-repeat;
    background-size: contain;
}
.stay #sec5 .txt {
  line-height:1.75;
  font-size:max(16px, 1rem);
  width:40rem;
  margin:0 auto;
}
.stay #art9 {
  width:50rem;
  min-width:750px;
  margin:5rem auto 4rem;
}
.stay h4 { text-align:left; }
.stay h4 .en-font { font-size:2.5rem; }
.stay h4::before { display:none; }
.stay #art9 .dflt-dl { width:100%; }
.stay #art9 .dflt-dl dt { width:10em; }
.stay #art9 .dflt-dl dd { width:calc(100% - 10em); }
.stay #art9 .att-txt {
  font-size:max(16px, 1rem);
  font-weight:600;
  margin-top:1.5rem;
  line-height:1.5;
}
.stay #art10 {
  width:50rem;
  min-width:750px;
  margin:5rem auto 6em;
}
.stay #art10 .bnr-wrap {
  vertical-align:middle;
  text-align:center;
  margin-top:50px;
}
.stay #art10 .bnr-wrap a {
  position:relative;
  overflow:hidden;
  display:block;
  width:100%;
  max-width:800px;
  /*background:#997572;*/
  background:#942343;
  margin:auto;
  padding:1.8em 1em;
  box-sizing:border-box;
  text-decoration:none;
  outline:none;
  transition:ease .2s;
}
.stay #art10 .bnr-wrap a div {
  position:relative;
  z-index:3;
  color:#fff;
  filter:drop-shadow(0 0 .28em rgba(55,4,19,.4));
}
.stay #art10 .bnr-wrap .bgleft:before {
  content:'';
  position:absolute;
  top:0;
  left:0;
  z-index:2;
  background:rgba(255,255,255,.1);
  width:100%;
  height:100%;
  transition:transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform:scale(0, 1);
  transform-origin:right top;
}
.stay #art10 .bnr-wrap .bgleft:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}
.stay #art10 .bnr-wrap a div span { display: block; }
.stay #art10 .bnr-wrap a span.en-font { font-size:clamp(28px, 3.5000000000000004vw, 32px); line-height:125%; }
.stay #art10 .bnr-wrap a span.txt {font-size: clamp(18px, 2.25vw, 20px); line-height:240%; }
.stay #art10 .bnr-wrap a i.icon {
  display:inline-block;
  line-height:100%;
  width:32px;
  height:32px;
  background:rgba(255, 255, 255, .8);
  border-radius:50%;
  margin-top:.8em;
}
.stay #art10 .bnr-wrap a i.icon.arrow-right {
  position:relative;
}
.stay #art10 .bnr-wrap a i.icon.arrow-right::before {
  position:absolute;
  content:"";
  top:50%;
  left:50%;
  transform:translate(-42%, -50%);
  background-image:url(../img/plan_next.png);
  background-repeat:no-repeat;
  background-size:cover;
  filter:invert(0%) contrast(130%) drop-shadow(0 0 0 rgba(255,255,255,0));
  width:10px;
  height:15px;
}

.stay table.dflt {
  width:100%;
  margin:1.5rem 0;
  letter-spacing:0;
  font-size:max(16px, 1rem);
}
.stay table.dflt th {
  background:#997572;
  color:#fff;
  text-align:center;
  padding:.5rem 0;
  border:1px solid #05392d;
  width:calc(100% / 6);
}
.stay table.dflt td {
  padding:.5rem 0;
  border:1px solid #05392d;
  text-align:center;
  background:#FFF;
}
.stay table.dflt tr.wht th {
  background:rgba(255,255,255,.5);
  color:#000;
}
.stay table.dflt tr.red td {
  background:#997572;
  color:#fff;
}
/*.stay #art10 table.dflt th.lft,
.stay #art10 table.dflt td.lft {
  text-align:left;
  padding:.5rem .8rem;
  width:calc(100% / 6 * 2);
  line-height:1.5;
}*/
.stay #art10 .att-txt {
  font-size:max(16px, 1rem);
  font-weight:600;
  margin-top:1.5rem;
  line-height:1.5;
  text-align: center;
  color:#FFF;
}
.stay #art10 .att-txt p {
  text-indent:-1em;
  padding-left:1em;
  font-weight:600;
}
.stay #art10 .att-txt a.red {
  color:#ff1563;
}
.stay #art10 .att-txt a.red:hover{
  color:#b75873;
}
.stay #art11 {
  width:50rem;
  min-width:750px;
  margin:4rem auto 6rem;
}

@media screen and (max-width: 1120px) {
  .stay .dflt-layout .txt-box dl .line { width:24rem; margin:3rem auto 0; }
}

@media screen and (max-width: 960px) {
  .stay #lower-top-sec .cont-box .txt-box .txt { padding-bottom:0; }
  .stay .sec-top-txt { width:86.6%; margin:2rem auto 2.5rem; text-align:left; max-width:600px; }
  /* .stay .dflt-layout .txt-box .ttl { padding-top:17px; } */
  .stay .dflt-layout .txt-box dl .line { width:240px; margin:20px auto 0; }
  .stay #sec1 article { margin-bottom:-20px; }
  .stay .dflt-layout .en-font span { font-size:3.5rem; }
  .stay .dflt-layout .pic .num { left:-15px !important; bottom:inherit; top:10px !important; }
  .stay #art3 .pic-r { margin-top:-30px; margin-bottom:75px; }
  .stay #art4 .dflt-layout .txt-box .ttl { padding-top:40px; }
  .stay #sec1 .facility-box { min-width:inherit; max-width:500px; display:block; margin:60px auto 20px; }
  .stay #sec1 .facility-box .txt-box { width:100%; }
  .stay #sec1 .facility-box .pic { margin:15px auto 0; }
  .stay #sec1 #art5 { min-width:inherit; padding:30px 0; }
  .stay .box-layout { display:block; padding:0 20px; max-width:600px; margin:25px auto 0; }
  .stay .box-layout .txt-box { width:100%; }
  .stay .box-layout .pic { margin:20px auto 0; }
  .stay #art6 { background:url(../img/stay/sec2_bk_sp.jpg) no-repeat right top; background-size:cover; }
  .stay #art6 .in-w60 { min-width:inherit; padding:30px 0; }
  .stay #sec2 #art7 { width:86.6%; max-width:600px; }
  .stay #sec2 #art7 .dflt-h .en-font { font-size:25px; }
  .stay .pic2-box { display:block; margin:25px auto; width:86.6%; max-width:550px; }
  .stay .pic2-box .pic { width:100%; margin-bottom:15px; max-width:550px; }
  .stay #sec3 .txt { width:100%; max-width:500px; line-height:1.5625; }
  .stay .dflt-dl { width:100%; max-width:500px; }
  .stay .dflt-dl .line { display:block; padding:10px 0 15px; }
  .stay .dflt-dl .line dt { width:100%; }
  .stay .dflt-dl .line dd { width:100%; }
  .stay #art8 .in-w60 { margin:70px auto 60px; padding:30px; display:block; max-width:600px; }
  .stay #art8 .txt-box { width:100%; }
  .stay #art8 .pic { width:100%; margin-top:15px; }
  .stay #sec4 { width:86.6%; max-width:600px; }
  .stay #sec5 .txt { width:100%; line-height:1.5625; max-width:500px; }
  .stay #art9 { min-width:inherit; width:86.6%; max-width:500px; }
  .stay #art9 .dflt-dl dt { width:100%; }
  .stay #art9 .dflt-dl dd {
    width:100%;
    color: #FFF;
  }
  .stay #art10 { width:86.6%; max-width:500px; min-width:inherit; }
  .stay #art10 .bnr-wrap a { max-width:100%; padding:1.4em 1em; }
  .stay #art10 .bnr-wrap a span.en-font { font-size:clamp(24px, 4.8vw, 30px); }
  .stay #art10 .bnr-wrap a span.txt {font-size: clamp(16px, 3.2vw, 20px); line-height:240%; letter-spacing:.04em; }
  .stay #art10 .bnr-wrap a i.icon { margin-top:1.2em; }
  /*.stay #art10 .tbl-wrap { overflow-x:auto; }
  .stay #art10 table { width:800px; }*/
  .stay #art11 { width:86.6%; max-width:500px; min-width:inherit; margin-bottom:70px; }
  .stay #art11 table.dflt.sp-on { display:table; }
  .stay #art11 table.dflt.sp-on th { width:calc(100% / 2); padding:10px 0; }
  .stay #art4 .pic-r.art-in2 { margin-top:-1rem; }
  .stay #art4 .pic-l.art-in3 { margin-bottom:7rem; }
}
.w-text{color: #FFF;}
.red-text .dflt-h .en-font{color: #942343;}
.red-text .dflt-h .jp{color: #000;}