@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-family: 'Playfair Display', serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	font-size: 18px;
	font-feature-settings: "palt";
	width: 100%;
	text-align: justify;
	overflow-x: hidden;
	letter-spacing: 0;
}

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

i {font-style: normal;}

/* iOS */
input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}

input, button, textarea, select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
/* /iOS */

/* flex */
.flex {
  	display:-ms-flexbox;
  	display:flex;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	justify-content: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
}

.flex-s {justify-content:flex-start!important;}
.space-a {justify-content: space-around!important;}
.space-b {justify-content: space-between!important;}
.item-c {align-items: center;}
/*/ flex */

#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;}

	@media screen and (max-width: 1000px) {
		header #btn-menu {
			width: 15vw;
			height: 15vw;
			display: block;
			position: fixed;
			right: 0;
			top: 0;
			z-index: 4;
		}
	}

	@media screen and (max-width: 1000px){
		header .header.packed #btn-menu.open span {
				background: #fff;
		}
	}	

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

		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;
		}
	}
	@media screen and (max-width: 1000px) {
		header #btn-menu span:first-child {top: 5vw;}
	}

	@media screen and (max-width: 1000px) {
		header #btn-menu span:nth-child(2) {top: 7.5vw;}
	}

	@media screen and (max-width: 1000px) {
		header #btn-menu.open span:first-child {transform: rotate(45deg) translate(1.75vw, 1.75vw);}
	}

	@media screen and (max-width: 1000px) {
		header #btn-menu.open span:nth-child(2) {opacity: 0;}
	}

	@media screen and (max-width: 1000px) {
		header #btn-menu span:last-child {top: 10vw;}
	}

	@media screen and (max-width: 1000px) {
		header #btn-menu.open span:last-child {transform: rotate(-45deg) translate(1.75vw, -1.75vw);}
	}

header .header.packed #btn-menu span {
    background: #000;
}

header nav  {
	
}

header nav ul {
	width: 100%;
	padding: 40px 0;
	display: flex;
	align-items: center;
	border-bottom:1px solid #fff; 
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		header nav ul {padding: 14px 0 30px;}
	}

	@media screen and (max-width: 1000px) {
		header nav ul {
			background: none;
			min-height: 100%;
			width: 95vw;
			padding: 0 0 15vw;
			margin: 0 auto;
			display: block;
			border-bottom:0px; 
			    border-top: 2px solid;
		}
	}

header nav ul li {
	font-size: 18px;
}

	@media screen and (max-width: 1000px) {
		header nav ul li {
			font-size: 30px;
			width: 100%;
			height: 100%;
			padding: 0;
			text-align: center;
			line-height: 2;
		}
	}

header nav ul li span {
	display: none;
}

	@media screen and (max-width: 1000px) {
		header nav ul li span {
			display: block;
			font-size: 20px;
		}
	}



	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		header nav ul li {font-size: 14px;}
	}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		header nav ul li img {width: 14.1vw;}
	}


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

	@media screen and (max-width: 1000px) {
		header nav ul li:first-child {display: block;}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		header nav ul li:nth-child(n+2) {margin-left: 2.5vw;}
	}

	@media screen and (max-width: 1000px) {
		header nav ul li:nth-child(n+2) {margin: 0 auto;}
	}

header nav ul li:last-child {padding-right: 20px;}


header nav ul li a {
	color: #fff;
	transition: opacity .5s;
	font-weight: bold;
}

	@media screen and (max-width: 1000px) {
		header nav ul li a {
			width: 100%;
			height: 100%;
			padding: 10px 0;
			display: block;
		}
	}

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

	@media screen and (max-width: 1000px) {
		header nav .box {
			background: rgb(252, 150, 32, .9);
			width: 100%;
			/*height: 100vh;*/
			padding-top: 15vw;
			/*overflow-y: auto;*/
			display: none;
			backdrop-filter: blur(3px);
			-webkit-backdrop-filter: blur(3px);
			position: fixed;
			top: 0;
			left: 0;
		}
	}

header nav ul li .conbox {
    width: 100%;
    box-sizing: border-box;
    background: #f7931e;
    border-radius: 40px;
    padding: 2px 15px;
}

	@media screen and (max-width: 1000px) {
		header nav ul li .conbox {
			width: 100%;
			max-width: 200px;
			box-sizing: border-box;
			background: #fff;
			margin: 0 auto;
			padding: 0;
			font-size: 20px;
		}
	}


header .header2 nav ul li .conbox a {
    color: #fff;
}
	@media screen and (max-width: 1000px) {
		header .header2 nav ul li .conbox a {
			color: #000;
		}
	}


	@media screen and (max-width: 1000px) {
		header nav ul li .conbox a {
			color: #f7931e!important;
			padding: 0;
		}
	}


header nav ul li .conbox i {
    background: #fff;
    border-radius: 50%;
}

	@media screen and (max-width: 1000px) {
		header nav ul li .conbox i {
			background: #000;
		}
	}

header nav ul li .conbox .arrow {
    position: relative;
    display: inline-block;
    padding: 9px;
    margin-left: 10px;
	width: 18px;
    height: 18px;
}

	@media screen and (max-width: 1000px) {
		header nav ul li .conbox .arrow {
			padding: 11px;
			width: 20px;
			height: 20px;
		}
	}


header nav ul li .conbox .arrow::after {
    content: '';
    width: 4px;
    height: 4px;
    border-top: solid 2px #000;
    border-right: solid 2px #000;
    position: absolute;
    right: 6px;
    top: 8px;
}

	@media screen and (max-width: 1000px) {
		header nav ul li .conbox .arrow::after {
			width: 6px;
			height: 6px;
			border-top: solid 4px #fff;
			border-right: solid 4px #fff;
			    right: 8px;

		}
	}

header nav ul li .conbox .arrow::after {
  transform: rotate(45deg);
  top: 6px;
}

/** scroll header1 **/

.header {
*zoom:1;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 3;
	width: 100%;
	height: auto;
	transition: top .2s ease-in-out 0s, background .5s ease 0s;
	animation: slideDown ease .6s;
	animation-iteration-count: 1;
	transform-origin: 50% 50%;
	color: #fff;
	animation-fill-mode: forwards;
}

	@media screen and (max-width: 1000px) {
		.header {
			border-bottom: 2px solid #fff;
			height: 15vw;
		}
	}

/*
.underlayer .header {
*zoom:1;
	background-color: rgba(238, 238, 238, 0.95);
}
*/

