@charset "UTF-8";

/* 共通部分 */
html {
	font-size: 100%;
	padding-top: 90px;
	scroll-behavior: smooth;
}
body {
	font-family: "Yu Gothic Medium","游ゴシック Medium",YuGothic,"游ゴシック体","ヒラギノ角ゴ Pro W3",sans-serif;
	font-size: 1.125rem;
	line-height: 1.7;
	color: #555;
	background-color: #faf7f0;
}
a {
	text-decoration: none;
}
img {
	max-width: 100%;
}
.wrapper {
	/*max-width: 1100px;*/
	width: 100%;
	margin: 0 auto;
	padding: 0 4%;
}

/* HEADER */
header {
	width: 100%;
	height: 90px;
	background-color: #faf7f0;
	padding: 20px 50px;
	position: fixed;
	z-index: 1;
	top: 0;
	left: 0;
}
.page-header {
	display: flex;
	justify-content: space-between;
}
.site {
	width: 60%;
}
.site a {
	text-decoration: none;
	margin-top: 10px;
	font-family: 'Kosugi Maru', sans-serif;
	font-size: 1.125rem;
}
.logo {
	width: 30px;
	margin-top: 12px;
}
.nav_toggle {
	display: block;
	position: relative;
	width: 1.75rem;
	height: 1.5rem;
	margin-top: 20px;
}
.nav_toggle i {
	display: block;
	width: 100%;
	height: 2px;
	background-color: #333;
	position: absolute;
	transition: transform .5s, opacity .5s;
}
.nav_toggle i:nth-child(1) {
	top: 0;
}
.nav_toggle i:nth-child(2) {
	top: 0;
	bottom: 0;
	margin: auto;
}
.nav_toggle i:nth-child(3) {
	bottom: 0;
}
.nav_toggle.show i:nth-child(1) {
	transform: translateY(10px) rotate(-45deg);
}
.nav_toggle.show i:nth-child(2) {
	opacity: 0;
}
.nav_toggle.show i:nth-child(3) {
	transform: translateY(-12px) rotate(45deg);
}
.nav {
	position: fixed;
	top: 3rem;
	left: 0;
	right: 0;
	padding: 1rem;
	opacity: 0;
	visibility: hidden;
	transition: opacity .5s, visibility .5s;
}
.nav.show {
	opacity: 1;
	visibility: visible;
}
.main-nav {
	display: block;
	background-color: #faf7f0;
	padding: 10px 0;
	margin-top: 25px;
	font-size: 1.125rem;
	list-style: none;
	position: static;
	}
.main-nav li {
	margin-bottom: 20px;
	margin-left: 24px;
}
.main-nav li a {
	padding: 10px 5px 10px 5px;
	color: #432;
}
.main-nav a:hover {
	background-color: #4699ca;
	color: #fff;
}
.main-nav .no-link {
	color: #b3d0d7;
}

/* ----- HOME ----- */
#home_a {
	margin-top: -90px;
	padding-top: 90px;
}
.big-bg {
	background-size: cover;
	background-position: center top;
	background-repeat: none;
}
#home {
	background-image: url(../images/cover3.JPG);
	min-height: 80vh;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.home-content {
	text-align: center;
	/*margin-top: 10%;*/
}
.home-content h2 {
	padding-top: 20px;
}
.home-content p {
	font-size: 1.25rem;
	margin: 10px 0 42px;
}
/* 見出し */
.page-title {
	font-size: 3rem;
	font-family: 'Klee One', cursive;
	font-weight: normal;
}

/* JOB */
#job_a {
	margin-top: -90px;
	padding-top: 90px;
}
#job {
	margin-top: 20px;
	margin-left: 5%;
	margin-right: 5%;
	background: #e6f0f0;
	padding: 20px;
	box-shadow: 5px 5px rgba(0, 0, 0, 0.2);
}
.job-items {
	margin-top: 20px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.sub-title {
	font-size: 1.5rem;
	border-bottom: solid 1px;
	border-color: #4699ca;
	margin-bottom: 20px;
}
.job-contents {
	box-shadow: 2px 2px rgba(0, 0, 0, 0.2);
	margin-bottom: 5px;
}
.hjob-item {
	padding: 10px;
	margin-bottom: 5px;
	font-size: 1rem;
	font-weight: bold;
	text-align: center;
	background-color: #4699ca;
	color: #fff;
}
.hjob-image{
	text-align: center;
}

.job-btn {
	text-align: right;
	margin-top: 0.5rem;
	margin-right: 50px;
}
.job-btn a {
	background-color: #4699ca;
	color: #fff;
	box-shadow: 2px 3px #1760a0;
	border-radius: 5px;
	position: relative;
	display: inline-block;
	top: -2px;
	padding: 10px 32px 5px;
}
.job-btn a:hover {
	color: #fff;
	background:#1760a0;
	box-shadow: 0 1px #1760a0;
	top: 1px;
}
/* NEWS */
#news_a {
	margin-top: -90px;
	padding-top: 90px;
}
#news {
	padding-top: 20px;
	margin-bottom: 20px;
	margin-left: 5%;
	margin-right: 5%;
}

