@charset "utf-8";

body {
	font-size: 1.5vw;
}

/** -------------------------------
 * 	header
------------------------------- **/
.page__header {
	margin-right: 12vw;
	width: -webkit-calc(100% - 12vw);
	width: calc(100% - 12vw);
}
.page__header .bg__image {
	background-position: 3vw 0;
	height: 21vw;
}
.page__header .inner {
	left: 6vw;
	width: -webkit-calc(100% + 4vw);
	width: calc(100% + 4vw);
}
.page__header .headline__1 {
	padding: 4vw;
	width: 50vw;
}

/** -------------------------------
 * 	main
------------------------------- **/
main {
	margin-bottom: 10vw;
	width: -webkit-calc(100% - 12vw);
	width: calc(100% - 12vw);
}
main.top__page {
	margin-top: 12vw;
}
h2.headline {
	font-size: 3.2vw;
	letter-spacing: .2vw;
	margin-bottom: 2vw;
}
h3.headline {
	border-left: solid 1vw #ff6800;
	font-size: 2.2vw;
	margin-bottom: 2vw;
	padding-left: 1vw;
}
/** headline__1 **/
.headline__1 {
	font-size: 4vw;
	letter-spacing: .3vw;
	margin-bottom: 3vw;
}
.headline__1 span {
	font-size: 1.3vw;
	letter-spacing: .1vw;
}
/** link__button **/
.link__button {
	margin: 10vw auto 0;
	height: 5vw;
	width: 20vw;
}
.link__button::after {
	right: -2.5vw;
	width: 2.5vw;
}
.link__button a {
	font-size: 1.6vw;
	letter-spacing: .2vw;
	line-height: 4.7vw;
}
.link__button a::after {
	width: 2.5vw;
}

/** -- news__list -- **/
.news__list {
	margin-top: 8vw;
	width: -webkit-calc(100% - 14vw);
	width: calc(100% - 14vw);
}
.top__page .news__list {
	margin-top: 15vw;
}
.news__list dl {
	margin: 0 0 2vw 0;
	padding-bottom: 2vw;
}
.news__list dl dt {
	width: 10vw;
}
.news__list dl dd {
	width: -webkit-calc(100% - 10vw);
	width: calc(100% - 10vw);
}
.news__list dl dd img {
	margin: 1vw 0;
}
.news__list dd .excerpt {
	font-size: 1.4vw;
}

/** -------------------------------
 * 	sidebar
------------------------------- **/
#sidebar {
	padding: 1vw 2vw 3vw;
	width: 12vw;
}
.side__overlay {
	width: 12vw;
}

/** -- logo -- **/
#sidebar .logo {
	margin-bottom: .5vw;
}

/** -- nav -- **/
nav.side__menu li {
	margin-bottom: 2vw;
}
nav.side__menu li a {
	padding: .5vw 0;
}

/** -------------------------------
 * 	footer
------------------------------- **/
footer {
	padding: 5vw 0 3vw;
}

/** -- footer__inner -- **/
.footer__inner {
	height: 11vw;
	width: -webkit-calc(100% - 14vw);
	width: calc(100% - 14vw);
}
/** logo **/
.footer__inner .logo {
	position: absolute;
	top: -3vw;
	width: 15vw;
}
/** nav **/
.footer__menu {
	margin-left: -webkit-calc(50% - 24vw);
	margin-left: calc(50% - 24vw);
}
.footer__menu li {
	margin: 0 1.5vw;
}

/** -- copyright -- **/
.copyright {
	font-size: 1.3vw;
}

/** -------------------------------
* 	single
------------------------------- **/
.single__news {
	margin: 10vw 0;
}
.single__news .content__wrap {
	width: -webkit-calc(100% - 14vw);
	width: calc(100% - 14vw);
}
.single__news h2.headline {
	margin-bottom: 4vw;
}
.single__news p {
	margin-bottom: 4vw;
}

/** -------------------------------
 * 	page
------------------------------- **/
.page__normal {
	margin: 10vw 0;
}
.page__normal .content__wrap {
	width: -webkit-calc(100% - 14vw);
	width: calc(100% - 14vw);
}
.page__normal h2 {
	margin-bottom: 2vw;
}
.page__normal p {
	margin-bottom: 5vw;
}
.page__normal ol {
	margin-bottom: 5vw;
}

