@charset "UTF-8";
/* ======================================================================================== */
/* 初期設定 */
/* ======================================================================================== */
/* 変数 */
body {
  display: flex;
  flex-flow: column;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 400;
  font-style: normal; }

.content {
  flex: 1; }

/* ======================================================================================== */
/* レスポンシブ設定 */
/* ======================================================================================== */
/* ======================================================================================== */
/* ヘッダー */
/* ======================================================================================== */
header {
  border-top: solid 3px #004098; }
  header .h-wrap {
    padding: 2vw 7vw 1vw; }
    @media (max-width: 599px) {
      header .h-wrap {
        padding: 25px 15px 15px; } }
    header .h-wrap img {
      /* PCは直接HTMLに記載 */ }
      @media (max-width: 599px) {
        header .h-wrap img {
          width: 50%; } }
    header .h-wrap p {
      margin: 15px 0 0; }
      @media (max-width: 599px) {
        header .h-wrap p {
          font-size: 0.9rem; } }

/* ======================================================================================== */
/* textエリア */
/* ======================================================================================== */
.content {
  max-width: 550px;
  min-width: 320px;
  padding: 20px 0;
  margin: 0 auto; }
  @media (max-width: 599px) {
    .content {
      padding: 20px 15px;
      min-width: initial; } }
  .content p {
    line-height: 1.7;
    text-align: justify; }

/* ======================================================================================== */
/* フッター */
/* ======================================================================================== */
footer {
  margin: 15px 0; }
  footer .f-box img {
    height: 23px;
    display: block;
    margin: 0 auto; }
    @media (max-width: 599px) {
      footer .f-box img {
        height: 19px; } }
  footer .f-box p {
    font-size: 11px;
    text-align: center;
    margin: 15px 0; }
    @media (max-width: 599px) {
      footer .f-box p {
        font-size: 8px;
        margin: 12px 0 0; } }

/* ======================================================================================== */
/* 独立設定 */
/* ======================================================================================== */
/* h1下線
------------------------------------------------------------------------------------------- */
h1 {
  position: relative;
  display: inline-block;
  margin: 0 0 30px; }
  @media (max-width: 599px) {
    h1 {
      font-size: 20px;
      margin: 0 0 35px; } }
  h1::after {
    content: '';
    position: absolute;
    left: 30px;
    bottom: -10px;
    display: inline-block;
    width: 60px;
    height: 4px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #004098;
    border-radius: 2px; }

/* 右くの字
------------------------------------------------------------------------------------------- */
.arrow-right {
  display: block;
  position: relative;
  font-size: 1.1rem;
  font-weight: bold;
  color: #004098;
  margin-bottom: 50px;
  text-decoration: none;
  margin: 40px 0 0; }
  .arrow-right::after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 2px #004098;
    border-right: solid 2px #004098;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 55%;
    margin: -4px 0 0 5px; }
