/* 
-------------------------------------------------- */
h1 sub,
h2 sub{
  bottom: 0.78em;
}
.ttl_bdr_blue.ttl_black .txt_main {
  color: #222222; }

.plan_img {
  margin-top: 34px; }
/* 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) {
  .sec.sec1{
    margin-bottom: 69px;
  }
  .sec.sec2{
    margin-bottom: 74px;
  }
  .sec.sec2 .ttl_bdr_gray{
    margin-bottom: 35px;
  }
  
  .sec2_inner2 .ttl_num_blue {
    margin-bottom: 10px;

  }
  .sec_inner.sec2_inner1{
    margin-bottom: 50px;
  }
  .sec2_inner2 .sec_inner{
    margin-bottom: 29px;
  }
  .text_mb {
    margin-bottom: 20px; }

  .txt_small {
    font-size: 12px; }

  .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; } 
  .bg_light_gray_sec.sec_bottom{
    padding: 60px 0 80px;
  }
  .sec_bottom .ttl_bdr_blue{
    margin-bottom: 56px;
  }
  
  }
@media screen and (max-width: 767px) {
  .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_txt {
    padding: 4% 46px 4% 20px; }

  .btn_block_col2 .btn_img_txt:last-of-type {
    margin-bottom: 0; } }
