@charset "utf-8";
/* CSS Document */

/*** -----------------------------------------------------------------------------

reset

-----------------------------------------------------------------------------  ***/
.clearfix:after {
	content:".";
	display:block;
	visibility:hidden;
	clear:both;
	height:0.1px;
	font-size:0.1em;
	line-height:0;
}
.clearfix {
	display:inline-table;
	zoom:1;
}
/*Hides from IE-mac \*/
* html .clearfix {
	height:1%;
}
.clearfix {
	display:block;
}
/* End hide from IE-mac */

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
	margin:0px;
	padding:0px;
	color:#000;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
fieldset, img {
	border:0;
}
address, caption, cite, code, dfn, em, th, var {
	font-style:normal;
	font-weight:400;
}
li {
	list-style:none;
}
caption, th {
	text-align:left;
}
h1, h2, h3, h4, h5, h6 {
	font-size:100%;
	font-weight:400;
}
q:before, q:after {
	content:'';
}
abbr, acronym {
	border:0;
	font-variant:normal;
}
sup {
	vertical-align:top;
}
sub {
	vertical-align:text-bottom;
}
input, textarea, select {
	font-family:inherit;
	font-size:inherit;
	font-weight:inherit;
}
input, textarea, select {
	*font-size:100%;
}
legend {
	color:#000000;
}
img {
	vertical-align:bottom;
}

/*** ------------------------------------------------------------------------------

common

-----------------------------------------------------------------------------  ***/
html {
	overflow-y:scroll;
}
body {
	background-color: #fff;
	color:#000;
	line-height: 2;
	font-size: 15px;
  font-family:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif, san-serif;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif, san-serif;
	font-style: normal;
	font-weight: 400;
	letter-spacing:0;
	-webkit-text-size-adjust: 100%;
	overflow: hidden;
	position: relative;
}


aside#secondary{
	display: none !important;
}

.sp-none{
	display: block;
}
.pc-none{
	display:none;
}
@media (max-width:768px){
	.sp-none{
		display: none;
	}
	.pc-none{
		display:block;
	}
}


/*** ------------------------------------------------------------------------------

リンク

-----------------------------------------------------------------------------  ***/
/* 基本 */
a{
	outline:none;
	color:#222;
}
a:link {
	text-decoration:none;
	transition: 0.3s;
}
a:link:hover{
	text-decoration:none;
}
a:visited {
}
a:hover {
	text-decoration:none;
}
a:active {
	text-decoration:none;
}
/*** ------------------------------------------------------------------------------

input

-----------------------------------------------------------------------------  ***/
input[type="text"] {
	padding: 0;
	border: none;
	border-radius: 0;
	outline: none;
	background: none;
}
input[type="radio"] {
	display: none;
}
input[type="radio"]:checked + label {
	background: #ff0000;
}
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	outline: none;
	background: transparent;
}
textarea {
	width: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	resize: none;
	padding: 0;
	border: 0;
	outline: none;
	background: transparent;
}
button,
input[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
	border: none;
	outline: none;
	background: transparent;
}
/*** ------------------------------------------------------------------------------

header

-----------------------------------------------------------------------------  ***/
header{
	width: 100%;
	position:fixed;
	top:0;
	left: 0;
	right: 0;
	z-index: 999;
	transition: 0.3s ease-in-out;
}
header *{
	transition: 0.3s ease-in-out;
}
header .header-content{
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	align-items:flex-start;
	justify-content: space-between;
	max-width:100%;
	height: 100px;
	background:none;
	margin: 0 auto;
	padding:0;
	box-sizing: border-box;
	position:relative;
}
header .header-content .logo{
	display: flex;
	align-items: center;
	width: 196px;

	padding:54px 18px;
	background:#010B30;
	box-sizing:border-box;
	position:relative;
}
header .header-content .logo a{
	display:block;
	max-width:160px;
}
header .header-content .logo img{
	display: block;
	max-width: 100%;
	height: auto;
}
header .header-content .sp-tel{
	display:none;
}
header .header-content nav {
	width: calc(100% - 196px);
}
header .header-content nav #nav-content{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	padding:20px 40px 20px 20px;
	transition:0.3s;
}
header .header-content nav #nav-content .info{
	display: flex;
	justify-content:flex-end;
	align-content:center;
	align-items:center;
	width:100%;
	font-size:12px;
	margin-bottom:12px;
}
header .header-content nav #nav-content .info .tel{
	display: flex;
	align-items:center;
	padding-left:20px;
	background: url('../img/icon/phone-b.svg')no-repeat center left;
	background-size:11px;
	font-family: 'Barlow', sans-serif, san-serif;
	font-size:20px;
	font-weight:bold;
	line-height:1;
	margin-left: 20px;
}
header .header-content nav #nav-content .info .tel span{
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif, san-serif;
	font-size:11px;
	font-weight:400;
}
header .header-content nav ul{
	display: flex;
	align-items: center;
}
header .header-content nav ul li{
	text-align: center;
	padding:0;
	box-sizing:border-box;
	margin: 0;
	overflow:inherit;
	transition: 0.1s ease;
	position: relative;
	pointer-events:painted;
}
header .header-content nav ul li a{
	display: block;
	padding:0;
	box-sizing:border-box;
	color: #000000;
	font-size: 14px;
	font-weight: bold;
	position: relative;
	margin-left:20px;
	transition: 0.3s;
	z-index:2;
	opacity: 1;
	transition: 0.3s;
	z-index:2;
	opacity: 1;
	cursor:pointer;
}
header .header-content nav ul li .sub{
	display:none;
	width:111px;
	background:#000;
	position:absolute;
	top: 28px;
	left:-10px;
}
header .header-content nav ul li .sub li{
	height: auto;
}
header .header-content nav ul li .sub a{
	padding:5px 10px;
	color:#fff;
	margin:0;
}
header .header-content nav ul li .sub a:before{
	width:100%;
	background:#fff;
}
#nav-input{
	display: none;
}
header .header-content nav #nav-content .pc-btn a span:not(.active){
	display: none;
}
header .header-content .sp-area{
	display:none;
}
/* PCアコーディオン */
@media (min-width:1101px){
	.pc-toggle > .sub.dropdown{
		display: block !important;
		width:150px;
		z-index:1;
		transform: translateY(-500px);
		transition: 0.3s;
		opacity:0;
		pointer-events:none;
	}
	.pc-toggle:hover > .sub.dropdown{
		margin-left:-5px;
		animation:pcacd;
		animation-duration: 0.3s;
		animation-fill-mode: forwards;
		pointer-events:inherit;
	}
	.pc-toggle:hover > .sub.dropdown a:hover{
		opacity:0.5;
		color:#fff;
	}
}

