@charset "UTF-8";
@font-face {
    font-family: NotoSansCJKjp;
	font-weight: 200;
    src: url('/font/NotoSansCJKjp-L.woff') format('woff'),
		 url('/font/NotoSansCJKjp-L.otf') format('opentype');
}
@font-face {
    font-family: NotoSansCJKjp;
	font-weight: 400;
    src: url('/font/NotoSansCJKjp-R.woff') format('woff'),
		 url('/font/NotoSansCJKjp-R.otf') format('opentype');
}
@font-face {
    font-family: NotoSansCJKjp;
	font-weight: 500;
    src: url('/font/NotoSansCJKjp-M.woff') format('woff'),
		 url('/font/NotoSansCJKjp-M.otf') format('opentype');
}
@font-face {
    font-family: NotoSansCJKjp;
	font-weight: 700;
    src: url('/font/NotoSansCJKjp-B.woff') format('woff'),
		 url('/font/NotoSansCJKjp-B.otf') format('opentype');
}

* {
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
}
body {
	width: 100%;
	position: relative;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #0d1642;
	font-size: 1.4rem;
	line-height: 1.5;
	font-family: roboto, NotoSansCJKjp, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}
main {
	width: 100%;
	height: auto;
	margin: 0 auto;
    position: relative;
	background-color: #fff;
	overflow: hidden;
}
img {
	vertical-align: bottom;
}
.sp_show, .pc_none {
	display: none;
}
.clear:after {
	content: " ";
	display: block;
	clear: both;
}
.fixed {
	position: fixed;
	top: 0;
	left: 0;
}
ul.alignment li {
	padding-left: 1em;
	text-indent: -1em;
}
ol.alignment {
	counter-reset: number 0;
}
.contents_wrap {
	max-width: 1000px;
	height: auto;
	margin: 0 auto;
}

/*common*/
.logo img,
#mainvisual .mv_text img,
#lede .flexbox01 figure img,
#lede .right ul li:nth-of-type(2) img,
#about figure img,
#benefit h2 img,
#benefit dl dd figure img,
#reason dl dt img,
#user dl dd img {
    width: 100%;
    height: auto;
}
table {
	width: 100%;
	border-collapse: collapse;
}
.w25per {width: 25%;}
.w4per {width: 4%;}
.w20per {width: 20%;}
.w76per {width: 76%;}
.form_btn a {
    display: block;
    color: #fff;
    text-align: center;
    text-decoration: none;
    background-color: #f91468;
    border-radius: 6px;
	position: relative;
	transition: none;
	-webkit-transition: none;
	box-shadow: 0 6px 0 0 #ac1051;
}
.form_btn a:hover {
	background-color: #f75798;
	box-shadow: 0 6px 0 0 #d6166d;
}
.form_btn a:active {
	top: 3px;
	box-shadow: 0 3px 0 0 #d6166d;
}


/*header*/
header {
    padding-top: 100px;
}
nav.fixed {
    z-index: 999;
    width: 100%;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}
nav .contents_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100px;
}
nav h1 {
    display: flex;
    align-items: center;
}
nav .logo {
    max-width: 138px;
}
nav .logo img {
    display: block;
}
.catchcopy {
    position: relative;
    margin: 0 30px;
    font-size: 1.4rem;
    font-weight: normal;
}
.catchcopy::before {
    content: "";
    position: absolute;
    z-index: 997;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 260px;
    height: 1px;
    background-color: #0d1642;
}
.catchcopy span {
    position: relative;
    z-index: 998;
    padding: 0 4px;
    background-color: #fff;
}
.tel {
    max-width: 310px;
    font-size: 1.2rem;
    text-align: center;
}
.tel a {
    display: inline-block;
    padding-left: 60px;
    color: #0d1642;
    font-size: 3.8rem;
    line-height: 40px;
    background: url("/lp0120/images/freedial_ic.png") no-repeat left center;
    text-decoration: none;
}
nav .form_btn a {
    width: 240px;
    margin-top: -6px;
    padding: 17px 0;
    font-size: 2rem;
}
nav .form_btn a span {
    display: inline-block;
}

/*mainvisual*/
#mainvisual {
    background: url("/lp0120/images/mv_bg.png") no-repeat right -290px bottom / contain, #fff;
}
#mainvisual .deco_wrap {
    background-image: url("/lp0120/images/mv_deco01.png"), url("/lp0120/images/mv_deco02.png");
    background-repeat: no-repeat;
    background-position: left bottom, right bottom;
    background-size: contain;
}
#mainvisual .variable_wrap {
    max-width: 1000px;
    margin: 0 auto;
    height: auto;
}
#mainvisual .mv_text {
    position: relative;
}
#mainvisual .form_btn {
    position: absolute;
    left: 0;
    bottom: 50px;
}
#mainvisual .form_btn a {
    width: 430px;
    padding: 17px 0;
    font-size: 2.7rem;
}
#mainvisual .form_btn a span {
    padding-right: 30px;
    background: url("/lp0120/images/btn_ic01.png") no-repeat right center;
}

