/*---base---*/

* {
  box-sizing: border-box;
}

html {
  scroll-padding-top: 108px;
  scroll-behavior: smooth;
}

body {
  font-family: "游ゴシック体","Yu Gothic",YuGothic,"Noto Sans JP","Noto Sans Japanese","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  word-wrap: break-word;
  overflow-wrap: break-word;
  background: white;
}

a {
  display: block;
}

table,th,td {
	border-collapse: collapse;
}

p,ul {
  margin: 0;
}

img {
  width: 100%;
}

/*---header---*/ 

.header {
  width: 100%;
  position: fixed;
  background: white;
  z-index: 100;
  height: 104px;

  @media screen and (max-width: 639px) {
    height: 90px;
  }
}


.header__text {
  background-color: #050080;
  font-size: 12px;
  color: white;
  padding: 7px 10px;

  @media screen and (max-width: 639px) {
    font-size: 11px;
  }
}

.header__link {
  position: relative;
  display: flex;

  @media screen and (min-width: 641px) {
    justify-content: space-between;
    align-items: center;
  }
}

.header__logo {
  width: 46%;
  margin: 0;
  padding: 10px 0 0;

  @media screen and (min-width: 641px) {
    width: 250px;
  }

  a {
    img {
      width: 100%;
      margin: 0px 15px;

      @media screen and (min-width: 641px) {
        width: 240px;
        padding: 0 20px;
        margin: 5px 0 0;
      }
    }
  }
}




/*---contents---*/

.contents {
  padding: 70px 0;

  @media screen and (max-width: 639px) {
    padding: 30px 0;
  }
}

.contents--top {
  padding: 158px 0 70px;

  @media screen and (max-width: 639px) {
    padding: 120px 0 30px;
  }
}

.contents--gray {
  background: #f3f3f3;
}

.contents__inner {
  width: 1000px;
  margin: 0 auto;
  text-align: center;

  @media screen and (max-width: 639px) {
    width: 90%;
  }
}

.contents__title {
  font-size: 30px;
  padding: 30px 0;

  @media screen and (max-width: 639px) {
    font-size: 24px;
  }

  span {
    font-size: 25px;
    display: inline-block;
    padding: 0 10px;
  }
}

/*---footer---*/

.footer {
  background: #303030;
  padding: 30px;
}

.footer__link-area {
  display: flex;
  justify-content: center;
  border-top: 1px solid #474747;
  padding: 20px 0 0;
  margin: 20px 0 0;
}

.footer__link-list {
  display: flex;
  justify-content: center;
  list-style: none;

  a:link,a:visited,a:hover {
    display: block;
    font-size: 12px;
    color: white;
    text-decoration: none;
    padding: 10px 20px;

    @media screen and (max-width: 639px) {
      font-size: 12px;
      padding: 5px;
    }
  }
}

.footer__logo {
  width: 200px;
  margin: 0 auto;

  a img {
    width: 100%;
  }
}

/*---company-info---*/

.company-info {
  width: 670px;
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid black;
  font-size: 14px;
  margin: 0 auto;

  @media screen and (max-width: 639px) {
    width: 100%;
  }

  tr {
    th {
      background: #e4e4e4;
      border-right: 1px solid black;
      border-bottom: 1px solid black;
      padding: 15px;

      @media screen and (max-width: 639px) {
        width: 100%;
        display: block;
        border-right: none;
      }
    }

    td {
      background: white;
      text-align: left;
      border-bottom: 1px solid black;
      line-height: 1.6;
      padding: 15px;

      @media screen and (max-width: 639px) {
        width: 100%;
        display: block;
      }
    }
  }

  tr:last-child td {
    @media screen and (max-width: 639px) {
      border-bottom: none;
    }
  }
}

/*---others---*/

.display-pc {
  display: inline-block;

  @media screen and (max-width: 639px) {
    display: none;
  }
}

.display-sp {
  display: none;

  @media screen and (max-width: 639px) {
    display: inline-block;
  }
}

.note {
  font-size: 12px;
  line-height: 1.4;
}