@keyframes pcacd{
	0%{transform: translateY(-20px);opacity:0;}
	100%{transform: translateY(0px);opacity: 1;}
}

@keyframes spnavopen{
	0%{
		transform: translateX(200px);
		opacity: 0;
	}
	100%{
		transform: translateX(0px);
		opacity: 1;
	}
}

/* pcホバーアニメ */
@media(min-width:1151px){
	header .header-content nav ul li a:hover{
		color: #000;
	}
	header .header-content nav ul li a:before{
		content: '';
		width:0;
		height: 1px;
		background:#000;
		position:absolute;
		left:0;
		right: 0;
		bottom: 0;
		margin:0 auto;
		transition: 0.3s;
	}
	header .header-content nav ul li a:hover:before{
		width:100%;
	}
}

@media(min-width:769px){
	header .header-content .logo a:link:hover{
		opacity:0.5;
	}
}

/* スクロール中 */
@media (min-width:769px) {
	header.scroll-nav .header-content{
		height:67px;
		background:#fff;
	}
	header.scroll-nav .header-content nav #nav-content {
		padding:5px 15px 5px 5px;
	}
	header.scroll-nav .header-content nav #nav-content .info{
		margin-bottom: 5px;
		transform: translateX(15vw);
		opacity:0;
	}
	header.scroll-nav .header-content .logo{
		width: 150px;
		padding:18px;
	}
}
@media (min-width:1101px){
	header.scroll-nav .header-content nav ul{
		transform: translateY(-13px);
	}
}

@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
	header .header-content,
	header .header-content.scroll-nav{
		background:#fff;
	}
	header.scroll-nav .header-content{
		height:100px;
	}
	header.scroll-nav .header-content nav #nav-content {
		padding:20px 40px 20px 20px;
	}
	header.scroll-nav .header-content nav #nav-content .info{
		margin-bottom: 12px;
		transform: translateX(0);
		opacity:1;
	}
	header.scroll-nav .header-content nav ul{
		transform: translateY(0);
	}
	header.scroll-nav .header-content .logo{
		width: 196px;
		padding:54px 18px;
	}
}

@media screen and (max-width:1150px){
	header .header-content nav ul li a{
		font-size:13px;
	}
}

