.mod-contents-block.narrow {
  padding: 12px 20px;
}

.mod-contents-block.bg-white+.mod-contents-block.bg-white {
  padding-top: 0 !important;
}

.mod-contents-block.bg-red {
    display:none;
}

@media only screen and (max-width: 767px) {
  .mod-contents-block.narrow {
    padding: 8px 10px;
  }
}

.mod-heading-lv1--gray {
  border-color: #5a5a5a;
}

.mod-btn-gray.wide {
  width: 312px;
}

@media only screen and (max-width: 767px) {
  .mod-btn-gray.wide {
    width: inherit;
    max-width: 312px;
  }
}

@media only screen and (max-width: 767px) {
  .main-area__img {
    padding-bottom: 40px;
  }
}

.main-side-area {
  background: #e6e9ee;
  width: 344px;
  margin-left: 16px;
  padding: 10px;
}

.main-side-area__heading {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  padding: 10px 0;
}

.main-side-area-btns {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.main-side-area-btn-red {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 2.2rem;
  font-weight: bold;
  width: 324px;
  color: #fff;
  border-radius: 5px;
  position: relative;
  margin-bottom: 8px;
  height: 75px;
  background: #e60000;
}

.main-side-area-btn-red::after {
  content: "";
  width: 8px;
  height: 7px;
  position: absolute;
  top: 8px;
  right: 8px;
}

.main-side-area-btn-red:hover {
  opacity: 0.7;
}

.main-side-area-btn-red__img, .main-side-area-btn__img{
  width: 100px;
  text-align: center;
}

.main-side-area-btn-red__txt {
  width: 220px;
  text-align: center;
  margin-left: -10px;
}

.main-side-area-btn {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 1.8rem;
  font-weight: bold;
  width: 324px;
  position: relative;
  margin-bottom: 8px;
  height: 67px;
  background: #fff;
  border: 1px solid #ddd;
  line-height: 1.4;
}
.main-side-area-btns li:last-child a{
  margin-bottom: 0;
}

.main-side-area-btn.blank::after {
  content: "";
  width: 8px;
  height: 7px;
  background: url(../img/parts/icon_blank_01.png) no-repeat top left/contain;
  position: absolute;
  top: 8px;
  right: 8px;
}

.main-side-area-btn:hover {
  background: #fff0f0;
}

.main-side-area-btn__text{
  text-align: center;
  width: 100%;
}
  
.main-side-area-btn__img img{
  height: 65px;
}

.main-side-area-btn__txt {
  width: 200px;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .main-side-area {
    width: 100%;
    margin: 20px 0 0;
    padding: 20px 10px;
  }

  .main-side-area__heading {
    font-size: 1.8rem;
    padding: 0 0 10px;
  }

  .main-side-area-btn-red,
  .main-side-area-btn {
    width: 100%;
  }

  .main-side-area-btn-red__img {
    width: 32%;
  }

  .main-side-area-btn-red__txt {
    width: 60%;
    font-size: 2rem;
  }
}

.mod-info-tab--2col.mod-info-tab li {
  width: 50%;
}

.mod-info-tab--2col.mod-info-tab li:first-child {
  margin-right: 2px;
}

.mod-info-tab--2col.mod-info-tab li:nth-child(2n) {
  margin-left: 2px;
}

.mod-info-tab--gray.mod-info-tab::after {
  background: #5a5a5a;
}

.mod-info-tab--gray.mod-info-tab .active {
  background: #5a5a5a;
}

@media only screen and (max-width: 767px) {
  .mod-info-tab--2col.mod-info-tab li {
    width: 49.5%;
    font-size: 1.2rem;
  }
}

.mod-link-list {
  font-size: 1.4rem;
}

.mod-link-list__item {
  position: relative;
  padding-left: 12px;
  margin-bottom: 8px;
}

.mod-link-list__item:last-child {
  margin-bottom: 0;
}

.mod-link-list__item::before {
  content: "";
  width: 6px;
  height: 6px;
  background: url(../img/parts/icon_arrow_01.svg) no-repeat top left/contain;
  position: absolute;
  top: 0.5em;
  left: 0;
}

.mod-link-list__item.blank::before {
  width: 8px;
  height: 7px;
  background: url(../img/parts/icon_blank_01.png) no-repeat top left/contain;
}


.mod-link-list__item a:hover {
  text-decoration: underline;
}

.mod-block {
  display: flex;
}

.mod-block:not(:last-child) {
  margin-bottom: 16px;
}

.mod-block__item {
  border: 1px solid #ddd;
  margin-right: 16px;
  background: #fff;
  display: block;
}

.mod-block__item:last-child {
  margin-right: 0;
}

.mod-block__item--3col {
  width: 389px;
}

.mod-block__item--4col {
  width: 288px;
}

.mod-block__item--5col {
  width: 227px;
}

.mod-block__item--link:hover {
  opacity: 0.7;
}

.mod-block__heading {
  font-size: 2.2rem;
  display: flex;
  align-items: center;
  font-weight: bold;
  background: #f5f6f9;
  padding: 16px;
  height: 100px;
  line-height: 1.3;
}

.mod-block__heading--icon {
  font-size: 1.6rem;
}

.mod-block__heading--icon img {
  margin-right: 8px;
}

.mod-block__heading--link {
  height: 140px;
}

.mod-block__heading--link:hover {
  text-decoration: underline;
  opacity:0.7;
}

.mod-block__heading--link.bg-img-work01 {
  background: url(../img/houjin/img_work_01.jpg) no-repeat right center;
}

.mod-block__heading--link.bg-img-work02 {
  background: url(../img/houjin/img_work_02.jpg) no-repeat right center;
}

.mod-block__heading--link.bg-img-work03 {
  background: url(../img/houjin/img_work_03.jpg) no-repeat right center;
}

.mod-block__heading--link.bg-img-work04 {
  background: url(../img/houjin/img_work_04.jpg) no-repeat right center;
}

.mod-block__heading--link.bg-img-work05 {
  background: url(../img/houjin/img_work_05.jpg) no-repeat right center;
}

.mod-block__heading--link.bg-img-work06 {
  background: url(../img/houjin/img_work_06.jpg) no-repeat right center;
}

.mod-block__heading--link span {
  position: relative;
  padding-left: 16px;
}

.mod-block__heading--link span::before {
  content: "";
  width: 8px;
  height: 8px;
  background: url(../img/parts/icon_arrow_01.svg) no-repeat top left/contain;
  position: absolute;
  top: 0.5em;
  left: 0;
}

.mod-block__inner {
  padding: 16px;
}

.mod-block__link-text {
  position: relative;
  padding-left: 16px;
  display: block;
}

.mod-block__link-text::before {
  content: "";
  width: 8px;
  height: 8px;
  background: url(../img/parts/icon_arrow_01.svg) no-repeat top left/contain;
  position: absolute;
  top: 0.5em;
  left: 0;
}

.mod-block__inner .mod-block__inner__txt {
  margin-bottom: 0px;
  font-size: 1.4rem;
  margin-top: 10px;
}

.mod-block__inner .mod-block__inner__banner {
  margin: auto;
  text-align: center;
}

.mod-block__inner .mod-block__inner__banner a:hover {
  opacity: 0.7;
}

.mod-block__item--5col.link_2row .mod-block__inner a:hover {
  opacity: 0.7;
}

@media only screen and (max-width: 767px) {
  .mod-block {
    flex-direction: column;
  }

  .mod-block:not(:last-child) {
    margin-bottom: 0;
  }

  .mod-block__item {
    margin-right: 0;
    margin-bottom: 10px;
  }

  .mod-block__item:last-child {
    margin-right: 0;
  }

  .mod-block__item--3col,
  .mod-block__item--4col,
  .mod-block__item--5col {
    width: 100%;
  }
  
  .mod-block__item--5col.link_2row {
    display: block;
  }

  .mod-block__item--5col.link_2row .mod-block__inner {
    flex-direction: column;
    align-items: flex-start;
  }
  
  .mod-block__item--5col.link_2row .mod-block__inner a:hover {
    opacity: 0.7;
  }
  
  .mod-block__item--link {
    display: flex;
  }

  .mod-block__img {
    padding: 8px 0 8px 8px;
  }

  .mod-block__item--5col.link_2row .mod-block__img {
    float: left;
  }

  .mod-block__img img {
    max-width: 84px;
  }

  .mod-block__heading {
    font-size: 1.5rem;
    height: 70px;
    border-bottom: 1px solid #ddd;
  }

  .mod-block__heading--icon {
    padding-right: 40px;
    position: relative;
    border-bottom: 0;
  }

  .mod-block__heading--icon span::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
    width: 20px;
    height: 20px;
    border: 2px solid #333;
    border-radius: 100%;
  }

  .mod-block__heading--icon span::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 15px;
    width: 10px;
    height: 1px;
    border: 1px solid #333;
  }

  .mod-block__heading--icon::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 19px;
    width: 1px;
    height: 10px;
    border: 1px solid #333;
  }

  .mod-block__heading--icon.open {
    border-bottom: 1px solid #ddd;
  }

  .mod-block__heading--icon.open::after {
    display: none;
  }

  .mod-block__heading--link {
    font-size: 1.5rem;
    border-bottom: 1px solid #ddd;
  }

  .mod-block__img~.mod-block__inner {
    display: flex;
    align-items: center;
    font-size: 1.6rem;
  }
}

