/* || -------------------- tanpopo */

div.tanpopo{
  width: 100%;
  padding: 0 14px 0 14px;
  margin: 0 auto 50px;
}
div.tanpopo h2.first-color{
  margin: 0 auto 20px;
}
div.tanpopo > p.text:first-of-type{
  width: 100%;
  max-width: 640px;
  line-height: 30px;
  margin: 0 auto 20px;
}
div.tanpopo > p.text:first-of-type span.emphasis{
  font-weight: bold;
  color: #FF8080;
}
div.tanpopo table{
  width: 100%;
  max-width: 1024px;
  border: 1px solid #CFC0B3;
  margin: 0 auto 50px;
}
div.tanpopo table tr th{
  width: 120px;
  font-weight: 500;
  color: #fff;
  background-color: #91BF26;
  border-bottom: 1px solid #FFE9E9;
  padding: 16px 0;
}
div.tanpopo table tr:last-child th{
  border-bottom: unset;
}
div.tanpopo table tr td{
  line-height: 26px;
  border-bottom: 1px solid #CFC0B3;
  padding: 16px 16px;
}
div.tanpopo table tr:last-child td{
  border-bottom: unset;
}
div.tanpopo table tr td ul li{
  text-indent: calc(-1em - 4px);
  padding-left: calc(1em + 4px);
}
div.tanpopo table tr td ul li::before{
  content: '●';
  color: #FF8080;
  margin-right: 4px;
}

div.tanpopo table tr td .emphasis{
  color: #FF8080;
  font-weight: bold;
}
div.tanpopo table tr td a{
  color: #FF8080;
  font-weight: bold;
  border-bottom: 1px solid #FF8080;
}
div.tanpopo table tr td a:hover{
  border-bottom: 1px solid transparent;
}


div.tanpopo > p.text:last-of-type{
  width: 100%;
  max-width: 630px;
  margin: 0 auto 50px;
}
div.tanpopo div.link-box{
  width: 100%;
  max-width: 650px;
  display: flex;
  align-items: center;
  /* justify-content: space-between; */
  justify-content: space-around;
  margin: 0 auto 0;
}
div.tanpopo div.link-box a{
  max-width: 300px;
  display: block;
  width: 100%;
  color: #fff;
  background-color: #6D5B4C;
  text-align: center;
  border-radius: 10px;
  padding: 18px 0;
}

/* parking */
div.parking{
  width: 100%;
  background-color: #FFE9E9;
  padding: 50px 14px 50px;
}
div.parking div.inner{
  width: 100%;
  max-width: 1280px;
  background-color: #fff;
  border-radius: 20px;
  padding: 50px 14px;
  margin: 0 auto 0;
}
div.parking div.inner h2.first-color{
  margin: 0 auto 50px;
}
div.parking div.inner div.map{
  width: 100%;
  max-width: 760px;
  margin: 0 auto 80px;
}
div.parking div.inner div.map figure{
  margin: 0 auto 20px;
}
div.parking div.inner div.map ul{
  margin: 0 auto 16px;
}
div.parking div.inner div.map ul li{
  text-indent: -1em;
  padding-left: 1em;
}
div.parking div.inner div.map p.note{
  color: #FF8080;
  text-indent: -1em;
  padding-left: 1em;
}

div.parking div.inner div.use{
  width: 100%;
  max-width: 970px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto 0;
}
div.parking div.inner div.use div{
  width: 100%;
  max-width: 460px;
}
div.parking div.inner div.use div h3{
  font-size: 1.25em;
  font-weight: bold;
  margin: 0 auto 20px;
}
div.parking div.inner div.use div h3::before{
  content: '●';
  color: #FF8080;
}
div.parking div.inner div.use div h3 span{
  display: inline-block;
  font-size: 16px;
  color: #FF8080;
  padding-left: 16px;
}
div.parking div.inner div.use div figure{
  width: 100%;
  margin: 0 auto 20px;
}
div.parking div.inner div.use div p{
  text-indent: -1em;
  padding-left: 1em;
}

/* pankuzu */
div.pankuzu.bk-pink{
  background-color: #FFE9E9;
}


@media screen and (max-width: 1280px) {
  div.parking div.inner div.use div{
    width: 48%;
    max-width: unset;
  }
}
@media screen and (max-width: 768px) {
  div.parking div.inner div.use div h3 span{
    display: block;
  }
  div.tanpopo div.link-box{
    flex-direction: column;
  }
  div.tanpopo div.link-box a{
    margin: 0 auto 20px;
  }
}
@media screen and (max-width: 600px){
  div.tanpopo table tr th{
    width: 100px;
  }
  div.parking div.inner div.use div{
    width: 100%;
  }
  div.parking div.inner div.use div:first-child{
    margin: 0 auto 50px;
  }
}
@media screen and (max-width: 425px){
  div.tanpopo table tr th{
    display: block;
    width: 100%;
  }
  div.tanpopo table tr td{
    display: block;
    width: 100%;
    padding: 14px 14px;
  }
}

