@charset "UTF-8";
/*==========================================
共通設
===========================================*/
/*=== フォント ===*/
html {
  font-size: 62.5%;
}

body {
  -webkit-text-size-adjust: 100%;
  text-align: center;
  letter-spacing: 1;
  line-height: 1.6;
  font-size: 1.8rem;
  text-align: justify;
  font-family: 'A1明朝','A1 Mincho', '游明朝','Yu Mincho','YuMincho','游明朝体',serif;
  color: #182982;
  background-color: white;
}

@media screen and (max-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}

.ja {
  font-family: 'Noto Sans JP', sans-serif;
}

.mincho {
  font-family: 'A1明朝','A1 Mincho', '游明朝','Yu Mincho','YuMincho','游明朝体',serif;
}

.en {
  font-family: 'Oswald', sans-serif;
}

a {
  color: #182982;
  font-family: 'Noto Sans JP', sans-serif;
}

@media screen and (max-width: 480px) {
  .sp_link_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

/*=== メディアクエリ ===*/
.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

.mb {
  display: none;
}

@media screen and (max-width: 480px) {
  .mb {
    display: block;
  }
}

.xl {
  display: none;
}

@media screen and (max-width: 1200px) {
  .xl {
    display: block;
  }
}

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

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

main {
  overflow: hidden;
}

.font_wb {
  font-weight: bold;
}

.txt_c {
  text-align: center;
}

.txt_r {
  text-align: right;
}

.fz_16 {
  font-size: 1.6rem;
}

.fz_20 {
  font-size: 2.0rem;
}

.fz_24 {
  font-size: 2.4rem;
}

.fz_26 {
  font-size: 2.6rem;
}

@media screen and (max-width: 768px) {
  .fz_26 {
    font-size: 5.6vw;
  }
}

/*==========================================
hover アニメーション
===========================================*/
.hover_zoom {
  -webkit-transition: all .3s;
  transition: all .3s;
}

.hover_zoom .hover_img {
  overflow: hidden;
}

.hover_zoom .hover_img img {
  -webkit-transition: all 1s;
  transition: all 1s;
}

.hover_zoom:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

/*==========================================
arrow
===========================================*/
.more {
  font-size: 1.6rem;
  font-weight: bold;
}

.arrow {
  display: inline-block;
  background-color: #182982;
  position: relative;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.arrow:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  top: -4px;
  left: 100%;
  border-style: solid;
}

.arrow_right {
  margin: 0 0 5px 10px;
  height: 1px;
  width: 20px;
  left: 0;
}

.arrow_right:after {
  content: "";
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent #182982;
}

.arrow_left {
  margin: 0 10px 5px 0;
  height: 1px;
  width: 20px;
  left: -130px;
}

.arrow_left:after {
  content: "";
  left: -6px;
  border-width: 5px 8px 5px 0;
  border-color: transparent #182982 transparent;
}

.arrow_up {
  margin: 0 0 10px 0;
  height: 20px;
  width: 1px;
  bottom: 0;
}

.arrow_up:after {
  content: "";
  left: -3px;
  border-width: 0 4px 8px 4px;
  border-color: transparent transparent #182981 transparent;
}

.arrow_wrap {
  -webkit-transition: 0.3s ease 0s;
  transition: 0.3s ease 0s;
}

.arrow_wrap:hover .arrow_right {
  left: 5px;
}

.arrow_wrap:hover .arrow_left {
  left: -135px;
}

.arrow_wrap:hover .arrow_left:after {
  border-color: transparent white transparent !important;
}

.arrow_wrap:hover .arrow_up {
  bottom: 5px;
}

/*============
keyvisual
=============*/
.keyvisual {
  position: relative;
  height: 500px;
  margin: 153px -1px 0 7.2%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 100%;
  z-index: 0;
}

@media screen and (max-width: 1200px) {
  .keyvisual {
    margin: 0 -1px 0 7.2%;
  }
}

#front.keyvisual {
  height: 798px;
  overflow: inherit;
}

#other_front.sp_header .keyvisual {
  margin: 0;
}

.visual_ttl {
  position: absolute;
  top: 190px;
  left: 9.7%;
  text-align: left;
  font-size: 3.0rem;
  color: white;
}