@media screen and (max-width:1100px){
	header{
		display: flex;
		align-items: center;
		height: 50px;
		padding:0;
		background:#fff;
		position: absolute;
		top: 0;
		transition: 0.3s;
	}
	header .header-content .sp-tel{
		display:flex;
		justify-content:center;
		align-items:center;
		width:50px;
		height:50px;
		background:rgb(190,127,11);
		position:fixed;
		top: 0;
		right: 50px;
		z-index:1;
	}
	header .header-content nav #nav-content .pc-btn{
		display: none;
	}
	header .header-content{
		justify-content:center;
		width: 100%;
		height: 50px;
		text-align:center;
		padding:0;
		margin-top: 0px;
	}
	header .header-content .pc-head-nav{
		display: none;
	}
	header .header-content h1{
		width: 60%;
	}
	header .header-content .logo{
		max-width:180px;
		height:80px;
		padding:0;
		margin: 0 auto 0 0;
	}
	header .header-content .logo a{
		padding:15px 0;
		margin:0 auto;
	}
	header .header-content .logo img{
		width: 90%;
		height: auto;
		margin:0 auto;
	}
	header .header-content nav{
		width: 50px;
		height: 50px;
		display: flex;
		justify-content: center;
		align-items: center;
		position:fixed;
		top: 0;
		right:0;
	}	
	.nav-unshown {
		display:none;
	}
	#nav-open {
		display: inline-block;
		width: 50px;
		height: 50px;
		background:#010B30;
		vertical-align: middle;
		position: relative;
		margin-top: 0px;
		z-index: 2;
		cursor: pointer;
	}
	#nav-open span{
		display: block;
		width: 24px;
		height: 2px;
		background:#fff;
		position: absolute;
		top: 17px;
		left: 0;
		right: 0;
		margin:0 auto;		
		transition: 0.2s ease;
	}
	#nav-open span:before,
	#nav-open span:after{
		content: '';
		display: block;
		width: 24px;
		height: 2px;
		background:#fff;
		position: absolute;
		left: 0;
		right: 0;
		margin: 0 auto;
		cursor: pointer;
		transition: 0.2s ease;
	}
	#nav-open span:before{
		top: 9px;
	}
	#nav-open span:after {
		top: 18px;
	}
	#nav-close {
		display: block;
		position: fixed;
		top: 0px;
		left: 0;
		width: 100%;
		height:100vh;
		background: rgba(0,0,0,1);
		opacity: 0;
		transition: .3s ease-in-out;
		z-index: 1;
		transform: translateX(100vw);
	}
	#nav-input:checked ~ #nav-close {
		display: block;
		transform: translateX(0vw);
		opacity: 1;
	}
	#nav-input:checked ~ #nav-open span{
		top: 25px;
		transform: rotate(45deg);
	}
	#nav-input:checked ~ #nav-open span:before{
		opacity: 0;
	}
	#nav-input:checked ~ #nav-open span:after{
		top: 0px;
		transform: rotate(-90deg);
	}
	header .header-content nav #nav-content{
		padding:20px 0;
		opacity: 0;
	}
	#nav-input:checked ~ #nav-content {
		transform: translateX(-100vw);
		opacity: 1;
	}
	header .header-content nav #nav-content {
		display: flex;
		flex-wrap: wrap;
		align-content: center;
		padding-bottom:60px;
		box-sizing: border-box;
		align-items: center;
		overflow: auto;
		position: fixed;
		top: 60px;
		right: -100vw;
		z-index: 9999;
		width: 100%;
		height: calc(100% - 60px);
		transition: .3s ease-in-out;
		opacity:0;
	}
	header .header-content nav ul {
		display: flex;
		flex-wrap: wrap;
		justify-content:center;
		align-content: flex-start;
		align-items: flex-start;
		width: 100%;
		height:auto;
		margin-bottom:10px;
	}
	header .header-content nav ul li{
		width: 100%;
		padding: 0px;
		margin: 0;
		text-align: center;
		background:none;
		margin-bottom:20px;
	}
	header .header-content nav ul li:last-child{
		margin-bottom: 0px;
	}
	header .header-content nav ul li a:first-child{
		display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
		font-size:16px;
		color:#fff;
		margin: 0 auto;
	}
	header .header-content nav ul li a,
	header.scroll-nav .header-content nav ul li a:first-child{
		display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
		text-align: center;
		margin:0 auto;
	}
	header .header-content nav #nav-content .sp-btn{
		display:block;
		width:100%;
		position:relative;
		margin: 20px auto 0;
		left:0;
		right:0;
		bottom:0;
	}
	header .header-content nav #nav-content .sp-btn a{
		font-size:13px;
		font-weight:200;
		color: #fff;
		transition: none;
	}
	header .header-content nav #nav-content .sp-btn a .active{
		color:#B42A2F;
		font-weight:bold;
	}
	header .header-content nav ul li a span.pc-none{
		display:inline-block;
		width:18px;
		height: 18px;
		margin-top:0px;
		margin-left:10px;
	}
	header .header-content nav ul li a span.pc-none img{
		display:block;
		max-width:100%;
		height: auto;
		transition:0.3s;
	}
	header .header-content nav ul li a.on span.pc-none img{
		transform: rotate(45deg);
	}
	header .header-content nav ul li .sub{
		width: 100%;
		position:relative;
		margin-bottom: 0;
		top: 0;
		left: 0;
		transition: none;
	}
	header .header-content nav ul li .sub a{
		font-size:13px;
		background:#333;
		transition: none;
	}
	header .header-content nav .sp-area{
		display:block;
		width:100%;
		padding:0 20px;
		box-sizing:border-box;
		margin:20px auto 0;
	}
	header .header-content nav .sp-area ul{
		display:flex;
	}
	header .header-content nav .sp-area ul li{
		width:calc(50% - 8px);
		margin-right:16px;
	}
	header .header-content nav .sp-area ul li:last-child{
		margin-right:0;
	}
	header .header-content nav .sp-area ul li a{
		font-weight: bold;
		font-size:15px;
		position: relative;
	}
	header .header-content nav .sp-area ul li a:before{
		content:'';
		display:block;
		width:20px;
		height: 10px;
		background: url(../img/arrow-bl.svg)no-repeat right bottom;
		background-size:contain;
		position:absolute;
		right: 10px;
		bottom: 10px;
	}
	header .header-content nav .sp-area ul li.contact{
		background:#fff;
		color: #010B30;
	}
	header .header-content nav .sp-area ul li.contact a{
		color: #010B30;
	}
	header .header-content nav .sp-area ul li.recruit a{
		background: rgb(190,127,11);
		background:linear-gradient(90deg, rgba(190,127,11,1) 58%, rgba(239,199,62,1) 95%);
	}
	header .header-content nav .sp-area ul li.recruit a:before{
		background: url(../img/arrow-w.svg)no-repeat right bottom;
		background-size:contain;
	}
}

