/* CSS Document */
@charset "utf-8";

/* header */

header{
	border-top:8px solid #384099;
}
.head{
	padding:6px;
	font-size:0;
}
header h1.logo{
	width:33%;
	margin-right:3%;
	display:inline-block;
	vertical-align:middle;
}
header .icon_box{
	width:64%;
	display:inline-block;
	vertical-align:middle;
	font-size:0;
}
header .icon_box .icon{
	width:20%;
	padding:0 2px;
	display:inline-block;
	vertical-align:top;
}


/* main_image */

.main_image_area{
}
.main_image_box{
}
.main_image{
}


/* wrapper */

.wrapper{
}
.container{
}
.contents_box{
}
h2{
}

.contact_box{
	position:relative;
}
.contact_box .btn{
	padding:10px 10px 15px 10px;
	position:relative;
	z-index:10;
}
.contact_box .btn:before{
	content:"0120-588-763";
	position:absolute; top:27%; left:35%;
	font-size:7vw;
	font-weight:bold;
	pointer-events:none;
}
.contact_box .btn:after{content:"";position:absolute;background:url(../images/contact/click.png) no-repeat left center;background-size:45px;width:45px;height:58px;bottom:-5px;right:4.5%;animation:ease-out 1s fuwafuwa infinite;-webkit-animation:ease-out 1s fuwafuwa infinite;pointer-events:none;}
@-webkit-keyframes fuwafuwa {
	0% {-webkit-transform:translate(0, 0);}
	50% {-webkit-transform:translate(0, -10px);}
	100% {-webkit-transform:translate(0, 0);}
}
@-moz-keyframes fuwafuwa {
	0% {-moz-transform:translate(0, 0);}
	50% {-moz-transform:translate(0, -10px);}
	100% {-moz-transform:translate(0, 0);}
}
.contact_box .text{
	margin-bottom:-10px;
	padding:0 10px;
	position:relative;
	z-index:10;
	font-size:15px;
	color:#FFF;
	font-weight:bold;
	text-align:right;
}
.contact_box .top{
}
.contact_box .bottom{
}

.compare{
	margin:20px 10px 0 10px;
	position:relative;
}
.compare .inner{
	padding:15px;
	border:5px solid #CACDEE;
	border-radius:10px;
	position:relative;
	z-index:10;
}
.compare .title{
	margin-top:-30px;
}
.compare .text{
	padding:10px 0 10px 15%;
	font-size:16px;
}
.compare .image{
	width:60%;
	margin-left:37%;
}
.compare .acc{
	width:35%;
	position:absolute; bottom:2px; left:2px;
}

.repeater{
	padding:20px 10px;
	position:relative;
}
.repeater .title{
}
.repeater .text{
	padding:10px 35% 35px 0;
	font-size:16px;
}
.repeater .caution{
	padding:5px 35% 0 0;
}
.repeater .acc{
	width:25%;
	position:absolute; bottom:0; right:10px;
}
@media screen and (max-width:480px){
	.repeater .text{
		padding-bottom:15px;
	}
	.repeater .acc{
		width:30%;
	}
}
@media screen and (max-width:375px){
	.repeater .text{
		padding-bottom:0;
	}
	.repeater .acc{
		width:33%;
		bottom:15px;
	}
}

h2.menu_h2{
}
.menu{
	padding:5px 5px 0 5px;
}
.menu .inner{
	font-size:0;
}
.menu .item{
	width:33.3%;
	padding:10px 1% 0 1%;
	display:inline-block;
	vertical-align:top;
}
.menu .bottom{
	width:65%;
	margin-left:35%;
	margin-top:-140px;
}

.price{
	margin:-80px 10px 0 10px;
	padding-bottom:10px;
}
.price .title{
	width:85%;
	margin:0 12% 2px 3%;
}
.price .inner{
	padding:15px;
	background:#FFF;
	border:5px solid #ABC7DF;
	border-radius:10px;
	position:relative;
}
.price .image{
}
.price .text{
	height:120px;
	margin-top:5px;
	padding:10px;
	border:2px solid #B1CDE6;
	overflow:auto;
	font-size:14px;
}

.choice{
}

h2.reason_h2{
	margin-top:10px;
}
.reason{
	padding:20px 10px 0 10px;
}
.reason .thum{
	width:35%;
	margin:0 0 10px 10px;
	float:right;
}
.reason .inner{
}
.reason .text{
	font-size:16px;
}
.reason .caution{
	padding-top:5px;
	text-align:right;
}