.header h1 {
	line-height: 0;    margin-left: 12vw;
}

	@media screen and (max-width: 1200px) {
		.header h1 {
			margin-left: 5vw;
		}
	}

	@media screen and (max-width: 1000px) {
		.header h1 {
			margin-left: 20px;
		}
	}

.header h1 .logo {
    width: 340px;
    height: 89px;
	background: url("../images/logo_w.png")no-repeat ;
    background-size: 340px 89px;
}

	@media screen and (max-width: 1000px) {
		.header h1 .logo {
			width: 34vw;
			height: 8.9vw;
			background-size: 34vw 8.9vw;
			position: relative;
		}
	}

.header.packed h1 .logo {
	background: url("../images/logo.png")no-repeat;
    background-size: 340px 89px;
}

	@media screen and (max-width: 1000px) {
		.header.packed h1 .logo {
			width: 34vw;
			height: 8.9vw;
			background-size: 34vw 8.9vw;
		}
	}

	@media screen and (max-width: 1000px){
		header .header.packed #btn-menu.open h1 .logo { 
			background: url("../images/logo_w.png")no-repeat ;
		}
	}	

.scroll-down .header {
	top: -200px
}

.scroll-up .header {
	top: 0
}

.scroll-up .header.packed {
	background-color: rgba(255, 255, 255, 0.95);
	color: #000;
}

	@media screen and (max-width: 1000px) {
		.scroll-up .header.packed {
			height: 15vw;
			border-bottom: 2px solid #000;
		}
	}

.header.packed nav ul li a {
	color: #000;
}

	@media screen and (max-width: 1000px) {
		.header.packed nav ul li a {
			color: #fff;
		}
	}

.header.packed nav ul {
	border: none;
}

.nav-menu {
    width: 100%;
    justify-content: space-between;
	padding: 20px 0;
	box-sizing: border-box;
}

	@media screen and (max-width: 1000px) {
		.nav-menu {
			padding: 2vw 0;
		}
	}

#nav-logo {display: none;}

	@media screen and (max-width: 1000px) {
		#nav-logo {
			display: block;
			z-index: 10;
			position: absolute;
			top: 2vw;
			left: 2vw;
		}
	}

#nav-logo .logo { 
	display: none;
}


	@media screen and (max-width: 1000px){
		#nav-logo .logo { 
	display: block;
			background: url("../images/logo_w.png")no-repeat ;
			background-size: 340px 89px;
		}
	}	

	@media screen and (max-width: 1000px) {
		#nav-logo .logo {
			width: 34vw;
			height: 8.9vw;
			background-size: 34vw 8.9vw;
		}
	}

/** /scroll header1 **/

/** scroll header2 **/


.header2 {
*zoom:1;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 3;
	width: 100%;
	height: auto;
	transition: top .2s ease-in-out 0s, background .5s ease 0s;
	animation: slideDown ease .6s;
	animation-iteration-count: 1;
	transform-origin: 50% 50%;
	color: #fff;
	animation-fill-mode: forwards;
}

	@media screen and (max-width: 1000px) {
		.header2 {
			border-bottom: 2px solid #000;
			height: 15vw;
		}
	}

.header2 h1 {
	line-height: 0;    margin-left: 200px;
}

	@media screen and (max-width: 1200px) {
		.header2 h1 {
			margin-left: 5vw;
		}
	}
	@media screen and (max-width: 1000px) {
		.header2 h1 {
			margin-left: 20px;
		}
	}

.header2 h1 .logo {
    width: 340px;
    height: 89px;
    background: url(../images/logo.png)no-repeat;
    background-size: 340px 89px;
}

	@media screen and (max-width: 1000px) {
		.header2 h1 .logo {
			width: 34vw;
			height: 8.9vw;
			background-size: 34vw 8.9vw;
		}
	}

.scroll-down .header2 {
	top: -200px
}

.scroll-up .header2 {
	top: 0
}

.scroll-up .header2.packed {
	background-color: rgba(255, 255, 255, 0.95);
	color: #000;
}

.header2 #btn-menu span {background: #000;}
.header2 #btn-menu.open span {background: #fff;}

.header2 nav ul {
    border-bottom: 1px solid #000;
}

.header2 nav ul li a {
	color: #000;
}

	@media screen and (max-width: 1000px) {
		.header2 nav ul li a {
			color: #fff;
		}
	}


.header2.packed nav ul li a {
	color: #000;
}

	@media screen and (max-width: 1000px) {
		.header2.packed nav ul li a {
			color: #fff;
		}
	}

	@media screen and (max-width: 1000px){
		header .header2.packed #btn-menu.open span {
				background: #fff;
		}
	}	

.header2.packed nav ul {
	border: none;
}

/** /scroll header2 **/

#top h2 {
    font-weight: 300;
	line-height: 1.5;
	color:#f7931e; 
	text-align: left;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top h2 {}
	}

	@media screen and (max-width: 1000px) {
		#top h2 {}
	}

#top h2 p.en {
    font-size: 74px;
    font-weight: 300;
	line-height: 1.5;
	color:#f7931e; 
	text-align: left;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top h2 p.en {font-size: 3.7vw;}
	}

	@media screen and (max-width: 1000px) {
		#top h2 p.en {font-size: 3.75vw;}
	}


#top h2 p.ja {
    font-size: 14px;
	padding-left: 20px;
	padding-top:3.5vw;
}

	@media screen and (max-width: 1000px) {
		#top h2 p.ja {
			font-size: 2vw;
			padding:0;
		}
	}

#top h2 span {
	font-family: 'Playfair Display', serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	font-size: 80px;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top h2 span {font-size: 4vw;}
	}

	@media screen and (max-width: 1000px) {
		#top h2 span {
			font-size: 12.5vw;
			line-height: 1;
		}
	}

.animate {visibility: hidden;}

.btn-more a {
    font-family: 'Playfair Display', serif;
    font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
    font-size: 18px;
    color: #000;
    width: 100px;
    margin: 100px auto 0;
    border-bottom: #f7931e 1px solid;
    text-align: left;
    line-height: 2;
    display: block;
    transition: color .5s, background .5s;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		.btn-more a {
			font-size: 0.9vw;
			width: 5vw;
			margin: 5vw 0 0;
		}		
	}

	@media screen and (max-width: 1000px) {
		.btn-more a {
			font-size: 18px;
			width: 100px;
			margin: 7.5vw auto 0;
			line-height: 2;
		}
	}

.btn-more a:hover {
	opacity: .8;
		transition: opacity .5s;
}

