@charset "utf-8";
/* ============================================================================================== */
/* lower                                                                                          */
/* ============================================================================================== */

/* ============================================================================================== */
/* common                                                                                         */
/* ============================================================================================== */

@media (min-width: 769px) {
 .lower #ttl{
  margin-bottom: 95px;
 } 
}
.lower #ttl .inner{
 position: relative;
 margin: auto;
}
.lower.topics_detail #ttl .inner figure{
 max-width:none !important;
}
@media (min-width: 1140px) {
 .lower #ttl .inner figure{
  margin-left: calc(50% - 50vw)  !important;
  margin-right: calc(50% - 50vw)  !important; 
 }
}
/*.lower #ttl{
 position: relative;
}*/
.lower #ttl h1{
 position: absolute;
 top:0;
 bottom: 0;
 /*left: 0;*/
 right: 30px;
 display: inline-table;
 max-width: fit-content;
 height: 53px;
 margin: auto !important;
 padding: 5px 20px !important;
 color: #fff;
 font-size: 3.6rem;
 font-weight: 300;
 letter-spacing: 0.5rem;
 text-align: center;
 background: rgba(94,93,93,0.6);
}
.lower  h2{
 color: #e72410;
 font-size: 2.8rem;
 font-weight: 700;
 padding-bottom: 5px;
 border-bottom: #e72410 2px solid;
}
.lower p{
 font-size: 1.8rem;
 word-break: break-all;
}
.lower .sub_group{
 border: #F4EAE4 2px solid;
}


@media (max-width: 768px) {
 .lower #ttl h1{
  left: 0;
  right: 0;
  font-size: 2.8rem;
  height: 40px;
 } 
 .lower #ttl img{
  height: 120px;
  width: auto;
  object-fit: cover;
 }
 .lower  h2{
  font-size: 2.0rem;
 }
}


/* ============================================================================================== */
/* .topics                                                                                        */
/* ============================================================================================== */
.topics .list{
 margin: 0 !important;
}
.topics .list li{
 display: block !important;
 width: 100% !important;
 padding:0 15px 20px;
 margin-bottom: 20px;
 border-bottom: #333 1px solid;
}
.topics .list a{ 
 transition: all 1s;
}
.topics .list a:hover{
 text-decoration: underline;
}
.topics .list h3{
 display: inline-block;
 margin-left: 10px;
}
.topics .page_nav{
 text-align: center;
}
@media (max-width: 768px) {
 .topics .inner{
  margin-top: 10vw !important;
 }
 .topics .list li time{
  display: block;
  width: 100%;
 }
 .topics .page_nav {
  margin-bottom: 25vw;
 }
 .topics .list h3{
  margin-left: 0;
  font-size:1.9rem;
 }
}
@media (max-width: 768px) {
.topics_detail .inner{
 width: 95vw;
}
.topics_detail .inner.pagenav{
 margin-bottom: 20vw;
}
 .topics_detail .btn{
  font-size: 1.4rem
 }
}