h2.estimate_h2{
	margin-top:20px;
}
.estimate{
	padding:20px 30% 20px 10px;
	position:relative;
}
.estimate .title{
	font-size:17px;
	font-weight:bold;
}
.estimate .text{
	padding-top:10px;
	font-size:15px;
}
.estimate .acc{
	width:27%;
	position:absolute; top:30px; right:10px;
}

h2.why_h2{
	margin-top:20px;
}
.why{
	padding:20px 10px 0 10px;
}
.why .thum{
	width:49%;
	margin:0 0 5px 5px;
	float:right;
}
.why .text{
	padding-bottom:20px;
	font-size:16px;
}

h2.staff_h2{
}
.staff{
	padding:5px 10px 0 10px;
}
.staff .item{
	margin-top:20px;
	position:relative;
}
.staff .number{
	width:18%;
	position:absolute; top:-2px; left:0;
}
.staff .title{
	padding-left:20%;
	font-size:17px;
	font-weight:bold;
}
.staff .inner{
	padding:10px;
	border:5px solid #CACDEE;
	border-radius:10px;
}
.staff .text{
	font-size:16px;
}

h2.result_h2{
	margin-top:20px;
}
.result{
	width:90%;
	margin:10px 7% 0 3%;
}

h2.slide_h2{
	margin-top:10px;
	padding:0 0 5px 0;
	text-align:center;
}
.slide{
	padding:0;
}
.slide_box{
	padding:10px 15px 25px 15px;
	background:#B0B2E4;
}
.slide_inner{
}
.slide_inner .item{
	font-size:0;
}
.slide_inner .thum{
	width:50%;
	padding:5px 5px 0 5px;
	display:inline-block;
	vertical-align:top;
}
.slide .bottom{
}