@media print,
screen and (min-width: 768px) {

  .header_border{
    border-bottom: 4px solid #e60000;
    position: absolute;
    width: 100%;
    top: 62px;
  }

  .header-tab>li.border-right-none {
    position: relative;
  }

  .header-tab>li.border-right-none::after {
    content: "";
    width: 1px;
    height: 34px;
    background: #f7f7f7;
    position: absolute;
    top: 1px;
    right: 0;
  }

  .header-tab>li.border-right-none.active::after {
    display: none;
  }

  .header-tab>li.current {
    height: 45px;
    position: relative;
  }

  .header-tab>li.current::after {
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    position: absolute;
    bottom: -1px;
    left: 0;
  }
  
  .header-tab-sub.kojin.kojin-left {
    left: -100px;
  }
  
  .header-tab-sub.kojin ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: -16px;
  }

  .header-tab-sub.kojin ul li {
    width: 211px;
    margin-right: 16px;
    margin-bottom: 16px;
  }

  .header-tab-sub.kojin ul li:nth-child(5n) {
    margin-right: 0;
  }

  .header-tab-sub.kojin ul li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    padding-left: 12px;
    color: #333;
    font-size: 1.4rem;
  }

  .header-tab-sub.kojin ul:first-child {
    border-bottom: 1px solid #ddd;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }

  .header-tab-sub.houjin ul {
    margin-bottom: -16px;
  }

  .header-tab-sub.houjin ul li {
    margin-bottom: 16px;
  }

  .header-tab-sub.houjin ul li.w-2col {
    width: 552px;
  }

  .header-tab-sub.houjin ul li.w-4col {
    width: 268px;
  }

  .header-tab-sub.houjin ul li.w-6col {
    width: 173px;
  }

  .header-tab-sub.houjin ul li.w-2col:nth-child(2n),
  .header-tab-sub.houjin ul li.w-4col:nth-child(4n),
  .header-tab-sub.houjin ul li.w-6col:nth-child(6n) {
    margin-right: 0;
  }

  .header-tab-sub ul li a::before {
    content: "";
    width: 6px;
    height: 6px;
    background: url(../img/parts/icon_arrow_01.svg) no-repeat top left/contain;
    position: absolute;
    top: 0.5em;
    left: 0;
  }

  .header-tab-sub ul li a.blank::before {
    content: "";
    width: 8px;
    height: 7px;
    background: url(../img/parts/icon_blank_01.png) no-repeat top left/contain;
    position: absolute;
    top: 0.5em;
    left: 0;
  }

  .header-tab-sub ul li a:hover {
    text-decoration: underline;
  }

  .header--gray .mainnav-sub {
    border: 5px solid #5a5a5a;
  }
  
  .mainnav-sub-block__btn-02 {
    margin: 0 auto;
  }

  .mainnav-sub-block__items~.mainnav-sub-block__btn-02 {
    margin-top: 24px;
  }
}