.mv_tag {
    padding: 60px 0;
    background-color: #80bed2;
    border-bottom: solid 4px #0d1642;
}
.mv_tag .flexbox {
    display: flex;
    justify-content: space-around;
}
.mv_tag li {
    width: 30%;
    max-width: 270px;
    padding: 100px 0 20px;
    font-size: 2.2rem;
    text-align: center;
    line-height: 1.2;
    box-shadow: 0 0 5px rgba(0,0,0,0.2);
}
.mv_tag li:nth-of-type(1) {
    background: url("/lp0120/images/tag_ic01.png") no-repeat center top 24px / 88px 60px , #fff;
}
.mv_tag li:nth-of-type(2) {
    background: url("/lp0120/images/tag_ic02.png") no-repeat center top 24px / 88px 60px , #fff;
}
.mv_tag li:nth-of-type(3) {
    background: url("/lp0120/images/tag_ic03.png") no-repeat center top 24px / 88px 60px , #fff;
}


/*lede*/
#lede [class^="flexbox0"] {
    display: flex;
    justify-content: space-between;
}
.lede_child01 {
    padding: 70px 0 90px;
}
.lede_child01 [class^="flexbox0"] {
    align-items: center;
}
.lede_child01 .left, .lede_child02 .right {
    width: 45%;
}
.lede_child01 .left dt, .lede_child02 .right dt {
    font-size: 3.4rem;
    line-height: 1.4;
}
.lede_child01 .left dd:nth-of-type(1), .lede_child02 .right dd:nth-of-type(1) {
    margin: 20px 0 26px;
    width: 32%;
    height: 10px;
    background-color: #80bed2;
}
.lede_child01 .left dd:nth-of-type(2) {
    font-size: 2rem;
}
.lede_child01 .flexbox01 figure {
    width: 10%;
    max-width: 78px;
}
.lede_child01 .right {
    width: 310px;
}
.lede_child01 .right ul {
    margin: 10px 0 16px;
}
.lede_child01 .right ul li p {
    font-size: 1.7rem;
    text-align: center;
    line-height: 1.2;
}
.lede_child01 .right ul li:nth-of-type(1), .lede_child01 .right ul li:nth-of-type(3) {
    width: 130px;
    height: 130px;
    background-color: #ffea71;
    border-radius: 50%;
}
.lede_child01 .right ul li p {
    position: relative;
    top: 50%;
    transform: translateY(-45%);
}
.lede_child01 .right ul li strong {
    display: inline-block;
    font-size: 2.5rem;
}
.lede_child01 .right > p {
    font-size: 2.8rem;
    text-align: center;
}
.lede_child01 .right ul li:nth-of-type(2) {
    max-width: 36px;
    margin: 0 5px;
}

.lede_child02 {
    padding: 80px 0 100px;
    background-color: #d2d3d6;
}
.lede_child02 .right {
    float: right;
}
.lede_child02 .left {
    float: left;
    width: 48%;
}
.lede_child02 .left th {
    font-weight: normal;
}
.lede_child02 .left thead {
    height: 50px;
    color: #fff;
    background-color: #80bed2;
}
.lede_child02 .left thead th:nth-of-type(n+2) {
    border-left: solid 1px #fff;
}
.lede_child02 .left tbody {
    background-color: #fff;
}
.lede_child02 .left tbody tr {
    height: 70px;
    border-bottom: solid 1px #0d1642;
}
.lede_child02 .left tbody tr:nth-of-type(1) th {
    background: url("/lp0120/images/lede_table_ic01.png") no-repeat center right 16px / 42px 36px;
}
.lede_child02 .left tbody tr:nth-of-type(2) th {
    background: url("/lp0120/images/lede_table_ic02.png") no-repeat center right 16px / 42px 36px;
}
.lede_child02 .left tbody tr:nth-of-type(3) th {
    background: url("/lp0120/images/lede_table_ic03.png") no-repeat center right 16px / 42px 36px;
}
.lede_child02 .left tbody th {
    padding: 0 16px;
    font-size: 1.2rem;
    text-align: left;
    line-height: 1.2;
}
.lede_child02 .left tbody td {
    text-align: center;
    border-left: solid 1px #0d1642;
}
.lede_child02 .left tbody .deco {
    position: relative;
}
.lede_child02 .left tbody .deco img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-42px,-41px);
    width: 166px;
    height: auto;
}

.lede_child03 .deco_wrap {
    padding: 100px 0 130px;
    background-image: url("/lp0120/images/lede_deco01.png"), url("/lp0120/images/lede_deco02.png");
    background-repeat: no-repeat;
    background-position: left bottom, right bottom;
    background-size: contain;
}
.lede_child03 p {
    font-size: 2.2rem;
    text-align: center;
}
.lede_child03 p:nth-of-type(2) {
    margin-top: 30px;
    font-size: 3.4rem;
}


