@charset "UTF-8";


/* reset */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:where([hidden]:not([hidden='until-found'])){display:none!important}:where(html){-webkit-text-size-adjust:none;color-scheme:dark light;tab-size:2;scrollbar-gutter:stable}:where(html:has(dialog:modal[open])){overflow:clip}@media (prefers-reduced-motion:no-preference){:where(html:focus-within){scroll-behavior:smooth}}:where(body){line-height:1.5;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased}:where(button){all:unset}:where(input,button,textarea,select){font:inherit;color:inherit}:where(textarea){resize:vertical;resize:block}:where(button,label,select,summary,[role='button'],[role='option']){cursor:pointer}:where(:disabled){cursor:not-allowed}:where(label:has(>input:disabled),label:has(+input:disabled)){cursor:not-allowed}:where(a){color:inherit;text-underline-offset:.2ex}:where(ul,ol){list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,picture,svg,video){max-inline-size:100%;block-size:auto}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word;font-weight:500}:where(h1,h2,h3){line-height:calc(1em + 0.5rem);text-wrap:balance}:where(hr){border:none;border-block-start:1px solid;color:inherit;block-size:0;overflow:visible}:where(dialog){border:none;background:none;inset:unset;max-width:unset;max-height:unset}:where(dialog:not([open])){display:none!important}:where(:focus-visible){outline:3px solid CanvasText;box-shadow:0 0 0 5px Canvas;outline-offset:1px}:where(:focus-visible,:target){scroll-margin-block:8vh}:where(.visually-hidden:not(:focus-within,:active)){clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;border:0!important}

