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

html {
	overflow-y: scroll
}

body,
div,
p,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
blockquote,
pre,
form,
input,
textarea,
header,
footer,
nav,
figure,
figcaption {
	margin: 0;
	padding: 0;
	zoom: 1
}

header,
footer,
main,
nav,
article,
aside,
section {
	display: block
}

ul,
ol {
	list-style-type: none
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box
}

img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: middle
}

hr {
	display: none;
	margin: 0;
	padding: 0;
	width: 1px;
	height: 1px
}

a {
	outline: none
}

@media all and (-ms-high-contrast: none) {
	select::-ms-expand {
		display: none
	}
}

.clearfix:before,
.clearfix:after {
	content: "";
	display: table
}

.clearfix:after {
	clear: both
}

.clear-both {
	clear: both
}

.clearfix {
	zoom: 1
}

* {
	font-style: normal
}

html {
	font-size: 62.5%
}

body {
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	color: #000000;
	overflow: hidden;
	font-size : 1rem;
	line-height : 1.8;
	
}



body a {
	color: #fff;
	text-decoration: none
}

button {
	font-family: "Noto Sans JP", sans-serif
}

@media screen and (min-width: 769px) {
	.dis-sp {
		display: none
	}
}

@media screen and (max-width: 768px) {
	.dis-pc {
		display: none
	}
}

.disnone {
	display: none !important
}

@media screen and (max-width: 768px) {
	.disnone-sp {
		display: none !important
	}
}

@media screen and (min-width: 769px) {
	.disnone-pc {
		display: none !important
	}
}

.compensate-for-scrollbar {
	margin-right: 0 !important
}

.fancybox-slide--html {
	padding: 0 !important
}

.fancybox-button {
	width: 80px;
	height: 80px;
	overflow: hidden
}

.fancybox-button svg {
	transform: rotateZ(0deg);
	transition: all .5s
}

.fancybox-button svg:hover {
	transform: rotateZ(90deg)
}

.swiper-button-disabled {
	opacity: .5
}

.l-loading {
	display : none;
}

.l-loading img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 250px;
	animation-name: imgFlash;
	animation-fill-mode: forwards;
	animation-duration: 2s;
	opacity: 0
}

@media screen and (max-width: 768px) {
	.l-loading img {
		width: 180px
	}
}

@keyframes imgFlash {
	0% {
		opacity: 0
	}

	50% {
		opacity: 1
	}

	80% {
		opacity: 1
	}

	100% {
		opacity: 0
	}
}

.fade-up {
	transform: translate(0, 100px);
	opacity: 0;
	transition: all 1s;
	transition-delay: .5s
}

.fade-up.scroll-in {
	opacity: 1;
	transform: translate(0, 0)
}

.fade-moochan.scroll-in {
	animation: bg-animation 50s linear infinite normal
}

@keyframes bg-animation {
	0% {
		right: -100vw
	}

	100% {
		right: 100vw
	}
}

.fade-left {
	transform: translate(-100px, 0);
	opacity: 0;
	transition: all 1s;
	transition-delay: .5s
}

.fade-left.scroll-in {
	opacity: 1;
	transform: translate(0, 0)
}

.fade-right {
	transform: translate(100px, 0);
	opacity: 0;
	transition: all 1s;
	transition-delay: .5s
}

.fade-right.scroll-in {
	opacity: 1;
	transform: translate(0, 0)
}

.fade-photo {
	position: relative;
	overflow: hidden
}

.fade-photo::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	transition: all 1s;
	transition-delay: 1s;
	z-index: 1
}

.fade-photo.scroll-in {
	opacity: 1;
	transform: translate(0, 0)
}

.fade-photo.scroll-in::before {
	left: 100%
}

.fade-photo img {
	display: block
}

.fade-profile-name {
	transform: translate(0, 100px);
	opacity: 0;
	transition: all 1s;
	transition-delay: .5s
}

.fade-profile-name.scroll-in {
	opacity: 1;
	transform: translate(0, 0)
}

.fade-profile-txt {
	transform: translate(0, 100px);
	opacity: 0;
	transition: all 1s;
	transition-delay: .7s
}

.fade-profile-txt.scroll-in {
	opacity: 1;
	transform: translate(0, 0)
}

.hover-color {
	display: block
}

.hover-color img {
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	filter: grayscale(100%);
	transition: all .5s
}

.hover-color:hover img {
	-webkit-filter: grayscale(0%);
	-moz-filter: grayscale(0%);
	-o-filter: grayscale(0%);
	-ms-filter: grayscale(0%);
	filter: grayscale(0%)
}

.fade-pagetitle {
	position: relative
}

.fade-pagetitle::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	transition: all 1s;
	transition-delay: 1s;
	z-index: 1
}

.fade-pagetitle.scroll-in {
	opacity: 1;
	transform: translate(0, 0)
}

.fade-pagetitle.scroll-in::before {
	left: 100%
}

.l-wrap {
	opacity: 1;
	transition: all 1s
}

.l-wrap.fadein {
	opacity: 1
}

@media screen and (max-width: 768px) {
	.l-main {
		padding-top: 95px
	}
}

@media screen and (min-width: 769px) {
	.l-main {
		padding-top: 167px
	}
}

.l-main#top {
	padding-top: 0
}

.l-main#works::before,
.l-main#gallery::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 60%;
	height: 600px;
	background-color: rgba(255, 255, 255, 0.05)
}

@media screen and (max-width: 768px) {

	.l-main#works::before,
	.l-main#gallery::before {
		height: 260px
	}
}

.l-content {
	padding-bottom: 100px
}

@media screen and (max-width: 768px) {
	.l-content {
		padding-bottom: 30px
	}
}

.mt-0 {
	margin-top: 0 !important
}

.fc-w {
	color: #fff !important
}

.grayback_l {
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : space-between;
	justify-content : space-between;
	background-color : #e7e7e7;
}
.grayback_d {
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : space-between;
	justify-content : space-between;
	background-color : #d8d8d8;
}
.imageback {
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : space-between;
	justify-content : space-between;
	background : url(../img/back.jpg) no-repeat 0 0;
	background-size : cover;
}
.subpage_top {
	margin-top : 0;
}
section.left {
	width : 216px;
}

.position-now {
	width : calc(100% - 216px);
	position : relative;
	box-sizing: border-box;
}
section.mainwrap {
	width : calc(100% - 216px);
	height : 70vw;
	max-height : 930px;
	position : relative;
}
.slide_all {
	width: 100%;
	height: 100%;
}
.topImg .bx-viewport {
	width : 100% !important;
	height : 70vw !important;
	max-height : 930px;
}
.slide_body {
	width : 100% !important;
	height : 70vw !important;
	max-height : 930px;
}
.no_slide {
	width: 100%;
	height: 100%;
}
.slide_body .pict {
	width : 100% !important;
	height : 70vw !important;
	max-height : 930px;
}
.no_slide .pict {
	width : 100% !important;
	height : 70vw !important;
	max-height : 930px;
}
.slide_body .pict img {
	width : 100% !important;
	height : 70vw !important;
	max-height : 930px;
	object-fit: cover;
}
.no_slide .pict img {
	width : 100% !important;
	height : 70vw !important;
	max-height : 930px;
	object-fit: cover;
}
.bx-controls {
	top: auto !important;
	bottom: 0 !important;
}
@media screen and (max-width: 1100px) {
	section.left {
		width : 180px;
	}
	.position-now {
		width : calc(100% - 180px);
	}
	section.mainwrap {
		width : calc(100% - 180px);
	}
}
@media screen and (max-width: 800px) {
	section.left {
		width : 0;
	}
	.grayback_l {
		display : block;
	}
	.grayback_d {
		display : block;
	}
	.imageback {
		display : block;
		background-size : cover;
	}
	.subpage_top {
		padding-top : calc(6vw + 60px) !important;
	}
	section.mainwrap {
		width : 100%;
		height : 100vh !important;
	}
	.position-now {
		width : 100%;
		box-sizing : border-box;
	}
	#top-about.position-now {
		padding : 0 4%;
	}
	#top-company.position-now {
		padding-left : 0;
	}
	.slide_body {
		height : 100vh !important;
	}
	.slide_body .pict {
		height : 100vh !important;
	}
	.slide_body .pict img {
		height : 100vh !important;
	}
	.topImg .bx-viewport {
		height : 100vh !important;
	}
	.slide_body {
		height : 100vh !important;
	}
	.no_slide {
		height : 100vh !important;
	}
	.slide_body .pict {
		height : 100vh !important;
	}
	.no_slide .pict {
		height : 100vh !important;
	}
	.slide_body .pict img {
		height : 100vh !important;
	}
	.no_slide .pict img {
		height : 100vh !important;
	}
}
@media screen and (max-width: 640px) {
	.position-now {
		padding-left : 0;
		box-sizing: border-box;
	}
}

.overWrap {
	position: absolute;
	top : 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	z-index : 90;
}
.overWrap .overText {
	text-align : center;
}
.overWrap .overText h2 img {
	width : 25%;
	max-width : 109px;
}
.overWrap .overText h1 {
	color : #ffffff;
	white-space: nowrap;
	line-height : 1.4;
}
.overWrap .overText h3 {
	color : #ffffff;
}
.topNewsWrap {
	position: absolute;
	bottom : 60px;
	left : 60px;
	z-index : 90;
}
.topNewsItem a {
	color : #ffffff;
	text-decoration : underline;
	text-underline-offset: 8px;
	transition: 0.3s;
}
.topNewsItem a:hover {
	color : #a1a1a1;
}
.header-left {
	position: relative;
 	display: flex;
	justify-content: space-between;
	flex-direction: column;
	width : 100%;
	height : 100%;
}
.header-left .header-logo {
	text-align : center;
	padding-top : 10px;
}
.header-left .header-nav {
	text-align : center;
}
.header-left .header-nav ul {
	display : inline-block;
}
.header-left .header-nav ul li {
	text-align : left;
}
.header-left .header-nav ul li a {
	color : #000000;
	font-weight : 700;
	font-size : 16px;
	line-height : 2.4;
	transition: 0.3s;
}
.header-left .header-nav.active ul li a {
	color : #ffffff;
}
.header-left .header-nav ul li a:hover {
	color : #555555;
}
.header-left .header-nav.active ul li a:hover {
	color : #f1f1f1;
}
.header-left .header-nav-sns li {
	text-align : center;
	margin : 20px 0;
}
.header-r {
	display : none;
}
.header-smp {
	display : none;
}
@media screen and (max-width: 800px) {
	.header-left .header-nav {
		display : none;
	}
	.topNewsWrap {
		bottom : 5vw;
		left : 5vw;
	}
	.header-r {
		display : block;
		position : fixed;
		top : 8px;
		right : 2px;
		z-index : 91;
		width : 54px;
		height : 54px;
		background-color : #000000;
		border-radius : 50%;
	}
	.header-menu {
		position : relative;
	}
	.header-menu-btn {
		position : relative;
		z-index : 99;
	}
	.header-smp {
		display : block;
		position : absolute;
		top : 15px;
		left : 12px;
		z-index : 98;
		width : 98px;
	}
	.header-smp img {
		width : 100%;
	}
}

#smpMenu  {
	background-color : #000000;
	position : fixed;
	top : 0;
	right : -100vw;
	width : 100%;
	height : 100vh;
	z-index : 90;
	transition: 0.5s;
	padding-top : 80px;
}
#smpMenu.active  {
	top : 100px;
}
#smpMenu ul {
	width ; 100%;
	padding : 0 20px;
	box-sizing: border-box;
}
#smpMenu li  {
	padding : 10px 0 10px 12px;
	text-align : center;
}
#smpMenu li a {
	color : #ffffff;
	font-size : 16px;
	font-weight : 500;
	text-decoration : none;
	display : block;
	position : relative;
}
#smpMenu li a span {
	color : #414141;
	font-size : 12px;
	display : inline-block;
	margin-left : 16px;
}
.menu-trigger {
	display : block;
    position: absolute;
	top : 15px;
	right : 12px;
    width: 30px;
    height: 28px;
	transition: all .4s;
}
.menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #ffffff;
	transition: all .4s;
}
.menu-trigger span:nth-of-type(1) {
    top: 4px;
}
.menu-trigger span:nth-of-type(2) {
    top: 17px;
}
.menu-trigger.is-open span:nth-of-type(1) {
	width: 100%;
	-webkit-transform: translate3d(3px, 4.5px, 0) rotate(45deg);
	transform: translate3d(3px, 4.5px, 0) rotate(45deg);
}
.menu-trigger.is-open span:nth-of-type(2) {
	-webkit-transform: translate3d(3px, -8px, 0) rotate(-45deg);
	transform: translate3d(3px, -8px, 0) rotate(-45deg);
}

