/************
 font set
************/
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 300;
  src: local('Noto Sans CJK JP DemiLight'),
       local('NotoSansCJKjp-DemiLight'),
       local('NotoSansJP-DemiLight'),
    url("../fonts/NotoSansJP-DemiLight.woff2") format('woff2'),
    url("../fonts/NotoSansJP-DemiLight.woff") format('woff'),
    url("../fonts/NotoSansJP-DemiLight.otf") format('opentype');
}
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: bold;
  font-weight: 700;
  src: local('Noto Sans CJK JP Bold'),
       local('NotoSansCJKjp-Bold'),
       local('NotoSansJP-Bold'),
    url("../fonts/NotoSansJP-Bold.woff2") format('woff2'),
    url("../fonts/NotoSansJP-Bold.woff") format('woff'),
    url("../fonts/NotoSansJP-Bold.otf") format('opentype');
}
@font-face {
  font-family: 'Noto Sans Japanese';
  font-weight: 900;
  src: local('Noto Sans CJK JP Black'),
       local('NotoSansCJKjp-Black'),
       local('NotoSansJP-Black'),
    url("../fonts/NotoSansJP-Black.woff2") format('woff2'),
    url("../fonts/NotoSansJP-Black.woff") format('woff'),
    url("../fonts/NotoSansJP-Black.otf") format('opentype');
}
/************
 reset CSS
************/
html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,
textarea,p,blockquote,th,td,header,footer,article,section,nav{
	margin:0;
	padding:0;
	word-wrap:break-word;
	overflow-wrap:break-word;
	box-sizing:border-box;
}
html,body{
	height:100%;
}
html {overflow-y:scroll;}
body {
	background:#FFF;
	color:#000;
	font-family: "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	line-height:180%;
	text-align:left;
	margin:0;
}
table{
	border-collapse:collapse;
	border-spacing:0;
	border:0;
}
fieldset,img{border:0;}
address,caption,th,var{
	font-style:normal;
	font-weight:normal;
}
small{font-size: inherit;}
strong,em{
	font-weight:bold;
	font-size:16px;
}
ol,ul{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{
	font-size:100%;
	font-weight:normal;
}
q:before,  q:after {content:'';}
img {vertical-align:top;}
object {vertical-align:middle;}
a {
	color:#000;
	text-decoration:underline;
	outline:none;
}
a:hover,  a:active {
	text-decoration:none;
	cursor: pointer;
}

@media only screen and (min-width:769px){ /* for PC */
  html,body{
		min-width: 1200px;
		font-size: 16px;
  }
}
@media only screen and (max-width:768px){ /* for Tab and SP */
  html,body{
    min-width: 320px;
		font-size: 2.4vw;
  }
}
@media only screen and (max-width:450px){ /* for SP */
  html,body{
		font-size: 3.8vw;
  }
}


/************
 style CSS
************/
/* 共通 */
body{
	background: url("../images/lpattract/mainBg.png") repeat left top;
}
section{
	display: block;
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
h2.normalTitle{
	display: block;
	font-weight: bold;
	letter-spacing: 0.05em;
	font-size: 2rem;
	padding-bottom: 20px;
	margin-bottom: 30px;
	text-align: center;
	line-height: 130%;
	position: relative;
}
h2.normalTitle::after{
	content: "";
	display: block;
	width: 64px;
	height: 1px;
	background: #960f21;
	position: absolute;
	left: 50%;
	bottom: 0;
	margin-left: -32px;
}
h2.markTitle{
	display: block;
	font-weight: 900;
	font-size: 2.625rem;
	margin-bottom: 50px;
	letter-spacing: 0.05em;
	text-align: center;
	line-height: 130%;
}
h2.markTitle span{
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
h2.markTitle span::after{
	content: "";
	width: 100%;
	height: 15px;
	background: #efd6d9;
	position: absolute;
	z-index: -1;
	left: 0;
	bottom: 0;
}
p.headCatch{
	display: block;
	font-weight: bold;
	font-size: 2rem;
	text-align: center;
	line-height: 130%;
}
p.headCatch > span{
	display: inline-block;
	padding-top: 22px;
	padding-left: 45px;
	padding-right: 45px;
	margin-left: auto;
	margin-right: auto;
	background: url("../images/lpattract/cmn_title.png") no-repeat left top;
}
p.headCatch > span span{
	color: #960f20;
}
p.read{
	text-align: center;
}
.blueBtn a,
.greenBtn a{
	display: block;
	width: 300px;
	min-height: 70px;
	padding: 11px 30px;
	text-align: center;
	text-shadow: -1px -1px 2px rgba(0,0,0,0.2);
	color: #FFF;
	line-height: 100%;
	font-weight: bold;
	font-size: 1.25rem;
	text-decoration: none;
	border-radius: 50px;
	box-sizing: border-box;
	box-shadow: 0 0 7px rgba(255,255,255,0.4) inset;
	position: relative;
}
.blueBtn a{
	border: #1391c5 solid 1px;
	background: rgb(30,163,218);
	background: linear-gradient(180deg, rgba(30,163,218,1) 0%, rgba(30,163,218,1) 51%, rgba(19,145,197,1) 51%, rgba(19,145,197,1) 92%, rgba(30,163,218,1) 100%);
}
.greenBtn a{
	border: #679800 solid 1px;
	background: rgb(114,170,0,1);
	background: linear-gradient(180deg, rgba(148,197,22,1) 4%, rgba(148,197,22,1) 51%, rgba(142,185,42,1) 51%, rgba(168,199,50,1) 92%, rgba(185,206,68,1) 100%);
}
.blueBtn a span,
.greenBtn a span{
	display: block;
	width: 100%;
	text-align: center;
}
.blueBtn a small,
.greenBtn a small{
	display: block;
	font-size: 0.875rem;
	text-align: center;
}
.blueBtn a i,
.greenBtn a i{
	display: block;
	width: 6px;
	height: 11px;
	background: url("../images/lpattract/arrow01.png") no-repeat center center / 6px auto;
	position: absolute;
	top: 50%;
	right: 15px;
	margin-top: -3px;
}
@media only screen and (min-width:769px){ /* for PC */
	br.sp{
		display: none;
	}
	.blueBtn a:hover,
	.greenBtn a:hover{
		opacity: 0.65;
	}
	.blueBtn a span br,
	.greenBtn a span br{
		display: none;
	}
}
@media only screen and (max-width:768px){ /* for Tab */
	section{
		padding-top: 40px;
		padding-left: 3vw;
		padding-right: 3vw;
	}
	h2.markTitle{
		font-size: 2rem;
		margin-bottom: 30px;
	}
	p.headCatch{
		font-size: 1.3rem;
	}
	p.headCatch > span{
		padding-top: 10px;
		padding-left: 22px;
		padding-right: 22px;
		background-size: 22px auto;
	}
	.blueBtn a,
	.greenBtn a{
		padding-left: 16px;
		padding-right: 16px;
	}
	.blueBtn a span,
	.greenBtn a span{
		line-height: 120%;
	}
	.blueBtn a span br,
	.greenBtn a span br{
		display: none;
	}
	.blueBtn a small,
	.greenBtn a small{
		margin-bottom: 2px;
	}
}
@media only screen and (max-width:450px){ /* for SP */
	.blueBtn a,
	.greenBtn a{
		max-width: 100%;
	}
	.blueBtn a span br,
	.greenBtn a span br{
		display: inline;
	}
}

/* mainVisual */
.mainVisual{
	display: block;
	height: 478px;
	background: 
		url("../images/lpattract/main_bg02.png") repeat center center,
		url("../images/lpattract/main_bg01.jpg") no-repeat center center / auto 100%,
		#212121;
	position: relative;
}
.mainVisual .centerLine{
	display: block;
	text-align: center;
	width: 100%;
	max-width: 850px;
	padding: 50px 0 0 0;
	margin-left: auto;
	margin-right: auto;
}
.mainVisual .centerLine .mainTitle{
	display: block;
	line-height: 100%;
}
.mainVisual .centerLine .mainTitle img{
	max-width: 100%;
}
.mainVisual .centerLine .pointImg{
	line-height: 100%;
	margin-bottom: 10px;
}
.mainVisual .centerLine .btnWrap{
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: flex-start;
}
.mainVisual .centerLine .btnWrap .blueBtn{
	margin-right: 20px;
}
@media only screen and (min-width:769px){ /* for PC */
	.mainVisual::before,
	.mainVisual::after{
		content: "";
		display: block;
		width: calc((100% - 850px) / 2);
		height: 478px;
		background-image: url("../images/lpattract/main_book.png");
		background-repeat: no-repeat;
		position: absolute;
		top: 0;
	}
	.mainVisual::before{
		width: calc((100% - 850px) / 2 + 20px);
		left: 0;
		background-position: right center;
	}
	.mainVisual::after{
		right: 0;
		background-position: left center;
	}
}
@media only screen and (max-width:450px){ /* for Tab and SP */
	.mainVisual{
		height: auto;
		padding-top: 40px;
		padding-bottom: 40px;
		position: relative;
	}
	.mainVisual::before,
	.mainVisual::after{
		content: "";
		display: block;
		width: 100%;
		height: 40px;
		background-image: url("../images/lpattract/main_book.png");
		background-repeat: no-repeat;
		background-size: 250vw;
		position: absolute;
		left: 0;
	}
	.mainVisual::before{
		top: 0;
		background-position: center top;
	}
	.mainVisual::after{
		bottom: 0;
		background-position: center bottom;
	}
	.mainVisual .centerLine{
		padding-top: 25px;
		padding-bottom: 25px;
		background: rgba(0,0,0,0.5);
	}
	.mainVisual .centerLine .mainTitle img{
		max-width: 80vw;
	}
	.mainVisual .centerLine .pointImg img{
		max-width: 70vw;
	}
	.mainVisual .centerLine .btnWrap .blueBtn{
		margin-right: 2vw;
	}
	.mainVisual .centerLine .btnWrap .blueBtn,
	.mainVisual .centerLine .btnWrap .greenBtn{
		width: 47vw;
	}
}

/* article.why */
article.why{
	padding-top: 75px;
	padding-bottom: 60px;
}
article.why h2{
	display: block;
	text-align: center;
	font-weight: 900;
	font-size: 2.125rem;
	line-height: 130%;
	color: #960f20;
	margin-bottom: 35px;
}
article.why .parts{
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	max-width: 1000px;
	min-height: 200px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
	padding: 15px 50px;
	background: url(../images/lpattract/why_bg.png) #960f20 no-repeat center top;
	box-sizing: border-box;
}
article.why .parts p.img img{
	max-width: 100%;
}
article.why .parts p.text{
	font-weight: bold;
	font-size: 1.125rem;
	color: #fdffcd;
}
article.why .caption{
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	font-size: 0.875rem;
	text-align: right;
}
@media only screen and (min-width:769px){ /* for PC */
	article.why{
		background: url(../images/lpattract/bg01.png) no-repeat center top;
	}
	article.why .parts.right{
		flex-flow: row-reverse wrap;
	}
	article.why .parts.left p.text{
		min-width: 495px;
	}
	article.why .parts.right p.text{
		padding-left: 30px;
	}
}
@media only screen and (max-width:768px){ /* for Tab */
	article.why h2{
		font-size: 1.6rem;
		margin-bottom: 25px;
	}
	article.why .parts{
		justify-content: center;
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 15px;
	}
	article.why .parts p.img{
		margin-bottom: 5px;
	}
	article.why .parts p.text{
		width: 100%;
		padding: 0;
		text-align: center;
	}
	article.why .parts p.text br.pcDisp{
		display: inline;
	}
}
@media only screen and (max-width:450px){ /* for SP */
	article.why{
		padding-top: 0;
		padding-bottom: 30px;
	}
	article.why .parts p.text br.pcDisp{
		display: none;
	}
}

/* 実際の反響事例 */
article.case{
	padding-bottom: 68px;
}
article.case h2.markTitle{
	margin-bottom: 30px;
}
article.case .read{
	margin-bottom: 30px;
}
article.case .partsWrap{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: stretch;
}
article.case .parts{
	display: block;
	background: #FFF;
	padding: 20px 14px;
	margin-right: 15px;
	margin-bottom: 15px;
	box-shadow: 0 0 8px rgba(0,0,0,0.1);
}
article.case .parts .title{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: center;
	font-size: 1.625rem;
	font-weight: 900;
	min-height: 60px;
	margin-bottom: 20px;
}
article.case .parts .title > span span{
	display: inline-block;
	color: #a61125;
	position: relative;
	z-index: 0;
}
article.case .parts .title > span span::before{
	content: "";
	width: 100%;
	height: 9px;
	background: #efd6d9;
	position: absolute;
	z-index: -1;
	left: 0;
	bottom: -2px;
}
article.case .parts .foot{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: flex-end;
}
article.case .parts .foot .book{
	margin-right: 12px;
}
article.case .parts .foot .book img{
	max-height: 90px;
}
article.case .parts .foot .bottom{
	display: flex;
	flex-flow: column wrap;
	justify-content: flex-start;
	align-items: flex-start;
}
article.case .parts .foot .bottom .mark{
	display: inline-block;
	text-align: center;
	min-width: 84px;
	line-height: 100%;
	padding: 4px;
	background: #960f20;
	margin-bottom: 8px;
	font-size: 0.875rem;
	color: #FFF;
	box-sizing: border-boxl
}
article.case .parts .foot .bottom .name{
	font-size: 0.9375rem;
	font-weight: bold;
	letter-spacing: -0.05em;
	line-height: 130%;
}
article.case .parts .foot .photo{
	display: inline-block;
	margin-left: auto;
	width: 96px;
	height: 96px;
}
article.case .parts .foot .photo img{
	max-width: 100%;
}
@media only screen and (min-width:769px){ /* for PC */
	article.case{
		background: url(../images/lpattract/bg02.png) no-repeat center top;
	}
	article.case .parts{
		width: calc((100% - 30px) / 3);
	}
	article.case .parts:nth-child(3n){
		margin-right: 0;
	}
}
@media only screen and (max-width:768px){ /* for Tab */
	article.case .parts{
		width: calc((100% - 15px) / 2);
	}
	article.case .parts:nth-child(2n){
		margin-right: 0;
	}
	article.case .parts .title{
		font-size: 1.25rem;
	}
	article.case .parts .foot .bottom .name{
		font-size: 0.735rem;
	}
}
@media only screen and (max-width:450px){ /* for SP */
	article.case{
		padding-bottom: 38px;
	}
	article.case .parts{
		width: 100%;
		margin-right: 0;
	}
	article.case .parts .title{
		font-size: 1.65rem;
		line-height: 120%;
		min-height: auto;
	}
	article.case .parts .foot .bottom .name{
		font-size: 0.875rem;
	}
}

/* メンバーの紹介 */
article.member{
	padding-bottom: 90px;
}
article.member p.headCatch{
	margin-bottom: 10px;
}
article.member h2.markTitle{
	margin-bottom: 60px;
}
article.member .parts{
	margin-bottom: 60px;
	position: relative;
}
article.member .parts .img img{
	max-width: 100%;
}
article.member .parts .text{
	display: flex;
	flex-flow: column wrap;
	justify-content: flex-start;
	align-items: flex-start;
	font-size: 1.5rem;
}
article.member .parts .text span{
	display: inline-block;
	font-weight: 900;
	background: #000;
	padding: 24px;
	color: #FFF;
	margin-bottom: 10px;
}
article.member .parts .name{
	display: block;
	font-weight: bold;
}
article.member .parts .name small{
	font-size: 1rem;
	margin-right: 1em;
}
article.member .parts .name strong{
	font-size: 1.375rem;
}
@media only screen and (min-width:769px){ /* for PC */
	article.member{
		background: url(../images/lpattract/bg03.png) no-repeat center top;
	}
	article.member .parts .textWrap{
		padding-top: 60px;
		position: absolute;
		top: 0;
		left: 0;
	}
	article.member .parts.left .textWrap{
		left: 560px;
	}
	article.member .parts.parson03 .textWrap{
		left: 40px;
	}
	article.member .parts.parson05 .textWrap{
		left: 110px;
	}
	article.member .parts.parson01 .name,
	article.member .parts.parson03 .name,
	article.member .parts.parson05 .name{
		padding-left: 25px;
	}
	article.member .parts.parson02 .name,
	article.member .parts.parson04 .name{
		padding-left: 100px;
	}
	article.member .parts.left .img{
		text-align: left;
	}
	article.member .parts.right .img{
		text-align: right;
	}
}
@media only screen and (max-width:768px){ /* for Tab */
	article.member .parts {
		display: flex;
		flex-flow: column-reverse wrap;
		justify-content: center;
		align-items: center;
	}
	article.member .parts .img{
		text-align: center;
	}
	article.member .parts .text{
		display: block;
		font-size: 1.2rem;
		margin-top: -60px;
		position: relative;
		z-index: 2;
	}
	article.member .parts .text span{
		padding: 10px;
	}
	article.member .parts .name{
		text-align: right;
		padding-left: 3vw;
		padding-right: 3vw;
	}
	article.member .parts .name small{
		font-size: 0.9375rem;
	}
	article.member .parts .name strong{
		font-size: 1.25rem;
	}
}
@media only screen and (max-width:450px){ /* for SP */
	article.member{
		padding-bottom: 0;
	}
	article.member h2.markTitle{
		margin-bottom: 30px;
	}
	article.member .parts{
		margin-bottom: 30px;
	}
	article.member .parts .text{
		display: block;
		font-size: 1.2rem;
		margin-top: 15px;
		padding: 10px;
		background: #000;
		position: relative;
		z-index: 2;
	}
	article.member .parts .text span{
		padding: 0;
		background: none;
		margin-bottom: 0;
	}
	article.member .parts .name{
		margin-top: 10px;
		padding-left: 0;
		padding-right: 0;
	}
	article.member .parts.parson03 .name strong{
		display: block;
		text-align: right;
	}
}

/* 大人気開催中 */
article.inSession{
	padding-bottom: 85px;
}
article.inSession h2.markTitle{
	margin-bottom: 40px;
}
article.inSession .borderWrap{
	display: block;
	width: 100%;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	padding: 60px 48px 40px 48px;
	background: #FFF;
	border: #960f20 solid 2px;
	border-radius: 8px;
	box-sizing: border-box;
	position: relative;
}
article.inSession .borderWrap::before{
	content: "";
	display: block;
	width: 16em;
	height: 2px;
	background: #FFF;
	position: absolute;
	top: -2px;
	left: 50%;
	margin-left: -8em;
}
article.inSession .borderWrap h3{
	display: block;
	width: 9em;
	text-align: center;
	font-weight: bold;
	font-size: 1.625rem;
	color: #960f20;
	position: absolute;
	top: -0.5em;
	left: 50%;
	margin-left: -4.5em;
}
article.inSession .flexBox{
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: flex-start;
}
article.inSession .flexParts{
	display: block;
	width: 46.5%;
	text-align: center;
}
article.inSession .flexParts .catch{
	display: block;
	font-size: 1rem;
	color: #a61125;
	font-weight: bold;
	margin-bottom: 1px;
	line-height: 150%;
}
article.inSession .flexParts h4{
	display: block;
	font-size: 1.625rem;
	font-weight: 900;
	margin-bottom: 15px;
}
article.inSession .flexParts .img{
	display: block;
	text-align: center;
	margin-bottom: 20px;
}
article.inSession .flexParts .img img{
	max-width: 100%;
}
article.inSession .flexParts .osusumeWrap{
	display: block;
	background: #f7f4ed;
	border-radius: 8px;
	padding: 20px 10px;
	position: relative;
	margin-bottom: 10px;
}
article.inSession .flexParts .osusumeWrap::before{
	content: "";
	display: block;
  border: 10px solid transparent;
  border-bottom: 10px solid #f7f4ed;
	position: absolute;
  top: -20px;
  left: 50%;
  margin-left: -15px;
}
article.inSession .flexParts .osusumeWrap h5{
	display: inline-block;
	text-align: center;
	position: relative;
	color: #a61125;
	font-weight: bold;
	font-size: 1.25rem;
}
article.inSession .flexParts .osusumeWrap h5::before,
article.inSession .flexParts .osusumeWrap h5::after{
	content: "";
	width: 20px;
	height: 2px;
	background: #a61125;
	position: absolute;
	top: 0.9rem;
}
article.inSession .flexParts .osusumeWrap h5::before{
	left: -35px;
}
article.inSession .flexParts .osusumeWrap h5::after{
	right: -35px;
}
article.inSession .flexParts .osusumeWrap ul{
	width: 23em;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
article.inSession .flexParts .osusumeWrap ul.short{
	width: 15em;
}
article.inSession .flexParts .osusumeWrap li{
	display: block;
	text-align: left;
	padding-left: 1em;
	font-size: 0.9375rem;
	position: relative;
	line-height: 150%;
}
article.inSession .flexParts .osusumeWrap li::before{
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	background: #a61125;
	border-radius: 50%;
	position: absolute;
	top: 0.8rem;
	left: -0.1rem;
}
article.inSession .flexParts .blueBtn a,
article.inSession .flexParts .greenBtn a{
	width: 100%;
	max-width: 350px;
	margin-left: auto;
	margin-right: auto;
}
article.inSession .caption{
	display: block;
	width: 100%;
	text-align: center;
	margin-top: 30px;
	line-height: 150%;
	font-size: 0.75rem;
	color: #2f2e2e;
}
@media only screen and (min-width:769px){ /* for PC */
	article.inSession{
		background: url(../images/lpattract/bg04.png) no-repeat center top;
	}
	article.inSession .flexParts .img a:hover{
		opacity: 0.65;
	}
}
@media only screen and (max-width:768px){ /* for Tab */
	article.inSession .borderWrap{
		padding-left: 25px;
		padding-right: 25px;
	}
	article.inSession .flexParts{
		width: 48.5%;
	}
	article.inSession .flexParts .osusumeWrap h5{
		font-size: 1rem;
		margin-bottom: 8px;
	}
	article.inSession .flexParts .osusumeWrap h5::before,
	article.inSession .flexParts .osusumeWrap h5::after{
		width: 15px;
	}
	article.inSession .flexParts .osusumeWrap h5::before{
		left: -25px;
	}
	article.inSession .flexParts .osusumeWrap h5::after{
		right: -25px;
	}
	article.inSession .flexParts .osusumeWrap li{
		font-size: 0.85rem;
	}
}
@media only screen and (max-width:450px){ /* for SP */
	article.inSession{
		padding-bottom: 30px;
	}
	article.inSession .flexParts{
		width: 100%;
	}
	article.inSession .flexParts:nth-child(1){
		margin-bottom: 25px;
	}
	article.inSession .flexParts .catch{
		font-size: 1.25rem;
	}
	article.inSession .flexParts .osusumeWrap h5{
		font-size: 1.25rem;
	}
	article.inSession .flexParts .osusumeWrap li{
		font-size: 1rem;
	}
}

/* 反響が得られるのか？ */
article.about{
	padding-top: 35px;
	padding-bottom: 72px;
}
article.about .aboutTitle{
	display: block;
	width: 100%;
	max-width: 1012px;
	padding: 10px 75px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 45px;
	background: 
		url(../images/lpattract/cmn_parts1.png) no-repeat center left,
		url(../images/lpattract/cmn_parts2.png) no-repeat center right;
}
article.about .aboutTitle p.headCatch{
	margin-bottom: 10px;
}
article.about .aboutTitle h2{
	display: block;
	text-align: center;
	font-weight: 900;
	font-size: 2.625rem;
	line-height: 2.625rem;
	color: #a61125;
}
article.about .aboutTitle h2 span{
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
article.about .aboutTitle h2 span::after{
	content: "";
	width: 100%;
	height: 15px;
	background: #efd6d9;
	position: absolute;
	z-index: -1;
	left: 0;
	bottom: -8px;
}
article.about .fukidashiFlex{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 40px;
}
article.about .fukidashiFlex .fukidashiBox{
	display: block;
	width: 100%;
	max-width: 740px;
	border: #a61125 solid 2px;
	border-radius: 12px;
	background: #FFF;
	padding: 40px;
	position: relative;
}
article.about .fukidashiFlex .fukidashiBox .big{
	display: block;
	font-size: 1.25rem;
	font-weight: bold;
	margin-bottom: 20px;
}
article.about .fukidashiFlex .fukidashiBox .big span{
	font-size: 1.5rem;
	font-weight: 900;
	color: #a61125;
}
article.about .fukidashiFlex .fukidashiBox .small{
	display: block;
	font-size: 1rem;
	font-weight: bold;
	line-height: 150%;
	margin-bottom: 10px;
}
article.about .fukidashiFlex .img{
	margin-left: auto;
}
article.about .fukidashiFlex .img img{
	max-width: 100%;
}
article.about .paddingBox{
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	margin-bottom: 30px;
}
article.about .paddingBox.left{
	justify-content: flex-start;
}
article.about .paddingBox.right{
	justify-content: flex-end;
}
article.about .flexBox{
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	width: 100%;
	max-width: 1030px;
	padding: 30px;
	background: #FFF;
	box-shadow: 0 0 8px rgba(0,0,0,0.1);
	box-sizing: border-box;
}
article.about .flexBox .point{
	width: 180px;
	height: 180px;
	border-radius: 50%;
	box-shadow: 0 0 8px rgba(0,0,0,0.1);
}
article.about .flexBox .point img{
	max-width: 100%;
}
article.about .flexBox .text{
	width: calc(100% - 180px);
	max-width: 710px;
	padding-top: 20px;
	position: relative;
}
article.about .flexBox .text h3{
	display: block;
	margin-bottom: 30px;
	font-size: 1.625rem;
	font-weight: 900;
}
article.about .flexBox .text h3 span{
	display: inline-block;
	font-size: 2.25rem;
	line-height: 2.25rem;
	color: #a61125;
	position: relative;
	margin-top: 10px;
	z-index: 2;
}
article.about .flexBox .text h3 span.margin{
	margin-left: 7px;
	margin-right: 7px;
}
article.about .flexBox .text h3 span::before{
	content: "";
	width: 100%;
	height: 15px;
	background: #efd6d9;
	position: absolute;
	z-index: -1;
	left: 0;
	bottom: -4px;
}
article.about .flexBox .text .read{
	display: block;
	text-align: left;
	font-size: 0.875rem;
	line-height: 180%;
	margin-bottom: 15px;
}
article.about .flexBox .text .read.mB25{
	margin-bottom: 25px;
}
article.about .flexBox .text ul{
	margin-bottom: 30px;
}
article.about .flexBox .text ul li{
	display: block;
	text-align: left;
	font-size: 0.875rem;
	margin-bottom: 1px;
	padding-left: 1em;
	line-height: 180%;
	position: relative;
}
article.about .flexBox .text ul li::before{
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #a61125;
	position: absolute;
	top: 0.8rem;
	left: 0;
}
article.about .flexBox .text .book{
	display: block;
	margin-bottom: 25px;
}
article.about .flexBox .text .book img{
	max-width: 100%;
}
article.about .flexBox .text .borderBox{
	display: block;
	border: #a61125 solid 2px;
	padding: 7px;
	text-align: center;
	font-size: 1.125rem;
	font-weight: bold;
}
article.about .flexBox .text .borderBox strong{
	font-weight: 900;
	font-size: 1.375rem;
	color: #a61125;
}
@media only screen and (min-width:769px){ /* for PC */
	article.about{
		background: url(../images/lpattract/bg05.png) no-repeat center top 35px;
	}
	article.about .fukidashiFlex .fukidashiBox::before{
		content: "";
		position: absolute;
		top: 50%;
		right: -37px;
		margin-top: -19px;
		border: 14px solid transparent;
		border-left: 24px solid #FFF;
		z-index: 2;
	}
	article.about .fukidashiFlex .fukidashiBox::after{
		content: "";
		position: absolute;
		top: 50%;
		right: -43px;
		margin-top: -20px;
		border: 15px solid transparent;
		border-left: 26px solid #a61125;
		z-index: 1;
	}
	article.about .paddingBox.left{
		justify-content: flex-start;
	}
	article.about .paddingBox.right{
		justify-content: flex-end;
	}
	article.about .paddingBox.left .flexBox .point{
		margin-right: 40px;
	}
	article.about .paddingBox.right .flexBox .point{
		margin-left: 40px;
	}
}
@media only screen and (max-width:768px){ /* for Tab */
	article.about .aboutTitle{
		padding: 10px 50px;
		background: 
			url(../images/lpattract/cmn_parts1.png) no-repeat center left / 40px auto,
			url(../images/lpattract/cmn_parts2.png) no-repeat center right / 40px auto;
	}
	article.about .aboutTitle h2{
		font-size: 2rem;
		line-height: 2rem;
	}
	article.about .fukidashiFlex{
		flex-flow: column-reverse wrap;
		align-items: center;
	}
	article.about .fukidashiFlex .fukidashiBox{
		padding: 20px 3vw;
		text-align: center;
	}
	article.about .fukidashiFlex .fukidashiBox::before{
		content: "";
		position: absolute;
		top: -37px;
		left: 50%;
		margin-left: -19px;
		border: 14px solid transparent;
		border-bottom: 24px solid #FFF;
		z-index: 2;
	}
	article.about .fukidashiFlex .fukidashiBox::after{
		content: "";
		position: absolute;
		top: -43px;
		left: 50%;
		margin-left: -20px;
		border: 15px solid transparent;
		border-bottom: 26px solid #a61125;
		z-index: 1;
	}
	article.about .fukidashiFlex .fukidashiBox .big{
		font-size: 1.15rem;
		margin-bottom: 10px;
	}
	article.about .fukidashiFlex .fukidashiBox .big span{
		font-size: 1.25rem;
	}
	article.about .fukidashiFlex .img{
		margin-left: 0;
		display: block;
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}
	article.about .flexBox{
		flex-flow: column wrap;
		justify-content: center;
		align-items: center;
		padding: 30px 3vw;
	}
	article.about .paddingBox.right .flexBox{
		flex-flow: column-reverse wrap;
	}
	article.about .flexBox .point{
		width: 20vw;
		height: 20vw;
		margin-bottom: 20px;
	}
	article.about .flexBox .text{
		width: 100%;
		padding-top: 0;
	}
	article.about .flexBox .text h3{
margin-bottom: 30px;
		font-size: 1.25rem;
	}
	article.about .flexBox .text h3 span{
		font-size: 1.3rem;
		line-height: 1.3rem;
		margin-top: 0;
	}
}
@media only screen and (max-width:450px){ /* for SP */
	article.about{
		padding-bottom: 22px;
	}
	article.about .aboutTitle{
		padding-left: 40px;
		padding-right: 40px;
	}
	article.about .aboutTitle h2{
		font-size: 1.8rem;
		line-height: 1.8rem;
	}
	article.about .flexBox .point{
		width: 40vw;
		height: 40vw;
	}
}

/* サポート体制 */
article.support{
	padding-bottom: 60px;
}
article.support h2.markTitle{
	margin-bottom: 20px;
}
article.support .read{
	display: block;
	text-align: center;
	margin-bottom: 60px;
}
article.support .img{
	background: #FFF;
	max-width: 990px;
	padding: 30px 10px 10px 10px;
	box-shadow: 0 0 5px rgba(0,0,0,0.1);
	position: relative;
	margin-left: auto;
	margin-right: auto;
}
article.support .img strong{
	display: block;
	width: 240px;
	background: #960f20;
	text-align: center;
	color: #FFF;
	font-weight: bold;
	font-size: 1.125rem;
	padding: 8px 10px;
	position: absolute;
	left: 50%;
	top: -24px;
	margin-left: -120px;
}
article.support .img img{
	max-width: 100%;
}
@media only screen and (min-width:769px){ /* for PC */
	article.support{
		background: url(../images/lpattract/bg06.png) no-repeat center top;
	}
}
@media only screen and (max-width:768px){ /* for Tab */
	article.support .img strong{
		width: 12em;
		margin-left: -6em;
		font-size: 0.8rem;
		padding: 4px 10px;
	}
}
@media only screen and (max-width:450px){ /* for SP */
}

/* 独自のノウハウと品質管理システムがあります */
article.system{
	padding-bottom: 70px;
}
article.system .systemTitle h2{
	display: block;
	font-weight: 900;
	font-size: 2.625rem;
	margin-bottom: 30px;
	text-align: center;
	line-height: 130%;
}
article.system .systemTitle h2 > span{
	display: inline-block;
	padding-left: 40px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
article.system .systemTitle h2 > span::before{
	content: "";
	display: block;
	width: 48px;
	height: 44px;
	background: url("../images/lpattract/cmn_title.png") no-repeat left top;
	position: absolute;
	top: -25px;
	left: 0;
}
article.system .systemTitle h2 > span span{
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	color: #a61125;
}
article.system .systemTitle h2 > span span::after{
	content: "";
	width: 100%;
	height: 15px;
	background: #efd6d9;
	position: absolute;
	z-index: -1;
	left: 0;
	bottom: 0;
}
article.system .parts{
	display: block;
	width: 100%;
	margin-bottom: 15px;
}
article.system .parts .path{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	padding: 0 0 0 50px;
	box-sizing: border-box;
}
article.system .parts.bg03{
	margin-bottom: 0;
}
article.system .parts .catch{
	display: block;
	color: #FFF;
	text-align: center;
	box-sizing: border-box;
}
article.system .parts .catch small{
	display: block;
	font-weight: bold;
	font-size: 1.375rem;
	line-height: 130%;
}
article.system .parts .catch strong{
	display: block;
	font-weight: bold;
	font-size: 1.75rem;
	line-height: 130%;
}
article.system .parts .text{
	width: calc(100% - 365px);
	padding-right: 30px;
}
@media only screen and (min-width:769px){ /* for PC */
	article.system{
		background: url(../images/lpattract/bg07.png) no-repeat center top;
	}
	article.system .parts{
		filter: drop-shadow(0 0 3px rgba(0,0,0,0.1));
	}
	article.system .parts .path{
		height: 150px;
	}
	article.system .parts:not(.ie) .path{
		clip-path: polygon(6% 0%, 100% 0%, 100% 100%, 0% 100%);
	}
	article.system .parts.ie.bg01{
		background: url(../images/lpattract/system_bg01_ie.png) no-repeat center center;
	}
	article.system .parts.ie.bg02{
		background: url(../images/lpattract/system_bg02_ie.png) no-repeat center center;
	}
	article.system .parts.ie.bg03{
		background: url(../images/lpattract/system_bg03_ie.png) no-repeat center center;
	}
	article.system .parts.bg01:not(.ie) .path{
		background: url(../images/lpattract/system_bg01.png) no-repeat #FFF left top;
	}
	article.system .parts.bg02:not(.ie) .path{
		background: url(../images/lpattract/system_bg02.png) no-repeat #FFF left top;
	}
	article.system .parts.bg03:not(.ie) .path{
		background: url(../images/lpattract/system_bg03.png) no-repeat #FFF left top;
	}
	article.system .parts .catch{
		width: 365px;
		padding-right: 65px;
	}
}
@media only screen and (max-width:768px){ /* for Tab */
	article.system .systemTitle p.headCatch{
		margin-bottom: 10px;
	}
	article.system .systemTitle h2{
		font-size: 1.7rem;
	}
	article.system .systemTitle h2 > span{
		margin-bottom: 5px;
		padding-left: 20px;
	}
	article.system .systemTitle h2 > span br.spDisp{
		display: none;
	}
	article.system .systemTitle h2 > span::before{
		width: 22px;
		height: 22px;
		background: url("../images/lpattract/cmn_title.png") no-repeat left top / 22px auto;
		top: -5px;
	}
	article.system .parts{
		display: block;
		width: 100%;
		text-align: center;
		background: #FFF;
		box-shadow: 0 0 8px rgba(0,0,0,0.1);
	}
	article.system .parts .path{
		flex-flow: column wrap;
		padding: 0;
	}
	article.system .parts .path .catch{
		display: block;
		text-align: center;
		width: 100%;
		padding: 20px 10px;
	}
	article.system .parts.bg01 .path .catch{
		background: url(../images/lpattract/system_bg01_sp.png) no-repeat #FFF left top / cover;
	}
	article.system .parts.bg02 .path .catch{
		background: url(../images/lpattract/system_bg02_sp.png) no-repeat #FFF left top / cover;
	}
	article.system .parts.bg03 .path .catch{
		background: url(../images/lpattract/system_bg03_sp.png) no-repeat #FFF left top / cover;
	}
	article.system .parts .text{
		width: 100%;
		padding: 20px;
	}
	article.system .parts .text br{
		display: none;
	}
}
@media only screen and (max-width:450px){ /* for SP */
	article.system .systemTitle h2 > span br.spDisp{
		display: inline;
	}
	article.system .parts .catch{
		width: 100%;
		height: 100px;
	}
}

/* 会社概要 */
article.company{
	padding-bottom: 90px;
}
article.company section{
	background: #FFF;
	padding: 50px 30px;
	box-shadow: 0 0 8px rgba(0,0,0,0.1);
}
article.company p.headLogo{
	display: block;
	text-align: center;
	margin-bottom: 20px;
}
article.company p.headLogo img{
	max-width: 85px;
}
article.company table{
	width: 100%;
	border-top: #EEE solid 1px;
	border-left: #EEE solid 1px;
}
article.company table th,
article.company table td{
	padding: 20px 30px;
	border-bottom: #EEE solid 1px;
}
article.company table th{
	text-align: center;
	background: #fafafa;
	vertical-align: middle;
	font-weight: bold;
	width: 22em;
}
article.company table td{
	border-right: #EEE solid 1px;
}
@media only screen and (min-width:769px){ /* for PC */
	article.company{
		background: url(../images/lpattract/bg08.png) no-repeat center top;
	}
}
@media only screen and (max-width:768px){ /* for Tab */
	article.company section{
		padding: 5vw 3vw;
	}
	article.company table,
	article.company table tbody,
	article.company table tr,
	article.company table th,
	article.company table td{
		display: block;
		width: 100%;
	}
	article.company table th,
	article.company table td{
		padding: 2vw;
		text-align: left;
	}
	article.company table th{
		border-right: #EEE solid 1px;
	}
}
@media only screen and (max-width:450px){ /* for SP */
	article.company table th,
	article.company table td{
		padding: 3vw;
	}
}

/* footer */
footer{
	display: block;
	width: 100%;
	background: #333;
	color: #FFF;
	padding-top: 30px;
	padding-bottom: 20px;
}
footer section{
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	max-width: 1000px;
	padding-top: 0;
	margin-left: auto;
	margin-right: auto;
}
footer section .leftWrap{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: flex-start;
	width: calc(100% - 180px);
	padding-top: 5px;
}
footer section .leftWrap .logo{
	width: 100%;
	max-width: 300px;
	padding-top: 5px;
}
footer section .leftWrap .address{
	margin-left: 20px;
	font-size: 0.875rem;
	line-height: 150%;
}
footer section .rightWrap{
	width: 50%;
	max-width: 180px;
}
footer section .rightWrap a{
	display: inline-block;
	width: 100%;
	border: #FFF solid 1px;
	padding: 10px 20px;
	color: #FFF;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
}
footer #copy{
	display: block;
	width: 100%;
	color: #999;
	text-align: center;
	font-size: 0.875rem;
	margin-top: 50px;
}
@media only screen and (min-width:769px){ /* for PC */
	footer section .rightWrap a:hover{
		opacity: 0.65;
	}
}
@media only screen and (max-width:450px){ /* for SP */
	footer section{
		padding-left: 3vw;
		padding-right: 3vw;
		flex-flow: column wrap;
		justify-content: flex-start;
	}
	footer section .leftWrap{
		display: flex;
		flex-flow: column wrap;
		justify-content: center;
		align-items: center;
		width: 100%;
		text-align: center;
		padding-top: 0;
	}
	footer section .leftWrap .logo{
		padding-top: 0;
	}
	footer section .leftWrap .address{
		margin-top: 20px;
		margin-left: 0;
		text-align: center;
	}
	footer section .rightWrap{
		width: 80%;
		max-width: 80%;
		margin-top: 30px;
		margin-left: auto;
		margin-right: auto;
	}
	footer #copy{
		margin-top: 30px;
	}
}
