@charset "utf-8";

/*********** common ***********/
* {
	box-sizing: border-box;
}

body {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Noto Serif JP", serif;
	font-size: 18px;
	font-feature-settings: "palt";
	width: 100%;
	text-align: justify;
	overflow-x: hidden;
	letter-spacing: 0.16em;
}

a,
a:hover,
a:active,
a:visited {
	text-decoration: none;
}

i {
	font-style: normal;
}

#loader-bg {
	background: #fff;
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 100;
}

#loader-bg img {
	position: fixed;
	left: 50%;
	top: 50%;
	z-index: 10;
	transform: translate(-50%, -50%);
}

header {
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 7;
}

header #btn-menu {
	display: none;
}

header nav ul {
	background: rgba(255, 255, 255, .8);
	width: 100%;
	padding: 40px 0;
	display: flex;
	align-items: center;
}

header nav ul li {
	font-family: 'Cormorant Unicase', serif;
	font-size: 18px;
}

header nav ul li:first-child {
	padding-left: 160px;
}

header nav ul li:nth-child(2) {
	margin-left: 260px;
}

header nav ul li:nth-child(n+3) {
	margin-left: 50px;
}

header nav ul li a {
	color: #000;
	transition: opacity .5s;
}

header nav ul li a:hover {
	opacity: .4;
}

#top h2 {
	font-size: 18px;
	color: #363c4b;
	line-height: 1.2;
}

#top h2 span {
	font-family: 'Cormorant Unicase', serif;
	font-size: 80px;
	letter-spacing: 0.06em;
}

.animate {
	visibility: hidden;
}

.btn-more a {
	font-family: 'Cormorant Unicase', serif;
	font-size: 18px;
	color: #09194b;
	width: 400px;
	margin: 100px auto 0;
	border: #050532 1px solid;
	text-align: center;
	line-height: 4.5;
	display: block;
	transition: color .5s, background .5s;
}

.btn-more a:hover {
	color: #fff;
	background: #050532;
}

#u-layer {
	margin-top: 153px;
}

#u-layer article section h1 {
	display: none;
}

#u-layer h2 {
	font-size: 18px;
	color: #fff;
	width: 100%;
	max-width: 2000px;
	height: 300px;
	margin: 0 auto;
	padding-top: 80px;
	text-align: center;
	line-height: 1.2;
}

#u-layer h2 span {
	font-family: 'Cormorant Unicase', serif;
	font-size: 80px;
	letter-spacing: 0.06em;
}

footer {
	background: #05051e;
	margin-top: 150px;
	padding: 120px 0;
	position: relative;
}

footer::before,
footer::after {
	content: '';
	background: #ffd435;
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
}

footer::before {
	top: 20px;
}

footer::after {
	bottom: 20px;
}

footer ul {
	display: flex;
	justify-content: center;
}

footer ul li {
	font-size: 18px;
	padding: 0 8px;
}

footer ul li:nth-child(n+2) {
	border-left: #fff 1px solid;
}

footer ul li a {
	color: #fff;
	position: relative;
	display: inline-block;
}

footer ul li a::after {
	content: '';
	background: #fff;
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: -8px;
	left: 0;
	opacity: 0;
	visibility: hidden;
	transition: .5s;
}

footer ul li a:hover::after {
	bottom: -4px;
	opacity: 1;
	visibility: visible;
}

footer #footer-logo {
	margin-top: 20px;
	text-align: center;
}

footer #info {
	font-size: 18px;
	color: #fff;
	margin-top: 20px;
	line-height: 1.4;
	text-align: center;
}

footer #info a {
	color: #fff;
}

footer #copy {
	font-size: 14px;
	color: #fff;
	margin-top: 40px;
	text-align: center;
}

footer #copy a {
	color: #fff;
}

@media screen and (min-width: 801px) and (max-width: 2000px) {
	header nav ul {
		padding: 2vw 0;
	}

	header nav ul li {
		font-size: 0.9vw;
	}

	header nav ul li:first-child {
		padding-left: 8vw;
	}

	header nav ul li:nth-child(2) {
		margin-left: 13vw;
	}

	header nav ul li:nth-child(n+3) {
		margin-left: 2.5vw;
	}

	header nav ul li img {
		width: 14.1vw;
	}

	#top h2 {
		font-size: 0.9vw;
	}

	#top h2 span {
		font-size: 4vw;
	}

	.btn-more a {
		font-size: 0.9vw;
		width: 20vw;
		margin: 5vw auto 0;
	}

	#u-layer {
		margin-top: 7.65vw;
	}

	#u-layer h2 {
		font-size: 0.9vw;
		height: 15vw;
		padding-top: 4vw;
	}

	#u-layer h2 span {
		font-size: 4vw;
	}

	footer {
		margin-top: 7.5vw;
		padding: 6vw 0;
	}

	footer::before {
		top: 1vw;
	}

	footer::after {
		bottom: 1vw;
	}

	footer ul li {
		font-size: 0.9vw;
		padding: 0 0.4vw;
	}

	footer ul li a::after {
		bottom: -0.4vw;
	}

	footer ul li a:hover::after {
		bottom: -0.2vw;
	}

	footer #footer-logo {
		margin-top: 1vw;
	}

	footer #footer-logo img {
		width: 18.55vw;
	}

	footer #info {
		font-size: 0.9vw;
		margin-top: 1vw;
	}

	footer #copy {
		font-size: 0.7vw;
		margin-top: 2vw;
	}
}

@media screen and (min-width: 801px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

@media screen and (max-width: 800px) {
	header #btn-menu {
		background: rgba(54, 60, 75, .8);
		width: 15vw;
		height: 15vw;
		display: block;
		position: fixed;
		right: 0;
		top: 0;
		z-index: 4;
	}

	header #btn-menu span {
		background: #fff;
		width: 7.5vw;
		height: 0.25vw;
		margin: auto;
		display: block;
		position: absolute;
		left: 0;
		right: 0;
		transition: opacity .5s, transform .5s;
	}

	header #btn-menu span:first-child {
		top: 5vw;
	}

	header #btn-menu span:nth-child(2) {
		top: 7.5vw;
	}

	header #btn-menu span:last-child {
		top: 10vw;
	}

	header #btn-menu.open span:first-child {
		transform: rotate(45deg) translate(1.75vw, 1.75vw);
	}

	header #btn-menu.open span:nth-child(2) {
		opacity: 0;
	}

	header #btn-menu.open span:last-child {
		transform: rotate(-45deg) translate(1.75vw, -1.75vw);
	}

	header nav .box {
		background: rgba(255, 255, 255, .9);
		width: 100%;
		height: 100vh;
		padding-top: 15vw;
		overflow-y: auto;
		display: none;
		backdrop-filter: blur(3px);
		-webkit-backdrop-filter: blur(3px);
	}

	header nav ul {
		background: none;
		min-height: 100%;
		width: 92vw;
		padding: 0 0 15vw;
		margin: 0 auto;
		display: block;
	}

	header nav ul li {
		font-size: 6.25vw;
		width: 100%;
		height: 100%;
		padding: 0;
		border-bottom: #05051e 1px dashed;
		text-align: center;
	}

	header nav ul li:first-child {
		display: none;
	}

	header nav ul li:nth-child(2) {
		margin: 0 auto;
	}

	header nav ul li:nth-child(n+3) {
		margin: 0 auto;
	}

	header nav ul li a {
		width: 100%;
		height: 100%;
		padding: 7.5vw 0;
		display: block;
	}

	#top h2 {
		font-size: 3.75vw;
	}

	#top h2 span {
		font-size: 12.5vw;
		line-height: 1;
	}

	.btn-more a {
		font-size: 4.5vw;
		width: 75vw;
		margin: 7.5vw auto 0;
		line-height: 4;
	}

	#u-layer {
		margin-top: 0;
	}

	#u-layer article section h1 {
		padding: 2.5vw 0 2.5vw 4vw;
		display: block;
	}

	#u-layer article section h1 img {
		width: 48.625vw;
	}

	#u-layer h2 {
		font-size: 3.75vw;
		height: 37.5vw;
		padding-top: 8.75vw;
	}

	#u-layer h2 span {
		font-size: 12.5vw;
	}

	footer {
		margin-top: 10vw;
		padding: 7.5vw 0;
	}

	footer::before,
	footer::after {
		height: 0.25vw;
	}

	footer::before {
		top: 2.5vw;
	}

	footer::after {
		bottom: 2.5vw;
	}

	footer ul {
		display: none;
	}

	footer #footer-logo {
		margin-top: 0;
	}

	footer #footer-logo img {
		width: 46.375vw;
	}

	footer #info {
		font-size: 3vw;
		margin-top: 2.5vw;
	}

	footer #copy {
		font-size: 3vw;
		margin-top: 2.5vw;
	}
}
/*********** common ***********/

