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

body {
	min-width: 1400px;
}

/* top
---------------------------------------- */

.breadcrumbs {
	width: 1200px;
	margin: 15px auto;
	font-size: 13px;
	line-height: 140%;
}

/* main img */
#toppage #main_img {
	background: url(../img/top/main.jpg) no-repeat 50% 70%;
	background-size: cover;
	height: 1200px;
	position: relative;
}
#toppage #main_img div {
	position: absolute;
	top: 400px;
	left: 100px;
}
#toppage #main_img div h2 {
	font-size: 90px;
	line-height: 140%;
}
#toppage #main_img div h3 {
	font-size: 28px;
	line-height: 140%;
	font-family: 'Roboto', sans-serif;
}
#toppage #main_img div p {
	margin: 20px 0 0 0;
}

/* intro */
#toppage #intro .title {
	background:-webkit-gradient(ellipse farthest-side at bottom, #1267eb, #0034b8);
    background:-webkit-radial-gradient(ellipse farthest-side at bottom, #1267eb, #0034b8);
    background:-moz-radial-gradient(ellipse farthest-side at bottom, #1267eb, #0034b8);
    background:-o-radial-gradient(ellipse farthest-side at bottom, #1267eb, #0034b8);
    background:radial-gradient(ellipse farthest-side at bottom, #1267eb, #0034b8);
	padding: 50px 100px;
	font-size: 36px;
	font-family: "yugo-b";
	line-height: 160%;
	color: #FFF;
	position: relative;
	text-align: center;
}
#toppage #intro .title::before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
 	margin-left: -30px;
	border: 30px solid transparent;
	border-top: 30px solid #1267eb;
}
#toppage #intro .title small {
	font-size: 24px;
	font-family: "yugo";
	font-weight: normal;
	line-height: 160%;
	display: block;
	margin-bottom: 10px;
}
#toppage #intro .intro_01 {
	background: url(../img/top/intro_01.png) no-repeat 50% 50%;
	width: 1410px;
	height: 525px;
	margin: 100px auto;
	position: relative;
}
#toppage #intro .intro_01 div {
	position: absolute;
	top: 140px;
	left: 0;
	width: 870px;
}
#toppage #intro .intro_02 {
	background: url(../img/top/intro_02.png) no-repeat 50% 50%;
	width: 1410px;
	height: 525px;
	margin: 100px auto;
	position: relative;
}
#toppage #intro .intro_02 div {
	position: absolute;
	top: 140px;
	right: 0;
	width: 680px;
}
#toppage #intro div h3 {
	font-size: 30px;
	line-height: 140%;
	margin-bottom: 30px;
}
#toppage #intro div p {
	margin: 0;
	font-size: 15px;
	line-height: 180%;
}
#toppage #intro div p strong {
	color: #1267eb;
}

/* topics */
#toppage #topics {
	margin: 0 auto 100px auto;
	width: 1200px;
	display: flex;
}
#toppage #topics .ttl {
	margin: 0 50px 0 0;
}
#toppage #topics .ttl h3 {
	font-size: 36px;
	font-family: 'Roboto', sans-serif;
	position: relative;
	padding: 0 0 30px 0;
	margin: 0 0 35px 0;
}
#toppage #topics .ttl h3::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	border-bottom: 3px solid #004ece;
	width : 80px;
	margin: 0 auto;
}
#toppage #topics .ttl a {
	display: block;
	border: 1px solid #004ece;
	color: #004ece;
	padding: 5px 0;
	text-decoration: none;
	text-align: center;
	font-family: 'Roboto', sans-serif;
	font-weight: normal;
	border-radius: 5px;
	font-size: 15px;
	line-height: 180%;
}
#toppage #topics .ttl a:hover {
	color: #FFF;
	background: #004ece;
}
#toppage #topics ul {
	width: 80%;
	margin: 0;
	padding: 0;
	list-style: none;
}
#toppage #topics ul li {
	margin: 0 0 15px 0;
	padding: 0 0 15px 0;
	border-bottom: 1px solid #DDD;
	font-size: 15px;
	line-height: 180%;
}
#toppage #topics ul li a {
	margin-left: 15px;
	text-decoration: none;
}
#toppage #topics ul li a:hover {
	text-decoration: underline;
}

