@charset "UTF-8";
/*=============================
共通
=============================*/ /*
  //   Google Font 
  //   CSS link：https://fonts.google.com/share?selection.family=Lato:wght@400;700;900%7CNoto%20Sans%20JP:wght@400;500;600;700;900%7CNoto%20Serif%20JP:wght@400;500;600;700;900

  //   Noto
  //   font-weight:400; // Regular
  //   font-weight:500; // Medium
  //   font-weight:600; // SemiBold
  //   font-weight:700; // Bold
  //   font-weight:900; // Black

  //   Lato
  //   font-weight:400; // Regular
  //   font-weight:700; // Bold
  //   font-weight:900; // Black
*/
/*
  //   Adobe Fonts

  // Futura PT
  // font-weight:300; // Light
  // font-weight:400; // Book
  // font-weight:500; // Medium
  // font-weight:600; // Demi
  // font-weight:700; // Heavy
  // font-weight:800; // Extra Bold

  // Lemongrass Caps Regular Italic
  // font-family: lemongrass-caps, sans-serif;
  // font-weight: 400;
  // font-style: italic;

  // UDDigiKyokasho Pro R
  // font-family: uddigikyokasho-pro, sans-serif;
  // font-weight: 400;
  // font-style: normal;
*/
.fade_in {
  -webkit-animation-name: fadeInAnime;
          animation-name: fadeInAnime;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fade_out {
  -webkit-animation-name: fadeOutAnime;
          animation-name: fadeOutAnime;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 1;
}

@-webkit-keyframes fadeOutAnime {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes fadeOutAnime {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fade_up {
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.fade_down {
  -webkit-animation-name: fadeDownAnime;
          animation-name: fadeDownAnime;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeDownAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeDownAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.fade_left {
  -webkit-animation-name: fadeLeftAnime;
          animation-name: fadeLeftAnime;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeLeftAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.fade_right {
  -webkit-animation-name: fadeRightAnime;
          animation-name: fadeRightAnime;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeRightAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes fadeRightAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  overflow-x: hidden;
}

html {
  font-size: 62.5%;
  font-family: hiragino-kaku-gothic-pron, sans-serif;
  font-weight: 300;
  font-style: normal;
  color: #707070;
}

body {
  font-size: 1.6rem;
  line-height: 1.5;
  position: relative;
}

.noscroll {
  overflow: hidden;
}

img, iframe {
  max-width: 100%;
}

@media screen and (max-width: 1024px) {
  .only_pc {
    display: none !important;
  }
}
@media screen and (min-width: 1025px) {
  .only_sp {
    display: none !important;
  }
}

/* -----------------------------
parts
----------------------------- */
a {
  text-decoration: none;
  outline: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
a img {
  outline: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
a:hover img {
  opacity: 0.8;
}

.border_ef {
  position: relative;
}
.border_ef::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 0;
  height: 3px;
  background: #ffffff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.border_ef:hover::after {
  width: 100%;
}

p {
  font-size: clamp(1.5rem, 3.8vw, 2.4rem);
  line-height: 1.8;
}

img {
  -o-object-fit: contain;
     object-fit: contain;
}

ul {
  list-style: none;
}

.wh_text {
  color: #ffffff;
}

.border_text {
  border-bottom: 5px solid #00307D;
}

h2 {
  font-weight: 600;
  font-size: clamp(2.4rem, 2.9vw, 4rem);
}
h2.border_text {
  font-weight: 300;
  display: inline-block;
  padding-left: 8px;
  padding-right: 8px;
}

.conts_wrap {
  width: clamp(250px, 80%, 1140px);
  max-width: 1140px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.title_box {
  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;
  margin-bottom: clamp(48px, 15%, 80px);
}

/* -----------------------------
animation
----------------------------- */
/* -----------------------------
category child
----------------------------- */
/*=============================
header
=============================*/
header {
  width: 100%;
  height: 100px;
  padding-top: 20px;
  padding-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
header p {
  display: inline-block;
}

.header_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 1400px;
  padding-left: 16px;
  padding-right: 16px;
}
.header_logo h1 {
  display: inline-block;
}

/*=============================
main
=============================*/
main {
  padding-top: clamp(80px, 20%, 170px);
  position: relative;
  z-index: 10;
}

/*=============================
section
=============================*/
.sec01 {
  background-image: url(../images/sec01_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
}
.sec01 .conts_wrap {
  padding-top: clamp(56px, 17%, 160px);
  padding-bottom: clamp(96px, 30%, 240px);
}
.sec01 .conts_wrap .title_box h2 {
  text-shadow: 3px 3px 0px rgba(0, 0, 0, 0.1607843137);
}
.sec01 .conts_wrap .text_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sec01 .conts_wrap .text_box p {
  display: inline-block;
  text-shadow: 3px 3px 0px rgba(0, 0, 0, 0.1607843137);
}

.sec02 {
  margin-bottom: clamp(80px, 20%, 170px);
  position: relative;
  z-index: 10;
}
.sec02 .conts_wrap .main_text p {
  margin-bottom: 56px;
}
.sec02 .conts_wrap .right_text {
  margin-bottom: 56px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.sec02 .conts_wrap .right_text p {
  display: inline-block;
}

/*=============================
fix
=============================*/
#fix_cons {
  width: clamp(350px, 91vw, 1410px);
  right: clamp(2px, 3.5vw, 110px);
  z-index: 2;
}

/*=============================
footer
=============================*/
footer {
  background-image: url(../images/footer_img.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  padding-top: 88px;
  position: relative;
}

.bg_conts {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000000;
  opacity: 0.25;
  z-index: 0;
}

.footer_top {
  width: 100%;
  max-width: 1140px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: clamp(140px, 35%, 475px);
  position: relative;
  z-index: 10;
}
.footer_top .logo_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 32px;
}
.footer_top .logo_box a {
  display: block;
}
.footer_top .comp_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-left: 3.75rem;
  padding-right: 3.75rem;
}
.footer_top .comp_box ul {
  display: inline-block;
}
.footer_top .comp_box ul li {
  text-shadow: 3px 3px 0px rgba(0, 0, 0, 0.1607843137);
  font-weight: 600;
  font-size: clamp(1.5rem, 3.8vw, 2.4rem);
  line-height: 1.8;
}
.footer_top .comp_box ul li a {
  text-shadow: 3px 3px 0px rgba(0, 0, 0, 0.1607843137);
  font-weight: 600;
}
.footer_top .comp_box ul li a.after_ef::after {
  height: 2px;
  bottom: -7px;
}
.footer_bottom {
  width: 100%;
  height: 80px;
  background-color: rgba(0, 48, 125, 0.5);
  padding-top: 24px;
  padding-bottom: 24px;
  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;
  position: relative;
  z-index: 10;
}
.footer_bottom p small {
  font-size: 1em;
}