@charset "UTF-8";

/*****************************
footer付近 追加CSS
*****************************/

/******************************
  footer
******************************/
.cmnfot{
  padding-top: 30px;
  background: #E4F6F3;
}
.ft_flex{
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-content: center;
justify-content: flex-start;
align-items: center;
  margin-bottom: 40px;
}
.ft_fbox01{
  width: 55%;
  margin-right: 5%;
}
.ft_fbox02{
  width: 40%;
}
@media screen and (max-width: 820px) {
.ft_fbox01{
  width: 100%;
  margin-right: 0%;
  margin-bottom: 30px;
}
.ft_fbox02{
  width: 100%;
}
}



.ft_fbox02 a{
font-size: 24px;
font-weight: 700;
line-height: 1.2;
letter-spacing: 1px;
margin-left: 5px;
}

.ft_menu{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: flex-start;
  align-items: flex-start;
}

.ft_menu .menu_area01{
  width: 20%;
  padding: 5px;
}
.ft_menu .menu_area02{
  width: 20%;
  padding: 5px;
}
.ft_menu .menu_area03{
  width: 25%;
  padding: 5px;
}
.ft_menu .menu_area04{
  width: 35%;
  padding: 5px;
}
/* .ft_menu .menu_area05{
  width: 20%;
  padding: 5px;
} */
@media screen and (max-width: 1024px) {
.ft_menu .menu_area01,.ft_menu .menu_area02,.ft_menu .menu_area03,.ft_menu .menu_area04,.ft_menu .menu_area05{
  width: 50%;
}
}
@media screen and (max-width: 767px) {
.ft_menu .menu_area01,.ft_menu .menu_area02,.ft_menu .menu_area03,.ft_menu .menu_area04,.ft_menu .menu_area05{
  width: 100%;
  background: #fff;
  border-radius: 15px;
  margin-bottom: 20px;
  padding: 20px 5px;
}
}



.small_text{
  font-size: 14px;
}

.ft_menu ul li{
  font-size: 16px;
  padding-left: 26px;
  position: relative;
  margin-bottom: 7px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
.ft_menu ul li{
  font-size: 18px;
  margin-bottom: 10px;
}
}

.ft_menu ul li::before {
  position: absolute;
  content: "";
  background-color: #356b86;
  border-radius: 50%;
  width: 13px;
  height: 13px;
  left: 0px;
  top: 8px;
  z-index: 0;
  transform: translate(50%);
}

.ft_menu ul li.submenu{
  font-size: 14px;
  padding-left: 40px;
  position: relative;
  margin-bottom: 7px;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
.ft_menu ul li.submenu{
  font-size: 18px;
  margin-bottom: 10px;
}
}
.ft_menu ul li.submenu::before {
  position: absolute;
  content: "";
  background-color: #356b86;
  border-radius: 0%;
  width: 13px;
  height: 2px;
  left: 12px;
  top: 12px;
  z-index: 0;
  transform: translate(50%);
}

/* .ft_menu .menu_area04 ul li.submenu{
  font-size: 14px;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
.ft_menu .menu_area04 ul li.submenu{
  font-size: 14px;
  margin-bottom: 20px;
}
} */

.ft_menu .menu_area04 ul li.submenu01::before {
    position: absolute;
    content: "";
    background-image: url(../images/top/check_icon01.png);
    background-repeat: no-repeat;
    background-color: unset;
    display: inline-block;
    background-size: cover;
    width: 30px;
    height: 30px;
    left: -4px;
    top: -4px;
    z-index: 0;
    transform: translate(50%);
}
.ft_menu .menu_area04 ul li.submenu02::before {
    position: absolute;
    content: "";
    background-image: url(../images/top/check_icon02.png);
    background-repeat: no-repeat;
    background-color: unset;
    display: inline-block;
    background-size: cover;
    width: 30px;
    height: 30px;
    left: -4px;
    top: -4px;
    z-index: 0;
    transform: translate(50%);
}
.ft_menu .menu_area04 ul li.submenu03::before {
    position: absolute;
    content: "";
    background-image: url(../images/top/check_icon03.png);
    background-repeat: no-repeat;
    background-color: unset;
    display: inline-block;
    background-size: cover;
    width: 30px;
    height: 30px;
    left: -4px;
    top: -4px;
    z-index: 0;
    transform: translate(50%);
}
.ft_menu .menu_area04 ul li.submenu04::before {
    position: absolute;
    content: "";
    background-image: url(../images/top/check_icon04.png);
    background-repeat: no-repeat;
    background-color: unset;
    display: inline-block;
    background-size: cover;
    width: 30px;
    height: 30px;
    left: -4px;
    top: -4px;
    z-index: 0;
    transform: translate(50%);
}
.ft_menu .menu_area04 ul li.submenu05::before {
    position: absolute;
    content: "";
    background-image: url(../images/top/check_icon05.png);
    background-repeat: no-repeat;
    background-color: unset;
    display: inline-block;
    background-size: cover;
      width: 30px;
    height: 30px;
    left: -4px;
    top: -4px;
    z-index: 0;
    transform: translate(50%);
}
.ft_menu .menu_area04 ul li.submenu06::before {
    position: absolute;
    content: "";
    background-image: url(../images/top/check_icon06.png);
    background-repeat: no-repeat;
    background-color: unset;
    display: inline-block;
    background-size: cover;
     width: 30px;
    height: 30px;
    left: -4px;
    top: -4px;
    z-index: 0;
    transform: translate(50%);
}
.ft_menu .menu_area04 ul li.submenu07::before {
    position: absolute;
    content: "";
    background-image: url(../images/top/check_icon07.png);
    background-repeat: no-repeat;
    background-color: unset;
    display: inline-block;
    background-size: cover;
    width: 30px;
    height: 30px;
    left: -4px;
    top: -4px;
    z-index: 0;
    transform: translate(50%);
}
.ft_menu .menu_area04 ul li.submenu08::before {
    position: absolute;
    content: "";
    background-image: url(../images/top/check_icon08.png);
    background-repeat: no-repeat;
    background-color: unset;
    display: inline-block;
    background-size: cover;
    width: 30px;
    height: 30px;
    left: -4px;
    top: -4px;
    z-index: 0;
    transform: translate(50%);
}
.ft_menu .menu_area04 ul li.submenu09::before {
    position: absolute;
    content: "";
    background-image: url(../images/top/check_icon09.png);
    background-repeat: no-repeat;
    background-color: unset;
    display: inline-block;
    background-size: cover;
    width: 30px;
    height: 30px;
    left: -4px;
    top: -4px;
    z-index: 0;
    transform: translate(50%);
}
.ft_menu .menu_area04 ul li.submenu10::before {
    position: absolute;
    content: "";
    background-image: url(../images/top/check_icon10.png);
    background-repeat: no-repeat;
    background-color: unset;
    display: inline-block;
    background-size: cover;
    width: 30px;
    height: 30px;
    left: -4px;
    top: -4px;
    z-index: 0;
    transform: translate(50%);
}
.ft_menu .menu_area04 ul li.submenu11::before {
    position: absolute;
    content: "";
    background-image: url(../images/top/check_icon11.png);
    background-repeat: no-repeat;
    background-color: unset;
    display: inline-block;
    background-size: cover;
    width: 30px;
    height: 30px;
    left: -4px;
    top: -4px;
    z-index: 0;
    transform: translate(50%);
}
.ft_menu .menu_area04 ul li.submenu12::before {
    position: absolute;
    content: "";
    background-image: url(../images/top/check_icon12.png);
    background-repeat: no-repeat;
    background-color: unset;
    display: inline-block;
    background-size: cover;
    width: 30px;
    height: 30px;
    left: -4px;
    top: -4px;
    z-index: 0;
    transform: translate(50%);
}