/* benefit */
#toppage #benefit {
	background: url(../img/top/benefit_bg-t.jpg) no-repeat 0 0, url(../img/top/benefit_bg-b.jpg) no-repeat 0 100%, #ebf7fb;
	background-size: 100%;
	padding: 100px 0;
}
#toppage #benefit h3 {
	text-align: center;
	font-size: 38px;
	line-height: 140%;
	font-family: "yugo";
	font-weight: normal;
}
#toppage #benefit h3 b {
	color: #1267eb;
	font-weight: normal;
}
#toppage #benefit .inner {
	overflow: hidden;
	margin: 50px auto;
	display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	justify-content:space-between;
	text-align: center;
}
#toppage #benefit .inner .before,
#toppage #benefit .inner .after {
	width: 480px;
	padding: 50px;
	background: #FFF;
	box-shadow: 5px 5px 10px #e1ecf0;
	position: relative;
}
#toppage #benefit .inner .before h4,
#toppage #benefit .inner .after h4 {
	position: absolute;
	color: #FFF;
	padding: 10px 0;
	top: 0;
	left: 0;
	font-size: 20px;
	font-family: "yugo";
	font-weight: normal;
	width: 180px;
	text-align: center;
}
#toppage #benefit .inner .before h4 {
	background: #69778f;
}
#toppage #benefit .inner .before::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
 	margin-top: -30px;
	border: 30px solid transparent;
	border-left: 30px solid #a1dcf1;
}
#toppage #benefit .inner .after h4 {
	background: #004ece;
}
#toppage #benefit .inner img {
	margin: 20px 0;
	width: 80%;
}
#toppage #benefit .inner h5 {
	font-size: 22px;
	line-height: 160%;
	margin: 0 0 20px 0;
	padding: 0;
	text-align: left;
}
#toppage #benefit .inner p {
	text-align: left;
}


/* page
---------------------------------------- */
#page #main_img {
	background: url(../img/contents/main_bg.jpg) no-repeat fixed;
	background-size: cover;
	text-align: center;
	padding: 240px 0 110px 0;
}
#page #main_img h2 {
	font-size: 36px;
	line-height: 160%;
}
#page #main_img p.en {
	font-size: 14px;
	line-height: 140%;
	margin: 10px 0;
	padding: 0;
	color: #004ece;
	font-family: 'Roboto', sans-serif;
}
#page #main_img p.txt {
	margin: 50px 0 0 0;
	padding: 0;
}