h2.cm_h2{
	width:70%;
	margin:0 28% 0 2%;
}
.cm{
	padding:10px 2% 15px 2%;
}
.cm .movie {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.cm .movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
.cm .text{
	padding-top:5px;
	font-size:14px;
}

.form_wrap,
.confirm_wrap{
	padding:15px 10px 30px 10px;
	background:#F4F4F4;
	font-size:14px;
}
h2.form_h2{
}
.form{
}
.form .top_text{
	padding-top:10px;
}
.form .inner{
}
.form .item{
	margin-top:15px;
	padding-top:5px;
	border-top:1px solid #D2D2D2;
}
.form .title{
	padding-top:5px;
	font-size:15px;
	color:#384099;
	font-weight:bold;
}
.form .title span{
	padding:1px 3px;
	background:#C92C47;
	border-radius:5px;
	font-size:12px;
	color:#FFF;
	text-align:center;
}
.form .input{
	padding-top:5px;
}
.form .text{
	padding-top:5px;
}
.form .text span{
	padding:1px 3px;
	background:#C92C47;
	border-radius:5px;
	font-size:12px;
	color:#FFF;
	font-weight:bold;
	text-align:center;
}
.form .caution{
	padding-top:5px;
	color:#cb2b49;
}
.form .file_size{
	padding:5px 0 0 10px;
}
.form .address{
	font-size:0;
}
.form .address div:first-child{
	width:26%;
	padding-right:5px;
	display:inline-block;
	vertical-align:middle;
	font-size:14px;
	text-align:right;
}
.form .address div:first-child span{
	margin-left:5px;
	padding:0 3px;
	background:#C92C47;
	border-radius:5px;
	display:inline-block;
	font-size:12px;
	line-height:1.4;
	color:#FFF;
	font-weight:bold;
	text-align:center;
}
.form .address div:last-child{
	width:74%;
	display:inline-block;
	vertical-align:middle;
	font-size:14px;
}
.form .select{
	position:relative;
}
.form .select:before{
	content:"";
	width:20px;
	height:20px;
	position:absolute; top:13px; right:13px;
	z-index:10;
	background:#8C8C8C;
	border-radius:50%;
}
.form .select:after{
	content:"\f078";
	width:20px;
	height:20px;
	position:absolute; top:13px; right:13px;
	z-index:10;
	font-family:'FontAwesome';
	font-size:16px;
	line-height:20px;
	color:#FFF;
	text-align:center;
}
.form .link{
	padding-top:5px;
	color:#384099;
}
.form .link a{
	color:#384099;
	text-decoration:underline;
}
.form .doui{
	width:40%;
	padding-top:5px;
}
.form .button{
	padding-top:20px;
}
.form button{
	width:100%;
	margin:0;
	padding:0;
	display:inline-block;
	background: linear-gradient(#6B96C0, #466C9B);
	border:1px solid #1F4363;
	border-radius:20px;
	outline:none;
	vertical-align:baseline;
	font-size:16px;
	line-height:40px;
	color:#FFF;
	font-weight:bold;
	text-align:center;
	cursor:pointer;
	text-shadow:1px 1px rgba(0,0,0,0.6);
}
.form input[type="text"], .form input[type="email"]{
	width:100%;
	padding:10px;
	background:#F9F9F9;
	border:1px solid #AAA;
	border-radius:6px;
	font-size:16px;
}
.form input[type="text"].mail, .form input[type="email"].mail{
	width:82%;
}
.form input[type="text"].zip1{
	width:30%;
}
.form input[type="text"].zip2{
	width:40%;
}
.form select{
	width:100%;
	padding:10px;
	background:#F9F9F9;
	border:1px solid #AAA;
	border-radius:0;
	display:block;
	font-size:16px;
}
.form textarea{
	width:100%;
	min-height:150px;
	padding:10px;
	background:#F9F9F9;
	border:1px solid #AAA;
	border-radius:6px;
	font-size:16px;
}
.form input[type=radio],
.form input[type=checkbox] {
	display: none;
}
.form .radio,
.form .checkbox {
	box-sizing: border-box;
	-webkit-transition: background-color 0.2s linear;
	transition: background-color 0.2s linear;
	position: relative;
	display: block;
	margin:0;
	padding: 12px 12px 12px 42px;
	background-color: #F9F9F9;
	border:1px solid #D2D2D2;
	border-top:none;
	vertical-align: middle;
	cursor: pointer;
}
.form .input input[type=radio]:first-child + .radio,
.form .input input[type=checkbox]:first-child + .checkbox{
	border-top:1px solid #D2D2D2;
	border-radius:10px 10px 0 0;
}
.form .input .radio:last-child,
.form .input .checkbox:last-child{
	border-radius:0 0 10px 10px;
}
.form .input .doui input[type=checkbox]:first-child + .checkbox,
.form .input .doui .checkbox:last-child{
	border-radius:10px;
}
.form .radio:after,
.form .checkbox:after {
	position: absolute;
	top: 50%;
	left: 15px;
	display: block;
	margin-top: -10px;
	width: 16px;
	height: 16px;
	background:#DBDBDB;
	border:none;
	border-radius: 3px;
	content: '';
}
.form .radio:after{
	border-radius:50%;
}
.form .radio:before {
	position: absolute;
	top: 50%;
	left: 20px;
	display: block;
	margin-top: -5px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #FFF;
	content: '';
	opacity: 0;
	z-index:10;
}
.form input[type=radio]:checked + .radio:before {
	opacity: 1;
}
.form input[type=radio]:checked + .radio:after,
.form input[type=checkbox]:checked + .checkbox:after{
	background:#5486B7;
}
.form .checkbox:before {
	position: absolute;
	top: 50%;
	left: 19px;
	display: block;
	margin-top: -10px;
	width: 5px;
	height: 9px;
	border-right: 3px solid #FFF;
	border-bottom: 3px solid #FFF;
	content: '';
	opacity: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	z-index:10;
}
.form input[type=checkbox]:checked + .checkbox:before {
	opacity: 1;
}

.confirm_wrap .form .select:before,
.confirm_wrap .form .select:after{
	display:none;
}
.confirm{
}
.confirm span{
}
.confirm_wrap .form .address div:last-child{
	text-align:left;
}
.confirm_wrap .form .button button:last-child{
	margin-top:20px;
	background:#AAA;
	border:1px solid #AAA;
}


/* under_column */

body.under_column .price{
	margin-top:0;
	padding-top:30px;
}
body.under_column .price .inner{
	background:#E9F1F7;
}
body.under_column .price .image{
	margin-top:-40px;
}
body.under_column .price .btn_box{
	padding-top:10px;
}
body.under_column .price .btn_box .item{
	margin-top:10px;
	padding:5px;
	background:#FFF;
	font-size:0;
}
body.under_column .price .btn_box .icon{
	width:15%;
	display:inline-block;
	vertical-align:middle;
}
body.under_column .price .btn_box .text{
	width:67%;
	height:auto;
	margin-top:0;
	padding:0 10px;
	border:none;
	display:inline-block;
	vertical-align:middle;
	font-size:18px;
	color:#384099;
	font-weight:bold;
}
body.under_column .price .btn_box .btn{
	width:17%;
	margin:5px 1% 5px 0;
	display:inline-block;
	vertical-align:middle;
}

.list{
}
.list h3{
	padding:10px 10px 10px 5px;
	background:#384099;
	font-size:0;
}
.list h3 .icon{
	width:12%;
	display:inline-block;
	vertical-align:middle;
}
.list h3 .title{
	width:88%;
	padding:0 10px;
	display:inline-block;
	vertical-align:middle;
	font-size:20px;
	color:#FFF;
	font-weight:bold;
}
.list h4{
	padding:0 0 0 15px;
	background:#EEEEEE;
	border-bottom:2px solid #FFF;
	display:block;
	position:relative;
	font-size:16px;
	line-height:40px;
	color:#000;
	font-weight:bold;
}
.list h4.open{
	border-bottom:none;
}
.list h4:after{
	content:"";
	width:20px;
	height:13px;
	background:url(../images/under_column/close.png) no-repeat;
	background-size:100% 100%;
	position:absolute; top:14px; right:15px;
  z-index: 1;
}
.list h4.open:after{
	background:url(../images/under_column/open.png) no-repeat;
	background-size:100% 100%;
}
.list .box{
	padding:0 10px;
}
.list .inner{
}
.list .item{
	border-bottom:2px dotted #919CC3;
}
.list .box .inner:last-child .item:last-child{
	border-bottom:none;
}

.switch{ position: relative; display: flex; align-items: center;}
.list .switch.open:after,.list .switch:after{ top: auto; right: 15px;}
.list h3:not(:first-child){ margin-top: -2px; position: relative; z-index: 1;}
.list h3.switch .title p.label_price{ position: inherit; top: auto;}
.list .box.acc{ padding: 0;}
.list h4.acc-in::after{ content: none;}
.list .acc .inner{ padding: 0 10px;}
.list .acc .inner + h4.acc-in{ margin-top: -2px;}
.list .switch.open:after{
	background:url(../images/under_column/w_open.png) no-repeat;
	background-size:100% 100%;
}
.list .switch:after{
	content:"";
	width:20px;
	height:13px;
	background:url(../images/under_column/w_close.png) no-repeat;
	background-size:100% 100%;
	position:absolute;
  z-index: 1;
}

.list .bf_list{ margin: 0 10px; border-bottom: 2px dotted #919CC3;}

.list .box + .switch{ border-top:2px solid #fff;}

/* voice */

h2.voice_h2{
	padding:15px 10px;
}
.voice{
	padding:5px 10px 40px 10px;
}
.voice .item{
	margin-top:10px;
}


/* privacy */

h2.privacy_top_h2{
}
.privacy{
}
.privacy .item{
	padding:20px 10px;
	border-bottom:1px solid #C5C5C5;
}
.privacy .item:last-child{
	border-bottom:none;
}
.privacy  h2.privacy_h2{
	font-size:17px;
	color:#384099;
}
.privacy .top_text{
	padding-top:15px;
}
.privacy .title{
	padding-top:20px;
	font-weight:bold;
}
.privacy .text{
	padding:10px 0 0 10px;
	word-wrap:break-word;
}
.privacy .text a{
	color:#384099;
	text-decoration:underline;
}
.privacy .item:last-child .text a{
	color:#000;
	text-decoration:none;
}
.privacy .date{
	padding-top:10px;
	text-align:right;
}
.privacy .joint{
	margin:20px 10px 0 10px;
	padding:10px;
	border:2px solid #D7D7D7;
}
.privacy .joint .title{
	padding-top:0;
}
.privacy .joint .list{
	padding-top:5px;
}
.privacy .joint .text{
	padding:5px 0 0 0;
}


/* company */

h2.company_h2{
	font-size:0;
}
.company{
}
.company .table_box{
	font-size:14px;
}
.company .table_box tr{
	border-bottom:1px solid #C5C5C5;
}
.company .table_box tr:last-child{
	border:none;
}
.company .table_box th,
.company .table_box td{
	padding:10px;
}
.company .table_box th{
	width:30%;
}


/* cv */

h2.cv_h2{
	padding:10px;
	background:#384099;
	font-size:20px;
	color:#FFF;
}
.cv_tel{
	margin:30px 10px 0 10px;
	padding:10px;
	border:5px solid #CACDEE;
	border-radius:10px;
	position:relative;
	z-index:10;
}
.cv_tel .title{
	padding:0;
	background:#FFF;
	position:static;
	font-size:16px;
	line-height:1.5;
	color:#CB2B49;
	font-weight:bold;
}
.cv_tel .inner{
	font-size:0;
	text-align:center;
}
.cv_tel .text{
	width:100%;
	margin-bottom:0;
	padding:10px 0;
	display:block;
	vertical-align:top;
	position:relative;
	z-index:10;
	font-size:12px;
	line-height:1.4;
	color:#000;
	font-weight:bold;
	text-align:center;
}
.cv_tel .number{
	width:100%;
	display:block;
	vertical-align:top;
	font-size:25px;
	line-height:1;
	color:#000;
	font-weight:bold;
}
.cv_tel .number a{
	color:#000;
}
.cv_tel .number:before{
	content:"";
	width:45px;
	height:27px;
	margin-right:10px;
	background:url(../images/tel.png) no-repeat;
	background-size:100% 100%;
	display:inline-block;
	vertical-align:top;
}

.cv_info{
	margin-top:20px;
	padding:15px;
	background:#F6F6F6;
	font-size:14px;
}
.cv_info .top_title{
	font-size:16px;
	color:#384099;
	font-weight:bold;
}
.cv_info .top_text{
	padding-top:10px;
}
.cv_info .title{
	padding-top:20px;
	font-weight:bold;
}
.cv_info .text{
	padding:10px 0 0 10px;
}

body.cv_page .compare .inner{
	padding:20px 0 15px 0;
	border:none;
	border-radius:0;
	position:relative;
	z-index:10;
}
body.cv_page .compare .title{
	margin-top:0;
	padding-left:0;
}


/* thanks */

.thanks_text{
	padding:30px 10px 50px 10px;
	background:#F4F4F4;
	font-size:14px;
	line-height:2;
}
@media screen and (max-width:375px){
	.thanks_text{
		padding-bottom:10px;
	}
}


/* footer */

footer{
	background:#384099;
	color:#FFF;
	text-align:center;
}
.footer_top{
	padding:10px;
	border-bottom:1px solid #272E82;
}
.top_marker{
}
.top_marker a{
	color:#FFF;
}
.foot{
	padding:5px;
	border-top:1px solid #696EB3;
}
.foot nav{
}
.foot nav .main{
	font-size:0;
}
.foot nav .main .item{
	display:inline-block;
	vertical-align:top;
	font-size:13px;
	line-height:2;
}
.foot nav .main .item a{
	color:#FFF;
}
.footer_bottom{
	padding:5px 0;
	background:#272E82;
}
.copyright{
}


/* float_banner */

.float_banner{
	width:100%;
	padding:10px;
	background:#39409A;
	position:fixed; bottom:0; left:0;
	z-index:50;
	display: none;
}
.float_banner:before{
	content:"0120-588-763";
	position:absolute; top:27%; left:35%;
	font-size:7vw;
	font-weight:bold;
	pointer-events:none;
}
.float_banner:after{content:"";position:absolute;background:url(../images/contact/click.png) no-repeat left center;background-size:45px;width:45px;height:58px;bottom:-5px;right:4.5%;animation:ease-out 1s fuwafuwa infinite;-webkit-animation:ease-out 1s fuwafuwa infinite;pointer-events:none;}
@-webkit-keyframes fuwafuwa {
	0% {-webkit-transform:translate(0, 0);}
	50% {-webkit-transform:translate(0, -10px);}
	100% {-webkit-transform:translate(0, 0);}
}
@-moz-keyframes fuwafuwa {
	0% {-moz-transform:translate(0, 0);}
	50% {-moz-transform:translate(0, -10px);}
	100% {-moz-transform:translate(0, 0);}
}