/* || -------------------- schedule */
div.schedule{
  width: 100%;
  padding: 0 14px 0 14px;
  margin: 0 auto 80px;
}
div.schedule h2{
  margin: 0 auto 30px;
}
div.schedule ul{
  width: 100%;
  max-width: 1024px;
  border: 1px solid #CFC0B3;
  margin: 0 auto 20px;
}

div.schedule ul li{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  border-bottom: 1px dotted #CFC0B3;
}
div.schedule ul li:last-child{
  border-bottom: unset;
}
div.schedule ul li.list-head{
  background-color: #91BF26;
}
div.schedule ul li.list-head div.date,
div.schedule ul li.list-head div.contents{
  background-color: unset;
  color: #fff;
  padding: 20px 16px;
}
div.schedule ul li.list-head div.date{
  border-right: 1px solid #fff;
}

div.schedule ul li h3{
  font-size: 1.4em;
  padding: 16px 16px;
  margin: 0 auto;
}

div.schedule ul li div.date{
  width: 160px;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  background-color: #F6F3E7;
  text-align: center;
  color: #6D5B4C;
  padding: 14px 0;
} 
div.schedule ul li:nth-child(2n) div.date{
  background-color: #FBF9F2;
}
div.schedule ul li div.date span{
  display: block;
}
div.schedule ul li div.contents{
  width: calc(100% - 160px);
  display: flex;
  align-items: center;
  justify-content: space-between;

  background-color: #fff;
  padding: 14px 14px;
}

div.schedule ul li div.contents p.time{
  margin: 0 0 4px 0;
}
div.schedule ul li div.contents > div{
  width: calc(100% - 120px);
}
div.schedule ul li div.contents p.text span.note{
  color: #FF8080;
}
div.schedule ul li div.contents p.place{
  margin-left: 16px;
  white-space: nowrap;
}

div.schedule > p.note{
  width: 100%;
  max-width: 1024px;
  margin: 0 auto 20px;
}
div.schedule > p.note span{
  display: inline-block;
  margin-right: 1em;
}
div.schedule div.comment{
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
}
div.schedule div.comment p{
  text-indent: calc(-1em - 8px);
  padding-left: calc(1em + 8px);
}
div.schedule div.comment p::before{
  content: '●';
  margin-right: 4px;
}

div.schedule p span.text-green {
  color: #00A460;
}

@media screen and (max-width: 768px) {
  div.schedule ul li div.date{
    width: 110px;
  }
  div.schedule ul li div.contents{
    width: calc(100% - 110px);
  }
  div.schedule ul li div.contents br.pcNone{
    display: block;
  }
}
@media screen and (max-width: 600px){
  div.schedule ul li div.contents{
    flex-wrap: wrap;
  }
  div.schedule ul li div.contents > div{
    width: 100%;
  }
    div.schedule ul li div.contents > div p.text{
      margin: 0 0 4px 0;
    }
  div.schedule ul li div.contents p.place{
    margin-left: unset;
  }
}
@media screen and (max-width: 375px){
  div.schedule ul li{
    border-bottom: 1px solid #CFC0B3;
  }
  div.schedule ul li.list-head{
    display: none;
  }
  div.schedule ul li div.date{
    width: 100%;
    flex-direction: unset;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px dotted #CFC0B3;
    padding: 10px 14px;
  }
  
  div.schedule ul li div.contents{
    width: 100%;
    flex-wrap: wrap;
  }
}

/* || -------------------- form */


div.reservation{
  width: 100%;
  padding: 0 14px;
  margin: 0 auto 80px;
}
div.reservation form{
  width: 100%;
  max-width: 1280px;
  margin: 0 auto 0;
}
div.reservation form h2{
  text-align: center;
  font-size: 1.5em;
  font-weight: bold;
}

div.reservation div.schedule-list{
  width: 100%;
  margin: 0 auto 80px;
}
div.reservation div.schedule-list h2{
  margin: 0 auto 10px;
}
div.reservation div.schedule-list > p{
  text-align: center;
  margin: 0 auto 20px;
}