/*********** index ***********/
#top #main-image {
	width: 100%;
	max-width: 2000px;
	margin: 0 auto;
	text-align: center;
}

#top #main-image #top-main-pc {
	display: block;
}

#top #main-image #top-main-sp {
	display: none;
}

#top #main-image #top-main-logo {
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	top: 390px;
	z-index: 6;
}

#top #main-image .scroll {
	height: 100px;
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	top: 773px;
	z-index: 6;
}

#top #main-image .scroll span {
	font-family: 'Cormorant Unicase', serif;
	font-size: 18px;
	color: #fff;
}

#top #main-image .scroll::after {
	content: '';
	background: #fff;
	width: 2px;
	height: 40px;
	margin: auto;
	opacity: 0;
	position: absolute;
	left: 0;
	right: 0;
	top: 30px;
	animation: scroll 1.6s ease-in-out infinite;
}

@keyframes scroll {
	0% {
		height: 0;
		top: 30px;
		opacity: 0;
	}
	30% {
		height: 40px;
		opacity: 1;
	}
	100% {
		height: 0;
		top: 100px;
		opacity: 0;
	}
}

#top #top-about-company {
	background: url(../images/bg_top_about_company.jpg) no-repeat;
	background-size: cover;
	background-attachment: fixed;
	width: 100%;
	max-width: 2000px;
	height: 1700px;
	margin: 0 auto;
	padding-top: 150px;
}

#top #top-about-company .box {
	background: #fff;
	width: 100%;
	padding: 130px 0;
	text-align: center;
}

#top #top-about-company .box:nth-of-type(2) {
	margin-top: 150px;
}

#top #top-about-company .box p {
	font-size: 21px;
	margin-top: 100px;
}

#top #top-about-company .box p br {
	display: none;
}

#top #top-factory {
	background: #030928;
	width: 100%;
	max-width: 2000px;
	margin: 0 auto;
	padding: 150px 0;
	position: relative;
}

#top #top-factory #slider .pc {
	display: block;
}

#top #top-factory #slider .sp {
	display: none;
}

#top #top-factory #slider img {
	width: 100%;
}

#top #top-factory .box {
	background: #fff;
	width: 765px;
	padding: 120px 80px;
	position: absolute;
	left: 180px;
	top: 150px;
}

#top #top-factory .box::after {
	content: '';
	background: url(../images/bg_top_factory.png);
	background-size: cover;
	width: 591px;
	height: 132px;
	position: absolute;
	right: 4px;
	bottom: -46px;
}

#top #top-factory .box .text-01 {
	font-size: 50px;
	margin-top: 70px;
	padding-top: 70px;
	border-top: #333 1px solid;
	letter-spacing: 0;
}

#top #top-factory .box .text-02 {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 14px;
	margin-top: 40px;
	line-height: 3;
}

#top #top-factory .box .btn-more a {
	margin: 80px 0 0;
}

#top #top-news {
	margin-top: 100px;
}

#top #top-news h2 {
	text-align: center;
}

#top #top-news .box {
	width: 1200px;
	margin: 60px auto 0;
}

#top #top-news .box ul {
	font-size: 18px;
	padding-bottom: 30px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	position: relative;
	cursor: pointer;
}

#top #top-news .box ul::after {
	content: '';
	background-image: linear-gradient(to right, #05051e, #05051e 5px, transparent 5px, transparent 10px);
	background-size: 10px 1px;
    background-repeat: repeat-x;
    width: 100%;
    height: 1px;
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
}

#top #top-news .box ul:nth-child(n+2) {
	padding-top: 30px;
}

#top #top-news .box ul li:first-child {
	width: 14%;
	text-align: center;
}

#top #top-news .box ul li:nth-child(2) {
	width: 82%;
	padding-right: 10px;
	line-height: 1.4;
}

#top #top-news .box ul li:nth-child(3) {
	width: 4%;
	height: 20px;
	position: relative;
}

#top #top-news .box ul li:last-child {
	width: 100%;
	margin-top: 30px;
	padding-left: 14%;
	line-height: 1.8;
	display: none;
}

#top #top-news .box ul li:nth-child(3) span {
	background: #000;
	width: 20px;
	height: 1px;
	margin: auto;
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 10px;
}

#top #top-news .box ul li:nth-child(3) span:last-child {
	transform: rotate(90deg);
	transition: .5s;
}

#top #top-news .box ul.open li:nth-child(3) span:last-child {
	transform: rotate(0deg);
}

#top #top-news .box .btn-more a {
	margin-top: 60px;
}

#top #salon {
	width: 1200px;
	margin: 150px auto 0;
}

#top #salon h3 {
	font-size: 21px;
	text-align: center;
}

#top #salon ul {
	margin-top: 40px;
	display: flex;
	align-items: center;
}

#top #salon ul li:first-child {
	width: 564px;
}

#top #salon ul li:last-child {
	width: 636px;
}

#top #salon ul li:first-child .salon-logo img {
	width: 19vw;
}

#top #salon ul li:first-child .btn-more {
	font-family: 'Cormorant Unicase', serif;
	font-size: 18px;
	color: #09194b;
	width: 400px;
	margin-top: 80px;
	border: #050532 1px solid;
	text-align: center;
	line-height: 4.5;
	display: block;
	transition: color .5s, background .5s;
}

#top #salon .link a:hover ul li:first-child .btn-more {
	color: #fff;
	background: #050532;
}

#top #salon ul li:last-child img {
	width: 100%;
	transition: opacity .5s;
}

#top #salon .link a:hover ul li:last-child img {
	opacity: .7;
}

