/* =====================

Base CSS

===================== */

html[lang="ja"]{
  margin-top:0!important;
}
html{
  font-size:62.5%;
}
body{
  color:#000;
  font-family:'Noto Sans JP', sans-serif;
  font-size:1.6rem;
}
@media screen and (max-width:899px){
  body{
    font-size:1.4rem;
  }
}





/* =====================

Common CSS

===================== */

/* flex */
.flex{
  display:flex;
}

/* font */
.font-acumin-300,
.font-acumin-500,
.font-acumin-600,
.font-acumin-700{
  font-family:acumin-pro-condensed, sans-serif;
  font-style:normal;
  line-height:1;
}
.font-acumin-300{
  font-weight:300;
}
.font-acumin-500{
  font-weight:500;
}
.font-acumin-600{
  font-weight:600;
}
.font-acumin-700{
  font-weight:700;
}

/* none */
.pc-none{
  display:none;
}
.sp-none{
  display:block;
}
@media screen and (max-width:899px){
  .pc-none{
    display:block;
  }
  .sp-none{
    display:none;
  }
}





/* =====================

Container

===================== */

.container{
  overflow:hidden;
}

.container.seni-fadein::before,
.container.seni-fadeout::after{
  transition:.5s ease-in-out;
}
.container::before,
.container::after{
  background-color:#fff;
  content:'';
  height:0;
  left:0;
  pointer-events:none;
  position:fixed;
  width:100%;
}
.container::before{
  padding:0 0 100vh;
  top:0;
  z-index:9998;
}
.container.seni-fadein::before,
.container.seni-staticin::before{
  padding:0;
}
.container::after{
  bottom:0;
  padding:0;
  z-index:9999;
}
.container.seni-fadeout::after{
  padding:100vh 0 0;
}



/* ==========
Front Container
========== */

.home .container{
  align-items:center;
  display:flex;
  flex-direction:column;
  height:100%;
  justify-content:center;
  position:fixed;
  width:100%;
  z-index:1;
}





/* =====================

Header

===================== */

.header{
  position:relative;
  z-index:2;
  width:100%;
}

/* HM */
.header-hm-input{
  display:none;
}
.header-hm-label{
  border:solid #000 .2rem;
  border-radius:6rem;
  height:12rem;
  position:fixed;
  cursor:pointer;
  right:7.2rem;
  top:7.2rem;
  width:12rem;
  z-index:4;
}
.header-hm-label svg{
  height:11.6rem;
  width:11.6rem;
}
.header-hm-label-bar{
  stroke:#000;
  stroke-width:.2rem;
  stroke-linecap:square;
  stroke-dasharray:48;
  stroke-dashoffset:96;
  transform-origin:center center;
  transition:.3s;
}
.header-hm-label-bar1{
  animation:hm-line 4s ease-in-out 1.5s infinite forwards;
}
.header-hm-label-bar2{
  animation:hm-line 4s ease-in-out 1.6s infinite forwards;
}
.header-hm-label-bar3{
  animation:hm-line 4s ease-in-out 1.7s infinite forwards;
}
#hm:checked ~.header-hm-label .header-hm-label-bar{
  animation:none;
}
#hm:checked ~.header-hm-label .header-hm-label-bar1{
  transform:translate(-1.25rem, 1.25rem) rotate(45deg);
}
#hm:checked ~.header-hm-label .header-hm-label-bar2{
  display:none;
}
#hm:checked ~.header-hm-label .header-hm-label-bar3{
  transform:translate(1.25rem, 1.25rem) rotate(135deg);
}
@keyframes hm-line{
  35%{
    stroke-dashoffset:0;
  }
  100%{
    stroke-dashoffset:0;
  }
}
@media screen and (max-width:899px){
  .header-hm-label{
    border:solid #000 .1rem;
    border-radius:3rem;
    height:6rem;
    right:3.6rem;
    top:3.6rem;
    width:6rem;
  }
  .header-hm-label svg{
    height:5.8rem;
    width:5.8rem;
  }
  .header-hm-label-bar{
    stroke-width:.1rem;
  }
  #hm:checked ~.header-hm-label .header-hm-label-bar1{
    transform:translate(-.65rem, .5rem) rotate(45deg);
  }
  #hm:checked ~.header-hm-label .header-hm-label-bar3{
    transform:translate(.85rem, .65rem) rotate(135deg);
  }
}

/* GL-Nav */
.header-gl-nav-contents{
  align-items:center;
  height:100%;
  justify-content:center;
  left:50%;
  opacity:0;
  overflow:hidden;
  position:fixed;
  top:50%;
  transform:translate(-50%, -50%);
  transition:.4s;
  visibility:hidden;
  width:100%;
  z-index:2;
}
#hm:checked ~.header-gl-nav .header-gl-nav-contents{
  opacity:1;
  visibility:visible;
}
.header-gl-nav-ul{
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-start;
  line-height:1.5;
  width:77rem;
}
.header-gl-nav-li{
  padding:0 8rem 0 0;
  transform:translateY(65vh);
  transition:transform .4s ease-in 0s;
}
.header-gl-nav-li:nth-child(5),
.header-gl-nav-li:last-child{
  padding:0;
}
.header-gl-nav-li:nth-child(6),
.header-gl-nav-li:nth-child(7){
  margin:8.2rem 0 0;
}

#hm:checked ~.header-gl-nav .header-gl-nav-li{
  transform:translateY(0);
}
#hm:checked ~.header-gl-nav .header-gl-nav-li:nth-child(1){
  transition:transform .4s ease-in-out 0s;
}
#hm:checked ~.header-gl-nav .header-gl-nav-li:nth-child(2){
  transition:transform .4s ease-in-out .05s;
}
#hm:checked ~.header-gl-nav .header-gl-nav-li:nth-child(3){
  transition:transform .4s ease-in-out .1s;
}
#hm:checked ~.header-gl-nav .header-gl-nav-li:nth-child(4){
  transition:transform .4s ease-in-out .15s;
}
#hm:checked ~.header-gl-nav .header-gl-nav-li:nth-child(5){
  transition:transform .4s ease-in-out .2s;
}
#hm:checked ~.header-gl-nav .header-gl-nav-li:nth-child(6){
  transition:transform .4s ease-in-out .25s;
}
#hm:checked ~.header-gl-nav .header-gl-nav-li:nth-child(7){
  transition:transform .4s ease-in-out .30s;
}
.header-gl-nav-li a{
  color:#000;
  display:inline-block;
  text-decoration:none;
}
.header-gl-nav-li a >span{
  display:block;
  font-size:3.2rem;
  margin:0 0 .4rem;
}
.header-gl-nav-li:nth-child(6) a >span,
.header-gl-nav-li:nth-child(7) a >span{
  align-items:center;
  display:flex;
}

