@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);

/*--------------------------------------------------
  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, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  font-weight:normal;/* Yutaka added */
  vertical-align: baseline;
}

body {
  line-height:1;
  /*min-width: 1100px;*/
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Yutaka added */
table, tr, th, td, caption {
  vertical-align: middle;
  text-align:left;
}

img {
  vertical-align: top;
  font-size:0;
  line-height: 0;
}
/*--------------------------------------------------
  body
--------------------------------------------------*/

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
}


body {
  color: #111;
  font-size : 13px;
  line-height : 1.6em;
	font-family: 'Noto Sans Japanese', sans-serif;
}

a {
  transition: all 0.3s ease;
  text-decoration: none;
  color: #111;
}

a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

.pc-no01 {
  display: none;
}

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

.ofi-cover {
  object-fit: cover;
  font-family: 'object-fit: cover';
}

.ofi-contain {
  object-fit: contain;
  font-family: 'object-fit: contain';
}


/*--------------------------------------------------
  text
--------------------------------------------------*/

.bold {
  font-weight: bold;
}


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

#header {
	width: 100%;
	background: #fff;
	min-width: 932px;
}

	#header .inner {
		margin: auto;
		padding: 0 24px;
		max-width: 1128px;
	}

		#header .h-logo {
			float: left;
			display: table;
			height: 96px;
		}

			#header .h-logo h1 {
				display: table-cell;
				vertical-align: middle;
				width: 180px;
			}

				#header .h-logo h1 img {
					width: 100%;
				}

			#header .h-logo h2 {
				padding: 0 0 0 12px;
				display: table-cell;
				vertical-align: middle;
				line-height: 1.2em;
			}

	#header .g-nav {
		float: right;
	}

			#header .g-nav .nav01 {
				margin: 0 12px 0 0;
				float: right;
			}

				#header .g-nav .nav01 li {
					padding: 0 8px;
					display: inline-block;
					text-align: center;
				}

					#header .g-nav .nav01 li a {
						display: table;
						height: 96px;
						font-size: 14px;
					}

						#header .g-nav .nav01 li span {
							display: table-cell;
							vertical-align: middle;
							line-height: 1.4em;
						}



			#header .g-nav .nav02 {
				float: right;
			}


				#header .g-nav .nav02 li {
					display: inline-block;
				}

				#header .g-nav .nav02 li .h-btn {
					margin: 24px 0 0 0;
					display: block;
					width: 168px;
					line-height: 48px;
					text-align: center;
					position: relative;
					font-weight: bold;
					font-size: 14px;
				}

					#header .g-nav .nav02 li .h-btn::before {
						position: absolute;
						margin: -4px 0 0 0;
						top: 50%;
						right: 14px;
						display: block;
						content: '';
						width: 6px;
						height: 6px;
						border-top: 1px solid;
						border-right: 1px solid;
						-webkit-transform: rotate(45deg);
						transform: rotate(45deg);
					}


						#header .inner .g-nav .nav02 li .h-btn01 {
							width: 164px;
							line-height: 44px;
							border: solid 2px;
							border-color: #34beea;
							color: #34beea;
						}

						#header .inner .g-nav .nav02 li .h-btn02 {
							background: #34beea;
							color: #fff;
						}

							#header .g-nav .nav02 li .h-btn02::before {
								border-color: #fff;
							}

@media screen and (max-width: 1100px){

			#header .h-logo h1 {
				width: 160px;
			}
	
		#header .g-nav .nav01 li {
			padding: 0 2px;
		}

			#header .g-nav .nav01 li a {
				font-size: 13px;
			}
	
		#header .g-nav .nav02 li .h-btn {
			width: 120px;
		}
	
		#header .inner .g-nav .nav02 li .h-btn01 {
			width: 116px;
		}
	
		#header .g-nav .nav02 li .h-btn::before {
			right: 8px;
		}
}



@media screen and (max-width: 932px){

			#header .h-logo h1 {
				width: 150px;
			}

			#header .h-logo h2 {
				padding: 0 0 0 8px;
				font-size: 11px;
			}
	
		#header .g-nav .nav01 li {
			padding: 0 2px;
		}

			#header .g-nav .nav01 li a {
				font-size: 13px;
			}
	
}

/*--------------------------------------------------
  btn
--------------------------------------------------*/

.btn {
	display: block;
	position: relative;
}

	.btn01 {
		height: 38px;
		width: 38px;
		background: #34beea;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}

		.btn01::before {
			position: absolute;
			margin: -4px 0 0 0;
			top: 50%;
			right: 16px;
			display: block;
			content: '';
			width: 6px;
			height: 6px;
			border-top: 2px solid;
			border-right: 2px solid;
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
			border-color: #fff;
		}


/*--------------------------------------------------
   main
--------------------------------------------------*/ 
#main {
	min-width: 932px;
}

/*--------------------------------------------------
   mv
--------------------------------------------------*/

.top .mv {
	position: relative;
	z-index: 777;
}

	.top .mv .mv-img img {
		width: 100%;
		height: 756px;
	}



/*----------pager----------*/


.top .mv .slide-dots {
  position: absolute;
  text-align: center;
  margin: 0;
  transform: translateX(-50%);
  z-index: 888;
  bottom: -48px;
  left: 50%;
}

	.top .mv .slide-dots li {
		display: inline-block;
		padding: 0 8px;
	}

	.top .mv .slide-dots li button {
		width: 6px;
		height: 6px;
		background: #aaa;
		border-radius: 50%;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}

	.top .mv .slide-dots .slick-active button {
		width: 12px;
		height: 12px;
		background: #34beea;
		position: relative;
		top: -3px;
	}

	