/*****************************
f_contact_btn ボタン
*****************************/
.f_contact_btn {
  margin: 20px 0;
}
.f_contact_btn a {
display: flex;
justify-content: center;
align-items: center;
position: relative;
margin: 0 auto;
padding: 20px 30px 20px 5px;
border: 1px solid #a8d1e6;
color: #fff;
font-size: 18px;
font-weight: normal;
letter-spacing: 2px;
transition: .6s;
background: #61b0d8;
border-radius: 10px;
width: 800px;
max-width: 85%;
}
.step_flow_area .f_contact_btn a {
width: 800px;
max-width: 100%;
}
@media screen and (max-width: 767px) {
.step_flow_area .f_contact_btn a {
width: 800px;
max-width: 100%;
letter-spacing: 0px;
padding: 10px 10px 10px 20px;
/* justify-content: flex-start; */
}
}


/* 電話番号サイズ調整 */
.f_contact_btn a span {
font-size: 22px;
}

.f_contact_btn a:hover {
  /* display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border: 1px solid #E064B1;
  color: #fff;
  background: #E064B1; */
  opacity: 1;
  transition: .6s;
}
.f_contact_btn a::after {
  position: absolute;
  right: 2em;
  transform: translateY(-50%);
  transform-origin: left;
  width: 2em;
  height: .5em;
  background-color: #fff;
  clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
  content: '';
  transition: .6s;
  font-size: 16px;
}

.f_contact_btn a:hover::after {
  /* transform: translateY(-50%) scaleX(1.4); */
  border: 1px solid #a8d1e6;
}
.f_contact_btn a:hover::after {
  position: absolute;
  right: -1.5em;
  transform: translateY(-50%);
  transform-origin: left;
  width: 2em;
  height: .5em;
  background-color: #a8d1e6;
  clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
  content: '';
}
.f-contact_area{
  padding: 20px;
  margin-bottom: 30px;
  
}
.f-contact_area h3{
  font-size: 20px;
  border-left: 3px;
  border-bottom: solid 3px #ffffff;
  position: relative;
  padding-bottom: 5px;
  background-image: none;
}
@media screen and (max-width: 820px) {
.f-contact_area h3{
  font-size: 18px;
}
}
@media screen and (max-width: 767px) {
.f-contact_area h3{
  font-size: 16px;
}
}

.f-contact_area h3:after {
  position: absolute;
  content: " ";
  display: block;
    border-bottom: solid 3px #61b0d8;
  bottom: -3px;
  width: 20%;
}


.f-contact_flex{
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-content: center;
justify-content: flex-start;
align-items: center;
}

.f-contact_flex .left_area{
  width: 55%;
  padding: 10px;
}
.f-contact_flex .right_area{
  width: 45%;
  padding: 10px;
}
@media screen and (max-width: 1024px) {
.f-contact_flex{
flex-direction: column-reverse;
}
.f-contact_flex .left_area{
  width: 100%;
  padding: 0px;
}
.f-contact_flex .right_area{
  width: 600px;
  max-width: 90%;
  margin: 0 auto;
}
}

.step_flow_area .f-contact_area{
  padding: 10px 20px;
  margin-bottom: 0px;
}
@media screen and (max-width: 767px) {
.step_flow_area .f-contact_area{
  padding: 10px 0px;
  margin-bottom: 0px;
}
}

.newstyle .step_flow_area h3{
    margin-bottom: 30px;
    margin-top: 10px;
}

.step_flow_area.white_bg .f-contact_area h3{
    border-bottom: solid 3px #fef2f9;
}