#u-layer {}


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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {

		#u-layer h2 {
			font-size: 0.9vw;
			padding-top: 10vw;
		}
	}


	@media screen and (max-width: 1000px) {
		#u-layer h2 {
			font-size: 3.75vw;
			height: 37.5vw;
			padding-top: 8.75vw;
		}
	}

#u-layer h2 span {
	font-family: 'Playfair Display', serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	font-size: 80px;
	letter-spacing: 0;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#u-layer h2 span {font-size: 4vw;}
	}

	@media screen and (max-width: 1000px) {
		#u-layer h2 span {font-size: 12.5vw;}
	}

footer {
    margin-top: 50px;
    padding: 50px 0;
    position: relative;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		footer {
		}
	}

	@media screen and (max-width: 1000px) {
		footer {
			margin-top: 10vw;
			padding: 7.5vw 0;
		}
	}

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

	@media screen and (max-width: 1000px) {
		footer::before {
			height: 0.25vw;
		}
	}

footer::before {top: 20px;}

	@media screen and (max-width: 1000px) {
		footer::before {top: 2.5vw;}
	}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		footer::before {top: 1vw;}
	}

footer ul {
	display: flex;
	justify-content: center;
	margin-top: 50px;
}

	@media screen and (max-width: 1000px) {
		footer ul {display: none;}
	}

footer ul li {
	font-size: 18px;
	padding: 0 8px;
	width: 12%;
	text-align: center;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		footer ul li {
			/*font-size: 0.9vw;*/
			padding: 0 0.4vw;
		}
	}


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

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		footer ul li a:hover::after {bottom: -0.2vw;}
	}

footer ul li .en {
    color: #000;
    font-size: 1.7vw;
    letter-spacing: 0;
    text-align: center;
    /* font-weight: bold; */
}

footer ul li .ja {
	color: #f7931e;
	font-size: 13px;
    letter-spacing: 0;
    text-align: center;
	margin-top: 10px;
}

.finner {
    justify-content: space-between;
    width: 100%;
    max-width: 1600px;
    margin: 80px auto 50px;
	padding: 0 20px;
}

footer #footer-logo {
	text-align: center;
}

	@media screen and (max-width: 1000px) {
		footer #footer-logo {margin-top: 0;width: 100%}
	}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		footer #footer-logo img {width: 18.55vw;}
	}

	@media screen and (max-width: 1000px) {
		footer #footer-logo img {width: 46.375vw;}
	}

footer .box {
	@media screen and (max-width: 1000px) {
		width: 100%;
	}
}

footer #f-info {
	font-size: 0.7vw;
    margin-left: 0.8vw;
    line-height: 1vw;
    padding-top: 30px;
    font-weight: bold;

	a {
		color: #000;
	
	    @media screen and (max-width: 1000px) {
			pointer-events: auto;
			cursor: pointer;
		}
	}

	@media screen and (max-width: 1000px) {
		width: 100%;
        text-align: center;
        font-size: 2vw;
        line-height: 2.3vw;
        font-weight: normal;
	}
}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		footer #copy {
			font-size: 10;
			margin-top: 2vw;
		}
	}

	@media screen and (max-width: 1000px) {
		footer #copy {
			font-size: 1.2vw;
			margin-top: 2.5vw;
			width: 100%;
		}
	}


footer #copy a {color: #000;}

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

/* page-top */
.pagetop {
    width: 100%;
    padding: 20px 0 0;
	line-height: 0;
	text-align: center;
}

.pagetop .box {
    margin: 0px 0 15px;
    padding-bottom: 5px;
}

.pagetop a {
    display: block;
    width: 100px;
    margin: 0 auto;
}

.pagetop img {width: 60px;}

.pagetop .arrow {
  position: relative;
  display: inline-block;
  padding: 10px;
}

.pagetop .arrow::before {
    content: '';
    width: 30px;
    height: 30px;
    border-top: solid 3px #f7931e;
    border-right: solid 3px #f7931e;
    position: absolute;
    left: 0;
    top: 8px;
}

.pagetop .arrow::before {
  transform: rotate(-45deg);
  top: 10px;
}

.img_up {
    animation: img_up 1.5s linear infinite;
    transform-origin: 50% 50%;
}

@keyframes img_up {
  0% { transform: translateY(0) }
  33.33333% { transform: translateY(-3px) }
  66.66667% { transform: translateY(3px) }
  100% { transform: translateY(0) }
}

/* /page-top */
	@media screen and (max-width: 1000px) {
		main {
			width: 100%;
			max-width: 1000px;
			overflow: hidden;
		}
	}

/*********** common ***********/

/*********** index ***********/

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

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

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

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

	@media screen and (max-width: 1000px) {
		#top #main-image #main-sp {
			display: block;
			overflow: hidden;
			height: 76vw;
			max-width: 1000px;
		}
	}

#top #main-image #main-txt {
    margin: 0 0 0 11vw;
    position: absolute;
    left: 0;
    right: 0;
    top: 290px;
    z-index: 6;
    width: 100%;
    max-width: 1400px;
}

	@media screen and (max-width: 1000px) {
		#top #main-image #main-txt {
			top: 29vw;
			margin: 0;
			padding-left: 20px;
		}
	}

#top #main-image #main-txt p {
	text-align: left;
color: #fff;
}

#top #main-image #main-txt p:first-child {
    font-size: 1.6vw;
}

#top #main-image #main-txt p:nth-child(2) {
    font-size: 8vw;
}

#top #main-image #main-txt p:last-child {
    font-size: 1.6vw;
	margin-top: 2.5vw;
}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #main-image .scroll {
			font-size: 0.9vw;
			height: 5vw;
			top: 38.65vw;
		}
	}

	@media screen and (max-width: 1000px) {
		#top #main-image .scroll {
			height: 15vw;
			top: 147.125vw;
		}
	}

#top #main-image .scroll span {
	font-family: 'Playfair Display', serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	font-size: 18px;
	color: #fff;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #main-image .scroll span {font-size: 0.9vw;}
	}

	@media screen and (max-width: 1000px) {
		#top #main-image .scroll span {font-size: 4.5vw;}
	}