/* --------------------
   COMMON
-------------------- */
a { transition: .25s all;}
:where(html) { color-scheme: #fff;}
html {
  scroll-behavior: smooth;
  font-size: 100%;
  overflow-x: hidden;}
body {
  margin: 0;
  padding: 0;
  background-color: #E7EFF4;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  color: #064565;
  font-size: 100%;
  -webkit-font-smoothing: antialiased;}
.f-en{
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
}
a {
  color: #091D41;
  text-decoration: none;}
img { max-width: 100%;}

body.active,html.active { overflow-y: hidden;}

@media screen and (max-width: 480px){
  body { letter-spacing: normal;}}

@media screen and (max-width: 768px){
}
@media screen and (max-width: 1280px){}

a.inactive{
  pointer-events: none;
  opacity: .5;
  cursor: auto;
}
a.inactive:hover{
  opacity: .5!important;
  cursor: auto;
}
/*フェードイン*/
.fade-inblock{
	opacity: 0;
	padding-top: 30px;
	transition: .75s;
}
.fade-inblock.fadeIn{
	padding-top: 0;
	opacity: 1;
}
@media screen and (max-width: 768px){
  .fade-inblock{
    transition: 1s;
  }
}
/* text */
p { font-size: 1rem; line-height: 1.8;}

.txs-12 { font-size: 0.75rem; }
.txs-13 { font-size: 0.8125rem; }
.txs-14 { font-size: 0.875rem; }
.txs-16 { font-size: 1rem; }
.txs-18 { font-size: 1.125rem; }
.txs-20 { font-size: 1.25rem; }
.txs-22 { font-size: 1.375rem; }
.txs-24 { font-size: 1.5rem; }
.txs-28 { font-size: 1.75rem; }
.txs-32 { font-size: 2rem; }
.txs-36 { font-size: 2.25rem; }
.txs-40 { font-size: 2.5rem; }
.txs-42 { font-size: 2.625rem; }
.txs-44 { font-size: 2.75rem; }
.txs-48 { font-size: 3rem; }
.txs-54 { font-size: 3.375rem; }
.txs-62 { font-size: 3.875rem; }
.txs-64 { font-size: 4rem; }

.l-1 { line-height: 1;}
.l-15 { line-height: 1.5;}
.l-18 { line-height: 1.8;}

.w-r { font-weight: 400;}
.w-m { font-weight: 500;}

.center { text-align: center;}
.right { text-align: right;}
.left { text-align: left;}

@media screen and (max-width: 768px){
  p { font-size: .875rem; line-height: 1.8;}
  .txs-14 { font-size: 0.85rem;}
  .txs-16 { font-size: .875rem;}
  .txs-18 { font-size: 1rem;}
  .txs-20 { font-size: 1.125rem;}
  .txs-22 { font-size: 1.25rem;}
  .txs-24 { font-size: 1.375rem;}
  .txs-28 { font-size: 1.5rem;}
  .txs-32 { font-size: 1.625rem;}
  .txs-36 { font-size: 1.75rem;}
  .txs-40 { font-size: 1.5rem;}
  .txs-42 { font-size: 2rem;}
  .txs-44 { font-size: 2.25rem;}
  .txs-48 { font-size: 2.5rem;}
  .txs-54 { font-size: 2rem;}
  .txs-62 { font-size: 2rem;}
  .txs-64 { font-size: 2rem;}}

/* --------------------
   ALL
-------------------- */
.wrap {
  margin: 0 auto;
  max-width: 1180px;
  width: 100%;}
.contents {
  padding: 0 50px;
  position: relative;
  margin: 0 auto;
  width: 100%;}
.contents2 {
  padding: 0 6vw;
  position: relative;
  width: 100%;}
.pc { display: block;}
.pd { display: none;}
.sp { display: none;}

body .bg-wrap{
  color: #091D41;
  background-color: #F6F6F6;
}

@media screen and (max-width: 1280px){
  body { width: 100%; overflow: hidden;}}
@media screen and (max-width: 768px){
  .pc { display: none;}
  .pd { display: block;}
  .sp { display: none;}}
@media screen and (max-width: 480px){
	.contents { padding: 0 5vw;}
  .pc { display: none;}
  .pd { display: block;}
  .sp { display: block;}}

/* --------------------
   PARTS
-------------------- */
@media screen and (max-width: 480px){
}

/* --------------------
   HEADER
-------------------- */
.head-logo{
  position: absolute;
  left: 3.125vw;
  z-index: 3;
  top: 2.5vw;
}

.page-wrap .main-nav{
  z-index: 6;
  right: 0;
  position: fixed;
  display: flex;
  flex-wrap: wrap;
  color: #fff;
  background-image: linear-gradient(#1896d8, #48aadd 60% 100%);
}
.page-wrap .hum-nav{
  transition: .2s;
  right: -100%;
  position: fixed;
  z-index: 5;
  height: 100vh;
  width: 100%;
  padding: 20vw 8vw 10vw 8vw;
}
.active .page-wrap .hum-nav{
  right: 0;
}
.page-wrap .hum-nav {
  display: flex;
  align-items: center;
}
.page-wrap .hum-nav:before{
  content: "";
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  opacity: .9;
  left: 0;
  background-image: linear-gradient(#1896d8, #48aadd 60% 100%);
}
.page-wrap .hum-nav .cont{
  width: 100%;
  position: relative;
  z-index: 1;
}
.page-wrap .hum-nav .foot-link li a{
  font-weight: 600;
  background-color: #fff;
}

.page-wrap .hum-nav .foot-link li:nth-child(3) a{
  background-color: #06C755;
}
.page-wrap .hum-nav .foot-link li:nth-child(3){
  width: auto;
}
.page-wrap .hum-nav .nav-main_item{
  padding:  0.5em 0;
}
.page-wrap .hum-nav .nav-main_item+.nav-main_item{
  border-top: solid 1px rgba(255,255,255,.3);
}
.page-wrap .hum-nav a{
  color: #fff;
}
.page-wrap .hum-nav .txs-13{
  margin-top: 0.5em;
}
.page-wrap .hum-nav .foot-link{
  justify-content: center;
}
@media screen and (max-width: 769px){}
@media screen and (min-width: 1024px){
  .page-wrap .hum-nav{
    height: 100vh;
    right: -100%;
    width: 320px;
    margin-right: 2px;
    padding: 30px;
  }
  .active .page-wrap .hum-nav{
    right: 100px;
  }
  .page-wrap .hum-nav .foot-link{
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px){
  .main-nav .main-sns{
    gap: 1px;
    display: flex;
  }
  .main-nav .main-sns li{
    height: 18vw;
  }
  .main-nav .main-sns li img{
    max-height: 100%;
  }
  .head-logo{
    top: 3vw;
    width: 45vw;
  }
}
@media screen and (min-width: 769px){
  .page-wrap .main-content{
  }
}
@media screen and (min-width: 1024px){
  .page-wrap .main-content{
    padding-right: 100px;
  }
  .page-wrap .main-nav{
    width: 100px;
  }
  .page-wrap .main-nav{
    flex-direction: column-reverse;
    padding: 5px 0;
    text-align: center;
    height: 100vh;    
  }
  .head-logo:hover{
    opacity: .6;
  }
}
/* ハンバーガー */

.hamburger{
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hamburger-line_wrap{
  width: 3em;
  height: 1.5em;
  position: relative;
  margin: auto;
}
.hamburger-line{
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #fff;
}
.hamburger-line:before,
.hamburger-line:after{
  content: "";
  position: absolute;
  height: 2px;
  background-color: #fff;
  display: block;
  right: 0;
}
.hamburger-line:before{
  top: calc(0.75em - 1px);
  width: 2.5em;
}
.hamburger-line:after{
  top: calc(1.5em - 2px);
  width: 2em;
}
/* sns */
.main-nav .main-sns{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1px;
    margin: auto;
}
.main-nav .main-sns li{
  position: relative;
}
.main-nav .main-sns li:before{
  content: "";
  display: block;
  width: 1px;
  right: -1px;
  height: 84%;
  background-color: #FFFFFF;
  opacity: .4;
  border-radius: 50px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (max-width: 768px){
  .hamburger{
    width: 15vw;
  }
  .hamburger,
  .hamburger p{
    font-weight: 600;
    font-size: 0.75em;
  }
  .hamburger-line_wrap{
    width: 2em;
    height: 1.5em;
    position: relative;
    margin: auto;
  }
  .hamburger-line:before{
    top: calc(0.5em - 1px);
    width: 1.5em;
  }
  .hamburger-line:after{
    top: calc(1em - 2px);
    width: 1em;
  }
}
@media screen and (min-width: 769px){
  .main-nav .main-sns {
    display: flex;
  }
  .main-nav .main-sns li{
    width: 80px;
    position: relative;
  }
  .main-nav .main-sns li:before{
  }
  .hamburger{
    width: 90px;
  }
}
@media screen and (max-width: 1023px){
  .main-sns .pc_img{
    display: none;
  }
}
@media screen and (min-width: 1024px){
  .main-sns .sp_img{
    display: none;
  }
  .hamburger{
    width: auto;
    height: calc(100% - 191px);
  }
  .main-nav .main-sns{
      width: 84%;
      display: flex;
      flex-wrap: wrap;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 1px;
      margin: auto;
  }
  .main-nav .main-sns li:before{
    content: "";
    display: block;
    width: 100%;
    top: -1px;
    bottom: auto;
    background-color: #FFFFFF;
    opacity: .4;
    border-radius: 50px;
    height: 1px;
  }
}
/* 問い合わせ部 */
.head-link{
  display: none;
}
.head-link li a{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  color: #fff;
  border-radius: 5em;
  padding: 0.8125em;
  box-shadow: 0 2px 6px rgba(0,0,0,.16);
}
.head-link li:nth-child(1) a{
  background-color: #06C755;
}
.head-link li:nth-child(2) a{
  background-image: linear-gradient(113deg, #1896d8, #48aadd 60% 100%);
}
@media screen and (min-width: 769px){
  .head-link{
    display: none
  }
  .head-link li{
    width: 180px;
  }
  .head-link li a:hover{
    opacity: .6;
  }
}
@media screen and (min-width: 1024px){
  .head-link{
    z-index: 4;
    display: flex;
    flex-wrap: wrap;
    position: fixed;
    gap: 0.625em;
    top: 3.125vw;
    right: inherit;
    font-size: 1em;
    top: 3.125vw;
    right: 150px;
  }
  .head-link li{
    width: 210px;
  }
}

.dots-list_item{
  padding-left: 1em;
  position: relative;
}
.dots-list_item:before{
  content: "・";
  color: #1896d8;
  position: absolute;
  left: 0;
}
.dots-list_item:after{
  
}



/* サポート企業募集 */
#sup{
  position: relative;
  z-index: 1;
  color: #fff;
}
#sup .sup-inner{
  padding-top: 12vw;
  padding-bottom: 12vw;
  position: relative;
  z-index: 1;
  background-image: url(../img/common/sup-img.png);
  background-size: cover;
}
#sup:before,
#sup .sup-inner:after{
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(50deg, #1896d8, #48aadd 60% 100%);
  z-index: -1;
  left: 0;
  top: 0;
}
#sup .sup-inner:after{
  opacity: .8;
}
#sup .warp{
  position: relative;
  z-index: 1;
}
#sup .contents{
  position: relative;
  z-index: 1;
}
#sup h2{
  font-size: 1.125em;
  margin-bottom: 1em;
  text-align: center;
  font-weight: 600;
  line-height: 1.5;
}
#sup h3{
  line-height: 1.5;
  font-size: 1.875em;
  text-align: center;
  font-weight: 600;
}
#sup h3 span{
  color: #FFD948;
}
#sup p{
  margin-top: 1.25em;
  line-height: 1.5;
  font-weight: 600;
}
#sup a{
  display: block;
  margin: 1.5em auto 0;
  line-height: 1.5;
  padding: 1.125em;
  color: #fff;
  border: solid 1px;
  border-radius: 5em;
  width: 90%;
}

