/* style parts --------------------------------------------------*/

.siteHeader {
  box-shadow: 0 3px 10px rgb(0 0 0 / 16%);
}

.wrapper a:link {
    color: var(--Colors_Global-color-link, #0017C1);
}

.wrapper .tg_inner a { text-decoration:underline; }

body {
  background: #fff;
}

img {
  /*  max-width: 100%;*/
  width: 100%;
  height: auto;
  vertical-align: top;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.wrapper .nav_list {
    max-width: 800px;
}
.nav_list li + li { margin-top:30px; }
.wrapper h3.hdg {
    font-weight: bold;
    cursor: pointer;
    margin-bottom: 20px;
    font-size: 1.125rem;
}
.wrapper h3.hdg::before {
    content: "▼";
    display: inline-block;
    color: #000;
    margin-right: 3px;
    transition: 0.3s;
}

.wrapper .tg_list { max-width: 1040px; margin: 0 auto; padding-top: 20px; margin-bottom:60px; }
.wrapper .tg_list h2 { font-size: 1.4rem; cursor:pointer; line-height: 1.5; font-weight:bold; margin-bottom:20px; }
.wrapper .tg_list h2 { position: relative; background: #F0F0F0; padding: 30px 40px; }
.wrapper .tg_list h2::after { content: url(/contract/common/img/arrow.svg); position: absolute; top: calc(50% - 16px); right: 50px; transition:0.3s;  transform: rotate(90deg); }
.wrapper .tg_list h2.open::after { transform: rotate(0); }
.wrapper .tg_list .tg_inner { font-size: 1.2rem; line-height: 1.8; overflow: hidden; padding:10px 20px 40px; }
.wrapper .tg_list .tg_inner_news li { display: flex; gap:20px; margin-bottom:20px; }
.wrapper .tg_list .tg_inner_news li time { white-space: nowrap; }
.wrapper .tg_list .tg_inner_news li time,
.wrapper .tg_list .tg_inner_news li p { font-size: 1rem; line-height:1.6; }
.wrapper .tg_list .caption { font-size:0.9rem; }
.wrapper .tg_list .caption.right { text-align:right; margin-top:10px; }

.wrapper .tg_list .tg_inner_news li time:before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 5px;
    border-radius: var(--Border_Radius-border-radius-full, 1000px);
    background-color: var(--Colors_Global-lime-green-color-lime-green-400);
    vertical-align: middle;
}

/*
.wrapper .lead { font-size:0.9rem; text-align:center; border-top:#ccc solid 1px; border-bottom:#ccc solid 1px; padding:15px 0; }
*/
.box_txt { padding:20px 25px; margin: 0 20px; border:1px dotted #ccc; }
.box_txt .lead { font-size:0.9rem; margin-top:0; }


/* 個別リンク設定 */
.link_nav_01 { max-width: 800px; margin:0 auto; }
.link_nav_01 a { display: block; width: 100%; padding: 30px 0; background-color:#03875F; text-align:center; box-shadow: 0px 0px 15px -5px #777777; }
.link_nav_01 a:hover { opacity:0.6; } 
.link_nav_01 span { color:white; font-size:1.5rem; }
.link_nav_01 span::after { content: url(../img/btn_arrow.svg); margin-left:10px; vertical-align:middle; }


/* hack */
.stories__introduction { margin-top:100px; }
.animation.bow {
  width: 245px;
  height: 245px;
  margin: 30px auto 40px;
}






/** SP *****************************************************************************************************************************************************/


@media screen and (max-width: 1039px) {


  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  .caption {
    font-size: 0.8rem;
  }

  .common_contents {
    margin-top: 0;
    font-size: 14px;
  }

  .box_mv {
    margin-bottom: 24px;
    padding: 35px 0 0;
  }

  .box_mv h1 {
    font-size: 4.6vw;
    margin-bottom: 30px;
    letter-spacing: normal;
  }

  .box_mv h1 span {
    font-size: 5.2vw;
  }

  .common_contents_inner {
    margin: 0;
    padding: 0;
  }

  .common_contents_inner+.common_contents_inner {
    margin-top: 50px;
  }

  .common_contents_inner p+p {
    margin-top: 20px;
  }

  .common_contents_inner p.caption + p.caption {
    margin-top: 8px;
  }

  .common_contents_inner.ls {
    margin-bottom: 20px;
    padding-bottom: 30px;
  }


  .mainArea_inner {
    width: 100%;
  }

  .img_set {
    width: 100%;
    margin-top: 20px;
  }

  .hdg_01 {
    font-size: 16px;
    margin-top: 30px;
  }

  .hdg_02 {
    font-size: 17px;
    padding-left: 10px;
  }

  .hdg_02+p {
    margin-top: 15px;
  }

  .linkArea {
    margin-top: 10px;
    font-size: 12px;
  }

  .linkArea+.linkArea {
    margin-top: 10px;
  }

  .btn_list {
    margin: 20px 5%;
  }

  .btn_list li+li {
    margin-top: 10px;
  }

  .list_01 {
    margin-top: 15px;
  }

  .list_01 li+li {
    margin-top: 15px;
  }


  .stories__introduction {
    margin: 30px 20px 0;
    padding: 0 0 18px;
    text-align: left;
  }

  .stories__introduction img {
    max-width: 714px;
    width: 100%;
  }

  .animation.bow {
    width: 158px;
    height: 158px;
    margin: 20px auto 0;
  }


.wrapper .nav_list { margin: 20px auto 40px !important; }
.nav_list li + li { margin-top:30px; }
.wrapper h3.hdg { font-size: 0.9rem; margin-bottom: 10px; }

.wrapper .tg_list { padding-top: 0; margin-bottom:30px; }
.wrapper .tg_list h2 { font-size: 1rem; margin-bottom:20px; }
.wrapper .tg_list h2 { padding:15px 20px; }
.wrapper .tg_list h2::after { transform: scale(0.8),rotate(90deg); top: calc(50% - 12px); right: 20px; }
.wrapper .tg_list h2.open::after { transform: scale(0.8),rotate(0); right: 17px; }

.wrapper .tg_list .tg_inner { font-size: 0.9rem; padding:0 10px 30px; }
.wrapper .tg_list .tg_inner_news li { display: flex; gap:20px; margin-bottom:20px; }
.wrapper .tg_list .tg_inner_news li time { font-size: 0.7rem; line-height:1.4; }
.wrapper .tg_list .tg_inner_news li p { font-size: 0.8rem; line-height:1.4; }
.wrapper .tg_list .caption { font-size:0.75rem; }
.wrapper .tg_list .caption.right { font-size:0.7rem; }

.box_txt { padding:10px 15px; margin:0 10px; }
.box_txt .lead { font-size:0.75rem; margin-top:0; }

/* 個別リンク設定 */
.link_nav_01 { max-width: 800px; margin:0 auto; }
.link_nav_01 a { padding: 15px 0; box-shadow: 0px 0px 15px -5px #777777; }
.link_nav_01 span { font-size:0.8em; }
.link_nav_01 span::after { content: url(../img/btn_arrow_sp.svg); margin-left:5px; }


}