#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;
	}
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#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;
			}
		}
	}


	@media screen and (max-width: 1000px) {
		#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 about */

#top #top-about {
	width: 100%;
	max-width: 2000px;
	margin: 0 auto;
	padding-top: 150px;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-about {
			padding-top: 7.5vw;
		}
	}

	@media screen and (max-width: 1000px) {
		#top #top-about {
			padding-top: 10vw;
		}
	}

	@media screen and (max-width: 1000px) {
		
		#top #top-about h2 .en {
			order: 2;
			width: 100%;
			text-align: center;
			font-size: 10vw!important;
			font-weight: 300;
		}
		
		#top #top-about h2 .ja {
			order: 1;
			width: 100%;
			text-align: center;
			font-size: 2vw!important;
			font-weight: 300;
		}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-about .box {padding: 5vw 0;}
	}

	@media screen and (max-width: 1000px) {
		#top #top-about .box {padding: 0;}
	}

#top #top-about .box .image {
	    width: 60%;
}

	@media screen and (max-width: 1000px) {
		#top #top-about .box .image {
				width: 100%;
		}
	}

#top #top-about .box .image img {
	    width: 100%;
}

#top #top-about .box .txt {
    width: 40%;
    text-align: left;
    padding: 0 0 0 100px;
}

	@media screen and (max-width: 1000px) {
		#top #top-about .box .txt {
			width: 100%;
			padding: 20px;
		}
	}

#top #top-about .box .maintxt {
    font-size: 30px;
    line-height: 1.5;
	margin-top: 50px;
}

	@media screen and (max-width: 1000px) {
		#top #top-about .box .maintxt {
margin-top: 3vw;
    text-align: center;
    font-size: 6vw;
		}
	}


#top #top-about .box .txt .co1 {
	color: #ff6432;
}


#top #top-about .box .txt .co2 {
		color: #fa961e;

}

/* /top about */

/* top service */

#top #top-service {
	width: 100%;
	max-width: 2000px;
	margin: 0 auto;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-service {
		}
	}

	@media screen and (max-width: 1000px) {
		#top #top-service {
		}
	}

	@media screen and (max-width: 1000px) {
		
		#top #top-service h2 .en {
			order: 2;
			width: 100%;
			text-align: center;
			font-size: 14vw!important;
			font-weight: 300;
		}
		
		#top #top-service h2 .ja {
			order: 1;
			width: 100%;
			text-align: center;
			font-size: 4vw!important;
			font-weight: 300;
		}
	}


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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-service .box {padding: 6.5vw 0;}
	}

	@media screen and (max-width: 1000px) {
		#top #top-service .box {padding: 12.5vw 0;}
	}

#top #top-service .txt .maintxt {
 line-height: 1.5;
	padding-left: 30px;
}

	@media screen and (max-width: 1000px) {
		#top #top-service .txt .maintxt {
			line-height: 2;
			padding: 20px;
			text-align: left
		}
	}


#top #top-service .job {
    width: 100%;
    margin: 30px auto;
}

#top #top-service .job ul {
}

#top #top-service .job ul li {
    width: calc(100%/4);
}

	@media screen and (max-width: 1000px) {
		#top #top-service .job ul li {
			width: calc(100%/2);
		}
	}

#top #top-service .job ul li figure {
    margin: 0;
    padding: 0;
    overflow: hidden;
    position: relative;
    height: 520px;
}

	@media screen and (max-width: 1000px) {
		#top #top-service .job ul li figure {
			margin: 0;
			padding: 0;
			overflow: hidden;
			position: relative;
			height: 52vw;
		}
	}


#top #top-service .job ul li figure::after {
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 520px;
	background: linear-gradient(to bottom,  rgba(0,0,0,0.46) 0%,rgba(0,0,0,0) 54%,rgba(0,0,0,0) 100%);
width: 100%;
}

#top #top-service .job ul li figure img {
    width: 911px;
    /* max-width: 500px; */
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    height: 520px;
}

	@media screen and (max-width: 1000px) {
		#top #top-service .job ul li figure img {
			width: 91.1vw;
			height: 52vw;
		}
	}

#top #top-service .job ul li figure figcaption {
    position: absolute;
    width: 100%;
    left: 10px;
    top: 10px;
	z-index: 10;
}

#top #top-service .job ul li figure figcaption p {
	color: #fff;
	text-align: left;
}

#top #top-service .job ul li figure figcaption p:first-of-type {
    font-size: 20px;
}

	@media screen and (max-width: 1000px) {
		#top #top-service .job ul li figure figcaption p:first-of-type {
			font-size: 4vw;
		}
	}

#top #top-service .job ul li figure figcaption p:last-of-type {
    font-size: 13px;
    margin-top: 10px;
	letter-spacing: 2px;
}

	@media screen and (max-width: 1000px) {
		#top #top-service .job ul li figure figcaption p:last-of-type {
			font-size: 2vw;
			margin-top: 1.5vw;
		}
	}

#top #top-service .job ul li figure:hover img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

/* /top service */

/* top service */

#top #top-rec {
	background: url(../images/top_rec01.jpg) center top no-repeat;
	overflow: hidden;
	width: 100%;
	max-width: 2000px;
	margin: 0 auto;
	background-size: cover;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-rec {
			
		}
	}

	@media screen and (max-width: 1000px) {
		#top #top-rec {
			padding: 4vw 0 8vw;
		}
	}

#top #top-rec h2 {
    text-align: center;
    color: #fff;
    border-bottom: 1px solid #fff;
    padding-bottom: 50px;
}

#top #top-rec h2 .en {
    color: #fff;
}

	@media screen and (max-width: 1000px) {
		
		#top #top-rec h2 .en {
			font-size: 10vw!important;
			font-weight: 300;
		}
		
		#top #top-rec h2 .ja {
			font-size: 2vw!important;
			font-weight: 300;
			padding-top: 9vw;
			padding-left: 2vw;
		}
	}

#top #top-rec .box {
    width: 100%;
    padding: 100px 0;
    text-align: center;
    max-width: 1200px;
    margin: 0 auto;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-rec .box {padding: 5vw 0;}
	}

	@media screen and (max-width: 1000px) {
		#top #top-rec .box {padding: 0;}
	}

#top #top-rec .box .txt {
	margin: 50px auto 30px;
}

#top #top-rec .box .txt p {
    color: #fff;
    font-size: 13px;
    text-align: center;
    line-height: 1.5;
}

	@media screen and (max-width: 1000px) {
		#top #top-rec .box .txt p {
			font-size: 2.4vw;
			font-weight: 300;
			line-height: 2.5;
		}
	}

#top #top-rec .btn-more a {
    color: #fff;
	margin: 0 auto;
}

/* /top rec */


/* top bottomlink */

#top .top-bottomlink {
	width: 100%;
	max-width: 2000px;
	margin: 0 auto;
	padding-top: 50px;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top .top-bottomlink {
		}
	}

	@media screen and (max-width: 1000px) {
		#top .top-bottomlink {
			padding-top:10vw;
		}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {

	}

	@media screen and (max-width: 1000px) {
		#top .top-bottomlink .box {padding: 0;}
	}

