@charset 'UTF-8';
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(//fonts.googleapis.com/css?family=Abril+Fatface|Josefin+Slab:700|Noto+Serif:400,700);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/css?family=Overpass:200,400,600,800);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/css?family=Overpass:200,400,600,800);
#ieError {
	position: absolute;
	z-index: 1000;
	top: 0;
	left: 0;
	width: 100%;
	padding: 20px;
	text-align: center;
	opacity: .8;
	color: #fff;
	background: #000;
	-ms-filter: 'alpha( opacity=80 )'
}
#ieError strong {
	color: #fff
}
#ieError a {
	text-decoration: underline;
	color: #d90000
}
/*! normalize.css v3.0.0 | MIT License | git.io/normalize */

html {
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%
}
body {
	margin: 0
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
	display: block
}
audio, canvas, progress, video {
	display: inline-block;
	vertical-align: baseline
}
audio:not([controls]) {
	display: none;
	height: 0
}
[hidden], template {
	display: none
}
a {
	background: 0 0
}
a:active, a:hover {
	outline: 0
}
abbr[title] {
	border-bottom: 1px dotted
}
b, strong {
	font-weight: 700
}
dfn {
	font-style: italic
}
mark {
	color: #000;
	background: #ff0
}
small {
	font-size: 80%
}
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline
}
sup {
	top: -.5em
}
sub {
	bottom: -.25em
}
img {
	border: 0
}
svg:not(:root) {
	overflow: hidden
}
figure {
	margin: 1em 40px
}
hr {
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	height: 0
}
pre {
	overflow: auto
}
code, kbd, pre, samp {
	font-family: monospace, monospace;
	font-size: 1em
}
button, input, optgroup, select, textarea {
	font: inherit;
	margin: 0;
	color: inherit
}
button {
	overflow: visible
}
button, select {
	text-transform: none
}
button, html input[type=button], input[type=reset], input[type=submit] {
	cursor: pointer;
	-webkit-appearance: button
}
button[disabled], html input[disabled] {
	cursor: default
}
button::-moz-focus-inner, input::-moz-focus-inner {
	padding: 0;
	border: 0
}
input {
	line-height: normal
}
input[type=checkbox], input[type=radio] {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0
}
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
	height: auto
}
input[type=search] {
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	-webkit-appearance: textfield
}
input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
	-webkit-appearance: none
}
fieldset {
	margin: 0 2px;
	padding: .35em .625em .75em;
	border: 1px solid silver
}
legend {
	padding: 0;
	border: 0
}
textarea {
	overflow: auto
}
optgroup {
	font-weight: 700
}
table {
	border-spacing: 0;
	border-collapse: collapse
}
td, th {
	padding: 0
}
abbr, address, article, aside, audio, b, blockquote, body, caption, cite, code, dd, del, dfn, dialog, div, dl, dt, em, fieldset, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, main, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
	font: inherit;
	font-family: Overpass, 'Noto Sans Japanese', '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	font-size: 100%;
	line-height: 1;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	color: #333;
	border: 0;
	outline: 0
}
article, aside, figcaption, figure, footer, header, hgroup, menu, nav, section, time {
	display: block
}
li {
	list-style: none
}
ol, ul {
	list-style: none
}
img {
	font-size: 0;
	line-height: 0;
	vertical-align: top;
	border: 0
}
table {
	border-spacing: 0;
	border-collapse: collapse
}
h1, h2, p, pre {
	word-wrap: break-word
}
caption, td, th {
	font-weight: 400;
	text-align: left;
	vertical-align: middle
}
caption {
	font: inherit;
	font-size: 100%;
	margin: 0;
	padding: 0;
	border: 0
}
tbody, tfoot, thead, tr {
	vertical-align: baseline
}
tbody, td, tfoot, th, thead, tr {
	font: inherit;
	font-size: 100%;
	margin: 0;
	padding: 0;
	border: 0
}
hr {
	display: block;
	height: 1px;
	margin: 1em 0;
	padding: 0;
	border: 0;
	border-top: 1px solid #ccc
}
input, select {
	vertical-align: middle
}
button, input, select, textarea {
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	outline: 0;
	background: 0 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}
button {
	padding: 0;
	cursor: pointer;
	border: none;
	outline: 0;
	background-color: transparent;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}
