a{
	text-decoration: none;
	color: #333333;
}

header{
	height: 60px;
	width: 100%;
	background-color: #ffffff;
	border-bottom: 2px solid #005bab;
	position: fixed;
	z-index: 100;
}

header ul {
	display: flex;
	justify-content: space-between;
	width: 50%;
	position: fixed;
	top:-7px;
	right: 15px;
}

header li {
	list-style-type: none;
	color: #ffffff;
}

.headerlogo{
	max-height: 40px;
	max-width: 280px;
	margin: 10px;
	margin-left: 30px;
}

h1{
	font-size: 64px;
	line-height: 1.2em;
	margin-bottom: 10px;
	margin-top: 0px;
	color: #ffffff;
	font-weight: 100;
}

h2{
	font-size: 2em;
	text-align: center;
	color: #2eb682;
	font-weight: 300;
}

h3{
	font-size: 24px;
	font-weight: 800;
	margin-top: 0px;
	margin-bottom: 10px;
	color: #2eb682;
}

h4{
	font-size: 18px;
	font-weight: 800;
	margin-top: 0px;
	margin-bottom: 10px;
	color: #2eb682;
}

.kaiketsu{
	text-align: center;
	margin-top: 100px;
	color: #ffffff;
	margin-bottom: 100px;
	position: -webkit-sticky;
	position: sticky;
	top: -1px;
	
}

.bold{
	color: #2eb682;
	font-weight: 800;
	text-decoration: underline;0
}

.caution{
	width: 80%;
	text-align: center;
	margin: 0 auto;
	font-size: 0.8em;
	margin-top: 30px;
	color: #2eb682;
}

.logo{
	width: 30%;
	margin-bottom: 50px;
}

.mini{
	font-size: 0.8em;
	font-weight: 800;
	line-height: 30px;
	margin: 0;
	background-color: #009ED5;
	margin-top: -8px;
	color: #ffffff;
	text-align: center;
}

.tablemidashi{
	width: 70%;
	margin: 20px 0;
}

img {
	width: 100%;
	height: 100%;
}

.otoiawase{
	width: 50%;
	font-size: 1.5em;
	font-weight: 800;
	text-align: center;
	color: #ffffff;
	margin: auto;
	margin-top: 30px;
	margin-bottom: 10px;
	padding: 10px;
	background-color: #2eb682;
	box-shadow: 2px 2px 0px rgba(0,0,0,0.4);
	z-index: 150;
}

.mainvisual{
	background-image: url(../img/first.jpg);
	height: 550px;
	width: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 50px;
}

.maintext{
	z-index: 15;
	margin: 0 auto;
	text-align: center;
	padding-top: 50px;
	text-shadow: 1px 1px 5px #666666;
}

.subtext{
	color: #ffffff;
	font-weight: 800;
	text-shadow: 1px 1px 5px #666666;
}

/*.mainvisual{
	position: relative;
	background-image: url(../img/first.jpg);
	background-size: auto 50%;
	background-attachment: fixed;
	background-repeat: no-repeat;
}

.touka{
	height: 100%;
	background: rgba(255,255,255,0.5);
}*/

.forimg{
	height: 500px;
	margin: 0 auto;
	text-align: center;
	font-weight: 800;
	font-size: 2.3vw;
	text-shadow: #646464 2px 2px 5px;
	color: #ffffff;
}

.first{
	width: 100%;
	margin: 0 auto;
}

.imgcenter{
	max-width: 50%;
	margin: 0 auto;
	margin-bottom: 20px;
}

.imgcenter_02{
	max-width: 70%;
	margin: 0 auto;
	margin-bottom: 20px;
}

.flowbox{
	background-color: #ffffff;
	border: solid 2px #2eb682;
	padding: 10px;
	font-size: 0.8em;
	min-height: 120px;
	margin-top: 10px;
	border-right: solid 5px #2eb682;
}

.campaign{
	width: 70%;
	max-width: 500px;
}

.banner{
	width: 50%;
	margin: 0 auto;
	max-width: 400px;
}

body {
	margin: 0;
	font-family: -apple-system, blinkMacSystemFont, /* Macの欧文はSan Francisco (OS X 10.11以降) */
		'Helvetica Neue', /* Macの欧文 (OS X 10.10以前) */
		YuGothicM,        /* Windows8.1以上は游ゴシック */
		YuGothic,         /* Macの游ゴシック */
		Meiryo,           /* 游ゴシックが入っていないWindows */
		sans-serif;
}

