@charset "UTF-8";
.scroll_inner {
  overflow: hidden;
}

.pc__only {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc__only {
    display: none !important;
  }
}

.sp__only {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp__only {
    display: block !important;
  }
}

html {
  font-size: 62.5%;
  color: #333333;
  font-family: "Noto Sans JP";
}

@media screen and (min-width: 768px) {
  header {
    background-color: #ffffff;
  }
  header .header__inner {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 86.1%;
    max-width: 1140px;
    margin: 0 auto;
    padding: 15px 0 0px;
  }
  header .header__inner .header_primary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
  header .header__inner .header_primary .header__tel {
    width: 205px;
    margin-left: auto;
  }
  header .header__inner .header_primary .header__logo {
    width: 142px;
  }
  header .header__inner .header_primary .header__contact {
    width: 138px;
    margin-left: 15px;
  }
  header .header__inner .header_primary .header__contact a {
    padding: 10px 0px;
    display: block;
    background-color: #185AA5;
    border: 3px solid #E6E6E6;
    font-family: "Montserrat";
    font-size: 1.4rem;
    color: #ffffff;
    text-align: center;
    transition: all 0.5s ease;
    font-weight: 600;
  }
  header .header__inner .header_primary .header__contact a:hover {
    background-color: #ffffff;
    color: #185AA5;
    transition: all 0.5s ease;
  }
  header .header__inner .header__nav {
    width: 100%;
    max-width: 860px;
    margin: 0 auto;
    padding-top: 0px;
  }
  header .header__inner .header__nav .globalnav {
    display: flex;
    justify-content: space-between;
  }
  header .header__inner .header__nav .globalnav li {
    font-size: 1.4rem;
    font-weight: 700;
    padding-top: 15px;
    color: #185AA5;
    display: block;
    display: flex;
    align-items: flex-end;
    font-family: "Montserrat";
  }
  header .header__inner .header__nav .globalnav li a {
    font-size: 1.4rem;
    font-weight: 700;
    padding-top: 15px;
    color: #185AA5;
    display: block;
    padding-bottom: 10px;
    font-family: "Montserrat";
  }
}

/* ヘッダー */
@media screen and (max-width: 768px) {
  .header {
    background-color: white;
    width: 100%;
    height: 68px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
  }
}

@media screen and (max-width: 768px) {
  .header__inner {
    padding: 10px 4%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: inherit;
    position: relative;
  }
}

/* ヘッダーのロゴ部分 */
@media screen and (max-width: 768px) {
  .header__title {
    width: 120px;
  }
}

@media screen and (max-width: 768px) {
  .header__title img {
    display: block;
    width: 100%;
    height: 100%;
  }
}

/* ヘッダーのナビ部分 */
@media screen and (max-width: 768px) {
  .header__nav {
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    transform: translateX(100%);
    transition: ease 0.4s;
    background-color: #181733;
    overflow: auto;
  }
}

@media screen and (max-width: 768px) {
  .nav-items {
    padding-top: 105px;
  }
}

.sp__header_copyright {
  text-align: center;
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 500;
  padding-top: 100px;
  padding-bottom: 20px;
}

/* ナビのリンク */
.nav-items__item:last-child a {
  border-bottom: 1px solid #ffffff;
}

@media screen and (max-width: 768px) {
  .nav-items__item a {
    color: #ffffff;
    width: 100%;
    display: block;
    text-align: center;
    font-size: 20px;
    border-top: 1px dashed #FFFFFF;
    padding: 15px 0;
    font-size: 1.5rem;
    font-family: "Noto Sans JP";
    font-weight: 500;
  }
}

@media screen and (max-width: 768px) {
  .nav-items__item.bt a {
    font-size: 1.7rem;
    border-top: 1px solid #ffffff;
  }
}

@media screen and (max-width: 768px) {
  .nav-items__item:last-child a {
    margin-bottom: 0;
  }
}

/* ハンバーガーメニュー */
@media screen and (max-width: 768px) {
  .header__hamburger {
    width: 32px;
    height: 100%;
  }
}

@media screen and (max-width: 768px) {
  .sp_tel {
    width: 41px;
    height: auto;
    margin-left: auto;
    margin-right: 12px;
  }
}

@media screen and (max-width: 768px) {
  .h_btn {
    margin-right: 12px;
  }
}

@media screen and (max-width: 768px) {
  header .h_btn a {
    width: 50px;
    font-size: 18px;
    line-height: 34px;
    padding-top: 0px;
    display: block;
    text-align: center;
    text-decoration: none;
    color: #FFF;
    letter-spacing: 1px;
    border: 3px solid #E6E6E6;
    background-color: #255AA9;
    transition: all 0.5s 0s ease !important;
  }
  header .h_btn a:hover {
    color: #255AA9;
    background-color: #FFF;
  }
}

@media screen and (max-width: 768px) {
  .hamburger {
    background-color: transparent;
    border-color: transparent;
    z-index: 9999;
  }
}

