@charset "UTF-8";

/* ------------------------------------------
	BASIC STYLES
--------------------------------------------- */
span.imm{
	border:solid 1px #fc1111;
	padding:2px;
	margin-right:5px;
	display:inline-block;
}



.p_sign{
	font-weight:bold;
	display:inline-block;
	font-size:1.3em;
}

.p_sign2{
	font-weight:bold;
	display:inline-block;
	font-size:2.2em;
}


@font-face {
  font-family: 'sign';
  src:url('../font/aoyagireisyosimo_ttf_2_01.ttf') format('truetype');
}

@font-face {
  font-family: 'sign2';
  src:url('../font/青柳衡山フォントT.ttf') format('truetype');
}


.sign{
	font-family:'sign';
}

.sign2{
	font-family:'sign2';
}






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

body,header,footer,nav,
article,section,address,aside,figure,div,
h1,h2,h3,h4,h5,h6,
p,blockquote,pre,dl,dt,dd,ol,ul,li,hr,img,
fieldset,legend,form,label,
th,td,
menu,details,summary{
	margin:0;
	padding:0;
	border:0;
}

body{
	color:#444;
	background-color:#FFF;
	font-size:12px;
	font-family:"游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight:300;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
	text-size-adjust:100%;
	text-align:left;
	line-height:1.6;	/* line-heightでは単位を記載しない（px指定は例外） */
	padding-top:10px;	/* ヘッダの高さ分空ける */
}


@media(max-width:959px) and (min-width:600px){
	body{
		font-size:14px;
	}
}

@media(min-width:960px){
	body{
		font-size:16px;
	}
}


/* ------------------------------------------
	CLEARFIX
--------------------------------------------- */
.clearfix::after
{
	content:"";
	display:block;
	clear:both;
}


/* ------------------------------------------
	HEADER
--------------------------------------------- */
header{
	background-color:#FFF;
	position:fixed;
	top:0;
	left:0;
	box-shadow:2px 2px 8px #444;
	width:100vw;
	z-index:1000;
}

@media(min-width:960px){
	header{
		top:0px;
		left:0;
		width:100vw;
	}
}


/* ------------------------------------------
	NAVは外部ファイル
--------------------------------------------- */


/* ------------------------------------------
	MAIN
--------------------------------------------- */
article > div{
	position:relative;
	width:100%;
	margin:0 auto;
	min-width:320px;
}

article > div:not:nth-child(2){
	padding-top:10px;
}

article > div:first-child{
	min-height:calc(100vh - 500px);
	padding-top:10px;
}

@media(max-width:599px){
	
}

article > div:nth-child(2){
	padding-top:50px;
}

article#art_tp div:first-child{
	/*margin-top:-10px;*/
}

/* ココカラPARALAX */
article > div{
	display:table;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	height:inherit;
	min-height:calc(100vh - 500px);
}

@media(min-width:960px){
	article > div{
		background-attachment:fixed;
	}
}
/* ココマデPARALAX */

article > div > section,
article > div > div,
article > div > aside{
	position:relative;
	margin:0 auto;
	z-index:16;
}

article > div > section,
article > div > aside{
	padding:0 0 24px;/* これがないと下が認識できない */
}

article > div > section,
#form article > div > div,
article > div > aside,
article > div > div > span,
article > div > div > p{
	width:90vw;
	max-width:960px;
	min-width:320px;
}

article > div > aside{
	text-align:center;
}

@media(min-width:960px){
	article > div > div > span,
	article > div > div > p{
		margin-right:auto;
		margin-left:auto;
	}
}

article > div > section > div,
#form article > div > div > div
{
	padding:48px 24px 24px;
	border:1px solid #00BFFF;
	margin:-36px 12px 24px;
}

@media(min-width:960px){
	article > div > section > div,
	#form article > div > div > div{
		margin:-36px 36px 24px;
	}
}

article > div > section > div > section{
	margin:0 auto 64px;
}

h1{
	position:relative;
	color:#FFF;
	font-size:2.4em;
	font-weight:normal;
	letter-spacing:0.16em;
	line-height:1.6;
	padding:5vh 0 10vh;
	border-bottom:1px solid #00BFFF;
	margin:0 auto 12px;
	width:90vw;
	min-width:320px;
	max-width:960px;
	z-index:8;				/* H1はsection内に無い */
}

h1 + div > p{
	color:#FFF;
	margin:0 auto 56px;
}

@media(min-width:960px){
	h1{
		padding:20vh 0 10vh;
	}
}

h2{
	display:inline-block;
	position:relative;
	color:#FFF;
	font-size:2.0em;
	font-weight:normal;
	line-height:1.6;
	background-color:#00BFFF;
	margin-bottom:0;
	padding:48px 24px 4px;
	min-width:200px;
	z-index:4;
}

