@charset "utf-8";
/* CSS Document */
*{
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-weight:500;
  color:inherit;
  /*font-feature-settings: "palt";*/
  box-sizing:border-box;
}

/* PC tel */
@media screen and (min-width: 768px){
  a[href^="tel"] {
    pointer-events: none;
    cursor: default;
  }
}

/**/
address{ font-style: normal;}
figure{margin:0;}

/**/
@media screen and (min-width: 768px){
  a:hover{
    opacity: .8;
  }
}

/*---------------------------------

 img

---------------------------------*/
img{ width:100%;}

/*---------------------------------

 font

---------------------------------*/
html{
  font-size:62.5%;
  line-height:1.63;
  letter-spacing: 0.05em;
  color:#333;
  background:#fdf9ef;
}
html *{ font-size:1.4rem;}
#wrap{
  width:100%;
  overflow: hidden;
}
a{ text-decoration: none; color:inherit;}
small{ font-size:100%;}
@media screen and (max-width: 767px){
  html *{ font-size:1.6rem;}
  body{
    overflow-x:hidden;
  }
  #wrap{ width:100vw;}
}
@media screen and (max-width: 600px){
  html *{ font-size:3.4vw;}
}

/*---------------------------------

 layout

---------------------------------*/
.containerW{
  width:95vw;
  max-width:1340px;
}
.container{
  width:90vw;
  max-width:1200px;
}
.containerS{
  width:90vw;
  max-width:1000px;
}

.containerW,
.container,
.containerS{ margin:auto; }

/*---------------------------------

 header

---------------------------------*/
header{
  padding-top:40px;
  /*! background:#fdf9ef; */
}
@media screen and (max-width: 600px) {
  header{
    padding-top:6vw;
  }
}

/* b-hd01 ----------------------*/