/** -------------------------------
 *	トップページ
------------------------------- **/
.top__page section {
	width: -webkit-calc(100% - 14vw);
	width: calc(100% - 14vw);
}
/** -- copy -- **/
.top__page .site__copy {
	right: 12.5vw;
	top: 13vw;
}
.site__copy .copy {
	padding-right: 33vw;
}
.site__copy .copy p {
	font-size: 3.4vw;
}
.site__copy .copy .hi {
	font-size: 39vw;
	right: -2.8vw;
	top: -10vw;
}
/** -- top__main__visual -- **/
.top__page .top__main__visual {
	margin-top: 12vw;
}
/** site__name **/
.top__main__visual .site__name h1 {
	font-size: 4vw;
	letter-spacing: .6vw;
	width: 45vw;
}
.top__main__visual .site__name h1 span {
	font-size: 48px;
}
/* concept */
.top__main__visual .concept {
	font-family: 'Midashi Go MB31';
	margin-top: 20vw;
	position: relative;
	width: 42vw;
}
.top__main__visual .concept h2 {
	font-size: 20px;
	margin-bottom: 15px;
	text-align: center;
}
.top__main__visual .concept p {
	margin-bottom: 30px;
	text-align: center;
}

/** -- top__service -- **/
.top__page .top__service {
	margin-bottom: 14vw;
	margin-top: 12vw;
}
/** exp **/
.top__service .exp {
	margin-bottom: 4vw;
}
.top__service .exp h3 {
	font-size: 2.3vw;
}
.top__service .exp p {
	font-size: 1.7vw;
}
/** list **/
.top__service .list {
	margin: 0 -3vw;
}
.top__service .list article {
	margin: 0 3vw 5vw;
	width: calc(100% / 2 - 6vw);
	width: -webkit-calc(100% / 2 - 6vw);
}
.top__service .list article figure {
	margin-bottom: 1.6vw;
}
.top__service .list article h3 {
	margin-bottom: 1.6vw;
	height: 5.8vw;
}
.top__service .list article h3 p {
	font-size: 1.9vw;
	letter-spacing: .3vw;
	left: 9vw;
}
.top__service .list article h3 span {
	font-size: 6vw;
	letter-spacing: .2vw;
	left: .4vw;
}
/** client__logo **/
.client__logo {
	margin-top: 7vw;
	height: 22vw;
}
.client__logo .inner {
	left: -15vw;
	width: -webkit-calc(100% + 55vw);
	width: calc(100% + 55vw);
}
.client__logo img {
	margin-right: 6vw;
}
.client__logo .camphack {
	width: 16vw;
}
.client__logo .isuzu {
	width: 20vw;
}
.client__logo .tiktok {
	width: 18vw;
}
.client__logo .japanmade {
	width: 12vw;
}
.client__logo .mery {
	margin-top: 1vw;
	width: 10vw;
}
.client__logo .robots {
	width: 8vw;
}
.client__logo .tearoom {
	width: 8vw;
}
.client__logo .getsubas {
	width: 8vw;
}
.client__logo .gogakudo {
	width: 12vw;
}

/** -- japan__made -- **/
.japan_made {
	margin-top: 6vw;
}
.top__page .japan_made {
	margin-top: 12vw;
}
.japan_made .logo {
	margin-bottom: 1.5vw;
	width: 12vw;
}
.japan_made figure.main {
	margin-bottom: 2vw;
}
.japan_made figure.main p {
	font-size: 3vw;
}
.japan_made .inner h2 {
	font-size: 2.4vw;
}
.japan_made .inner .column {
	margin: 4vw -2vw 3vw;
}
.japan_made .inner .column figure {
	margin: 0 2vw;
	height: 20vw;
	width: calc(100% / 2 - 4vw);
}
.japan_made .inner h3 {
	font-size: 1.8vw;
}

