@charset 'UTF-8';

html,body,
header,footer,main,nav,address,
h1,h2,h3,h4,h5,h6,
ol,ul,li,
div,p,
table,tbody,thead,caption,tr,th,td,
dl,dt,dd,
a,span,br,img,video,
input,textarea,select,option,button {
	margin: 0;
	padding: 0;
	list-style: none;
	vertical-align: top;
	border: none;
	text-align: left;
	text-decoration: none;
	font-size: 15px;
	font-style: normal;
	font-weight: normal;
	font-family: Arial,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #333;
	box-sizing: border-box;
}

main {
	display: block;
}

.clearfix:after {
	content: '';
	display: block;
	clear: both;
}

img {
	max-height: 100%;
}

a img:hover {
	opacity: 0.8;
}

a {
	transition: .3s;
}

.inner {
	width: 1000px;
	margin: auto;
}

.error {
	color: #f55;
}

header {
  padding: 16px 0 0;
  background-color: #000;
  width: 100%;
	min-width: 1000px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
}

header h1 {
  text-align: center;
  font-size: 16px;
  color: #fff;
}

header h1 span {
  display: block;
  text-align: center;
  font-size: 32px;
  margin-top: 4px;
  letter-spacing: 8px;
  font-weight: bold;
  color: #fff;
  text-shadow: 1px 1px 3px #ccc;
}

nav {
  background-color: #FF4001;
  margin-top: 16px;
}
/*
nav ul {
  text-align: center;
}

nav ul li {
  display: inline-block;
} 20210621削除*/
/*20210621追加*/
nav ul {
	display: flex;
	justify-content: center;
}

nav ul li a {
	padding: 10px 40px;
	color: #fff;
	text-align: center;
	display: block;
	font-weight: bold;
	cursor: pointer;
}

nav ul li a span {
	display: block;
	text-align: center;
	color: #fff;
	font-size: 12px;
}

nav ul li a:hover {
	background-color: #000;
}

main {
	margin-top: 140px;/*20210621修正150px→140px*/
	min-width: 1000px;
}

#mainview {
	height: 500px;
	background-image: url(/img/main.jpg);/*20180629修正*/
	background-size: cover;
	background-position: center;
}

#mainview h2 {
	font-size: 40px;
	font-weight: bold;
	text-shadow: 0 0 5px #000;
	color: #fff;
	text-align: left;/*20180629修正center→left*/
	letter-spacing: 1px;
	padding-top: 200px;
	padding-left:5%;/*20180629追加*/
}

.inner h2 {
	color: #FF4001;
	font-size: 28px;
}

/*2022/1/13追加*/
#news {
	padding-top: 48px;
}

#news .inner {
	width: 800px;
	padding: 16px;
	background-color: #fee;
	border: 1px solid #f55;
}

#news .inner h2 {
	color: #f55;
	margin-bottom: 8px;
	font-size: 18px;
	font-weight:bold;
}

#news .inner p {
	line-height: 1.5em;
}

#about {
	padding-top: 64px;
}

#about h2,
#about p {
	text-align: center;
}

#about h2 {
	margin-bottom: 16px;
}

#about p {
	line-height: 1.8em;
	margin-bottom: 16px;
}
/*campaign 20210621追加*/
#about .campaign {
	width: 800px;
	margin: auto;
	margin-top: 32px;
	background-image: url(/middle2nd/img/01.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
	height: 140px;
	border-radius: 5px;
	box-shadow: 1px 1px 5px 0 #aaa;
}

#about .campaign:before {
	content: '';
	display: block;
	width: 100%;
	height: 140px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

#about .campaign:hover:before {
	background-color: rgba(255,255,255,.1);
}

#about .campaign a {
	display: flex;
	width: 100%;
	height: 140px;
	justify-content: center;
	align-items: center;
	z-index: 2;
	position: relative;
}

