@charset "utf-8";
/********************************
 common color
 red: #ea0f00
 black: #3a3a3a
 orange: #ffcd25
 ********************************/
 
 
/* preset: reset/normalize
---------------------------------------*/
body,ol,ul,li,
header,footer,article,section,
dl,dd,figure,
h1,h2,h3,h4,h5,h6{margin: 0;padding: 0;display: block;background: transparent;}
img{vertical-align:bottom;}
a img{border:0;}
a:hover img{opacity:.8;background: #fff;}
*{box-sizing:border-box;transition:all 0.2s linear 0s;}
/* preset: box
---------------------------------------*/
@-webkit-keyframes colorchange {
  0% { color: white;background: red; }
  100% { color: white;background: black; }
}
@keyframes colorchange {
  0% { color: white;background: red; }
  100% { color: white;background: black; }
}
.clearfix{zoom:1;}
.clearfix:after{display: block;content:"";clear:both;height: 0;visibility: hidden;}
.shadow_b{box-shadow:1px 1px 2px 0 rgba(0,0,0,.2);}.shadw_t{text-shadow:1px 1px 1px rgba(0,0,0,.2);}
.aligncenter{text-align: center;}.alignleft{text-align: left;}.alignright{text-align: right;}
.mt10{margin-top: 10px;}.mt15{margin-top: 15px;}.mt20{margin-top: 20px;}.mt30{margin-top: 30px;}
.mb10{margin-bottom: 10px;}.mb15{margin-bottom: 15px;}.mb20{margin-bottom: 20px;}.mb30{margin-bottom: 30px;}
.p0{padding: 0 !important;}.p10{padding: 10px;}.p15{padding: 15px;}.p20{padding: 20px;}
.left{float: left;}.right{float: right;}
.br_sp{display: none;}
@media screen and (max-width:640px){
	.onlypc{display: none;}
.br_pc{display: none;}
.left{float: none;}
.right{float: none;}
}
/* preset: text
---------------------------------------*/
strong{font-weight: bold;color: #ea0f00;}
.small{font-size: small;}
.come{font-size: 90%;color: #666;}

/* preset: column
---------------------------------------*/
.col2>li,.col2>div{width: 49.5%;margin-right: 1%;margin-bottom: 1%;float: left;}
.col2>li:nth-child(2n),.col2>div:nth-child(2n){margin-right: 0;}
.col3>li,.col3>div{width: 32.33%;margin-right: 1%;margin-bottom: 1%;float: left;}
.col3>li:nth-child(3n),.col3>div:nth-child(3n){margin-right: 0;}
.col4>li,.col4>div{width: 24.25%;margin-right: 1%;margin-bottom: 1%;float: left;}
.col4>li:nth-child(4n),.col2>div:nth-child(4n){margin-right: 0;}
.col5>li,.col5>div{width: 19.2%;margin-right: 1%;margin-bottom: 1%;float: left;}
.col5>li:nth-child(5n),.col2>div:nth-child(5n){margin-right: 0;}
@media screen and (max-width:640px){
.col2>li,.col2>div,
.col3>li,.col3>div,
.col4>li,.col4>div,
.col5>li,.col5>div{width: 100%;margin-right: 0;float: none;}
}

/* preset: button
---------------------------------------*/
/*based*/
.button{
	width: 260px;height: 60px;
	display: inline-block;text-align: center;
	text-decoration: none;outline: none;
	font-weight: bold;font-size: 110%;
}
.button i{margin-right: 10px !important;}
/*based end*/
/*cube: based*/
.button.cube {
	position: relative;cursor:pointer;
	-webkit-perspective: 300px;	perspective: 300px;
}
.button.cube span {
	width: 100%;height: 100%;line-height: 60px;
	display: block;	position: absolute;	pointer-events: none;
}
.button.cube span:nth-child(1) {
	-webkit-transform: rotateX(90deg);-moz-transform: rotateX(90deg);	transform: rotateX(90deg);
	-webkit-transform-origin: 50% 50% -30px;-moz-transform-origin: 50% 50% -30px;	transform-origin: 50% 50% -30px;
}
.button.cube span:nth-child(2) {
	-webkit-transform: rotateX(0deg);-moz-transform: rotateX(0deg);	transform: rotateX(0deg);
	-webkit-transform-origin: 50% 50% -30px;-moz-transform-origin: 50% 50% -30px;	transform-origin: 50% 50% -30px;
}
.button.cube:hover span:nth-child(1),.button.cube:active span:nth-child(1) {
	-webkit-transform: rotateX(0deg);-moz-transform: rotateX(0deg);	transform: rotateX(0deg);
}
.button.cube:hover span:nth-child(2),.button.cube:active span:nth-child(2) {
	-webkit-transform: rotateX(-90deg);-moz-transform: rotateX(-90deg);	transform: rotateX(-90deg);
}
.button.red-black span{border: solid #3a3a3a 1px;}/*:common*/
.button.red-black span:nth-child(1){background-color: #3a3a3a;color: #dec98f;}/*:hover*/
.button.red-black span:nth-child(2){background-color: #ea0f00;color: #fff}/*:link*/
.button.red-gold span{border: solid #3a3a3a 1px;}/*:common*/
.button.red-gold span:nth-child(1){background-color: #dec98f;color: #000;}/*:hover*/
.button.red-gold span:nth-child(2){background-color: #ea0f00;color: #fff}/*:link*/
/*cube: based end*/
/*block: based*/
.button.block{width: 100%;height: auto;padding: 10px;box-shadow:1px 1px 2px 0 rgba(0,0,0,.2);}
.button.block.red-black{background-color: #3a3a3a;color: #dec98f;}/*:hover*/
.button.block.red-black:hover,
.button.block.red-black:active{background-color: #ea0f00;color: #fff}/*:link*/

/*cube: based end*/

/* preset: table
---------------------------------------*/
table{border-collapse:collapse;}
.tbl1{width: 100%;border-collapse: separate;box-shadow:1px 1px 3px 0 rgba(0,0,0,.3);table-layout:fixed;}
.tbl1 tr:nth-child(2n){background: rgba(255,255,255,.4);}
.tbl1 thead th{width: 25%;}
.tbl1 th,.tbl1 td{padding: 10px;}
.tbl1 th{background: #333;color: #fff;}
.tbl1 th.own{background: #ea0f00;color: #fff;}
.tbl1 th:first-child{background: rgba(223,190,111,.8);}
.tbl1 td{background: rgba(255,255,255,.9);text-align: center;font-weight: bold;font-size: 120%;}
.tbl1 td.own{background: rgba(254,241,241,.9);color: #ea0f00;}

.tbl1 td i{display: block;font-size: 120%;}
.tbl1 td i.fa-dot-circle-o{color: #ea0f00;}
@media screen and (max-width:640px){
.tbl1,.tbl1 thead,.tbl1 tr,.tbl1 tbody,.tbl1 th,.tbl1 td{display: block;}
.tbl1 thead th{width: 100%;}
}
.tbl_contact{width: 100%;}
.tbl_contact th,.tbl_contact td{padding: 10px;}
.tbl_contact th{background: transparent;color: #fff;width: 30%;text-align: center;}
.tbl_contact tr:last-child th{vertical-align: top;padding-top: 30px;}
.tbl_contact td{background: transparent;text-align: left;width: 70%;}
@media screen and (max-width:640px){
.tbl_contact,.tbl_contact tr,.tbl_contact tbody,.tbl_contact th,.tbl_contact td{display: block;width: 100%;}
.tbl_contact th,.tbl_contact td{padding: 0;}
.tbl_contact th{text-align: left;}
.tbl_contact tr:last-child th{vertical-align: middle;padding-top: 0;}
.tbl_contact td{margin-bottom: 10px;}
}

/* base
---------------------------------------*/
body,
input,select,textarea{font:16px / 1.7 'Teko',Verdana, Arial,"游ゴシック","Hiragino Kaku Gothic ProN","メイリオ",sans-serif;color: #000;word-break:break-all;color: #111;}
a{color: #ea0f00;}
img{width:100%;}
.section_inner{padding: 80px 20px;}
.main{max-width:900px;width: 75%;}
.aside{min-width:260px;width: 21.6%;float: right;}
@media screen and (max-width:640px){
body{font-size: 16px;}
.w50{width: 47%;}
.content,.main,.aside{width: 100%;float: none;}
.content{padding: 20px 0;}
.main,.aside{padding-bottom: 20px;}
.section_inner{padding: 40px 20px;}
}
section h2{text-align: center;margin-bottom: 10px;font-size: 300%;line-height: 1;text-shadow:1px 1px 1px rgba(0,0,0,.3);}
section h3{font-size: 180%;text-align: center;margin: 20px 0;}
.ttl_en{text-align: center;font-size: 200%;margin: 0 0 60px;line-height: 1;}
@media screen and (max-width:640px){
section h2{font-size: 140%;line-height: 1.4;}
section h3{font-size: 110%;}
.ttl_en{font-size: 100%;line-height: 1.2;}
}
/* 　header
******************************************/
header h1{margin-bottom: 0;padding-bottom: 0;text-align: center;background: #111 url(../img/mainimg_bg.jpg) no-repeat center top;color: #fff;background-size:cover;}
@media screen and (min-width:640px){header h1{background-attachment: fixed;}}
header h1 img{max-width:1200px;}
/* 　feature
******************************************/
/*.feature{background: #dfbe6f url(../img/bg_wall.jpg);}*/
.feature{background: #dfbe6f url(../img/company_bg.jpg) fixed;}
.feature h2{color: #fff; text-shadow: 1px 1px 5px rgba(0,0,0,.8);}
.feature .ttl_en{color: #fff; text-shadow: -1px -1px 1px rgba(0,0,0,.3);}
.feature .col3>div{width: 30%;margin-right: 2.5%;}
.feature .col3>div:first-child{margin-left: 2.5%;}
.feature_single h3{/*font-size: 140%;*/text-shadow:-1px -1px 1px rgba(255,255,255,.4);}
.feature_single p{font-weight: bold;font-size: 110%;text-shadow:-1px -1px 1px rgba(255,255,255,.4);}
.feature_single p strong{color: #885c25;font-size: 120%;}
@media screen and (max-width:900px){
.feature .col3>div{width: 100%;margin-right: 0;float: none;}
.feature .col3>div:first-child{margin-left: 0;}
}
/* 　casestudy
******************************************/
.casestudy{background:#eee;}
.casestudy h2{background: url(../img/casestudy_ttl_bg.jpg) no-repeat right top;min-height:200px;padding: 50px;color: #fff;}
.casestudy .ttl_en{margin-top: -100px;color: #dfbe6f;}

.casestudy .col3>div{width: 30%;margin-right: 2.5%;}
.casestudy .col3>div:first-child{margin-left: 2.5%;}

.casestudy h3{text-align: left;font-size: 160%;}
.casestudy .casenum{background: #dfbe6f;padding: 5px 20px;font-size: 130%;}
.casestudy li{border: solid 4px #dfbe6f;text-align: center;margin-bottom: 10px;font-weight: bold;}
.casestudy li div{padding: 10px;}
.casestudy li .desc{background: #dfbe6f;font-size: 110%;}
.casestudy .up{color: #dfbe6f;font-size: 140%;}
.casestudy .desc{font-size: 100%;color: #111;}
.casestudy .desc .number{font-size: 130%;color: #111;}
.casestudy h4{background: #333;padding: 10px;color: #fff;clear: both;}
.casestudy .before,.casestudy .after{font-size: 110%;font-weight: bold;background: #fff;padding: 10px;margin-bottom: 10px;clear: both;min-height:250px;}
.casestudy .after h4{background: #ea0f00;}
@media screen and (min-width:1080px) and (max-width:1400px){
.casestudy .col2>li{width: 100%;margin-right: 0;float: none;}
.casestudy .col2>li:first-child{margin-left: 0;}
}
@media screen and (max-width:1080px){
.casestudy h3{font-size: 200%;}
.casestudy .col3>div{width: 100%;margin-right: 0;float: none;margin-bottom: 20px;border-bottom: solid 1px #ccc;}
.casestudy .col3>div:first-child{margin-left: 0;}
.casestudy .ttl_en{margin-top: -60px;}
.casestudy .up{font-size: 180%;}
.casestudy .desc{font-size: 180%;}
.casestudy .before,.casestudy .after{min-height:0;}
}
@media screen and (max-width:640px){
}
/* 　fee
******************************************/
.fee{background: url(../img/fee_bg.jpg) fixed no-repeat center;}
.fee h2{color: #fff;}
.fee .ttl_en{color: #dfbe6f;}
.fee table{width: 80%;margin: auto;}
.fee table th{text-shadow:-1px -1px 1px rgba(0,0,0,.2);}
@media screen and (max-width:640px){
	.fee{background-color: #333;}
}
/* 　flow
******************************************/
.flow{background: #dfbe6f url(../img/company_bg.jpg) fixed;font-weight: bold;}
.flow .ttl_en{color: #b4954c;font-weight: normal;}

.flow .col3>li{width: 28%;margin-right: 4%;background: #fff;margin-bottom: 4%;box-shadow:1px 1px 2px 0 rgba(0,0,0,.2);
min-height:310px;text-align: center; font-size: 110%;}
.flow .col3>li:first-child,
.flow .col3>li:nth-child(4){margin-left: 4%;}

.flow li.onlytext{background: #111;color: #fff;font-weight: bold;font-size: 150%;text-align: center;}
.flow li.onlytext strong{font-size: 150%;color: #b4954c;}
.flow li h3{background: #111;color: #fff;margin-top: 0;text-align: left;line-height: 1;font-size: 140%;}
.flow li .num{background: #e0ce9f;color: #333;font-size: 70%;display: inline-block;padding: 10px;margin-right: 20px;line-height: 1;text-align: center;}
.flow li i{font-size: 3vw;display: block;margin-top: 40px;}
.flow li p{padding: 20px;}
@media screen and (max-width:900px){
.flow .col3>li{width: 100%;margin-right: 0;float: none;min-height:0;}
.flow .col3>li:first-child,
.flow .col3>li:nth-child(4){margin-left: 0;}
}
@media screen and (max-width:640px){
.flow li i{font-size: 13vw;}
}

/* 　company
******************************************/

.company{background: #111 no-repeat;color: #fff;padding: 20px 0;text-align: center;}
.company .ttl_en{color: #b4954c;}
.company .plan_detail{color: #d3b884;text-align: center;}
.company table{margin-bottom: 20px;width: 80%;margin: auto;font-size: 120%;}
.company table th{width: 40%;vertical-align: middle;background: #222;color: #d3b884;}
.company table th,.company table td{padding: 10px;border: solid 1px #666;}
.company table td{text-align: left;}
.company img {width: auto;vertical-align: middle;}
.company ol{font-size: 90%;}
.company .ht-18 {height:18px;}
.company .ht-14 {height:14px;}
.company .pc-hidden {display:none;}
@media screen and (max-width:640px){
.company table,
.company table tbody,
.company table th,
.company table tr,
.company table td{width: 100%;display: block;}
.company table{width: 100%;padding:10px;}
.company .sp-hidden {display:none;}
.company .pc-hidden {display:block;height:62px;}
}

/* 　contact
******************************************/

#contact{padding: 30px 0;}
#contact .ttl_en{color: #dfbe6f;}

#contact .required{background: #dfbe6f;color: #fff;padding: 7px 30px 2px;font-size: 14px;display: inline-block;margin-bottom: 10px;}
#contact table{margin-bottom: 20px;}
#contact table th{width: 30%;vertical-align: top;text-align: right;}
#contact table th,#contact table td{padding: 10px;}

.address_txt{display: block;}
.postcode_txt,.address1,.address2,.address3{display: block;}
.address_inner{margin-bottom: 20px;}
input[type=text],textarea{
border:0;
padding:10px;
font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-size:1.3em;
color:#111;
border:solid 2px #333;
margin:0;
width:80%;
box-shadow: inset 1px 4px 9px -6px rgba(0,0,0,0.5);
font-weight: normal;
}
input[type=text].tel{width: 18%;}
input[type=text].postcode{width: 30%;}
input[type=text]:focus {
    border:solid 3px #ccc;
		background: #eee;
}

::-webkit-input-placeholder {
    color: #ccc;
    font-weight: normal;
}
:-ms-input-placeholder {
    color: #ccc;
    font-weight: normal;
}
::-moz-placeholder {
    color: #ccc;
    font-weight: normal;
}

input[type=submit]{
border:solid 1px #a88e3e;
padding:15px 30px;
margin:0 0 20px;
font-size:140%;
font-weight: bold;
text-shadow:-1px -1px 1px rgba(255,255,255,.8);
text-transform:uppercase;
font-weight:bold;
color:#000;
cursor:pointer;
background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #d6b95c), color-stop(0.00, #ece09d));
background: -webkit-linear-gradient(#ece09d, #d6b95c);
background: -moz-linear-gradient(#ece09d, #d6b95c);
background: -o-linear-gradient(#ece09d, #d6b95c);
background: -ms-linear-gradient(#ece09d, #d6b95c);
background: linear-gradient(#ece09d, #d6b95c);
border-radius: 10px;
box-shadow:1px 1px 3px 0 rgba(0,0,0,.3);
}

.btn_back{
border:solid 1px #000;
padding:15px 30px;
margin:0 10px 20px 0;
font-size:140%;
font-weight: bold;
text-shadow:-1px -1px 1px rgba(255,255,255,.8);
text-transform:uppercase;
font-weight:bold;
color:#fff;
cursor:pointer;
background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #333), color-stop(0.00, #666));
background: -webkit-linear-gradient(#333, #666);
background: -moz-linear-gradient(#333, #666);
background: -o-linear-gradient(#333, #666);
background: -ms-linear-gradient(#333, #666);
background: linear-gradient(#333, #666);
border-radius: 10px;
box-shadow:1px 1px 3px 0 rgba(0,0,0,.3);
vertical-align: top;
text-decoration: none;
}

input[type=submit]:hover{
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #ece09d), color-stop(0.00, #d6b95c));
background: -webkit-linear-gradient(#d6b95c, #ece09d);
background: -moz-linear-gradient(#d6b95c, #ece09d);
background: -o-linear-gradient(#d6b95c, #ece09d);
background: -ms-linear-gradient(#d6b95c, #ece09d);
background: linear-gradient(#d6b95c, #ece09d);
}
.btn_back:hover{
background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #666), color-stop(0.00, #333));
background: -webkit-linear-gradient(#666, #333);
background: -moz-linear-gradient(#666, #333);
background: -o-linear-gradient(#666, #333);
background: -ms-linear-gradient(#666, #333);
background: linear-gradient(#666, #333);
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: 2px solid #333;
  margin: 0;
  padding: 5px 50px 5px 5px;
  background: url(../img/select.png) no-repeat right center transparent;
  vertical-align: middle;
        font-size: 130%;
font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: inherit;
  box-sizing: content-box;
  cursor:pointer;
  height: 32px;
  line-height: 32px;
}
select:hover,
select:active {
  background: url(../img/select_on.png) no-repeat right center transparent;
}

@media screen and (max-width:640px){
#contact table,
#contact table tbody,
#contact table th,
#contact table tr,
#contact table td{width: 100%;display: block;;}
#contact table{width: 100%;padding:10px;}
#contact table td{padding: 0 0 30px;}
#contact table th{padding-left: 0;width: 100%;text-align: left;}
#contact table input[type=text],
#contact table textarea{width: 100%;}
#contact table input[type=text].tel{width: 28%;}
#contact table input[type=text].postcode{width: 30%;}
#contact table input[type=submit],input[type=button]{-webkit-appearance: none;appearance: none;}
#contact table .required{margin-left: 10px;}
#contact table .come{display: block;}
#contact input[type=submit],
#contact .btn_back{display: block;width: 100%;margin-right: 0;}
}


/*button for smartphone
**********************************/

#sp_footer{display: none;}
@media screen and (max-width:640px){
#sp_footer{
	display: block;
	position: fixed;
	z-index: 9999;
	bottom: 0;
	width: 100%;
	padding: 10px;
	background: rgba(0,0,0,.3);
	transition:all 1s ease-out 0s;
	}
#sp_footer a{display: block;text-align: center;outline: none;width: 48%;font-size: 90%;
text-decoration: none;font-weight: bold;}
#sp_footer a.left{float: left;}
#sp_footer a.right{float: right;}
#sp_footer i{margin-right:10px;font-size: 20px;}
.button {
	border: 1px solid #15aeec;
	border-radius: 4px;
	color: #fff;
	line-height: 50px;
	-webkit-transition: none;
	transition: none;
	text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
	box-shadow:1px 1px 2px 0 rgba(0,0,0,.2);
}

.btn_orange {
	border: 1px solid #fff;
	background-color: #333;
}
.btn_orange:hover {
	border:1px solid #eee;
	background-color: #222;
}
.btn_orange:active {
	background: #222;
	box-shadow: inset 0 3px 5px rgba(0, 0, 0, .2);
	color: #fff;
	text-shadow: 0 1px 1px rgba(255, 255, 255, .5);
}

.btn_red {
	border: 1px solid #fff;
	background-color: #d3b884;
}
.btn_red:hover {
	border:1px solid #eee;
	background-color: #b79b65;
}
.btn_red:active {
	background: #b79b65;
	box-shadow: inset 0 3px 5px rgba(0, 0, 0, .2);
	color: #fff;
	text-shadow: 0 1px 1px rgba(255, 255, 255, .5);
}
#sp_footer.hide{bottom:-300px;}
#sp_footer.show{bottom:0px;}
}
@media screen and (max-width:400px){
#sp_footer a{width: 100%;}
#sp_footer a.left,#sp_footer a.right{float: none;}
#sp_footer a:first-child{margin-bottom: 5px;}
}


/* 　footer
******************************************/

.footer-link{text-align: center;background: #333;font-size: 90%;padding: 20px;}
.footer-link li{display: inline-block;}
.footer-link li a{color: #fff;text-decoration: none;}
.footer-link li a:hover,
.footer-link li a:active,
.footer-link li a:focus{color: #ccc;text-decoration: underline;}

footer{background: #000;color: #fff;font-size: 120%;text-align: center;padding: 30px 0;}

footer .section_inner { padding: 0 10% 0 0!important; margin: 0 auto;}
footer small {display: block;float: left;margin: 0 0 0;padding: 10px 0 0; width: 39%; }
p.footer-link-txt { float: right;display: block; width: 59%; text-align: right;padding: 0;font-size: 70%;}
p.footer-link-txt a { color: #d5d5d5;text-decoration: none; }
p.footer-link-txt a:hover,
p.footer-link-txt a:active,
p.footer-link-txt a:focus{text-decoration: underline;}

@media screen and (max-width:640px){
footer .section_inner { padding: 0!important; }
footer small{float: none; text-align: center;width: 100%;padding: 20px 0 0; }
p.footer-link-txt { float: none;display: block; width: 100%; text-align: center; padding: 0 0 70px;}
}

/* 　sub
******************************************/
#sub section{padding: 40px 0;}
#sub h2{font-size: 30px;text-align: center;border-bottom: solid 2px #333;margin-bottom: 30px;}
#sub #contact table{margin-bottom: 40px;width: 100%;}
#sub #contact table th,
#sub #contact table td{border: solid 1px #ccc;padding: 10px;}
#sub #contact table th{vertical-align: middle;}
#sub .address_inner{margin-bottom: 0;}

#sub #contact table th{background: #d3b884;text-shadow:-1px -1px 1px rgba(255,255,255,.8);}

@media screen and (max-width:640px){
#sub h2{font-size: 18px;}
#sub #contact table td{border-top: 0;}
}