@media (max-width:1100px){
	header .header-content nav ul li{
		height:auto;
		margin-bottom: 0;
	}
	header .header-content nav ul li a{
		width:100%;
		height:auto;
		padding:10px;
		background:none;
		font-size:16px;
		font-weight: 400;
		line-height:1.8;
		border-bottom:solid 1px rgba(255, 255, 255, 0.5);
	}
}
@media (max-width:768px){
	header .header-content .logo{
		max-width:130px;
		height:50px;
	}
	header .header-content{
		background:#010B30;
	}
	header .header-content .logo{
		padding:0 0 0 10px;
	}
	header .header-content .logo a{
		padding:0;
	}
}
/*** ------------------------------------------------------------------------------

main

-----------------------------------------------------------------------------  ***/
main.main-content{
	display:block;
	margin-top: 100px;
}
main.main-content section.fade,
#home main.main-content .visual .about-inner .inner {
	transition: 0.3s;
	opacity:0;
	transform: translateY(100px);
}
main.main-content section.fade.run,
#home main.main-content .visual .about-inner.run .inner {
	opacity: 1;
	transform: translateY(0);
}

main.main-content section .inner{
	display: block;
	width: 100%;
	max-width: 1180px;
	padding: 110px 40px 120px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}
main.main-content section .inner .heading{
	display:flex;
	justify-content:flex-start;
	align-content:center;
	align-items: center;
}
main.main-content section .inner .heading .btn{
	transform: translateY(-4px);
}
.bold{
	font-weight:bold;
}


@media (max-width:1100px){
	main.main-content{
		margin-top: 0;
	}
}

/* section-ttl */
main.main-content .section-ttl-area{
	display:block;
	opacity:0;
	overflow:hidden;
}
main.main-content .section-ttl-area.run{
	opacity:0;
	animation-name: sect;
	animation-duration: 0.8s;
	animation-fill-mode: forwards;
}
@keyframes sect {
  from {
  	transform: translateX(-100%);
    opacity: 0;
  }
  to {
  	transform: translateX(0);
    opacity: 1;
  }
}

main.main-content .section-ttl-area.run .section-ttl {
	opacity: 0;
	animation-name: sectl;
	animation-duration: 0.8s;
	animation-fill-mode: forwards;
}
@keyframes sectl {
  from {
  	transform: translateX(100%);
    opacity: 0;
  }
  to {
  	transform: translateX(0);
    opacity: 1;
  }
}