#top .top-bottomlink .links {
    width: 100%;
    margin: 50px auto;
}

	@media screen and (max-width: 1000px) {
		#top .top-bottomlink .links {
			margin: 0 auto;
		}
	}


#top .top-bottomlink .links ul {
}

#top .top-bottomlink .links ul li {
	width: calc(64%/2);
}
	@media screen and (max-width: 1000px) {
		#top .top-bottomlink .links ul li {
			width: 100%;
			margin: 10px 0;
		}
	}

#top .top-bottomlink .links ul li figure {
    margin: 0;
    padding: 0;
    overflow: hidden;
    position: relative;
    height: 253px;
}

#top .top-bottomlink .links ul li figure img {
    width: 600px;
    /* max-width: 500px; */
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    height: 253px;
}

#top .top-bottomlink .links ul li figure figcaption {
    position: absolute;
    width: 100%;
    left: 0;
    top: 44%;
	z-index: 10;
}

#top .top-bottomlink .links ul li figure figcaption p {
    color: #fff;
    text-align: center;
    width: 100%;
}

#top .top-bottomlink .links ul li figure figcaption p:first-of-type {
    font-size: 20px;
}

#top .top-bottomlink .links ul li figure figcaption p:last-of-type {
    font-size: 13px;
    margin-top: 10px;
	letter-spacing: 2px;
}
#top .top-bottomlink .links ul li figure:hover img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

/* /top bottomlink */




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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-factory {padding: 7.5vw 0;}
	}

	@media screen and (max-width: 1000px) {
		#top #top-factory {padding: 72.5vw 0 10vw;}
	}

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

	@media screen and (max-width: 1000px) {
		#top #top-factory #slider .pc {display: none;}
	}

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

	@media screen and (max-width: 1000px) {
		#top #top-factory #slider .sp {display: block;}
	}

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

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-factory .box {
			width: 38.25vw;
			padding: 6vw 4vw;
			left: 9vw;
			top: 7.5vw;
		}
	}

	@media screen and (max-width: 1000px) {
		#top #top-factory .box {
			width: 95.75vw;
			padding: 15vw 10vw;
			left: 0;
			top: 10vw;
		}
	}

#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;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-factory .box::after {
			width: 29.55vw;
			height: 6.6vw;
			right: 0.2vw;
			bottom: -2.3vw;
		}
	}

	@media screen and (max-width: 1000px) {
		#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: 50px;
	margin-top: 70px;
	padding-top: 70px;
	border-top: #333 1px solid;
	letter-spacing: 0;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-factory .box .text-01 {
			font-size: 2.5vw;
			margin-top: 3.5vw;
			padding-top: 3.5vw;
		}
	}

	@media screen and (max-width: 1000px) {
		#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-family: 'Playfair Display', serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	font-size: 14px;
	margin-top: 40px;
	line-height: 3;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-factory .box .text-02 {
			font-size: 0.7vw;
			margin-top: 2vw;
		}
	}

	@media screen and (max-width: 1000px) {
		#top #top-factory .box .text-02 {
			font-size: 3vw;
			margin-top: 5vw;
			line-height: 2.2;
		}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-factory .box .btn-more a {margin: 4vw 0 0;}
	}

	@media screen and (max-width: 1000px) {
		#top #top-factory .box .btn-more a {margin: 5vw auto 0;}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-news {margin-top: 5vw;}
	}

	@media screen and (max-width: 1000px) {
		#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 {text-align: center;}

	@media screen and (max-width: 1000px) {
		#top #top-news h2 {
			background: #fff;
			width: 100%;
			padding-top: 15vw;
			text-align: center;
		}
	}

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

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

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

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-news .box ul {
			font-size: 0.9vw;
			padding-bottom: 1.5vw;
		}
	}

	@media screen and (max-width: 1000px) {
		#top #top-news .box ul {
			font-size: 3.75vw;
			width: 92vw;
			margin: 0 auto;
			padding-bottom: 3.75vw;
		}
	}

#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;}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-news .box ul:nth-child(n+2) {padding-top: 1.5vw;}
	}

	@media screen and (max-width: 1000px) {
		#top #top-news .box ul:nth-child(n+2) {padding-top: 3.75vw;}
	}

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

	@media screen and (max-width: 1000px) {
		#top #top-news .box ul li:first-child {
			width: 100%;
			text-align: left;
		}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-news .box ul li:nth-child(2) {padding-right: 0.5vw;}
	}

	@media screen and (max-width: 1000px) {
		#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) {
	width: 4%;
	height: 20px;
	position: relative;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-news .box ul li:nth-child(3) {height: 1vw;}
	}

	@media screen and (max-width: 1000px) {
		#top #top-news .box ul li:nth-child(3) {height: 2.5vw;}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-news .box ul li:last-child {margin-top: 1.5vw;}
	}

	@media screen and (max-width: 1000px) {
		#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: 20px;
	height: 1px;
	margin: auto;
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 10px;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-news .box ul li:nth-child(3) span {
			width: 1vw;
			top: 0.5vw;
		}
	}

	@media screen and (max-width: 1000px) {
		#top #top-news .box ul li:nth-child(3) span {
			background: #000;
			width: 2.5vw;
			top: 1.25vw;
		}
	}

#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);
}

	@media screen and (max-width: 1000px) {
		#top #top-news .box .btn-more {padding-top: 7.5vw;}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #top-news .box .btn-more a {margin-top: 3vw;}
	}

	@media screen and (max-width: 1000px) {
		#top #top-news .box .btn-more a {margin-top: 0;}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #salon {
			width: 60vw;
			margin: 7.5vw auto 0;
		}
	}

	@media screen and (max-width: 1000px) {
		#top #salon {
			width: 92vw;
			margin: 18.75vw auto 0;
		}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #salon h3 {font-size: 1.05vw;}
	}

	@media screen and (max-width: 1000px) {
		#top #salon h3 {font-size: 3.75vw;}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #salon ul {margin-top: 2vw;}
	}

	@media screen and (max-width: 1000px) {
		#top #salon ul {
			margin-top: 10vw;
			flex-wrap: wrap;
		}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #salon ul li:first-child {width: 27.2vw;}
	}

	@media screen and (max-width: 1000px) {
		#top #salon ul li:first-child {
			width: 100%;
			order: 2;
			margin-top: 10vw;
			text-align: center;
		}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #salon ul li:last-child {width: 31.8vw;}
	}

	@media screen and (max-width: 1000px) {
		#top #salon ul li:last-child {
			width: 100%;
			order: 1;
		}
	}

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

	@media screen and (max-width: 1000px) {
		#top #salon ul li:first-child .salon-logo img {width: 49.75vw;}
	}