/* Windows */
@font-face {
	font-family: YuGothicM;
	font-weight: normal;
	src: local('YuGothic-Medium'),  /* Mediumを明示的に指定 */
		local('Yu Gothic Medium'), /* Chrome用 */
		local('YuGothic-Regular'); /* Windows8.1ではMediumがないのでRegularを指定 */
}
@font-face {
	font-family: YuGothicM;
	font-weight: bold;
	src: local('YoGothic-Bold'), /* Boldはそのまま */
		local('Yu Gothic');     /* Chrome用 */
}

.maincontainer{
	width: 100%;
	padding-bottom: 50px;
}

.container{
	max-width: 920px;
	margin: 0 auto;
	padding: 20px;
}

.mainimg{
	margin: 0 auto;
	text-align: center;
	display: block;
	max-width: 920px;
}

.spimg{
	margin: 0 auto;
	text-align: center;
	display: block;
}

img{
	width: 100%;
}

.w740{
	max-width: 740px;
	margin: 0 auto;
}

.sp ul{
	list-style:none;
	font-size: 0.8em;
}

.houhou img{
	padding: 5px 0;
}

.litex_sp{
	margin: 1em 2em;
}

.bg01{
	background-color: #2eb682;
}

.bg02{
	background: #efefef;
	/*background-image: linear-gradient(-180deg, rgba(255,255,255,0.50) 0%, rgba(0,0,0,0.50) 100%);*/
	background-blend-mode: lighten;
}


.maru p{
	margin: 0 auto;
	text-align: center;
	vertical-align: middle;
	padding-top: 20%;
}

.btn{
	text-align: center;
	font-weight: 800;
	font-size: calc(8px + 1.2vw);
	width: 50%;
	border-bottom: solid 4px ;
	border-radius: 3px;
	margin: 0 auto;
	min-height: 10px;
	background-color: #ff6634;
	padding: 10px;
	margin-bottom: 40px;
	color:#32bcad;
}


.btn:active {/*ボタンを押したとき*/
	-ms-transform: translateY(4px);
	-webkit-transform: translateY(4px);
	transform: translateY(4px);/*下に動く*/
	border-bottom: none;/*線を消す*/
}

.btn span{
	color: #ffffff;
}

.btn_02{
	text-align: center;
	font-weight: 800;
	font-size: calc(8px + 1.2vw);
	width: 50%;
	border-bottom: solid 4px ;
	border-radius: 3px;
	margin: 0 auto;
	min-height: 10px;
	background-color: #32bcad;
	padding: 10px;
	margin-bottom: 40px;
	color:#ffffff;
}


.btn:active {/*ボタンを押したとき*/
	-ms-transform: translateY(4px);
	-webkit-transform: translateY(4px);
	transform: translateY(4px);/*下に動く*/
	border-bottom: none;/*線を消す*/
}

.btn span{
	color: #ffffff;
}




.mt50{
	margin-top: 50px;
}

.mb10{
	margin-bottom: 10px;
}

.pt50{
	padding-top: 50px;
}


.copy{
	text-align: center;
	color: #333333;
	margin-top: 100px;
	font-size: 0.5em;
	border: solid 0px;
}


.flex30{
	width:32%;
	margin: 0 auto;
	justify-content: center;
	align-items: center;
	list-style: none;
}


.flex50{
	min-width:35%;
	flex:1;
	margin: 0 auto;
	justify-content: center;
	align-items: center;
	list-style: none;
	text-align: center;
	margin-bottom: 50px;
}

.img50 img{
	width: 30%;
}

.flex50 p{
	text-align: left;
	padding: 0px 20px;
}

.flex1020{
	display: flex;
	margin-top: 20px;
}

.flex1020icon{
	width: 20%;
	text-align: center;
	margin: 0 auto;
}

.flex1020text{
	width: 70%;
	align-self: center;
}



.flexitem img {
	padding: 20px 0 0 0;
	max-width: 60%;
	height: auto;
	display:block;
	margin: 0 auto;
}

/* Responsive */
@media ( min-width : 600px ){
	.flexbox{
		display: flex;
		max-width: 740px;
		margin: 0 auto;
		flex-wrap: wrap;
	}

}


.centering{
	text-align: center;
}

.box26 {
	position: relative;
	padding: 0.5em 1em;
	border: solid 3px #333333;
	border-radius: 8px;
	margin: 0 auto;
	margin-top: 50px;
	max-width: 90%;
	padding-bottom: 40px;
}