/** -------------------------------
 *	COMPANY
------------------------------- **/
.company__page {
	margin-top: 8vw;
}
.company__page section {
	width: -webkit-calc(100% - 10vw);
	width: calc(100% - 10vw);
}
/** -- member -- **/
.company__page .member {
	margin-bottom: 14vw;
}
.company__page .member .text {
	letter-spacing: .2vw;
	margin: 0 0 4vw;
}
.company__page .member .list {
	margin: 0 -2vw;
}
.company__page .member article {
	margin: 0 2vw;
	width: -webkit-calc(100% / 3 - 4vw);
	width: calc(100% / 3 - 4vw);
}
.company__page .member article::after {
	bottom: 1vw;
	height: 3vw;
	width: 8vw;
}
.company__page .member article:hover::after {
	right: -1vw;
}
.company__page .member article .inner {
	border-left: solid .5vw #fff;
	border-top: solid .5vw #fff;
}
.company__page .member article figure {
	margin-left: -.8vw;
	margin-top: -.8vw;
	width: -webkit-calc(100% - 1vw);
	width: calc(100% - 1vw);
}
.company__page .member article .introduction {
	padding: 2vw 2vw 4vw;
	padding-left: 6vw;
}
.company__page .member article .introduction .number {
	font-size: 3vw;
	letter-spacing: .2vw;
	left: 1.5vw;
	top: .5vw;
}
.company__page .member article .introduction .name {
	font-size: 2.2vw;
	letter-spacing: .2vw;
	margin-bottom: .5vw;
}
.company__page .member article .introduction .name span {
	font-size: 1.3vw;
}
.company__page .member article .introduction .position {
	font-size: 1.2vw;
	letter-spacing: .2vw;
}
/**　--　recruit -- **/
.company__page .recruit {
	margin-bottom: 15vw;
}
.company__page .recruit p {
	font-size: 2vw;
	letter-spacing: .2vw;
	bottom: 7vw;
	left: 3vw;
}
/** -- mission -- **/
.company__page .mission {
	margin-bottom: 10vw;
}
.company__page .mission h3 {
	font-size: 4.6vw;
}
.company__page .mission h3::after {
	left: -10vw;
	width: -webkit-calc(100% + 10vw);
	width: calc(100% + 10vw);
}
.company__page .mission p {
	font-size: 2.5vw;
	letter-spacing: .2vw;
	margin: 5vw 2vw 0 auto;
}
/** -- value -- **/
.company__page .value {
	padding: 6vw 0;
	padding-left: 0;
	padding-right: 0;
}
.company__page .value .headline__1 {
	margin-bottom: 5vw;
}
.company__page .value .inner {
	width: -webkit-calc(100% - 10vw);
	width: calc(100% - 10vw);
}
.company__page .value dl dt {
	font-size: 3.8vw;
	letter-spacing: .3vw;
	width: 24vw;
}
.company__page .value dl dt span {
	margin-right: .5vw;
}
.company__page .value dl dd {
	font-size: 1.8vw;
	letter-spacing: .2vw;
	margin-bottom: 3vw;
	margin-left: 25vw;
	padding-top: .5vw;
}
/** -- company -- **/
.company__page .company {
	margin-bottom: 14vw;
	margin-top: 23vw;
}
.about__page .company {
	margin-top: 0;
}
.company__page .company h3 {
	font-size: 4.6vw;
	margin-bottom: 4.6vw;
}
.company__page .company h3::after {
	left: -10vw;
	width: -webkit-calc(100% + 6vw);
	width: calc(100% + 6vw);
}
.company__page .company .text__box {
	margin-top: 3.4vw;
	width: -webkit-calc(50% + 11vw);
	width: calc(50% + 11vw);
}
.company__page .company .text__box h4 {
	font-size: 1.7vw;
	letter-spacing: 2px;
	margin-bottom: 10px;
}
.company__page .company .text__box p {
	font-size: 1.4vw;
	letter-spacing: .15vw;
}
.company__page .company figure {
	right: -4vw;
	top: -7vw;
	width: 32vw;
}
.company__page .company dl dt, .company__page .company dl dd {
	font-size: 1.7vw;
	letter-spacing: .2vw;
}
.company__page .company dl dt {
	width: 18vw;
}
.company__page .company dl dd {
	margin-left: 18vw;
}
.company__page .company dl dd.mb {
	margin-bottom: 2.4vw;
}

