@charset "utf-8";

/* ■01　フォント設定 ======================================================================= */
html {
  scroll-behavior: smooth;
}
/* ■link */

a{
  text-decoration: none;
  color:#181b39;
}
/* ■04　header ======================================================================= */
h1{
  color:#181b39;
}
h1 a {
  color: #181b39;
  transition: color .2s .4s;
}
body header h1 a,
body header h1 a:link,
body header h1 a:visited,
body header h1 a:active{
  color: #181b39;
}

header h2 {
  color: #181b39;
  transition: color .2s .4s;
}

#site_nav_switch:before {
  background-color: #181b39;
  transition: transform .1s .1s ease-out, top .2s .2s, left .2s .4s, background-color .2s .4s;
}

#site_nav_switch:after {
  background-color: #181b39;
  transition: transform .1s .1s ease-out, bottom .2s .2s, left .2s .4s, background-color .2s .4s;
}

/* ■05-1　ページメニュー ページナビゲーション ======================================================================= */
/* TAB用744px～ */
@media screen and (min-width:744px) {
  #contents_nav li>a {
    color: #181b39;
    color: #555555;
  }

  .contents_nav_lower li a {
    color: #555555;
  }
}

/* ■05-1　ページメニュー ページナビゲーション ======================================================================= */
#contents_nav li.active_page>a {
  color: #181b39;
  font-weight: 700;
}

#contents_nav li.active_page li.active_contents a {
  color: #181b39;
  font-weight: 700;
}

#contents_nav a:hover {
  color: #181b39;
  font-weight: 700;
  transition: .2s;
}

/* ■05-2　ページメニュー 関連リンク ======================================================================= */
#page_menu {
  padding: 10px 20px;
  border-top: 1px solid #e7e7e7;
  border-bottom: 1px solid #e7e7e7;
  background-color: #ffffff;
}

#page_menu h2 {
  color: #181b39;
}

#related_link li {
  background-color: #181b39;
}

#related_link li:before {
  background-color: #ffffff;
}

#related_link li a {
  color: #ffffff;
}

#related_link li a:before {
  background-color: #181b39;
  border: 2px solid #ffffff;
}

#related_link li a:after {
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
}

ul#related_link li a:hover:after {
  color: #ffffff;
}

/* PC用 1291px～ */
@media screen and (min-width:1291px) {
  #page_menu {
    width: 310px;
    padding: 0;
    border: none;
    background-color: unset;
  }

  #page_menu h2 {
    font-size: 11px;
  }

  #page_menu h2 .consul_inq_num {
    font-size: 19px;
    font-weight: 700;
  }

  #related_link {
    display: block;
  }

  #related_link li {
    width: 100%;
    margin-top: 11px;
  }

  #related_link li:first-child {
    margin-top: 0;
  }

  ul#related_link li a:hover {
    color: #99a8c5;
  }
}

/* ■07　footer ======================================================================= */
footer {
  padding: 16px 20px 0px;
  background-color: #f7f8fa;
  font-size: 11px;
}

#footer_nav {
  display: block;
}

#footer_nav ul {
  padding: 0;
}

#footer_nav ul li {
  margin-top: 8px;
}

#footer_nav ul li a {
  color: #555555;
  line-height: 2em;
}


#footer_copyright {
  padding: 13px 0 17px 0;
  color: #555555;
}

/* TAB用744px～ */
@media screen and (min-width:744px) {
  footer {
    padding: 16px 30px 0px;
  }
}

/* PC用 1291px～ */
@media screen and (min-width:1291px) {
  footer {
    padding: 30px 0 40px 427px;
    padding: 55px 427px 40px 427px;
  }

  #footer_nav ul {
    display: inline-block;
    padding: 0;
  }

  #footer_nav ul li {
    position: relative;
    display: inline-block;
    margin: 0 0 16px 0;
    padding: 0 34px 0 0;
    text-align: center;
  }

  #footer_nav ul li:after {
    content: "";
    display: block;
    width: 1px;
    height: 10px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 17px;
    margin: auto 0;
    background-color: #ccc;
  }

  #footer_nav ul li:last-child {
    padding: 0;
  }

  #footer_nav ul li:last-child:after {
    display: none;
  }
}

/* ■05　sticky ======================================================================= */
/* 左右の下部スティッキー停止用class */
#page_menu.stop_sticky_smp {
  border: none;
  position: absolute;
  bottom: 20px;
}

/* PC用 1291px～ */
@media screen and (min-width:1291px) {
  /* footer停止位置用 */
  #page_menu.stop_sticky {
    position: absolute !important;
    bottom: 70px !important;
  }

  #contents_nav.stop_sticky {
    position: absolute !important;
    bottom: -6px !important;
    left: auto !important;
  }

  #page_menu.stop_sticky_smp {
    border: none;
    position: fixed;
    bottom: 70px;
  }
}

/* ■05　main ======================================================================= */
main {
  display: block;
  height: auto;
  padding-bottom: 0px;
}

#section_wrapper {
  height: auto;
}

/* TAB用744px～ */
@media screen and (min-width:744px) {
  main {
    padding: 130px 30px 0;
  }

  #section_wrapper {
    width: 100%;
    margin: 0;
  }
}

/* PC用 1291px～ */
@media screen and (min-width:1291px) {
  main {
    padding: 100px 427px 0;
    padding-bottom: 0 !important; /* スティッキー用 */
  }

  #section_wrapper section {
    width: 100%;
    margin: 0;
    padding: 100px 0 0 0;
  }
}

/* ■11　プログレスバー ======================================================================= */
.progress-bar {
  width: 0;
  height: 5px;
  position: fixed;
  top: 0;
  left: 5px;/* 高さと合わせる */  
  transform-origin: left top 0;/*回転軸を左上に*/  
  transform: rotate(90deg);
  background-color: #181b39;
  z-index: 99;
  transition: width .4s 0s ease-out;
}