@charset "UTF-8";

/*----------------------------------------
  header
------------------------------------------ */

header {
    background: #ffffff;
    position: fixed;
    top: 0;
    width: 100%;
    padding: 1rem;
    z-index: 10000;
}
header .spFloat{
  display:none;
}
header .headFlex{
  align-items: center;
}
header h1,header p{
  flex: 1;
  margin: 0;
}
header h1 img,header p img{
  max-width:146px;
}
header h1 a:hover,header p:hover{
  opacity:0.6;  
}
header nav{
  flex: 4;
  position: relative;
}
header nav ul{
    display: flex;
    justify-content: flex-end;
    margin-right: 150px;
}
header nav ul li a{
    font-weight: 700;
    padding: 0 20px;
}
header nav a.switch{
    position: absolute;
    right: 6px;
    top: -14px;
    width: 125px;
    animation: 1s fadeup ease-in-out forwards;
}
header nav a.switch img{
    transition: opacity 0.8s;
}
header nav a.switch img:nth-of-type(1) {
    opacity: 1;
}
header nav a.switch img:nth-of-type(2) {
    position: absolute;
    top: 0px;
    left: 0px;
    opacity: 0;
}
header nav a.switch:hover img:nth-of-type(2) {
    opacity: 1;
}
header nav ul li.transformingMenu{
    position:relative;
}
header nav ul li.transformingMenu ul{
    display: block;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    width: 170px;
    transition : all 0.5s ease 0s;
}
header nav ul li.transformingMenu:hover ul{
    visibility: visible;
    opacity: 1;
}
header nav ul li.transformingMenu ul li{
    margin: 5px 0;
}
header nav ul li.transformingMenu ul li a{
    background: #0070c5;
    color: #FFF;
    padding: 10px 0;
    width: 100%;
    text-align: center;
}
header nav ul li.transformingMenu ul li a:hover{
  opacity:0.6;
  transition : all 0.5s ease 0s;
}


@keyframes fadeup {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/*----------------------------------------
  induction
------------------------------------------ */

#induction{
    padding: 10rem 3rem;
}
#induction h2{
    text-align: center;
    width: 45%;
    margin: 0 auto;
}
#induction p.deco{
    text-align: center;
    font-size: 180%;
    font-weight: 700;
    letter-spacing: 0.2rem;
    margin: 1rem 0 2rem 0;
}
#induction p.comment{
    text-align: center;
    margin-top: 0;
    font-size: 110%;
}
#induction .ctFlex{
    gap:2rem;
    margin-top: 5rem;
}
#induction .ctFlex a.switch{
    position:relative;
}
#induction .ctFlex a.switch img{
    transition: opacity 0.8s;
}
#induction .ctFlex a.switch img:nth-of-type(1) {
    opacity: 1;
}
#induction .ctFlex a.switch img:nth-of-type(2) {
    position: absolute;
    top: 0px;
    left: 0px;
    opacity: 0;
}
#induction .ctFlex a.switch:hover img:nth-of-type(2) {
    opacity: 1;
}

/*----------------------------------------
  footer
------------------------------------------ */

footer {
  padding: 6rem 3rem;
  background: linear-gradient(to right, #014599, #507fb9);
}
footer .upperFlex{
    margin-bottom: 3rem;
}
footer .upperFlex .leftWrap{
  flex:1;
}
footer .upperFlex .leftWrap p{
    margin: 0;
    color: #FFF;
    font-size: 3rem;
    font-weight: 700;
}
footer .upperFlex .rightWrap{
  flex:2;
  gap: 2rem;
}
footer .upperFlex .rightWrap a{
  flex: 1;
  background: #014599;
  color: #FFF;
  text-align: center;
  letter-spacing: 0.05rem;
  font-weight: 700;
  padding: 5px;
  border-radius: 10px;
  max-height: 68px;
}
footer .upperFlex .rightWrap a:hover{
    background:#0070c5!important;
}
footer .bottomFlex{
  align-items: end;
}
footer .bottomFlex .leftWrap{
  flex: 1.3;
}
footer .bottomFlex .leftWrap h2{
    color: #FFF;
    font-weight: 600;
    font-size: 110%;
}
footer .bottomFlex .leftWrap p{
    color: #FFF;
    font-weight: 600;
    font-size: 110%;
}
footer .bottomFlex .leftWrap small{
    color: #FFF;
    font-weight: 600;
    font-size: 110%;
}
footer .bottomFlex .rightWrap{
    gap: 6rem;
    flex:1;
}
footer .bottomFlex nav{
    flex:1;
}
footer .bottomFlex nav ul{

}
footer .bottomFlex nav ul li a{
    color: #FFF;
    padding: 8px 0;
}
footer .bottomFlex nav ul li a:hover{
  opacity:0.6;
}
footer .nfs{
  display:none;
}


@media (max-width: 1190px) {

  header nav ul li a{
    font-size: 90%;
    padding: 0 10px;
  }

}

@media (max-width: 970px) {

  /** header **/

  header .spFloat{
    display:block;
    position: fixed;
    bottom: 2%;
    right: 2%;
    width: 16vw;
  }
  /** nav **/
  header nav {
    width: 100%;
    display: none;
    background: #fffffff0;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    height: 500vw;
  }
  header.open nav{
    display:block;
  }
  header nav ul#menu-global{
    display: block;
    margin-right:0;
  }
  header nav ul li::before {
    display: none;
  }
  header nav ul.flex {
    display: block;
    margin: 0;
    background: #000;
  }
  header nav ul li {
    border-bottom: 1px solid #cccccca1;
    padding: 5px 0;
  }
  header nav ul li:last-child {
    border: none;
  }
  header nav ul li:first-child{
    padding-top: 7vw;
  }
  header nav ul li a {
    font-weight: bold;
    display: block;
    color: #014599;
    text-align: center;
    font-size: 130%;
    padding: 3vw 0;
  }
  header nav .switch{
    display:none;
  }
header nav ul li.transformingMenu{
    position:relative;
}
header nav ul li.transformingMenu ul{
    display: block;
    visibility: visible;
    opacity: 1;
    position: relative;
    width: 90%;
    margin: 0 auto;
}
header nav ul li.transformingMenu ul li{
    padding: 0 0 13px 0;
    border-bottom: none;
}
header nav ul li.transformingMenu ul li a{

}
  #nav_toggle {
    display: block;
    width: 40px;
    height: 40px;
    margin: 15px 0 10px 0;
    z-index: 10000;
  }
  #nav_toggle div {
    position: relative;
  }
  #nav_toggle span {
    display: block;
    height: 2px;
    background: #014599;
    position: absolute;
    width: 100%;
    left: 0;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
  }
  #nav_toggle span:nth-child(1) {
    top: 0px;
  }
  #nav_toggle span:nth-child(2) {
    top: 12px;
  }
  #nav_toggle span:nth-child(3) {
    top: 24px;
  }
  .open #nav_toggle span:nth-child(1) {
    top: 12px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .open #nav_toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  .open #nav_toggle span:nth-child(3) {
    top: 12px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }

}

