/*
Theme Name : 108japan
*/
@charset "utf-8";

/* fonts */
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500;1,600;1,700;1,800&family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

html, body {
	overflow-x: hidden;
	width: 100%;
}
body {
	color: #282828;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	line-height: 1.8;
	margin: 0;
}

h1, h2, h3, h4,
p, figure, figucaption, ul, dl, dt, dd {
	margin: 0;
	padding: 0;
}
ul li {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
img {
	vertical-align: bottom;
	height: auto;
	max-width: 100%;
}
a {
	color: #282828;
	cursor: pointer;
	transition: ease .5s;
	text-decoration: none;
}

.column {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

br.sp {
	display: none;
}

/** -------------------------------
* 	header
------------------------------- **/
.page__header {
	position: relative;
	margin-right: 150px;
	width: -webkit-calc(100% - 150px);
	width: calc(100% - 150px);
}
.page__header .bg__image {
	background-position: 25% 0;
	background-repeat: no-repeat;
	background-size: contain;
	height: 250px;
}
.page__header .inner {
	position: absolute;
	bottom: 0;
	left: 0;
	width: -webkit-calc(100% + 70px);
	width: calc(100% + 70px);
}
.page__header .page__title {
	margin: 0 auto;
	position: relative;
	width: 100%;
	max-width: 1000px;
}
.page__header .headline__1 {
	box-sizing: border-box;
	padding: 40px;
	margin-bottom: 0;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 530px;
}

/** -------------------------------
* 	main
------------------------------- **/
main {
	display: block;
	margin-bottom: 100px;
	width: -webkit-calc(100% - 80px);
	width: calc(100% - 80px);
}
main.top__page {
	margin-top: 130px;
}
h2.headline {
	font-family: 'Midashi Go MB31';
	font-size: 32px;
	letter-spacing: 2px;
	margin-bottom: 20px;
}
h3.headline {
	border-left: solid 10px #ff6800;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 22px;
	line-height: 1.4;
	margin-bottom: 40px;
	padding-left: 10px;
}
/** headline__1 **/
.headline__1 {
	font-family: 'Roboto', sans-serif;
	font-size: 40px;
	letter-spacing: 3px;
	line-height: .8;
	margin-bottom: 30px;
}
.headline__1 span {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	font-weight: 300;
	letter-spacing: 1px;
}
/** link__button **/
.link__button {
	margin: 100px auto 0;
	position: relative;
	height: 50px;
	width: 200px;
}
.link__button::after {
	background-color: #f07003;
	content: '';
	display: block;
	position: absolute;
	right: -30px;
	top: 50%;
	transform: translateY(-50%);
	height: 1px;
	width: 30px;
}
.link__button a {
	box-sizing: border-box;
	border: solid 2px #f07003;
	display: block;
	font-size: 16.2px;
	font-weight: 500;
	letter-spacing: 1.5px;
	line-height: 46px;
	position: relative;
	text-align: center;
	height: 100%;
	width: 100%;
}
.link__button a:hover {
	color: #fff;
}
.link__button a::before {
	background-color: #f07003;
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	transition: ease .3s;
	height: 100%;
	width: 0;
	z-index: -1;
}
.link__button a:hover::before {
	width: 100%;
}
.link__button a::after {
	background-color: #f07003;
	content: '';
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	transition: ease .3s;
	height: 1px;
	width: 30px;
}
.link__button a:hover::after {
	background-color: #fff;
}

/** -- news__list -- **/
.news__list {
	margin: 0 auto;
	margin-top: 80px;
	width: -webkit-calc(100% - 300px);
	width: calc(100% - 300px);
	max-width: 1000px;
}
.top__page .news__list {
	margin-top: 150px;
}
.news__list dl {
	border-bottom: solid 1px #333;
	margin: 0 0 20px;
	padding-bottom: 20px;
}
.news__list dl dt, .news__list dl dd {
	display: block;
}
.news__list dl dt {
	color: #f07003;
	font-family: 'EB Garamond', serif;
	font-weight: 300;
	width: 100px;
}
.news__list dl dd {
	width: -webkit-calc(100% - 100px);
	width: calc(100% - 100px);
}
.news__list dl dd img {
	margin: 10px 0;
}
.news__list dd .excerpt {
	color: #ff6800;
	display: inline-block;
	font-family: 'EB Garamond', serif;
	font-size: 14px;
	margin-left: auto;
}
.news__list dd .excerpt:hover {
	color: #282828;
}

/** -------------------------------
* 	sidebar
------------------------------- **/
#sidebar {
	background-color: rgba(255, 104, 0, .5);
	box-sizing: border-box;
	padding: 10px 20px 30px;
	position: fixed;
	right: 0;
	top: 0;
	width: 150px;
	z-index: 999;
}
.side__overlay {
	background-color: #ff6800;
	position: fixed;
	right: 0;
	top: 0;
	height: 100vh;
	width: 150px;
	z-index: 99;
}

/** -- logo -- **/
#sidebar .logo {
	margin-bottom: 5px;
}
#sidebar .logo a:hover {
	opacity: .65;
}