main.main-content .section-ttl.center {
	text-align:center;
}
main.main-content .section-ttl {
	text-align: left;
	overflow:hidden;
	position:relative;
	margin-bottom:55px;
}
main.main-content .section-ttl .main{
	display:inline-block;
	font-size:60px;
	line-height:1.3;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	font-weight:600;
	color: #010B30;
}
main.main-content .section-ttl .main.eng{
	font-family: adobe-naskh, sans-serif, san-serif;
	font-size:140px;
	line-height: 1;
	font-weight:500;
	font-style: normal;
}
main.main-content .section-ttl .text{
	display:inline-block;
	font-size:28px;
	line-height:1.2;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	font-weight:500;
	color: #010B30;
	margin-left:30px;
}
main.main-content .section-ttl .text span{
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif, san-serif;
	font-size:16px;
}
main.main-content .section-ttl .small{
	font-size:28px;
}


main.main-content .fadebtn{
	opacity: 0;
	transition: 0.2s;
}
main.main-content .fadebtn.run{
	animation: fadebtn;
	animation-duration: 0.6s;
	animation-delay: 1.2s;
	animation-fill-mode: forwards;
	transform: translateX(-50px);
	opacity: 0;
}
@keyframes fadebtn{
	0%{
		transform: translateX(-50px);
		opacity: 0;
	}
	100%{
		transform: translateX(0px);
		opacity: 1;
	}
}

/* ie対応 */
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
	main.main-content .section-ttl .main.eng,
	.main-content section .section-ttl-area .section-ttl .txt-en{
		font-family: san-serif;
	}
}

@media (max-width: 1100px){
	main.main-content .btn.sp-btn{
		display: none;
		width:60%;
		max-width: 200px;
		padding: 10px;
		box-sizing: border-box;
		text-align: right;
		color: #000;
		font-size: 14px;
		line-height: 1;
		font-family: futura-pt, sans-serif, san-serif;
		font-weight: 700;
		font-style: normal;
		position: relative;
		margin:0 0 0 auto;
	}
	main.main-content .btn.sp-btn:after{
		content: '';
		display: block;
		width:100%;
		height: 1px;
		background: #000;
		position: absolute;
		right: 0;
		bottom: 0;
	}
	main.main-content .back-black .btn.sp-btn{
		color:#fff;
	}
	main.main-content .back-black .btn.sp-btn:after{
		background: #fff
	}
}

@media (max-width: 768px){
	main.main-content .btn.sp-btn{
		display:block;
	}
	main.main-content section .inner{
		padding: 70px 20px;
	}
	main.main-content .section-ttl{
		margin-bottom:20px;
	}
	main.main-content .section-ttl .main{
		font-size: 30px;
		line-height:1.4;
	}
	main.main-content .section-ttl .main.eng{
		font-size:65px;
	}
	main.main-content .section-ttl .text{
		font-size: 16px;
		margin-top:0;
		transform:translateY(-5px);
	}
}

@media (max-width:768px){
	main.main-content .section-ttl .main.eng{
		font-size:55px;
	}
}

/*** ------------------------------------------------------------------------------

footer

-----------------------------------------------------------------------------  ***/
footer{
	display: block;
	width: 100%;
	padding:0;
	box-sizing: border-box;
	position:relative;
	margin: 0 auto;
}
footer .contact{
	padding:70px 40px 110px;
	background:url(../img/footer.jpg)no-repeat center center;
	background-size:cover;
	text-align:center;
}
footer .contact > *{
	color:#fff;
}
footer .contact .img ~ .text {
	display:inline-block;
	font-size:16px;
	font-weight:bold;
	margin:16px auto 20px;
}
footer .contact img{
	max-width:100%;
	height:auto;
}
footer .contact ul {
	display:flex;
	justify-content: center;
	width:100%;
	max-width:1100px;
	margin: 0 auto;
}
footer .contact ul li {
	width:calc(50% - 10px);
	height:120px;
	margin-right:20px;
}
footer .contact ul li.tel{
	pointer-events:none;
}
footer .contact ul li:last-child {
	margin-right:0;
}
footer .contact ul li a{
	display:flex;
	justify-content:center;
	align-content:center;
	align-items:center;
	flex-wrap:wrap;
	width:100%;
	height: 100%;
	border: solid 1px #fff;
	color: #fff;
	position:relative;
}
footer .contact ul li.tel a .main{
	display:inline-block;
	padding-left:27px;
	background:url(../img/icon/phone-w.svg)no-repeat top 7px left;
	background-size:18px;
	font-family: 'Barlow', sans-serif, san-serif;
	font-size:36px;
	line-height:1.1;
	font-weight: bold;
}
footer .contact ul li.tel a .sub{
	font-size:14px;
	font-weight:400;
}
footer .contact ul li.mail a:before{
	content: '';
	display: block;
	width:30px;
	height: 100%;
	background:url('../img/arrow-w.svg')no-repeat center center;
	position:absolute;
	top: 0;
	right:-15px;
	transition: 0.3s;
}
footer .contact ul li.mail a .main{
	display:inline-block;
	padding:2px 0 2px 33px;;
	background:url(../img/icon/mail-w.svg)no-repeat top 4px left;
	background-size:24px;
	font-size:22px;
	line-height:1.3;
	font-weight: bold;
}
footer .contact ul li.mail.app a .main{
	background:url(../img/icon/phone-w.svg)no-repeat top 0px left;
}
footer .contact ul li.mail a .sub{
	font-size:12px;
	font-weight:400;
}

