@charset "utf-8";

/* ---------- common ---------------------------------------- */
.contents {}
.content-area {
	margin-left: auto;
	margin-right: auto;
}

/* box */
.box {
	width: 960px;
	margin-left: auto;
	margin-right: auto;
}


/* -------- title -------- */
/* top-title */
.top-title {
	margin-bottom: 28px;
	text-align: left;
}
.top-title .en {
	display: block;
	padding-bottom: 10px;
	color: #bfb272;
	font-size: 13px;
	font-weight: bold;
	line-height: 140%;
	letter-spacing: 0.2em;
}
.top-title .ja {
	display: block;
	padding-bottom: 18px;
	color: #0d2352;
	font-size: 28px;
	font-weight: bold;
	line-height: 160%;
	letter-spacing: 0.08em;
}
.top-title:after {
	content: "";
	display: block;
	width: 60px;
	height: 1px;
	background-color: #bfb272;
}


/* -------- button -------- */

/* btn ホバー時に半透明にする */
.btn > a,
.btn > button {
	-webkit-transition: opacity .3s;
	transition: opacity .3s;
}
.btn:hover > a,
.btn:hover > button {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}

.button {
	text-align: center;
	display: inline-block;
}
.button a {
	box-sizing: border-box;
	display: block;
	width: 340px;
	padding: 27px 10px 27px;
	background: rgb(15,74,139); /* Old browsers */
	background: -moz-linear-gradient(left, rgba(15,74,139,1) 0%, rgba(0,34,72,1) 50%, rgba(15,74,139,1)); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(15,74,139,1) 0%,rgba(0,34,72,1) 50%, rgba(15,74,139,1)); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(15,74,139,1) 0%, rgba(0,34,72,1) 50%, rgba(15,74,139,1)); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d72817', endColorstr='#d77415',GradientType=1 ); /* IE6-9 */

	background-position: left center;
	background-size: 200% 100%;
	-webkit-transition: background-position .6s ease;
	transition: background-position .6s ease;

	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 166%;
	letter-spacing: 0.1em;
}
.button a span {
	padding-right: 16px;
	background: url(../images/arrow_right_w.png) no-repeat center right;
	background-size: 8px auto;
}
.button a:hover {
	background-position: right center;
}

/* -------- link -------- */
/* link */
a.link {
	color: #d72617;
}
a.link:hover {
	text-decoration: underline;
}

/* -------- table -------- */
/* table */
.table {
	width: 100%;
	margin-bottom: 16px;
}
.table th,
.table td {
	border: solid 1px #d3d3d3;
	font-size: 14px;
	font-weight: 500;
	padding: 12px 16px;
	line-height: 180%;
}
.table thead {
	background-color: #eee;
}
.table thead th {
	text-align: center;
}
.table tbody th {
	font-weight: bold;
	text-align: left
}
.table tbody td {
	text-align: center;
}

/* asterisk　２行目以降一字下げ */
.asterisk {
	display: inline-block;
	padding-left: 1em;
	text-indent: -1em;
}

/* animation */
.show.show-animation {
	transform: translateY(0);
	opacity: 1;
}
.show-animation {
	transition: transform 0.5s ease-out, opacity 0.5s ease-out;
	transform: translateY(50px);
	opacity: 0;
}

/* ----- page-visual ----- */
.page-visual {
	height: 310px;
	background: url(../images/bg_page.jpg) no-repeat center center;
	background-size: cover;
}
.page-visual .title {
	padding-top: 140px;
	color: #fff;
	font-size: 28px;
	font-weight: bold;
	line-height: 120%;
	text-align: center;
}