#top #salon ul li:first-child .btn-more {
	font-family: 'Playfair Display', serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	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;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#top #salon ul li:first-child .btn-more {
			font-size: 0.9vw;
			width: 20vw;
			margin-top: 4vw;
		}
	}

	@media screen and (max-width: 1000px) {
		#top #salon ul li:first-child .btn-more {
			font-size: 4.5vw;
			width: 75vw;
			margin: 10vw auto 0;
			line-height: 4;
		}
	}

#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;}

/*********** index ***********/

/*********** about ***********/

	@media screen and (max-width: 1000px) {
		#about {overflow-x: hidden;}
	}

#about h2 {
    font-size: 18px;
    line-height: 1.2;
    color: #f7931e;
    text-align: center;
	margin-top: 100px
}

	@media screen and (max-width: 1000px) {
		#about h2 {
			margin-top: 10vw
		}
	}

#about h3 {
    font-size: 40px;
    margin-top: 50px;
    text-align: center;
    line-height: 1.5;
}

#about h3 .co1 {color: #ff6432;}

#about h3 .co2 {color: #fa961e;}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#about h3 {}
	}

	@media screen and (max-width: 1000px) {
		#about h3 {
			font-size: 7.5vw;
			width: 86vw;
			margin: 0 auto 0;
			text-align: left;
		}
	}

#about h3 span {font-size: 40px;}

	@media screen and (max-width: 1000px) {
		#about h3 span {font-size: 7.5vw;}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#about h3 img {width: 38.4vw;}
	}

	@media screen and (max-width: 1000px) {
		#about h3 img {width: 100%;}
	}

#about .bg {
    background: url(../images/about_1.jpg) no-repeat;
    background-size: cover;
    width: 100%;
    height: 30vw;
    margin: 50px auto;
}

	@media screen and (max-width: 1000px) {
		#about .bg {
			height: 60vw;
		}
	}

#about .txt {
    width: 100%;
	margin: 50px auto;
}

#about .txt p {
    font-size: 14px;
    text-align: center;
	line-height: 2.2
}
	@media screen and (max-width: 1000px) {
		#about .txt p {
			font-size: 16px;
			padding: 0 10px;
		}
	}

/* cont-about */

#about .cont-about {
	width: 100%;
	max-width: 2000px;
	margin: 0 auto;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#about .cont-about {
		}
	}

	@media screen and (max-width: 1000px) {
		#about .cont-about {
		}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#about .cont-about .box {}
	}

	@media screen and (max-width: 1000px) {
		#about .cont-about .box {padding: 0;}
	}

#about .cont-about .box h3 {
    font-size: 16px;
    margin: 0;
    text-align: left;
}

#about .cont-about .box h3 img {
	width: 30px;
	margin-right: 10px;
}

#about .cont-about .box p {
    font-size: 40px;
    margin-top: 50px;
    line-height: 2;
    text-align: left;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#about .cont-about .box p {			
		}
	}

	@media screen and (max-width: 1000px) {
		#about .cont-about .box p {
			font-size: 5vw;
			margin-top: 5vw;
			line-height: 2;
		}
	}

#about .cont-about .box .image {
	    width: 60%;
}

	@media screen and (max-width: 1000px) {
		#about .cont-about .box .image {
				width: 100%;
				order: 2;
		}
	}

#about .cont-about .box .image img {
	    width: 100%;
}

#about .cont-about .box .txt {
    width: 40%;
    text-align: left;
    padding:0 50px;
}

	@media screen and (max-width: 1000px) {
		#about .cont-about .box .txt {
			width: 100%;
			text-align: left;
			padding: 0 20px;
			margin: 5vw auto;
			order: 1;
		}
	}

/* /cont-about */

/*********** /about ***********/

/*********** company ***********/

	@media screen and (max-width: 1000px) {
		#company {overflow-x: hidden;}
	}

#company h2 {
    font-size: 18px;
    line-height: 1.5;
    color: #f7931e;
    text-align: center;
	margin-top: 100px
}

	@media screen and (max-width: 1000px) {
		#about h2 {
			margin-top: 10vw
		}
	}

#company .info {
    width: 100%;
    max-width: 1000px;
    margin: 80px auto;
}

#company .info dl {
	border-bottom:1px solid #e6e6e6; 
}

#company .info dl dt,
#company .info dl dd {
	font-size: 14px;
	padding: 24px 10px;
	line-height: 1.5;
}

#company .info dl dt {
	width: 20%;
}

	@media screen and (max-width: 1000px) {
		#company .info dl dt {
			width: 26%;
		}
	}

#company .info dl dd {
		width: 80%;
}

	@media screen and (max-width: 1000px) {
		#company .info dl dd {
			width: 74%;
		}
	}

/*********** /company ***********/

/*********** privacy ***********/

	@media screen and (max-width: 1000px) {
		#privacy {overflow-x: hidden;}
	}

#privacy h2 {
    font-size: 18px;
    line-height: 1.5;
    color: #f7931e;
    text-align: center;
	margin-top: 100px
}

	@media screen and (max-width: 1000px) {
		#about h2 {
			margin-top: 10vw
		}
	}

#privacy .txt {
    margin: 50px auto;
	width: 100%;
	max-width: 1400px;
}

	@media screen and (max-width: 1000px) {
		#privacy .txt {
			padding: 0 10px;
		}
	}

#privacy .txt p {
    text-align: center;
	font-size: 14px;
	line-height: 2
}

#privacy .info {
    width: 100%;
    max-width: 1200px;
    margin: 80px auto;
}

#privacy .info dl {
}

#privacy .info dl a {
	color: #fa961e;
	text-decoration: underline;
}

#privacy .info dl dt,
#privacy .info dl dd {
	width: 100%;
	font-size: 14px;
	padding: 10px;
	line-height: 1.5;
}

#privacy .info dl dt {
	font-size: 24px;
}

#privacy .info dl dt span {
	color: #fa961e;
	font-weight: bold;
}

#privacy .info dl dd {
	padding: 10px 10px 25px 48px;
	line-height: 2;
}

	@media screen and (max-width: 1000px) {
		#privacy .info dl dd {
			padding: 0 10px;
		}
	}


/*********** /privacy ***********/