.c-btn {
	position: relative;
	text-align: left;
	z-index: 10
}
.c-btn a,
.c-btn button {
	position: relative;
	display: inline-block;
	min-width: 250px;
	font-size: 1rem;
	font-weight : 600;
	color: #000000;
	line-height: 3.4;
	border: 1px solid #000000;
	background-color: transparent;
	cursor: pointer;
	padding-left : 24px;
	box-sizing: border-box;
	transition: 0.3s;
}
.c-btn.herf a {
	width : 30%;
	min-width : 250px;
	padding-left : 0;
	text-align : center;
}
.c-btn.full a {
	width : 100%;
	padding-left : 0;
	text-align : center;
}
.c-btn a::after,
.c-btn button::after {
	content: '';
	display: block;
	position: absolute;
	top : calc(50% - 6px);
	right : 20px;
	width : 10px;
	height : 10px;
	border-left : 2px solid #000000;
	border-top : 2px solid #000000;
	transform: rotate(135deg);
	transition: 0.3s
}
.c-btn a:hover,
.c-btn button:hover {
	color : #ffffff;
	border: 1px solid #ffffff;
	background-color: #000000;
}
.c-btn a:hover::after,
.c-btn button:hover::after {
	border-left : 2px solid #ffffff;
	border-top : 2px solid #ffffff;
}

.c-btn-list {
	display: flex;
	justify-content: center;
	margin-bottom: 70px
}
@media screen and (max-width: 1200px) {
	.c-btn a,
	.c-btn button {
		min-width: 20vw;
		line-height: 3.4;
		padding-left : 2.4vw;
		min-width : 160px;
	}
}
@media screen and (max-width: 768px) {
	.c-btn-list {
		flex-direction: column;
		margin: -5px 0 30px
	}
}
@media screen and (max-width: 480px) {
	.c-btn.smplong a {
		width : 100%;
		text-align : center;
		padding-left : 0;
	}
	.c-btn a::after,
	.c-btn button::after {
		top : calc(50% - 4px);
		right : 10px;
		width : 8px;
		height : 8px;
	}
	.c-btn.herf a {
		width : 100%;
	}
}

.c-btn-list .c-btn {
	margin: 0 10px
}

@media screen and (max-width: 768px) {
	.c-btn-list .c-btn {
		margin: 5px 0
	}
}

.c-btn-list .c-btn .ic-pdf {
	display: inline-block;
	width: 26px;
	height: 30px;
	background-image: url("/img/common/ic_pdf.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	vertical-align: middle;
	margin-right: 15px
}

@media screen and (max-width: 768px) {
	.c-btn-list .c-btn .ic-pdf {
		width: 20px;
		height: 23px;
		margin-right: 10px
	}
}

.c-page-title {
	width: 92%;
	max-width: 1600px;
	margin: 0 auto
}

@media screen and (max-width: 768px) {
	.c-page-title {
		position: relative;
		width: 100%;
		min-height: 240px
	}
}

@media screen and (min-width: 769px) {
	.c-page-title {
		height: calc(650px - 167px)
	}
}

.c-page-title .inner {
	position: relative;
	padding: 50px;
	z-index: 1
}

@media screen and (max-width: 768px) {
	.c-page-title .inner {
		top: 20px;
		padding: 4%
	}
}

@media screen and (max-width: 768px) {
	.c-page-title .ttl {
		margin-bottom: 20px
	}
}

@media screen and (min-width: 769px) {
	.c-page-title .ttl {
		margin-bottom: 40px
	}
}

.c-page-title .ttl .s {
	font-size: 1.4rem
}

@media screen and (max-width: 768px) {
	.c-page-title .ttl .s {
		font-size: 1.2rem
	}
}

.c-page-title .ttl .hn {
	font-size: 6rem;
	font-weight: bold;
	line-height: 1
}

@media screen and (max-width: 768px) {
	.c-page-title .ttl .hn {
		font-size: 2.6rem
	}
}

.c-page-title .dep {
	font-size: 1.4rem
}

@media screen and (max-width: 768px) {
	.c-page-title .dep {
		font-size: 1.2rem
	}
}

.c-page-title .photo {
	position: absolute;
	top: 0;
	right: 0;
	width: 60%;
	height: 650px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover
}

@media screen and (max-width: 768px) {
	.c-page-title .photo {
		height: 240px
	}
}

#works .c-page-title .photo {
	background-image: url("/img/works/page_title.png")
}

#shop .c-page-title .photo {
	background-image: url("/img/shop/page_title.png")
}

#gallery .c-page-title .photo {
	background-image: url("/img/gallery/page_title.png")
}

.c-page-title-sm {
	position: relative;
	width: 92%;
	max-width: 1600px;
	margin: 0 auto
}

@media screen and (max-width: 768px) {
	.c-page-title-sm {
		position: relative;
		width: 100%;
		height: 140px
	}
}

@media screen and (min-width: 769px) {
	.c-page-title-sm {
		height: 374px
	}
}

.c-page-title-sm .inner {
	display: flex;
	align-items: center;
	position: relative;
	width: 92%;
	max-width: 1160px;
	height: 100%;
	margin: 0 auto;
	padding: 50px 0;
	z-index: 1
}

@media screen and (max-width: 768px) {
	.c-page-title-sm .inner {
		width: 100%;
		padding: 4%
	}
}

.c-page-title-sm .ttl {
	display: flex;
	flex-direction: column;
	align-items: flex-start
}

.c-page-title-sm .ttl .s {
	font-size: 1.6rem;
	border-bottom: 4px solid #fff;
	margin-bottom: 20px
}

@media screen and (max-width: 768px) {
	.c-page-title-sm .ttl .s {
		font-size: 1.2rem;
		border-bottom-width: 2px;
		margin-bottom: 15px
	}
}

.c-page-title-sm .ttl .hn {
	font-size: 4.8rem;
	font-weight: bold;
	line-height: 1
}

@media screen and (max-width: 768px) {
	.c-page-title-sm .ttl .hn {
		font-size: 2.2rem
	}
}

.c-page-title-sm .photo {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover
}

#works.category_1 .c-page-title-sm .photo {
	background-image: url("/img/works/category_1/page_title.png")
}

#works.category_2 .c-page-title-sm .photo {
	background-image: url("/img/works/category_2/page_title.png")
}

#works.category_3 .c-page-title-sm .photo {
	background-image: url("/img/works/category_3/page_title.png")
}

#works.category_4 .c-page-title-sm .photo {
	background-image: url("/img/works/category_4/page_title.png")
}

#works.category_5 .c-page-title-sm .photo {
	background-image: url("/img/works/category_5/page_title.png")
}

#works.category_6 .c-page-title-sm .photo {
	background-image: url("/img/works/category_6/page_title.png")
}

#gallery.category_1 .c-page-title-sm .photo {
	background-image: url("/img/gallery/category_1/page_title.png")
}

#gallery.category_2 .c-page-title-sm .photo {
	background-image: url("/img/gallery/category_2/page_title.png")
}

#gallery.category_3 .c-page-title-sm .photo {
	background-image: url("/img/gallery/category_3/page_title.png")
}

#gallery.category_4 .c-page-title-sm .photo {
	background-image: url("/img/gallery/category_4/page_title.png")
}

#gallery.category_5 .c-page-title-sm .photo {
	background-image: url("/img/gallery/category_5/page_title.png")
}

#gallery.category_6 .c-page-title-sm .photo {
	background-image: url("/img/gallery/category_6/page_title.png")
}

#gallery.category_7 .c-page-title-sm .photo {
	background-image: url("/img/gallery/category_7/page_title.png")
}

#gallery.category_8 .c-page-title-sm .photo {
	background-image: url("/img/gallery/category_8/page_title.png")
}

.c-page-title-normal {
	display: flex;
	align-items: center;
	padding: 100px 0
}

@media screen and (max-width: 768px) {
	.c-page-title-normal {
		padding: 20px 0 40px
	}
}

.c-page-title-normal .inner {
	position: relative;
	width: 92%;
	max-width: 1160px;
	margin: 0 auto;
	z-index: 1
}

.c-page-title-normal .ttl .s {
	font-size: 1.4rem
}

@media screen and (max-width: 768px) {
	.c-page-title-normal .ttl .s {
		font-size: 1.2rem
	}
}

.c-page-title-normal .ttl .hn {
	font-size: 6rem;
	font-weight: bold;
	line-height: 1
}

@media screen and (max-width: 768px) {
	.c-page-title-normal .ttl .hn {
		font-size: 2.6rem
	}
}

.c-page-title-normal .dep {
	font-size: 1.4rem;
	margin-top: 40px
}

@media screen and (max-width: 768px) {
	.c-page-title-normal .dep {
		font-size: 1.2rem;
		margin-top: 20px
	}
}

.c-page-title-normal .photo {
	position: absolute;
	top: 0;
	right: 0;
	width: 90%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-image: url("/img/common/page_title.png")
}

.c-category-nav {
	width: 92%;
	max-width: 1160px;
	margin: 50px auto;
	border-bottom: 2px solid #434343
}

@media screen and (max-width: 768px) {
	.c-category-nav {
		margin: 30px auto 25px
	}
}

.c-category-nav .title {
	font-size: 1.4rem;
	color: #434343;
	margin-bottom: 20px
}

.c-category-nav .list {
	display: flex;
	padding-bottom: 10px
}

@media screen and (max-width: 768px) {
	.c-category-nav .list {
		flex-wrap: wrap
	}
}

.c-category-nav .list li {
	font-size: 1.4rem;
	color: #434343
}

@media screen and (max-width: 768px) {
	.c-category-nav .list li {
		font-size: 1.3rem
	}
}

.c-category-nav .list li:hover {
	color: #fff
}

.c-category-nav .list li:hover a {
	color: #fff
}

.c-category-nav .list li:not(:last-child) {
	margin-right: 15px
}

@media screen and (max-width: 768px) {
	.c-category-nav .list li:not(:last-child) {
		margin-right: 10px
	}
}

.c-category-nav .list li:not(:last-child)::after {
	content: '／';
	color: #434343;
	padding-left: 15px
}

@media screen and (max-width: 768px) {
	.c-category-nav .list li:not(:last-child)::after {
		padding-left: 10px
	}
}

.c-category-nav .list li a {
	color: #434343
}

.c-category-nav .list li.is-current,
.c-category-nav .list li.is-active {
	font-weight: bold;
	color: #fff
}

.c-category-nav .list li.is-current a {
	color: #fff
}

.c-category-nav.js-filter-nav .list li {
	cursor: pointer
}

.l-other-content {
	display: flex;
	flex-wrap: wrap
}

.l-other-content .title {
	position: relative;
	font-size: 1.8rem;
	font-weight: bold;
	width: 100%;
	color: #4c4c4c;
	text-align: center;
	margin-bottom: 100px
}

@media screen and (max-width: 768px) {
	.l-other-content .title {
		font-size: 1.5rem;
		margin-bottom: 60px
	}
}

.l-other-content .title::after {
	content: '';
	display: block;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 2px;
	height: 80px;
	background-color: #4f4f4f
}

@media screen and (max-width: 768px) {
	.l-other-content .title::after {
		height: 40px
	}
}

.l-other-content .item {
	position: relative;
	width: 50%
}

@media screen and (max-width: 768px) {
	.l-other-content .item {
		width: 100%
	}
}

.l-other-content .item:nth-of-type(odd) {
	text-align: right
}

.l-other-content .item:nth-of-type(even) {
	text-align: left
}

.l-other-content .item .inner {
	padding: 30px 50px
}

@media screen and (max-width: 768px) {
	.l-other-content .item .inner {
		padding: 20px
	}
}

@media screen and (max-width: 768px) {
	.l-other-content .item .ttl {
		margin-bottom: 20px
	}
}

@media screen and (min-width: 769px) {
	.l-other-content .item .ttl {
		margin-bottom: 40px
	}
}

.l-other-content .item .ttl .s {
	font-size: 1.4rem
}

@media screen and (max-width: 768px) {
	.l-other-content .item .ttl .s {
		font-size: 1.2rem
	}
}

.l-other-content .item .ttl .hn {
	font-size: 6rem;
	font-weight: bold;
	line-height: 1
}

@media screen and (max-width: 768px) {
	.l-other-content .item .ttl .hn {
		font-size: 2.6rem
	}
}

.l-other-content .item .dep {
	font-size: 1.4rem
}

@media screen and (max-width: 768px) {
	.l-other-content .item .dep {
		font-size: 1.2rem
	}
}

.l-other-content .item .photo {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1
}

.l-other-content .item .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover
}