/* ---------- top ------------------------------------ */
/* ----- top-visual ----- */
.top-visual {
	position: relative;
	overflow: hidden;
	padding-top: 102px;
}
.top-visual .background {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 132px;
	right: 470px;
	background: rgb(15,74,139); /* Old browsers */
	background: -moz-linear-gradient(left, rgba(15,74,139,1) 0%, rgba(0,34,72,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(15,74,139,1) 0%,rgba(0,34,72,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom right, rgba(15,74,139,1) 0%, rgba(0,34,72,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d72817', endColorstr='#d77415',GradientType=1 ); /* IE6-9 */
}
.top-visual .slider {
	float: right;
	position: relative;
	width: 81.666%;
	height: 0;
	padding-bottom: 47.5%;
	z-index: 500;

	transition: background-color .1s ease 1s;
}
.top-visual .slider.show {
	background-color: #fff;
}
.top-visual .slider li {
	padding-bottom: 58.163%;
	background-repeat: no-repeat;
	background-position: left center;
	background-size: cover;

	width: 0 !important;
	transition: width 1s ease-out;
}
.top-visual .show.slider li {
	width: 100% !important;
}

@media (min-width: 1600px) {
	.top-visual .slider {
		padding-bottom: 39.786%;
	}
	.top-visual .slider li {
		padding-bottom: 48.718%;
	}
}

/* bx-slider */
.top-visual .slider .bx-viewport,
.top-visual .slider .bx-wrapper {
	position:relative;
	width: 100%;
	top: 0;
	left: 0;
}

/* controls */
.top-visual .slider .bx-controls {
	display: none;
}

/* loader */
.top-visual .slider .bx-wrapper .bx-loading {
	display: none;
}

/* catchcopy */
.top-visual .catchcopy {
	opacity: 0;
	position: absolute;
	top: 52.5%;
	left: 9.8%;
	width: 80%;
	margin-top: -87px;
	z-index: 1000;
	transition: opacity .3s ease-out 1.1s ;
}
.top-visual .catchcopy.show {
	opacity: 1;
}
.top-visual .catchcopy .ja {
	margin-bottom: 10px;
	color: #fff;
	font-size: 38px;
	font-weight: 500;
	letter-spacing: 0.2em;
	line-height: 176%;
}
.top-visual .catchcopy .en {
	padding-left: 3px;
	color: #fff;
	font-size: 20px;
	letter-spacing: 0.2em;
	line-height: 160%;
}

/* ----- top-gnav ----- */
.top-gnav {
	width: 100%;
	height: 100px;
	background-color: #fff;
	z-index: 1200;
}
.top-gnav .inner {
	width: 63.333%;
	margin: auto;
}
.top-gnav ul {
	display: -webkit-flex;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	padding: 35px 0 35px;
	text-align: center;
}
.top-gnav ul li {
	display: inline-block;
	margin-right: 6%;
}
.top-gnav ul li:last-child {
	margin-right: 0;
}
.top-gnav ul li a {
	position: relative;
	display: block;
	padding: 4px 0;
	font-size: 14px;
	letter-spacing: 0.08em;
}
.top-gnav ul li a:after {
	content: "";
	opacity: 0;
	display: block;
	width: 100%;
	height: 2px;
	position: absolute;
	bottom: 0;
	background-color: #0d2352;
	-webkit-transition: opacity 0.2s ease-out;
	transition: opacity 0.2s ease-out;
}
.top-gnav ul li.current a:after,
.top-gnav ul li a:hover:after {
	opacity: 1;
}

.fixed .top-gnav {
	position: fixed;
	top: 0;
	left: 0;
}
.fixed .top-news {
	padding-top: 100px;
}


/* ----- top-news ----- */
.top-news {
	background-color: #f3f5f7;
}
.top-news .content-area {
	overflow: hidden;
	width: 63.333%;
	padding: 42px 0 68px;
}
.top-news .title-area {
	float: left;
	width: 16%;
}
.top-news .title-area .title {
	padding-top: 28px;
	color: #0d2352;
	font-size: 26px;
	font-weight: 600;
}

.top-news .entry-area {
	width: 100%;
	margin-left: 16%;
}
.top-news .entry-area dl {
	max-width: 900px;
}
.top-news .entry-area dl dt {
	float: left;
	padding: 28px 0 28px 0;
	font-size: 16px;
	line-height: 120%;
	letter-spacing: 0.08em;
}
.top-news .entry-area dl dd {
	padding-left: 8.0em;
	border-bottom: solid 1px #bdbdbd;
	font-size: 13px;
	line-height: 120%;
	letter-spacing: 0.08em;
}
.top-news .entry-area dl dd a {
	display: block;
	padding: 28px 0 28px;
}
.top-news .entry-area dl dd a:hover {
	text-decoration: underline;
}
.top-news .entry-area .category {
	display: inline-block;
	min-width: 74px;
	margin-right: 32px;
	padding: 4px 0;
	background-color: #073568;
	color: #fff;
	font-size: 12px;
	line-height: 120%;
	text-align: center;
}

/* ----- top-mission ----- */
.top-mission {}
.top-mission .content-area {
	margin-top: 88px;
	margin-bottom: 110px;
}
.top-mission .top-title {
	margin-bottom: 24px
}
.top-mission .top-title .ja {
	font-size: 24px;
}
.top-mission p {
	font-size: 15px;
	line-height: 240%;
	letter-spacing: 0.1em;
}

/* ----- top-strength ----- */
.top-strength {
	position: relative;
	overflow: hidden;
	background: url(../images/top/bg_strength.jpg) no-repeat center center;
	background-size: cover;
}
.top-strength .strength {
	min-width: 1120px;
	max-width: 1560px;
	width: 93.333%;
	margin: 80px 0 80px;
	padding-top: 75px;
	padding-bottom: 80px;
	background-color: rgba(255,255,255,0.9);
}
.strength .top-title .en {
	padding-bottom: 6px;
}
.strength .top-title .ja {
	padding-bottom: 12px;
}
.strength .left {
	float: left;
	width: 430px;
	margin-bottom: 50px;
}
.strength .left .intro {
	margin-bottom: 56px;
	font-size: 16px;
	line-height: 170%;
}
.strength .support-list {}
.strength .support-list .title {
	margin-bottom: 10px;
	padding: 2px 0 2px;
}
.strength .support-list .title span {
	display: inline-block;
	font-size: 14px;
	line-height: 160%;
	vertical-align: middle;
}
.strength .support-list .title:before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-right: 6px;
	background-color: #0f4a8b;
	border-radius: 100%;
	vertical-align: middle;
}
.strength .support-list li {
	margin-bottom: 4px;
	font-size: 13px;
}
.strength .support-list li:before {
	content: "";
	display: inline-block;
	width: 3px;
	height: 3px;
	margin-right: 6px;
	background-color: #000;
	border-radius: 100%;
	vertical-align: middle;
}
.strength .right {
	float: right;
	width: 530px;
	margin-bottom: 50px;
}
.strength .figure {
	margin-top: 66px;
	margin-right: -16px;
}
.strength .figure .caption {
	padding-top: 18px;
	color: #073568;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-align: center;
}

.strength .support-blocks {
	clear: both;
	overflow: hidden;
	padding: 43px 0 40px;
	background-color: #fff;
}
.strength .support-blocks .block {
	box-sizing: border-box;
	float: left;
	width: 33.3%;
	min-height: 132px;
	padding: 0 32px;
	border-right: solid 1px #c9c9c9;
}
.strength .support-blocks .block:last-child {
	border-right: none;
}
.strength .support-blocks .title {
	padding-bottom: 12px;
	color: #0d2352;
	font-size: 16px;
	font-weight: bold;
}
.strength .support-blocks .title:after {
	content: "";
	display: block;
	width: 30px;
	height: 1px;
	margin-top: 12px;
	background-color: #bfb272;
}
.strength .support-blocks p {
	font-size: 13px;
	line-height: 180%;
}

.top-strength .investment {
	position: relative;
	min-width: 1120px;
	max-width: 1560px;
	width: 93.333%;
	margin: 0 0 0 auto;
	padding: 75px 0 88px;
	background: rgb(15,74,139); /* Old browsers */
	background: -moz-linear-gradient(left, rgba(15,74,139,1) 0%, rgba(0,34,72,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(15,74,139,1) 0%,rgba(0,34,72,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom right, rgba(15,74,139,1) 0%, rgba(0,34,72,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d72817', endColorstr='#d77415',GradientType=1 ); /* IE6-9 */
}
.investment .top-title .ja {
	color: #fff;
	font-size: 24px;
}
.investment p {
	color: #fff;
}
.investment .figure {
	margin-top: 30px;
}

.top-strength .white-background {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 245px;
	background-color: #fff;
}

/* ----- top-casestudy ----- */
.top-casestudy {
	padding-top: 75px;
	padding-bottom: 90px;
}
.top-casestudy .top-title {
	text-align: center;
}
.top-casestudy .top-title:after {
	display: none;
}
.top-casestudy .content-area {
	min-width: 1040px;
	max-width: 1200px;
	width: 86.667%;
}
.top-casestudy .slider {
	position: relative;
}
.top-casestudy .slides {}

.top-casestudy .slide {
	overflow: hidden;
	display: -webkit-flex;
	display: flex;
	min-height: 731px;
}

.top-casestudy .slide .left {
	position: relative;
	width: 308px;
	background: rgb(15,74,139); /* Old browsers */
	background: -moz-linear-gradient(left, rgba(15,74,139,1) 0%, rgba(0,34,72,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(15,74,139,1) 0%,rgba(0,34,72,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom right, rgba(15,74,139,1) 0%, rgba(0,34,72,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d72817', endColorstr='#d77415',GradientType=1 ); /* IE6-9 */
}
.top-casestudy .slide .case-num {
	padding-top: 8px;
	padding-bottom: 20px;
	text-align: center;
}
.top-casestudy .slide .case-num .en {
	display: inline-block;
	border-bottom: solid 1px;
	color: #fff;
	font-size: 42px;
	font-style: italic;
	font-weight: normal;
	letter-spacing: 0.08em;
	vertical-align: middle;
	line-height: 120%;
}
.top-casestudy .slide .case-num .num {
	display: inline-block;
	color: #fff;
	font-size: 110px;
	font-style: italic;
	font-weight: normal;
	vertical-align: middle;
	line-height: 120%;
}
.top-casestudy .slide .photo {
	position: absolute;
	top: 180px;
	left: 66px;
}

.top-casestudy .slide .right {
	box-sizing: border-box;
	-webkit-flex: 1;
	flex: 1;
	min-height: 600px;
	padding: 65px 70px 120px 98px;
	background-color: #f3f5f7;
}
.top-casestudy .slide .title {
	display: inline-block;
	margin-bottom: 34px;
	border-bottom: solid 1px;
	color: #0d2352;
	font-size: 24px;
	font-weight: bold;
	line-height: 160%;
}
.top-casestudy .slide .subtitle {
	padding-bottom: 9px;
	color: #0d2352;
	font-size: 14px;
	font-weight: bold;
}
.top-casestudy .slide .right p {
	padding-bottom: 16px;
	font-size: 14px;
	line-height: 180%;
}
.top-casestudy .slide .right p:last-child {
	padding-bottom: 0;
}
.top-casestudy .slide .right ul {
	margin-bottom: 15px;
}
.top-casestudy .slide .right ul li {
	margin-left: 6px;
	margin-bottom: 4px;
	padding-left: 10px;
	text-indent: -10px;
}
.top-casestudy .slide .right ul li:before {
	content: "";
	display: inline-block;
	width: 4px;
	height: 4px;
	margin-right: 7px;
	background-color: #0d2352;
	vertical-align: middle;
}


.top-casestudy .slide-controls {
	box-sizing: border-box;
	position: absolute;
	right: 0;
	bottom: 0;
	padding: 15px 29px;
	background-color: #fff;
	font-size: 0;
	text-align: center;
}
.top-casestudy .slide-controls .control {
	display: inline-block;
}
.top-casestudy .slide-controls .control a {
	display: inline-block;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	width: 60px;
	height: 60px;
	vertical-align: middle;
	cursor: pointer;
}
.top-casestudy .slide-controls .prev a {
	margin-right: 18px;
	background: url(../images/slide_prev.png) no-repeat center center;
	background-size: 6px auto;
}
.top-casestudy .slide-controls .next a {
	margin-left: 18px;
	background: url(../images/slide_next.png) no-repeat center center;
	background-size: 6px auto;
}
.top-casestudy .slide-controls .pages {
	display: inline-block;
	vertical-align: middle;
}
.top-casestudy .slide-controls .pages span {
	display: inline-block;
	color: #0d2352;
	font-size: 21px;
	font-weight: bold;
	vertical-align: middle;
	letter-spacing: 0.12em;
	line-height: 100%;
}
.top-casestudy .slide-controls .pages .slash {
	padding: 0 14px;
	font-size: 13px;
	font-weight: bold;
	line-height: 120%;
	padding-top: 3px;
}

.top-casestudy .instagram {
	min-width: 1040px;
	margin-top: 90px;
	text-align: center;
	font-size: 0;
}
.instagram .title-area {
	box-sizing: border-box;
	display: inline-block;
	width: 308px;
	padding-left: 30px;
	text-align: left;
	vertical-align: middle;
}
.instagram .title-area .title {
	color: #0d2352;
	font-size: 28px;
	font-weight: bold;
	line-height: 160%;
	letter-spacing: 0.1em;
	vertical-align: middle;
}
.instagram .title-area .account {
	display: inline-block;
}
.instagram .title-area .account a {
	display: inline-block;
	color: #0d2352;
	font-size: 16px;
	font-weight: bold;
	line-height: 160%;
	letter-spacing: 0.1em;
	vertical-align: middle;
}
.instagram .title-area .account a:hover {
	text-decoration: underline;
}
.instagram .title-area .account:before {
	content: "";
	display: inline-block;
	width: 40px;
	height: 1px;
	margin-right: 16px;
	background-color: #0d2352;
	vertical-align: middle;
}
.instagram .posts {
	display: inline-block;
	overflow: hidden;
	width: 732px;
	font-size: 0;
	vertical-align: middle;
}
.instagram .posts .post {
	display: inline-block;
	width: 150px;
	padding: 0 10px;
}
.instagram .posts .post a {
	display: block;
	width: 100%;
	padding-bottom: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
.instagram .posts .post img {
	width: 100%;
	height: auto;
}

/* ----- top-consulting ----- */
.top-consulting {
	padding-top: 72px;
	padding-bottom: 80px;
	background: url(../images/top/bg_consulting.jpg) no-repeat center center;
	background-size: cover;
}
.top-consulting .content-area {
	width: 92%;
	padding-top: 60px;
	padding-bottom: 80px;
	background-color: #fff;
	text-align: center;
}

.top-consulting .top-title {
	margin-bottom: 9px;
	text-align: center;
}
.top-consulting .top-title:after {
	display: none;
}

.top-consulting .intro {
	display: inline-block;
	margin-bottom: 45px;
	border-bottom: solid 2px #bfb272;
	color: #0d2352;
	font-size: 30px;
	font-weight: bold;
	line-height: 160%;
}
.top-consulting .figure {
	margin-bottom: 60px;
}

.top-consulting .point-area {
	box-sizing: border-box;
	width: 860px;
	margin: 0 auto 45px;
	padding: 26px 20px 22px;
	border: solid 1px #d7d8da;
	text-align: center;
}
.top-consulting .point-area .title {
	display: inline-block;
	margin-bottom: 6px;
	padding-bottom: 8px;
	border-bottom: solid 1px;
	color: #0d2352;
	font-size: 16px;
	font-weight: 500;
	line-height: 160%;
	letter-spacing: 0.08em;
}
.top-consulting .point-area .left {
	display: inline-block;
	width: 8em;
	vertical-align: middle;
	text-align: left;
}
.top-consulting .point-area .label {
	color: #0d2352;
	font-size: 36px;
	vertical-align: middle;
}
.top-consulting .point-area .right {
	display: inline-block;
	vertical-align: middle;
}
.top-consulting .point-area .point-list {
	margin-top: 14px;
	text-align: left;
}
.top-consulting .point-area .point-list dt {
	display: inline-block;
	margin-bottom: 8px;
	color: #0d2352;
	font-size: 18px;
	line-height: 160%;
	letter-spacing: 0.08em;
}
.top-consulting .point-area .point-list dt strong {
	font-size: 26px;
	font-weight: normal;
	letter-spacing: 0.08em;
}
.top-consulting .point-area .point-list dd {
	display: inline-block;
	margin-right: 24px;
	margin-left: 3px;
	line-height: 160%;
	letter-spacing: 0.08em;
}
.top-consulting .point-area .point-list dd:last-child {
	margin-right: 0;
}

.top-consulting .outro {
	margin-bottom: 40px;
	font-size: 15px;
}

/* ----- top-company ----- */
.top-company {
	padding: 80px 0 80px;
	background-color: #f3f5f7;
}
.top-company .content-area {
	overflow: hidden;
	width: 92%;
	max-width: 1200px;
	padding-top: 54px;
	padding-bottom: 54px;
	background-color: #fff;
}
.top-company .top-title {
	text-align: center;
	margin-bottom: 50px;
}
.top-company .top-title:after {
	margin: 0 auto;
}
.top-company .top-title .ja {
	padding-bottom: 12px;
	font-size: 22px;
}
.top-company .top-title .en {
	padding-bottom: 8px;
}
.top-company .left {
	box-sizing: border-box;
	float: left;
	width: 50%;
	padding-right: 50px;
	border-right: solid 1px #d2d2d2;
}
.top-company .right {
	box-sizing: border-box;
	float: right;
	width: 50%;
	padding-left: 50px;
}
.top-company .borderless-table {
}
.top-company .borderless-table th {
	width: 7em;
	padding: 10px 0 10px;
}
.top-company .borderless-table td {
	padding: 10px 0 10px;
}

/* ----- top-access ----- */
.top-access {
	overflow: hidden;
	height: 600px;
}
.top-access .left {
	float: left;
	width: 50%;
}
.top-access .left .gmap {
	width: 100%;
	height: 600px;
}
.top-access .right {
	float: right;
	width: 50%;
}
.top-access .right .text {
	margin: 188px 0 0 135px;
}
.top-access .right .text address,
.top-access .right .text p {
	line-height: 220%;
	letter-spacing: 0.08em;
}
.top-access .top-title .ja {
	padding-bottom: 12px;
	font-size: 22px;
}
.top-access .top-title .en {
	padding-bottom: 8px;
}
.top-access .parking {
	padding-top: 10px;
}


/* ----- top-contact ----- */
.top-contact {
	padding: 100px 0 100px;
	background: rgb(15,74,139); /* Old browsers */
	background: -moz-linear-gradient(left, rgba(15,74,139,1) 0%, rgba(0,34,72,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(15,74,139,1) 0%,rgba(0,34,72,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom right, rgba(15,74,139,1) 0%, rgba(0,34,72,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d72817', endColorstr='#d77415',GradientType=1 ); /* IE6-9 */
	text-align: center;
}
.top-contact .content-area {
	background-color: #fff;
	width: 80%;
	padding-top: 65px;
	padding-bottom: 80px;
	text-align: center;
}
.top-contact .top-title {
	margin-bottom: 40px;
	text-align: center;
}
.top-contact .top-title:after {
	margin: auto;
}
.top-contact .tel {}
.top-contact .tel .en {
	padding-right: 5px;
	color: #0d2352;
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 120%;
}
.top-contact .tel .num {
	color: #0d2352;
	font-size: 32px;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 120%;
	cursor: initial;
}
.top-contact .hours {
	font-size: 15px;
}
.top-contact .button {
	margin-top: 40px;
}

/* ---------- news ------------------------------------ */
.news-block {
	overflow: hidden;
	margin-top: 60px;
	margin-bottom: 50px;
}
.news-block .entries {
	float: left;
	overflow: hidden;
	width: 640px;
	margin: 0 0 20px;
}
.news-block .entry {
	margin-bottom: 65px;
}
.news-block .entry .date {
	display: inline-block;
	color: #b1b1b1;
	font-size: 18px;
	font-weight: bold;
	line-height: 140%;
	letter-spacing: 0.16em;
	vertical-align: middle;
}
.news-block .entry .category {
	display: inline-block;
	box-sizing: border-box;
	min-width: 80px;
	margin-left: 20px;
	margin-top: -2px;
	padding: 0 9px;
	background-color: #001c58;
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	line-height: 22px;
	letter-spacing: 0.08em;
	text-align: center;
	vertical-align: middle;
}
.news-block .entry .title {
	position: relative;
	margin-bottom: 20px;
	padding-top: 12px;
	padding-bottom: 10px;
	border-bottom: solid 1px #c9c9c9;
	font-size: 20px;
	line-height: 140%;
}

.news-block .entry .postbody {
	clear: both;
	overflow: hidden;
}

/* news-sidebar */
.news-sidebar {
	float: right;
	width: 255px;
	padding-bottom: 100px;
}
.news-sidebar .category {
	margin-bottom: 70px;
}
.news-sidebar .title {
	margin-bottom: 18px;
	color: #0d2352;
	font-size: 21px;
}
.news-sidebar ul {
	border-top: solid 1px #001c58;
}
.news-sidebar ul li {
	border-bottom: solid 1px #c9c9c9;
}
.news-sidebar ul li a {
	display: block;
	padding: 19px 6px 19px 0;
	background: url(../images/arrow_right.png) no-repeat center right;
	background-size: 8px auto;
	color: #0d2352;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.08em;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
.news-sidebar ul li a:hover {
	opacity: 0.6;
}


/* ---------- wordpress ------------------------------------ */
/* wp-pagenavi */
.pagenavi {
	margin-top: 100px;
}
.wp-pagenavi {
	clear: both;
	position: relative;
	margin: 0 auto;
	text-align: center;
	font-size: 0;
}
.wp-pagenavi a,
.wp-pagenavi span {
	overflow: hidden;
	box-sizing: border-box;
	display: inline-block;
	width: 50px;
	height: 50px;
	margin-left: 7px;
	background-color: #fff;
	border: solid 1px #c9c9c9;

	color: #001c58;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 48px;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
.wp-pagenavi span.current,
.wp-pagenavi a:hover {
	color: #fff;
	background-color: #001c58;
	border: solid 1px #001c58;
}
.wp-pagenavi a.first,
.wp-pagenavi a.last {
	width: auto;
	padding: 0 18px;
}
.wp-pagenavi span.pages {
	width: auto;
	padding: 0 12px;
}
.wp-pagenavi span.extend {
	background-color: inherit;
}


/* postbody */
.postbody {
	overflow: hidden;
	font-size: 14px;
	line-height: 200%;
}
.postbody h1,
.postbody h2 {
	font-size: 18px;
	font-weight: bold;
	padding: 1.2em 0;
	letter-spacing: 0.08em;
}
.postbody h3,
.postbody h4 {
	font-size: 15px;
	font-weight: bold;
	padding: 0.8em 0;
	letter-spacing: 0.08em;
}
.postbody p {
	margin-bottom: 1.4em;
	font-size: 15px;
	line-height: 180%;
	letter-spacing: 0.08em;
}
.postbody a {
	color: #00859d;
	text-decoration: underline;
}
.postbody a:hover {
	text-decoration: underline;
}

.postbody img {
	display: block;
	margin-top: 1em;
	margin-bottom: 2em;
}
.postbody img:first-child {
	margin-top: 0;
}

.postbody ul {
	margin-bottom: 1.5em;
}
.postbody ul > li {
	padding-bottom: 0.5em;
	list-style-position: inside;
	list-style-type: disc;
	font-size: 14px;
	line-height: 200%;
	letter-spacing: 0.08em;
}

.postbody ol {
	margin-bottom: 1.5em;
}
.postbody ol > li {
	padding-bottom: 0.5em;
	list-style-position: inside;
	list-style-type: decimal;
	font-size: 14px;
	line-height: 200%;
	letter-spacing: 0.08em;
}

.postbody table {
	width: 100%;
	margin-bottom: 2em;
}
.postbody table th,
.postbody table td {
	border-top: solid 1px #c9c9c9;
	border-bottom: solid 1px #c9c9c9;
	padding: 14px 14px 14px 14px;
	font-size: 14px;
	line-height: 160%;
	text-align: left;
}
.postbody table th {
	border-right: solid 1px #c9c9c9;
	padding: 14px 14px 14px 6px;
}
.postbody table thead,
.postbody table th {

}
.postbody table tbody th {
	font-weight: bold;
}


.postbody p:last-child,
.postbody img:last-child,
.postbody ul:last-child,
.postbody ol:last-child,
.postbody table:last-child {
	margin-bottom: 0;
}

.postbody .alignleft {
	float: left;
	margin-right: 1em;
}
.postbody .alignright {
	float: right;
	margin-left: 1em;
}
.postbody .aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.postbody .wp-caption {
	margin-top: 1.2em;
	margin-bottom: 1.2em;
}
.postbody .wp-caption > img {
	margin: 0;
}
.postbody .wp-caption .wp-caption-text {
	font-size: 12px;
	margin: 0;
}

/* contact form 7 */
.form-table .wpcf7-list-item {
	margin: 0;
}
.form-table .wpcf7-list-item label {
	display: inline-block;
	margin-left: 7px;
	margin-right: 20px;
	padding: 7px 0 7px;
	font-size: 15px;
}

.wpcf7 span.wpcf7-not-valid-tip {
	color: #d91f52;
	display: block;
	font-size: 13px;
	font-weight: bold;
	padding: 2px 0 0px;
}
.wpcf7 div.wpcf7-response-output {
	margin: 1.5em 0.5em;
	padding: 14px 11px;
	font-size: 14px;
	font-weight: bold;
	line-height: 140%;
}
.wpcf7 div.wpcf7-response-output.wpcf7-validation-errors,
.wpcf7 div.wpcf7-response-output.wpcf7-acceptance-missing {
	color: #d91f52;
	border: 2px solid;
}
.wpcf7 div.wpcf7-response-output.wpcf7-mail-sent-ng {
	color: #d91f52;
	border: 2px solid;
}
.wpcf7 div.wpcf7-response-output.wpcf7-mail-sent-ok {
	color: #0d2352;
	border: 2px solid;
}
.wpcf7 .wpcf7-form .ajax-loader {
	visibility: hidden;
	display: block;
	border: medium none;
	margin: 6px auto 0;
}


/* ---------- contact ------------------------------------ */
.cont .contents {
	background-color: #f3f5f7;
}
.contact-intro {
	margin-top: 75px;
	margin-bottom: 80px;
	text-align: center;
}
.contact-intro .top-title {
	text-align: center;
	margin-bottom: 35px;
}
.contact-intro .top-title:after {
	margin: auto;
}
.contact-intro .intro {
	margin-bottom: 38px;
	font-size: 15px;
}

.tel-block {
	display: inline-block;
	padding: 45px 70px;
	background-color: #fff;
	text-align: center;
}
.tel-block .left {
	display: inline-block;
	margin-right: 45px;
	vertical-align: middle;
}
.tel-block .left p {
	color: #0d2352;
	font-size: 16px;
	text-align: left;
	line-height: 170%;
	vertical-align: middle;
}

.tel-block .right {
	display: inline-block;
	text-align: left;
	vertical-align: middle;
}
.tel-block .right .tel {
	padding-top: 8px;
}
.tel-block .right .tel small {
	padding-right: 7px;
	color: #0d2352;
	font-size: 24px;
	font-weight: bold;
	line-height: 120%;
	letter-spacing: 0.1em;
}
.tel-block .right .tel a {
	color: #0d2352;
	font-size: 38px;
	font-weight: bold;
	line-height: 120%;
	letter-spacing: 0.1em;
	cursor: initial;
}


.contact-form {
	width: 840px;
	margin: auto;
	padding-bottom: 100px;
}
.contact-form .title {
	margin-bottom: 10px;
	color: #0d2352;
	font-size: 24px;
	font-weight: bold;
	line-height: 160%;
}
.contact-form .notice {
	margin-bottom: 24px;
	font-size: 14px;
}
.contact-form .required {
	padding: 0 2px;
	color: #c80909;
	font-size: 16px;
}

.contact-form form {
	padding-top: 20px;
	border-top: solid 1px #c9c9c9;
}

/* form-table */
.form-table {
	width: 100%;
	margin-bottom: 60px;
}
.form-table th {
	box-sizing: border-box;
	width: 260px;
	padding: 22px 24px 22px 0;
	font-size: 15px;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}
.form-table th.multi-line {
	padding-top: 8px;
}
.form-table td {
	padding: 10px 0;
}

.form-table input[type="text"],
.form-table input[type="email"],
.form-table input[type="tel"],
.form-table input[type="password"],
.form-table textarea {
	padding: 15px 12px;
	background-color: #fff;
	border: 1px solid #c9c9c9;
	font-size: 14px;
	line-height: 135%;
}
.form-table input[type="text"],
.form-table input[type="email"] {
	width: 460px;
	box-sizing: border-box;
}
.form-table input[type="tel"] {
	width: 460px;
	box-sizing: border-box;
}
.form-table input.wide {
	width: 670px;
}
.form-table textarea {
	width: 670px;
	height: 200px;
	box-sizing: border-box;
}

.form-table .radio-label {
	display: inline-block;
	margin-right: 30px;
	padding: 6px 6px 6px 0;
	vertical-align: middle;
	font-size: 15px;
}
.form-table .radio-label input[type="radio"] {
	margin-right: 5px;
	vertical-align: middle;
}
.form-table .checkbox-label {
	display: inline-block;
	margin-top: 6px;
	margin-left: 2px;
	padding: 6px 6px 6px 0;
	vertical-align: middle;
	font-size: 15px;
}
.form-table .checkbox-label input[type="checkbox"] {
	margin-right: 6px;
	vertical-align: middle;
}

.form-table .example {
	display: inline-block;
	padding-left: 14px;
	color: #797979;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.08em;
}
.form-table .example a {
	color: #797979;
	pointer-events: none;
}

.form-privacy {
	border: solid 1px #c9c9c9;
	height: 250px;
	overflow: auto;
	margin-bottom: 15px;
	text-align: left;
	background-color: #fff;
}
.form-privacy .inner {
	padding: 25px 35px 5px;
}
.form-privacy section {
	margin-bottom: 22px;
}
.form-privacy section .privacy-title {
	margin-bottom: 8px;
	padding-bottom: 2px;
	border-bottom: solid 1px #c9c9c9;
	font-size: 14px;
	font-weight: bold;
	line-height: 160%;
}
.form-privacy section p {
	font-size: 13px;
	margin-bottom: 5px;
	line-height: 160%;
}

.form-notice {
	margin-top: 55px;
	font-size: 14px;
	line-height: 180%;
	text-align: center;
}
.form-notice a {
	text-decoration: underline;
}

.form-submit {
	text-align: center;
}
.form-submit input,
.form-submit button {
	box-sizing: border-box;
	min-width: 340px;
	margin: auto;
	padding: 32px 80px;
	background: -moz-linear-gradient(left, rgba(15,74,139,1) 0%, rgba(0,34,72,1) 50%, rgba(15,74,139,1)); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(15,74,139,1) 0%,rgba(0,34,72,1) 50%, rgba(15,74,139,1)); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(15,74,139,1) 0%, rgba(0,34,72,1) 50%, rgba(15,74,139,1)); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d72817', endColorstr='#d77415',GradientType=1 ); /* IE6-9 */

	background-position: left center;
	background-size: 200% 100%;
	-webkit-transition: background-position .6s ease;
	transition: background-position .6s ease;

	color: #fff;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.08em;
	text-align: center;
}
.form-submit input:hover,
.form-submit button:hover {
	background-position: right center;
}


/* ---------- thanks ------------------------------------ */
.thanks-block {
	margin-bottom: 80px;
	text-align: center;
}
.thanks-title {
	display: inline-block;
	margin-bottom: 30px;
	padding: 28px 55px;
	border: solid 1px #00859d;
	font-size: 15px;
	font-weight: bold;
}



@media (max-width: 768px) {

	/* ---------- common ---------------------------------------- */
	.contents {}
	.content-area {}
	.box {
		width: auto;
	}


	/* -------- title -------- */
	/* top-title */
	.contents .top-title {
		margin-bottom: 5.066vw;
	}

	.contents .top-title .en {
		padding-bottom: 0.8vw;
		font-size: 2.933vw;
	}
	.contents .top-title .ja {
		padding-bottom: 4vw;
		font-size: 4.8vw;
	}
	.contents .top-title:after {
		width: 8vw;
	}


	/* -------- button -------- */
	.button {
		text-align: center;
		display: inline-block;
	}
	.button a {
		width: 72vw;
		padding: 4.266vw 2.666vw 4.266vw;
		font-size: 3.466vw;
	}
	.button a span {
		padding-right: 4vw;
		background: url(../images/arrow_right_w.png) no-repeat center right;
		background-size: 1.866vw auto;
	}

	/* -------- table -------- */
	/* table */
	.table {
		margin-bottom: 3.2vw;
	}
	.table th,
	.table td {
		font-size: 3.2vw;
		padding: 2.933vw 2.933vw;
	}

	/* animation */
	.show.show-animation {
		transform: translateY(0);
	}
	.show-animation {
		transition: transform 0.5s ease-out, opacity 0.3s ease-out;
		transform: translateY(8vw);
	}

	/* ----- page-visual ----- */
	.page-visual {
		height: 32vw;
		margin-top: 13.333vw;
		background: url(../images/bg_page.jpg) no-repeat center center;
		background-size: cover;
	}
	.page-visual .title {
		padding-top: 12.8vw;
		font-size: 5.6vw;
	}

	/* ---------- top ------------------------------------ */
	/* ----- top-visual ----- */
	.top-visual {
		position: relative;
		overflow: hidden;
		padding-top: 13.333vw;
	}
	.top-visual .background {
		position: absolute;
		top: 0;
		left: 0;
		bottom: 17.333vw;
		right: 0;
	}
	.top-visual .slider {
		float: right;
		position: relative;
		width: 82.666%;
		height: 0;
		padding-bottom: 82.666%;
		z-index: 500;

		transition: background-color .1s ease 1s;
	}
	.top-visual .slider.show {
		background-color: #fff;
	}
	.top-visual .slider li {
		padding-bottom: 100%;
		background-repeat: no-repeat;
		background-position: left center;
		background-size: auto 100%;

		width: 0 !important;
		transition: width 1s ease-out;
	}
	.top-visual .show.slider li {
		width: 100% !important;
	}

	/* bx-slider */
	.top-visual .slider .bx-viewport,
	.top-visual .slider .bx-wrapper {
		position:relative;
		width: 100%;
		top: 0;
		left: 0;
	}

	/* controls */
	.top-visual .slider .bx-controls {
		display: none;
	}

	/* loader */
	.top-visual .slider .bx-wrapper .bx-loading {
		display: none;
	}

	/* catchcopy */
	.top-visual .catchcopy {
		opacity: 0;
		position: absolute;
		top: 52.5%;
		left: 4%;
		width: 92%;
		margin-top: -12vw;
		z-index: 500;
		transition: opacity .3s ease-out 1.1s ;
	}
	.top-visual .catchcopy.show {
		opacity: 1;
	}
	.top-visual .catchcopy .ja {
		margin-bottom: 3.733vw;
		font-size: 5.333vw;
		line-height: 165%;
	}
	.top-visual .catchcopy .en {
		padding-left: 1px;
		font-size: 4.266vw;
	}

	/* ----- top-gnav ----- */
	.top-gnav {
		display: none;
	}
	.fixed .top-news {
		padding-top: 0;
	}


	/* ----- top-news ----- */
	.top-news {
		margin-top: 10.666vw;
	}
	.top-news .content-area {
		width: 80.8%;
		padding: 7.466vw 0 10.133vw;
	}
	.top-news .title-area {
		float: none;
		width: 16%;
	}
	.top-news .title-area .title {
		padding-top: 0;
		font-size: 4.8vw;
	}

	.top-news .entry-area {
		width: 100%;
		margin-left: 0;
	}
	.top-news .entry-area dl {
		max-width: auto;
	}
	.top-news .entry-area dl dt {
		padding: 4.266vw 0 4.266vw 0;
		font-size: 3.466vw;
		line-height: 155%;
	}
	.top-news .entry-area dl dd {
		padding-left: 6.4em;
		font-size: 3.2vw;
		line-height: 180%;
	}
	.top-news .entry-area dl dd a {
		padding: 4.266vw 0 4.266vw;
	}
	.top-news .entry-area .category {
		min-width: 16vw;
		margin-right: 3.2vw;
		padding: 0.8vw 0;
		font-size: 2.666vw;
	}

	/* ----- top-mission ----- */
	.top-mission {}
	.top-mission .content-area {
		margin: 9.333vw 6.8% 12vw;
	}
	.top-mission p {
		font-size: 3.466vw;
		line-height: 200%;
	}

	/* ----- top-strength ----- */
	.top-strength {}
	.top-strength .strength {
		position: relative;
		box-sizing: border-box;
		min-width: inherit;
		max-width: inherit;
		width: 93.333%;
		margin: 4.8vw auto 4.8vw;
		padding: 0;
		background-color: transparent;
		z-index: 100;
	}
	.strength .top-title .en {
		padding-bottom: 1.6vw;
	}

	.strength .box {
		padding: 7.466vw 6.4% 7.466vw;
		background-color: rgba(255,255,255,0.9);
	}

	.strength .left {
		float: none;
		width: auto;
		margin-bottom: 8vw;
	}
	.strength .left .intro {
		margin-bottom: 4vw;
		font-size: 3.466vw;
		line-height: 160%;
	}
	.strength .support-list {}
	.strength .support-list .title {
		margin-bottom: 2.133vw;
		padding: 1px 0 1px;
	}
	.strength .support-list .title span {
		font-size: 3.466vw;
	}
	.strength .support-list .title:before {
		width: 3.2vw;
		height: 3.2vw;
		margin-right: 1.333vw;
	}
	.strength .support-list li {
		margin-bottom: 0.8vw;
		font-size: 3.2vw;
	}
	.strength .support-list li:before {
		width: 0.8vw;
		height: 0.8vw;
		margin-right: 1.333vw;
	}
	.strength .right {
		float: none;
		width: auto;
		margin-bottom: 0;
	}
	.strength .figure {
		margin: 0 -2%;
	}
	.strength .figure .caption {
		padding-top: 4vw;
		font-size: 3.2vw;
	}
	.strength .figure img {
		width: 100%;
		height: auto;
	}

	.strength .support-blocks {
		margin-top: 4.8vw;
		padding: 7.466vw 0 0;
		background-color: #fff;
	}
	.strength .support-blocks .block {
		box-sizing: border-box;
		float: none;
		width: auto;
		min-height: auto;
		margin-bottom: 5.6vw;
		padding: 0 6.4%;
		border-right: none;
	}
	.strength .support-blocks .block:last-child {
		border-right: none;
	}
	.strength .support-blocks .title {
		padding-bottom: 1.6vw;
		font-size: 3.466vw;
	}
	.strength .support-blocks .title:after {
		width: 8vw;
		margin-top: 2.133vw;
	}
	.strength .support-blocks p {
		font-size: 3.2vw;
		line-height: 170%;
	}

	.top-strength .investment {
		min-width: inherit;
		max-width: inherit;
		width: 100%;
		margin: 0 0 0 auto;
		padding: 6.933vw 0 8vw;
	}
	.investment .box {
		padding: 0 6.4%;
	}

	.investment p {
		color: #fff;
	}
	.investment .figure {
		height: 0;
		padding-bottom: 65%;
		margin: 5.333vw -3.2% 0;
		background: url(../images/top/fig_lifestage_sp.png) no-repeat top left;
		background-size: 100% auto;
	}
	.investment .figure img {
		display: none;
	}

	.top-strength .white-background {
		position: absolute;
		bottom: inherit;
		height: 61.866vw;
		margin-top: -61.866vw;
	}

	/* ----- top-casestudy ----- */
	.top-casestudy {
		padding-top: 12vw;
		padding-bottom: 13.333vw;
	}
	.top-casestudy .top-title {
		margin-bottom: 5.6vw;
	}
	.top-casestudy .top-title .ja {
		padding-bottom: 0;
	}

	.top-casestudy .content-area {
		min-width: inherit;
		max-width: inherit;
		width: 92%;
	}
	.top-casestudy .slider {
		background-color: #f3f5f7;
	}
	.top-casestudy .slide {
		overflow: hidden;
		display: block;
	}

	.top-casestudy .slide .left {
		width: 100%;
	}
	.top-casestudy .slide .case-num {
		padding-top: 9.066vw;
		padding-bottom: 10.666vw;
		padding-left: 12.8vw;
		text-align: left;
	}
	.top-casestudy .slide .case-num .en {
		border-bottom: solid 1px;
		font-size: 5.866vw;
	}
	.top-casestudy .slide .case-num .num {
		font-size: 14.666vw;
	}
	.top-casestudy .slide .photo {
		position: absolute;
		top: 5.866vw;
		left: inherit;
		right: 8vw;
		width: 34.666vw;
		height: 34.666vw;
	}
	.top-casestudy .slide .photo img {
		width: 100%;
		height: auto;
	}

	.top-casestudy .slide .right {
		width: 100%;
		min-height: inherit;
		padding: 10.133vw 6.4% 12.8vw;
		text-align: left;
	}
	.top-casestudy .slide .title {
		display: inline;
		margin-bottom: 0;
		border-bottom: solid 1px;
		font-size: 4.266vw;
	}
	.top-casestudy .slide .content {
		margin-top: 4vw;
		text-align: left;
	}
	.top-casestudy .slide .subtitle {
		padding-bottom: 2.4vw;
		font-size: 3.466vw;
	}
	.top-casestudy .slide .right p {
		padding-bottom: 3.2vw;
		font-size: 3.2vw;
	}
	.top-casestudy .slide .right ul {
		margin-bottom: 3.2vw;
	}
	.top-casestudy .slide .right ul li {
		margin-left: 1.2vw;
		margin-bottom: 0.8vw;
		padding-left: 2vw;
		text-indent: -2vw;
		font-size: 3.2vw;
	}
	.top-casestudy .slide .right ul li:before {
		width: 0.8vw;
		height: 0.8vw;
		margin-right: 1.2vw;
	}


	.top-casestudy .slide-controls {
		position: absolute;
		right: 0;
		bottom: -7.2vw;
		left: 0;
		width: 56%;
		margin: auto;
		padding: 3.2vw 0;
	}
	.top-casestudy .slide-controls .control {
		display: inline-block;
	}
	.top-casestudy .slide-controls .control a {
		width: 10.666vw;
		height: 10.666vw;
	}
	.top-casestudy .slide-controls .prev a {
		margin-right: 2.666vw;
		background: url(../images/slide_prev.png) no-repeat center center;
		background-size: 1.333vw auto;
	}
	.top-casestudy .slide-controls .next a {
		margin-left: 2.666vw;
		background: url(../images/slide_next.png) no-repeat center center;
		background-size: 1.333vw auto;
	}
	.top-casestudy .slide-controls .pages {
		display: inline-block;
		vertical-align: middle;
	}
	.top-casestudy .slide-controls .pages span {
		font-size: 4.533vw;
		letter-spacing: 0.12em;
	}
	.top-casestudy .slide-controls .pages .slash {
		padding: 0 2.666vw;
		font-size: 2.666vw;
		padding-top: 1px;
	}

	.top-casestudy .instagram {
		min-width: inherit;
		margin-top: inherit;
		padding-top: 7.2vw;
		margin-top: 7.2vw;
	}
	.instagram .title-area {
		display: block;
		width: auto;
		padding-left: 0;
		text-align: center;
	}
	.instagram .title-area .title {
		font-size: 4.8vw;
	}
	.instagram .title-area .account {
		padding-bottom: 5.6vw;
	}
	.instagram .title-area .account a {
		font-size: 2.933vw;
	}
	.instagram .title-area .account:before {
		width: 5.333vw;
		margin-right: 2.133vw;
	}
	.instagram .posts {
		display: block;
		width: auto;
		margin: 0 6.4%;
	}
	.instagram .posts .post {
		box-sizing: border-box;
		display: inline-block;
		width: 50%;
		height: auto;
		padding: 1%;
	}
	.instagram .posts .post img {
		width: 100%;
		height: auto;
	}

	/* ----- top-consulting ----- */
	.top-consulting {
		padding-top: 4.8vw;
		padding-bottom: 4.8vw;
	}
	.top-consulting .content-area {
		width: 92%;
		padding-top: 9.333vw;
		padding-bottom: 10.666vw;
	}

	.top-consulting .top-title {
		margin-bottom: 3.2vw;
	}
	.top-consulting .top-title .ja {
		padding-bottom: 0;
	}
	.top-consulting .intro {
		margin-bottom: 5.6vw;
		padding-bottom: 2px;
		border-bottom: solid 1px #bfb272;
		font-size: 3.733vw;
		line-height: 160%;
	}
	.top-consulting .figure {
		width: auto;
		height: 0;
		margin: 0 3.2% 5.6vw;
		padding-bottom: 96%;
		background: #fff url(../images/top/fig_consulting_sp.gif) no-repeat top left;
		background-size: 100% auto;
	}
	.top-consulting .figure img {
		display: none;
	}

	.top-consulting .point-area {
		width: auto;
		margin: 0 5.2% 4.8vw;
		padding: 3.2vw 4.4% 3.2vw;
	}
	.top-consulting .point-area .title {
		display: inline-block;
		margin-bottom: 1.066vw;
		padding-bottom: 1.066vw;
		font-size: 3.2vw;
		text-align: left;
		line-height: 160%;
	}
	.top-consulting .point-area .left {
		display: block;
		width: auto;
		text-align: center;
	}
	.top-consulting .point-area .label {;
		font-size: 4.533vw;
	}
	.top-consulting .point-area .right {
		display: inline-block;
		margin: 0 1%;
		vertical-align: middle;
	}
	.top-consulting .point-area .point-list {
		margin-top: 1px;
		text-align: left;
		font-size: 0;
	}
	.top-consulting .point-area .point-list dt {
		margin-bottom: 1.6vw;
		font-size: 2.933vw;
	}
	.top-consulting .point-area .point-list dt strong {
		font-size: 4.266vw;
	}
	.top-consulting .point-area .point-list dd {
		margin-right: 3.733vw;
		margin-left: 1px;
		font-size: 2.666vw;
	}
	.top-consulting .point-area .point-list dd:nth-child(4n) {
		margin-right: 0;
	}

	.top-consulting .outro {
		margin: 0 4.4% 5.6vw;
		font-size: 3.2vw;
		text-align: left;
	}
	.top-consulting .outro br {
		display: none;
	}

	/* ----- top-company ----- */
	.top-company {
		padding: 4.8vw 0 4.8vw;
	}
	.top-company .content-area {
		box-sizing: border-box;
		width: 92%;
		max-width: inherit;
		margin: auto;
		padding: 9.6vw 4.4% 7.2vw;
	}
	.top-company .top-title {
		text-align: center;
		margin-bottom: 5.6vw;
	}
	.top-company .left {
		float: none;
		width: auto;
		padding-right: 0;
		border-right: none;
	}
	.top-company .right {
		float: none;
		width: auto;
		padding-left: 0;
	}
	.top-company .borderless-table {}
	.top-company .borderless-table th {
		width: 7em;
		padding: 2.133vw 0 2.133vw;
		font-size: 3.2vw;
	}
	.top-company .borderless-table td {
		padding: 2.133vw 0 2.133vw;
		font-size: 3.2vw;
	}

	/* ----- top-access ----- */
	.top-access {
		overflow: hidden;
		height: auto;
	}
	.top-access .left {
		float: none;
		width: 100%;
	}
	.top-access .left .gmap {
		width: 100%;
		height: 60vw;
	}
	.top-access .right {
		float: none;
		width: 100%;
	}
	.top-access .right .text {
		margin: 9.6vw 8.4% 5.6vw;
	}
	.top-access .right .text address,
	.top-access .right .text p {
		line-height: 200%;
	}
	.top-access .parking {
		padding-top: 0;
	}


	/* ----- top-contact ----- */
	.top-contact {
		padding: 4.8vw 0 4.8vw;
	}
	.top-contact .content-area {
		width: 92%;
		padding-top: 9.333vw;
		padding-bottom: 9.333vw;
	}
	.top-contact .top-title {
		margin-bottom: 5.6vw;
	}
	.top-contact .top-title .ja {
		font-size: 4.533vw;
	}
	.top-contact .tel {}
	.top-contact .tel .en {
		padding-right: 0.533vw;
		font-size: 4vw;
	}
	.top-contact .tel .num {
		font-size: 5.866vw;
	}
	.top-contact .hours {
		font-size: 3.2vw;
	}
	.top-contact .button {
		margin-top: 7.466vw;
	}

	/* ---------- news ------------------------------------ */
	.news-block {
		margin: 12vw 4% 6.4vw;
	}
	.news-block .entries {
		float: none;
		overflow: hidden;
		width: auto;
		margin: 0 0 13.333vw;
	}
	.news-block .entry {
		margin-bottom: 11.2vw;
	}
	.news-block .entry .date {
		font-size: 4.266vw;
	}
	.news-block .entry .category {
		min-width: 16.8vw;
		margin-left: 4vw;
		margin-top: 0;
		padding: 0 1.066vw;
		font-size: 2.933vw;
		line-height: 5.333vw;
	}
	.news-block .entry .title {
		margin-bottom: 2.666vw;
		padding-top: 2.666vw;
		padding-bottom: 2.666vw;
		font-size: 4.266vw;
	}


	/* news-sidebar */
	.news-sidebar {
		float: none;
		width: auto;
		padding-bottom: 0;
	}
	.news-sidebar .category {
		margin-bottom: 10.666vw;
	}
	.news-sidebar .title {
		margin-bottom: 4vw;
		font-size: 5.066vw;
	}
	.news-sidebar ul li a {
		padding: 4vw 0 4vw;
		background: url(../images/arrow_right.png) no-repeat center right;
		background-size: 1.866vw auto;
		font-size: 3.733vw;
	}


	/* ---------- contact ------------------------------------ */
	.contact-intro {
		margin: 9.6vw 4% 8vw;
	}
	.contact-intro .top-title {
		margin-bottom: 4vw;
	}
	.contact-intro .intro {
		margin-bottom: 5.6vw;
		font-size: 3.466vw;
		text-align: left;
		line-height: 180%;
	}

	.tel-block {
		padding: 7.2vw 0 5.6vw;
	}
	.tel-block .left {
		margin-right: 0;
	}
	.tel-block .left p {
		font-size: 3.733vw;
		font-weight: bold;
		text-align: center;
	}

	.tel-block .right {
		display: inline-block;
		text-align: center;
		vertical-align: middle;
	}
	.tel-block .right .tel {
		padding-top: 3.2vw;
	}
	.tel-block .right .tel small {
		padding-right: 1.6vw;
		font-size: 5.6vw;
	}
	.tel-block .right .tel a {
		font-size: 8vw;
	}


	.contact-form {
		width: auto;
		margin: auto 4%;
		padding-bottom: 16vw;
	}
	.contact-form .title {
		margin-bottom: 1.6vw;
		font-size: 4.8vw;
	}
	.contact-form .notice {
		margin-bottom: 4vw;
		font-size: 3.2vw;
	}
	.contact-form .required {
		font-size: 4vw;
	}
	.contact-form form {
		padding-top: 4.8vw;
	}


	/* form-table */
	.form-table {
		margin-bottom: 6.666vw;
		border-bottom: solid 1px #d3d3d3;
	}
	.form-table th,
	.form-table td {
		box-sizing: border-box;
		display: block;
		border-bottom: none;
		width: 100%;
		font-size: 3.466vw;
	}
	.form-table th {
		font-weight: bold;
		padding: 2.133vw 0 0.8vw;
	}
	.form-table td {
		padding: 0.8vw 0 2.133vw;
	}

	.form-table input[type="text"],
	.form-table input[type="email"],
	.form-table input[type="tel"],
	.form-table input[type="password"],
	.form-table textarea {
		width: 100%;
		padding: 1.6vw 1.066vw;
	}
	.form-table textarea {
		height: 21.333vw;
	}
	.form-table br {
		display: none;
	}
	.form-table .radio-label {
		display: block;
		margin-right: 8vw;
		padding: 1.6vw 1.6vw 1.6vw 0;
		font-size: 3.2vw;
	}
	.form-table .radio-label input[type="radio"] {
		margin-right: 1.066vw;
	}
	.form-table .checkbox-label {
		display: block;
		margin-top: 0.533vw;
		margin-left: 0.533vw;
		padding: 1.6vw 1.6vw 1.6vw 0;
		font-size: 3.2vw;
	}
	.form-table .checkbox-label input[type="checkbox"] {
		margin-right: 1.066vw;
	}
	.form-table .example {
		display: block;
		padding-top: 0.533vw;
		padding-left: 0;
		font-size: 3.466vw;
	}

	.form-privacy {
		height: 53.333vw;
		margin-bottom: 1.333vw;
	}
	.form-privacy .inner {
		padding: 4vw 4% 1.333vw;
	}
	.form-privacy section {
		margin-bottom: 5.866vw;
	}
	.form-privacy section .privacy-title {
		margin-bottom: 1.6vw;
		padding-bottom: 0.533vw;
		font-size: 3.466vw;
	}
	.form-privacy section p {
		font-size: 3.2vw;
		margin-bottom: 1.333vw;
	}

	.form-notice {
		margin-top: 14.666vw;
		font-size: 3.733vw;
	}

	.form-submit {
		margin-top: 8vw;
	}
	.form-submit input,
	.form-submit button {
		min-width: inherit;
		width: 100%;
		max-width: 64vw;
		margin: auto;
		padding: 6.4vw 5.333vw;
		font-size: 3.733vw;
	}

	/* ---------- thanks ------------------------------------ */
	.thanks-block {
		padding-top: 9.333vw;
		margin: 0 4% 13.333vw;
	}
	.thanks-title {
		margin-bottom: 5.866vw;
		padding: 4.8vw 4vw;
		font-size: 3.733vw;
		line-height: 140%;
	}
	.thanks-message {
		text-align: left;
	}


	/* ---------- wordpress ------------------------------------ */
	/* wp-pagenavi */
	.pagenavi {
		margin-top: 13.333vw;
	}
	/* wp-pagenavi */
	.wp-pagenavi {
		margin-top: 8vw;
		padding-bottom: 1.066vw;
	}
	.wp-pagenavi a,
	.wp-pagenavi span {
		width: 9.6vw;
		height: 9.6vw;
		margin-left: 2.133vw;
		margin-bottom: 2.133vw;
		font-size: 4.266vw;
		line-height: 9.066vw;
	}
	.wp-pagenavi a.first,
	.wp-pagenavi a.last {
		padding: 0 2.133vw;
	}
	.wp-pagenavi span.pages {
		display: block;
		position: relative;
		top: inherit;
		left: inherit;
		line-height: 120%;
		height: auto;
		width: auto;
		padding-bottom: 3.2vw;
	}

	/* postbody */
	.postbody {
		font-size: 3.466vw;
		padding: 1.333vw 0 2.666vw;
	}
	.postbody p,
	.postbody ol li,
	.postbody ul li,
	.postbody table th,
	.postbody table td,
	.postbody dl dt,
	.postbody dl dd {
		font-size: 3.466vw;
	}
	.postbody h1 {
		font-size: 4vw;
		font-weight: bold;
		padding: 0.8em 0;
	}
	.postbody h2 {
		font-size: 4vw;
		font-weight: bold;
		padding: 0.8em 0;
	}
	.postbody h3,
	.postbody h4 {
		font-size: 3.733vw;
		font-weight: bold;
	}
	.postbody p {
		margin-bottom: 1em;
		line-height: 180%;
	}
	.postbody img {
		max-width: 100%;
		height: auto;
		margin: 1em auto 2em;
	}
	.postbody img:first-child {
		margin-top: 0;
	}
	.postbody dl {
		margin-bottom: 1em;
	}
	.postbody dl dt {
		float: left;
		font-weight: bold;
		padding: 0.8em 1em 0.8em 0;
		min-width: 4em;
		line-height: 130%;
	}
	.postbody dl dd {
		padding: 0.8em 1em;
		line-height: 130%;
	}
	.postbody .alignleft {
		float: left;
		margin-right: 1em;
	}
	.postbody .alignright {
		float: right;
		margin-left: 1em;
	}
	.postbody .aligncenter {
		clear: both;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}

	/* contact form 7 */
	.form-table .wpcf7-list-item {}
	.form-table .wpcf7-list-item label {
		padding: 1.333vw 0 1.333vw;
		margin-right: 4vw;
		margin-left: 2.4vw;
		font-size: 3.466vw;
	}
	.wpcf7 span.wpcf7-not-valid-tip {
		font-size: 3.2vw;
		padding: 1.066vw 0 1.066vw;
	}
	.wpcf7 div.wpcf7-response-output {
		margin: 0;
		padding: 2.4vw 2.4vw;
		font-size: 3.2vw;
	}

}

