@charset "UTF-8";
.wrapper {
  max-width: 750px;
  margin: 0 auto;
	
}

@media screen and (max-width: 767px) {
  .wrapper {
	widows: 100%;
    padding: 0 4vw;
  }
}
.header {
  text-align: center;
  padding: 40px 0 20px;
}
@media screen and (max-width: 767px) {
  .header {
    padding: 30px 0 15px;
  }
}
  .header .logo {
   padding-bottom: 40px;
  }
@media screen and (max-width: 767px) {
  .header .logo {
    width: 50vw;
	padding-bottom: 30px; 
  }
.header .wrapper {
	widows: 100%;
    padding: 0;
  }	
}
main {
  overflow: hidden;
}
main img {
	vertical-align: bottom;
}
.txt1 {
  font-size: 26px;
  line-height: 1.6;
  font-weight: bold;
  text-align: left;
  max-width: 550px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .txt1 {
    font-size: 20px;
	 line-height: 1.4; 
  }
}
.txt2 {
  font-size: 24px;
  line-height: 1.4;
  text-align: left;
  max-width: 480px;
  margin: 0 auto;
font-weight: 500;	
}
.white {
	color: #fff;
}
@media screen and (max-width: 767px) {
  .txt2 {
    font-size: 18px;
	 line-height: 1.4; 
  }
	
}
h2 {
  font-size: 40px;
  line-height: 1.6;
  font-weight: 900;
  text-align: center;
  max-width: 550px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  h2 {
    font-size: 5.0vw;
    width: 80%;
  }
}
.txt-s {
  font-size: 18px;
  line-height: 1.6;
  text-align: left;
  max-width: 600px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
.txt-s {
    font-size: 3.0vw;
    width: 100%;
  }
}
img-100 {
	width: 100%;
}
.mv, .contents01, .contents02, .flyer {	
text-align: center;
padding: 0;
margin: 0 auto;	
}
.mv .wrapper img {
	width: 100%;
}
@media screen and (max-width: 767px) {
.mv .wrapper {
	padding: 0;
}		
}
.contents01 .wrapper {
background-color: #ea7200;
color: #fff;
padding-top: 25px;
padding-bottom: 25px;	
text-align: center;	
}
.contents01 .wrapper p {
padding-top: 10px;
}
@media screen and (max-width: 767px) {
.contents01 .wrapper p {
padding: 10px 40px 0;
}
}
@media screen and (max-width: 550px) {
.contents01 .wrapper p {
padding: 10px 20px 0;
}
}
.contents01 .badge {
  display: inline-block;
  background-color: #fff; 
  color: #000;           
  font-size: 41px;   
  font-weight: bold;  
  padding: 16px 40px;   
  border-radius: 9999px;     /* 完全に丸いカプセル状にする指定 */
}
@media screen and (max-width: 767px) {
.contents01 .badge {       
  font-size: 28px;   
}	
}
@media screen and (max-width: 550px) {
.contents01 .badge {       
  font-size: 24px; 
 padding: 16px 25px; 	
}
}
.contents02 .wrapper {
	background-image: url("../img/con02-bg.png");
	background-repeat:repeat-y;
	background-position: center;
	background-position: 100%;
	text-align: center;
	margin: 0 auto;
	padding-top: 25px;
}
@media screen and (max-width: 767px) {
.contents02 .wrapper {
padding: 0;
padding-top: 25px;	
}	 
}
.contents02 .wrapper .img-2 {
	padding: 30px 0 40px
}
.contents02 .wrapper .img-3 {
	margin-bottom: -80px;
}
@media screen and (max-width: 767px) {
.contents02 .wrapper .img-1 img {
	width: 90%;
}		
.contents02 .wrapper .img-2 img {
	width: 75%;
}	
}
.flyer .wrapper {
text-align: center;
padding: 10px 0 40px;
background-color: #feedc4;	
}
@media screen and (max-width: 767px) {
.flyer .wrapper {
padding: 10px 20px 30px;
}	
}
.flyer .img-2 {
	padding: 40px 0;
}
@media screen and (max-width: 767px) {
.flyer .img-2 {
	padding: 25px 0;
}	
}
.footer {
  text-align: center;
  padding: 20px 0 55px;
}
@media screen and (max-width: 767px) {
.footer {
  text-align: center;
  padding: 15px 0 9.7vw;
}
}   
.footer .wrapper {
	padding: 0;
}
  .footer .logo {
   padding-top: 55px; 	  
  }
@media screen and (max-width: 767px) {
  .footer .logo {
	padding-top: 9.7vw;  
    width: 50vw;
  }
}