.l-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 216px;
	height : 100vh;
	transition: all .5s;
	z-index: 99;
}
@media screen and (max-width: 1100px) {
	.l-header {
		width: 180px;
	}
}
@media screen and (max-width: 800px) {
	.l-header {
		width: 0;
	}
}
.l-header .header-inner {
	position: relative;
	width: 100%;
	height : 100%;
	margin: 0 auto
}

@media screen and (max-width: 768px) {
	.l-header .header-inner {
		padding: 20px 0
	}
}

@media screen and (min-width: 769px) {
	.l-header .header-inner {
		padding: 40px 0;
		transition: all .5s
	}
}

.l-header .header-logo a {
	display: inline-block
}

.l-header .header-logo img {
	width : 82px;
}

.l-header .header-menu {
	position: absolute;
	right: 0
}

@media screen and (min-width: 769px) {
	.l-header .header-menu {
		top: 35px;
		transition: all .5s
	}
}

.l-header .header-menu-btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	border: 1px solid #fff;
	border-radius: 50%;
	cursor: pointer;
	z-index: 101
}

@media screen and (max-width: 768px) {
	.l-header .header-menu-btn {
		width: 52px;
		height: 52px;
		font-size: 1.2rem
	}
}

@media screen and (min-width: 769px) {
	.l-header .header-menu-btn {
		width: 100px;
		height: 100px;
		font-size: 1.8rem;
		transition: all .5s
	}
}

.l-header .header-menu-btn .menu-txt {
	transition: all .5s
}

.l-header .header-menu-btn .menu-trigger span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50%;
	height: 4px;
	background-color: #fff;
	transition: all .5s;
	opacity: 0
}

.l-header .header-menu-btn.is-active .menu-txt {
	opacity: 0
}

.l-header .header-menu-btn.is-active .menu-trigger span:nth-of-type(1) {
	transform: translate(-50%, -50%) rotate(-45deg);
	opacity: 1
}

.l-header .header-menu-btn.is-active .menu-trigger span:nth-of-type(3) {
	transform: translate(-50%, -50%) rotate(45deg);
	opacity: 1
}

.l-header .header-menu-drawer {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	visibility: hidden;
	opacity: 0;
	transition: all .5s;
	overflow-y: scroll;
	z-index: 100
}

@media screen and (max-width: 768px) {
	.l-header .header-menu-drawer {
		padding: 95px 0 30px
	}
}

@media screen and (min-width: 769px) {
	.l-header .header-menu-drawer {
		padding: 167px 0 30px
	}
}

.l-header .header-menu-drawer.is-active {
	visibility: visible;
	opacity: 1
}

@media screen and (max-width: 768px) {
	.l-header .header-menu-drawer .drawer-list li:not(:last-child) {
		margin-bottom: 10px
	}
}

@media screen and (min-width: 769px) {
	.l-header .header-menu-drawer .drawer-list li:not(:last-child) {
		margin-bottom: 10px
	}
}

.l-header .header-menu-drawer .drawer-list li a {
	display: block;
	font-weight: bold;
	text-align: center
}

@media screen and (max-width: 768px) {
	.l-header .header-menu-drawer .drawer-list li a {
		font-size: 2rem
	}
}

@media screen and (min-width: 769px) {
	.l-header .header-menu-drawer .drawer-list li a {
		font-size: 4rem
	}
}

@media screen and (min-width: 769px) {
	.l-header.is-fixed .header-inner {
		padding: 20px 0
	}
	.l-header.is-fixed .header-menu {
		top: 20px
	}
	.l-header.is-fixed .header-menu.is-active {
		top: 35px;
		right: 0
	}
	.l-header.is-fixed .header-menu-btn {
		width: 70px;
		height: 70px;
		font-size: 1.4rem
	}
	.l-header.is-fixed .header-menu-btn.is-active {
		width: 100px;
		height: 100px
	}
}

.l-current {
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	left: calc(4% + 6px);
	z-index: 50
}

@media screen and (max-width: 768px) {
	.l-current {
		display: none
	}
}

.l-current li:not(:last-child) {
	margin-bottom: 10px
}

.l-current li a {
	position: relative
}

.l-current li a::before {
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	background-color: #404040;
	border-radius: 50%;
	transition: all .5s
}

@media screen and (max-width: 768px) {
	.l-current li a::before {
		width: 10px;
		height: 10px
	}
}

.l-current li a.link-current::before {
	background-color: #fff
}

.l-sns {
	position: fixed;
	left: 4%
}

@media screen and (max-width: 768px) {
	.l-sns {
		bottom: 20px
	}
}

@media screen and (min-width: 769px) {
	.l-sns {
		bottom: 30px
	}
}

@media screen and (max-width: 768px) {
	.l-sns .sns-list li:not(:last-child) {
		margin-bottom: 5px
	}
}

@media screen and (min-width: 769px) {
	.l-sns .sns-list li:not(:last-child) {
		margin-bottom: 10px
	}
}

.l-sns .sns-list li a {
	display: block
}

.page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	cursor: pointer;
	z-index: 10
}

.l-footer {
	padding: 0 0 20px 0;
	background-color : #444444;
	box-sizing: border-box;
}
.footer-inner {
	
}
.l-footer .footer-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: calc(95% - 222px);
	max-width : 680px;
	margin: 0 auto
}

.l-footer .footer-nav-wrap {
	background-color: #444444;
	padding: 10px 2% 0 5%;
	width : calc(100% - 180px);
	box-sizing: border-box;
}

.l-footer .footer-nav-list {
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : space-between;
	justify-content : space-between;
	width : 100%;
}
.l-footer .footer-nav-list li {
	margin-right : 6px;
}
.l-footer .footer-nav-list li a {
	display: block;
	font-weight: bold;
	font-size : 1rem;
	color : #ffffff;
	transition: 0.3s;
}
.l-footer .footer-nav-list li a:hover {
	color : #a1a1a1;
}
.l-footer .footer-nav-sns {
	display: flex
}

.l-footer .footer-nav-sns li:not(:last-child) {
	margin-right: 20px
}

.l-footer .footer-nav-sns li a {
	display: block
}
.l-footer .footer-logo {
	width : 272px;
}
@media screen and (max-width: 1200px) {
	.l-footer .footer-nav-list li:not(:last-child) {
		margin-right: 0;
	}
}
@media screen and (max-width: 1100px) {
	.l-footer .footer-nav-wrap {
		padding: 10px 2% 0 0;
		width : calc(100% - 20px);
		box-sizing: border-box;
	}
	.l-footer .footer-logo {
		width : 180px;
	}
	.l-footer .footer-nav {
		width: calc(100% - 230px);
		margin: 0;
	}
	.l-footer .footer-nav-list {
		flex-wrap : wrap;
		width : 100%;
	}
}
@media screen and (max-width: 720px) {
	.l-footer .footer-nav-wrap {
		padding: 10px 0 0 0;
		width : 100%;
	}
	.l-footer .footer-logo {
		width : 100%;
		text-align : center;
	}
	.l-footer .footer-nav {
		display : none;
	}
}


.l-footer .footer-logo a {
	display: inline-block
}

@media screen and (max-width: 768px) {
	.l-footer .footer-logo a {
		display: block
	}
}

@media screen and (min-width: 769px) {
	.l-footer .footer-logo img {
		width: 180px
	}
}

.l-footer .footer-link {
	display: flex;
	justify-content: center;
	padding-bottom: 20px
}

@media screen and (max-width: 768px) {
	.l-footer .footer-link {
		padding-bottom: 10px
	}
}

.l-footer .footer-link li {
	margin: 0 10px
}

@media screen and (max-width: 768px) {
	.l-footer .footer-link li {
		margin: 0 5px
	}
}

.l-footer .footer-link li a {
	display: block;
	font-size: 1.4rem
}

@media screen and (max-width: 768px) {
	.l-footer .footer-link li a {
		font-size: 1.2rem
	}
}

.l-footer .footer-link li a::before {
	content: '・'
}

.l-footer .footer-cr {
	width : 95%;;
	font-size: 1rem;
	color: #999999;
	text-align: left;
}

@media screen and (max-width: 720px) {
	.l-footer .footer-cr {
		text-align: center;
	}
}
@media screen and (max-width: 480px) {
	.l-footer .footer-cr {
		width : 100%;
	}
}

#top-mv {
	position: relative
}

#top-mv::before {
	content: '';
	display: block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover
}

@media screen and (max-width: 768px) {
	#top-mv::before {
		padding-top: 166%;
		background-image: url("/img/index/top_mv_bg_sp.png")
	}
}

@media screen and (min-width: 769px) {
	#top-mv::before {
		min-height: 100vh;
		padding-top: 48.854166666%;
		background-image: url("/img/index/top_mv_bg.png")
	}
}

#top-mv .mv-hn {
	position: absolute;
	top: 50%;
	left: 10%;
	transform: translateY(-50%);
	font-size: 4.8rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
}

@media screen and (max-width: 768px) {
	#top-mv .mv-hn {
		font-size: 3rem
	}
}

#top-mv .mv-hn .s {
	display: block;
	font-size: 1.8rem;
	letter-spacing: 1px;
	font-weight : 400;
}

@media screen and (max-width: 768px) {
	#top-mv .mv-hn .s {
		font-size: 1.08rem
	}
}

#top-profile {
	padding: 120px 0 0
}

@media screen and (max-width: 768px) {
	#top-profile {
		padding: 50px 0 0
	}
}

#top-profile .profile-inner {
	position: relative;
	width: 92%;
	max-width: 1160px;
	margin: 0 auto
}

@media screen and (max-width: 768px) {
	#top-profile .profile-ttl {
		text-align: center;
		margin-bottom: 20px
	}
}

@media screen and (min-width: 769px) {
	#top-profile .profile-ttl {
		position: absolute;
		top: 0;
		right: 0;
		transform: rotate(90deg) translateX(25%)
	}
}

#top-profile .profile-ttl .hn {
	display: inline-block;
	font-size: 1.8rem
}

@media screen and (max-width: 768px) {
	#top-profile .profile-ttl .hn {
		font-size: 1.6rem
	}
}

#top-profile .profile-ttl .hn::after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-color: #fff
}

#top-profile .profile-moochan {
	position: absolute;
	top: 150px;
	width: 100%;
	z-index: -1
}

#top-profile .profile-moochan img {
	width: 100%
}

@media screen and (max-width: 768px) {
	#top-profile .profile-moochan {
		top: 20px
	}
}

#top-profile .profile-photo {
	text-align: center;
	margin-bottom: 50px
}

@media screen and (max-width: 768px) {
	#top-profile .profile-photo {
		margin-bottom: 20px
	}
}

#top-profile .profile-txt {
	max-width: 1060px;
	margin: 0 auto 50px
}

@media screen and (max-width: 768px) {
	#top-profile .profile-txt {
		margin-bottom: 30px
	}
}

#top-profile .profile-txt .name {
	font-size: 3.6rem;
	font-weight: bold;
	margin-bottom: 10px
}

@media screen and (max-width: 768px) {
	#top-profile .profile-txt .name {
		font-size: 2rem
	}
}

#top-profile .profile-txt .txt {
	font-size: 1.4rem
}

@media screen and (max-width: 768px) {
	#top-profile .profile-txt .txt {
		font-size: 1.4rem
	}
}

@media screen and (min-width: 769px) {
	#top-profile .profile-txt .txt {
		font-weight: normal
	}
}

#top-profile .profile-txt .txt span {
	display: inline-block
}

#top-about-brushworks {
	display: none;
	background-color: #000
}

@media screen and (min-width: 769px) {
	#top-about-brushworks .inner {
		display: flex;
		align-items: center
	}
}

#top-about-brushworks .l {
	flex: none
}

@media screen and (max-width: 768px) {
	#top-about-brushworks .l {
		margin-bottom: 20px
	}
}

#top-about-brushworks .l .photo {
	text-align: center
}

@media screen and (min-width: 769px) {
	#top-about-brushworks .r {
		padding-left: 50px
	}
}

#top-about-brushworks .r .title {
	font-size: 2rem;
	line-height: 1.6;
	letter-spacing: 1px;
	margin-bottom: 30px
}

@media screen and (max-width: 768px) {
	#top-about-brushworks .r .title {
		font-size: 1.4rem;
		text-align: center;
		margin-bottom: 10px
	}
}

#top-about-brushworks .r .title .st {
	font-size: 3.6rem;
	font-weight: bold
}

@media screen and (max-width: 768px) {
	#top-about-brushworks .r .title .st {
		font-size: 1.8rem
	}
}

@media screen and (min-width: 769px) {
	#top-about-brushworks .r .txt {
		line-height: 2.2
	}
}

