@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

body{
	font-family: 'Noto Sans JP', 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 1.48rem;
	font-weight: 400;
	line-height: 1.8 !important;
	color: #333;
}

::placeholder {
	font-family: 'Noto Sans JP', 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	letter-spacing:0.1em;
	font-size: 1rem;
}

p,span,h1,h2,h3,h4,h5,h6 {
	letter-spacing:0.1em;
}



/*--------------------
	common
--------------------*/

/*  color
------------------------*/

.yel {color:#ffe100;}
.ora {color:#fa7516;}

.marker {  background: linear-gradient(transparent 50%, #ffea57 20%);}
.att { font-size:0.9rem; }


/*  section
------------------------*/

section .inner {
	width:960px;
	padding:70px 0;
	margin:0 auto;
	box-sizing: border-box;
}

/*  title
------------------------*/

.bttl {
	position:relative;
	text-align:center;
	padding-bottom: 0.8rem;
    margin-bottom: 1.2rem;
}

.bttl:after {
	content: "";
    position: absolute;
    width: 70px;
    height: 4px;
    left: 50%;
    margin-left: -35px;
    bottom: 0;
    background: #8898c8;
}


/*--------------------
	lp-main
--------------------*/

/*  lp-main
------------------------*/

#lp-main {
	position:relative;
	background-image:url(../images/parts/mainvisual-bg-01.jpg);
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
	text-align:center;
	height:700px;
	z-index:0;
}

#lp-main02 {
	position:relative;
	background-image:url(../images/parts/mainvisual-bg-02.jpg);
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
	text-align:center;
	height:700px;
	z-index:0;
}

#lp-main03 {
	position:relative;
	background-image:url(../images/parts/mainvisual-bg-03.jpg);
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
	text-align:center;
	height:700px;
	z-index:0;
}

#lp-main .inner,#lp-main02 .inner,#lp-main03 .inner {
	padding:90px 5%;
}

#lp-main h1 span,#lp-main02 h1 span,#lp-main03 h1 span {
	display:block;
	color:#FFF;
}

#lp-main h1 .mid,#lp-main02 h1 .mid {
	font-size: 2.6rem;
	font-weight:500;
	letter-spacing:0;
	line-height: 2.3;
}
#lp-main03 h1 .mid {
	font-size: 2.6rem;
	font-weight:500;
	letter-spacing:0;
	line-height: 2.3;
	color: #6176b6;
	text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
}

#lp-main h1 .mid img,#lp-main02 h1 .mid img,#lp-main03 h1 .mid img {
	vertical-align: middle;
}

#lp-main h1 .lar,#lp-main02 h1 .lar {
	position:relative;
	font-size:3.1rem;
	font-weight:700;
	line-height:2.0;
}
/*---------------------------------------------------
LP03用
---------------------------------------------------*/
#lp-main03 h1 .lar {
	position:relative;
	font-size:3.1rem;
	font-weight:700;
	line-height:2.0;
	color:#421f84;
	text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
}

	#lp-main h1 .lar.icon:before {
		content:"";
		display: block;
		position: absolute;
		width: 60px;
		border-bottom: solid 2px rgba(15,38,94,.6);
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
		left: 50%;
		top: 100px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
		margin-left: -22px;
	}
	
	#lp-main03 h1 .lar.icon:after {
		content:"";
		display: block;
		position: absolute;
		width: 60px;
		border-bottom: solid 2px rgba(15,38,94,.6);
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
		left: 50%;
		top: 100px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
		margin-left: -22px;
	}

#lp-main h1 .lar.icon:before,#lp-main02 h1 .lar.icon:before,#lp-main03 h1 .lar.icon:before {
	content:"";
	display: block;
	position: absolute;
	width: 60px;
	border-bottom: solid 2px rgba(255,255,255,.7);
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	left: 50%;
	top: 100px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
	margin-left: -22px;
}
	
#lp-main h1 .lar.icon:after,#lp-main02 h1 .lar.icon:after,#lp-main03 h1 .lar.icon:after {
	content:"";
	display: block;
	position: absolute;
	width: 60px;
	border-bottom: solid 2px rgba(255,255,255,.7);
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	left: 50%;
	top: 100px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
	margin-left: -22px;
}
	