/*----------scroll----------*/

.scroll {
	margin: -96px 0 0 0;
	position: relative;
	z-index: 888;
	text-align: center;
}

	.scroll a {
		color: #fff;
		font-size: 14px;
	}

		.scroll a span {
			position: absolute;
			top: 16px;
			left: 50%;
			width: 14px;
			height: 14px;
			margin-left: -7px;
			border-left: 1px solid #fff;
			border-bottom: 1px solid #fff;
			-webkit-transform: rotate(-45deg);
			transform: rotate(-45deg);
			-webkit-animation: sdb 2s infinite;
			animation: sdb 2s infinite;
			opacity: 0;
			box-sizing: border-box;
		}

			.scroll a span:nth-of-type(1) {
				-webkit-animation-delay: 0s;
				animation-delay: 0s;
			}

			.scroll a span:nth-of-type(2) {
				top: 26px;
				-webkit-animation-delay: .15s;
				animation-delay: .15s;
			}
			.scroll a span:nth-of-type(3) {
				top: 36px;
				-webkit-animation-delay: .3s;
				animation-delay: .3s;
			}


				@-webkit-keyframes sdb {
					0% {
						opacity: 0;
					}
					50% {
						opacity: 1;
					}
					100% {
						opacity: 0;
					}
				}

				@keyframes sdb {
					0% {
						opacity: 0;
					}
					50% {
						opacity: 1;
					}
					100% {
						opacity: 0;
					}
				}


/*--------------------------------------------------
 top  sec01
--------------------------------------------------*/ 
.top .sec01 {
	margin: 156px 0 0 0;
}

	.top .sec01 .inner {
		width: 100%;
		padding: 48px 0 0 0;
		background: #f2f5f7;
	}

	.top .sec01 .sec-main {
		margin: auto;
		padding: 0 12px;
		max-width: 1152px;
		position: relative;
		z-index: 777;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}


		.top .sec01 .block-wrap {
			width: 25%;
			float: none;
		}

			.top .sec01 .block {
				margin: 12px;
				display: block;
				position: relative;
			}

				.top .sec01 .block .img-area img {
					width: 100%;
				}
				.top .sec01 .block .img-area {
					aspect-ratio: 1 / 1;
					overflow: hidden;
				}
				.top .sec01 .block .img-area img {
					height: 100%;
				}

				.top .sec01 .block .text-area {
					padding: 20px;
					background: #fff;
				}

					.top .sec01 .block .block-ttl {
					}

						.top .sec01 .block .block-ttl .ttl-sub {
							margin: 0 0 18px 0;
							position: relative;
							font-size: 26px;
							line-height: 1.0em;
						}

							.top .sec01 .block .block-ttl .ttl-sub p {
								font-weight: bold;
							}

								.top .sec01 .block .block-ttl .ttl-sub::before {
									position: absolute;
									left: 2px;
									bottom: -10px;
									display: block;
									content: '';
									width: 20px;
									height: 2px;
									background: #34beea;
								}


						.top .sec01 .block .block-ttl .ttl-main h3 {
							font-size: 14px;
							font-weight: bold;
						}



				.top .sec01 .block .btn-area {
					position: absolute;
					bottom: 0px;
					right: 0px;
				}


@media screen and (max-width: 932px){
	.top .sec01 .block-wrap {
		width: 50%;
		float: left;
	}
}



/*--------------------------------------------------
  cv-area
--------------------------------------------------*/
.cv-area {
	position: relative;
	top: -180px;
}

	.cv-area .img-area {
		background: #34beea;
		position: relative;
	}

.cv-area .btn-area {
		width: 100%;
		position: absolute;
		bottom : 72px;
	}

		.cv-area .btn-inner {
			padding: 24px;
		}

		.cv-area .btn-area ul {
			margin: auto;
			display: table;
			width: 888px;
		}

			.cv-area .btn-area li {
				display: table-cell;
				width: 50%;
			}

				.cv-area .cv-btn {
					display: block;
					line-height: 84px;
					text-align: center;
					position: relative;
					font-weight: bold;
					font-size: 20px;
				}


					.cv-area .cv-btn::before {
						position: absolute;
						margin: -5px 0 0 0;
						top: 50%;
						right: 24px;
						display: block;
						content: '';
						width: 8px;
						height: 8px;
						border-top: 2px solid;
						border-right: 2px solid;
						-webkit-transform: rotate(45deg);
						transform: rotate(45deg);
					}


						.cv-area .cv-btn01 {
							line-height: 78px;
							border: solid 3px;
							border-color: #34beea;
							color: #34beea;
							background: #fff;
						}

						.cv-area .cv-btn02 {
							background: #34beea;
							color: #fff;
						}

							.cv-area .cv-btn02::before {
								border-color: #fff;
							}

@media screen and (max-width: 932px){
		.cv-area .btn-area ul {
			width: 100%;
		}
}


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

