@charset "UTF-8";

/* Reset
----------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  zoom: 1;
  /* hasLayout in IE */
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font: inherit;
	font-size: 100%;
	font-weight: 400;
	font-style: normal;
	vertical-align: baseline;
	background: transparent;
	-webkit-text-size-adjust: 100%;
	word-break: break-all;
}

p {
	max-height: 100%;
}

header, menu, nav, footer,
section, article, aside,
details, summary,
figure, figcaption {
	display: block;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

q, blockquote {
	quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
	content: "";
	content: none;
}

img {
	max-width: 100%;
	font-size: 0;
	line-height: 0;
	vertical-align: bottom;
	height: auto;
 	backface-visibility:hidden;
	-webkit-transform: translateZ(0) scale(1.0, 1.0);
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	text-decoration: none;
	color:#333333;
}

a:focus {
	outline: none;
}

a img {
	border: none;
}

button,
input[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	outline: none;
}

textarea {
	overflow: auto;
}

label {
    cursor: pointer;
    height: 55px;
    line-height: 55px;
}

.clearfix:after {
	display: block;
	visibility: hidden;
	content: ".";
	clear: both;
	height: 0;
	font-size: 0;
	line-height: 0;
}

* html .clearfix {
	zoom: 1;
}

*:first-child + html .clearfix {
	zoom: 1;
}

strong {
  font-weight: normal;
}

ul, ol {
  list-style-type: none;
}


/* common
----------------------------------------------------------- */

* {
	box-sizing: border-box;
}

/*IE*/
.wrap {
width:100%;
overflow:hidden;
position:relative;
}

body {
  	position: relative;
  	width: 100%;
	background-size: 100%;
	background-position: center;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	color: #333333;
	
}

a[href^="tel:"] {
  pointer-events: none;
}

a:hover {
  opacity: 0.7;
  cursor: pointer;
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
}

.pc {
	display:block;
}

.tb {
	display:none;
}

.sp {
	display:none;
}


/*color*/

.red {
	color:#dfa9a4;
}


/*flex*/

.flex {
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
}

/*flex_wrap*/

.wrap {
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}

.nowrap {
	-webkit-flex-wrap:nowrap;
	-ms-flex-wrap:nowrap;
	flex-wrap:nowrap;
}

/*justify-content*/

.j_center {
	-webkit-justify-content:center;
	-ms-flex-pack:center;
	justify-content:center;
}

.j_between {
	-webkit-justify-content:space-between;
	-ms-flex-pack:justify;
	justify-content:space-between;
}
.j_around {
	-webkit-justify-content:space-around;
	-ms-flex-pack:distribute;
	justify-content:space-around;
}
.j_end {
	-webkit-justify-content:flex-end;
	-ms-flex-pack:end;
	justify-content:flex-end;
}

/*align-items*/

.i_center {
	-webkit-align-items:center;
	-ms-flex-align:center;
	align-items:center;
}
.i_start {
	-webkit-box-align: start;
	-ms-flex-align:start;
	align-items:flex-start;
}

.i_end {
	-webkit-align-items:flex-end;
	-ms-flex-align:end;
	align-items: flex-end;
}


/*リスト横並び*/

dl {
	width:100%;
	
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;

	flex-wrap: wrap;
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
}


/*margin*/

.mgr-10 {
	margin-right: 10px;	
}

.mgr-1em {
	margin-right:1em;
}

.bottom_space {
	margin-bottom: 1em;
}

/*border*/
.border {
	border-bottom: solid #0B308E 2px;
}

/*font*/

.bold {
	font-weight: bold;
}


/*inner*/
.inner {
    max-width: 1250px;
    padding: 0 25px;
    margin: 0 auto;
}



/* header
----------------------------------------------------------- */

header {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100px;
	z-index: 10;
}

.header_logo {
	position:relative;
}

.header_logo::after {
	content:"採用サイト";
	display: inline-block;
	background:#fdb936;
	color:#fff;
	font-size:18px;
	border-radius: 2em;
	width:170px;
	text-align: center;
	padding:4px 0;
	position: absolute;
	bottom:-5px;
	right:-170px;
	
}

.header {
    background-color: rgba(255,255,255,0.9);
    height: 105px;
}

.header_inner {
	padding:10px 20px 15px 20px;
	max-width:1200px;
	margin:0 auto;
}

.top_title {
	font-size:12px;
	padding-bottom:0.6em;
}

.company_name img {
	max-width:257px;
}

/*
.site_name {
	display: inline-block;
	background:#fdb936;
	color:#fff;
	font-size:18px;
	border-radius: 1em;
	padding:0.1em 2em;
}
*/

.btn-a a,.btn-b a {
	display:block;
	width:195px;
	height:80px;
	position:fixed;
	color:#fff;
	text-align: center;
	z-index: 9;
} 

.btn-a a {
	background:#e88980;
	top:120px;
	right:0;
	font-size:22px;
	line-height:80px;
}

.btn-b a {
	background:#fdb936;
	top:200px;
	right:0;
	font-size:20px;
	padding-top:5px;

}

.btn-a a::after {
	content:"";
	display:inline-block;
	background:#fff;
	width:  40px;
	height: 2px;
	position: absolute;
	top:50%;
	right:0;
	
}

.btn-a a:hover,.btn-b a:hover {
	opacity: 1;
}

.tel_text {
	font-size:11px;
	color:#333;
	padding-top:20px;
}

.tel_number {
	position:relative;
	    padding-left: 1.5em
;
}

.tel_number::before {
	display: inline-block;
	content:"";
	background-image:url("../images/common/tel.png");
	background-size: contain;
	width:22px;
	height:22px;
	position:absolute;
	top:3px;
	left:0;
	
}

/* header change
----------------------------------------------------------- */

.header_change{
    display: none;	
    position: fixed;
	width:100%;
    z-index: 20000;
	background-color:rgba(255,255,255,0.95);
	
	/*	IE対策*/
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	overflow:hidden;
	
}

.header_change p {
	color:#202020;
}

.header_change .nav_inner {
    padding: 20px 0;
	width:800px;
	margin:0 auto;
}

/*fadeDownクラスが付与された後のボタンの出現アニメーション設定*/
.fadeDown {
    animation-name: fadeDownAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
    display: block;
}

@keyframes fadeDownAnime{
  from {
    opacity: 0;
  	transform: translateY(-100px);
  }

  to {
    opacity: 1;
  	transform: translateY(0);
  }
}

/*.doneクラスがついたヘッダー*/
.header_change.dnone {
  opacity: 0;
}


/* link botton
----------------------------------------------------------- */

.btn01,.btn02 {
	display:inline-block;
	background:#fff;
	width:400px;
	height:80px;
	text-align: center;
	line-height:80px;
	font-size:24px;
	font-weight: bold;
	position: relative;
}

.btn01 {
	color:#ffc000;
	margin-right:50px;
}

.btn02 {
	color:#e88980;
}

.btn01::after,.btn02::after {
	content: "";
	display: inline-block;
	width:40px;
	height:2px;
	position: absolute;
	top:50%;
	right: 0;
}

.btn01::after {
	background:#ffc000;
}

.btn02::after {
	background:#e88980;
}

.links_box {
	background: -moz-linear-gradient(-50deg,#edcd69, #edcd69 40%,#e88980 60%,#e88980); 
	background: -webkit-linear-gradient(-50deg,#edcd69, #edcd69 40%,#e88980 60%,#e88980); 
	background: linear-gradient(140deg,#edcd69, #edcd69 40%,#e88980 60%,#e88980); 
	padding:30px 75px;
	width:1000px;
	margin:0 auto -90px auto;
    position: relative;
	z-index: 1;
}


/* footer
----------------------------------------------------------- */

.links {
/*	margin-bottom:-90px;*/
}

.list a {
	position: relative;
}

.list a::before {
	content:"";
	display:inline-block;
	background:#fdb936;
	width:0.8em;
	height:2px;
	position: absolute;
	top:50%;
	left:-1em;
}

.list {
	margin-right:2.4em;
	margin-bottom: 65px;
}

.list:last-child {
	margin-right:0;
}

.footer_inner {
	background: linear-gradient(-50deg, rgba(251, 171, 126, 0.4), rgba(247, 206, 104, 0.4)) ,url("../images/common/footer.jpg");
	background: -moz-linear-gradient(-50deg, rgba(251, 171, 126, 0.4), rgba(247, 206, 104, 0.4)) ,url("../images/common/footer.jpg");
	background: -webkit-linear-gradient(-50deg, rgba(251, 171, 126, 0.4), rgba(247, 206, 104, 0.4)) ,url("../images/common/footer.jpg");
	
	width:100%;
	background-size:cover;
	background-position: 0 45%;
	position: relative;
	padding:150px 0 110px 0;
	
}

.external_site_btn a {
	display:inline-block;
	width:360px;
	height:60px;
	background:#fff;
	border:solid 1px #333;
	box-shadow: 2px 2px #333;
	text-align: center;
	line-height: 60px;
}

.external_site_btn {
	margin-right:50px
}

.external_site_btn:last-child {
	margin-right: 0;
}

footer {
	position: relative;
}

.fotter_logo img {
	max-width:244px;
}

.footer_list a {
	position: relative;
	margin-left:3em;
}

.footer_list a::before {
	content:"";
	display:inline-block;
	background:#333;
	width:0.8em;
	height:1px;
	position: absolute;
	top:52%;
	left:-1em;
}

.company {
	border-bottom:solid 1px #8c97cb;	
}

.company {
	padding:50px 0;

}

.fotter_logo {
    margin-right: 30px;
    padding-top: 0.4em;
}

.copylight {
	padding:20px 0;
	color:#b7b7b7;
	text-align: center;
}

address {
	font-size:14px;
}

.instagram {
	text-align: right;
	margin-bottom: 0.5em;
}

.instagram img {
	max-width:42px;
}


/* nav
----------------------------------------------------------- */

.nav_text {
	font-size:14px;
}

.nav_link a,.current a {
	position: relative;
	display: inline-block;
	opacity: 1;
	padding:0 1em 0.5em 1em;
}

.nav_link a::after {
	position: absolute;
	bottom: -4px;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #fdb936;
	transform: scale(0, 1);
	transform-origin: center top;
	transition: transform .3s;
	padding:0;
}

.nav_link :hover::after {
 	transform: scale(0.5, 1);
}

.current a::after {
	position: absolute;
	bottom: -4px;
	content: '';
	width: 50%;
	height: 2px;
	background: #fdb936;
	padding:0;
	top: 107%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

nav {
	align-items: flex-end;
}

.nav_inner {
	margin-left:300px;
}

.sp_header {
	display:none;
}















/********************************************
 1000px-1200px
********************************************/

@media only screen and (min-width:1000px) and (max-width:1200px) {	
	
	
/*inner*/
.inner {
	max-width:1000px;
}	
	
/* header
----------------------------------------------------------- */	
	.site_name {
    padding: 0.1em 1em;
}	
	
	.header_inner .flex {
		justify-content: space-between;
	}
	
/* nav
----------------------------------------------------------- */
	.nav_inner {
	margin-left:1vw;
}	
	
	
/* link
----------------------------------------------------------- */	
.links_box {
		width:90%;
		z-index: 1;
	}

	/* footer
----------------------------------------------------------- */	
.footer_right .flex {
	display:block;
}	
	

}



/********************************************
 769-1000px
********************************************/

@media only screen and (min-width:769px) and (max-width:1000px) {
	
/* header
----------------------------------------------------------- */	

.header_change {
		display: none;
	}	
	
	
	
/*inner*/
.inner {
	max-width:1000px;
}	
	
	.site_name {
    padding: 0.1em 1em;
}	

	
	.header_inner .flex {
		justify-content: space-between;
	}
	
.btn-a a {
    top: 140px;	
	}
	
.btn-b a {
    top: 220px;	
	}
	
.header_inner {
	position: fixed;
	background:#fff;
	width:100%;
	height:100px;
	}
	
.footer_right .flex {
	display:block;
}
	
.instagram {
	text-align: center;
	margin-bottom: 1em;
}
	

/* スマホ用nav
----------------------------------------------------------- */

	.sp_header {
		display:block;
}	
	
	nav {
		background: #fff;
		position: fixed;
		width: 100%;
		height: 100%;
		left: -100%;
		top: 100px;
		z-index: 20;
	}	
	
	.nav_text {
		font-size: 25px;
		border-bottom: solid #fdb936 1px;
	}

	.nav_inner {
		padding:0;
		max-width:100vw;
		margin:0 auto;
	}
	
	.nav_link a,.current a {
		position: relative;
		display: inline-block;
		opacity: 1;
		padding: 1em 0vw 1em 2em;
		width: 100%;
		font-size:20px;
}
	
	.nav01 a { 
		border-top: solid #fdb936 1px;
	}
	
	.nav_link a::after {
	display:none;
}
	
	.current::after {
	display:none;
}
	
	.nav_link :hover::after {
 		transform: scale(0, 0);
}
	
	.current a::after {
	display: none;
}
	
	.nav_inner .flex {
		display: block;
	}
		

/* ハンバーガーメニュ 
----------------------------------------------------------- */	
	.navbtn { 
		display: block;
		z-index: 30000;
		position: fixed;
		right: 80px;
		top: 27px;
		width: 20px;
		background: transparent;
	}

	.navbtn:hover{ cursor:pointer; }

	.navbtn span{ 
		position:absolute;
		left:0; 
		width: 50px;
		height: 2px; 
		background:#333; 
	}

	.navbtn span:nth-child(1){top:5px; transition:all 0.2s;}
	.navbtn span:nth-child(2){top:20px; transition:all 0.2s;}
	.navbtn span:nth-child(3){top:35px; transition:all 0.2s;}

	.navbtn.menu span:nth-child(2){ width:0%; left:50%; background:#333; }
	.navbtn.menu span:nth-child(1){ top:20px; transform:rotate(45deg); background:#333; }
	.navbtn.menu span:nth-child(3){ top:20px; transform:rotate(-45deg); background:#333; }
	
	
	
/*footer	*/

	.links_box {
		width:90%;
		z-index: 1;
	}
	
	.btn01, .btn02 {
		width:300px;
	}
	
	.company .flex {
		flex-direction: column;
	}
	
	.fotter_logo img {
		margin-bottom:20px;
	}
	
	address {
		margin-bottom:20px;		
	}
	

	

}

/********************************************
 768px以下
********************************************/

@media screen and (max-width: 768px) {
	
/* common
----------------------------------------------------------- */
	body {
		font-size: 3vw;
		-webkit-text-size-adjust: 100%;
	}

	.sp {
		display:block;
	}	
	
	.tb {	
		display:none;
	}
	
	.pc {
		display:none;
	}	

	
	
/* flex解除
----------------------------------------------------------- */			
	.flex {
	display:block;
}

	
/* header
----------------------------------------------------------- */

header {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:15vw;
	z-index: 10;
}
	
.header {
    height: auto;
}
	
.header_logo::after {
    content: "採用サイト";
    display: inline-block;
    background: #fdb936;
    color: #fff;
    font-size: 3.4vw;
    border-radius: 2em;
    width: 24vw;
    text-align: center;
    padding: 0.5vw 0;
    position: absolute;
    bottom: -0.25em;
    left: 41vw;
}

.header_inner {
    background-color: #fff;
    padding: 2vw 3vw 4vw 3vw;
    position: fixed;
    z-index: 100;
    width: 100%;
}

.top_title {
	font-size:2.5vw;
	padding-bottom:0.6em;
}

.company_name img {
	max-width:40vw;
}

.site_name {
	display: inline-block;
	background:#fdb936;
	color:#fff;
	font-size:3.8vw;
	border-radius: 1em;
	padding:0.1em 1em;
}

.btn-a a, .btn-b a {
    width: 50vw;
    height: 17vw;
}

.btn-a a {
	background:#e88980;
	bottom:0;
	top:auto;
	left:0;
	font-size:5vw;
	line-height:16.5vw;
}

.btn-b a {
	background:#fdb936;
	bottom:0;
	top:auto;
	right:0;
	font-size:3.8vw;
	padding-top:1vw;
}

.btn-a a:hover,.btn-b a:hover {
	opacity: 1;
}

.tel_text {
	font-size:3vw;
	color:#333;
	padding-top:0;
}

.tel_number {
	position:relative;
	    padding-left: 1.5em;
	font-size:4.5vw;
}

.tel_number::before {
	display: inline-block;
	content:"";
	background-image:url("../images/common/tel.png");
	background-size: contain;
	background-repeat: no-repeat;
	width:6vw;
	height:6vw;
	position:absolute;
	top:0.5vw;
	left:-1vw;
}
	
/* スマホ用nav
----------------------------------------------------------- */
	.sp_header {
		display:block;
}	
	nav {
		background: #fff;
		position: fixed;
		width: 100%;
		height: 100%;
		left: -100%;
		top: 17vw;
		z-index: 20;
	}	
	
	.nav_text {
		font-size: 4.5vw;
		border-bottom: solid #fdb936 1px;
	}

	.nav_inner {
		padding:0;
		max-width:100vw;
		margin:0 auto;
	}
	
	.nav_link a,.current a {
		position: relative;
		display: inline-block;
		opacity: 1;
		padding: 1em 0vw 1em 2em;
		width: 100%;
}
	
	.nav01 a {
		margin-top:1em; 
		border-top: solid #fdb936 1px;
	}
	
	.nav_link a::after {
	display:none;
}
	
	.current::after {
	display:none;
}
	
	.nav_link :hover::after {
 		transform: scale(0, 0);
}
	
	.current a::after {
	display: none;
}
		

/* ハンバーガーメニュ 
----------------------------------------------------------- */	
	.navbtn { 
		display: block;
		z-index: 30000;
		position: fixed;
		right: 6.5vw;
		top: 8vw;
		width: 7vw;
		height: 7vw;
		background: transparent;
	}

	.navbtn:hover{ cursor:pointer; }

	.navbtn span{ 
		position:absolute;
		left:0; 
		width: 7vw;
		height: 1px; 
		background:#333; 
	}

	.navbtn span:nth-child(1){top:0vw; transition:all 0.2s;}
	.navbtn span:nth-child(2){top:2vw; transition:all 0.2s;}
	.navbtn span:nth-child(3){top:4vw; transition:all 0.2s;}

	.navbtn.menu span:nth-child(2){ width:0%; left:50%; background:#333; }
	.navbtn.menu span:nth-child(1){ top:2vw; transform:rotate(45deg); background:#333; }
	.navbtn.menu span:nth-child(3){ top:2vw; transform:rotate(-45deg); background:#333; }



/* link botton
----------------------------------------------------------- */

.btn01,.btn02 {
	width:100%;
	height:18vw;
	text-align: center;
	line-height:18vw;
	font-size:4.5vw;
}

.btn01 {
	margin-right:0;
	margin-bottom: 5vw;
}

.btn02 {
}

.btn01::after,.btn02::after {
	content: "";
	display: inline-block;
	width:10vw;
	height:1px;
	position: absolute;
	top:50%;
	right: 0;
}

.links_box {
	padding:10vw 15vw;
	width:100%;
	margin:0 auto;
}


/* footer
----------------------------------------------------------- */

.links {
/*	margin-bottom:-90px;*/
}

.list a {
	position: relative;
}

.list a::before {
	content:"";
	display:inline-block;
	background:#fdb936;
	width:0.8em;
	height:1px;
	position: absolute;
	top:50%;
	left:-1em;
}

.list {
	margin-right:2.5em;
	margin-bottom: 4vw;
}

.list:last-child {
	margin-right:0;
}

.footer_inner {
	width:100%;
	background-size:cover;
	background-position: 0 45%;
	position: relative;
	padding:10vw 15vw;
	
}

.external_site_btn a {
	display:inline-block;
	width:100%;
	height:18vw;
	background:#fff;
	border:solid 1px #333;
	box-shadow: 0.5vw 0.5vw #333;
	text-align: center;
	line-height: 18vw;
	margin-right:0px;
}

.external_site_btn {
	margin-bottom: 5vw;
}
	
.external_site_btn:last-child {
	margin-bottom: 0;
}

.external_site_btn {
	width:100%;
	margin-right:0px
}
	

.external_site_btn:last-child {
	margin-right: 0;
}

footer {
	position: relative;
}

.fotter_logo img {
	max-width:55vw;
}

.footer_list a {
	position: relative;
	margin-left:3em;
	font-size:2vw;
}

.footer_list a::before {
	content:"";
	display:inline-block;
	background:#333;
	width:0.8em;
	height:1px;
	position: absolute;
	top:52%;
	left:-1em;
}

.company {
	border-bottom:solid 1px #8c97cb;	
}

.company {
	padding:5vw 0;
}
	
address {
    width: 75vw;
    margin: 0 auto 2.2vw auto;
	}

.fotter_logo {
	margin-right:0;
	text-align: center;
	margin-bottom: 4vw;
}

.copylight {
    padding: 1.5vw 0 3.5vw 0;
    color: #b7b7b7;
    text-align: center;
    margin-bottom: 16vw;
	font-size: 2vw
}
	
	.sitemap {
		padding-left:5vw;
		margin-bottom: 4vw;
	}
	
	.footer_inner .flex {
		display:flex;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	
	.footer_link {
		width:84vw;
		margin: 0 auto;
		line-height: 1.3em;
	}
	
	address {
	font-size:2.8vw;
}
	
	.instagram {
	text-align: center;
	margin-bottom: 1em;
}
	
.instagram img {
	max-width:9vw;
}

}
