@charset "utf-8";

/*=================================================================================================================================*/
/** 個別指定 for スマートフォン
/*=================================================================================================================================*/

@media screen and (max-width: 980px) {
.only5{
position:absolute;
right:-1%;
top:28%;
width:110px;
}
}


/*---------------------------------------------
 ** 850px
---------------------------------------------*/
@media screen and (max-width: 850px) {

.only5{
position:absolute;
right:2%;
top:33%;
width:70px;
}


.line_entry{
margin-top:10px;
margin-bottom:16px;
overflow:hidden;
text-align:center;
max-width:80%;
margin-left:auto;
margin-right:auto;
}

.line_kikan{
font-size:18px;
margin-left:auto;
margin-right:auto;
}
.line_kikan p{
text-align:center;
font-weight:500;
}

.line_kikan span{
font-size:12px;
height:28px;
line-height:28px;
display:inline-block;
color:#fff;
background:#06c755;
padding:0 6px;
margin-right:15px;
}

.foot_line{
padding:3% 3% 5% 3%;
}


  /*---------------------------------------------
	body
---------------------------------------------*/
  html {
    scroll-behavior: smooth;
  }

  body {
    border: none;
    font-size: 1.5rem;
  }

  .only_pc_none {
    display: block !important;
  }

  .only_sp_none {
    display: none !important;
  }

  .sp_br {
    display: inline;
  }

  .pc_br {
    display: none;
  }

  /*画像*/
  img {
    height: auto;
  }

  #main {
    background: url(../img/main_bg_sp.jpg) no-repeat right center;
    background-size: cover;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
    height: auto;
    min-height: 100svh;
    min-height: calc(var(--svh, 1svh) * 100);
    overflow: hidden;
    z-index: 999;
  }

  .main_ttl {
    width: 80%;
    top: 7%;
    left: 0;
    right: 0;
    margin: 0 auto;
  }

  .main_ttl>div {
    top: 22%;
  }


 #main_camp_sp {
    width: 88%;
    max-width: 450px;
    margin: 0 auto;
    box-sizing: border-box;
    position: absolute;
    bottom: 96px !important;
    right: 0;
    left: 0;
  }