.header-gl-nav-li em{
  display:block;
  font-size:1.4rem;
}
.header-gl-nav-li img{
  display:block;
  height:2.4rem;
  margin:.4rem 1.6rem 0 0;
}
@media screen and (max-width:899px){
  .header-gl-nav-contents{
    align-items:center;
  }
  .header-gl-nav-ul{
    display:block;
    height:75vh;
    width:auto;
  }
  .header-gl-nav-li{
    margin:0 0 4.9vh;
    padding:0;
  }
  .header-gl-nav-li:nth-child(1) a,
  .header-gl-nav-li:nth-child(2) a,
  .header-gl-nav-li:nth-child(3) a,
  .header-gl-nav-li:nth-child(4) a,
  .header-gl-nav-li:nth-child(5) a{
    display:flex;
    align-items:baseline;
  }
  .header-gl-nav-li:nth-child(1) a span,
  .header-gl-nav-li:nth-child(2) a span,
  .header-gl-nav-li:nth-child(3) a span,
  .header-gl-nav-li:nth-child(4) a span,
  .header-gl-nav-li:nth-child(5) a span{
    margin:0 .8rem 0 0;
  }
  .header-gl-nav-li:nth-child(6){
    margin:0 0 4.9vh;
  }
  .header-gl-nav-li:nth-child(7){
    margin:0;
  }
  .header-gl-nav-li a >span{
    font-size:2.4rem;
    line-height:1;
  }
  .header-gl-nav-li em{
    font-size:1.2rem;
  }
  .header-gl-nav-li img{
    height:1.8rem;
    margin:.2rem 1.2rem 0 0;
  }
}



/* ==========
Front Header
========== */

/* h1 */
.header-site-title{
  left:50%;
  position:fixed;
  top:50%;
  transform:translate(-50%, -50%);
  width:64rem;
  z-index:1;
}
.header-site-title span{
  display:block;
  opacity:1;
  transform:translateY(0);
  transition:transform .4s ease-in 0s, opacity .8s;
}
#hm:checked ~.header-site-title span{
  opacity:0;
  transform:translateY(-65vh);
  transition:transform .4s ease-in-out 0s, opacity .4s;
}
@media screen and (max-width:899px){
  .header-site-title{
    width:27.2rem;
  }
}

/* GL-Nav */
.home .header-gl-nav-contents{
  height:75vh;
}
@media screen and (max-width:899px){
  .home .header-gl-nav-contents{
  align-items:flex-start;
  }
}

/* servises text */
.header-services{
  color:#009fb9;
  font-size:2.4rem;
  left:7.2rem;
  line-height:2;
  position:absolute;
  top:7.2rem;
  z-index:1;
}
@media screen and (max-width:899px){
  .header-services{
    font-size:2rem;
    left:4.4rem;
    top:4.4rem;
    transform:translateY(0);
    transition:transform .4s ease-in-out 0s;
  }
    #hm:checked ~.header-services{
    transform:translateY(-65vh);
  }
}



/* ========== 
Frontpage以外 Header
========== */

.unfront-body .header{
  left:0;
  position:fixed;
  top:0;
}
@media screen and (max-width:899px){
  .unfront-body .header{
    background-color:#fff;
    height:9.2rem;
  }

  .unfront-body .header.header-scroll{
    top:-9.2rem;
  }
  .unfront-body .header.header-scroll .header-hm-label{
    top:-7.6rem;
  }
  .unfront-body .header.header-scroll .page-header-services-wrap{
    top:-6rem;
  }

  .unfront-body .header.header-transition,
  .unfront-body .header.header-transition .header-hm-label,
  .unfront-body .header.header-transition .page-header-services-wrap{
    transition:.2s linear;
  }

  .unfront-body .header.header-scroll2{
    top:-9.2rem;
  }

  .unfront-body .header.header-transition2{
    transition:.2s linear;
  }
}

/* hm */
.unfront-body .header-gl-nav{
  display:block;
  height:100%;
  left:0;
  position:fixed;
  top:0;
  transform:translateY(100vh);
  width:100%;
  z-index:2;
}
.unfront-body .header-gl-nav-contents{
  opacity:1;
  position:absolute;
  visibility:visible;
}
.unfront-body .header-gl-nav-ul{
  position:relative;
  z-index:2;
}
.unfront-body .header-gl-nav-li{
  transform:translateY(0);
  transition:none;
}
@media screen and (max-width:899px){
  .unfront-body .header-hm-label{
    right:1.6rem;
    top:1.6rem;
  }
  .unfront-body #hm:checked ~.header-hm-label{
    right:3.6rem;
    top:3.6rem;
  }
}

/* nav menu */
.unfront-body .header-gl-nav-submenu-wrap{
  background-color:#fff;
  height:100%;
  left:50%;
  padding:4rem;
  position:absolute;
  top:50%;
  transform:translate(-50%, -50%);
  width:100%;
  z-index:1;
}
.unfront-body .header-gl-nav-submenu-inner{
  height:100%;
  overflow:hidden;
  position:relative;
  width:100%;
  z-index:1;
}
@media screen and (max-width:899px){
  .unfront-body .header-gl-nav-submenu-wrap{
    padding:2rem;
  }
}

/* nav menu services */
.header-gl-nav-submenu-services{
  color:#009fb9;
  font-size:2.4rem;
  left:3.2rem;
  line-height:2;
  position:absolute;
  top:3.2rem;
  z-index:1;
}
.header-gl-nav-submenu-page-medias{
  bottom:3.2rem;
  left:3.2rem;
  position:absolute;
  z-index:1;
}
.header-gl-nav-submenu-page-medias li{
  margin:0 2.4rem 0 0;
}
.header-gl-nav-submenu-page-medias a{
  display:block;
  max-width:3.2rem;
}
@media screen and (max-width:899px){
  .header-gl-nav-submenu-page-medias{
    bottom:1.6rem;
    left:1.6rem;
  }
  .header-gl-nav-submenu-page-medias li{
    margin:0 1.6rem 0 0;
  }
  .header-gl-nav-submenu-page-medias a{
    max-width:2.8rem;
  }
}