.visual_ttl.color_blue {
  color: #182982;
}

.visual_ttl.visual_ttl_bottom {
  top: inherit;
  bottom: 70px;
  left: 70px;
}

.visual_ttl p {
  margin: 14px 0 0 0;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: .9rem;
}

@media screen and (max-width: 1200px) {
  .visual_ttl {
    position: inherit;
    color: #182982;
    text-align: center;
    margin-bottom: 90px;
  }
  .visual_ttl p {
    margin: 0 auto;
    padding: 12px 0;
    letter-spacing: .2rem;
  }
  .visual_ttl:after {
    content: "";
    display: block;
    margin: 0 auto;
    width: 80%;
    height: 1px;
    background-color: #182982;
  }
}

#front.visual_ttl {
  top: 150px;
  margin-bottom: inherit;
}

#front.visual_ttl p {
  margin: 34px 0 0 0;
}

@media screen and (max-width: 1200px) {
  #sp_front .visual_ttl {
    position: absolute;
    left: 9.7%;
    top: 100px;
    text-align: left;
    font-size: 3.6rem;
    color: white;
    left: 60px;
  }
  #sp_front .visual_ttl p {
    margin: 7px 0 0 0;
    font-size: 1.0rem;
    letter-spacing: .2rem;
  }
  #sp_front .visual_ttl:after {
    content: "";
    display: none;
  }
}

@media screen and (max-width: 768px) {
  #sp_front .visual_ttl {
    top: 150px;
    font-size: 6.5vw;
  }
}

/*============
section_wrap
=============*/
.section_wrap h2 {
  margin: 0 0 40px;
  line-height: 1.45;
  text-align: left;
  font-size: 3.0rem;
  font-weight: 500;
  font-family: 'A1明朝','A1 Mincho', '游明朝','Yu Mincho','YuMincho','游明朝体',serif;
}

.section_wrap h2.txt_c {
  text-align: center;
}

.section_wrap h2.ja {
  font-family: 'Noto Sans JP', sans-serif;
}

.section_wrap h2 span {
  display: block;
  font-weight: bold;
  font-size: 1.6rem;
  padding: 0 0 8px;
}

@media screen and (max-width: 768px) {
  .section_wrap h2 {
    font-size: 7vw;
  }
}

/*============
border_box_animation
=============*/
.border_box_animation {
  border: 1px solid #182982;
  text-align: center;
}

.border_box_animation:hover {
  color: white;
  background-color: #182982;
  opacity: 1;
}

.border_box_animation:hover .arrow {
  background-color: white;
}

.border_box_animation:hover .arrow:after {
  border-color: transparent transparent transparent white;
}

/*============
パンくず
=============*/
.bread {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 1.4rem;
  font-family: 'Noto Sans JP', sans-serif;
  padding-bottom: 120px !important;
}

.bread li:before {
  content: ">";
  padding: 0 5px;
}

.bread li:first-child:before {
  display: none;
}

/*============
topに戻るボタン
=============*/
.back_button {
  width: 400px;
  margin: 0 auto 130px;
  padding: 20px 0;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .back_button {
    width: calc(100% - 60px);
    margin: 0 auto 50px;
    padding: 12px 0;
  }
  .back_button .arrow_left {
    left: -80px;
  }
  .back_button:hover .arrow_left {
    left: -85px;
  }
}

/*============
アニメーション
=============*/
.setAnime {
  -webkit-transition-duration: 400ms;
          transition-duration: 400ms;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
}

.fadeLeft {
  opacity: 0;
  -webkit-transform: translateX(-30px);
          transform: translateX(-30px);
}

.fadeLeft.animated {
  opacity: 1;
  -webkit-transform: translate(0);
          transform: translate(0);
}

.fadeIn {
  opacity: 0;
}

.fadeIn.animated {
  opacity: 1;
}

.fadeUp {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
}

.fadeUp.animated {
  opacity: 1;
  -webkit-transform: translate(0);
          transform: translate(0);
}

.fadeDown {
  opacity: 0;
  -webkit-transform: translateY(-20px);
          transform: translateY(-20px);
}

.fadeDown.animated {
  opacity: 1;
  -webkit-transform: translate(0);
          transform: translate(0);
}
/*# sourceMappingURL=commons.css.map */