@media screen and (min-width: 801px) and (max-width: 2000px) {
	#top #main-image #top-main-logo img {
		width: 28.65vw;
	}

	#top #main-image #top-main-logo {
		top: 19.5vw;
	}

	#top #main-image .scroll {
		font-size: 0.9vw;
		height: 5vw;
		top: 38.65vw;
	}

	#top #main-image .scroll span {
		font-size: 0.9vw;
	}

	#top #main-image .scroll::after {
		width: 0.1vw;
		height: 2vw;
		top: 1.5vw;
		animation: scroll 1.6s ease-in-out infinite;
	}

	@keyframes scroll {
		0%{
			height: 0;
			top: 1.5vw;
			opacity: 0;
		}
		30%{
			height: 2vw;
			opacity: 1;
		}
		100%{
			height: 0;
			top: 5vw;
			opacity: 0;
		}
	}

	#top #top-about-company {
		height: 85vw;
		padding-top: 7.5vw;
	}

	#top #top-about-company .box {
		padding: 6.5vw 0;
	}

	#top #top-about-company .box:nth-of-type(2) {
		margin-top: 7.5vw;
	}

	#top #top-about-company .box p {
		font-size: 1.05vw;
		margin-top: 5vw;
	}

	#top #top-factory {
		padding: 7.5vw 0;
	}

	#top #top-factory .box {
		width: 38.25vw;
		padding: 6vw 4vw;
		left: 9vw;
		top: 7.5vw;
	}

	#top #top-factory .box::after {
		width: 29.55vw;
		height: 6.6vw;
		right: 0.2vw;
		bottom: -2.3vw;
	}

	#top #top-factory .box .text-01 {
		font-size: 2.5vw;
		margin-top: 3.5vw;
		padding-top: 3.5vw;
	}

	#top #top-factory .box .text-02 {
		font-size: 0.7vw;
		margin-top: 2vw;
	}

	#top #top-factory .box .btn-more a {
		margin: 4vw 0 0;
	}

	#top #top-news {
		margin-top: 5vw;
	}

	#top #top-news .box {
		width: 60vw;
		margin: 3vw auto 0;
	}

	#top #top-news .box ul {
		font-size: 0.9vw;
		padding-bottom: 1.5vw;
	}

	#top #top-news .box ul:nth-child(n+2) {
		padding-top: 1.5vw;
	}

	#top #top-news .box ul li:nth-child(2) {
		padding-right: 0.5vw;
	}

	#top #top-news .box ul li:nth-child(3) {
		height: 1vw;
	}

	#top #top-news .box ul li:last-child {
		margin-top: 1.5vw;
	}

	#top #top-news .box ul li:nth-child(3) span {
		width: 1vw;
		top: 0.5vw;
	}

	#top #top-news .box .btn-more a {
		margin-top: 3vw;
	}

	#top #salon {
		width: 60vw;
		margin: 7.5vw auto 0;
	}

	#top #salon h3 {
		font-size: 1.05vw;
	}

	#top #salon ul {
		margin-top: 2vw;
	}

	#top #salon ul li:first-child {
		width: 27.2vw;
	}

	#top #salon ul li:last-child {
		width: 31.8vw;
	}

	#top #salon ul li:first-child .btn-more {
		font-size: 0.9vw;
		width: 20vw;
		margin-top: 4vw;
	}
}

@media screen and (max-width: 800px) {
	#top #main-image #top-main-pc {
		display: none;
	}

	#top #main-image #top-main-sp {
		display: block;
	}

	#top #main-image #top-main-logo {
		top: 55vw;
	}

	#top #main-image #top-main-logo img {
		width: 71.625vw;
	}

	#top #main-image .scroll {
		height: 15vw;
		top: 147.125vw;
	}

	#top #main-image .scroll span {
		font-size: 4.5vw;
	}

	#top #main-image .scroll::after {
		width: 0.25vw;
		height: 5vw;
		top: 6.25vw;
		animation: scroll 1.6s ease-in-out infinite;
	}

	@keyframes scroll {
		0% {
			height: 0;
			top: 6.25vw;
			opacity: 0;
		}
		30% {
			height: 5vw;
			opacity: 1;
		}
		100% {
			height: 0;
			top: 15vw;
			opacity: 0;
		}
	}

	#top #top-about-company {
		background: url(../images/bg_top_about_company_sp.jpg) no-repeat;
		background-size: cover;
		background-attachment: fixed;
		height: 226.5vw;
		padding-top: 18.75vw;
	}

	#top #top-about-company .box {
		padding: 12.5vw 0;
	}

	#top #top-about-company .box:nth-of-type(2) {
		margin-top: 18.75vw;
	}

	#top #top-about-company .box p {
		font-size: 3.75vw;
		margin-top: 7.5vw;
		line-height: 2;
	}

	#top #top-about-company .box p br {
		display: inline-block;
	}

	#top #top-factory {
		padding: 72.5vw 0 10vw;
	}

	#top #top-factory #slider .pc {
		display: none;
	}

	#top #top-factory #slider .sp {
		display: block;
	}

	#top #top-factory .box {
		width: 95.75vw;
		padding: 15vw 10vw;
		left: 0;
		top: 10vw;
	}

	#top #top-factory .box::after {
		content: '';
		width: 73.875vw;
		height: 16.5vw;
		right: 0.05vw;
		bottom: -5.75vw;
	}

	#top #top-factory .box .text-01 {
		font-size: 6.25vw;
		margin-top: 7.5vw;
		padding-top: 7.5vw;
	}

	#top #top-factory .box .text-02 {
		font-size: 3vw;
		margin-top: 5vw;
		line-height: 2.2;
	}

	#top #top-factory .box .btn-more a {
		margin: 5vw auto 0;
	}

	#top #top-news {
		background: url(../images/bg_top_news.jpg) no-repeat;
		background-size: cover;
		margin-top: 0;
		padding-top: 18.75vw;
	}

	#top #top-news h2 {
		background: #fff;
		width: 100%;
		padding-top: 15vw;
		text-align: center;
	}

	#top #top-news .box {
		background: #fff;
		width: 100%;
		margin: 0 auto;
		padding-top: 10vw;
	}

	#top #top-news .box ul {
		font-size: 3.75vw;
		width: 92vw;
		margin: 0 auto;
		padding-bottom: 3.75vw;
	}

	#top #top-news .box ul:nth-child(n+2) {
		padding-top: 3.75vw;
	}

	#top #top-news .box ul li:first-child {
		width: 100%;
		text-align: left;
	}

	#top #top-news .box ul li:nth-child(2) {
		width: 96%;
		margin-top: 1.25vw;
		padding-right: 1.25vw;
	}

	#top #top-news .box ul li:nth-child(3) {
		height: 2.5vw;
	}

	#top #top-news .box ul li:last-child {
		margin-top: 3.75vw;
		padding-left: 0;
	}

	#top #top-news .box ul li:nth-child(3) span {
		background: #000;
		width: 2.5vw;
		top: 1.25vw;
	}

	#top #top-news .box .btn-more {
		padding-top: 7.5vw;
	}

	#top #top-news .box .btn-more a {
		margin-top: 0;
	}

	#top #salon {
		width: 92vw;
		margin: 18.75vw auto 0;
	}

	#top #salon h3 {
		font-size: 3.75vw;
	}

	#top #salon ul {
		margin-top: 10vw;
		flex-wrap: wrap;
	}

	#top #salon ul li:first-child {
		width: 100%;
		order: 2;
		margin-top: 10vw;
		text-align: center;
	}

	#top #salon ul li:last-child {
		width: 100%;
		order: 1;
	}

	#top #salon ul li:first-child .salon-logo img {
		width: 49.75vw;
	}

	#top #salon ul li:first-child .btn-more {
		font-size: 4.5vw;
		width: 75vw;
		margin: 10vw auto 0;
		line-height: 4;
	}
}
/*********** index ***********/

/*********** about ***********/
#about h2 {
	background: url(../images/bg_title_about.jpg) no-repeat;
	background-size: cover;
}

#about h3 {
	font-size: 18px;
	margin-top: 150px;
	text-align: center;
	line-height: 1.1;
}

#about h3 span {
	font-family: 'Cormorant Unicase', serif;
	font-size: 80px;
	letter-spacing: 0.06em;
}

#about h3 img {
	vertical-align: middle;
}

#about .text-01 {
	font-size: 18px;
	margin-top: 120px;
	text-align: center;
}

#about .text-02 {
	font-size: 18px;
	margin-top: 110px;
	text-align: center;
	line-height: 2;
}