/* ============================================================================================== */
/* .method                                                                                        */
/* ============================================================================================== */
.method .psr{
 position: relative;
}
.method .btn{
 position: absolute;
 top: -7px;
 right: 0;
}
.method .btn a{
 display: block;
 color: #fff;
 padding: 5px 10px;
 background: #e72410;
 transition: all 1s;
}
.method .btn a:hover{
 opacity: 0.7;
}
.method strong{
 color: #e72410; 
}
.method h3{
 color: #e72410;
 font-size: 1.9rem;
 font-weight: 700;
 padding: 10px 25px 10px 20px;
 margin-bottom: 20px;
 background: #F4EAE4;
 /*border: #999999 1px solid;*/
}
.method h4{
 color: #000;
 font-weight: 700;
}
.method h4::before{
 content: "◉";
 color: #e72410;
}
.method ul.list{
 margin:0 0 0 40px;
}
.method ul.list li{
 list-style: disc;
 font-size: 1.8rem;
}
.method ul.file {
 margin:0 0 0 20px;
}
.method ul.file li{
 list-style: none;
 margin-bottom: 20px;
}
.method ul.file li a{
 font-size: 1.8rem;
 text-decoration: underline; 
}
.method ul.file li a[href$=".pdf"]{
 word-break: break-all;
 padding-left: 30px;
 background-position: center left;
}
.method ul.file li a[href$=".docx"]{
 word-break: break-all;
 padding-left: 30px;
 background-position: center left;
}
.method ul.file li a[href$=".xlsx"]{
 word-break: break-all;
 padding-left: 30px;
 background-position: center left;
}
.method table{
 width: auto;
 font-size: 1.8rem;
 border-color: #999;
 /*border-top: #999999 1px solid;
 border-right: #999999 1px solid;*/
}
.method table th{
 padding: 10px;
 background: #F5F5EF;
 border-color: #999;
 /*border-left: #999999 1px solid; 
 border-bottom: #999999 1px solid;*/
}
.method table td{
 vertical-align: top;
 padding: 10px;
 border-color: #999;
/* border-left: #999999 1px solid; 
 border-bottom: #999999 1px solid;*/
}
.method figcaption{
 font-size: 1.4rem;
}
.method .rabbit{
 padding-left: 60px;
 margin-top: -140px;
}
.method .st01{
 color: #009933;
 border-bottom: #009933 2px solid;
}
.method .st02{
 color: #ff9933;
 border-bottom: #ff9933 2px solid;
}
.method .st03{
 color: #cc0033;
 border-bottom: #cc0033 2px solid;
}
.method .congestion_situation{
 width: 472px;
}
@media (max-width: 768px) {
 .method .congestion_situation{
  width: 90vw;
  margin: auto;
 }
 .method main{
  padding-bottom: 20vw !important;
 } 
 .method table{
  word-break: break-all;
 }
 .method .btn{
  position: static;
  width: 45vw;
  font-size: 1.3rem;
  margin: 10px 0 0 auto !important;
 }
 .method .route{
  margin-bottom: 25vw;
 }
}

/* ============================================================================================== */
/* .tour                                                                                          */
/* ============================================================================================== */
.tour .flow {
 margin: 30px 30px 0;
}
.tour .flow .wp-block-column{
 padding: 10px 20px;
 border: #B9312C 1px solid;
 border-radius: 10px;
}
.tour .flow .wp-block-column:nth-child(2){
 position: relative;
}
.tour .flow .wp-block-column:nth-child(2)::before{
 position: absolute;
 top: 28%;
 left: -17%;
 content: "▶";
 color: #d6e7b9;
 font-size: 4.0rem;
}
.tour .flow .wp-block-column:nth-child(2)::after{
 position: absolute;
 top: 28%;
 right: -17%;
 content: "▶";
 color: #d6e7b9;
 font-size: 4.0rem;
}
.tour .flow .wp-block-column h3{
 color: #000;
 font-size: 2.4rem;
 font-weight: 500;
}
.tour p a{
 color: #e72410;
 transition: all 1s;
}
.tour p a:hover{
 opacity: 0.7;
}
.tour table{ 
 font-size: 1.8rem;
 border-color: #999;
}
.tour table th{
 text-align: left;
 padding: 10px;
 background: #F4EAE4;
 border-color: #999;
}
.tour table td{
 vertical-align: top;
 padding: 10px;
 border-color: #999;
}
.tour .btn a{
 display: block;
 color: #fff;
 font-size: 2.1rem;
 font-weight: 500;
 text-align: center;
 padding: 15px 100px;
 background: #e72410;
 border-radius: 10px;
 transition: all 1s;
}
.tour .btn a:hover{
 opacity: 0.7;
}
.tour .hukidashi {
 position: relative;
 width: 265px;
 height: 235px;
 color: #000;
 padding: 33px 10px 30px 34px;
 margin: 0 -40px 100px 0;
 background: #F4EAE4;
 border-radius: 130px;
}
.tour .hukidashi:after {
 border: solid transparent;
 position: absolute;
 left: 98%;
 top: 54%;
 content: '';
 height: 0;
 width: 0;
 pointer-events: none;
 border-color: rgba(0, 0, 255, 0);
 border-top-width: 20px;
 border-bottom-width: 20px;
 border-left-width: 40px;
 border-right-width: 40px;
 margin-top: -20px;
 border-left-color: #F4EAE4;
}