footer .footer-content{
	max-width: 100%;
	padding:65px 20px 55px;
	box-sizing: border-box;
	background:#010B30;
	margin: 0 auto ;
}
footer .footer-content .cnt-area{
	display:flex;
	width:100%;
	max-width:1040px;
	margin:0 auto;
}
footer .footer-content .cnt-area .sitemap{
	display:flex;
}
footer .footer-content .inner,
footer .footer-content .inner a{
	color:#E9E9E9;
	position: relative;
}

/* 左側  */
footer .footer-content .inner.left {
	width:40%;
}
footer .footer-content .inner.left *{
	color: #E9E9E9;
}
footer .footer-content .inner.left p {
	display:inline-block;
	font-size:12px;
	margin-bottom:17px;
}
footer .footer-content .inner.left p span{
	display:inline-block;
	font-size:18px;
	line-height:1.5;
	font-weight:bold;
	margin-bottom:10px;
}
footer .footer-content .inner.left .name{
	display: inline-block;
	font-size:14px;
	font-weight: 400;
	margin-bottom:14px;
}
footer .footer-content .inner.left ul{
	display: inline-block;
	width: 100%;
}
footer .footer-content .inner.left ul li{
	display: inline-block;
	margin-right:8px;
}
footer .footer-content .inner.left ul li a{
	display:block;
	width:40px;
	height: 40px;
	transition: 0.3;
}
footer .footer-content .inner.left .logo img{
	width:240px;
	max-width:100%;
	height: auto;
}
footer .footer-content .inner.left .name2{
	font-size: 14px;
}
@media (min-width:769px){
	footer .footer-content .inner.left ul li a:hover{
		opacity:0.5;
	}
}

/* 右側  */
footer .footer-content .inner.right{
	width:60%;
}
footer .footer-content .inner.right .sitemap > ul{
	width:25%;
}
footer .footer-content .inner.right .sitemap li{
	width: 100%;
	text-align:left;
}
footer .footer-content .inner.right .sitemap > ul > li > a{
	display:inline-block;
	font-size: 16px;
	font-weight:bold;
	line-height:1;
	margin-bottom:12px;
}
footer .footer-content .inner.right .sitemap li ul {
	margin-bottom: 35px;
}
footer .footer-content .inner.right .sitemap li ul li {
	line-height:1;
}
footer .footer-content .inner.right .sitemap li ul li a{
	display:inline-block;
	padding-left:10px;
	font-size:12px;
	line-height:1;
	font-weight:400;
	margin-bottom:10px;
}
footer .footer-content .inner.right .sitemap li ul li a:before{
	content:'';
	display:block;
	width: 6px;
	height:100%;
	background:url(../img/icon/sitemap-sub.svg)no-repeat center center;
	background-size:contain;
	position:absolute;
	top:0;
	left:0;
}
footer .copy-right{
	display: block;
	padding:27px 20px 20px;
	text-align:center;
	font-size:12px;
	line-height: 1;
	color:#010B30;
}

@media (min-width: 769px){
	footer .footer-content .inner.right .sitemap li a:hover{
		opacity:0.5;
	}
}