#about .box {
	width: 1200px;
	margin: 150px auto 0;
}

#about .box ul {
	background: url(../images/bg_scene.jpg) no-repeat;
	background-size: cover;
	width: 1090px;
	height: 432px;
	display: flex;
}

#about .box ul:first-child,
#about .box ul:last-child {
	margin-left: 80px;
}

#about .box ul:nth-child(2) {
	margin-left: 34px;
}

#about .box ul:nth-child(n+2) {
	margin-top: 120px;
}

#about .box ul li {
	width: 50%;
}

#about .box ul:first-child li:first-child,
#about .box ul:last-child li:first-child {
	margin: -40px 0 0 -60px;
}

#about .box ul:first-child li:last-child,
#about .box ul:nth-child(2) li:first-child,
#about .box ul:last-child li:last-child {
	padding: 120px 0 0 140px;
}

#about .box ul:nth-child(2) li:last-child {
	margin: -40px 20px 0 0;
}

#about .box ul li h4 {
	font-family: 'Cormorant Unicase', serif;
	font-size: 50px;
}

#about .box ul li h4 span {
	font-family: 'Cormorant Unicase', serif;
	font-size: 100px;
}

#about .box ul li p {
	font-size: 18px;
	margin-top: 10px;
}

#about .greeting {
	background: #f2f0f0;
	width: 100%;
	margin-top: 120px;
	padding: 120px 0;
}

#about .greeting ul {
	width: 1500px;
	margin: 0 auto;
	padding: 0 60px;
	display: flex;
}

#about .greeting ul li:last-child {
	margin-left: 50px;
}

#about .greeting ul li:first-child img {
	width: 366px;
}

#about .greeting ul li:last-child h4 {
	font-size: 50px;
	padding-bottom: 20px;
	position: relative;
}

#about .greeting ul li:last-child h4::after {
	content: '';
	background-image: linear-gradient(to right, #05051e, #05051e 4px, transparent 4px, transparent 10px);
	background-size: 8px 1px;
    background-repeat: repeat-x;
    width: 100%;
    height: 1px;
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
}

#about .greeting ul li:last-child p {
	font-size: 18px;
	margin-top: 30px;
	line-height: 2;
}

#about .greeting ul li:last-child p span {
	text-align: right;
	display: block;
}

@media screen and (min-width: 801px) and (max-width: 2000px) {
	#about h3 {
		font-size: 0.9vw;
		margin-top: 7.5vw;
	}

	#about h3 span {
		font-size: 4vw;
	}

	#about h3 img {
		width: 38.4vw;
	}

	#about .text-01 {
		font-size: 0.9vw;
		margin-top: 6vw;
	}

	#about .text-02 {
		font-size: 0.9vw;
		margin-top: 5.5vw;
	}

	#about .box {
		width: 60vw;
		margin: 7.5vw auto 0;
	}

	#about .box ul {
		width: 54.5vw;
		height: 21.6vw;
	}

	#about .box ul:first-child,
	#about .box ul:last-child {
		margin-left: 4vw;
	}

	#about .box ul:nth-child(2) {
		margin-left: 1.7vw;
	}

	#about .box ul:nth-child(n+2) {
		margin-top: 6vw;
	}

	#about .box ul:first-child li:first-child,
	#about .box ul:last-child li:first-child {
		margin: -2vw 0 0 -3vw;
	}

	#about .box ul:first-child li:last-child,
	#about .box ul:nth-child(2) li:first-child,
	#about .box ul:last-child li:last-child {
		padding: 6vw 0 0 7vw;
	}

	#about .box ul:nth-child(2) li:last-child {
		margin: -2vw 1vw 0 0;
	}

	#about .box ul li img {
		width: 34.2vw;
	}

	#about .box ul li h4 {
		font-size: 2.5vw;
	}

	#about .box ul li h4 span {
		font-size: 5vw;
	}

	#about .box ul li p {
		font-size: 0.9vw;
		margin-top: 0.5vw;
	}

	#about .greeting {
		margin-top: 6vw;
		padding: 6vw 0;
	}

	#about .greeting ul {
		width: 75vw;
		padding: 0 3vw;
	}

	#about .greeting ul li:last-child {
		margin-left: 2.5vw;
	}

	#about .greeting ul li:first-child img {
		width: 18.3vw;
	}

	#about .greeting ul li:last-child h4 {
		font-size: 2.5vw;
		padding-bottom: 1vw;
	}

	#about .greeting ul li:last-child p {
		font-size: 0.9vw;
		margin-top: 1.5vw;
	}
}

@media screen and (max-width: 800px) {
	#about {
		overflow-x: hidden;
		padding-bottom: 60px;
	}
	#about h2 {
		background: url(../images/bg_title_about_sp.jpg) no-repeat;
		background-size: cover;
	}

	#about h3 {
		font-size: 3.75vw;
		width: 92vw;
		margin: 5vw auto 0;
		text-align: left;
	}

	#about h3 span {
		font-size: 12.5vw;
	}

	#about h3 img {
		width: 100%;
	}

	#about .text-01 {
		font-size: 3.75vw;
		width: 92vw;
		margin: 7.5vw auto 0;
		text-align: left;
	}

	#about .text-02 {
		font-size: 3.75vw;
		width: 92vw;
		margin: 7.5vw auto 0;
		text-align: left;
	}

	#about .box {
		width: 92vw;
		margin: 7.5vw auto 0;
	}

	#about .box ul {
		background: url(../images/bg_scene_sp.jpg) no-repeat;
		background-size: cover;
		width: 88.625vw;
		height: 35.125vw;
	}

	#about .box ul:first-child,
	#about .box ul:last-child {
		margin-left: 3.75vw;
	}

	#about .box ul:nth-child(2) {
		margin-left: 0;
	}

	#about .box ul:nth-child(n+2) {
		margin-top: 20vw;
	}

	#about .box ul:first-child li:first-child,
	#about .box ul:last-child li:first-child {
		margin: -3.75vw 0 0 -3.75vw;
	}

	#about .box ul:first-child li:last-child,
	#about .box ul:nth-child(2) li:first-child,
	#about .box ul:last-child li:last-child {
		padding: 7.5vw 0 0 12.5vw;
	}

	#about .box ul:nth-child(2) li:last-child {
		margin: -2.5vw 2.5vw 0 0;
	}

	#about .box ul li img {
		width: 54.5vw;
	}

	#about .box ul li h4 {
		font-size: 6.25vw;
	}

	#about .box ul li h4 span {
		font-size: 12.5vw;
	}

	#about .box ul li p {
		font-size: 3.75vw;
		width: 92vw;
		margin: 20vw 0 0 -12.25vw;
		text-align: center;
	}

	#about .box ul:first-child li p,
	#about .box ul:last-child li p {
		margin-left: -56.75vw;
	}

	#about .greeting {
		background: #f2f0f0;
		width: 100%;
		margin-top: 15vw;
		padding: 12.5vw 0;
	}

	#about .greeting ul {
		width: 92vw;
		padding: 0;
		flex-wrap: wrap;
	}

	#about .greeting ul li:first-child {
		width: 46vw;
		margin: 0 auto;
	}

	#about .greeting ul li:first-child img {
		width: 100%;
	}

	#about .greeting ul li:last-child {
		margin: 5vw 0 0 0;
	}

	#about .greeting ul li:last-child h4 {
		font-size: 6.25vw;
		padding-bottom: 3.75vw;
	}

	#about .greeting ul li:last-child p {
		font-size: 3.75vw;
		margin-top: 3.75vw;
	}
}
/*********** /about ***********/