select::-ms-expand {
	display: none
}
.clearfix {
	min-height: 1px
}
.clearfix:after {
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	content: ''
}
body, html {
	height: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background-color: #fff!important;
	-webkit-text-size-adjust: none
}
body.scroll_fixed header h1, html.scroll_fixed header h1 {
	position: fixed;
	z-index: 10000
}
body.scroll_fixed header .otherbtn, html.scroll_fixed header .otherbtn {
	position: fixed;
	z-index: 10000
}
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box
}
html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%
}
body {
	font-family: Overpass, 'Noto Sans Japanese', '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	font-size: 12px;
	line-height: 1;
	text-align: center;
	letter-spacing: .01em;
	color: #333;
	-moz-osx-font-smoothing: grayscale
}
a {
	cursor: pointer;
	text-decoration: none;
	color: #333
}
a img {
	border: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden
}
img {
	max-width: 100%;
	vertical-align: bottom;
	pointer-events: none
}
.button {
	position: relative;
	display: inline-block;
	margin: 0;
	cursor: pointer;
	pointer-events: auto;
	border: none
}
.button::after, .button::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}
.button--calypso {
	font-family: freight-display-pro, serif;
	font-size: 1.15rem;
	overflow: hidden;
	color: #fff;
	border-radius: .85rem
}
.button--calypso b {
	position: relative;
	z-index: 10;
	display: block
}
.button--calypso:hover b {
	-webkit-animation: MoveScaleUpInitial .3s forwards, MoveScaleUpEnd .3s forwards .3s;
	animation: MoveScaleUpInitial .3s forwards, MoveScaleUpEnd .3s forwards .3s
}
@-webkit-keyframes MoveScaleUpInitial {
	to {
		-webkit-transform: translate3d(0, -105%, 0) scale3d(1, 2, 1);
		transform: translate3d(0, -105%, 0) scale3d(1, 2, 1);
		opacity: 0
	}
}
@keyframes MoveScaleUpInitial {
	to {
		-webkit-transform: translate3d(0, -105%, 0) scale3d(1, 2, 1);
		transform: translate3d(0, -105%, 0) scale3d(1, 2, 1);
		opacity: 0
	}
}
@-webkit-keyframes MoveScaleUpEnd {
	from {
		-webkit-transform: translate3d(0, 100%, 0) scale3d(1, 2, 1);
		transform: translate3d(0, 100%, 0) scale3d(1, 2, 1);
		opacity: 0;
		color: #fff
	}
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
		color: #fff
	}
}
@keyframes MoveScaleUpEnd {
	from {
		-webkit-transform: translate3d(0, 100%, 0) scale3d(1, 2, 1);
		transform: translate3d(0, 100%, 0) scale3d(1, 2, 1);
		opacity: 0;
		color: #fff
	}
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
		color: #fff
	}
}
.button--calypso::before {
	top: -110%;
	left: -10%;
	width: 120%;
	height: 0;
	padding-bottom: 120%;
	content: '';
	-webkit-transform: translate3d(0, 68%, 0) scale3d(0, 0, 0);
	transform: translate3d(0, 68%, 0) scale3d(0, 0, 0);
	border-radius: 50%;
	background: #fea621
}
.button--calypso:hover::before {
	-webkit-transition: -webkit-transform .4s cubic-bezier(.1, 0, .3, 1);
	transition: -webkit-transform .4s cubic-bezier(.1, 0, .3, 1);
	transition: transform .4s cubic-bezier(.1, 0, .3, 1);
	transition: transform .4s cubic-bezier(.1, 0, .3, 1), -webkit-transform .4s cubic-bezier(.1, 0, .3, 1);
	-webkit-transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
	transform: translate3d(0, 0, 0) scale3d(1, 1, 1)
}
.button--calypso::after {
	content: '';
	-webkit-transition: -webkit-transform .4s cubic-bezier(.1, 0, .3, 1);
	transition: -webkit-transform .4s cubic-bezier(.1, 0, .3, 1);
	transition: transform .4s cubic-bezier(.1, 0, .3, 1);
	transition: transform .4s cubic-bezier(.1, 0, .3, 1), -webkit-transform .4s cubic-bezier(.1, 0, .3, 1);
	-webkit-transform: translate3d(0, -100%, 0);
	transform: translate3d(0, -100%, 0);
	background: #fea621
}
.button--calypso:hover::after {
	-webkit-transition-delay: .4s;
	transition-delay: .4s;
	-webkit-transition-timing-function: linear;
	transition-timing-function: linear;
	-webkit-transition-duration: .05s;
	transition-duration: .05s;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0)
}
.button--calypso_ {
	font-family: freight-display-pro, serif;
	font-size: 1.15rem;
	overflow: hidden;
	color: #fff;
	border-radius: .85rem
}
.button--calypso_ b {
	position: relative;
	z-index: 10;
	display: block
}
.button--calypso_:hover b {
	-webkit-animation: MoveScaleUpInitial_ .3s forwards, MoveScaleUpEnd_ .3s forwards .3s;
	animation: MoveScaleUpInitial_ .3s forwards, MoveScaleUpEnd_ .3s forwards .3s
}
@-webkit-keyframes MoveScaleUpInitial_ {
	to {
		-webkit-transform: translate3d(0, -105%, 0) scale3d(1, 2, 1);
		transform: translate3d(0, -105%, 0) scale3d(1, 2, 1);
		opacity: 0
	}
}
@keyframes MoveScaleUpInitial_ {
	to {
		-webkit-transform: translate3d(0, -105%, 0) scale3d(1, 2, 1);
		transform: translate3d(0, -105%, 0) scale3d(1, 2, 1);
		opacity: 0
	}
}
@-webkit-keyframes MoveScaleUpEnd_ {
	from {
		-webkit-transform: translate3d(0, 100%, 0) scale3d(1, 2, 1);
		transform: translate3d(0, 100%, 0) scale3d(1, 2, 1);
		opacity: 0
	}
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1
	}
}
@keyframes MoveScaleUpEnd_ {
	from {
		-webkit-transform: translate3d(0, 100%, 0) scale3d(1, 2, 1);
		transform: translate3d(0, 100%, 0) scale3d(1, 2, 1);
		opacity: 0
	}
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1
	}
}
.button--calypso_::before {
	top: -110%;
	left: -10%;
	width: 120%;
	height: 0;
	padding-bottom: 120%;
	content: '';
	-webkit-transform: translate3d(0, 68%, 0) scale3d(0, 0, 0);
	transform: translate3d(0, 68%, 0) scale3d(0, 0, 0);
	border-radius: 50%;
	background: #222
}
.button--calypso_:hover::before {
	-webkit-transition: -webkit-transform .4s cubic-bezier(.1, 0, .3, 1);
	transition: -webkit-transform .4s cubic-bezier(.1, 0, .3, 1);
	transition: transform .4s cubic-bezier(.1, 0, .3, 1);
	transition: transform .4s cubic-bezier(.1, 0, .3, 1), -webkit-transform .4s cubic-bezier(.1, 0, .3, 1);
	-webkit-transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
	transform: translate3d(0, 0, 0) scale3d(1, 1, 1)
}
.button--calypso_::after {
	content: '';
	-webkit-transition: -webkit-transform .4s cubic-bezier(.1, 0, .3, 1);
	transition: -webkit-transform .4s cubic-bezier(.1, 0, .3, 1);
	transition: transform .4s cubic-bezier(.1, 0, .3, 1);
	transition: transform .4s cubic-bezier(.1, 0, .3, 1), -webkit-transform .4s cubic-bezier(.1, 0, .3, 1);
	-webkit-transform: translate3d(0, -100%, 0);
	transform: translate3d(0, -100%, 0);
	background: #222
}
.button--calypso_:hover::after {
	-webkit-transition-delay: .4s;
	transition-delay: .4s;
	-webkit-transition-timing-function: linear;
	transition-timing-function: linear;
	-webkit-transition-duration: .05s;
	transition-duration: .05s;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0)
}
.sp-display {
	display: none!important
}
.cf:after {
	display: block;
	clear: both;
	content: ''
}
.fade__item {
	opacity: 0
}
.show {
	display: block;
	opacity: 1
}
.js__show {
	display: block
}
.t__link {
	position: relative;
	display: inline-block;
	text-decoration: none
}
.t__link::before {
	position: absolute;
	bottom: -8px;
	left: 0;
	display: block;
	width: 100%;
	height: 1px;
	content: '';
	-webkit-transition: compact(transform .3s cubic-bezier(1, 0, 0, 1), false, false, false, false, false, false, false, false, false);
	transition: compact(transform .3s cubic-bezier(1, 0, 0, 1), false, false, false, false, false, false, false, false, false);
	-webkit-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	transform: scale(0, 1);
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
	background: #fff
}
.t__link:hover::before {
	-webkit-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	transform: scale(1, 1);
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top
}
.h__link {
	position: relative;
	display: inline-block;
	padding: 5px 2px 7px 2px;
	-webkit-transition: compact(all .3s ease-in-out, false, false, false, false, false, false, false, false, false);
	transition: compact(all .3s ease-in-out, false, false, false, false, false, false, false, false, false);
	text-decoration: none;
	color: #0058a1
}
.h__link::after {
	position: absolute;
	z-index: -1;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	content: '';
	-webkit-transition: compact(all .3s ease-in-out, false, false, false, false, false, false, false, false, false);
	transition: compact(all .3s ease-in-out, false, false, false, false, false, false, false, false, false);
	background: #0058a1
}
.h__link:hover {
	color: #fff!important
}
.h__link:hover::after {
	height: 100%
}
.m-active {
	position: relative
}
.m-active::before {
	-webkit-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	transform: scale(1, 1);
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top
}
.flex_display {
	display: -webkit-flex;
	display: -moz-flex;
	display: -o-flex;
	display: -ms-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	-moz-justify-content: center;
	-o-justify-content: center;
	-ms-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap
}
.flex_list_display {
	display: -webkit-flex;
	display: -moz-flex;
	display: -o-flex;
	display: -ms-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-o-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	-moz-align-items: flex-start;
	-o-align-items: flex-start;
	-ms-align-items: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start
}
.m_button {
	font-size: 11.5px;
	font-weight: 900;
	position: relative;
	display: inline-block;
	overflow: hidden;
	width: 240px;
	padding: 20px 0;
	-webkit-transition: compact(all .2s ease-in-out, false, false, false, false, false, false, false, false, false);
	transition: compact(all .2s ease-in-out, false, false, false, false, false, false, false, false, false);
	letter-spacing: .3em;
	border: 1px solid #000
}
.m_button:hover {
	color: #fff;
	background: #000
}
.mbt {
	-webkit-transition: compact(all .2s ease-in-out, false, false, false, false, false, false, false, false, false);
	transition: compact(all .2s ease-in-out, false, false, false, false, false, false, false, false, false);
	color: #fff;
	background-color: #000
}
.mbt:hover {
	color: #000;
	background: #fff
}
.m_links {
	font-size: 11px;
	font-weight: 700;
	position: relative;
	display: inline-block;
	letter-spacing: .2em
}
.m_links::before {
	position: absolute;
	bottom: -15px;
	left: 0;
	width: 40px;
	height: 2px;
	content: '';
	-webkit-transition: compact(all .2s ease-in-out, false, false, false, false, false, false, false, false, false);
	transition: compact(all .2s ease-in-out, false, false, false, false, false, false, false, false, false);
	background: #000
}
.m_links:hover::before {
	width: 80px
}
.bold {
	font-weight: 700
}
.btn {
	position: relative;
	display: block;
	width: 310px;
	margin-top: 50px;
	padding: 17px 0 14px;
	text-align: center;
	border-radius: 25px;
	background-color: #fea621
}
.btn span {
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 7px;
	display: block;
	width: 20.5px;
	height: 34.5px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	background-image: url(../../images/common/i_link.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain
}
.btn b {
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: .06em;
	color: #fff
}
.is-content {
	position: relative;
	max-width: 1280px;
	margin: 0 auto
}
.p-content {
	padding: 0 20px;
	opacity: 0
}
.checkbox {
	line-height: 20px;
	position: relative;
	display: inline-block;
	overflow: hidden;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding-left: calc(20px + 5px);
	cursor: pointer
}
.checkbox:before {
	position: absolute;
	z-index: 3;
	top: 0;
	left: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	box-sizing: border-box;
	width: 20px;
	height: 20px;
	content: '';
	border: 1px solid #d5d5d5
}
.checkbox:after {
	position: absolute;
	z-index: 1;
	top: calc(50% - (((14px / 12) * 5)/ 2));
	left: calc((20px / 2) - (((14px / 12) * 5)/ 2));
	display: block;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: calc(((14px / 12) * 5));
	height: 14px;
	margin-top: calc(((14px / 12) * 5) * -1);
	content: '';
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	border-right: 2px solid #000;
	border-bottom: 2px solid #000
}
.checkbox input[type=checkbox] {
	position: absolute;
	z-index: 2;
	left: calc(20px * -1);
	display: block;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 20px;
	height: 20px;
	margin: 0;
	padding: 0;
	-webkit-transition: compact(all .3s ease-in-out, false, false, false, false, false, false, false, false, false);
	transition: compact(all .3s ease-in-out, false, false, false, false, false, false, false, false, false);
	outline: 0;
	-webkit-box-shadow: 20px 0 #fff;
	box-shadow: 20px 0 #fff;
	-moz-appearance: none;
	-webkit-appearance: none
}
.checkbox input[type=checkbox]:checked {
	opacity: .1
}
.checkbox input[type=checkbox]:checked:focus {
	opacity: .1
}
.p-breadcrumbs {
	max-width: 1280px;
	margin: 130px auto 0 auto;
	text-align: left
}
.p-breadcrumbs a {
	font-size: 10.5px;
	font-size: .65625rem;
	-webkit-transition: compact(all .3s ease, false, false, false, false, false, false, false, false, false);
	transition: compact(all .3s ease, false, false, false, false, false, false, false, false, false);
	letter-spacing: .03em;
	color: #969696
}
.p-breadcrumbs a:hover {
	color: #000
}
.p-breadcrumbs .pb-child {
	position: relative;
	padding-right: 25px
}
.p-breadcrumbs .pb-child::before {
	position: absolute;
	top: 54%;
	right: 10px;
	width: 5px;
	height: 5px;
	margin-top: -3px;
	content: '';
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	border: 0;
	border-top: solid 1px #999;
	border-right: solid 1px #999
}
.p-breadcrumbs .pb-child::hover {
	color: #000
}
.p-breadcrumbs .pb-child-active::before {
	display: none
}
.pagetop {
	font-size: 0;
	position: fixed;
	right: 40px;
	bottom: 40px;
	display: block;
	width: 31px;
	height: 35px;
	background-image: url(../../images/common/i_pagetop.png);
	background-repeat: no-repeat;
	background-size: cover
}
.js__display {
	position: relative;
	-webkit-transition: -webkit-transform .6s ease, -webkit-box-shadow .3s ease .6s;
	transition: -webkit-transform .6s ease, -webkit-box-shadow .3s ease .6s;
	transition: transform .6s ease, box-shadow .3s ease .6s;
	transition: transform .6s ease, box-shadow .3s ease .6s, -webkit-transform .6s ease, -webkit-box-shadow .3s ease .6s;
	-webkit-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	transform: scale(0, 1);
	-webkit-transform-origin: 0 50%;
	-ms-transform-origin: 0 50%;
	transform-origin: 0 50%
}
.js__display.js__show {
	-webkit-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	transform: scale(1, 1)
}
.js__display::after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: '';
	-webkit-transition: -webkit-transform .6s ease .6s;
	transition: -webkit-transform .6s ease .6s;
	transition: transform .6s ease .6s;
	transition: transform .6s ease .6s, -webkit-transform .6s ease .6s;
	-webkit-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	transform: scale(1, 1);
	-webkit-transform-origin: 100% 50%;
	-ms-transform-origin: 100% 50%;
	transform-origin: 100% 50%;
	background-color: #000
}
.js__display.js__show::after {
	-webkit-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	transform: scale(0, 1)
}
.js__trans {
	position: relative;
	overflow: hidden
}
.js__trans:after {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: '';
	-webkit-transition: -webkit-transform 1.8s cubic-bezier(.16, 1.08, .38, .98);
	-webkit-transition: 1.8s cubic-bezier(.16, 1.08, .38, .98);
	transition: -webkit-transform 1.8s cubic-bezier(.16, 1.08, .38, .98);
	transition: 1.8s cubic-bezier(.16, 1.08, .38, .98);
	transition: transform 1.8s cubic-bezier(.16, 1.08, .38, .98), -webkit-transform 1.8s cubic-bezier(.16, 1.08, .38, .98);
	background: #fff
}
.js__show.js__trans:after {
	-webkit-transform: translate3d(100%, 0, 0);
	transform: translate3d(100%, 0, 0)
}
@-webkit-keyframes fadePage {
	from {
		-webkit-transform: translateY(25px);
		transform: translateY(25px);
		opacity: 0
	}
}
@keyframes fadePage {
	from {
		-webkit-transform: translateY(25px);
		transform: translateY(25px);
		opacity: 0
	}
}
@-webkit-keyframes fadeInUp {
	from {
		-webkit-transform: translateY(100px);
		transform: translateY(100px);
		opacity: 0
	}
}
@keyframes fadeInUp {
	from {
		-webkit-transform: translateY(100px);
		transform: translateY(100px);
		opacity: 0
	}
}
@-webkit-keyframes fadeInDown {
	from {
		-webkit-transform: translateY(-100px);
		transform: translateY(-100px);
		opacity: 0
	}
}
@keyframes fadeInDown {
	from {
		-webkit-transform: translateY(-100px);
		transform: translateY(-100px);
		opacity: 0
	}
}
@-webkit-keyframes fadeInRight {
	from {
		-webkit-transform: translateX(100px);
		transform: translateX(100px);
		opacity: 0
	}
}
@keyframes fadeInRight {
	from {
		-webkit-transform: translateX(100px);
		transform: translateX(100px);
		opacity: 0
	}
}
@-webkit-keyframes fadeInLeft {
	from {
		-webkit-transform: translateX(-100px);
		transform: translateX(-100px);
		opacity: 0
	}
}
@keyframes fadeInLeft {
	from {
		-webkit-transform: translateX(-100px);
		transform: translateX(-100px);
		opacity: 0
	}
}
@-webkit-keyframes fadeInCenter {
	from {
		opacity: 0
	}
}
@keyframes fadeInCenter {
	from {
		opacity: 0
	}
}
.fadePage {
	-webkit-animation: fadePage .5s ease both;
	animation: fadePage .5s ease both;
	opacity: 1!important
}
.fadeInUp {
	-webkit-animation: fadeInUp 1s ease both;
	animation: fadeInUp 1s ease both;
	opacity: 1!important
}
.fadeInDown {
	-webkit-animation: fadeInDown 1s ease both;
	animation: fadeInDown 1s ease both;
	opacity: 1!important
}
.fadeInRight {
	-webkit-animation: fadeInRight 1s ease both;
	animation: fadeInRight 1s ease both;
	opacity: 1!important
}
.fadeInLeft {
	-webkit-animation: fadeInLeft 1s ease both;
	animation: fadeInLeft 1s ease both;
	opacity: 1!important
}
.fadeInCenter {
	-webkit-animation: fadeInCenter .8s ease both;
	animation: fadeInCenter .8s ease both;
	opacity: 1!important
}
.pagetop {
	z-index: 100
}
.c-loading {
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	overflow: hidden;
	width: 100%;
	height: 100%;
	background: #1a1919
}
.c-loading #lottie_load {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 110px;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}
.c-loading .overlay {
	position: absolute;
	z-index: 20;
	top: 50%;
	left: 50%;
	display: block;
	width: 160px;
	height: 138px;
	content: '';
	-webkit-transform: translate(-150%, -50%);
	-ms-transform: translate(-150%, -50%);
	transform: translate(-150%, -50%);
	background-color: #1a1919
}
.c-loading.js__loading {
	-webkit-animation: loading_hide .8s forwards 2.6s;
	animation: loading_hide .8s forwards 2.6s
}
.c-loading.js__loading .overlay {
	-webkit-animation: overlay_cover .8s forwards 2.1s;
	animation: overlay_cover .8s forwards 2.1s
}
@-webkit-keyframes opening {
	0% {
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%)
	}
	70% {
		-webkit-transform: translate(-50%, -80%);
		transform: translate(-50%, -80%)
	}
	100% {
		-webkit-transform: translate(-50%, -150%);
		transform: translate(-50%, -150%)
	}
}
@keyframes opening {
	0% {
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%)
	}
	70% {
		-webkit-transform: translate(-50%, -80%);
		transform: translate(-50%, -80%)
	}
	100% {
		-webkit-transform: translate(-50%, -150%);
		transform: translate(-50%, -150%)
	}
}
@-webkit-keyframes overlay_cover {
	0% {
		-webkit-transform: translate(-150%, -50%);
		transform: translate(-150%, -50%)
	}
	100% {
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%)
	}
}
@keyframes overlay_cover {
	0% {
		-webkit-transform: translate(-150%, -50%);
		transform: translate(-150%, -50%)
	}
	100% {
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%)
	}
}
@-webkit-keyframes loading_hide {
	0% {
		left: 0
	}
	100% {
		left: 100%
	}
}
@keyframes loading_hide {
	0% {
		left: 0
	}
	100% {
		left: 100%
	}
}
.inverse-default {
	color: #fff!important;
	background-color: #000!important
}
footer {
	position: relative;
	z-index: 1;
	overflow: hidden;
	padding-top: 120px;
	padding-bottom: 70px;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	text-align: left;
	background-color: #1a1919
}
footer:before {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	display: block;
	width: 80%;
	height: 50.2vw;
	content: '';
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	opacity: .02;
	background-image: url(../../images/common/i_pulse.svg);
	background-position: center;
	background-size: cover
}
footer .f_logo {
	position: relative;
	z-index: 1;
	width: 227px;
	margin: 0 auto
}
footer .f_logo a {
	display: block
}
footer .f_sns {
	position: relative;
	z-index: 1;
	margin-top: 40px;
	text-align: center
}
footer .f_sns strong {
	font-size: 13px;
	font-size: .8125rem;
	font-size: 12px;
	font-size: .75rem;
	font-weight: 600;
	display: block;
	margin-top: 45px;
	letter-spacing: .13em;
	color: #fff
}
footer .f_sns .sns_menu {
	margin-top: 20px
}
footer .f_sns .sns_menu li {
	display: inline-block;
	margin-right: 10px
}
footer .f_sns .sns_menu li:last-child {
	margin-right: 0
}
footer .f_sns .sns_menu li a {
	display: block;
	width: 32px
}
footer .f_sns .sns_menu li a img {
	width: 100%
}
footer .privacy {
	position: relative;
	z-index: 1
}
footer .privacy a {
	font-size: 15px;
	font-size: .9375rem;
	font-weight: 200;
	display: block;
	margin-top: 40px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #fff
}
footer .copy {
	font-size: 11px;
	font-size: .6875rem;
	margin-top: 80px;
	text-align: center;
	letter-spacing: .1em;
	color: #fff
}
.subpage header h1 a:before {
	background-image: url(../../images/common/logo_w.svg)
}
.subpage header .c-sp-btn a .line {
	background-color: #fff
}
header {
	position: absolute;
	z-index: 1000;
	top: 0;
	left: 0;
	width: 100%;
	-webkit-transition: 1.5s;
	transition: 1.5s
}
header h1 {
	font-size: 0;
	position: absolute;
	z-index: 1000;
	top: 50px;
	left: 50px
}
header h1 a:before {
	display: block;
	width: 241.6px;
	height: 39px;
	content: '';
	background-image: url(../../images/common/logo.svg);
	background-repeat: no-repeat;
	background-size: contain
}
header nav {
	position: absolute;
	z-index: 1000;
	top: 50px;
	right: 40px;
	margin: 0
}
header nav .menu {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center
}
header nav .menu.subpagemenu .main_menu li a strong {
	color: #fff
}
header nav .menu.subpagemenu .contact a {
	background-color: #222
}
header nav .menu .main_menu li {
	display: inline-block;
	margin-right: 35px
}
header nav .menu .main_menu li a {
	position: relative;
	display: inline-block;
	text-decoration: none
}
header nav .menu .main_menu li a:after {
	position: absolute;
	top: 30%;
	left: 0;
	width: 100%;
	height: 2px;
	content: '';
	-webkit-transition: -webkit-transform .3s cubic-bezier(.4, 1, .8, 1);
	transition: -webkit-transform .3s cubic-bezier(.4, 1, .8, 1);
	transition: transform .3s cubic-bezier(.4, 1, .8, 1);
	transition: transform .3s cubic-bezier(.4, 1, .8, 1), -webkit-transform .3s cubic-bezier(.4, 1, .8, 1);
	-webkit-transform: scale3d(0, 1, 1);
	transform: scale3d(0, 1, 1);
	-webkit-transform-origin: 100% 50%;
	-ms-transform-origin: 100% 50%;
	transform-origin: 100% 50%;
	pointer-events: none;
	background: #fea621
}
header nav .menu .main_menu li a:hover {
	opacity: 1
}
header nav .menu .main_menu li a:hover:after {
	-webkit-transform: scale3d(1, 1, 1);
	transform: scale3d(1, 1, 1);
	-webkit-transform-origin: 0 50%;
	-ms-transform-origin: 0 50%;
	transform-origin: 0 50%
}
header nav .menu .main_menu li a strong {
	font-size: 17px;
	font-size: 1.0625rem;
	letter-spacing: .08em;
	color: #222
}
header nav .menu .main_menu li a small {
	font-size: 11px;
	font-size: .6875rem;
	display: block;
	margin-top: 8px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #fea621
}
header nav .menu .main_menu li span strong {
	font-size: 14px;
	font-size: .875rem;
	letter-spacing: .08em;
	color: #5b0000
}
header nav .menu .main_menu li span small {
	font-size: 11px;
	font-size: .6875rem;
	display: block;
	margin-top: 8px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #fea621
}
header nav .menu .sns_menu {
	margin-right: 20px
}
header nav .menu .sns_menu li {
	display: inline-block;
	margin-right: 10px
}
header nav .menu .sns_menu li a {
	display: block;
	-webkit-transition: .6s;
	transition: .6s
}
header nav .menu .sns_menu li a:hover {
	opacity: .6
}
header nav .menu .sns_menu li a img {
	width: 100%
}
header nav .menu .sns_menu li a img.menu_on {
	display: none
}
header nav .menu .sns_menu li a img.menu_off {
	display: block
}
header nav .menu .contact a {
	display: block;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	padding: 18px 40px 15px;
	-webkit-transition: .6s;
	transition: .6s;
	border-radius: 25px;
	background-color: #fea621;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center
}
header nav .menu .contact a b {
	font-size: 16px;
	font-size: 1rem;
	font-weight: 600;
	position: relative;
	z-index: 10;
	display: inline-block;
	letter-spacing: .02em;
	color: #fff
}
header nav .menu .sub_menu li a {
	font-weight: 600;
	text-decoration: underline;
	letter-spacing: .06em;
	color: #fff
}
.c-sp-btn {
	position: fixed;
	z-index: 101;
	z-index: 1000;
	top: 68px;
	left: 50%;
	display: none;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%)
}
.c-sp-btn a {
	display: block;
	text-align: center;
	text-decoration: none
}
.c-sp-btn a .line {
	display: block;
	width: 67px;
	height: 2px;
	margin-bottom: 10px;
	-webkit-transition: background-color .3s ease;
	-webkit-transition: all .5s;
	transition: background-color .3s ease;
	transition: all .5s;
	background-color: #222
}
.c-sp-btn a .line.h_bk {
	background-color: #333
}
.c-sp-btn.is_active a .line.l_1 {
	-webkit-transform: rotate(-20deg) translateY(6.5px);
	-ms-transform: rotate(-20deg) translateY(6.5px);
	transform: rotate(-20deg) translateY(6.5px);
	background-color: #fff
}
.c-sp-btn.is_active a .line.l_2 {
	-webkit-transform: rotate(20deg) translateY(-7px);
	-ms-transform: rotate(20deg) translateY(-7px);
	transform: rotate(20deg) translateY(-7px);
	background-color: #fff
}
.c-sp-btn.is_active a .line.h_bk {
	background-color: #fff
}
.c-sp-btn.is_active a .h_bk {
	color: #fff
}
.c-sp-btn.is_override a .line {
	background-color: #fff
}
.c-sp-btn.is_override a p {
	color: #fff
}
@-webkit-keyframes show {
	from {
		opacity: 0
	}
	to {
		opacity: 1
	}
}
@keyframes show {
	from {
		opacity: 0
	}
	to {
		opacity: 1
	}
}
#wrapper_main.subpage .subcontent {
	background-color: #f0eee7
}
#wrapper_main.subpage .subcontent .subkv {
	position: relative
}
#wrapper_main.subpage .subcontent .subkv:before {
	position: absolute;
	display: block;
	width: 100%;
	height: calc(100% - 70px);
	content: '';
	background-image: url(../../images/index/bg_kv.jpg);
	background-size: cover
}
#wrapper_main.subpage .subcontent .subkv:after {
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 50%;
	display: block;
	width: 200px;
	height: 185px;
	content: '';
	-webkit-transform: translate(-50%, 50%);
	-ms-transform: translate(-50%, 50%);
	transform: translate(-50%, 50%);
	background-image: url(../../images/common/i_pulse.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain
}
#wrapper_main.subpage .subcontent .subkv .inner {
	position: relative;
	z-index: 1;
	padding: 0 8.46%;
	padding-top: 200px;
	text-align: left
}
#wrapper_main.subpage .subcontent .subkv .inner h2 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center
}
#wrapper_main.subpage .subcontent .subkv .inner h2 strong {
	font-size: 90px;
	font-size: 5.625rem;
	font-weight: 800;
	padding-right: 20px;
	letter-spacing: .01em;
	color: #fff
}
#wrapper_main.subpage .subcontent .subkv .inner h2 small {
	font-size: 16px;
	font-size: 1rem;
	letter-spacing: .08em;
	color: #fff
}
#wrapper_main.subpage .subcontent .subkv .inner h2.cs_detail strong {
	font-size: 56px;
	font-size: 3.5rem;
	line-height: 1.3
}
#wrapper_main.subpage .subcontent .subkv .inner .topicpath {
	margin-top: 60px
}
#wrapper_main.subpage .subcontent .subkv .inner .topicpath a {
	font-size: 14px;
	font-size: .875rem;
	text-decoration: underline;
	letter-spacing: .02em;
	color: #fff
}
#wrapper_main.subpage .subcontent .subkv .inner .topicpath small {
	font-size: 14px;
	font-size: .875rem;
	padding: 0 8px;
	letter-spacing: .02em;
	color: #fff
}
#wrapper_main.subpage .subcontent .subkv .inner .topicpath span {
	font-size: 14px;
	font-size: .875rem;
	letter-spacing: .02em;
	color: #fff
}
#wrapper_main.subpage .subcontent .subkv .kvimg {
	position: relative;
	z-index: 1;
	height: 500px;
	margin-top: 20px;
	margin-left: 8.46%;
	border-radius: 20px 0 0 20px;
	background-position: center;
	background-size: cover
}
#wrapper_main.subpage .subcontent .subkv .kvimg.business {
	background-image: url(../../images/business/kv.jpg)
}
#wrapper_main.subpage .subcontent .subkv .kvimg.privacy {
	background-image: url(../../images/privacy/kv.jpg)
}
#wrapper_main.subpage .subcontent .subkv .kvimg.company {
	background-image: url(../../images/company/kv.jpg)
}
#wrapper_main.subpage .subcontent .subkv .kvimg.casestudy {
	background-image: url(../../images/casestudy/kv.jpg)
}
#wrapper_main.subpage .subcontent .subkv .kvimg.casestudy.cs1 {
	background-image: url(../../images/casestudy/kv_cs01.jpg)
}
#wrapper_main.subpage .subcontent .subkv .kvimg.casestudy.cs2 {
	background-image: url(../../images/casestudy/kv_cs02.jpg)
}
#wrapper_main.subpage .subcontent .subkv .kvimg.casestudy.cs3 {
	background-image: url(../../images/casestudy/kv_cs03.jpg)
}
#wrapper_main.subpage .subcontent .subkv .kvimg.casestudy.cs4 {
	background-image: url(../../images/casestudy/kv_cs04.jpg)
}
#wrapper_main.subpage .subcontent .subkv .kvimg.casestudy.cs5 {
	background-image: url(../../images/casestudy/kv_cs05.jpg)
}
#wrapper_main.subpage .subcontent .subkv .kvimg.casestudy.cs6 {
	background-image: url(../../images/casestudy/kv_cs06.jpg)
}
#wrapper_main.subpage .subcontent .subkv .kvimg.casestudy.cs7 {
	background-image: url(../../images/casestudy/kv_cs07.jpg)
}
#wrapper_main.subpage .subcontent .subkv .kvimg.contact {
	background-image: url(../../images/contact/kv.jpg)
}
#wrapper_main.subpage .subcontent .description-area {
	margin-top: -70px;
	padding-top: calc(70px + 190px);
	background-color: #f0eee7
}
#wrapper_main.subpage .subcontent .description-area small {
	position: relative;
	display: block
}
#wrapper_main.subpage .subcontent .description-area small span {
	font-size: 19px;
	font-size: 1.1875rem;
	font-weight: 600;
	position: relative;
	z-index: 1;
	display: block;
	letter-spacing: .04em
}
#wrapper_main.subpage .subcontent .description-area small:before {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 480px;
	height: 58px;
	content: '';
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	background-image: url(../../images/business/txt_who.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain
}
#wrapper_main.subpage .subcontent .description-area small:after {
	position: absolute;
	bottom: -50px;
	left: 50%;
	display: block;
	width: 74px;
	height: 3px;
	content: '';
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	background-color: #fea621
}
#wrapper_main.subpage .subcontent .description-area h3 {
	font-size: 32px;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.4;
	position: relative;
	display: table;
	margin: 130px auto 0;
	text-align: center;
	letter-spacing: .02em
}
#wrapper_main.subpage .subcontent .description-area h3:before {
	position: absolute;
	top: 0;
	left: -50px;
	display: block;
	width: 30px;
	height: 21px;
	content: '';
	background-image: url(../../images/business/quarto.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain
}
#wrapper_main.subpage .subcontent .description-area h3:after {
	position: absolute;
	right: -50px;
	bottom: 0;
	display: block;
	width: 30px;
	height: 21px;
	content: '';
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
	background-image: url(../../images/business/quarto.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain
}
#wrapper_main.subpage .subcontent .description-area p {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 1.8;
	margin-top: 50px;
	letter-spacing: .04em
}
#wrapper_main.subpage .subcontent .business-container {
	margin: 130px 30px 0;
	border-radius: 20px;
	background-color: #fff
}
#wrapper_main.subpage .subcontent .business-container .inner {
	position: relative;
	padding: 130px 0 0;
	text-align: left
}
#wrapper_main.subpage .subcontent .business-container .inner h3 {
	position: relative;
	margin-left: 90px
}
#wrapper_main.subpage .subcontent .business-container .inner h3:before {
	position: absolute;
	top: -40px;
	display: block;
	width: 74px;
	height: 3px;
	content: '';
	background-color: #fea621
}
#wrapper_main.subpage .subcontent .business-container .inner h3 strong {
	font-size: 34px;
	font-size: 2.125rem;
	font-weight: 800;
	display: block;
	letter-spacing: .06em
}
#wrapper_main.subpage .subcontent .business-container .inner h3 small {
	font-size: 16px;
	font-size: 1rem;
	font-weight: 500;
	display: block;
	margin-top: 18px;
	letter-spacing: .08em;
	color: #fea621
}
#wrapper_main.subpage .subcontent .business-container .inner .description {
	font-size: 16px;
	font-size: 1rem;
	font-weight: 500;
	position: absolute;
	top: 140px;
	right: 90px;
	letter-spacing: .02em
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap {
	position: relative;
	margin-top: 100px
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL {
	position: relative;
	float: left;
	width: 50%;
	padding-right: 80px;
	padding-left: 90px
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL:before {
	position: absolute;
	top: 20px;
	right: 0;
	display: block;
	width: 1px;
	height: calc(100% - 20px);
	content: '';
	background-color: #fea621
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list {
	position: relative;
	margin-top: 120px
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list:before {
	font-size: 86px;
	font-size: 5.375rem;
	font-weight: 600;
	display: inline-block;
	color: #fea621
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list.brand:before {
	content: '3.'
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list.event:before {
	content: '2.'
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list.promotion {
	margin-top: 0
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list.promotion:before {
	content: '1.'
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list:after {
	position: absolute;
	top: 20px;
	right: calc(-80px - 11px);
	display: block;
	width: 22px;
	height: 22px;
	content: '';
	border-radius: 11px;
	background-color: #fea621
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list h4 {
	display: inline-block;
	margin-left: 20px
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list h4 small {
	font-size: 12px;
	font-size: .75rem;
	display: block;
	letter-spacing: .1em;
	color: #fea621
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list h4 strong {
	font-size: 32px;
	font-size: 2rem;
	font-weight: 600;
	display: block;
	margin-top: 14px;
	letter-spacing: .03em
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list ul {
	margin-top: 20px
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list ul li {
	font-size: 13px;
	font-size: .8125rem;
	font-weight: 600;
	display: inline-block;
	margin-right: 5px;
	margin-bottom: 5px;
	padding: 8px 20px 8px;
	letter-spacing: .01em;
	color: #3f4d57;
	border-radius: 20px;
	background-color: #f0eee7
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list p {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 1.8;
	margin-top: 40px;
	letter-spacing: .04em
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list img {
	margin-top: 40px;
	border-radius: 10px
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR {
	position: relative;
	float: left;
	width: 50%;
	margin: 100px auto 0
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR.js__rotation01 ul li.list01 {
	top: 50%;
	right: 50%;
	left: auto;
	-webkit-transform: translate(-11%, -5%);
	-ms-transform: translate(-11%, -5%);
	transform: translate(-11%, -5%)
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR.js__rotation01 ul li.list01:before {
	border: 3px solid #eeebe3
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR.js__rotation01 ul li.list01 .list_wrap img {
	opacity: .4
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR.js__rotation01 ul li.list02 {
	top: 50%;
	left: 50%;
	-webkit-transform: translate(11%, -5%);
	-ms-transform: translate(11%, -5%);
	transform: translate(11%, -5%)
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR.js__rotation01 ul li.list03 {
	top: auto;
	bottom: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -25%);
	-ms-transform: translate(-50%, -25%);
	transform: translate(-50%, -25%)
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR.js__rotation01 ul li.list03:before {
	border: 3px solid #fea621
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR.js__rotation01 ul li.list03 .list_wrap img {
	opacity: 1
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR.js__rotation02 ul li.list01 {
	top: 50%;
	left: 50%;
	-webkit-transform: translate(11%, -5%);
	-ms-transform: translate(11%, -5%);
	transform: translate(11%, -5%)
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR.js__rotation02 ul li.list02 {
	top: auto;
	bottom: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -25%);
	-ms-transform: translate(-50%, -25%);
	transform: translate(-50%, -25%)
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR.js__rotation02 ul li.list02:before {
	border: 3px solid #fea621
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR.js__rotation02 ul li.list02 .list_wrap img {
	opacity: 1
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR.js__rotation02 ul li.list03 {
	top: 50%;
	right: 50%;
	left: auto;
	-webkit-transform: translate(-11%, -5%);
	-ms-transform: translate(-11%, -5%);
	transform: translate(-11%, -5%)
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR.js__rotation02 ul li.list03:before {
	border: 3px solid #eeebe3
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR.js__rotation02 ul li.list03 .list_wrap img {
	opacity: .4
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR .trigger {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 100vh
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR #lottie {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50px;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR ul {
	position: absolute;
	top: 0;
	left: 50%;
	width: 58%;
	height: 28vw;
	margin: 0 auto;
	-webkit-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	background-image: url(../../images/business/bg_business_circle.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR ul.js__img-fixed {
	position: fixed;
	top: 50%;
	right: 30px;
	bottom: auto;
	width: calc(30% - 32px);
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%)
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR ul.js__img-scroll {
	position: absolute;
	top: auto;
	right: 0;
	bottom: calc(50vh);
	width: calc(58%);
	-webkit-transform: translate(-50%, 50%);
	-ms-transform: translate(-50%, 50%);
	transform: translate(-50%, 50%)
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR ul li {
	position: relative;
	position: absolute;
	width: 57.7%;
	height: 57.7%;
	-webkit-transition: all .4s linear;
	transition: all .4s linear;
	text-align: center;
	border-radius: 50%;
	background-color: #fff
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR ul li:before {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: calc(100% - 1.5px);
	height: calc(100% - 1.5px);
	content: '';
	-webkit-transition: all .4s linear;
	transition: all .4s linear;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	border: 3px solid #eeebe3;
	border-radius: 50%
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR ul li:nth-child(1) {
	bottom: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -25%);
	-ms-transform: translate(-50%, -25%);
	transform: translate(-50%, -25%)
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR ul li:nth-child(2) {
	top: 50%;
	right: 50%;
	-webkit-transform: translate(-11%, -5%);
	-ms-transform: translate(-11%, -5%);
	transform: translate(-11%, -5%)
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR ul li:nth-child(3) {
	top: 50%;
	left: 50%;
	-webkit-transform: translate(11%, -5%);
	-ms-transform: translate(11%, -5%);
	transform: translate(11%, -5%)
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR ul li.list01:before {
	border: 3px solid #fea621
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR ul li.list01 .list_wrap img {
	opacity: 1
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR ul li .list_wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}
#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR ul li .list_wrap img {
	width: 100%;
	-webkit-transition: all .4s linear;
	transition: all .4s linear;
	opacity: .4
}
#wrapper_main.subpage .subcontent .casestudy_container {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-top: 100px;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center
}
#wrapper_main.subpage .subcontent .casestudy_container .cs_img {
	width: 30%
}
#wrapper_main.subpage .subcontent .casestudy_container .inner .description span:before {
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-right: 5px;
	content: '';
	border-radius: 5px;
	background-color: #fea621
}
#wrapper_main.subpage .subcontent .casestudy_container .inner .description span b {
	font-size: 15px;
	font-size: .9375rem;
	letter-spacing: .06em
}
#wrapper_main.subpage .subcontent .casestudy_container .inner .description strong {
	font-size: 58px;
	font-size: 3.625rem;
	font-weight: 800;
	display: block;
	margin-top: 25px;
	letter-spacing: .06em;
	text-transform: uppercase
}
#wrapper_main.subpage .subcontent .casestudy_container .inner .description p {
	font-size: 17px;
	font-size: 1.0625rem;
	line-height: 1.7;
	margin-top: 30px;
	letter-spacing: .03em
}
#wrapper_main.subpage .subcontent .casestudy_container .inner .description p small {
	display: inline-block;
	width: 23px
}
#wrapper_main.subpage .subcontent .casestudy_container .inner .description p small img {
	width: 100%
}
#wrapper_main.subpage .subcontent .casestudy_container .inner .btn {
	margin: 0 auto;
	padding: 22px 0 17px;
	border-radius: 30px
}
#wrapper_main.subpage .subcontent .casestudy_container .inner .btn b {
	font-size: 22px;
	font-size: 1.375rem
}
#wrapper_main.subpage .subcontent .content.cs-container .inner {
	width: 100%;
	max-width: none
}
#wrapper_main.subpage .subcontent .content.cs-container .inner ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-top: 40px;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
#wrapper_main.subpage .subcontent .content.cs-container .inner ul li {
	width: 32%;
	margin-right: 2%;
	margin-bottom: 30px;
	padding: 20px;
	border-radius: 20px;
	background-color: #fff
}
#wrapper_main.subpage .subcontent .content.cs-container .inner ul li:nth-child(3n) {
	margin-right: 0
}
#wrapper_main.subpage .subcontent .content.cs-container .inner ul li a {
	display: block
}
#wrapper_main.subpage .subcontent .content.cs-container .inner ul li img {
	border-radius: 20px
}
#wrapper_main.subpage .subcontent .content.cs-container .inner ul li h4 {
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.4;
	margin-top: 30px;
	padding: 0 10px;
	letter-spacing: .02em
}
#wrapper_main.subpage .subcontent .content.cs-container .inner ul li .tab {
	margin-top: 15px;
	padding: 0 10px
}
#wrapper_main.subpage .subcontent .content.cs-container .inner ul li .tab span {
	font-size: 12px;
	font-size: .75rem;
	display: inline-block;
	margin-right: 5px;
	margin-bottom: 5px;
	padding: 4px 10px 1px;
	color: #fea621;
	border: 1px solid #fea621;
	border-radius: 20px
}
#wrapper_main.subpage .subcontent .content.cs-container .inner ul li p {
	font-size: 14px;
	font-size: .875rem;
	line-height: 1.85;
	margin-top: 20px;
	padding: 0 10px;
	letter-spacing: .04em
}
#wrapper_main.subpage .subcontent .content.cs-detail_container .inner {
	max-width: none;
	padding-bottom: 0
}
#wrapper_main.subpage .subcontent .content.cs-detail_container .inner .intro {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between
}
#wrapper_main.subpage .subcontent .content.cs-detail_container .inner .intro .i_info {
	position: relative;
	width: 38.2%
}
#wrapper_main.subpage .subcontent .content.cs-detail_container .inner .intro .i_info:before {
	position: absolute;
	top: -40px;
	display: block;
	width: 74px;
	height: 3px;
	content: '';
	background-color: #fea621
}
#wrapper_main.subpage .subcontent .content.cs-detail_container .inner .intro .i_info ul li {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 20px;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start
}
#wrapper_main.subpage .subcontent .content.cs-detail_container .inner .intro .i_info ul li span {
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.4;
	display: inline-block;
	width: 5em;
	letter-spacing: .02em;
	color: #555
}
#wrapper_main.subpage .subcontent .content.cs-detail_container .inner .intro .i_info ul li strong {
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.4;
	display: inline-block;
	width: calc(100% - 5em);
	letter-spacing: .02em
}
#wrapper_main.subpage .subcontent .content.cs-detail_container .inner .intro p {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 2;
	width: 56%;
	letter-spacing: .04em
}
#wrapper_main.subpage .subcontent .content.cs-detail_container .inner a {
	position: relative;
	display: block;
	width: 310px;
	margin-top: 30px;
	padding: 16px 0 12px;
	text-align: center;
	border-radius: 30px;
	background-color: #333
}
#wrapper_main.subpage .subcontent .content.cs-detail_container .inner a:before {
	position: absolute;
	z-index: 1;
	top: 10px;
	right: 20px;
	display: block;
	width: 12.5px;
	height: 12.5px;
	content: '';
	background-image: url(../../images/casestudy/i_link.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain
}
#wrapper_main.subpage .subcontent .content.cs-detail_container .inner a span {
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: .07em;
	color: #fff
}
#wrapper_main.subpage .subcontent .content.video_content {
	margin-top: 100px
}
#wrapper_main.subpage .subcontent .content.video_content .cs_youtube_mov .cs_youtube-modal {
	position: relative;
	display: block
}
#wrapper_main.subpage .subcontent .content.video_content .cs_youtube_mov .cs_youtube-modal .i_play {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}
#wrapper_main.subpage .subcontent .content.video_content small {
	font-size: 14px;
	font-size: .875rem;
	display: block;
	margin-top: 20px;
	letter-spacing: .06em;
	color: #666
}
#wrapper_main.subpage .subcontent .content.cs_txt h4 {
	font-size: 36px;
	font-size: 2.25rem;
	font-weight: 600;
	line-height: 1.2;
	width: 75%;
	margin: 0 auto;
	letter-spacing: .01em
}
#wrapper_main.subpage .subcontent .content.cs_txt p {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 2;
	width: 75%;
	margin: 70px auto 0;
	letter-spacing: .04em
}
#wrapper_main.subpage .subcontent .content.cs_img_last {
	margin: 190px 0 0
}
#wrapper_main.subpage .subcontent .content.csd .inner {
	padding-bottom: 0
}
#wrapper_main.subpage .subcontent .content.csd .toindex {
	margin-top: 130px;
	text-align: center
}
#wrapper_main.subpage .subcontent .content.csd .toindex a {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center
}
#wrapper_main.subpage .subcontent .content.csd .toindex a span {
	font-size: 22px;
	font-size: 1.375rem;
	margin-left: 15px
}
#wrapper_main.subpage .subcontent {
	position: relative;
	overflow: hidden
}
#wrapper_main.subpage .subcontent .content.company-container {
	position: relative
}
#wrapper_main.subpage .subcontent .content.company-container .inner {
	max-width: none;
	padding-bottom: 0
}
#wrapper_main.subpage .subcontent .content.company-container .inner h4 {
	font-size: 32px;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.4;
	margin-top: 60px
}
#wrapper_main.subpage .subcontent .content.company-container .inner .description {
	font-size: 16px;
	font-size: 1rem;
	line-height: 2;
	width: 55%;
	margin-top: 40px
}
#wrapper_main.subpage .subcontent .content.company-container .bg {
	position: absolute;
	right: -10.46%;
	bottom: 0;
	display: block;
	width: 47.7%;
	height: 245px;
	border-radius: 10px 0 0 10px;
	background-color: #f0eee7
}
#wrapper_main.subpage .subcontent .content.company-container .bg:before {
	position: absolute;
	top: -180px;
	left: 35%;
	display: block;
	width: 275px;
	height: 380px;
	content: '';
	border-radius: 10px;
	background-image: url(../../images/company/img01.jpg);
	background-size: cover
}
#wrapper_main.subpage .subcontent .content.company-container .bg:after {
	position: absolute;
	bottom: -70px;
	left: 20%;
	display: block;
	width: 335px;
	height: 200px;
	content: '';
	border-radius: 10px;
	background-image: url(../../images/company/img02.jpg);
	background-size: cover
}
#wrapper_main.subpage .subcontent .ceo {
	margin-top: 190px;
	background-color: #f0eee7
}
#wrapper_main.subpage .subcontent .ceo .bg_ttl {
	position: relative;
	height: 30vw;
	background-image: url(../../images/company/ceo.jpg);
	background-size: cover
}
#wrapper_main.subpage .subcontent .ceo .bg_ttl h3 {
	position: absolute;
	bottom: 110px;
	left: 8.46%;
	text-align: left
}
#wrapper_main.subpage .subcontent .ceo .bg_ttl h3:before {
	position: absolute;
	top: -40px;
	display: block;
	width: 74px;
	height: 3px;
	content: '';
	background-color: #fff
}
#wrapper_main.subpage .subcontent .ceo .bg_ttl h3 strong {
	font-size: 34px;
	font-size: 2.125rem;
	font-weight: 800;
	display: block;
	letter-spacing: .06em;
	color: #fff
}
#wrapper_main.subpage .subcontent .ceo .bg_ttl h3 small {
	font-size: 16px;
	font-size: 1rem;
	font-weight: 500;
	display: block;
	margin-top: 18px;
	letter-spacing: .08em;
	color: #fff
}
#wrapper_main.subpage .subcontent .ceo .inner {
	position: relative;
	top: -50px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-right: 30px;
	padding: 130px 80px 100px 8.46%;
	text-align: left;
	border-radius: 0 20px 20px 0;
	background-color: #fff;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between
}
#wrapper_main.subpage .subcontent .ceo .inner .layoutL strong {
	font-size: 34px;
	font-size: 2.125rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .03em
}
#wrapper_main.subpage .subcontent .ceo .inner .layoutL small {
	font-size: 12px;
	font-size: .75rem;
	display: block;
	margin-top: 35px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #fea621
}
#wrapper_main.subpage .subcontent .ceo .inner .layoutR {
	width: 58%
}
#wrapper_main.subpage .subcontent .ceo .inner .layoutR p {
	font-size: 17px;
	font-size: 1.0625rem;
	line-height: 2.2;
	letter-spacing: .03em
}
#wrapper_main.subpage .subcontent .ceo .inner .layoutR span {
	font-size: 14px;
	font-size: .875rem;
	font-weight: 500;
	display: block;
	margin-top: 70px;
	text-align: right;
	letter-spacing: .03em
}
#wrapper_main.subpage .subcontent #profile {
	position: relative;
	margin: 0;
	padding: 130px 8.46% 0;
	background-color: #f0eee7
}
#wrapper_main.subpage .subcontent #profile .inner {
	max-width: none;
	padding-bottom: 0
}
#wrapper_main.subpage .subcontent #profile .inner .info {
	margin-top: 100px
}
#wrapper_main.subpage .subcontent #profile .inner .info strong {
	font-size: 35px;
	font-size: 2.1875rem;
	font-weight: 600;
	display: block
}
#wrapper_main.subpage .subcontent #profile .inner .info small {
	font-size: 16px;
	font-size: 1rem;
	font-weight: 500;
	display: block;
	margin-top: 20px;
	letter-spacing: .04em;
	color: #666
}
#wrapper_main.subpage .subcontent #profile .inner .info p {
	font-size: 16px;
	font-size: 1rem;
	line-height: 2.2;
	width: 53%;
	margin-top: 55px;
	letter-spacing: .04em;
	color: #555
}
#wrapper_main.subpage .subcontent #profile .inner .info ul {
	margin-top: 60px
}
#wrapper_main.subpage .subcontent #profile .inner .info ul li {
	display: inline-block;
	width: 45px;
	margin-right: 15px
}
#wrapper_main.subpage .subcontent #profile .inner .info ul li a {
	display: block
}
#wrapper_main.subpage .subcontent #profile .bg {
	position: absolute;
	top: calc(50% + 100px);
	right: 0;
	width: 35%;
	height: 32vw;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%)
}
#wrapper_main.subpage .subcontent #profile .bg .bg_img {
	position: relative;
	z-index: 10;
	display: block;
	width: 100%;
	height: 32vw;
	border-radius: 10px 0 0 10px;
	background-image: url(../../images/company/profile.jpg);
	background-size: cover
}
#wrapper_main.subpage .subcontent #profile .bg:before {
	position: absolute;
	z-index: 1;
	top: -40px;
	left: -40px;
	display: block;
	width: 90%;
	height: 15vw;
	content: '';
	border-radius: 10px;
	background-color: #fea621
}
#wrapper_main.subpage .subcontent #profile .bg:after {
	position: absolute;
	z-index: 1;
	right: -40px;
	bottom: -40px;
	display: block;
	width: 90%;
	height: 15vw;
	content: '';
	border-radius: 10px;
	background-color: #fea621
}
#wrapper_main.subpage .subcontent .slider_wrap {
	padding-top: 160px;
	padding-bottom: 130px;
	background-color: #f0eee7
}
#wrapper_main.subpage .subcontent .slider_wrap .slider {
	position: relative;
	left: 8.46%
}
#wrapper_main.subpage .subcontent .slider_wrap .slider li.s_01 .txt_block:before {
	background-image: url(../../images/common/n01.svg)
}
#wrapper_main.subpage .subcontent .slider_wrap .slider li.s_02 .txt_block:before {
	background-image: url(../../images/common/n02.svg)
}
#wrapper_main.subpage .subcontent .slider_wrap .slider li.s_03 .txt_block:before {
	background-image: url(../../images/common/n03.svg)
}
#wrapper_main.subpage .subcontent .slider_wrap .slider li .img_block {
	position: relative;
	padding: 50px 0;
	border-radius: 10px 10px 0 0;
	background-color: #fff
}
#wrapper_main.subpage .subcontent .slider_wrap .slider li .img_block img {
	width: 50%;
	margin: 0 auto
}
#wrapper_main.subpage .subcontent .slider_wrap .slider li .txt_block {
	position: relative;
	padding: 60px 40px 50px;
	text-align: left
}
#wrapper_main.subpage .subcontent .slider_wrap .slider li .txt_block:before {
	position: absolute;
	top: -48px;
	left: 25px;
	display: block;
	width: 80px;
	height: 50px;
	content: '';
	background-repeat: no-repeat;
	background-size: contain
}
#wrapper_main.subpage .subcontent .slider_wrap .slider li .txt_block strong {
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 600;
	display: block;
	letter-spacing: .02em
}
#wrapper_main.subpage .subcontent .slider_wrap .slider li .txt_block span {
	font-size: 13px;
	font-size: .8125rem;
	font-weight: 600;
	display: inline-block;
	margin-top: 15px;
	padding: 6px 10px 3px;
	letter-spacing: .02em;
	color: #fea621;
	border-radius: 20px;
	background-color: #fff
}
#wrapper_main.subpage .subcontent .slider_wrap .slider li .txt_block p {
	font-size: 14px;
	font-size: .875rem;
	line-height: 1.9;
	margin-top: 20px;
	letter-spacing: .04em;
	color: #666
}
#wrapper_main.subpage .subcontent .slider_wrap .slider li .txt_block a {
	font-size: 13px;
	font-size: .8125rem;
	font-weight: 600;
	display: inline-block;
	margin-top: 30px;
	padding: 15px 20px 10px;
	vertical-align: middle;
	color: #fff;
	border-radius: 20px;
	background-color: #fea621
}
#wrapper_main.subpage .subcontent .slider_wrap .slider li .txt_block a:after {
	display: inline-block;
	width: 11.5px;
	height: 11.5px;
	margin-left: 5px;
	content: '';
	vertical-align: middle;
	background-image: url(../../images/common/i_link_w.svg);
	background-repeat: no-repeat;
	background-size: contain
}
#wrapper_main.subpage .subcontent .slider_wrap .slider .slick-list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex
}
#wrapper_main.subpage .subcontent .slider_wrap .slider .slick-list .slick-track {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	align-items: stretch
}
#wrapper_main.subpage .subcontent .slider_wrap .slider .slick-list .slick-track .slick-slide {
	margin-right: 50px;
	border: 3px solid #fff;
	border-radius: 10px
}
#wrapper_main.subpage .subcontent .slider_wrap .slider .slick-arrow {
	font-size: 0;
	position: absolute;
	z-index: 1;
	top: -60px;
	width: 55px;
	height: 11.5px;
	background-repeat: no-repeat;
	background-size: contain
}
#wrapper_main.subpage .subcontent .slider_wrap .slider .slick-arrow.slick-prev {
	left: 0;
	background-image: url(../../images/company/arrow_left.svg)
}
#wrapper_main.subpage .subcontent .slider_wrap .slider .slick-arrow.slick-next {
	left: 80px;
	background-image: url(../../images/company/arrow_right.svg)
}
#wrapper_main.subpage .subcontent .slider_wrap .slider .slick-dots {
	position: absolute;
	top: -58px;
	left: 180px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center
}
#wrapper_main.subpage .subcontent .slider_wrap .slider .slick-dots li {
	margin-right: 15px
}
#wrapper_main.subpage .subcontent .slider_wrap .slider .slick-dots li.slick-active:before {
	border: 1px solid #fea621;
	background-color: #fea621
}
#wrapper_main.subpage .subcontent .slider_wrap .slider .slick-dots li:last-child {
	margin-right: 0
}
#wrapper_main.subpage .subcontent .slider_wrap .slider .slick-dots li:before {
	display: inline-block;
	width: 12px;
	height: 12px;
	content: '';
	border: 1px solid #ccc;
	border-radius: 8px;
	background-color: #fff;
	background-image: none
}
#wrapper_main.subpage .subcontent .slider_wrap .slider .slick-dots li button {
	font-size: 0
}
#wrapper_main.subpage .subcontent .slider_wrap .talent_resullt {
	margin-top: 80px;
	padding: 0 8.46%;
	text-align: left
}
#wrapper_main.subpage .subcontent .slider_wrap .talent_resullt h4 span b {
	font-size: 15px;
	font-size: .9375rem;
	letter-spacing: .06em
}
#wrapper_main.subpage .subcontent .slider_wrap .talent_resullt h4 span b:before {
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-right: 4px;
	content: '';
	border-radius: 7px;
	background-color: #fea621
}
#wrapper_main.subpage .subcontent .slider_wrap .talent_resullt h4 strong {
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 800;
	display: block;
	margin-top: 20px;
	letter-spacing: .06em;
	text-transform: uppercase
}
#wrapper_main.subpage .subcontent .slider_wrap .talent_resullt ul {
	margin-top: 30px
}
#wrapper_main.subpage .subcontent .slider_wrap .talent_resullt ul li {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 6px;
	border-radius: 10px;
	background-color: #fff;
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	align-items: stretch
}
#wrapper_main.subpage .subcontent .slider_wrap .talent_resullt ul li figure {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width: 80px;
	padding: 0 15px;
	border: 3px solid #fff;
	border-radius: 10px;
	background-color: #fea621;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center
}
#wrapper_main.subpage .subcontent .slider_wrap .talent_resullt ul li figcaption {
	width: calc(100% - 120px);
	padding: 20px 15px 15px 20px;
	border-radius: 0 10px 10px 0
}
#wrapper_main.subpage .subcontent .slider_wrap .talent_resullt ul li figcaption strong {
	font-size: 14px;
	font-size: .875rem;
	font-weight: 600;
	letter-spacing: .04em;
	color: #fea621
}
#wrapper_main.subpage .subcontent .slider_wrap .talent_resullt ul li figcaption p {
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.6;
	margin-top: 7px;
	letter-spacing: .06em
}
#wrapper_main.subpage .subcontent #c-profile .inner {
	max-width: none;
	padding-bottom: 100px
}
#wrapper_main.subpage .subcontent #c-profile .inner .c-list {
	margin-top: 100px
}
#wrapper_main.subpage .subcontent #c-profile .inner .c-list .list {
	padding: 40px 0;
	border-top: 1px solid #ccc
}
#wrapper_main.subpage .subcontent #c-profile .inner .c-list .list.la {
	border-bottom: 1px solid #ccc
}
#wrapper_main.subpage .subcontent #c-profile .inner .c-list .list strong {
	font-size: 16px;
	font-size: 1rem;
	font-weight: 600;
	display: inline-block;
	width: 12em;
	vertical-align: top;
	letter-spacing: .06em
}
#wrapper_main.subpage .subcontent #c-profile .inner .c-list .list span {
	font-size: 16px;
	font-size: 1rem;
	display: inline-block;
	vertical-align: top;
	letter-spacing: .06em
}
#wrapper_main.subpage .subcontent #c-profile .inner .c-list .list span ul li {
	margin-bottom: 15px
}
#wrapper_main.subpage .subcontent #c-profile .inner .c-list .list span ul li:last-child {
	margin-bottom: 0
}
#wrapper_main.subpage .subcontent #c-profile .btn {
	margin: 0 auto
}
#wrapper_main.subpage .subcontent #c-profile p {
	font-size: 16px;
	font-size: 1rem;
	margin-top: 30px;
	margin-bottom: 100px;
	text-align: center
}
#wrapper_main.subpage .subcontent.company {
	background-color: #fff
}
#twex {
	display: none
}
#confirmBody, #confirmWindow {
	display: none
}
#wrapper_main.subpage .subcontent.contact {
	background-color: #fff
}
#wrapper_main.subpage .subcontent .content.contact-container .inner {
	width: 100%;
	max-width: none
}
#wrapper_main.subpage .subcontent .content.contact-container .inner .notice {
	margin-top: 70px;
	margin-bottom: 45px
}
#wrapper_main.subpage .subcontent .content.contact-container .inner .notice strong {
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: 0
}
#wrapper_main.subpage .subcontent .content.contact-container .inner .notice .notice_wrap {
	margin-top: 5px;
	padding: 20px 30px 12px 30px;
	border-radius: 10px;
	background-color: #f0eee7
}
#wrapper_main.subpage .subcontent .content.contact-container .inner .notice .notice_wrap ul li {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 5px;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start
}
#wrapper_main.subpage .subcontent .content.contact-container .inner .notice .notice_wrap ul li small {
	font-size: 14px;
	font-size: .875rem;
	line-height: 1.4;
	width: 2.5em;
	letter-spacing: .03em
}
#wrapper_main.subpage .subcontent .content.contact-container .inner .notice .notice_wrap ul li span {
	font-size: 14px;
	font-size: .875rem;
	line-height: 1.4;
	width: calc(100% - 2.5em);
	letter-spacing: .03em
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro #mailfrom_hidden_object {
	overflow: hidden;
	width: 1px;
	height: 1px
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .musticon {
	font-size: 14px;
	font-size: .875rem;
	display: inline-block;
	margin-bottom: 15px;
	letter-spacing: .08em;
	color: #d10000
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform {
	width: 100%
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	border-top: 1px solid #c7c7c7;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr th {
	width: 28em
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr th span {
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 500;
	position: relative;
	letter-spacing: .04em
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr th span:after {
	display: inline-block;
	margin-left: 5px;
	content: '*';
	color: #d10000
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td {
	width: calc(100% - 28em);
	padding: 30px 0
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td input[type=text] {
	font-size: 18px;
	font-size: 1.125rem;
	width: 30%!important;
	padding: 22px 20px 18px;
	letter-spacing: .06em;
	border: 1px solid #c7c7c7;
	border-radius: 5px
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td input[type=text]::-webkit-input-placeholder {
	color: #ccc
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td input[type=text]::-moz-placeholder {
	color: #ccc
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td input[type=text]::-ms-input-placeholder {
	color: #ccc
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td input[type=text]::placeholder {
	color: #ccc
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td input.wwidth {
	width: 61.5%!important
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td textarea {
	font-size: 18px;
	font-size: 1.125rem;
	width: 80%!important;
	height: 15em!important;
	padding: 22px 20px 18px;
	letter-spacing: .06em;
	border: 1px solid #c7c7c7;
	border-radius: 5px
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td input[type=checkbox] {
	position: relative
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td input[type=checkbox]:before {
	position: absolute;
	z-index: 1;
	top: -4px;
	left: -1.5em;
	display: block;
	width: 5px;
	height: 9px;
	margin-top: -6px;
	content: '';
	-webkit-transition: opacity .2s linear;
	transition: opacity .2s linear;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	opacity: 0;
	border: none;
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td input[type=checkbox]:checked:before {
	opacity: 1
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td input[type=checkbox]:checked:after {
	background-color: #fea621
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td input[type=checkbox]:after {
	position: absolute;
	top: -5px;
	left: -2em;
	display: block;
	width: 22px;
	height: 22px;
	margin-top: -9px;
	content: '';
	-webkit-transition: border-color .2s linear;
	transition: border-color .2s linear;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
	border: 1px solid #c7c7c7;
	border-radius: 6px
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td .mfp_err {
	display: none;
	margin-top: 10px;
	color: #d10000
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td .mfp_err:before {
	display: inline-block;
	content: '*'
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td ol {
	padding-top: 15px
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td ol li {
	margin-bottom: 25px
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td ol li label {
	font-size: 18px;
	font-size: 1.125rem;
	display: block;
	width: 100%;
	margin-left: 2em;
	letter-spacing: .04em
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td .choice_notice {
	font-size: 12px;
	font-size: .75rem;
	letter-spacing: .04em;
	color: #d10000
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr .s_confirm {
	width: 100%;
	margin-top: 40px;
	text-align: center
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr .s_confirm label {
	font-size: 18px;
	font-size: 1.125rem;
	letter-spacing: .04em
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr .s_confirm label a {
	text-decoration: underline
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mfp_buttons {
	margin-top: 60px
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mfp_buttons ul li {
	position: relative;
	width: 310px;
	margin: 0 auto 20px;
	border-radius: 30px;
	background-color: #fea621
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mfp_buttons ul li:before {
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: 500;
	position: absolute;
	z-index: 1;
	top: 58%;
	left: 50%;
	display: inline-block;
	content: '送信する';
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	color: #fff
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mfp_buttons ul li:last-child {
	border-radius: 30px;
	background-color: #888
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mfp_buttons ul li:last-child:before {
	content: 'リセットする'
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mfp_buttons ul li #button_mfp_goconfirm {
	position: relative;
	z-index: 1;
	width: 310px;
	height: 53px
}
#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mfp_buttons ul li #button_mfp_reset {
	position: relative;
	z-index: 1;
	width: 310px;
	height: 53px
}
#wrapper_main .thanks_container {
	padding-top: 360px;
	padding-bottom: 270px
}
#wrapper_main .thanks_container h2 {
	font-size: 58px;
	font-size: 3.625rem;
	font-weight: 800;
	letter-spacing: .06em
}
#wrapper_main .thanks_container strong {
	font-size: 20px;
	font-size: 1.25rem;
	display: block;
	margin-top: 25px;
	letter-spacing: .03em
}
#wrapper_main .thanks_container strong small img {
	width: 30px
}
#wrapper_main .thanks_container p {
	font-size: 14px;
	font-size: .875rem;
	line-height: 1.6;
	margin-top: 75px;
	letter-spacing: .03em
}
#wrapper_main .thanks_container b {
	font-size: 14px;
	font-size: .875rem;
	line-height: 1.6;
	display: block;
	margin-top: 30px;
	color: #d10000
}
#wrapper_main {
	overflow: hidden
}
#wrapper_main main .kv {
	position: relative;
	width: 100%;
	height: 98vh;
	background-position: center;
	background-size: cover
}
#wrapper_main main .kv #lottie {
	position: absolute;
	z-index: 10;
	bottom: -50px;
	left: 60px;
	width: 250px
}
#wrapper_main main .kv .inner {
	position: absolute;
	top: 50%;
	left: 50%;
	overflow: hidden;
	width: calc(100% - 240px);
	height: 50vh;
	margin: 0 auto;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	border-radius: 20px
}
#wrapper_main main .kv .inner:after {
	position: relative;
	z-index: 5;
	display: block;
	width: 100%;
	height: 100vh;
	content: '';
	background-color: rgba(0, 0, 0, .05)
}
#wrapper_main main .kv .inner:before {
	position: absolute;
	z-index: 10;
	top: 50%;
	left: 50%;
	display: block;
	width: 44.2%;
	height: 30vh;
	content: '';
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	background-image: url(../../images/index/fv_ttl.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain
}
#wrapper_main main .kv .inner .loop_inner {
	position: absolute;
	top: 50%;
	width: calc(3850px * 3);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%)
}
#wrapper_main main .kv .inner .loop_inner span {
	position: relative;
	float: left;
	width: 3850px;
	padding-right: 200px;
	-webkit-animation-name: slider01;
	animation-name: slider01;
	-webkit-animation-duration: 20s;
	animation-duration: 20s;
	-webkit-animation-timing-function: linear;
	animation-timing-function: linear;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite
}
#wrapper_main main .fv_movie {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}
#wrapper_main main .youtube_mov {
	position: absolute;
	z-index: 10;
	right: 60px;
	bottom: -50px;
	width: 300px;
	height: 195px
}
#wrapper_main main .youtube_mov:before {
	position: absolute;
	top: -20px;
	left: 50%;
	content: '＼ 公式YOUTUBEチャンネル配信中 ／';
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	white-space: nowrap;
	letter-spacing: .08em;
	color: #222
}
#wrapper_main main .youtube_mov .mov_inner {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 195px;
	border-radius: 10px;
	background-image: url(../../images/index/youtube.jpg);
	background-size: cover
}
#wrapper_main main .youtube_mov .mov_inner .youtube-modal {
	display: block;
	width: 100%;
	height: 100%
}
#wrapper_main main .youtube_mov .mov_inner .youtube-modal:before {
	font-style: italic;
	position: absolute;
	z-index: 10;
	top: 50%;
	right: 50%;
	display: block;
	content: 'YOUTUBE';
	-webkit-transform: translate(-50px, -50%);
	-ms-transform: translate(-50px, -50%);
	transform: translate(-50px, -50%);
	letter-spacing: .12em;
	color: #fff
}
#wrapper_main main .youtube_mov .mov_inner .youtube-modal:after {
	font-style: italic;
	position: absolute;
	z-index: 10;
	top: 50%;
	left: 50%;
	display: block;
	content: 'Channel';
	-webkit-transform: translate(50px, -50%);
	-ms-transform: translate(50px, -50%);
	transform: translate(50px, -50%);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff
}
#wrapper_main main .youtube_mov .mov_inner .youtube-modal img {
	position: absolute;
	z-index: 10;
	top: 50%;
	left: 50%;
	width: 59px;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}
#wrapper_main main .cliant-area {
	padding: 90px 0
}
#wrapper_main main .cliant-area .c_border {
	position: relative;
	display: block;
	width: calc(100% - 240px);
	height: 1px;
	margin: 0 auto;
	background-color: #959595
}
#wrapper_main main .cliant-area .c_border:before {
	position: absolute;
	top: -10px;
	left: -6px;
	display: block;
	width: 12px;
	height: 12px;
	content: '';
	border: 5px solid #fff;
	border-radius: 12px;
	background-color: #fea621
}
#wrapper_main main .cliant-area .c_border:after {
	position: absolute;
	top: -10px;
	right: -6px;
	display: block;
	width: 12px;
	height: 12px;
	content: '';
	border: 5px solid #fff;
	border-radius: 12px;
	background-color: #fea621
}
#wrapper_main main .cliant-area .c_border.bt b {
	font-weight: 600;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20em;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	letter-spacing: .1em;
	background-color: #fff
}
#wrapper_main main .cliant-area ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	padding: 40px 0;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center
}
#wrapper_main main .cliant-area ul li {
	height: 70px;
	margin-right: 25px
}
#wrapper_main main .cliant-area ul li:last-child {
	margin-right: 0
}
#wrapper_main main .cliant-area ul li img {
	width: auto;
	height: 100%
}
#wrapper_main main .whoweare {
	position: relative;
	padding: 125px 8.46% 160px;
	text-align: left;
	background-color: #f0eee7
}
#wrapper_main main .whoweare:after {
	position: absolute;
	bottom: 0;
	left: 50%;
	display: block;
	width: 200px;
	height: 185px;
	content: '';
	-webkit-transform: translate(-50%, 50%);
	-ms-transform: translate(-50%, 50%);
	transform: translate(-50%, 50%);
	background-image: url(../../images/common/i_pulse.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain
}
#wrapper_main main .whoweare .inner {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between
}
#wrapper_main main .whoweare .inner .layoutL {
	width: 50%
}
#wrapper_main main .whoweare .inner .layoutL small {
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: .04em;
	color: #fea621
}
#wrapper_main main .whoweare .inner .layoutL small+span {
	font-size: 14px;
	font-size: .875rem;
	font-weight: 600;
	display: block;
	margin-top: 50px;
	letter-spacing: .04em
}
#wrapper_main main .whoweare .inner .layoutL h2 {
	font-size: 32px;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.4;
	margin-top: 35px;
	letter-spacing: .01em
}
#wrapper_main main .whoweare .inner .layoutL p {
	font-size: 16px;
	font-size: 1rem;
	line-height: 2;
	margin-top: 30px;
	letter-spacing: .02em
}
#wrapper_main main .whoweare .inner .layoutR .service_circle {
	width: 85%;
	margin-left: auto
}
#wrapper_main main .business-area {
	padding: 170px 8.46% 100px
}
#wrapper_main main .business-area .inner small {
	font-size: 16px;
	font-size: 1rem;
	font-style: italic;
	display: block;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #666
}
#wrapper_main main .business-area .inner h3 {
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 1.6;
	position: relative;
	display: inline-block;
	margin-top: 60px;
	text-align: center;
	letter-spacing: .03em
}
#wrapper_main main .business-area .inner h3:before {
	position: absolute;
	top: -20px;
	left: -60px;
	width: 62px;
	height: 50px;
	content: '';
	background-image: url(../../images/index/i_quarts.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain
}
#wrapper_main main .business-area .inner h3:after {
	position: absolute;
	z-index: -1;
	top: 0;
	right: -60px;
	display: inline-block;
	width: 62px;
	height: 50px;
	content: '';
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
	background-image: url(../../images/index/i_quarts.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain
}
#wrapper_main main .business-area .inner ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-top: 100px;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between
}
#wrapper_main main .business-area .inner ul li {
	position: relative;
	width: 100%;
	height: 440px;
	margin-right: 20px;
	background-position: center;
	background-size: cover
}
#wrapper_main main .business-area .inner ul li:nth-child(1) {
	background-image: url(../../images/index/img_buis01.jpg)
}
#wrapper_main main .business-area .inner ul li:nth-child(2) {
	background-image: url(../../images/index/img_buis02.jpg)
}
#wrapper_main main .business-area .inner ul li:nth-child(3) {
	margin-right: 0;
	background-image: url(../../images/index/img_buis03.jpg)
}
#wrapper_main main .business-area .inner ul li .ttl_wrap {
	position: absolute;
	top: 53%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}