/*********** service ***********/

	@media screen and (max-width: 1000px) {
		#service {overflow-x: hidden;}
	}

#service h2 {
    font-size: 18px;
    line-height: 1.2;
    color: #f7931e;
    text-align: center;
	margin-top: 100px
}

	@media screen and (max-width: 1000px) {
		#about h2 {
			margin-top: 10vw
		}
	}

#service h3 {
    font-size: 38px;
    margin-top: 50px;
    text-align: center;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#service h3 {}
	}

	@media screen and (max-width: 1000px) {
		#service h3 {
			font-size: 8vw;
			width: 100vw;
			margin: 5vw auto 0;
			text-align: center;
			line-height: 1.5;
		}
	}

#service h3 span {font-size: 40px;}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
/*		#service h3 span {font-size: 4vw;}*/
	}

	@media screen and (max-width: 1000px) {
		#service h3 span {font-size: 12.5vw;}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#service h3 img {width: 38.4vw;}
	}

	@media screen and (max-width: 1000px) {
		#service h3 img {width: 100%;}
	}

#service .bg {
    background: url(../images/sv_1.jpg) no-repeat;
    background-size: cover;
    width: 100%;
    height: 30vw;
    margin: 50px auto;
}

	@media screen and (max-width: 1000px) {
		#service .bg {
			margin: 5vw auto;
		}
	}

/* cont-service */

#service .cont-service {
	width: 100%;
	max-width: 2000px;
	margin: 0 auto;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#service .cont-service {
		}
	}

	@media screen and (max-width: 1000px) {
		#service .cont-service {
			padding-top: 5vw;
		}
	}

#service .cont-service h3 {
    font-size: 70px;
    font-weight: 300;
    line-height: 0.5em;
    margin: 80px auto 0;
}

	@media screen and (max-width: 1000px) {
		#service .cont-service h3 {
			font-size: 10vw;
			line-height: 1;
			margin: 0 auto ;
		}
	}

#service .cont-service h3 span {
font-size: 16px;
margin-top: 10px;
}

#service .cont-service h4 {
    font-size: 20px;
    background: #000;
    color: #fff;
    box-sizing: border-box;
	padding: 10px 10px 10px 30px;
}

	@media screen and (max-width: 1000px) {
		#service .cont-service h4 {
			width: 90%;
			padding: 10px 10px 10px 20px;
		}
	}



#service .cont-service h4 span {
font-size: 16px;
margin-left: 10px;
}

#service .cont-service .box {
    background: #fff;
    width: 100%;
    padding: 50px 0;
    text-align: center;
    max-width: 1600px;
    margin: 0 auto;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#service .cont-service .box {}
	}

	@media screen and (max-width: 1000px) {
		#service .cont-service .box {    
			background: none;
padding: 12.5vw 0;}
	}

#service .cont-service .box h3 {
    font-size: 16px;
    margin: 0;
    text-align: left;
}

#service .cont-service .box h3 img {
	width: 30px;
	margin-right: 10px;
}

#service .cont-service .box p {
    font-size: 14px;
    margin-top: 11px;
    line-height: 2;
    text-align: left;
	padding: 10px 10px 10px 30px;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#service .cont-service .box p {			
		}
	}

	@media screen and (max-width: 1000px) {
		#service .cont-service .box p {
			font-size: 3.5vw;
			margin-top: 7.5vw;
			line-height: 2;
			position: absolute;
			top: 25vw;
			right: 0;
			background: rgba(255,255,255,.8);
			width: 80%;
		}
	}

#service .cont-service .box .image {
	    width: 50%;
}

	@media screen and (max-width: 1000px) {
		#service .cont-service .box .image {
			width: 100%;
			height: auto;
			order: 2;
			text-align: left;
		}
	}


#service .cont-service .box .image img {
	    width: 100%;
}

	@media screen and (max-width: 1000px) {
		#service .cont-service .box .image img {
				width: 90%;
		}
	}

#service .cont-service .box .txt {
    width: 50%;
    text-align: left;
    height: 451px;
}

	@media screen and (max-width: 1600px) {
		#service .cont-service .box .txt {
			height: 28.2vw;
		}
	}

	@media screen and (max-width: 1000px) {
		#service .cont-service .box .txt {
			width: 100%;
			height: auto;
			order: 1;
			position: relative;
		}
	}

/* /cont-service */

/*********** /service ***********/


/*********** recruit ***********/

	@media screen and (max-width: 1000px) {
		#recruit {overflow-x: hidden;}
	}

#recruit h2 {
    font-size: 18px;
    line-height: 1.2;
    color: #fff;
    text-align: center;
    padding: 0;
}

	@media screen and (max-width: 1000px) {
		#recruit h2 {
		}
	}

#recruit h3 {
    font-size: 28px;
    margin: 50px auto;
    text-align: center;
    line-height: 1.1;
    border-bottom: 2px solid #000;
    padding-bottom: 12px;
    width: 100%;
    max-width: 130px;
}

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

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

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

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

	@media screen and (max-width: 1000px) {
		#recruit #main-image #main-sp {
			display: block;
			overflow: hidden;
			height: 100vw;
		
		}	
	}

#recruit #main-image #main-txt {
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 260px;
    z-index: 6;
    width: 100%;
    max-width: 1400px;
}

	@media screen and (max-width: 1000px) {
		#recruit #main-image #main-txt {
			margin: 0 auto;
			top: 24vw;
			max-width: 1000px;
		}
	}


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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#recruit #main-image .scroll {
			font-size: 0.9vw;
			height: 5vw;
			top: 38.65vw;
		}
	}

	@media screen and (max-width: 1000px) {
		#recruit #main-image .scroll {
			height: 15vw;
			top: 147.125vw;
		}
	}

#recruit #main-image .scroll span {
	font-family: 'Playfair Display', serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	font-size: 18px;
	color: #fff;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#recruit #main-image .scroll span {font-size: 0.9vw;}
	}

	@media screen and (max-width: 1000px) {
		#recruit #main-image .scroll span {font-size: 4.5vw;}
	}

#recruit #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;
	}
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#recruit #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;
			}
		}
	}


	@media screen and (max-width: 1000px) {
		#recruit #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;
			}
		}
	}

#recruit .info {
    width: 100%;
    max-width: 1000px;
    margin: 80px auto;
}

#recruit .info dl {
	border-bottom:1px solid #e6e6e6; 
}

#recruit .info dl dt,
#recruit .info dl dd {
	font-size: 14px;
	padding: 24px 10px;
	line-height: 1.5;
}