/** -- nav -- **/
nav.side__menu li {
	margin-bottom: 20px;
}
nav.side__menu li:last-child {
	margin-bottom: 0;
}
nav.side__menu li a {
	color: #fff;
	display: block;
	padding: 5px 0;
	position: relative;
	text-align: center;
}
nav.side__menu li a:hover {
	color: #666;
}
nav.side__menu li.current_page_item a {
	color: #282828;
}

/** -- menuBtn -- **/
.menuBtn {
	display: none;
}

/** -------------------------------
* 	footer
------------------------------- **/
footer {
	background-color: #282828;
	padding: 50px 0 30px;
	position: relative;
	z-index: 999;
}

/** -- footer__inner -- **/
.footer__inner {
	position: relative;
	height: 110px;
	margin: 0 auto;
	width: -webkit-calc(100% - 150px - 150px);
	width: calc(100% - 150px - 150px);
	max-width: 1000px;
}
/** logo **/
.footer__inner .logo {
	position: absolute;
	top: -30px;
	width: 158px;
}
/** nav **/
.footer__menu {
	margin-left: -webkit-calc(50% - 240px);
	margin-left: calc(50% - 240px);
}
.footer__menu li {
	margin: 0 15px;
}
.footer__menu a {
	color: #fff;
}

/** -- copyright -- **/
.copyright {
	color: #fff;
	font-family: 'Midashi Go MB31';
	font-size: 14px;
	text-align: center;
}

/** -------------------------------
* 	single
------------------------------- **/
.single__news {
	margin: 100px 0;
	min-height: 60vh;
}
.single__news .content__wrap {
	margin: 0 auto;
	width: -webkit-calc(100% - 150px - 150px);
	width: calc(100% - 150px - 150px);
	max-width: 1000px;
}
.single__news h2.headline {
	line-height: 1.4;
	margin-bottom: 40px;
}
.single__news p {
	line-height: 2.0;
	margin-bottom: 40px;
}

/** -------------------------------
* 	page
------------------------------- **/
.page__normal {
	margin: 100px 0;
}
.page__normal .content__wrap {
	margin: 0 auto;
	width: -webkit-calc(100% - 150px - 150px);
	width: calc(100% - 150px - 150px);
	max-width: 1000px;
}
.page__normal h2 {
	margin-bottom: 20px;
}
.page__normal p {
	margin-bottom: 50px;
}
.page__normal ol {
	margin-bottom: 50px;
}