/*********** company ***********/
#company #overview h2 {
	background: url(../images/bg_title_company_overview.jpg) no-repeat;
	background-size: cover;
}

#company #overview .box {
	margin-top: 150px;
}

#company #overview .box dl {
	width: 1200px;
	margin: 0 auto;
	padding-bottom: 40px;
	display: flex;
	align-items: center;
	position: relative;
}

#company #overview .box dl::after {
	content: '';
	background-image: linear-gradient(to right, #cacaca, #cacaca 6px, transparent 6px, transparent 10px);
	background-size: 12px 1px;
    background-repeat: repeat-x;
    width: 100%;
	height: 1px;
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
}

#company #overview .box dl:nth-child(n+2) {
	margin-top: 40px;
}

#company #overview .box dt {
	font-size: 18px;
	font-weight: bold;
	width: 270px;
	padding-left: 60px;
}

#company #overview .box dd {
	font-size: 18px;
	width: calc(100% - 270px);
}

#company #overview .box dd a {
	color: #000;
	text-decoration: underline;
}

#company #overview .box dd a:hover {
	text-decoration: none;
}

#company #overview .box dd br {
	display: none;
}

#company #history {
	margin-top: 150px;
}

#company #history h2 {
	background: url(../images/bg_title_company_history.jpg) no-repeat;
	background-size: cover;
	height: 377px;
	padding-top: 120px;
}

#company #history .box {
	margin-top: 150px;
}

#company #history .box ul {
	width: 712px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	position: relative;
}

#company #history .box ul:not(:last-child)::after {
	content: '';
	background-image: linear-gradient(to bottom, #05051e, #05051e 5px, transparent 5px, transparent 10px);
	background-size: 1px 10px;
    background-repeat: repeat-y;
	width: 1px;
	height: 160px;
	display: block;
	position: absolute;
	top: 42px;
	left: 200px;
}

#company #history .box ul:nth-child(n+2) {
	margin-top: 150px;
}

#company #history .box ul li:first-child.animate__animated,
#company #history .box ul li:last-child.animate__animated {
	animation: slide 1.25s forwards, fade 1.25s forwards;
}

#company #history .box ul li:nth-child(2).animate__animated {
	animation: bounce 1.25s forwards, fade 1.25s forwards;
}

@keyframes slide {
	0% {
		transform: translateX(100%);
	}
	75%{
		transform: translateX(-5%);
	}
	100% {
		transform: translateX(0%);
	}
}

@keyframes fade {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

@keyframes bounce {
	0% {
		transform: scale(0);
	}
	75% {
		transform: scale(1.2);
	}
	100% {
		transform: scale(1);
	}
}

#company #history .box ul li:first-child {
	font-family: 'Cormorant Unicase', serif;
	font-size: 50px;
	width: 180px;
}

#company #history .box ul li:last-child {
	font-size: 18px;
	width: 490px;
	padding-left: 50px;
	line-height: 1.2;
	white-space: nowrap;
}

@media screen and (min-width: 801px) and (max-width: 2000px) {
	#company #overview .box {
		margin-top: 7.5vw;
	}

	#company #overview .box dl {
		width: 60vw;
		padding-bottom: 2vw;
	}

	#company #overview .box dl:nth-child(n+2) {
		margin-top: 2vw;
	}

	#company #overview .box dt {
		font-size: 0.9vw;
		width: 13.5vw;
		padding-left: 3vw;
	}

	#company #overview .box dd {
		font-size: 0.9vw;
		width: calc(100% - 13.5vw);
	}

	#company #history {
		margin-top: 7.5vw;
	}

	#company #history h2 {
		height: 18.85vw;
		padding-top: 6vw;
	}

	#company #history h2 img {
		width: 28.25vw;
	}

	#company #history .box {
		margin-top: 7.5vw;
	}

	#company #history .box ul {
		width: 35.6vw;
	}

	#company #history .box ul:not(:last-child)::after {
		height: 8vw;
		top: 2.1vw;
		left: 10vw;
	}

	#company #history .box ul:nth-child(n+2) {
		margin-top: 7.5vw;
	}

	#company #history .box ul li:first-child {
		font-size: 2.5vw;
		width: 9vw;
	}

	#company #history .box ul li:last-child {
		font-size: 0.9vw;
		width: 24.5vw;
		padding-left: 2.5vw;
	}

	#company #history .box ul li:nth-child(2) img {
		width: 2.05vw;
	}
}

@media screen and (max-width: 800px) {
	#company #overview h2 {
		background: url(../images/bg_title_company_overview_sp.jpg) no-repeat;
		background-size: cover;
	}

	#company #overview .box {
		margin-top: 7.5vw;
	}

	#company #overview .box dl {
		width: 92vw;
		padding-bottom: 3.75vw;
		flex-wrap: wrap;
	}

	#company #overview .box dl::after {
		content: '';
		background-image: linear-gradient(to right, #cacaca, #cacaca 3px, transparent 3px, transparent 10px);
		background-size: 6px 1px;
	    background-repeat: repeat-x;
	}

	#company #overview .box dl:nth-child(n+2) {
		margin-top: 3.75vw;
	}

	#company #overview .box dt {
		font-size: 3.75vw;
		width: 100%;
		padding-left: 0;
	}

	#company #overview .box dd {
		font-size: 3.75vw;
		width: 100%;
		margin-top: 1.25vw;
		line-height: 1.4;
	}

	#company #overview .box dd br {
		display: inline-block;
	}

	#company #history {
		margin-top: 10vw;
		overflow-x: hidden;
	}

	#company #history h2 {
		background: url(../images/bg_title_company_history_sp.jpg) no-repeat;
		background-size: cover;
		height: 57.125vw;
		padding: 7.5vw 4vw 0;
		text-align: left;
	}

	#company #history h2 img {
		width: 92vw;
	}

	#company #history .box {
		margin-top: 10vw;
	}

	#company #history .box ul {
		width: 92vw;
		height: 25vw;
		align-items: flex-start;
	}

	#company #history .box ul:not(:last-child)::after {
		background-image: linear-gradient(to bottom, #05051e, #05051e 4px, transparent 4px, transparent 10px);
		background-size: 1px 8px;
	    background-repeat: repeat-y;
		height: 20vw;
		top: 5.125vw;
		left: 2.563vw;
	}

	#company #history .box ul:last-child {
		height: 6.75vw;
	}

	#company #history .box ul:nth-child(n+2) {
		margin-top: 0;
	}

	#company #history .box ul li:first-child {
		display: none;
	}

	#company #history .box ul li:nth-child(2) img {
		width: 5.125vw;
	}

	#company #history .box ul li:last-child {
		font-size: 3.75vw;
		width: calc(100% - 5.125vw);
		padding: 0.625vw 0 0 2.5vw;
		white-space: normal;
	}
}
/*********** /company ***********/

/*********** contact ***********/
#contact h2 {
	background: url(../images/bg_title_cotact.jpg) no-repeat;
	background-size: cover;
}

#contact .text-01 {
	font-size: 18px;
	margin-top: 40px;
	text-align: center;
	line-height: 1.6;
}

#contact .text-01 a {
	color: #000;
}

#contact form {
	background: #f7f7f7;
	margin-top: 40px;
	padding: 100px 0;
}

#contact .text-02 {
	font-size: 18px;
	text-align: center;
}

#contact form .box {
	margin-top: 40px;
}

#contact form .box dl {
	width: 960px;
	margin: 0 auto;
	display: flex;
}

#contact form .box dl:nth-child(2) {
	margin-top: 40px;
}

#contact form .box dl:nth-child(n+3) {
	margin-top: 20px;
}

#contact form .box dl dt {
	font-size: 18px;
	width: 300px;
	padding-top: 26px;
}