/*   #main_camp_pc {
    width: 90%;
    max-width: 600px;
    margin: 0 auto;
    background: url(../img/main_pre_bg_sp.png) no-repeat;
    background-size: 100% 100%;
    padding: 2% 2%;
    box-sizing: border-box;
    position: absolute;
    bottom: 140px;
    right: 0;
    left: 0;
  }

  #main_camp_pc>div {
    display: block;
    width: 95%;
  }

  #main_camp_pc>div>img:nth-child(1) {
    width: 80%;
    max-width: 500px;
    margin-bottom: 2%;
  }
  

#main_camp_pc>div>img:nth-child(2) {
  width: 100%;
}

  #main_camp_pc>div>img:nth-child(3) {
    width: 85%;
  }

  #main_camp_pc>div>img:nth-child(4) {
    width: 5%;
    vertical-align: -4px;
  } */



  #main_sp {
    display: block;
  }

  #main_sp a {
    width: 100%;
    display: block;
    background: #06c755;
    color:#fff;
    padding: 3% 5%;
    text-align: center;
    font-size: 120%;
    box-sizing: border-box;
    margin: 0;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 99999;
  }

  #main_sp a::before {
    content: '';
    width: calc(100% - 14px);
    height: calc(100% - 14px);
    border: 1px solid #fff;
    display: block;
    box-sizing: border-box;
    position: absolute;
    top: 7px;
    left: 7px;
    z-index: 1;
  }

  #main_sp a {
    width: 100%;
    display: block;
    color: #fff;
  }

  #main_sp span {
    font-size: 160%;
    display: block;
    line-height: 1.4;
    font-weight: 500;
  }

  .about h2 {
    width: 40%;
    max-width: 200px;
    margin: 0 auto 5%;
  }

  .present_set ul li {
    font-size: 150%;
    margin-bottom: 3px;
  }

  .resort_spot01 img:nth-child(2) {
    width: 125px;
  }

  .resort_spot02 img:nth-child(2) {
    width: 130px;
  }

  .resort_spot03 img:nth-child(2) {
    width: 130px;
  }

  .resort_spot04 img:nth-child(2) {
    width: 90px;
  }

  .resort_spot05 img:nth-child(2) {
    width: 90px;
  }

  .travel_days>div:nth-of-type(2) img:nth-of-type(1) {
    width: 100%;
    margin-left: 0%;
  }

  .travel_days>div:nth-of-type(2) img:nth-of-type(2) {
    width: 100%;
    top: 300px;
  }

  #tokuten>div>dl dd span {
    font-size: 120%;
  }

  #osusume>div dl dt {
    width: 35%;
  }

  #osusume>div dl dd {
    width: 100%;
    padding-top: 3%;
  }

  #osusume>div dl dd br {
    display: none;
  }

  .osusume01 {
    padding-top: 12%;
    padding-bottom: 4% !important;
  }

  .osusume01 dd img {
    width: 70%;
    position: absolute;
    top: -210px;
    right: auto;
    left: 35%;
  }

  .osusume02 dd img {
    width: 70%;
    position: absolute;
    top: -250px;
    right: 40%;
    left: auto;
  }

  .osusume03 dd img {
    width: 70%;
    position: absolute;
    top: -170px;
    right: auto;
    left: 35%;
  }

  #condition>dl dt {
    width: 160px;
  }

  #condition>dl dd {
    width: calc(100% - 160px);
  }

  #access h2 {
    width: 48%;
    margin-bottom: 8%;
  }

  #condition2 .limit dl dd {
    text-align: center;
    font-size:130% !important;
  width: 100%;
  max-width: 100%;
  }

  #condition2 .limit dl dd>span {
    font-size: 150%;
  }

  #condition2 .subject dl dd {
    font-size: 110%;
  }

  #pageTop {
    position: fixed;
    bottom: 78px;
    right: 10px;
  }

  #pageTop a {
    width: 15px;
  }
  .present_set p {
    font-size: 220%;
  }
  #report .bride h2 {
    top: -360px;
  }
  .bride_message{
    width:90%;
    height:auto;
    text-align: left;
  }
  .bride_message>img:nth-of-type(1) {
    width:75%;
    position:relative;
    top:auto;
    margin-left:8%;
  }
  .bride_message>picture:nth-of-type(1) img{
    width:45%;
    bottom: 0;
    top:0;
    margin:auto;
    right:0px;
    padding-top:30px;
  }
  .bride_message>picture:nth-of-type(2) img{
    width:60%;
    position:relative;
    bottom:auto;
    margin-left:-5%;
    margin-top:50px;
    left:auto;
  }
  .report_deco {
    width: 25%;
    top: 160px;
    right:-5%;
  }
  
  .report_deco2 {
    top: 760px;
    left:-5%;
    right:auto;
  }
  


  @media screen and (max-width: 760px) {
    #tokuten>div>dl {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-start;
      margin-bottom: 1%;
    }

    #tokuten>div>dl dt {
      width: 160px;
    }

    #tokuten>div>dl dt::before {
      width: 60px;
      top: -25px;
      left: -25px;
    }

    #tokuten>div>dl dt img {
      margin-left: 0;
    }

    #tokuten>div>dl dd {
      width: calc(100% - 180px);
      margin: 0;
      padding-top: 2%;
    }

    #tokuten>div>dl dd span {
      text-align: left;
      display: block;
      height: unset;
      font-size: 120%;
      margin-top: 5%;
    }

    #tokuten>div>dl dd span br {
      display: none;
    }

    #tokuten h2 {
      width: 300px;
      margin: -140px auto 60px;
    }

    .faci_block>div>div {
      width: 100%;
      padding: 5% 0 4%;
    }

    .faci_block>div:nth-child(2n) h3 {
      text-align: left;
    }

    .faci_block>div>div p {
      min-height: auto;
      text-align: left !important;
    }

    .faci_block>div>div>div img {
      display: none;
    }


    .faci_block>div>img {
      width: 100% !important;
      margin-bottom: 3%;
      position: relative !important;
    }

    .faci_block>div>img.down760 {
      display: block;
    }


    .faci_block>div p br.br_none {
      display: none;
    }

    .faci_block>div:nth-child(2n)>div {
      width: 100%;
      margin-left: 0;
    }

    .resort_spot01 {
      width: 45%;
      margin-left: 0;
      margin-top: 0%;
    }

    .resort_spot02 {
      width: 45%;
      margin-left: 50%;
      margin-top: -15%;
    }

    .resort_spot03 {
      width: 45%;
      margin-left: 5%;
      margin-top: 0%;
    }

    .resort_spot04 {
      width: 45%;
      margin-left: 55%;
      margin-top: -15%;
    }

    .resort_spot05 {
      width: 45%;
      margin-left: 10%;
      margin-top: -3%;
    }

