 body {
     background: #f9f9f9;
     font-family: 'M PLUS 1', sans-serif;
 }
 
 a {
     text-decoration: none;
     color: inherit;
 }
 
 a:hover {
     color: inherit;
     opacity: .6;
 }
 
 ul {
     list-style: none;
     padding-left: 0;
     margin: 0;
 }
 
 p {
     padding: 1rem;
     margin: 0;
 }
 
 section {
     background: #fff;
     padding: 2rem;
     z-index: -2;
 }
 
 @media (max-width: 576px) {
     section {
         padding: .5rem;
     }
 }
 /***** ヘッダー *****/
 
 header {
     background: #fff;
     border-bottom: solid 1px #ddd;
     box-shadow: 0px 0px 4px #ddd;
 }
 
 header .container-fluid {
     align-items: end;
 }
 
 header .navbar-brand img {
     width: 250px;
 }
 
 header .nav-link {
     width: 180px;
     font-size: .8rem;
     text-align: center;
     margin: 0 .5rem;
 }
 
 header .nav-link img {
     display: block;
     width: 40px;
     margin: 0 auto .5rem auto;
 }
 
 @media (max-width: 576px) {
     header .nav-link {
         text-align: start;
     }
     header .nav-link img {
         display: none;
     }
 }
 /***** メイン *****/
 
 h1 {
     font-size: 1.8rem;
     text-align: center;
 }
 
 .h1-sub {
     display: inline-block;
     font-size: .8rem;
     border: solid 1px #000;
     padding: .2rem 1rem;
     margin-bottom: 1rem;
     box-shadow: 2px 2px 0 #000;
 }
 
 .h1-devider {
     width: 100%;
     height: 2rem;
     background-image: url(/img/b_simple_96_0L.png);
     background-repeat: repeat-x;
     background-size: contain;
 }
 
 h2 {
     position: relative;
     border-bottom: dotted 1px #333;
     margin-left: 1rem;
     margin-top: 4rem;
     font-size: 1.6rem;
     /*     background: #fff;*/
     z-index: 0;
 }
 
 h2:before {
     content: "";
     position: absolute;
     background: #f3f3f3;
     width: 80px;
     height: 80px;
     border-radius: 50%;
     top: 45%;
     /* border: dashed 1px white; */
     left: -20px;
     -webkit-transform: translateY(-50%);
     transform: translateY(-50%);
     z-index: -1;
 }
 
 h3 {
     font-size: 1.3rem;
     font-weight: bold;
     margin: 4rem 0 1rem 0;
     padding: .5rem;
     border-left: .8rem solid #aaa;
 }
 
 h4 {
     font-size: 1.2rem;
     font-weight: bold;
     border-bottom: 1px solid #eee;
 }
 
 h5 {
     display: inline-block;
     font-size: 1.1rem;
     font-weight: bold;
     /*    border-bottom: solid 1px #ccc;*/
 }
 
 .intro {
     border: solid 1px #000;
     margin-bottom: 2.5rem;
 }
 
 .marker {
     background: linear-gradient(transparent 60%, #ffddff 60%);
 }
 
 .simple-list {
     margin: 1rem auto;
     padding-left: 2rem;
 }
 
 .simple-list li {
     list-style: square;
     line-height: 2;
 }
 
 .simple-table {
     margin: 1rem;
     border: solid 1px #ddd;
     width: 90%;
     font-size: .95rem;
 }
 
 .simple-table th,
 td {
     width: 100%;
     padding: 1rem;
 }
 
 .simple-table th {
     background: #ddd;
 }
 
 .simple-table th i {
     color: #f3f3f3;
     margin-right: .5rem;
 }
 
 .simple-table .simple-list {
     padding-left: 1rem;
 }
 
 .point-box {
     border: 5px solid #eee;
     /* 線の太さ・種類・色 */
     margin: 10px;
     /* 外側の余白 */
     padding: 10px;
     /* 内側の余白 */
     position: relative;
     z-index: 0;
 }
 
 .point-box:before {
     border-top: 5px solid #ccc;
     border-left: 5px solid #ccc;
     content: '';
     display: block;
     position: absolute;
     top: -5px;
     left: -5px;
     width: 50px;
     height: 50px;
     z-index: 1;
 }
 
 .point-box ul li {
     line-height: 2;
 }
 
 .point-box ul li i {
     color: #ccc;
     margin-right: 5px;
 }
 
 .btn-wide {
     display: block;
     background: #ccc;
     text-align: center;
     color: #fff;
     padding: .5rem;
     font-weight: bold;
     border-radius: 25px;
     margin: 1rem 0;
 }
 
 .btn-wide i {
     margin-left: 10px;
 }
 
 .japan_map {
     position: relative;
     box-sizing: border-box;
     margin: 0 auto;
     display: table;
     text-align: center;
 }
 
 .japan_map img {
     max-width: 80%;
     height: auto;
     border: 0;
     -webkit-backface-visibility: hidden;
 }
 
 .japan_map .area_btn {
     position: absolute;
     z-index: 1;
     box-sizing: border-box;
     cursor: pointer;
     border: 2px solid #333333;
     background-color: #FFF;
     padding: 0.2em auto;
     /*     font-weight: bold;*/
     text-align: center;
     white-space: nowrap;
 }
 
 .japan_map .area_btn.area1 {
     top: 30%;
     right: 0;
     width: 30%;
 }
 
 .japan_map .area_btn.area2 {
     top: 58%;
     right: 11%;
     width: 13%;
 }
 
 .japan_map .area_btn.area3 {
     top: 56%;
     right: 27.5%;
     width: 13%;
 }
 
 .japan_map .area_btn.area4 {
     top: 65%;
     right: 44%;
     width: 13%;
 }
 
 .japan_map .area_btn.area5 {
     top: 52%;
     left: 20%;
     width: 25%;
 }
 
 .japan_map .area_btn.area6 {
     top: 70%;
     left: 0;
     width: 25%;
 }
 /***** 検索結果一覧 *****/
 
 #list h2 {
     margin: 2rem 1rem;
     font-size: 1.2rem;
     /*     border-bottom: 0;*/
 }
 
 .list-item {
     border: solid 1px #ddd;
     padding: .5rem;
     box-shadow: 0px 0px 4px #ddd;
     margin-bottom: 1rem;
 }
 
 .list-item-title {
     /*     position: relative;*/
     font-size: 1.2rem;
     font-weight: bold;
     margin-bottom: .5rem;
 }
 
 .list-item-table {
     border: solid 1px #ddd;
     font-size: .8rem;
     width: 100%;
 }
 
 .list-item-table .list-item-table-header,
 .list-item-table .list-item-table-dsc {
     border: solid 1px #ddd;
     padding: .5rem;
 }
 
 .list-item-table-header {
     width: 15%;
     background: #ccc;
     color: #fff;
     padding-left: .5rem;
 }
 
 .list-item-schedule {
     width: 100%;
     font-size: 10px;
     text-align: center;
 }
 
 .schedule-table__table {
     width: 100%;
 }
 
 .schedule-table__row {
     width: 100%;
 }
 
 .schedule-table__day,
 .schedule-table__cell {
     width: 12.5%;
     padding: 0;
     border: solid 1px #eee;
 }
 
 .schedule-table__open {
     position: relative;
     display: flex;
     justify-content: center;
 }
 
 .schedule-table__open::after {
     display: block;
     position: absolute;
     bottom: 0;
     left: 50%;
     content: "~";
     line-height: 0;
     transform: translateX(-50%) rotate(90deg);
 }
 
 .pagination .page-item .page-link {
     margin: 2px;
     color: #000;
     background: #ddd;
     border-radius: 0;
 }
 
 .pagination .current .page-link {
     border: solid 1px #ddd;
     background: none;
     color: #000;
 }
 
 .pagination .disabled .page-link {
     opacity: .3;
 }
 
 @media (max-width: 576px) {
     .list-item-table-row {
         display: flex;
         flex-direction: column;
     }
     .list-item-table-header {
         width: 100%;
     }
 }
 /***** サイド *****/
 
 #index h1 i {
     color: #f3f3f3;
     margin: .1rem;
     /*    border:solid 1px #333;*/
 }
 
 #index .navbar-nav .nav-item .nav-link {
     /*border:solid 1px #333;*/
     color: #fff;
     padding: .5rem;
     margin: 1rem 0;
     background: #aaa;
     font-weight: bold;
 }
 
 #index .inner-list {
     font-size: .85rem;
     padding-left: 1.5rem;
 }
 
 #index .inner-list li {
     position: relative;
     line-height: 2;
 }
 
 #index .inner-list li::after {
     display: block;
     content: '';
     position: absolute;
     top: .65em;
     left: -1em;
     width: 8px;
     height: 1px;
     background-color: #666;
 }
 /***** フッター *****/
 
 footer {
     background: #527B9D;
     color: #fff;
     padding: 50px 20px 20px 20px;
     margin: 0;
     text-align: center;
 }
 /***** バナー *****/
 
 .banners {
     margin: 10px auto;
     text-align: center;
 }
 
 .banner-long {
     display: block;
     margin: 10px auto;
 }
 
 .banner-640 {
     display: block;
     margin: 40px auto;
 }
 
 .banner-468 {
     display: block;
     margin: 40px auto;
 }
 
 .banner-300 {
     display: none;
 }
 
 .banner-180 {
     display: block;
     margin: 10px auto;
 }
 
 @media (max-width: 992px) {
     .banner-180 {
         display: inline;
     }
     .banner-long {
         display: none;
     }
 }
 
 @media (max-width: 768px) {
     .banner-468 {
         display: block;
         margin: 10px auto;
     }
     .banner-300 {
         display: none;
     }
 }
 
 @media (max-width: 576px) {
     .banner-468 {
         display: none;
     }
     .banner-300 {
         display: block;
         margin: 10px auto;
     }
 }
 
 @media (max-width: 360px) {
     .banner-180 {
         display: block;
     }
 }



