@charset "UTF-8";

html {
  font-size: 62.5%;
  /* 16px * 62.5% = 10px */
  width: 100%;
  box-sizing: border-box;
  letter-spacing: 0;
}

body {
  font-size: 1.1764705882352942vw;
  color: #2E2E2E;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  overflow-x: hidden;
}

body h1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
}

body h2 {
  font-size: 2.2058823529411766vw;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-style: normal;
  letter-spacing: 0;
  display: inline-block;
}

body h3 {
  font-size: 1.6911764705882353vw;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
}

body h4 {
  font-size: 1.6176470588235297vw;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.blue {
  color: #1A3C7C;
}

.pink {
  color: #F80040;
}

.white {
  color: #FFFFFF;
}

.yellow {
  color: #FFCD00;
}

.l_gray {
  color: #919191;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.flex {
  display: flex;
}

picture {
  width: 100%;
  height: auto;
}

source {
  width: 100%;
  height: auto;
}

img {
  width: 100%;
  height: auto;
}

ul li {
  list-style: none;
}

a {
  color: #2E2E2E;
  text-decoration: none;
  transition: 0.5s;
  /* マウスカーソルを外すとき */

  &:hover {
    opacity: 0.8;
    transition: 0.5s;
    /* マウスカーソルを載せるとき */
  }
}

@media(max-width:768px) {
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  body {
    font-size: 4.102564102564102vw;
  }

  body h2 {
    font-size: 7.6923076923076925vw;
    line-height: 1.5;
  }

  body h3 {
    font-size: 5.128205128205128vw;
  }

  body h4 {
    font-size: 5.641025641025641vw;
  }
}

button {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  vertical-align: middle;
  text-align: inherit;
  font: inherit;
  -webkit-appearance: none;
  appearance: none;
}

::before,
::after {
  box-sizing: inherit;
}

/**header**/
header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  background-color: #fff;
  border-bottom: #1A3C7C 1px solid;

  .header-wrap {
    display: flex;
    padding: 0.3676470588235294vw 0.5882352941176471vw;
    justify-content: space-between;

    .logo {
      width: 9.632352941176471vw;
      display: inline-block;
    }
  }
}

@media(max-width:768px) {

  header {

    .header-wrap {
      padding: 2.307692307692308vw 2.564102564102564vw;
      display: block;

      .logo {
        width: 28.974358974358978vw;
      }
    }
  }

}

/*headerここまで*/

/*footer*/

footer {
  background-color: #1A3C7C;
  padding: 2.0588235294117645vw;

  .footer_wrap {
    justify-content: space-between;
    margin: 3.6764705882352944vw auto 3.6764705882352944vw 3.6764705882352944vw;

    .office_data {

      .flex {
        margin-bottom: 1.4705882352941175vw;

        .data_title {
          font-size: 1.3235294117647058vw;
          font-weight: 800;
          width: 13.23529411764706vw;
          text-align: left;
        }

        .date_flex {
          display: flex;
        }
      }
    }
  }
}

@media(max-width:768px) {
  footer {
    padding: 7.179487179487179vw 5.128205128205128vw;

    .footer_wrap {
      justify-content: center;
      margin: auto;

      .office_data {

        .flex {
          margin-bottom: 5.128205128205128vw;

          p {
            font-size: 3.5897435897435894vw;
            width: 64.1025641025641vw;
            text-align: left;
            line-height: 1.3;
          }

          .data_title {
            font-size: 3.5897435897435894vw;
            width: 25.64102564102564vw;
          }
        }
      }
    }

    .small {
      font-size: 3.5897435897435894vw;
    }
  }
}