/* ハンバーガーメニューの線 */
@media screen and (max-width: 768px) {
  .hamburger span {
    width: 100%;
    height: 3.5px;
    background-color: #4C4B84;
    position: relative;
    transition: ease 0.4s;
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .hamburger span:nth-child(1) {
    top: 0;
  }
}

@media screen and (max-width: 768px) {
  .hamburger span:nth-child(2) {
    margin: 8px 0;
  }
}

@media screen and (max-width: 768px) {
  .hamburger span:nth-child(3) {
    top: 0;
  }
}

/* ハンバーガーメニュークリック後のスタイル */
@media screen and (max-width: 768px) {
  .header__nav.active {
    transform: translateX(0);
  }
}

@media screen and (max-width: 768px) {
  .hamburger.active span:nth-child(1) {
    top: 9px;
    transform: rotate(45deg);
    background-color: #ffffff;
  }
}

@media screen and (max-width: 768px) {
  .hamburger.active span:nth-child(2) {
    opacity: 0;
  }
}

@media screen and (max-width: 768px) {
  .hamburger.active span:nth-child(3) {
    top: -13px;
    transform: rotate(-45deg);
    background-color: #ffffff;
  }
}

.slider-pro {
  position: relative;
}
@media screen and (max-width: 768px) {
  .slider-pro {
    padding-top: 68px;
  }
}

.sp-slide {
  position: relative;
}
.sp-slide img {
  position: relative;
}
.sp-slide:first-child .slide_txt_container {
  position: absolute;
  top: 44%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .sp-slide:first-child .slide_txt_container {
    width: 92%;
    top: 44%;
  }
}
.sp-slide .slide_txt_container {
  display: flex;
  position: absolute;
  top: 44%;
  left: 50%;
  transform: translate(-50%, -50%);
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .sp-slide .slide_txt_container {
    width: 92%;
    top: 50%;
  }
}
.sp-slide p {
  color: #FFFFFF;
  text-align: center;
  text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.75);
}
.sp-slide .logo_slide {
  width: 42.7%;
  margin: 0 auto 30px;
}
@media screen and (max-width: 768px) {
  .sp-slide .logo_slide {
    width: 89%;
    margin-bottom: 15px;
  }
}
.sp-slide .slide_txt_logo {
  font-size: 2.2rem;
  letter-spacing: 0.34em;
  font-weight: 700;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .sp-slide .slide_txt_logo {
    font-size: 2rem;
    margin-top: 10px;
  }
}
.sp-slide .slide_tlt {
  font-size: min(6vw, 100px);
  line-height: 1;
  font-weight: 500;
  margin-bottom: 20px;
  text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.8);
}
@media screen and (max-width: 768px) {
  .sp-slide .slide_tlt {
    font-size: 10vw;
    margin-bottom: 5px;
  }
}
.sp-slide .slide_txt {
  font-size: min(1.6vw, 24px);
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.3em;
  text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.75);
}
@media screen and (max-width: 768px) {
  .sp-slide .slide_txt {
    font-size: 3.7vw;
  }
}

.sp-selected .slide_txt_container {
  display: flex;
}

.sp-image-container {
  display: flex;
}

#top_slide {
  background-color: #004098;
  display: none;
}

#top_slide2 {
  background-color: #004098;
  display: none;
}

.sp-bottom-thumbnails {
  padding-bottom: 5px;
}

.sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
  border-bottom: 5px solid #F1EE80 !important;
}

.sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail:after {
  border-bottom: 13px solid #F1EE80 !important;
}

.slide__link {
  text-align: center;
  display: block;
  position: relative;
  font-size: 2.4rem;
  color: #FFF;
  width: 300px;
  margin-top: 4.5%;
  text-align: center;
  font-weight: bold;
  text-decoration: none;
  border: 1px solid #FFF;
  line-height: 40px;
  transition: all 0.5s 0s ease !important;
  /*transitionの記述を追加*/
  -webkit-transition: all 0.5s 0s ease !important;
  /*transitionの記述を追加*/
  font-family: "Montserrat";
  font-weight: 700;
  text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.85);
  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.75), 0px 0px 2px rgba(0, 0, 0, 0.75) inset;
}
@media screen and (max-width: 768px) {
  .slide__link {
    font-size: 16px;
    width: 60%;
    margin-top: 40px;
  }
}

.link__dammy {
  height: 44px;
  margin-top: 40px;
}

.slide__link:hover {
  background-color: rgba(23, 42, 136, 0.6);
  mix-blend-mode: multiply;
}

.sp-slide:nth-child(2) .slide__link:hover {
  background-color: rgba(23, 42, 136, 0.7);
  mix-blend-mode: color-burn;
}

.sp-slide:nth-child(4) .slide__link:hover {
  background-color: rgba(23, 42, 136, 0.5);
  mix-blend-mode: multiply;
}

section.gray__back {
  background-color: #E6ECED;
  padding: 120px 0px 104px;
}
@media screen and (max-width: 768px) {
  section.gray__back {
    padding: 80px 0 90px;
  }
}

section.page__gray__back {
  background-color: #F5F8F8;
}
@media screen and (max-width: 768px) {
  section.page__gray__back {
    padding: 60px 0;
  }
}

.width__limit {
  width: 86.1%;
  max-width: 1140px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .width__limit {
    width: 92%;
  }
}