/*about*/
#about {
    padding: 100px 0;
    color: #fff;
    background-color: #195396;
}
#about h2 {
    font-size: 7rem;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 30px;
}
#about h2 small {
    position: relative;
    display: inline-block;
    margin-left: -4px;
    padding-left: 50px;
    font-size: 3.4rem;
}
#about h2 small::before {
    content: "";
    position: absolute;
    left: 1px;
    bottom: 6px;
    width: 50px;
    height: 2px;
    background-color: #fff;
}
#about p {
    font-size: 2.2rem;
}
#about p strong {
    font-size: 3.4rem;
}
#about p span {
    color: #ffea71;
}
#about figure {
    margin-top: 60px;
    padding: 60px 30px 100px;
    background-color: #fff;
    box-shadow: 0 0 5px rgba(0,0,0,0.2);
}


/*benefit*/
#benefit {
    padding: 80px 0 100px;
	background-color: #e0e0e0;
	background: -moz-repeating-linear-gradient(-45deg, #e0e0e0, #e0e0e0 6px, #d2d3d6 6px, #d2d3d6 20px);
	background: -webkit-repeating-linear-gradient(-45deg, #e0e0e0, #e0e0e0 6px, #d2d3d6 6px, #d2d3d6 20px);
	background: repeating-linear-gradient(-45deg, #e0e0e0, #e0e0e0 6px, #d2d3d6 6px, #d2d3d6 20px);
    box-shadow: 0 4px 6px rgba(0,0,0,0.3) inset;
}
#benefit h2 {
    padding-bottom: 10px;
    text-align: center;
    background: url("/lp0120/images/benefit_h2_deco01.png") no-repeat right 20px bottom;
}
#benefit h2 img {
    max-width: 518px;
}
#benefit dl {
    box-shadow: 0 0 5px rgba(0,0,0,0.2);
}
#benefit dl dt {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px 0;
    font-size: 3.4rem;
    font-weight: bold;
    background-color: #80bed2;
}
#benefit dl dt .tag {
    display: inline-block;
    width: 250px;
    margin-right: 10px;
    padding-right: 10px;
    font-size: 1.8rem;
    font-weight: normal;
    text-align: center;
    line-height: 40px;
    background: url("/lp0120/images/benefit_tag_bg.png") no-repeat right center / contain;
}
#benefit dl dd {
    padding: 30px 30px 70px;
    background-color: #fff;
}
#benefit dl dd figure {
    max-width: 600px;
    margin: 30px auto 50px;
}
#benefit dl dd .caption {
    font-size: 1.8rem;
    text-align: center;
}
#benefit dl dd p:nth-of-type(2) {
    font-size: 2.8rem;
    font-weight: bold;
    text-align: center;
}
#benefit ul.notes_text {
    margin-top: 10px;
    margin-left: 34px;
    text-align: left;
}
#benefit ul.notes_text li {
    font-size: 1.2rem;
    line-height: 170%;
}


/*reason*/
#reason {
    padding: 100px 0;
    background-color: #fff;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.3);
}
#reason h2 {
    font-size: 7rem;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 50px;
}
#reason h2 small {
    position: relative;
    display: inline-block;
    margin-left: -7px;
    padding-left: 50px;
    font-size: 3.4rem;
}
#reason h2 small::before {
    content: "";
    position: absolute;
    left: 1px;
    bottom: 6px;
    width: 50px;
    height: 2px;
    background-color: #0d1642;
}
#reason dl {
    display: flex;
    margin-top: 40px;
    box-shadow: 0 0 5px rgba(0,0,0,0.2);
}
#reason dl dt {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 17%;
    padding: 30px 10px;
    background-color: #80bed2;
}
#reason dl dt img {
    max-width: 110px;
}
#reason dl dd {
    width: 83%;
    padding: 30px;
}
#reason dl dd .title {
    margin-bottom: 18px;
    padding-bottom: 4px;
    font-size: 2.2rem;
    font-weight: bold;
    border-bottom:  solid 6px #80bed2;
}
#reason dl dd p {
    font-size: 1.8rem;
}


/*user*/
#user {
    padding: 100px 0;
    background-color: #80bed2;
}
#user h2 {
    font-size: 7rem;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 30px;
}
#user h2 small {
    position: relative;
    display: inline-block;
    margin-left: -7px;
    padding-left: 50px;
    font-size: 3.4rem;
}
#user h2 small::before {
    content: "";
    position: absolute;
    left: 1px;
    bottom: 6px;
    width: 50px;
    height: 2px;
    background-color: #0d1642;
}
#user p {
    font-size: 2.2rem;
}
#user [class^="flexbox0"] {
    display: flex;
    flex-wrap: wrap;
}
#user .flexbox04 {
    justify-content: center;
    margin: 60px 0 30px;
}
#user .flexbox04 dl {
    margin: 0 13px 30px;
}
#user .flexbox04 dl dd {
    display: flex;
    align-items: center;
    width: 140px;
    height: 140px;
    padding: 15px 10px;
    background-color: #fff;
}
#user .flexbox04 dl dt {
    margin-top: 10px;
    font-size: 1.8rem;
    text-align: center;
}
#user .flexbox05 {
    justify-content: flex-start;
    padding: 20px 10px;
    background-color: #fff;
}
#user .flexbox05 img {
    max-height: 52px;
    height: 100%;
    width: auto;
    margin: 20px 50px;
}
#user .flexbox05 img:nth-of-type(8) {
    max-height: 66px;
    margin: 13px 50px;
}
#user .flexbox05 img:nth-of-type(9) {
    max-height: 76px;
    margin: 8px 50px;
}