/** -------------------------------
 *	COMPANY
------------------------------- **/
.member__page {
	margin-top: 8vw;
}
.member__page section {
	width: -webkit-calc(100% - 10vw);
	width: calc(100% - 10vw);
}
/** -- member -- **/
.member__page .member {
	margin-bottom: 10vw;
	width: -webkit-calc(100% - 14vw);
	width: calc(100% - 14vw);
}
.member__page .member article {
	box-shadow: 0 0 1.5vw 0 rgb(0 0 0 / 20%);
	padding: 4vw;
}
.member__page .member .image {
	right: -5vw;
	top: -2vw;
	width: -webkit-calc(100% / 3 + 5vw);
	width: calc(100% / 3 + 5vw);
}
.member__page .member .introduction {
	margin-bottom: 2vw;
	padding-left: 7vw;
}
.member__page .member .introduction .number {
	font-size: 3.2vw;
	letter-spacing: .2vw;
	top: -1.6vw;
}
.member__page .member .introduction .name {
	font-size: 2.2vw;
	letter-spacing: .24vw;
	margin-bottom: .5vw;
}
.member__page .member .introduction .name span {
	font-size: 1.4vw;
}
.member__page .member .introduction .position {
	font-size: 1.2vw;
	letter-spacing: .2vw;
}
.member__page .member article .text {
	letter-spacing: .2vw;
	margin-bottom: 4vw;
	min-height: 18vw;
	width: -webkit-calc(100% / 3 * 2 - 1vw);
	width: calc(100% / 3 * 2 - 1vw);
}
.member__page .member .speciality h3 {
	font-size: 1.4vw;
	margin-bottom: 1vw;
	padding-bottom: .5vw;
}
.member__page .member .speciality .inner {
	width: 100%;
}
.member__page .member .speciality p {
	border-radius: 2vw;
	font-size: 1.2vw;
	margin: 1.5vw 1vw 0;
	padding: .2vw 1vw;
}
/** -- japan_made -- **/
.member__page .japan_made {
	margin-top: 15vw;
}

/** -------------------------------
 *	NEWS
------------------------------- **/
.news__page {
	
}

/** -------------------------------
 *	CONTACT
------------------------------- **/
.contact__page {
	margin-top: 8vw;
}
.contact__page section {
	width: -webkit-calc(100% - 14vw);
	width: calc(100% - 14vw);
}
.contact__page .text {
	margin-bottom: 5vw;
}
.contact__page h3 {
	font-size: 1.8vw;
	margin-bottom: 4vw;
}
.contact__page dl {
	margin-bottom: 5vw;
}
.contact__page dt, .contact__page dd {
	letter-spacing: .2vw;
}
.contact__page dt {
	font-size: 1.8vw;
	line-height: 4.5vw;
	width: 16vw;
}
.contact__page dt .must {
	border-radius: 2vw;
	font-size: 1.2vw;
	padding: .3vw 1vw .4vw;
	top: 1.5vw;
}
.contact__page dd {
	margin-bottom: 3vw;
	margin-left: 20vw;
}
.contact__page textarea,
.contact__page input {
	border-radius: .2vw;
	padding: 1vw;
}
.contact__page input[type="text"],
.contact__page input[type="tel"],
.contact__page input[type="email"] {
	height: 4.5vw;
}
.contact__page .wpcf7-list-item label {
	margin-bottom: 3vw;
	padding-left: 6vw;
}
.contact__page .wpcf7-list-item-label::before {
	height: 3vw;
	width: 3vw;
}
.contact__page .wpcf7-list-item-label::after {
	font-size: 3vw;
	left: -.5vw;
	top: -1vw;
}
.contact__page .content__check {
	margin-bottom: 4vw;
	padding-top: 4vw;
}
.contact__page .checkbox {
	margin-left: 20vw;
}
.contact__page .policy {
	margin-bottom: 2vw;
	margin-top: 6vw;
}
.contact__page .policy .must {
	border-radius: 2vw;
	font-size: 1.2vw;
	margin-left: 1vw;
	padding: .3vw 1vw .4vw;
}
/** submit **/
.contact__page .submit {
	margin: 10vw auto 0;
	height: 5vw;
	width: 28vw;
}
.contact__page .submit::after {
	right: -3vw;
	height: .1vw;
	width: 6vw;
}
.contact__page input[type="submit"] {
	border: solid 2px #f07003;
	font-size: 1.6vw;
	letter-spacing: .15vw;
}