.content__flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .content__flex {
    flex-direction: column;
  }
}
.content__flex .content__flex_img {
  width: 55.4%;
}
@media screen and (max-width: 768px) {
  .content__flex .content__flex_img {
    width: 100%;
    margin-bottom: 35px;
  }
}
.content__flex .content__flex_txt {
  width: 40.3%;
}
@media screen and (max-width: 768px) {
  .content__flex .content__flex_txt {
    width: 100%;
  }
}
.content__flex .content__flex_txt .content__tlt {
  font-size: 2.2rem;
  font-weight: 500;
  color: #46455C;
  line-height: 1.54;
  padding-bottom: 17px;
}
@media screen and (max-width: 768px) {
  .content__flex .content__flex_txt .content__tlt {
    font-size: 2.4rem;
    padding-bottom: 15px;
  }
}
.content__flex .content__flex_txt .content__txt {
  font-size: 1.4rem;
  font-weight: 400;
  color: #46455C;
  line-height: 2;
  padding-bottom: 22px;
}
@media screen and (max-width: 768px) {
  .content__flex .content__flex_txt .content__txt {
    padding-left: 0;
    padding-bottom: 0;
    margin-bottom: 45px;
    font-size: 1.5rem;
  }
}
.content__flex .content__flex_txt .link_btn_container {
  display: flex;
  justify-content: center;
}
.content__flex .content__flex_txt .link_btn {
  display: inline-block;
  font-size: 1.6rem;
  background-color: #4C4B84;
  color: #ffffff;
  line-height: 1;
  text-align: center;
  padding: 15px 45px;
  border-radius: 15px;
  transition: all 0.5s ease;
  margin-right: auto;
  margin-top: 15px;
}
.content__flex .content__flex_txt .link_btn:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .content__flex .content__flex_txt .link_btn {
    margin: 15px auto 0;
    font-size: 1.7rem;
  }
}

.content__flex_rev {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .content__flex_rev {
    flex-direction: column;
  }
}
.content__flex_rev .content__flex_img {
  width: 55.4%;
}
@media screen and (max-width: 768px) {
  .content__flex_rev .content__flex_img {
    width: 100%;
    margin-bottom: 35px;
  }
}
.content__flex_rev .content__flex_txt {
  width: 40.3%;
}
@media screen and (max-width: 768px) {
  .content__flex_rev .content__flex_txt {
    width: 100%;
  }
}
.content__flex_rev .content__flex_txt .content__tlt {
  font-size: 2.2rem;
  font-weight: 500;
  color: #46455C;
  line-height: 1.54;
  padding-bottom: 17px;
}
@media screen and (max-width: 768px) {
  .content__flex_rev .content__flex_txt .content__tlt {
    font-size: 2.4rem;
    padding-bottom: 15px;
  }
}
.content__flex_rev .content__flex_txt .content__txt {
  font-size: 1.4rem;
  font-weight: 400;
  color: #46455C;
  line-height: 2;
  padding-bottom: 22px;
  padding-left: 0%;
}
@media screen and (max-width: 768px) {
  .content__flex_rev .content__flex_txt .content__txt {
    padding-left: 0;
    padding-bottom: 0;
    margin-bottom: 45px;
    font-size: 1.5rem;
  }
}
.content__flex_rev .content__flex_txt .link_btn_container {
  display: flex;
  justify-content: center;
}
.content__flex_rev .content__flex_txt .link_btn {
  display: inline-block;
  font-size: 1.6rem;
  background-color: #4C4B84;
  color: #ffffff;
  line-height: 1;
  text-align: center;
  padding: 15px 45px;
  border-radius: 15px;
  transition: all 0.5s ease;
  margin-right: auto;
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .content__flex_rev .content__flex_txt .link_btn {
    margin: 15px auto 0;
    font-size: 1.7rem;
  }
}
.content__flex_rev .content__flex_txt .link_btn:hover {
  opacity: 0.8;
}

.page__triple__back {
  background-color: #F5F8F8;
  padding: 90px 0px 120px;
}
@media screen and (max-width: 768px) {
  .page__triple__back {
    padding-top: 80px;
  }
}

.triple__back {
  background-color: #F5F8F8;
  padding: 100px 0px 105px;
}
@media screen and (max-width: 768px) {
  .triple__back {
    padding-top: 80px;
  }
}
.triple__back .link_btn_container {
  display: flex;
  justify-content: center;
}
.triple__back .link_btn {
  display: inline-block;
  font-size: 1.6rem;
  background-color: #4C4B84;
  color: #ffffff;
  line-height: 1;
  text-align: center;
  padding: 15px 45px;
  border-radius: 15px;
  margin: 50px auto 0;
  transition: all 0.5s ease;
}
.triple__back .link_btn:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .triple__back .link_btn {
    margin: 40px auto 0;
  }
}

.sec__tlt {
  text-align: center;
  font-size: 3rem;
  font-family: "Montserrat";
  font-weight: 600;
  color: #4C4B84;
  margin-bottom: 35px;
}
@media screen and (max-width: 768px) {
  .sec__tlt {
    margin-bottom: 30px;
  }
}

.sec__txt {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.75;
  color: #46455C;
  margin-bottom: 70px;
}
@media screen and (max-width: 768px) {
  .sec__txt {
    margin-bottom: 40px;
    font-size: 1.7rem;
  }
}

.triple__container {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .triple__container {
    flex-direction: column;
  }
}
.triple__container .triple__child {
  width: 30.7%;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .triple__container .triple__child {
    width: 100%;
    margin-bottom: 25px;
  }
}
.triple__container .triple__child .triple__txt_container {
  padding: 25px 24px 40px;
}
@media screen and (max-width: 768px) {
  .triple__container .triple__child .triple__txt_container {
    padding: 30px 25px 35px;
  }
}
.triple__container .triple__child .triple__txt_container .triple__tlt {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2;
  color: #46455C;
  margin-bottom: 7px;
}
@media screen and (max-width: 768px) {
  .triple__container .triple__child .triple__txt_container .triple__tlt {
    font-size: 1.9rem;
  }
}
.triple__container .triple__child .triple__txt_container .triple__txt {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
  color: #46455C;
}
@media screen and (max-width: 768px) {
  .triple__container .triple__child .triple__txt_container .triple__txt {
    font-size: 1.5rem;
  }
}