/* nav menu bottom */
.header-gl-nav-submenu-contents{
  bottom:1.2rem;
  font-size:1rem;
  justify-content:flex-end;
  position:absolute;
  right:0;
  z-index:1;
}
.header-gl-nav-submenu-contents a{
  color:#000;
  text-decoration:none;
}
.header-gl-nav-submenu-contents .copyright{
  margin: 0 4rem 0 2.4rem;
}
@media screen and (max-width:899px){
  .header-gl-nav-submenu-contents{
    bottom:3.6rem;
  }
  .header-gl-nav-submenu-contents .copyright{
    margin: 0 3.6rem 0 1.6rem;
  }
}

/* header left */
.page-header-services-wrap{
  flex-direction:column;
  height:65.6rem;
  justify-content:space-between;
  left:7.2rem;
  position:fixed;
  top:7.2rem;
  z-index:1;
}
.page-header-services-wrap a{
  display:inline-block;
}
.unfront-body .header-services{
  font-size:1.8rem;
  position:static;
}
@media screen and (max-width:899px){
  .page-header-services-wrap{
    display:block;
    height:auto;
    left:3.2rem;
    top:3.2rem;
  }
  .page-header-services-wrap a,
  .page-header-services-wrap a img{
    width:18.78rem;
  }
}





/* =====================

Main

===================== */

/* background video */
.video{
  height:auto;
  left:50%;
  min-height:100%;
  min-width:100%;
  position:absolute;
  top:50%;
  transform:translate(-50%,-50%);
  width:auto;
  z-index:0;
}
.video::before{
  background:#fff;
  content:'';
  height:auto;
  left:50%;
  min-height:100%;
  min-width:100%;
  opacity:.6;
  position:absolute;
  top:50%;
  transform:translate(-50%,-50%);
  width:auto;
  z-index:0;
}



/* ==========
Front Main
========== */

.home .contents{
  display:flex;
  height:100vh;
  padding:4rem 4rem 1.5rem;
  width:100%;
}
.front-page-contents{
  overflow:hidden;
  position:relative;
  width:100%;
}
.front-medias{
  bottom:3.2rem;
  left:3.2rem;
  position:absolute;
  z-index:1;
}
.front-medias li{
  margin:0 2.4rem 0 0;
}
.front-medias a{
  display:block;
  max-width:3.2rem;
}
@media screen and (max-width:899px){
  .home .contents{
    padding:2rem 2rem;
  }
  .front-medias{
    bottom:1.6rem;
    left:1.6rem;
  }
  .front-medias li{
    margin:0 1.6rem 0 0;
  }
  .front-medias a{
    max-width:2.8rem;
  }
}



/* ==========
Frontpage以外 Main
========== */

.page-article-wrap{
  padding:16rem 0 0;
}
.page-article{
  position:relative;
  z-index:1;
}
.inner-s{
  margin:0 auto;
  max-width:72.8rem;
  padding:0 2rem;
}
@media screen and (max-width:1119px){
  .inner-s{
    width:60%;
  }
}
@media screen and (max-width:899px){
  .page-article-wrap{
    padding:15.6rem 0 0;
  }
  .inner-s{
    width:100%;
  }
}

/* page title */
.page-title{
  margin:0 0 12rem;
  text-align:center;
}
.page-title span{
  display:block;
  font-size:8.8rem;
  margin:0 0 2.4rem;
}
.page-title span >span{
  display:inline-block;
	 font-size:4rem;
  margin:0 0 0 2rem;
  transform:translate(0, -1.2rem);
}
.page-title em{
  display:block;
  font-size:2rem;
  font-weight:700;
}
@media screen and (max-width:899px){
  .page-title{
    margin:0 0 8rem;
  }
  .page-title span{
    font-size:5.6rem;
  }
  .page-title span >span{
     font-size:2.4rem;
    margin:0 0 0 1.2rem;
    transform:translate(0, -.8rem);
  }
  .page-title em{
    font-size:1.6rem;
  }
}





/* =====================

Menu Animation Script

===================== */

/* 固定ページの読み込み */

.unfront-body .page-header-services-wrap,
.unfront-body .header-hm-label{
  transform:translateY(100vh);
}
.unfront-body .page-header-services-wrap.load-slidein,
.unfront-body .header-hm-label.load-slidein{
  transform:translateY(0);
}
.unfront-body .page-header-services-wrap.load-slidein-transition,
.unfront-body .header-hm-label.load-slidein-transition{
  transition:.75s ease-in-out;
}

.unfront-body .page-article-wrap,
.unfront-body .footer{
  transform:translateY(125vh);
}
.unfront-body .page-article-wrap.load-slidein,
.unfront-body .footer.load-slidein{
  transform:translateY(0);
}
.unfront-body .page-article-wrap.load-slidein-transition,
.unfront-body .footer.load-slidein-transition{
  transition:.75s ease-in-out .1s;
}





/* 固定ページのナビゲーション */

.scroll-lock{
  height:100vh;
  overflow:hidden;
}
.click-lock{
  pointer-events:none;
}

.unfront-body .add-transition{
  transition:.5s ease-in-out;
}

.unfront-body .page-header-services-wrap.static-nav-contents-action01,
.unfront-body .page-article-wrap.static-nav-contents-action01,
.unfront-body .footer.static-nav-contents-action01{
  transform:translateY(-100vh);
}

.unfront-body .page-header-services-wrap.static-nav-contents-action02,
.unfront-body .page-article-wrap.static-nav-contents-action02,
.unfront-body .footer.static-nav-contents-action02{
  opacity:0;
}

.unfront-body .static-nav-action01{
  transform:translateY(0);
}
.unfront-body .header-gl-nav::after{
  background-color:#fff;
  bottom:0;
  content:'';
  height:0;
  left:0;
  padding:0;
  pointer-events:none;
  position:fixed;
  transition:.5s ease-in-out;
  width:100%;
  z-index:2;
}
.unfront-body .static-nav-action02::after{
  padding:100vh 0 0;
}