@media (max-width:1000px){
	footer .contact{
		padding:40px 20px;
	}
	footer .contact ul {
		flex-wrap:wrap;
	}
	footer .contact ul li{
		width:100%;
		height: auto;
		margin:0 auto 15px;
	}
	footer .contact ul li.tel{
		pointer-events:inherit;
	}
	footer .contact ul li a {
		padding: 15px;
		box-sizing:border-box;
	}
	footer .contact ul li.tel a .main{
		font-size: 35px;
	}
	footer .contact ul li.mail a .main{
		font-size: 25px;
	}
	footer .contact ul li a .sub,
	footer .contact ul li a .text{
		display:inline-block;
		width:100%;
	}
	footer .contact ul li.tel a .main {
    background: url(../img/icon/phone-w.svg)no-repeat top 13px left;
    background-size: 18px;
    font-family: 'Barlow', sans-serif, san-serif;
    font-size: 46px;
    line-height: 1.1;
    font-weight: bold;
  }
  footer .contact ul li.mail a .main {
    display: inline-block;
    padding-left: 33px;
    background: url(../img/icon/mail-w.svg)no-repeat top 11px left;
    background-size: 24px;
    font-size: 30px;
    line-height: 1.3;
    font-weight: bold;
	}
	footer .footer-content .cnt-area{
		flex-wrap:wrap;
		flex-direction:column-reverse;
	}
	footer .footer-content .inner.left,
	footer .footer-content .inner.right{
		width: 100%;
	}
	footer .footer-content .inner.left{
		text-align:center;
	}
	footer .footer-content .inner.left .logo{
		width:100%;
	}
}
@media (max-width:768px){
	footer{
		margin-top: 0;
		margin-bottom:50px;
	}
	footer .contact{
		padding:40px 20px 25px;
	}
	footer .contact .img ~ .text{
		margin: 10px auto 20px;
	}
	footer .contact ul li.tel a .main{
		background: url(../img/icon/phone-w.svg)no-repeat top 5px left;
    background-size: 18px;
		font-size:32px;
	}
	footer .contact ul li.mail a .main{
		font-size: 22px;
	}
	footer .contact ul li.mail a .main {
		padding-left:28px;
    background: url(../img/icon/mail-w.svg)no-repeat top 6px left;
    background-size: 22px;
  }
	footer .contact ul li.mail.app a .main {
    background: url(../img/icon/phone-w.svg)no-repeat top 0px left;
  }
	footer .footer-content{
		padding:35px 20px;
		flex-wrap:wrap;
		flex-direction:column-reverse;
	}
	footer .footer-content .inner.right .sitemap {
		flex-wrap:wrap;
		margin-bottom:25px;
	}
	footer .footer-content .inner.right .sitemap > ul{
		width:100%;
	}
	footer .footer-content .inner.right .sitemap li ul{
		margin-bottom:20px;
	}
	footer .footer-content .inner.right .sitemap li{
		margin-bottom: 0;
	}
	footer .footer-content .inner.right .sitemap li,
	footer .footer-content .inner.right .sitemap li a{
		font-size:12px;
		line-height:1;
	}
	footer .footer-content .inner.right .sitemap li a{
		width:100%;
		padding: 15px 15px 15px;
		border-bottom: solid 1px #cdcdcd;
		box-sizing:border-box;
	}
	footer .footer-content .inner.right .sitemap > ul > li > a{
		padding-left:0;
		font-size:15px;
		font-weight:500;
		margin-bottom:0px;
	}
	footer .footer-content .inner.right .sitemap li ul li a{
		margin-bottom:0;
	}
	footer .footer-content .inner.left .logo{
		margin:0 auto 10px;
	}
	footer .footer-content .inner.right .copy-right{
		display:none;
	}
	footer .footer-content .inner.left .copy-right{
		display:block;
		text-align: center;
		font-size:2vw;
		line-height: 1.4;
	}
	footer .footer-content .inner .copy-right{
		padding-top:45px;
	}
	footer .footer-content .inner.left .logo img{
		width:120px;
		max-width:100%;
		height: auto;
	}
	footer .footer-content .inner.left p span{
		font-size:16px;
		font-weight:500;
	}
}

@media (max-width:360px){
	footer .contact ul li.tel a .main{
		background: url(../img/icon/phone-w.svg)no-repeat top 7px left;
    background-size: 14px;
		font-size:30px;
	}
	footer .contact ul li.mail a .main{
		font-size: 20px;
	}
	footer .contact ul li.mail a .main {
		padding-left:28px;
    background: url(../img/icon/mail-w.svg)no-repeat top 6px left;
    background-size: 22px;
  }
	footer .footer-content{
		padding:35px 20px;
		flex-wrap:wrap;
		flex-direction:column-reverse;
	}
	footer .footer-content .inner.left ul li p{
		font-size:10px;
	}
}