.b-hd1{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.b-hd1 .b-siteLead{
  margin:0;
  font-size:1.2rem;
  line-height:1;
}
.b-hd1-right,
.b-hd1-right dl,
.b-hd1-right dt,
.b-hd1-right > a,
.e-ftVContact a{
  display: flex;
  align-items: center;
  line-height:1;
}
.b-hd1-right,
.b-hd1-right dl{
  justify-content: flex-end;
}
.b-hd1-right dt{
  color:#64c8c9;
  border:1px solid #64c8c9;
  padding:.4em .9em;
  font-size:1.3rem;
  font-weight: 600;
  border-radius: 30px;
}
.b-hd1-right dd{
  margin:0 35px 0 13px;
}
.b-hd1-right dd a{
  display: block;
  width:204px;
}
.b-hd1-right > a,
.e-ftVContact a{
  justify-content: center;
  color:#fff;
  font-size:1.5rem;
  font-weight: 600;
  width:200px;
  height:40px;
  border-radius: 30px;
  z-index: 1;
  position: relative;
  overflow:hidden;
}
.b-hd1-right > a::before,
.b-hd1-right > a::after,
.e-ftVContact a::before,
.e-ftVContact a::after{
  content:"";
  display: block;
  width:105%;
  height:100%;
  position: absolute;
  left:0;
  top:0;
  z-index: -1;
}
.b-hd1-right > a::before,
.e-ftVContact a::before{
  background:#64c8c9;
}
.b-hd1-right > a::after,
.e-ftVContact a::after{
  background:#ed9052;
  transform:scale(0, 1); transform-origin:left top; transition:transform .4s;
}
.b-hd1-right > a:hover,
.e-ftVContact a:hover{
  opacity: 1;
}
.b-hd1-right > a:hover::after,
.e-ftVContact a:hover::after{
  transform:scale(1, 1); transform-origin:left top; transition:transform .4s;
}
@media all and (-ms-high-contrast: none) {
  .b-hd1-right dt{
    padding-top:.8em;
  }
  .b-hd1-right > a{
    padding-top:.4em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px){
  .b-hd1{
    flex-wrap: wrap;
    justify-content: flex-end;
    padding-left:130px;
  }
  .b-hd1 .b-siteLead{
    margin-bottom:10px;
  }
}
@media screen and (max-width: 767px) {
  .b-hd1{
    display:block;
    padding-right:75px;
    position: relative;
    z-index: 50;
  }
  .b-hd1 .b-siteLead{
    text-align: right;
    margin-bottom:10px;
  }
  .b-hd1-right > a{
    display: none;
  }
  .b-hd1-right dd{
    margin:0 0 0 2vw;
  }
}
@media screen and (max-width: 600px) {
  .b-hd1{
    padding-right:12vw;
  }
  .b-hd1 .b-siteLead{
    width:68vw;
    margin:0 0 1.2vw auto;
    line-height:1.3;
    font-size:1.7vw;
    padding-top:.5vw;
  }
  .b-hd1-right dt{
    font-size:2vw;
  }
  .b-hd1-right dd a{
    width:33vw;
  }
  .e-ftVContact a{
    width:40vw;
    height:9vw;
    font-size:3.4vw;
  }
}
/* b-nav ----------------------*/
.b-nav{
  display: flex;
  justify-content:space-between;
  margin-top:22px;
}
@media screen and (max-width: 767px) {
  .b-nav{
    margin-top:0;
  }
}

/* b-logo */
.b-nav .b-logo{
  width:110px;
  min-width:110px;
}
@media screen and (min-width: 1340px){
  .b-nav .b-logo{
    margin-left:88px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px){
  .b-nav .b-logo{
    margin-top:-110px;
    margin-left:20px;
  }
}
@media screen and (max-width: 767px) {
  .b-nav .b-logo{
    width:95px;
    min-width:auto;
    position: absolute;
    z-index: 50;
    left:4vw;
    top:17px;
  }
}
@media screen and (max-width: 600px) {
  .b-nav .b-logo{
    width:14vw;
    top:3vw;
  }
}
/* nav */
.b-nav nav{
  display: flex;
  margin-top:25px;
  padding-left: 20px;
  font-size:0;
  width:100%;
  max-width:980px;
}
.b-nav nav ul{
  font-size:0;
  width:100%;
  height:70px;
}
.b-nav nav ul li{
  width:20%;
}
.b-nav nav a{
  display: block;
  color:#614c3f;
  line-height:1;
  letter-spacing: .1em;
  text-indent:.1em;
  text-align: center;
  font-size:1.6rem;
  font-weight: 600;
  width:100%;
}
.b-nav nav a:hover{
  color:#64c8c9;
  opacity: 1;
}
.b-nav nav ul{
  display: flex;
  background:url(../image/common/mic-line.png) left top repeat-y;
}
.b-nav nav li{
  background:url(../image/common/mic-line.png) right top repeat-y;
}
.b-nav nav a span{
  display: block;
  text-align: center;
  font-size:1.2rem;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  margin-top:.5em;
}
.b-nav nav a::before{
  content:"";
  display: block;
  width:100%;
  height:25px;
  margin-bottom:3px;
  background-size:contain;
  background-position: center center;
  background-repeat: no-repeat;
}
.b-nav nav li.m-home a::before{ background-image: url(../image/common/mic-home.png) }
.b-nav nav li.m-news a::before{ background-image: url(../image/common/mic-blog.png) }
.b-nav nav li.m-about a::before{ background-image: url(../image/common/mic-about.png) }
.b-nav nav li.m-service a::before{ background-image: url(../image/common/mic-service.png) }
.b-nav nav li.m-facility a::before{ background-image: url(../image/common/mic-facility.png) }
.b-nav nav li.m-recruit a::before{ background-image: url(../image/common/mic-recruit.png) }
/* hover */
.b-nav nav li.m-home a:hover::before{ background-image: url(../image/common/mic-home-r.png) }
.b-nav nav li.m-news a:hover::before{ background-image: url(../image/common/mic-blog-r.png) }
.b-nav nav li.m-about a:hover::before{ background-image: url(../image/common/mic-about-r.png) }
.b-nav nav li.m-service a:hover::before{ background-image: url(../image/common/mic-service-r.png) }
.b-nav nav li.m-facility a:hover::before{ background-image: url(../image/common/mic-facility-r.png) }
.b-nav nav li.m-recruit a:hover::before{ background-image: url(../image/common/mic-recruit-r.png) }

@media screen and (min-width: 768px) and (max-width: 1100px){
  .b-nav{ display: block;}
  .b-nav nav{ max-width:100%;padding-left: 0;}
}
@media screen and (min-width: 768px){
  .m-contact{
    display: none
  }
  .b-nav nav li a:hover::before{
    animation: fuwafuwa2 1s infinite ease-in-out 0s alternate;
  }
}
@media screen and (max-width: 767px){
  .b-nav nav ul{
    display: block;
    width:60%;
    height:auto;
    margin:auto;
    /* margin-top:0; */
    background:url(../image/common/mic-line-v.png) left top repeat-x;
  }
  .b-nav nav ul li{
    display: block;
    width:100%;
    background:url(../image/common/mic-line-v.png) left bottom repeat-x;
  }
  .b-nav nav ul li a{
    height:auto;
    padding:30px 0;
    padding-left:45%;
    position:relative;
  }
  .b-nav nav ul li a,
  .b-nav nav ul li a span{
    text-align:left;
  }
  .b-nav nav ul li a span{
    margin-top:.2em;
  }
  .b-nav nav ul li a::before{
    width:40px;
    height:40px;
    position: absolute;
    left:35%;
    top:50%;
    transform: translate(-50%,-50%)
  }
  .b-nav nav ul li.m-contact{
    background:none;
  }
  .b-nav nav ul li.m-contact a{
    margin-top:30px;
    padding-left:0;
    text-align: center;
    background:#64c8c9;
    color:#fff;
    font-size:20px;
    border-radius: 8vw;
  }
}
@media screen and (max-width: 600px){
  .b-nav nav a{
    font-size:3.5vw;
  }
  .b-nav nav a span{
    font-size:2vw;
  }
  .b-nav nav ul{
    width:85%;
  }
  .b-nav nav ul li a{
    padding:5vw;
    padding-left:40%;
  }
  .b-nav nav ul li a::before{
    width:8vw;
    height:8vw;
    left:30%;
  }
  .b-nav nav ul li.m-contact a{
    padding-left:5vw;
    margin-top:7vw;
    font-size:3.8vw;
  }
}

/*---------------------------------

 MENU

---------------------------------*/
@media screen and (min-width: 768px) {
  #MENU{
    display: none;
  }
}
@media screen and (max-width: 767px) {
  header{
    position: relative;
    z-index: 10;
    height:125px;
  }
  .b-nav nav{
    opacity: 0;
    visibility:hidden;
    position: absolute;
    top:0;
    z-index: -1;
    background:#fdf9ef;
    width:100vw;
    box-sizing: border-box;
    margin:0 0 0 -2.5vw;
    padding-top:150px;
    overflow-y: scroll;
  }
  .b-nav nav.open{
    animation: navOpn .3s forwards;
  }
  .b-nav nav.close{
    animation: navCls .3s forwards;
  }
}
@keyframes navOpn {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes navCls {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}

@media screen and (max-width: 600px) {
  header{
    height:19vw;
  }
  .b-nav nav{
    padding-top:23vw;
  }
}
#MENU{
  width:55px;
  height:55px;
  background:#64c8c9;
  position: absolute;
  right:2.5vw;
  top:38px;
  z-index: 100;
  transition:transform .4s;
  border-radius: 50%;
}
#MENU span{
  display: block;
  width: 60%;
  height:2px;
  background:#fff;
  position: absolute;
  top:50%;
  left:50%;
  transition:transform .4s;
}
#MENU span:nth-child(1){
  transform: translate(-50%,-10px);
}
#MENU span:nth-child(2){
  transform: translate(-50%,0);
}
#MENU span:nth-child(3){
  transform: translate(-50%,10px);
}
/* close */
#MENU.close span{
  width:70%;
}
#MENU.close span:nth-child(1){
  transform: translate(-50%,-50%) rotate(45deg);
}
#MENU.close span:nth-child(2){
  width:0;
}
#MENU.close span:nth-child(3){
  transform: translate(-50%,-50%) rotate(-45deg);
}
@media screen and (max-width: 600px) {
  #MENU{
    top:6vw;
    width:9vw;
    height:9vw;
  }
  #MENU span:nth-child(1){
    transform: translate(-50%,-2vw);
  }
  #MENU span:nth-child(3){
    transform: translate(-50%,2vw);
  }
}