.ec_container {
  width: 49.2%;
  margin: 80px auto 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .ec_container {
    width: 77%;
    flex-direction: column;
    margin: 40px auto 0;
  }
}
.ec_container .link_container {
  width: 47.6%;
}
.ec_container .link_container:hover {
  transition: all 0.5s ease;
  opacity: 0.6;
}
@media screen and (max-width: 768px) {
  .ec_container .link_container {
    width: 100%;
    flex-direction: column;
    margin-bottom: 20px;
  }
  .ec_container .link_container:last-child {
    margin-bottom: 0;
  }
}

.nav_link_container {
  display: flex;
  flex-direction: column;
  width: 71.4%;
  margin: 70px auto 0px;
}
.nav_link_container .link_container {
  margin-bottom: 20px;
}

.bottom__nav {
  padding: 50px 0 80px;
}
@media screen and (max-width: 768px) {
  .bottom__nav {
    padding-bottom: 30px;
    padding-top: 40px;
  }
}

.gray_nav {
  background-color: #F5F8F8;
}

.bottom__nav_container {
  width: 73.2%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 30px auto 0;
}
@media screen and (max-width: 768px) {
  .bottom__nav_container {
    width: 94.2%;
  }
}
.bottom__nav_container a {
  border-radius: 50%;
  display: block;
}

.img-block {
  width: 18.8vw;
  max-width: 250px;
  height: 18.8vw;
  max-height: 250px;
  border-radius: 50%;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .img-block {
    width: 39vw;
    height: 39vw;
    margin-bottom: 15px;
  }
}

.img-block > img {
  width: 100%;
  height: 100%;
  transform: scale(1);
  transition: all 0.4s ease;
}

.img-block:hover img {
  transform: scale(1.2);
}

.bottom__nav_txt_container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
}

.bottom__nav_txt {
  width: 66%;
  margin: 0 auto;
  padding: 20px 0px;
  background-color: rgba(255, 255, 255, 0.6);
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  color: #46455C;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .bottom__nav_txt {
    font-size: 1.3rem;
  }
}

.bottom__contact_container {
  display: flex;
  justify-content: space-between;
  width: 55.2%;
  margin: 0 auto 0px;
  padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .bottom__contact_container {
    width: 86.9%;
    flex-direction: column;
    padding-bottom: 80px;
  }
}
.bottom__contact_container .bottom__contact_btn {
  width: 47.6%;
}
.bottom__contact_container .bottom__contact_btn:hover {
  transition: all 0.5s ease;
  background-color: rgba(23, 42, 136, 0.2);
}
@media screen and (max-width: 768px) {
  .bottom__contact_container .bottom__contact_btn {
    width: 100%;
    margin-bottom: 15px;
  }
}

.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 25%;
  /* 比率を4:3に固定 */
}
@media screen and (max-width: 768px) {
  .map {
    padding-top: 69.3%;
  }
}

/* Google Mapのiframe */
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

footer {
  background-color: #E1EAF7;
  padding-top: 35px;
}
@media screen and (max-width: 768px) {
  footer {
    padding-top: 35px;
  }
}

.footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 86.6%;
  max-width: 1140px;
  margin: 0 auto 40px;
}
@media screen and (max-width: 768px) {
  .footer__inner {
    margin: 0 auto 50px;
    width: 92%;
  }
}
.footer__inner .footer__logo_container {
  width: 43%;
  display: flex;
}
@media screen and (max-width: 768px) {
  .footer__inner .footer__logo_container {
    width: 100%;
    flex-direction: column;
  }
}
.footer__inner .footer__logo_container .logo {
  width: 142px;
  margin-bottom: 15px;
  margin-right: 15px;
  margin-top: -6px;
}
@media screen and (max-width: 768px) {
  .footer__inner .footer__logo_container .logo {
    margin-right: 0;
  }
}
.footer__inner .footer__logo_container .address p {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.71;
}
.footer__inner .footer__logo_container .address p b {
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .footer__inner .footer__logo_container .address p {
    font-size: 1.5rem;
    padding-left: 0;
    text-indent: 0;
  }
}
.footer__inner .footer__link_container {
  width: 50%;
  display: flex;
  justify-content: space-between;
}
.footer__inner .footer__link_container .footer__link_list {
  display: flex;
  flex-direction: column;
}
.footer__inner .footer__link_container .footer__link_list a {
  font-size: 1.2rem;
  font-weight: 500;
  color: #5E5D71;
  line-height: 2;
  transition: all 0.5s ease;
}
.footer__inner .footer__link_container .footer__link_list a:hover {
  opacity: 0.8;
}
.footer__inner .footer__link_container .footer__link_list .link_big {
  font-size: 1.4rem;
  line-height: 1.71;
}

.copyright {
  text-align: center;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #5E5D71;
  padding-bottom: 10px;
}

