@charset "UTF-8";

/* -------------------------------------
footer
------------------------------------- */
footer {
  color:#fff;
  font-family: m-plus-1c, sans-serif;
  font-weight:500;
  /*padding-top:52px;*/
  background-color:#073582;
}
footer a {
  color:#fff;
}

footer .ftr_wrap {
  width:95%;
  max-width:1240px;
  margin:0 auto;
}

/* -------------------------------------
contact_wrap
------------------------------------- */
#contact_wrap {
  padding:73px 0;
  border-bottom:1px solid #fff;
}
#contact_wrap .sec_wrap {
  justify-content:space-between;
  gap:30px;
}
#contact_wrap .sec_head {
  max-width:270px;
}
#contact_wrap .sec_head .secttl {
  color:#fff;
}
#contact_wrap .contact_info {
  width:100%;
  max-width:512px;
}
.contact_info_tel {
  display:flex;
  align-items:flex-start;
  gap:20px;
  margin-bottom:35px;
}
.contact_info_tel .tel_lavel {
  font-size:36px;
  line-height:1;
  padding-top:0.5em;
}
.contact_info_tel .tel_num {
  font-size:78px;
  line-height:1;
}
.contact_info_tel .time_txt {
  font-size:22px;
  font-weight:700;
  line-height:1;
}
#contact_wrap .contact_info .morebtn {
  width:100%;
}
#contact_wrap .contact_info .morebtn .txt {
  text-align:center;
  width:calc(100% - 55px);
  padding-left:55px;
}


/* -------------------------------------
ftr_nav_wrap
------------------------------------- */
#ftr_nav_wrap {
  padding-top:60px;
}
footer .ftr_in {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}
footer .ftr_in #ftr_logo {
  width:100%;
  max-width:334px;
  margin-bottom:20px;
}
footer .ftr_in .office_blk {
  color:#fff;
  font-size:14px;
  line-height:1.78;
  display:flex;
  flex-direction:column;
  width:27%;
  max-width:334px;
}
.office_blk .add span {
  display:inline-block;
  padding-left:0.5em;
}
.tel_wrap {
  display:flex;
  flex-wrap:wrap;
  margin-bottom:5px;
}
.tel_wrap dt {
  width:34px;
}
.tel_wrap dd {
  width:calc(100% - 34px);
}
.tel_wrap dd a {
  color:#fff;
}
.sns_icon {
  width:26px;
}

footer .ftr_in .fnav {
  display:flex;
  align-items:center;
  width:calc(73% - 30px);
  max-width:668px;
  padding:0 15px;
}
.fnav_list {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  width:100%;
}

.ftr_btm {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:20px;
}
.ftr_btm-privacy {
  color:#fff;
  font-size:14px;
}
#cp {
  color:#fff;
  font-size:14px;
  text-align:center;
  padding:20px 10px;
}

#totop {
  max-width: 10px;
  position: fixed;
  bottom: 5vw;
  right: 30px;
  z-index: 2;
}

#totop img {
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.3s ease;
}

#totop a {
    height: 107px;
    width: 15px;
}

/* 初期状態 */
#totop.is-white .totop-white {
  display: block;
}
#totop.is-white .totop-blue {
  display: none;
}

/* 白背景用 */
#totop.is-blue .totop-white {
  display: none;
}
#totop.is-blue .totop-blue {
  display: block;
}

@media screen and (max-width: 1440px) {

}

@media screen and (max-width: 1260px) {


}

@media screen and (max-width: 1100px) {


}

@media screen and (max-width: 1060px) {

}

@media screen and (max-width: 980px) {
/* -------------------------------------
contact_wrap
------------------------------------- */
.contact_info_tel .tel_num {
  font-size:clamp(40px,7.96vw,78px);
}
.contact_info_tel .tel_lavel {
    font-size: clamp(24px,3.67vw,36px);
    padding-top: 0.3em;
}
.contact_info_tel .time_txt {
    font-size: clamp(16px,1.63vw,22px);
}


}

@media screen and (max-width: 920px) {
}

@media screen and (max-width: 880px) {
}

}

@media screen and (max-width: 800px) {
}

@media screen and (max-width: 768px) {


}

@media screen and (max-width: 700px) {
}

@media screen and (max-width: 640px) {
/* -------------------------------------
contact_wrap
------------------------------------- */
#contact_wrap .sec_wrap {
    flex-direction:column;
    width: 83.33vw;
    max-width: 512px;
    margin: 0 auto;
}

/* -------------------------------------
ftr_nav_wrap
------------------------------------- */
footer .ftr_wrap {
    margin: 0 auto 10px;
}
footer .ftr_in {
    flex-direction:column;
    width: 83.33vw;
    max-width: 512px;
    margin: 0 auto;
}
footer .ftr_in .office_blk {
  width:100%;
  max-width:100%;
  margin-bottom:25px;
}
footer .ftr_in .fnav {
    width: 100%;
    padding:0;
}
.ftr_btm {
    flex-direction:column;
    justify-content: center;
    gap:0;
    max-width: 512px;
    margin: 0 auto;
}

#cp {
    font-size: clamp(12px,2.18vw,14px);
}

#totop {
    bottom: 18vw;
    right: 20px;
}


}

@media screen and (max-width: 600px) {


}

@media screen and (max-width: 500px) {
#contact_wrap .contact_info .morebtn .txt {
    padding-left: 0;
}


}

@media screen and (max-width: 400px) {
.fnav_list {
    justify-content: start;
    gap: 5px 20px;
}

#contact_wrap .contact_info .morebtn {
        gap:20px;
}
#contact_wrap .contact_info .morebtn .txt {
    width: calc(100% - 35px);
}

}
@media screen and (max-width: 380px) {



}

@media screen and (max-width: 320px) {

}

@media screen and (min-width: 769px) {
}