/* =====================

Footer

===================== */

.footer-bottom-contents{
  font-size:1rem;
  justify-content:flex-end;
  line-height:1;
}
.footer-bottom-contents a{
  color:#000;
  margin:0 0 0 1em;
  text-decoration:none;
}
.footer-bottom-contents .copyright{
  margin:0 4rem 0 2.4rem;
}
.footer-bottom-contents small{
  font-size:1rem;
}
@media screen and (max-width:899px){
  .footer-bottom-contents .copyright{
    margin:0 0 0 1.2rem;
  }
}



/* ===========
Front Footer
=========== */

.front-footer{
  padding:0 0 1.5rem;
  width:100%;
}
@media screen and (max-width:899px){
  .front-footer{
    bottom:3.6rem;
    padding:0;
    position:absolute;
    right:3.6rem;
    z-index:1;
  }
}



/* ===========
Frontpage以外 Footer
=========== */

.page-footer{
  padding:11.8rem 0 11.6rem;
  position:relative;
  z-index:1;
}
.unfront-body .footer-top-contents{
  justify-content:space-between;
  z-index:1;
}
.unfront-body .footer-top-contents >a{
  border:.2rem solid #000;
  color:#000;
  font-size:1.4rem;
  line-height:1.5;
  padding:1.5rem 2.8rem 1.8rem;
  text-decoration:none;
  transition:.3s ease-in-out;
}
.unfront-body .footer-top-contents >a:hover{
  background-color:rgba(0, 159, 185, .1);
}
.unfront-body .footer-top-contents >a span{
  display:block;
  font-size:3.7rem;
  margin:0 0 .4rem;
}
.unfront-body .footer-top-contents dt{
  font-size:1.8rem;
  font-weight:700;
  line-height:1.5;
  margin:0 0 .8rem;
}
.unfront-body .footer-top-contents dd:nth-of-type(1){
  color:#009fb9;
  font-size:3.7rem;
  line-height:1;
  margin:0 0 .8rem;
}
.unfront-body .footer-top-contents dd:nth-of-type(2){
  font-size:1.4rem;
  line-height:1;
}
.unfront-body .footer-top-contents dd li:nth-child(1){
  margin:0 1.4rem 0 0;
}
.unfront-body .footer-top-contents dd a{
  border:solid 0.1rem #009fb9;
  color:#009fb9;
  display:inline-block;
  font-size:1rem;
  line-height:1;
  margin:0 0 0 .6rem;
  padding:0.3rem 0;
  text-align:center;
  text-decoration:none;
  transform:translateY(-.1rem);
  width:3.2rem;
}
.unfront-body .footer-bottom-contents{
  bottom:1.3rem;
  position:absolute;
  right:0;
  z-index:1;
}
@media screen and (max-width:1119px){
  .unfront-body .footer-top-contents dd:nth-of-type(1){
    font-size:2.8rem;
  }
}
@media screen and (max-width:899px){
  .page-footer{
    padding:8rem 0 7.5rem;
  }
  .unfront-body .footer-top-contents{
    flex-direction:column;
    margin:0 auto;
    max-width:23.1rem;
  }
  .unfront-body .footer-top-contents >a{
    padding:1.5rem 1.5rem 1.8rem;
  }
  .unfront-body .footer-top-contents >a span{
    margin:0 0 .3rem;
  }
  .unfront-body .footer-top-contents address{
    margin:8rem 0 0;
    text-align:center;
    width:auto;
  }
  .unfront-body .footer-top-contents dd:nth-of-type(1){
    font-size:3.5rem;
  }

  .unfront-body .footer-bottom-contents{
    bottom:2rem;
    justify-content:center;
    left:50%;
    right:0;
    transform:translateX(-50%);
  }
  .unfront-body .footer-bottom-contents p{
    margin:0 0 0 1.6rem;
  }
}





/* ====================

home（News）

==================== */

.archive-list{
  margin:0 0 8rem;
}
.archive-list li{
  flex-direction:column;
}
.archive-list li:not(:last-of-type){
  border-bottom:solid .2rem #009fb9;
  margin:0 0 4rem;
  padding:0 0 4rem;
}
.archive-list h2{
  font-size:2rem;
  font-weight:700;
  line-height:1.5;
  margin:0 0 1.6rem;
  order:2;
}
.archive-list a{
  color:#009fb9;
  display:inline-block;
  text-decoration:none;
}
.archive-list time{
  margin:0 0 .4rem;
  order:1;
}
.archive-list .archive-list-content{
  order:3;
}
@media screen and (max-width:899px){
  .archive-list{
    margin:0 0 6.4rem;
  }
  .archive-list li:not(:last-child){
    margin:0 0 3.2rem;
    padding:0 0 3.2rem;
  }
  .archive-list h2{
    font-size:1.6rem;
    margin:0 0 1.2rem;
  }
}

/* pagination */
.archive-pagination{
  height:3.2rem;
  justify-content:center;
  margin:0 auto;
  max-width:20.8rem;
  position:relative;
  z-index:1;
}
.archive-pagination-next,
.archive-pagination-prep{
  position:absolute;
  top:50%;
  width:3.2rem;
  z-index:1;
}
.archive-pagination-next{
  right:0;
  transform:translateY(-50%);
}
.archive-pagination-prep{
  left:0;
  transform:rotate(180deg) translateY(50%);
}
.archive-pagination-next a,
.archive-pagination-next img,
.archive-pagination-prep a,
.archive-pagination-prep img{
  display:block;
}
.archive-pagination-list{
  left:50%;
  position:absolute;
  top:0;
  transform:translateX(-50%);
  z-index:1;
}
.archive-pagination-list-number{
  border:solid .2rem #009fb9;
  height:3.2rem;
  margin:0 .4rem;
  text-align:center;
  width:3.2rem;
}
.archive-pagination-list span{
  background-color:#009fb9;
  color:#fff;
  display:block;
  height:100%;
}
.archive-pagination-list a{
  color:#009fb9;
  display:block;
  height:100%;
  text-decoration:none;
}





/* ====================

single

==================== */