#footer {
	margin: -96px 0 0 0;
}

	#footer .inner {
	}

		#footer .f-logo {
			margin: auto;
			display: table;
		}

			#footer .f-logo h1 {
				display: table-cell;
				vertical-align: middle;
				width: 180px;
			}

				#footer .f-logo h1 img {
					width: 100%;
				}

			#footer .f-logo h2 {
				padding: 0 0 0 20px;
				display: table-cell;
				vertical-align: middle;
				line-height: 1.2em;
			}


		#footer .f-copy {
			margin: 36px 0 0 0;
			line-height: 72px;
			color: #34beea;
			text-align: center;
			border-top: #34beea solid 2px;
		}

			#footer .f-copy .copy-inner {
			}



/*--------------------------------------------------
   page-top
--------------------------------------------------*/
.page-top {
  width: 60px;
  height: 60px;
  position: fixed;
  right: 40px;
  bottom: 40px;
  z-index: 9999;
  display: none;
}
  
    .page-top a {
      display: block;
      width: 60px;
      height: 60px;
      position: relative;
      background: #34beea;
			color: #fff;
			font-size: 12px;
			line-height: 1.2em;
			font-weight: bold;
			text-align: center;
			text-indent:100%;
			white-space:nowrap;
			overflow:hidden;
			border-radius: 50%;
    }
  
        .page-top a::before {
          position: absolute;
          margin: 0 0 0 -6px;
          top: 26px;
          left: 50%;
          display: block;
          content: '';
          width: 10px;
          height: 10px;
          border-top: 1px solid #fff;
          border-left: 1px solid #fff;
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
        }
  
        

        .page-top a:hover {
          opacity: 0.6;
          filter: alpha(opacity=60);
          -ms-filter: "alpha(opacity=60)";
        }


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
lower
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/*--------------------------------------------------
   main
--------------------------------------------------*/ 
.lower {
	min-width: 932px;
}

/*--------------------------------------------------
   lower mv
--------------------------------------------------*/

.lower .mv {
	position: relative;
}

  .lower .mv .inner {
  }

		.lower .mv .mv-img {
			position: absolute;
			top: 0;
			background: #34beea;
			width: 100%;
		}

			.lower .mv .mv-img img {
				width: 100%;
				height: 300px;
				opacity: 0.3;
				filter: alpha(opacity=30);
				-ms-filter: "alpha(opacity=30)";
			}




		.lower .mv .mv-ttl {
			display: table;
			width: 100%;
			height: 300px;
			color: #fff;
			position: relative;
			z-index: 888;
		}

			.lower .mv .ttl-inner {
				display: table-cell;
				vertical-align: middle;
				text-align: center;
			}


			.lower .mv .ttl-sub {
				font-size: 50px;
				line-height: 1.2em;
			}

				.lower .mv .ttl-sub p {
					font-weight: bold;
				}


			.lower .mv .ttl-main {
				margin: 6px 0 0 0;
				font-size: 20px;
				line-height: 1.5em;
			}

				.lower .mv .ttl-main h2 {
				}



/*--------------------------------------------------
 l-ttl
--------------------------------------------------*/

.l-ttl {
	color: #34beea;
}

	.l-ttl .ttl-main {
		margin: 0 0 60px 0;
		position: relative;
		font-size: 30px;
		line-height: 1.4em;
		text-align: center;
	}

	.l-ttl .ttl-main02 {
		font-size: 26px;
	}

		.l-ttl .ttl-main::before {
			position: absolute;
			margin: 0 0 0 -14px;
			left: 50%;
			bottom: -16px;
			display: block;
			content: '';
			width: 28px;
			height: 2px;
			background: #34beea;
		}

		.l-ttl .ttl-main h3 {
			font-weight: bold;
		}


/*--------------------------------------------------
 parts
--------------------------------------------------*/

.even {
	background: #f4f4f4;
}

/*--------------------------------------------------
 parts01
--------------------------------------------------*/

.parts01 {
	padding: 84px 0 84px 0;
	font-size: 14px;
	line-height: 2.0em;
}

	.parts01 .parts-main {
		margin: auto;
		padding: 0 24px;
		width: 80%;
		max-width: 912px;
	}

		.parts01 .parts-main h4 {
			font-size: 20px;
			padding: 18px 0;
			text-align: center;
		}

		.parts01 .parts-main p {
			margin: 18px 0;
		}

		.parts01 .parts-main ol {
			margin: 18px 24px;
			list-style-type: decimal-leading-zero;
			list-style-position: inside;
		}


			.parts01 .parts-main ol li{
				padding: 0 0 0 22px;
				text-indent: -22px;
			}


		.parts01 .parts-main ul {
			margin: 18px 24px;
		}

			.parts01 .parts-main ul li {
				padding: 0 0 0 24px;
				position: relative;
			}

				.parts01 .parts-main ul li::before {
					position: absolute;
					margin: -8px 0 0 0;
					left: 0px;
					top: 50%;
					display: block;
					content: '';
					width: 16px;
					height: 16px;
					border-radius: 50%;
					background: #34beea;
				}

	.parts01 .img-area {
		margin: auto;
		padding: 36px 0 18px 0;
		width: 90%;
		max-width: 816px;
	}

		.parts01 .img-area img {
			width: 100%;
		}



/*--------------------------------------------------
 parts02
--------------------------------------------------*/

