/* ----------
	common
---------- */
body {
	background: #fafafa;
	color: #222;
	animation-name:fadeInAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
	opacity:0;
/*	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',"Noto Sans JP",serif;*/
}
@media (min-width: 768px) {
	body {
		min-width: 1000px;
	}
}
.container {
	overflow-x: hidden;
	width: 100%;
	display: flex;

}

.b {
	font-weight: bold;
}
.big {
	font-size: 1.25em;
}
.small {
	font-size: .8em;
}
small{
	font-size: .6em;
}
h2{
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',"Noto Sans JP",serif;
	font-size: 48px;
	font-weight: 600;
	margin:0;
}
@media (max-width: 768px) {
	h2{
		font-size: 26px;
	}
}
h3{
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',"Noto Sans JP",serif;
	font-size: 26px;
	font-weight: 600;
	margin:10px 0;	
}
@media (max-width: 768px) {
	h3{
		font-size: 22px;
	}
}
p{
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	line-height: 165%;
	font-size:16px;
	letter-spacing: 0.05rem;
	font-weight: 100;
	margin:0;
}
@media (max-width: 768px) {
	p{
		font-size: 14px;
	}
}
th,td{
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-weight: 100;
}
.btn_a{
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size:14px;
  font-weight: 100;
  text-align: center;
  padding: 6px 24px;
  text-decoration: none;
  color:#fafafa;
  width: 180px;
  height: 40px;
  display: block;
  position: relative;
  background: #222;
  transition: .4s;
  border: 1px solid #222;
  margin:0 auto;

}
.btn_a:hover{
  background:#fafafa;
  color: #222;
}

section{
	padding:60px 100px;
}
@media (max-width: 768px) {
	section{
		padding:35px 10px;
	}
}
/* ----------
	fadein
---------- */

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}



/* ----------
	loading
---------- */

.loder{
	display: block;
	width: 100vw;
    height: 100vh;
    position: relative;
}

.loader_dot, .loader_dot:before, .loader_dot:after {
  border-radius: 50%;
  width: 2em;
  height: 2em;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: load7 1.4s infinite ease-in-out;
  animation: load7 1.4s infinite ease-in-out
}

.loader_dot {
  color: #a28d69;
  font-size: 10px;
  margin: -2em auto 0;
  position: absolute;
  text-indent: -9999em;
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
  top: 50vh;
  left: 50vw;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 9999
}

.loader_dot::before, .loader_dot::after {
  content: '';
  position: absolute;
  top: 0
}

.loader_dot::before {
  left: -4.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s
}

.loader_dot::after {
  left: 4.5em
}


/* ----------
	header
---------- */

#site-header {
	position: fixed;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',"Noto Sans JP",serif;
	background: #fafafa;
	filter: drop-shadow(0 3px 3px rgba(0,0,0,.1));
	display: flex;
	justify-content: space-between;
	align-content: space-between;
	flex-wrap:wrap;
	padding: 24px;
	width: 25%;
    height: 100vh;
}
@media (max-width: 767px) {
	#site-header {
		background:rgba(250, 250, 250, .9);
		width: 100%;
		height:65px;
		align-items: center;
		align-content: center;
		left: 0;
		padding: 8px 12px;
		position: fixed;
		top: 0;
		z-index: 10001;
	}
}
#site-header .logo_sp{
	display: none;
}
#site-header .logo{
	display: block;
	margin: auto;
}
@media (max-width: 767px) {
	#site-header .logo_sp{
		display: block;
	}
	#site-header .logo{
		display: none;
	}
}
#site-header .brand {
	width: 100%;
	text-align: center;
}
#site-header .brand img{
	width:80px;
}
#site-header .com_name{
	display: none;
}
@media (max-width: 767px) {
	#site-header .brand a{
		display: flex;
		justify-content: flex-start;
		align-items: center;
		text-decoration: none;
		color: #222;
	}
	#site-header .brand {
		width: 50%;
	}
	#site-header .brand img{
		width:55px;
		margin-top:0px;
		margin-right:10px;
	}
	#site-header .com_name{
		display: flex;
		flex-wrap: wrap;
		color:#00529c;
	}
	#site-header .com_name span:first-child{
		font-size: 11px;
    width: 100%;
    text-align: left;
    margin-top: 1px;
	}
	#site-header .com_name span:last-child{
		font-size: 20px;
    width: 100%;
    text-align: left;
    margin: -7px 0 -2px 0;
	}
}

#site-header #nav-switch,
#site-header #nav-close,
#site-header nav small {
	display: none;
}