/* schedule-list inner */
div.reservation div.schedule-list div.inner{
  background-color: #F6F3E7;
  border-radius: 20px;
  padding: 40px 14px;
}
div.reservation div.schedule-list div.inner > div{
  width: 100%;
  max-width: 920px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;

  border-bottom: 1px dashed #CFC0B3;
  padding: 0 0 10px;

  margin: 0 auto 10px;
}
div.reservation div.schedule-list div.inner > div:last-of-type{
  margin: 0 auto 0;
}

div.reservation div.schedule-list div.inner div p.date{
  width: 100%;
  max-width: 220px;
  font-size: 1.12em;
}
div.reservation div.schedule-list div.inner div p.time{
  font-size: 1.12em;
}

div.reservation div.schedule-list div.inner div.sche-1,
div.reservation div.schedule-list div.inner div.sche-2{
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
div.reservation div.schedule-list div.inner div.sche-1{
  margin-right: 20px;
}

div.reservation div.schedule-list div.inner div.sche-sub {
  display: flex;
  flex-wrap: wrap;
}
div.reservation div.schedule-list div.inner div.sche-sub span {
  display: block;
  width: 100%;
}
div.reservation div.schedule-list div.inner div.sche-sub select {
  padding: 4px 8px;
}
div.reservation div.schedule-list div.inner div.sche-sub select:focus {
  outline: none;
}


div.reservation div.schedule-list input[type=checkbox]{
  display: none;
}
div.reservation div.schedule-list span.mwform-checkbox-field{
  display: block;
  text-align: center;
  margin: 0 10px 0 0;
}
div.reservation div.schedule-list span.mwform-checkbox-field-text{
  cursor: pointer;
  position: relative;
  display: inline-block;
  width: 100px;
  font-size: 16px;
  color: #FF8080;
  background-color: #fff;
  border: 1px solid #FF8080;
  border-radius: 50px;
  padding: 6px 0 6px;
}
div.reservation div.schedule-list input[type=checkbox]:checked + span.mwform-checkbox-field-text{
  color: #fff;
  background-color: #FF8080;
}

/* 入力フォーム */
div.reservation div.child-01{
  width: 100%;
  margin: 0 auto 20px;
}
div.reservation div.child-02{
  width: 100%;
  margin: 0 auto 80px;
}
div.reservation div.child-01 h2{
  margin: 0 auto 10px;
}
div.reservation div.child-01 > p{
  text-align: center;
  color: #FF8080;
  font-weight: bold;
  margin: 0 auto 20px;
}
div.reservation div.child-02 > p{
  text-align: center;
  color: #FF8080;
  font-weight: bold;
  margin: 0 auto 20px;
}
div.reservation div.parent{
  width: 100%;
  margin: 0 auto 80px;
}
div.reservation div.parent h2{
  margin: 0 auto 20px;
}
div.reservation div.introducer{
  width: 100%;
  margin: 0 auto 80px;
}
div.reservation div.introducer h2{
  margin: 0 auto 20px;
}
div.reservation div ul{
  background-color: #F6F3E7;
  border-radius: 20px;
  padding: 30px 20px 30px;
}
div.reservation div ul li{
  width: 100%;
  max-width:1000px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 0 auto 20px;
}
div.reservation div ul li:last-of-type{
  margin-bottom: unset;
}
div.reservation div ul li span.must{
  display: block;
  width: 60px;
  text-align: center;
  font-size: 0.875em;
  color: #FF8080;
  border: 1px solid #FF8080;
  border-radius: 50px;
  padding: 2px 0;
  margin: 0 10px 0 0;
}
div.reservation div ul li span.any{
  display: block;
  width: 60px;
  text-align: center;
  font-size: 0.875em;
  color: #91BF26;
  border: 1px solid #91BF26;
  border-radius: 50px;
  padding: 2px 0;
  margin: 0 10px 0 0;
}
div.reservation div ul li p{
  width: 120px;
  font-weight: bold;
  margin: 0 20px 0 0;
}
div.reservation div ul li input[type="text"]{
  width: calc(100% - 210px);
  border: 1px solid #CFC0B3;
  border-radius: 10px;
  padding: 10px;
}
div.reservation div ul li > span.mwform-radio-field{
  display: inline-block;
  margin-right: 30px;
}
div.reservation div ul li > span.mwform-radio-field:last-of-type{
  margin-right: unset;
}
div.reservation div ul li > span.mwform-radio-field input{
  accent-color: #6D5B4C;
  inline-size: 1em;
}

/* check-text */
div.check-text{
  width: 100%;
  margin: 0 auto 50px;
}
div.check-text > p{
  width: 100%;
  max-width: 850px;
  text-indent: -1em;
  padding-left: 1em;
  margin: 0 auto 20px;
}
div.check-text > span{
  display: block;
  text-align: center;
}
div.check-text input[type=checkbox]{
  display: none;
}
div.check-text span.mwform-checkbox-field-text{
  cursor: pointer;
  position: relative;
  display: inline-block;
  padding-left: 30px;
}
div.check-text span.mwform-checkbox-field-text::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 24px;
  height: 24px;
  background-color: #fff;
  border: 2px solid #FF8080;
  border-radius: 5px;
}
div.check-text span.mwform-checkbox-field-text::after{
  content: '';
  position: absolute;
  top: 2px;
  left: 7px;
  width: 10px;
  height: 14px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
  opacity: 0;
}
div.check-text input:checked + span.mwform-checkbox-field-text::before{
  background-color: #FF8080;
}
div.check-text input:checked + span.mwform-checkbox-field-text::after{
  opacity: 1;
}