#lp-main .btn01 a,#lp-main02 .btn01 a,#lp-main03 .btn01 a {
	position: relative;
    z-index: 1000;
	margin-top:1rem;
    display: inline-block;
    font-size: 1.3em;
    font-weight: 700;
    color: #FFF;
    text-decoration: none;
    background: #fa7516;
    line-height: 70px;
    height: 75px;
    letter-spacing: 0.05em;
    border-radius: 37.5px;
    -webkit-border-radius: 37.5px;
    -moz-border-radius: 37.5px;
    padding: 0 50px;
	-webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
}

#lp-main .btn01 a:hover,#lp-main02 .btn01 a:hover,#lp-main03 .btn01 a:hover {
	background:#6176b6;
}



/*--------------------
	lp-first
--------------------*/

/*  lp-first
------------------------*/

#lp-first {
    position: relative;
    overflow: hidden;
	margin: -8.5% 0 -17%;
    padding: 9% 0 17% 0;
    text-align: center;
    z-index: 1;
}

#lp-first:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 80%;
  margin: 3% -10% 0;
  background: #FFF;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(5deg);
  -ms-transform: rotate(5deg);
  transform: rotate(5deg);
  z-index: -1;
}

#lp-first:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 120%;
    height: 80%;
    margin: 3% -10% 0;
    background: #382954;
    -webkit-transform-origin: right center;
    -ms-transform-origin: right center;
    transform-origin: right center;
    -webkit-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    transform: rotate(-5deg);
    z-index: -2;
}

#lp-first .inner {
  box-sizing: boder-box;
}

#lp-first .inner .lp-first-block {
	text-align:left;
}

#lp-first .inner .lp-first-block h4 span {
	display:inline-block;
	position:relative;
	background:#6176b6;
	padding: 10px 14px 14px;
	color:#FFF;
	font-weight:700;
	margin-bottom:15px;
	font-size:1.6rem;
	line-height: 1.0;
    letter-spacing: 0.1em;
    }

#lp-first .inner .lp-first-block h4 span:after {
	content: "";
    position: absolute;
    margin: 0;
    bottom: -15px;
    left: 20px;
    width: 0;
    height: 0;
    border-top: 20px solid #6176b6;
    border-left: 2px solid transparent;
    border-right: 11px solid transparent;
    transform: rotate(-20deg);
}

#lp-first .inner .lp-first-block {
	background-image:url(../images/parts/img-01.png);
	background-repeat:no-repeat;
	background-position:right top;
	padding:50px 280px 0 0;
	min-height:350px;
}

#lp-first .inner .lp-first-block h3 {
	font-size:2.2rem;
	font-weight:700;
	letter-spacing:0.05em;
	padding-bottom:0.3em;
}

/*--------------------
	lp-onayami
--------------------*/

/*  lp-onayami
------------------------*/

#lp-onayami {
	position:relative;
	background-size: auto auto;
	background-color: rgba(236, 239, 252, 1);
	background-image: repeating-linear-gradient(135deg, transparent, transparent 12px, rgba(221, 226, 249, 1) 12px, rgba(221, 226, 249, 1) 24px );
	z-index:2;
	text-align:center;
}

#lp-onayami .inner {
	background-image: url(../images/parts/lp-onayami-bg.png);
    background-repeat: no-repeat;
    background-position: center center;
	padding-left:120px;
	padding-right:120px;
}

#lp-onayami:before {
    position: absolute;
    top: 0;
    left: 50%;
    border: solid transparent;
    content: " ";
    border-top-color: #FFF;
    border-width: 60px;
    margin-left: -60px;
    border-top-width: 35px;
}

#lp-onayami h2 {
	font-size:2.2rem;
	font-weight:700;
	position:relative;
	padding: 0 0 0.5em;
    margin-bottom: 0.5em;
    text-align: center;
}

#lp-onayami h2 span {
	font-size: 3.2rem;
	color:#fa7516;
}

