body  {
	font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
	font-size: 29px;
 }
a  {
	text-decoration: none;
 }

img  {
	vertical-align: top;
 }

h1  {
	font-size: 32px;
	font-weight: bold;
 }

ul  {
	padding: 0;
	margin: 0;
 }

li  {
	list-style-type: none;
 }

.flex-container  {
	display: block;
	width: 100vw;
	max-width: 1280px;
	margin: 0 auto 50px;
 }

.flex  {
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
 }

.flex-column  {
	flex-direction: column;
 }

.flex-wrap  {
	flex-wrap: wrap;
 }

.flex-between  {
	justify-content: space-between;
	align-content: space-between;
 }

.btn  {
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 22px !important;
	padding: 1em 1.2em;
	border-radius: 16px;
	background-color: rgb(200 37 29);
 }

/*	font-size: 32px !important; */
/*		padding: 18px 1em; */
.btn-lg  {
	font-size: 64px !important;
	margin: 0 auto 23px;
	padding: 18px 2em;
	border-radius: 20px;
 }

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

.navbar  {
	height: 100px;
	padding: 0 1em;
	justify-content: space-between;
 }
.header-img img {
	width: 1280px;
	max-width: 100%;
}
.slider  {
	display: block;
	width: 100vw;
	max-width: 1280px;
	background-color: rgb(89 88 87);
 }

.slider-content  {
	display: block;
	height: 42.574219vw;
	max-height: 544.95px;
	width: 64.84375%;
	overflow: hidden;
 }

.slider-content img  {
	margin-top: 50px;
	margin-left: 45px;
	height: 500px;
	width: 750px;
	object-fit: cover;
 }

.images-content  {
	display: block;
	width: 23.4375%;
	height: 23.4375vw;
	max-height: 300px;
	margin-bottom: 30px;
 }

.images-content img  {
	height: 100%;
	width: 100%;
	max-width: 100%;
	object-fit: cover;
 }

.big-image img {
	max-width: 100%;
 }

.future-contents ul li  {
	position: relative;
	margin-bottom: 100px;
 }

.future-contents ul li h2  {
	margin-bottom: 24px;
	margin-left: 175px;
	padding-left: 260px;
	line-height: 80px;
	color: rgb(234 239 199);
	background-color: rgb(92 128 52);
	position: relative;
 }

.future-contents ul li:nth-child(even) h2  {
	margin-left: 0;
	padding-left: 130px;
	margin-right: 175px;
 }

.future-contents ul li h2 .h2-icon  {
	position: absolute;
	top: 5px;
	left: 200px;
 }

.future-contents ul li:nth-child(even) h2 .h2-icon  {
	left: 70px;
 }

.future-contents ul li p  {
	margin-top: 24px;
	margin-left: 375px;
	margin-right: 50px;
	line-height: 1.4;
 }

.future-contents ul li:nth-child(even) p {
	margin-left: calc(130px - 65px);
	margin-right: 355px;
 }

.future-contents ul li .future-img  {
	height: 345px;
	width: 345px;
	position: absolute;
	left: 0;
	top: 0;
	border: 4px solid rgb(92 128 52);
	border-radius: 200px;
	box-sizing: border-box;
	overflow: hidden;
 }

.future-contents ul li .future-img img  {
	position: absolute;
	top: -4px;
	left: -4px;
	max-width: fit-content;
 }

.future-contents ul li:nth-child(even) .future-img  {
	left: inherit;
	right: 0;
 }

#product .flex  {
	align-items: flex-start;
	margin-bottom: 32px;
 }

.product-img img  {
	height: 42.96875vw;
	max-height: 550px;
	max-width: 100%;
	margin-right: 55px;
 }

.product-img h2  {
	font-size: 55px;
	margin-top: 0;
	margin-left: 80px;
 }

.product-detail li  {
	font-size: 32px;
	margin-bottom: 1em;
 }
.product-detail li span  {
	font-size: 10px;
 }

#supporters  {
	margin-top: 105px;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
 }

#supporters h2  {
	text-align: center;
	font-size: 56px;
	margin-top: 40px;
	margin-bottom: 50px;
	width: 100%;
	line-height: 100px;
	background-color: #fff;
 }

.supporter  {
	width: 1110px;
	margin-bottom: 50px;
	padding: 40px 115px 2px 20px;
	background-color: #fff;
	align-items: flex-start;
	box-sizing: border-box;
 }

.supporter .profile img  {
	width: 27.34375vw;
	max-width: 350px;
	margin: 0 30px;
	box-shadow: 8px 8px 8px #aaaaaa;
 }

.supporter .profile p  {
	text-align: center;
	font-size: 20px;
	line-height: 1.6;
	margin: 20px 0 0;
 }

.supporter .profile .name  {
	font-size: 32px;
	font-weight: bold;
	line-height: 1;
	margin: 10px 0 35px;
 }

.supporter .profile .name span  {
	font-size: 0.625em;
	font-weight: normal;
	margin-left: 8px;
 }

.message  {
	margin-left: 50px;
 }

.banner  {
	margin-top: 120px;
	padding: 2vw;
 }
 .banner-image {
	 display: flex;
	 justify-content: center;
	 align-items: center;
	 max-width: 100%;
 }

.banner img  {
	width: 18.75%;
	object-fit: cover;
 }

.banner-text  {
	margin-left: 85px;
 }

.banner-text p  {
	color: rgb(63 59 58);
	font-size: 40px;
	line-height: 1;
	letter-spacing: -2px;
	margin: 0;
 }