#recruit .info dl dt {
	width: 20%;
}

	@media screen and (max-width: 1000px) {
		#recruit .info dl dt {
			width: 26%;
		}
	}

#recruit .info dl dd {
		width: 80%;
}

	@media screen and (max-width: 1000px) {
		#recruit .info dl dd {
			width: 74%;
		}
	}

/*********** /recruit ***********/

/*********** contact ***********/

	@media screen and (max-width: 1000px) {
		#contact {overflow-x: hidden;}
	}

#contact h2 {
    font-size: 18px;
    line-height: 1.2;
    color: #f7931e;
    text-align: center;
	margin-top: 100px
}

	@media screen and (max-width: 1000px) {
		#about h2 {
			margin-top: 10vw
		}
	}

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

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

	@media screen and (max-width: 1000px) {
		#contact .text-01 {
			font-size: 3.75vw;
			margin-top: 10vw;
			padding: 0 4vw;
		}
	}

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

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#contact form {
			margin-top: 2vw;
			padding: 5vw 0;
		}
	}

	@media screen and (max-width: 1000px) {
		#contact form {
			margin-top: 10vw;
			padding: 10vw 0;
		}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#contact .text-02 {font-size: 0.9vw;}
	}

	@media screen and (max-width: 1000px) {
		#contact .text-02 {font-size: 3.75vw;}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#contact form .box {margin-top: 2vw;}
	}

	@media screen and (max-width: 1000px) {
		#contact form .box {margin-top: 10vw;}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#contact form .box dl {width: 48vw;}
	}

	@media screen and (max-width: 1000px) {
		#contact form .box dl {
			width: 92vw;
			flex-wrap: wrap;
		}
	}

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#contact form .box dl dt {
			font-size: 0.9vw;
			width: 15vw;
			padding-top: 1.3vw;
		}
	}

	@media screen and (max-width: 1000px) {
		#contact form .box dl dt {
			font-size: 3.75vw;
			width: 100%;
			padding-top: 0;
		}
	}

#contact form .box dl dt span {
	font-family: 'Playfair Display', serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	font-size: 14px;
	color: #fff;
	background: #dc002f;
	padding: 2px 10px;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#contact form .box dl dt span {
			font-size: 0.7vw;
			padding: 0.1vw 0.5vw;
		}
	}

	@media screen and (max-width: 1000px) {
		#contact form .box dl dt span {
			font-size: 3vw;
			padding: 0.25vw 1.25vw;
		}
	}

#contact form .box dl dd {
    font-size: 18px;
    width: 660px;
    border: 1px solid #000;
    box-sizing: border-box;
	position: relative;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#contact form .box dl dd {
			font-size: 0.9vw;
			width: 33vw;
		}
	}

	@media screen and (max-width: 1000px) {
		#contact form .box dl dd {
			font-size: 3.75vw;
			width: 100%;
			margin-top: 2.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: 18px;
	font-family: 'Playfair Display', serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	background: #fff;
	width: 100%;
	height: 70px;
	padding: 0 20px;
	border: none;
	border-radius: 0;
	letter-spacing: 0.16em;
	outline: none;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#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;
		}
	}

	@media screen and (max-width: 1000px) {
		#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: 8.5vw;
			padding: 0 2.5vw;
		}
	}

#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;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#contact form .box dl dd input[type="radio"] + label {padding-left: 2.5vw;}
	}

	@media screen and (max-width: 1000px) {
		#contact form .box dl dd input[type="radio"] + label {padding-left: 5vw;}
	}

#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;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#contact form .box dl dd input[type="radio"] + label::before {
			width: 1.2vw;
			height: 1.2vw;
			border: #1d2d61 0.15vw solid;
			top: -0.2vw;
		}
	}

	@media screen and (max-width: 1000px) {
		#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 {
	content: '';
	width: 18px;
	height: 18px;
	background: #1d2d61;
	border-radius: 100%;
	display: block;
	position: absolute;
	left: 6px;
	top: 2px;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#contact form .box dl dd input[type="radio"]:checked + label::after {
			width: 0.9vw;
			height: 0.9vw;
			left: 0.3vw;
			top: 0.1vw;
		}
	}

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

		#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: 18px;
	font-family: 'Playfair Display', serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	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;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#contact form .box dl dd textarea {
			font-size: 0.9vw;
			height: 15vw;
			padding: 1vw;
		}
	}

	@media screen and (max-width: 1000px) {
		#contact form .box dl dd textarea {
			font-size: 16px;
			height: 33.125vw;
			padding: 2.5vw;
		}
	}

#contact form .btn input[type="submit"] {
	font-size: 18px;
	font-family: 'Playfair Display', serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	color: #fff;
	background: #f7931e;
	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;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#contact form .btn input[type="submit"] {
			font-size: 0.9vw;
			width: 25vw;
			margin: 5vw auto 0;
		}
	}

	@media screen and (max-width: 1000px) {
		#contact form .btn input[type="submit"] {
			font-size: 3.75vw;
			width: 75vw;
			margin: 10vw auto 0;
		}
	}

#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;
	position: absolute;
    bottom: -28px;
    left: 0;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#contact form .box dl dd .parsley-errors-list {
			font-size: 0.9vw;
			margin-top: 1vw;
		}
	}

	@media screen and (max-width: 1000px) {
		#contact form .box dl dd .parsley-errors-list {
			font-size: 3.75vw;
			margin-top: 2.5vw;
		}
	}

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

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#contact #confirm form .box {margin-top: 3vw;}
	}

	@media screen and (max-width: 1000px) {
		#contact #confirm form .box {margin-top: 10vw;}
	}

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

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

#contact #confirm form .btn input[type="button"] {
	font-size: 18px;
	font-family: 'Playfair Display', serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	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;
}

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#contact #confirm form .btn input[type="button"] {
			font-size: 0.9vw;
			width: 25vw;
			margin: 1vw auto 0;
		}
	}

	@media screen and (max-width: 1000px) {
		#contact #confirm form .btn input[type="button"] {
			font-size: 3.75vw;
			width: 75vw;
			margin: 2.5vw auto 0;
		}
	}

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

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

	@media screen and (min-width: 1001px) and (max-width: 2000px) {
		#contact #complete .btn a {
			font-size: 0.9vw;
			width: 25vw;
			margin: 3vw auto 0;
		}
	}

	@media screen and (max-width: 1000px) {
		#contact #complete .btn a {
			font-size: 3.75vw;
			width: 75vw;
			margin: 8.75vw auto 0;
		}
	}

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