#lp-onayami h2:after {
	position: absolute;
    content: "";
    background: #fa7516;
    width: 70px;
    height: 4px;
    bottom: 0;
    margin-left: -35px;
    left: 50%;
}

#lp-onayami .lp-first-check ul {
	margin-bottom:1rem;
}

#lp-onayami .lp-first-check ul li {
    font-weight: 500;
    font-size: 1.86rem;
    background-image: url(../images/parts/icon-check.png);
    background-repeat: no-repeat;
    background-position: center left;
    padding: .5rem .5rem .5rem 2.2em;
	text-align:left;
}



/*--------------------
	lp-s-contents
--------------------*/

.lp-s-contents .inner {
	padding-bottom:0;
}

#lp-s-contents-5  .inner {
	padding-bottom:70px;
}
	
.lp-s-contents h2 {
    font-size: 2.5rem;
    color: #FFF;
    background: #6176b6;
    position: relative;
    text-align: center;
    line-height: 1.5;
    padding: 1rem 1rem 1.5rem 1rem;
    font-weight: 500;
    letter-spacing: 0.05rem;
	margin-bottom:50px;
}

.lp-s-contents h2:after {
    position: absolute;
    bottom: -37px;
    left: 50%;
    border: solid transparent;
    content: " ";
    border-top-color: #6176b6;
    border-width: 10px;
    margin-left: -10px;
    border-top-width: 27px;
}

.lp-s-contents h3 {
	font-size:2.0rem;
	font-weight:700;
	margin-bottom:.8rem;
	line-height:1.5;
}

.lp-s-contents-3-chart  {
	margin-top:3rem;
}

.lp-s-contents-3-chart > ul {
	display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}

.lp-s-contents-3-chart > ul > li {
	width:300px;
	background:rgba(219,233,239,.5);
	float:left;
	margin-right:30px;
}


.lp-s-contents-3-chart > ul > li:last-child {
	margin-right:0;	
}

.lp-s-contents-3-chart > ul > li > dl > dt {
	background:#6176b6;
	text-align:center;
	padding:1rem;
}

.lp-s-contents-3-chart > ul > li:nth-child(1) > dl > dt { background:#aae35e; }
.lp-s-contents-3-chart > ul > li:nth-child(2) > dl > dt { background:#f3db32; }
.lp-s-contents-3-chart > ul > li:nth-child(3) > dl > dt { background:#63d2ed; }

.lp-s-contents-3-chart > ul > li > dl > dt > h3 {
	position:relative;
	padding-bottom:0.8rem;
	margin-bottom:1.2rem;
	font-size: 1.9rem;
    letter-spacing: 0.01rem;
	height: 6rem;
	line-height:6rem;
}

.lp-s-contents-3-chart > ul > li > dl > dt > h3:after {
	content:"";
	position:absolute;
	width:70px;
	height:4px;
	left:50%;
	margin-left:-35px;
	bottom:0;
	background:#FFF;
}

.lp-s-contents-3-chart ul li:nth-child(1) h3 {
	line-height:3rem;
}

.lp-s-contents-3-chart ul  li dl dt p {
	font-size:1.1rem;
	line-height:1.5;
    height: 10em;
}

.lp-s-contents-3-chart > ul > li > dl > dd {
	padding:1rem;
}

.lp-s-contents-3-chart > ul > li > dl > dd > h4 {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: .5rem;
    line-height: 1.4;
    letter-spacing: 0.05em;
    margin-top: 0.8rem;
}

.lp-s-contents-3-chart ul li dd .lp-s-contents-3-list li {
	position:relative;
	padding: 3px 0 3px 1.0em;
	font-size:1.3rem;
	line-height:1.5;
}

.lp-s-contents-3-chart ul li dd .lp-s-contents-3-list li:before {
    display: block;
    content: '';
    position: absolute;
    top: 0.9em;
    left: 0.4em;
    width: 5px;
    height: 5px;
    background-color: #555;
    border-radius: 100%;
}

.lp-s-contents-3-chart ul li dd .lp-s-contents-3-list li .sma {
	font-size:0.8em;
}

.lp-s-contents-5-list li {
	color:#0f265e;
    position: relative;
    padding: 3px 0 3px 1.0em;
    font-size: 1.5rem;
    line-height: 1.5;
	font-weight:500;
}

.lp-s-contents-5-list li:before {
    display: block;
    content: '';
    position: absolute;
    top: 0.9em;
    left: 0.4em;
    width: 5px;
    height: 5px;
    background-color: #0f265e;
    border-radius: 100%;
}

/*--------------------
	lpexample
--------------------*/

/*  t-lpexample
------------------------*/

#t-lpexample {
	position:relative;
	background:#c1c8e4;
	text-align:center;
}

#t-lpexample:before {
    position: absolute;
    top: 0;
    left: 50%;
    border: solid transparent;
    content: " ";
    border-top-color: #FFF;
    border-width: 60px;
    margin-left: -60px;
    border-top-width: 35px;
}

#t-lpexample h2 {
    font-size: 2.6rem;
	letter-spacing:0.2rem;
    font-weight: 700;
	color:#0f265e;
	margin-bottom:1rem;
}

