@charset "UTF-8";
/* CSS Document */

/*******
 COMMON
*******/

body{
	text-align: center;
	margin: auto;
	width: 100%;
	font-size: 0px;
}

img {
	vertical-align:bottom;
}

@media screen and (min-width:787px){
	.display_tb,
	.display_sp{
		display: none!important;
	}
	.logo_tb{
		display: none!important;
	}
}
@media screen and (max-width:786px){
	.logo_pc{
		display: none!important;
	}
	.display_pc,
	.display_sp{
		display: none!important;
	}
	.sp_logo{
		text-align: center;
		padding: 10px 0 10px 0;
		background-color: #000000;
		position: relative;
		z-index: 100000;
	}
	.sp_logo img{
		height: 30px;
	}
}
@media screen and (max-width:600px){
	.display_tb,
	.display_pc{
		display: none!important;
	}
	.display_sp{
		display: block!important;
	}
}

@media screen and (min-width:601px){
	.sp{
		display: none !important;
		}
}
@media screen and (max-width:600px){
	.pc,
	.nbo_header{
		display: none !important;
		}
	body{
	}
	.sp_logo{
		text-align: center;
		padding: 10px 0 10px 0;
		background-color: #ffffff;
		position: relative;
		z-index: 100000;
	}
	.sp_logo img{
		height: 30px;
	}
}
.mb0{
	margin-bottom: 0px!important;
}
.mb50{
	margin-bottom: 50px!important;
}
.mb80{
	margin-bottom: 80px!important;
}
.mb30{
	margin-bottom: 30px!important;
}
.mb20{
	margin-bottom: 20px!important;
}
.mt30{
	margin-top: 30px!important;
}

.pb70{
	padding-bottom: 70px!important;
}



.topbar{
	background-color: #EFEFEF;
	display: flex;
	padding: 10px 0 10px 0px;
	position: relative;
}
.topbar .inner{
	width: 470px;
	margin: auto;
	display: flex;
	justify-content: space-between;
	position: relative;
	max-width: calc(100% - 0px);
}
@media screen and (max-width:600px){
	.topbar .inner{
		width: 280px;
	}
}
@media screen and (max-width:400px){
	.topbar .inner{
		width: 230px;
	}
}



.topbar .inner .typ1 img,
.topbar .inner .typ2 img{
	height: 50px;
}
@media screen and (max-width:600px){
	.topbar .inner .typ1 img,
	.topbar .inner .typ2 img{
		height: 30px;
	}
}

@media screen and (max-width:400px){
	.topbar .inner .typ1 img,
	.topbar .inner .typ2 img{
		height: 25px;
	}
}




.topbar .inner .typ3 {
	position: absolute;
	right: -150px;
	top: 15px;
	width: 40px;
}
@media screen and (max-width:900px){
	.topbar .inner .typ3 {
		right: -10%;
	}
}
@media screen and (max-width:600px){
	.topbar .inner .typ3 {
		right: -20%;
		top: 12%;
		width: 30px;
	}
}

@media screen and (max-width:450px){
	.topbar .inner .typ3 {
		right: -12%;
		top: 23%;
		width: 30px;
	}
}
@media screen and (max-width:400px){
	.topbar .inner .typ3 {
		right: -16%;
		top: 23%;
		width: 30px;
	}
}





.topbar .inner .typ3 img{
	max-width: 100%;
}


/*******
haeder
*******/

header{
	background: url("mainbg.jpg")no-repeat center;
	background-size: cover;
	position: relative;
}

header .h1box{
	width: 100%;
	position: absolute;
	left: 0px;
	top: 20px;
}
header h1{
	width: 900px;
	margin: auto;
	position: relative;
	z-index: 10000;

	animation: h1_op 1.5s cubic-bezier(0.33, 1, 0.68, 1) 0.2s forwards;
	animation-fill-mode: forwards;
	opacity: 0;
}


