@charset "utf-8";

/*===== CSS RESET =====*/

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,cite,code,del,dfn,img,ins,kbd,q,s,samp,strike,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,input,textarea,select{outline:none;border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}.clear{clear:both}.clearfix:after{content:" ";display:table;clear:both}.clearfix{*zoom:1}ul,ol{list-style:none;}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body *{max-height:99999em}body img{max-height:none}


/*===== COMMON =====*/

html, body {
	width: 100%;
	min-height: 100%;
}
body {
	background: #FFF;
	font-size: 14px;
	line-height: 1.4;
	font-family: Meiryo, YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
	-webkit-text-size-adjust: none;
	color: #000;
}

.ft_serif {
	font-family: "Hiragino Mincho Pro", Times, "Times New Roman", Georgia, serif;
}

a {
	color: #000;
	text-decoration: none;
}

.trans {
	opacity: 1;
}
.trans:hover {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
	filter: alpha(opacity=80);
	-moz-opacity: .8;
	-khtml-opacity: .8;
	opacity: .8;
}

.container {
	width: 100%;
	min-width: 1005px;
	overflow: hidden;
}

.wrapper {
	width: 1005px;
	margin-left: auto;
	margin-right: auto;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

table,
table th,
table td {
	border-spacing: 0;
	border-collapse: collapse;
}

table th,
table td {
	vertical-align: top;
	text-align: left;
	padding: 5px 0;
}

/*===== FONT SIZE =====*/

@media (max-width: 640px) { body { font-size: 24px } }
@media (max-width: 635px) { body { font-size: 23.8125px } }
@media (max-width: 630px) { body { font-size: 23.625px } }
@media (max-width: 625px) { body { font-size: 23.4375px } }
@media (max-width: 620px) { body { font-size: 23.25px } }
@media (max-width: 615px) { body { font-size: 23.0625px } }
@media (max-width: 610px) { body { font-size: 22.875px } }
@media (max-width: 605px) { body { font-size: 22.6875px } }
@media (max-width: 600px) { body { font-size: 22.5px } }
@media (max-width: 595px) { body { font-size: 22.3125px } }
@media (max-width: 590px) { body { font-size: 22.125px } }
@media (max-width: 585px) { body { font-size: 21.9375px } }
@media (max-width: 580px) { body { font-size: 21.75px } }
@media (max-width: 575px) { body { font-size: 21.5625px } }
@media (max-width: 570px) { body { font-size: 21.375px } }
@media (max-width: 565px) { body { font-size: 21.1875px } }
@media (max-width: 560px) { body { font-size: 21px } }
@media (max-width: 555px) { body { font-size: 20.8125px } }
@media (max-width: 550px) { body { font-size: 20.625px } }
@media (max-width: 545px) { body { font-size: 20.4375px } }
@media (max-width: 540px) { body { font-size: 20.25px } }
@media (max-width: 535px) { body { font-size: 20.0625px } }
@media (max-width: 530px) { body { font-size: 19.875px } }
@media (max-width: 525px) { body { font-size: 19.6875px } }
@media (max-width: 520px) { body { font-size: 19.5px } }
@media (max-width: 515px) { body { font-size: 19.3125px } }
@media (max-width: 510px) { body { font-size: 19.125px } }
@media (max-width: 505px) { body { font-size: 18.9375px } }
@media (max-width: 500px) { body { font-size: 18.75px } }
@media (max-width: 495px) { body { font-size: 18.5625px } }
@media (max-width: 490px) { body { font-size: 18.375px } }
@media (max-width: 485px) { body { font-size: 18.1875px } }
@media (max-width: 480px) { body { font-size: 18px } }
@media (max-width: 475px) { body { font-size: 17.8125px } }
@media (max-width: 470px) { body { font-size: 17.625px } }
@media (max-width: 465px) { body { font-size: 17.4375px } }
@media (max-width: 460px) { body { font-size: 17.25px } }
@media (max-width: 455px) { body { font-size: 17.0625px } }
@media (max-width: 450px) { body { font-size: 16.875px } }
@media (max-width: 445px) { body { font-size: 16.6875px } }
@media (max-width: 440px) { body { font-size: 16.5px } }
@media (max-width: 435px) { body { font-size: 16.3125px } }
@media (max-width: 430px) { body { font-size: 16.125px } }
@media (max-width: 425px) { body { font-size: 15.9375px } }
@media (max-width: 420px) { body { font-size: 15.75px } }
@media (max-width: 415px) { body { font-size: 15.5625px } }
@media (max-width: 410px) { body { font-size: 15.375px } }
@media (max-width: 405px) { body { font-size: 15.1875px } }
@media (max-width: 400px) { body { font-size: 15px } }
@media (max-width: 395px) { body { font-size: 14.8125px } }
@media (max-width: 390px) { body { font-size: 14.625px } }
@media (max-width: 385px) { body { font-size: 14.4375px } }
@media (max-width: 380px) { body { font-size: 14.25px } }
@media (max-width: 375px) { body { font-size: 14.0625px } }
@media (max-width: 370px) { body { font-size: 13.875px } }
@media (max-width: 365px) { body { font-size: 13.6875px } }
@media (max-width: 360px) { body { font-size: 13.5px } }
@media (max-width: 355px) { body { font-size: 13.3125px } }
@media (max-width: 350px) { body { font-size: 13.125px } }
@media (max-width: 345px) { body { font-size: 12.9375px } }
@media (max-width: 340px) { body { font-size: 12.75px } }
@media (max-width: 335px) { body { font-size: 12.5625px } }
@media (max-width: 330px) { body { font-size: 12.375px } }
@media (max-width: 325px) { body { font-size: 12.1875px } }
@media (max-width: 320px) { body { font-size: 12px } }


/*===== RESPONSIVE =====*/

.sm {
	display: none !important;
}

@media (max-width: 640px) {
	.md {
		display: none !important;
	}
	.sm {
		display: block !important;
	}
	img {
		display: block;
		width: 100%;
		height: auto;
	}
	img.inline {
		display: inline;
		width: auto;
	}
	.trans {
		opacity: 1;
	}
	.trans:hover {
		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
		filter: alpha(opacity=100);
		-moz-opacity: 1;
		-khtml-opacity: 1;
		opacity: 1;
	}
	.container {
		width: auto;
		min-width: 0;
	}
	.wrapper {
		width: auto;
		margin: 0;
		padding-left: 10px;
		padding-right: 10px;
	}
}


/*===== HEADER =====*/

header {
	border-top: 33px solid #18479c;
}

header .main-header {
	position: relative;
	margin-bottom:20px;
}

header img {
	display: block;
}

header .btn-banner {
	position: absolute;
	bottom: -2px;
	left: 78px;
	width: 36%;
/*
	bottom:7px;
	left: 58px;
	width:36%;
*/
}
header .btn-banner img{
	width:100%;
}

@media (max-width: 640px) {
	header {
		border-top: 1em solid #18479c;
	}
	header .btn-banner {
		width: 75%;
		bottom:0;
		left:24%;
	}
}


/*===== FOOTER =====*/

footer {
	text-align: center;
	font-size: 16.67px;
	letter-spacing: 0.05em;
	font-weight: bold;
	color: #c4c4c4;
	background: #1251a9;
	border-top: 1px solid #4174ba;
	border-bottom: 1px solid #7197cb;
	padding: 16px 0;
}

@media (max-width: 640px) {
	footer {
		font-size: .8em;
		padding: 3% 0;
	}
}


/*===== MAIN =====*/

.problem img {
	display: block;
}

.problem {
	background: url('../img/bg_rp.jpg') repeat bottom center;
	position: relative;
	padding-bottom: 30px;
}

#problem_b {
	background: url('../img/bg_rp_b.png') repeat bottom center;
	position: relative;
	padding-bottom: 30px;
	overflow:hidden;
}

