/*/reservation/index.html用---------------------------*/

.flex-wrp-3step{
 display: flex;
}
.flex-item-3step{
 width: 33%;
 text-align: center;
 position: relative;
 margin: 2rem 0;
 padding-right: 2.2em;
}
.flex-item-3step .im img{
 width: 60%;
}
.flex-item-2col p.detail{
 text-align:center;
 padding: 0 2rem;
}
.flex-item-3step .title{
 color: #0075C1;
 margin-top:1em;
}
.flex-item-3step:not(:last-child):before{
 content: "";
 position: absolute;
 top: 50%;
 right: 2%;
 display: block;
 width: 0;
 height: 0;
 border-top: 20px solid transparent;
 border-right: 0;
 border-bottom: 20px solid transparent;
 border-left: 20px solid #A5BDCD;
 -webkit-transform: translateY(-50%);
 transform: translateY(-50%);
}

@media only screen and (max-width: 767px) {
 .flex-wrp-3step{
  display: block;
 }
 .flex-item-3step{
  width: 100%;
  padding-bottom: 4rem;
  padding-right: 0;
  display :flex;
  text-align: left;
 }
 .flex-item-3step:not(:last-child):before{
  content: "";
  position: absolute;
  bottom: 0;
  top: auto;
  left: 50%;
  display: block;
  width: 0;
  height: 0;
  border-top: 18px solid #A5BDCD;
  border-right: 22px solid transparent;
  border-bottom: 0;
  border-left: 22px solid transparent;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
 }
 .flex-item-2col{
  width: 50%;
 }
 .flex-item-2col .im{
  padding: 1rem;
 }
 .flex-item-3step .title{
  margin-top:0.2em;
 }
 .flex-item-2col p.detail{
  text-align:left;
  padding: 0;
 }
}

/* STEP */
.i_step{
 margin-top: 0.8em;
}
.i_step span{
 position: relative;
 padding-left: 1.2em;
 color: #0075C1;
}
.i_step span:before {
    position: absolute;
    content: "";
    left: 0px;
    top: 14px;
    width: 1em;
    height: 1em;
    background-image: url(/assets/images/common/icon-check.png);
    background-repeat: no-repeat;
    background-size: 20px auto;
}

@media only screen and (max-width: 767px) {/*sp*/
 .i_step span:before {
    top: 10px;
 }
 .i_step{
  margin-top: 0.4em;
 }
}

/* 電話での問い合わせ */

.number_list{
 display: flex;
 justify-content: center;
}
.number_list .flex-box{
 display: block;
 width :100%;
}
.number_list .flex-set{
 display: flex;
 justify-content: center;
 padding: 1em;
 align-items: center;
}
.number_list .tel-num{
 text-align: center;
}
.number_list .tel-num a{
 position: relative;
 display: inline-block;
 color: #0034A1;
 font-size: 4rem;
 font-weight: 700;
 line-height: 1;
 margin-left: 10px;
}

.number_list .flex-item.dtl p{
 vertical-align: middle;
 display: inline-block;
}

@media only screen and (min-width: 768px) {/*PC*/
 .number_list .flex-item.dtl{
  width: 30%;
 }
 .number_list .flex-item.tel-num{
  width: 40%;
 }
 .number_list .flex-item.dtl p{
  font-size: 2rem;
 }
}

@media only screen and (max-width: 767px) {/*sp*/
 .number_list .flex-set{
  display: inline-block;
  width: 100%;
 }
 .number_list .flex-item.dtl{
  width: 100%;
  text-align: center;
 }
 .number_list .flex-item.tel-num{
  width: 100%;
 }
 .number_list .tel-num a{
  position: relative;
  display: inline-block;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1;
  margin-top: 1rem;
 }
 .number_list .tel-num img {
  width: 28px;
 }
 .number_list .flex-item.dtl p{
  font-size: 1.8rem;
 }

}

/*/reservation/index.html用 End-----------------*/
/*/reservation/sel_branch.html・sel_consult.html用 --------*/
.sec-accr{
 margin-top:28px;
}

.btn-flex-wrap{
 display: flex;
 justify-content: flex-start;
 flex-wrap: wrap;
}
.btn-panel{
 position: relative;
 display: block;
 padding: 1rem 0.8rem;
}
.btn-panel a{
 position: relative;
 display: block;
 height: 100%;
 padding: 24px 30px;
 border-radius: 10px;
 background-color: #fff;
 z-index: 2;
}
.btn-panel > a:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    background-color: #ECF4FA;
    box-shadow: 5px 15px 30px 0 rgba(0, 49, 153, 0.15);
    z-index: -1;
    transition: all 0.4s ease;
}
.btn-panel > a:hover:before {
    box-shadow: 2px 6px 15px 0 rgba(0, 49, 153, 0.15);
}
.btn-panel > a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    background-color: #fff;
    z-index: -1;
}
.btn-panel > a .btn-panel_dtl {
 padding-left: 0;
 min-height: 54px;
 display: flex;
 flex-direction: column;
 justify-content: center;
 align-items: center;
}
.btn-panel > a .btn-panel_dtl p{
 text-align: center;
 font-size: 1.8!important;
}

@media only screen and (max-width: 767px) {/*sp*/
 .btn-panel a {
    padding: 12px 12px;
 }
 .btn-panel p{
  font-size: 1.5rem!important;
 }
}

/*/reservation/sel_branch.html・sel_consult.html用 End-----*/
/*/reservation/sel_branch.html用 -----------------*/

.btn-4col-item{
 width: 25%;
}

@media only screen and (max-width: 767px) {/*sp*/
 .btn-4col-item{
  width: 50%;
 }
}

/*/reservation/sel_branch.html用 End-----------------*/
/*/reservation/sel_consult.html用 -----------------*/

.btn-2col-item{
 width: 50%;
}

@media only screen and (max-width: 767px) {/*sp*/
 .btn-2col-item{
  width: 100%;
 }
}

/*/reservation/sel_consult.html用 End-----------------*/