#contact form .box dl:first-child dt {
	padding-top: 0;
}

#contact form .box dl dt span {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 14px;
	color: #fff;
	background: #dc002f;
	padding: 2px 10px;
}

#contact form .box dl dd {
	font-size: 18px;
	width: 660px;
}

#contact form .box dl:first-child dd {
	display: flex;
}

#contact form .box dl:first-child dd div:last-child {
	margin-left: 100px;
}

#contact form .box dl dd input[type="text"],
#contact form .box dl dd input[type="email"],
#contact form .box dl dd input[type="tel"] {
	font-size: 18px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Noto Serif JP", serif;
	background: #fff;
	width: 100%;
	height: 70px;
	padding: 0 20px;
	border: none;
	border-radius: 0;
	letter-spacing: 0.16em;
	outline: none;
}

#contact form .box dl dd  input[type="radio"] {
	display: none;
}

#contact form .box dl dd input[type="radio"] + label {
	position: relative;
	padding-left: 50px;
	cursor: pointer;
}

#contact form .box dl dd input[type="radio"] + label::before {
	content: '';
	width: 24px;
	height: 24px;
	border: #1d2d61 3px solid;
	border-radius: 100%;
	display: block;
	position: absolute;
	left: 0;
	top: -4px;
}

#contact form .box dl dd input[type="radio"]:checked + label::after {
	content: '';
	width: 18px;
	height: 18px;
	background: #1d2d61;
	border-radius: 100%;
	display: block;
	position: absolute;
	left: 6px;
	top: 2px;
}

#contact form .box dl dd textarea {
	font-size: 18px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Noto Serif JP", serif;
	background: #fff;
	width: 100%;
	height: 300px;
	padding: 20px;
	border: 0;
	line-height: 1.4;
	letter-spacing: 0.16em;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	resize: none;
	outline: none;
}

#contact form .btn input[type="submit"] {
	font-size: 18px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Noto Serif JP", serif;
	color: #fff;
	background: #1d2d61;
	width: 500px;
	margin: 100px auto 0;
	padding: 0;
	border: none;
	border-radius: 0;
	line-height: 4;
	letter-spacing: 0.16em;
	display: block;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	cursor: pointer;
	transition: opacity .5s;
}

#contact form .btn input[type="submit"]:hover {
	opacity: .7;
}

#contact form .box dl dd .parsley-errors-list {
	font-size: 18px;
	color: #f00;
	margin-top: 10px;
}

#contact form .box dl dd .parsley-errors-list li {
	font-weight: bold;
}

#contact #confirm form .box {
	margin-top: 60px;
}

#contact #confirm form .box dl {
	line-height: 1.4;
}

#contact #confirm form .box dl:nth-child(2),
#contact #confirm form .box dl:nth-child(n+3) {
	margin-top: 60px;
}

#contact #confirm form .box dl dt {
	padding-top: 0;
}

#contact #confirm form .btn input[type="button"] {
	font-size: 18px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Noto Serif JP", serif;
	color: #fff;
	background: #787878;
	width: 500px;
	margin: 20px auto 0;
	padding: 0;
	border: none;
	border-radius: 0;
	line-height: 4;
	letter-spacing: 0.16em;
	display: block;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	cursor: pointer;
	transition: opacity .5s;
}

#contact #confirm form .btn input[type="button"]:hover {
	opacity: .7;
}

#contact #complete .btn a {
	font-size: 18px;
	color: #fff;
	background: #1d2d61;
	width: 500px;
	margin: 60px auto 0;
	line-height: 4;
	display: block;
	text-align: center;
	transition: opacity .5s;
}

#contact #complete .btn a:hover {
	opacity: .7;
}

@media screen and (min-width: 801px) and (max-width: 2000px) {
	#contact .text-01 {
		font-size: 0.9vw;
		margin-top: 2vw;
	}

	#contact form {
		margin-top: 2vw;
		padding: 5vw 0;
	}

	#contact .text-02 {
		font-size: 0.9vw;
	}

	#contact form .box {
		margin-top: 2vw;
	}

	#contact form .box dl {
		width: 48vw;
	}

	#contact form .box dl:nth-child(2) {
		margin-top: 2vw;
	}

	#contact form .box dl:nth-child(n+3) {
		margin-top: 1vw;
	}

	#contact form .box dl dt {
		font-size: 0.9vw;
		width: 15vw;
		padding-top: 1.3vw;
	}

	#contact form .box dl dt span {
		font-size: 0.7vw;
		padding: 0.1vw 0.5vw;
	}

	#contact form .box dl dd {
		font-size: 0.9vw;
		width: 33vw;
	}

	#contact form .box dl:first-child dd div:last-child {
		margin-left: 5vw;
	}

	#contact form .box dl dd input[type="text"],
	#contact form .box dl dd input[type="email"],
	#contact form .box dl dd input[type="tel"] {
		font-size: 0.9vw;
		height: 3.5vw;
		padding: 0 1vw;
	}

	#contact form .box dl dd input[type="radio"] + label {
		padding-left: 2.5vw;
	}

	#contact form .box dl dd input[type="radio"] + label::before {
		width: 1.2vw;
		height: 1.2vw;
		border: #1d2d61 0.15vw solid;
		top: -0.2vw;
	}

	#contact form .box dl dd input[type="radio"]:checked + label::after {
		width: 0.9vw;
		height: 0.9vw;
		left: 0.3vw;
		top: 0.1vw;
	}

	#contact form .box dl dd textarea {
		font-size: 0.9vw;
		height: 15vw;
		padding: 1vw;
	}

	#contact form .btn input[type="submit"] {
		font-size: 0.9vw;
		width: 25vw;
		margin: 5vw auto 0;
	}

	#contact form .box dl dd .parsley-errors-list {
		font-size: 0.9vw;
		margin-top: 1vw;
	}

	#contact form .box dl dd .parsley-errors-list {
		font-size: 0.9vw;
		margin-top: 1vw;
	}

	#contact #confirm form .box {
		margin-top: 3vw;
	}

	#contact #confirm form .box dl:nth-child(2),
	#contact #confirm form .box dl:nth-child(n+3) {
		margin-top: 3vw;
	}

	#contact #confirm form .btn input[type="button"] {
		font-size: 0.9vw;
		width: 25vw;
		margin: 1vw auto 0;
	}

	#contact #complete .btn a {
		font-size: 0.9vw;
		width: 25vw;
		margin: 3vw auto 0;
	}
}