#top-about {
	
}
#top-about .profile-inner {
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : space-between;
	justify-content : space-between;
}
#top-about .profile-inner .profile-txt {
	width : 50%;
	padding-left : 5%;
	padding-right: 1%;
	box-sizing: border-box;
}
#top-about .profile-inner .profile-txt.wide {
	width : 100%;
	padding-right : 5%;
}
#top-about .profile-inner .profile-photo {
	width : 50%;
	font-size : 0;
	text-align : right;
}
#top-about .profile-inner .profile-photo a img {
	width : 100%;
	max-width : 800px;
	filter : grayscale(1);

}
.prflex {
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : space-between;
	justify-content : space-between;
}
.prflex .item {
	width : 49%;
	background-color : #ffffff;
	padding : 28px 48px 36px 48px;;
}
.prflex .item h3 {
	text-decoration : underline;
	text-decoration-thickness: 5px;
	text-underline-offset: 12px;
}
.prflex .item dt {
	display : inline-block;
	background-color : #e7e7e7;
	padding : 0 6px;
	font-size : 24px;
	font-weight : 700;
}
.prflex .item dd {
	padding : 12px 0 16px 0;
	font-size : 16px;
	font-weight : 400;
}
.prflex .item p.chk {
	line-height : 1.4;
	padding : 2px 0 24px 48px;
	box-sizing : border-box;
	background : url(../img/check.png) no-repeat left top;
}
.prflex .item p.gb {
	display : inline-block;
	background-color : #e7e7e7;
	padding : 0 6px;
}
#top-about .profile-inner .profile-photo a:hover img {
	filter : grayscale(0);
}
#top-about .profile-inner .txt {
	line-height : 2.2;
}
#top-about .profile-inner .txt span {
	display : block;
}
.colorflex {
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : space-between;
	justify-content : space-between;
	flex-wrap : wrap;
}
.colorflex .col-item {
	width : 24%;
	margin-bottom : 24px;
	position : relative;
}
.colorflex .col-item h4 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	z-index : 2;
}
.colorflex .col-item h4 strong {
	display : block;
	font-size : 32px;
	font-weight : 600;
	color : #ffffff;
	white-space: nowrap;
}
.colorflex .col-item h4 span {
	display : block;
	font-size : 16px;
	font-weight : 500;
	color : #ffffff;
	text-align : center;
}
.colorflex .col-item img {
	width : 100%;
	height : 18vw;
	max-height : 320px;
	object-fit: cover;
}
.colorflex .col-trans {
	width : 24%;
	height : 0;
	font-size : 0;
}
.colorflex .col-item a {
	opacity : 1;
	transition: 0.3s;
}
.colorflex .col-item a:hover {
	opacity : 0.7;
}
@media screen and (max-width: 1400px) {
	.colorflex .col-item h4 strong {
		font-size : calc(2.11vw + 2.5px);
	}
	.colorflex .col-item h4 span {
		font-size : calc(0.92vw + 3.1px);
	}
}
@media screen and (max-width: 1200px) {
	.prflex .item {
		padding : 2.5vw 2.8vw 3.6vw 2.8vw;
	}
	.prflex .item dt {
		font-size : calc(1.52vw + 5.8px);
	}
	.prflex .item dd {
		font-size : calc(0.45vw + 10.6px);
	}
}
@media screen and (max-width: 800px) {
	#top-about .profile-inner .profile-txt.wide {
		padding-right : 0;
	}
	.colorflex .col-item {
		margin-bottom : 1.8vw;
	}
	.colorflex .col-item img {
		height : 20vw;
	}
}
@media screen and (max-width: 640px) {
	#top-about .profile-inner {
		display : block;
	}
	#top-about .profile-inner .profile-txt {
		width : 100%;
		padding-left : 0;
		margin-bottom : 5vw;
	}
	#top-about .profile-inner .profile-photo {
		width : 100%;
		text-align : center;
		padding : 0;
	}
}
@media screen and (max-width: 540px) {
	.prflex {
		display: block;
	}
	.prflex .item {
		width : 100%;
	}
	.prflex .item:first-of-type {
		margin-bottom : 3vw;
	}
	.prflex .item dd {
		padding : 1.2vw 0 1.6vw 0;
	}
	.prflex .item h3 {
		text-decoration : underline;
		text-decoration-thickness: 4px;
		text-underline-offset: 8px;
		margin-bottom : 10px;
	}
	.colorflex .col-item {
		width : 49%;
	}
	.colorflex .col-item img {
		height : 36vw;
	}
	.colorflex .col-item h4 strong {
		font-size : calc(3.64vw + 4.4px);
	}
	.colorflex .col-item h4 span {
		font-size : calc(1.82vw + 4.2px);
		white-space: nowrap;
	}
	.prflex .item p.chk {
		padding : 0 0 16px 36px;
		background-size : 24px;
	}
}

.borderTitle {
	color : #000000;
	font-weight : 700;
	text-decoration : underline;
	text-decoration-thickness: 5px;
	text-underline-offset: 12px;
}
.borderTitle.rev {
	color : #ffffff;
}
.swiper-slide {
	box-sizing: content-box;
	max-width : 320px !important;
}
#top-works .works-row .col-l {
	width: 300px
}
#top-works .works-row .col-r {
	width : 100%;
	padding-left : 4%;
	box-sizing: border-box;
}
br.wd {
	display : block;
}
br.smp {
	display : block;
}
.smpcls {
	display : block;
}
.smpapp {
	display : none;
}
@media screen and (max-width: 1600px) {
	#top-works .works-row .col-l {
		width: 20vw;
	}
	#top-works .works-row .col-r {
		width: calc(100% - 20vw);
		padding-left: 3%
	}
}
@media screen and (max-width: 1200px) {
	br.wd {
		display : none;
	}
}
@media screen and (max-width: 1100px) {
	#top-about .profile-inner .txt {
		line-height : 1.8;
	}
	#top-about .profile-inner .profile-txt {
		padding-left : 0;
		padding-right : 2%;
	}
}
@media screen and (max-width: 800px) {
	#top-works {
		padding: 50px 0 0
	}
	#top-works .works-row .col-r {
		width: 100%;
		padding-left: 0;
		padding-bottom : 6vw;
	}
}
@media screen and (max-width: 800px) {
	#top-about .profile-inner .profile-txt {
		padding-left : 0;
		padding-right : 0;
	}
	#top-about .profile-inner .profile-txt h3 {
		padding-top : 3vw;
	}
}
@media screen and (max-width: 540px) {
	.swiper-slide {
		max-width : 540px !important;
	}
	.smpcls {
		display : none;
	}
	.smpapp {
		display : block;
	}
}
@media screen and (max-width: 480px) {
	br.smp {
		display : none;
	}
}

#company_page.rev {
	background-color : #262629;
	top: -60px;
	padding-top: 60px;
}
.works-inner {
	padding-left: 5%;
	box-sizing: border-box;
}
.works-inner.newsd {
	padding-right: 5%
}
.works-inner.rev {

}
@media screen and (max-width: 1100px) {
	.works-inner {
		padding-left: 0;
	}
	.works-inner.rev {
		padding-left: 5%;
	}
}
@media screen and (max-width: 800px) {
	.works-inner {
		padding: 0 4%;
	}
	.works-inner.newsd {
		padding: 0 4%;
	}
	#top-works .works-inner {
		padding: 0 4%;
	}
	#company_page.rev {
		background-color : #262629;
		top: -2vw;
		padding-top: 6vw;
	}
}
@media screen and (max-width: 480px) {
	.works-inner {
		padding: 0 20px;
	}
	#top-works .works-inner {
		padding: 0 20px;
	}
}

#top-works .works-row {
	display : flex;
	width : 100%;
	align-items: flex-end;
}
@media screen and (max-width: 1600px) {
	#top-works .works-row {
		display : flex;
		width : 100%;
		align-items: center;
	}
}
@media screen and (max-width: 800px) {
	#top-works .works-row {
		display: block;
	}
	#top-works .works-row .col-l {
		display: block;
		width : 100%;
	}
}

#top-works .works-ttl {
	margin-bottom: 40px
}

@media screen and (max-width: 768px) {
	#top-works .works-ttl {
		margin-bottom: 20px
	}
}

#top-works .works-ttl .s {
	font-size: 1.4rem
}

@media screen and (max-width: 768px) {
	#top-works .works-ttl .s {
		font-size: 1.2rem
	}
}

#top-works .works-ttl .hn {
	font-size: 6rem;
	font-weight: bold;
	line-height: 1
}

@media screen and (max-width: 768px) {
	#top-works .works-ttl .hn {
		font-size: 2.6rem
	}
}

#top-works .works-dep {
	font-size: 1.4rem;
	margin-bottom: 40px;
	position : relative;
}
#top-works .works-dep img {
	width : 50%;
	max-width : 179px;
}
@media screen and (max-width: 800px) {
	#top-works .works-dep {
		display : -webkit-flex;
		display : flex;
		-webkit-justify-content : space-between;
		justify-content : space-between;
		align-items: center;
		margin-top : 4vw;
		margin-bottom : 4vw;
		box-sizing: border-box;
	}
	#top-works .works-dep p.txt {
		padding-right : 4%;
		box-sizing: border-box;
	}
}
@media screen and (max-width: 540px) {
	#top-works .works-dep p.mgt60z {
		width : 25%;
	}
	#top-works .works-dep p.txt {
		padding-right : 0;
		padding-left : 5%;
		margin-top : 0 !important;
		width : 70%;
	}
	#top-works .works-dep img {
		width : 100%;
		max-width : 179px;
	}
}
@media screen and (max-width: 480px) {
	#top-works .works-dep .c-btn {
		position : absolute;
		top : -60px;
		right : 0;
	}
	.mgt40z {
		margin-top: 0;
	}
	.product_info .mgt40z {
		margin-top: 5vw; !important;
	}
	#top-works .works-dep {
		margin-top: 6vw;
	}
}

#top-works .works-swiper-wrap {
	position: relative
}

#top-works .works-swiper .swiper-slide .photo {
	overflow: hidden;
	margin-bottom: 30px
}

@media screen and (max-width: 768px) {
	#top-works .works-swiper .swiper-slide .photo {
		margin-bottom: 15px
	}
}

#top-works .works-swiper .swiper-slide .photo img {
	width: 100%;
	height : 18vw;
	max-height : 300px;
}
@media screen and (max-width: 800px) {
	#top-works .works-swiper .swiper-slide .photo img {
		height : 36vw;
	}
}
@media screen and (max-width: 540px) {
	#top-works .works-swiper .swiper-slide .photo img {
		height : 67vw;
		max-height : 480px;
	}
}

#top-works .works-swiper .swiper-slide dl {
	padding : 6px 0 10px 22px;
	border-left: 1px solid #000000;
}
@media screen and (max-width: 1100px) {
	#top-works .works-swiper .swiper-slide dl {
		padding : 6px 0 10px 2.2vw;
	}
}
@media screen and (max-width: 768px) {
	#top-works .works-swiper .swiper-slide dl {
		padding-left: 15px
	}
}

#top-works .works-swiper .swiper-slide dl dt {
	font-size: 12px;
	color: #000000;
	margin-bottom: 5px
}
#top-works .works-swiper .swiper-slide dl dt strong {
	font-size: 12px;
	color : #ffffff;
	background-color : #000000;
	display : inline-block;
	margin-right : 8px;
	line-height : 1.6;
	padding : 0 8px 2px 8px;
}
#top-works .works-swiper .swiper-slide dl dd {
	font-weight: bold;
	line-height: 1.4;
	color : #000000;
}

#top-works .works-swiper-prev,
#top-works .works-swiper-next {
	position: absolute;
	top: 50%;
	width: 50px;
	height: 50px;
	background-size: cover;
	z-index: 2
}

@media screen and (max-width: 768px) {

	#top-works .works-swiper-prev,
	#top-works .works-swiper-next {
		width: 25px;
		height: 25px
	}
}

#top-works .works-swiper-prev::after,
#top-works .works-swiper-next::after {
	content: '' !important
}

#top-works .works-swiper-prev {
	left: 0;
	transform: translate(-50%, -50%);
	background-image: url("/img/common/swiper_prev.png")
}

@media screen and (max-width: 768px) {
	#top-works .works-swiper-prev {
		transform: translate(-50%, -50%)
	}
}

#top-works .works-swiper-next {
	right: 0;
	transform: translate(0, -50%);
	background-image: url("/img/common/swiper_next.png")
}

