@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700;900&family=Noto+Sans+JP:wght@400;700&display=swap");
/* ========================================
 *  Font Family
 * ======================================== */
/* ==============================
*   Color
*==============================*/
/* ==============================
*   Font Size
*==============================*/
/*==============================
//  Media Query
//==============================*/
body {
  min-width: 1200px;
}

@media screen and (max-width: 767px) {
  body {
    min-width: initial;
  }
}
/*==============================
//  Font Size Rem
//
//  【概要】        font-sizeの単位をremに変換する
//  【第一引数】    希望のfont-size（数字のみ）
//  【備考】        IE対応のためpxでも出力する
//==============================*/
/*==============================
//  Font Size Rem Line Height Half Leading
//
//  【概要】
//      ・font-sizeの単位をremに変換
//      ・行間のサイズをもとに自動でline-heightを指定
//      ・ハーフリーディングを自動調整
//  【第一引数】
//      ・希望のfont-size（数字のみ）
//  【第二引数】
//      ・希望の行間サイズ（数字のみ）
//==============================*/
/*==============================
//
//  【概要】
//      ・pxをvwに変換
//  【第一引数】
//      ・pxサイズ（数字のみ）
//  【第二引数】
//      ・デザイン幅（数字のみ）初期値はf-variableに記述
//==============================*/
main {
  padding-top: 90px;
}
@media screen and (max-width: 767px) {
  main {
    padding-top: 0;
  }
}

.p-mv__top {
  position: relative;
  width: 100%;
  height: auto;
  background: url(../../src/img/top/main.png) no-repeat;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .p-mv__top {
    background: url(../../src/img/top/main_sp.png) no-repeat;
    background-size: cover;
  }
}
.p-mv__top::before {
  content: "";
  display: block;
  padding-top: 35.4%;
}
@media screen and (max-width: 767px) {
  .p-mv__top::before {
    padding-top: 120%;
  }
}
.p-mv__top__main_txt {
  position: absolute;
  top: 20%;
  left: 5.2%;
  text-align: left;
  width: 45.5%;
}
@media screen and (max-width: 767px) {
  .p-mv__top__main_txt {
    top: 10%;
    left: 5%;
    width: 90%;
  }
}
.p-mv__top__main_txt .ttl {
  width: 100%;
  margin-bottom: 5%;
}
.p-mv__top__main_txt .txt {
  color: #ffffff;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.8;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1400px) {
  .p-mv__top__main_txt .txt {
    font-size: 16px;
    font-size: 1rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .p-mv__top__main_txt .txt {
    font-size: 3.3vw;
  }
}

.p-top-message {
  padding: 100px 0 60px;
  background-color: #E8F3FD;
}
@media screen and (max-width: 767px) {
  .p-top-message {
    padding: 50px 5.3333333333vw 70px;
  }
}
.p-top-message__wrap .ttl {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.5833333333;
  font-weight: 700;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .p-top-message__wrap .ttl {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.6;
    text-align: left;
    margin-bottom: 15px;
  }
}
.p-top-message__wrap .name {
  text-align: right;
  margin-top: 25px;
}
@media screen and (max-width: 767px) {
  .p-top-message__wrap .name {
    margin-top: 10px;
  }
}

.p-top-about {
  padding: 150px 0 100px;
  background-color: #ffffff;
  border-top: 50px solid #E8F3FD;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-about {
    padding: 50px 5.3333333333vw;
    border-top: 20px solid #E8F3FD;
  }
}
.p-top-about .pic01 {
  width: 25%;
  position: absolute;
  top: -150px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-top-about .pic01 {
    width: 50%;
    top: -35vw;
    left: -20%;
  }
}
.p-top-about .h2_ttl {
  position: absolute;
  top: -3px;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
}
.p-top-about dl {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.875;
  text-align: left;
  width: 100%;
  border-top: solid 1px #CCCCCC;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-top-about dl {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.8571428571;
  }
}
.p-top-about dl dt {
  width: 18%;
  border-bottom: solid 1px #CCCCCC;
  padding: 25px 20px;
  font-weight: 700;
  background-color: #E8F3FD;
}
@media screen and (max-width: 767px) {
  .p-top-about dl dt {
    width: 80px;
    padding: 10px;
  }
}
.p-top-about dl dd {
  width: 82%;
  border-bottom: solid 1px #CCCCCC;
  padding: 25px 20px;
}
@media screen and (max-width: 767px) {
  .p-top-about dl dd {
    width: calc(100% - 80px);
    padding: 10px;
  }
}