h3{
	color:#00BFFF;
	font-size:1.6em;
	font-weight:bold;
	letter-spacing:0.16em;
	line-height:1.2;
	border-bottom:1px solid #444;
	margin-bottom:12px;
	padding:4px 0;
}

h4{
	color:#aaa;
	font-size:1.2em;
	font-weight:normal;
	line-height:1.2;
	display:inline-block;
	margin-bottom:4px;
	padding:4px 0;
}

p{
	margin-bottom:24px;
}

small{
	font-size:0.8em;
}

img{
	display:block;
	width:100%;
}

strong{
	color:#FFF;
	font-style:normal;
	font-weight:bold;
	text-decoration:none;
}

iframe{
	width:100%;
	height:40vh;
	border:none;
	margin-bottom:12px;
}


/* link */
a:link,a:visited{
	color:#00BFFF;
	text-decoration:none;
}

a:hover,a:active{
	color:#00BFFF;
	text-decoration:underline;
}


/* list */
ol,ul,dl{
	line-height:1.6;
	margin:0 0 24px;
}

ol,ul{
	margin-left:1.0em;
}

ul > li{
	list-style-type:disc;
}

ol > li{
	list-style-type:decimal;
}

li,dt,dd{
	padding:0;
	margin:0;
}

li{
	margin-left:1.0em;
}

dt{
	font-weight:bold;
	margin:16px 0 4px;
}

dt:first-child{
	margin-top:0;
}

dd{
	font-size:0.8em;
	padding-left:1.0em;
}

/* goto,jump */
.goto,
.jump{
	display:block;
	text-align:center;
	margin:0 auto 12px;
}

.goto a,
.jump a{
	display:inline-block;
	text-align:center;
	text-decoration:none;
	padding:12px;
	min-width:36vw;
	transition:0.4s;
	margin:0 4px 8px;
}

.goto a:link,
.goto a:visited{
	color:#FFF;
	border:1px solid #FFF;
}

.goto a:hover,
.goto a:active{
	color:#444;
	background-color:#FFF;
	border:1px solid #FFF;
}

.jump a:link,
.jump a:visited{
	color:#00BFFF;
	border:1px solid #00BFFF;
}

.jump a:hover,
.jump a:active{
	color:#FFF;
	background-color:#00BFFF;
	border:1px solid #00BFFF;
}

@media(min-width:960px){
	.goto{
		text-align:left;
	}

	.goto a,
	.jump a{
		padding:16px;
		min-width:12vw;
	}
}

/* flex */
.flex{
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
}

.flex > div{
	padding:0 4px 8px;
	width:100%;
}

.flex > div img{
	margin-bottom:16px;
}

@media(max-width:959px) and (min-width:600px){
	.flex > div{
		width:50%;
	}
}

@media(min-width:960px){
	.flex > div{
		width:25%;
	}
}

/* table */
table{
	width:100%;
	margin-bottom:12px;
}

table th,
table td{
	text-align:left;
	display:block;
	padding:4px 8px;
}

table th{
	color:#00BFFF;
	border-top:1px solid #aaa;
	border-right:1px solid #aaa;
	border-left:1px solid #aaa;
}

table td{
	margin-bottom:8px;
	border:1px solid #aaa;
}

table span{
	color:#E00;
	font-size:0.8em;
}

@media(min-width:600px){
	table{
		border-collapse:collapse;
	}

	table th,
	table td{
		display:table-cell;
		padding:16px;
		margin-bottom:0;
	}

	table th{
		vertical-align:top;
		width:24%;
		max-width:160px;
		border-bottom:1px solid #aaa;
	}
}


/* ------------------------------------------
	BACKTOTOP
--------------------------------------------- */
#backtotop{
	position:absolute;;
	bottom:60px;
	right:20px;
	font-size:1.0em;
	z-index:120;
}

#backtotop a{
	display:block;
	text-align:center;
	text-decoration:none;
	padding:8px;
	border-radius:50%;
	height:40px;
	width:40px;
}

#backtotop a:link,#backtotop a:visited{
	color:rgba(136,136,136,1);
	background-color:rgba(255,255,255,1);
	border:1px solid rgba(136,136,136,1);
}

#backtotop a:hover,#backtotop a:active{
	color:rgba(255,255,255,1);
	background-color:rgba(136,136,136,1);
	border:1px solid rgba(255,255,255,1);
}

@media(min-width:960px){
	#backtotop{
		bottom:60px;
		right:20px;
	}
}

/* ------------------------------------------
	FOOTER
--------------------------------------------- */
footer{
	position:relative;
	text-align:center;
	background-color:#aaa;
	padding-top:8px;
	width:100%;
	height:80px;
}

@media(max-width:959px) and (min-width:600px){
	footer{
		background-color:#aaa;
	}
}

