/*################################################################# */
@import url('https://fonts.googleapis.com/css2?family=Reem+Kufi+Ink&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Anton&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
/*	################################################################
	1. GENERAL STRUCTURES
################################################################# */
	* {
		margin: 0;
		padding: 0px;
	}
	html{
		font-size: 62.5%;
	}
body {
/* 画像ファイルの指定 */
	margin: 0;
	height: 100%;
	color: #333333;
/*	text-align: justify;*/
	font-family: 'Noto Sans JP', sans-serif;
	background-color: #FFF;


	}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-family: 'Noto Sans JP', sans-serif;}



p {
	padding: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 1.4rem;
	color: #555;
	line-height: 2.8rem;
}
span{
    font-family: 'Noto Sans JP', sans-serif;
    color: #555;
    line-height: 2.0rem;
}
img {
	height: auto;
}
a {
	padding: 0;
	margin: 0;
	color: #00A6FF;
}
a:hover,
a:focus {

}
.xs { font-size: xx-small } /* 小2 */
.xm { font-size: x-small }  /* 小1 */
.sm { font-size: small ;}    /* 小 */
.md { font-size: medium }   /* 標準 */
.la { font-size: large }    /* 大 */
.xr { font-size: x-large; line-height: 3.4rem; }  /* 大1 */
.xl { font-size: xx-large; line-height: 1.0em;  } /* 大2 */
.sr { font-size: smaller }  /* 一段階小さい */
.yellow { color:#FFD800;}
.green { color:#008630;}
.red{ color:red;}
.gold{color: #B5883F;}
.org a {color: #e35b00;}
.em { font-weight: bold;}
.op{opacity: 30%;}

::-moz-selection  {
	color: #fff;
	text-shadow:none;
	background:#2B2E31;
}


/*google map responsive*/
.ggmap {
position: relative;
padding-bottom: 50.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


/*	################################################################
	NAVIGATION
################################################################# */
.navbar {
	font-size:14px;
}
.serif{
	font-family: san-serif;
}
.navbar-brand {
	text-transform: uppercase;
	margin-top: 5px;
}
.navbar-header .navbar-brand {
	color: #C3F0C8;
}
.navbar-header .navbar-brand li+ li  {
  border-left: 1px solid #000;
}

.navbar-default .navbar-nav > li > a {
	margin-top: 15px;
	color:#FFF;
	font-weight: 400;
  font-family: 'Noto Sans JP', sans-serif;
  /*border-left: 1px solid rgba(225,225,225,0.8);*/
}
.navbar-default .navbar-nav > li > a:hover {
	color: #ccc;
}
.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
	color: #fff34f;
	background-color: transparent;

}

/*.navbar-default{

background-color: #008630;
}
*/


/*SP 固定メニュー*/
#mobileFootNav { display:none; }
@media only screen and (max-width: 991px) {
  #mobileFootNav { display:block; z-index:1030; width:100%; height:60px; position:fixed; bottom:0; }
  #mobileFootNav { background:rgba(255,255,255,0.7); border-top:1px solid #e1e1e1; }
  #mobileFootNav .ftNavBtn { float:left; width:48%; height:46px; margin:7px 1%; }
  #wrap_all { padding-bottom:60px; } // 60px上げる
}

.zure{
padding-top: 100px;
  margin-top: 100px;
}
/*	################################################################
HEADER
################################################################# */
.header {
            position: relative;
            width: 100%;
            height: 100vh;
            background: url('../../assets/img/header.jpg') no-repeat center center/cover;
        }
.header h1 {
            font-size: 3.6rem;
            font-weight: bold;
        }
 .header-content {
            position: absolute;
            top: 50%;
            left: 10%;
            transform: translateY(-50%);
            text-align: left;
            color: #333333;
            font-size: 2.5rem;
            font-weight: bold;
}

iframe {
  border:none;
  width:100%;
  height:100%;
}

/*	################################################################
ABOUT
################################################################# */
 .about-section {
            width: 100%;
            padding: 80px 20px;
            background: linear-gradient(to bottom, #001f4d, #66ccff);
            text-align: left;
            color: white;
        }


        .about-section h2 {
            font-size: 2.5rem;
            margin-bottom: 10px;
            color: #FFF;
        }

        .about-section p {
        	color: white;
            font-size: 1.2rem;
            line-height: 2.2rem;
        }

/*	################################################################
FEATURE
################################################################# */
 .feature-section {
            width: 100%;
            padding: 100px 20px;
            background: #FFFFFF;
            text-align: center;
            color: #333333;
        }
 .feature-section h2 {
            font-size: 3.4rem;
           color: #555;
             font-family: "Poppins", sans-serif;
						  font-weight: 500;
						  font-style: normal;
						  margin-bottom: 60px;
        }
.box{
	background: #FFFFFF;
	border-radius: 10px;
	padding: 30px;
	box-shadow: 3px 3px 6px -2px #aaa,
  3px 3px 8px rgba(255,255,255,0.5) inset;
  min-height: 230px;
}
.box p{
  line-height: 2rem;
  font-size: 1.4rem;
}

.box img{
	margin: 0 auto;
}


/*	################################################################
VOICE
################################################################# */
 .voice-section {
            width: 100%;
            padding: 100px 20px;
            background: #FFFFFF;
            text-align: center;
            color: #333333;
        }
 .voice-section h2 {
 	text-align: center;
            font-size: 3.4rem;
            color: #555;
             font-family: "Poppins", sans-serif;
						  font-weight: 500;
						  font-style: normal;
						  margin-bottom: 60px;
        }
.box2{
	background: #FFFFFF;
	border-radius: 5px;
	padding:20px;
	box-shadow: 3px 3px 6px -2px #aaa,
  3px 3px 8px rgba(255,255,255,0.5) inset;
  min-height: 180px;
}
.box2 p{
	text-align: left;
	line-height: 2rem;
}

.box2 img{
	margin: 0 auto;
}

/*	################################################################
BENEFIT
################################################################# */
 .benefit-section {
            width: 100%;
            padding: 100px 20px;
            background: #FAFAFA;
            color: #333333;

        }
 .benefit-section h2 {
 	text-align: center;
            font-size: 3.4rem;
            color: #555;
             font-family: "Poppins", sans-serif;
						  font-weight: 500;
						  font-style: normal;
						  margin-bottom: 60px;
        }
.benefit-section h3 {
 	text-align: center;
            font-size: 4.8rem;
            color: #43ADD8;
            text-align: left;
             font-family: "Poppins", sans-serif;
						  font-weight: 500;
						  font-style: normal;
						  margin-bottom: 10px;
        }
.box3{
	background: #FFFFFF;
	border-radius: 5px;
	padding:20px;
	box-shadow: 3px 3px 6px -2px #aaa,
  3px 3px 8px rgba(255,255,255,0.5) inset;
  min-height: 325px;
}
.box3 p{
	text-align: left;
	line-height: 2rem;
	font-size: 1.4rem;
}

.box3 img{
	margin: 0 auto;
}

.box3_padding{
	padding: 15px;
}
.box3_padding p{
	line-height: 2rem;
	font-size: 1.4rem;
	color: #555555;
}



/*  ################################################################
FAQ
################################################################# */
 .faq-section {
            width: 100%;
            padding: 30px 0 60px 0;
            background: #FFFFFF;
            text-align: center;
            color: #333333;
        }
 .faq-section h2 {
            font-size: 3.4rem;
           color: #555;
             font-family: "Poppins", sans-serif;
              font-weight: 500;
              font-style: normal;
              margin-bottom: 60px;
        }
.qa-1 {
    max-width: 100%;
    margin-bottom: 7px;
    border: 1px solid #d6dde3;
    border-radius: 5px;
}

.qa-1 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.qa-1 summary::before,
.qa-1 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa-1 summary::before {
    color: #00A6FF;
    content: "Q";
}

.qa-1 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .5s;
}

.qa-1[open] summary::after {
    transform: rotate(225deg);
}

.qa-1 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}

.qa-1[open] p {
    transform: none;
    opacity: 1;
}

.qa-1 p::before {
    color: #ff8d8d;
    line-height: 1.2;
    content: "A";
}
/*  ################################################################
DETAIL
################################################################# */
 .detail-section {
            width: 100%;
            padding: 100px 20px;
            background: #FFFFFF;
            text-align: center;
            color: #333333;
        }
 .detail-section h2 {
  text-align: center;
            font-size: 3.4rem;
            color: #555;
             font-family: "Poppins", sans-serif;
              font-weight: 500;
              font-style: normal;
              margin-bottom: 60px;
        }
 /*----------------------------------------------------
    .table02
----------------------------------------------------*/

section table   { width: 100%; }
section th, section td  { padding: 0px; border: 0.5px solid #eee; }
section th  { background: #43ADD8; }
.table02 th  { width: 30%; text-align: left; background-color: #43ADD8; color: #FFF}
.table02 p  { color: #555; text-align: left;}
@media only screen and (max-width:767px){
    .table02 { margin: 0 0px; }
    .table02 th,
    .table02 td{
        width: 100%;
        display: block;
        border-top: none;
    }
    .table02 tr:first-child th   { border-top: 1px solid #eee; }
}

/*	################################################################
PRODUCT
################################################################# */
 .product-section {
            width: 100%;
            padding: 100px 20px;
            background: #FAFAFA;
            text-align: center;
            color: #333333;
        }
 .product-section h2 {
 	text-align: center;
            font-size: 3.4rem;
            color: #555;
             font-family: "Poppins", sans-serif;
						  font-weight: 500;
						  font-style: normal;
						  margin-bottom: 60px;
        }

 /*----------------------------------------------------
    .table01
----------------------------------------------------*/

section table   { width: 100%; }
section th, section td  { padding: 0px; border: 0.5px solid #eee; }
section th  { background: #555; }
.table01 th  { width: 30%; text-align: left; background-color: #555; color: #FFF}
.table01 p  { color: #555; text-align: left;}
@media only screen and (max-width:767px){
    .table01 { margin: 0 0px; }
    .table01 th,
    .table01 td{
        width: 100%;
        display: block;
        border-top: none;
    }
    .table01 tr:first-child th   { border-top: 1px solid #eee; }
}
/*	################################################################
ABOUT US
################################################################# */
 .aboutus-section {
            width: 100%;
            padding: 100px 20px;
            background: #FFFFFF;
            text-align: center;
            color: #333333;
        }
 .aboutus-section h2 {
 	text-align: center;
            font-size: 3.4rem;
            color: #555;
             font-family: "Poppins", sans-serif;
						  font-weight: 500;
						  font-style: normal;
						  margin-bottom: 60px;
        }
.aboutus-section h3 {
 	text-align: center;
            font-size: 1.8rem;
            color: #555;
            text-align: left;
             font-family: "Poppins", sans-serif;
						  font-weight: 700;
						  margin-bottom: 10px;
        }

.box4{
	background: #FFFFFF;
	border-radius: 5px;
	padding:30px;
	box-shadow: 3px 3px 6px -2px #aaa,
  3px 3px 8px rgba(255,255,255,0.5) inset;
}
.box4 p{
	text-align: left;
	line-height: 2.4rem;
	font-size: 1.4rem;
}

.box4 img{
  margin-bottom: 30px;
}

/*  ################################################################
ページトップ
################################################################# */
.pagetop {
	display: none;
	position: fixed;
	bottom: 15px;
	right: 15px;
	z-index: 9999;
}
.pagetop a {
	display: block;
	background-color: #222;

	text-align: center;
	color: #FFF;
	font-size: 16px;
	text-decoration: none;
	padding: 7px 12px;
  filter:alpha(opacity=100);
	-moz-opacity: 1.0;
	opacity: 1.0;
	border-radius: 50%;
}
.pagetop a:hover {
	display: block;
	background-color: #555;
	text-align: center;
	color: #fff;
	font-size: 16px;
	text-decoration: none;
	padding: 7px 12px;
  filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}
@media only screen and (max-width:767px){
  .pagetop {
	bottom: 15px;
}
}

/*	################################################################
WAVE
################################################################# */
.header {
  position:relative;
 /* text-align:center;
  background: linear-gradient(60deg, rgba(84,58,183,1) 0%, rgba(0,172,193,1) 100%);*/
  color:white;
}
.logo {
  width:50px;
  fill:white;
  padding-right:15px;
  display:inline-block;
  vertical-align: middle;
}

.inner-header {
  height:65vh;
  width:100%;
  margin: 0;
  padding: 0;
}

.flex { /*Flexbox for containers*/
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.waves {
	margin-top: -150px;
  position:relative;
  width: 100%;
  height:15vh;
  margin-bottom:-7px; /*Fix for safari gap*/
  min-height:100px;
  max-height:150px;
}

.content {
  position:relative;
  height:20vh;
  text-align:center;
  background-color: white;
}

/* Animation */

.parallax > use {
  animation: move-forever 25s cubic-bezier(.55,.5,.45,.5)     infinite;
}
.parallax > use:nth-child(1) {
  animation-delay: -2s;
  animation-duration: 7s;
}
.parallax > use:nth-child(2) {
  animation-delay: -3s;
  animation-duration: 10s;
}
.parallax > use:nth-child(3) {
  animation-delay: -4s;
  animation-duration: 13s;
}
.parallax > use:nth-child(4) {
  animation-delay: -5s;
  animation-duration: 20s;
}
@keyframes move-forever {
  0% {
   transform: translate3d(-90px,0,0);
  }
  100% {
    transform: translate3d(85px,0,0);
  }
}
/*Shrinking for mobile*/
@media (max-width: 768px) {
  .waves {
    height:40px;
    min-height:40px;
  }
  .content {
    height:30vh;
  }
  h1 {
    font-size:24px;
  }
}


/*	################################################################
SLIDER
################################################################# */
.swiper-slide-active .swiper-slide__item,
.swiper-slide-duplicate-active .swiper-slide__item,
.swiper-slide-prev .swiper-slide__item {
  animation: zoomanime 15s linear 0s normal both;
  z-index: 0;
}

@keyframes zoomanime {
  0% {
	transform: scale(1);
  }
  100% {
	transform: scale(1.2);
  }
}

/*	################################################################
	FOOTER SECTION
################################################################# */
/* Footer */
footer{
	padding: 50px;
	background-image:url(../../assets/img/bg04.jpg);
	background: linear-gradient(to bottom, #001f4d, #66ccff);
	color: #5A3700;
}
footer p{
	color: #FFF;
  font-size: 11px;
}

footer a{
  color: #FFF;

}

.footer_list {
	  list-style-type: none;
	  padding: 0;
	  text-align: left;
	  font-size: 24px;
	}
	.footer_item {
	  color: white;
	  display: inline;
	  margin-right: 0px;
	  /*margin-left: 10px;*/
	}


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

@media screen and (min-width:767px) {

}
@media screen and (max-width:768px) {
  .bg_g0{
	margin: 30px 0 0 0 ;
}
  .bg_g1{
	margin: 0 0 ;
}
  .bg_g2{
	margin: 0 0 ;
}
  .bg_g1{
	background-size:130px; /* 1、2枚目の背景画像の共通サイズ */
}

 .header-container-text h3{
		font-size: 16vw;
	  }
.box3{
  min-height: 200px;
}
}