.p-top-activity {
  padding: 150px 0 200px;
  background-color: #E8F3FD;
  border-top: 50px solid #ffffff;
  position: relative;
}
.p-top-activity.contact0114 {
  padding: 100px 0 200px;
  border-top: none;
}
@media screen and (max-width: 767px) {
  .p-top-activity.contact0114 {
    padding: 50px 5.3333333333vw 70px;
    border-top: none;
  }
}
@media screen and (max-width: 767px) {
  .p-top-activity {
    padding: 50px 5.3333333333vw 100px;
    border-top: 30px solid #ffffff;
  }
}
.p-top-activity .pic02 {
  width: 25%;
  transform: scale(-1, 1);
  position: absolute;
  top: -125px;
  right: 0;
}
.p-top-activity .pic02.contact0114 {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-top-activity .pic02 {
    width: 50%;
    top: -28vw;
    right: -20%;
  }
}
.p-top-activity .h2_ttl {
  position: absolute;
  top: -3px;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
}
.p-top-activity .h2_ttl.contact0114 {
  position: relative;
  text-align: center;
  margin: 0 0 80px;
  top: inherit;
  left: inherit;
  transform: inherit;
}
@media screen and (max-width: 767px) {
  .p-top-activity .h2_ttl.contact0114 {
    margin: 0 0 40px;
  }
}
.p-top-activity_box {
  background-color: #ffffff;
  border-radius: 6px;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.p-top-activity_box .txt {
  width: 50%;
  padding: 0 40px;
}
@media screen and (max-width: 767px) {
  .p-top-activity_box .txt {
    width: 100%;
    padding: 5.3333333333vw;
  }
}
.p-top-activity_box .txt ol li {
  margin-bottom: 0.5em;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.4375;
  padding-left: 30px;
  position: relative;
  counter-increment: number;
}
.p-top-activity_box .txt ol li::before {
  content: counter(number) ".";
  color: #1570A1;
  font-size: 18px;
  font-size: 1.125rem;
  display: block;
  position: absolute;
  top: 2px;
  left: 0px;
}
@media screen and (max-width: 767px) {
  .p-top-activity_box .txt ol li::before {
    top: 0.5333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .p-top-activity_box .txt ol li {
    padding-left: 7.4666666667vw;
  }
}
.p-top-activity_box .txt ol li:last-child {
  margin-bottom: 0;
}
.p-top-activity_box .img {
  width: 50%;
  font-size: 0;
}
@media screen and (max-width: 767px) {
  .p-top-activity_box .img {
    width: 100%;
  }
}
.p-top-activity_box .img img {
  width: 100%;
}

.p-top-rules {
  position: relative;
  width: 100%;
  height: auto;
  background: url(../../src/img/top/foot_back.jpg) no-repeat;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .p-top-rules.contact0114::before {
    padding-top: 70%;
  }
}
.p-top-rules::before {
  content: "";
  display: block;
  padding-top: 17.7%;
}
@media screen and (max-width: 767px) {
  .p-top-rules::before {
    padding-top: 50%;
    background: url(../../src/img/top/foot_back.jpg) no-repeat;
    background-size: 150% auto;
  }
}
.p-top-rules__wrap {
  position: absolute;
  top: -100px;
  left: 50%;
  margin-left: -500px;
  width: 100%;
  max-width: 1000px;
  height: 200px;
  border-radius: 6px;
  background: #FFFFFF url(../../src/img/top/rules.png) no-repeat;
  background-size: cover;
  text-align: center;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}
.p-top-rules__wrap.contact0114 p {
  margin: 30px 0 20px;
}
@media screen and (max-width: 767px) {
  .p-top-rules__wrap {
    left: 5.3333333333vw;
    margin-left: 0;
    height: 150px;
    width: calc(100% - 10.6666666667vw);
    top: -65px;
    padding: 0 10px;
    background: #FFFFFF url(../../src/img/top/rules.png) no-repeat left bottom;
    background-size: 130% auto;
  }
  .p-top-rules__wrap.contact0114 {
    height: 210px;
    top: -30px;
  }
  .p-top-rules__wrap.contact0114 p {
    margin: 20px 0 10px;
    line-height: 1.3;
  }
}
.p-top-rules__wrap p {
  margin: 40px 0 22px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-top-rules__wrap p {
    margin: 20px 0 10px;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.6428571429;
  }
}
.p-top-rules__wrap ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.p-top-rules__wrap ul il {
  margin: 0 8px;
}
@media screen and (max-width: 767px) {
  .p-top-rules__wrap ul il:first-child {
    margin-bottom: 10px;
  }
}

.p-company {
  padding: 100px 0 200px;
  background-color: #E8F3FD;
}
@media screen and (max-width: 767px) {
  .p-company {
    padding: 50px 5.3333333333vw 100px;
  }
}
.p-company__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background-color: #ffffff;
  border-radius: 4px;
  padding: 10px 60px;
}
@media screen and (max-width: 767px) {
  .p-company__wrap {
    padding: 6.6666666667vw 5.3333333333vw;
  }
}
.p-company__wrap ul {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .p-company__wrap ul {
    width: 100%;
    margin-bottom: 1em;
  }
  .p-company__wrap ul.c-list--icon-arrow {
    padding: 0;
  }
}
.p-company .date {
  text-align: right;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-company .date {
    margin-top: 10px;
  }
}

.p-top-contact {
  position: relative;
  width: 100%;
  height: auto;
  background: url(../../src/img/top/contact_back.jpg) no-repeat;
  background-size: cover;
  padding: 50px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-contact {
    padding: 30px 0;
    background: url(../../src/img/top/contact_back.jpg) no-repeat;
    background-size: auto 100%;
  }
}
.p-top-contact .h2_ttl {
  position: relative;
  text-align: center;
  margin: 0 0 40px;
}
@media screen and (max-width: 767px) {
  .p-top-contact .h2_ttl {
    margin: 0 0 25px;
  }
}
.p-top-contact .h2_ttl span {
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.0333333333;
  color: #ffffff;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-contact .h2_ttl span {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.0416666667;
  }
}
.p-top-contact .h2_ttl::after {
  display: none;
}/*# sourceMappingURL=top.css.map */