#page-top {
	display:block;
	width: 	45px;
	height: 270px;
	background: #010B30;
	box-sizing: border-box;
	top:30%;
	right	: 0;
  z-index: 99;
  opacity: 1;
  position:fixed;
}
#page-top a{
	display:block;
	transition: 0.3s;
}
#page-top a img{
	max-width:100%;
	height: auto;
}

#page-top .sp-cnt{
	display:none;
}

@media(min-width:769px){
	#page-top a:hover{
		opacity: 0.7;
	}
}

@media (max-width:768px){
	#page-top{
		width:100%;
		height: 50px;
		top: auto;
		bottom: 0;
		transform: translateY(0px);
		animation: none;
	}
	#page-top .pc-cnt{
		display:none;
	}
	#page-top .sp-cnt{
		display:flex;
		width:100%;
		height:100%;
	}
	#page-top .sp-cnt a{
		display:flex;
		justify-content:center;
		align-items:center;
		width:50%;
		height: 100%;
		padding:10px;
		box-sizing: border-box;
		text-align:center;
		margin-right:0;
		font-weight: bold;
		font-size:15px;
		line-height:1;
		position: relative;
	}
	#page-top .sp-cnt a:before{
		content:'';
		display:block;
		width:20px;
		height: 10px;
		background: url(../img/arrow-w.svg)no-repeat right bottom;
		background-size:contain;
		position:absolute;
		right: 10px;
		bottom: 10px;
	}
	#page-top .sp-cnt a.contact{
		background:#010B30;
		color: #fff;
	}
	#page-top .sp-cnt a.recruit {
		background: rgb(190,127,11);
		background:linear-gradient(90deg, rgba(190,127,11,1) 58%, rgba(239,199,62,1) 95%);
		color: #fff;
	}
	#page-top .sp-cnt a.recruit:before{
		background: url(../img/arrow-w.svg)no-repeat right bottom;
		background-size:contain;
	}
}

@keyframes sidefade{
	0%{
		transform: translateX(50px);
	}
	100%{
		transform: translateX(0);
	}
}


/*** ------------------------------------------------------------------------------

共通設定

-----------------------------------------------------------------------------  ***/
.btn{
	display: inline-block;
	min-width:190px;
	padding: 16px;
	border: solid 1px #000000;
	box-sizing:border-box;
	text-align:center;
	font-size: 14px;
	color: #000000;
	font-weight:bold;
	line-height: 1;
	position: relative;
	margin: 0 auto;
	transition: 0.5s;
}
.btn:before{
	content: '';
	display: block;
	width:30px;
	height: 100%;
	background:url('../img/arrow-b.svg')no-repeat center center;
	position:absolute;
	top: 0;
	right:-15px;
	transition: 0.3s;
}
.btn.white{
	border: solid 1px #fff;
	color: #fff;
}
.btn.white:before{
	background:url('../img/arrow-w.svg')no-repeat center center;
}
@media screen and (min-width:769px){
	.pc_none{
		display: none;
	}
	a.btn:hover,
	footer .contact ul li.mail a:hover{
		border-radius:10px;
		opacity: 1;
	}
	.btn:hover:before,
	footer .contact ul li.mail a:hover:before{
		right: -30px;
	}
}
@media screen and (max-width:768px){
	.sp_none{
		display: none;
	}
	a.more-btn{
		width: 240px;
		padding: 22px;
		font-size: 13px;
		font-weight: 500;
	}
}

/* 行揃え  */
.align-right{
	display:block;
	text-align: right;
}
.align-center{
	display:block;
	text-align: center;
}

/* 背景色 */
.back-pink{
	background-color:#E2AEAF;
}
.back-black{
	background-color:#000;
}
.back-black,
.back-black a,
.back-black .section-ttl .main{
	color: #fff;
}

.back-gray{
	background-color:#F2F2F2;
}


/*** ------------------------------------------------------------------------------

フェードイン

-----------------------------------------------------------------------------  ***/

.show-cnt{
	transform: scale(1) translateX(100px);
	transition: 0.3s ease-out;
	opacity: 0;
}
.show-cnt.run{
	transform:scale(1) translateX(0);
	opacity: 1;
}

.show-cnt2{
	transform: scale(1) translateX(-100px);
	transition: 0.3s ease-out;
	opacity: 0;
}
.show-cnt2.run{
	transform:scale(1) translateX(0);
	opacity: 1;
}

.show-cnt3{
	transform: scale(1) translateY(50px);
	transition: 0.3s ease-out;
	opacity: 0;
}
.show-cnt3.run{
	transform:scale(1) translateY(0);
	opacity: 1;
}

/*** ------------------------------------------------------------------------------

下層の共通部分

-----------------------------------------------------------------------------  ***/