@media only screen and (max-width: 767px) {

  .header__mainnav.overflow {
    overflow-y: hidden;
  }

  .overflow .mainnav {
    overflow-y: hidden;
    width: 100%;
  }

  .header--gray .mainnav>li.active>a {
    background: #5a5a5a;
  }

  .header-sp__btn-login.none {
    background: #fff;
  }

  .header-sp-main__detail.about li {
    padding-left: 30px;
  }

  .header-sp-main__detail li {
    height: 50px;
    border-bottom: 1px solid #ddd;
  }

  .header-sp-main__detail li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .header-sp-main__detail li a span.img {
    width: 50px;
    text-align: center;
  }

  .header-sp-main__detail li a span.img img {
    max-width: 26px;
    max-height: 26px;
  }

  .header-sp-main__kojin li a span:last-child,
  .header-sp-main__detail li a span.text {
    line-height: 1.4;
  }

  .header-sp-main__detail li a span.text.arrow {
    margin-left: 24px;
  }

  .header--gray .mainnav-sub {
    border: 5px solid #5a5a5a;
    width:100%;
  }

  .mainnav-sub-block__items~.mainnav-sub-block__btn-02 {
    margin: 24px auto 0;
  }
  
  .hidden-sp {
    display: none !important;
  }

  .header-sp-nav ul.header-sp-sub li.icon-pc-xs {
      background:url(../../img/parts/icon_link_pc.png) no-repeat top right/contain;
      background-size:8px auto;
      background-position : right 5% top 10%;
  }
  
  .header-sp-foot ul li:first-child,
  .header-sp-foot ul li:nth-child(2n+1){
      width:47%;
  }
  
  .header-sp-foot ul li:nth-child(2n){
      width:53%;
  }

  .header-sp-foot ul li:last-child{
      width:100%;
  }

  ul li.icon-pc-xs a::before,
  ul li.icon-pc-xs::before{
      width:10px;
      height:8px;
      background:url(../img/parts/icon_link_pc.png) no-repeat top left/contain;
  }
}

@media print,
screen and (min-width: 768px) {

  .fixednav--gray .fixednav__btn {
    background: #5a5a5a;
  }
  .hidden-pc {
    display: none !important;
  }

  .houjin_main_tab {
    padding-top:0px!important;
  }
}

.mod-separate {
  border-top: 1px solid #ccd0d9;
}