/*---------------------------------

 footer

---------------------------------*/
footer{
  display: block;
  text-align: center;
  padding-bottom:125px;
}
footer .b-logo{
  width:136px;
  margin:auto;
  margin-bottom:30px;
}
/*
footer .b-logo img{
  animation: fuwafuwa 2s infinite ease-in-out .8s alternate;
}
*/
footer .b-company *{
  font-weight: 600;
}
footer .b-company,
footer .m-time{
  display: block;
}
footer .b-company *,
footer .m-time *{
  display: inline;
}
.m-time *{
  font-size:1.3rem;
  letter-spacing: .14em;
}
footer .b-company dt,
footer .m-time dt{
  margin-right:.5em;
}
footer .b-contact{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin:33px 0 75px;
}
footer .b-contact > dt{
  color:#64c8c9;
  border:1px solid #64c8c9;
  padding:.06em .9em;
  font-size:1.3rem;
  border-radius: 30px;
  margin-right:20px;
}
footer .b-contact dd.m-no{
  display: block;
  width:242px;
}
footer .b-contact .m-time{
  width:100%;
  margin-top:25px;
}
footer .e-ftVContact{
  margin-top:18px;
}
@media all and (-ms-high-contrast: none) {
  footer .b-contact > dt{
    padding:.3em .9em 0;
  }
}
footer .b-subLnk ul{
  display: inline-block;
  font-size:0;
  border-left:1px solid #ccc;
}
footer .b-subLnk li{
  border-right:1px solid #ccc;
  line-height:1;
}
@media all and (-ms-high-contrast: none) {
  footer .b-subLnk li{
    padding-top:.4em;
  }
}
footer .b-subLnk li a{
  padding:0 .7em;
}
@media screen and (max-width: 600px) {
  footer{
    padding-bottom:8vw;
  }
  footer .b-logo{
    width:18vw;
    margin-bottom:5vw;
  }
  footer .b-company *{
    display: block;
    font-size:2.8vw;
    font-weight: bold;
  }
  footer .b-contact{
    margin:6vw 0;
  }
  footer .b-contact > dt{
    font-size:2.8vw;
    margin-right:2vw;
  }
  footer .b-contact dd.m-no{
    width:45vw;
  }
  footer .b-contact dd.m-time{
    margin-top:.8em;
  }
  footer .b-contact dd.m-time *{
    font-size:2.45vw;
  }
  footer .e-ftVContact{
    margin-top:3vw;
  }
  footer .b-subLnk li a{
    font-size:2.8vw;
    padding:0 2em;
  }
}

