html {
	font-size: 62.5%
}
body {
	font-family: "Open Sans", "Helvetica Neue", Helvetica, "Arial", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-size: 14px;
	font-size: 1.4rem;
	width: 100%;
	height: 100%;
	background-color: #fff;
	color: gray;
	line-height: 1.75
}
h1,
h2,
h3,
p,
ul {
	margin: 0
}
h1,
h2,
h3,
h4 {
	font-size: 100%
}
ul {
	padding-left: 0
}
li {
	list-style-type: none
}
a {
	color: inherit;
	text-decoration: none
}
a:hover {
	color: rgb(128, 128, 128);
	text-decoration: underline;
}
a:focus {
	outline: none
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom
}
dl,
dt,
dd {
	margin: 0
}
dt {
	font-weight: normal
}
table {
	width: 100%
}
table th {
	font-weight: normal
}
p {
	text-align: justify
}
em {
	font-style: normal
}
strong {
	font-weight: normal
}
.fL {
	float: left
}
.fR {
	float: right
}
.posR {
	position: relative
}
.posA {
	position: absolute
}
.hi {
    display: inline-block;
    text-indent: -0.5em;
}
.btn_wrap {
	background: #999999;
	border: 1px solid #656565;
	border-radius: 5px;
	padding: 2px
}
.btn {
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr = '#666666', endColorstr = '#898989')";
	background-image: -moz-linear-gradient(top, #666, #898989);
	background-image: -ms-linear-gradient(top, #666, #898989);
	background-image: -o-linear-gradient(top, #666, #898989);
	background-image: -webkit-gradient(linear, center top, center bottom, from(#666), to(#898989));
	background-image: -webkit-linear-gradient(top, #666, #898989);
	background-image: linear-gradient(top, #666, #898989);
	border: none;
	border-radius: 5px;
	font-size: 16px;
	color: #FFF;
	padding: 9px 0px 7px
}
.btn:hover {
	color: #FFF;
	opacity: 0.7
}
.progress {
	margin-bottom: 0;
	overflow: visible;
	border-radius: none;
	box-shadow: none;
	background: #fff;
	color: #ccc;
	height: 100%;
	position: absolute;
	width: 100%
}
.progress-bar {
	float: none;
	background: none;
	height: auto;
	font-size: 0;
	box-shadow: none;
	transition: none;
	border-top: 1px solid #ccc;
	position: absolute;
	top: 50%;
	width: 0%
}
.progress-text {
	font-family: "Menlo", "Consolas", monospace;
	font-size: 12px;
	font-size: 1.2rem;
	margin-top: 10px;
	position: absolute;
	text-align: center;
	top: 50%;
	width: 100%
}
.progress-complete .progress-bar {
	border-top-color: #fff
}
#wrapper {
	position: relative;
	opacity: 0;
	-webkit-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both
}
@media (min-width: 768px) {
.container {
	width: 750px
}
}
@media (min-width: 992px) {
.container {
	width: 960px
}
}
@media (min-width: 1200px) {
.container {
	width: 960px
}
}
.bg {
	width: 100%;
	background: #F7F7F7
}
@media (max-width: 450px) {
.top-greeting p .dn {
	display: none
}
}
.page-header {
	position: relative;
	z-index: 20;
	width: 100%;
	background-color: #fff;
	-webkit-box-shadow: 0 3px 5px rgba(100,100,100,0.2);
	box-shadow: 0 3px 5px rgba(100,100,100,0.2);
	margin: 0px 0px 0px;
	padding-bottom: 0px;
	border: none
}
.no-boxshadow .page-header {
	border-bottom: 1px solid #ccc
}
.sm-header {
	display: none
}
#navTgl {
	display: none
}
#navTgl ~ .open {
	display: none
}
#navTgl ~ .close {
	display: none
}
#navTgl ~ .menu {
	display: none
}
@media (max-width: 959px) {
.sm-header {
	display: block;
	position: relative;
	z-index: 1;
	padding: 9px 0 11px 11px;
	width: 100%;
	background: #FFF url(../img/tmp/bg_noise.png) repeat;
	-webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0.3);
	box-shadow: 0px 1px 1px rgba(0,0,0,0.3)
}
#navTgl ~ .open {
	display: block
}
#navTgl ~ .close {
	display: block
}
#navTgl ~ .menu {
	display: block
}
#wrapper {
	-webkit-transition: -webkit-transform .6s;
	transition: transform .6s
}
#navTgl:checked ~ #wrapper {
	-webkit-transform: translateX(-233px);
	transform: translateX(-233px)
}
#navTgl {
	display: none;
	overflow: hidden
}
label[for="navTgl"] {
	position: fixed;
	right: 0;
	cursor: pointer
}
.open {
	position: absolute;
	top: 11px;
	right: 0;
	z-index: 22;
	width: 46px;
	height: 46px;
	line-height: 46px;
	overflow: hidden;
	-webkit-transition: -webkit-transform .6s;
	transition: transform .6s
}
.open:before {
	content: url(../img/tmp/menu_icon.svg);
	display: inline-block;
	font-size: 0;
	line-height: 0
}
#navTgl:checked+.open {
	-webkit-transition: -webkit-transform .6s;
	transition: transform .6s;
	-webkit-transform: translateX(-233px);
	transform: translateX(-233px)
}
#navTgl:checked+.open:before {
	content: url(../img/tmp/menu_close_icon.svg);
	display: inline-block;
	font-size: 0;
	line-height: 0
}
.close {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 21;
	width: 100%;
	height: 100%;
	transition: background-color .6s;
	pointer-events: none
}
#navTgl:checked ~ .close {
	background-color: rgba(0,0,0,0.6);
	pointer-events: auto
}
.menu {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 21;
	overflow: auto;
	width: 233px;
	height: 100%;
	background-color: #191919;
	-webkit-transition: -webkit-transform .6s;
	transition: transform .6s;
	-webkit-transform: translateX(100%);
	transform: translateX(100%)
}
#navTgl:checked ~ .menu {
	-webkit-transform: translateX(0);
	transform: translateX(0)
}
.menu li a {
	background: url(../img/tmp/menu_arrow.svg) center right no-repeat;
	display: block;
	width: 100%;
	height: 100%;
	padding: 1.4em 0;
	text-align: center;
	border-bottom: solid 1px #000;
	color: white;
	font-size: 1.8rem;
	line-height: 1.4;
	text-decoration: none;
	font-family: 'Lato', sans-serif;
	letter-spacing: 0.1em;
	transition: background-color .6s
}
.menu ul li:nth-child(even) {
	background: #1f1f1f
}
}
@media (max-width: 959px) {
.global-nav {
	display: none
}
.sticky-header {
	display: none
}
}
@media (min-width: 960px) {
.global-nav {
	height: 125px;
	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.25);
	box-shadow: 0 1px 1px rgba(0,0,0,0.25)
}
.global-nav ul {
	width: 960px;
	margin: auto;
	position: relative
}
.global-nav ul li {
	position: absolute;
	overflow: hidden;
	width: 192px;
	height: 125px
}
#logo {
	top: -1px;
	left: 50%;
	margin-left: -96px;
	height: 160px
}
#service {
	top: 0;
	left: 0
}
#portfolio {
	top: 0;
	left: 192px
}
#company {
	top: 0;
	left: 576px
}
#contact {
	top: 0;
	left: 768px
}
.global-nav a {
	display: block;
	margin: 0;
	width: 100%;
	height: 100%
}
.global-nav a:hover {
	margin-top: -126px
}
#logo a:hover {
	margin-top: -162px
}
.sticky-header {
	position: fixed;
	top: -60px;
	z-index: 30;
	width: 100%;
	background-color: #000;
	-webkit-box-shadow: 0 2px 2px rgba(0,0,0,0.25);
	box-shadow: 0 2px 2px rgba(0,0,0,0.25);
	opacity: .85;
	-webkit-transition: top .25s;
	transition: top .25s
}
.sticky-header ul {
	width: 960px;
	margin: auto
}
.sticky-header ul li {
	float: left;
	overflow: hidden;
	line-height: 0
}
.sticky-header ul li a {
	display: block;
	width: 100%;
	height: 100%
}
.sticky-header .logo {
	width: 180px;
	height: 54px
}
.sticky-header .service {
	width: 195px;
	height: 54px
}
.sticky-header .portfolio {
	width: 195px;
	height: 54px
}
.sticky-header .company {
	width: 195px;
	height: 54px
}
.sticky-header .contact {
	width: 195px;
	height: 54px
}
.sticky-header a:hover {
	margin-top: -54px
}
.sticky-header.visible {
	top: 0
}
.sticky-header:hover {
	opacity: 1
}
}
.main_image {
	background-color: #141414;
	margin-bottom: 3em
}
.main_image h1 {
	text-align: center;
	height: 400px
}
#top .main_image {
	background-color: #fff;
	padding-bottom: 10px;
	box-shadow: 0px -10px 10px -10px rgba(0,0,0,0.3) inset
}
.swiper-container {
	width: 100%;
	height: 100%
}
.swiper-slide {
	text-align: center;
	font-size: 18px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center
}
.swiper-slide img {
	position: relative;
	box-shadow: 0px -10px 10px -10px rgba(0,0,0,0.3) inset
}
.swiper-pagination-bullet {
	background: #333
}
.swiper-pagination-bullet-active {
	background: rgba(25,25,25,0.9)
}
.swiper-button-prev,
.swiper-button-next {
	width: 75px;
	height: 75px;
	top: 50%;
	left: 50%;
	margin-top: -36px
}
.swiper-button-prev {
	background: url(../img/tmp/sprites.png) no-repeat 0 0;
	background-size: 159px;
	margin-left: -489px
}
.swiper-button-next {
	background: url(../img/tmp/sprites.png) no-repeat right 0;
	background-size: 159px;
	margin-left: 418px
}
@media (max-width: 768px) {
.lg-image {
	display: none
}
.sm-image {
	display: block
}
.swiper-button-prev,
.swiper-button-next {
	display: none
}
.swiper-container-horizontal>.swiper-pagination {
	bottom: 0
}
}
@media (min-width: 769px) {
.lg-image {
	display: block
}
.sm-image {
	display: none
}
}
.page-banner {
	padding: 40px 0px 25px
}
.page-banner p {
	text-align: center
}
@media (max-width: 768px) {
.page-banner img {
	width: 100%;
	height: auto
}
}
.page-footer {
	padding-top: 20px;
	padding-bottom: 5px
}
.footer-sitemap h1 {
	text-align: center;
	margin: 0 0 17px;
	padding: 0 0 17px;
	border-bottom: solid 1px #e5e5e5
}
@media (max-width: 600px) {
.footer-sitemap div {
	margin-bottom: 3%
}
}
.footer-sitemap h2 {
	margin: 0 0 10px;
	padding: 0 0 0 7px;
	color: #505050;
	font-weight: normal;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1
}
.footer-sitemap .item01 {
	border-left: solid 2px #FF6666
}
.footer-sitemap .item02 {
	border-left: solid 2px #FFB366
}
.footer-sitemap .item03 {
	border-left: solid 2px #EAF000
}
.footer-sitemap .item04 {
	border-left: solid 2px #91CC52
}
.footer-sitemap .item05 {
	margin-bottom: 13px;
	border-left: solid 2px #46B046
}
.footer-sitemap .item06 {
	border-left: solid 2px #4E80C2
}
.footer-sitemap .item07 {
	border-left: solid 2px #AB50C7
}
.footer-sitemap .small {
	font-size: 10px;
	font-size: 1rem
}
@media (max-width: 400px) {
.footer-sitemap small {
	display: none
}
}
.footer-sitemap p {
	font-size: 10px;
	font-size: 1rem;
	padding-left: 1em;
	text-indent: -1em
}
.footer-sitemap p a {
	font-size: 10px;
	font-size: 1rem
}
.footer-sitemap .ls-5 {
	letter-spacing: -0.045em
}
.footer-sitemap .ls-4 {
	letter-spacing: -0.04em
}
@media (max-width: 400px) {
.footer-sitemap p {
	display: none
}
}
.footer-sitemap p a:before {
	display: inline-block;
	margin-right: 2px;
	width: 0;
	height: 0;
	border: 3px solid #dcdcdc;
	border-color: transparent;
	border-left-color: #dcdcdc;
	content: ""
}
.footer-sitemap a:link {
	text-decoration: none
}
.footer-sitemap a:visited {
	text-decoration: none
}
.footer-sitemap a:hover {
	text-decoration: underline;
	position: relative;
	top: 1px;
	left: 1px
}
#copyright {
	margin: 25px 0 -10px 0;
	padding: 7px 0 0;
	border-top: solid 1px #e5e5e5;
	text-align: center;
	line-height: 24px
}
.copyright:before {
	display: inline-block;
	width: 60px;
	content: ""
}
.copyright {
	color: #999;
	vertical-align: top;
	letter-spacing: 1px;
	font-size: 10px;
	font-size: 1rem
}
.copyright:after {
	display: inline-block;
	width: 15px;
	content: ""
}
@media (max-width: 410px) {
#copyright small {
	display: block
}
}
#sns-btn {
	display: inline
}
#sns-btn a {
	display: inline-block;
	overflow: hidden;
	width: 24px;
	height: 24px
}
#sns-btn .facebook-btn img {
	max-width: inherit;
	margin: -105px 0 0 0
}
#sns-btn .facebook-btn img:hover {
	max-width: inherit;
	margin: -138px 0 0 0
}
#sns-btn .twitter-btn img {
	max-width: inherit;
	margin: -105px 0 0 -31px
}
#sns-btn .twitter-btn img:hover {
	max-width: inherit;
	margin: -138px 0 0 -31px
}
.back-to-top {
	position: fixed;
	right: 20px;
	bottom: -100px;
	display: block;
	width: 70px;
	height: 70px;
	margin: 0;
	color: #eee;
	line-height: 1.1;
	border-width: 0;
	border-radius: 50%;
	text-align: center;
	background-color: rgba(0,0,0,0.85);
	cursor: pointer;
	-webkit-box-shadow: 0 2px 2px rgba(0,0,0,0.25);
	box-shadow: 0 2px 2px rgba(0,0,0,0.25);
	-webkit-transition: bottom .5s;
	transition: bottom .5s;
	padding: 0
}
.back-to-top:hover {
	background-color: #666
}
.back-to-top .label {
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
	padding: 0
}
.back-to-top.visible {
	bottom: 20px
}
.no-js .back-to-top {
	display: none
}
.portfolio-detail {
	display: block;
	padding: 80px 0px 0px;
	background: #FFF
}
.portfolio-detail img {
	vertical-align: bottom
}
.portfolio-detail h1,
.portfolio-detail h2,
.portfolio-detail p {
	text-align: center
}
.portfolio-detail h1,
.portfolio-detail h2 {
	font-size: 25px;
	font-size: 2.5rem;
	color: #7F7F7F;
	margin-bottom: 15px;
	font-weight: normal;
	letter-spacing: 0.07em
}
.portfolio-detail p {
	margin-bottom: 50px;
	font-size: 16px;
	font-size: 1.6rem
}
.portfolio-detail div.comment {
	width: 430px;
	margin: auto;
	text-align: justify
}
.portfolio-detail div.comment p {
	text-align: left
}
.portfolio-detail ul {
	padding: 0px 40px 40px
}
.portfolio-detail li {
	list-style: none;
	margin-top: 30px;
	text-align: center
}
.portfolio-detail li img {
	width: inherit;
	max-width: 100%;
	height: auto
}
.top-greeting {
	padding: 60px 0 95px
}
.top-greeting h1 {
	color: #999;
	font-size: 21px;
	font-weight: normal;
	line-height: 1.75;
	letter-spacing: 0.04em;
	margin: 0 0 20px
}
.top-greeting p {
	color: #999;
	letter-spacing: .1em;
	line-height: 1.9;
	text-align: center
}
/* top-works */
.top-works {
	padding: 60px 0;
}
.top-works h1 {
	font-size: 35px;
	color: #989898;
	font-family: 'Biryani', sans-serif;
	font-weight: 200;
	padding: 0 0 27px 160px;
	letter-spacing: -0.01em;
}
.top-works h1 .fs-l {
	font-size: 40px;
	margin-right: -0.06em;
}
.top-works h1 small {
	font-size: 14px;
	margin-left: -0.10em;
}
.top-works .more-btn.bottom {
	display: none
}
.top-works .more-btn img {
	margin: 0 0 0 40px;
	vertical-align: middle;
}
 @media (max-width: 500px) {
.top-works h1 {
	padding: 0 0 27px 0;
}
.top-works .more-btn img {
	margin: 0 0 0 40px;
}
}
 @media (max-width: 320px) {
.top-works h1 {
	padding: 0 0 27px 0;
}
.top-works .more-btn img {
	margin: 0 0 0 10px;
}
.top-works .more-btn {
	display: none
}
.top-works .more-btn.bottom {
	display: block;
	text-align: center;
	padding: 3em 0
}
}
.top-works .more-btn:hover {
	opacity: .5;
}
.top-works .works-thums {
	width: 960px;
	margin: auto;
}
.top-works .works-thums li {
	width: 176px;
	height: 125px;
	overflow: hidden;
	position: relative;
	margin: 0 20px 20px 0;
	background: #F7F7F7;
}
.top-works .works-thums li img {
	width: 100%;
	height: auto;
}
@media (max-width: 960px) {
.top-works .works-thums {
	width: 100%;
	display: flex;
	-webkit-justify-content: space-around;
	-webkit-flex-wrap: wrap;
	/* Safari */
	justify-content: space-around;
	flex-wrap: wrap;
}
.top-works .works-thums li {
	margin-right: 0;
	margin-bottom: 20px;
}
}
.top-works .works-thums li a {
	display: block;
	width: 100%;
	height: 100%;
}
.top-works .works-thums li .overlay {
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
	background: #0080ff;
	text-align: center;
	opacity: 0;
	-ms-filter: "alpha( opacity=0 )";
	filter: alpha(opacity=0);
	cursor: pointer;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	-webkit-transform: rotate(0deg) rotateX(0deg) rotateY(90deg) rotateZ(180deg);
	-moz-transform: rotate(0deg) rotateX(0deg) rotateY(90deg) rotateZ(180deg);
	-ms-transform: rotate(0deg) rotateX(0deg) rotateY(90deg) rotateZ(180deg);
	-o-transform: rotate(0deg) rotateX(0deg) rotateY(90deg) rotateZ(180deg);
	transform: rotate(0deg) rotateX(0deg) rotateY(90deg) rotateZ(180deg);
}
.top-works .works-thums li:hover .overlay {
	background: rgba(255, 0, 0, 0.5);
	opacity: 1;
	-ms-filter: "alpha( opacity=100 )";
	filter: alpha(opacity=100);
	-webkit-transform: rotate(0deg) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
	-moz-transform: rotate(0deg) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
	-ms-transform: rotate(0deg) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
	-o-transform: rotate(0deg) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
	transform: rotate(0deg) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
}
.top-works .works-thums li .overlay:before {
	content: "";
	display: inline-block;
	height: 100%;
	vertical-align: middle;
}
.top-works .works-thums li .overlay > .inner {
	color: #fff;
	display: inline-block;
	vertical-align: middle;
}
.top-works .works-thums li .overlay > .inner strong {
	font-weight: normal;
	line-height: 1.3;
}
.top-news-and-calender {
	padding: 90px 0
}
#news>h1 {
	font-size: 35px;
	color: #989898;
	font-family: 'Biryani', sans-serif;
	font-weight: 200;
	letter-spacing: -0.01em
}
#news>h1 .fs-l {
	font-size: 40px;
	margin-right: -0.06em
}
#news>h1 small {
	font-size: 14px;
	margin-left: -0.10em
}
#news .box {
	height: 250px;
	overflow: auto;
	padding: 10px 17px 10px;
	border: 1px solid #EEE;
	border-right: none
}
#news time {
	color: #aaa;
	line-height: 2.5
}
#newsFeed h1 {
	text-indent: -0.5em;
	font-weight: normal;
	margin-bottom: 5px
}
#newsFeed .content {
	text-align: justify;
	text-justify: inter-ideograph
}
#news hr {
	display: block;
	clear: both;
	margin: 10px 0;
	border: none;
	border-top: dashed 1px #bbb
}
#news a:hover {
	text-decoration: underline
}
@media (max-width: 768px) {
#news {
	margin-bottom: 90px
}
#news .box {
	border: none;
	height: auto;
	overflow: visible
}
}
div.cal_wrapper {
	margin: 0 0 30px;
	background: #fff
}
#calender h1 {
	text-align: center;
	font-size: 35px;
	color: #989898;
	font-family: 'Biryani', sans-serif;
	font-weight: 200;
	letter-spacing: -0.01em
}
#calender h1 .fs-l {
	font-size: 40px;
	margin-right: -0.06em
}
div.cal_wrapper .time {
	margin: 0px 0px 10px;
	overflow: hidden;
	position: relative
}
div.cal_wrapper .time time {
	color: #999;
	font-size: 20px;
	font-size: 2rem;
	margin: 0px 5px 0px
}
div.cal_wrapper .time a {
	display: inline-block;
	overflow: hidden;
	width: 20px;
	height: 21px;
	vertical-align: -5px
}
div.cal_wrapper .time a.prev img {
	max-width: inherit;
	margin: -105px 0 0 -61px
}
div.cal_wrapper .time a.next img {
	max-width: inherit;
	margin: -105px 0 0 -83px
}
div.cal_wrapper .time a.prev:hover img {
	margin: -126px 0 0 -61px
}
div.cal_wrapper .time a.next:hover img {
	margin: -126px 0 0 -83px
}
div.cal_wrapper .closed {
	right: 5px;
	bottom: 3px;
	display: block;
	padding: 5px;
	background: #FFD9B2;
	position: absolute
}
div.cal_wrapper table {
	width: 100%;
	text-align: center;
	border-spacing: 3px;
	border-collapse: separate
}
div.cal_wrapper table td div {
	height: 100%;
	padding: 4px 0px 3px
}
div.cal_wrapper table.cal tr td div.Sat {
	color: #66B3FF;
	background: #FFD9B2
}
div.cal_wrapper table.cal tr td div.Sun {
	color: #FF8080;
	background: #FFD9B2
}
div.cal_wrapper table.cal tr td div.Today {
	font-weight: bolder
}
div.cal_wrapper table.cal tr td div.Deli {
	background-color: #EFE
}
div.cal_wrapper table.cal tr td div.Holyday {
	background: #FFD9B2
}
div.cal_wrapper table.cal tr td div.Birthday {
	font-weight: bolder;
	background-color: #EEF;
	color: #090;
	border-radius: 3px
}
div.cal_wrapper table.cal tr td div.backward {
	color: #CCC;
	font-weight: normal;
	background-color: #FFF
}
div.cal_wrapper table.cal tr td div.pointer {
	cursor: pointer
}
div.cal_wrapper table.cal tr td div.pointer:hover {
	background-color: #EEE
}
.top-links {
	padding: 60px 0
}
.top-links h1 {
	font-size: 40px;
	color: #999;
	font-family: 'Work Sans', sans-serif;
	font-weight: 300;
	margin-bottom: 3%
}
.top-links ul li {
	text-align: center;
	margin-bottom: 30px
}
.top-links ul li a:hover {
	opacity: 0.5
}
#facebook {
	border: 1px solid #e2e2e2;
	width: 100%;
	height: 250px;
	overflow: hidden;
	background: #FFF
}
#facebook iframe {
	width: 250px;
	height: 210px
}
#service .main_image h1 {
	height: inherit;
	position: relative
}
#service .main_image h1:after {
	position: absolute;
	display: block;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: 0 -5px 10px rgba(0,0,0,0.1) inset
}
#service .main_image img {
	margin: auto
}
#sales_promotion {
	padding: 10px 0 80px
}
#sales_promotion .description {
	margin: 30px 0px 0px
}
#sales_promotion .description h1 {
	margin: 20px 0px 41px 5px
}
#sales_promotion .copy {
	margin-top: 3em
}
#sales_promotion .copy h2 {
	color: gray;
	font-size: 18px;
	font-size: 1.8rem;
	text-align: center;
	line-height: 1.5;
	margin: 5px 0px 0px 5px;
	font-weight: normal
}
#sales_promotion .copy ul {
	margin: 2em 0 2em
}
#sales_promotion .copy ul:after {
	content: "";
	display: table;
	clear: both
}
#sales_promotion .copy li {
	text-align: center;
	padding: 14px 15px;
	border: 1px solid #b2b2b2;
	border-radius: 25px;
	margin-bottom: 2.5em;
	position: relative
}
#sales_promotion .item_1,
#sales_promotion .item_3 {
	float: left;
	margin-right: 80px
}
#sales_promotion .item_2,
#sales_promotion .item_4 {
	clear: both;
	float: right;
	margin-left: 80px
}
#sales_promotion .arrow-left:after,
#sales_promotion .arrow-right:after {
	content: "";
	display: block;
	width: 19px;
	height: 14px;
	z-index: 2;
	position: absolute
}
#sales_promotion .arrow-right:after {
	background: url(../img/service/bg_arrow_right.gif) no-repeat left top;
	background-size: 19px;
	right: 0px;
	bottom: -10px
}
#sales_promotion .arrow-left:after {
	background: url(../img/service/bg_arrow_left.gif) no-repeat left top;
	background-size: 19px;
	left: 0px;
	bottom: -10px
}
#sales_promotion .item_1 strong:after,
#sales_promotion .item_2 strong:after,
#sales_promotion .item_3 strong:after,
#sales_promotion .item_4 strong:after {
	content: "";
	display: block;
	width: 48px;
	height: 49px;
	position: absolute;
	z-index: 2
}
#sales_promotion .item_1 strong:after {
	background: url(../img/service/ic_sp_01.png) no-repeat left top;
	top: 20px;
	right: -70px
}
#sales_promotion .item_2 strong:after {
	background: url(../img/service/ic_sp_02.png) no-repeat left top;
	top: 20px;
	left: -70px
}
#sales_promotion .item_3 strong:after {
	background: url(../img/service/ic_sp_03.png) no-repeat left top;
	top: 20px;
	right: -70px
}
#sales_promotion .item_4 strong:after {
	background: url(../img/service/ic_sp_04.png) no-repeat left top;
	top: 20px;
	left: -70px
}
#sales_promotion .text {
	font-size: 1.3rem;
	font-size: 13px;
	line-height: 1.6;
	clear: both
}
#service_detail h2 {
	text-align: center;
	padding-bottom: 20px;
	border-bottom: 1px solid #cfcfcf;
	margin-top: -3%;
	margin-bottom: 10px
}
#service_detail section {
	margin: 8em 0
}
#service_detail section dl {
	margin-top: 7%
}
#service_detail section dt {
	text-align: center;
	margin-bottom: 6%
}
#work_flow {
	margin: 7em 0
}
#work_flow h2 {
	margin-bottom: 2em
}
#work_flow .inner {
	background: #E5E5E5;
	padding: 15px
}
#work_flow .frame {
	background: #FFF
}
#work_flow dl {
	border-bottom: 1px solid #E5E5E5;
	padding-top: 0
}
#work_flow dl dt {
	text-align: center;
	padding-top: 2.2%
}
#work_flow dl dt .step {
	display: block;
	font-size: 13px
}
#work_flow dl dt .number {
	display: block;
	font-size: 40px;
	line-height: 1;
	color: #B0B0B0
}
#work_flow dl dd {
	padding: 0 15px 1.4em
}
#work_flow dl dd h3,
#work_flow dl dd p {
	padding: 0 0.7em
}
#work_flow dl dd h3 {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: normal;
	text-align: center;
	margin-bottom: 1em
}
#company .main_image h1 {
	background: url(../img/company/bg_pgtitle.jpg) no-repeat center top;
	padding-top: 70px
}
#philosophy {
	margin: auto;
	padding: 2% 0 4.5%;
}
#philosophy h2 {
	margin: 0 0 2%
}
#philosophy .copy {
	font-size: 145%;
	margin: -7px 0 5% 0px
}
#philosophy .img {
	margin-bottom: 3%
}
#philosophy .name {
	margin-top: 3%;
	line-height: 1.5 !important
}
#profile {
	padding: 6% 0
}
#profile h2 {
	border-bottom: 1px solid #F7F7F7;
	margin-bottom: 35px
}
#profile dl {
	font-size: 110%
}
#profile dl dd {
	margin-bottom: 3%
}
#map {
	padding: 6% 0px;
	line-height: 1.6
}
#map h2 {
	margin: 0px 0px 32px 20px
}
#map h2 address {
	margin-top: 5px
}
#map h3 {
	font-weight: normal;
	margin: 0px 0px 10px
}
#map iframe {
	width: 100%;
	height: 320px
}
@media (max-width: 768px) {
#company #map h2 {
	text-align: center;
	margin: 0px 0px 32px 0
}
}
#staff {
	padding: 6em 0
}
#staff h2 {
	margin: 0px 0px 5px
}
#staff li {
	margin: 2em 0;
	display: table;
	display: flex
}
#staff li:nth-child(odd) {
	text-align: right
}
#staff li:nth-child(even) {
	text-align: left
}
#staff li dl {
	display: flex;
	flex-direction: column;
	align-content: center;
	justify-content: center;
	align-self: center
}
#staff .recruitment a {
	font-size: 15px;
	text-align: center;
	display: block;
	padding: 10px;
	background: #FFF;
	border: 8px solid #e5e5e5
}
#staff .recruitment a strong {
	color: #8c8c8c;
	font-size: 18px;
	letter-spacing: 0.1em
}
#staff .recruitment a:hover {
	color: #808080;
	opacity: 0.5;
	text-decoration: none
}
#staff .recruitment a:hover strong {
	color: #8c8c8c
}
@media (max-width: 768px) {
#company #staff ul li {
	display: block;
	text-align: left !important
}
#company #staff ul li p {
	margin-bottom: 10px
}
#company #staff ul li img {
	width: 100%;
	height: auto
}
#company #staff ul li .text-right {
	text-align: left
}
}
#contact .main_image,
#contact_confirmation .main_image {
	background-color: #fff;
	padding-bottom: 10px;
	box-shadow: 0px -10px 10px -10px rgba(0,0,0,0.3) inset
}
#contact .main_image h1,
#contact_confirmation .main_image h1 {
	height: auto
}
#contact .main_image h1 img,
#contact_confirmation .main_image h1 img {
	margin: auto
}
#contact h2,
#contact_confirmation h2 {
	margin: 3em 0 5em
}
#contact .red,
#contact_confirmation .red {
	color: #FF7F7F
}
#contact .mailform dt,
#contact .confirmation dt,
#contact_confirmation .mailform dt,
#contact_confirmation .confirmation dt {
	text-align: left;
	font-weight: normal;
	margin: 0 0 0.3em
}
#contact .mailform dd,
#contact .confirmation dd,
#contact_confirmation .mailform dd,
#contact_confirmation .confirmation dd {
	margin: 0 0 1em
}
#contact h3 {
	margin: 0 0 1.5em
}
#contact dl {
	margin: 0 0 1.5em
}
#contact dl+p {
	line-height: 1.9;
	margin: 0 0 2em
}
#contact .mailform {
	margin: 0 0 2em
}
#contact .mailform input[type="text"],
#contact .mailform select,
#contact .mailform option,
#contact .mailform textarea {
	width: 100% !important;
	font-size: 90% !important
}
#contact .mailform input[type="text"] {
	padding: 0em 0.5em !important;
	height: 2.5em !important
}
#contact .mailform span.select {
	display: block;
	border-radius: 3px;
	background: FFF;
	padding: 2px;
	border: 1px solid #B2B2B2
}
#contact .mailform textarea {
	padding: 0.3em 0.5em !important;
	height: 8em !important
}
#contact .google_map {
	height: 200px;
	clear: both;
	display: block;
	margin: 20px 0px 0px
}
#contact .google_map iframe {
	width: 100%;
	height: 200px;
	border: none;
	vertical-align: bottom
}
#contact_confirmation .confirmation {
	margin: 2em 0 0
}
#contact_confirmation .confirmation input[type="text"],
#contact_confirmation .confirmation textarea {
	width: 100%;
	display: block;
	background: #FFF;
	border: 1px solid #B2B2B2;
	margin-bottom: 20px;
	padding: 0.2em 0.5em;
	text-align: justify
}
#contact_confirmation .confirmation textarea {
	height: 15em;
	overflow: visible
}
#contact_confirmation .privacy_policy {
	font-size: 95%;
	height: 200px;
	margin: 20px 0px;
	padding: 15px;
	border: 1px solid #cfcfcf;
	overflow: auto
}
#contact_confirmation .privacy_policy section {
	line-height: 1.5;
	margin: 2em 0 0
}
#contact_confirmation .privacy_policy h1 {
	font-size: 110%;
	font-weight: normal;
	color: #4C4C4C;
	margin-bottom: 5px
}
#contact_confirmation .privacy_policy .contact {
	margin: 3em 0 0.5em;
	background: #F2F2F2;
	padding: 2em 1em 0.1em
}
#contact_confirmation .privacy_policy .contact h1 {
	font-size: 110%;
	color: #4C4C4C;
	font-weight: normal
}
#contact_confirmation .privacy_policy .contact dl {
	margin: 0;
	padding: 1em 0 0
}
#contact_confirmation .privacy_policy .contact dl dt {
	padding-top: 0;
	float: left
}
#contact_confirmation .privacy_policy .contact dl dd {
	margin-left: 2em;
	padding: 0
}
#contact_confirmation .privacy_policy .contact dl dd:after {
	content: "";
	display: table;
	clear: both
}
#contact_confirmation .attention {
	font-size: 90%;
	margin: 20px 0px 20px
}
#contact_confirmation .attention label {
	font-weight: normal
}
#contact_confirmation .attention input[type="checkbox"] {
	vertical-align: -13px;
	-webkit-appearance: none;
	background: url(../img/contact_confirmation/bg_checkbox.png) no-repeat 0px 0px;
	background-size: 36px;
	width: 36px;
	height: 34px;
	outline: none
}
#contact_confirmation .attention input[type="checkbox"].permit {
	background-position: 0px -41px
}
#contact_confirmation .btn-back {
	display: none
}
.contact_thanks .text {
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.9;
	text-align: center;
	padding: 50px 0 40px
}
#privacy_policy .main_image h1 {
	text-align: center;
	background: url(../img/privacy/bg_pgtitle.jpg) no-repeat center top;
	height: 260px;
	padding-top: 85px;
	margin-bottom: 65px
}
#privacy_policy .privacy_policy section {
	line-height: 1.5;
	margin: 3em 0 0
}
#privacy_policy .privacy_policy h1 {
	font-size: 110%;
	font-weight: normal;
	color: #4C4C4C;
	margin-bottom: 5px
}
#privacy_policy .privacy_policy p {
	margin-bottom: 33px;
	font-size: 96%;
	line-height: 1.9
}
#privacy_policy .contact {
	background: #F2F2F2;
	padding: 3em 0;
	margin: 4.5em 0
}
#privacy_policy .contact h1 {
	font-size: 110%;
	color: #4C4C4C;
	font-weight: normal;
	margin-bottom: 10px
}
#privacy_policy .contact dl {
	margin: 25px 0px 1px
}
#privacy_policy .contact dl dt {
	float: left;
	padding-right: 25px
}
#privacy_policy .contact dl dd {
	margin-bottom: 5px
}
#recruitment {
	font-size: 1.4rem;
	font-size: 14px
}
#recruitment .main_image {
	margin: 0 0 5em;
	background-color: #fff;
	padding-bottom: 10px;
	box-shadow: 0px -10px 10px -10px rgba(0,0,0,0.3) inset
}
#recruitment .main_image .image {
	background: url(../img/recruitment/main_image.jpg) no-repeat center top;
	background-size: cover;
	height: 170px
}
#recruitment h1 {
	margin: 0 0 3em
}
#recruitment .summary {
	margin-bottom: 5em
}
#recruitment .summary .copy {
	color: #999;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.8;
	text-align: justify
}
#recruitment .summary .col-md-display-block {
	display: none
}
#recruitment .detail {
	margin: 0 0 7em;
	padding: 7em 0 2em;
	font-size: 14px;
	font-size: 1.4rem
}
#recruitment .detail .item {
	margin: 0 0 6em
}
#recruitment .detail .image {
	height: 210px;
	overflow: hidden;
	margin: 0 0 2em
}
#recruitment .detail .image img {
	width: 100%;
	opacity: 0.9
}
#recruitment .detail .box {
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.8
}
#recruitment .detail h2 {
	font-size: 21px;
	font-size: 2.1rem;
	font-weight: normal;
	margin: 0 0 1.2em
}
#recruitment .detail .icon {
	margin-right: 0.5em
}
#recruitment .detail tr {
	background: #FFF
}
#recruitment .detail tr:hover,
#recruitment .detail tr:hover th {
	background: #F0F0F0
}
#recruitment .detail th,
#recruitment .detail td {
	vertical-align: middle
}
#recruitment .detail th {
	text-align: center;
	background: #F2F2F2;
	width: 30%
}
#recruitment .detail small {
	color: #999;
	line-height: 1.6;
	display: inline-block;
	margin-top: 0.7em
}
#recruitment .contact {
	margin: 0 0 7em
}
#recruitment .contact a {
	line-height: 1.5;
	padding: 5px 20px
}
#recruitment .contact .icon {
	margin-right: 0.5em
}
@media (min-width: 768px) {
.top-works .more-btn {
	position: absolute;/*margin-top: 0;
	margin-left: 9em;
	top: 0;
	left: 50%*/
}
.top-works .more-btn.bottom {
	display: none
}
#sales_promotion .description {
	margin: 4.5em 0 0
}
#sales_promotion .description h1 {
	margin: 20px 0px 41px 5px
}
#sales_promotion .copy h2 {
	text-align: left
}
#sales_promotion .item_1,
#sales_promotion .item_2,
#sales_promotion .item_3,
#sales_promotion .item_4 {
	display: inline-block
}
#sales_promotion .item_2,
#sales_promotion .item_4 {
	float: right
}
#sales_promotion .arrow-left:after,
#sales_promotion .arrow-right:after {
	content: "";
	display: block;
	width: 19px;
	height: 14px;
	z-index: 2;
	position: absolute
}
#sales_promotion .arrow-right:after {
	background: url(../img/service/bg_arrow_right.gif) no-repeat left top;
	background-size: 19px;
	right: 0px;
	bottom: -10px
}
#sales_promotion .arrow-left:after {
	background: url(../img/service/bg_arrow_left.gif) no-repeat left top;
	background-size: 19px;
	left: 0px;
	bottom: -10px
}
#sales_promotion .item_1 strong:after,
#sales_promotion .item_2 strong:after,
#sales_promotion .item_3 strong:after,
#sales_promotion .item_4 strong:after {
	content: "";
	display: block;
	width: 48px;
	height: 49px;
	position: absolute;
	z-index: 2
}
#sales_promotion .item_1 strong:after {
	background: url(../img/service/ic_sp_01.png) no-repeat left top;
	top: 20px;
	right: -70px
}
#sales_promotion .item_2 strong:after {
	background: url(../img/service/ic_sp_02.png) no-repeat left top;
	top: 20px;
	left: -70px
}
#sales_promotion .item_3 strong:after {
	background: url(../img/service/ic_sp_03.png) no-repeat left top;
	top: 20px;
	right: -70px
}
#sales_promotion .item_4 strong:after {
	background: url(../img/service/ic_sp_04.png) no-repeat left top;
	top: 20px;
	left: -70px
}
#service_detail dl {
	padding-top: 3.5em
}
#work_flow dl {
	border-bottom: 1px solid #E5E5E5
}
#work_flow dl dt,
#work_flow dl dd {
	vertical-align: middle
}
#work_flow dl dt {
	text-align: center;
	padding-top: 2.4em
}
#work_flow dl dt .step,
#work_flow dl dt .number {
	padding-left: 15px
}
#work_flow dl dd {
	border-left: 1px solid #E5E5E5;
	padding: 2.5em 2em 2em
}
#work_flow dl dd h3 {
	text-align: left
}
#staff .recruitment {
	margin-top: 4em
}
#contact .mailform {
	margin-top: 1.2em
}
#contact .mailform dt {
	text-align: right
}
#contact_confirmation .confirmation dt {
	text-align: left !important
}
#contact_confirmation .submit_btn:first-child {
	margin: 0 0 20px 0
}
#contact_confirmation .btn-back {
	display: block
}
.contact_thanks {
	padding: 150px 0px
}
.contact_thanks .text {
	padding: 190px 0 0
}
#recruitment .main_image .image {
	height: 440px
}
#recruitment .summary .copy {
	line-height: 2.8;
	text-align: center;
	margin: 2em 0 5em
}
#recruitment .summary .col-md-display-block {
	display: block
}
#recruitment .detail .item .box {
	margin-top: 4em
}
#recruitment .detail .image {
	height: auto;
	width: auto;
	max-width: auto
}
#recruitment .detail .image img {
	width: 100%;
	height: auto
}
#recruitment .detail .box .text-center {
	text-align: left
}
#recruitment .detail h2 {
	margin: 0 0 0.8em
}
#recruitment .item:nth-child(3) .box {
	margin-top: -0.6em
}
#recruitment .item:nth-child(3) table {
	font-size: 14px;
	font-size: 1.4rem
}
#recruitment .item:nth-child(3) small {
	margin-top: 0
}
#recruitment .btn_wrap {
	width: 320px;
	margin: auto
}
}
@media (min-width: 992px) {
#staff .recruitment {
	margin-top: 6.5em;
	padding: 0 5em
}
}