@keyframes h1_op {
  0% {
    transform: translateY(-60px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}



@media screen and (max-width:1600px){
	header h1{
		/*
		width: 52%;*/
		width: 60%;
	}
}


header h1 img{
	max-width: 100%;
}

header .mainimg{
	width: 1660px;
	margin: auto;
	max-width: 100%;
	position: relative;
	z-index: 1000;


	animation: mainimg_op 1.5s cubic-bezier(0.33, 1, 0.68, 1) 0.2s forwards;
	animation-fill-mode: forwards;
	opacity: 0;
}


@keyframes mainimg_op {
  0% {
    transform: scale(1.1) ;
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: scale(1.0) ;
  }
}



header .mainimg img{
	max-width: 100%;
}


header .mainimg .mainimg_pc{
    display: block;
}

header .mainimg .mainimg_tbsp{
    display: none;
}
@media screen and (max-width:1600px){
	header .mainimg .mainimg_pc{
		display: none;
	}

	header .mainimg .mainimg_tbsp{
		display: block;
	}
}





/*******
content
*******/
.content{
	background: url("bg.png")top center repeat-y;
	background-size: 1620px 7074px;
}
@media screen and (max-width:1600px){
	.content{
		padding-bottom: 30px;
	}
}


.content .inner{
	width: 1100px;
	margin: auto;
	background-color: #ffffff;
	box-shadow: 0 0 8px gray;
	top: -210px;
	position: relative;
	padding-bottom: 90px;
	margin-bottom: -150px;
	max-width: calc(100% - 20px);

}
@media screen and (max-width:1600px){
	.content .inner{
		margin-top: -13%;
		top: -20%;
		margin-bottom: 0%;
		padding-bottom: 30px;
	}
}
@media screen and (max-width:600px){
	.content .inner{
		margin-top: -10%;
	}
}




.content .inner .top{
	margin-bottom: 50px;
}
@media screen and (max-width:786px){
	.content .inner .top{
		margin-bottom: 20px;
	}
}


.content .inner .top img{
	max-width: 100%;
}

.content .inner .txtbox{
	width: 850px;
	margin: auto;
	max-width: calc(100% - 20px);
}

.content .inner .txtbox .lead{
	color: #333333;
	font-size: 17px;
	line-height: 2em;
	margin-bottom: 30px;
	text-align: left;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: bold;
	margin-bottom: 85px;
}
.content .inner .txtbox .lead span{
	display: initial;
	line-height: 1em;
	padding: 3px 5px;
	background-color: #feffa1;
}



.content .inner .h2box{
	border-bottom: 3px solid #cccccc;
	margin-bottom: 30px;
}
@media screen and (max-width:600px){
	.content .inner .h2box{
		margin-bottom: 20px;
	}
}

.content .inner .h2box h2{
	border-bottom: 5px solid #e5198c;
	padding-bottom: 15px;
	font-size: 32px;
	text-align: center;
	color: #e5198c;
	line-height: 1.3em;
	margin: 0 auto;
	padding: 0 20px 15px 20px;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W6', sans-serif ;

}
@media screen and (max-width:786px){
	.content .inner .h2box h2{
		font-size: 26px;
	}
}


@media screen and (max-width:600px){
	.content .inner .h2box h2{
		font-size: 22px;
		text-align: center;
	}
	.content .inner .h2box h2 br{
		
	}
}

@media screen and (max-width:380px){
	.content .inner .h2box h2{
		font-size: 18px;
		text-align: center;
	}
	.content .inner .h2box h2 br{
		
	}
}




.content .inner .txtbox .text{
	font-size: 17px;
	line-height: 2em;
	margin-bottom: 30px;
	font-family: "Noto Sans JP", sans-serif;
	color: #333333;
	text-align: left;
}
.content .inner .txtbox .bottombanner{
	display: block;
	margin-bottom: 90px;
	transition-duration: 0.3s;
}
.content .inner .txtbox .bottombanner img{
	max-width: 100%;
}


.bottom_banner_area{
	background-color: #f2f2f2;
	border: 1px solid #e75395;
	padding: 40px 40px 40px 40px;
	display: block;
	margin-top: 30px;
	position: relative;
}
@media screen and (max-width:600px){
	.bottom_banner_area{
		padding:20px;
	}
}


.bottom_banner_area .ttl{
	width: 100%;
	position:absolute;
	top: -25px;
	left: 0px;
	font-weight: bold;
	text-align: center;
}
.bottom_banner_area .ttl span{
	display: inline-block;
	color: #ffffff;
	font-size: 20px;
	text-align: center;
	background-color: #e5198c;
	border-radius: 50px;
	padding: 12px 20px;
	line-height: 1em;
	text-align: center;
}
@media screen and (max-width:600px){
	.bottom_banner_area .ttl span{
		font-size: 15px;
	}
}
@media screen and (max-width:420px){
	.bottom_banner_area .ttl span{
		font-size: 13px;
	}
}


.bottom_banner_area .img{
	width: 760px;
	margin: auto;
	max-width: 100%;
}
.bottom_banner_area .img img{
	max-width: 100%;
}
.bottom_banner_area .text1{
	font-size: 16px;
	text-align: left;
	line-height: 1.8em;
	color: #231815;
	
	width: 760px;
	max-width: 100%;
	margin: auto;
	margin-top: 10px;
	margin-bottom: 20px;
}
.bottom_banner_area .text1 b{
	color: #d22282;
	word-break: break-all;
}

.content .inner .txtbox .bottombanner:hover{
	opacity: 0.5;
}

.content .inner .txtbox .bannericon{
	width: 320px;
	margin: auto;
	margin-bottom: 0px;

   animation:1.8s shake infinite ease-in;
	position: relative;
	
	max-width: calc(100% - 50px);
}
.content .inner .txtbox .bannericon img{
	max-width: 100%;
}

.bottom_banner_area .btn{
	width: 430px;
	margin: auto;
	display:block;
	padding: 15px 0 17px 0px;
	background-color: #ce645f;
	color: #ffffff;
	font-size: 20px;
	text-align:center;
	text-decoration: none;
	font-weight: bold;
	position: relative;
	transition-duration: 0.3s;
	
	max-width: 100%;
}
@media screen and (max-width:600px){
	.bottom_banner_area .btn{
		font-size: 16px;
	}
}


.bottom_banner_area .btn span{
	background: url("btn_arrow.png")no-repeat right center;
	background-size: 24px 24px;

	padding: 5px 30px 5px 0px;
}
.bottom_banner_area .btn b{
	width: 75px;
	position: absolute;
	right: -10px;
	top: 10px;

   animation:2s shake1 infinite ease-in;
}
@media screen and (max-width:600px){
	.bottom_banner_area .btn b{
	width: 60px;
	}
}



@keyframes shake1{
  0%{
   top: 10px;
	  transform: scale(1) 
	 
  }
  50%{
   top: 20px;
	  transform: scale(1.1) 

  }
  100%{
    top: 10px;
	
	  transform: scale(1) 
  }
}


.bottom_banner_area .btn b img{
	max-width: 100%;
}
.bottom_banner_area .btn:hover{
	opacity: 0.5;
}



@keyframes shake{
  0%{
    bottom:0px
  }
  50%{
    bottom:10px;
  }
  100%{
    bottom:0px;
  }
}




.content .inner .txtbox .text.size_s{
	font-size: 13px;
}

.content .inner .txtbox .text span{
	display: initial;
	line-height: 1em;
	padding: 3px 5px;
	background-color: #feffa1;
	font-weight: bold;
}

.content .inner .picarea{
	background-color: #f6f4f1;
	margin-bottom: 30px;
	padding: 20px 0 20px 0px;
}
.content .inner .picarea .img img{
	width: 955px;
	margin: auto;
	display: block;
	max-width: calc(100% - 40px);
}
.content .inner .picarea .cap{
	font-size: 12px;
	text-align:left;
	color: #333333;
	width: 850px;
	margin: auto;
	max-width: 100%;
	margin-top: 10px;
	padding: 0 20px 0 20px;
	box-sizing: border-box;
}

.content .img_left{
	float:left;
	margin: 5px 30px 30px -125px;
	width: 450px;
}

@media screen and (max-width:1140px){
	
	.content .img_left{
		margin: 5px 30px 30px -20px;
	}
}
@media screen and (max-width:786px){
	.content .img_left{
		width: 350px;
	}
}

@media screen and (max-width:600px){
	.content .img_left{
		width: 100%;
		margin: 5px 0px 30px 0px;
		float: none;
	}
}



.content .img_left.img_pc{
	display: block;
}
.content .img_left.img_sp{
	display: none;
}

@media screen and (max-width:600px){
	.content .img_left.img_pc{
		display: none;
	}
	.content .img_left.img_sp{
		display: block;
	}
}





.content .img_left img{
	max-width: 100%;
}
.content .img_left .cap{
	font-size: 14px;
	margin-top: 10px;
	text-align: right;
	color: #666666;
}
@media screen and (max-width:600px){
	.content .img_left .cap{
		text-align: left;
	}
}



/*******
contact
*******/

.contact_area{
}
.contact_area .logo{
	width: 230px;
	margin: auto;
	display: block;
}
.contact_area .logo img{
	max-width: 100%;
}

.contact_area .ty1{
	font-size: 21px;
	text-align: center;
	margin: 0 auto;
	font-weight: bold;
	margin-bottom: 65px;
	padding: 0 20px 0 20px;
}
@media screen and (max-width:786px){
	.contact_area .ty1{
		font-size: 18px;
	}
}


.contact_area .btn{
	width: 345px;
	margin:auto;
	display: block;
	border-radius: 50px;
	font-size: 17px;
	text-align: center;
	color: #ffffff;
	padding: 15px 20px 15px 20px;
	box-sizing: border-box;
	background: url("btnarrow.png")no-repeat 94% center;
	background-size: 22px 10px;
	background-color: #000000;
	text-decoration: none;
	margin-bottom: 80px;
	transition-duration: 0.3s;
	font-weight: bold;
	
	max-width: calc(100% - 40px);
}
@media screen and (max-width:600px){
	.contact_area .btn{
		font-size: 13px;
	}
}
@media screen and (max-width:450px){
	.contact_area .btn{
		font-size: 11px;
	}
}


.contact_area .btn:hover{
	opacity: 0.5;
}


.contact_area .snsbox{
	display: flex;
	width: 850px;
	margin: auto;
	
	max-width: calc(100% - 40px);
}
.contact_area .snsbox a{
	display: block;
	width: 33%;
	transition-duration: 0.3s;
}
.contact_area .snsbox a:hover{
	opacity: 0.5;
}
.contact_area .snsbox a img{
	width: 40px;
}

.contact_area .snsbox a:nth-child(1){
	background-color: #55b835;
}
.contact_area .snsbox a:nth-child(2){
	width: 34%;
	background-color: #2f5095;
}
.contact_area .snsbox a:nth-child(3){
	background-color: #000000;
}


footer{
	padding-top: 15px;
	background-color: #ffffff;
}

.img_op{
	top: -20px;
	position: relative;
	opacity: 0;
	transition-duration: 0.8s;
	transition-delay: 0.4s;
}

.img_ani{
	top: 0px;
	opacity: 1;
}