#about .campaign a:after {
	content: '\f105';
	font-family: FontAwesome;
	font-weight: bold;
	font-size: 32px;
	margin-left: 40px;
	color: #FF4001;
	text-shadow:
		0px 2px 0 #fff,
		0px 1px 0 #fff,
		0px 0px 0 #fff,
		0px -1px 0 #fff,
		0px -2px 0 #fff,
		1px 2px 0 #fff,
		1px 1px 0 #fff,
		1px 0px 0 #fff,
		1px -1px 0 #fff,
		1px -2px 0 #fff,
		2px 2px 0 #fff,
		2px 1px 0 #fff,
		2px 0px 0 #fff,
		2px -1px 0 #fff,
		2px -2px 0 #fff,
		-1px 2px 0 #fff,
		-1px 1px 0 #fff,
		-1px 0px 0 #fff,
		-1px -1px 0 #fff,
		-1px -2px 0 #fff,
		-2px 2px 0 #fff,
		-2px 1px 0 #fff,
		-2px 0px 0 #fff,
		-2px -1px 0 #fff,
		-2px -2px 0 #fff;
}

#about .campaign a h3 {
	font-size: 28px;
	font-weight: bold;
	color: #FF4001;
	text-shadow:
		0px 2px 0 #fff,
		0px 1px 0 #fff,
		0px 0px 0 #fff,
		0px -1px 0 #fff,
		0px -2px 0 #fff,
		1px 2px 0 #fff,
		1px 1px 0 #fff,
		1px 0px 0 #fff,
		1px -1px 0 #fff,
		1px -2px 0 #fff,
		2px 2px 0 #fff,
		2px 1px 0 #fff,
		2px 0px 0 #fff,
		2px -1px 0 #fff,
		2px -2px 0 #fff,
		-1px 2px 0 #fff,
		-1px 1px 0 #fff,
		-1px 0px 0 #fff,
		-1px -1px 0 #fff,
		-1px -2px 0 #fff,
		-2px 2px 0 #fff,
		-2px 1px 0 #fff,
		-2px 0px 0 #fff,
		-2px -1px 0 #fff,
		-2px -2px 0 #fff;
}

#vision {
	margin-top: 64px;
	padding: 64px 0 ;
	background-color: #f5f5f5;
}

#vision h2,
#vision p {
	text-align: center;
}

#vision h2 {
	margin-bottom: 16px;
}

#vision p {
	line-height: 1.8em;
	margin-bottom: 16px;
}

#training {
	padding: 64px 0;/*padding-top→padding修正*/
}

#training h2,
#training p {
	text-align: center;
}

#training h2 {
	margin-bottom: 16px;
}

#training p {
	line-height: 1.8em;
	margin-bottom: 16px;
}

/*#training p img {
	width: 800px;
	margin: 40px 0;
}*/

/*2022/1/26追加*/

.slide {
 position: relative;
 width: 100%;
 height: 577px;
 overflow: hidden;
}
.slide img {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 width: 800px;
 height: auto;
 opacity: 0;
}
@keyframes thumb1 {
 0% {
  filter: grayscale(0%);
 }
 6% {
  filter: grayscale(100%);
 }
 10% {
  filter: grayscale(100%);
 }
 28% {
  filter: grayscale(100%);
 }
 37% {
  filter: grayscale(0%);
 }
 100% {
  filter: grayscale(0%);
 }
}
@keyframes thumb2 {
 0% {
  filter: grayscale(0%);
 }
 6% {
  filter: grayscale(100%);
 }
 10% {
  filter: grayscale(100%);
 }
 28% {
  filter: grayscale(100%);
 }
 37% {
  filter: grayscale(0%);
 }
 100% {
  filter: grayscale(0%);
 }
}
@keyframes thumb3 {
 0% {
  filter: grayscale(0%);
 }
 6% {
  filter: grayscale(100%);
 }
 10% {
  filter: grayscale(100%);
 }
 28% {
  filter: grayscale(100%);
 }
 37% {
  filter: grayscale(0%);
 }
 100% {
  filter: grayscale(0%);
 }
}
@keyframes thumb4 {
 0% {
  filter: grayscale(0%);
 }
 6% {
  filter: grayscale(100%);
 }
 10% {
  filter: grayscale(100%);
 }
 28% {
  filter: grayscale(100%);
 }
 37% {
  filter: grayscale(0%);
 }
 100% {
  filter: grayscale(0%);
 }
}
@keyframes slideshow1 {
 0% {
  opacity: 0;
 }
 10% {
  opacity: 1;
 }
 28% {
  opacity: 1;
 }
 38% {
  opacity: 0;
 }
 100% {
  opacity: 0;
 }
}
 