@media screen and (max-width: 768px) {
	#top-works .works-swiper-next {
		transform: translate(50%, -50%)
	}
}
.product_info {
	color : #ffffff;
}
.product_info h3.wbox {
	background-color : #ffffff;
	color : #000000;
	border : 2px solid #ffffff;
	line-height : 2.0;
	display : inline-block;
	padding : 0 0.5em;
	box-sizing : border-box;
	font-weight : 700;
}
.product_info h3.bbox {
	color : #ffffff;
	border : 2px solid #ffffff;
	line-height : 2.0;
	display : inline-block;
	padding : 0 0.5em;
	box-sizing : border-box;
	font-weight : 700;
}
.product_info .inner {
	margin-top : 0;
}
.product_info .inner p {
	font-weight : 500;
	line-height : 2.0;
	padding-right : 3%;
	box-sizing: border-box;
}
.product_info .inner img {
	width : 24%;
	max-width : 211px;
}
.product_info .about {
	width : 100%;
	padding-right : 5%;
	box-sizing: border-box;
}
.product_info .about .item {
	width : 31%;
	border : 2px solid #ffffff;
	padding : 20px 24px;
}
.product_info .about .item h3 {
	line-height : 1.0;
	border-bottom : 2px solid #ffffff;
}
.product_info .about .item h3 span {
	font-family: "Roboto", sans-serif;
}
.product_info .about .item dt {
	width : 30%;
	max-width : 142px;
}
.product_info .about .item dt img {
	width : 100%;
}
.product_info .about .item dd {
	width : 65%;
	line-height : 1.5;
}
#top-shop {
	padding: 120px 0
}
@media screen and (max-width: 1400px) {
	.product_info .about .item {
		padding : 1.8vw 2vw;
	}
}
@media screen and (max-width: 1200px) {
	.product_info .about .item {
		width : 32%;
	}
	.product_info .about .item dt {
		width : 100%;
	}
	.product_info .about .item dd {
		width : 100%;
		margin-top : 3vw;
	}
}
@media screen and (max-width: 800px) {
	.product_info .about {
		padding-right : 0;
	}
}
@media screen and (max-width: 768px) {
	#top-shop {
		padding: 50px 0
	}
}

@media screen and (max-width: 768px) {
	#top-shop .shop-inner {
		padding: 0 4%
	}
}

@media screen and (min-width: 769px) {
	#top-shop .shop-inner {
		padding-right: 6%
	}
}
@media screen and (max-width: 640px) {
	.product_info .inner {
		margin-top : 8vw;
	}
	.product_info .about .item {
		width : 100%;
		margin-top : 4vw;
	}
	.product_info .about .item dt {
		width : 30%;
		max-width : 142px;
	}
	.product_info .about .item dt img {
		width : 100%;
	}
	.product_info .about .item dd {
		width : 65%;
		margin-top: 0;
		line-height : 1.5;
	}
	.product_info .inner p {
		line-height : 1.8;
		padding-right : 0;
	}
	.product_info .about {
		padding-right : 0;
	}
}

#top-shop .shop-row {
	display: flex
}

@media screen and (max-width: 768px) {
	#top-shop .shop-row {
		flex-direction: column-reverse
	}
}

@media screen and (min-width: 769px) {
	#top-shop .shop-row {
		width: 100%
	}
}

#top-shop .shop-row .col-l {
	position: relative;
	z-index: 1
}

@media screen and (min-width: 769px) {
	#top-shop .shop-row .col-l {
		width: calc(100% - 250px);
		padding-right: 6%
	}
}

#top-shop .shop-row .col-r {
	position: relative
}

@media screen and (max-width: 768px) {
	#top-shop .shop-row .col-r {
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-bottom: 30px
	}
}

@media screen and (min-width: 769px) {
	#top-shop .shop-row .col-r {
		width: 250px
	}
}

#top-shop .shop-row .col-r::after {
	content: '';
	display: block;
	position: absolute;
	background-image: url("/img/index/top_shop_chara_bg.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	z-index: -1
}

@media screen and (max-width: 768px) {
	#top-shop .shop-row .col-r::after {
		top: 0;
		left: 0;
		width: 100px;
		height: 99px
	}
}

@media screen and (min-width: 769px) {
	#top-shop .shop-row .col-r::after {
		top: 0;
		right: 100%;
		width: 356px;
		height: 355px
	}
}

@media screen and (max-width: 768px) {
	#top-shop .shop-ttl {
		margin-bottom: 20px
	}
}

@media screen and (min-width: 769px) {
	#top-shop .shop-ttl {
		text-align: right;
		margin-bottom: 40px
	}
}

#top-shop .shop-ttl .s {
	font-size: 1.4rem
}

@media screen and (max-width: 768px) {
	#top-shop .shop-ttl .s {
		font-size: 1.2rem
	}
}

#top-shop .shop-ttl .hn {
	font-size: 6rem;
	font-weight: bold;
	line-height: 1
}

@media screen and (max-width: 768px) {
	#top-shop .shop-ttl .hn {
		font-size: 2.6rem
	}
}

#top-shop .shop-dep {
	font-size: 1.4rem;
	margin-bottom: 40px
}

@media screen and (max-width: 768px) {
	#top-shop .shop-dep {
		font-size: 1.2rem;
		margin-bottom: 20px
	}
}

@media screen and (min-width: 769px) {
	#top-shop .shop-dep {
		text-align: right
	}
}

#top-gallery {
	padding: 100px 0 200px;
	background-image: url("/img/index/top_gallery_bg.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover
}

@media screen and (max-width: 768px) {
	#top-gallery {
		padding: 50px 0
	}
}

@media screen and (max-width: 768px) {
	#top-gallery .gallery-inner {
		padding: 0 4%
	}
}

@media screen and (min-width: 769px) {
	#top-gallery .gallery-inner {
		padding-left: 6%
	}
}

@media screen and (max-width: 768px) {
	#top-gallery .gallery-row .col-l {
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-bottom: 30px
	}
}

@media screen and (min-width: 769px) {
	#top-gallery .gallery-row {
		display: flex;
		width: 100%
	}

	#top-gallery .gallery-row .col-l {
		width: 250px
	}

	#top-gallery .gallery-row .col-r {
		width: calc(100% - 250px);
		padding-left: 6%
	}
}

#top-gallery .gallery-ttl {
	margin-bottom: 40px
}

@media screen and (max-width: 768px) {
	#top-gallery .gallery-ttl {
		margin-bottom: 20px
	}
}

#top-gallery .gallery-ttl .s {
	font-size: 1.4rem
}

@media screen and (max-width: 768px) {
	#top-gallery .gallery-ttl .s {
		font-size: 1.2rem
	}
}

#top-gallery .gallery-ttl .hn {
	font-size: 6rem;
	font-weight: bold;
	line-height: 1
}

@media screen and (max-width: 768px) {
	#top-gallery .gallery-ttl .hn {
		font-size: 2.6rem
	}
}

#top-gallery .gallery-dep {
	font-size: 1.4rem;
	margin-bottom: 40px
}

@media screen and (max-width: 768px) {
	#top-gallery .gallery-dep {
		font-size: 1.2rem;
		margin-bottom: 20px
	}
}

#top-gallery .gallery-swiper-wrap {
	position: relative
}

#top-gallery .gallery-swiper .swiper-slide .photo {
	overflow: hidden;
	margin-bottom: 30px
}

@media screen and (max-width: 768px) {
	#top-gallery .gallery-swiper .swiper-slide .photo {
		margin-bottom: 15px
	}
}

#top-gallery .gallery-swiper .swiper-slide .photo img {
	width: 100%
}

#top-gallery .gallery-swiper .swiper-slide dl {
	padding-left: 20px;
	border-left: 1px solid #fff
}

@media screen and (max-width: 768px) {
	#top-gallery .gallery-swiper .swiper-slide dl {
		padding-left: 15px
	}
}

#top-gallery .gallery-swiper .swiper-slide dl dt {
	font-size: 1.2rem;
	color: #808080;
	margin-bottom: 5px
}

#top-gallery .gallery-swiper .swiper-slide dl dd {
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.4
}

@media screen and (max-width: 768px) {
	#top-gallery .gallery-swiper .swiper-slide dl dd {
		font-size: 1.5rem
	}
}

#top-gallery .gallery-swiper-prev,
#top-gallery .gallery-swiper-next {
	position: absolute;
	top: 50%;
	width: 50px;
	height: 50px;
	background-size: cover;
	z-index: 2
}

@media screen and (max-width: 768px) {

	#top-gallery .gallery-swiper-prev,
	#top-gallery .gallery-swiper-next {
		width: 25px;
		height: 25px
	}
}

#top-gallery .gallery-swiper-prev::after,
#top-gallery .gallery-swiper-next::after {
	content: '' !important
}

#top-gallery .gallery-swiper-prev {
	left: 0;
	transform: translate(-50%, -50%);
	background-image: url("/img/common/swiper_prev.png")
}

@media screen and (max-width: 768px) {
	#top-gallery .gallery-swiper-prev {
		transform: translate(-50%, -50%)
	}
}

#top-gallery .gallery-swiper-next {
	right: 0;
	transform: translate(0, -50%);
	background-image: url("/img/common/swiper_next.png")
}

@media screen and (max-width: 768px) {
	#top-gallery .gallery-swiper-next {
		transform: translate(50%, -50%)
	}
}

#top-news {
	position: relative;
}
#top-news.bdr {
	border-bottom : 1px solid #8a8a8a;
}

@media screen and (max-width: 800px) {
	#top-news {
		padding: 0 0 0 0
	}
}

#top-news .newsttl {
	padding-right : 5%;
	box-sizing: border-box;
}
#top-news .news-inner {
	position: relative;
	width: 50%;
	margin: 0 auto
}
#top-news .news-ttl {
	text-align: center;
	margin-bottom: 40px
}
#top-news .news-ttl .s {
	font-size: 1.4rem
}
#top-news .news-ttl .hn {
	font-size: 6rem;
	font-weight: bold;
	line-height: 1
}
#top-news .news-list {
	margin-bottom: 50px
}
#top-news .news-list h3 span {
	display : block;
	font-size : 1rem;
	color : #8d8d8d;
	font-weight : 400;
}
#top-news .news-item {
	width : 31.5%;
}
#top-news .news-trans {
	width : 31.5%;
	font-size : 0;
	height : 0;
}
#top-news .news-item .news-img {
	width : 100%;
}
#top-news .news-item .news-img a {
	filter: grayscale(100%);
	transform: 0.4s;
}
#top-news .news-item .news-img a:hover {
	filter: grayscale(0);
}
#top-news .news-item .news-img img {
	width : 100%;
	max-width : 492px;
	height : 20vw;
	max-height : 300px;
	object-fit: cover;
}
.news-article {
	padding-right : 5%;
	box-sizing: border-box;
	border-bottom : 1px solid #6d6d6d;
}
.news-article img {
	width : 100%;
}
.news-article .wxWrap {
	background-color : #d8d8d8;
	padding : 20px 24px;
	box-sizing: border-box
}
.news-article .wxWrap .left {
	width : 28%;
	text-align : left;
}
.news-article .wxWrap .right {
	width : 28%;
	text-align : right;
}
.news-article .wxWrap .center {
	width : 44%;
	text-align : center;
}
.news-article .wxWrap a {
	color : #000000;
	font-size : 1rem;
	font-weight : 600;
	text-decoration : underline;
	transition: 0.3s;
}
.news-article .wxWrap a:hover {
	color : #5d5d5d;
}
@media screen and (max-width: 800px) {
	#top-news .newsttl {
		padding-right : 0;
	}
	.news-article {
		padding-right : 0;
	}
	.news-article .wxWrap {
		padding : calc(1vw + 10px) calc(1.4vw + 10px);
	}
}

