@charset "utf-8";

html{scroll-behavior: smooth;}
body{background: #DCDDDD;}
body,#wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;

}

.scrolly{
  overflow:hidden;
  overflow-y:scroll;
}


	a{color:#727171;
    -webkit-transition:ease .5s;
     transition:ease .5s;}
	a:hover{
    opacity:0.8;
    /*text-decoration:none;*/
    color:#c5c5c5;
    }

.pc-none {display:none!important;}
.sp-none {display:block!important;}

@media only screen and (max-width:767px){
	.pc-none {display:block!important;}
	.sp-none {display:none!important;}
	}

.red{color:#ff0000;}
.white{color:#fff;}
.black{color:#000;}

.bg-red{background-color:#ff0000;}
.bg-white{background-color:#fff;}
.bg-black{background-color:#000;}

small{line-height:100%;font-size:85%;}
table{line-height:160%;width: 100%;}
table th,table td{padding:0px 15px 0px 0px;}


/*========▼▼header▼▼========*/

#header {
  position: absolute;
  z-index: 77;
  top:0;
  width: 100%;
  max-width: 1140px;
  margin: auto;
}

/* bager menu */
nav{
 width: 100%;
}

.navbar_toggle{
 z-index:9999;
 position: fixed;
    top: 20px;
    right: 20px;
}
.navbar_toggle_icon {
 position: relative;
 display: block;
 height: 2px;
 width: 30px;
 background: #fff;
 -webkit-transition: ease .5s;
 transition: ease .5s;
}
.navbar_toggle_icon:nth-child(1) {
 top: 0;
}
.navbar_toggle_icon:nth-child(2) {
 margin: 8px 0;
}
.navbar_toggle_icon:nth-child(3) {
 top: 0;
}
/*OPEN時の動き*/
.navbar_toggle.open .navbar_toggle_icon:nth-child(1) {
 top: 10px;
 -webkit-transform: rotate(45deg);
 transform: rotate(45deg);
 background: #727171;
}
.navbar_toggle.open .navbar_toggle_icon:nth-child(2) {
 -webkit-transform: translateY(-50%);
 transform: translateY(-50%);
 opacity: 0;
}
.navbar_toggle.open .navbar_toggle_icon:nth-child(3) {
 top: -10px;
 -webkit-transform: rotate(-45deg);
 transform: rotate(-45deg);
 background: #727171;
}
.menu ul{text-align: center;}
.menu{
 -webkit-transition:ease .5s;
 transition:ease .5s;
 z-index:1000;
 background: #dcdddd;
 opacity: 0;
}
.menu ul li{
 padding: 1em 0;
 font-size: 140%;
	line-height: 7px;
 font-weight: bold;
	letter-spacing: 0.2em;
}

.menu.open {
 opacity: 1;
 -webkit-overflow-scrolling: touch;
   width: 100%;
  height: 100vh;
  z-index: 999;
  position: fixed;
  top: 0px;
}
.menu copyright {
    display: block;
    position: absolute;
    bottom: 10px;
    text-align: center;
    width: 100%;
    margin:10px auto;
    color:#fff;
    font-size:100%;
}
#header .menu h1{max-width:100px; margin:40px auto;}
#header .menu ul li a{text-decoration:none; }

@media screen and (max-height: 740px) {
  .menu.open {overflow-y: scroll;}
  .menu copyright {
  position: relative;
  bottom:0;
  }
}



/*PCの場合*/
@media screen and (min-width: 720px) {
    #header{position:relative; padding:10px 0;}
    #header .menu h1{max-width:45px;margin:10px 20px 10px;opacity: 1;}
    nav{
     display: flex;
     flex-direction: row;
    }
    .navbar_toggle{
     display: none;
    }
    .menu{
     width: 100%;
     opacity: 1;
    }
    .menu ul {
    position: absolute;
    right: 0;
    bottom:30px;
    }
    .menu ul li{
     border-bottom: none;
     display: inline;
     padding: 3em;
     font-size: 90%;
    font-weight: normal;
    letter-spacing: 0.1em;
    }
    /*.menu ul li:last-child{padding-right:0;}*/
    .menu.open {
    opacity: 1;
    -webkit-overflow-scrolling: touch;
    width: auto;
    height: auto;
    z-index: 999;
    position: static;
    top: 0px;
    text-align: center;
  }
  .menu copyright,.menu.open copyright{display:none;}
}

@media screen and (max-width: 480px) {
  #header .menu h1 {
    max-width: 48px;
    margin: 15px auto;}
}

/* nav02 pulldown */
#head-menu li.nav02{
  position: relative;
}

#head-menu li.nav02 ul{
  position: absolute;
  top: 82px;
  left: 0;
}

#head-menu li.nav02 ul li{
  overflow: hidden;
  width: 200px;
  height:0px;
  display: grid;
  padding: 0;
  -moz-transition: .3s;
  -webkit-transition: .3s;
  -o-transition: .3s;
  -ms-transition: .3s;
  transition: .3s;
}
#head-menu li.nav02 ul li a{
  padding: 20px;
   
  background: #dcdddd;
  text-align: left;
}
#head-menu li.nav02 ul li a:hover{
  background: #666666;
  opacity: 1;
}