.parts02 {
	padding: 84px 0 84px 0;
	font-size: 14px;
	line-height: 1.8em;
}

	.parts02 .parts-main {
		margin: auto;
		padding: 0 24px;
		width: 80%;
		max-width: 912px;
	}

		.parts02 .parts-main table {
			width: 100%;
			margin: 18px 0;
			border-top: solid 2px;
			border-bottom: solid 2px;
			border-color: #34beea;
			table-layout: fixed;
			word-break: break-all;
		}

			.parts02 .parts-main tr {
				border-bottom: dotted 1px;
				border-color: #34beea;
			}

				.parts02 .parts-main table tr:last-child {
					border-bottom: none;
				}


			.parts02 .parts-main th {
				font-weight: bold;
				width: 25%;
			}

			.parts02 .parts-main td {
				padding: 18px 0;
			}



/*--------------------------------------------------
 parts03
--------------------------------------------------*/

.parts03 {
	padding: 84px 0 84px 0;
	font-size: 16px;
	line-height: 1.8em;
	position: relative;
	overflow: hidden;
}

	.parts03 .parts-main {
		margin: auto;
		padding: 0 24px;
		width: 80%;
		max-width: 780px;
	}


		.parts03 dl {
			display: table;
			width: 100%;
		}

			.parts03 dt {
				display: table-cell;
				width: 18%;
				font-size: 36px;
				line-height: 1.0em;
				color: #34beea;
				font-weight: bold;
				position: relative;
			}

				.parts03 dt::before {
					position: absolute;
					top: 10px;
					right: 20px;
					display: block;
					content: '';
					width: 14px;
					height: 14px;
					border-radius: 50%;
					background: #34beea;
				}

				.parts03 dt::after {
					position: absolute;
					top: 10px;
					right: 26px;
					display: block;
					content: '';
					width: 2px;
					height: 100%;
					background: #34beea;
				}

					.parts03 dl:last-of-type dt::after {
						top: -36px;
						height: 100%;
					}


			.parts03 dd {
				display: table-cell;
				padding: 6px 0 30px 0;
				vertical-align: top;
				width: 82%;
			}


		.parts03 .bg-area {
			background: #fff;
			position: absolute;
			width: 100%;
			top: 0;
			z-index: -1;
		}

			.parts03 .bg-area img {
				width: 100%;
				height: 1400px;
				opacity: 0.15;
				filter: alpha(opacity=15);
				-ms-filter: "alpha(opacity=15)";
				-webkit-filter: grayscale(100%);
				-moz-filter: grayscale(100%);
				-ms-filter: grayscale(100%);
				-o-filter: grayscale(100%);
				filter: grayscale(100%);
			}

/*--------------------------------------------------
 parts04
--------------------------------------------------*/

.parts04 {
	padding: 84px 0 84px 0;
	font-size: 14px;
	line-height: 1.6em;
	position: relative;
	overflow: hidden;
}

	.parts04 .parts-main {
		margin: auto;
		padding: 0 12px;
		max-width: 1152px;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: end;
	}

		.parts04 .box {
			width: 33.33%;
		}

			.parts04 .box-inner {
				margin: 12px;
			}

				.parts04 .box img {
					width: 100%;
				}


				.parts04 .box .text-area {
					padding: 24px;
					background: #fff;
				}



		.parts04 .bg-area {
			background: #fff;
			position: absolute;
			top: 0;
			z-index: -1;
			width: 100%;
		}

			.parts04 .bg-area img {
				width: 100%;
				height: 1400px;
				opacity: 0.15;
				filter: alpha(opacity=15);
				-ms-filter: "alpha(opacity=15)";
				-webkit-filter: grayscale(100%);
				-moz-filter: grayscale(100%);
				-ms-filter: grayscale(100%);
				-o-filter: grayscale(100%);
				filter: grayscale(100%);
			}



/*--------------------------------------------------
 parts05
--------------------------------------------------*/

.parts05 {
	padding: 84px 0 84px 0;
	font-size: 14px;
	line-height: 1.8em;
}

	.parts05 .parts-main {
		margin: auto;
		padding: 0 24px;
		width: 90%;
		max-width: 960px;
	}

		.parts05 .parts-ttl {
			margin: 0 0 48px 0;
			color: #34beea;
			font-size: 24px;
			line-height: 1.6em;
			text-align: center;
		}

			.parts05 .parts-ttl h4 {
				font-weight: bold;
			}


		.parts05 .block01 {
			background: #f6f6f6;
		}

			.parts05.even .block01 {
				background: #fff;
			}


			.parts05 .block01 .img-area {
				float: left;
				width: 50%;
			}

				.parts05 .block01 .img-area img {
					width: 100%;
					height: 300px;
				}

			.parts05 .block01 .text-area {
				float: left;
				width: 50%;
			}

				.parts05.even .img-area,
        .parts05.even .text-area {
					float: right;
				}

				.parts05 .block01 .text-inner {
					padding: 36px 36px 0 36px;
				}

					.parts05 .block01 .text01 p {
						margin: 0 0 8px 0;
						font-weight: bold;
					}

					.parts05 .block01 .text02 p {
						margin: 0 0 6px 0;
						font-size: 28px;
						font-weight: bold;
					}

					.parts05 .block01 .text03 p {
						margin: 0 0 12px 0;
						font-weight: bold;
						font-size: 16px;
					}


		.parts05 .block02 {
			padding: 36px 0 0 0;
		}

			.parts05 .block02 .text-more {
				padding: 0 0 12px 0;
				display: none;
			}

				.text-more-btn {
					margin: auto;
					cursor: pointer;
					position: relative;
				}

					.text-more-btn::before {
						position: absolute;
						margin: 0 0 0 -50px;
						left: 50%;
						display: block;
						color: #34beea;
						content: '▼ 続きを見る';
						font-weight: bold;
						font-size: 15px;
					}

					.text-more-btn.open::before {
						position: absolute;
						margin: 0 0 0 -40px;
						left: 50%;
						tdisplay: block;
						color: #34beea;
						content: '▲ 閉じる';
						font-weight: bold;
						font-size: 15px;
					}