.problem-inner h2 {
	padding-left: 17px;
}

span.icon-abs01 {
	position: absolute;
	right: 74px;
	top: 43px;
}

#problem_b:before{
	display:none;
}

#problem_b:after{
	display:none;

}

.problem:after {
	position: absolute;
	content: " ";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 84px 138px 0 138px;
	border-color: #ffffff transparent transparent transparent;
	top: 0;
	left: 50%;
	margin-left: -138px;
}

.problem:before {
	position: absolute;
	content: " ";
	background: url('../img/arrow01.png') no-repeat;
	width: 284px;
	height: 87px;
	bottom: -81px;
	left: 50%;
	margin-left: -142px;
}

.problem-inner {
	position: relative;
}

.main #problem_b h2 span{
	color:#e30b55;
}

.problem h2 span {
	text-align: center;
	display: block;
	font-size: 33px;
	font-weight: bold;
	color: #14a83b;
	letter-spacing: 0.105em;
	position: relative;
	top: 92px;
	padding-left: 78px;
}

p.txt-prb {
	text-align: center;
	font-size: 20px;
	line-height: 1.65em;
	letter-spacing: 0.05em;
	margin-top: -13px;
	color: #484848;
	padding-left: 90px;
	font-weight: bold;
}

p.txt-prb span {
	font-size: 33px;
	font-weight: bold;
	line-height: 1.4em;
	vertical-align: middle;
}

.child-problem {
	float: left;
	width: 475px;
	position: relative;
}

.child-problem h3 {
	position: absolute;
	font-size: 24px;
	font-weight: bold;
	color: #594b14;
	top: 27px;
	left: 161px;
}

.child-problem h3 span {
	font-size: 33px;
	font-weight: bold;
}

.child-problem p {
	position: absolute;
	top: 280px;
	padding: 0 92px;
	font-size: 18px;
	line-height: 1.61111em;
	letter-spacing: 0.075em;
	color: #333333;
	text-align: center;
}

.child-problem:last-child p {
	bottom: 57px;
}

.child-problem:last-child {
	width: 492px;
	margin-left: -61px;
}

.block-problem {
	padding-left: 55px;
	margin-top: 30px;
}

span.icon-abs02 {
	position: absolute;
	right: 50px;
	bottom: -8px;
}

span.spe-ttx {
	display: block;
	text-align: center;
	font-size: 27px;
	letter-spacing: 0.075em;
	font-weight: bold;
	color: #6ab2eb;
}

.step-info {
	padding-top: 100px;
	padding-bottom: 20px;
}

.step-inner {
	position: relative;
}

span.spe-ttx span {
	display: inline-block;
	vertical-align: middle;
}

.step-info h2 {
	text-align: center;
	font-size: 58px;
	font-weight: bold;
	color: #18479c;
	line-height: 1.172413793103448em;
}

.step-info h2 span {
	font-size: 41px;
}

span.three-ttl {
	display: block;
	text-align: center;
	margin-top: -5px;
}

.ttl-step {
	position: relative;
	z-index: 10;
}

span.item-abs01 {
	position: absolute;
/*	left: 77px;*/
	top: -42px;
/*
	left: 57px;
	top: -62px;
*/
}

span.item-abs02 {
	position: absolute;
	right: 86px;
	top: -34px;
/*
	right: 46px;
	top: -64px;
*/
}

.step-child {
	float: left;
	background: url('../img/circle01.png') no-repeat center;
	width: 673px;
	height: 673px;
	margin-left: -92px;
	margin-top: -105px;
	z-index: 9;
	position: relative;
}

