/* MV
----------------------------------------------*/
.MV{
    width: 100%;
    margin-top: 8rem;
    position: relative;
}
section p,section dd{
    line-height: 1.5;
}
h2{
    width: 100%;
    color: #fff;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}
h2 .title{
    display: block;
    margin: 0 auto;
    font-size: 3.5rem;
    text-shadow: rgba(0, 0, 0, 0.7) 3px 0 8px;
}
h2 .chapter {
    display: inline-block;
    font-size: 1.8rem;
    margin-bottom: 1.5rem !important;
    padding: 0.5rem 1rem;
    background-color: var(--main-color);
}
/* breadcrumb
----------------------------------------------*/
.breadcrumb{ padding-top: 1rem;}
.breadcrumb li { display: inline; list-style: none;}
.breadcrumb li a {
    text-decoration: none;
    color: var(--main-color);/*色*/
    padding: 0 0.5rem 0 0.2rem;
    font-size: 1.4rem;
}
.breadcrumb li a.current{
    color: #2d2d2d;/*色*/
    font-size: 1.4rem;
    pointer-events: none;
}
.breadcrumb li a:hover {
    text-decoration: underline;
}
.breadcrumb span.arrow {
    position: relative;
    display: inline-block;
    padding: 0;
}
.breadcrumb span.arrow::before {
    content: '';
    width: 6px;
    height: 6px;
    border-top: solid 1px #2d2d2d;
    border-right: solid 1px #2d2d2d;
    position: absolute;
    left: -6px;
    top: -7px;
    transform: rotate(45deg);
}
/* Section
----------------------------------------------*/
section {
    padding: 4rem 0;
    width: 100%;
    height: auto;
}
h3{
    position: relative;
    font-size: 2.3rem;
    font-weight: bold;
    padding-left: 1.5rem;
    letter-spacing: 0.08rem;
}
h3::before{
    content: '';
    position: absolute;
    width: 4px;
    height: 3.3rem;
    background-color: var(--main-color);
    left: 0;
    top: -3px;
}
.news h3 {
    font-size: 2.2rem;
    color: var(--main-color);
    font-weight: bold;
    margin-top: 1rem;
    margin-bottom: 2rem;
    padding-left: 0;
    border: none;
}
.news h3::before{
    content: none;
}
section .wrapper > ul{
    margin-top: 2.5rem;
}
section .wrapper > ul > li{
    position: relative;
    margin-bottom: 1.5rem;
    line-height: 2.7rem;
    padding-left: 1.5rem;
    font-size: 1.6rem;
}
section .wrapper > ul > li::before{
    content: "";
    position: absolute;
    left: 0;
    width: 10px;
    height: 10px;
    background: var(--main-color);
    border-radius: 50%;
    top: 8px;
}
h4{
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 1rem;
    text-align: left;
    margin-top: 6rem;
}
/* footer bottom link
----------------------------------------------*/
.subMV{
    height: 200px;
}
.subMV img{
    object-fit: cover;
}
/* Table
----------------------------------------------*/
.w200_150{
    width: 200px;
  }
  .w360_280{
    width: 360px;
  }
.table{ overflow-x: auto;}
div.table_box{
    overflow-x: auto;
   
  }
table{
    border-collapse: collapse;
    width: 700px;
    margin: 0 auto;
    overflow-x: auto;
}
table tr {
    background-color: var(--base-color);
    padding: 1rem;
    border-bottom: 1px solid #e4e4e4;
}
.t-h{
    background: var(--basegray-color) !important;
}
.tr_h{
    background: var(--basegray-color) !important;
}
table th{
    background-color: var(--main-color);
    text-align: center;
    color: #fff;
}
table td{
    background-color: #fff;
    text-align: center;
}
table th,table td{
    padding: 1.5rem;
    border: 1px solid #e4e4e4;
    vertical-align: middle;
    line-height: 1.5;
}

a.click{
    padding: 0.5rem 0.7rem;
    font-size: 1.4rem;
    color: #fff;
    background-color: var(--main-color);
}
a.click:hover{
    opacity: 0.5;
}

.link{
    color: var(--main-color);
    text-decoration: underline;
    cursor: pointer;
}
.link:hover{
    opacity: 0.5;
}

.no-link{
    pointer-events: none;
}

/* テーブルリスト */
ul.table_list li{
  position: relative;
  line-height: 2.5rem;
  padding-left: 1.5rem;
  font-size: 1.4rem;
  text-align: left;
}
ul.table_list li::before{
  content: "";
  position: absolute;
  left: 0;
  width: 8px;
  height: 8px;
  background: var(--main-color);
  border-radius: 50%;
  top: 8px;
}

.listーsmall{
  display: block;
  font-size: 1.2rem;
  line-height: 1.5;
}

/* Option
----------------------------------------------*/
/* olかっこリスト */
ol.num-list > li {
	list-style-type: none;
	counter-increment: cnt;
    position: relative;
    padding-left: 3rem;
}
ol.num-list > li::before {
	content: "(" counter(cnt) ") ";
    position: absolute;
    left: 0;
}
.kome {
    display: inline-block;
    padding-left: 1.5rem;
    position: relative;
    font-size: 1.4rem;
}
.kome::before {
    content: '※';
    position: absolute;
    left: 0px;
}

/* olリスト */
.number-ol{
    margin: 4rem 0 1rem 3rem;
}
.number-ol li{
    list-style: auto;
    line-height: 1.5;
    margin-bottom: 1.5rem;
}

.frame-blue{
    padding: 1rem;
    border: 1px solid var(--main-color);
    border-radius: 10px;
}
/* アスタリスク */
.aster{
    display: inline-block;
    padding-left: 1.5rem;
    position: relative;
    font-size: 1.4rem;
}
.aster::before {
    content: '＊';
    position: absolute;
    left: 0px;
    color: var(--orange-color);
}

.aster-order {
    counter-reset: komeOrder 0;
}
.aster-order > li{
    font-size: 1.4rem;
    padding-left: 2.5rem;
    position: relative;
    line-height: 1.5;
    margin-bottom: 1rem;
}
.aster-order > li:last-child{
    margin-bottom: 0;
}
.aster-order > li::before{
    position: absolute;
    left: 0;
    counter-increment: komeOrder 1;
    content: "＊" counter(komeOrder);
    color: var(--orange-color);
}
/* circle-list */
.circle-list {
margin-left: 1.5rem;
}
.circle-list li {
    list-style-type: circle;
}
.circle-list li::marker{
    color: var(--main-color);
}
/* map */
p.map_title{
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 1rem;
}
p.map_address{
font-size: 1.6rem;
}

.map_box{
    width: 100%;
    margin-top: 4rem;
    }
    iframe {
    width: 100%;
    aspect-ratio: 16/9;
    }
    
    
/* お問合せフォーム */
.contact-text{
    font-size: 2.2rem;
    color: var(--main-color);
    font-weight: bold;
    margin-top: 4rem;
}


.contact-box{
margin: 4rem 0;
}

.form-name{
margin: 2rem 0 1rem;
display: inline-block;
width: 100%;
}


.form-equired{
color: #fff;
background-color: #dc3545;
font-weight: bold;
font-size: 1.4rem;
display: inline-block;
padding: 0.3rem;
border-radius: 20%;
margin-left: 2rem;
}
.form-input{
padding: 1rem;
width: 100%;
border: 1px solid #ccc;
border-radius: 5px;
outline: var(--main-color);
}

.form-input:focus,textarea:focus{
outline: none;
box-shadow: 0 0 0.5em var(--main-color);
}
textarea{
height: 150px;
}

.checkBox{
position: relative;
}

.checkBox{
margin: 2rem 0;
}
.checkBox [type=checkbox]{
    appearance: checkbox !important;
  }

.submit-btn{
padding: 1.5rem;
display: inline-block;
color: #fff;
background-color: var(--main-color);
border-radius: 5px;
}

.submit-btn:hover{
opacity: 0.6;
transition: all 0.3s;
}



/* description ***********************************/
dl.secBox{
    border: 1px solid #ccc;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
dl.secBox dt{
width: 30%;
display: flex;
justify-content: center;
align-items: center;
padding: 1.5rem;
border-bottom: 1px solid #ccc;
border-right: 1px solid #ccc;
background-color: var(--main-color);
color: #fff;

}
dl.secBox dt a{
color: #fff;
text-decoration: underline;
}
dl.secBox dd{
width: 70%;
padding: 1.5rem;
border-bottom: 1px solid #ccc;
line-height: 2.5rem;
overflow: auto;
background-color: #fff;
}

dl.secBox dt:last-of-type{
border-bottom: none;
}
dl.secBox dd:last-of-type{
border-bottom: none;
}




dl.secBoxsub{
width: 100%;
}

dl.secBoxsub dt{
width: 20%;
color: var(--main-color);
font-size: 1.8rem;
margin-bottom: 1rem;
}

dl.secBoxsub dd{
width: 100%;
margin-bottom: 1.5rem;
line-height: 2.5rem;
}

@media screen and (max-width: 1024px) {
    .MV{
        margin-top: 0;
    }
    .inner {
        padding: 0 20px;
    }
}
@media screen and (max-width: 600px) {
    .subMV{
        height: 80px;
    }
    h2 .chapter {
        font-size: 1.4rem;
        margin-bottom: 0.5rem !important;
        padding: 0.5rem 0.5rem;
    }
    h2 .title{
        font-size: 2.2rem;
        padding: 0.5rem 1rem;
    }
    h3 {
        position: relative;
        font-size: 2rem;
        border-left: none;
        line-height: 1.5;
    }
    h3::before {
        content: '';
        position: absolute;
        width: 4px;
        height: 2.8rem;
        background-color: var(--main-color);
        left: 0;
        top: 2px;
    }
    h4{
        margin-top: 3rem;
        font-size: 1.4rem;
    }
    .sub-mv {
        height: 100px !important;
    }
    .number-ol li{
        font-size: 1.4rem;
      }
/* Table
-------------------------*/
    table{
        width: 525px;
    }
    table{
        font-size: 1.2rem;
    }
    .w_200_{
        width: 200px !important;
      }
      .w_150_{
        width: 150px !important;
      }
    
      .w200_150{
        width: 150px !important;
      }
    
      .w360_280{
        width: 283px !important;
      }
      ._w400{
        width: 400px !important;
      }
      table th,td,a.table_btn,ul.table_list li{
        font-size: 1.2rem;
      }
    
      .listーsmall{
        font-size: 1rem;
      }
      .aster.listーsmall{
        padding-left: 1rem;
      }
    
/*map
-------------------------*/
    p.map_title{
        font-size: 1.4rem;
        font-weight: bold;
        margin-bottom: 1rem;
    }
    p.map_address{
    font-size: 1.2rem;
    }
    
    .contact-text{
    font-size: 1.8rem;
    }
/*description
-------------------------*/
    dl.secBox dt,dl.secBox dd{
        font-size: 1.2rem;
        line-height: 2;
        padding: 1rem;
        }
        
        
        dl.secBoxsub{
        flex-direction: column;
        }
        dl.secBoxsub dt{
        width: 100%;
        }
        dl.secBoxsub dd{
        width: 100%;
        }
        
        dl.secBox dt a{
        font-size: 1.2rem !important;
        }
}