/** -------------------------------
*	トップページ
------------------------------- **/
.top__page section {
	margin: 0 auto;
	position: relative;
	width: -webkit-calc(100% - 300px);
	width: calc(100% - 300px);
	max-width: 1000px;
}
/** -- copy -- **/
.top__page .site__copy {
	position: absolute;
	right: 150px;
	top: 140px;
	width: auto;
	max-width: initial;
}
.site__copy .copy {
	padding-right: 360px;
	position: relative;
	z-index: 10;
}
.site__copy .copy p {
	font-family: 'Midashi Go MB31';
	font-size: 36px;
	font-weight: 400;
	line-height: 1.8;
}
.site__copy .copy .hi {
	color: #ff6800;
	display: block;
	font-size: 410px;
	font-weight: 400;
	line-height: 1.0;
	position: absolute;
	right: -30px;
	top: -100px;
}
.site__copy .copy .hi span {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
/** -- top__main__visual -- **/
.top__page .top__main__visual {
	margin-top: 140px;
}
/** site__name **/
.top__main__visual .site__name {
	position: relative;
}
.top__main__visual .site__name h1 {
	font-family: 'Roboto', sans-serif;
	font-size: 38px;
	letter-spacing: 5px;
	width: 420px;
}
.top__main__visual .site__name h1 span {
	font-size: 48px;
}
/* concept */
.top__main__visual .concept {
	font-family: 'Midashi Go MB31';
	margin-top: 200px;
	position: relative;
	width: 520px;
}
.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__service {
	margin-bottom: 140px;
	margin-top: 120px;
}
.top__page .top__service {
	margin-top: 120px;
}
/** exp **/
.top__service .exp {
	margin-bottom: 60px;
}
.top__service .exp h3 {
	font-family: 'Midashi Go MB31';
	font-size: 30px;
	line-height: 1.4;
	text-align: center;
}
.top__service .exp p {
	font-size: 18px;
}
/** list **/
.top__service .list {
	margin: 0 -40px;
}
.top__service .list article {
	margin: 0 40px 50px;
	width: calc(100% / 2 - 80px);
	width: -webkit-calc(100% / 2 - 80px);
}
.top__service .list article a {
	display: block;
}
.top__service .list article figure {
	margin-bottom: 20px;
	position: relative;
}
.top__service .list article figure::before {
	background-color: rgba(0, 0, 0, .5);
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	transform: scaleY(0);
	transition: ease .5s;
	height: 100%;
	width: 100%;
}
.top__service .list article a:hover figure::before {
	transform: scaleY(1);
}
.top__service .list article h3 {
	margin-bottom: 20px;
	position: relative;
	height: 60px;
}
.top__service .list article h3 p {
	font-size: 20px;
	letter-spacing: 3px;
	line-height: 1.4;
	position: absolute;
	bottom: 0;
	left: 100px;
	transition: ease .5s;
}
.top__service .list article a:hover h3 p {
	color: #ff6800;
}
.top__service .list article h3 span {
	display: block;
	font-family: 'Midashi Go MB31';
	font-size: 60px;
	font-style: italic;
	letter-spacing: 3px;
	line-height: 1.0;
	position: absolute;
	left: 5px;
	top: 0;
}
/** client__logo **/
.client__logo {
	margin-top: 70px;
	position: relative;
	height: 230px;
	z-index: 20;
}
.client__logo .inner {
	background-color: #fff;
	overflow: hidden;
	position: absolute;
	left: -20vw;
	height: 100%;
	width: -webkit-calc(100% + 60vw);
	width: calc(100% + 60vw);
}
.client__logo img {
	margin-right: 60px;
}
.client__logo .camphack {
	width: 156px;
}
.client__logo .isuzu {
	width: 204px;
}
.client__logo .tiktok {
	width: 180px;
}
.client__logo .japanmade {
	width: 120px;
}
.client__logo .mery {
	margin-top: 10px;
	width: 100px;
}
.client__logo .robots {
	width: 80px;
}
.client__logo .tearoom {
	width: 80px;
}
.client__logo .getsubas {
	width: 80px;
}
.client__logo .gogakudo {
	width: 120px;
}
.client__logo .slider {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	height: 100%;
}
.client__logo .slider__inner {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
}
.client__logo .slider__inner:first-child {
	animation: loop 90s linear infinite;
}
.client__logo .slider__inner:nth-child(2) {
	animation: loop2 90s -60s linear infinite;
}
.client__logo .slider__inner:last-child {
	animation: loop3 90s -30s linear infinite;
}
@keyframes loop {
	0% { transform: translateX(200%); }
	to { transform: translateX(-100%); }
}
@keyframes loop2 {
	0% { transform: translateX(100%); }
	to { transform: translateX(-200%); }
}
@keyframes loop3 {
	0% { transform: translateX(0%); }
	to { transform: translateX(-300%); }
}

/** -- japan__made -- **/
.japan_made {
	margin-top: 60px;
}
.top__page .japan_made {
	margin-top: 100px;
}
.japan_made .logo {
	margin-bottom: 15px;
	width: 120px;
}
.japan_made figure.main {
	margin-bottom: 20px;
	position: relative;
	transition: ease .5s;
}
.japan_made figure.main:hover {
	background-color: #282828;
}
.japan_made figure.main img {
	transition: ease .5s;
}
.japan_made figure.main:hover img {
	opacity: .65;
}
.japan_made .inner h2 {
	font-family: 'Midashi Go MB31';
	font-size: 24px;
}
.japan_made .inner .column {
	margin: 40px -20px 30px;
}
.japan_made .inner .column figure {
	margin: 0 20px;
	height: 270px;
	width: calc(100% / 2 - 40px);
}
.japan_made .inner .column figure img {
	object-fit: cover;
	height: 100%;
	width: 100%;
}
.japan_made .inner h3 {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 18px;
}
.japan_made p {
	font-family: 'Noto Sans JP', sans-serif;
}

/** -------------------------------
*	COMPANY
------------------------------- **/
.company__page {
	margin-top: 80px;
}
.company__page section {
	margin: 0 auto;
	width: -webkit-calc(100% - 300px);
	width: calc(100% - 300px);
	max-width: 1000px;
}
/** -- member -- **/
.company__page .member {
	margin-bottom: 150px;
}
.company__page .member .text {
	font-weight: 500;
	letter-spacing: 2px;
	margin: 0 0 40px;
}
.company__page .member .list {
	margin: 0 -30px;
}
.company__page .member article {
	box-sizing: border-box;
	margin: 0 30px;
	position: relative;
	width: -webkit-calc(100% / 3 - 60px);
	width: calc(100% / 3 - 60px);
}
.company__page .member article::after {
	background-image: url('/wp/wp-content/themes/108theme/img/icon-arrow.png');
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	content: '';
	display: block;
	position: absolute;
	bottom: 10px;
	right: 0;
	transition: ease .5s;
	height: 30px;
	width: 80px;
}
.company__page .member article:hover::after {
	right: -10px;
}
.company__page .member article a {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	z-index: 10;
}
.company__page .member article .inner {
	background-color: #ff6800;
	border-left: solid 10px #fff;
	border-top: solid 10px #fff;
	position: relative;
	height: 100%;
}
.company__page .member article figure {
	background-color: #ccc;
	margin-left: -10px;
	margin-top: -10px;
	padding-top: 125%;
	position: relative;
	width: -webkit-calc(100% - 20px);
	width: calc(100% - 20px);
}
.company__page .member article figure img {
	object-fit: cover;
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
.company__page .member article .introduction {
	color: #fff;
	padding: 30px 20px 40px;
	padding-left: 100px;
	position: relative;
}
.company__page .member article .introduction .number {
	font-family: 'Midashi Go MB31';
	font-size: 32px;
	letter-spacing: 2px;
	position: absolute;
	left: 30px;
	top: 12px;
}
.company__page .member article .introduction .name {
	font-family: 'Midashi Go MB31';
	font-size: 22px;
	letter-spacing: 2.4px;
	line-height: 1.0;
	margin-bottom: 5px;
}
.company__page .member article .introduction .name span {
	font-size: 14px;
}
.company__page .member article .introduction .position {
	font-family: 'Midashi Go MB31';
	font-size: 12px;
	letter-spacing: 2px;
}
/**　--　recruit -- **/
.company__page .recruit {
	margin-bottom: 150px;
}
.company__page .recruit figure {
	position: relative;
}
.company__page .recruit p {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 2px;
	line-height: 2.0;
	position: absolute;
	bottom: 100px;
	left: 100px;
}
/** -- mission -- **/
.company__page .mission {
	margin-bottom: 100px;
}
.company__page .mission h3 {
	font-family: 'Midashi Go MB31';
	font-size: 50px;
	position: relative;
}
.company__page .mission h3::after {
	background-image: linear-gradient(90deg, #fff 0%, #ff6800 50%, #fff 100%);
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: -150px;
	height: 5px;
	width: -webkit-calc(100% + 150px);
	width: calc(100% + 150px);
}
.company__page .mission p {
	display: table;
	font-family: 'Midashi Go MB31';
	font-size: 27px;
	font-weight: 500;
	letter-spacing: 2px;
	line-height: 2.8;
	margin: 50px 20px 0 auto;
	text-align: center;
}
/** -- value -- **/
.company__page .value {
	background-color: #f4f0eb;
	box-sizing: border-box;
	margin-left: 0;
	padding: 60px 0;
	padding-left: 150px;
	padding-right: 100px;
	width: 100%;
	max-width: initial;
}
.company__page .value .headline__1 {
	margin-bottom: 50px;
}
.company__page .value .inner {
	margin: 0 auto;
	width: -webkit-calc(100% - 300px);
	width: calc(100% - 300px);
	max-width: 1000px;
}
.company__page .value dl {
}
.company__page .value dl dt {
	float: left;
	font-family: 'Midashi Go MB31';
	font-size: 41px;
	font-weight: bold;
	letter-spacing: 3px;
	line-height: 1.0;
	width: 240px;
}
.company__page .value dl dt span {
	margin-right: 5px;
}
.company__page .value dl dd {
	font-family: 'Midashi Go MB31';
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 2px;
	margin-bottom: 30px;
	margin-left: 260px;
	padding-top: 5px;
}
.company__page .value dl dd:last-child {
	margin-bottom: 0;
}
/** -- company -- **/
.company__page .company {
	margin-bottom: 150px;
	margin-top: 250px;
	position: relative;
}
.company__page .company h3 {
	font-family: 'Midashi Go MB31';
	font-size: 50px;
	margin-bottom: 50px;
	position: relative;
}
.company__page .company h3::after {
	background-image: linear-gradient(90deg, #ff8d3e 0%, #ff6800 50%, #fff 100%);
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: -150px;
	height: 5px;
	width: -webkit-calc(100% + 100px);
	width: calc(100% + 100px);
}
.company__page .company .text__box {
	font-family: 'Midashi Go MB31';
	margin-top: 40px;
	position: relative;
	width: -webkit-calc(50% + 80px);
	width: calc(50% + 80px);
}
.company__page .company .text__box h4 {
	font-size: 18px;
	letter-spacing: 2px;
	margin-bottom: 10px;
}
.company__page .company .text__box p {
	letter-spacing: 2px;
	line-height: 2.5;
}
.company__page .company figure {
	position: absolute;
	right: -100px;
	top: -80px;
	width: 50%;
	z-index: 99;
}
.company__page .company dl dt, .company__page .company dl dd {
	font-family: 'Midashi Go MB31';
	font-size: 18px;
	letter-spacing: 2px;
	line-height: 2.0;
}
.company__page .company dl dt {
	float: left;
	width: 190px;
}
.company__page .company dl dd {
	margin-left: 190px;
}
.company__page .company dl dd.mb {
	margin-bottom: 25px;
}
.about__page .company {
	margin-top: 0;
}

/** -------------------------------
*	COMPANY
------------------------------- **/
.member__page {
	margin-top: 80px;
}
.member__page section {
	margin: 0 auto;
	width: -webkit-calc(100% - 300px);
	width: calc(100% - 300px);
	max-width: 1000px;
}
/** -- member -- **/
.member__page .member {
	margin-bottom: 150px;
	width: -webkit-calc(100% - 150px - 110px);
	width: calc(100% - 150px - 110px);
}
.member__page .member article {
	box-shadow: 0 0 12px 0 rgb(0 0 0 / 20%);
	box-sizing: border-box;
	padding: 40px 50px;
	position: relative;
	max-width: 1050px;
}
.member__page .member .image {
	position: absolute;
	right: -50px;
	top: -10px;
	width: -webkit-calc(100% / 3 + 50px);
	width: calc(100% / 3 + 50px);
}
.member__page .member .image figure {
	background-color: #ccc;
	padding-top: 125%;
	position: relative;
	width: 100%;
}
.member__page .member .image figure img {
	object-fit: cover;
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
.member__page .member .introduction {
	margin-bottom: 20px;
	padding-left: 70px;
	position: relative;
}
.member__page .member .introduction .number {
	font-family: 'Midashi Go MB31';
	font-size: 32px;
	letter-spacing: 2px;
	position: absolute;
	left: 0;
	top: -16px;
}
.member__page .member .introduction .name {
	font-family: 'Midashi Go MB31';
	font-size: 22px;
	letter-spacing: 2.4px;
	line-height: 1.0;
	margin-bottom: 5px;
}
.member__page .member .introduction .name span {
	font-size: 14px;
}
.member__page .member .introduction .position {
	font-family: 'Midashi Go MB31';
	font-size: 12px;
	letter-spacing: 2px;
}
.member__page .member article .text {
	letter-spacing: 2px;
	line-height: 2.0;
	margin-bottom: 40px;
	min-height: 180px;
	width: -webkit-calc(100% / 3 * 2 - 50px);
	width: calc(100% / 3 * 2 - 50px);
}
.member__page .member .speciality h3 {
	border-bottom: solid 1px #976d3f;
	font-family: 'Midashi Go MB31';
	font-size: 14px;
	margin-bottom: 10px;
	padding-bottom: 5px;
}
.member__page .member .speciality .inner {
	width: -webkit-calc(100% / 3 * 2 - 60px);
	width: calc(100% / 3 * 2 - 60px);
}
.member__page .member .speciality p {
	background-color: #ffd1b2;
	border-radius: 20px;
	font-family: 'Midashi Go MB31';
	font-size: 12px;
	margin: 15px 10px 0;
	padding: 2px 10px;
}
/** -- japan_made -- **/
.member__page .japan_made {
	margin-top: 150px;
}

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

}

/** -------------------------------
*	CONTACT
------------------------------- **/
.contact__page {
	margin-top: 80px;
}
.contact__page section {
	margin: 0 auto;
	width: -webkit-calc(100% - 400px);
	width: calc(100% - 400px);
	max-width: 1000px;
}
.contact__page .text {
	font-family: 'Midashi Go MB31';
	margin-bottom: 50px;
}
.contact__page h3 {
	font-family: 'Midashi Go MB31';
	font-size: 18px;
	margin-bottom: 30px;
}
.contact__page dl {
	margin-bottom: 50px;
}
.contact__page dt, .contact__page dd {
	font-family: 'Midashi Go MB31';
	letter-spacing: 2px;
}
.contact__page dt {
	float: left;
	font-size: 18px;
	line-height: 45px;
	position: relative;
	width: 160px;
}
.contact__page dt .must {
	background-color: #d45b5b;
	border-radius: 20px;
	color: #fff;
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 12px;
	line-height: 1.0;
	padding: 3px 10px 4px;
	position: absolute;
	right: 0;
	top: 15px;
}
.contact__page dd {
	margin-bottom: 30px;
	margin-left: 200px;
}
.contact__page textarea,
.contact__page input {
	background-color: #eeeeee;
	border: none;
	border-radius: 2px;
	box-sizing: border-box;
	font-family: 'Midashi Go MB31';
	padding: 10px;
	width: 100%;
}
.contact__page input[type="text"],
.contact__page input[type="tel"],
.contact__page input[type="email"] {
	height: 45px;
	width: 100%;
}
.contact__page .wpcf7-list-item {
	display: block;
}
.contact__page .wpcf7-list-item label {
	display: block;
	font-family: 'Midashi Go MB31';
	margin-bottom: 30px;
	margin-left: 0;
	padding-left: 60px;
	position: relative;
}
.contact__page .wpcf7-list-item-label::before {
	background-color: #eeeeee;
	border: none;
	border-radius: 2px;
	box-sizing: border-box;
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	height: 30px;
	width: 30px;
}
.contact__page .wpcf7-list-item-label::after {
	color: #ff6800;
	content: '\f00c';
	display: none;
	font-family: 'Font Awesome 5 Free';
	font-size: 30px;
	font-weight: 900;
	position: absolute;
	left: -5px;
	top: -10px;
}
.contact__page input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
	display: block;
}
.contact__page .wpcf7-list-item input {
	display: none;
}
.contact__page .content__check {
	margin-bottom: 40px;
	padding-top: 40px;
}
.contact__page .checkbox {
	margin-left: 200px;
}
.contact__page .policy {
	font-family: 'Midashi Go MB31';
	margin-bottom: 20px;
	margin-top: 60px;
}
.contact__page .policy .must {
	background-color: #d45b5b;
	border-radius: 20px;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 12px;
	line-height: 1.0;
	margin-left: 10px;
	padding: 3px 10px 4px;
}
.contact__page .policy a {
	display: inline-block;
	position: relative;
}
.contact__page .policy a:hover {
	color: #ff6800;
}
.contact__page .policy a::after {
	background-color: #555;
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 5%;
	transition: ease .5s;
	height: 1px;
	width: 90%;
}
.contact__page .policy a:hover::after {
	transform: scaleX(0);
}
/** submit **/
.contact__page .submit {
	margin: 100px auto 0;
	position: relative;
	height: 50px;
	width: 280px;
}
.contact__page .submit::after {
	background-color: #f07003;
	content: '';
	display: block;
	position: absolute;
	right: -30px;
	top: 50%;
	transform: translateY(-50%);
	height: 1px;
	width: 60px;
}
input[type="submit"] {
	-webkit-appearance: none;
	border-radius: 0;
}
.contact__page input[type="submit"] {
	background-color: #f07003;
	box-sizing: border-box;
	border: solid 2px #f07003;
	color: #fff;
	display: block;
	font-size: 16.2px;
	font-weight: 500;
	letter-spacing: 1.5px;
	line-height: 1.0;
	position: relative;
	text-align: center;
	height: 100%;
	width: 100%;
}
.contact__page input[type="submit"]:hover {
	background-color: #fff;
	color: #f07003;
}

/** -------------------------------
*	SERVICE
------------------------------- **/
.service__page section {
	margin-left: auto;
	margin-right: auto;
	width: -webkit-calc(100% - 150px - 110px);
	width: calc(100% - 150px - 110px);
	max-width: 1000px;
}

.service__page .top__service {
	margin-top: 80px;
}

/** -- knowledge -- **/
.service__page section.knowledge {
	padding: 50px 0;
}
.service__page .knowledge .block {
	margin-bottom: 50px;
}
.service__page .knowledge .block .column {
	margin: 0 -15px;
}
.service__page .knowledge .box {
	background-color: #fff;
	border: solid 1px #333;
	border-radius: 5px;
	box-sizing: border-box;
	margin: 0 15px;
	padding: 20px;
	width: calc(100% / 3 - 30px);
}
.service__page .knowledge .box p {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
}
.service__page .knowledge .box p.exp {
	height: 120px;
}
.service__page .knowledge .box figure {
	margin: 0 auto;
	height: 80px;
	width: 80px;
}
.service__page .knowledge .box figure img {
	object-fit: contain;
	height: 100%;
	width: 100%;
}
.service__page .knowledge .strengths p {
	margin-top: 10px;
}
.service__page .knowledge .numbers figure {
	margin-top: 10px;
}
.service__page .knowledge .numbers .number {
	color: #ff6800;
	font-family: 'Midashi Go MB31';
	font-size: 60px;
	font-style: italic;
	letter-spacing: 4px;
}
.service__page .knowledge .numbers .number span {
	font-size: 40px;
}
/** -- case -- **/
.service__page section.case {
	padding: 50px 0;
	width: 100%;
	max-width: inherit;
}
.service__page .case .sec__inner {
	margin-bottom: 30px;
	margin-left: auto;
	margin-right: auto;
	width: -webkit-calc(100% - 150px - 110px);
	width: calc(100% - 150px - 110px);
	max-width: 900px;
}
.service__page .case .box {
	box-sizing: border-box;
	margin-bottom: 40px;
	padding: 5px;
	position: relative;
}
.service__page .case .box .inner {
	background-color: #fff;
	border-radius: 3px;
	box-shadow: 1px 2px 5px 3px rgb(0 0 0 / 10%);
	box-sizing: border-box;
	padding: 80px 50px 30px;
}
.service__page .case .box.japanmade .inner {
	padding-top: 100px;
}
.service__page .case .box .image__box {
	width: 40%;
}
.service__page .case .box .logo {
	position: absolute;
	left: 50px;
	top: 30px;
	z-index: 10;
}
.service__page .case .box.champhack .logo {
	width: 130px;
}
.service__page .case .box.mery .logo {
	width: 80px;
}
.service__page .case .box.robots .logo {
	width: 80px;
}
.service__page .case .box.gogakudo .logo {
	width: 130px;
}
.service__page .case .box.tearoom .logo {
	width: 80px;
}
.service__page .case .box.getsubasu .logo {
	width: 60px;
}
.service__page .case .box.japanmade .logo {
	box-sizing: border-box;
	padding: 30px;
	padding-left: 0;
	padding-top: 10px;
	width: 140px;
}
.service__page .case .box.isuzu .logo {
	width: 160px;
}
.service__page .case .box.forty .logo {
	width: 60px;
}
.service__page .case .box.adastria .logo {
	width: 140px;
}
.service__page .case .box.adastria .logo + .logo {
	top: 70px;
	width: 90px;
}
.service__page .case .box.meiri .logo {
	width: 100px;
}
.service__page .case .box .image__box .logo img {
	object-fit: contain;
	object-position: 0 0;
	height: 100%;
	width: 100%;
}
.service__page .case .box .image__box .image {
	text-align: center;
}
.service__page .case .box .image__box .image img {
	width: 120px;
}
.service__page .case .box .image__box .name {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	line-height: 1.4;
	margin-top: 10px;
	text-align: center;
}
.service__page .case .box .text__box {
	margin-left: 40px;
	width: calc(100% - 40% - 40px);
}
.service__page .case .box .text__box .text {
	height: 210px;
}
.service__page .case .box .text__box .text p {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
}
.service__page .case .box .text__box .cont {
	border-top: solid 1px #976d3f;
	margin-top: 15px;
	padding-top: 20px;
}
.service__page .case .box .text__box .cont p {
	background-color: #ffd1b2;
	border-radius: 25px;
	font-family: 'Midashi Go MB31';
	font-size: 12px;
	margin: 0 5px 5px;
	padding: 2px 10px;
}
@media screen and (max-width: 1400px) {
	.service__page .case .box .image__box .name {
		font-size: 13px;
	}
}