@keyframes slideshow2 {
 0% {
  opacity: 0;
 }
 
 10% {
  opacity: 1;
 }
 28% {
  opacity: 1;
 }
 38% {
  opacity: 0;
 }
 100% {
  opacity: 0;
 }
}
@keyframes slideshow3 {
 0% {
  opacity: 0;
 }
 
 10% {
  opacity: 1;
 }
 
 28% {
  opacity: 1;
 }
 
 38% {
  opacity: 0;
 }
 
 100% {
  opacity: 0;
 }
 
}
@keyframes slideshow4 {
 0% {
  opacity: 0;
 }
 
 10% {
  opacity: 1;
 }
 
 28% {
  opacity: 1;
 }
 
 38% {
  opacity: 0;
 }
 
 100% {
  opacity: 0;
 }
 
}
.thumbnail {
 list-style: none;
 display: flex;
 padding: 0;
 margin-top: 5px;
 justify-content: center;
}
input[type="radio"] {
 display: none;
}
.thumbnail img {
 display: block;
 width: 100px;
 object-fit: cover;
 margin: 10px;
 cursor: pointer;
}
/*ページを開いたとき＆一つ目のサムネイルをクリックしたとき*/
#img1:checked ~ .thumbnail label[for="img1"] img {
 animation: thumb1 24s linear infinite both;
 animation-delay: 0s;
 cursor: auto;
}
#img1:checked ~ .thumbnail label[for="img2"] img {
 animation: thumb1 24s linear infinite both;
 animation-delay: 6s;
}
#img1:checked ~ .thumbnail label[for="img3"] img {
 animation: thumb1 24s linear infinite both;
 animation-delay: 12s;
}
#img1:checked ~ .thumbnail label[for="img4"] img {
 animation: thumb1 24s linear infinite both;
 animation-delay: 18s;
}
#img1:checked ~ .slide img {
 animation: slideshow1 24s linear infinite;
}
#img1:checked ~ .slide img:nth-child(1) {
 animation-delay: 0s;
}
#img1:checked ~ .slide img:nth-child(2) {
 animation-delay: 6s;
}
#img1:checked ~ .slide img:nth-child(3) {
 animation-delay: 12s;
}
#img1:checked ~ .slide img:nth-child(4) {
 animation-delay: 18s;
}
/*二つ目のサムネイルをクリックしたとき*/
#img2:checked ~ .thumbnail label[for="img1"] img {
 animation: thumb2 24s linear infinite both;
 animation-delay: 18s;
}
#img2:checked ~ .thumbnail label[for="img2"] img {
 animation: thumb2 24s linear infinite both;
 animation-delay: 0s;
 cursor: auto;
}
#img2:checked ~ .thumbnail label[for="img3"] img {
 animation: thumb2 24s linear infinite both;
 animation-delay: 6s;
}
#img2:checked ~ .thumbnail label[for="img4"] img {
 animation: thumb2 24s linear infinite both;
 animation-delay: 12s;
}
#img2:checked ~ .slide img {
 animation: slideshow2 24s linear infinite;
}
#img2:checked ~ .slide img:nth-child(1) {
 animation-delay: 18s;
}
#img2:checked ~ .slide img:nth-child(2) {
 animation-delay: 0s;
}
#img2:checked ~ .slide img:nth-child(3) {
 animation-delay: 6s;
}
#img2:checked ~ .slide img:nth-child(4) {
 animation-delay: 12s;
}
/*三つ目のサムネイルをクリックしたとき*/
#img3:checked ~ .thumbnail label[for="img1"] img {
 animation: thumb3 24s linear infinite both;
 animation-delay: 6s;
}
#img3:checked ~ .thumbnail label[for="img2"] img {
 animation: thumb3 24s linear infinite both;
 animation-delay: 18s;
}
#img3:checked ~ .thumbnail label[for="img3"] img {
 animation: thumb3 24s linear infinite both;
 animation-delay: 0s;
 cursor: auto;
}
#img3:checked ~ .thumbnail label[for="img4"] img {
 animation: thumb3 24s linear infinite both;
 animation-delay: 6s;
}
#img3:checked ~ .slide img {
 animation: slideshow3 24s linear infinite;
 animation-delay: 12s;
}
#img3:checked ~ .slide img:nth-child(1) {
 animation-delay: 12s;
}
#img3:checked ~ .slide img:nth-child(2) {
 animation-delay: 18s;
}
#img3:checked ~ .slide img:nth-child(3) {
 animation-delay: 0s;
}
#img3:checked ~ .slide img:nth-child(4) {
 animation-delay: 6s;
}
/*四つ目のサムネイルをクリックしたとき*/
#img4:checked ~ .thumbnail label[for="img1"] img {
 animation: thumb4 24s linear infinite both;
 animation-delay: 6s;
}
#img4:checked ~ .thumbnail label[for="img2"] img {
 animation: thumb4 24s linear infinite both;
 animation-delay: 12s;
}
#img4:checked ~ .thumbnail label[for="img3"] img {
 animation: thumb4 24s linear infinite both;
 animation-delay: 18s;
}
#img4:checked ~ .thumbnail label[for="img4"] img {
 animation: thumb4 24s linear infinite both;
 animation-delay: 0s;
 cursor: auto;
}
#img4:checked ~ .slide img {
 animation: slideshow4 24s linear infinite;
 animation-delay: 12s;
}
#img4:checked ~ .slide img:nth-child(1) {
 animation-delay: 6s;
}
#img4:checked ~ .slide img:nth-child(2) {
 animation-delay: 12s;
}
#img4:checked ~ .slide img:nth-child(3) {
 animation-delay: 18s;
}
#img4:checked ~ .slide img:nth-child(4) {
 animation-delay: 0s;
}
/* ---------------------------------- */