.banner-text p:nth-child(2)  {
	font-size: 60px;
	margin-top: 20px;
	letter-spacing: -6px;
 }

.banner-text p:nth-child(3)  {
	font-size: 70px;
	margin-top: 14px;
	font-weight: bold;
 }

.btn-lq  {
	display: block;
	font-size: 55px !important;
	height: 170px;
	width: 225px;
	padding: 20px;
	line-height: 1.2;
	vertical-align: middle;
	box-sizing: border-box;
	border-radius: 40px;
	margin-right: 11vw;
 }

.btn-lq span  {
	font-size: 30px;
 }

footer  {
	margin-top: 80px;
	color: rgb(63 59 58);
	border-top: 10px solid rgb(63 59 58);
 }

.attention  {
	font-weight: bold;
	font-size: 18px;
	margin-top: 40px;
 }

.copyright  {
	font-size: 18px;
	margin-top: 20px;
	margin-bottom: 40px;
 }

 @media screen and (max-width: 1280px){
	 body {
		 font-size: 2.3vw;
	 }
	 .flex-container {
		 margin-bottom: 3.9vw;
	 }
	 .future-contents ul li .future-img  {
		height: 320px;
		width: 320px;
		left: 6px;
	 }
	 .future-contents ul li:nth-child(even) .future-img {
		 right: 6px;
	 }
	 .future-contents ul li .future-img img {
	 	width: 103%;
	 }
	 #supporters {
		 margin-top: 8.203125vw;
	 }
	 .message {
		 margin-left: 3.9vw;
	 }
	 .supporter  {
	 	 width: 95vw;
	 	 padding: 3.1vw 8.9vw 2px 1.5vw;
	 }
	 .supporter .profile p {
		 font-size: 1.6vw;
	 }
	 .supporter .profile .name {
		 font-size: 2.5vw;
	 }
	 .product-detail li  {
		font-size: 2.5vw;
	 }
	 .banner {
		 margin-top: 9.4vw;
	 }
	 .banner-text {
		 margin-left: 6.640625vw;
	 }
	 .banner-text p  {
	 	font-size: 3.2vw;
	 }
	 .banner-text p:nth-child(2)  {
		 font-size: 4.7vw;
	 }
	 .banner-text p:nth-child(3)  {
		 font-size: 5.5vw;
	 }
	 .attention {
		 font-size: 1.6vw;
		 margin-top: 3.125vw;
	 }
	 .copyright {
		 font-size: 1.6vw;
		 margin: 1.5625vw 3.125vw;
	 }
 }

 /* 縦向きの場合 */
@media only screen and (max-width: 375px) {
  /* スタイルを記述 */
}

/* 横向きの場合 */
@media only screen and (max-width: 667px) {
  /* スタイルを記述 */
  body{
	  font-size: 16px;
  }
  .btn-lg {
	  font-size: 22px !important;
  }
  .slider-content img {
	  margin-top: 16px;
	  height: 190px;
	  width: 90%;
  }
  .future-contents ul li {
	  margin-bottom: 2em;
  }
  .future-contents ul li h2 {
	  margin: 20px 0 1em 60px;
	  padding: 0 0 0 85px;
	  font-size: 20px;
	  line-height: 40px;
  }
  .future-contents ul li:nth-child(even) h2 {
	  margin: 0 60px 1em 0;
	  padding: 0 0 0 45px;
  }
  .future-contents ul li h2 .h2-icon {
	  left: 55px;
	  height: 30px;
  }
  .future-contents ul li:nth-child(even) h2 .h2-icon {
	  left: 15px;
  }
  .future-contents ul li .future-img {
	  width: 120px;
	  height: 120px;
	  left: 1px;
  }
  .future-contents ul li:nth-child(even) .future-img {
	  left: auto;
	  right: 1px;
  }
  .future-contents ul li .future-img img {
	  top: -2px;
	  left: -2px;
  }
  .future-contents ul li p {
	  margin: 0 2em 0 2em;
  }
  .future-contents ul li:nth-child(even) p {
	  margin: 0 2em 0 2em;
  }
	.future-contents ul li p:before {
		content: "";
		display: block;
		height: 4em;
		width: 100px;
		float: left;
	}
	.future-contents ul li:nth-child(even) p:before {
		float: right;
	}
  .product-img h2 {
	  font-size: 24px;
	  margin-left: 20px;
  }
  .product-img img {
	  margin-right: 1em;
	  height: 120px;
  }
  .product-detail li {
	  font-size: 14px;
  }
  .product-detail li span {
	  display: block;
  }
  #supporters h2 {
	  font-size: 32px;
	  line-height: 2;
	  margin-bottom: 1em;
  }
  .supporter {
	  display: block;
	  padding: .5em 1em
  }
  .supporter .profile {
	  margin: 1em 1em 0 0;
	  width: 120px;
	  float: left;
  }
  .supporter .profile img {
	  width: 120px;
	  margin: 0;
  }
  .supporter .profile .name {
	  font-size: 12px;
	  margin-bottom: 2em;
  }
  .banner > .flex {
	  flex-direction: column;
  }
  .banner img {
	  width: 30vw;
	  max-height: 200px;
  }
  .banner-text {
	  margin-left: 1em;
  }
  .banner-text p {
	  font-size: 1.3em;
	  letter-spacing: -1px !important;
  }
  .banner-text p:nth-child(3) {
	  font-size: 2em;
  }
  .btn-lq {
	  font-size: 3em !important;
	  letter-spacing: 3px;
	  height: auto;
	  width: auto;
	  margin-top: 1em;
  }
    .btn-lq span {
	    font-size: .65em;
    }
}