#t-lpexample h2 span {
    display: block;
    color: #294280;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
}

/*  b-lpexample
------------------------*/

#b-lpexample .b-lpexample-list {
	margin-bottom:2rem;
}


#b-lpexample .b-lpexample-list li {
	padding:0.8rem 0;
}

#b-lpexample .b-lpexample-list li dl {
	overflow:hidden;
}

#b-lpexample .b-lpexample-list dt {
	float: left;
    width: 17%;
    color: #FFF;
    background: #6176b6;
    padding: .8rem 0 1rem 1rem;
    font-size: 1.6rem;
    text-align: center;
    letter-spacing: 1.0rem;
    line-height: 1.0;
}

#b-lpexample .b-lpexample-list dd {
	margin-left: 21%;
    padding: 0.3rem 0;
    font-size: 1.7rem;
	font-weight:500;
}

.b-lpexample-voice {
	margin-top:1rem;
}

.b-lpexample-voice h2 {
    border-bottom: 54px solid #0f265e;
    border-left: 0 solid transparent;
    border-right: 30px solid transparent;
    height: 0;
    display: inline-block;
}

.b-lpexample-voice h2 span {
	color: #FFF;
    font-weight: 700;
	padding:.8rem 1rem;
}

.b-lpexample-voice .b-lpexample-desc {
    background: rgba(219,233,239,.5);
	padding:1rem 1.5rem;
}


/*--------------------
	lpresults
--------------------*/

/*  t-lpresults
------------------------*/

#t-lpresults {
	position:relative;
	background:#b1c9e8;
	text-align:center;
}

#t-lpresults .inner {
	padding: 40px 0;
}

#t-lpresults h2 {
    font-size: 2.6rem;
	letter-spacing:0.2rem;
    font-weight: 700;
	color:#0f265e;
	margin-bottom:1rem;
}


/*  b-lpresults
------------------------*/

#b-lpresults {
	background:#dde8f7;
}

#b-lpresults .b-lpresults-list {
	margin-bottom:2rem;
}


#b-lpresults .b-lpresults-list li {
	padding:0.8rem 0;
}

#b-lpresults .b-lpresults-list li dl {
	overflow:hidden;
}

#b-lpresults .b-lpresults-list dt {
	display: inline-block;
    color: #FFF;
    background: #6176b6;
    padding: .8rem 0 1rem 0.8rem;
    font-size: 1.6rem;
    text-align: center;
    letter-spacing: 0.6rem;
    line-height: 1.0;
}

#b-lpresults .b-lpresults-list dd {
	margin-left: 1rem;
    padding: 0.3rem 0;
    font-size: 1.7rem;
	font-weight:500;
}

#b-lpresults .b-lpresults-voice {
	margin:3rem 0;
	padding:3rem 0;
}
	
#b-lpresults .b-lpresults-voice h2 {
    font-size: 2.0rem;
    font-weight: 700;
    margin-bottom: 1.2rem;
    line-height: 1.5;
	position: relative;
    text-align: center;
    padding-bottom: 0.8rem;
}