#training .clearfix {
	margin-top: 40px;
}

#training .clearfix div {
	width: 320px;
	float: left;
	margin-left: 20px;
	border: 1px solid #ccc;
}

#training .clearfix div:first-child {
	margin-left: 0;
}

#training .clearfix div h3 {
	text-align: center;
	font-weight: bold;
	color: #fff;
	padding: 15px 0;
	font-size: 20px;
}

#training .clearfix div:nth-child(even) h3 {
	background-color: #333;
}

#training .clearfix div:nth-child(odd) h3 {
  background-color: #FF4001;
}

#training .clearfix div p {
	text-align: left;
	padding: 20px 40px;
	min-height: 240px;
}
/*staff 20210621追加*/#staff {
	padding: 64px 0;
	background-color: #f5f5f5;
}

#staff h2,
#staff p {
	text-align: center;
}

#staff h2 {
	margin-bottom: 16px;
}

#staff p {
	line-height: 1.8em;
	margin-bottom: 16px;
}

#staff p img {
	width: 400px;
	margin: 10px 0;
}

#staff .clearfix {
	margin-top: 40px;
}

#staff .clearfix div {
	width: 490px;
	/*float: left;*/
	margin: 10px auto;
	border: 1px solid #ccc;
}

/*#staff .clearfix div:first-child {
	margin-left: 0;
}
#staff .clearfix div:last-child {
	margin-right: 0;
}*/

#staff .clearfix div h3 {
	text-align: center;
	font-weight: bold;
	color: #fff;
	padding: 15px 0;
	font-size: 20px;
}

#staff .clearfix div:nth-child(even) h3 {
	background-color: #333;
}

#staff .clearfix div:nth-child(odd) h3 {
  background-color: #FF4001;
}

#staff .clearfix div p {
	text-align: left;
	padding: 20px 40px;
	min-height: 240px;
}