.step-child.step02 {
	background: url('../img/circle02.png') no-repeat center;
	float: right;
	width: 680px;
	height: 681px;
	margin-left: 0;
	margin-right: -202px;
	margin-top: -380px;
	z-index: 8;
}

.step-child.step03 {
	background: url('../img/circle03.png') no-repeat center;
	width: 613px;
	height: 613px;
	margin-left: 53px;
	margin-top: -375px;
	z-index: 7;
}

.step-child-inner {
	width: 300px;
	margin-left: 236px;
	margin-top: 120px;
}

.step-stt .st {
	font-size: 23px;
	color: #57cdd4;
	border-bottom: 3px solid;
	display: inline-block;
	margin-right: 5px;
	padding-top: 8px;
	letter-spacing: 0.09em;
	line-height: 1em;
}

.step-stt .numb {
	font-size: 55px;
	font-weight: bold;
	width: 73px;
	height: 73px;
	display: inline-block;
	text-align: center;
	line-height: 80px;
	background: #57cdd4;
	color: #edfdfd;
	border-radius: 50%;
}

.step-stt span {
	vertical-align: middle;
}

.step-stt {
	padding-left: 64px;
}

.step-child-inner h3 {
	text-align: center;
	margin-top: 13px;
	margin-bottom: 15px;
}

.step-child-inner p {
	text-align: center;
	font-size: 18px;
	letter-spacing: 0.075em;
	line-height: 1.61111em;
	color: #333333;
	margin-bottom: 10px;
}

span.img-step {
	display: block;
	text-align: center;
}

@media (min-width: 641px) {
	span.img-step img{
		display:block;
		width:252px;
		height:auto;
		margin:auto;
	}
	.sp_mode{
		display:none;
	}
}

.step02 .step-child-inner {
	margin-top: 47px;
	margin-left: 103px;
}

.step03 .step-child-inner {
	margin-left: 146px;
	margin-top: 91px;
}

.men-abs {
	position: absolute;
	right: 48px;
	top: 0px;
}

.main-step {
	margin-top: 10px;
	position: relative;
}

.main-step h3 img{
	width:98%;
}

.txt-for {
	position: absolute;
	right: 251px;
	top: 20px;
}

.arrow01 {
	position: absolute;
	right: 355px;
	top: 229px;
	z-index: 10;
}

.arrow02 {
	position: absolute;
	right: 318px;
	bottom: 317px;
	z-index: 10;
}

.men02-abs {
	position: absolute;
	bottom: -37px;
	right: 3px;
	z-index: 9;
}

.flow-step {
	background: url('../img/bg_rp02.jpg') repeat center;
	padding-top: 58px;
	padding-bottom: 35px;
	position: relative;
}

.flow-step:before {
	position: absolute;
	content: " ";
	background: url('../img/arrow02.png') no-repeat center;
	width: 285px;
	height: 89px;
	top: 0;
	left: 50%;
	margin-left: -142px;
	z-index: 1;
}

.flow-inner h2 {
	text-align: center;
	position: relative;
	z-index: 2;
}

.flow-child {
	float: left;
	margin-right: 9px;
}

.flow-child:last-child {
	float: right;
	margin-right: 0;
}

.arrow-flow {
	float: left;
	margin-right: 26px;
	margin-top: 20px;
}

.list-flow {
	padding: 0px 21px 0 27px;
	margin-top: 10px;
}

.flow-child:last-child .img-flow {
	margin-top: -9px;
	margin-left: 10px;
	text-align: right;
}

.flow-child:last-child h3 {
	margin-left: -10px;
}

.flow-child img {
	display: block;
}

.flow-child h3 {
	text-align: center;
	font-size: 22px;
	letter-spacing: 0.08em;
	color: #1251a9;
	margin-top: 10px;
	margin-bottom: 15px;
	font-weight: bold;
	position: relative;
}

.flow-child h3 span {
	border-bottom: 2px solid #51b2ff;
}

.flow-child p {
	font-size: 16px;
	line-height: 1.25em;
	color: #484848;
	padding-left: 20px;
}

.arrow-flow:nth-child(4) {
	margin-left: 23px;
	margin-right: 11px;
}

.flow-child p span {
	font-weight: bold;
}

span.star {
	position: absolute;
	border: none !important;
	top: -20px;
	margin-left: -10px;
}

.video {
	background: #f6f9cf;
}

.inner-video {
	padding: 0 7.5px;
}

.main-video {
	background: white;
	padding-top: 30px;
}

.main-video h2 {
	text-align: center;
}

.block-video {
	padding: 0 200px;
	padding-bottom: 90px;
	margin-top: -20px;
}

.block-video:last-child {
	padding-bottom: 85px;
}

.block-video iframe {
	display: block;
	width: 100%;
	height: 395px;
}

.block-video h3 {
	text-align: center;
	font-size: 29px;
	font-weight: bold;
	letter-spacing: 0.06em;
	color: #1251a9;
	margin-bottom: 10px;
}

.block-video h3 span {
	font-weight: normal;
	font-size: 22px;
}

.main-video h2 img {
	display: block;
	margin: 0 auto;
}

.social-btn span {
	display: inline-block;
	font-size: 16px;
	color: #484848;
	letter-spacing: 0.14em;
}

.social-btn .gr-btn {
	display: inline-block;
	vertical-align: middle;
}

.social-btn {
	text-align: right;
	margin-top: 10px;
}

.gr-btn img {
	display: inline-block;
}

.gr-btn a {
	display: inline-block;
	margin: 0 4px;
}

.product {
	background: url(../img/bg_rp04.jpg) repeat center;
	padding-top: 53px;
	padding-bottom: 103px;
}