/* profile
---------------------------------------- */
.company_profile .message {
	width: 1000px;
	margin: 80px auto;
	display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	justify-content:space-between;
}
.company_profile .message .img {
	width: 20%;
}
.company_profile .message .img img {
	width: 100%;
	height: auto;
}
.company_profile .message .txt {
	width: 75%;
}
.company_profile .message .txt h3 {
	font-size: 30px;
	line-height: 140%;
	margin-bottom: 30px;
}
.company_profile .message .txt p {
	margin: 0;
	font-size: 15px;
	line-height: 180%;
}
.company_profile .message .txt p.ceo {
	text-indent: -99999px;
	background: url(../img/contents/profile/ceo.png) no-repeat 100% 0;
	height: 35px;
	margin-top: 30px;
}
.company_profile #profile {
	background: url(../img/contents/profile/prof.jpg) no-repeat 0 100%;
	background-size: 100%;
	padding: 80px 0 500px 0;
}
.company_profile #profile h3 {
	width: 1200px;
	margin: 0 auto 30px auto;
	padding: 0 0 30px 0;
	font-size: 36px;
	font-family: 'Roboto', sans-serif;
	position: relative;
}
.company_profile #profile h3::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	border-bottom: 3px solid #004ece;
	width : 80px;
	margin: 0 auto;
}
.company_profile #profile dl {
	width: 1200px;
	margin: 0 auto;
	overflow: hidden;
}
.company_profile #profile dl dt {
	width: 14%;
	margin: 0;
	padding: 10px 0;
	color: #004ece;
	clear: both;
	float: left;
}
.company_profile #profile dl dd {
	width: 85%;
	margin: 0;
	padding: 10px 0;
	float: right;
}
.company_profile #partner {
	background: #ebf7fb url(../img/top/benefit_bg-t.jpg) no-repeat 0 0;
	background-size: 100%;
	padding: 100px 0;
}
.company_profile #partner .inner {
	padding: 90px 60px 20px 60px;
	background: #FFF;
	position: relative;
	width: 1100px;
}
.company_profile #partner .inner h3 {
	position: absolute;
	top: 0;
	left: 0;
	padding: 10px 0;
	width: 300px;
	color: #FFF;
	background: #004ece;
	text-align: center;
}
.company_profile #partner .inner h4 {
	font-size: 26px;
	line-height: 140%;
}
.company_profile #partner .inner h4 small {
	font-size: 21px;
	line-height: 140%;
}
.company_profile #partner .inner p {
	margin: 10px 0 50px 0;
}

/* faq
---------------------------------------- */
.faq #question {
	padding: 50px 0;
}
.faq #question .inner {
	padding: 50px;
	width: 1100px;
	background: #EEE;
	margin: 30px auto;
}
.faq #question .inner h3 {
	font-size: 24px;
	line-height: 160%;
	color: #004ece;
	margin-bottom: 15px;
}
.faq #question .inner h3::before {
	content: "Q.";
	font-size: 24px;
	line-height: 160%;
	font-family: 'Roboto', sans-serif;
	color: #004ece;
	margin-right: 20px;
}
.faq #question .inner .answer {
	padding: 0 0 0 50px;
}
.faq #question .inner .answer::before {
	content: "A.";
	font-size: 24px;
	line-height: 160%;
	font-family: 'Roboto', sans-serif;
	color: #00bf48;
	margin: 0 25px 0 -50px;
}
.faq #question .inner .answer a {
	color: #004ece;
}

/* empirial
---------------------------------------- */
.empirial #empirial_data {
	padding: 50px 0;
	background: #ebf7fb;
}
.empirial #empirial_data .inner {
	padding: 50px;
	background: #FFF;
	overflow: hidden;
	margin: 30px auto;
	width: 1100px;
}
.empirial #empirial_data .inner img {
	width: 370px;
	float: left;
	height: auto;
}
.empirial #empirial_data .inner div {
	width: 680px;
	float: right;
}
.empirial #empirial_data .inner div h3 {
	font-size: 30px;
	line-height: 160%;
}