#site-header ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	margin-bottom: 0px;
}
#site-header li {
	width: 100%;
}
#site-header .sp_header_img{
	display: none;
}
#site-header li a {
	align-items: center;
	color: #222;
	display: flex;
	justify-content: center;
	height: 100%;
	padding: 20px;
	text-decoration: none;
	transition: .3s;
}
#site-header li span{
	width:100%;
	text-align: center;
	
}
#site-header li a:hover {
	color: #aaa;
}
#site-header small{
	text-align: center;
	margin:0 auto;
	color: #aaa;
}
@media (max-width: 767px) {
	#site-header nav small{
		display: block;
		text-align: left;
/*		bottom: 0%;*/
		position: fixed;
		padding:20px 0;
/*		position: fixed;
		top:8vh;
		left: 0;
		padding:8px 12px;*/
	}
	#site-header small{
		display: none;
	}
}


@media (max-width: 767px) {
	#site-header #nav-switch {
		color: #222;
		display: block;
		font-size: 24px;
		transition: .5s;
	}
	#site-header nav {
		background: #fafafa;
		bottom: 0;
		filter: opacity(1);
		min-height: 100vh;
		padding: 40px 20px;
		position: fixed;
		right: 0;
		top: 0;
		transform: translateX(100%);
		transition: .5s;
		width: 50%;
		z-index: 1000;
	}
	#site-header #nav-close {
		color: #222;
		display: block;
		font-size: 24px;
		position: absolute;
		right: 12px;
		top: 8px;
	}
	#site-header button {
	  border-color: transparent;
	  background: transparent;
	  cursor: pointer;
	}
	#site-header .hamburger {
	  width: 39px;
	  height: 29px;
	  position: absolute;
	  top: 17px;
	  right: 16px;
	  z-index: 1001;
	}

	#site-header #nav-switch .hamburger_bar {
		display: block;
		width: 90%;
		height: 1.5px;
		position: absolute;
		left: 0;
		background: #aaa;
		transition: top 0.5s, transform 0.5s, opacity 0.5s;
		z-index: 1;
	}
	#site-header #nav-switch .hamburger_bar:nth-child(1) {
		top: 0;
	}
	#site-header #nav-switch .hamburger_bar:nth-child(2) {
		top: 50%;
		transform: translateY(-50%);
	}
	#site-header #nav-switch .hamburger_bar:nth-child(3) {
		top: 100%;
  		transform: translateY(-100%);
	}

	#site-header #nav-switch.open .hamburger_bar:nth-child(1) {
		top: 50%;
  		transform: translateY(-50%) rotate(135deg);
	}
	#site-header #nav-switch.open .hamburger_bar:nth-child(2) {
		transform: translate(50%, -50%);
		opacity: 0;
	}
	#site-header #nav-switch.open .hamburger_bar:nth-child(3) {
		top: 50%;
  		transform: translateY(-50%) rotate(-135deg);
	}

	.overlay {
	  background-color: #000;
	  cursor: pointer;
	  height: 100vh;
	  left: 0;
	  opacity: 0;
	  position: fixed;
	  top: 0;
	  transition: all 0.6s;
	  visibility: hidden;
	  width: 100vw;
	  z-index: 1;
	}

	/* open */
	#site-header #nav-switch.open {
/*		filter: opacity(0);*/
	}
	#site-header nav.open {
		transform: translateX(0); /*元の位置に戻すcss*/
	}

	.open .overlay{
		opacity: 0.5;
		visibility: visible;
	}
@media (max-width: 767px) {
	#site-header ul {
		align-content: flex-start;
		flex-wrap: wrap;
	}
	#site-header li {
		width: 100%;
		margin: 20px 0;
	}
	#site-header li span{
	width:100%;
	text-align: left;
	}

/*	#site-header nav{*/
/*		display: none;*/
/*		position: fixed;
		bottom:0;
		left:0;
		width:100%;
		background: #fafafa;*/
	}
	/*#site-header ul {
		align-content: flex-start;
		flex-wrap: wrap;
		height:calc(100vw/4);
	}
	#site-header li {
		width: 25%;
		height: 100%;
		background: #aaa;
		display: flex;
		justify-content: center;
		align-content: center;
		flex-wrap: wrap;
	}*/

	#site-header .sp_header_img{
		display: block;
		width: 30px;
    margin: 5px;
	}
	#site-header li a {
		font-size: 14px;
		width:100%;
		height: auto;
		color: #222;
		text-align: left;
		justify-content: center;
		flex-wrap: wrap;
		margin: 0px 1px 0px 1px;
		padding: 0 3px;
		line-height: 135%;
	}
}


/* ----------
	footer
---------- */