/*--------------------------------------------------
  l-cv-area
--------------------------------------------------*/
.l-cv-area01 {
	padding: 120px 0 0 0
}

	.l-cv-area01 .inner {
		margin: auto;
		width: 888px;
	}

		.l-cv-area01 .inner ul {
			display: table;
			width: 100%;
		}

			.l-cv-area01 .inner li {
				display: table-cell;
				width: 50%;
			}

				.l-cv-area01 .cv-btn {
					display: block;
					line-height: 84px;
					text-align: center;
					position: relative;
					font-weight: bold;
					font-size: 20px;
				}


					.l-cv-area01 .cv-btn::before {
						position: absolute;
						margin: -5px 0 0 0;
						top: 50%;
						right: 24px;
						display: block;
						content: '';
						width: 8px;
						height: 8px;
						border-top: 2px solid;
						border-right: 2px solid;
						-webkit-transform: rotate(45deg);
						transform: rotate(45deg);
					}


						.l-cv-area01 .cv-btn01 {
							line-height: 78px;
							border: solid 3px;
							border-color: #34beea;
							color: #34beea;
						}

						.l-cv-area01 .cv-btn02 {
							background: #34beea;
							color: #fff;
						}

							.l-cv-area01 .cv-btn02::before {
								border-color: #fff;
							}



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

.lower #footer {
	margin: 108px 0 0 0;
	padding: 36px 0 0 0;
	background: #fff;
}



/*--------------------------------------------------
  WordPress
--------------------------------------------------*/

.wp-caption {
	margin: 0; /* browser reset */
	max-width: 100%;
}

/* iOS does not obey max-width if width is set. */
.ios .wp-caption {
	width: auto !important;
}

dl.wp-caption dt.wp-caption-dt img {
	display: inline-block;
	margin-bottom: -1ex;
}