@media (max-width: 768px) {
 .tour main{
  padding-bottom: 10vw !important;
 } 
 .tour .flow {
  margin: 30px 0 0;
 }
 .tour .flow .wp-block-column:nth-child(2){
  margin: 1vw 0;
 }
 .tour .flow .wp-block-column:nth-child(2)::before{
  position: absolute;
  top: -15vw;
  left: 0;
  right: 0;
  margin: 0 auto;
  content: "▼";
  width: 40px;
  height: auto;
 }
 .tour .flow .wp-block-column:nth-child(2)::after{
  content: none;
 }
 .tour .flow .wp-block-column:nth-child(3){
  position: relative;
 }
 .tour .flow .wp-block-column:nth-child(3)::before{
  position: absolute;
  top: -15vw;
  left: 0;
  right: 0;
  margin: 0 auto;
  content: "▼";
  width: 40px;
  height: auto;
  color: #d6e7b9;
  font-size: 4.0rem;
 }
 .tour table th{
  display: block;
  width: 100%;
 }
 .tour table td{
  display: block;
  width: 100%;
 }
 .sp_btn_box{
  flex-wrap:wrap !important;
  margin-bottom: 15vw !important;
 }
 .sp_btn_box figure{
  width: 20vw;
 }
 .sp_btn_box .hukidashi{
  width: 100%;
 }
 .tour .btn{
  width: 100%;
 }
 .tour .btn a{
  padding: 5px 25px;
  }
 .tour .hukidashi {
  position: relative;
  display: block;
  width: 66vw;
  height: auto;
  color: #000;
  font-size: 1.4rem;
  padding: 15px;
  margin: 0;
  border-radius: 10px;
 }
 .tour .hukidashi:after {
  border-top-width: 10px;
  border-bottom-width: 10px;
  border-left-width: 30px;
  border-right-width: 30px;
 }
}