.single-title-wrap{
  flex-direction:column-reverse;
}
.single-title-wrap .single-title{
  border-bottom:solid .2rem #009fb9;
  color:#009fb9;
  font-size:2.4rem;
  font-weight:700;
  margin:0 0 8rem;
  padding:0 0 4rem;
}
.single-title-wrap time{
  margin:0 0 1.2rem;
}
.single-content{
  margin:0 0 8rem;
}
.single-content p:not(:last-child),
.single-content .wp-block-image:not(:last-child){
  margin:0 0 1.7em;
}
.single-content iframe{
  margin:0 0 1.7em;
  max-width:100%!important;
  width:100%!important;
}
.single-backbtn{
  text-align:center;
}
.single-backbtn a{
  border:solid .2rem #009fb9;
  color:#009fb9;
  display:inline-block;
  font-size:2rem;
  padding:.4rem 1rem;
  text-decoration:none;
}
@media screen and (max-width:899px){
  .single-title-wrap .single-title{
    font-size:2rem;
    margin:0 0 6.4rem;
    padding:0 0 3.4rem;
  }
  .single-title-wrap time{
    margin:0 0 .4rem;
  }
  .single-content{
    margin:0 0 6.4rem;
  }
}





/* ====================

Page

==================== */

/* lead */
.page-lead{
  margin:0 0 12rem;
}
.page-lead b{
  color:#009fb9;
  display:block;
  font-size:2.4rem;
  font-weight:700;
  margin:0 0 2em;
  text-align:center;
}
.page-lead b:last-of-type{
  margin:0 0 8rem;
}
@media screen and (max-width:899px){
  .page-lead{
    margin:0 0 4.8rem;
  }
  .page-lead b{
    font-size:1.6rem;
    margin:0 -2rem 2em; 
  }
  .page-lead b:last-of-type{
    margin:0 -2rem 6.4rem;
  }
}

/* text */
.company-contents p:not(:last-child),
.recruit-contents p:not(:last-child){
  margin:0 0 1.7em;
}
.company-contents strong{
  font-weight:400;
}

/* section */
.page-section:not(:last-child){
  margin:0 0 12rem;
}
.page-bluesection{
  padding:12rem 0;
  transition:.5s ease-in-out;
}
.page-bluesection-on{
  background-color:rgba(0, 159, 185, .1);
}
@media screen and (max-width:899px){
  .page-section:not(:last-child){
    margin:0 0 8rem;
  }
  .page-bluesection{
    padding:8rem 0;
  }
}

/* title */
.page-section-title{
  align-items:flex-end;
  margin:0 0 4rem;
}
.page-section-title span{
  color:#009fb9;
  font-size:4.8rem;
  margin:0 1.6rem 0 0;
}
.page-section-title em{
  color:#009fb9;
  font-size:1.6rem;
  font-weight:700;
}
@media screen and (max-width:899px){
  .page-section-title{
    margin:0 0 2.4rem;
  }
  .page-section-title span{
    font-size:3.6rem;
    margin:0 1.2rem 0 0;
  }
  .page-section-title em{
    font-size:1.4rem;
  }
}

/* tablelist */
.page-section-table >li:not(:last-child){
  border-bottom:solid .2rem #009fb9;
  margin:0 0 4rem;
  padding:0 0 4rem;
}
.page-section-table dl{
  justify-content:space-between;
}
.page-section-table dt{
  font-weight:700;
}
.page-section-table dd{
  align-self:center;
  width:76.7%;
}
@media screen and (max-width:899px){
  .page-section-table >li:not(:last-child){
    margin:0 0 3.2rem;
    padding:0 0 3.2rem;
  }
  .page-section-table dd{
    width:70.6%;
  }
  .page-section-table dd span.pc-none{
    display:inline-block;
  }
}

/* table squarelist */
.page-section-table-squarelist >li::before{
  color:#009fb9;
  content:'■';
  display:inline;
  margin:0 .6rem 0 0;
}

/* table normalnumberlist */
ul.page-section-table-normalnumberlist{
  list-style-type:decimal;
  list-style-position:inside;
}

/* table bluenumberlist */
ul.page-section-table-bluenumberlist{
  list-style-type:decimal;
  list-style-position:inside;
}
.page-section-table-bluenumberlist >li::marker{
  color:#009fb9;
  font-weight:700;
}
.page-section-table-bluenumberlist >li:not(:last-child){
  margin:0 0 1.7em;
}
.page-section-table-bluenumberlist >li b{
  color:#009fb9;
  display:inline-block;
  font-weight:700;
}
.page-section-table-bluenumberlist >li span{
  color:#000;
  display:block;
  font-weight:400;
}

/* steplist */
.page-steplist >li{
  border:solid .2rem #009fb9;
  padding:4rem;
  position:relative;
  z-index:1;
}
.page-steplist >li:not(:last-child){
  margin:0 0 8rem;
}
.page-steplist >li:not(:last-child)::after{
  background-image:url(../media/img/page/page-steplist-arrow@2x-pc.png);
  background-size:2rem 5.7rem;
  bottom:-5.7rem;
  content:'';
  height:5.7rem;
  left:50%;
  position:absolute;
  transform:translateX(-50%);
  width:2rem;
  z-index:1;
}
.page-steplist >li b{
  background-color:#009fb9;
  color:#fff;
  display:block;
  font-size:2rem;
  margin:0 auto 2.4rem;
  padding:.6rem;
  text-align:center;
  width:6.8rem;
}
.page-steplist >li p{
  font-weight:700;
  text-align:center;
}
.page-steplist >li p:not(:last-child){
  margin:0 0 3.2rem;
}
.page-steplist-entry{
  font-size:2rem;
}
.page-steplist-entry a{
  display:inline-block;
  text-decoration:none;
}
.page-steplist-entry span{
  color:#009fb9;
}
.page-steplist-entry span:first-child{
  border:solid .2rem #009fb9;
  display:inline-block;
  padding:.4rem;
  text-align:center;
  width:9.5rem;
}
@media screen and (max-width:899px){
  .page-steplist >li{
    padding:3.2rem 0;
  }
  .page-steplist >li:not(:last-child){
    margin:0 0 6.3rem;
  }
  .page-steplist >li:not(:last-child)::after{
    background-image:url(../media/img/page/page-steplist-arrow@2x-sp.png);
    background-size:2rem 4.7rem;
    bottom:-4.7rem;
    height:4.7rem;
    width:2rem;
  }
  .page-steplist >li b{
    margin:0 auto 1.6rem;
  }
  .page-steplist >li p:not(:last-child){
    margin:0 0 2.4rem;
  }
  .page-steplist-entry span{
    display:block;
    margin:1.2rem auto 0;
  }
  .page-steplist-entry span:first-child{
    display:block;
    margin:1.2rem auto;
  }
}

