@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap");
/**************
Sass Mixin
**************/
/**************
HOME
**************/
/* Loading背景画面設定　*/
#splash {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  background: #fff;
  text-align: center;
  left: 0;
  top: 0;
  animation: fadeOut .5s ease 1.2s forwards; }

/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }
  #splash_logo img {
    display: block;
    width: 340px;
    transform: scale(0);
    opacity: 0;
    animation: logo_anim .6s ease-in-out forwards; }
    @media (max-width: 559.9px) {
      #splash_logo img {
        width: 240px; } }

@keyframes logo_anim {
  0% {
    transform: scale(0);
    opacity: 0; }
  70% {
    transform: scale(1.3);
    opacity: 1; }
  100% {
    transform: scale(1);
    opacity: 1; } }
@keyframes fadeOut {
  0% {
    opacity: 1;
    visibility: visible; }
  98% {
    opacity: 0;
    visibility: hidden;
    display: b; }
  100% {
    opacity: 0;
    visibility: hidden;
    display: none; } }
.index_wrapper {
  opacity: 0;
  animation: indexBody .3s ease 1s forwards;
  overflow: hidden; }

#main_wrap {
  width: 100%;
  overflow: hidden; }

#mainVisual {
  width: 100%;
  position: relative;
  background: url(../images/top/main_bg.jpg) no-repeat center;
  background-size: cover; }
  @media (min-width: 1120px) {
    #mainVisual {
      height: 720px; } }
  @media (max-width: 1119.9px) {
    #mainVisual {
      height: 40vh; } }
  @media (max-width: 559.9px) {
    #mainVisual {
      height: 28vh; } }
  #mainVisual .main_inner {
    width: 92%;
    height: 100%;
    margin: 0 auto;
    max-width: 1120px; }
    #mainVisual .main_inner .textArea {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: flex-start;
      justify-content: center;
      flex-direction: column;
      padding-left: 43%; }
      @media (max-width: 820.9px) {
        #mainVisual .main_inner .textArea {
          padding-left: 24%; } }
      #mainVisual .main_inner .textArea .main_text {
        display: block;
        width: 560px;
        margin-top: -40px;
        opacity: 0;
        animation: blurIn 1s ease-in 2s forwards; }
        @media (min-width: 560px) and (max-width: 820.9px) {
          #mainVisual .main_inner .textArea .main_text {
            width: 360px;
            margin-top: -24px; } }
        @media (max-width: 559.9px) {
          #mainVisual .main_inner .textArea .main_text {
            width: 240px;
            margin-top: -16px; } }
      #mainVisual .main_inner .textArea .main_subtext {
        font-size: 1.8rem;
        color: white;
        margin-top: 48px;
        font-weight: bold;
        opacity: 0;
        animation: blurIn 1s ease-in 2.6s forwards; }
        @media (max-width: 559.9px) {
          #mainVisual .main_inner .textArea .main_subtext {
            display: none; } }

@keyframes slideIn {
  0% {
    transform: translateX(340px); }
  100% {
    transform: translateX(0); } }