#b-lpresults .b-lpresults-voice h2:after {
	content: "";
    position: absolute;
    width: 70px;
    height: 4px;
    left: 50%;
    margin-left: -35px;
    bottom: 0;
    background: #8898c8;
}

#b-lpresults .b-lpresults-voice .fl {
	width:300px;
}

#b-lpresults .b-lpresults-voice .fl p {
	font-size:1.1rem;
	text-align:center;
}


#b-lpresults .b-lpresults-voice .fr {
	width:630px;
}

#b-lpresults .b-lpresults-voice h3 {
	font-size: 2.0rem;
    font-weight: 700;
    margin-bottom: .8rem;
    line-height: 1.5;
}




/*--------------------
	lpfaq
--------------------*/

/*  b-lpfaq
------------------------*/

	
#b-lpfaq h2 {
    font-size: 2.6rem;
    font-weight: 700;
    margin-bottom: 1.2rem;
    line-height: 1.5;
	position: relative;
    text-align: center;
    padding-bottom: 0.8rem;
}

#b-lpfaq h2:after {
	content: "";
    position: absolute;
    width: 70px;
    height: 4px;
    left: 50%;
    margin-left: -35px;
    bottom: 0;
    background: #8898c8;
	background:#fa7516;
}

#b-lpfaq > .inner > .b-lpfaq-list > li {
	margin-top:2rem;
}

#b-lpfaq .b-lpfaq-list dt {
	position:relative;
	margin-left:62px;
	margin-bottom:1.5rem;
	padding:0.5rem 0.8rem;
	font-weight:700;
	font-size:1.7rem;
}

	#b-lpfaq .b-lpfaq-list dt:before {
		content:"";
		position:absolute;
		top:0;
		left:-62px;
		width:62px;
		height:62px;
		background-image:url(../images/parts/icon-q.jpg);
		background-repeat:no-repeat;
		background-position:left top;
	}

#b-lpfaq .b-lpfaq-list dd {
	position:relative;
	margin-left:62px;
	font-size:1.3rem;
	background:#e5e5e5;
	padding:1.2rem 1rem;
}

	#b-lpfaq .b-lpfaq-list dd:before {
		content:"";
		position:absolute;
		top:0;
		left:-62px;
		width:62px;
		height:62px;
		background-image:url(../images/parts/icon-a.jpg);
		background-repeat:no-repeat;
		background-position:left top;
	}

#b-lpfaq .b-lpfaq-list dd ul li {
	position: relative;
    padding: 3px 0 3px 1.0em;
    font-size: 1.3rem;
    line-height: 1.5;
}

#b-lpfaq .b-lpfaq-list dd ul li:before {
    display: block;
    content: '';
    position: absolute;
    top: 0.9em;
    left: 0.4em;
    width: 5px;
    height: 5px;
    background-color: #555;
    border-radius: 100%;
}


/*--------------------
	lp-promo
--------------------*/

/*  lp-promo
------------------------*/

#lp-promo {
    position: relative;
    overflow: hidden;
    margin: 0 0 -12%;
    padding: 130px 0 10.5% 0;
    text-align: center;
    z-index: 3;
}

#lp-promo .inner {
	padding:50px 0 0 0;
}

#lp-promo:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 80%;
  margin: 3% -10% 0;
  background: #9ec83f;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(5deg);
  -ms-transform: rotate(5deg);
  transform: rotate(5deg);
  z-index: -1;
}

#lp-promo:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 120%;
    height: 80%;
    margin: 3% -10% 0;
    background: #ffe100;
    -webkit-transform-origin: right center;
    -ms-transform-origin: right center;
    transform-origin: right center;
    -webkit-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    transform: rotate(-5deg);
    z-index: -2;
}


/*--------------------
	lpform
--------------------*/

/*  t-lpform
------------------------*/
#t-lpform {
	position:relative;
	background:#0f265e;
	color:#FFF;
	text-align:center;
	z-index: 4;
}