.page__head {
  width: 100%;
  height: 230px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page__head {
    margin-top: 68px;
  }
}
.page__head .page__head_tlt {
  font-size: 3.5rem;
  font-weight: 500;
  font-family: "Montserrat";
  text-align: center;
  text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.85);
  color: #ffffff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .page__head .page__head_tlt {
    font-size: 2.8rem;
    width: 100%;
  }
}

.globalnav > li {
  position: relative;
}
.globalnav > li:hover:after {
  content: "";
  width: 95px;
  height: 3.8px;
  display: inline-block;
  background-color: #0071BC;
  position: absolute;
  bottom: 0px;
  left: calc(50% - 47.5px);
}

.about .globalnav > li:first-child {
  position: relative;
}
.about .globalnav > li:first-child:after {
  content: "";
  width: 95px;
  height: 3.8px;
  display: inline-block;
  background-color: #0071BC;
  position: absolute;
  bottom: 0px;
  left: calc(50% - 47.5px);
}

.service .globalnav > li:nth-child(2) {
  position: relative;
}
.service .globalnav > li:nth-child(2):after {
  content: "";
  width: 95px;
  height: 3.8px;
  display: inline-block;
  background-color: #0071BC;
  position: absolute;
  bottom: 0px;
  left: calc(50% - 47.5px);
}

.company .globalnav > li:nth-child(3) {
  position: relative;
}
.company .globalnav > li:nth-child(3):after {
  content: "";
  width: 95px;
  height: 3.8px;
  display: inline-block;
  background-color: #0071BC;
  position: absolute;
  bottom: 0px;
  left: calc(50% - 47.5px);
}

.contact .globalnav > li:nth-child(4) {
  position: relative;
}
.contact .globalnav > li:nth-child(4):after {
  content: "";
  width: 95px;
  height: 3.8px;
  display: inline-block;
  background-color: #0071BC;
  position: absolute;
  bottom: 0px;
  left: calc(50% - 47.5px);
}

.policy .globalnav li:nth-child(5) {
  position: relative;
}
.policy .globalnav li:nth-child(5):after {
  content: "";
  width: 95px;
  height: 3.8px;
  display: inline-block;
  background-color: #0071BC;
  position: absolute;
  bottom: 0px;
  left: calc(50% - 47.5px);
}