/* image1 */
.page-section-image{
   margin:4.8rem 0 0;
}
@media screen and (max-width:899px){
  .page-section-image{
     margin:3.6rem 0 0;
  }
}




/* ====================

Service

==================== */

.page-service .page-lead{
  margin:0 auto 14rem;
}
@media screen and (max-width:899px){
  .page-service .page-lead{
    margin:0 auto 8rem;
  }
}

.service-contents-inner{
  margin:0 -2rem;
  transform:translateX(-2rem);
}
@media screen and (max-width:899px){
  .service-contents-inner{
    margin:0 auto;
    max-width:48rem;
    transform:none;
  }
}

.service-content-block{
  justify-content:space-between;
  padding:0 0 52.198%;
  position:relative;
  width:100%;
  z-index:1;
}
.service-content-block:not(:last-child){
  margin:0 0 12rem;
}
.service-content-block >div{
  position:absolute;
  width:52.198%;
}
.service-content-block-square{
  align-items:center;
  border:solid .2rem #009fb9;
  height:100%;
  justify-content:center;
  z-index:2;
}
.service-content-block:nth-child(odd) .service-content-block-square{
  bottom:-2rem;
  right:0;
}
.service-content-block:nth-child(even) .service-content-block-square{
  left:0;
  top:-2rem;
}
.service-content-block-square dt{
  color:#009fb9;
  font-weight:700;
  margin:0 0 2.4rem;
}
.service-content-block-square dt span{
  font-size:4.8rem;
  margin:0 1.6rem 0 0;
}
.page-service .page-section-table-squarelist >li::before{
  margin:0;
}
@media screen and (max-width:899px){
  .service-content-block{
    
    padding:0 0 53.125%;
  }
  .service-content-block:not(:last-child){
    margin:0 0 8.8rem;
  }
  .service-content-block >div{
    width:53.125%;
  }
  .service-content-block-square{
    justify-content:flex-start;
  }
  .service-content-block:nth-child(odd) .service-content-block-square{
    bottom:-1.2rem;
    padding:0 0 0 10.3%;
  }
  .service-content-block:nth-child(even) .service-content-block-square{
    padding:0 0 0 9.3%;
    top:-1.2rem;
  }
  .service-content-block-square dt{
    font-size:1.2rem;
    margin:0 0 1rem;
  }
  .service-content-block-square dt span{
    display:block;
    font-size:2.4rem;
  }
  .service-content-block-square dd{
    font-size:1.2rem;
  }
  .page-section-table-squarelist{
    line-height:1.6;
  }
  .service-content-block:nth-child(3) .page-section-table-squarelist li:nth-child(1){
    margin:0 .5em 0 0;
  }
  .service-content-block:nth-child(3) .page-section-table-squarelist li:nth-child(1),
  .service-content-block:nth-child(3) .page-section-table-squarelist li:nth-child(2){
    display:inline-block;
  }
}

.service-content-block-image{
  background-repeat:no-repeat;
  background-size:cover;
  padding:26.099%;
  z-index:1;
}
.service-content-block:nth-child(odd) .service-content-block-image{
  left:0;
  top:-2rem;
}
.service-content-block:nth-child(even) .service-content-block-image{
  bottom:-2rem;
  right:0;
}
.service-content-block:nth-child(1) .service-content-block-image{
  background-image:url(../media/img/page/2025/page-service1@2x.jpg);
}
.service-content-block:nth-child(2) .service-content-block-image{
  background-image:url(../media/img/page/2025/page-service2@2x.jpg);
}
.service-content-block:nth-child(3) .service-content-block-image{
  background-image:url(../media/img/page/2025/page-service3@2x.jpg);
}
.service-content-block:nth-child(4) .service-content-block-image{
  background-image:url(../media/img/page/2025/page-service4@2x.jpg);
}
.service-content-block:nth-child(5) .service-content-block-image{
  background-image:url(../media/img/page/2025/page-service5@2x.jpg);
}
@media screen and (max-width:899px){
  .service-content-block-image{
    padding:26.564%;
  }
  .service-content-block:nth-child(odd) .service-content-block-image{
    top:-1.2rem;
  }
  .service-content-block:nth-child(even) .service-content-block-image{
    bottom:-1.2rem;
  }
}





/* ====================

Company

==================== */

/* images2 */
.company-contents .page-section:nth-child(2){
  margin:0 0 45.1rem;
}
.company-contents .page-bluesection{
  padding:45.1rem 0 12rem;
  position:relative;
  z-index:1;
}
.page-section-image2{
  left:50%;
  max-width:95rem;
  position:absolute;
  top:0;
  transform:translate(-50%, -50%);
  width:100%;
  z-index:1;
}
.page-section-image2 >div{
  width:100%;
}
.page-section-image2 .inner-s >div{
  margin:0 -11.1rem;
}
.page-section-image2-window{
  margin:0 2rem;
  max-width:41.5rem;
  overflow:hidden;
  position:relative;
  width:47.8%;
  z-index:1;
}
.page-section-image2-window:nth-child(1){
  transform:translateY(6rem);
}
.page-section-image2-window:nth-child(2){
  transform:translateY(-6rem);
}
.page-section-image2-window::before{
  background-color:#009fb9;
  content:'';
  height:100%;
  position:absolute;
  right:0;
  top:50%;
  transform:translate(-100%,-50%);
  transition:transform .5s ease-in-out;
  width:100%;
  z-index:1;
}
.page-section-image2-window-on::before{
  transform:translate(100%,-50%);
}
.page-section-image2-window >div{
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  opacity:0;
  padding:130.6% 0 0;
  transition:opacity .1s .2s ease-in-out;
}
.page-section-image2-window >.page-section-image2-window-visible{
  opacity:1;
}
.page-section-image2-window:nth-child(1) >div{
  background-image:url(../media/img/page/2025/page-company2@2x.jpg);
}
.page-section-image2-window:nth-child(2) >div{
  background-image:url(../media/img/page/2025/page-company3@2x.jpg);
}

