@charset 'UTF-8';
* {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  line-height: 66.66667%;
}

body {
  color: #222;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1;
  min-width: 1040px;
  position: relative;
}

.subpage {
  font-family: 'Hiragino Mincho ProN', serif;
}

a {
  transition: .3s;
}

a:hover {
  opacity: .7;
}

a[href^='tel:'] {
  pointer-events: none;
}

.container {
  margin: 0 auto;
  max-width: 1000px;
  width: 100%;
}

.sp {
  display: none;
}

.pc {
  display: block;
}

.header {
  background-color: #fff;
  left: 0;
  padding-bottom: 20px;
  padding-top: 20px;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
}

.header.header_fixed {
  bottom: 0;
  top: auto;
}

.header.header_fixed .c_nav {
  display: none;
}

.c_header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.c_header_title {
  width: 212px;
}

.c_header_title a {
  display: block;
}

.c_header_title a img {
  width: 100%;
}

header {
  height: 153px;
}

.header_top_right {
  display: flex;
  justify-content: flex-start;
}

.header_tel {
  font-family: 'Noto Serif JP', serif;
  margin-right: 10px;
}

.header_tel span {
  display: block;
}

.header_tel span:first-child {
  color: #ac0000;
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 5px;
}

.header_tel span:nth-child(2) {
  font-size: 3rem;
  font-weight: 500;
  padding-left: 40px;
  position: relative;
}