/*question*/
#question {
    padding: 100px 0;
    background-color: #fff;
}
#question h2 {
    font-size: 7rem;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 60px;
}
#question .toggle {
    margin-top: 40px;
}
#question .toggle .btn {
	position: relative;
	padding: 24px 90px 23px;
    font-size: 2.2rem;
    font-weight: bold;
	background: url("/lp0120/images/question_ic01.png") no-repeat left 30px top 20px, #d2d3d6;
	cursor: pointer;
}
#question .toggle .btn::before {
	content: "";
	position: absolute;
	top: 50%;
    transform: translateY(-50%);
	right: 30px;
	width: 40px;
	height: 40px;
	background: url("/lp0120/images/question_ic03.png") no-repeat center center, #fff;
}
#question .toggle .btn.active::before {
    background: url("/lp0120/images/question_ic04.png") no-repeat center center, #fff;
}
#question [id^="answer0"] {
    display: none;
	padding: 26px 30px 24px 90px;
    font-size: 1.8rem;
    background: url("/lp0120/images/question_ic02.png") no-repeat left 30px top 20px, #fff;
    border: solid 3px #d2d3d6;
    border-top: none;
}
#question [id^="answer0"] p small {
    font-size: 1.4rem;
}


/*form*/
#contact {
	padding: 100px 0 110px;
	background-color: #d2d3d6;
}
#contact h2 {
    margin-bottom: 50px;
    font-size: 3.4rem;
    text-align: center;
}
#contact .tag {
    width: 280px;
    margin: 0 auto 40px;
    font-size: 2.2rem;
    text-align: center;
    line-height: 40px;
    background-color: #80bed2;
    border-radius: 20px;
}
#form {
    margin-top: -100px;
    padding-top: 100px;
}
#contact .telbox {
    margin-bottom: 60px;
    padding: 40px 30px 30px;
    background-color: #fff;
    box-shadow: 0 0 5px rgba(0,0,0,0.2);
}
#contact .telbox p {
    font-size: 2.2rem;
    text-align: center;
    line-height: 1.4;
}
#contact .telbox p small {
    font-size: 1.8rem;
}
#contact .telbox .tel {
    color: #0d1642;
    font-size: 4.4rem;
    font-weight: bold;
    line-height: 1;
    text-decoration: none;
}
#contact .form_wrap {
    margin-bottom: 60px;
    padding: 80px 15% 50px;
    background-color: #fff;
    box-shadow: 0 0 5px rgba(0,0,0,0.2);
}
#contact [class$="_area"] th, #contact [class$="_area"] td {
	display: block;
	width: 100%;
}
#contact [class$="_area"] th {
	position: relative;
    margin-bottom: 15px;
	font-size: 1.8rem;
    font-weight: normal;
	text-align: left;
}
#contact .input_area th .required {
    display: inline-block;
    margin-left: 10px;
    padding: 1px 8px;
    font-size: 1.2rem;
    background-color: #ffea71;
}
#contact .input_area th .optional {
    display: inline-block;
    margin-left: 10px;
    padding: 1px 8px;
    color: #fff;
    font-size: 1.2rem;
    background-color: #0d1642;
}
#contact .input_area th .example {
    margin-left: 10px;
    font-size: 1.4rem;
}
#contact [class$="_area"] td {
	margin-bottom: 30px;
}
#contact .input_area input, #contact .input_area textarea {
	width: 100%;
	padding: 10px;
	border: solid 2px #dfe0e2;
}
#contact .input_area textarea {
    height: 210px;
}

table.confirm_area textarea {
    width: 100%;
    height: 210px;
}

