@charset "utf-8";
/* ITP */

/* COMMON */
a:hover img {
	opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
body{
  margin:0;
  padding:0;
	background: #fff;
	font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
	line-height: 1.7;
	overflow-x: hidden;
	font-size: 14px;
}
ul,dl,p,h1,h2,h3{
	margin: 0;
	padding: 0;
}
ul li{
	list-style: none;
}
a{
	text-decoration: none;
	color: #000;
}
.txt-color-red {  color: #bf0000;}
.fs-large { font-size: 120%; }
.fs-larger { font-size: 110%; }
.fs-normal { font-size: 100%; }
.fs-small { font-size: 90%; }
.fw-bold { font-weight: bold}
.txt-center { text-align: center }

.mt10 { margin-top: 10px; }
.mt20 { margin-top: 20px; }
.mt30_sp { margin-top: 30px !important; }
.mt40 { margin-top: 40px; }
.mt50_sp { margin-top: 50px !important; }
.mt70 { margin-top: 70px; }
.mt100 { margin-top: 100px; }

a:link,
a:visited {
	color: #0391ff
}
a:hover {
	text-decoration: underline
}

.pc { display: none; }

#contents img {
	width: 100%;
}

/* ページ専用CSS */

.wd1000 {
	width: 100%;
	margin: 0 auto;
	position: relative;
}
#kv img {
	width: 100%;
}
#kv #logo {
	width: 40%;
    border-radius: 5px;
    background-color: rgb(255, 255, 255);
    padding: 3%;
    margin: 0 auto 10px;
}
#kv .txt {
	background: #000;
	color: #fff;
	padding: 10px 2.5%;
}


#contents {
	width: 95%;
	padding: 0 2.5%;
	margin: 0 auto;
	text-align: left;

}
#contents #box01,#contents #box02 {
background: #f0f0f0;
    padding: 0 5%;
    margin-top: 40px;
    padding-top: 40px;
    padding-bottom: 50px;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    text-align: center;
}
#contents #box01 .inner,
#contents #box02 .inner {
	width: 90%;
	margin: 15px auto 0;
}
#contents #box01 .inner img,
#contents #box02 .inner img {
	width: 70%;
	margin: 0 auto;
	display: block
}
#contents #box01 .inner .item,
#contents #box02 .inner .item{
	width: 100%;
	text-align: left;
	float: left;
	margin-right: 100px;
	position: relative;
}
#contents #box02 .inner .item #insentive {
	position: absolute;
  top: calc(290 / 1200 * 100vw);
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
	font-size: 48px;
	font-weight: bold;
	color: #bf0000
}
#contents #box01 .inner .item:last-child,
#contents #box02 .inner .item:last-child{
	margin-right: 0;
}
#contents #box02 .inner .item h3 {
	line-height: 1.3;
	margin-bottom: 20px;
}
#contents h3.bk01 {
    background: url(../img/sp/h3-ttl01.png) no-repeat left top;
    padding-left: 100px;
    font-size: 125%;
    line-height: 1.3;
    color: #333333;
    padding-bottom: 5%;
    border-bottom: 2px solid #cccccc;
    vertical-align: middle;
    padding-top: 1%;
	margin-top: 15px;
    margin-bottom: 10px;
	display: grid;
align-items: center;
}
#contents h3.bk02 {
    background: url(../img/sp/h3-ttl02.png) no-repeat left top;
    padding-left: 100px;
    font-size: 125%;
    line-height: 1.3;
    color: #333333;
    padding-bottom: 5%;
    border-bottom: 2px solid #cccccc;
    vertical-align: middle;
    padding-top: 2%;
	margin-top: 30px;
    margin-bottom: 10px;
	position: relative;
	height: 60px;
	display: grid;
align-items: center;
}

#contents h3.bk03 {
    background: url(../img/sp/h3-ttl03.png) no-repeat left top;
    padding-left: 100px;
    font-size: 125%;
    line-height: 1.3;
    color: #333333;
    padding-bottom: 5%;
    border-bottom: 2px solid #cccccc;
    vertical-align: middle;
    padding-top: 2%;
	margin-top: 30px;
    margin-bottom: 10px;
	position: relative;
	height: 60px;
	display: grid;
align-items: center;
}
#contents h3.bk04 {
    background: url(../img/sp/h3-ttl04.png) no-repeat left top;
    padding-left: 100px;
    font-size: 125%;
    line-height: 1.3;
    color: #333333;
    padding-bottom: 5%;
    border-bottom: 2px solid #cccccc;
    vertical-align: middle;
    padding-top: 2%;
	margin-top: 30px;
    margin-bottom: 10px;
	position: relative;
	height: 60px;
	display: grid;
align-items: center;
}
#contents .link li {
	list-style: disc;
	margin-left: 30px;
}


#banner-link {
	margin: 100px auto 0;
	padding: 50px 2.5%;
	background: #f0f0f0;
		margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}
#banner-link .inner {
	width: 100%;
	margin: 0 auto;
}
#banner-link img {
	width: auto;
}

#footer {
	background: #333333;
	padding: 30px 0;
	color: #fff;
}