.percent span {
	font-size: 12.5px;
	letter-spacing: 0.05em;
	color: #484848;
	position: relative;
	top: -12px;
	margin-left: 10px;
}

.percent {
	padding-left: 190px;
}

.title-product {
	padding: 0 87px 0 110px;
	margin-top: -5px;
	position: relative;
}

.inner-title {
	background: white;
	padding-top: 15px;
	padding-bottom: 22px;
}

.inner-title h2 {
	text-align: center;
	font-size: 39px;
	font-weight: bold;
	letter-spacing: 0.04em;
	color: #1251a9;
	background: url('../img/border.png') no-repeat bottom center;
	padding-bottom: 11px;
}

.inner-title .tt-product {
	display: block;
	text-align: center;
	font-size: 25px;
	letter-spacing: 0.06em;
	color: #1251a9;
	font-weight: bold;
	margin-top: 10px;
}

.inner-title .txt-product {
	display: block;
	text-align: center;
	font-size: 16px;
	letter-spacing: 0.09em;
	color: #333333;
	margin-top: 5px;
}

.item-abs {
	position: absolute;
/*	left: 43px;*/
/*	left: 25px;*/
	top: -91px;
}

.item-abss01 {
	position: absolute;
	right: 14px;
	top: -91px;
}

.list-comment ,
.list-comment2 {
	padding: 0 80px 0 110px;
	padding-top: 10px;
}

.inner-comment {
	background: #8ce1f2;
	padding: 30px 30px 35px;
	margin-top: 34px;
}

.block-comment {
	position: relative;
	z-index: 9;
}

.bg-rp {
	position: absolute;
	background: url('../img/bg_rp03.png') no-repeat bottom right;
	background-size: cover;
	width: 100%;
	height: 100%;
	z-index: -1;
	bottom: -10px;
	right: -11px;
	border-radius: 10px;
}

.main-comment {
	background: #f0fbff;
	padding: 24px 40px 8px 43px;
	position: relative;
	border: 3px solid white;
	border-radius: 10px;
	box-shadow: 2px 2px 0px 0px rgba(75, 184, 227, 1);
	-webkit-box-shadow: 2px 2px 0px 0px rgba(75, 184, 227, 1);
	-moz-box-shadow: 2px 2px 0px 0px rgba(75, 184, 227, 1);
}

.img-comment {
	float: left;
	width: 84px;
}

.right-comment {
	float: right;
	width: 550px;
}

.right-comment h3 {
	background: #a3eaf5;
	font-size: 16.67px;
	font-weight: bold;
	line-height: 1;
	color: #333333;
	letter-spacing: 0.09em;
	padding: 6px 10px;
}

.right-comment span {
	margin-left: 40px;
}

.right-comment p {
	font-size: 16.67px;
	color: #898989;
	letter-spacing: 0.03em;
	line-height: 1.6875em;
	margin-top: 10px;
}

.talk {
	position: absolute;
	left: -80px;
	top: -48px;
}

.more-comment {
	text-align: center;
}

.more-comment #trans {
	font-size: 16px;
	color: #f0fbff;
	padding-bottom: 20px;
	display: inline-block;
	background: url('../img/arrow_btn.png') no-repeat bottom center;
	letter-spacing: 0.075em;
	margin-top: 25px;
	cursor:pointer;
}

.more-comment .list-comment2 {
	text-align:left;
	display:none;
}

.more-comment .list-comment2:last-child{
	margin-bottom:70px;
}

.company {
	background: url('../img/bg_company.png') repeat-x top center;
	margin-top: -155px;
	padding-top: 190px;
	padding-bottom: 40px;
}

.inner-company {
	padding: 0 55px 0 50px;
}

.left-comp {
	float: left;
	width: 380px;
}

.company h2 {
	text-align: center;
	font-size: 25px;
	letter-spacing: 0.15em;
	font-weight: bold;
	color: #333333;
	line-height: 1.2em;
	background-image: url('../img/left_dot.png'), url('../img/right_dot.png');
	background-repeat: no-repeat, no-repeat;
	background-position: left top, right top;
}

.company h2 span {
	font-size: 15px;
	letter-spacing: 0.25em;
	color: #60c3e8;
	display: block;
}

.comp-info h3 {
	font-size: 22px;
	color: #333333;
	letter-spacing: 0.19em;
	font-weight: bold;
}

.block-comp h4 {
	font-size: 16.67px;
	color: #333333;
	letter-spacing: 0.155em;
	font-weight: bold;
}

.block-comp p {
	padding-left: 30px;
	font-size: 16px;
	color: #333333;
	letter-spacing: 0.075em;
	line-height: 1.5625;
}

.block-comp p span {
	font-size: 18px;
	line-height: 1.388888888888889em;
}

.comp-info {
	margin-top: 40px;
	padding-left: 30px;
}

.block-comp {
	margin-top: 5px;
	margin-bottom: 20px;
}

.right-comp {
	float: right;
	width: 360px;
	text-align: center;
}

.company .right-comp h2 {
	display: inline-block;
	padding: 0 52px;
}

.right-comp table {
	font-size: 16.67px;
	color: #333333;
	margin-top: 40px;
	width: 100%;
}

.right-comp table th {
	width: 126px;
}

.right-comp table tr {
	border-bottom: 2px dotted #5abce5;
}

.out-table h3 {
	text-align: left;
	font-size: 16px;
	color: #333;
}

.out-table p {
	text-align: left;
	padding-left: 35px;
	font-size: 16.67px;
	line-height: 1.25em;
	color: #333;
	margin-top: 5px;
}

.out-table {
	margin-top: 5px;
}