/*---------------------------------

 b-lnk

---------------------------------*/
.b-lnk{
  margin-top:25px;
}
.b-lnk a{
  display: inline-block;
  text-align: center;
  color:#fff;
  line-height:1;
  font-weight: 600;
  padding:1.4em 0;
  border-radius: 100px;
  font-size:1.5rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.b-lnk a::before,
.b-lnk a::after{
  content:"";
  display: block;
  width:105%;
  height:100%;
  position: absolute;
  left:0;
  top:0;
  z-index: -1;
}
.b-lnk a::before{
  background:#64c8c9;
}

@media screen and (min-width: 768px) {
  .b-lnk a::after{
    background:#ed9052;
    transform:scale(0, 1); transform-origin:left top; transition:transform .4s;
  }
  .b-lnk a:hover{
    opacity: 1;
  }
  .b-lnk a:hover::after{
    transform:scale(1, 1); transform-origin:left top; transition:transform .4s;
  }
}
@media all and (-ms-high-contrast: none) {
  .b-lnk a{
    padding: 1.5em 0 1.3em;
  }
}
@media screen and (max-width: 600px) {
  .b-lnk{
    margin-top:5vw;
  }
  .b-lnk a{ font-size:3.5vw;}
}
/* m-sizeS */
.b-lnk a.m-sizeS{
  padding:.65em 2.5em;
}
@media all and (-ms-high-contrast: none) {
  .b-lnk a.m-sizeS{
    padding: .75em 2.5em .55em;
  }
}
@media screen and (max-width: 600px){
  a.m-sizeS{
    font-size:3.4vw;
  }
}

/*---------------------------------

 main

---------------------------------*/

/* b-main ----------*/
.b-main{
  display: flex;
  align-items: center;
  padding-left:70px;
  height:400px;
  margin-top:10px;
  position: relative;
}
.b-main::after{
  content:"";
  display: block;
  width:110px;
  height:110px;
  background:url(../image/common/circle01.png);
  position: absolute;
  z-index: 1;
  top:-15px;
  right:35px;
  animation: poyoyon 3.0s ease-in-out infinite ;
}
.b-main .b-pageTtl{
  margin:0;
  margin-top:-.8em;
  z-index: 2;
}
.b-main .b-img{
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  right:0;
  top:0;
  border-radius: 30px;
  width:75%;
  max-width:980px;
  height:100%;
  z-index: 1;
}
.b-copy{
  display: block;
  font-family: 'Inter', sans-serif;
  color:#666;
  font-weight: 700;
  font-size:1rem;
  line-height:1;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: absolute;
  bottom:20px;
  right:-30px;
}
@media screen and (max-width: 1500px) {
  .b-copy{
    right:-2em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .b-main{
    padding-left:0;
    margin-top:20px;
  }
  .b-main .b-pageTtl{
    margin-left:5vw;
  }
  .b-main .b-img{
    width:calc(100% - 1vw);
    max-width:calc(100% - 1vw);
    right:auto;
    left:0;
  }
  .b-copy{
    right:-1em;
  }
}
@media screen and (max-width: 767px) {
  .b-main{
    padding-left:0;
    margin-left:0;
    margin-top:20px;
    height:50vw;
  }
  .b-main::after{
    top:-30px;
  }
  .b-main .b-pageTtl{
    padding-left:6vw;
  }
  .b-main .b-img{
    width:100%;
    right:auto;
    left:0;
    border-radius:0 30px 30px 0 ;
  }
  .b-copy{
    right:-2.5vw;
  }
}
@media screen and (max-width: 600px) {
  .b-main{
    margin-top:3vw;
  }
  .b-main::after{
    top:-5vw;
    right:5vw;
    width:15vw;
    height:15vw;
    background-size:contain;
  }
  .b-main .b-img{
    border-radius:0 3vw 3vw 0 ;
  }
  .b-copy{
    font-size:1.5vw;
    bottom:2vw;
  }
}

/* b-sec -----------*/
.b-sec{
  padding:100px 0;
  line-height:2.14;
}
.b-sec.fst{
  padding-top:0;
  margin-top:80px;
}
@media screen and (max-width: 600px) {
  .b-sec{
    padding:10vw 0;
  }
  .b-sec.fst{
    margin-top:6vw;
  }
}

/* b-ttl -----------*/
.b-pageTtl,
.b-ttl{
  font-size:3.6rem;
  font-weight: 600;
  color:#614c3f;
  line-height:1;
  letter-spacing: 0.1em;
  display: flex;
  flex-direction: column-reverse;
}
.b-ttl{
  margin-bottom:45px;
}
.b-pageTtl span,
.b-ttl span,
span.txtS{
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  letter-spacing: .1em;
  font-size:1.2rem;
  color:#64c8c9;
}
.b-pageTtl span,
.b-ttl span{
  margin:0 0 1em .1em;
}
@media all and (-ms-high-contrast: none) {
.b-pageTtl span,
.b-ttl span{
  margin:0 0 1.5em .1em;
}
}

.b-ttl.m-vcl{
  flex-direction: column !important;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.b-ttl.m-vcl span{
  margin:.1em 2em 0 0;
}
@media screen and (max-width: 767px) {
  .b-pageTtl,
  .b-ttl{
    font-weight: bold;
  }
}
@media screen and (max-width: 600px) {
  .b-pageTtl{
    font-size:6vw;
  }
  .b-ttl{
    font-size:5.5vw;
  }
  .b-ttl{
    margin-bottom:8vw;
  }
  .b-pageTtl span,
  .b-ttl span,
  span.txtS{
    font-size:2.5vw;
  }
  .b-ttl.m-vcl span{
   margin:.1em 1.5em 0 0;
  }
}

/* b-ttl-s -----------*/
.b-ttl-s{
  margin-top:-.3em;
  margin-bottom:35px;
}
.b-ttl-s,
.b-ttl-s span{
  font-size:3rem;
  line-height:1.6;
}
@media screen and (max-width: 600px) {
  .b-ttl-s{
    margin-bottom:4vw;
  }
  .b-ttl-s,
  .b-ttl-s span{
    font-size:5vw;
  }
}
/* m-underline */
.b-ttl-s.m-underline span{
  padding:0 .3em;
  position: relative;
  background: linear-gradient( transparent 0%, transparent 60%, #c6d996 60%,#c6d996 85%, transparent 85%);
}
@media all and (-ms-high-contrast: none) {
  .b-ttl-s.m-underline span{
    background: linear-gradient( transparent 0%, transparent 45%, #c6d996 45%,#c6d996 70%, transparent 70%);
  }
}

/* table -----------*/
table{
  border-top:1px solid #ccc;
}
tr{
  border-bottom:1px solid #ccc;
}
th,td{
  line-height:1.4;
  text-align: left;
  padding:1.5em 1.8em;
}
th{
  background:#cfeae4;
}
@media all and (-ms-high-contrast: none) {
  th,td{
    padding:1.5em 1.8em 1.2em;
  }
}
@media screen and (max-width: 600px) {
  th,td{
    padding:1.5em;
  }
}


/*---------------------------------

 main
 common section

---------------------------------*/

/* sec-imp ----------*/
.sec-imp{
  background:url(../about/image/imp-bg.png) center center / cover;
  padding:0;
}
.sec-imp .container{
  display: flex;
  align-items: center;
  padding:75px 0;
  background:url(../about/image/imp-img.png) right 55px bottom no-repeat;
}
.sec-imp .b-ttl{
  margin:0 100px 0 75px;
}
.sec-imp ol{
  padding-left:0;
  margin:0;
}
.sec-imp li{
  display:flex;
  align-items: center;
  color:#614c3f;
  font-size:2.2rem;
  font-weight: 600;
  margin-bottom:18px;
}
.sec-imp li::before{
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  color:#90c872;
  margin-right:35px;
}
  .sec-imp li,
  .sec-imp li::before{
    line-height:1.4;
  }
.sec-imp li:nth-child(1)::before{ content:"01"; }
.sec-imp li:nth-child(2)::before{ content:"02"; }
.sec-imp li:nth-child(3)::before{ content:"03"; }
.sec-imp li:nth-child(4)::before{ content:"04"; }
.sec-imp li:nth-child(5)::before{ content:"05"; }
.sec-imp .b-lnk{
  margin-top:35px;
}
.sec-imp .b-lnk a{
  width:320px;
}
@media all and (-ms-high-contrast: none) {
  .sec-imp li::before{
    margin-top:-.4em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px){
  .sec-imp .container{
    background-size:380px;
    background-position: bottom right ;
  }
}
@media screen and (max-width: 767px){
  .sec-imp .container{
    justify-content: space-around;
    align-items: flex-start;
    padding-bottom:80vw;
    background-size: 65%;
    background-position: bottom center;
  }
  .sec-imp .b-ttl{
    margin: 0 ;
  }
  .sec-imp .b-txt{
    margin:0;
  }
  .sec-imp li{
    font-weight: bold;
    align-items: flex-start;
  }
  .sec-imp .container{
    position: relative;
  }
  .sec-imp .b-lnk{
    position: absolute;
    width:90vw;
    right:0;
    bottom:62vw;
    text-align: center;
  }
}
@media screen and (max-width: 600px) {
  .sec-imp .container{
    padding-top:10vw;
  }
  .sec-imp .b-ttl{
    margin:0 8vw 0 3vw;
  }
  .sec-imp li{
    margin-bottom:.8em;
  }
  .sec-imp li::before{
    margin-right:1em;
  }
  .sec-imp li,
  .sec-imp li::before{
    font-size:4.2vw;
  }
  .sec-imp .b-lnk a{
    width:60vw;
    padding:1.1em 0;
  }
}

/* sec-imp ----------*/
.sec-svs .b-ttlWrap{
  display: flex;
  align-items: flex-end;
  margin-bottom:45px;
}
.sec-svs .b-ttlWrap .b-ttl,
.sec-svs .b-ttlWrap .e-lead{
  margin:0;
}
.sec-svs .b-ttlWrap .b-ttl{
  margin-right:30px;
}
.sec-svs .b-ttlWrap .e-lead{
  line-height:1;
}
@media all and (-ms-high-contrast: none) {
  .sec-svs .b-ttlWrap .e-lead{
    padding-bottom:.2em;
  }
}
@media screen and (max-width: 767px){
  .sec-svs .b-ttlWrap{
    display: block;
  }
  .sec-svs .b-ttlWrap .e-lead{
    margin-top:.8em;
    line-height:1.5;
  }
}
.b-svss{
  display: flex;
  justify-content: space-around;
}
.b-svss > div{
  width:30%;
  max-width:304px;
  position: relative;
}
.b-svss > div dl,
.b-svss > div .b-lnk{
  padding-left:15px;
}
.b-svss > div dl{
  margin-top:-55px;
  position: relative;
  z-index: 1;
}
.b-svss > div dt{
  display: inline-block ;
  background:#fdf9ef;
  font-weight: 600;
  line-height:1;
  font-size:2.4rem;
  margin-bottom:10px;
}
@media all and (-ms-high-contrast: none) {
  .b-svss > div dt{
    padding-top:.3em;
  }
}
.b-svss > div dd{
  line-height:1.71;
}
.b-svss .e-svs02{
  margin-left:15px;
  animation-delay: .2s;
}
.b-svss .e-svs03{
  animation-delay: .4s;
}
/* circle */
.b-svss .b-img{
  position: relative;
}
.b-svss .b-img::after{
  content:"";
  display: block;
  background-size:contain;
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  z-index: 1;
  width:110px;
  height:110px;
  animation: fuwafuwa 2s infinite ease-in-out .8s alternate;
}
.b-svss .e-svs01 .b-img::after{
  background-image: url(../image/common/circle01.png);
  top:10px;
  left:-10px;
}
.b-svss .e-svs02 .b-img::after{
  background-image: url(../image/common/circle02.png);
  top:38%;
  left:-40px;
}
.b-svss .e-svs03 .b-img::after{
  background-image: url(../image/common/circle03.png);
  top:38%;
  right:-40px;
}
@media screen and (max-width: 767px){
  .b-svss{
    display: block;
  }
  .b-svss > div{
    display: flex;
    align-items: center;
    width:100%;
    max-width:100%;
  }
  .b-svss > div+div{
    margin-top:25px;
  }
  .b-svss > div dl,
  .b-svss > div .b-lnk{
    padding-left:8%;
  }
  .b-svss > div dl{
    margin-top:0;
  }
  .b-svss > div dt{
    background:none;
    font-weight:bold;
  }
  .b-svss .b-img{
    width:35%;
    min-width: 35%;
  }
  .b-svss .e-svs02{
    margin-left:auto;
    animation-delay: 0;
  }
  .b-svss .e-svs03{
    animation-delay: 0;
  }
  /* circlr */
  .b-svss .b-img::after{
    width:35%;
    height:35%;
  }
  .b-svss .e-svs01 .b-img::after{
    top:5%;
    left:-5%;
  }
  .b-svss .e-svs02 .b-img::after{
    top:60%;
    right:-5%;
    left:auto;
  }
  .b-svss .e-svs03 .b-img::after{
    top:50%;
    left:-10%;
    right:auto;
  }
}
@media screen and (max-width: 600px){
  .b-svss .b-img{
    width:40%;
    min-width: 40%;
  }
  .b-svss > div+div{
    margin-top:8vw;
  }
  .b-svss > div dt{
    font-size:4.2vw;
  }
  .b-svss > div .b-lnk{
    margin-top:3vw;
  }
}

/* sec-gallery ----------*/
.sec-gallery .container{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
}
.sec-gallery .container::before{
  content:"";
  display: block;
  position: absolute;
  right:0;
  background:url(../facility/image/gallery-img.png) center center / contain no-repeat;
  width:126px;
  height:126px;
  margin-top:-88px;
  right:25px;
  animation: fuwafuwa 2s infinite ease-in-out .8s alternate;
}
.sec-gallery .e-lead{
  line-height:1.5;
  margin-bottom:28px;
}
.sec-gallery .b-img{
  width:78%;
}
.sec-gallery .b-modalWrap{
  display: flex;
  flex-wrap: wrap;
  justify-content:flex-start;
}
.sec-gallery .b-modalWrap .modal-opn{
  width:32.5%;
  margin-bottom:1.2%;
  overflow: hidden;
  cursor: pointer;
  margin-left:0;
  margin-right:1.24%;
}
.sec-gallery .b-modalWrap .modal-opn:nth-of-type(3n){
  animation-delay: .2s;
}
.sec-gallery .b-modalWrap .modal-opn:nth-of-type(3n-1){
  animation-delay: .4s;
  margin-right:0;
}
@media screen and (min-width: 768px){
  .sec-gallery .b-modalWrap div.modal-opn img{
    transform: scale(1,1);
    transition:transform .4s;
  }
  .sec-gallery .b-modalWrap div.modal-opn:hover img{
    transform: scale(1.2,1.2);
    transition:transform .4s;
  }
}
@media screen and (min-width: 601px){
  .sec-gallery .e-lead{
    font-size:1.5rem;
  }
}
@media screen and (max-width: 767px){
  .sec-gallery .b-ttl{
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    flex-direction: column-reverse !important;
    margin-bottom:15px;
  }
  .sec-gallery .b-ttl span{
    margin:0 0 1em .1em;
  }
  .sec-gallery .container{
    display:block;
  }
  .sec-gallery .container::before{
    width:110px;
    height:110px;
    right:0;
    top:0;
    margin-top:0;
  }
  .sec-gallery .b-img{
    width:100%;
  }
}
@media screen and (max-width: 600px){
  .sec-gallery .container::before{
    right:-2vw;
    width:20vw;
    height:20vw;
    margin-top: 3vw;
  }
}

/* */

/* b-lnkList ----------*/
.b-lnkList ul{
  font-size:0;
}
.b-lnkList ul li{
  display: flex;
  align-items: flex-start;
  line-height:1.3em;
}
.b-lnkList ul li::before{
  content:"";
  display: block;
  width:.6em;
  min-width:.6em;
  height:.6em;
  margin-top:.35em;
  margin-right:.4em;
  background:url(../image/common/arw-bl.png) center center / contain no-repeat;
}
@media all and (-ms-high-contrast: none) {
  .b-lnkList ul li::before{
    margin-top:.15em;
  }
}
@media screen and (min-width: 601px){
  .b-lnkList ul li,
  .b-lnkList ul li a{
    font-size:1.8rem;
  }
}

/*---------------------------------

 NEWS

---------------------------------*/

/* b-catLst ----------*/
.b-catLst{
  font-size:0;
  text-align: center;
  margin:40px 0 50px;
}
.b-catLst *{
  font-size:1.2rem;
  line-height:1;
}
.b-catLst li{
  margin-top:10px;
}
.b-catLst li a,
.b-catLst li span{
  display: inline-block;
  min-width:100px;
  padding:.65em 1.35em .55em 1.4em;
  margin:0 5px;
  border-radius: 50px;
  z-index: 1;
  overflow:hidden;
  position:relative;
  text-align: center;
}
@media all and (-ms-high-contrast: none) {
  .b-catLst li a,
  .b-catLst li span{
    padding:.8em 1.3em .5em;
  }
}
.b-catLst li span,.b-catLst li a.select{
  background:#64c8c9;
  border:1px solid #64c8c9;
  color:#fff;
}
.b-catLst li a{
  border:1px solid #999;
}
@media screen and (min-width: 768px){
  .b-catLst li a::after{
    content:"";
    display: block;
    width:105%;
    height:100%;
    position: absolute;
    left:0;
    top:0;
    z-index: -1;
    background:#64c8c9;
    transform:scale(0, 1); transform-origin:left top; transition:transform .4s;
  }
  .b-catLst li a:hover{
    opacity: 1;
    color:#fff;
    border:1px solid #64c8c9;
  }
  .b-catLst li a:hover::after{
    transform:scale(1, 1); transform-origin:left top; transition:transform .4s;
  }
}
@media screen and (max-width: 600px){
  .b-catLst{
    margin:5vw 0 8vw;
  }
  .b-catLst *{
    font-size:2.5vw;
  }
  .b-catLst li{
    margin-top:2vw;
  }
  .b-catLst li a,
  .b-catLst li span{
    min-width:10em;
  }
}

/* b-postLst ----------*/
.b-postLst{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-right:-3.5%;
}
.b-postLst .b-post{
  width:22%;
  margin-right:2.9%;
  margin-bottom:45px;
}
@media screen and (max-width: 1000px){
  .b-postLst{
    margin-right:0;
  }
  .b-postLst .b-post{
    width:48%;
    margin-right:4%;
  }
  .b-postLst .b-post:nth-child(3n){
    margin-right:4%;
  }
  .b-postLst .b-post:nth-child(2n){
    margin-right:0;
  }
}
@media screen and (max-width: 600px){
  .b-postLst .b-post{
    width:100%;
    margin-right:0 !important;
    margin-bottom:10vw;
  }
}
@media screen and (min-width: 1001px){
  .b-postLst .b-post:nth-child(4n+2){
    animation-delay: .2s;
  }
  .b-postLst .b-post:nth-child(4n+3){
    animation-delay: .3s;
  }
  .b-postLst .b-post:nth-child(4n){
    animation-delay: .4s;
  }
}
@media screen and (min-width:768px) and (max-width: 1000px){
  .b-postLst .b-post:nth-child(3n+2){
    animation-delay: .2s;
  }
  .b-postLst .b-post:nth-child(3n+3){
    animation-delay: .3s;
  }
}
@media screen and (min-width:601px) and (max-width: 767px){
  .b-postLst .b-post:nth-child(2n){
    animation-delay: .15s;
  }
}
/* b-thumb */
.b-postLst .b-thumb{
  border-radius:10px;
  overflow: hidden;
}
@media screen and (min-width: 768px){
  .b-postLst a .b-thumb img{
    transform: scale(1,1);
    transition:transform .4s;
  }
  .b-postLst a:hover .b-thumb img{
    transform: scale(1.2,1.2);
    transition:transform .4s;
  }
}
/* time */
.b-post time{
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  color:#64c8c9;
  font-size:1.2rem;
  line-height:1;
  letter-spacing: .1em;
}
@media screen and (max-width: 600px){
  .b-post time{
    font-size:2.8vw;
  }
}

/* e-detail */
.b-postLst .e-detail dt{
  line-height:1.5;
  margin-bottom:.4em;
  margin-top:.1em;
}
.b-postLst .e-detail dd{
  line-height:1.65;
}
.b-postLst .e-detail dt{
  color:#614c3f;
  font-weight: 600;
  letter-spacing: .1em;
}
@media screen and (min-width: 601px){
  .b-postLst .e-detail dt{
    font-size:1.6rem;
  }
}
@media screen and (max-width: 600px){
  .b-postLst .e-detail{
    width:93%;
    margin:auto;
  }
  .b-postLst .e-detail dt{
    font-size:3.6vw;
    font-weight: bold;
  }
}
/* e-cat */
.e-cat{
  position: relative;
  z-index: 1;
  margin-top:-1em;
  margin-bottom:.8em;
}
.e-cat span,
.e-cat a{
  line-height:1;
  color:#fff;
  font-size:1.2rem;
  padding:.7em 1.3em .6em;
}
@media all and (-ms-high-contrast: none) {
  .e-cat span,
  .e-cat a{
    padding:.8em 1.3em .4em;
  }
}
.e-cat a{
  display: inline-block;
  position: relative;
  border-radius: 50px;
  overflow: hidden;
  cursor:pointer;
}
.e-cat a::before,
.e-cat a::after{
  content:"";
  display: block;
  width:105%;
  height:100%;
  position: absolute;
  left:0;
  top:0;
  z-index: -1;
}
.e-cat a::after{
  background:#64c8c9;
  transform:scale(0, 1); transform-origin:left top; transition:transform .4s;
}
.e-cat a:hover{
  opacity: 1;
}
.e-cat a:hover::after{
  transform:scale(1, 1); transform-origin:left top; transition:transform .4s;
}
.e-cat span.m-cat01,
.e-cat a.m-cat01::before{
  background:#90c872;
}
.e-cat span.m-cat02,
.e-cat a.m-cat02::before{
  background:#ddb957;
}
.e-cat span.m-cat03,
.e-cat a.m-cat03::before{
  background:#ed9052;
}
.e-cat span.m-cat04,
.e-cat a.m-cat04::before{
  background:#a0d0e6;
}
@media screen and (max-width: 767px){
  .e-cat{
    margin-bottom:.5em;
  }
}
@media screen and (max-width: 600px){
  .e-cat span{
    font-size:3vw;
  }
}

/* b-pager ----------*/
.b-pager ul *{
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  line-height:1;
}
.b-pager ul,
.b-pager ul span,
.b-pager ul a{
  display: flex;
  justify-content: center;
  align-items: center;
}
.b-pager li{
  width:34px;
  height:34px;
  margin:0 5px;
}
.b-pager ul span,
.b-pager ul a{
  width:100%;
  height:100%;
  border-radius: 50%;

}
.b-pager ul span.current,.b-pager ul a.current{
  background:#64c8c9;
  border:1px solid #64c8c9;
  color:#fff;
}
.b-pager ul a{
  background:#fff;
  border:1px solid #999;
}
@media screen and (min-width: 768px){
  .b-pager ul a:hover{
    background:#64c8c9;
    border:1px solid #64c8c9;
    color:#fff;
  }
}
@media screen and (max-width: 600px){
  .b-pager li{
    width:8vw;
    min-width:8vw;
    height:8vw;
    margin:0 1.3vw;
  }
}

/*---------------------------------

 modal

---------------------------------*/
#wrap.fix {
	width:100%;
	position: fixed;
}
.modal {
	display: block;
  visibility: hidden;
  opacity: 0;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 500;
}
.mdlFdIn{
  animation: mdlFdIn .5s forwards ease-out;
}
.mdlFdOut{
  animation: mdlFdOut .5s forwards ease-out;
}
@keyframes mdlFdIn {
  0%{
    visibility: visible;
    opacity: 0;
  }
  100%{
    visibility: visible;
    opacity: 1;
  }
}
@keyframes mdlFdOut {
  0%{
    visibility: visible;
    opacity: 1;
  }
  99%{
    visibility: visible;
    opacity: 0;
  }
  100%{
    visibility: hidden;
    opacity: 0;
  }
}
.modal-inner,
.modal-bg {
	width: 100vw;
	height: 100vh;
}
.modal-bg {
	background: rgba(0, 0, 0, .6);
	position: absolute;
}
.modal-content {
  display: flex;
  justify-content: center;
  align-items: center;
	width: 80%;
  height:80%;
	max-width: 1100px;
	position: absolute;
	left: 50%;
	top: 50%;
  text-align: center;
	transform: translate(-50%, -50%);
}
.modal-content img{
  object-fit: contain;
  /*! object-fit:scale-down */
}
.modal-content ul.slider {
	background: #fff;
	padding: 10px 0;
}
.modal-content li.slick-slide img {
	margin: auto;
}
@media screen and (orientation:landscape){
	.modal-content li.slick-slide img {
		width:auto;
		max-height:50vh;
	}
}
.modal-cls{
	width: 32px;
	height: 32px;
	background: url(../image/common/ic-close.png) center center / contain no-repeat;
	position: absolute;
	right: 0;
	top: -40px;
	cursor: pointer;
	z-index: 1;
}

/*---------------------------------

 animation

---------------------------------*/

/* header */
.b-hd1,
.b-logo,
.b-homeTtl,
.b-nav nav li{
  opacity: 0;
  animation: hdAn .5s forwards ease-out;
}
.b-hd1,
.b-logo,
.b-homeTtl{ animation-delay: .3s; }
.b-nav nav li:nth-child(1){ animation-delay: .3s;}
.b-nav nav li:nth-child(2){ animation-delay: .4s;}
.b-nav nav li:nth-child(3){ animation-delay: .5s;}
.b-nav nav li:nth-child(4){ animation-delay: .6s;}
.b-nav nav li:nth-child(5){ animation-delay: .7s;}
.b-nav nav li:nth-child(6){ animation-delay: .8s;}
@keyframes hdAn {
  0% {
    opacity: 0;
     transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* b-pageTtl */
.b-pageTtl{
  opacity: 0;
  transform: scale(1.4,1.4);
  animation: pgTtl .5s forwards ease-out .3s;
}
@keyframes pgTtl {
  0%{
    transform: scale(1.4,1.4);
    opacity: 0;
  }
  100%{
    transform: scale(1,1);
    opacity: 1;
  }
}

/* fadeIn */
.trg{
  opacity: 0;
  transform: translateY(30px);
}

.fadeIn{
  animation: fadeIn .5s forwards ease-out .05s;
}
@keyframes fadeIn {
  0%{
    opacity: 0;
    transform: translateY(30px);
  }
  100%{
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes poyoyon {
  0%, 40% {
    transform: skew(0deg, 0deg);
  }
  5% {
    transform: skew(5deg, 5deg);
  }
  10% {
    transform: skew(-4deg, -4deg);
  }
  15% {
    transform: skew(3deg, 3deg);
  }
  20% {
    transform: skew(-2deg, -2deg);
  }
  25% {
    transform: skew(1deg, 1deg);
  }
  30% {
    transform: skew(-0.6deg, -0.6deg);
  }
  35% {
    transform: skew(0.3deg, 0.3deg);
  }
}
.jump{
  animation: jump .8s forwards ease-out;
}
@media screen and (max-width: 600px){
.jump{
  animation: jumpSP .8s forwards ease-out;
}
}
@keyframes jump {
  0%  {
    opacity: 0;
    transform: scale(1.0, 1.0) translate(0, 80px);
  }
  40% {
    opacity: 1;
    transform: scale(0.9, 1.05) translate(0, -50px);
  }
  60% {
    opacity: 1;
    transform: scale(1.1, 0.9);
  }
  80% {
    transform: scale(0.9, 1.05) translate(0, 10px);
  }
  100% {
    opacity: 1;
    transform: scale(1.0, 1.0) translate(0, 0);
  }
}
@keyframes jumpSP {
  0%  {
    opacity: 0;
    transform: scale(1.0, 1.0) translate(0, 8vw);
  }
  40% {
    opacity: 1;
    transform: scale(0.9, 1.05) translate(0, -5vw);
  }
  60% {
    opacity: 1;
    transform: scale(1.1, 0.9);
  }
  80% {
    transform: scale(0.9, 1.05) translate(0, 1vw);
  }
  100% {
    opacity: 1;
    transform: scale(1.0, 1.0) translate(0, 0);
  }
}
@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}
@keyframes fuwafuwa1 {
  0% {
    transform:translate(0, 0) rotate(7deg);
  }
  50% {
    transform:translate(0, -1) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(-7deg);
  }
}
@keyframes fuwafuwa1-r {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -1) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}
@keyframes fuwafuwa2 {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:scale(1.05 , 1.05) translate(0, -3px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}

/*---------------------------------

 pagetop

---------------------------------*/
.pageTop{
  position: fixed;
  width:90px;
  height:90px;
  right:30px;
  bottom:30px;
  z-index: 5;
  animation: 3.5s Roll ease-in-out infinite;
}
.pageTop a:hover{
  opacity: 1;
}
.pageTop::before{
  content:"";
  display: block;
  width:100%;
  height:100%;
  background:#64c8c9;
  border-radius: 50%;
  position: absolute;
  top:0;
  left:0;
  z-index: -1;
  transform: scale(.9,.9);
}
@keyframes Roll{
	0%{
		transform: rotateZ(15deg) scale(0.9);
	}
	50%{
		transform: rotateZ(-15deg) scale(1.0);
	}
	100%{
		transform: rotateZ(15deg) scale(0.9);
	}
}
@keyframes fadeOut {
  0%{
    opacity: .5;
    transform: scale(.9,.9);
  }
  20%{
    opacity: .5;
    transform: scale(.9,.9);
  }
  100%{
    opacity: 0;
    transform: scale(2.5,2.5);
  }
}
@media screen and (min-width: 768px){
  .pageTop:hover::before{
    animation: fadeOut 1.3s infinite ease-out;
  }
}
@media screen and (max-width: 767px){
  .pageTop{
    width:12vw;
    height:12vw;
  }
}
@media screen and (max-width: 600px){
  .pageTop{
    right:3vw;
    bottom:5vw;
  }
}

/*---------------------------------

 sp / pc

---------------------------------*/

@media screen and (min-width: 768px){
  .sp{ display: none !important;}
}
@media screen and (max-width: 767px){
  .pc{ display: none !important;}
}
@media screen and (min-width: 601px){
  .sp2{ display: none !important;}
}