@media screen and (max-width: 800px) {
	#contact h2 {
		background: url(../images/bg_title_cotact_sp.jpg) no-repeat;
		background-size: cover;
	}

	#contact .text-01 {
		font-size: 3.75vw;
		margin-top: 10vw;
		padding: 0 4vw;
	}

	#contact form {
		margin-top: 10vw;
		padding: 10vw 0;
	}

	#contact .text-02 {
		font-size: 3.75vw;
	}

	#contact form .box {
		margin-top: 10vw;
	}

	#contact form .box dl {
		width: 92vw;
		flex-wrap: wrap;
	}

	#contact form .box dl:nth-child(2) {
		margin-top: 10vw;
	}

	#contact form .box dl:nth-child(n+3) {
		margin-top: 10vw;
	}

	#contact form .box dl dt {
		font-size: 3.75vw;
		width: 100%;
		padding-top: 0;
	}

	#contact form .box dl dt span {
		font-size: 3vw;
		padding: 0.25vw 1.25vw;
	}

	#contact form .box dl dd {
		font-size: 3.75vw;
		width: 100%;
		margin-top: 2.5vw;
	}

	#contact form .box dl:first-child dd {
		margin-top: 5vw;
	}

	#contact form .box dl:first-child dd div:last-child {
		margin-left: 10vw;
	}

	#contact form .box dl dd input[type="text"],
	#contact form .box dl dd input[type="email"],
	#contact form .box dl dd input[type="tel"] {
		font-size: 16px;
		height: 12.5vw;
		padding: 0 2.5vw;
	}

	#contact form .box dl dd input[type="radio"] + label {
		padding-left: 5vw;
	}

	#contact form .box dl dd input[type="radio"] + label::before {
		width: 3vw;
		height: 3vw;
		border: #1d2d61 0.375vw solid;
		top: 0.5vw;
	}

	#contact form .box dl dd input[type="radio"]:checked + label::after {
		width: 2.25vw;
		height: 2.25vw;
		left: 0.75vw;
		top: 1.25vw;
	}

	#contact form .box dl dd textarea {
		font-size: 16px;
		height: 33.125vw;
		padding: 2.5vw;
	}

	#contact form .btn input[type="submit"] {
		font-size: 3.75vw;
		width: 75vw;
		margin: 10vw auto 0;
	}

	#contact form .box dl dd .parsley-errors-list {
		font-size: 3.75vw;
		margin-top: 2.5vw;
	}

	#contact #confirm form .box {
		margin-top: 10vw;
	}

	#contact #confirm form .box dl:nth-child(2),
	#contact #confirm form .box dl:nth-child(n+3) {
		margin-top: 10vw;
	}

	#contact #confirm form .btn input[type="button"] {
		font-size: 3.75vw;
		width: 75vw;
		margin: 2.5vw auto 0;
	}

	#contact #complete .btn a {
		font-size: 3.75vw;
		width: 75vw;
		margin: 8.75vw auto 0;
	}
}
/*********** /contact ***********/

/*********** factory ***********/
#factory #merit h2 {
	background: url(../images/bg_title_factory_merit.jpg) no-repeat;
	background-size: cover;
}

#factory #merit h3 {
	font-family: 'Cormorant Unicase', serif;
	font-size: 80px;
	background: url(../images/line_03.png) no-repeat center bottom;
	width: 1050px;
	margin: 150px auto 0;
	padding-bottom: 10px;
	text-align: center;
	letter-spacing: 0.06em;
}

#factory #merit ul {
	width: 1200px;
	margin: 100px auto 0;
	display: flex;
	justify-content: space-between;
}

#factory #merit ul li {
	text-align: center;
}

#factory #merit ul li img {
	width: 300px;
}

#factory #merit ul li p {
	font-size: 18px;
	margin-top: 80px;
	text-align: center;
	line-height: 1.6;
}

#factory #merit #factory-slider {
	width: 100%;
	max-width: 2000px;
	margin: 100px auto 0;
}

#factory #merit #factory-slider .slick-slide {
	width: 550px !important;
	margin-right: 20px;
}

#factory #merit #factory-slider .pc {
	display: block;
}

#factory #merit #factory-slider .sp {
	display: none;
}

#factory #merit #factory-slider img {
	width: 100%;
}

#factory #order-made {
	margin-top: 150px;
}

#factory #order-made h2 {
	background: url(../images/bg_title_factory_order_made.jpg) no-repeat;
	background-size: cover;
	height: 377px;
	padding-top: 120px;
}

#factory #order-made h2 i {
	vertical-align: middle;
}

#factory #order-made .box {
	height: 1800px;
}

#factory #order-made ul {
	width: 1500px;
	margin: 100px auto 0;
	display: flex;
	justify-content: center;
	position: -webkit-sticky;
	position: sticky;
	top: calc(50% - 330px);
}

#factory #order-made ul li:first-child {
	width: 840px;
}

#factory #order-made ul li:first-child h3 {
	font-size: 50px;
	font-weight: bold;
	padding-top: 180px;
	line-height: 2.2;
}

#factory #order-made ul li:first-child h3 br:nth-child(2) {
	display: inline-block;
}

#factory #order-made ul li:first-child p {
	font-size: 18px;
	padding-top: 40px;
	line-height: 2.2;
	display: none;
}

#factory #order-made ul li:last-child {
	margin-left: 120px;
}

#factory #order-made ul li:last-child img {
	width: 358px;
}

#factory #order-made .image {
	width: 100%;
	max-width: 2000px;
	margin: 100px auto 0;
}

#factory #order-made .image img {
	width: 100%;
}

@media screen and (min-width: 801px) and (max-width: 2000px) {
	#factory #merit h3 {
		font-size: 4vw;
		width: 52.5vw;
		margin: 7.5vw auto 0;
		padding-bottom: 0.5vw;
	}

	#factory #merit ul {
		width: 60vw;
		margin: 5vw auto 0;
	}

	#factory #merit ul li img {
		width: 15vw;
	}

	#factory #merit ul li p {
		font-size: 0.9vw;
		margin-top: 4vw;
	}

	#factory #merit #factory-slider {
		margin: 5vw auto 0;
	}

	#factory #merit #factory-slider .slick-slide {
		width: 27.5vw !important;
		margin-right: 1vw;
	}

	#factory #order-made {
		margin-top: 7.5vw;
	}

	#factory #order-made h2 {
		height: 18.85vw;
		padding-top: 6vw;
	}

	#factory #order-made h2 img {
		width: 31.3vw;
	}

	#factory #order-made .box {
		height: 90vw;
	}

	#factory #order-made ul {
		width: 75vw;
		margin: 5vw auto 0;
		top: calc(50% - 16.5vw);
	}

	#factory #order-made ul li:first-child {
		width: 42vw;
	}

	#factory #order-made ul li:first-child h3 {
		font-size: 2.5vw;
		padding-top: 9vw;
	}

	#factory #order-made ul li:first-child p {
		font-size: 0.9vw;
		padding-top: 2vw;
	}

	#factory #order-made ul li:last-child {
		margin-left: 6vw;
	}

	#factory #order-made ul li:last-child img {
		width: 17.9vw;
	}

	#factory #order-made .image {
		margin-top: 5vw;
	}
}

@media screen and (max-width: 800px) {
	#factory #merit h2 {
		background: url(../images/bg_title_factory_merit_sp.jpg) no-repeat;
		background-size: cover;
	}

	#factory #merit h3 {
		font-size: 12.5vw;
		background: url(../images/line_03.png) no-repeat center bottom;
		width: 92vw;
		margin: 10vw auto 0;
		padding-bottom: 3.75vw;
		text-align: left;
	}

	#factory #merit ul {
		width: 92vw;
		margin: 10vw auto 0;
		justify-content: center;
		flex-wrap: wrap;
	}

	#factory #merit ul li:nth-child(n+2) {
		margin-top: 20vw;
	}

	#factory #merit ul li img {
		width: 75vw;
	}

	#factory #merit ul li p {
		font-size: 3.75vw;
		margin-top: 5vw;
	}

	#factory #merit #factory-slider {
		margin: 15vw 0 0 0;
	}

	#factory #merit #factory-slider .slick-slide {
		width: 68.75vw !important;
		margin-right: 2.5vw;
	}

	#factory #merit #factory-slider .pc {
		display: none;
	}

	#factory #merit #factory-slider .sp {
		display: block;
	}

	#factory #order-made {
		margin-top: 15vw;
	}

	#factory #order-made h2 {
		background: url(../images/bg_title_factory_order_made_sp.jpg) no-repeat;
		background-size: cover;
		height: 57.125vw;
		padding: 8.75vw 4vw 0;
		text-align: left;
		line-height: 1;
	}

	#factory #order-made h2 i {
		margin-top: 2.5vw;
		display: block;
	}

	#factory #order-made h2 img {
		width: 100%;
		margin-top: 5vw;
		display: block;
	}

	#factory #order-made .box {
		height: 550vw;
	}

	#factory #order-made ul {
		width: 92vw;
		margin: 0 auto;
		flex-wrap: wrap;
		top: 0;
	}

	#factory #order-made ul li:first-child {
		width: 100%;
		height: 100vh;
		display: table;
	}

	#factory #order-made ul li:first-child h3 {
		font-size: 6.25vw;
		padding-top: 0;
		line-height: 2.2;
		display: table-cell;
		vertical-align: middle;
	}

	#factory #order-made ul li:first-child h3 br:nth-child(2) {
		display: none;
	}

	#factory #order-made ul li:first-child p {
		font-size: 3.75vw;
		padding-top: 0;
		line-height: 1.6;
		display: table-cell;
		vertical-align: middle;
	}

	#factory #order-made ul li:last-child {
		width: 100%;
		margin: 15vw 0 0 0;
		text-align: center;
	}

	#factory #order-made ul li:last-child img {
		width: 70.875vw;
	}

	#factory #order-made .image {
		margin: 15vw auto 0;
	}
}
/*********** /factory ***********/