.radio input, .check input {
	display: none;
}
.radio {
	display: flex;
    justify-content: space-between;
}
.radio label {
	position: relative;
    display: inline-block;
    width: 25%;
	padding: 0 0 0 34px;
	font-size: 1.6rem;
	line-height: 40px;
    cursor: pointer;
}
.radio label:before, .radio label:after {
	position: absolute;
	content: "";
	display: block;
}
.radio label:before {
    top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	background-color: #dfe0e2;
	border-radius: 50%;
}
.radio label:after {
    top: 50%;
	left: 7px;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	background-color: #80bed2;
	border-radius: 50%;
	opacity: 0;
}
.radio label.on:after {
	opacity: 1;
}
.check {
    font-size: 1.8rem;
	text-align: center;
}
.check label {
	position: relative;
	display: inline-block;
	padding-left: 40px;
    line-height: 30px;
    cursor: pointer;
    margin-top: 30px;
}
.check label:before, .check label:after {
	position: absolute;
	content: "";
	display: block;
}
.check label:after {
    top: 6px;
    left: 3px;
    width: 24px;
    height: 18px;
    background: url("/lp0120/images/form_ic01.png") no-repeat center center / contain;
	opacity: 0;
}
.check label:before {
    top: 0;
	left: 0;
	width: 30px;
	height: 30px;
	background-color: #fff;
    box-shadow: 0 0 5px rgba(0,0,0,0.2);
}
.check label.on:after {
	opacity: 1;
}
.privacybox {
	height: 230px;
    margin-bottom: 60px;
	padding: 0 30px;
    font-size: 1.6rem;
	background-color: #fff;
	overflow-y: scroll;
	overflow-x: hidden;
	word-break: break-all;
    box-shadow: 0 0 5px rgba(0,0,0,0.2);
}
.privacybox::-webkit-scrollbar {
	width: 16px;
	padding: 1px;
	background-color: #f2f4f6;
}
.privacybox::-webkit-scrollbar-thumb {
	background-color: #dddfe3;
}
.privacybox p span {
	font-size: 1.8rem;
}
.privacybox > p {
	margin-top: 30px;
}
.privacybox > p:last-of-type {
	margin-bottom: 30px;
}
.privacybox > ol {
	margin-top: 20px;
}
.privacybox ol > li {
	margin-top: 16px;
}
.privacybox > ul, .privacybox ol > li > dl:nth-of-type(1) {
	margin-top: 10px;
}
.privacybox ol > li > dl:nth-of-type(n+2) {
	margin-top: 2px;
}
.privacybox ol > li:nth-of-type(n+2) {
	margin-left: 1.5em;
}
.privacybox ol > li > dl {
	display: flex;
}
.privacybox ol > li > dl dt {
	word-break: keep-all;
}
.privacybox a:link, .privacybox a:visited {
	color: #0d59b8;
	text-decoration: none;
}
.privacybox a:hover, .privacybox a:active {
	text-decoration: underline;
}
.privacybox table tr {
	height: 28px;
}
.privacybox table th {
	padding-left: 4px;
	font-weight: 400;
	background-color: #e6e9ed;
}
.privacybox table th, .privacybox table td {
	border: solid 1px #ccc;
}
.privacybox table td:nth-of-type(1) {
	text-align: center;
}
.privacybox table td:nth-of-type(n+2) {
	padding: 4px;
}
.poricy_btn {
    font-size: 1.8rem;
    text-align: center;
}
.poricy_btn input {
    display: none;
}

#contact .confirm_area th {
    margin-bottom: 10px;
    padding-left: 20px;
}
#contact .confirm_area td {
    padding: 10px 20px;
	border-top: solid 1px #dfe0e2;
	border-bottom: solid 1px #dfe0e2;
    word-break: break-all;
}
#contact .thanks {
    padding-bottom: 20px;
}
#contact .thanks p {
	font-size: 1.6rem;
	text-align: center;
}
#contact .thanks p:nth-of-type(1) {
	padding: 0 0 30px;
	font-size: 4.2rem;
	font-weight: bold;
	line-height: 1.2;
}

#contact .error {
    padding-bottom: 20px;
}
#contact .error p {
	font-size: 1.6rem;
	text-align: center;
}
#contact .error p:nth-of-type(1) {
	padding: 0 0 30px;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.2;
}
#contact .error p.error-tel {
    font-size: 2.2rem;
    padding-top: 20px;
}
#contact .error p.error-tel a {
    text-decoration: none;
}
#contact .error p.error-tel-time {
    font-size: 1.4rem;
}

/*button*/
#contact .consent_btn ,
#contact .next_btn {
    display: block;
    margin-top: 30px;
    text-align: center;
}

#contact .consent_btn_confirm {
    display: block;
    text-align: center;
}

#contact button.form_btn,
#contact .next_btn input {
    max-width: 420px;
    height: auto;
    width: 100%;
    margin: 0 auto;
}
#contact .prev_btn a {
    display: block;
    max-width: 200px;
    width: 100%;
    height: auto;
    margin: 0 auto;
}
#contact .next_btn:hover,
#contact .prev_btn a:hover,
#contact button.form_btn:hover {
    opacity: 0.8;
}

.alert-danger li {
    list-style: none;
    font-size: 1.6rem;
    line-height: 180%;
}


/* footer */
footer {
    background-color: #fff;
}
footer .adsip {
    margin: 20px auto 0;
    padding-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 1px solid #ccc;
}

footer .adsip ul li {
    margin-bottom: 12px;
}

footer .adsip ul li:last-child {
    margin-bottom: 0;
}

footer .adsip ul li p.footer_logo img {
    width: 150px;
    height: auto;
}

footer .adsip ul li p.tell {
    font-size: 1.1rem;
    line-height: 180%;
    text-align: center;
}

footer .adsip ul li p.tell a {
    padding-left: 36px;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 20px;
    background: url(../../images/common/freedial_ic.png) no-repeat left center;
}

footer .adsip p.footer_etoc img {
    width: 64px;
    height: auto;
}

footer .adsip p.footer_etoc {
    margin-left: 24px;
}

footer .adsip ul li p.tell a:link,
footer .adsip ul li p.tell a:visited {
    color: #333;
    text-decoration: none;
}



footer .contents_wrap {
    position: relative;
    padding: 40px 0;
}
footer .logo {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: 2;
}
footer .logo a {
    display: block;
    width: 138px;
}
footer p {
    color: #000;
    font-size: 1.8rem;
    text-align: center;
}
footer .copyright {
    font-size: 1.2rem;
}