.company-txt {
	box-sizing: border-box;
}
.company-txt h3.colw {
	color : #ffffff !important;
}
h3.bdr {
	border-bottom : 1px solid #8a8a8a;
}
.company-inner {
	box-sizing: border-box;
}
.company-inner.rev {
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : space-between;
	justify-content : space-between;
}
.company-inner.rev h3 {
	line-height : 1.4;
}
.company-inner.rev p {
	color : #ffffff;
}
.company-inner .left {
	width : 100%;
	padding-right : 2%;
	box-sizing: border-box;
}
.company-inner.rev .left {
	width : 65%;
	box-sizing: border-box;
}
.about-logo {
	position : relative;
	width : 35%;
	max-width : 560px;
	text-align : left;
}
.about-logo p {
	width : 360px;
	height : 360px;
	background-color : #ffffff;
	font-size : 0;
	line-height : 360px;
	text-align : center;
	border-radius: 50%;
}
.about-logo p img {
	width : 60%;
	max-width : 267px;
}
@media screen and (max-width: 1800px) {
	.company-inner.rev .left {
		width : 70%;
	}
	.about-logo {
		width : 30%;
	}
}
@media screen and (max-width: 800px) {
	.company-inner.rev .left {
		width : 80%;
	}
}
@media screen and (max-width: 640px) {
	.company-inner.rev {
		display : block;
	}
	.company-inner.rev .left {
		width : 100%;
		padding-top : 20px;
	}
	.about-logo {
		width : auto;
		position : absolute;
		top : 20px;
		right : 20px;
	}
}
@media screen and (max-width: 1700px) {
	.about-logo p {
		width : 20vw;
		height : 20vw;
		line-height : 20vw;
	}
}
.company-inner .company-photo {
	width : 50%;
}
.company-inner .company-photo img {
	width : 100%;
}
.company_list  {
	border-bottom : 1px solid #8a8a8a;
}
.company_list .left {
	width : 100%;
	box-sizing: border-box;
}
.company_list .right {
	width : 46%;
	box-sizing: border-box;
}
.company_list dl dt {
	font-weight : 700;
	width : 8em;
}
.company_list dl dd {
	font-weight : 400;
	width : calc(100% - 8em);
}
.company_info {
	align-items: flex-start;
	border-bottom : 1px solid #000000;
}
.company_info .img {
	width : 44%;
}
.company_info .img img {
	width : 100%;
	max-width : 700px;
}
.company_info .right {
	width : 100%;
	padding : 0 2% 0 0;
	box-sizing: border-box;
}
.company_info .right .inner {
	width : auto;
	padding-right : 5%;
}
.company_info .right .inner.rig {
	width : auto;
}
.company_info .right p {
	font-size : 1rem;
	color : #656565;
	line-height : 1.6;
}
.company_info .right p.logo img {
	width : 50%;
	max-width : 230px;
}
.company_info .right .addr a {
	display : block;
	padding : 12px 0 12px 32px;
	background : url(../img/pointer.png) no-repeat left center;
	font-size : 1rem;
	font-weight : 700;
	color : #000000;
	text-decoration: underline;
}
.company_affi {

}
.company_affi h3 {
	width : 44%;
}
.company_affi .right {
	width : 56%;
	padding : 0 2% 0 5%;
	box-sizing: border-box;
}
.company_affi .right a {
	display : block;
	padding-bottom : 12px;
	line-height : 1.1;
	color : #000000;
	border-bottom : 2px solid #000000;
	transition: 0.3s;
	position : relative;
}
.company_affi .right a:after {
	content: '';
	display: block;
	position: absolute;
	top : calc(50% - 6px);
	right : 20px;
	width : 10px;
	height : 10px;
	border-left : 2px solid #000000;
	border-top : 2px solid #000000;
	transform: rotate(135deg);
	transition: 0.3s
}
.company_affi .right a:hover {
	color : #8b8b8b;
	border-bottom : 2px solid #8b8b8b;
}
.company_affi .right a:hover::after {
	border-left : 2px solid #8b8b8b;
	border-top : 2px solid #8b8b8b;
}
.contact_info {
	padding-right : 5%;
	box-sizing: border-box;
}
.contact_info .inner {
	width : 48%;
}
@media screen and (max-width: 800px) {
	#top-news .news-item {
		display: block;
		padding: 10px 0
	}
	#top-news .news-list {
		margin-bottom: 5vw;
	}
	.contact_info {
		padding-right : 0;
	}
	.company_info .img {
		width : 100%;
		margin : 4vw auto;
	}
	.company_info .img img {
		width : 100%;
		max-width : 700px;
	}
	.company_info .right {
		width : 100%;
		padding : 3vw 2% 0 2%;
		box-sizing: border-box;
	}
}
@media screen and (max-width: 640px) {
	.company_info .right .inner {
		width : 48%;
	}
	.company_info .right .inner.rig {
		width : 48%;
		margin-top : 3vw;
	}
	.company_affi h3 {
		width : 100%;
	}
	.company_affi .right {
		width : 100%;
		padding : 4vw 2% 0 2%;
		box-sizing: border-box;
	}
	.contact_info {
		padding-right : 0;
	}
	.contact_info .inner {
		width : 100%;
	}
	.contact_info .inner:last-of-type {
		margin-top : 5vw;
	}
	#top-news .newsttl {
		padding-right : 0;
	}
	.company-inner .left {
		width : 100%;
		padding-right : 0;
	}
	.company-txt {
		padding-left : 20px;
		padding-right : 20px;
	}
	.company-txt.rev {
		padding-left : 0px;
		padding-right : 0px;
	}
	.company-inner .company-photo {
		width: 100%;
		margin-top : 4vw;
	}
	.company_list .left {
		width: 100%;
	}
	.company_list .right {
		width: 100%;
		margin-top : 6vw;
	}
}

@media screen and (max-width: 480px) {
	#top-news .news-item {
		width : 48%;
	}
	#top-news .news-item .news-img img {
		height : 32vw;
	}
	#top-news .news-item.num2 {
		display : none;
	}
	#top-news .news-trans {
		display : none;
	}
	.company_info .right .inner {
		width : 100%;
	}
	.company_info .right .inner.rig {
		width : 100%;
	}
	.company_affi .right a:after {
		right : 4px;
	}
	.company_list dl dt {
		width : 100%;
		font-size : 1.1rem !important;
	}
	.company_list dl dd {
		width : 100%;
		font-size : 1.1rem !important;
	}
}
#top-news .news-date a {
	font-size : 1.05rem;
	color : #000000;
	font-weight : 700;
	text-decoration: underline;
	transition: 0.3s;
}
#top-news .news-date a:hover {
	color : #8b8b8b;
}
#top-news .news-date span {
	font-size : 12px;
	color : #8b8b8b;
	font-weight : 700;
	line-height : 2.4;
}
#top-news .news-cat {
	display: block;
	font-size: 12px;
	color: #000000;
	line-height: 1.3;
}
#top-news .news-title {
	display: block;
	font-size: 18px;
	color: #000000;
	font-weight : 700;
	line-height: 1.6;
	border-bottom : 1px solid #000000;
	overflow : hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
@media screen and (max-width: 480px) {
	#top-news .news-title {
		font-size: 14px;
	}
}

.shop-list-content {
	width: 92%;
	max-width: 1160px;
	margin: 0 auto
}

.shop-list-content .shop-list {
	display: flex;
	flex-wrap: wrap;
	margin: -3% -2.370689655% 0
}

@media screen and (max-width: 768px) {
	.shop-list-content .shop-list {
		margin-top: -5%
	}
}

.shop-list-content .shop-list li {
	width: calc(100% / 3);
	padding: 0 2.370689655%;
	margin-top: 3%;
	display: none
}

@media screen and (max-width: 768px) {
	.shop-list-content .shop-list li {
		width: calc(100% / 2);
		margin-top: 5%
	}
}

.faqSelecter a {
	display : block;
	width : 23%;
	text-align : center;
	font-size : 1.1rem;
	font-weight : 500;
	color : #000000;
	border : 1px solid #989898;
	border-radius : 8px;
	line-height : 1.6;
	padding : 0.9rem 0;
	transition: 0.4s;
}
.faqSelecter a:hover {
	color : #ffffff;
	background-color : #989898;
}
.faqContents h2 {
	width : 100%;
	border-bottom : 1px solid #dcdcdc;
	padding-bottom : 30px;
}
.faqWrap {
	padding : 40px;
}
.faqSelecter {
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : space-between;
	justify-content : space-between;
	flex-wrap : wrap;
}
.faqSelecter span {
	display : block;
	width : calc(22% + 6px);
	font-size : 0;
	position : relative;
}
.faqContents {
	
}
.faqContents h3 {
	font-size : 24px;
	font-weight : 400;
	line-height : 1.4;
	color : #000000;
}
.faqContents h3.bold {
	font-weight : 700;
}
.faqContents dl {
	padding : 20px 0;
	transition: 0.5s;
	margin-bottom : 0;
}
.faqContents dl dt {
	color : #000000;
	background-color : #d8d8d8;
	position : relative;
	cursor : pointer;
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : space-between;
	justify-content : space-between;
	align-items : center;
}
.faqContents dl dt strong {
	display : inline-block;
	text-align : center;
	vertical-align: top;
	width : 45px;
	height : 45px;
	font-size : 24px;
	color : #000000;
	font-weight : 700;
	position : relative;
	top : 3px;
	font-family: "Roboto", sans-serif;
}
.faqContents dl dt p {
	display : inline-block;
	width : calc(100% - 95px);
	vertical-align: top;
	color : #000000;
	font-weight : 500;
	padding : 20px 0 20px 14px;
}
.faqContents dl dt div {
	position : relative;
	width : 16px;
	height : 16px;
	border-top : 2px solid #000000;
	border-right : 2px solid #000000;
	transform: rotate(135deg);
	top : -2px;
	right : 40px;
	transition: 0.3s;
}
.faqContents dl dt div.active {
	top : 4px;
	transform: rotate(-45deg);
}
.faqContents dl dt div span {
	display : block;
	font-size : 36px;
	color : #01479d;
	font-weight : 300;
	line-height : 45px;
}
.faqContents dl dd {
	display : none;
	position : relative;
	padding : 20px 0 20px 12px;
	background-color : #ffffff;
}
.faqContents dl dd strong {
	font-size : 28px;
	color : #000000;
	font-weight : 700;
	display : inline-block;
	vertical-align: top;
	width : 50px;
	position : relative;
	top : -8px;
	font-family: "Roboto", sans-serif;
}
.faqContents dl dd p {
	display : inline-block;
	vertical-align: top;
	width : calc(100% - 100px);
	font-size : 1.1rem;
	color : #000000;
	font-weight : 500;
}
.faqContents dl.active dt {
	position : relative;
	border-bottom : none;
}
@media screen and (max-width: 960px) {
	.faqContents h3 {
		font-size : calc(1.25vw + 12.0px);
		padding : 0 0 calc(1.25vw + 6.0px) 0;
	}
	.faqContents dl dt strong {
		width : 40px;
		height : 40px;
		font-size : 22px;
	}
	.faqContents dl dt p {
		width : calc(100% - 10vw - 10px);
	}
	.faqContents dl dd {
		padding : calc(2.5vw + 5px) 0 0 0;
	}
	.faqContents dl dd strong {
		width : 40px;
		height : 40px;
		font-size : 22px;
		text-align : center;
	}
	.faqContents dl dd p {
		width : calc(100% - 10vw - 55px);
		font-size : 1rem;
		padding-left : 18px;
	}
	.faqContents dl dt div span {
		font-size : 32px;
		line-height : 40px;
	}
}
@media screen and (max-width: 800px) {
	.faqSelecter a {
		width : 48%;
		margin-bottom : 3vw;
	}
	.faqSelecter a::after{
		top: calc(2vw + 8px);
		right : 1vw;
		width : 12px;
		height : 13px;
	}
	.faqContents dl dt div {
		top : -4px;
	}
	.faqContents dl {
		padding : calc(2vw + 8px) calc(1vw + 6px) calc(1vw + 6px) calc(1vw + 6px);
	}
}
@media screen and (max-width: 480px) {
	.faqWrap {
		padding : 5vw 0;
	}
	.faqContents dl {
		padding : 2vw 1.5vw 2vw 1.5vw;
		margin-bottom : 3vw;
	}
	.faqContents dl dt p {
		width : calc(100% - 10vw - 40px);
		font-size : 1.1rem;
		padding : 8px 0;
	}
	.faqContents dl dt strong {
		width : 32px;
		height : 32px;
		font-size : 18px;
	}
	.faqContents dl dd strong {
		width : 32px;
		height : 32px;
		font-size : 18px;
		top : -3px;
	}
	.faqContents dl dt div {
		width : 8px;
		height : 8px;
		border-top : 1px solid #000000;
		border-right : 1px solid #000000;
		top : -2px;
		right : 10px;
	}
	.faqContents dl dd p {
		width : calc(100% - 10vw - 40px);
		font-size : 1.1rem;
		padding : 0 0 8px 14px;
	}
}