/* method
---------------------------------------- */
.method .btn_mini {
	width: 100%;
	margin-top: 15px;
}
.method .btn_mini a {
	margin: 10px auto 0 auto;
	width: 300px;
}
.method #information .title {
	background:-webkit-gradient(ellipse farthest-side at bottom, #1267eb, #0034b8);
    background:-webkit-radial-gradient(ellipse farthest-side at bottom, #1267eb, #0034b8);
    background:-moz-radial-gradient(ellipse farthest-side at bottom, #1267eb, #0034b8);
    background:-o-radial-gradient(ellipse farthest-side at bottom, #1267eb, #0034b8);
    background:radial-gradient(ellipse farthest-side at bottom, #1267eb, #0034b8);
	padding: 50px 100px;
	font-size: 36px;
	font-family: "yugo-b";
	line-height: 160%;
	color: #FFF;
	position: relative;
	text-align: center;
}
.method #information .title::before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
 	margin-left: -30px;
	border: 30px solid transparent;
	border-top: 30px solid #1267eb;
}
.method #information .title small {
	font-size: 24px;
	font-family: "yugo";
	font-weight: normal;
	line-height: 160%;
	display: block;
	margin-bottom: 10px;
}
.method #information .method_info {
	background: #ebf7fb url(../img/top/benefit_bg-t.jpg) no-repeat 0 0;
	background-size: 100%;
	padding: 100px 0;
}
.method #information .method_info .inner {
	padding: 30px;
	background: #FFF;
	position: relative;
	width: 1100px;
	margin-bottom: 15px;
	display: flex;
    flex-wrap: wrap;
}
.method #information .method_info .inner .img {
	width: 40%;
}
.method #information .method_info .inner .img img {
	width: 100%;
	height: auto;
}
.method #information .method_info .inner .txt {
	width: 57%;
	margin: 0 0 0 3%;
}
.method #information .method_info .inner .txt h3 {
	font-size: 30px;
	line-height: 160%;
	margin-bottom: 15px;
}
.method #information .method_info .inner .point {
	padding: 30px;
	background: #EEE;
	margin-top: 20px;
}
.method #information .method_info .inner .point h4 {
	color: #004ece;
	font-size: 21px;
	line-height: 160%;
	margin: 0 0 10px 0;
}
.method #information .method_info .inner .point p {
	margin: 0;
	font-size: 14px;
	line-height: 180%;
}
.method #scene {
	width: 1200px;
	margin: 80px auto;
}
.method #scene h2 {
	text-align: center;
	font-size: 36px;
	line-height: 160%;
	margin-bottom: 50px;
}
.method #scene h2 strong {
	color: #004ece;
}
.method #scene h3 {
	margin: 0 auto 20px auto;
	padding: 0 0 20px 0;
	font-size: 26px;
	position: relative;
}
.method #scene h3::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	border-bottom: 3px solid #004ece;
	width : 10px;
	margin: 0 auto;
}
.method #scene ul {
    display: flex;
    flex-wrap: wrap;
	margin: 0 auto 30px auto;
	list-style: none;
	padding: 0;
}
.method #scene ul li {
    width: 46%;
	margin: 2%;
	padding: 0;
	box-shadow: 0 0 10px #EEE;
}
.method #scene ul li img {
	width: 100%;
	height: auto;
	margin: 0;
}
.method #scene ul li h4 {
	font-size: 30px;
	line-height: 160%;
	margin: 30px 40px 10px 40px;
}
.method #scene ul li p {
	margin: 0 40px 40px 40px;
}

.method #flow {
	background: #f0f2f5 url(../img/contents/method/flow/bg.png) no-repeat 100% 100%;
	background-size: 100%;
	padding: 80px 0 480px 0;
}
.method #flow h2 {
	text-align: center;
    font-size: 36px;
    line-height: 160%;
    margin: 0 0 30px 0;
    padding: 0 0 30px 0;
    position: relative;
}
.method #flow h2::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    border-bottom: 3px solid #004ece;
    width: 80px;
    margin: 0 auto;
}
.method #flow ul {
	width: 1200px;
	margin: 15px auto 50px auto;
	display: flex;
    flex-wrap: wrap;
	list-style: none;
}
.method #flow ul li {
	width: 31.33333%;
	margin: 1%;
	text-align: center;
	background: #FFF;
	box-shadow: 0 0 10px #DDD;
	padding: 0;
}
.method #flow ul li .photo {
	position: relative;
}
.method #flow ul li .photo p {
	position: absolute;
	text-align: center;
	background: #004ece;
	color: #FFF;
	top: 0;
	left: 0;
	padding: 5px 15px;
	margin: 0;
	z-index: 5;
}
.method #flow ul li h3 {
	padding: 30px;
}
.method #flow h4 {
	color: #004ece;
	font-size: 28px;
	line-height: 160%;
	text-align: center;
}
.method #flow img {
	width: 100%;
	height: auto;
}


