@charset "UTF-8";

/* breadcrumbs_wrap
-------------------------------------------------- */
@media print, screen and (min-width:768px){
  .breadcrumbs_wrap .content_inner {
      max-width: 1276px;
      padding: 10px 50px 0px;
      width: auto;
  }
}

.link_arrow:after {
    position: absolute;
	top: auto;
    bottom: 7px;
    right: 5px;
    transform: translate(0, -50%);
    content: "";
    width: 23px;
    height: 6px;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(/jpn/common_v3/images/icon_arrow_red.png);
    transition: all .2s;
}

.btn_link:not(:last-child){
  margin-bottom: 10px;
}
/* ttl_bdr_gray
-------------------------------------------------- */
.ttl_bdr_gray .ttl_bdr_gray_txt {
  position: relative;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
.ttl_bdr_gray .ttl_bdr_gray_txt:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #dddddd;
}
.ttl_bdr_gray .ttl_bdr_gray_txt:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100px;
  height: 2px;
  background-color: #1ba1e6;
}
@media print, screen and (min-width:768px) {
  .ttl_bdr_gray {
    margin-bottom: 25px;
  }
  .ttl_bdr_gray .ttl_bdr_gray_txt {
    padding-bottom: 15px;
    font-size: 30px;
  }
}
@media screen and (max-width:767px) {
  .ttl_bdr_gray {
    margin-bottom: 20px;
  }
  .ttl_bdr_gray .ttl_bdr_gray_txt {
    padding-bottom: 15px;
    font-size: 23px;
  }
}
/* ttl_bdr_left
-------------------------------------------------- */
.ttl_bdr_left {
  position: relative;
  font-weight: bold;
  line-height: 1.5;
}
.ttl_bdr_left:before {
  content: "";
  position: absolute;
  top: 0.15em;
  left: 0;
  width: 4px;
  height: 30px;
  background-color: #1ba1e6;
}
.ttl_bdr_left sub {
  bottom: 0.9em;
}
@media print, screen and (min-width:768px) {
  .ttl_bdr_left {
    margin-bottom: 25px;
    padding-left: 20px;
    font-size: 22px;
  }
}
@media screen and (max-width:767px) {
  .ttl_bdr_left {
    margin-bottom: 20px;
    padding-left: 20px;
    font-size: 18px;
  }
  .ttl_bdr_left:before {
    top: 0.28em;
    height: 20px;
  }
}
/* button
-------------------------------------------------- */
.col_inner.img_r .txt .link_arrow {
  color: #1ba1e6;
  font-weight: bold;
}
.col_inner.img_r .txt .link_arrow:hover {
  color: #222;
}
/* banner */
.btn_block_col2 .btn_img_txt {
  background: #fff;
}
.btn_img_txt:nth-of-type(2) a .btn_txt {
  border-left: solid 1px #ddd;
}
.btn_img_txt a {
  display: flex;
  width: 100%;
  border: 1px solid #ddd;
  color: #222;
  font-weight: bold;
  font-size: 22px;
}
.btn_img_txt a .btn_img {
  display: block;
}
.btn_img_txt a .btn_txt {
  position: relative;
  display: flex;
  align-items: center;
  align-content: center;
  width: 100%;
  overflow: hidden;
  z-index: 0;
  padding-left: 40px;
}
.btn_img_txt a .btn_txt:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 23px;
  height: 6px;
  display: block;
  margin-top: -0.2em;
  z-index: -1;
  transition: all .2s;
  background: url(/jpn/common_v3/images/icon_arrow_red.png) no-repeat;
}
.btn_img_txt a .btn_txt:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background-color: #ff0a14;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.2s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  z-index: -2;
}
@media print, screen and (min-width: 768px) {
  .ttl_page .ttl_page_inner {
      min-width: 1124px;
      max-width: 1276px;
      padding: 40px 50px 22px;
  }
  .ttl_page .ttl_page_inner:before {
      width: 110px;
      height: 6px;
      left: 50px;
      right: auto;
  }
  .btn_block_col2 {
    display: flex;
    justify-content: space-between;
  }
  .btn_block_col2 .btn_img_txt {
    width: calc((100% - 50px) / 2);
  }
  .btn_img_txt a .btn_txt {
    text-align: left;
  }
  .btn_img_txt a:hover {
    color: #fff;
    text-decoration: none;
  }
  .btn_img_txt a:hover .btn_txt:before {
    background: url(/jpn/common_v3/images/icon_arrow_wh.png) no-repeat;
  }
  .btn_img_txt a:hover .btn_txt:after {
    transform: scale(1, 1);
    transform-origin: left top;
    visibility: visible;
  }
}
@media screen and (max-width: 767px) {
	.imgtxt_hor_2_1 {
    margin-bottom: 40px;
	}
  .btn_img_txt {
    margin-bottom: 10px;
  }
  .btn_img_txt a {
    font-size: 18px;
  }
  .btn_img_txt a .btn_img {
    width: 100%;
  }
  .btn_img_txt a .btn_img img{
    width: 100%;
  }
  .btn_img_txt a .btn_txt {
    padding: 3% 46px 2% 20px;
    font-size: 15px;
  }
  .btn_block_col2 .btn_img_txt:last-of-type {
    margin-bottom: 0;
  }
}