@media screen and (max-width: 768px){
  #sup .sup-inner{
    background-image: url(../img/common/sup-img_sp.png);
    background-size: cover;
  }
}
@media screen and (min-width: 769px){
  #sup{
    text-align: center;
  }
  #sup h2{
    font-size: 1.5em;
  }
  #sup h3 br{
    display: none;
  }
  #sup .sup-inner{
    padding-top: 80px;
    padding-bottom: 80px;
  }
  #sup a{
    margin-top: 45px;
    width: 380px;
  }
}

/* footer上 */
#foot-contact{
  background-color: #fff;
  padding-top: 18vw;
  padding-bottom: 12vw;
  position: relative;
}
#foot-contact:after{
  content: "";
  display: block;
  position: absolute;
  width: calc(100% - 10vw);
  height: 1px;
  background-color: #E7EFF4;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto
}
#foot-contact .left h2{
  font-weight: 600;
  line-height: 1.44444;
  font-size: 1.625em;
}
#foot-contact .left h2 span{
  color: #1896d8;
}
#foot-contact .left p{
  font-weight: 600;
  line-height: 2;
  margin-top: 1.5em;
}

#foot-contact .right a{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  font-size: 1rem;
}
#foot-contact .right a{
  color: #1896d8;
  padding: .9em 1.5em .9em 1.9em;
  font-weight: 600;
  border: solid 1px #1896d8;
  border-radius: 1.25vw;
}
#foot-contact .right a .arow{
  position: relative;
  width: 1.2em;
  height: 1.2em;
  border-radius: 50%;
  background-color: #1896d8;
}
#foot-contact .right a .arow:before{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: block;
  width: 20%;
  height: 20%;
  border-right: solid 2px #fff;
  border-top: solid 2px #fff;
  transform: rotate(45deg);
}
#foot-contact .right a:last-child{
  color: #fff;
  background-image: linear-gradient(113deg, #1896d8, #48aadd 60% 100%);
}
#foot-contact .right a:last-child .arow{
  background-color: #fff;
}
#foot-contact .right a:last-child .arow:before{
  border-right: solid 2px #1896d8;
  border-top: solid 2px #1896d8;
}
@media screen and (max-width: 768px){
  #foot-contact .right{
    margin-top: 8vw;
  }
  #foot-contact .right a+a{
    margin-top: 3px;
  }
}
@media screen and (min-width: 769px){
  #foot-contact{
    padding-top: 100px;
    padding-bottom: 81px;
  }
  #foot-contact .left h2{
    font-size: 2.25em;
  }
  #foot-contact:after{
    width: 87.5%;
  }
  #foot-contact .right{
    margin-top: 50px;
    display: flex;
    gap: 5px;
  }
  #foot-contact .left p{
    margin-top: 30px;
  }
  #foot-contact .right a{
    width: calc((100% - 10px) / 3);
    border-radius: 8px;
  }
  #foot-contact .right a:hover{
    opacity: .4;
  }
}
@media screen and (min-width: 1024px){

  #foot-contact .contents{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
  }
  #foot-contact .right{
    margin-top: 0;
    flex-direction: column;
    width: 416px;
  }
  #foot-contact .right a{
    font-size: 1.25em;
    width: 100%;
  }
}