@keyframes indexBody {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes blurIn {
  0% {
    opacity: 0;
    transform: scale(1.2);
    filter: blur(1.5rem); }
  100% {
    opacity: 1;
    transform: scale(1);
    filter: blur(0); } }
@keyframes fadeIn {
  0% {
    transform: translateY(40px);
    opacity: 0; }
  100% {
    transform: translateY(0);
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    transform: translateY(40px);
    opacity: 0; }
  100% {
    transform: translateY(0);
    opacity: 1; } }
.top_news_section {
  width: 92%;
  margin: -80px auto 40px;
  max-width: 1120px;
  background-color: white;
  position: relative;
  padding: 32px 80px; }
  @media (max-width: 820.9px) {
    .top_news_section {
      margin: -24px auto 40px;
      padding: 24px; } }
  @media (min-width: 821px) {
    .top_news_section .btn-black-circle {
      position: absolute;
      right: 80px;
      top: 40px; } }
  @media (max-width: 820.9px) {
    .top_news_section .btn-black-circle {
      margin-top: 32px; } }

.top_news_wrap .item {
  width: 100%;
  padding: 16px 0;
  border-bottom: 1px #ddd solid;
  position: relative; }
  @media (min-width: 560px) {
    .top_news_wrap .item {
      display: flex;
      align-items: flex-start;
      justify-content: space-between; } }
  @media (min-width: 560px) {
    .top_news_wrap .item .date {
      width: 120px; } }
  .top_news_wrap .item .category {
    width: 120px;
    text-align: center; }
    @media (max-width: 559.9px) {
      .top_news_wrap .item .category {
        position: absolute;
        right: 0;
        top: 16px; } }
    .top_news_wrap .item .category span {
      width: 120px;
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: white;
      border: 1px #ccc solid;
      height: 24px;
      font-size: 1.2rem;
      font-weight: bold;
      color: #777;
      position: relative;
      top: 3px; }
  @media (min-width: 560px) {
    .top_news_wrap .item .texts {
      width: calc(100% - 280px); } }
  @media (max-width: 559.9px) {
    .top_news_wrap .item .texts {
      width: 100%;
      margin-top: 4px; } }
  .top_news_wrap .item .texts h3 {
    font-weight: normal; }
    .top_news_wrap .item .texts h3 a {
      color: #1b1b1b;
      font-weight: bold; }
      .top_news_wrap .item .texts h3 a:hover {
        text-decoration: underline; }
  .top_news_wrap .item.check {
    background-color: #fae7e8; }
    .top_news_wrap .item.check .alert {
      width: 120px;
      text-align: center;
      padding: 0 40px; }
      @media (max-width: 559.9px) {
        .top_news_wrap .item.check .alert {
          padding: 0 24px; } }
      .top_news_wrap .item.check .alert span {
        width: 120px;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #e41115;
        font-size: 1.2rem;
        font-weight: bold;
        color: white;
        position: relative;
        top: 3px; }
    @media (min-width: 560px) {
      .top_news_wrap .item.check .texts {
        width: calc(100% - 200px); } }
    @media (max-width: 559.9px) {
      .top_news_wrap .item.check .texts {
        width: 100%;
        padding: 16px 24px 0; } }
    .top_news_wrap .item.check .texts h3 a {
      color: #e41115;
      font-weight: bold; }
      .top_news_wrap .item.check .texts h3 a:hover {
        text-decoration: underline; }
      @media (max-width: 559.9px) {
        .top_news_wrap .item.check .texts h3 a {
          display: block;
          font-size: 1.4rem;
          line-height: 1.7; } }

.top_service_section {
  width: 100%;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start; }
  .top_service_section .item {
    width: calc(100% / 3);
    position: relative;
    opacity: 0;
    border-bottom: 1px #ccc solid; }
    @media (max-width: 559.9px) {
      .top_service_section .item {
        width: 100%; } }
    .top_service_section .item.moved {
      animation: fadeIn .4s ease-in forwards; }
    @media (min-width: 560px) {
      .top_service_section .item {
        transition: all .2s ease-in; }
        .top_service_section .item:not(:nth-child(3n))::after {
          content: "";
          display: block;
          width: 1px;
          height: 100%;
          position: absolute;
          right: 0;
          top: 0;
          background-color: #ccc; }
        .top_service_section .item:hover {
          box-shadow: 0 0 16px rgba(0, 0, 0, 0.3);
          z-index: 1; } }
    .top_service_section .item .img {
      width: 100%;
      height: 184px;
      position: relative;
      overflow: hidden; }
      .top_service_section .item .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto; }
    .top_service_section .item .inner {
      padding: 16px 30px 40px;
      background-color: white;
      border-top: 3px #1b1b1b solid; }
      @media (min-width: 560px) and (max-width: 820.9px) {
        .top_service_section .item .inner {
          padding: 16px 24px 40px; } }
      .top_service_section .item .inner h2 {
        padding: 6px 16px;
        border-bottom: 1px #ccc solid;
        position: relative;
        width: 100%;
        font-size: 1.8rem;
        margin-bottom: 16px; }
        @media (min-width: 560px) and (max-width: 820.9px) {
          .top_service_section .item .inner h2 {
            font-size: 1.6rem;
            line-height: 1.6; } }
        .top_service_section .item .inner h2::before {
          content: "";
          display: block;
          width: 4px;
          height: 80%;
          top: 10%;
          left: 0;
          position: absolute;
          background-color: #e41115; }
    .top_service_section .item i {
      position: absolute;
      right: 16px;
      top: 85px;
      color: white;
      font-size: 2.4rem; }
      @media (min-width: 560px) {
        .top_service_section .item i {
          display: none; } }

.float_atag {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 1; }

.top_mission_section {
  width: 100%;
  overflow: hidden; }
  @media (min-width: 821px) {
    .top_mission_section {
      padding-bottom: 80px; } }

.top_mission {
  width: 100%;
  height: 480px;
  background: url(../images/top/top_mission.jpg) no-repeat center;
  background-size: cover;
  opacity: 0; }
  @media (max-width: 559.9px) {
    .top_mission {
      height: 190px; } }
  .top_mission.moved {
    animation: fadeIn .4s ease-in forwards; }
  .top_mission .inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    height: 100%; }
    .top_mission .inner .big-title {
      color: white; }
      @media (max-width: 559.9px) {
        .top_mission .inner .big-title {
          margin-bottom: 13px; } }
    .top_mission .inner .txt {
      color: white;
      font-size: 1.8rem;
      font-weight: bold;
      margin-bottom: 40px; }
      @media (max-width: 559.9px) {
        .top_mission .inner .txt {
          font-size: 1.2rem;
          margin-bottom: 12px;
          padding: 0 40px; }
          .top_mission .inner .txt br {
            display: none; } }
    .top_mission .inner .links {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 300px; }
      .top_mission .inner .links a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 130px;
        height: 48px;
        color: white;
        border-bottom: 1px white solid;
        padding: 0 8px; }
        @media (max-width: 559.9px) {
          .top_mission .inner .links a {
            height: 32px; } }

.top_mission_under {
  width: 100%;
  position: relative;
  opacity: 0; }
  @media (min-width: 821px) {
    .top_mission_under {
      display: flex;
      align-items: center;
      justify-content: space-between; } }
  .top_mission_under.moved {
    animation: fadeIn .4s ease-in .4s forwards; }
  .top_mission_under .tit_box {
    width: 320px;
    height: 320px;
    position: relative; }
    @media (max-width: 820.9px) {
      .top_mission_under .tit_box {
        width: 100%;
        height: 160px; } }
    .top_mission_under .tit_box .top_feat_bg {
      position: absolute;
      top: 0; }
      @media (min-width: 821px) {
        .top_mission_under .tit_box .top_feat_bg {
          left: -40px;
          bottom: 0;
          margin: auto;
          width: calc(100% + 80px);
          height: calc(100% + 80px);
          max-width: inherit; } }
      @media (max-width: 820.9px) {
        .top_mission_under .tit_box .top_feat_bg {
          left: 0;
          width: 100%;
          height: 160px; } }
    .top_mission_under .tit_box .inner {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 1; }
    .top_mission_under .tit_box .big-title {
      color: white; }
      @media (min-width: 821px) {
        .top_mission_under .tit_box .big-title {
          padding-left: 24px; } }
      @media (max-width: 820.9px) {
        .top_mission_under .tit_box .big-title {
          margin-bottom: 0; } }

.top_feature {
  background-color: #faf3f2; }
  @media (min-width: 821px) {
    .top_feature {
      width: calc(100% - 320px);
      height: 320px;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      padding-left: 136px; } }
  @media (max-width: 820.9px) {
    .top_feature {
      padding: 24px; } }
  .top_feature ul li {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 8px 0; }
    @media (min-width: 560px) {
      .top_feature ul li:nth-child(2) {
        transform: translateX(20px); } }
    @media (min-width: 560px) {
      .top_feature ul li:nth-child(3) {
        transform: translateX(40px); } }
    .top_feature ul li .num {
      color: #bdbdbd;
      font-family: 'Noto Serif JP', 游明朝, "Yu Mincho",YuMincho,"Hiragino Mincho ProN", HGS明朝E,メイリオ,Meiryo,serif;
      font-size: 5.4rem;
      font-weight: normal;
      line-height: 1;
      margin-right: 16px; }
      @media (max-width: 559.9px) {
        .top_feature ul li .num {
          font-size: 3.2rem;
          margin-right: 12px; } }
    .top_feature ul li .txt {
      display: block;
      font-family: 'Noto Serif JP', 游明朝, "Yu Mincho",YuMincho,"Hiragino Mincho ProN", HGS明朝E,メイリオ,Meiryo,serif;
      font-size: 2rem;
      font-weight: normal;
      border-bottom: 1px solid #ccc;
      padding: 8px 0; }
      @media (max-width: 559.9px) {
        .top_feature ul li .txt {
          font-size: 1.5rem; } }

.top_link_section {
  padding: 24px 0 64px;
  background-color: white; }
  @media (max-width: 820.9px) {
    .top_link_section {
      padding: 32px 0; } }
  @media (min-width: 560px) {
    .top_link_section .wrap {
      display: flex;
      align-items: center;
      justify-content: space-between; } }
  .top_link_section .wrap .item {
    width: 48%;
    height: 176px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px #ccc solid;
    opacity: 0; }
    @media (max-width: 559.9px) {
      .top_link_section .wrap .item {
        width: 100%;
        height: 120px;
        margin-bottom: 12px; } }
    .top_link_section .wrap .item.moved {
      animation: fadeIn .4s ease-in forwards; }
    .top_link_section .wrap .item .textSide {
      width: 48%;
      height: 100%;
      background-color: white;
      padding: 0 40px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column; }
      @media (min-width: 560px) and (max-width: 820.9px) {
        .top_link_section .wrap .item .textSide {
          width: 56%;
          padding: 0 22px; } }
      @media (max-width: 559.9px) {
        .top_link_section .wrap .item .textSide {
          width: 64%;
          padding: 0 24px; } }
      .top_link_section .wrap .item .textSide h3 {
        font-family: 'Noto Serif JP', 游明朝, "Yu Mincho",YuMincho,"Hiragino Mincho ProN", HGS明朝E,メイリオ,Meiryo,serif;
        font-size: 2rem;
        font-weight: bold;
        position: relative;
        padding-bottom: 6px;
        margin-bottom: 14px;
        color: #1b1b1b; }
        @media (max-width: 820.9px) {
          .top_link_section .wrap .item .textSide h3 {
            font-size: 1.7rem; } }
        .top_link_section .wrap .item .textSide h3::after {
          content: "";
          display: block;
          width: 100%;
          height: 1px;
          background-color: #e41115;
          position: absolute;
          left: 0;
          bottom: 0; }
      .top_link_section .wrap .item .textSide p {
        color: #1b1b1b;
        font-size: 1.5rem;
        line-height: 1.6; }
        @media (max-width: 820.9px) {
          .top_link_section .wrap .item .textSide p {
            font-size: 1.2rem; } }
    .top_link_section .wrap .item .imgSide {
      width: 52%;
      height: 100%;
      position: relative;
      overflow: hidden; }
      @media (min-width: 560px) and (max-width: 820.9px) {
        .top_link_section .wrap .item .imgSide {
          width: 44%; } }
      @media (max-width: 559.9px) {
        .top_link_section .wrap .item .imgSide {
          width: 36%; } }
      .top_link_section .wrap .item .imgSide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        transition: all .2s ease-in; }
    .top_link_section .wrap .item:hover .imgSide img {
      transform: scale(1.1); }

/*# sourceMappingURL=index.css.map */