#wrapper_main main .business-area .inner ul li .ttl_wrap strong {
	font-size: 26px;
	font-size: 1.625rem;
	font-weight: 600;
	display: block;
	white-space: nowrap;
	letter-spacing: .03em;
	color: #fff
}
#wrapper_main main .business-area .inner ul li .ttl_wrap em {
	font-size: 15px;
	font-size: .9375rem;
	font-weight: 200;
	display: block;
	margin-top: 10px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #fff
}
#wrapper_main main .business-area .inner ul li span {
	font-size: 15px;
	font-size: .9375rem;
	line-height: 1.6;
	position: absolute;
	bottom: 20px;
	left: 50%;
	display: block;
	width: 80%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	letter-spacing: .04em;
	color: #fff
}
#wrapper_main main .business-area .inner .btn {
	margin: 80px auto 0
}
#wrapper_main main .business-area .inner .btn b {
	font-weight: 600
}
#wrapper_main main .business-area .inner p {
	font-size: 16px;
	font-size: 1rem;
	margin-top: 30px
}
#wrapper_main main .casestudy-area {
	padding-top: 160px;
	text-align: left
}
#wrapper_main main .casestudy-area .inner h3 {
	position: relative;
	margin-left: 8.46%
}
#wrapper_main main .casestudy-area .inner h3:before {
	position: absolute;
	top: -40px;
	display: block;
	width: 74px;
	height: 3px;
	content: '';
	background-color: #fea621
}
#wrapper_main main .casestudy-area .inner h3 strong {
	font-size: 38px;
	font-size: 2.375rem;
	font-weight: 800;
	display: block
}
#wrapper_main main .casestudy-area .inner h3 small {
	font-size: 16px;
	font-size: 1rem;
	font-weight: 500;
	display: block;
	margin-top: 18px;
	letter-spacing: .08em;
	color: #fea621
}
#wrapper_main main .casestudy-area .slide-wrap {
	margin-top: -120px;
	margin-left: 8.46%
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li.bl01 .text_block:before {
	width: 99.8px;
	height: 82.5px;
	background-image: url(../../images/common/n01.svg)
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li.bl02 .text_block:before {
	width: 126.8px;
	height: 82.5px;
	background-image: url(../../images/common/n02.svg)
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li.bl03 .text_block:before {
	width: 126.8px;
	height: 82.5px;
	background-image: url(../../images/common/n03.svg)
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li .text_block {
	position: relative;
	width: 47%;
	margin-top: 90px
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li .text_block:before {
	position: absolute;
	top: -43px;
	left: 0;
	display: block;
	content: '';
	background-size: cover
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li .text_block h4 {
	font-size: 29px;
	font-size: 1.8125rem;
	font-weight: 600;
	line-height: 1.45;
	position: relative;
	z-index: 1
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li .text_block .tag {
	margin-top: 30px
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li .text_block .tag span {
	font-size: 12px;
	font-size: .75rem;
	font-weight: 400;
	display: inline-block;
	margin-right: 5px;
	padding: 5px 10px 3px;
	letter-spacing: .01em;
	color: #fea621;
	border: 1px solid #fea621;
	border-radius: 20px
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li .text_block p {
	font-size: 17px;
	font-size: 1.0625rem;
	line-height: 2;
	margin-top: 40px;
	letter-spacing: .04em
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li .text_block a {
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 500;
	display: block;
	margin-top: 40px;
	text-decoration: underline;
	letter-spacing: .04em;
	color: #fea621
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li .text_block a.link:after {
	display: inline-block;
	width: 12.5px;
	height: 12.5px;
	margin-left: 5px;
	content: '';
	-webkit-transform: translateY(2px);
	-ms-transform: translateY(2px);
	transform: translateY(2px);
	background-image: url(../../images/common/i_link_o.svg);
	background-size: cover
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li .image_block {
	overflow: hidden;
	width: 45%;
	border-radius: 20px 0 0 20px
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-arrow.slick-next {
	font-size: 0;
	position: absolute;
	z-index: 10;
	bottom: 7px;
	left: 200px
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-arrow.slick-next:before {
	z-index: 1;
	display: block;
	width: 55px;
	height: 14px;
	content: '';
	background-image: url(../../images/company/arrow_right.svg);
	background-size: cover
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-arrow.slick-prev {
	font-size: 0;
	position: absolute;
	bottom: 7px
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-arrow.slick-prev:before {
	z-index: 1;
	display: block;
	width: 55px;
	height: 14px;
	content: '';
	background-image: url(../../images/company/arrow_left.svg);
	background-size: cover
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-dots {
	position: relative;
	left: 100px
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-dots li {
	display: inline-block;
	margin-right: 10px
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-dots li:last-child {
	margin-right: 0
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-dots li.slick-active button {
	background-color: #fea621
}
#wrapper_main main .casestudy-area .slide-wrap .slider .slick-dots li button {
	font-size: 0;
	display: block;
	width: 14px;
	height: 14px;
	border-radius: 7px;
	background-color: #f0eee7
}
#wrapper_main main .casestudy-area .btn {
	margin: 60px auto 0
}
#wrapper_main main .contact_container {
	margin-top: 120px;
	text-align: left;
	background-color: #f0eee7
}
#wrapper_main main .contact_container.bgw {
	background-color: #fff
}
#wrapper_main main .contact_container .inner {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	padding: 145px 8.46%;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center
}
#wrapper_main main .contact_container .inner:before {
	position: absolute;
	top: 50%;
	right: calc(8.46% + 360px);
	display: block;
	width: 150px;
	height: 100px;
	content: '';
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	background-image: url(../../images/common/i_pulse.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain
}
#wrapper_main main .contact_container .inner .description span:before {
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-right: 5px;
	content: '';
	border-radius: 5px;
	background-color: #fea621
}
#wrapper_main main .contact_container .inner .description span b {
	font-size: 15px;
	font-size: .9375rem;
	letter-spacing: .06em
}
#wrapper_main main .contact_container .inner .description strong {
	font-size: 58px;
	font-size: 3.625rem;
	font-weight: 800;
	display: block;
	margin-top: 25px;
	letter-spacing: .06em;
	text-transform: uppercase
}
#wrapper_main main .contact_container .inner .description p {
	font-size: 17px;
	font-size: 1.0625rem;
	line-height: 1.7;
	margin-top: 30px;
	letter-spacing: .03em
}
#wrapper_main main .contact_container .inner .description p small {
	display: inline-block;
	width: 23px
}
#wrapper_main main .contact_container .inner .description p small img {
	width: 100%
}
#wrapper_main main .contact_container .inner .btn {
	margin: 0;
	padding: 22px 0 17px;
	border-radius: 30px
}
#wrapper_main main .contact_container .inner .btn b {
	font-size: 22px;
	font-size: 1.375rem
}
@-webkit-keyframes elasticus {
	0% {
		-webkit-transform: scale(1, 0);
		transform: scale(1, 0);
		-webkit-transform-origin: 0 0;
		transform-origin: 0 0
	}
	50% {
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		-webkit-transform-origin: 0 0;
		transform-origin: 0 0
	}
	50.1% {
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		-webkit-transform-origin: 0 100%;
		transform-origin: 0 100%
	}
	100% {
		-webkit-transform: scale(1, 0);
		transform: scale(1, 0);
		-webkit-transform-origin: 0 100%;
		transform-origin: 0 100%
	}
}
@keyframes elasticus {
	0% {
		-webkit-transform: scale(1, 0);
		transform: scale(1, 0);
		-webkit-transform-origin: 0 0;
		transform-origin: 0 0
	}
	50% {
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		-webkit-transform-origin: 0 0;
		transform-origin: 0 0
	}
	50.1% {
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		-webkit-transform-origin: 0 100%;
		transform-origin: 0 100%
	}
	100% {
		-webkit-transform: scale(1, 0);
		transform: scale(1, 0);
		-webkit-transform-origin: 0 100%;
		transform-origin: 0 100%
	}
}
@-webkit-keyframes slider01 {
	0% {
		-webkit-transform: translateX(0);
		transform: translateX(0)
	}
	100% {
		-webkit-transform: translateX(-3850px);
		transform: translateX(-3850px)
	}
}
@keyframes slider01 {
	0% {
		-webkit-transform: translateX(0);
		transform: translateX(0)
	}
	100% {
		-webkit-transform: translateX(-3850px);
		transform: translateX(-3850px)
	}
}
@-webkit-keyframes rotation {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0)
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg)
	}
}
@keyframes rotation {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0)
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg)
	}
}
.aniSu {
	-webkit-transition: 2s cubic-bezier(.22, 1, .36, 1);
	transition: 2s cubic-bezier(.22, 1, .36, 1);
	-webkit-transform: translateY(250px) scaleY(1.4);
	-ms-transform: translateY(250px) scaleY(1.4);
	transform: translateY(250px) scaleY(1.4);
	-webkit-transform-origin: top;
	-ms-transform-origin: top;
	transform-origin: top;
	opacity: 0
}
.aniSu.slideUp {
	-webkit-transform: translateY(0) scaleY(1);
	-ms-transform: translateY(0) scaleY(1);
	transform: translateY(0) scaleY(1);
	opacity: 1
}
.aniSd {
	-webkit-transition: 2s cubic-bezier(.22, 1, .36, 1);
	transition: 2s cubic-bezier(.22, 1, .36, 1);
	-webkit-transform: scale(1.4);
	-ms-transform: scale(1.4);
	transform: scale(1.4);
	opacity: 1
}
.aniSd.scaleDown {
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
	opacity: 1
}
#cboxOverlay, #cboxWrapper, #colorbox {
	position: absolute;
	z-index: 9999;
	top: 0;
	left: 0;
	overflow: hidden;
	-webkit-transform: translate3d(0, 0, 0)
}
#cboxWrapper {
	max-width: none
}
#cboxOverlay {
	position: fixed;
	width: 100%;
	height: 100%
}
#cboxBottomLeft, #cboxMiddleLeft {
	clear: left
}
#cboxContent {
	position: relative
}
#cboxLoadedContent {
	overflow: auto;
	-webkit-overflow-scrolling: touch
}
#cboxTitle {
	margin: 0
}
#cboxLoadingGraphic, #cboxLoadingOverlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}
#cboxClose, #cboxNext, #cboxPrevious, #cboxSlideshow {
	cursor: pointer
}
.cboxPhoto {
	display: block;
	float: left;
	max-width: none;
	margin: auto;
	-ms-interpolation-mode: bicubic;
	border: 0
}
.cboxIframe {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0
}
#cboxContent, #cboxLoadedContent, #colorbox {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box
}
#cboxOverlay:before {
	position: absolute;
	top: 50px;
	right: 25px;
	display: block;
	width: 70px;
	height: 1px;
	content: '';
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	background-color: #fff
}
#cboxOverlay:after {
	position: absolute;
	top: 50px;
	right: 25px;
	display: block;
	width: 70px;
	height: 1px;
	content: '';
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	background-color: #fff
}
#cboxOverlay {
	opacity: .9;
	background: #000
}
#colorbox {
	outline: 0
}
#cboxTopLeft {
	width: 14px;
	height: 14px;
	background: url(../../images/controls.png) no-repeat 0 0
}
#cboxTopCenter {
	height: 14px;
	background: url(../../images/border.png) repeat-x top left
}
#cboxTopRight {
	width: 14px;
	height: 14px;
	background: url(../../images/controls.png) no-repeat -36px 0
}
#cboxBottomLeft {
	width: 14px;
	height: 43px;
	background: url(../../images/controls.png) no-repeat 0 -32px
}
#cboxBottomCenter {
	height: 43px;
	background: url(../../images/border.png) repeat-x bottom left
}
#cboxBottomRight {
	width: 14px;
	height: 43px;
	background: url(../../images/controls.png) no-repeat -36px -32px
}
#cboxMiddleLeft {
	width: 14px;
	background: url(../../images/controls.png) repeat-y -175px 0
}
#cboxMiddleRight {
	width: 14px;
	background: url(../../images/controls.png) repeat-y -211px 0
}
#cboxContent {
	overflow: visible;
	background: #fff
}
.cboxIframe {
	background: #fff
}
#cboxError {
	padding: 50px;
	border: 1px solid #ccc
}
#cboxLoadedContent {
	margin-bottom: 5px
}
#cboxLoadingOverlay {
	background: url(../../images/loading_background.png) no-repeat center center
}
#cboxLoadingGraphic {
	background: url(../../images/loading.gif) no-repeat center center
}
#cboxTitle {
	font-weight: 700;
	position: absolute;
	bottom: -25px;
	left: 0;
	width: 100%;
	text-align: center;
	color: #7c7c7c
}
#cboxCurrent {
	font-weight: 700;
	position: absolute;
	bottom: -25px;
	left: 58px;
	color: #7c7c7c
}
#cboxClose, #cboxNext, #cboxPrevious, #cboxSlideshow {
	position: absolute;
	bottom: -29px;
	overflow: visible;
	width: 23px;
	height: 23px;
	margin: 0;
	padding: 0;
	text-indent: -9999px;
	border: 0;
	background: url(../../images/controls.png) no-repeat 0 0
}
#cboxClose:active, #cboxNext:active, #cboxPrevious:active, #cboxSlideshow:active {
	outline: 0
}
#cboxPrevious {
	left: 0;
	background-position: -51px -25px
}
#cboxPrevious:hover {
	background-position: -51px 0
}
#cboxNext {
	left: 27px;
	background-position: -75px -25px
}
#cboxNext:hover {
	background-position: -75px 0
}
#cboxClose {
	right: 0;
	background-position: -100px -25px
}
#cboxClose:hover {
	background-position: -100px 0
}
.cboxSlideshow_on #cboxSlideshow {
	right: 27px;
	background-position: -125px 0
}
.cboxSlideshow_on #cboxSlideshow:hover {
	background-position: -150px 0
}
.cboxSlideshow_off #cboxSlideshow {
	right: 27px;
	background-position: -150px -25px
}
.cboxSlideshow_off #cboxSlideshow:hover {
	background-position: -125px 0
}
#wrapper_main.subpage .subcontent .content {
	margin: 190px 8.46% 0;
	text-align: left
}
#wrapper_main.subpage .subcontent .content .inner {
	max-width: 1080px;
	padding-bottom: 160px
}
#wrapper_main.subpage .subcontent .content .inner h3 {
	position: relative
}
#wrapper_main.subpage .subcontent .content .inner h3:before {
	position: absolute;
	top: -40px;
	display: block;
	width: 74px;
	height: 3px;
	content: '';
	background-color: #fea621
}
#wrapper_main.subpage .subcontent .content .inner h3 strong {
	font-size: 34px;
	font-size: 2.125rem;
	font-weight: 800;
	display: block;
	letter-spacing: .06em
}
#wrapper_main.subpage .subcontent .content .inner h3 small {
	font-size: 16px;
	font-size: 1rem;
	font-weight: 500;
	display: block;
	margin-top: 18px;
	letter-spacing: .08em;
	color: #fea621
}
#wrapper_main.subpage .subcontent .content .inner .description {
	font-size: 14px;
	font-size: .875rem;
	line-height: 1.78;
	left: .04em;
	margin-top: 60px;
	color: #666
}
#wrapper_main.subpage .subcontent .content .inner .p-list_wrap {
	padding-top: 20px
}
#wrapper_main.subpage .subcontent .content .inner .p-list_wrap .list {
	margin-top: 60px
}
#wrapper_main.subpage .subcontent .content .inner .p-list_wrap .list strong {
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.4;
	display: block;
	letter-spacing: .03em
}
#wrapper_main.subpage .subcontent .content .inner .p-list_wrap .list span {
	font-size: 14px;
	font-size: .875rem;
	line-height: 1.78;
	display: block;
	margin-top: 25px;
	letter-spacing: .03em
}
#wrapper_main.subpage .subcontent .content .inner .p-list_wrap .list ul {
	margin-top: 20px
}
#wrapper_main.subpage .subcontent .content .inner .p-list_wrap .list ul li {
	font-size: 14px;
	font-size: .875rem;
	line-height: 1.4;
	margin-bottom: 5px;
	color: #666
}
@media only screen and (max-width:519px) {
	.sp-display {
		display: block!important
	}
	.sp-invisible {
		display: none!important
	}
	.t__link {
		padding: 0
	}
	.btn {
		padding: 18px 0 14px
	}
	.pagetop {
		display: none
	}
	.c-loading #lottie_load {
		width: 60px
	}
	.c-loading .overlay {
		width: 100px;
		height: 86px
	}
	footer {
		padding-top: 80px;
		padding-bottom: 30px
	}
	footer .f_logo {
		width: 38.4%
	}
	footer .f_sns {
		margin-top: 25px
	}
	footer .copy {
		font-size: 10px;
		font-size: .625rem;
		margin-top: 50px
	}
	.scroll_fixed header h1 a:before {
		background-image: url(../../images/common/logo_w.svg)
	}
	header {
		height: auto
	}
	header h1 {
		top: 28px;
		left: 25px
	}
	header h1 a:before {
		width: 171px
	}
	header nav {
		position: fixed;
		top: 0;
		right: 0;
		display: none;
		width: 100%;
		height: 100%;
		background-color: #1a1919
	}
	header nav .menu {
		display: block;
		overflow: auto;
		height: 100%;
		padding-bottom: 30px;
		-webkit-overflow-scrolling: touch
	}
	header nav .menu .main_menu {
		padding: 140px 8.46% 0;
		text-align: left
	}
	header nav .menu .main_menu li {
		display: block;
		margin-right: 0;
		margin-bottom: 23px
	}
	header nav .menu .main_menu li a {
		display: block
	}
	header nav .menu .main_menu li a strong {
		font-size: 30px;
		font-size: 1.875rem;
		letter-spacing: .04em;
		color: #fff
	}
	header nav .menu .main_menu li a small {
		font-size: 14px;
		font-size: .875rem;
		margin-top: 5px;
		letter-spacing: .02em;
		color: #fea621
	}
	header nav .menu .main_menu li span strong {
		font-size: 22px;
		font-size: 1.375rem;
		color: #fff
	}
	header nav .menu .sns_menu {
		margin-right: 0;
		margin-left: 8.46%;
		padding-top: 20px;
		text-align: left
	}
	header nav .menu .sns_menu li {
		width: 40px
	}
	header nav .menu .sns_menu li a img.menu_on {
		display: block
	}
	header nav .menu .sns_menu li a img.menu_off {
		display: none
	}
	header nav .menu .contact a {
		padding: 18px 25px;
		border-radius: 25px;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center
	}
	header nav .menu .contact a b {
		font-size: 15px;
		font-size: .9375rem;
		padding-top: 2px
	}
	header nav .menu .sp_privacy a {
		font-size: 15px;
		font-size: .9375rem;
		display: block;
		margin-top: 50px;
		margin-left: 8.46%;
		text-align: left;
		text-decoration: underline;
		letter-spacing: .04em;
		text-transform: uppercase;
		color: #fff
	}
	header nav .menu .sub_menu {
		margin-top: 95px;
		margin-left: 8.46%;
		text-align: left
	}
	header nav .menu .sub_menu li {
		letter-spacing: .06em;
		color: #fff
	}
	.c-sp-btn {
		z-index: 1000;
		top: 35px;
		right: 25px;
		left: auto;
		display: block;
		-webkit-transform: none;
		-ms-transform: none;
		transform: none
	}
	#wrapper_main.subpage .subcontent .subkv:after {
		width: 105px
	}
	#wrapper_main.subpage .subcontent .subkv .inner {
		padding-top: 130px
	}
	#wrapper_main.subpage .subcontent .subkv .inner h2 {
		display: block
	}
	#wrapper_main.subpage .subcontent .subkv .inner h2 strong {
		font-size: 48px;
		font-size: 3rem
	}
	#wrapper_main.subpage .subcontent .subkv .inner h2 small {
		font-size: 14px;
		font-size: .875rem;
		display: block;
		margin-top: 10px;
		letter-spacing: .04em
	}
	#wrapper_main.subpage .subcontent .subkv .inner h2.cs_detail strong {
		font-size: 28px;
		font-size: 1.75rem
	}
	#wrapper_main.subpage .subcontent .subkv .inner .topicpath {
		margin-top: 50px
	}
	#wrapper_main.subpage .subcontent .subkv .inner .topicpath.csd {
		margin-top: 30px
	}
	#wrapper_main.subpage .subcontent .subkv .inner .topicpath a {
		font-size: 11px;
		font-size: .6875rem;
		line-height: 1.6
	}
	#wrapper_main.subpage .subcontent .subkv .inner .topicpath small {
		font-size: 11px;
		font-size: .6875rem;
		line-height: 1.6
	}
	#wrapper_main.subpage .subcontent .subkv .inner .topicpath span {
		font-size: 11px;
		font-size: .6875rem;
		line-height: 1.6
	}
	#wrapper_main.subpage .subcontent .subkv .kvimg {
		height: 60vw;
		border-radius: 5px 0 0 5px
	}
	#wrapper_main.subpage .subcontent .subkv .kvimg.company {
		background-position: -50px
	}
	#wrapper_main.subpage .subcontent .description-area {
		padding-top: calc(70px + 100px)
	}
	#wrapper_main.subpage .subcontent .description-area small span {
		font-size: 15px;
		font-size: .9375rem
	}
	#wrapper_main.subpage .subcontent .description-area small:before {
		width: 70%;
		height: 9vw
	}
	#wrapper_main.subpage .subcontent .description-area small:after {
		bottom: -35px;
		width: 40px
	}
	#wrapper_main.subpage .subcontent .description-area h3 {
		font-size: 22px;
		font-size: 1.375rem;
		line-height: 1.5;
		margin: 80px 8.46% 0;
		text-align: left
	}
	#wrapper_main.subpage .subcontent .description-area h3:before {
		top: -12px;
		left: -15px;
		display: none;
		width: 15px;
		height: 10.5px
	}
	#wrapper_main.subpage .subcontent .description-area h3:after {
		right: -15px;
		bottom: -6px;
		display: none;
		width: 15px;
		height: 10.5px
	}
	#wrapper_main.subpage .subcontent .description-area p {
		font-size: 16px;
		font-size: 1rem;
		font-weight: 500;
		line-height: 2;
		margin: 30px 8.46% 0;
		text-align: left;
		letter-spacing: 0
	}
	#wrapper_main.subpage .subcontent .business-container {
		margin: 80px 0 0;
		border-radius: 0
	}
	#wrapper_main.subpage .subcontent .business-container .inner {
		padding-top: 120px;
		padding-bottom: 60px
	}
	#wrapper_main.subpage .subcontent .business-container .inner h3 {
		margin-left: 8.46%
	}
	#wrapper_main.subpage .subcontent .business-container .inner h3:before {
		width: 40px
	}
	#wrapper_main.subpage .subcontent .business-container .inner h3 strong {
		font-size: 28px;
		font-size: 1.75rem
	}
	#wrapper_main.subpage .subcontent .business-container .inner h3 small {
		font-size: 15px;
		font-size: .9375rem;
		margin-top: 12px;
		letter-spacing: .04em
	}
	#wrapper_main.subpage .subcontent .business-container .inner .description {
		font-size: 14px;
		font-size: .875rem;
		line-height: 1.5;
		position: static;
		margin: 25px 8.46% 0
	}
	#wrapper_main.subpage .subcontent .business-container .inner .b_wrap {
		margin-top: 50px
	}
	#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL {
		float: none;
		width: 100%;
		padding: 0 8.46%
	}
	#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL:before {
		display: none
	}
	#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list {
		margin-top: 60px
	}
	#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list:before {
		font-size: 50px;
		font-size: 3.125rem
	}
	#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list:after {
		display: none
	}
	#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list h4 {
		margin-left: 15px
	}
	#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list h4 strong {
		font-size: 22px;
		font-size: 1.375rem;
		margin-top: 7px
	}
	#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list ul {
		margin-top: 15px
	}
	#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list ul li {
		font-size: 12px;
		font-size: .75rem;
		margin-right: 0;
		padding: 6px 15px 3px
	}
	#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list p {
		font-size: 14px;
		font-size: .875rem;
		line-height: 1.8;
		margin-top: 20px;
		color: #555
	}
	#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutL .b_list img {
		margin-top: 30px;
		border-radius: 5px
	}
	#wrapper_main.subpage .subcontent .business-container .inner .b_wrap .layoutR {
		display: none
	}
	#wrapper_main.subpage .subcontent .casestudy_container {
		display: block
	}
	#wrapper_main.subpage .subcontent .casestudy_container .cs_img {
		width: 49%;
		margin-top: 40px
	}
	#wrapper_main.subpage .subcontent .casestudy_container .cs_img.ll {
		float: left
	}
	#wrapper_main.subpage .subcontent .casestudy_container .cs_img.lr {
		float: right
	}
	#wrapper_main.subpage .subcontent .casestudy_container .inner {
		padding: 0 8.46%
	}
	#wrapper_main.subpage .subcontent .casestudy_container .inner .description {
		text-align: center
	}
	#wrapper_main.subpage .subcontent .casestudy_container .inner .description span b {
		font-size: 14px;
		font-size: .875rem;
		letter-spacing: .02em
	}
	#wrapper_main.subpage .subcontent .casestudy_container .inner .description strong {
		font-size: 40px;
		font-size: 2.5rem;
		letter-spacing: .04em
	}
	#wrapper_main.subpage .subcontent .casestudy_container .inner .description p {
		font-size: 15px;
		font-size: .9375rem;
		margin-top: 25px
	}
	#wrapper_main.subpage .subcontent .casestudy_container .inner .btn {
		width: 100%;
		margin: 30px auto 0;
		padding: 18px 0 14px
	}
	#wrapper_main.subpage .subcontent .casestudy_container .inner .btn b {
		font-size: 18px;
		font-size: 1.125rem
	}
	#wrapper_main.subpage .subcontent .content.cs-container .inner {
		padding-bottom: 0
	}
	#wrapper_main.subpage .subcontent .content.cs-container .inner ul {
		display: block
	}
	#wrapper_main.subpage .subcontent .content.cs-container .inner ul li {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px
	}
	#wrapper_main.subpage .subcontent .content.cs-container .inner ul li h4 {
		font-size: 20px;
		font-size: 1.25rem;
		padding: 0
	}
	#wrapper_main.subpage .subcontent .content.cs-container .inner ul li .tab {
		padding: 0
	}
	#wrapper_main.subpage .subcontent .content.cs-container .inner ul li p {
		padding: 0
	}
	#wrapper_main.subpage .subcontent .content.cs-detail_container .inner .intro {
		display: block
	}
	#wrapper_main.subpage .subcontent .content.cs-detail_container .inner .intro .i_info {
		width: 100%
	}
	#wrapper_main.subpage .subcontent .content.cs-detail_container .inner .intro .i_info:before {
		width: 40px
	}
	#wrapper_main.subpage .subcontent .content.cs-detail_container .inner .intro .i_info ul li span {
		font-size: 14px;
		font-size: .875rem
	}
	#wrapper_main.subpage .subcontent .content.cs-detail_container .inner .intro .i_info ul li strong {
		font-size: 14px;
		font-size: .875rem
	}
	#wrapper_main.subpage .subcontent .content.cs-detail_container .inner .intro p {
		width: 100%;
		margin-top: 50px
	}
	#wrapper_main.subpage .subcontent .content.cs-detail_container .inner a {
		width: 100%;
		margin-top: 50px
	}
	#wrapper_main.subpage .subcontent .content.video_content {
		margin: 70px 0
	}
	#wrapper_main.subpage .subcontent .content.video_content .cs_youtube_mov .cs_youtube-modal .i_play {
		width: 20%
	}
	#wrapper_main.subpage .subcontent .content.video_content small {
		margin-left: 8.625%
	}
	#wrapper_main.subpage .subcontent .content.cs_txt h4 {
		font-size: 32px;
		font-size: 2rem;
		width: 100%
	}
	#wrapper_main.subpage .subcontent .content.cs_txt p {
		width: 100%;
		margin-top: 40px
	}
	#wrapper_main.subpage .subcontent .content.cs_img {
		margin: 80px 0 0
	}
	#wrapper_main.subpage .subcontent .content.cs_img_last {
		margin: 80px 0 0
	}
	#wrapper_main.subpage .subcontent .content.csd .toindex {
		margin-top: 80px
	}
	#wrapper_main.subpage .subcontent .content.csd .toindex a span {
		font-size: 18px;
		font-size: 1.125rem
	}
	#wrapper_main.subpage .subcontent .content.company-container .inner h4 {
		font-size: 25px;
		font-size: 1.5625rem;
		margin-top: 50px
	}
	#wrapper_main.subpage .subcontent .content.company-container .inner .description {
		font-size: 16px;
		font-size: 1rem;
		width: 100%;
		margin-top: 30px
	}
	#wrapper_main.subpage .subcontent .content.company-container .bg {
		position: relative;
		right: auto;
		bottom: auto;
		display: none;
		width: 90%;
		height: 40vw;
		margin-top: 50px;
		border-radius: 10px
	}
	#wrapper_main.subpage .subcontent .content.company-container .bg:before {
		top: -10vw;
		left: 35%;
		width: 50%;
		height: 30vw
	}
	#wrapper_main.subpage .subcontent .content.company-container .bg:after {
		width: 50%;
		height: 30vw
	}
	#wrapper_main.subpage .subcontent .ceo {
		margin-top: 80px
	}
	#wrapper_main.subpage .subcontent .ceo .bg_ttl {
		height: 70vw;
		background-position: -50px center
	}
	#wrapper_main.subpage .subcontent .ceo .bg_ttl h3 {
		bottom: 80px
	}
	#wrapper_main.subpage .subcontent .ceo .bg_ttl h3:before {
		width: 40px
	}
	#wrapper_main.subpage .subcontent .ceo .bg_ttl h3 strong {
		font-size: 27px;
		font-size: 1.6875rem
	}
	#wrapper_main.subpage .subcontent .ceo .bg_ttl h3 small {
		font-size: 15px;
		font-size: .9375rem;
		margin-top: 12px;
		letter-spacing: .04em
	}
	#wrapper_main.subpage .subcontent .ceo .inner {
		top: -20px;
		display: block;
		margin-right: 20px;
		padding: 60px 20px 60px 8.46%;
		border-radius: 0 10px 10px 0
	}
	#wrapper_main.subpage .subcontent .ceo .inner .layoutL strong {
		font-size: 25px;
		font-size: 1.5625rem
	}
	#wrapper_main.subpage .subcontent .ceo .inner .layoutL small {
		font-size: 11px;
		font-size: .6875rem;
		line-height: 1.4;
		margin-top: 20px
	}
	#wrapper_main.subpage .subcontent .ceo .inner .layoutR {
		width: 100%;
		margin-top: 40px
	}
	#wrapper_main.subpage .subcontent .ceo .inner .layoutR p {
		font-size: 16px;
		font-size: 1rem;
		line-height: 2
	}
	#wrapper_main.subpage .subcontent .ceo .inner .layoutR span {
		font-size: 15px;
		font-size: .9375rem;
		margin-top: 50px
	}
	#wrapper_main.subpage .subcontent #profile {
		padding-top: 80px
	}
	#wrapper_main.subpage .subcontent #profile .inner .info {
		margin-top: 50px
	}
	#wrapper_main.subpage .subcontent #profile .inner .info strong {
		font-size: 22px;
		font-size: 1.375rem;
		margin-top: 40px
	}
	#wrapper_main.subpage .subcontent #profile .inner .info small {
		font-size: 11px;
		font-size: .6875rem;
		margin-top: 15px;
		letter-spacing: .1em
	}
	#wrapper_main.subpage .subcontent #profile .inner .info p {
		font-size: 14px;
		font-size: .875rem;
		line-height: 2;
		width: 100%;
		margin-top: 30px
	}
	#wrapper_main.subpage .subcontent #profile .inner .info ul {
		margin-top: 40px
	}
	#wrapper_main.subpage .subcontent .slider_wrap {
		padding-top: 60px;
		padding-bottom: 80px
	}
	#wrapper_main.subpage .subcontent .slider_wrap .slider {
		left: auto;
		width: 83.08%;
		margin: 0 auto
	}
	#wrapper_main.subpage .subcontent .slider_wrap .slider li .img_block img {
		width: 60%
	}
	#wrapper_main.subpage .subcontent .slider_wrap .slider li .txt_block {
		padding: 30px 25px 30px
	}
	#wrapper_main.subpage .subcontent .slider_wrap .slider li .txt_block:before {
		top: -37px;
		left: 20px;
		height: 40px
	}
	#wrapper_main.subpage .subcontent .slider_wrap .slider li .txt_block strong {
		font-size: 22px;
		font-size: 1.375rem;
		line-height: 1.4
	}
	#wrapper_main.subpage .subcontent .slider_wrap .slider li .txt_block span {
		font-size: 12px;
		font-size: .75rem;
		margin-top: 5px
	}
	#wrapper_main.subpage .subcontent .slider_wrap .slider li .txt_block p {
		line-height: 1.7
	}
	#wrapper_main.subpage .subcontent .slider_wrap .slider .slick-list .slick-track .slick-slide {
		margin-right: 0
	}
	#wrapper_main.subpage .subcontent .slider_wrap .slider .slick-arrow {
		top: auto;
		bottom: -44px
	}
	#wrapper_main.subpage .subcontent .slider_wrap .slider .slick-arrow.slick-prev {
		left: 20px;
		background-position: left
	}
	#wrapper_main.subpage .subcontent .slider_wrap .slider .slick-arrow.slick-next {
		right: 20px;
		left: auto;
		background-position: right
	}
	#wrapper_main.subpage .subcontent .slider_wrap .slider .slick-dots {
		top: auto;
		bottom: -50px;
		left: 50%;
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		transform: translateX(-50%)
	}
	#wrapper_main.subpage .subcontent .slider_wrap .slider .slick-dots li:before {
		width: 8px;
		height: 8px
	}
	#wrapper_main.subpage .subcontent .slider_wrap .talent_resullt {
		margin-top: 140px
	}
	#wrapper_main.subpage .subcontent .slider_wrap .talent_resullt ul li {
		display: block
	}
	#wrapper_main.subpage .subcontent .slider_wrap .talent_resullt ul li figure {
		width: 100%;
		padding: 7px 0;
		text-align: center
	}
	#wrapper_main.subpage .subcontent .slider_wrap .talent_resullt ul li figure img {
		width: 40px;
		margin: 0 auto
	}
	#wrapper_main.subpage .subcontent .slider_wrap .talent_resullt ul li figcaption {
		width: 100%
	}
	#wrapper_main.subpage .subcontent .slider_wrap .talent_resullt ul li figcaption strong {
		font-size: 18px;
		font-size: 1.125rem
	}
	#wrapper_main.subpage .subcontent .slider_wrap .talent_resullt ul li figcaption p {
		font-size: 14px;
		font-size: .875rem
	}
	#wrapper_main.subpage .subcontent #c-profile {
		margin-top: 110px
	}
	#wrapper_main.subpage .subcontent #c-profile .inner {
		padding-bottom: 50px
	}
	#wrapper_main.subpage .subcontent #c-profile .inner .c-list {
		margin-top: 50px
	}
	#wrapper_main.subpage .subcontent #c-profile .inner .c-list .list strong {
		font-size: 17px;
		font-size: 1.0625rem;
		display: block
	}
	#wrapper_main.subpage .subcontent #c-profile .inner .c-list .list span {
		font-size: 16px;
		font-size: 1rem;
		display: block;
		margin-top: 15px
	}
	#wrapper_main.subpage .subcontent #c-profile .inner .c-list .list span ul {
		margin-top: 20px
	}
	#wrapper_main.subpage .subcontent #c-profile p {
		font-size: 11px;
		font-size: .6875rem;
		margin-bottom: 70px
	}
	#wrapper_main.subpage .subcontent .content.contact-container .inner {
		padding-bottom: 0
	}
	#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr {
		display: block
	}
	#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr th {
		padding-top: 30px
	}
	#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td {
		display: block;
		width: 100%;
		padding: 10px 0 30px
	}
	#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td input[type=text] {
		width: 47%!important
	}
	#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td input.wwidth {
		width: 100%!important
	}
	#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td textarea {
		width: 100%!important
	}
	#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mailformpro .mailform tbody tr.mfptr td ol li label {
		line-height: 1.4;
		width: auto
	}
	#wrapper_main.subpage .subcontent .content.contact-container .inner #page #contents #main #mfp_buttons {
		margin-top: 30px;
		margin-bottom: 100px
	}
	#wrapper_main .thanks_container {
		padding-top: 220px;
		padding-bottom: 150px
	}
	#wrapper_main .thanks_container h2 {
		font-size: 48px;
		font-size: 3rem;
		letter-spacing: .03em
	}
	#wrapper_main main .kv {
		overflow-x: hidden;
		height: 100%;
		max-height: 600px;
		margin-top: 80px
	}
	#wrapper_main main .kv #lottie {
		bottom: 21%;
		left: 50%;
		width: 30%;
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		transform: translateX(-50%)
	}
	#wrapper_main main .kv .inner {
		width: 88%;
		max-height: 600px
	}
	#wrapper_main main .kv .inner:before {
		width: 90%;
		background-image: url(../../images/index/fv_ttl_sp.svg)
	}
	#wrapper_main main .youtube_mov {
		position: relative;
		top: -30px;
		right: auto;
		bottom: auto;
		width: 300px;
		height: 200px;
		margin: 0 auto;
		-webkit-transform: none;
		-ms-transform: none;
		transform: none
	}
	#wrapper_main main .youtube_mov:before {
		color: #fff
	}
	#wrapper_main main .youtube_mov .mov_inner {
		border-radius: 0
	}
	#wrapper_main main .cliant-area {
		padding: 10px 0 45px
	}
	#wrapper_main main .cliant-area .c_border {
		width: 88%
	}
	#wrapper_main main .cliant-area .c_border.bt b {
		width: 16em
	}
	#wrapper_main main .cliant-area ul {
		display: block;
		overflow-x: auto;
		overflow-y: hidden;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch
	}
	#wrapper_main main .cliant-area ul li {
		display: inline-block;
		height: 40px;
		margin-right: 20px
	}
	#wrapper_main main .whoweare {
		padding: 60px 8.46% 85px
	}
	#wrapper_main main .whoweare:after {
		width: 105px
	}
	#wrapper_main main .whoweare .inner {
		display: block
	}
	#wrapper_main main .whoweare .inner .layoutL {
		width: 100%
	}
	#wrapper_main main .whoweare .inner .layoutL small {
		font-size: 20px;
		font-size: 1.25rem
	}
	#wrapper_main main .whoweare .inner .layoutL small+span {
		line-height: 1.6;
		margin-top: 40px
	}
	#wrapper_main main .whoweare .inner .layoutL h2 {
		font-size: 24px;
		font-size: 1.5rem;
		line-height: 1.5;
		margin-top: 25px;
		letter-spacing: 0
	}
	#wrapper_main main .whoweare .inner .layoutL p {
		font-size: 16px;
		font-size: 1rem;
		font-weight: 500;
		line-height: 2;
		margin-top: 25px;
		letter-spacing: 0
	}
	#wrapper_main main .whoweare .inner .layoutR {
		margin-right: 0
	}
	#wrapper_main main .whoweare .inner .layoutR .service_circle {
		width: 100%;
		margin: 30px auto 0
	}
	#wrapper_main main .whoweare .inner .layoutR .btn {
		margin: 60px auto 0
	}
	#wrapper_main main .business-area {
		padding: 80px 8.46% 60px
	}
	#wrapper_main main .business-area .inner small {
		font-size: 14px;
		font-size: .875rem
	}
	#wrapper_main main .business-area .inner h3 {
		font-size: 15px;
		font-size: .9375rem;
		font-weight: 500;
		margin-top: 44px;
		text-align: left;
		letter-spacing: .02em
	}
	#wrapper_main main .business-area .inner h3:before {
		top: -35px;
		left: -10px;
		width: 31px;
		height: 25px
	}
	#wrapper_main main .business-area .inner h3:after {
		top: auto;
		right: -10px;
		bottom: -35px;
		width: 31px;
		height: 25px
	}
	#wrapper_main main .business-area .inner ul {
		margin-top: 75px
	}
	#wrapper_main main .business-area .inner ul li {
		height: 83vw;
		margin-bottom: 20px
	}
	#wrapper_main main .business-area .inner ul li .ttl_wrap {
		top: 51%
	}
	#wrapper_main main .business-area .inner ul li .ttl_wrap strong {
		font-size: 21px;
		font-size: 1.3125rem
	}
	#wrapper_main main .business-area .inner ul li .ttl_wrap em {
		font-size: 12px;
		font-size: .75rem
	}
	#wrapper_main main .business-area .inner ul li span {
		font-size: 14px;
		font-size: .875rem;
		line-height: 1.5;
		width: 88%;
		text-align: left;
		letter-spacing: .02em
	}
	#wrapper_main main .business-area .inner .btn {
		margin-top: 40px
	}
	#wrapper_main main .business-area .inner p {
		font-size: 11px;
		font-size: .6875rem;
		margin-top: 20px
	}
	#wrapper_main main .casestudy-area {
		padding-top: 80px
	}
	#wrapper_main main .casestudy-area .inner h3 {
		margin-right: 8.46%
	}
	#wrapper_main main .casestudy-area .inner h3:before {
		width: 40px
	}
	#wrapper_main main .casestudy-area .inner h3 strong {
		font-size: 27px;
		font-size: 1.6875rem
	}
	#wrapper_main main .casestudy-area .inner h3 small {
		font-size: 15px;
		font-size: .9375rem;
		margin-top: 12px;
		letter-spacing: .04em
	}
	#wrapper_main main .casestudy-area .slide-wrap {
		margin-top: 0;
		margin-right: 8.46%
	}
	#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li {
		display: block
	}
	#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li .text_block {
		width: 100%;
		margin-top: 60px
	}
	#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li .text_block:before {
		top: -35px;
		-webkit-transform: scale(.7);
		-ms-transform: scale(.7);
		transform: scale(.7);
		-webkit-transform-origin: top left;
		-ms-transform-origin: top left;
		transform-origin: top left
	}
	#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li .text_block h4 {
		font-size: 25px;
		font-size: 1.5625rem
	}
	#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li .text_block .tag {
		margin-top: 20px;
		margin-bottom: 20px
	}
	#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li .text_block .tag span {
		margin-bottom: 5px
	}
	#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li .text_block p {
		font-size: 16px;
		font-size: 1rem;
		margin-top: 25px
	}
	#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li .text_block a {
		line-height: 1.4
	}
	#wrapper_main main .casestudy-area .slide-wrap .slider .slick-list li .image_block {
		width: 100%;
		border-radius: 20px
	}
	#wrapper_main main .casestudy-area .slide-wrap .slider .slick-arrow.slick-next {
		right: 0;
		left: auto
	}
	#wrapper_main main .casestudy-area .slide-wrap .slider .slick-arrow.slick-prev {
		left: 0
	}
	#wrapper_main main .casestudy-area .slide-wrap .slider .slick-dots {
		left: 50%;
		margin-top: 30px;
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		transform: translateX(-50%);
		text-align: center
	}
	#wrapper_main main .casestudy-area .slide-wrap .slider .slick-dots li {
		margin-right: 20px
	}
	#wrapper_main main .contact_container {
		margin-top: 70px
	}
	#wrapper_main main .contact_container .inner {
		display: block;
		padding-top: 80px;
		padding-bottom: 80px
	}
	#wrapper_main main .contact_container .inner:before {
		display: none
	}
	#wrapper_main main .contact_container .inner .description {
		text-align: center
	}
	#wrapper_main main .contact_container .inner .description span b {
		font-size: 14px;
		font-size: .875rem;
		letter-spacing: .02em
	}
	#wrapper_main main .contact_container .inner .description strong {
		font-size: 40px;
		font-size: 2.5rem;
		letter-spacing: .04em
	}
	#wrapper_main main .contact_container .inner .description p {
		font-size: 15px;
		font-size: .9375rem;
		margin-top: 25px
	}
	#wrapper_main main .contact_container .inner .btn {
		width: 100%;
		margin: 30px auto 0;
		padding: 18px 0 14px
	}
	#wrapper_main main .contact_container .inner .btn b {
		font-size: 18px;
		font-size: 1.125rem
	}
	#wrapper_main.subpage .subcontent .content {
		margin: 100px 8.46% 0
	}
	#wrapper_main.subpage .subcontent .content .inner {
		padding-bottom: 70px
	}
	#wrapper_main.subpage .subcontent .content .inner h3:before {
		width: 40px
	}
	#wrapper_main.subpage .subcontent .content .inner h3 strong {
		font-size: 27px;
		font-size: 1.6875rem
	}
	#wrapper_main.subpage .subcontent .content .inner h3 small {
		font-size: 15px;
		font-size: .9375rem;
		margin-top: 12px;
		letter-spacing: .04em
	}
	#wrapper_main.subpage .subcontent .content .inner .p-list_wrap .list {
		margin-top: 40px
	}
	#wrapper_main.subpage .subcontent .content .inner .p-list_wrap .list strong {
		font-size: 18px;
		font-size: 1.125rem
	}
	#wrapper_main.subpage .subcontent .content .inner .p-list_wrap .list span {
		margin-top: 15px;
		letter-spacing: .02em
	}
}
@media only screen and (max-width:519px) and (max-width:519px) {
	#wrapper_main main .business-area .inner ul {
		display: block
	}
}