.table__cell > * {
  margin-bottom: 5px;
}

.table__cell>*:last-child {
 margin-bottom:0
}

.schedule-table {
  border-radius: 4px;
  border: 1px solid #ddd;
  overflow: hidden;
}

.schedule-table__cell,
.schedule-table__day {
 width:12.5%;
 padding:5px;
 font-size:12px;
 text-align:center;
 line-height:12px
}
.schedule-table {
 border-radius:4px;
 border:1px solid #ddd;
 overflow:hidden
}
.schedule-table__day {
 background-color:#f6f4f3;
 border-right:1px solid #ddd
}
.schedule-table__day:last-child {
 border-right:0
}
.schedule-table__day--saturday {
 color:#3e8aef
}
.schedule-table__day--holiday {
 color:#df5f5d
}
.schedule-table__cell {
 background-color:#fff;
 border-top:1px solid #ddd;
 border-right:1px solid #ddd;
 border-left:1px solid #ddd
}
.schedule-table__cell:first-child {
 border-left:0
}
.schedule-table__cell:last-child {
 border-right:0
}
.schedule-table__open,
.schedule-table__close {
 display:block
}
.schedule-table__open {
 position:relative;
 margin-bottom:4px;
 padding-bottom:4px
}
.schedule-table__open::after {
 display:block;
 position:absolute;
 bottom:0;
 left:50%;
 content:"\007e";
 color:#bfb4ab;
 font-size:10px;
 line-height:0;
 transform:translateX(-50%) rotate(90deg)
}
.table {
 border:1px solid #ddd;
 border-radius:4px
}
.table a {
 text-decoration:none
}
.table a:hover {
 text-decoration:underline
}
.table .c-button:hover {
 text-decoration:none
}
.table__row.is-hidden {
 display:none;
}
.table__row:first-child .table__cell {
 border-top:0
}
.table__row:first-child .table__cell:first-child {
 border-top-left-radius:4px
}
.table__row:first-child .table__cell:last-child {
 border-top-right-radius:4px
}
.table__row:last-child .table__cell:first-child {
 border-bottom-left-radius:4px
}
.table__row:last-child .table__cell:last-child {
 border-bottom-right-radius:4px
}
.table__cell {
 /*padding:15px;*/
border-top:1px solid #ddd;
border-right:1px solid #ddd;
background-color:#fff;
display : table;
margin-top: 15px;
margin-bottom: 15px;

}
.table__cell:last-child {
 border-right:0
}
.table__cell>.c-button {
 width:200px;
 margin-top:10px
}
.table__cell>* {
 margin-bottom:5px
}
.table__cell>*:last-child {
 margin-bottom:0
}
.table__cell--header {
 background-color:#f6f4f3
}
.table__cell--error {
 background-color:#fff3f3
}
.table__cell--required .c-paragraph:first-child::after {
 display:inline-block;
 content:"\5fc5\9808";
 width:24px;
 margin-left:5px;
 color:#fff;
 font-size:10px;
 line-height:14px;
 text-align:center;
 border-radius:2px;
 background-color:#df5f5d;
 vertical-align:1px
}

.page-disable{
    display: none;
}