@charset "utf-8";
    @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      border:none;
      list-style: none;
    }

    body {
      margin: 0;
      padding: 0;
      font-family: "Noto Serif JP", serif;
      font-optical-sizing: auto;
      font-style: normal;
      color: #746458;
    }
    img{
      max-width: 100%;
      /* display: block; */
    }
    .tac{
        text-align: center;
    }
    header{
      background-color: #fef2ef;
                      /* background-color: #f6d7d0; */
      border-bottom:1px solid #746458;
      display: flex;
      justify-content: space-between;
      padding: 0.2em;
    }
    header h1{
      font-size: 1.2em;
      padding: 3px 2em;
    }
    header h1 span{
      font-weight: normal;
    }
    header p{
      /* font-size:0.8em; */
      font-size: 1em;
      letter-spacing: 0.2em;
      font-weight: bold;
      padding:3px 2em;
        color:#746458;
    }
    header p span.on{
      color:#746458;
      opacity: 0.4;
          background: #f2c7bd;
  padding: 5px;
  border-radius: 30px;


    }
    header p a:hover{
      opacity: 1;
    }
    header p a:link{
      text-decoration: none;
      color:#746458;
      display: inline-block;
      /* background-color: #fbd6d9; */
    }

    main p{
      width: 90%;
  margin: 0 auto;
    }

    section.eyecatch{
      padding: 2em 2em 2em 2.2em;
    text-align: center;
    font-size: 1.5em;
    }
    /* section.eyecatch p{
      margin: 0.5em;
    } */
    section.eyecatch .eyecatch_small{
      font-size: 0.6em;
    }
    .hero p{
      filter: drop-shadow(1px 0px 1px #ffffff);
    }
    h2{
      font-size: 2.5em;
      font-family: "Noto Serif JP", serif;
      padding-top: 1em;
      padding-bottom: 1em;
      /* padding-left: 2em; */
      text-align: center;
      
    }
    main h3,button.accordion{
      font-family: "Noto Serif JP", serif;
      font-size: 1.6em;
      /* padding-left: 3em; */
      text-align: center;
    }

      @media screen and (max-width: 768px){
      h2{
      padding-left: 0.5em;
      } 
    
    main h3,button.accordion{
      font-family: "Noto Serif JP", serif;
      font-size: 1.5em;
      padding-left: 1em;
    }}
    h4{
      font-size: 1.2em;
              font-family: "Noto Serif JP", serif;
      color:#FFF;
      text-shadow: 0 1px #746458;
      padding-left: 3em;
    }
    h5{
      font-size: 1.2em;
      padding-left: 3em;
    }
@media screen and (min-width: 770px){
.spbr{
  display: none;
}
}
p.cp-banner,p.cp-banner_spring,p.cp-banner-rewards{
  width: 100%;
  max-width: 720px;
  height: 160px;
  font-size: 2em;
  line-height: 1.5em;
  background-size: cover;
  background-position: right 10% bottom 10%;
  padding-top: 1em;
  color: white;
  text-shadow: 0 1px 1px #575757, 0 0 3px #ffffff;
}
p.cp-banner_spring{
  background-image: url(../images/cp_spring_bg.png);
  color: #ffdade;
  text-shadow: 0 1px 5px #413f3f, 0 0 3px #1b1a1a;
  margin-top:1em;
}
p.line-3{
  padding-top: 10vh;
}
@media screen and (min-width: 770px){
p.line-3{
  padding-top: 0;
}
}
p.cp-banner-color-brown{
      color: #746458;
    text-shadow: 0 1px 1px #ffffff, 0 0 3px #ffffff;
}
p.cp-banner01{
  background-image: url(../images/cp_bg.png);
}

p.cp-banner-rewards{
  background-image: url(../images/cp_rewards_bg.png);
  line-height: 1.1em;
  margin-top:1em;
  font-size: 1.8em;
}
p.cp-banner-rewards2{
  background-image: url(../images/cp_rewards_bg2.png);
  line-height: 1.1em;
  margin-top:1em;
  font-size: 1.8em;
}
@media screen and (max-width:770px) {
  p.cp-banner,p.cp-banner-rewards{

  height: 5em;
  padding-bottom: 8em;
  padding-top: 10vh;
  }
}
a.cp-banner-a{text-decoration: none;}
a.cp-banner-a:hover{
  opacity: 0.8;
  }
span.cp_b{
  font-size: 1.5em;
}
div.column{
margin-top: 5em;
}
.hero {
  position: relative;
      height: 60vh;
    width: 100%;}
.content-box {
/* background-image: url(../images/top-img_01.jpg); */
  /* background-image: url(../images/pairroom.png); */

/* background-size: cover; */
/* background-position: center; */
height: 60vh;
display: flex;
align-items: center;
justify-content: center;
color: white;
text-align: center;
padding: 20px;
opacity: 0;
transform: translateY(5px);
animation: fadeInUp 1.8s ease-out forwards;
position:absolute;
top:0%;
/* left: 8%; */
left: 0%;
width: 100%;
z-index: 10;
/* position: relative; */
}
@media  screen and (max-width:770px) {
  .content-box {
    padding:0;
    left:0;
  }
}
.hero-img01,.hero-img02{
  /* background-image: url(../images/top-img_01.jpg); */
    /* background-image: url(../images/pairroom.png); */
  background-image: url(../images/top-img001.png);
background-size: cover;
background-position: center;
width: 100%;
height: 60vh;
opacity: 0;
transform: translateY(5px);
animation: fadeInUp 1.8s ease-out forwards;
position:absolute;
top:0%;
left: 0%;
z-index: 1;
}

/* アニメーション定義 */
@keyframes fadeInUp {
0% {
  opacity: 0;
  transform: translateY(5px);
}
100% {
  opacity: 1;
  transform: translateY(0);
}
}

.fade-in.active {
opacity: 1;
}
/* .hero-img01{
  background-image: url(../images/top-img_01.jpg);
  
  animation: slide-fade01 10s ease-in infinite;
}
.hero-img02{
  background-image: url(../images/pairroom.png);
  
  animation: slide-fade01 10s ease infinite;
} */
/* @keyframes slide-fade01 {
0% {opacity: 1;}
25% {opacity:0;}
50% {opacity: 0;}
100%{opacity: 0;}
}
@keyframes slide-fade02 {
0% {opacity: 0;}
50% {opacity: 0;}
75% {opacity: 1;}
100%{opacity: 0;}
} */
.hero_txt{
background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(251, 214, 217, 0.05) 5%, rgba(251, 214, 217, 0.3) 15%, rgba(251, 214, 217, 0.3) 50%, rgba(251, 214, 217, 0.3) 85%, rgba(251, 214, 217, 0.05) 96%, rgba(0, 0, 0, 0) 100%);
padding: 1em 5em;
text-shadow: 0 1px #746458;
filter: drop-shadow(0 1px #fbd6d9);
}
@media screen and (max-width: 768px){

      .hero_txt{padding: 0;}

}


/* カラム */
.contents {
margin-top: 1em;
font-family: 'Hiragino Kaku Gothic Pro', 'qMmpS Pro W3', Meiryo, Osaka, sans-serif;;
}
.inner-wrapper {
max-width: 1200px;
margin: 0 auto;
}
.concept{
padding: 5em;
}
.concept p{
font-size: 1.3em;
padding:1em 3em;
}
.column {
flex: 1;
min-width: 300px;
padding: 10px;
border: 1px solid #ccc;
}

.accordion {
  background-color: #fef2ef;
  
color: #444;
cursor: pointer;
padding: 10px;
margin: 5px;
width: 100%;
border: none;
text-align: left;
outline: none;
font-size: 16px;
transition: background-color 0.2s ease;
}
.accordion img{
      text-align: center;
      padding: 8px 0 32px 0;
}

.accordion:hover {
background-color: #fbd6d9;
}
.menu-item{
    padding: 40px;
}
@media screen and (max-width: 768px){
.menu-item {
padding: 0 0 20px 0;
}}
.menu-item-comment p{
width: 100%;
max-width: 30em;
}

.panel {
overflow: hidden;
max-height: 0;
transition: max-height 0.3s ease-out, padding 0.3s ease-out;
padding: 0 10px;
}

.panel.open {
padding: 10px;
}


@media (max-width: 900px) {
.contents {
  flex-direction: column;
}

.hero h1 {
  font-size: 28px;
}

.hero p {
  font-size: 16px;
}
}
.notice{
  padding-top: 3em;
}
.notice_ul li{
margin-top: 1em;
margin-bottom: 1em;
text-indent: -1em;
padding-left: 1em;
padding-right: 2em;
text-align: justify;
}
.notice_ul li.ast_sub{
  padding-left: 2em;
}
a.safety_info{
display: block;
width: 60%;
min-width: 16em;
height: 6em;
line-height: 6em;
border: 1px solid #746458;
margin: 2em auto;
text-align: center;

}
.safety_info a:hover{
opacity: 0.8;
}
footer{
text-align: center;
  font-family: "Noto Serif JP", serif;
margin-top: 5em;
}
footer h3{
    font-size: 2em;
}
.footer-logo{
text-align: right;
filter: brightness(0.3);
}
.footer-logo img{
display:inline-block;
}
.access-parent{
background-color: #746458;
padding-bottom: 2em;
}
div.access{

  text-align: center;
  padding: 2em;
  background: #fef2ef;
  width: 80%;
  margin: 0 auto;
}
@media screen and (max-width: 768px){
div.access{width: 100%;}
}

div.access p{
margin: 1.5em;
}
div.access a{
  color: #746458;
  font-weight: bold;
  text-decoration:underline;
  
}
div.access-parent .access{
  color: white;
  background-color: #746458;
  padding:0;
  }
div.access-parent .access a{
  color: white;
}
div.access iframe{
width: 100%;
height: 16em;

filter: sepia(0.1);
}
.wave{
background-image: url(../images/wave.svg);
background-size:cover;
background-position: top 0px right 0;
padding-bottom: 2em;
margin-top: 5em;
}
.wave p a{
text-decoration: none;
color: #fef2ef;
}
footer p:has(small){
background-color: #fef2ef;
}
/*ここから追記CSS*/
.panel.open p{
text-align-last: left;
text-align:justify;}
#contents {
max-width: 980px;
width: 100%;
margin: 0 auto;
color: #746458;
}
.panel.open .df {
display: flex;
justify-content: space-between;
}
@media screen and (max-width: 900px) {
.panel.open .df {
  display: block;
  padding-bottom: 2em;
}
}
/* .accordion h3 {
background: url(../images/bg_title_1.gif) no-repeat;
} */
/* .panel.open .menu-item h3 {
width: 184px;
text-align: center;
padding: 8px 0 32px 0;
} */
.panel.open .menu-item h4,.notice h4{
background: linear-gradient(90deg,#746458 30%, #74645800 80%);
text-align-last: left;
margin-bottom: 15px;
height: 1.8em;
line-height: 1.8em;
padding-left: 3em;
}
.panel.open .menu-item p {
padding-left: 50px;
padding-bottom: 2em;
padding-right: 2em;
}
.panel.open p.menu-item-ta-right{
text-align: right;
width: 37em;
max-width: 100%;
margin-right: 0;
padding-right: 0;
}
@media screen and (max-width: 900px) {
.panel.open .menu-item h3 {
    background: linear-gradient(90deg, #746458 50%, #74645800 100%);
}
.panel.open .menu-item div:has(table){
max-width: 455px;
margin: 0 auto;
}
.panel.open p.menu-item-ta-right{
  margin: 0;
  padding: 0;
}
}
.panel.open div .menu-item-comment{
display: flex;
justify-content: space-between;
}

.panel.open .menu-item table {
width: 455px;
margin-bottom: 4px;
}
@media screen and (max-width: 900px) {
.panel.open .menu-item table {
    width: 100%;
    max-width: 455px;
}
}
@media screen and (max-width: 900px) {
.panel.open .menu-item p {padding: 1em 0 2em 0;

}}
.panel.open .menu-item div table td,
.panel.open .menu-item div table th {
text-align: center;
font-size: 80%;
color: #746458;
}
.panel.open .menu-item div table .minute {
width: 50%;
border: 1px solid #746458;
}
.panel.open .menu-item div table td.visitor {
width: 45%;
background: #fef2ef;
}
.menu-item div ul{
padding-left: 4em;
}
@media screen and (max-width: 768px){
.panel.open .menu-item h4{
background: linear-gradient(90deg, #746458 30%, #746458 90%, #74645800 100%);
      padding-bottom: 4em;
}
.menu-item div ul {
  padding-left: 2em;
}}