/* ============================================================================================== */
/* .tour_calendar                                                                                 */
/* ============================================================================================== */
.tour_calendar #bottomPanel{
 text-align: center;
}
.tour_calendar #booking-package button{
 width: 200px;
 min-width: 100px;
 color: #fff;
 padding: 15px 20px;
 background: #878787;
 border: none;
 border-radius: 5px;
 cursor: pointer;
 transition: all 1s; 
}
.tour_calendar #booking-package button:hover{
 opacity: 0.7;
}
.tour_calendar #booking-package_pay_locally button{
 background: #FF4447;
}
.tour_calendar #paymentPanel{
 display: inline-block;
 margin-left: 30%;
}
.tour_calendar #nextAndReturnPanel{
 display: inline-block;
}
@media (max-width: 768px) {
 .tour_calendar #booking-package-locale-ja{
  margin-bottom: 20vw;
 }
 .tour_calendar .calendarData{
  font-size: 2.1rem;
 }
 .tour_calendar #paymentPanel{
  margin-left: 14vw;
 }
 .tour_calendar #booking-package button{
  width: auto;
 }
}
/*-common-*/
#booking-package-locale-ja {
 max-width: 1140px;
}
/*-calendar-*/
#booking-package .sat {
 color: #fb2929;
}
#booking-package .sun {
 color: #fb2929;
}
#booking-package_calendarPage .closeDay {
 color: #b7b6b6;
}
#booking-package_schedulePage .selectPanelError {
 color: #ddd;
}
.material-icons {
 font-weight: 700 !important;
 color: #e68717 !important;
}
 #booking_package_input_privacy01{
 display: none;
}
 #booking_package_input_privacy02{
 display: none;
}
#booking-package_schedulePage .selectPanel .timeSlot{
 display: none; 
}
#booking-package_schedulePage .closed .timeSlot{
 display: none; 
}
/*-form-*/
#booking-package_inputFormPanel .selectedDate{
 border: none;
}
#reservationHeader {
 font-size: 0 !important;
 text-align: left !important;
 border: none;
}
#reservationHeader::after {
 display: block;
 content: "ご予約日時 / ご連絡先";
 color: #e72410;
 font-size: 2.5rem;
 padding: 10px 25px 10px 20px;
 background: #F4EAE4;
}
#booking-package_inputFormPanel .row {
 display: flex;
 border-bottom: #ffd6d1 1px dotted !important;
}
#booking-package_inputFormPanel .total_amount {
 margin-bottom: 50px;
 border-bottom: #e72410 2px solid !important;
}
#booking-package_inputFormPanel div.row .name {
 width: 20%;
 font-size: 1.8rem;
 font-weight: 500;
}
#booking-package_inputFormPanel .value{
 width: 80%;
}
#booking-package_inputFormPanel .value .bookingTime{
 display: none; 
}
#booking-package_inputFormPanel select {
 width: auto;
 padding: 1.0em;
}
#booking-package_inputFormPanel input[type=text] {
 width: 45%;
 padding: 1.0em;
}
.tour_calendar #booking-package_inputFormPanel textarea{
 height: 130px;
}
#booking-package_calendarPage .dayPanel{
 border-width: 2px 0px 0px 2px;
}
#booking-package_calendarPage .sun, #booking-package-day-6, #booking-package-day-13, #booking-package-day-20, #booking-package-day-27, #booking-package-day-34 {
 border-width: 2px 2px 0px 2px !important;
}
#booking-package-day-41 {
 border-width: 2px 2px 2px 2px !important;
}
#booking-package_calendarPage .border_bottom_width {
 border-bottom-width: 2px !important;
}
#booking-package_calendarPage .dayPostion{ 
 background-color: rgba(253,246,241,0.4);
}
#booking-package_calendarPage .dayPostion::after {
 content: "日";
}
#booking-package_calendarPage .numberInsteadOfSymbols{
 font-weight: bold;
 border-top: 1px #ccc dotted;
}
/*#booking-package_calendarPage .numberInsteadOfSymbols::after{
 content: "枠";
}*/
@media (max-width: 768px) {
 #booking-package_inputFormPanel .row {
  display: block;
 }
 #booking-package_inputFormPanel div.row .name {
  width: 100%;
 }
 #booking-package_inputFormPanel .value{
  width: 100%;
 }
 #booking-package_inputFormPanel select {
  width: 50%;
 }
 #booking-package_inputFormPanel input[type=text] {
  width: 100%;
 }
}
/* ============================================================================================== */
/* .facility                                                                                      */
/* ============================================================================================== */
.facility table{ 
 font-size: 1.8rem;
 border-color: #999;
/* border-top: #999999 1px solid;
 border-right: #999999 1px solid;
 border-left: #999999 1px solid;*/
}
.facility table th{
 text-align: left;
 padding: 10px;
 border-color: #999;
 /*background: #F4EAE4;*/
 /*border-bottom: #999999 1px solid;*/
}
.facility table td{
 vertical-align: top;
 padding: 10px;
 border-color: #999;
 /*border-bottom: #999999 1px solid*/;
}
.facility .rabbit{
 margin-top: -115px;
}
.facility .rabbit_02{
 float: none !important;
}
.facility #intro .wp-block-columns{
 justify-content: space-between;
}
.facility #intro .wp-block-column{
 max-width: 345px;
}
.facility #intro .wp-block-column p{
 font-size: 1.6rem;
}
.facility #intro .float_block {
 display: block;
}
.facility #intro .float_block .rabbit_03{
 position: relative;
 float: right;
 width: 130px !important;
 margin:  -96px -20px 0 0;
}
.facility #intro .float_block .rabbit_03 img{
 width: 130px;
 max-width: 130px !important;
}
.facility #intro .float_block .rabbit_04{
 position: relative;
 float: right;
 width: 130px !important;
 margin:  -38px -20px 0 0;
}
.facility #intro .float_block .rabbit_04 img{
 width: 130px;
 max-width: 130px !important;
}