#price {
	margin-top: 64px;
	padding: 64px 0 ;
	/*background-color: #f5f5f5; 20210621削除*/
}

#price h2 {
	text-align: center;
	margin-bottom: 16px;
}

#price table {
	width: 100%;
	border: 2px solid #fff;
	border-collapse: collapse;
}

#price table tr.b td {
	border-bottom: 2px solid #f5f5f5;
}

#price table th {
	background-color: #FF4001;
	color: #fff;
}

#price table th,
#price table td {
	padding: 10px;
	width: 33%;
	font-weight: bold;
	font-size: 16px;
	text-align: center;
	border: 2px solid #fff;
}

#price table td {
	background-color: #fff;
}

#price aside {
	margin-top: 16px;
	border: 1px dashed #555;
	padding: 16px;
	background-color: #fff;
}

#price aside p {
	font-weight: bold;
}

#price aside ul {
	margin-top: 6px;
}

#price aside ul li {
	list-style-position: inside;
	list-style-type: circle;
	padding: 6px 0;
	color: #FF4001;
}

#form {
	padding: 64px 0;
	background-color: #f5f5f5;/*20210621追加*/
}

#form h2 {
	text-align: center;
	margin-bottom:16px;
}

#form p {
	text-align:center;
}

#form table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}

#form table tr {
	border-bottom: 1px solid #ccc;
}

#form table th,
#form table td {
	padding: 16px;
}

#form table th {
	position: relative;
	font-weight: bold;
	color: #555;
	letter-spacing: 2px;
	width: 30%;
}

#form table th span {
	position: absolute;
	right: 16px;
}

#form table th .required {
	color: #f55;
}

#form table th .optional {
	color: #36a;
}

#form table td [type="text"],
#form table td textarea {
	border: 1px solid #ccc;
	width: 100%;
	padding: 6px;
	background-color: #f7f7f7;
}

#form table td [type="text"]:focus,
#form table td textarea:focus {
	background-color: #fff;
}

#form .btns {
	text-align: center;
	padding: 16px;
}

#form .btns .g-recaptcha > div {
	margin: auto;
}

#form .btns #confirm-btn {
	color: #fff;
	margin-top: 16px;
	padding: 16px 64px;
	background-color: #000;
	transition: .3s;
	cursor: pointer;
}

#form .btns #confirm-btn:hover {
  background-color: #FF4001;
}

#access {
	padding-top: 64px;
}

#access h2 {
	color: #FF4001;
	font-size: 28px;
	text-align: center;
	margin-bottom: 16px;
}

#access p {
	text-align: center;
}

#gmap {
	width: 100%;
	height: 500px;
	margin-top: 16px;
}

footer {
	background-color: #000;
	min-width: 1000px;
}

footer .inner {
	padding: 32px 0;
}

footer .inner h3,
footer .inner p {
	text-align: center;
	color: #fff;
}

/*20190313修正*/
.tel-number {
	color: #fff !important;
	text-decoration: none !important;
}

footer .inner h3 {
	font-size: 32px;
	letter-spacing: 8px;
	font-weight: bold;
	color: #fff;
	text-shadow: 1px 1px 3px #ccc;
	margin-bottom: 8px;
}

footer .inner p {
	font-size: 13px;
	letter-spacing: 1px;
}

footer address {
	background-color: #FF4001;
	text-align: center;
	color: #fff;
	line-height: 50px;
}

#page-top {
	position: fixed;
	bottom: 0;
	right: 0;
	font-size: 0;
	width: 50px;
	background-color: #FF4001;
	text-align: center;
	cursor: pointer;
}

#page-top:before {
	content: '\f106';
	font-family: FontAwesome;
	line-height: 50px;
	font-size: 20px;
	color: #fff;
}

#page-top:hover {
	background-color: #000;
}

/*thanks*/
#thanks main .inner {
	padding-top: 40px;
}

#thanks main .inner h2 {
	margin-bottom: 16px;
	text-align: center;
}

#thanks main .inner p {
	width: 720px;
	margin: 0 auto 16px;
}

#thanks footer {
	margin-top: 64px;
}