#camp_present {
  margin-bottom: 0px;
}

    #camp_present h2 {
      margin-bottom: 6%;
    }

    #travel h2+p {
      text-align: left;
      margin: 5% auto 8%;
    }

    .travel_days>div:nth-of-type(1) {
      width: 370px;
    }

    .travel_days>div:nth-of-type(1) dl {
      margin-left: 5%;
    }

    .travel_days>div:nth-of-type(2) {
      width: calc(95% - 370px);
    }

    #facility h2+p {
      text-align: left;
      margin: 5% auto 8%;
    }

    #access h2+p {
      text-align: left;
      margin: 5% auto 8%;
    }
    .about div p {
      text-align: left;
    }

    .about div p br.br_none {
      display: none;
    }

    .sen_report h2 {
      width: 90%;
      max-width: 700px;
      margin: 0 auto 3%;
      background: url(../img/plus/report_ttl.png) no-repeat top left;
      background-size: 60% auto;
      padding: 25% 0 3% 45%;
      font-size: 90%;
      box-sizing: border-box;
      color: #000;
      text-align: left;
    }
    .report_block{
      margin-top:5%;
    }
    .report_block>dl{
      margin-bottom:8%;
    }
    .report_block>dl dt{
      width:90%;
      margin:0 auto 5%;
    }
    .report_block>dl dd{
      width:90%;
      font-size:100%;
      margin:0 auto;
    }
    .report_block>dl dd span br{
      display: none;
    } 
    .report_block>dl dd span img{
      filter: drop-shadow(2px 2px 1px rgba(255, 255, 255, 1));
    }

    .report_block>dl.report01 dd span{
      box-sizing: border-box;
      padding-top:0px;
    }
    .report_block>dl.report01 dd span img{
      width:60%;
      top:-150px;
      left:auto;
      right:-3%;
    }
    .report_block>dl.report02 dd span{
      box-sizing: border-box;
      padding-top:0px;
    }
    .report_block>dl.report02 dd span img{
      width:60%;
      top:-130px;
      left:-5%;
    }
    .report_block>dl.report03 dd span{
      box-sizing: border-box;
      padding-top:0px;
    }
    .report_block>dl.report03 dd span img{
      width:50%;
      top:-130px;
      left:auto;
      right:-3%;
    }
    .report_block>dl.report04 dd span img{
      width:60%;
      top:-120px;
      left:-5%;
    }
    .report_block>dl.report04 dd span{
      box-sizing: border-box;
      padding-top:0px;
    }
  }

  @media screen and (max-width: 700px) {
    #report .bride h2 {
      top: -290px;
    }
    .bride_message {
      margin: 140px auto 0;
    }
  }
  @media screen and (max-width: 660px) {
    body {
      font-size: 1.3rem;
    }

    h1 {
      left: 10px;
    }

    header h1,
    header.navOpen h1 {
      width: 180px;
      margin-top: 10px;
      margin-left: 0;
    }

    .main_ttl {
      width: 100%;
      top: 6%;
    }

    .main_ttl>div {
      top: 20%;
    }

    #main_camp_pc {
      bottom: 120px;
    }

    #condition>dl dt {
      width: 140px;
    }

    #condition>dl dd {
      width: calc(100% - 140px);
    }

    .now_entry a::before {
      content: '';
      width: 100px;
      top: -50px;
      right: 10px;
    }