#t-lpform:before {
    position: absolute;
    top: 0;
    left: 50%;
    border: solid transparent;
    content: " ";
    border-top-color: #9ec83f;
    border-width: 60px;
    margin-left: -60px;
    border-top-width: 35px;
}

#t-lpform h2 {
    font-size: 2.6rem;
	letter-spacing:0.2rem;
    font-weight: 700;
}

#t-lpform h3 {
	position:relative;
	font-size: 1.7rem;
	display: inline-block;
    padding: 0 60px;
}

#t-lpform h3:before,
#t-lpform h3:after {
	content:"";
	position:absolute;
	top: 0px;
	display: block;
	width: 1px ;
	height: 100%;
	background: #FFF;
}

#t-lpform h3:before {
	left: 29px; transform: rotate( -30deg )
}
#t-lpform h3:after {
	right: 29px; transform: rotate( 30deg )
}

/* b-lpform
------------------------*/

.contact-form {
	width:94%;
	max-width:960px;
	margin:0 auto;
}

.contact-form .contact-form_row {
    padding: 0;
    margin-bottom: 2em;
}

.contact-form .contact-form_label {
	font-size: 1.1rem;
	font-weight:bold;
	margin-bottom: 0.8em;
}

.contact-form .f-require {
    display: inline-block;
    color: #fff;
    font-size: .85em;
    background-color: #ff7600;
    font-weight: 600;
    line-height: 1.5;
    vertical-align: middle;
    padding: .1em .5em 0;
}

.contact-form .f-selectbox select {
    display: block;
    width: 100%;
    padding-right: 3em;
}
.contact-form .f-selectbox select,
.contact-form .f-text {
    padding: .6em 1em;
    border: 1px solid #555;
    border-radius: 5px;
    background-color: #fff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: 0;
    font-size: inherit;
    font-weight: 400;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    max-width: 100%;
    color: inherit;
	font-size: 1rem;
}

.contact-form .f-selectbox {
	position: relative;
    display: block;
}

.contact-form .f-selectbox select,
.contact-form textarea {
    display: block;
    width: 100%;
    padding-right: 3em;
	font-family: 'Noto Sans JP', 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	letter-spacing:0.1em;
}

.contact-form .f-selectbox::after {
    content: '';
    display: block;
    position: absolute;
    right: 1em;
    top: 50%;
    width: 8px;
    height: 8px;
    border-bottom: 2px solid;
    border-right: 2px solid;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
}

.contact-form .f-checkbox {
	overflow:hidden;
}

.contact-form .f-check {
	/*position:relative;*/
	display: inline-block;
	width:50%;
	float:left;
}

.contact-form .f-checkbox input[type=checkbox] {
  -ms-transform: scale(1.8, 1.8);
  -webkit-transform: scale(1.8, 1.8);
  transform: scale(1.8, 1.8);
}

/* 元々のチェックボックス（非表示） */
.contact-form .f-checkbox input[type="checkbox"]{
    display: none;
}
/* チェックボックスの代わりを成すラベル */
.contact-form .f-checkbox input[type="checkbox"]+label{
    display: none;
    cursor: pointer;
    display: inline-block;
    position: relative;
    padding-left: 25px;
    padding-right: 10px;
}
/* ラベルの左に表示させる正方形のボックス□ */
.contact-form .f-checkbox input[type="checkbox"]+label::before{
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 24px;
    height: 24px;
    margin-top: -10px;
    left: 10px;
    top: 24px;
    border: 3px solid;
    border-color: #2a4db3;
    background-color: #FFF;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}
/* チェックが入った時のレ点 */
.contact-form .f-checkbox input[type="checkbox"]:checked+label::after{
	content: "";
	position: absolute;
	display: block;
	box-sizing: border-box;
	width: 20px;
	height: 11px;
	margin-top: -9px;
    top: 24px;
    left: 15px;
	transform: rotate(-45deg);
	border-bottom: 4px solid;
	border-left: 4px solid;
	border-color: #ff7600;
}

.contact-form .f-checkbox input[type="checkbox"]+label img {
	position: relative;
	left: -24px;
    top: 0;
    z-index: -1;
}

.contact-form .f-checkbox input[type="checkbox"]+label p {
    position: relative;
    font-weight: bold;
    font-size: 1.1rem;
    left: -24px;
    text-align: left;
}

.contact-form .full-width {
	width: 100%;
    display: block;
}

.contact-policy h3 {
	font-size:1.4rem;
	margin:1em;
	text-align:center;
	font-weight:bold;
}

.contact-policy_content {
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    padding: 2em;
    max-height: 200px;
    overflow: auto;
    margin-bottom: 2em;
    -webkit-overflow-scrolling: touch;
	font-size: 1rem;
}


/* notes_required
------------------------*/
 
.notes_required {
    text-align: center;
}

.notes_required label {
    color: #333;
    font-size: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0);
    cursor: pointer;
    transition-duration: 0.3s;
    position: relative;
}
.notes_required label  {
    padding-left: 22px;
}