.page-section-table .company-address{
  align-items:center;
  justify-content:flex-start;
}
.page-section-table .company-address:nth-child(1){
  margin:0 0 2.4rem;
}
.page-section-table .company-address dt{
  width:11.2rem;
}
.page-section-table .company-address dd{
  align-items:center;
  border-left:solid .1rem #000;
  flex:1 0 0;
  padding:0 0 0 1.6rem;
  width:auto;
}
.page-section-table .company-address dd a{
  border:solid .1rem #009fb9;
  color:#009fb9;
  display:block;
  font-size:1rem;
  line-height:1;
  margin:0 0 0 1.6rem;
  padding:.3rem 0;
  text-align:center;
  text-decoration:none;
  width:3.2rem;
}

@media screen and (max-width:1119px){
  .page-section-image2 .inner-s >div{
    margin:0 -15%;
  }  
}
@media screen and (max-width:899px){
  .company-contents .page-section:nth-child(2){
    margin:0 0 45%;
  }
  .company-contents .page-bluesection{
    padding:45% 0 8rem;
  }
  .page-section-image2 .inner-s >div{
    margin:0;
  }
  .page-section-image2-window{
    width:49.3%;
  }
  .page-section-image2-window:nth-child(1){
    margin:0 .6rem 0 0;
    transform:translateY(2rem);
  }
  .page-section-image2-window:nth-child(2){
    margin:0 0 0 .6rem;
    transform:translateY(-2rem);
  }
  .page-section-image2-window >div{
    padding:124.5% 0 0;
  }

  .page-section-table .company-address{
    display:block;
    position:relative;
  }
  .page-section-table .company-address dt{
    padding:0 0 1rem;
    width:auto;
  }
  .page-section-table .company-address dd{
    border-left:none;
    border-top:solid .1rem #000;
    display:block;
    padding:1rem 0 0;
  }
  .page-section-table .company-address dd a{
    margin:0;
    position:absolute;
    top:.4rem;
    z-index:1;
  }
  .page-section-table .company-address:nth-child(1) dd a{
    left:6.8rem;
  }
  .page-section-table .company-address:nth-child(2) dd a{
    left:9.6rem;
  }
}
@media screen and (max-width:599px){
  .company-contents .page-section:nth-child(2){
    margin:0 0 55.3%;
  }
  .company-contents .page-bluesection{
    padding:55.3% 0 8rem;
  }
}





/* ====================

Recruit

==================== */

/* recruit-contact */
.page-section-recruit-contact-text{
  color:#009fb9;
  font-size:2.4rem;
  font-weight:700;
  margin:0 0 4rem;
  text-align:center;
}
.page-section-recruit-contact-btn{
  align-items:center;
  background-color:#fff;
  border:solid .2rem #009fb9;
  flex-wrap:wrap;
  justify-content:center;
  line-height:2;
  padding:2.8rem 1rem;
  text-decoration:none;
  width:100%;
}
.page-section-recruit-contact-btn b{
  color:#009fb9;
  display:block;
  font-size:3.7rem;
  margin:-0.3rem 1.3rem 0;
}
.page-section-recruit-contact-btn b >span{
  display:inline-block;
  font-size:2rem;
  margin:0 0 0 1rem;
  transform:translateY(-3px);
}
.page-section-recruit-contact-btn >span{
  color:#000;
  display:block;
  font-size:2.4rem;
  font-weight:700;
  margin:0 1.3rem;
}
@media screen and (max-width:899px){
  .page-section-recruit-contact-btn{
    padding:2.5rem 1rem;
  }
  .page-section-recruit-contact-text{
    font-size:1.6rem;
    margin:0 0 3.2rem;
  }
  .page-section-recruit-contact-btn >span{
    font-size:1.6rem;
    margin:.8rem auto 0;
  }
}





/* ====================

Contact

==================== */

.contact-leadtext{
  margin:0 auto 8rem;
}
.page-contact .contact-leadtext,
.page-contact-for-recruit .contact-leadtext{
  max-width:54.3rem;
  margin:0 auto 12rem;
}
@media screen and (max-width:899px){
  .contact-leadtext{
    margin:0 auto 4.2rem;
  }
  .page-contact .contact-leadtext,
  .page-contact-for-recruit .contact-leadtext{
    margin:0 auto 8rem;
  }
}



/* ==========
Form
========== */

.form-wrap{
  flex-wrap:wrap;
  justify-content:space-between;
  margin:0 0 12rem;
}
.form-contents{
  width:100%;
}
.form-contents:not(:last-of-type){
  margin:0 0 5.6rem;
}
.form-contents:nth-child(5),
.form-contents:nth-child(6){
  width:calc(50% - 2.8rem);
}
@media screen and (max-width:899px){
  .form-wrap{
    display:block;
    margin:0 0 8rem;
  }
  .form-contents:not(:last-of-type){
    margin:0 0 4rem;
  }
  .form-contents:nth-child(5),
  .form-contents:nth-child(6){
    width:100%;
  }
}

/* dt */
.form-contents dt{
  align-items:center;
  font-weight:700;
  margin:0 0 1.3rem;
}
.form-contents dt >span{
  border-radius:.4rem;
  color:#fff;
  font-size:1.4rem;
  line-height:1;
  margin:0 0 0 .8rem;
  padding:.7rem .8rem;
}
.form-contents-required >span{
  background-color:#009fb9;
}
.form-contents-any >span{
  background-color:#aaaaaa;
}
@media screen and (max-width:899px){
  .form-contents dt{
    margin:0 0 1rem;
  }
  .form-contents dt >span{
    font-size:1.2rem;
    padding:.5rem .6rem;
  }
}