.contact h2 {
	text-align: center;
	font-size: 25px;
	letter-spacing: 0.15em;
	font-weight: bold;
	color: #333333;
	line-height: 1.2em;
	background-image: url(../img/left_dot.png), url(../img/right_dot.png);
	background-repeat: no-repeat, no-repeat;
	background-position: left top, right top;
	display: inline-block;
	padding: 0 35px;
}

.contact h2 span {
	font-size: 15px;
	letter-spacing: 0.25em;
	color: #60c3e8;
	display: block;
}

.inner-contact {
	text-align: center;
}

.inner-contact {
	padding: 0 35px 0 30px;
}

.logo-ft {
	float: left;
}

.ft-phone {
	float: right;
	margin-top: 17px;
}

.contact img {
	display: block;
}

.main-contact {
	margin-top: 36px;
	padding-bottom: 6px;
}

.contact {
	padding-top: 40px;
	padding-bottom: 40px;
}

.ft-phone a {
	display: block;
}

.contact p {
	font-size: 16.67px;
	letter-spacing: 0.095em;
	color: #787878;
	margin-top: 15px;
}

.shop_banner{
	width:90%;
	line-height:0.8;
	font-size:20px;
	text-align:center;
	margin:0 auto 80px;
	overflow:hidden;
}
#pagetop .shop_banner{
	margin-bottom:20px;
	overflow:hidden;
}
.shop_banner p span{
	font-size:15px;
	color:#777777;
	line-height:1.5;
}

.shop_banner a{
	color:#e30b55;
	display:block;
	padding:30px 0;
	background:#e30b55;
	border-radius:50px;
	border:1px solid #e30b55;
	color:#fff;
}

.shop_banner a:hover{
	opacity:.8;
	background:#e30b55;
}
.shop_banner:hover a{
	color:#fff;
}

.shop_list table{
	width:700px;
	margin:20px auto;
	table-layout:fixed;
}

.shop_list tr:first-child th{
	text-align:center;
	background:#eee;
	width:200px;
}

.shop_list th,
.shop_list td{
	padding:10px;
	vertical-align:middle;
	border-bottom:solid 2px #ccc;
}


.shop_list th{
	font-weight:bold;
}


.pref_list ul{
	width:95%;
	margin:10px auto;
	overflow:hidden;
}

.pref_list ul li{
	float:left;
}

.pref_list ul li.title{
	clear:both;
	float:none;
	width:100%;
	border-bottom:solid 2px #eee;
	margin:25px auto 5px;
}

.pref_list ul li a{
	display:block;
	padding:5px 15px;
}

.shop_list{
	width;95%;
	margin:10px auto;
}

.shop_list li{
	display:block;
	border-bottom:solid 1px #ccc;
	border-top:solid 1px #ccc;
	overflow:hidden;
	position:relative;
	margin-bottom:10px;
}

.shop_list li:after{
	position:absolute;
	content:"";
	width:14px;
	height:14px;
	border-top:solid 5px #fff;
	border-right:solid 5px #fff;
	transform:rotate(45deg);
	right:10px;
	top:12px;
}

.shop_list li:hover{
	background:#eee;
}

.shop_list li .shop_category{
	position:relative;
	background:#36c;
	width:15%;
	float:left;
	height:100%;
	color:#fff;
	padding:10px;
	text-align:center;
	box-sizing:border-box;
}

.shop_list li .shop_category:after{
	position:absolute;
	content:"";
	width:14px;
	height:14px;
	transform:rotate(45deg);
	background:#36c;
	right:-7px;
	top:12px;
}

.shop_list li h3{
	width:20%;
	float:left;
	padding:10px 20px;
	box-sizing:border-box;
	font-weight:bold;
	color:#36c;
}
.shop_list li address{
	width:65%;
	float:right;
	padding:10px;
}

.shop_list li a{
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
}

.toi_fm{
	margin:20px auto;
	padding-bottom:120px;
}


.shop_list h1,
.toi_fm h1{
	background:#36c;
	color:#eee;
	text-align:center;
	font-size:22px;
	padding:10px;
}

.shop_list h1.banner{
	padding:0;
}


.shop_list h2,
.toi_fm h2{
	color:#36c;
	text-align:center;
	font-size:24px;
	margin:20px auto;
}

.toi_fm p{
	margin:10px auto;
	width:90%;
}

.toi_fm table{
	width:90%;
	margin:20px auto;
	background:rgba(255,255,255,0.8)
}

.toi_fm table td,
.toi_fm table th{
	padding:20px 15px;
	border:solid 1px #ccc;
	position:relative;
	font-size:16px;
}

.toi_fm table th{
	background:#f4f4ff;
	vertical-align:middle;
}


.toi_fm table th span{
	position:absolute;
	right:10px;
	color:#fff;
	padding:2px 7px;
	border-radius:8px;
	font-size:10px;
}

.toi_fm table th span.hissu{
	background:#a22;
}

.toi_fm table th span.ninni{
	background:#22a;
}

textarea,
input[type="text"],
select{
	padding:5px 10px;
	border:solid 1px #aaa;
	border-radius:3px;
	width:80%;
}

#user_zip{
	width:25%;
	margin-bottom:10px;
}

textarea{
	height:10em;
}

.sbmt_btn{
	text-align:center;
}

.sbmt_btn input{
	text-align:center;
	background:#e30b55;
	border:solid 1px #eee;
	padding:15px 45px;
	color:#fff;
	border-radius:5px;
	cursor:pointer;
	letter-spacing:3px;
}

.sbmt_btn input:hover{
	background:#f16;
}

.err_mes{
	width:90%;
	margin:10px auto;
}

.err_mes li{
	color:#f55;
	border-bottom:solid 1px #fee;
	margin-bottom:10px;
}