@media (max-width: 970px) {

  /** induction **/
  #induction h2{
    width: 75%;
  }
  #induction .ctFlex{
    display:block;
  }
  #induction .ctFlex a.switch{
    margin: 0.5rem 0;
  }
  /** footer **/
  footer{
    padding: 4rem 3rem;
  }
  footer .upperFlex{
    display: block;
  }
  footer .upperFlex .leftWrap p{
    text-align:center;
  }
  footer .upperFlex .rightWrap{
    margin-top: 2rem;
    gap: 2%;
  }
  footer .nfs{
    display: block;
    color: #FFF;
    margin-top: 3rem;
  }
  footer .upperFlex .rightWrap a{
      font-size: calc(18 / 970* 100vw);
  }
  footer .bottomFlex{
      display:block;
  }
  footer .bottomFlex .leftWrap{
      text-align: center;
      border-top: 1px solid #578dd0;
      border-bottom: 1px solid #578dd0;
      padding: 2rem 0;
      margin-bottom: 2rem;
  }
  footer small.fs{
      display:none;
  }
}


@media (max-width: 640px) {

  header .spFloat{
    width: 25vw;
  }
  .break{
      display:block;
  }
  footer .upperFlex .rightWrap{
    display: block;
  }
  footer .upperFlex .rightWrap a{
    font-size: calc(16 / 640* 100vw);
    display: block;
    max-height: none;
    margin: 10px 0;
  }
  footer .bottomFlex .leftWrap{
    margin-bottom: 0;
  }
  footer .bottomFlex .rightWrap{
    display:block;
  }
  footer .bottomFlex nav ul li a{
    border-bottom: 1px solid #568dd0;
    padding: 10px 0;
    text-align: center;
    display:block;
  }
  footer .nfs{
    text-align:center;
  }
}

@media (max-width: 480px) {

   /** header **/
   header{
      padding: 3px 10px;
   }
   header h1 img, header p img{
      max-width: 90px;
   }
   #nav_toggle{
      margin: 15px 0 0 0;
   }
   header nav ul li:first-child{
    padding-top: 19vw;
   }
   header nav ul li a{
    font-size: 110%;
   }
   /** induction **/
   #induction{
      padding: 10rem 1rem;
    }
    /** footer **/
    footer .upperFlex .leftWrap p{
      font-size: calc(29 / 380* 100vw)!important;
   }
}

@media (max-width: 380px) {

  .miniBreak{
    display:block;
  }

  #induction{
    padding: 3rem 1rem;
  }
  #induction h2{
    width: 80%;
  }
  #induction p.deco{
    font-size: calc(36 / 640* 100vw);
  }
  #induction p.comment{
    font-size: calc(30 / 640* 100vw);
  }
  #induction .ctFlex{
    margin-top: 0;
  }
  footer{
    padding: 2rem 1rem;
  }

  footer .upperFlex .rightWrap a{
    font-size: calc(16 / 380* 100vw);
  }
  footer .bottomFlex nav ul li a{
    font-size: calc(23 / 640* 100vw);
  }
  header .spFloat{
    width: 32vw;
  }

}