@media(min-width:960px){
	footer{
		background-color:#aaa;
	}
}


footer span{
	font-size:0.8em;
	display:inline-block;
}



/* ------------------------------------------
	PAGE
--------------------------------------------- */
article > div:nth-child(even){
	color:#444;
	background-color:#FFF;

}

article > div:nth-child(odd){
	color:#444;
	background-color:#EEE;
}

article > div:nth-child(1)::after{
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	content:"";
	background-color:rgba(0,0,0,0.4);
	padding-top:0;
	margin:0 auto;
	min-width:320px;
	z-index:4;
}



/* ------------------------------------------
	FORM
--------------------------------------------- */
form > div{
	text-align:center;
}

input[type="text"],
textarea{
	font-size:1.0em;
	padding:0.8em;
	border:1px solid #aaa;
	-webkit-border-radius:4px;
	-moz-border-radius:4px;
	border-radius:4px;
	outline:none;
}

input[type="text"]:focus,
textarea:focus,
select:focus{
	box-shadow: 0px 4px 4px 0px rgba(0,191,255,0.64);
	border:1px solid #00BFFF;
}

input[type="text"]{
	width:100%;
	max-width:400px;
}

textarea{
	width:100%;
	min-height:160px;
}

select{
	vertical-align:middle;
	text-indent:1.0em;
	background-color:transparent;
	width:100%;
	height:40px;
	-webkit-appearance:button;
	-moz-appearance:button;
	appearance:button;
	outline:none;
}

select::-ms-expand {
	display:none;
}
select:-moz-focusring {
	color:transparent;
	text-shadow: 0 0 0 #aaa;
}

form > table td > div{
	position:relative;
}
form > table td > div:before{
	position:absolute;
	right:16px;
	top:12%;
	content:"\f107";
	color:#aaa;
	font-family:"Font Awesome 5 Free";
	font-size:32px;
	font-weight:900;
	line-height:1;
	z-index:4;
	pointer-events:none;
}

input[type="submit"],
input[type="reset"],
input[type="button"]{
	display:inline-block;
	color:#FFF;
	text-align:center;
	background-color:#00BFFF;
	padding:12px;
	border-style:none;
	border:1px solid #00BFFF;
	border-radius:4px;
	margin:0 4px;
	width:25vmin;
	max-width:120px;
	cursor:pointer;
}

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover{
	color:#00BFFF;
	background-color:#FFF;
	border:1px solid #00BFFF;
}

input[type="checkbox"],
input[type="radio"]{
	margin:12px 8px;
}



/* ------------------------------------------
	HOME
--------------------------------------------- */
#home article > div:nth-child(1){
	background-image:url(../pageimg/img01.jpg);
}

#home article > div > section > div{
	height:40vh;
	overflow-y:auto;
}

#home article > div > section > div dd{
	border-bottom:1px dashed #aaa;
	margin-bottom:8px;
}



/* ------------------------------------------
	SERVICE
--------------------------------------------- */
/* careercollege */
#careercollege article > div:nth-child(1){
	background-image:url(../pageimg/img02.jpg);
}

#careercollege section > ul li{
	display:inline-block;
	color:#FFF;
	font-size:0.8em;
	list-style:none;
	background-color:#00BFFF;
	padding:4px 8px;
	border-radius:12px;
	margin:4px 2px;
}

#careercollege section > ul li:last-child{
	color:#444;
	background-color:transparent;
}

#careercollege section > h4 + ul li{
	display:inline-block;
	color:#FFF;
	list-style:none;
	background-color:#aaa;
}

#careercollege section > h4 + ul li:last-child{
	color:#444;
	background-color:transparent;
}


/* support */
#support article > div:nth-child(2){
	color:#444;
	background-color:#FFF;
}

#support article > div:nth-child(1){
	color:#FFF;
	background-image:url(../pageimg/img02.jpg);
}

#support .flex{
	margin-bottom:24px;
}

#support .flex > div{
	padding:12px;
	border:1px solid #aaa;
	border-radius:4px;
	margin:0 0 8px;
	width:100%;
}

@media(min-width:960px){
	#support .flex > div{
		width:31.333333%;
		margin:0 1%;
	}
}


/* jobridge */
#jobridge article > div:nth-child(1){
	background-image:url(../pageimg/img02.jpg);
}

#jobridge article > div:nth-child(2){
	color:#444;
	background-color:#FFF;
}

#jobridge .flex{
	margin-bottom:24px;
}

@media(min-width:600px){
	#jobridge .flex > div{
		width:48%;
		margin:0 1%;
	}
}



/* ------------------------------------------
	MESSAGE
--------------------------------------------- */
#message article > div:nth-child(1){
	background-image:url(../pageimg/img02.jpg);
}