.box-title {
	position: absolute;
	display: inline-block;
	top: 0.8em;
	left: 1em;
	padding: 0 9px;
	line-height: 1;
	font-size: 1.5em;
	background: linear-gradient(transparent 27%, #ffff 27%);
	color: #333333;
}

.pointtex{
	font-size: 0.8em;
	margin: 0 auto;
	padding: 0;
}

.rank li{
	list-style-type: none;
	list-style-type: decimal
}

.nagaremoto{
	position: relative;
}

.nagareue{
	z-index: 10;
	position: absolute;
	top:0;
	left: 0;
}

.comment_border{
	border-right: solid 3px #2eb682;
	position: relative;
	background-color: #ffffff;
	margin: 5px;
	padding: 10px 10px 10px 5px;;
}

.comment_borderless{
	position: relative;
	background-color: #ffffff;
	margin: 5px;
	padding: 10px 10px 10px 5px;;
}


.comment_sankaku{
	position: relative;
	background: #ffffff;
	padding: 2em;
	z-index: 1;
}

.comment_sankaku:after{
	content: "";
	position: absolute;
	right: 0;
	bottom: -20px;
	left: 0;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: #ffffff transparent transparent transparent;
	border-width: 20px 20px 0 20px;
}

.comment_icon{
	width: 30%;
	position: absolute;
	top:-30px;
	left: 10px;
}

.comment{
	font-weight: 800;
	text-align: center;
}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 600px) {
	.pc { display: none !important; }
	.sp { display: block !important; }
		
	
	/*.comment_sankaku{
		position: relative;
		background: #ffffff;
		z-index: 10;
		height: 650px;
	}*/
	
	.comment_border,.comment_borderless{
		border-bottom: solid 3px #2eb682;
		border-right: none;
		position: relative;
		background-color: #ffffff;
		padding: 20px 10px;
		width: 50%;
	}
	
	.mainvisual{
		background-image: url(../img/first.jpg);
		height: 350px;
		width: 100%;
		background-repeat: no-repeat;
		background-size: cover;
	}

	.maintext{
		z-index: 15;
		margin: 0 auto;
		text-align: center;
		padding-top: 0px;
		text-shadow: 1px 1px 5px #666666;
	}
	
	h1{
		font-size: 44px;
	}
	
	.otoiawase{
		font-size: 1.2em;
		width: 80%
	}
	
	/*.comment_icon{
		max-width: 20%;
		position: absolute;
		top:-15%;
	} */

	.imgcenter{
		max-width: 80%;
	}
	
	.comment{
		font-weight: 800;
		text-align: center;
		color: #212121;
	}
	
	.img50{
		width: 10%;
		margin: 0 auto;
	}
	
	.flexbox{
		margin: 0 auto;
	}
	
	.flex30, .flex50 {
		min-width: 100%;
	}
	
	.flex30 div{
		text-align: center;
		margin: 0 auto;
		width: 80%;
		margin-bottom: 10px;
	}
	
	.flex50 div{
		text-align: center;
		margin: 0 auto;
		width: 80%;
	}
	
	.flex1020{
		display: block;
	}

	.flex1020icon{
		text-align: center;
		margin: 0 auto;
	}

	.flex1020text{
		width: 70%;
		margin: 0 auto;
	}

	.caution{
		font-size: 0.7em;
	}
	
	.pointtex{
		padding: 10px 5px 20px 5px;
	}
	
	.flowbox{
		border: solid 2px #2eb682;
		padding: 10px;
		font-size: 0.8em;
		min-height: 10px;
		border-bottom: solid 5px #2eb682;
	}
	
	
	
	h2{
		font-size: 1.5em;
		line-height: 1.2em;
		text-align: center;
		color: #2eb682;
	}

	.box26 {
		position: static;
		border: solid 3px #333333;
		border-radius: 8px;
		margin: 0 auto;
		margin-top: 50px;
		padding-top: 30px;
		max-width: 80%;
	}

	.box-title{
		font-size: 24px;
	}

	.box26 .box-title {
		position: static;
		line-height: 1;
		font-size: 1.5em;
		background: linear-gradient(transparent 27%, #ffff 27%);
		color: #333333;
		margin-bottom: 20px;
	}
	

	h2, h3{
		font-size: 24px;
		line-height: 1.5em;
		text-align: center;
	}

}