.err_mes li:before{
	content:"■";
	margin-right:10px;
}


#navi{

	position:fixed;
	right:10px;
	bottom:10px;
	z-index:9999999999;
	overflow:hidden;
}

#navi li{
float:right;
	margin-left:10px;
}

#navi li a{
	display:block;
	width:120px;
	height:120px;
	box-sizing:border-box;
	border-radius:50%;
	background:#1251a9;
	color:#fff;
	text-align:center;
	border:2px solid #fff;
	line-height:1;
	font-size:14px;
}

#navi li a:hover{
	opacity:0.8;
}

#navi li a img{
	width:35%;
	margin:20px auto 0;
}


.foot_form{
	width:100%;
	overflow:hidden;
}

.foot_form a{
	display:block;
	width:434px;
	padding:20px 0;
	margin:20px auto;
	background:#e30b55;
	font-size:20px;
	font-weight:bold;
	color:#fff;
}

.foot_form a:hover{
	opacity:0.8;
}


h2.zenkoku{
	width:100%;
	background:#e30b55;
	color:#fff;
	font-weight:bold;
	text-align:center;
	font-size:20px;
	padding:15px 0;
}

.wrapper table tbody{
}

.wrapper table tbody td{
	width:50%;
}
.shop_banner a.shop_search{
	background:url("../img/fixed_sarch.png") 33% 50% /5% no-repeat #e30b55;
}

/*-- 0929修正分 --*/
@media (min-width:751px){
	span.item-abs01{
		left: 107px;
	}
	div.item-abs{
	    top: -103px;
	}
	.ttl-step span.item-abs01 img,
	.item-abs img:nth-child(1){
		width: 75%;
	}

	.item-abs {
		left: 65px;
	}
}

/*----------------*/


@media (max-width: 360px) {
	body #navi li{
		margin:0;
	}


	body #navi li a{
	    display: block;
	    width: 70px !important;
	    height: 70px !important;
	    box-sizing: border-box;
	    border-radius: 50%;
	    color:#1251a9 !important;
	    text-align: center;
	    border: 2px solid #fff;
	    line-height: 1 !important;
	}



	body #navi li a p{
	display:none;
}

	body #navi li a .ssp_mode{
	display:block;
	font-size: 10px !important;
	color:#fff;
	margin-top:-10px;
}

}