.notes_required input[type="checkbox"] {
    display: none;
}

.notes_required label .label_inner:before {
    content: "";
    width: 24px;
    height: 24px;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -13px;
    border: 3px solid;
    border-color: #2a4db3;
    background-color: #FFF;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}
.notes_required._check label .label_inner:after {
    content: '';
    width: 20px;
    height: 12px;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -.9em;
	transform: rotate(-45deg);
	border-bottom: 4px solid;
	border-left: 4px solid;
	border-color: #ff7600;
}
.notes_required label input {
    position: relative;
    z-index: -1;
}
 
/* .btnArea
------------------------*/

.btnArea {
    max-width: 400px;
    margin: 30px auto 0;
    position: relative;
}
.btnArea input[type="submit"],
.btnArea .ngbtn {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 0;
    background: rgba(255, 255, 255, 0);
    padding: 0;
    z-index: -1;
    transition-duration: 0.3s;
    box-sizing: border-box;
    -webkit-appearance: none;
	font-size: 0;
}

.btnArea .ngbtn {
    cursor: default;
    z-index: +1;
    outline: none;
}
.btnArea._check .ngbtn {
    z-index: -1;
}
.btnArea._check input[type="submit"] {
	z-index: 10000 !important;
	cursor: pointer;
}
a.btn_one {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #969696;
     border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    box-sizing: border-box;
    box-shadow: 0px 0px 0px 0px #00407b;
    width: 100%;
    height: 80px;
    padding: 0 10% 0 6%;
    color: #ffffff;
    font-size: 24px;
    font-weight: bold;
    text-align: left;
    text-decoration: none;
    position: relative;
    transition-duration: 0.2s;
}
a.btn_one:before {
    content: "";
    position: absolute;
    display: inline-block;
    width: 10px;
    height: 10px;
    right: 24px;
    margin: 0;
    border-top: 3px solid #FFF;
    border-right: 3px solid #FFF;
    transform: rotate(45deg);
}
a.btn_one:after {
    content: "";
    position: absolute;
    display: inline-block;
    width: 28px;
    height: 3px;
    top: 48%;
    right: 24px;
    background: #FFF;
}
._check a.btn_one._a {
    background: #ff7600;
	margin-top:0;
    box-shadow: 0px 5px 0px 0px #ab5b16;
	cursor: pointer;
	z-index: 1000;
	position: relative;
	top: 0;
	-webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
}
._check a.btn_one._a:hover {
    background: #ab5b16;
	position: relative;
	top: 5px;
    opacity: 1;
}
._check a.btn_one._b {
    background: #ff7600;
    box-shadow: 0px 5px 0px 0px #b36019;
}
a.btn_one._b:hover {
    background: #63b559;
    opacity: 1;
}

/*--------------------
	footer
--------------------*/

footer.footer_copyright_wrap {
	width:90%;
	margin:0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    padding-top: 30px;
    padding-bottom: 30px;
}

footer.footer_copyright_wrap p {
    font-size: .75rem;
    margin-bottom: 0;
}

/*--------------------
	thanks
--------------------*/

#thanks {
	font-size:1rem;
}

#thanks h2 {
	font-size:1.2rem;
	font-weight:700;
	margin-bottom:1rem;
}