@media (max-width: 768px) {
 .facility main{
  padding-bottom: 20vw !important;
 } 
 .facility table th{
  display: block;
  background: #F4EAE4;
  border-bottom: none;
 }
 .facility table td{
  display: block;
 }
 .facility .rabbit{
  margin-top: -22vw;
 } 
}

/* ============================================================================================== */
/* .operation                                                                                     */
/* ============================================================================================== */
.operation ul.file {
 margin:50px 0 0 20px;
}
.operation ul.file li{
 list-style: disc;
 margin-bottom: 20px;
}
.operation ul.file li a{
 font-size: 1.6rem;
 word-break: break-all;
 text-decoration: underline; 
}
@media (max-width: 768px) {
 .operation .rabbit{
  margin-bottom: 25vw;
 } 
}

/* ============================================================================================== */
/* .access                                                                                        */
/* ============================================================================================== */
.access .map_img{
 margin-top: 50px;
}
.access .map_google{ 
 margin-top: 50px;
}
.access .map_google h4{
 color: #000;
 font-weight: 500;
}
.access .rabbit{
 margin-top: -90px;
}
@media (max-width: 768px) {
 .access .map_img{
  margin-top: 3vw;
 }
 .access .map_google{
  flex-wrap: wrap-reverse !important;
 }
 .access .map_google .wp-container-6{
  width: 100%;
  order: 1;
 }
 .access .rabbit{
  float: none;
  margin-top: 0;
  margin-bottom: 25vw;
 }
}

/* ============================================================================================== */
/* .inquiry                                                                                       */
/* ============================================================================================== */
.inquiry table{
 width: auto;
 font-size: 1.8rem;
 margin-top: 30px;
 border-color: #999;
/* border-top: #999999 1px solid;
 border-right: #999999 1px solid;*/
}
.inquiry table th{
 text-align: left;
 padding: 10px;
 background: #F4EAE4;
 border-color: #999;
/* border-left: #999999 1px solid; 
 border-bottom: #999999 1px solid;*/
}
.inquiry table td{
 vertical-align: top;
 padding: 10px;
 border-color: #999;
/* border-left: #999999 1px solid; 
 border-bottom: #999999 1px solid;*/
}
.inquiry .rabbit{
 margin-top: -50px;
}
@media (max-width: 768px) {
 .inquiry main{
  padding-bottom: 0vw !important;
 } 
 .inquiry table{
  width: 98%;
  word-break: break-all;
  margin-top: 0;
 }
 .inquiry table thead{
  display: none;
 }
 .inquiry table td{
  display: block;
  width: 99%;
 }
 .inquiry table tr td:first-child{
  background: #F4EAE4;
 }
 .inquiry .rabbit{
  margin-top: 0;
  margin-bottom: 15vw;
 }
}


/* ============================================================================================== */
/* .inst_admin                                                                                    */
/* ============================================================================================== */
.inst_admin table{
 width: 80%;
 font-size: 1.8rem;
 border-color: #999;
}
.inst_admin table th{
 width: 33%;
 padding: 10px;
 background: #F5F5EF;
 border-color: #999;
}
.inst_admin table td{
 vertical-align: top;
 padding: 10px;
 border-color: #999;
}
.inst_admin table td a{
 color: #e72410;
 transition: all 1s;
}
.inst_admin table td a:hover{
 opacity: 0.7;
}
@media (max-width: 768px) {
 .inst_admin main{
  padding-bottom: 20vw !important;
 } 
 .inst_admin table{
  width: 95%;
  }
 .inst_admin table th{
  display: block;
  width: 100%;
 }
 .inst_admin table td{
  display: block;
  width: 100%;
 } 
}


/* ============================================================================================== */
/* .pamphlet                                                                                      */
/* ============================================================================================== */
.pamphlet.lower #ttl h1{
 color: #191919;
 background: none;
}
.pamphlet a[href$=".pdf"]{
 padding-right: 0;
 background-image: none;
}
.pamphlet figure a img{
 border: #D3D3D3 1px solid;
}
@media (max-width: 768px) {
 .pamphlet main{
  padding-bottom: 20vw !important;
 } 
}
	