/* ------------------------------------------
	ABOUT
--------------------------------------------- */
#about article > div:nth-child(1){
	background-image:url(../pageimg/img02.jpg);
}

#about table th,
#about table td{
	border-top:none;
	border-right:none;
	border-left:none;
}

@media(min-width:600px){
	#about table{
		border-collapse:separate;
		border-spacing:12px;
	}

	#about table th,
	#about table td{
		vertical-align:middle;
		border-right:1px solid #aaa;
		border-bottom:1px solid #aaa;
		margin-bottom:0;
	}
}



/* ------------------------------------------
	ACCESS
--------------------------------------------- */
#access article > div:nth-child(1){
	background-image:url(../pageimg/img02.jpg);
}



/* ------------------------------------------
	RECRUIT
--------------------------------------------- */
#recruit article > div:nth-child(1){
	background-image:url(../pageimg/img02.jpg);
}



/* ------------------------------------------
	INQUIRY（FORM）
--------------------------------------------- */
#inquiry article > div:nth-child(1){
	background-image:url(../pageimg/img02.jpg);
}

#inquiry form table tr:last-child td{
	text-align:center;
	padding:4px 0;
	border:none;
}

#modal-bg {
	display:none;
	width:100%;
	height:100%;
	background-color: rgba(0,0,0,0.91);
	position:fixed;
	top:0;
	left:0;
	z-index: 20;
}

#app_job{
	margin-top:10px;
	color:#1313fc;
	text-decoration:underline;
	font-weight:bold;
	font-size:1.2em;
}

#app_job:hover{
	opacity:0.7;
	cursor:pointer;
}

a.btn_cls{
	text-decoration:none;
	color:#fc1313;
	font-weight:bold;
	font-size:1.3em;
}

#app_jobDsc{
	display:none;
}

#form{
	padding:0;
	margin:0;
}

#form article h1{
	color:#444;
	text-align:center;
	line-height:128px;
	padding:0;
	border:none;
}

#form article > div{
	padding-top:0;
}

#form article div > div{
	text-align:center
}

#form article div > div p{
	text-align:left
}

#form article > div:nth-child(1)::after{
	background-color:rgba(0,0,0,0);
}

.fortop{
	text-align:center;
}


/* ------------------------------------------
	NEWSRELEASE
--------------------------------------------- */
#newsrelease article > div{
	padding-top:0;
}

#newsrelease article h1{
	color:#444;
	text-align:center;
	line-height:128px;
	padding:0;
	border:none;
}

#newsrelease article > div:nth-child(1){
	background-color:#FFF;
}

#newsrelease article > div:nth-child(1)::after{
	background-color:transparent;
}


/* ------------------------------------------
	modal(トップページの公告)
--------------------------------------------- */

.modal_wrap input{
    display: none;
}

.modal_overlay{
    display: flex;
    justify-content: center;
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
    opacity: 0;
    transition: opacity 0.5s, transform 0s 0.5s;
	transform: scale(0);
}

.modal_trigger{
    position: absolute;
    width: 100%;
	height: 100%;
	
}

.modal_content{
    position: relative;
    align-self: center;
    width: 80%;
    max-width: 1000px;
    padding: 30px 30px 15px;
    box-sizing: border-box;
    background: #fff;
    line-height: 1.4em;
	transition: 0.5s;
	overflow-y: auto;
	max-height: 90%;
	margin-top:85px;  
}

.close_button{
    position: absolute;
    top: 14px;
    right: 16px;
    font-size: 24px;
	cursor: pointer;
	color:#fc1111;
}

.modal_wrap input:checked ~ .modal_overlay{
    opacity: 1;
    transform: scale(1);
    transition: opacity 0.5s;
}

.open_button{
	color:#00BFFF;
	cursor:pointer;
}

ul.pb_ntc li{
	list-style:none;
}

.news_df{
	border:solid 0.5px;
	border-radius:7px;
	text-align:center;
	padding:2px;
	margin-left:5px;
	font-size:0.7em;
	line-height:1.6em;
}

.news_2{
	background-color:#7fff7f;
	display:inline-block;
}

.news_1{
	background-color:#ff7f7f;
	display:inline-block;
}

.news_3{
	background-color:#7f7fff;
	display:inline-block;
}

.news_0{
	background-color:#59B3B3;
	display:inline-block;
}

.news_4{
	background-color:#59B3B3;
	display:inline-block;
}

.news_5{
	background-color:#ffbf80;
	display:inline-block;
	font-size:15px;
}

/* Newsの「私たちのメッセージ」と「アメブロ最新記事」の間の余白調整 */
#news .jump {
    margin-bottom: 10px; /* 下方向の余白を狭くする */
}

#ameblo {
    margin-top: 0; /* 上方向の余白を最小限に */
    padding-top: 0; /* paddingもゼロにすることでさらに密着 */
}