.news-item {
	margin-top: 10px;
	background: #e6f0f0;
	padding: 20px;
	box-shadow: 5px 5px rgba(0, 0, 0, 0.2);
}
.news-item ul{
	margin: 10px;
	padding: 10px;
	list-style: none;
}
.news-item li{
	font-size: 1.125rem;
	display: block;
	padding: 5px;
	border-bottom: dotted 2px #4699ca;
}
.news-item time{
	color: #888888;
	font-weight: bold;
	float: left;
}
.news-item .text {
	padding-left: 150px;
}

/* --- jobs.html --- */
#jobs {
	margin-left: 10px;
	margin-right: 10px;
	margin-bottom: 20px;
}

#jobs-ajenda {
	margin-top: 10px;
	margin-left: 5%;
	margin-right: 5%;
	background: #e6f0f0;
	padding: 20px;
	box-shadow: 5px 5px rgba(0, 0, 0, 0.2);
}
#jobs-ajenda h2 {
	font-size: 1.5rem;
	border-bottom: solid 1px;
	border-color: #4699ca;
	margin-bottom: 20px;
}
#jobs-ajenda ul {
	list-style: none;
}
#jobs-ajenda li {
	padding-left: 10px;
}
#top_a {
	margin-top: -90px;
	padding-top: 90px;
}
#teach_a {
	margin-top: -50px;
	padding-top: 50px;
}
#advice_a {
	margin-top: -50px;
	padding-top: 50px;
}
#it_a {
	margin-top: -50px;
	padding-top: 50px;
}
#foreign_a {
	margin-top: -50px;
	padding-top: 50px;
}
.job-content {
	margin-top: 30px;
	margin-bottom: 10px;
}
.job-image {
	display: none;
}
.job-text h2 {
	padding-top: 10px;
	margin-left: 30px;
	margin-right: 30px;
	border-bottom: solid 1px;
	border-color: #4699ca;
}
.job-text p {
	padding: 10px;
}
/* 先頭移動ボタンの表示 */
/*パソコン・スマホ共通のCSS*/
#PageTopBtn {
    position: fixed; /*ボタンの配置場所を固定*/
    bottom: 20px; /*下からのボタンの配置場所を指定*/
    right: 20px; /*右からのボタンの配置場所を指定*/
}
#PageTopBtn a {
    display: block; /*配置の調整*/
    text-decoration: none; /*文字の下線を消す*/
    color: #fff; /*文字の色*/
    background: #6699cc; /*ボタンの背景色*/
    text-align: center; /*文字を中央に配置*/
    border-radius: 50%; /*ボタンの角を少し丸くする*/
    outline: none; /*クリックしたときの黒い枠を消す*/
}
#PageTopBtn a:hover {
    text-decoration: none;
    background: #3366cc; /*マウスオーバー時の背景色*/
}
#PageTopBtn {
    font-size: 20px;
}
#PageTopBtn a {
    width: 50px;
    height: 42px;
    padding-top: 8px;
}

/* FOOTER */
footer {
	background: #b3d0d7;
	text-align: center;
	padding: 20px 0;
}
footer p {
	font-size: 0.975rem;
}

/* for desktop */
@media (min-width: 900px) {
	.logo {
		width: 40px;
		margin-top: 14px;
	}
	.site a {
		font-size: 1.5rem;
	}
	.nav_toggle {
		display: none;
	}
	.nav {
		top: 0;
		left: 400px;
		opacity: 1;
		visibility: visible;
	}
	.main-nav {
		display: flex;
		margin-top: 20px;
		font-size: 1.125rem;
		list-style: none;
		position: static;
	}
	.main-nav li {
		margin-bottom: 0;
		margin-left: 24px;
	}
	.main-nav li a {
		padding: 10px 5px 10px 5px;
		color: #432;
	}
	.main-nav a:hover {
		background-color: #4699ca;
		color: #fff;
	}
	.page-title {
		font-size: 5rem;
	}
	#job {
		margin-left: 10%;
		margin-right: 10%;
	}
	.job-items {
		margin-top: 20px;
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr;
		gap: 10px;
	}
	#news {
		margin-left: 10%;
		margin-right: 10%;
	}
	#news .container {
		display: grid;
		grid-template-columns: 2fr 1fr;
		gap: 10px;
	}
	#PageTopBtn {
	    font-size: 25px; /*文字のサイズ*/
	}
	#PageTopBtn a {
	    width: 50px; /*ボタンの幅*/
	    height: 45px; /*ボタンの高さ*/
	    padding-top: 2px; /*文字の配置場所の調整*/
	}
	/** job.html **/
	#jobs {
		margin-left: 50px;
		margin-right: 50px;
		margin-bottom: 50px;
	}
.job-content {
		display: grid;
		grid-template-columns: 1fr 4fr;
	}
	.job-image {
		display: contents;
		width: 80%;
	}
	.job-text h2 {
		padding-top: 10px;
		margin-left: 30px;
		border-bottom: solid 1px;
		border-color: #4699ca;
	}
	.job-text p {
		padding: 10px 10px 10px 30px;
	}
}