/*********** news ***********/
#news h2 {
	background: url(../images/bg_title_news.jpg) no-repeat;
	background-size: cover;
}

#news .box {
	width: 1200px;
	margin: 150px auto 0;
}

#news .box ul {
	font-size: 18px;
	padding-bottom: 50px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	position: relative;
	cursor: pointer;
}

#news .box ul::after {
	content: '';
	background-image: linear-gradient(to right, #05051e, #05051e 5px, transparent 5px, transparent 10px);
	background-size: 10px 1px;
    background-repeat: repeat-x;
    width: 100%;
    height: 1px;
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
}

#news .box ul:nth-child(n+2) {
	padding-top: 50px;
}

#news .box ul li:first-child {
	width: 14%;
	text-align: center;
}

#news .box ul li:nth-child(2) {
	width: 82%;
	padding-right: 10px;
	line-height: 1.4;
}

#news .box ul li:nth-child(3) {
	width: 4%;
	height: 20px;
	position: relative;
}

#news .box ul li:last-child {
	width: 100%;
	margin-top: 30px;
	padding-left: 14%;
	line-height: 1.8;
}

#news .box ul li:nth-child(3) span {
	background: #000;
	width: 20px;
	height: 1px;
	margin: auto;
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 10px;
}

#news .box ul li:nth-child(3) span:last-child {
	transform: rotate(90deg);
	transition: .5s;
}

#news .box ul.open li:nth-child(3) span:last-child {
	transform: rotate(0deg);
}

#news .pagenation {
	width: 320px;
	margin: 100px auto 0;
	display: flex;
	justify-content: space-between;
}

#news .pagenation a {
	font-size: 18px;
	color: #000;
	width: 120px;
	border: #05051e 1px solid;
	line-height: 3.4;
	display: block;
	text-align: center;
	transition: background .5s, color .5s;
}

#news .pagenation a:last-child {
	margin-left: 100px;
}

#news .pagenation a:nth-child(2) {
	margin-left: 0;
}

#news .pagenation a.prev {
	background: url(../images/prev.png) no-repeat left 22px center;
	background-size: 8px 12px;
	padding-left: 20px;
}

#news .pagenation a.prev:hover {
	color: #fff;
	background: url(../images/prev_white.png) no-repeat left 22px center #05051e;
	background-size: 8px 12px;
}

#news .pagenation a.next {
	background: url(../images/next.png) no-repeat right 22px center;
	background-size: 8px 12px;
	padding-right: 20px;
}

#news .pagenation a.next:hover {
	color: #fff;
	background: url(../images/next_white.png) no-repeat right 22px center #05051e;
	background-size: 8px 12px;
}

@media screen and (min-width: 801px) and (max-width: 2000px) {
	#news .box {
		width: 60vw;
		margin: 7.5vw auto 0;
	}

	#news .box ul {
		font-size: 0.9vw;
		padding-bottom: 1.5vw;
	}

	#news .box ul:nth-child(n+2) {
		padding-top: 1.5vw;
	}

	#news .box ul li:nth-child(2) {
		padding-right: 0.5vw;
	}

	#news .box ul li:nth-child(3) {
		height: 1vw;
	}

	#news .box ul li:last-child {
		margin-top: 1.5vw;
	}

	#news .box ul li:nth-child(3) span {
		width: 1vw;
		top: 0.5vw;
	}

	#news .pagenation {
		width: 16vw;
		margin: 5vw auto 0;
	}

	#news .pagenation a {
		font-size: 0.9vw;
		width: 6vw;
	}

	#news .pagenation a:last-child {
		margin-left: 5vw;
	}

	#news .pagenation a:nth-child(2) {
		margin-left: 0;
	}

	#news .pagenation a.prev {
		background: url(../images/prev.png) no-repeat left 1.1vw center;
		background-size: 0.4vw 0.6vw;
		padding-left: 1vw;
	}

	#news .pagenation a.prev:hover {
		color: #fff;
		background: url(../images/prev_white.png) no-repeat left 1.1vw center #05051e;
		background-size: 0.4vw 0.6vw;
	}

	#news .pagenation a.next {
		background: url(../images/next.png) no-repeat right 1.1vw center;
		background-size: 0.4vw 0.6vw;
		padding-right: 1vw;
	}

	#news .pagenation a.next:hover {
		color: #fff;
		background: url(../images/next_white.png) no-repeat right 1.1vw center #05051e;
		background-size: 0.4vw 0.6vw;
	}
}

@media screen and (max-width: 800px) {
	#news .box {
		background: #fff;
		width: 100%;
		margin: 0 auto;
		padding-top: 10vw;
	}

	#news .box ul {
		font-size: 3.75vw;
		width: 92vw;
		margin: 0 auto;
		padding-bottom: 3.75vw;
	}

	#news .box ul:nth-child(n+2) {
		padding-top: 3.75vw;
	}

	#news .box ul li:first-child {
		width: 100%;
		text-align: left;
	}

	#news .box ul li:nth-child(2) {
		width: 96%;
		margin-top: 1.25vw;
		padding-right: 1.25vw;
	}

	#news .box ul li:nth-child(3) {
		height: 2.5vw;
	}

	#news .box ul li:last-child {
		margin-top: 3.75vw;
		padding-left: 0;
	}

	#news .box ul li:nth-child(3) span {
		background: #000;
		width: 2.5vw;
		top: 1.25vw;
	}

	#news .pagenation {
		width: 56.25vw;
		margin: 10vw auto 0;
	}

	#news .pagenation a {
		font-size: 3.75vw;
		width: 22.5vw;
		line-height: 3;
	}

	#news .pagenation a:last-child {
		margin-left: 16.875vw;
	}

	#news .pagenation a:nth-child(2) {
		margin-left: 0;
	}

	#news .pagenation a.prev {
		background: url(../images/prev.png) no-repeat left 5vw center;
		background-size: 1.5vw 2.25vw;
		padding-left: 3.75vw;
	}

	#news .pagenation a.prev:hover {
		background: url(../images/prev_white.png) no-repeat left 5vw center #05051e;
		background-size: 1.5vw 2.25vw;
	}

	#news .pagenation a.next {
		background: url(../images/next.png) no-repeat right 5vw center;
		background-size: 1.5vw 2.25vw;
		padding-right: 3.75vw;
	}

	#news .pagenation a.next:hover {
		background: url(../images/next_white.png) no-repeat right 5vw center #05051e;
		background-size: 1.5vw 2.25vw;
	}
}
/*********** /news ***********/