.header_tel span:nth-child(2)::after {
  background-image: url(../img/common/icon1.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: '';
  height: 20px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
}

.header_btnGroup {
  display: flex;
  justify-content: flex-start;
}

.header_btnGroup li {
  align-items: center;
  border: 1px solid #222;
  border-radius: 100px;
  display: flex;
  justify-content: center;
  margin-right: 10px;
  width: 140px;
}

.header_btnGroup li a {
  align-items: center;
  display: flex;
  font-size: 1.6rem;
  font-weight: 400;
  justify-content: center;
  position: relative;
  text-align: center;
  width: 100%;
  height: 100%;
}

.header_btnGroup li a span.header_arrow {
  height: 13px;
  margin-right: 10px;
  position: relative;
  width: 8px;
}

.header_btnGroup li a span.header_arrow::after {
  background-image: url(../img/common/arrowblack.svg);
  background-position: center;
  background-size: cover;
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}

.header_btnGroup li.header_btnGroup_red {
  background-color: #ac0000;
  border: none;
  width: 172px;
}

.header_btnGroup li.header_btnGroup_red a {
  color: #fff;
}

.header_btnGroup li.header_btnGroup_red a span.header_arrow::after {
  background-image: url(../img/common/arrowwhite.svg);
}

.header_btnGroup li:last-child {
  margin-right: 0 !important;
}

.c_nav {
  margin-top: 46px;
  width: 100%;
}

.c_nav .header_top_right.sp {
  display: none;
}

.nav_list {
  display: flex;
  justify-content: space-between;
}

.nav_item {
  position: relative;
}

.nav_item a {
  font-size: 1.6rem;
  font-weight: 400;
}

.nav_item.current{
  position: relative;
}

.nav_item.current::before {
  background-color: #ac0000;
  bottom: -7px;
  content: '';
  height: 2px;
  left: 0;
  position: absolute;
  width: 100%;
}

.nav_item:hover .nav_sublist {
  opacity: 1;
  visibility: visible;
}

.nav_sublist {
  background-color: #fff;
  border: 1px solid #222;
  left: 0;
  opacity: 0;
  padding: 20px 16px 13px;
  position: absolute;
  top: 36px;
  transition: all .5s;
  visibility: hidden;
  width: 312px;
  z-index: 4;
}

.nav_sublist::after {
  border-bottom: 13px solid #222;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  content: '';
  height: 0;
  left: 19px;
  position: absolute;
  top: -13px;
  width: 0;
}

.nav_sublist::before {
  border-bottom: 12px solid #fff;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  content: '';
  height: 0;
  left: 19px;
  position: absolute;
  top: -11px;
  width: 0;
  z-index: 1;
}

.nav_subitem {
  border-bottom: 1px solid #222;
  padding-bottom: 13px;
  padding-top: 13px;
  width: 100%;
}

.nav_subitem a {
  display: block;
  font-size: 1.4rem;
  padding: 0 15px;
  position: relative;
  width: 100%;
}

.nav_subitem a::after {
  background-image: url(../img/common/arrowblack.svg);
  background-position: center;
  background-size: cover;
  content: '';
  height: 13px;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
}

.nav_subitem:first-child {
  padding-top: 0;
}

.footer {
  background-image: url(../img/common/common7.png);
  background-position: center top;
  background-repeat: repeat-y;
  background-size: 100% auto;
  height: 750px;
  padding-bottom: 30px;
  padding-top: 100px;
  position: relative;
  width: 100%;
}

.footer_img {
  margin-bottom: 50px;
  text-align: center;
}

.footer_mainlist {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  margin-bottom: 50px;
  max-width: 900px;
}

.footer_mainlist_detail {
  margin-left: 30px;
  width: calc((100% / 3 - 20px));
}

.footer_mainlist_detail li {
  border-bottom: 1px solid #222;
  padding-bottom: 13px;
  padding-top: 13px;
}

.footer_mainlist_detail li * {
  display: block;
  font-size: 1.4rem;
  font-weight: 400;
  position: relative;
}

.footer_mainlist_detail li a::after {
  background-image: url(../img/common/arrowblack.svg);
  background-position: center;
  background-size: cover;
  content: '';
  height: 12px;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
}

.footer_mainlist_detail
li.footer_mainlist_detail_item 
.footer_mainlist_detail_item_link {
  font-weight: bold;
  margin-bottom: 18px;
}

.footer_mainlist_detail
li.footer_mainlist_detail_item
.footer_mainlist_detail_item_link::after {
  content: none;
}

.footer_mainlist_subdetail li a {
  padding-left: 15px;
}

.footer_mainlist_subdetail li:first-child {
  padding-top: 0;
}

.footer_mainlist_subdetail li:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.footer_mainlist_detail:first-child {
  margin-left: 0;
}

.footer_mainlist::after {
  content: '';
  flex: auto;
}

.footer_copyright {
  display: flex;
  justify-content: space-between;
}

.footer_copyright ul {
  display: flex;
  justify-content: flex-start;
}

.footer_copyright ul li {
  border-left: 1px solid #222;
  margin-left: 15px;
  padding-left: 15px;
}

.footer_copyright ul li a {
  font-size: 1.4rem;
  font-weight: 400;
}

.footer_copyright ul li:first-child {
  border-left: none;
  margin-left: 0;
  padding-left: 0;
}

.footer_copyright p small {
  font-size: 1.4rem;
  font-weight: 400;
  text-align: right;
}

.backtotop {
  border-radius: 50%;
  bottom: 111px;
  display: none;
  height: 40px;
  position: fixed;
  right: 20px;
  width: 40px;
  z-index: 10;
}

.footer_navmenu {
  display: none;
}

@media only screen and (max-width: 767px) {
  body {
    min-width: inherit;
  }
  a[href^='tel:'] {
    pointer-events: auto;
  }
  .container {
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .c_nav {
    background-image: url(../img/common/common8.png);
    background-position: center;
    background-repeat: repeat;
    background-size: cover;
    height: 100vh;
    left: 100%;
    margin-top: 0;
    overflow: auto;
    padding: 20px 15px 160px 15px;
    position: fixed;
    text-align: center;
    top: 81px;
    transition: all .5s;
    width: 100%;
  }
  .c_nav .header_top_right.sp {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .c_menu {
    background-color: transparent;
    cursor: pointer;
    display: block;
    height: 51px;
    position: relative;
    transition: 300ms;
    width: 25px;
    z-index: 3;
  }
  .c_menu.is-open .c_menu_inner {
    background: rgba(255, 255, 255, 0);
  }
  .c_menu.is-open .c_menu_inner::before {
    background-color: #562a0f;
    bottom: 0;
    height: 2px;
    transform: rotate(-45deg);
    transition: bottom 300ms cubic-bezier(.23, 1, .32, 1);
    transition: bottom 300ms cubic-bezier(.23, 1, .32, 1);
    transition: bottom 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms 300ms cubic-bezier(.23, 1, .32, 1);
    transition: bottom 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms 300ms cubic-bezier(.23, 1, .32, 1);
    transition: bottom 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms 300ms cubic-bezier(.23, 1, .32, 1);
    width: 25px;
  }
  .c_menu.is-open .c_menu_inner::after {
    background-color: #562a0f;
    height: 2px;
    top: 0;
    transform: rotate(45deg);
    transition: top 300ms cubic-bezier(.23, 1, .32, 1);
    transition: top 300ms cubic-bezier(.23, 1, .32, 1);
    transition: top 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms 300ms cubic-bezier(.23, 1, .32, 1);
    transition: top 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms 300ms cubic-bezier(.23, 1, .32, 1);
    transition: top 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms 300ms cubic-bezier(.23, 1, .32, 1);
    width: 25px;
  }
  .c_menu_inner {
    background-color: #562a0f;
    display: block;
    height: 2px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: all 0ms 300ms;
    transition: 300ms;
    width: 25px;
  }
  .c_menu_inner::before {
    background-color: #562a0f;
    bottom: 8px;
    content: '';
    height: 2px;
    position: absolute;
    right: 0;
    transition: bottom 300ms 300ms cubic-bezier(.23, 1, .32, 1);
    transition: bottom 300ms 300ms cubic-bezier(.23, 1, .32, 1);
    transition: bottom 300ms 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms cubic-bezier(.23, 1, .32, 1);
    transition: bottom 300ms 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms cubic-bezier(.23, 1, .32, 1);
    transition: bottom 300ms 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms cubic-bezier(.23, 1, .32, 1);
    width: 25px;
  }
  .c_menu_inner:after {
    background-color: #562a0f;
    content: '';
    height: 2px;
    position: absolute;
    right: 0;
    top: 8px;
    transition: top 300ms 300ms cubic-bezier(.23, 1, .32, 1);
    transition: top 300ms 300ms cubic-bezier(.23, 1, .32, 1);
    transition: top 300ms 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms cubic-bezier(.23, 1, .32, 1);
    transition: top 300ms 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms cubic-bezier(.23, 1, .32, 1);
    transition: top 300ms 300ms cubic-bezier(.23, 1, .32, 1), transform 300ms cubic-bezier(.23, 1, .32, 1);
    width: 25px;
  }
  header {
    height: 81px;
  }
  .header {
    padding: 15px 0;
  }
  .layer .c_nav {
    left: 0;
  }
  .header_tel_mess {
    color: #ac0000;
    font-family: 'Noto Serif JP', serif;
    font-size: 1.6rem;
    font-weight: 500;
    margin-bottom: 11px;
  }
  .header_tel {
    margin: 0 0 10px;
    width: 100%;
  }
  .header_tel span:first-child {
    color: inherit;
  }
  .header_tel span:first-child {
    align-items: center;
    background-color: #fff;
    border: 1px solid #ac0000;
    border-radius: 100px;
    display: flex;
    font-size: 3rem;
    font-weight: 500;
    justify-content: center;
    margin: 0 auto;
    padding-bottom: 9px;
    padding-left: 0;
    padding-top: 10px;
    position: relative;
  }
  .header_tel span:first-child::after {
    content: none;
  }
  .header_tel span:first-child .header_tel_icon {
    display: block;
    height: 20px;
    margin-right: 10px;
    position: relative;
    width: 30px;
  }
  .header_tel span:first-child .header_tel_icon::after {
    background-image: url(../img/common/icon1.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    content: '';
    height: 100%;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
  }
  .header_btnGroup {
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 6px;
    width: 100%;
  }
  .header_btnGroup li {
    margin: 0 0;
    margin-bottom: 10px;
    padding-bottom: 16px;
    padding-top: 16px;
    width: calc(50% - 5px);
  }
  .header_btnGroup li.header_btnGroup_red {
    padding-bottom: 17px;
    padding-top: 17px;
    width: 100%;
  }
  .nav_list {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .nav_item {
    margin-bottom: 1px;
    position: relative;
    text-align: left;
    width: 100%;
  }
  .nav_item a {
    background-color: #fff;
    display: block;
    padding: 18px 15px 16px 15px;
  }
  .nav_item.current::before {
    content: none;
  }
  .nav_item::after {
    background-image: url(../img/common/arrowblack.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    content: '';
    height: 13px;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 7px;
  }
  .nav_item.nav_item_child::after {
    content: none;
  }
  .nav_sublist {
    background-color: inherit;
    border: none;
    display: none;
    left: auto;
    opacity: 1;
    padding: 0 0;
    position: relative;
    top: auto;
    transition: none;
    visibility: visible;
    width: 100%;
    z-index: auto;
  }
  .nav_subitem {
    border: none;
    margin-bottom: 3px;
    padding: 0 0;
    padding-left: 15px;
  }
  .nav_subitem a {
    background-color: inherit;
    border-bottom: 1px solid #222;
    padding: 18px 15px 16px 15px;
  }
  .nav_subitem:last-child {
    margin-bottom: 15px;
  }
  .nav_sublist::after {
    content: none;
  }
  .nav_sublist::before {
    content: none;
  }
  .plus_minus {
    background: rgba(255, 255, 255, .1);
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, .2) !important;
    border-left: 1px solid rgba(255, 255, 255, .4) !important;
    cursor: pointer;
    height: 50px;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    width: 50px;
    z-index: 2;
  }
  .plus_minus .noactive {
    background-color: #222;
    content: '';
    display: block;
    height: 1px;
    position: absolute;
    right: 13px;
    top: 24px;
    width: 12px;
  }
  .plus_minus span::before {
    background-color: #222;
    content: '';
    display: block;
    height: 1px;
    position: absolute;
    right: 0;
    top: 0;
    transform: rotate(90deg);
    width: 12px;
  }
  .plus_minus span.active::before {
    content: none;
  }
  .footer {
    background-image: url(../img/common/common7_sp.png);
    height: 258px;
    padding-bottom: 25px;
    padding-top: 50px;
  }
  .footer_img {
    margin-bottom: 30px;
  }
  .footer_copyright {
    flex-wrap: wrap;
    justify-content: center;
  }
  .footer_copyright ul, .footer_copyright p {
    width: 100%;
  }
  .footer_copyright ul {
    justify-content: center;
    margin-bottom: 15px;
  }
  .footer_copyright p {
    text-align: center;
  }
  .footer_copyright p small {
    font-size: 1.1rem;
  }
  .footer_navmenu {
    background-color: #fff;
    bottom: 0;
    display: flex;
    height: 60px;
    left: 0;
    position: fixed;
    width: 100%;
    z-index: 999;
  }
  .footer_navmenu .item {
    position: relative;
    width: 25%;
  }
  .footer_navmenu .item a {
    align-items: flex-end;
    background-repeat: no-repeat;
    color: #222;
    display: flex;
    font-size: 1.2rem;
    font-weight: bold;
    height: 100%;
    justify-content: center;
    padding-bottom: 10px;
  }
  .footer_navmenu .item::after {
    background-color: #222;
    content: '';
    display: block;
    height: 40px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
  }
  .footer_navmenu .item:first-child a {
    background-image: url(../img/common/common10.svg);
    background-position: center 14px;
    color: #ac0000;
  }
  .footer_navmenu .item:nth-child(2) a {
    background-image: url(../img/common/common11.svg);
    background-position: center 14px;
  }
  .footer_navmenu .item:nth-child(3) a {
    background-image: url(../img/common/common12.svg);
    background-position: center 14px;
  }
  .footer_navmenu .item:last-child a {
    background-image: url(../img/common/common13.svg);
    background-position: center 14px;
  }
  .footer_navmenu .item:last-child::after {
    content: none;
  }
  .backtotop {
    right: 15px;
    bottom: 80px;
  }
}

.danger {
  color: #ac0000;
}

.active {
  display: block !important;
}

.top_banner {
  background-image: url(../img/top/img13.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 319px;
  padding-bottom: 50px;
  padding-top: 50px;
  width: 100%;
}

.top_banner_detail {
  margin: 0 auto;
  max-width: 720px;
  position: relative;
  z-index: 2;
}

.top_banner_detail_title {
  color: #ac0000;
  font-family: 'Noto Serif JP', serif;
  font-size: 2.4rem;
  font-weight: 500;
  margin-bottom: 20px;
}

.top_banner_detail_desc {
  font-size: 1.6rem;
  font-weight: 400;
  margin-bottom: 30px;
}

.top_banner_detail_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.top_banner_detail_list li {
  display: flex;
  flex-direction: column;
  padding-left: 15px;
  width: calc(100% / 3);
}

.top_banner_detail_list li a {
  flex: 1 1 auto;
}

.top_banner_detail_list li:nth-child(3n + 1) {
  padding-left: 0;
}

.top_banner_detail_list:after {
  content: '';
  flex: auto;
}

.top_banner_detail_phone {
  align-items: center;
  display: flex;
  font-family: 'Noto Serif JP', serif;
  font-size: 6rem;
  font-weight: 500;
  margin-bottom: 20px;
  position: relative;
}

.top_banner_detail_phone span.banner_icon {
  align-items: center;
  display: flex;
  height: 60px;
  justify-content: center;
  margin-right: 20px;
  position: relative;
  width: 60px;
}

.top_banner_detail_phone span.banner_icon::after {
  background-image: url(../img/top/img16.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 6px;
  content: '';
  height: 40px;
  left: 0;
  position: absolute;
  width: 60px;
}

.top_banner_human {
  position: relative;
}

.top_banner_human::after {
  background-image: url(../img/top/img12.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: '';
  height: 361px;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: -93px;
  width: 402px;
  z-index: 1;
}

@media only screen and (max-width: 767px) {
  .top_banner {
    background-image: url(../img/top/img13_sp.png);
    height: auto;
    padding-top: 55px;
  }
  .top_banner_human::after {
    content: none;
  }
  .top_banner_detail {
    max-width: 100%;
  }
  .top_banner_detail_title {
    font-size: 1.6rem;
    margin-bottom: 13px;
    text-align: center;
  }
  .top_banner_detail_desc {
    font-size: 1.4rem;
    line-height: 2;
    margin-bottom: 18px;
    padding-left: 20px;
    position: relative;
    z-index: 2;
  }
  .top_banner_detail_list {
    flex-wrap: wrap;
    position: relative;
  }
  .top_banner_detail_list li {
    padding-left: 11px;
    width: 50%;
  }
  .top_banner_detail_list li:nth-child(2) {
    padding-left: 0;
  }
  .top_banner_detail_list li:first-child {
    margin-bottom: 10px;
    width: 100%;
  }
  .top_banner_detail_list::before {
    background-image: url(../img/top/img17.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    content: '';
    height: 153px;
    position: absolute;
    right: 20px;
    top: -153px;
    width: 170px;
    z-index: 1;
  }
  .top_banner_detail_phone {
    align-items: center;
    background-color: #fff;
    border: 1px solid #ac0000;
    border-radius: 100px;
    font-size: 3rem;
    justify-content: center;
    margin: 0 auto;
    margin-bottom: 35px;
    max-width: 345px;
    padding-bottom: 10px;
    padding-top: 8px;
    text-align: center;
  }
  .top_banner_detail_phone span.banner_icon {
    height: 20px;
    margin-right: 10px;
    width: 30px;
  }
  .top_banner_detail_phone span.banner_icon::after {
    bottom: auto;
    height: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
  }
}

.btn {
  align-items: center;
  border-radius: 100px;
  display: flex;
  font-size: 1.6rem;
  justify-content: center;
  margin: 0 auto;
  padding-bottom: 16px;
  padding-top: 16px;
}

.btn .arrow {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 13px;
  margin-right: 10px;
  position: relative;
  width: 8px;
}

.btn_red {
  background-color: #fff0f0;
  border: 1px solid #ac0000;
  color: #ac0000;
  font-family: 'Hiragino Kaku Gothic Pro', sans-serif;
  font-weight: 400;
  max-width: 345px;
}

.btn_red .arrow {
  background-image: url(../img/common/arrowred.svg);
}

.btn_cost {
  border: 1px solid #222;
  font-weight: 400;
  max-width: 228px;
}

.btn_cost .arrow {
  background-image: url(../img/common/arrowblack.svg);
}

.btn_banner {
  background-color: #fff;
  background-position: center left 60px;
  border: 1px solid #222;
  font-weight: 400;
  max-width: 100%;
  padding-left: 0;
  text-align: center;
  width: 100%;
}

.btn_banner .arrow {
  background-image: url(../img/common/arrowblack.svg);
}

.btn_banner_red {
  background-color: #ac0000;
  border: none;
  color: #fff;
}

.btn_banner_red .arrow {
  background-image: url(../img/common/arrowwhite.svg);
}

.btn_question {
  border: 1px solid #222;
  font-weight: 400;
  margin-top: 19px;
  max-width: 196px;
}

.btn_question .arrow {
  background-image: url(../img/common/arrowblack.svg);
}

.btn_aside {
  background-color: #fff;
  background-image: url(../img/common/arrowblack.svg);
  background-position: center left 30px;
  background-repeat: no-repeat;
  background-size: 6px 13px;
  display: inline-block;
  padding-bottom: 12px;
  padding-left: 46px;
  padding-right: 30px;
  padding-top: 12px;
  position: relative;
  top: 150px;
}

@media only screen and (max-width: 767px) {
  .btn_red {
    max-width: 100%;
    width: 100%;
  }
  .btn_cost {
    background-position: center left 25px;
    max-width: 174px;
    padding-bottom: 11px;
    padding-top: 11px;
  }
  .btn_question {
    background-position: center left 25px;
    margin-top: 15px;
    max-width: 146px;
    padding-bottom: 11px;
    padding-top: 11px;
  }
  .btn_aside {
    padding-bottom: 11px;
    padding-top: 11px;
    top: 90px;
  }
}

.sub_mv {
  height: 300px;
  margin-bottom: 25px;
  position: relative;
}

.sub_mv_banner {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

.sub_mv_title {
  color: #fff;
  font-size: 4rem;
  font-weight: 400;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

.breadcrumb {
  display: flex;
  font-family: 'Hiragino Kaku Gothic ProN', sans-serif;
  justify-content: flex-start;
}

.breadcrumb_container {
  margin-bottom: 35px;
}

.breadcrumb_item {
  color: #444;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 400;
  position: relative;
}

.breadcrumb_item a .text {
  font-size: 1.4rem;
  text-decoration: underline;
}

.breadcrumb_item .current {
  font-size: 1.4rem;
  margin-right: 10px;
}

.breadcrumb_item:not(:first-child) {
  margin-left: 10px;
}

.sub_guide_desc {
  font-family: 'Hiragino Kaku Gothic ProN', sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}

.sub_guide_title {
  align-items: center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  font-size: 2.4rem;
  font-weight: 400;
  justify-content: center;
  min-height: 56px;
  width: 100%;
}

.sub_guide_title.sub_guide_title_blue {
  background-image: url(../img/common/img5.jpg);
}

.sub_guide_title.sub_guide_title_yellow {
  background-image: url(../img/common/img6.jpg);
}

.sub_guide_title.sub_guide_title_green {
  background-image: url(../img/common/img7.jpg);
}

@media only screen and (max-width: 767px) {
  .sub_mv {
    height: 375px;
    margin-bottom: 10px;
  }
  .sub_mv_title {
    font-size: 2.5rem;
  }
  .breadcrumb_container {
    margin-bottom: 20px;
  }
  .breadcrumb_item {
    font-size: 1.2rem;
    margin-top: 5px;
  }
  .breadcrumb_item a {
    font-size: 1.2rem;
  }
  .breadcrumb_item span {
    font-size: 1.2rem;
  }
  .breadcrumb_item a .text {
    font-size: 1.2rem;
  }
  .breadcrumb_item .current {
    font-size: 1.2rem;
  }
  .sub_guide_desc {
    font-size: 1.3rem;
  }
  .sub_guide_title {
    font-size: 1.8rem;
    line-height: 1.8;
    text-align: center;
  }
  .breadcrumb {
    flex-wrap: wrap;
  }
  .breadcrumb_item.current {
    font-size: 1.2rem;
  }
  .breadcrumb_item.current span {
    font-size: 1.2rem;
  }
}

:root {
  /* The intrinsic width of the underline stroke (in pixels). This is
         * the same as the height of the cap images. Don't specify the
         * units! This is because of some of the calculations we do later on. */
  --underline-intrinsic-width: 8;
  /* The actual width of the underline stroke we want to render (in pixels).
         * You can modify this, and the sizing and positioning should be calculated
         * accordingly. Again, Don't specify the units! */
  --underline-width: 12;
  /* The colour used to draw the underline. It should match the colour
         * used in the cap images... unfortunately we can't modify the SVG
         * fill via CSS because it's a background image. */
  --underline-color: #d8cd84;
  /* We need to know the width of the cap images so that we
         * can position everything on the x axis accordingly. */
  --underline-cap-width: 4px;
  /* The border is positioned relative to the bottom of the line.
         * We can move it upwards a little to create an overlap effect. */
  --underline-offset-y: -2px;
  /* The padding to add to the x axis. By default, the caps would be
         * aligned with the beginning and end of the line. */
  --underline-padding-x: 0em;
  /* The cap images to use that form the left and right rounded
         * shape. I guess these could be any shape, they don't
         * necessarily have to be round 🙂.
         */
}

.heading {
  --underline-width-scale: calc(
    var(--underline-width) / var(--underline-intrinsic-width)
  );
  background-repeat: no-repeat;
  background-image: linear-gradient(180deg, var(--underline-color), var(--underline-color));
  background-position-x: calc( var(--underline-cap-width) * var(--underline-width-scale)), 0, 100%;
  background-position-y: calc(100% - var(--underline-offset-y) * -1);
  background-size: calc( 100% - calc(var(--underline-cap-width) * var(--underline-width-scale) * 2)) calc(var(--underline-width) * 1px), auto calc(var(--underline-width) * 1px), auto calc(var(--underline-width) * 1px);
  box-decoration-break: clone;
  display: inline;
  --underline-width: 9;
  --underline-offset-y: -1px;
}

.yellow_line {
  font-size: 1.8rem;
  line-height: 1.8;
  padding: 0 5px;
}

.yellow_line_2 {
  color: #452b7f;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
  padding: 0 5px;
}

@media only screen and (max-width: 767px) {
  .yellow_line {
    font-size: 1.4rem;
    line-height: 1.3;
  }
  :root {
    --underline-intrinsic-width: 100;
  }
  .yellow_line_2 {
    color: #452b7f;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    padding: 0 5px;
  }
}

.pagenation_box {
  display: table;
  margin: 0 auto;
}

.pagenation_list {
  align-items: center;
  display: flex;
  justify-content: center;
  position: relative;
  width: 100%;
}

.pagenation_list li {
  align-items: center;
  border-radius: 6px;
  display: flex;
  height: 39px;
  justify-content: center;
  width: 39px;
}

.pagenation_list li a {
  align-items: center;
  color: #555;
  display: flex;
  font-size: 2.4rem;
  font-weight: 400;
  height: 100%;
  justify-content: center;
  width: 100%;
}

.pagenation_list li.current {
  background-color: #f5f5f5;
}

.pagenation_list li.current span {
  align-items: center;
  color: #907d35;
  display: flex;
  font-size: 2.4rem;
  font-weight: 400;
  height: 100%;
  justify-content: center;
  width: 100%;
}

.pagenation_list li {
  margin: 0 4px;
}

.pagenation_list .prev, .pagenation_list .next {
  background-color: inherit;
  border: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.pagenation_list .prev {
  left: -53px;
  margin-left: 0 !important;
}

.pagenation_list .next {
  margin-left: 0 !important;
  right: -53px;
}

@media only screen and (max-width: 767px) {
  .pagenation_list li {
    height: 20px;
    width: 20px;
  }
  .pagenation_list li a {
    font-size: 1.8rem;
  }
  .pagenation_list li.current span {
    font-size: 1.8rem;
  }
  .pagenation_list li {
    margin: 0 2px;
  }
  .pagenation_list .prev {
    left: -30px;
    margin-left: 0 !important;
  }
  .pagenation_list .next {
    margin-left: 0 !important;
    right: -30px;
  }
}

.pagenation_single_box {
  display: table;
  margin: 0 auto;
}

.pagenation_single_lists {
  align-items: center;
  display: flex;
  justify-content: center;
  position: relative;
  width: 100%;
}

.pagenation_single_lists li {
  align-items: center;
  border-radius: 6px;
  display: flex;
  justify-content: center;
}

.pagenation_single_lists li a {
  align-items: center;
  color: #444;
  display: flex;
  font-size: 2.2rem;
  font-weight: 400;
  height: 100%;
  justify-content: center;
  width: 100%;
}

.pagenation_single_lists .prev, .pagenation_single_lists .next {
  background-color: inherit;
  border: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.pagenation_single_lists .prev {
  left: -43px;
  margin-left: 0 !important;
}

.pagenation_single_lists .next {
  margin-left: 0 !important;
  right: -43px;
}

@media only screen and (max-width: 767px) {
  .pagenation_single_lists li a {
    font-size: 1.8rem;
  }
  .pagenation_single_lists li.current span {
    font-size: 1.8rem;
  }
  .pagenation_single_lists li:not(:nth-child(2)) {
    margin-left: 5px;
  }
}
/*# sourceMappingURL=common.css.map */