@media only screen and (max-width: 480px) {
	.inner {
		width: 100%;
		padding: 0 10px;
	}
	header {
	 padding: 8px 0 0;
	 min-width: initial;
	}
	main {
		margin-top: 130px;
		min-width: initial;
	}
	.inner h2 {
		font-size: 22px;
	}
	header h1 span {
		font-size: 24px;
	}
	/*20210621削除
	nav {
		margin-top: 6px;
	}
	nav ul li {
		width: 50%;
		border-top: 1px solid #000;
	}
	nav ul li:nth-child(odd) {
		border-right: 1px solid #000;
	}
	nav ul li:nth-child(5) {
		border-right: none;
		width: 100%;
	}
	nav ul li a {
		padding: 6px 0;
		font-size: 14px;
	}
	nav ul li a span {
		display: none;
	}*/
	/*20210621追加*/
	nav {
		margin-top: 6px;
	}
	nav ul {
		flex-wrap: wrap;
	}
	nav ul li {
		width: 33.33333333333333333%;
		border-bottom: 1px solid #000;
		border-right: 1px solid #000;
	}
	nav ul li:nth-child(3n) {
		border-right: none;
	}
	/*携帯から見れるボタン、変更するときは修正必要！！*/
	/*一番最後のメニュ*/
	nav ul li:nth-last-child(1){
		width:50%;
		border-right: none;
	}
	nav ul li:nth-last-child(2){
		width:50%;
	}
	nav ul li a {
		display: flex;
		padding: 6px 0;
		font-size: 3vw;
		justify-content: center;
		align-items: center;
	}
	nav ul li a span {
		display: none;
	}
	#mainview {
		height: 300px;
	}
	#mainview h2 {
		line-height: initial;
		font-size: 24px;
		padding-top: 100px;
	}
	#about {
		padding-top: 40px;
	}
	#vision {
		padding: 40px 0;
	}
	#training {
		padding-top: 40px;
	}
	#training p img {
		width: 100%;
		margin: 20px 0;
	}
		/*20220126追加*/
	.slide {
		width: 100%;
		height: 300px;
	}
	.slide img {
		width: 100%;
		margin: 20px 0 0 0;
	}
	.thumbnail img {
		width: 80%;
	}
	#training .clearfix div {
		float: none;
		width: 90%;
		margin: 0 auto 20px!important;
	}
	#training .clearfix div h3 {
		padding: 8px 0;
		font-size: 16px;
	}
	#training .clearfix div p {
		min-height: initial;
		padding: 20px;
	}
	/*staff 20210621追加*/	#staff {
		padding-top: 40px;
	}
	#staff p img {
		width: 100%;
		margin: 20px 0;
	}
	#staff .clearfix div {
		float: none;
		width: 80%;
		margin: 0 auto 20px!important;
	}
	#staff .clearfix div p {
		padding: 15px;
	}
	#staff .clearfix div h3 {
		padding: 8px 0;
		font-size: 16px;
	}
	#staff .clearfix div p {
		min-height: initial;
	}
	#price {
		padding-top: 40px;
	}
	#price table th,
	#price table td {
		font-size: 13px;
		padding: 8px 4px;
	}
	#form {
		padding-top: 40px;
	}
	#form table,
	#form table tbody,
	#form table tr,
	#form table th,
	#form table td {
		display: block;
		width: 100%;
	}
	#form table tr {
		border: none;
	}
	#form table th,
	#form table td {
		padding: 4px 8px;
	}
	#form .btns #confirm-btn {
		padding: 16px 32px;
	}
	#access {
		padding-top: 40px;
	}
	#gmap {
		height: 300px;
	}
	footer {
		min-width: initial;
	}
	footer .inner h3 {
		font-size: 24px;
	}
	#thanks main .inner p {
		width: 100%;
	}
	/*2022/1/13追加*/
	#news {
		padding-top: 16px;
		padding-left: 16px;
		padding-right: 16px;
	}
	#news .inner h2 {
		font-size: 16px;
	}
	#news .inner {
		width: 100%;
	}
}