/* //////////////// */
/* FOOTRT */
/* //////////////// */
footer{
  padding-bottom: 40vw;
  background-color: #fff;
  padding-top: 10vw;
}
footer .foot-left p{
  line-height: 1.5;
  margin-top: 1.5em;
}
.foot-nav{
  display: none;
}
@media screen and (max-width: 768px){
  footer .foot-left {
    text-align: center;
  }
  footer .foot-left .foot-logo{
    display: block;
    width: 70vw;
    margin: auto;
  }
}
@media screen and (min-width: 769px){
  footer{
    padding-bottom: 180px;
    padding-top: 60px;
  }
  footer .foot-head{
    display: flex;
    justify-content: space-between;
    gap: 20px;
  }
  footer .foot-left p{
    margin-top: 30px;
  }
  .foot-nav{
    margin-top: 35px;
    display: flex;
    flex-wrap: wrap;
    gap: 1.3125em;
  }
  .foot-nav .foot-nav_item > a{
    color: #1896d8;
  }
  .foot-nav .foot-nav_item > a:hover{
    text-decoration: underline;
  }
  .foot-nav .foot-sub_item a{
    color: #064565;
  }
  .foot-nav .foot-sub_item{
    padding-left: 1em;
    margin-top: 0.5em;
    font-size: 0.8125em;
  }
  .foot-logo:hover{
    opacity: .6;
  }
}
@media screen and (min-width: 1024px){

}