//20250310 追加
.mfp_email,
.mfp_tel{
	font-size: 18px;
	font-size: 1.125rem;
	width: 95% !important;
	padding: 22px 20px 18px;
	letter-spacing: .06em;
	border: 1px solid #c7c7c7;
	border-radius: 5px;
}


.mfp_buttons {
	text-align: center;
}
.mfp_buttons button{
	font-size: 18px;
	font-size: 1.125rem;
	position: relative;
	z-index: 1;
	width: 310px;
	height: 53px;
	margin: 0 auto 20px;
	border-radius: 30px;
	background-color: #fea621;
	color: #fff;
}

div#mfp_overlay {
	position: absolute;
	display: none;
	z-index: 10001;
}
div#mfp_overlay_inner {
	background-color: #FFF;
	padding: 15px;
	margin: 0px auto;
	border-radius: 5px;
	box-shadow: 0px 0px 10px #000;
	width: 640px;
	max-width: 90%;
}
div#mfp_overlay_background {
	background-color: #000;
	position: absolute;
	display: none;
	z-index: 10000;
}
div#mfp_loading_screen {
	z-index: 20000;
	opacity: 0.8;
	display: none;
	background-color: #000;
	position: absolute;
}
div#mfp_loading {
	z-index: 20001;
	position: absolute;
	display: none;
	width: 40px;
	height: 40px;
	background-image: url(_images/mfp_loading.gif);
}
#mfp_overlay .mfp_colored {
	background-color: #F6F7F9;
}
#mfp_overlay .mfp_achroma {
	background-color: #FFF;
}
table#mfp_confirm_table {
	border-spacing: 0px;
	border-collapse: collapse;
	width: 100%;
}
table#mfp_confirm_table tr.mfp_colored {
	background-color: #F6F7F9;
}
table#mfp_confirm_table tr.mfp_achroma {
	background-color: #FFF;
}
table#mfp_confirm_table tr th,table#mfp_confirm_table tr td {
	text-align: left;
	font-size: 12px;
	border-top: solid 1px #CCC;
	padding: 5px 10px;
}
table#mfp_confirm_table tr th {
	white-space: nowrap;
	width: 200px;
}
table#mfp_confirm_table tr td {
	line-height: 1.5em;
	word-break: break-all;
}