.contactForm {
	width : 100%;
	padding-right : 5%;
	box-sizing: border-box
}
.contactForm dl {
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : space-between;
	justify-content : space-between;
	margin-bottom : 10px;
}
.contactForm dt {
	width : 20%;
	background-color : #d9d9d9;
	padding : 12px 24px;
	font-size : 1rem;
	font-weight : 700;
	display : -webkit-flex;
	display : flex;
	align-items : center;
	margin-right : 5px;
}
.contactForm dd {
	width : calc(80% - 5px);
}
.contactForm dd p.inp {
	margin-top : 5px;
}
input.form-herf {
	width : calc(50% - 5px);
	background-color : #ffffff;
	padding : 16.5px 24px;
	font-size : 1rem;
	font-weight : 500;
	border : 1px solid #8d8d8d;
}
select.form_herf {
	width : 31.5vw;
	max-width : 607px;
	min-width : 280px;
	background-color : #ffffff;
	padding : 16.5px 24px;
	font-size : 1rem;
	font-weight : 500;
	border : 1px solid #8d8d8d;
    -webkit-appearance: none;
    appearance: none;
}
input.form-field {
	width : calc(100% - 6px);
	background-color : #ffffff;
	padding : 16.5px 24px;
	font-size : 1rem;
	font-weight : 500;
	border : 1px solid #8d8d8d;
}
.contactForm dd textarea {
	width : calc(100% - 6px);
	background-color : #ffffff;
	padding : 16.5px 24px;
	height : 20em;
	font-size : 1rem;
	font-weight : 500;
	border : 1px solid #8d8d8d;
}
.contactForm dd p.selarrow {
	position : relative;
	display : inline-block;
}
.contactForm dd p.selarrow::after {
	content : "";
	display : block;
	position: absolute;
	width: 16px;
	height: 16px;
	border-top: 2px solid #000000;
	border-right: 2px solid #000000;
	transform: rotate(135deg);
	top: calc(50% - 10px);
	right: 20px;
}
.contactForm .submit-button {
	width : 100%;
	border : 1px solid #000000;
	background-color : #000000;
	color : #ffffff;
	font-size : 1.2rem;
	font-weight : 600;
	padding : 18px 0;
	transition: 0.3s;
}
.contactForm .submit-button:hover {
	background-color : #ffffff;
	color : #000000;
}
span.hissu {
	color : #e70012;
}
@media screen and (max-width: 1350px) {
	.contactForm dt {
		width : 25%;
		padding : 10px 16px;
	}
	.contactForm dd {
		width : calc(75% - 5px);
	}
}
@media screen and (max-width: 880px) {
	.contactForm dt {
		width : 28%;
		padding : 10px 16px;
	}
	.contactForm dd {
		width : calc(72% - 5px);
	}
}
@media screen and (max-width: 800px) {
	.contactForm {
		padding-right: 0;
	}
}
@media screen and (max-width: 640px) {
	.contactForm dl {
		display : block;
	}
	.contactForm dt {
		width : calc(100% - 6px);
		padding : 6px 16px;
		font-size : 1.1rem;
	}
	.contactForm dd {
		width : 100%;
	}
	input.form-herf {
		padding : 12px 16px;
		font-size : 1.1rem;
	}
	select.form_herf {
		padding : 12px 16px;
		font-size : 1.1rem;
	}
	input.form-field {
		padding : 12px 16px;
		font-size : 1.1rem;
	}
	.contactForm dd textarea {
		padding : 12px 16px;
		font-size : 1.1rem;
	}
	.contactForm dd p.selarrow::after {
		width: 10px;
		height: 10px;
		top: calc(50% - 7px);
		right: 14px;
	}
}


.works-list-content {
	width: 92%;
	max-width: 1020px;
	margin: 0 auto
}

.works-list-content .works-list {
	display: flex;
	flex-wrap: wrap;
	margin: -3% -4% 0
}

@media screen and (max-width: 768px) {
	.works-list-content .works-list {
		margin: -6% -2% 0
	}
}

.works-list-content .works-list li {
	width: 50%;
	padding: 0 4%;
	margin-top: 3%
}

@media screen and (max-width: 768px) {
	.works-list-content .works-list li {
		padding: 0 2%;
		margin-top: 6%
	}
}

@media screen and (min-width: 769px) {
	.works-list-content .works-list li:nth-of-type(even) {
		margin-top: 8%
	}
}

.works-list-content .works-list li .photo {
	margin-bottom: 30px
}

@media screen and (max-width: 768px) {
	.works-list-content .works-list li .photo {
		margin-bottom: 15px
	}
}

.works-list-content .works-list li .photo img {
	width: 100%
}

.works-list-content .works-list li dl {
	padding-left: 20px;
	border-left: 1px solid #fff
}

@media screen and (max-width: 768px) {
	.works-list-content .works-list li dl {
		padding-left: 10px
	}
}

.works-list-content .works-list li dl dt {
	font-size: 1.2rem;
	color: #808080;
	margin-bottom: 5px
}

.works-list-content .works-list li dl dd {
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.4
}

@media screen and (max-width: 768px) {
	.works-list-content .works-list li dl dd {
		font-size: 1.5rem
	}
}

.works-d {
	width: 92%;
	max-width: 1160px;
	margin: 0 auto
}

.works-d-txt {
	padding: 70px 0
}

@media screen and (max-width: 768px) {
	.works-d-txt {
		padding: 30px 0
	}
}

@media screen and (min-width: 769px) {
	.works-d-txt {
		line-height: 2.2
	}
}

.works-d-txt p:not(:last-child) {
	margin-bottom: 1.5em
}

@media screen and (max-width: 768px) {
	.works-d-txt p:not(:last-child) {
		margin-bottom: 1.2em
	}
}

.works-d-swiper-inner {
	max-width: 720px;
	margin: 0 auto
}

.works-d-swiper-main {
	margin-bottom: 20px
}

.works-d-swiper-main-wrap {
	position: relative
}

@media screen and (max-width: 768px) {
	.works-d-swiper-main {
		margin-bottom: 15px
	}
}

.works-d-swiper-main .swiper-slide .photo {
	margin-bottom: 5px
}

.works-d-swiper-main .swiper-slide .txt {
	font-size: 1.2rem;
	color: #7d7d7d
}

.works-d-swiper-prev,
.works-d-swiper-next {
	position: absolute;
	top: 50%;
	width: 50px;
	height: 50px;
	background-size: cover;
	z-index: 1
}

@media screen and (max-width: 768px) {

	.works-d-swiper-prev,
	.works-d-swiper-next {
		width: 25px;
		height: 25px
	}
}

.works-d-swiper-prev::after,
.works-d-swiper-next::after {
	content: '' !important
}

.works-d-swiper-prev {
	left: 0;
	transform: translate(-100%, -50%);
	background-image: url("/img/common/swiper_prev.png")
}

@media screen and (max-width: 768px) {
	.works-d-swiper-prev {
		transform: translate(-50%, -50%)
	}
}

.works-d-swiper-next {
	right: 0;
	transform: translate(100%, -50%);
	background-image: url("/img/common/swiper_next.png")
}

@media screen and (max-width: 768px) {
	.works-d-swiper-next {
		transform: translate(50%, -50%)
	}
}

.gallery-list-content {
	width: 92%;
	max-width: 1600px;
	margin: 0 auto
}

.gallery-list-content .gallery-list {
	display: flex;
	flex-wrap: wrap;
	margin: -2px
}

.gallery-list-content .gallery-list li {
	position: relative;
	width: 33.3333%;
	padding: 2px
}

@media screen and (max-width: 768px) {
	.gallery-list-content .gallery-list li {
		width: 50%
	}
}

.gallery-list-content .gallery-list li .photo img {
	width: 100%
}

.gallery-list-content .gallery-list li dl {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 92%;
	text-align: center;
	text-shadow: 0px 0px 7px rgba(7, 0, 2, 0.75)
}

.gallery-list-content .gallery-list li dl dt {
	font-size: 1.2rem;
	color: #808080;
	margin-bottom: 5px
}

.gallery-list-content .gallery-list li dl dd {
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.4
}

@media screen and (max-width: 768px) {
	.gallery-list-content .gallery-list li dl dd {
		font-size: 1.5rem
	}
}

.gallery-d-list-content {
	width: 92%;
	max-width: 1160px;
	margin: 0 auto
}

.gallery-d-list-content .gallery-d-list {
	display: flex;
	flex-wrap: wrap;
	margin: -3% -1% 0
}

@media screen and (max-width: 768px) {
	.gallery-d-list-content .gallery-d-list {
		margin: -6% -2% 0
	}
}

.gallery-d-list-content .gallery-d-list li {
	width: 25%;
	padding: 0 1%;
	margin-top: 3%
}

@media screen and (max-width: 768px) {
	.gallery-d-list-content .gallery-d-list li {
		width: 50%;
		padding: 0 2%;
		margin-top: 6%
	}
}

.gallery-d-list-content .gallery-d-list li .photo {
	margin-bottom: 15px
}

@media screen and (max-width: 768px) {
	.gallery-d-list-content .gallery-d-list li .photo {
		margin-bottom: 10px
	}
}

.gallery-d-list-content .gallery-d-list li .photo img {
	width: 100%
}

.gallery-d-list-content .gallery-d-list li .txt {
	font-size: 1.2rem;
	line-height: 1.4;
	padding-left: 10px;
	margin: 0 10px;
	border-left: 1px solid #fff
}

@media screen and (max-width: 768px) {
	.gallery-d-list-content .gallery-d-list li .txt {
		padding-left: 7px;
		margin: 0
	}
}

#admin_contener {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
.admin_headMenuInner {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
	height: 160px;
}
.admin_footer {
	margin-top: auto;
	background-color: #444444;
	position: relative;
}
#admin_header .mainWrap {
	margin-top : 40px;
	padding-bottom : 40px;
}
.admin_footer .safety {
	position: absolute;
	top: 4px;
	left: 4px;
}
.admin_footer .footerCopy {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	text-align: right;
	color: #ffffff;
	font-size: 12px;
	padding: 32px 0;
}

#news .news-list {
	width: 92%;
	max-width: 1160px;
	margin: -30px auto 0
}

@media screen and (max-width: 768px) {
	#news .news-list {
		margin-top: -10px
	}
}

#news .news-item {
	display: flex;
	align-items: flex-start;
	padding: 30px 0;
	border-bottom: 1px dotted #aaa
}

@media screen and (max-width: 768px) {
	#news .news-item {
		display: block;
		padding: 10px 0
	}
}

#news .news-date {
	display: flex;
	align-items: center;
	font-size: 1.6rem;
	font-weight: bold;
	padding-right: 30px
}

@media screen and (max-width: 768px) {
	#news .news-date {
		font-size: 1.4rem
	}
}

#news .news-cat {
	display: block;
	width: 125px;
	font-size: 1.6rem;
	color: #000;
	text-align: center;
	line-height: 1.6;
	margin-left: 30px;
	background-color: #fff
}

@media screen and (max-width: 768px) {
	#news .news-cat {
		width: 90px;
		font-size: 1.2rem;
		font-weight: normal;
		padding: 0 0 2px;
		margin-left: 15px
	}
}

#news .pagenav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 70px
}

@media screen and (max-width: 768px) {
	#news .pagenav {
		margin-top: 30px
	}
}

#news .pagenav a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 44px;
	height: 44px;
	font-size: 1.4rem;
	font-weight: bold;
	color: #bfbfbf;
	text-align: center;
	border: 1px solid #fff;
	margin: 0 7px;
	transition: all .5s
}

@media screen and (max-width: 768px) {
	#news .pagenav a {
		width: 30px;
		height: 30px;
		font-size: 1.2rem;
		font-weight: normal;
		margin: 0 5px
	}
}

#news .pagenav a:hover {
	color: #000;
	background-color: #fff
}

#news .pagenav a.current {
	color: #000;
	border: 1px solid #fff;
	background-color: #fff
}

#news .pagenav a.prev,
#news .pagenav a.next {
	border: none;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 17px 15px
}

@media screen and (max-width: 768px) {

	#news .pagenav a.prev,
	#news .pagenav a.next {
		background-size: 12px 10px
	}
}

#news .pagenav a.prev {
	background-image: url("/img/common/pagenav_prev.png")
}

#news .pagenav a.next {
	background-image: url("/img/common/pagenav_next.png")
}

#news .pagenav a.prev:hover,
#news .pagenav a.next:hover {
	background-color: inherit
}

#news .news-article {
	width: 92%;
	max-width: 720px;
	margin: 0 auto;
	padding: 100px 0
}

@media screen and (max-width: 768px) {
	#news .news-article {
		padding: 30px 0
	}
}

#news .news-article p:not(:last-child) {
	margin-bottom: 2em
}

@media screen and (max-width: 768px) {
	#news .news-article p:not(:last-child) {
		margin-bottom: 1em
	}
}

#contact .contact-form {
	width: 92%;
	max-width: 1160px;
	margin: 0 auto
}

#contact .contact-lead {
	font-size: 1.4rem;
	color: #7d7d7d;
	padding-bottom: 10px;
	border-bottom: 2px solid #434343;
	margin: 50px 0
}

a.submback {
	color : #000000;
	font-size : 1rem;
	font-weight : 500;
	transition: 0.3s;
}
a.submback:hover {
	color : #444444;
}