.foot-link{
  display: flex;
  flex-wrap: wrap;
  gap: 0.625em;
  top: 3.125vw;
  right: inherit;
}
.foot-link li{
}
.foot-link li a{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  color: #fff;
  border-radius: 5em;
  padding: 0.8125em;
  box-shadow: 0 2px 6px rgba(0,0,0,.16);
}
.foot-link li:nth-child(3) a{
  background-color: #06C755;
}
.foot-link li:nth-child(4) a{
  background-image: linear-gradient(113deg, #1896d8, #48aadd 60% 100%);
}
@media screen and (max-width: 768px){
  .foot-link {
    margin-top: 8vw;
    justify-content: center;
  }
  .foot-link .text{
    display: none;
  }
}
@media screen and (min-width: 769px){
  .foot-link{
    justify-content: flex-end;
  }
  .foot-link li:nth-child(3),
  .foot-link li:nth-child(4){
    width: 210px;
  }
  .foot-link li a:hover{
    opacity: .6;
  }
}




.foot-bottom{
  position: relative;
  margin-top: 12vw;
  padding-top: 8vw;
}

.foot-bottom .contents{
  display: flex;
  flex-wrap: wrap;
  gap: 5vw;
  justify-content: center;
}

.foot-bottom:after{
  content: "";
  display: block;
  position: absolute;
  width: calc(100% - 10vw);
  height: 1px;
  background-color: #E7EFF4;
  top: 0;
  left: 0;
  right: 0;
  margin: auto
}
.foot-bottom ul{
  font-weight: 600;
  gap: 1em;
  display: flex;
  justify-content: center;
}
.foot-bottom .foot-copy{
  opacity: .6;
}
.foot-bottom ul a{
  color: #064565;
  opacity: .6;
}
@media screen and (max-width: 768px){
  .foot-bottom .foot-copy{
    text-align: center;
    width: 100%;
  }
}
@media screen and (min-width: 769px){
  .foot-bottom{
    margin-top: 80px;
    padding-top: 61px;
  }
  .foot-bottom:after{
    width: 87.5%;
  }
  .foot-bottom ul{
    gap: 2em;
    justify-content: flex-end;
  }
  .foot-bottom .contents{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    gap: 5vw;
    justify-content: space-between;
  }
  .foot-bottom ul a:hover{
    text-decoration: underline;
  }
}