@charset "UTF-8";
/* Scss Document */
body {
  padding: 0; }

header {
  background-color: rgba(255, 255, 255, 0.9); }

/*min-width:1920px*/
/*max-width:1280px*/
@media (max-width: 1024px) {
  body {
    padding: 87px 0 0 0; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  body {
    padding: 65px 0 0 0; } }
/*max-width:768px*/
@media (max-width: 480px) {
  body {
    padding: 60px 0 0 0; } }
/*max-width:480px*/
/*****************************************************/
.mv {
  aspect-ratio: 1920/900;
  width: 100%;
  max-width: 100%;
  position: relative;
  margin: 0 auto 70px; }

#heroVideo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block; }

/*min-width:1920px*/
/*max-width:1280px*/
/*max-width:1024px*/
@media (max-width: 768px) {
  .mv {
    aspect-ratio: 9/16;
    width: 100%;
    max-width: 100%;
    position: relative;
    margin: 0 auto 35px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .mv {
    margin: 0 auto 25px; } }
/*max-width:480px*/
/*****************************************************/
.three {
  width: calc(100% - 80px);
  height: 370px;
  margin: 0 auto;
  background-color: #b5091f;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: center;
  justify-content: center;
  align-items: center; }
  .three h2 {
    color: #fff;
    font: 30px/1.5em 'Noto Sans JP', sans-serif;
    font-weight: 500;
    margin: 0 0 50px; }
    .three h2 span {
      display: block;
      font: 18px/1.8em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      letter-spacing: 3px;
      margin: 10px 0 0; }
  .three a {
    display: block;
    padding: 0 80px 0 0;
    position: relative;
    font: 16px/60px 'Noto Sans JP', sans-serif;
    font-weight: 500;
    color: #fff; }
    .three a:before {
      position: absolute;
      display: block;
      content: "";
      width: 60px;
      height: 60px;
      border: 2px solid #fff;
      right: 0;
      border-radius: 50%;
      transition: .3s; }
    .three a span {
      position: relative; }
      .three a span:before {
        transition: .3s;
        position: absolute;
        content: "";
        display: block;
        border-top: 2px solid #fff;
        width: 20px;
        top: 54%;
        right: -58px;
        -webkit-transform: translate(0%, -50%);
        /* Safari用 */
        transform: translate(0%, -50%); }
      .three a span:after {
        transition: .3s;
        position: absolute;
        content: "";
        width: 9px;
        height: 9px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        top: 34%;
        right: -57px;
        -webkit-transform: translate(0%, -50%);
        /* Safari用 */
        transform: translate(0%, -50%);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
    .three a:hover:before {
      right: -10px; }
    .three a:hover span {
      position: relative; }
      .three a:hover span:before {
        right: -68px; }
      .three a:hover span:after {
        right: -67px; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .three {
    width: calc(100% - 80px);
    height: 250px;
    flex-direction: row; }
    .three h2 {
      margin: 0 50px 0 0; }
    .three a:hover:before {
      right: 0px; }
    .three a:hover span {
      position: relative; }
      .three a:hover span:before {
        right: -58px; }
      .three a:hover span:after {
        right: -57px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .three {
    width: calc(100% - 60px);
    height: 250px;
    flex-direction: row; }
    .three h2 {
      color: #fff;
      font: 28px/1.5em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      margin: 0 30px 0 0; }
      .three h2 span {
        display: block;
        font: 17px/1.6em 'Noto Sans JP', sans-serif;
        font-weight: 500;
        letter-spacing: 3px;
        margin: 10px 0 0; }
    .three a:hover:before {
      right: 0px; }
    .three a:hover span {
      position: relative; }
      .three a:hover span:before {
        right: -58px; }
      .three a:hover span:after {
        right: -57px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .three {
    width: calc(100% - 40px);
    height: auto;
    padding: 30px 0;
    flex-direction: row; }
    .three h2 {
      font: 20px/1.5em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      margin: 0 30px 0 0; }
      .three h2 span {
        font: 14px/1.6em 'Noto Sans JP', sans-serif;
        font-weight: 500;
        letter-spacing: 0;
        margin: 5px 0 0; }
    .three a {
      padding: 0 60px 0 0;
      font: 16px/60px 'Noto Sans JP', sans-serif;
      font-weight: 500; }
      .three a:before {
        width: 45px;
        height: 45px;
        right: 0;
        top: 5px; }
      .three a span:before {
        width: 20px;
        top: 50%;
        right: -45px;
        -webkit-transform: translate(0%, -50%);
        transform: translate(0%, -50%); }
      .three a span:after {
        width: 9px;
        height: 9px;
        top: 29%;
        right: -46px;
        -webkit-transform: translate(0%, -50%);
        transform: translate(0%, -50%);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); } }
/*max-width:480px*/
/*****************************************************/
.works {
  padding: 100px 0 0;
  width: calc(100% - 80px);
  margin: 0 auto; }
  .works > div {
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: stretch; }
  .works h2 {
    width: 100%;
    text-align: center;
    font: 24px/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    margin: 0 0 50px; }
    .works h2 .red {
      color: #b5091f; }
    .works h2 .block {
      display: block;
      font: 18px/1.8em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      letter-spacing: 3px;
      margin: 10px 0 0; }
  .works .pic {
    height: 720px;
    width: 800px;
    position: relative;
    overflow: hidden; }
    .works .pic img {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      /* Safari用 */
      transform: translate(-50%, -50%);
      height: 100%;
      width: auto; }
  .works .block_link {
    width: calc(100% - 800px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: stretch; }
    .works .block_link a {
      display: block;
      width: calc(100% / 2);
      position: relative;
      text-align: center;
      color: #fff;
      font: 26px/1.8em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: center;
      justify-content: center;
      align-items: center; }
      .works .block_link a:before {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 50px 50px;
        border-color: transparent transparent #b5091f transparent;
        position: absolute;
        content: "";
        right: 15px;
        bottom: 15px; }
      .works .block_link a:hover span {
        margin: -30px 0 0; }
    .works .block_link .block01 {
      background-color: #101254; }
      .works .block_link .block01 span {
        padding: 100px 0 0;
        position: relative; }
        .works .block_link .block01 span:before {
          position: absolute;
          content: "";
          display: block;
          background: url("../images/index/icon01.svg") center center no-repeat;
          background-size: contain;
          width: 82px;
          height: 84px;
          top: 0%;
          left: 50%;
          -webkit-transform: translate(-50%, 0%);
          /* Safari用 */
          transform: translate(-50%, 0%); }
    .works .block_link .block02 {
      background-color: #171c61; }
      .works .block_link .block02 span {
        padding: 100px 0 0;
        position: relative; }
        .works .block_link .block02 span:before {
          position: absolute;
          content: "";
          display: block;
          background: url("../images/index/icon02.svg") center center no-repeat;
          background-size: contain;
          width: 70px;
          height: 85px;
          top: 0%;
          left: 50%;
          -webkit-transform: translate(-50%, 0%);
          /* Safari用 */
          transform: translate(-50%, 0%); }
    .works .block_link .block03 {
      background-color: #171c61; }
      .works .block_link .block03 span {
        padding: 100px 0 0;
        position: relative; }
        .works .block_link .block03 span:before {
          position: absolute;
          content: "";
          display: block;
          background: url("../images/index/icon03.svg") center center no-repeat;
          background-size: contain;
          width: 102px;
          height: 71px;
          top: 10px;
          left: 50%;
          -webkit-transform: translate(-50%, 0%);
          /* Safari用 */
          transform: translate(-50%, 0%); }
    .works .block_link .block04 {
      background-color: #101254; }
      .works .block_link .block04 span {
        padding: 100px 0 0;
        position: relative; }
        .works .block_link .block04 span:before {
          position: absolute;
          content: "";
          display: block;
          background: url("../images/index/icon04.svg") center center no-repeat;
          background-size: contain;
          width: 92px;
          height: 87px;
          top: 0%;
          left: 50%;
          -webkit-transform: translate(-50%, 0%);
          /* Safari用 */
          transform: translate(-50%, 0%); }

@media (max-width: 1920px) {
  .works .pic {
    width: 45%; }
  .works .block_link {
    width: 55%; } }
/*max-width:1280px*/
@media (max-width: 1280px) {
  .works .pic {
    width: 45%;
    height: 0;
    padding: 60% 0 0; }
  .works .block_link {
    width: 55%; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .works > div {
    margin: 0 auto;
    flex-direction: column;
    align-items: flex-start; }
  .works h2 {
    width: 100%;
    text-align: center;
    font: 24px/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    margin: 0 0 40px; }
    .works h2 .red {
      color: #b5091f; }
    .works h2 .block {
      display: block;
      font: 18px/1.8em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      letter-spacing: 3px;
      margin: 10px 0 0; }
  .works .pic {
    height: 0;
    width: 100%;
    max-width: 100%;
    order: 2;
    position: relative;
    overflow: hidden;
    padding: 75% 0 0; }
    .works .pic img {
      position: absolute;
      top: auto;
      bottom: -10%;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%);
      height: auto;
      width: 100%; }
  .works .block_link {
    order: 1;
    width: 100%; }
    .works .block_link a {
      height: 200px; }
      .works .block_link a:hover span {
        margin: 0; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .works {
    padding: 100px 0 0;
    width: calc(100% - 60px); }
    .works h2 {
      margin: 0 0 30px; }
    .works .block_link {
      order: 1;
      width: 100%; }
      .works .block_link a {
        height: 200px;
        font: 4vw/1.8em 'Noto Sans JP', sans-serif; }
        .works .block_link a:before {
          border-width: 0 0 40px 40px;
          right: 10px;
          bottom: 10px; }
      .works .block_link .block01 span {
        padding: 80px 0 0; }
        .works .block_link .block01 span:before {
          width: 72px;
          height: 75px;
          top: 0%;
          left: 50%;
          -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%); }
      .works .block_link .block02 span {
        padding: 80px 0 0; }
        .works .block_link .block02 span:before {
          width: 60px;
          height: 75px;
          top: 0%;
          left: 50%;
          -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%); }
      .works .block_link .block03 span {
        padding: 80px 0 0; }
        .works .block_link .block03 span:before {
          width: 92px;
          height: 65px;
          top: 10px;
          left: 50%;
          -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%); }
      .works .block_link .block04 span {
        padding: 80px 0 0; }
        .works .block_link .block04 span:before {
          width: 82px;
          height: 80px;
          top: -5%;
          left: 50%;
          -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%); } }
/*max-width:768px*/
@media (max-width: 480px) {
  .works {
    padding: 80px 0 0;
    width: calc(100% - 40px); }
    .works h2 {
      margin: 0 0 30px; }
    .works .block_link {
      order: 1;
      width: 100%; }
      .works .block_link a {
        height: 150px;
        font: 4.2vw/1.8em 'Noto Sans JP', sans-serif; }
        .works .block_link a:before {
          border-width: 0 0 35px 35px;
          right: 10px;
          bottom: 10px; }
      .works .block_link .block01 span {
        padding: 65px 0 0; }
        .works .block_link .block01 span:before {
          width: 60px;
          height: 65px;
          top: -3%;
          left: 50%;
          -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%); }
      .works .block_link .block02 span {
        padding: 65px 0 0; }
        .works .block_link .block02 span:before {
          width: 45px;
          height: 53px;
          top: 0%;
          left: 50%;
          -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%); }
      .works .block_link .block03 span {
        padding: 65px 0 0; }
        .works .block_link .block03 span:before {
          width: 75px;
          height: 50px;
          top: 10px;
          left: 50%;
          -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%); }
      .works .block_link .block04 span {
        padding: 65px 0 0; }
        .works .block_link .block04 span:before {
          width: 60px;
          height: 55px;
          top: 0%;
          left: 50%;
          -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%); } }
/*max-width:480px*/
/*****************************************************/
.people {
  padding: 100px 0 0;
  width: calc(100% - 80px);
  margin: 0 auto; }
  .people h2 {
    width: 100%;
    text-align: center;
    font: 24px/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    margin: 0 0 50px; }
    .people h2 .red {
      color: #b5091f; }
    .people h2 .block {
      display: block;
      font: 18px/1.8em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      letter-spacing: 3px;
      margin: 10px 0 0; }
  .people a {
    display: block;
    position: relative; }
    .people a:hover img {
      transform: rotate(5deg); }
    .people a:hover p {
      transform: rotate(-5deg); }
  .people ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1760px;
    width: 100%;
    margin: 0 auto 50px; }
  .people li {
    width: calc((100% - 60px)/4);
    max-width: 400px;
    position: relative;
    margin: 0 0 25px; }
    .people li img {
      width: 100%; }
    .people li p {
      position: absolute;
      bottom: 22px;
      display: inline-block;
      background-color: #b5091f;
      color: #fff;
      z-index: 1;
      position: relative;
      font: 20px/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      padding: 10px 20px; }
      .people li p span {
        font: 15px/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 700;
        padding: 0 0 0 15px; }

.voice_bnr {
  display: block;
  margin: 0 auto 20px;
  position: relative;
  top: 0;
  max-width: 760px;
  width: calc(100% - 80px); }
  .voice_bnr img {
    max-width: 760px;
    width: 100%; }
  .voice_bnr:hover {
    top: -10px; }

@media (max-width: 1380px) {
  .people li {
    width: calc((100% - 30px)/4); }
    .people li p {
      position: absolute;
      bottom: 22px;
      display: inline-block;
      background-color: #b5091f;
      color: #fff;
      z-index: 1;
      position: relative;
      font: 1.5vw/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      padding: 10px 20px 12px 20px; }
      .people li p span {
        font: 1vw/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 700;
        padding: 0 0 0 10px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .people {
    padding: 100px 0 0;
    width: calc(100% - 80px);
    margin: 0 auto; }
    .people h2 {
      width: 100%;
      text-align: center;
      font: 24px/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      margin: 0 0 40px; }
    .people a {
      display: block;
      position: relative; }
      .people a:hover img {
        transform: rotate(0deg); }
      .people a:hover p {
        transform: rotate(0deg); }
    .people ul {
      max-width: 840px;
      margin: 0 auto; }
    .people li {
      width: calc((100% - 40px)/2);
      max-width: 400px;
      position: relative;
      margin: 0 0 40px; }
      .people li img {
        width: 100%; }
      .people li p {
        position: absolute;
        bottom: 22px;
        display: inline-block;
        background-color: #b5091f;
        color: #fff;
        z-index: 1;
        position: relative;
        font: 20px/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 700;
        padding: 10px 20px; }
        .people li p span {
          font: 15px/1.0em 'Noto Sans JP', sans-serif;
          font-weight: 700;
          padding: 0 0 0 15px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .people {
    width: calc(100% - 60px);
    padding: 100px 0 0; }
    .people h2 {
      margin: 0 0 30px; }
    .people li {
      width: calc((100% - 20px)/2);
      max-width: 400px;
      position: relative;
      margin: 0 0 20px; }
      .people li p {
        display: block;
        margin: 0 auto;
        font: 20px/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 700;
        padding: 10px 15px;
        width: 90%; }
        .people li p span {
          display: block;
          font: 15px/1.5em 'Noto Sans JP', sans-serif;
          font-weight: 700;
          padding: 5px 0 0; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .people {
    padding: 100px 0 0;
    width: calc(100% - 80px); }
    .people ul {
      margin: 0 auto 30px; }
    .people li {
      width: 100%;
      margin: 0 0 20px; }
      .people li img {
        width: 100%; }
      .people li p {
        position: relative;
        font: 20px/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 700;
        padding: 10px 15px; }
        .people li p span {
          font: 15px/1.5em 'Noto Sans JP', sans-serif;
          font-weight: 700; }

  .voice_bnr {
    width: calc(100% - 50px); } }
/*max-width:480px*/
/*****************************************************/
.news {
  padding: 100px 0 80px;
  width: calc(100% - 80px);
  max-width: 1200px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-start; }
  .news h2 {
    width: 100%;
    max-width: 100px;
    text-align: center;
    font: 24px/1.0em 'Noto Sans JP', sans-serif;
    font-weight: 700;
    margin: 0 0 50px; }
    .news h2 .red {
      color: #b5091f; }
    .news h2 .block {
      display: block;
      font: 18px/1.8em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      letter-spacing: 3px;
      margin: 10px 0 0; }
  .news ul {
    max-width: 980px;
    width: calc(100% - 150px);
    margin: 0 0 50px; }
    .news ul li {
      border-bottom: 1px solid #c9caca;
      padding: 15px 0 18px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between; }
    .news ul a {
      font: 16px/1.8em 'Noto Sans JP', sans-serif;
      width: calc(100% - 150px); }
    .news ul time {
      font: 16px/1.8em 'Noto Sans JP', sans-serif;
      color: #171c61;
      width: 150px; }
  .news > a {
    display: block;
    padding: 0 80px 0 0;
    width: 160px;
    margin: 0 0 0 auto;
    position: relative;
    font: 16px/60px 'Noto Sans JP', sans-serif;
    font-weight: 500;
    color: #000; }
    .news > a:before {
      position: absolute;
      display: block;
      content: "";
      width: 60px;
      height: 60px;
      background-color: #b5091f;
      right: 0;
      border-radius: 50%;
      transition: .3s;
      z-index: 1; }
    .news > a span {
      position: relative;
      z-index: 10; }
      .news > a span:before {
        transition: .3s;
        position: absolute;
        content: "";
        display: block;
        border-top: 2px solid #fff;
        width: 20px;
        top: 54%;
        right: -60px;
        -webkit-transform: translate(0%, -50%);
        /* Safari用 */
        transform: translate(0%, -50%);
        z-index: 2; }
      .news > a span:after {
        z-index: 2;
        transition: .3s;
        position: absolute;
        content: "";
        width: 9px;
        height: 9px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        top: 32%;
        right: -60px;
        -webkit-transform: translate(0%, -50%);
        /* Safari用 */
        transform: translate(0%, -50%);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
    .news > a:hover:before {
      right: -10px; }
    .news > a:hover span {
      position: relative; }
      .news > a:hover span:before {
        right: -70px; }
      .news > a:hover span:after {
        right: -70px; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .news {
    padding: 100px 0 80px;
    flex-direction: column; }
    .news h2 {
      width: 100%;
      max-width: 100%;
      text-align: center;
      font: 24px/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 700;
      margin: 0 0 30px; }
    .news ul {
      max-width: 980px;
      width: 100%;
      margin: 0 auto 50px; }
    > a
    .news:hover:before {
      right: 0px; }
    > a
    .news:hover span {
      position: relative; }
      > a
      .news:hover span:before {
        right: -60px; }
      > a
      .news:hover span:after {
        right: -60px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .news {
    padding: 100px 0 80px;
    width: calc(100% - 60px); }
    .news h2 {
      width: 100%;
      max-width: 100%;
      margin: 0 0 30px; }
    .news ul {
      max-width: 980px;
      width: 100%;
      margin: 0 auto 50px; }
      .news ul a {
        font: 16px/1.8em 'Noto Sans JP', sans-serif;
        width: calc(100% - 110px); }
      .news ul time {
        font: 16px/1.8em 'Noto Sans JP', sans-serif;
        color: #171c61;
        width: 110px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .news {
    padding: 70px 0 80px;
    width: calc(100% - 40px); }
    .news h2 {
      margin: 0 0 20px; }
    .news ul a {
      font: 16px/1.8em 'Noto Sans JP', sans-serif;
      width: 100%; }
    .news ul time {
      font: 16px/1.8em 'Noto Sans JP', sans-serif;
      color: #171c61;
      width: 110px; }
    .news > a {
      display: block;
      padding: 0 60px 0 0;
      width: 140px; }
      .news > a:before {
        width: 45px;
        height: 45px;
        top: 7px; }
      .news > a span:before {
        width: 20px;
        top: 50%;
        right: -45px;
        -webkit-transform: translate(0%, -50%);
        /* Safari用 */
        transform: translate(0%, -50%);
        z-index: 2; }
      .news > a span:after {
        width: 9px;
        height: 9px;
        top: 29%;
        right: -45px; } }
/*max-width:480px*/