/* radio */
.form-contents-radiobtn{
  flex-wrap:wrap;
  margin:0 -.8rem -1.6rem;
}
.form-contents-radiobtn .horizontal-item{
  display:block;
  margin:0!important;
  padding:0 .8rem 1.6rem;
  width:33.3333%;
}
.form-contents-radiobtn .horizontal-item input{
  display:none;
}
.form-contents-radiobtn .horizontal-item .mwform-radio-field-text{
  border:solid .2rem #009fb9;
  display:block;
  padding:1.2rem;
  text-align:center;
}
.form-contents-radiobtn .horizontal-item input:checked +.mwform-radio-field-text{
  background-color:#009fb9;
  color:#fff;
}
.mwform-radio-field input{
  margin-right:0;
}
@media screen and (max-width:899px){
  .form-contents-radiobtn{
    margin:0 -.5rem -1rem;
  }
  .form-contents-radiobtn .horizontal-item{
    padding:0 .5rem 1rem;
    width:50%;
  }
  .form-contents-radiobtn .horizontal-item .mwform-radio-field-text{
    padding:.75rem;
  }
}

/* textarea */
.form-contents-textarea{
  border:solid .2rem #009fb9;
  padding:1.15rem 2.4rem;
  width:100%;
}
.form-contents-content{
  height:32rem;
}
@media screen and (max-width:899px){
  .form-contents-textarea{
    padding:1rem 2rem;
  }
}

/* select */
.form-contact-todouhuken{
  position:relative;
  z-index:1;
}
.form-contact-todouhuken::before{
  color:#009fb9;
  content:'▼';
  display:block;
  position:absolute;
  right:1.6rem;
  top:50%;
  transform:translateY(-50%);
  z-index:-1;
}
.form-contact-todouhuken >select{
  background-color:transparent;
  border:solid .2rem #009fb9;
  color:#000;
  padding:1.15rem 2.4rem;
  width:100%;
}
@media screen and (max-width:899px){
  .form-contact-todouhuken::before{
    right:1.4rem;
  }
  .form-contact-todouhuken >select{
    padding:1rem 2rem;
  }
}

/* tel */
.form-contents small{
  display:block;
  font-size:1.4rem;
  margin:.8rem 0 0;
}
@media screen and (max-width:899px){
  .form-contents small{
    font-size:1.2rem;
  }
}

/* contact privacy */
.contact-contents-privacy{
  margin:0 0 8rem;
}
.contact-contents-privacy b{
  color:#009fb9;
  display:inline-block;
  font-size:2.4rem;
  font-weight:700;
  margin:0 0 3.2rem;
}
.contact-contents-privacy p:not(:first-of-type),
.contact-contents-privacy ul{
  margin:0 0 1.7em;
}
.contact-contents-privacy ul{
  list-style-position:inside;
}
.contact-contents-privacy a{
  color:#000;;
}
@media screen and (max-width:899px){
  .contact-contents-privacy{
    margin:0 0 6.4rem;
  }
  .contact-contents-privacy b{
    font-size:2rem;
    margin:0 0 2.4rem;
  }
}

/* btn */
.contact-btn button,
.contact-btn a{
  align-items:center;
  background-color:#009fb9;
  border-radius:6rem;
  color:#fff;
  display:flex;
  font-weight:700;
  height:12rem;
  justify-content:center;
  margin:0 auto;
  text-decoration:none;
  width:12rem;
}
@media screen and (max-width:899px){
  .contact-btn button,
  .contact-btn a{
    border-radius:4rem;
    height:8rem;
    width:8rem;
  }
}





/* ====================

Contact Confirm

==================== */

.page-contact-confirm .form-contents:nth-child(5),
.page-contact-for-recruit-confirm .form-contents:nth-child(6){
  width:100%;
}
.page-contact-confirm .form-contents dt,
.page-contact-for-recruit-confirm .form-contents dt{
  color:#009fb9;
}
.page-contact-confirm .form-contents dt >span,
.page-contact-confirm .form-contact-todouhuken::before,
.page-contact-confirm .contact-contents-privacy,
.page-contact-confirm .form-contents small,
.page-contact-for-recruit-confirm .form-contents dt >span,
.page-contact-for-recruit-confirm .form-contact-todouhuken::before,
.page-contact-for-recruit-confirm .contact-contents-privacy,
.page-contact-for-recruit-confirm .form-contents small{
  display:none;
}
.page-contact-confirm .contact-btn,
.page-contact-for-recruit-confirm .contact-btn{
  justify-content:center;
}
.page-contact-confirm .contact-btn button,
.page-contact-for-recruit-confirm .contact-btn button{
  margin:0;
}
.page-contact-confirm .contact-btn .contact-backbtn,
.page-contact-for-recruit-confirm .contact-btn .contact-backbtn{
  background-color:#fff;
  border:solid .2rem #000;
  color:#000;
  margin:0 3rem 0 0;
}
@media screen and (max-width:899px){
  .page-contact-confirm .contact-btn .contact-backbtn,
  .page-contact-for-recruit-confirm .contact-btn .contact-backbtn{
    margin:0 2.4rem 0 0;
  }
}





/* ====================

Contact Thanks

==================== */

.page-contact-thanks .contact-leadtext,
.page-contact-for-recruit-thanks .contact-leadtext{
  text-align:center;
}





/* ====================

privacy policy

==================== */

.privacy-contents >div >ol{
  list-style:decimal;
  list-style-position:inside;
  margin:0;
}
.privacy-contents p:not(:last-child),
.privacy-contents dl:not(:last-child){
  margin:0 0 1.7em;
}
.privacy-contents-list{
  margin:0 0 8rem;
}
.privacy-contents-list::marker{
  color:#009fb9;
  font-size:2.4rem;
  font-weight:700;
}
.privacy-contents-list-title{
  color:#009fb9;
  display:inline-block;
  font-size:2.4rem;
  font-weight:700;
  margin:0 0 3.2rem;
}
.privacy-contents-list >ul{
  list-style:disc;
  list-style-position:inside;
  margin:0;
}
.privacy-contents-analytics-list a{
  color:#009fb9;
  font-weight:700;
  text-decoration:none;
}
@media screen and (max-width:899px){
  .privacy-contents-list{
    margin:0 0 6.4rem;
  }
  .privacy-contents-list::marker{
    font-size:2rem;
  }
  .privacy-contents-list-title{
    font-size:2rem;
    margin:0 0 2.4rem;
  }
}





/* ====================

404

==================== */

.error404 h1{
  color:#009fb9;
  margin:0 0 2rem;
  text-align:center;
}
@media screen and (max-width:899px){
  .error404 h1{
    font-size:2.2rem;
  }
}