@media (max-width: 640px) {
	.pc_mode{
		display:none;
	}
	.wrapper .shop_banner a.buy_int,.shop_banner a {
		width:100%;
		font-size:14px;
		line-height:1;
	}

	.main-contact .foot_form{
		width:100%;
		overflow:hidden;
	}

	.main-contact .foot_form a{
		display:block;
		width:90%;
		padding:10px 0;
		margin:20px auto;
		background:#e30b55;
		font-size:15px;
		font-weight:bold;
		color:#fff;
	}

	.problem:after {
		border-width: 2em 5em 0 5em;
		margin-left: -5em;
	}
	span.icon-abs01 {
		width: 19%;
		right: 2%;
		top: 1%;
	}
	.problem-inner h2 {
		padding-left: 0;
	}
	.problem h2 span {
		font-size: 1.1em;
		top: 2.3em;
	}
	p.txt-prb {
		padding-left: 0;
		font-size: 0.8em;
		margin-top: 4%;
	}
	p.txt-prb span {
		font-size: 1.8em;
	}
	.block-problem {
		padding: 0 7%;
		margin-top: 6%;
	}
	.child-problem {
		width: 100%;
		margin-bottom: 6%;
	}
	.child-problem h3 {
		font-size: 1.3em;
		top: 5%;
		left: 33%;
	}
	.child-problem h3 span {
		font-size: 1.4em;
	}
	.child-problem:last-child {
		width: 100%;
		margin-left: 0;
	}
	.child-problem p {
		font-size: 0.8em;
		top: 57%;
		padding: 0 18%;
	}
	span.icon-abs02 {
		width: 15%;
		right: 5%;
		bottom: 0%;
	}
	.problem:before {
		width: 40%;
		background-size: 100%;
		height: 4em;
		bottom: -3.9em;
		margin-left: -20%;
	}
	.flow-step:before {
		width: 49%;
		background-size: 100%;
		height: 4em;
		bottom: -4em;
		margin-left: -24.5%;
	}
	.problem {
		padding-bottom: 5%;
		background-size: 154% auto;
	}
	.step-info {
		padding-top: 17%;
		padding-bottom: 10%;
	}
	span.item-abs01 {
		width: 18%;
		left: 1.5%;
		top: -4%;
/*		width: 20%;
/*		left: 0%;*/
/*		top:0;*/
	}
	span.item-abs02 {
		width: 20%;
		right: 0%;
		top:0;
/*		top: -13%;*/
	}
	span.spe-ttx {
		font-size: 1em;
		position: relative;
	}
	span.img-ttl {
		width: 17%;
	}
	span.img-ttl {
		position: relative;
		top: -0.2em;
	}
	.ttl-step h2 {
		font-size: 2em;
	}
	.ttl-step h2 span {
		font-size: 0.7em;
	}
	span.three-ttl {
		padding: 0 27%;
		margin-top: 1%;
	}
	.step-child {
		width: 100%;
		background-size: auto 100%;
		height: 26em;
		margin: 0;
		padding: 0 10px;
	}
	.step-child-inner {
		width: 100%;
		margin: 0;
		padding: 0% 20%;
		padding-top: 7%;
	}
	.step-stt {
		padding-left: 27%;
	}
	.step-child-inner p {
		font-size: 0.9em;
		margin-bottom: 0;
	}
	span.img-step {
		padding: 0 14%;
		margin-top: 4%;
	}
	span.img-step img {
		margin: 0 auto;
	}
	.step-child.step02 {
		width: 100%;
		height: 26em;
		margin: 0;
		background-size: auto 100%;
		z-index:999;
	}
	.step02 .step-child-inner {
		margin: 0;
	}
	.step-child.step03 {
		width: 100%;
		height: 26em;
		background-size: auto 100%;
		margin: 0;
	}
	.step03 .step-child-inner {
		margin: 0;
	}
	.main-step {
		margin: 2% -10px 0;
	}
	.men-abs {
		width: 32%;
		top: 28%;
		right: 9%;
		z-index:998;
	}
	.txt-for {
		width: 18%;
		top: 27%;
		right: 8%;
		z-index:999;
		transform: rotate(20deg);
	}
	.arrow01 {
		display: none;
	}
	.men02-abs {
		width: 27.5%;
		bottom: -3.8%;
		right: 4%;
	}
	.step-child h3 {
		padding: 0 5%;
		margin: 5% 0;
	}

	.step-stt .st {
		font-size: 0.9em;
		border-bottom: 0.15em solid;
		margin-right: 4%;
		padding-top: 3%;
	}
	.step-stt .numb {
		height: 1.3em;
		width: 1.3em;
		line-height: 1.4em;
		font-size: 2.5em;
	}
	.arrow02 {
		display: none;
	}
	.flow-step {
		padding-top: 16%;
		padding-bottom: 5%;
	}
	.flow-inner h2 {
		padding: 0 25%;
	}
	.list-flow.clearfix {
		padding: 0 3.125%;
	}
	.arrow-flow {
		display: none;
	}
	.flow-child {
		width: 100%;
		margin: 0;
		margin-top: 5%;
		margin-bottom: 4%;
	}
	.flow-child:last-child .img-flow,
	.flow-child:last-child h3 {
		margin-left: 0;
	}
	.flow-child p {
		padding-left: 0;
		text-align: center;
		font-size: 1.3em;
		line-height: 1.5;
	}
	.flow-child h3 {
		font-size: 1.6em;
		margin: 4% 0;
	}
	.flow-child h3 span {
		border-bottom: 0.12em solid #51b2ff;
	}
	span.star {
		width: 15%;
		top: -18%;
	}
	.main-video {
		padding: 5% 2% 7%;
	}
	.block-video {
		padding: 0;
		margin-top: 5%;
	}
	.block-video h3 {
		font-size: 1.2em;
		margin-bottom: 2%;
	}
	.block-video h3 span {
		font-size: .85em;
	}
	.block-video iframe {
		height: 18em;
	}
	.social-btn {
		margin-top: 2%;
	}
	.social-btn span {
		font-size: 1em;
	}
	.social-btn .gr-btn a {
		width: 43%;
		margin: 0 0%;
	}
	.social-btn .gr-btn {
		width: 17%;
	}
	.block-video:last-child {
		padding-bottom: 0;
	}
	.product {
		padding-top: 10%;
		padding-bottom: 7%;
	}
	.percent {
		padding: 0 23% 0 7%;
		position: relative;
	}
	.item-abs {
		width:18%;
		top:-8%;
		left: 1.5%;
/*		width: 20%;*/
/*		top: -4%;*/
/*		left: 0;*/
	}
	.item-abss01 {
		width: 20%;
		right: 0;
		top: -4%;
	}
	.title-product {
		padding: 0 0%;
	}
	.inner-title {
		padding: 3% 21%;
	}
	.inner-title h2 {
		font-size: 1.5em;
		background-size: auto 13%;
		padding-bottom: 4%;
	}
	.inner-title .tt-product {
		font-size: 1em;
		margin-top: 4%;
	}
	.inner-title .txt-product {
		font-size: 0.8em;
		margin-top: 1%;
	}
	.percent span {
		position: absolute;
		right: 4%;
		bottom: 26%;
		top: auto;
		font-size: 0.8em;
		margin: 0;
	}
	.list-comment,
	.list-comment2{
		padding: 0 3.125%;
	}
	.inner-comment{
		padding: 3%;
		margin-top: 10%;
	}
	.main-comment {
		padding: 2%;
	}
	.img-comment {
		width: 20%;
	}
	.right-comment {
		width: 76%;
	}
	.right-comment h3 span {
		width: 30%;
		display: block;
		margin: .2em 0 0;
	}
	.right-comment h3 {
		font-size: 1.2em;
		padding: 4% 5%;
	}
	.right-comment p {
		font-size: 0.8em;
		margin-top: 2%;
	}
	.talk {
		width: 20%;
		left: -7%;
		top: -23%;
	}
	.more-comment a {
		font-size: 0.8em;
		padding-bottom: 3%;
		background-size: 28%;
		margin-top: 3%;
	}
	.company {
		background: url('../img/bg_company02.jpg');
		background-repeat: repeat;
		background-position: center;
		padding-top: 8%;
		padding-bottom: 5%;
		margin-top: 0;
	}
	.inner-company {
		padding: 0 3.125%;
	}
	.left-comp {
		width: 100%;
	}
	.company h2,
	.contact h2 {
		font-size: 1.4em;
		background-size: 7%, 7%;
	}
	.contact h2 {
		padding: 0 12%;
	}
	.company h2 span,
	.contact h2 span {
		font-size: 0.7em;
	}
	.comp-info {
		padding: 0;
	}
	.comp-info {
		margin-top: 5%;
	}
	.comp-info h3 {
		font-size: 1.3em;
	}
	.block-comp {
		margin-top: 2%;
		margin-bottom: 5%;
	}
	.block-comp h4 {
		font-size: 1em;
	}
	.block-comp p {
		font-size: 1em;
		padding-left: 6%;
	}
	.block-comp p span {
		font-size: 1.1em;
	}
	.right-comp {
		width: 100%;
		margin-top: 5%;
	}
	.company .right-comp h2 {
		padding: 0 15%;
		background-size: 12%, 12%;
	}
	.right-comp table th {
		width: 36%;
	}
	.right-comp table {
		font-size: 1em;
		margin-top: 6%;
	}
	table th,
	table td {
		padding: 2% 0;
		vertical-align: middle;
	}
	.out-table h3 {
		font-size: 1em;
	}
	.out-table p {
		font-size: 1em;
	}
	.out-table {
		margin-top: 2%;
	}
	.inner-contact {
		padding: 0 3.125%;
	}
	.logo-ft {
		width: 100%;
	}
	.ft-phone {
		width: 100%;
		margin-top: 6%;
	}
	.main-contact {
		margin-top: 4%;
		padding-bottom: 5%;
	}
	.contact {
		padding-top: 10%;
		padding-bottom: 7%;
	}
	.contact p {
		font-size: 1em;
		margin-top: 1%;
	}
	.bg-rp {
		background-size: auto 100%;
		bottom: -4%;
		right: -2%;
	}
	.child-problem:last-child p {
		top: 62%;
	}
	
	.shop_banner{
		margin-bottom:30px;
		font-size:1.4em;
	}

	body #navi li a{
		display:block;
		width:75px;
		height:75px;
		border-radius:50%;
		background:#1251a9;
		color:#fff;
		text-align:center;
		border:2px solid #fff;
		line-height:0.6;
		font-size:10px;
	}
	body #navi li a img{
		width:35%;
		margin:15px auto 0;
	}
	.shop_list table{
		width:100%;
		margin:20px auto;
		table-layout:fixed;
	}
	.shop_list tr:first-child th{
		text-align:center;
		background:#eee;
		width:20%;
	}
	.shop_list{
		width;95%;
		margin:10px auto;
	}

	.shop_list li{
		display:block;
		border-bottom:solid 1px #ccc;
		border-top:solid 1px #ccc;
		overflow:hidden;
		position:relative;
		margin-bottom:10px;
	}

	.shop_list li:after{
		position:absolute;
		content:"";
		width:14px;
		height:14px;
		border-top:solid 5px #fff;
		border-right:solid 5px #fff;
		transform:rotate(45deg);
		right:10px;
		top:12px;
	}

	.shop_list li .shop_category{
		position:relative;
		background:#36c;
		color:#fff;
		padding:10px;
		text-align:center;
		box-sizing:border-box;
		float:none;
		width:100%;
	}

	.shop_list li h3{
		padding:5px0;
		box-sizing:border-box;
		font-weight:bold;
		color:#36c;
		float:none;
		width:100%;
		text-align:center;
	}
	.shop_list li address{
		width:100%;
		margin:auto;
		text-align:center;
	}

	.shop_list li a{
		position:absolute;
		width:100%;
		height:100%;
		top:0;
		left:0;
	}

	.toi_fm table td,
	.toi_fm table th{
		padding:10px;
		border:solid 1px #ccc;
		position:relative;
		font-size:16px;
		display:block;
		width:100% !important;
	}

	.toi_fm table th{
		background:#f4f4ff;
		vertical-align:middle;
		margin-top:20px;
	}


	.toi_fm table th span{
		position:absolute;
		right:10px;
		color:#fff;
		padding:2px 7px;
		border-radius:8px;
		font-size:10px;
	}

	.toi_fm table th span.hissu{
		background:#a22;
	}

	.toi_fm table th span.ninni{
		background:#22a;
	}

	textarea,
	input[type="text"],
	select{
		padding:5px 10px;
		border:solid 1px #aaa;
		border-radius:3px;
		width:100%;
	}

	#user_zip{
		width:60%;
		margin-bottom:10px;
	}

	textarea{
		height:10em;
	}

	.sbmt_btn{
		text-align:center;
	}

	.sbmt_btn input{
		text-align:center;
		background:#e30b55;
		border:solid 1px #eee;
		padding:15px 45px;
		color:#fff;
		border-radius:5px;
		cursor:pointer;
		letter-spacing:3px;
	}

	.sbmt_btn input:hover{
		background:#f16;
	}

	.err_mes{
		width:90%;
		margin:10px auto;
	}

	.err_mes li{
		color:#f55;
		border-bottom:solid 1px #fee;
		margin-bottom:10px;
	}

	.err_mes li:before{
		content:"■";
		margin-right:10px;
	}
	.shop_banner a.buy_int img{
		width:20% !important;
		margin:-3% 0 -15px 2% !important;
	}
	.shop_banner a {
		padding:15px 0;
	}
	.shop_banner p span{
		font-size:10px;
	}
	.shop_banner a.a_buy{
		background:url("../img/amazon-logo_JP_transparent.png") #fff 2% 50% / 15% no-repeat !important;
	}
	.shop_banner a.shop_search{
		background:url("../img/fixed_sarch.png") 10% 50% /7% no-repeat #e30b55;
	}
	body #navi {
		display:none;
	}

	body .navi_fixed {
	    position: fixed;
	    right: 0;
	    bottom: 0;
	    display:block !important;
	    z-index: 9999999999;
	    overflow: hidden;
	}
}

.ssp_mode{
	display:none;
}

.shop_banner a.buy_int{
	background:#fff;
	width:49%;
	border-color:#1251a9;
	margin:15px auto 0;
	padding:15px 0;
	line-height:2.5em;
	color:#1251a9;
	float:left;
}
.shop_banner a.a_buy{
	float:right;
	background:url("../img/amazon-logo_JP_transparent.png") #fff 7% 50% / 20% no-repeat;
	padding-left:8%;
}


