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

/* reset */
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}

/* clearfix */
.clearfix:after,.clearfix:before{display:table;content:" "}.clearfix:after{clear:both}

/* base
------------------------------------ */
html { height: 100%; }
table { _font-size: 12px; }
a { color: #000; text-decoration: none; -webkit-transition: all .3s ease; transition: all .3s ease;}
a:hover { color: #f00; }
img { max-width: 100%; }

.space5  { margin-bottom: 5px; }
.space10 { margin-bottom: 10px; }
.space15 { margin-bottom: 15px; }
.space20 { margin-bottom: 20px; }
.space25 { margin-bottom: 25px; }
.space30 { margin-bottom: 30px; }
.space40 { margin-bottom: 40px; }
.space50 { margin-bottom: 50px; }

/* Font Size */
.fs10{font-size:10px}
.fs11{font-size:11px}
.fs12{font-size:12px}
.fs14{font-size:14px}
.fs16{font-size:16px}
.fs18{font-size:18px}
.fs20{font-size:20px}

/* Font style */
.center	{ text-align: center; }
.bold	{ font-weight: bold; }

/* common
------------------------------------ */

#svg,.sp, .noSVG{ display: none; }

.cathTxt{opacity: 0;}

.slide{opacity: 1;}

.fade{opacity: 1;}


/* header
------------------------------------ */
#header {
	width: 100%;
	text-align: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
#logoMain{ display: none;}

/* layout
------------------------------------ */
section{ margin: 0 auto;}

.charm{
	background: #002f7e;
	color: #FFF;
}

.task{
	background:#FFF;
	color:#000;
}

.icon {
    margin: 0 auto;
    border-radius: 50%;
    background: #002f7e;
}
.st0{fill:#FFFFFF;}

.st1{fill:#063077;}

.st2{fill:#4771b7;}
/* heroImg
-------------- */
#heroImg{
	width: 100%;
	text-align: center;
	overflow: hidden;
}
#heroImg .ph{
	width: 105%;
	position: relative;
	z-index: 2;
	top: 16%;
	top: 16vh;
	left: -1.5%;
}
#heroImg h1{
	width: 49%;
	margin: 0 auto;
	position: relative;
	top: -40px;
	top: -2.5vw;
	left: -1%;
}
#heroImg h1 img{ width: 100%;}

.subTit:before,
.colBox h3:before,
.colBox .lead:before,
.bx-wrapper:before{
	content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0px;
    top: -2px;
    z-index: 0;
    background-color: #fff;
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
    -webkit-transition: -webkit-transform 0.7s 0.75s cubic-bezier(0, 0.3, 0.8, 0.95);
    transition: -webkit-transform 0.7s 0.75s cubic-bezier(0, 0.3, 0.8, 0.95);
    transition: transform 0.7s 0.75s cubic-bezier(0, 0.3, 0.8, 0.95);
    transition: transform 0.7s 0.75s cubic-bezier(0, 0.3, 0.8, 0.95), -webkit-transform 0.7s 0.75s cubic-bezier(0, 0.3, 0.8, 0.95);
}

.bx-wrapper:before{
	background-color: #002f7e;
	z-index: 2;
	transition: -webkit-transform 0.3s 0.35s cubic-bezier(0, 0.3, 0.8, 0.95);
	transition: transform 0.3s 0.35s cubic-bezier(0, 0.3, 0.8, 0.95);
	transition: transform 0.3s 0.35s cubic-bezier(0, 0.3, 0.8, 0.95), -webkit-transform 0.3s 0.35s cubic-bezier(0, 0.3, 0.8, 0.95);
}

.colBox h3:before{
	transition: -webkit-transform 0.5s 0.55s cubic-bezier(0, 0.3, 0.8, 0.95);
	transition: transform 0.5s 0.55s cubic-bezier(0, 0.3, 0.8, 0.95);
	transition: transform 0.5s 0.55s cubic-bezier(0, 0.3, 0.8, 0.95), -webkit-transform 0.5s 0.55s cubic-bezier(0, 0.3, 0.8, 0.95);
 }

.colBox .lead:before{
	transition: -webkit-transform 0.4s 0.45s cubic-bezier(0, 0.3, 0.8, 0.95);
	transition: transform 0.4s 0.45s cubic-bezier(0, 0.3, 0.8, 0.95);
	transition: transform 0.4s 0.45s cubic-bezier(0, 0.3, 0.8, 0.95), -webkit-transform 0.4s 0.45s cubic-bezier(0, 0.3, 0.8, 0.95);
 }


.txtSlide:before,
.colBox h3.txtSlide:before,
.colBox .lead.txtSlide:before,
.bx-wrapper.txtSlide:before{
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
}

.show {
    opacity: 1 !important;
    -webkit-filter: blur(0px) !important;
    -moz-filter: blur(0px) !important;
    -o-filter: blur(0px) !important;
    -ms-filter: blur(0px) !important;
    filter: blur(0px) !important;
    transition: 0.6s all ease;
}

/* charm
------------------------------------ */

.charm .subTit{
	color:#002666;
}
.charm .subTit:before,
.charm .colBox h3:before,
.charm .colBox .lead:before{
	background: #002f7e;
}


/* task
------------------------------------ */
.icon {
    width: 100px;
    height: 100px;
    margin-bottom: 3%;
    text-align: center;
    line-height: 140px;
    transition: 0.6s all ease;
}

.serviceBox li:last-child .icon {
	line-height: 136px;
}

.icon svg {
    height: 50%;
}

.serviceBox li:first-child .icon svg {
	height:57%;
}

/* Action
------------------------------------ */
.flow {
	text-align: center;
}
.flow li{
	width:21.8%;
	display: inline-block;
	margin-right: 3%;
	color:#063077;
	font-size:12px;
	font-weight: 500;
	opacity: 0;
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -o-filter: blur(5px);
    -ms-filter: blur(5px);
    filter: blur(5px);
    transition: 0.6s all ease;
}


/* Growth
------------------------------------ */
.flow li:last-child{
	margin-right:0;
}

.formArea form {
	width: 100%;
}
.formArea .form {
	width: 100%;
	margin-bottom: 32px;
}
.formArea .form th {
	padding-right: 32px;
	font-weight: 200;
	text-align: right;
	white-space: nowrap;
}
.formArea .form th span {
	font-size: 12px;
	color: #FFF;
	margin-left: 10px;
	background: #e55858;
	padding: 0px 3px;
	display: inline-block;
	border-radius: 2px;
}
.formArea .form td {
	position: relative;
	width: 100%;
	padding: 24px 0;
}
.formArea #form_family_name,
.formArea #form_given_name {
	width: 43%;
	display: inline-block;
}
.formArea label.error {
	position: absolute;
	bottom: 0;
}
.formArea #form_family_name-error,
.formArea #form_business-error {
  	left: 0;
}
.formArea #form_given_name-error {
  	left: 51%;
}
.formArea #form_family_name {
  	margin-right: 2%;
}
.formArea input[type="text"],
.formArea textarea {
	display: block;
	width: 93%;
	background: #fff;
	border: none;
	padding: 16px 24px;
	font-size: 16px;
}
.formArea input[type="text"]::-webkit-input-placeholder {
  	color: #ccc;
}
.formArea input[type="text"]::-moz-input-placeholder {
  	color: #ccc;
}
.formArea input[type="text"]::-ms-input-placeholder {
  	color: #ccc;
}
.formArea label.error {
	color: #e55858;
	font-size: 13px;
}
.formArea .contact_agree {
	text-align: center;
	margin-bottom: 16px;
	margin-top: 16px;
}
.formArea .contact_agree input[type="checkbox"] {
	display: none;
}
.formArea .contact_agree input[type="checkbox"]:checked + label:before {
  	background-color: #666;
}
.formArea .contact_agree input[type="checkbox"]:checked + label:after {
  	opacity: 1;
}
.formArea .contact_agree label {
	cursor: pointer;
	position: relative;
	padding-left: 32px;
	font-size: 16px;
	-ms-transition: all 0.3s ease-out;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
.formArea .contact_agree label:before, .formArea .contact_agree label:after {
	position: absolute;
	content: "";
	-ms-transition: all 0.3s ease-out;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
.formArea .contact_agree label:before {
	top: 50%;
	left: 0;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	border: 1px solid #666;
	background-color: #fff;
}
.formArea .contact_agree label:after {
	opacity: 0;
	top: 50%;
	left: 0;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background: url(../../img/check.svg) center center no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
.formArea .privacyLink {
	margin-bottom: 40px;
	text-align: center;
}
.formArea .privacyLink a {
	position: relative;
	font-size: 14px;
	color: #333;
	text-decoration: none;
}
.formArea .privacyLink a:before {
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100%;
	height: 1px;
	background-color: #333;
	content: "";
}
.formArea #btn_contact_form {
	display: block;
	cursor: pointer;
	outline: none;
	min-width: 320px;
	margin: 0 auto;
	padding: 16px 0;
	border: solid 2px #000;
	background-color: #000;
	color: #FFF;
	font-size: 20px;
	text-align: center;
	-ms-transition: all 0.3s ease-out;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
.formArea #btn_contact_form:hover {
	background: #FFF;
	color: #000;
}
.formArea #btn_contact_form:disabled {
	border:none;
	pointer-events: none;
	background-color: rgba(63, 58, 53, 0.1);
	color: rgba(0, 0, 0, 0.2);
}

.remodal {
  padding: 40px 32px;
  text-align: center;
}
.remodal h1 {
  margin-bottom: 24px;
  font-size: 20px;
  font-weight: 500;
}
.remodal .description {
  display: inline-block;
  margin-bottom: 40px;
  text-align: left;
}
.remodal .remodal-cancel {
  display: block;
  min-width: 320px;
  margin: 0 auto;
  border: 1px solid #3f3a35;
  color: #3f3a35;
  font-size: 16px;
  font-weight: 400;
}
.remodal .remodal-cancel:hover {
  background-color: #fff;
}

/* footer
------------------------------------ */
.footer {
  padding: 72px 40px 24px;
  background-color: #24201c;
  color: #fff;
}
.footer .company {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  margin-bottom: 64px;
}
.footer .company > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
  line-height: 1;
}
.footer .company > div:first-child {
  -webkit-box-align: end;
  -ms-flex-align: end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  width: 45%;
  padding-right: 80px;
}
.footer .company > div:first-child a {
  display: block;
  color: #fff;
  text-decoration: none;
  -ms-transition: all 0.17s ease-out;
  -webkit-transition: all 0.17s ease-out;
  transition: all 0.17s ease-out;
}
.footer .company > div:first-child a:hover {
  opacity: .7;
}
.footer .company > div:first-child a .logo {
  display: block;
  overflow: hidden;
  width: 100px;
  height: 26px;
  background: url("../../img/footer_logo.svg") center center no-repeat;
  -webkit-background-size: contain;
  background-size: contain;
  margin-bottom: 24px;
  text-indent: 100%;
  white-space: nowrap;
}
.footer .company > div:first-child a span {
  display: block;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 10px;
  letter-spacing: .1em;
}
.footer .company > div:last-child {
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  width: 55%;
  padding-left: 80px;
}
.footer .company > div:last-child strong {
  display: block;
  margin-bottom: 24px;
}
.footer .company > div:last-child .tel {
  position: relative;
  margin-bottom: 12px;
}
.footer .company > div:last-child .tel:before {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  background-color: #fff;
  content: "";
}
.footer .company > div:last-child .tel a {
  display: block;
  color: #fff;
  text-decoration: none;
}
.footer .company > div:last-child .tel img {
  margin-right: 16px;
  vertical-align: middle;
}
.footer .company > div:last-child .tel span {
  font-size: 12px;
  font-weight: 200;
}
.footer .company > div:last-child .tel img,
.footer .company > div:last-child .mail img {
  height: 18px;
}
.footer .address {
  display: table;
  margin: 0 auto 56px;
  font-size: 12px;
}
.footer .address dl {
  display: table-row-group;
}
.footer .address dl dt,
.footer .address dl dd {
  display: table-cell;
  padding-bottom: 6px;
}
.footer .address dl dt {
  padding-right: 16px;
  font-weight: 400;
}
.footer .address dl dd {
  font-weight: 200;
}
.footer > small {
  display: block;
  line-height: 1;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 12px;
  letter-spacing: .1em;
  text-align: center;
}