.wp-caption-dd {
	font-size: 14px;
	padding-top: 0.5em;
	margin: 0; /* browser reset */
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.alignleft {
	float: left;
	margin: 0.5em 1em 0.5em 0;
}

.alignright {
	float: right;
	margin: 0.5em 0 0.5em 1em;
}



/*--------------------------------------------------
  Youtube
--------------------------------------------------*/

.youtube {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}
 
.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*--------------------------------------------------
  Google Map
--------------------------------------------------*/
.parts-map {
	padding-bottom: 84px;
}

/*--------------------------------------------------
  Schedule
--------------------------------------------------*/
.voices-schedule {
	position: relative;
	margin-top: 40px;
    margin-bottom: 20px;
}
.voices-schedule::after {
	content: "SCROLL";
	position: absolute;
    right: 16px;
    bottom: -28px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: #34beea;
	pointer-events: none;
}
.voices-schedule::before {
	content: "";
	position: absolute;
	right: 0px;
    bottom: -20px;
	width: 7px;
	height: 7px;
	border-top: 2px solid #34beea;
	border-right: 2px solid #34beea;
	transform: rotate(45deg);
	pointer-events: none;
}
.voices-schedule__scroller {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 30px;
	scrollbar-gutter: stable;
	scrollbar-width: thin;
	scrollbar-color: #9a9a9a #fff;
}
.voices-schedule__scroller::-webkit-scrollbar {
	height: 15px;
}
.voices-schedule__scroller::-webkit-scrollbar-track {
	background: #e9e9e9;
	border-radius: 999px;
}
.voices-schedule__scroller::-webkit-scrollbar-thumb {
	background: #9a9a9a;
	border-radius: 999px;
	border: 2px solid transparent;
}
.voices-schedule__list {
	display: flex;
	gap: 32px;
	min-width: max-content;
	position: relative;
	list-style: none;
	margin: 0;
	padding-top: 6px;
}
.voices-schedule__item {
	flex: 0 0 auto;
	width: 240px;
	position: relative;
	padding-top: 22px;
}
.voices-schedule__item::before {
	content: "";
	position: absolute;
	top: -5px;
	left: 0;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #34beea;
}
.voices-schedule__item::after {
	content: "";
	position: absolute;
	top: 0;
	left: 6px;
	width: calc(100% + 32px);
	height: 2px;
	background: #dcdee1;
	border-radius: 999px;
	z-index: -1;
}
.voices-schedule__item:last-child::after {
	display: none;
}
.voices-schedule__time {
	margin: 0;
	color: #34beea;
    opacity: 0.6;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.2;
}
.voices-schedule__title {
	margin: 6px 0 0;
	color: #111;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.45;
	word-break: break-word;
}

/*--------------------------------------------------
  news
--------------------------------------------------*/
.top .top-news + .sec01 {
	margin-top: 48px;
}
.top-news {
	margin: 156px 0 0 0;
	padding: 0;
	background: #fff;
}
.top-news .inner {
	max-width: 1128px;
	padding: 36px 24px 42px;
	margin: auto;
}
.top-news-ttl {
	color: #111;
	float: left;
	width: 26%;
}
.top-news-ttl .ttl-sub {
	font-size: 30px;
	line-height: 1.2em;
}
.top-news-ttl .ttl-sub p {
	font-weight: bold;
}
.top-news-ttl .ttl-main {
	margin: 6px 0 0 0;
	font-size: 16px;
	line-height: 1.5em;
}
.top-news-ttl .ttl-main h3 {
	font-weight: bold;
}
.top-news-ttl .ttl-sub::after {
	content: '';
	display: block;
	width: 20px;
	height: 2px;
	margin: 8px 0 0;
	background: #34beea;
}
.top-news-link a {
	border-color: #34beea;
	color: #fff;
	background: #34beea;
	position: relative;
	padding: 10px 44px 10px 18px;
	margin: 14px 0 0 0;
	display: inline-block;
	font-weight: bold;
}
.top-news-link a::before {
	position: absolute;
	top: 50%;
	right: 18px;
	content: '';
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-50%) rotate(45deg);
}
.top-news-list {
	float: right;
	width: 74%;
}
.top-news-list a {
	display: table;
	width: 100%;
	padding: 16px 0;
}
.top-news-list .date {
	display: table-cell;
	width: 110px;
	color: #34beea;
	font-weight: bold;
}
.top-news-list .title {
	display: table-cell;
	color: #111;
}
.top-news-list .is-empty {
	padding: 18px 0;
}
.parts-news {
	padding: 84px 0;
	font-size: 14px;
	line-height: 1.8em;
}
.parts-news .parts-main {
	margin: auto;
	padding: 0 24px;
	width: 80%;
	max-width: 912px;
}
.news-wrap {
	width: 100%;
}
.news-main {
	float: left;
	width: 68%;
	padding: 0 48px 0 0;
	box-sizing: border-box;
}
.news-side {
	float: left;
	width: 32%;
}
.news-list {
	border-top: solid 1px #b2b2b2;
}
.news-item {
	border-bottom: solid 1px #b2b2b2;
}
.news-link {
	padding: 22px 0;
	display: table;
	width: 100%;
}
.news-date {
	display: table-cell;
	width: 20%;
	font-size: 14px;
    color: #fff;
    padding: 2px 6px;
	color: #34beea;
	font-weight: bold;
}
.news-title {
	display: table-cell;
}
.news-empty {
	padding: 24px 0;
	text-align: center;
}
.news-detail {
	padding: 12px 0 0 0;
}
.news-detail .news-date {
	display: table-cell;
	width: auto;
	padding: 2px 12px;
	background: #34beea;
	color: #fff;
	font-size: 13px;
}
.news-detail .news-title {
    display: inline-block;
	margin: 18px 0 20px 0;
	font-size: 24px;
	font-weight: bold;
}
.news-content h1,
.news-content h2,
.news-content h3,
.news-content h4 {
	margin: 18px 0 10px 0;
	font-weight: bold;
}
.news-content img {
	width: 100%;
    height: auto;
}
.news-nav {
    text-align: center;
    margin: 48px 0 0 0;
    border-top: solid 1px #b2b2b2;
    padding: 24px 0 0 0;
}
.news-nav ul {
    display: inline-block;
    margin: 0;
    padding: 0;
    list-style: none;
}
.news-nav li {
    display: inline-block;
    margin: 0;
    padding: 0 18px;
    vertical-align: middle;
    position: relative;
    font-size: 16px;
}
.news-nav li + li::before {
    content: "|";
    color: #b2b2b2;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateX(-100%) translateY(-50%);
    font-weight: 400;
}
.news-nav a {
    color: #111;
    text-decoration: none;
}
.news-nav .news-prev a::before {
    content: "<  ";
    margin-right: 6px;
    color: #111;
}
.news-nav .news-next a::after {
    content: "  >";
    margin-left: 6px;
    color: #111;
}
.news-side-box {
	padding: 8px 0 0 24px;
}
.news-side-ttl {
	color: #34beea;
	font-size: 26px;
	font-weight: bold;
	letter-spacing: 0.08em;
}
.news-side-ttl::after {
	content: '';
	display: block;
	width: 28px;
	height: 2px;
	margin: 8px 0 18px 0;
	background: #34beea;
}
.news-archive-list li {
	border-bottom: solid 1px #b2b2b2;
}
.news-archive-list li a {
	display: block;
	padding: 12px 0;
	font-weight: bold;
	color: #111;
}
.news-archive-list .is-empty {
	padding: 12px 0;
}

/*--------------------------------------------------
  privacy
--------------------------------------------------*/
.privacy .privacy-main {
	padding: 84px 0;
	font-size: 14px;
	line-height: 2.0em;
}
.privacy .privacy-main .inner {
	margin: auto;
	padding: 0 24px;
	width: 80%;
	max-width: 912px;
}
.privacy .privacy-main .text.user-edit p + p {
	margin-top: 1.2em;
}
.privacy .privacy-main .text.user-edit strong {
	font-weight: bold;
}
.privacy .privacy-main .text.user-edit ul,
.privacy .privacy-main .text.user-edit ol {
	padding-left: 24px;
}
.privacy .privacy-main .text.user-edit table {
	width: 100%;
	border-collapse: collapse;
	margin: 12px 0;
}
.privacy .privacy-main .text.user-edit table th,
.privacy .privacy-main .text.user-edit table td {
	border: 1px solid #111;
	padding: 8px;
	vertical-align: top;
}
.privacy .privacy-main .text.user-edit img {
	display: block;
	max-width: 100%;
	height: auto;
}
.f-privacy {
	margin: 36px 0 0 0;
	text-align: center;
}
.f-privacy__link {
	font-size: 12px;
}