@media screen and (min-width: 769px) and (max-width: 1000px) {
	.contents_wrap, #mainvisual .variable_wrap {
		padding: 0 20px;
	}
    nav .tel {
        display: none;
    }
    #mainvisual .form_btn {
        bottom: 40px;
    }
    .lede_child01 .left dt, .lede_child02 .right dt {
        font-size: 3rem;
    }
    .lede_child02 .left {
        width: 58%;
    }
    .lede_child02 .right {
        width: 40%;
    }
    #benefit h2 {
        padding-bottom: 20px;
        background: url("/lp0120/images/benefit_h2_deco02.png") no-repeat right 0 bottom / contain;
    }
    footer .logo {
        left: 20px;
    }
}
@media screen and (min-width: 375px) and (max-width: 768px) {
	.contents_wrap {
		padding: 0 	20px;
	}
}
@media screen and (max-width: 768px) {
	body {
		font-size: 1.2rem;
	}
	.sp_none {
		display: none;
	}
	.sp_show {
		display: block;
	}

    /*common*/
    .form_btn a {
        box-shadow: 0 4px 0 0 #ac1051;
    }
    .form_btn a:hover {
        background-color: #f75798;
        box-shadow: 0 4px 0 0 #d6166d;
    }
    .form_btn a:active {
        top: 2px;
        box-shadow: 0 2px 0 0 #d6166d;
    }

    /*header*/
    header {
        padding-top: 50px;
    }
    nav .tel, nav .catchcopy {
        display: none;
    }
    nav .contents_wrap {
        height: 50px;
    }
    nav .logo {
        max-width: 100px;
    }
    nav .form_btn a {
        width: 136px;
        margin-top: -4px;
        padding: 9px 0;
        font-size: 1.2rem;
    }
    
    /*mainvisual*/
    #mainvisual {
        background: none;
    }
    #mainvisual .deco_wrap {
        background: none;
    }
    #mainvisual .form_btn {
        left: 5%;
        bottom: 16%;
        width: 100%;
    }
    #mainvisual .form_btn a {
        width: 50%;
        max-width: 370px;
        padding: 3% 0;
        font-size: 1.2rem;
    }
    #mainvisual .form_btn a span {
        padding-right: 15px;
        background: url("/lp0120/images/btn_ic01.png") no-repeat right center / 11px 13px;
    }
    .mv_tag {
        padding: 30px;
    }
    .mv_tag .flexbox {
        display: block;
    }
    .mv_tag li {
        width: 80%;
        max-width: 530px;
        margin: 20px auto 0;
        padding: 72px 0 12px;
        font-size: 1.4rem;
    }
    .mv_tag li:nth-of-type(1) {
        margin-top: 0;
        background: url("/lp0120/images/tag_ic01.png") no-repeat center top 15px / 66px 45px, #fff;
    }
    .mv_tag li:nth-of-type(2) {
        background: url("/lp0120/images/tag_ic02.png") no-repeat center top 15px / 66px 45px, #fff;
    }
    .mv_tag li:nth-of-type(3) {
        background: url("/lp0120/images/tag_ic03.png") no-repeat center top 15px / 66px 45px, #fff;
    }
    
    /*lede*/
    #lede .flexbox01 {
        display: block;
    }
    .lede_child01 {
        padding: 40px 0 50px;
    }
    .lede_child01 .left, .lede_child02 .right {
        width: 100%;
    }
    .lede_child01 .left dt, .lede_child02 .right dt {
        font-size: 2rem;
    }
    .lede_child01 .left dd:nth-of-type(1), .lede_child02 .right dd:nth-of-type(1) {
        margin: 10px 0 12px;
        width: 50%;
    }
    .lede_child01 .left dd:nth-of-type(2) {
        font-size: 1.4rem;
    }
    .lede_child01 .flexbox01 figure {
        width: 40%;
        max-width: 240px;
        margin: 20px auto;
    }
    .lede_child01 .right {
        width: 100%;
        max-width: 300px;
        margin: 0 auto;
    }
    .lede_child01 .right ul {
        margin: 12px 0;
    }
    .lede_child01 .right ul li p {
        font-size: 1.4rem;
    }
    .lede_child01 .right ul li:nth-of-type(1), .lede_child01 .right ul li:nth-of-type(3) {
        width: 120px;
        height: 120px;
    }
    .lede_child01 .right ul li strong {
        font-size: 2.2rem;
    }
    .lede_child01 .right > p {
        font-size: 1.8rem;
    }
    .lede_child01 .right ul li:nth-of-type(2) {
        max-width: 24px;
    }
    .lede_child02 {
        padding: 50px 0;
    }
    .lede_child02 .left {
        width: 100%;
        padding-right: 35px;
    }
    .lede_child02 .left thead {
        height: 24px;
    }
    .lede_child02 .left tbody tr {
        height: 40px;
    }
    .lede_child02 .left tbody tr:nth-of-type(1) th {
        background: url("/lp0120/images/lede_table_ic01.png") no-repeat center right 8px / 28px 24px;
    }
    .lede_child02 .left tbody tr:nth-of-type(2) th {
        background: url("/lp0120/images/lede_table_ic02.png") no-repeat center right 8px / 28px 24px;
    }
    .lede_child02 .left tbody tr:nth-of-type(3) th {
        background: url("/lp0120/images/lede_table_ic03.png") no-repeat center right 8px / 28px 24px;
    }
    .lede_child02 .left tbody th {
        padding: 0 8px;
        font-size: 1rem;
    }
    .lede_child02 .left tbody .deco img {
        transform: translate(-25px,-25px);
        width: 100px;
    }
    .lede_child03 .deco_wrap {
        padding: 50px 0 60px;
        background-position: left -60px bottom, right -80px bottom;
    }
    .lede_child03 p {
        font-size: 1.4rem;
    }
    .lede_child03 p:nth-of-type(2) {
        margin-top: 20px;
        font-size: 2rem;
    }

    /*about*/
    #about {
        padding: 50px 0;
    }
    #about h2 {
        font-size: 3.5rem;
        margin-bottom: 20px;
        line-height: 0.8;
    }
    #about h2 small {
        margin-left: -4px;
        padding-left: 20px;
        font-size: 1.7rem;
    }
    #about h2 small::before {
        top: 11px;
        width: 20px;
        height: 1px;
    }
    #about p {
        font-size: 1.4rem;
    }
    #about p strong {
        font-size: 2rem;
    }
    #about figure {
        margin-top: 20px;
        padding: 20px 10px;
    }

    /*benefit*/
    #benefit {
        padding: 40px 0 50px;
        background: -moz-repeating-linear-gradient(-45deg, #e0e0e0, #e0e0e0 3px, #d2d3d6 3px, #d2d3d6 10px);
        background: -webkit-repeating-linear-gradient(-45deg, #e0e0e0, #e0e0e0 3px, #d2d3d6 3px, #d2d3d6 10px);
        background: repeating-linear-gradient(-45deg, #e0e0e0, #e0e0e0 3px, #d2d3d6 3px, #d2d3d6 10px);
    }
    #benefit h2 {
        padding: 0 12% 15px;
        background: url("/lp0120/images/benefit_h2_deco02.png") no-repeat left bottom / contain;
    }
    #benefit dl dt {
        display: block;
        padding: 15px 0;
        font-size: 2rem;
        text-align: center;
    }
    #benefit dl dt .tag {
        margin-right: 0;
        padding-right: 6px;
        font-size: 1.2rem;
        line-height: 24px;
        background: url("/lp0120/images/benefit_tag_bg.png") no-repeat center center / contain;
    }
    #benefit dl dd {
        padding: 15px 15px 30px;
    }
    #benefit dl dd figure {
        margin: 0 auto 20px;
    }
    #benefit dl dd .caption {
        margin-bottom: 10px;
        font-size: 1.3rem;
        text-align: left;
    }
    #benefit dl dd p:nth-of-type(2) {
        font-size: 1.8rem;
    }
    #benefit ul.notes_text {
        margin-left: 0px;
    }

    /*reason*/
    #reason {
        padding: 50px 0;
    }
    #reason h2 {
        font-size: 3.5rem;
        line-height: 0.8;
        margin-bottom: 20px;
    }
    #reason h2 small {
        margin-left: -4px;
        padding-left: 20px;
        font-size: 1.7rem;
    }
    #reason h2 small::before {
        top: 11px;
        width: 20px;
        height: 1px;
    }
    #reason dl {
        margin-top: 20px;
    }
    #reason dl dt {
        width: 18%;
        padding: 10px 8px;
    }
    #reason dl dt img {
        max-width: 90px;
    }
    #reason dl dd {
        width: 82%;
        padding: 15px 10px;
    }
    #reason dl dd .title {
        margin-bottom: 12px;
        padding-bottom: 2px;
        font-size: 1.5rem;
        border-bottom: solid 3px #80bed2;
    }
    #reason dl dd p {
        font-size: 1.3rem;
    }

    /*user*/
    #user {
        padding: 50px 0;
    }
    #user h2 {
        font-size: 3.5rem;
        line-height: 0.8;
        margin-bottom: 20px;
    }
    #user h2 small {
        margin-left: -4px;
        padding-left: 20px;
        font-size: 1.7rem;
    }
    #user h2 small::before {
        top: 11px;
        width: 20px;
        height: 1px;
    }
    #user p {
        font-size: 1.4rem;
    }
    #user [class^="flexbox0"] {
        justify-content: space-between;
    }
    #user .flexbox04 {
        margin: 20px 0 10px;
    }
    #user .flexbox04 dl {
        margin: 0 0 20px;
    }
    #user .flexbox04 dl dd {
        width: 95px;
        height: 95px;
        padding: 10px;
    }
    #user .flexbox04 dl dt {
        margin-top: 10px;
        font-size: 1.2rem;
    }
    #user .flexbox05 {
        justify-content: center;
        padding: 10px;
    }
    #user .flexbox05 img {
        max-height: 40px;
        margin: 10px 20px;
    }
    #user .flexbox05 img:nth-of-type(5) {
        max-height: 45px;
        margin: 10px 20px;
    }
    #user .flexbox05 img:nth-of-type(6) {
        max-height: 30px;
        margin: 10px 24px;
    }
    #user .flexbox05 img:nth-of-type(8) {
        max-height: 45px;
        margin: 4px 20px;
    }
    #user .flexbox05 img:nth-of-type(9) {
        max-height: 54px;
        margin: 6px 20px;
    }

    /*question*/
    #question {
        padding: 50px 0;
    }
    #question h2 {
        font-size: 3.5rem;
        margin-bottom: 20px;
    }
    #question .toggle {
        margin-top: 20px;
    }
    #question .toggle .btn {
        padding: 10px 40px;
        font-size: 1.4rem;
        background: url("/lp0120/images/question_ic01.png") no-repeat left 10px top 50% / 20px, #d2d3d6;
        cursor: pointer;
    }
    #question .toggle .btn::before {
        right: 10px;
        width: 20px;
        height: 20px;
        background: url("/lp0120/images/question_ic03.png") no-repeat center center / 14px, #fff;
    }
    #question .toggle .btn.active::before {
        background: url("/lp0120/images/question_ic04.png") no-repeat center center / 14px, #fff;
    }
    #question [id^="answer0"] {
        padding: 10px 40px;
        font-size: 1.3rem;
        background: url("/lp0120/images/question_ic02.png") no-repeat left 10px top 20px / 20px, #fff;
    }
    #question [id^="answer0"] p small {
        font-size: 1.2rem;
    }

    /*form*/
    #contact {
        padding: 50px 0 55px;
    }
    #contact h2 {
        margin-bottom: 30px;
        font-size: 2rem;
    }
    #contact .tag {
        width: 180px;
        margin: 0 auto 20px;
        font-size: 1.4rem;
        line-height: 24px;
        border-radius: 12px;
    }
    #form {
        margin-top: -50px;
        padding-top: 50px;
    }
    #contact .telbox {
        margin-bottom: 30px;
        padding: 15px;
    }
    #contact .telbox p {
        font-size: 1.2rem;
    }
    #contact .telbox p small {
        font-size: 1.2rem;
    }
    #contact .telbox .tel {
        font-size: 2.8rem;
        line-height: 1.2;
    }
    #contact .form_wrap {
        margin-bottom: 30px;
        padding: 30px 10px 10px;
    }
    #contact [class$="_area"] th {
        margin-bottom: 8px;
        font-size: 1.2rem;
    }
    #contact .input_area th .required, #contact .input_area th .optional {
        margin-left: 8px;
        padding: 1px 6px;
        font-size: 1rem;
    }
    #contact .input_area th .example {
        margin-left: 8px;
        font-size: 1rem;
    }
    #contact [class$="_area"] td {
        margin-bottom: 20px;
    }
    #contact .input_area input, #contact .input_area textarea {
        padding: 4px;
    }
    .radio label {
        width: 50%;
        padding: 0 0 0 22px;
        font-size: 1.2rem;
        line-height: 26px;
    }
    .radio label:before {
        width: 18px;
        height: 18px;
    }
    .radio label:after {
        left: 4px;
        width: 10px;
        height: 10px;
    }
    .check {
        font-size: 1.2rem;
    }
    .check label {
        padding-left: 36px;
        line-height: 20px;
    }
    .check label:after {
        top: 6px;
        left: 4px;
        width: 12px;
        height: 9px;
        background: url("/lp0120/images/form_ic01.png") no-repeat center center / contain;
    }
    .check label:before {
        width: 20px;
        height: 20px;
    }

    .privacybox {
        height: 200px;
        margin-bottom: 30px;
        padding: 0 10px;
        font-size: 1.2rem;
    }
    .privacybox p span {
        font-size: 1.4rem;
    }
    .privacybox > p {
        margin-top: 20px;
    }
    .privacybox > p:last-of-type {
        margin-bottom: 20px;
    }
    .privacybox > ol {
        margin-top: 10px;
    }
    .privacybox ol > li {
        margin-top: 8px;
    }
    .privacybox > ul, .privacybox ol > li > dl:nth-of-type(1) {
        margin-top: 6px;
    }

    #contact .confirm_area th {
        margin-bottom: 6px;
        padding-left: 10px;
    }
    #contact .confirm_area td {
        padding: 4px 10px;
    }
    
    #contact .thanks p {
        font-size: 1.4rem;
        text-align: center;
    }
    #contact .thanks p:nth-of-type(1) {
        padding: 0 0 20px;
        font-size: 2rem;
    }

    /*button*/
    #contact .next_btn {
        margin-top: 20px;
    }
    #contact .next_btn input {
        width: 80%;
    }
    #contact .prev_btn {
        margin-top: 20px;
    }

    /* footer */
    footer .contents_wrap {
        padding: 20px 0;
    }
    footer .logo {
        left: 10px;
    }
    footer .logo a {
        width: 83px;
    }
    footer p {
        padding-left: 32px;
        font-size: 1.2rem;
    }
    footer .adsip p.footer_etoc {
        padding-left: 0;
    }

    footer .copyright {
        font-size: 1rem;
    }

}
@media screen and (max-width: 374px) {
	.contents_wrap {
		padding: 0 	10px;
	}
}