.now_entry p span {
  display:inline-block;
}


    .osusume01 dd img {
      width: 70%;
      position: absolute;
      top: -160px;
      right: auto;
      left: 35%;
    }

    .osusume02 dd img {
      width: 70%;
      position: absolute;
      top: -190px;
      right: 40%;
      left: auto;
    }

    .osusume03 dd img {
      width: 70%;
      position: absolute;
      top: -140px;
      right: auto;
      left: 35%;
    }

    #condition>dl dt {
      width: 100%;
      background: #fff6de;
      display: block;
      text-align: center;
      padding: 5px 0;
      font-size: 110%;
    }

    #condition>dl dd {
      width: 100%;
      max-width: 550px;
      margin: 1% auto 5%;
    }

    #condition2>div>div>div {
      width: 80%;
      max-width: 400px;
    }

    .limit {
      margin-bottom: 10px !important;
    }

    #condition2 .limit dl dd {
      width: 210px;
      font-size: 150%;
    }

    #condition2 dl dt {
      margin-bottom: 0;
    }

    .travel_days>div:nth-of-type(1) h3 {
      width: 160px;
      margin-bottom: 1%;
    }

    .travel_days>div:nth-of-type(1) {
      width: 100%;
      max-width: 450px;
      margin: 0 auto;
    }

    .travel_days>div:nth-of-type(1) dl {
      margin-left: 20%;
    }

    .travel_days>div:nth-of-type(2) {
      width: 100%;
      display: flex;
      justify-content: space-between;
    }

    .travel_days>div:nth-of-type(2) img {
      width: 48% !important;
      position: relative !important;
      top: 0 !important;

    }

    .travel_days>div:nth-of-type(2) img:nth-of-type(2) {
      top: 5px !important;
    }

    .onsen_slide dl {
      width: 90%;
      margin-bottom: 8%;
    }

    .slick-arrow img {
      width: 25px;
    }
  }

  @media screen and (max-width: 580px) {
    .main_ttl>div {
      top: 17%;
    }


    #soft_resort p {
      text-align: left;
    }

    #soft_resort p br.br_none {
      display: none;
    }
    .present_set p {
      line-height:1.2;
      padding:10px 0;
    }
    .present_set p br{
      display: inline;
    }
    #report .bride h2 {
      top: -250px;
    }
    .bride_message {
      margin: 120px auto 0;
    }
    .sen_report h2 {
      background: url(../img/plus/report_ttl.png) no-repeat top left;
      background-size: 50% auto;
      padding: 20% 0 3% 35%;
    }
    .report_block>dl.report01 dd span img{
      top:-110px;
    } 
    .report_block>dl.report02 dd span img{
      top:-100px;
    } 
    .report_block>dl.report03 dd span img{
      top:-100px;
    } 
    .report_block>dl.report04 dd span img{
      top:-90px;
    } 
  }

  @media screen and (max-width: 480px) {

    body {
      font-size: 1.3rem;
    }

    .main_ttl>div {
      top: 16%;
    }

    #main_camp_pc>div>img:nth-child(1) {
      width: 90%;
      margin-bottom: 1%;
    }

    #main_camp_pc>div>img:nth-child(2) {
      width: 61%;
    }

    #main_camp_pc>div>img:nth-child(3) {
      width: 34%;
    }

    #main_camp_pc>div>img {
      margin: 0 2px;
    }

    #main_camp_pc {
      bottom: 100px;
    }

    .camp_about>div:nth-child(1) dl dd,
    .camp_about>div:nth-child(2) dl dd {
      text-align: left;
    }

    .slide_left {
      margin-bottom: 0;
    }

    .green_present {
      width: 150%;
      top: -70px;
    }

    .green_present2 {
      top: 1400px !important;
    }

    .present_list dl dd {
      font-size: 90%;
    }

    #camp_present ul {
      text-align: left;
    }

    .camp_last li {
      text-indent: -1.0rem;
      margin-left: 1.0rem;
      font-size:110%;
    }

    .present_set ul li {
      margin: 0 5px 0;
      font-size: 120%;
    }

    .now_entry a::before {
      content: '';
      width: 80px;
      top: -30px;
      right: 0px;
    }

    .now_entry strong {
      font-size: 170%;
    }

    #tokuten>div>dl {
      margin-bottom: 8%;
    }

    #tokuten>div>dl dt {
      width: 70%;
      margin: 0 auto;
    }

    #tokuten>div>dl dd {
      width: 100%;
      margin: 0;
      padding-top: 0;
    }

    .resort_spot {
      width: 95% !important;
    }

    .faci_cere h3 img {
      max-width: 180px;
    }

    .faci_block>div>img {
      bottom: 15%;
    }

    .faci_block>div:nth-child(2n)>img {
      bottom: 15%;
    }

    .faci_party h3 img {
      max-width: 110px;
    }

    .faci_garden h3 img {
      max-width: 140px;
    }

    .faci_dress h3 img {
      max-width: 115px;
    }

    .faci_cuis h3 img {
      max-width: 140px;
    }

    .osusume01 dd img {
      top: -130px;
      width: 85%;
    }

    .osusume02 dd img {
      top: -150px;
      width: 85%;
    }

    .osusume03 dd img {
      top: -100px;
      width: 85%;
    }

    #travel .onsen,
    #travel #tokuten {
      margin: 20% auto;
    }

    .travel_days>div:nth-of-type(1) dl {
      margin-left: 10%;
    }

    .about h2 {
      width: 50%;
      margin: 0 auto 8%;
    }

    #camp_present h2 {
      width: 60%;
      margin: 0 auto 8%;
    }

    #soft_resort h2 {
      width: 85%;
      margin: 0 auto 8%;
    }

    #travel h2 {
      width: 52%;
      margin: 0 auto 8%;
    }

    #facility h2 {
      width: 60%;
      margin: 0 auto 8%;
    }

    .osusume01 {
      padding-top: 16%;
    }

    #access>div>div p {
      line-height: 1.6;
      margin: 10px 0;
      text-align: left;
    }

    #condition>dl dd br.br_none {
      display: none;
    }
    #main_camp_sp {
      bottom: 90px;
    }
    #report .bride h2 {
      top: -220px;
    }
    .bride_message {
      margin: 150px auto 0;
    }
    #report .bride h2{
      width:100%;
      top:-250px;
    }
    .bride_message>img:nth-of-type(1) {
      width:100%;
      margin-left:0;
    }
    .bride_message>picture:nth-of-type(1) img {
      width:85%;
      position:relative;
      bottom:auto;
      margin-left:15%;
      margin-top:5px;
      left:auto;
      padding-top:0;
    }
    .bride_message>picture:nth-of-type(2) img {
      width:85%;
      position:relative;
      bottom:auto;
      margin-left:-5%;
      margin-top:-60px;
      margin-bottom:30px;
      left:auto;
    }
    .sen_report h2 {
      background: url(../img/plus/report_ttl.png) no-repeat top center;
      background-size: 200px auto;
      padding: 145px 0 0 0;
      text-align: center;
      margin-top: -20px;
   }

    .report_block>dl.report01 dd span img{
      width:70%;
    }
    .report_block>dl.report02 dd span img{
      width:70%;
    }
    .report_block>dl.report03 dd span img{
      width:65%;
    }
    .report_block>dl.report04 dd span img{
      width:75%;
    }
    .report_block>dl {
      margin-bottom: 12%;
    }
    .report_deco {
      width: 30%;
      top: 260px;
      right:-8%;
    }
    
    .report_deco2 {
      top: 650px;
      left:-8%;
      right:auto;
    }
    #anc_report {
      margin-top: -30%;
      padding-top: 52%;
    }
  }
  @media screen and (max-width: 420px) {
    .report_block>dl.report01 dd span img{
      top:-90px;
    } 
    .report_block>dl.report02 dd span img{
      top:-80px;
    } 
    .report_block>dl.report03 dd span img{
      top:-85px;
    } 
    .report_block>dl.report04 dd span img{
      top:-75px;
    } 
  }

  @media screen and (max-width: 400px) {
    .main_ttl>div {
      top: 14%;
    }

    .faci_block>div>img {
      bottom: 13%;
    }

    .faci_block>div:nth-child(2n)>img {
      bottom: 13%;
    }

    .now_entry a::before {
      width: 70px;
      top: -40px;
    }
    .report_block>dl.report01 dd span img{
      top:-85px;
    } 
    .reportblock>dl.report02 dd span img{
      top:-75px;
    } 
    .report_block>dl.report03 dd span img{
      top:-80px;
    } 
    .report_block>dl.report04 dd span img{
      top:-70px;
    } 
    .bride_message {
      margin: 100px auto 0;
    }
    #report .bride h2 {
      top: -220px;
    }

  }

  @media screen and (max-width: 360px) {
    body {
      font-size: 1.2rem;
    }

    .osusume01 dd img {
      top: -100px;
      width: 85%;
    }

    .osusume02 dd img {
      top: -120px;
      width: 85%;
    }

    .osusume03 dd img {
      top: -70px;
      width: 85%;
    }

    .faci_block>div>img {
      bottom: 11.5%;
    }

    .faci_block>div:nth-child(2n)>img {
      bottom: 11.5%;
    }
    .report_block>dl.report01 dd span img{
      top:-80px;
    } 
    .reportblock>dl.report02 dd span img{
      top:-70px;
    } 
    .report_block>dl.report03 dd span img{
      top:-75px;
    } 
    .report_block>dl.report04 dd span img{
      top:-65px;
    } 
    .report_deco {
      width: 30%;
      top: 200px;
      right:-8%;
    }
    
    .report_deco2 {
      top: 550px;
      left:-8%;
      right:auto;
    }
    #anc_report {
      margin-top: -40%;
      padding-top: 62%;
    }

  }

}

/* スマホのときのみ電話をかける */
@media (min-width: 850px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

/* 追記20230526 */
@media (max-width: 850px) {
  .present_list dl.sp-width01 {
  width: 45% !important;
  text-align: center;
  margin-left:2.5% !important;
  margin-right:2.5% !important;
}
  }