/** -------------------------------
 *	SERVICE
------------------------------- **/
.service__page section {
	width: -webkit-calc(100% - 14vw);
	width: calc(100% - 14vw);
}

.service__page .top__service {
	margin-bottom: 14vw;
	margin-top: 8vw;
}

/** -- knowledge -- **/
.service__page section.knowledge {
	padding: 5vw 0;
}
.service__page .knowledge .block {
	margin-bottom: 5vw;
}
.service__page .knowledge .block .column {
	margin: 0 -1.5vw;
}
.service__page .knowledge .box {
	margin: 0 1.5vw;
	padding: 2vw 1vw;
	width: calc(100% / 3 - 3vw);
}
.service__page .knowledge .box p {
	font-size: 1.3vw;
}
.service__page .knowledge .box p.exp {
	height: 9vw;
}
.service__page .knowledge .box figure {
	height: 8vw;
	width: 8vw;
}
.service__page .knowledge .strengths p {
	margin-top: 1vw;
}
.service__page .knowledge .numbers figure {
	margin-top: 1vw;
}
.service__page .knowledge .numbers .number {
	font-size: 5.2vw;
	letter-spacing: .2vw;
}
.service__page .knowledge .numbers .number span {
	font-size: 3.4vw;
}
/** -- case -- **/
.service__page section.case {
	padding: 5vw 0;
}
.service__page .case .sec__inner {
	margin-bottom: 3vw;
	width: -webkit-calc(100% - 14vw);
	width: calc(100% - 14vw);
}
.service__page .case .box {
	padding: .5vw;
}
.service__page .case .box .inner {
	border-radius: .3vw;
	box-shadow: 1px 2px 5px 3px rgb(0 0 0 / 10%);
	padding: 8vw 3vw 3vw;
}
.service__page .case .box.japanmade .inner {
	padding-top: 10vw;
}
.service__page .case .box.adastria .inner {
	padding-top: 11vw;
}
.service__page .case .box .image__box {
	width: 26vw;
}
.service__page .case .box .logo {
	left: 3vw;
	top: 3vw;
}
.service__page .case .box.champhack .logo {
	width: 13vw;
}
.service__page .case .box.mery .logo {
	width: 7vw;
}
.service__page .case .box.robots .logo {
	width: 8vw;
}
.service__page .case .box.gogakudo .logo {
	width: 13vw;
}
.service__page .case .box.tearoom .logo {
	width: 8vw;
}
.service__page .case .box.getsubasu .logo {
	width: 6vw;
}
.service__page .case .box.japanmade .logo {
	padding: 3vw;
	padding-left: 0;
	padding-top: 1vw;
	width: 14vw;
}
.service__page .case .box.isuzu .logo {
	width: 16vw;
}
.service__page .case .box.forty .logo {
	width: 6vw;
}
.service__page .case .box.adastria .logo {
	width: 14vw;
}
.service__page .case .box.adastria .logo + .logo {
	top: 7vw;
	width: 9vw;
}
.service__page .case .box.meiri .logo {
	width: 10vw;
}
.service__page .case .box .image__box .name {
	font-size: 1.4vw;
	margin-top: 1vw;
}
.service__page .case .box .text__box {
	margin-left: 3vw;
	width: calc(100% - 26vw - 3vw);
}
.service__page .case .box .text__box .text {
	height: 20vw;
}
.service__page .case .box .text__box .text p {
	font-size: 1.4vw;
}
.service__page .case .box .text__box .cont {
	margin-top: 1.5vw;
	padding-top: 2vw;
}
.service__page .case .box .text__box .cont p {
	border-radius: 3vw;
	font-size: 1.2vw;
	margin: 0 .3vw;
	padding: .2vw 1vw;
}