/*--------------------------------------------------
  menu
--------------------------------------------------*/
.page-top {
	z-index: 998;
}
#header .inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.u-hb-ctrl {
	display: flex;
	align-items: center;
	gap: 16px;
	height: 96px;
	margin-left: auto;
}
.u-hb-ctrl #u-hb-menu {
	order: 0;
}
.u-hb-ctrl .u-hb-btns {
	order: 1;
}
.u-hb-btns {
	display: flex;
	gap: 12px;
}
.u-hb-btns li {
	display: inline-block;
}
.u-hb-btn {
	margin: 0;
	display: block;
	width: 168px;
	line-height: 48px;
	text-align: center;
	position: relative;
	font-weight: bold;
	font-size: 14px;
}
.u-hb-btn::before {
	position: absolute;
	margin: -4px 0 0 0;
	top: 50%;
	right: 14px;
	display: block;
	content: '';
	width: 6px;
	height: 6px;
	border-top: 1px solid;
	border-right: 1px solid;
	transform: rotate(45deg);
}
.u-hb-btn--company {
	width: 164px;
	line-height: 44px;
	border: solid 2px;
	border-color: #34beea;
	color: #34beea;
}
.u-hb-btn--entry {
	background: #34beea;
	color: #fff;
}
.u-hb-btn--entry::before {
	border-color: #fff;
}
#u-hb-menu {
	width: 36px;
	height: 36px;
	display: inline-block;
	cursor: pointer;
	position: relative;
	z-index: 2800;
}
#u-hb-menu .u-hb-inner {
	display: block;
	height: 100%;
	position: relative;
}
#u-hb-menu span {
	display: block;
	margin: 0 auto;
	height: 2px;
	width: 100%;
	background: #34beea;
	border-radius: 2px;
	transition: all .5s ease-in-out;
}
#u-hb-menu span:nth-of-type(1) {
	position: absolute;
	top: 8px;
	left: 0;
	right: 0;
}
#u-hb-menu span:nth-of-type(2) {
	position: absolute;
	top: 17px;
	left: 0;
	right: 0;
}
#u-hb-menu span:nth-of-type(3) {
	position: absolute;
	top: 26px;
	left: 0;
	right: 0;
}
.u-hb-open #u-hb-menu span {
	background: #fff;
}
.u-hb-open #u-hb-menu span:nth-of-type(1) {
	transform: translateY(9px) rotate(45deg);
}
.u-hb-open #u-hb-menu span:nth-of-type(2) {
	opacity: 0;
	transform: translateY(9px);
}
.u-hb-open #u-hb-menu span:nth-of-type(3) {
	transform: translateY(-9px) rotate(-45deg);
}
.u-hb-overlay {
	background: transparent;
	position: fixed;
	pointer-events: none;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	z-index: 2900;
	transition: 0.2s;
}
.u-hb-open .u-hb-overlay {
	background: rgba(255, 255, 255, 0.8);
	pointer-events: auto;
}
.u-hb-nav {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 2950;
}
.u-hb-panel {
	padding: 80px 0 20px 0;
	width: 360px;
	height: 100%;
	box-sizing: border-box;
	font-size: 14px;
	position: fixed;
	top: 0;
	right: 0;
	overflow-x: hidden;
	overflow-y: auto;
	transition: .5s;
	transform: translateX(100%);
	background: #34beea;
}
.u-hb-open .u-hb-panel {
	transform: translateX(0);
}
.u-hb-menu a {
	padding: 12px 24px;
	display: block;
	font-size: 14px;
	color: #fff;
	font-weight: bold;
}
.u-hb-btns--panel {
	padding: 24px 24px 12px 24px;
	display: block;
}
.u-hb-btns--panel li {
	display: block;
}
.u-hb-btns--panel li:not(:first-of-type) {
	margin-top: 20px;
}
.u-hb-btns--panel .u-hb-btn {
	display: block;
	width: 100%;
	line-height: 40px;
	font-size: 14px;
	color: #fff;
	font-weight: bold;
}
.u-hb-btns--panel .u-hb-btn::before {
	right: 14px;
}
.u-hb-btns--panel .u-hb-btn--company {
	line-height: 38px;
    box-sizing: border-box;
	border-color: #fff;
	color: #fff;
}
.u-hb-btns--panel .u-hb-btn--entry {
	background: #fff;
	color: #34beea;
}
.u-hb-btns--panel .u-hb-btn--entry::before {
	border-color: #34beea;
	right: 16px;
}
.u-hb-close {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 28px;
	height: 28px;
	background: transparent;
	border: 0;
	padding: 0;
	cursor: pointer;
	z-index: 2960;
}
.u-hb-close span {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 2px;
	background: #fff;
}
.u-hb-close span:nth-of-type(1) {
	transform: translateY(-50%) rotate(45deg);
}
.u-hb-close span:nth-of-type(2) {
	transform: translateY(-50%) rotate(-45deg);
}
.u-hb-sns {
	margin-top: 24px;
}