.caseSelect {
	text-align : center;
	width : 100%;
}
.caseSelect ul {
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : center;
	justify-content : center;
}
.caseSelect li {
	display : inline-block;
	margin : 0 8px;
}
.caseSelect li a {
	display : inline-block;
	font-size : 13px;
	padding : 4px 10px 6px 10px;
	color : #000000;
	border : 1px solid #000000;
	letter-spacing:  1px;
}
.caseSelect li span {
	display : inline-block;
	font-size : 13px;
	padding : 4px 10px 6px 10px;
	color : #ffffff;
	background-color : #000000;
	border : 1px solid #000000;
	letter-spacing:  1px;
}
.pruduct_wrap {
	
}
.product_list {
	width : 100%;
	max-width : 1560px;
	margin-left : auto;
	margin-right : auto;
	padding : 0 10px;
	box-sizing : border-box;
}
.product_list .product_flex {
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : space-between;
	justify-content : space-between;
	flex-wrap : wrap;
}
.product_list .product_flex .item {
	width : 23.5%;
}
.product_list .product_flex .itemTrans {
	width : 23.5%;
	font-size : 0;
	height : 0;
}
.product_list .product_flex .item a {
	color : #000000;
	transition: 0.3s;
}
.product_list .product_flex .item a:hover {
	color : #4b4b4b;
}
.product_list .product_flex .item .photo {
	width : 100%;
	height : 18vw;
	max-height : 320px;
	overflow : hidden;
}
.product_list .product_flex .item img {
	width : 100%;
	height : 18vw;
	max-height : 320px;
	object-fit: cover;
	transition: 0.3s;
}
.product_list .product_flex .item img:hover {
	transform: scale(1.05, 1.05);
}
.product_list .product_flex .item dl {
	margin-top : 20px;
	padding : 6px 0 10px 22px;
	border-left: 1px solid #000000;
}
.product_list .product_flex .item dl dt {
	font-size: 12px;
	color: #000000;
	margin-bottom: 5px
}
.product_list .product_flex .item strong {
	font-size: 12px;
	color : #ffffff;
	background-color : #000000;
	display : inline-block;
	margin-right : 8px;
	line-height : 1.6;
	padding : 0 8px 2px 8px;
}
.news-list.bdr {
	border-bottom : 1px solid #989898;
}
.news-cate strong {
	font-size: 12px;
	color : #ffffff;
	background-color : #000000;
	display : inline-block;
	margin-right : 8px;
	line-height : 1.6;
	padding : 0 8px 2px 8px;
}
.news-date {
	color : #8b8b8b;
}
.product_list .product_flex .item dl dd {
	font-weight : 700;
}
.product_ttl {
	width : 100%;
	position : relative;
	transform: none;
	overflow : visible;
}
.product_dep img {
	width : 25%;
	max-width : 179px;
}
.product_dep p {
	font-weight : 500;
}
.product_detail {
	width : 100%;
	position : relative;
}
.product_detail .detail_parts {
	width : 40%;
	padding-right : 4%;
	max-width : 700px;
	position : relative;
	box-sizing: border-box;
}
.product_detail .detail_parts .logo {
	width : 15vw;
	max-width : 179px;
}
.product_ttl .photo {
	width : calc(100vw - 44% - 96px);
	max-width : 999px;
	position : fixed;
	top : 0;
	right : 0;
	z-index : 19;
}
.product_ttl .photo.active {
	width : calc(100vw - 44% - 190px);
	position : absolute;
	top : auto;
	bottom : 0;
}
@media screen and (max-width: 1100px) {
	.product_ttl .photo {
		width : calc(100vw - 44% - 66px);
		top : 80px;
	}
	.product_ttl .photo.active {
		width : calc(100vw - 44% - 144px);
		top : auto;
		bottom : 0;
	}
}
@media screen and (max-width: 800px) {
	.product_ttl .photo {
		width : calc(100vw - 44%);
	}
	.product_ttl .photo.active {
		width : calc(100vw - 44% - 14px);
	}
}
@media screen and (max-width: 720px) {
	.product_ttl .photo.active {
		width : calc(100vw - 44% - 11px);
	}
}
@media screen and (max-width: 640px) {
	.product_list {
		padding : 0;
	}
	.caseSelect li {
		margin : 0 4px;
	}
	.caseSelect li a {
		font-size : 12px;
		padding : 2px 8px 4px 8px;
		letter-spacing:  0px;
	}
	.caseSelect li span {
		font-size : 12px;
		padding : 2px 8px 4px 8px;
		letter-spacing:  0px;
	}
}
.product_ttl .photo .slider {
	width : 100%;
	height : auto;
}
.product_ttl .photo .slider .slideItem {
	width : 100%;
	height : 100%;
	display : -webkit-flex;
	display : flex;
	align-items: center;
}
.product_ttl .photo .slider .slideItem img {
	margin : auto;
}
.product_detail .spec {
	background-color : #d8d8d8;
	padding : 30px 32px 36px 32px;
	box-sizing: border-box;
}
.product_detail .spec h4 {
	line-height : 1.0;
	border-left : 4px solid #000000;
	padding-left : 10px;
}
.product_detail .spec dl {
	border-bottom : 1px solid #999999;
	padding : 20px 0;
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : space-between;
	justify-content : space-between;
	align-items: center;
}
.product_detail .spec dl:first-of-type {
	border-top : 1px solid #999999;
}
.product_detail .spec dt {
	width : 5em;
	font-size : 1rem;
	font-weight : 500; 
}
.product_detail .spec dd {
	width : calc(100% - 5em);
	font-size : 1rem;
	font-weight : 500; 
}
@media screen and (max-width: 800px) {
	.product_detail .detail_parts {
		padding-right : 4%;
	}
	.product_detail .spec {
		padding : calc(2vw + 10px) 3.2vw calc(2vw + 16px) 3.2vw;
	}
}
@media screen and (max-width: 640px) {
	.pruduct_wrap {
		padding : 0 4%;
		box-sizing: border-box;
	}
	.product_list .product_flex .item {
		width : 49%;
		margin-bottom : 5vw;
	}
	.product_list .product_flex .itemTrans {
		width : 49%;
	}
	.product_list .product_flex .item .photo {
		height : 42vw;
	}
	.product_list .product_flex .item img {
		height : 42vw;
	}
	.product_list .product_flex .item dl {
		margin-top : 2vw;
		padding : 4px 0 8px 2vw;
		border-left: 1px solid #000000;
	}
	.product_detail .photo {
		position : relative;
		top : 0;
		right : 0;
		margin : 4vw 0;
	}
	.product_detail .photo .slider .slideItem {
		width : 100%;
		height : auto;
		display : block;
	}
	.product_detail .photo .slider .slideItem img {
		margin : 0 auto;
	}
	.product_detail .photo {
		width : 100%;
		max-width : 999px;
		height : auto;
	}
	.product_detail {
		width : 100%;
		padding : 0 4%;
		box-sizing: border-box;
	}
	.product_detail .detail_parts {
		width : 100%;
		padding-right : 0%;
	}
}

@media screen and (max-width: 768px) {
	#contact .contact-lead {
		font-size: 1.2rem;
		margin: 30px 0
	}
}

@media screen and (min-width: 769px) {
	#contact .contact-lr {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between
	}
}

@media screen and (min-width: 769px) {
	#contact .contact-l {
		width: 800px
	}
}

@media screen and (max-width: 768px) {
	#contact .contact-r {
		margin-bottom: 30px
	}
}

@media screen and (min-width: 769px) {
	#contact .contact-r {
		width: 160px
	}
}

#contact .contact-flow {
	position: relative
}

#contact .contact-flow li {
	display: flex;
	align-items: center;
	position: relative;
	color: #595959
}

@media screen and (max-width: 768px) {
	#contact .contact-flow li {
		font-size: 1.2rem
	}
}

#contact .contact-flow li:not(:last-child) {
	padding-bottom: 20px
}

@media screen and (max-width: 768px) {
	#contact .contact-flow li:not(:last-child) {
		padding-bottom: 15px
	}
}

#contact .contact-flow li:not(:last-child)::after {
	position: absolute;
	top: 14px;
	left: 4px;
	content: '';
	display: block;
	width: 1px;
	height: 100%;
	background-color: #595959
}

#contact .contact-flow li.is-end:not(:last-child)::after {
	background-color: #fff
}

#contact .contact-flow li::before {
	position: relative;
	content: '';
	display: inline-block;
	width: 9px;
	height: 9px;
	background-color: #595959;
	border-radius: 100%;
	margin-right: 20px;
	z-index: 1
}

#contact .contact-flow li.is-current {
	color: #fff
}

#contact .contact-flow li.is-current::before {
	background-color: #fff
}

#contact .contact-item:not(:last-child) {
	margin-bottom: 40px
}

@media screen and (max-width: 768px) {
	#contact .contact-item:not(:last-child) {
		margin-bottom: 30px
	}
}

#contact .contact-item dt {
	font-size: 1.8rem;
	font-weight: bold;
	padding-bottom: 15px
}

@media screen and (max-width: 768px) {
	#contact .contact-item dt {
		font-size: 1.4rem;
		padding-bottom: 10px
	}
}

#contact .contact-item dd:not(:last-child) {
	margin-bottom: 20px
}

@media screen and (max-width: 768px) {
	#contact .contact-item dd:not(:last-child) {
		margin-bottom: 15px
	}
}

#contact .f-text,
#contact .f-textarea,
#contact .f-select {
	width: 100%;
	font-size: 1.6rem;
	background-color: #fff;
	border-radius: 5px
}

#contact .f-text {
	padding: 1em
}

@media screen and (max-width: 768px) {
	#contact .f-text {
		padding: .5em
	}
}

#contact .f-text.address {
	width: 5em;
	margin: 0 .5em
}

#contact .f-textarea {
	height: 200px;
	padding: 1em;
	resize: none
}

@media screen and (max-width: 768px) {
	#contact .f-textarea {
		height: 150px;
		padding: .5em
	}
}

#contact .f-select {
	padding: 1em 2.5em 1em 1em
}

@media screen and (max-width: 768px) {
	#contact .f-select {
		padding: .5em 2em .5em .5em
	}
}

#contact .f-select-label {
	position: relative;
	display: inline-block
}

#contact .f-select-label::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	width: 14px;
	height: 10px;
	background-image: url("/img/common/ic_form_arrow_b.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover
}

#contact .kome {
	position: relative;
	top: -7px;
	font-size: 1rem;
	color: #ff0000
}

#contact input,
#contact textarea,
#contact select {
	font-family: "Noto Sans JP", sans-serif
}

#contact input::placeholder {
	color: #a6a6a6
}

#contact .consent {
	text-align: center;
	border-top: 2px solid #434343;
	margin: 50px 0;
	padding-top: 50px
}

@media screen and (max-width: 768px) {
	#contact .consent {
		margin: 20px 0 30px;
		padding-top: 20px
	}
}

#contact .consent-txt1 {
	margin-bottom: 10px
}

#contact .consent-txt2 {
	font-size: 1.4rem
}

@media screen and (max-width: 768px) {
	#contact .consent-txt2 {
		font-size: 1.2rem
	}
}

#contact .consent-txt2 a {
	text-decoration: underline
}

#contact .consent-label {
	cursor: pointer
}

#contact .consent-checkbox {
	position: relative;
	width: 30px;
	height: 30px;
	margin-right: 10px;
	background-color: #fff;
	border-radius: 5px;
	cursor: pointer
}

@media screen and (max-width: 768px) {
	#contact .consent-checkbox {
		width: 24px;
		height: 24px
	}
}

#contact .consent-checkbox::before {
	position: absolute;
	content: '';
	top: 50%;
	left: 50%;
	width: 58%;
	height: 58%;
	transform: translate(-50%, -50%)
}

#contact .consent-checkbox:checked::before {
	background-color: #000
}

#common .common-wrap {
	width: 92%;
	max-width: 1160px;
	margin: 0 auto
}

#common .common-item:not(:last-child) {
	margin-bottom: 3em
}

@media screen and (max-width: 768px) {
	#common .common-item:not(:last-child) {
		margin-bottom: 1.5em
	}
}

#common .common-item-ol {
	counter-reset: count 0
}

#common .common-item-ol li:before {
	content: "（"counter(count) "）";
	counter-increment: count 1
}

#common .common-item-ul {
	list-style: disc;
	margin-left: 1.5em
}

.works-pdf_button  {
	display : flex;
	justify-content : center;
	margin-bottom : 32px;
}

.works-pdf_button  {
	display : flex;
	justify-content : center;
	margin-bottom : 32px;
}

.works-pdf_button .c-btn a {
	display : inline-block;
	margin : 10px 16px;
}

.errorText {
	font-size : 12px;
	color : #ff0000;
}

.footer-inqu {
	margin : 32px 0 32px 0;
}
.footer-inqu .c-btn a {
	padding : 6px 40px 8px 40px;
	line-height : 1.6;
}
.footer-inqu strong {
	font-size : 120%;
	font-weight : 400;
}