#head-menu li.nav02:hover ul li{
  overflow: visible;
  height:50px;
}


@media screen and (max-width: 720px) {
  #head-menu li.nav02{
    position:relative;
  }

  #head-menu li.nav02 ul{
    position: relative;
    top:25px;
    margin-bottom: 25px;
  }
  #head-menu li.nav02 ul li{opacity: 1;height: auto; width: auto;font-size: 80%;line-height: 7px; letter-spacing: 0.15em;font-weight: normal;}
  #head-menu li.nav02:hover ul li{ height: auto;}
  #head-menu li.nav02 ul li a{text-align: center;padding: 13px;}
  #head-menu li.nav02 ul li a:hover{background: none;}
}


/*========▼▼main▼▼========*/

.swiper-pagination-bullet-active {
    opacity: 1;
    background: #ffffff;
}

/*aniation 1*/
.js-animation {
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all 1.2s;
}

.js-animation.y40 {transform: translateY(40px);transition: all 1.3s;}
.js-animation.y60 {transform: translateY(60px);transition: all 1.4s;}
.js-animation.y80 {transform: translateY(80px);transition: all 1.5s;}
.js-animation.y100 {transform: translateY(100px);transition: all 1.6s;}

.js-animation.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

/*aniation 2*/
.fadeIn {
  transition: 2s;
  opacity: 0;
}
.fadeIn.animated {
  opacity: 1;
}
.fadeIn.row{transform: translate3d(0, 60px, 0);}
.fadeIn.animated.row{transform: translate3d(0, 0, 0);}

/* text move */
.movetext{opacity:0;}
.movetext span{opacity:0;}

/*========▼▼footer▼▼========*/

footer{
    width: 100%;
    text-align: center;
    margin-top: auto;
}

footer ul{border-top:1px solid #9FA0A0;padding:26px 0;}
footer ul li{display:inline;text-align:center;padding:0 3em;letter-spacing: 0.1em;font-size:90%;}
footer ul li a{color:#727171;padding: 0 16px;}
footer ul li a:hover{color:#c5c5c5;text-decoration: none;}

footer copyright{
	text-align:center;
	letter-spacing:0.03em;
	font-size:100%;
	display:block;
	padding:20px 0px;
  background: #9FA0A0;
  color: #fff;
}

@media screen and (max-width: 768px) {
  footer ul li {padding:0;}
}

@media screen and (max-width: 380px) {
  footer ul li a {padding: 0 8px;}
}


/*========▼▼PC,SP改行▼▼========*/


@media screen and (min-width: 650px){
  .br-pc { display:block; }
  .br-sp { display:none; }
}
@media screen and (max-width: 650px){
  .br-pc { display:none; }
  .br-sp { display:block; }
}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
.pc { display: none !important; }
.sp { display: block !important; }
}