.about .page__head {
  background: url(../img/page_head01.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.service .page__head {
  background: url(../img/page_head02.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.company .page__head {
  background: url(../img/page_head03.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.policy .page__head {
  background: url(../img/page_head04.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.contact .page__head {
  background: url(../img/page_head05.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .contact .page__head {
    background: url(../img/page_head05_sp.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }
}

.top__bg {
  background-color: #E6ECED;
  padding-top: 90px;
  padding-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .top__bg {
    padding-top: 50px;
    padding-bottom: 65px;
  }
}
.top__bg .name {
  font-size: 1.4rem;
  text-align: right;
  margin-top: 15px;
  line-height: 28px;
  color: #333333;
  font-size: 1.4rem;
  text-align: right;
  margin-top: 15px;
  line-height: 16px;
  color: #333333;
  width: 100%;
  max-width: 1040px;
}
@media screen and (max-width: 768px) {
  .top__bg .name {
    font-size: 1.5rem;
  }
}
.top__bg .name__big {
  font-size: 1.8rem;
  line-height: 28px;
}

.page__bg {
  background-color: #F5F8F8;
  padding-top: 100px;
  padding-bottom: 115px;
}
@media screen and (max-width: 768px) {
  .page__bg {
    padding-top: 50px;
    padding-bottom: 65px;
  }
}

.page__tlt {
  font-size: 2.4rem;
  line-height: 1.16;
  font-weight: 700;
  color: #4C4B84;
  text-align: center;
  position: relative;
  margin-bottom: 35px;
}

.page__tlt::after {
  content: "";
  width: 190px;
  height: 4px;
  display: inline-block;
  background-color: #0071BC;
  position: absolute;
  bottom: -10px;
  left: calc(50% - 95px);
}

.page__txt_bold {
  font-size: 2.2rem;
  font-weight: 500;
  color: #46455C;
  line-height: 1.54;
  text-align: center;
  padding-top: 15px;
  padding-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .page__txt_bold {
    font-size: 2.4rem;
  }
}

.page__txt {
  font-size: 1.4rem;
  line-height: 2.28;
  color: #46455C;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page__txt {
    width: 100%;
    text-align: left;
    font-size: 1.5rem;
  }
}

.service .page__txt {
  font-size: 1.4rem;
  line-height: 2;
  color: #46455C;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .service .page__txt {
    width: 100%;
    text-align: left;
    font-size: 1.5rem;
  }
}

.about__logo {
  background-color: #ffffff;
  width: 57.8%;
  margin: 60px auto 0;
  padding: 35px 0;
}
@media screen and (max-width: 768px) {
  .about__logo {
    width: 100%;
    margin-top: 40px;
  }
}

.about__logo img {
  width: 55.7%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .about__logo img {
    width: 66.66%;
  }
}

.page__flex_sec {
  padding: 100px 0;
}
@media screen and (max-width: 768px) {
  .page__flex_sec {
    padding: 60px 0;
  }
}

.page__flex_gray {
  padding: 100px 0;
  background-color: #F5F8F8;
}
@media screen and (max-width: 768px) {
  .page__flex_gray {
    padding: 60px 0;
  }
}

.service .content__flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .service .content__flex {
    flex-direction: column;
  }
}
.service .content__flex .content__flex_img {
  width: 46.9%;
}
@media screen and (max-width: 768px) {
  .service .content__flex .content__flex_img {
    width: 100%;
    margin-bottom: 35px;
  }
}
.service .content__flex .content__flex_txt {
  width: 48.6%;
}
@media screen and (max-width: 768px) {
  .service .content__flex .content__flex_txt {
    width: 100%;
  }
}
.service .content__flex .content__flex_txt .content__tlt {
  font-size: 2.2rem;
  font-weight: 500;
  color: #46455C;
  line-height: 1.54;
  padding-bottom: 17px;
}
@media screen and (max-width: 768px) {
  .service .content__flex .content__flex_txt .content__tlt {
    font-size: 2.4rem;
    padding-bottom: 15px;
  }
}
.service .content__flex .content__flex_txt .content__txt {
  font-size: 1.4rem;
  font-weight: 400;
  color: #46455C;
  line-height: 2;
  padding-bottom: 22px;
}
@media screen and (max-width: 768px) {
  .service .content__flex .content__flex_txt .content__txt {
    padding-left: 0;
    padding-bottom: 0;
    margin-bottom: 0px;
  }
}
.service .content__flex .content__flex_txt .link_btn {
  display: inline-block;
  font-size: 1.6rem;
  background-color: #4C4B84;
  color: #ffffff;
  line-height: 1;
  text-align: center;
  padding: 15px 45px;
  border-radius: 15px;
  transition: all 0.5s ease;
}
.service .content__flex .content__flex_txt .link_btn:hover {
  opacity: 0.8;
}
.service .content__flex_rev {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .service .content__flex_rev {
    flex-direction: column;
  }
}
.service .content__flex_rev .content__flex_img {
  width: 46.9%;
}
@media screen and (max-width: 768px) {
  .service .content__flex_rev .content__flex_img {
    width: 100%;
    margin-bottom: 35px;
  }
}
.service .content__flex_rev .content__flex_txt {
  width: 48.6%;
}
@media screen and (max-width: 768px) {
  .service .content__flex_rev .content__flex_txt {
    width: 100%;
  }
}
.service .content__flex_rev .content__flex_txt .content__tlt {
  font-size: 2.2rem;
  font-weight: 500;
  color: #46455C;
  line-height: 1.54;
  padding-bottom: 17px;
}
@media screen and (max-width: 768px) {
  .service .content__flex_rev .content__flex_txt .content__tlt {
    font-size: 2.4rem;
    padding-bottom: 15px;
  }
}
.service .content__flex_rev .content__flex_txt .content__txt {
  font-size: 1.4rem;
  font-weight: 400;
  color: #46455C;
  line-height: 2;
  padding-bottom: 22px;
  padding-left: 0%;
}
@media screen and (max-width: 768px) {
  .service .content__flex_rev .content__flex_txt .content__txt {
    padding-left: 0;
    padding-bottom: 0;
    margin-bottom: 0px;
  }
}
.service .content__flex_rev .content__flex_txt .link_btn {
  display: inline-block;
  font-size: 1.6rem;
  background-color: #4C4B84;
  color: #ffffff;
  line-height: 1;
  text-align: center;
  padding: 15px 45px;
  border-radius: 15px;
}

.slogan__bg {
  background-color: #F5F8F8;
  padding: 90px 0px 120px;
}
.slogan__bg .slogan__tlt {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  color: #706898;
  text-align: center;
  margin-bottom: 8px;
}
.slogan__bg .slogan__en {
  font-size: 1.8rem;
  line-height: 1.555;
  font-weight: 700;
  color: #706898;
  text-align: center;
  padding-bottom: 45px;
  font-family: "Montserrat";
  font-weight: 700;
}
.slogan__bg .slogan__text {
  text-align: center;
  font-size: 3.6rem;
  line-height: 1.38;
  font-family: "Noto Serif JP", sans-serif;
  color: #46455C;
  padding-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .slogan__bg .slogan__text {
    font-size: 2.8rem;
    line-height: 1.46;
  }
}
.slogan__bg .slogan__txt {
  text-align: center;
  font-size: 1.4rem;
  line-height: 2;
  color: #46455C;
  font-weight: 400;
}

.vision__bg {
  background-color: #7F7B96;
  padding: 90px 0px 120px;
}
.vision__bg .vision__tlt {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  color: #ffffff;
  text-align: center;
  margin-bottom: 8px;
}
.vision__bg .vision__en {
  font-size: 1.8rem;
  line-height: 1.555;
  font-weight: 700;
  color: #ffffff;
  text-align: center;
  padding-bottom: 45px;
  font-family: "Montserrat";
  font-weight: 700;
}
.vision__bg .vision__text {
  text-align: center;
  font-size: 3.6rem;
  line-height: 1.38;
  font-family: "Noto Serif JP", sans-serif;
  color: #ffffff;
  padding-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .vision__bg .vision__text {
    font-size: 2.8rem;
    line-height: 1.46;
  }
}
.vision__bg .vision__txt {
  text-align: center;
  font-size: 1.4rem;
  line-height: 2;
  color: #ffffff;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .vision__bg .vision__txt {
    font-size: 1.5rem;
    text-align: left;
  }
}

.message__container {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .message__container {
    width: 92%;
  }
}

.overview__sec {
  background-color: #F5F8F8;
}
.overview__sec .overview__limit {
  width: 72.3%;
  margin: 0 auto;
  padding: 100px 0 80px;
  max-width: 830px;
}
@media screen and (max-width: 768px) {
  .overview__sec .overview__limit {
    width: 92%;
    padding: 80px 0 80px;
  }
}
.overview__sec .overview__limit .overview__img {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .overview__sec .overview__limit .overview__img {
    align-items: center;
    flex-direction: column;
  }
}
.overview__sec .overview__limit .overview__img img {
  width: 49%;
}
@media screen and (max-width: 768px) {
  .overview__sec .overview__limit .overview__img img {
    width: 100%;
  }
  .overview__sec .overview__limit .overview__img img:first-child {
    margin-bottom: 20px;
  }
}
.overview__sec .overview__limit .overview__list {
  padding-top: 70px;
}
@media screen and (max-width: 768px) {
  .overview__sec .overview__limit .overview__list {
    padding-top: 60px;
  }
}
.overview__sec .overview__limit .overview__list ul li:nth-child(even) {
  background: #E6ECED;
}
.overview__sec .overview__limit .overview__list ul li {
  display: flex;
  justify-content: space-between;
  padding: 15px 0;
  background-color: #ffffff;
}
.overview__sec .overview__limit .overview__list ul li .overview__tlt {
  width: 33.33%;
  padding-left: 35px;
  font-size: 1.4rem;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .overview__sec .overview__limit .overview__list ul li .overview__tlt {
    padding-left: 15px;
    font-size: 1.5rem;
  }
}
.overview__sec .overview__limit .overview__list ul li .overview__txt {
  width: 66.6%;
  font-size: 1.4rem;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .overview__sec .overview__limit .overview__list ul li .overview__txt {
    font-size: 1.5rem;
  }
}

.policy__bg {
  background-color: #F5F8F8;
  padding: 90px 0 120px;
}
@media screen and (max-width: 768px) {
  .policy__bg {
    padding: 45px 0;
  }
}
.policy__bg .policy_container {
  width: 72.3%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .policy__bg .policy_container {
    padding-top: 20px;
    width: 100%;
  }
}
.policy__bg .policy_container .policy__txt {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
  color: #46455C;
}
@media screen and (max-width: 768px) {
  .policy__bg .policy_container .policy__txt {
    font-size: 1.5rem;
  }
}
.policy__bg .policy_container .policy__txt .text__indent {
  padding-left: 1em;
  text-indent: -1em;
  display: block;
}
.policy__bg .policy_container .policy__txt::after {
  content: "";
  display: block;
  border-top: 1px dotted #46455C;
  transform: scaleY(0.5);
  transform-origin: 100% 0;
  margin: 20px 0;
}
.policy__bg .policy_container .policy__txt b {
  font-weight: 500;
  line-height: 2;
}
.policy__bg .policy_container .policy__txt:last-child::after {
  content: "";
  display: block;
  border-top: none;
  transform: scaleY(0.5);
  transform-origin: 100% 0;
  margin: 0;
}

.contact__bg {
  background-color: #F5F8F8;
  padding: 90px 0 120px;
}
@media screen and (max-width: 768px) {
  .contact__bg {
    padding: 45px 0;
  }
}
.contact__bg .red_font {
  color: #C1272D;
  font-size: 1.4rem;
  font-weight: 500;
}
.contact__bg .contact_container {
  width: 58.7%;
  margin: 20px auto 0;
}
@media screen and (max-width: 768px) {
  .contact__bg .contact_container {
    width: 100%;
  }
}
.contact__bg .contact_container ul li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .contact__bg .contact_container ul li {
    flex-direction: column;
    align-items: flex-start;
  }
}
.contact__bg .contact_container ul li:last-child {
  align-items: flex-start;
}
.contact__bg .contact_container ul li .form_name {
  width: 27.6%;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .contact__bg .contact_container ul li .form_name {
    width: 100%;
    padding-bottom: 10px;
  }
}
.contact__bg .contact_container ul li .form_input {
  width: 72.4%;
}
@media screen and (max-width: 768px) {
  .contact__bg .contact_container ul li .form_input {
    width: 100%;
  }
}
.contact__bg .contact_container ul li .form_input input {
  width: 100%;
  border-radius: none;
  background-color: #E0E6E7;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 3;
  padding-left: 2%;
  padding-right: 2%;
}
.contact__bg .contact_container ul li .form_input .short_form {
  width: 60%;
  font-size: 1.4rem;
  line-height: 3;
}
@media screen and (max-width: 768px) {
  .contact__bg .contact_container ul li .form_input .short_form {
    width: 100%;
  }
}
.contact__bg .contact_container ul li .form_input .number_form {
  width: 30%;
}
@media screen and (max-width: 768px) {
  .contact__bg .contact_container ul li .form_input .number_form {
    width: 50%;
  }
}
.contact__bg .contact_container ul li .form_input textarea {
  width: 100%;
  border-radius: none;
  background-color: #E6ECED;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.21;
  padding-left: 2%;
  padding-right: 2%;
  resize: none;
  overflow: scroll;
}
.contact__bg input[type=checkbox] {
  margin: 15px 5px;
  border: 1px solid #46455C;
  display: block;
}
.contact__bg .submit_container {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 45px;
}
@media screen and (max-width: 768px) {
  .contact__bg .submit_container {
    margin-top: 80px;
  }
}
.contact__bg .submit_container a {
  color: #0071BC;
  font-size: 1.4rem;
  line-height: 2;
  text-decoration: underline;
}
.contact__bg .policy_check {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  line-height: 2;
}
.contact__bg input[type=submit] {
  color: #ffffff;
  font-size: 1.6rem;
  line-height: 1.81;
  background-color: #4C4B84;
  border-radius: 5px;
  padding: 10px 30px;
  margin-top: 45px;
}
.contact__bg input[type=submit]:disabled {
  background-color: #E6ECED;
}

.dropdown-btn {
  position: relative;
  display: inline-block;
  cursor: pointer;
  padding-bottom: 10px;
}

.globalnav li:nth-child(3) .dropdown {
  left: -22%;
}

.dropdown {
  z-index: 1000;
  position: absolute;
  left: -33%;
  top: 59px;
  width: 150px;
  display: none;
  text-align: center;
}
.dropdown li {
  display: inline-block;
  background-color: #ffffff;
  color: #333333;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 500;
  width: 100%;
  text-align: center;
  border-bottom: 1px dotted #333333;
  position: relative;
  cursor: pointer !important;
  display: flex;
  justify-content: center;
  padding: 0 !important;
}
.dropdown li:last-child {
  border-bottom: none;
}
.dropdown li a {
  color: #333333 !important;
  padding: 0 !important;
  font-family: "Noto Sans JP" !important;
  font-weight: 500 !important;
  display: block;
  width: 100%;
  height: 100%;
  padding: 10px 0px !important;
}
.dropdown li a:hover {
  background: url(../img/line_bg.svg) no-repeat;
  background-size: cover;
  background-position: center;
  color: #ffffff !important;
  font-weight: 500 !important;
}

.nav-button-wrap,
.open {
  display: block;
  transition: all 0.5s 0s ease !important;
  /*transitionの記述を追加*/
  -webkit-transition: all 0.5s 0s ease !important;
  /*transitionの記述を追加*/
}

.close {
  display: block;
}

.sp-thumbnail-container .sp-thumbnail {
  filter: grayscale(100%);
}

.sp-thumbnail-container.sp-selected-thumbnail .sp-thumbnail {
  filter: grayscale(0%) !important;
}

img.sp-thumbnail {
  width: 100% !important;
  height: auto !important;
}

.sp-top-thumbnails .sp-thumbnail-container,
.sp-bottom-thumbnails .sp-thumbnail-container {
  margin-left: 2px;
  margin-right: 2px;
  height: 106px !important;
}

/*1.フェードインアニメーションの指定*/
.scrollanime {
  opacity: 0;
}

/*一瞬表示されるのを防ぐ*/
.fadeInDown {
  -webkit-animation-name: fadeInDown;
          animation-name: fadeInDown;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  transform: translate(0, 50px);
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translate(0, 50px);
  }
  100% {
    opacity: 1;
    transform: translate(0);
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translate(0, 50px);
  }
  100% {
    opacity: 1;
    transform: translate(0);
  }
}
/*2.上下の動きを指定*/
.updown {
  transform: translateY(-100px);
}

.downup {
  transform: translateY(100px);
}

/*3.左右の動きを指定*/
.sect02 {
  overflow: hidden;
}

/*横スクロールバーを隠す*/
.slide-right {
  transform: translateX(200px);
}

.slide-left {
  transform: translateX(-200px);
}

@media screen and (max-width: 768px) {
  .sp-fade-arrows {
    opacity: 1 !important;
  }
}

@media screen and (max-width: 768px) {
  .sp-horizontal .sp-next-arrow {
    right: 2% !important;
    opacity: 0.8;
  }
}

@media screen and (max-width: 768px) {
  .sp-horizontal .sp-previous-arrow {
    left: 2% !important;
    opacity: 0.8;
  }
}

.sp-arrow {
  position: absolute;
  display: block;
  width: 15px !important;
  height: 26px !important;
  cursor: pointer;
}

.sp-horizontal .sp-arrows {
  top: 53% !important;
}

.formTable {
  width: 100%;
  border-spacing: 15px;
  table-layout: fixed;
}
@media screen and (max-width: 768px) {
  .formTable {
    border-spacing: 0px;
  }
}

tbody {
  width: 100%;
}

.formTable th {
  width: 27.6%;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .formTable th {
    width: 100%;
    margin-bottom: 10px;
  }
}

.formTable td {
  border-radius: none;
  background-color: #E0E6E7;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 3;
  padding-left: 2%;
  padding-right: 2%;
  width: 60%;
  font-size: 1.4rem;
  line-height: 3;
}
@media screen and (max-width: 768px) {
  .formTable td {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .formTable tr {
    margin-bottom: 15px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}

.confirm_container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.confirm_container .back_page {
  color: #4C4B84;
  font-size: 1.6rem;
  line-height: 1.81;
  background-color: #ffffff;
  border: 1px solid #4C4B84;
  border-radius: 5px;
  padding: 10px 30px;
  margin-top: 20px;
}

.top_reverse {
  color: #ffffff;
  font-size: 1.6rem;
  line-height: 1.81;
  background-color: #4C4B84;
  border-radius: 5px;
  padding: 10px 30px;
  margin-top: 40px;
  margin: 0 auto;
  text-align: center;
  display: table;
}

.confirm_txt {
  text-align: center;
  margin-bottom: 40px;
}/*# sourceMappingURL=style.css.map */