#footer{
	display: none;
}
@media (max-width: 767px) {
	#footer {
		position: fixed;
		font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',"Noto Sans JP",serif;
		background: #fafafa;
		display: flex;
		justify-content: space-between;
		align-content: space-between;
		flex-wrap:wrap;
		padding: 24px;
		width: 25%;
	  height: 100vh;
	}
	#footer ul {
		display: flex;
		flex-wrap: wrap;
		justify-content:space-between;
		margin: 0;
		margin-bottom: 0px;
	}
	#footer li {
		width: 100%;
	}
	#footer li a {
		align-items: center;
		color: #222;
		display: flex;
		justify-content: center;
		height: 100%;
		padding: 20px;
		text-decoration: none;
		transition: .3s;
	}
	#footer li span{
		width:100%;
		text-align: center;
		order: 2;
	}
	#footer .material-symbols-outlined {
	  font-variation-settings:
	  'FILL' 0,
	  'wght' 100,
	  'GRAD' -25,
	  'opsz' 48;
	  order: -1;
    font-size: 50px;
    color: #fafafa;
	}
}
@media (max-width: 767px) {
	#footer nav{
		position: fixed;
		bottom:0;
		left:0;
		width:100%;
		background: #fafafa;
	}
	#footer ul {
		align-content: flex-start;
		flex-wrap: wrap;
		height:calc(100vw/4);
	}
	#footer li {
		width: 24.5%;
		height: 100%;
		background: #aaa;
		display: flex;
		justify-content: center;
		align-content: center;
		flex-wrap: wrap;
	}
	#footer .sp_header_img{
		display: block;
		width: 30px;
    margin: 5px;
	}
	#footer li a {
		font-size: 3.5vw;
		width:100%;
		height: auto;
		color: #fff;
		flex-wrap: wrap;
		text-align: center;
		justify-content: center;
		margin: 0px 1px 0px 1px;
		padding: 0 3px;
		line-height: 135%;
	}
	#footer small{
		display: block;
		position: fixed;
		bottom:13vh;
		right: 0;
		padding:5px 0px;
	}
}



/* ----------
	index
---------- */

/* common */
.index .body {
	padding: 0 0px;
	max-width: 1000px;
}
@media (max-width: 767px) {
	.index .body {
		padding: 0 20px;
	}
}


/* /common */
.index .content{
	width:75%;
	right: 0;
	position: absolute;
}
@media (max-width: 767px) {
	.index .content{
		width:100%;
		margin-top:65px;
	}
}
.index .kv {
	height: 230px;
	position: relative;
	overflow: hidden;
	margin: auto;
}
@media (max-width: 767px) {
	.index .kv {
		height: 100px;
		z-index: 1000;
/*		padding-top:65px;*/
	}
}

.index .kv .mainvisu{
	background-image: url('../img/mainvisu_apply.jpg');
	background-repeat: no-repeat;
	background-size: cover;
  background-position: top;
  height:230px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
	.index .kv .mainvisu{
		height: 100px;
	}
}
.index .kv h2{
	color: #fafafa;
}



/* ----------
	section
---------- */
@media (max-width: 767px) {
	#section_1{
		padding-top:10px;
	}
}
#section_1 .apply_img{
	display: block;
	width:auto;
}
#section_1 .apply_img_sp{
	display: none;
}
@media (max-width: 767px) {
	#section_1 .apply_img{
		display: none;
	}
	#section_1 .apply_img_sp{
		display: block;
		width:270px;
	}
}
#section_2 .btn_a{
	margin-top:25px;
}
#section_2 table{
  border-collapse: collapse;
  width: 50%;
}
#section_2 tr{
	padding:10px;
	margin:1px 0;
}
#section_2 th{
	background:#aaa;
	font-weight: 400;
	color:#fafafa;
	border-top:1px solid #fafafa;
	border-bottom:1px solid #fafafa;
	text-align: left;
	padding: 10px 10px;

}
#section_2 tr:first-child th{
	border-top:1px solid #aaa;
}
#section_2 tr:last-child th{
	border-bottom:1px solid #aaa;
}
#section_2 td{
	border-top:1px solid #aaa;
	border-bottom:1px solid #aaa;
	padding: 10px 0px 10px 20px;
}
#section_2 td:last-child{
	border-right:1px solid #aaa;
}
#section_2 table img{
	width:35px;
	transition: .3s;
}
#section_2 table a:hover img{
	 transform:scale(1.2,1.2);
}
@media (max-width: 767px) {
  #section_2 table {
    width: 100%;
    font-size: 14px;
  }
  /*th,
  td {
    display: block;
    width: 100%;
    border-bottom:none;
  }
  #section_2 th{
		border:1px solid #aaa;
	}*/
}
@media (max-width: 767px) {
	#section_2{
		margin-bottom:calc(100vw/4);
	}