/* btn-box */
div.btn-box{
  width: 100%;
  max-width: 600px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto 0;
}
div.btn-box input,
div.btn-box button{
  width: 100%;
  max-width: 290px;
  border-radius: 10px;
  padding: 18px 0;
}
div.btn-box input.btn{
  color: #fff;
  background-color: #6D5B4C;
  border: 1px solid #6D5B4C;
  margin: 0 auto 20px;
}
div.btn-box input.btn.back{
  color: #6D5B4C;
  background-color: #fff;
  border: 1px solid #CFC0B3;
  margin: 0 auto 20px;
}

/* 確認画面 */
div.reservation div.mw_wp_form_confirm div ul li{
  border-bottom: 1px dashed #CFC0B3;
  padding: 0 6px 10px;
}
.mw_wp_form_confirm div.check-text{
  text-align: center;
}

.mw_wp_form_confirm div.sche-1 > span ,
.mw_wp_form_confirm div.sche-2 > span {
  width: 60px;
  color: #fff;
  text-align: center;
	line-height: 30px;
	border-radius: 10px;
  background: #ed798e;
  margin: 0 16px 0 0;
}
.mw_wp_form_confirm div.sche-sub > span {
  width: auto;
  color: #333;
  background-color: unset;
  margin: 0;
}


/* 完了画面 */
div.reservation .mw_wp_form_complete{
  width: 100%;
  max-width: 920px;
  line-height: 26px;
  text-align: center;
  margin: 0 auto 80px;
}

div.reservation p.complete-text{
  font-size: 1.12em;
  text-align: center;
  margin: 0 auto 20px;
}

@media screen and (max-width: 768px){
  div.reservation div.schedule-list div.inner > div{
    max-width: 600px;
  }
  div.reservation div.schedule-list div.inner div p.date{
    width: 100%;
    max-width: unset;
    margin: 0 0 10px;
  }
}
@media screen and (max-width: 607px) {
  div.btn-box input.btn:nth-of-type(2){
    margin: 0 auto 20px;
    order: 1;
  }
  div.btn-box input.btn.back{
    margin: 0 auto 0;
    order: 2;
  }
}

@media screen and (max-width: 600px){
  div.reservation div.schedule-list div.inner{
    padding: 30px 14px;
  }
  div.reservation div.schedule-list div.inner div.sche-1,
  div.reservation div.schedule-list div.inner div.sche-2{
    width: 100%;
  }
  div.reservation div.schedule-list div.inner div.sche-2{
    margin: 10px 0 0;
  }

  div.reservation div ul{
    padding: 30px 14px 30px;
  }
  div.reservation div ul li{
    margin: 0 auto 10px;
  }
  div.reservation div ul li span.must,
  div.reservation div ul li span.any{
    margin: 0 10px 10px 0;
  }
  div.reservation div ul li p{
    width: calc(100% - 70px);
    margin: 0 0 10px 0;
  }
  div.reservation div ul li input[type="text"]{
    width: 100%;
  }

  div.reservation .mw_wp_form_complete{
    text-align: left;
  }
  div.reservation p.complete-text{
    text-align: left;
  }
}
/* 備考欄 */
div.reservation div.other{
  width: 100%;
  margin: 0 auto 80px;
}
div.reservation div.other > p{
  text-align: center;
  color: #FF8080;
  font-weight: bold;
  margin: 0 auto 20px;
}
div.reservation div.other ul li textarea{
  width: calc(100% - 210px);
  border: 1px solid #CFC0B3;
  border-radius: 10px;
  padding: 10px;
}
div.reservation div.other ul li textarea::placeholder{
  color: #bbb;
}
@media screen and (max-width: 600px) {
  div.reservation div.other ul li textarea{
    width: 100%;
  }
}