/* appli
------------------------ */
.application .article {
    display: flex;
    flex-wrap: wrap;
	width: 100%;
	margin: 0 auto 15px auto;
	background: #FFF;
}
.application .article .photo {
	width: 300px;
}
.application .article .txt {
    width: 790px;
	margin: 0 0 0 30px;
	padding: 15px 0;
}
.application .article .btn {
	overflow: hidden;
}
.application .article .btn a {
	width: 250px !important;
	border: 1px solid #004ece;
	color: #004ece;
	font-size: 16px;
	border-radius: 5px;
	margin: 10px 0 0 0;
	float: right;
}
.application #appli_list {
	margin: 80px 0;
}
.application #appli_list .inner {
	margin: 15px auto 30px auto;
}
.application #appli_list .inner h3 {
	font-size: 28px;
	line-height: 160%;
	color: #004ece;
	margin-bottom: 10px;
}
.application #appli_list .inner .box {
	padding: 30px;
	background: #EEE;
}
.application #appli_list .inner .box ul {
	margin: 0 0 20px 0;
	padding: 0;
	display: flex;
    flex-wrap: wrap;
	width: 70%;
}
.application #appli_list .inner .box ul li {
	width: 30.333333%;
	margin: 0 0 5px 3%;
	padding: 0;
}


/* flow
------------------------ */
.flow h3 {
	font-size: 26px;
	font-family: 'Roboto', sans-serif;
	position: relative;
	padding: 0 0 30px 0;
	margin: 0 0 35px 0;
}
.flow h3::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	border-bottom: 3px solid #004ece;
	width : 80px;
	margin: 0;
}
.flow #flow_info,
.flow #area {
	margin: 80px auto;
	width: 1200px;
}
.flow #step {
	margin: 0 auto;
	width: 1400px;
}
.flow #step .step {
	min-height: 500px;
	margin: 15px auto;
	position: relative;
}
.flow #step .step h4 {
	font-size: 30px;
	line-height: 140%;
	margin: 0 0 15px 0;
	padding: 0;
}
.flow #step .step1 {
	background: url(../img/contents/flow/step_01.jpg) no-repeat 50% 0;
}
.flow #step .step2 {
	background: url(../img/contents/flow/step_02.jpg) no-repeat 50% 0;
}
.flow #step .step3 {
	background: url(../img/contents/flow/step_03.jpg) no-repeat 50% 0;
}
.flow #step .step4 {
	background: url(../img/contents/flow/step_04.jpg) no-repeat 50% 0;
}
.flow #step .step5 {
	background: url(../img/contents/flow/step_05.jpg) no-repeat 50% 0;
}
.flow #step .step6 {
	background: url(../img/contents/flow/step_06.jpg) no-repeat 50% 0;
}
.flow #step .step1 div,
.flow #step .step3 div,
.flow #step .step5 div {
	position: absolute;
	top: 140px;
	left: 0;
	width: 870px;
}
.flow #step .step2 div,
.flow #step .step4 div,
.flow #step .step6 div {
	position: absolute;
	top: 140px;
	right: 0;
	width: 680px;
}
.flow #oneself {
	background:#ebf7fb url(../img/top/benefit_bg-t.jpg) no-repeat 0 0;
	background-size: 100%;
	padding: 100px 0;
}
.flow #oneself .inner {
	padding: 70px 50px 50px 50px;
	background: #FFF;
	width: 800px;
	position: relative;
	box-shadow: 0 0 10px #d5eaf3;
}
.flow #oneself .inner h3 {
	font-size: 26px;
	line-height: 160%;
	margin: 0 auto;
	padding: 0;
	color: #004ece;
	width: 70%;
	text-align: center;
}
.flow #oneself .inner h3::before {
	content: none;
}
.flow #oneself .inner .btn_mini {
	margin: 30px auto 0 auto;
}
.flow #oneself .inner .btn_mini a {
	width: 500px;
	margin: 0 auto;
}