/*--------------------------------------------------
  sns
--------------------------------------------------*/
.f-sns {
	margin: 36px 0 0;
	text-align: center;
}
.f-sns-list {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	width: 100%;
	flex-wrap: wrap;
}
.f-sns-list li.sns-instagram img {

}
.f-sns-list li.sns-tiktok img {
    width: 50px;
}
.f-sns-list li.sns-x img {
    width: 30px;
}
.f-sns-list li.sns-youtube img {
	width: 46px;
}
.f-sns-list li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
}
.f-sns-list li img {
	display: block;
	width: 34px;
}

/*--------------------------------------------------
  data
--------------------------------------------------*/
.parts-data-section {
	padding: 84px 0 96px;
}
.parts-data-section .parts-main {
	margin: auto;
	padding: 0 24px;
	width: 80%;
	max-width: 980px;
}
.parts-data-section .l-ttl .ttl-main {
}
.parts-data-section .data-cards {
	display: flex;
	flex-wrap: wrap;
	gap: 24px 28px;
}
.parts-data-section .data-card {
	width: calc((100% - 56px) / 3);
	background: #34beea;
	padding: 24px;
	box-sizing: border-box;
	text-align: center;
	min-height: 290px;
}
.parts-data-section .data-card-title,
.parts-data-section .data-card-values,
.parts-data-section .data-card-values p,
.parts-data-section .data-card-desc,
.parts-data-section .data-card-desc p {
	color: #fff;
}
.parts-data-section .data-card-image {
	margin-top: 12px;
}
.parts-data-section .data-card-image img {
	width: 72px;
	height: auto;
}
.parts-data-section .data-card-title {
	font-size: 20px;
	line-height: 1.4;
}
.parts-data-section .data-card-values {
	margin-top: 18px;
	font-size: 30px;
	line-height: 1.25;
	font-weight: bold;
}
.parts-data-section .data-card-values p + p {
	margin-top: 8px;
}
.parts-data-section .data-card-desc {
	margin-top: 18px;
	font-size: 13px;
	line-height: 1.8;
	text-align: left;
}

/*--------------------------------------------------
  top data cv
--------------------------------------------------*/
.top-sp-only {
	display: none;
}
.cv-area.top-pc-only .cv-content {
	position: relative;
	z-index: 2;
	padding: 60px 0 72px;
}
.cv-area.top-pc-only .cv-content > *:not(.cv-bg) {
	position: relative;
	z-index: 2;
}
.cv-area.top-pc-only .cv-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	z-index: 0;
}
.cv-area.top-pc-only .cv-bg::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: inherit;
	background-size: inherit;
	background-position: inherit;
	opacity: 0.8;
	background: #fff;
}
.cv-area.top-pc-only .cv-bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background: #fff;
	opacity: 0.4;
	z-index: 0;
}
.cv-area.top-sp-only .img-area img {
	width: 100%;
	height: 340px;
	opacity: 0.4;
	filter: alpha(opacity=40);
	-ms-filter: "alpha(opacity=40)";
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
}
.cv-area.top-sp-only .img-area .over-l-w {
	width: 100%;
	height: 340px;
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	background: #fff;
	position: absolute;
	top: 0;
}
.cv-area.top-sp-only .img-area.img-area-noentry img {
	height: 200px;
}
.cv-area.top-sp-only .img-area.img-area-noentry .over-l-w {
	height: 200px;
}
.cv-area.top-pc-only .img-area {
	display: none;
}
.cv-area.top-pc-only .top-recruit {
	margin: 132px auto 32px;
	padding: 0 12px;
	width: 100%;
	max-width: 1152px;
	box-sizing: border-box;
}
.cv-area.top-pc-only .top-recruit.img-area-noentry + .btn-area {
	margin-top: 20px;
}
.cv-area.top-pc-only .btn-area {
    bottom: auto;
}
.cv-area.top-pc-only .top-recruit__link {
	display: flex;
	align-items: stretch;
	background: #fff;
}
.cv-area.top-pc-only .top-recruit__img {
	width: 55%;
}
.cv-area.top-pc-only .top-recruit__img img {
	width: 100%;
	height: 250px;
}
.cv-area.top-pc-only .top-recruit__text {
	width: 45%;
	padding: 28px 32px;
	box-sizing: border-box;
	position: relative;
}
.cv-area.top-pc-only .top-recruit__text .block-ttl .ttl-sub {
	margin: 0 0 18px 0;
	position: relative;
	font-size: 26px;
	line-height: 1.0em;
}
.cv-area.top-pc-only .top-recruit__text .block-ttl .ttl-sub p {
	font-weight: bold;
}
.cv-area.top-pc-only .top-recruit__text .block-ttl .ttl-sub::before {
	position: absolute;
	left: 2px;
	bottom: -10px;
	display: block;
	content: '';
	width: 20px;
	height: 2px;
	background: #34beea;
}
.cv-area.top-pc-only .top-recruit__text .block-ttl .ttl-main h3 {
	font-size: 14px;
	font-weight: bold;
}
.cv-area.top-pc-only .top-recruit__text .btn-area {
	position: absolute;
	bottom: 0px;
	right: 0px;
	width: auto;
}

@media screen and (min-width: 769px) and (max-width: 1192px){
	.cv-area.top-pc-only .top-recruit {
		padding: 0 24px;
	}
}