#mfp_button_cancel{
	background: #aaa;
}

@media screen and (max-width: 800px) {
	form#mailformpro dl dt {
		float: none;
		width: auto;
		font-size: 12px;
		padding: 5px;
		text-align: left;
	}
	form#mailformpro dl dd {
		clear: both;
		border-top: none;
		padding: 5px 15px;
		font-size: 12px;
		line-height: 1.5em;
	}
	div.mfp_buttons button {
		font-size: 14px;
	}
	div#mfp_phase_confirm h4 {
		font-size: 18px;
	}
	ul#mfp_phase_stat {
		padding: 0px;
		text-align: left;
	}
	ul#mfp_phase_stat li {
		text-align: center;
		padding: 5px 0px;
		border-radius: 3px;
		margin: 5px;
		list-style: none;
		font-size: 14px;
		width: 28%;
	}
	ul#mfp_phase_stat li.mfp_phase_arrow {
		bos-shadow: none;
		display: none;
	}
	ul#mfp_phase_stat li.mfp_active_phase {
	}
	ul#mfp_phase_stat li.mfp_inactive_phase {
	}
	table#mfp_confirm_table tr th {
		white-space: nowrap;
		width: 100px;
	}
	div#mfp_thanks {
		text-align: center;
		font-size: 18px;
		padding: 20px 0px;
	}
	div#mfp_thanks strong {
		color: #C00;
		font-size: 24px;
		display: block;
	}
	table#mfp_confirm_table tr th,table#mfp_confirm_table tr td {
		display: block;
		width: 100%;
	}
}