/* contact
------------------------ */
.form {
	width: 840px;
	margin: 30px auto;
	text-align: center;
}
/* form */
.form dl{
}
.form dl dt {
	font-weight: bold;
	font-size: 18px;
	line-height: 160%;
	margin: 10px 0;
	text-align: left;
}
.form dl dt small {
	font-size: 13px;
	line-height: 140%;
	margin-left: 5px;
	color: #004ece;
}
.form dl dd {
	margin: 0 0 30px 0;
}
.form dl dd input,
.form dl dd textarea {
	padding: 10px 2%;
	font-size: 16px;
	line-height: 180%;
	background: #EEE;
	border: 0;
	width: 96%;
	border-radius: 5px;
}
input::placeholder,
textarea::placeholder {
	color: #999;
}
.form label {
	line-height: 135%;
	position: relative;
	margin: 0.5rem;
	cursor: pointer;
	height: 30px;
	display: block;
	padding: 0;
}
.form .wpcf7-form-control-wrap {
	margin-right: 15px;
}
.form input[type="checkbox"] {
	position: relative;
	margin: 0;
	cursor: pointer;
	width: 30px;
}
.form input[type="checkbox"]:before {
	position: absolute;
	z-index: 1;
	top: -50%;
	left: 25%;
	width: 12px;
	height: 12px;
	content: '';
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	        transition:         transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	-webkit-transform: rotate(-45deg) scale(0, 0);
	        transform: rotate(-45deg) scale(0, 0);
	border: 3px solid #FFF;
	border-top-style: none;
	border-right-style: none;
}
.form input[type="checkbox"]:checked:before {
	-webkit-transform: rotate(-45deg) scale(1, 1);
	        transform: rotate(-45deg) scale(1, 1);
}
.form input[type="checkbox"]:after {
	position: absolute;
	top: -10px;
	left: 0;
	width: 30px;
	height: 30px;
	content: '';
	cursor: pointer;
	background: #969ba1;
}
.form .text a {
	color: #004ece;
}
.form input[type="submit"] {
	display: block;
	background: #00bf48;
	border-radius: 5px;
	color: #FFF;
	width: 480px;
	padding: 20px 0;
	text-align: center;
	cursor: pointer;
	border: 0;
	margin: 0 auto;
	font-size: 22px;
	line-height: 160%;
}

.form select {
	display: block;
	background: #EEE;
	border-radius: 5px;
    color: #999;
	width: 100%;
    height: 50px;
	padding: 20px 0;
	text-align: center;
	cursor: pointer;
	border: 0;
	margin: 0 auto;
	font-size: 22px;
	line-height: 160%;
}

 /* complete */
 .contact .tel_area,
 .contact_complete .tel_area {
 	padding: 50px;
	background: #FFF;
	width: 900px;
	box-shadow: 0 0 10px #d5eaf3;
	margin: 50px auto;
 }
.contact_complete .tel_area p {
	margin: 30px 0 0 0;
	font-size: 14px;
	line-height: 180%;
}
.contact_complete .btn_mini a {
	margin: 0 auto;
}



/* policy
---------------------------------------- */
#page.policy .inner {
	margin-top: 80px;
}
#page.policy h3 {
    font-size: 26px;
    font-family: 'Roboto', sans-serif;
    position: relative;
    padding: 0 0 30px 0;
    margin: 0 0 35px 0;
	text-align: center;
}
#page.policy h3::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    border-bottom: 3px solid #004ece;
    width: 80px;
    margin: 0 auto;
}


#page.policy ul {
	width: 800px;
	margin: 0 auto 80px auto;
	padding: 0;
}
#page.policy ul li {
	margin: 0 0 15px 0;
	padding: 0;
}