@charset "UTF-8";
/*
Theme Name: hanatabakaigo-recruit
Author: Catwork Co., Ltd.
Version: 1.0.0
*/

/* Reset
----------------------------------------------------------- */
:root {
	/* bodyの背景色 */
	--body-bg-color: #fff;

	/* メインのフォントファミリー */
	--main-font: "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;

	/* メインのフォントカラー */
	--main-font-color: #222;

	/* h2~h5タグまでのフォントウェイト */
	--h-tag-weight: bold;
}

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,
menu, nav, output, ruby, section, summary,
time, mark, audio, video{
	zoom:1;	/* hasLayout in IE */
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font:inherit;
	font-size:100%;
	font-weight:normal;
	font-style:normal;
	vertical-align:baseline;
	background:transparent;
	-webkit-text-size-adjust: 100%;
	word-break:break-all;
}
header, menu, nav, footer,
section,article, aside,
details, summary,
figure, figcaption{display:block;}
table{
	border-collapse:collapse;
	border-spacing:0;
}
::placeholder{
	color: #949292;
}
q, blockquote{quotes:none;}
q:before, q:after, blockquote:before, blockquote:after{
	content:"";
	content:none;
}
img{
	font-size:0;
	line-height:0;
	vertical-align:bottom;
	height:auto;
	max-width:100%;
}
input[type="text"],
input[type="email"] {
	border-radius: 0;
	-webkit-appearance: none;
	line-height: normal;
	color: var(--main-font-color);
}
a{
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	color: var(--main-font-color);
}
a:focus{ outline:none; }
a img{
	border:none;
	vertical-align:middle;
}
textarea{overflow:auto;}
label{cursor:pointer;}
.clearfix:after{
	display:block;
	visibility:hidden;
	content:".";
	clear:both;
	height:0;
	font-size:0;
	line-height:0;
}
* html .clearfix{ zoom:1; }
*:first-child + html .clearfix{ zoom:1; }
a{ text-decoration:none; }
strong{ font-weight:normal; }
ul,ol{ list-style-type:none; }
body{
	font-family: var(--main-font);
	font-size:16px;
	line-height:1.5;
	color: var(--main-font-color);
	background: var(--body-bg-color);
}
.wrap{
	width:100%;
	overflow-x:hidden;
}
h2,h3,h4,h5{
	font-weight: var(--h-tag-weight);
}
.inner{
	margin:0 auto;
	width:1200px;
}



/*===============================================
横幅1200px以下
===============================================*/
@media screen and (max-width: 1240px) and (min-width: 441px){
	html,
	body,
	.wrap{
		width:1240px;
	}
}

/*===============================================
横幅441px以上
===============================================*/
@media screen and (min-width: 441px) {
	a {
		transition: all .5s;
	}
	a:hover{
		opacity:0.8;
		filter:alpha(opacity=80);
		-moz-opacity:0.8;
		transition: all .5s;
	}
	.sp{
		display:none;
	}
	p {
		line-height: 2;
	}

	/* スムーススクロール設定 */
	html {
		scroll-behavior: smooth;
	}
	:root {
		--header-height: 110px;
	}
	body {
		background: url("img/home_bg.png")top center no-repeat;
	}
	@media screen and (min-width: 1800px) {
		body {
			background-size: cover;
		}	
	}

/* header
------------------------------------------------------------------------*/
	header{
		top: 0;
		left: 0;
		width: 100%;
		height: 80px;
		z-index: 10000;
		position: relative;
		background: #8EBADD;
	}
	header h1{
		height: 0;
        overflow: hidden;
	}
	header .header_box{
		position: fixed;
		top: 0;
		left: 50% !important;
		transform: translateX(-50%);
		width: 100%;
		height: 80px;
		padding: 0 20px;
		box-sizing: border-box;
		background: #8EBADD;
	}
	header .header_box .inner{
		padding: 0 20px;
		height: 80px;
		display: flex;
		gap: 0 50px;
		align-items: center;
	}
	header .header_box .inner .header_ttl{
		color: #fff;
		font-weight: bold;
		font-size: 30px;
	}

	header .header_box .inner .header_ttl a{
		color: #fff;
		font-weight: bold;
		font-size: 30px;
	}

	header .header_box .inner .tel a{
		color: #fff;
		font-weight: bold;
		font-size: 30px;
	}
	header .header_box .inner nav{
		display: none;
	}


	/****** スクロール、アクティブ時 ******/

	header.is-scroll,
	header.is-scroll .header_box,
	header.is-scroll .header_box::after{
		height: 110px;
	}
	header.is-scroll .header_box .inner{
		height: 60px;
	}
	header.is-scroll .header_box nav{
		display: block;
	}



/* nav
------------------------------------------------------------------------*/
	header .header_box .inner nav{
		position: absolute;
		top: 60px;
		left: 50%;
		transform: translateX(-50%);
		width: 950px;
	}
	header .header_box .inner nav ul{
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		height: 40px;
		box-sizing: border-box;
		position: relative;
	}
	header .header_box .inner nav ul li{
		width: calc(100% / 5);
		display: inline-block;
		box-sizing: border-box;
		position: relative;
	}
	header .header_box .inner nav ul li:nth-of-type(3){
		width: 270px;
	}
	header .header_box .inner nav ul li::before{
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		content: "";
		background: #fff;
		width: 1.5px;
		height: 40px;
	}
	header .header_box .inner nav ul li:nth-of-type(5)::after{
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		content: "";
		background: #fff;
		width: 1.5px;
		height: 40px;
	}
	header .header_box .inner nav ul li a{
		display: block;
		height: 40px;
		color: #fff;
		font-size: 20px;
		font-weight: bold;
		line-height: 40px;
		text-align: center;
	}
	header .header_box .inner nav ul li a:hover{
		text-decoration: underline;
		opacity: 1;
	}
	


/* home
------------------------------------------------------------------------*/
	
	/* key */
	.key {
		height: 750px;
		background: url("img/key_bg.png") no-repeat top center / cover;
		position: relative;
		z-index: 1;
	}
	.key .ttl {
		color: #fff;
		font-size: 40px;
		font-weight: bold;
		padding-top: 20px;
		letter-spacing: 3px;
		box-sizing: border-box;
	}
	.key .key_nav{
		position: absolute;
		bottom: 15px;
		left: 50%;
		transform: translateX(-50%);
		width: 950px;
	}
	.key .key_nav ul{
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		height: 40px;
		box-sizing: border-box;
		position: relative;
	}
	.key .key_nav ul li{
		width: calc(100% / 5);
		display: inline-block;
		box-sizing: border-box;
		position: relative;
	}
	.key .key_nav ul li:nth-of-type(3){
		width: 270px;
	}
	.key .key_nav ul li::before{
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		content: "";
		background: #222;
		width: 1.5px;
		height: 40px;
	}
	.key .key_nav ul li:nth-of-type(5)::after{
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		content: "";
		background: #222;
		width: 1.5px;
		height: 40px;
	}
	.key .key_nav ul li a{
		display: block;
		height: 40px;
		color: #fff;
		font-size: 20px;
		font-weight: bold;
		line-height: 40px;
		text-align: center;
		text-shadow: 0px 1px 10px rgba(0,0,0,.1);
	}
	.key .key_nav ul li a:hover{
		color: #8EBADD;
		text-decoration: underline;
		opacity: 1;
		text-shadow: none;
	}


	/* cont01 */
	.home .cont01 .inner{
		margin: 80px auto 100px;
		position: relative;
	}
	.home .cont01 .inner::before{
		content: "";
		background: url("img/home_accent01.png")no-repeat;
		width: 95px;
		height: 408px;
		position: absolute;
		top: -170px;
		right: -30px;
		z-index: -1;
		mix-blend-mode: multiply;
	}
	.home .cont01 .inner::after{
		content: "";
		background: url("img/home_accent02.png")no-repeat;
		width: 95px;
		height: 408px;
		position: absolute;
		top: 150px;
		left: 0;
		mix-blend-mode: multiply;
	}
	.home .cont01 .inner .text01{
		width: 1000px;
		margin: 0 auto;
		font-size: 22px;
		font-weight: bold;
		line-height: 2;
	}
	.home .cont01 .inner .text02{
		width: 1000px;
		margin: 20px auto 0;
		font-size: 22px;
		font-weight: bold;
		line-height: 2;
	}
	.home .cont01 .inner .btn{
		margin-top: 40px;
		text-align: right;
	}
	.home .cont01 .inner .btn a{
		display: inline-block;
		width: 340px;
		height: 60px;
		border-radius: 5px;
		background-image: radial-gradient(#fff, #9AC4E9);
		text-align: center;
		font-size: 20px;
		font-weight: bold;
		text-shadow: 1px 1px 0 #fff,-1px 1px 0 #fff,-1px -1px 0 #fff,1px -1px 0 #fff;
		padding-top: 11px;
		box-sizing: border-box;
		box-shadow: 0px 0px 25px rgba(0,0,0,0.1);
	}


	/* cont02 */
	.home .cont02 .inner{
		position: relative;
	}
	.home .cont02 .inner::before{
		content: "";
		background: url("img/home_accent03.png")no-repeat;
		width: 167px;
		height: 716px;
		position: absolute;
		top: 1361px;
        right: -78px;
		z-index: -1;
		mix-blend-mode: multiply;
	}
	.home .cont02 .inner::after{
		content: "";
		background: url("img/home_accent04.png")no-repeat;
		width: 126px;
		height: 722px;
		position: absolute;
		bottom: 1322px;
        left: -57px;
		z-index: -1;
		mix-blend-mode: multiply;
	}
	.home .cont02 .inner h2{
		font-size: 40px;
		line-height: 1;
		color: #036EB7;
		font-weight: bold;
		text-align: center;
		position: relative;
		margin-bottom: 60px;
	}
	.home .cont02 .inner h2::before{
		content: "";
		width: 0;
		height: 0;
		border-left: 30px solid transparent;
		border-right: 30px solid transparent;
		border-top: 30px solid #036EB7;
		position: absolute;
		bottom: -60px;
		left: 50%;
		transform: translateX(-50%);
	}
	.home .cont02 .inner .cont{
		background: rgba(255,255,255,.6);
		border-radius: 30px;
		padding: 50px;
		margin-top: 125px;
		box-sizing: border-box;
		position: relative;
	}
	.home .cont02 .inner .cont .first_img{
		position: absolute;
		top: -55px;
		left: 50px;
	}
	.home .cont02 .inner .cont .flex_ttl{
		display: flex;
		justify-content: space-between;
	}
	.home .cont02 .inner .cont .flex_ttl .text{
		margin-left: 320px;
		font-size: 24px;
		line-height: 1.65;
		font-weight: bold;
	}
	.home .cont02 .inner .cont .flex_ttl .place{
		height: 50px;
		font-size: 20px;
		line-height: 52px;
		color: #fff;
		background: #036EB7;
		font-weight: bold;
		text-align: center;
		padding: 0 30px;
	}
	.home .cont02 .inner .cont .box01{
		height: 770px;
		margin-top: 90px;
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		gap: 40px 30px;
	}
	.home .cont02 .inner .cont h3{
		padding-top: 30px;
		height: 0;
		overflow: hidden;
	}
	.home .cont02 .inner .cont h3.ttl01{
		background: url("img/home_text01.png") no-repeat;
		background-size: 250px;
	}
	.home .cont02 .inner .cont h3.ttl02{
		background: url("img/home_text02.png") no-repeat;
		background-size: 283px;
	}
	.home .cont02 .inner .cont h3.ttl03{
		background: url("img/home_text03.png") no-repeat;
		background-size: 363px;
	}
	.home .cont02 .inner .cont h3.ttl04{
		background: url("img/home_text04.png") no-repeat;
		background-size: 767px;
	}
	.home .cont02 .inner .cont h3.ttl05{
		background: url("img/home_text05.png") no-repeat;
		background-size: 310px;
	}
	.home .cont02 .inner .cont .box01 .text01{
		width: 710px;
		line-height: 2.4;
		margin-top: -20px;
	}
	.home .cont02 .inner .cont .box02{
		margin-top: 40px;
		display: flex;
		gap: 40px;
	}
	.home .cont02 .inner .cont:nth-of-type(2) .box02{
		display: block;
	}
	.home .cont02 .inner .cont .box02 .flex_box{
		display: flex;
		gap: 40px;
	}
	.home .cont02 .inner .cont .box02 h3{
		margin-bottom: 30px;
	}
	.home .cont02 .inner .cont .box02 .text02{
		width: 710px;
		line-height: 2.4;
	}


	/* cont03 */
	.home .cont03 .inner{
		position: relative;
	}
	.home .cont03 .inner::before{
		content: "";
		background: url("img/home_accent05.png")no-repeat;
		width: 126px;
		height: 722px;
		position: absolute;
		top: -410px;
        right: -20px;
		z-index: -1;
		mix-blend-mode: multiply;
	}
	.home .cont03 .inner::after{
		content: "";
		background: url("img/home_accent06.png")no-repeat;
		width: 145px;
		height: 720px;
		position: absolute;
        bottom: -370px;
        left: -57px;
		z-index: -1;
		mix-blend-mode: multiply;
	}
	.home .cont03 .inner h2{
		width: 700px;
		height: 60px;
		font-size: 30px;
		line-height: 63px;
		color: #fff;
		background: #036EB7;
		font-weight: bold;
		margin-bottom: 40px;
		letter-spacing: 5px;
		text-align: center;
		padding-left: 60px;
		box-sizing: border-box;
		position: relative;
	}
	.home .cont03 .inner h2::before{
		content: "";
		background: url("img/home_schedule_icon.png")no-repeat center center / cover;
		width: 37px;
		height: 38px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 90px;
	}
	.home .cont03 .inner .example{
		padding: 30px;
		background: rgba(255,255,255,.6);
		box-shadow: 0px 0px 25px rgba(0,0,0,0.2);
		box-sizing: border-box;
	}
	.home .cont03 .inner .example:nth-of-type(2){
		width: 800px;
		margin-top: 20px;
	}
	.home .cont03 .inner .example h3{
		font-size: 24px;
		margin-bottom: 15px;
	}
	.home .cont03 .inner .example h3 span{
		font-weight: bold;
		font-size: 16px;
		vertical-align: middle;
		margin-top: -2px;
        display: inline-block;
	}
	.home .cont03 .inner .example .flex_box{
		display: flex;
		flex-wrap: wrap;
		gap: 30px;
	}
	.home .cont03 .inner .example .flex_box .box01{
		order: 1;
		width: 500px;
	}
	.home .cont03 .inner .example .flex_box .box02{
		order: 3;
	}
	.home .cont03 .inner .example .flex_box .box03{
		order: 2;
		width: 500px;
	}
	.home .cont03 .inner .example .flex_box .box .ttl{
		font-size: 18px;
		font-weight: bold;
	}
	.home .cont03 .inner .example .flex_box .box .ttl::before{
		content: "【";
		padding-right: 10px;
		margin-left: -5px;
	}
	.home .cont03 .inner .example .flex_box .box .ttl::after{
		content: "】";
		padding-left: 10px;
	}
	.home .cont03 .inner .example .box table tr{
		line-height: 2;
	}
	.home .cont03 .inner .example .box table tr th{
		text-align: right;
	}
	.home .cont03 .inner .example .box table tr td{
		padding-left: 30px;
	}



/* 募集要項ボタン（大）
------------------------------------------------------------------------*/
	.btn_big{
		margin: 50px 0 100px;
		text-align: center;
	}
	.btn_big a{
		display: inline-block;
		width: 650px;
		height: 90px;
		border-radius: 5px;
		background-image: radial-gradient(#fff, #9AC4E9);
		text-align: center;
		font-size: 34px;
		font-weight: bold;
		text-shadow: 2px 2px 0 #fff,-2px 2px 0 #fff,-2px -2px 0 #fff,2px -2px 0 #fff;
		padding-top: 14px;
		box-sizing: border-box;
		box-shadow: 0px 0px 25px rgba(0,0,0,0.1);
	}



/* footer
------------------------------------------------------------------------*/
	footer{
		padding: 65px 0 10px;
		color: #fff;
		background: #8EBADD;
		text-align: center;
		position: relative;
		z-index: 1;
	}
	footer .inner .h_box h2{
		display: inline-block;
		border: 2px solid #fff;
		font-size: 30px;
		line-height: 1;
		padding: 20px;
	}
		footer .inner .h_box a{
		color: #fff;
	}
	footer .inner .h_box .nav ul{
		display: flex;
		margin: 60px auto 40px;
		width: 950px;
	}
	footer .inner .h_box .nav ul li{
		width: calc(100% / 5);
		display: inline-block;
		box-sizing: border-box;
		position: relative;
	}
	footer .inner .h_box .nav ul li a{
		color: #fff;
	}
	footer .inner .h_box .nav ul li::before{
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		content: "";
		background: #fff;
		width: 1.5px;
		height: 10px;
	}
	footer .inner .h_box .nav ul li:nth-of-type(5)::after{
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		content: "";
		background: #fff;
		width: 1.5px;
		height: 10px;
	}
	footer .inner .h_box .copy{
		font-size: 12px;
	}	
}



/*===============================================
横幅441px以下 sp
===============================================*/

@media screen and (max-width: 441px) {
	html,
	body,
	.wrap{
		width: 440px;
		position: relative;
	}
	.inner{
		box-sizing: border-box;
		padding: 0 15px;
		width: auto;
	}
	img{
		max-width: 100%;
	}
	.pc{
		display: none;
	}
	.sp {
		display: block;
	}
	p {
		line-height: 1.8;
		font-size: 16px;
	}

	/* スムーススクロール設定 */
	html {
		scroll-behavior: smooth;
	}
	:root {
		--header-height: 60px;
	}
	body::before {
		content: "";
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: url("img/home_bg_sp.png") top center no-repeat;
		background-size: cover;
		z-index: -1;
	}


/* header
------------------------------------------------------------------------*/
	header{
		top: 0;
		left: 0;
		width: 100%;
		height: 50px;
		z-index: 10000;
		position: relative;
	}
	header h1{
		height: 0;
        overflow: hidden;
	}
	header .header_box{
		position: fixed;
		top: 0;
		left: 0;
		width: 440px;
		height: 50px;
		background: #8EBADD;
		box-sizing: border-box;
	}
	header .header_box .inner .header_ttl{
		height: 49px;
		line-height: 50px;
		color: #fff;
		font-weight: bold;
		font-size: 20px;
	}

			header .header_box .inner .header_ttl a{
		height: 49px;
		line-height: 50px;
		color: #fff;
		font-weight: bold;
		font-size: 20px;
	}
	
	header .header_box .tel a{
		position: absolute;
		top: 50%;
		right: 50px;
		transform: translateY(-50%);
		display: block;
		width: 40px;
		height: 0;
		background: url("img/header_tel_sp.png")center center no-repeat;
		background-size: 20px;
		padding-top: 40px;
		box-sizing: border-box;
		overflow: hidden;
	}



/* nav
------------------------------------------------------------------------*/
	#nav {
		display: none;
		background: #8EBADD;
		width: 100%;
		position: fixed;
		z-index: 100;
	}
	#nav-btn.active + #nav{
		display: block;
		background: #8EBADD;
		width: 440px;
		max-height: 100vh;
		max-height: 100dvh;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		z-index: 10000;
		position: relative;
	}

	#nav ul{
		display: flex;
		flex-wrap: wrap;
		align-content: flex-start;
		gap: 28px 0;
		height: 100vh;
		height: 100dvh;
		padding: 85px 60px 70px;
		box-sizing: border-box;
		overflow-y: scroll;
	}
	#nav ul li{
		width: 100%;
	}
	#nav ul li a{
		display: inline-block;
		color: #fff;
		font-size: 18px;
		font-weight: bold;
	}
	#nav-btn {
		width: 50px;
		height: 50px;
		box-sizing: border-box;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 10010;
		transition: all .5s;
	}
	.menu-btn {
		position: absolute;
		width: 30px;
		height: 16px;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
		margin: auto;
	}
	.menu-btn,
	header .menu-btn span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.menu-btn span {
		position: absolute;
		left: 0;
		width: 23px;
		height: 2px;
		background: #fff;
	}
	.menu-btn span:nth-of-type(1) {
		top: 0;
		transition: all 0.5s;
	}
	.menu-btn span:nth-of-type(2) {
		top: 7px;
		transition: all 0.5s;
	}
	.menu-btn span:nth-of-type(3) {
		bottom: 0;
		transition: all 0.5s;
	}
	#nav-btn.active span:nth-of-type(1) {
		transform: translateY(7px) rotate(-45deg);
		transition: all 0.5s;
	}
	#nav-btn.active span:nth-of-type(2) {
		opacity: 0;
		transition: all 0.5s;
	}
	#nav-btn.active span:nth-of-type(3) {
		transform: translateY(-7px) rotate(45deg);
		transition: all 0.5s;
	}



/* home
------------------------------------------------------------------------*/

	/* key */
	.key {
		height: 530px;
		background: url("img/key_bg_sp.png") no-repeat;
		position: relative;
		z-index: 1;
	}
	.key .ttl {
		color: #fff;
        font-size: 25px;
        line-height: 1.4;
        font-weight: bold;
        padding-top: 31px;
		letter-spacing: 3px;
		box-sizing: border-box;
	}
	.key .key_nav{
		display: none;
	}


	/* cont01 */
	.home .cont01 .inner{
		margin: 40px auto 80px;
		text-align: center;
		position: relative;
	}
	.home .cont01 .inner::before{
		content: "";
		background: url("img/home_accent01.png")no-repeat center center / cover;
		width: 47px;
		height: 208px;
		position: absolute;
		top: -100px;
		right: -10px;
		z-index: -1;
		mix-blend-mode: multiply;
	}
	.home .cont01 .inner::after{
		content: "";
		background: url("img/home_accent02.png")no-repeat center center / cover;
		width: 47px;
		height: 208px;
		position: absolute;
		top: 250px;
		left: 0;
		mix-blend-mode: multiply;
	}
	.home .cont01 .inner .text01{
		font-size: 18px;
		font-weight: bold;
		line-height: 2;
	}
	.home .cont01 .inner .text02{
		font-size: 18px;
		font-weight: bold;
		line-height: 2;
	}
	.home .cont01 .inner .btn{
		margin-top: 30px;
	}
	.home .cont01 .inner .btn a{
		display: inline-block;
		width: 300px;
		height: 50px;
		border-radius: 5px;
		background-image: radial-gradient(#fff, #9AC4E9);
		text-align: center;
		font-size: 18px;
		font-weight: bold;
		text-shadow: 1px 1px 0 #fff,-1px 1px 0 #fff,-1px -1px 0 #fff,1px -1px 0 #fff;
		padding-top: 10px;
		box-sizing: border-box;
		box-shadow: 0px 0px 25px rgba(0,0,0,0.1);
	}


	/* cont02 */
	.home .cont02 .inner{
		position: relative;
	}
	.home .cont02 .inner::before{
		content: "";
		background: url("img/home_accent03.png")no-repeat center center / cover;
		width: 81px;
        height: 350px;
        position: absolute;
        top: 2109px;
        right: 0;
		z-index: -1;
		mix-blend-mode: multiply;
	}
	.home .cont02 .inner::after{
		content: "";
		background: url("img/home_accent04.png")no-repeat center center / cover;
        width: 62px;
        height: 322px;
        position: absolute;
        bottom: 2362px;
        left: 3px;
		z-index: -1;
		mix-blend-mode: multiply;
	}
	.home .cont02 .inner h2{
		font-size: 24px;
		line-height: 1;
		color: #036EB7;
		font-weight: bold;
		text-align: center;
		position: relative;
		margin-bottom: 40px;
	}
	.home .cont02 .inner h2::before{
		content: "";
		width: 0;
		height: 0;
		border-left: 20px solid transparent;
		border-right: 20px solid transparent;
		border-top: 20px solid #036EB7;
		position: absolute;
		bottom: -40px;
		left: 50%;
		transform: translateX(-50%);
	}
	.home .cont02 .inner .cont{
		background: rgba(255,255,255,.6);
		border-radius: 30px;
		padding: 20px 20px 30px;
		margin-top: 90px;
		box-sizing: border-box;
		position: relative;
	}
	.home .cont02 .inner .cont .first_img{
		position: absolute;
		top: -40px;
		left: 15px;
	}
	.home .cont02 .inner .cont .first_img img{
		width: 160px;
	}
	.home .cont02 .inner .cont .flex_ttl .text{
		margin-left: 160px;
		font-size: 18px;
		line-height: 1.65;
		font-weight: bold;
	}
	.home .cont02 .inner .cont .flex_ttl .place{
		height: 40px;
		font-size: 16px;
		line-height: 42px;
		color: #fff;
		background: #036EB7;
		font-weight: bold;
		text-align: center;
		margin-top: 15px;
	}
	.home .cont02 .inner .cont:first-of-type .flex_ttl .place{
		margin-top: 25px;
	}
	.home .cont02 .inner .cont .box01{
		margin-top: 30px;
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}
	.home .cont02 .inner .cont h3{
		width: 100%;
		padding-top: 24px;
		height: 0;
		overflow: hidden;
		margin-bottom: 10px;
	}
	.home .cont02 .inner .cont h3.ttl01{
		background: url("img/home_text01.png") no-repeat;
		background-size: 195px;
	}
	.home .cont02 .inner .cont h3.ttl02{
		background: url("img/home_text02.png") no-repeat;
		background-size: 227px;
	}
	.home .cont02 .inner .cont h3.ttl03{
		background: url("img/home_text03.png") no-repeat;
		background-size: 300px;
	}
	.home .cont02 .inner .cont h3.ttl04{
		padding-top: 60px;
		background: url("img/home_text04_sp.png") no-repeat;
		background-size: 325px;
	}
	.home .cont02 .inner .cont h3.ttl05{
		background: url("img/home_text05.png") no-repeat;
		background-size: 256px;
	}
	.home .cont02 .inner .cont .box01 img{
		width: 175px;
	}
	.home .cont02 .inner .cont .box01 .text01{
		line-height: 2.4;
		margin-top: -20px;
	}
	.home .cont02 .inner .cont .box02{
		margin-top: 40px;
		position: relative;
	}
	.home .cont02 .inner .cont:nth-of-type(2) .box02{
		display: block;
	}
	.home .cont02 .inner .cont .box02 h3{
		margin-bottom: 15px;
	}
	.home .cont02 .inner .cont .box02 .img{
		width: 100%;
		position: absolute;
		bottom: 0;
	}
	.home .cont02 .inner .cont .box02 .img img{
		width: 100%;
	}
	.home .cont02 .inner .cont .box02 .text02{
		line-height: 2.4;
		padding-bottom: 380px;
	}


	/* cont03 */
	.home .cont03 .inner{
		position: relative;
	}
	.home .cont03 .inner::before{
		content: "";
		background: url("img/home_accent05.png")no-repeat center center / cover;
        width: 56px;
        height: 322px;
        position: absolute;
        top: -190px;
        right: 10px;
		z-index: -1;
		mix-blend-mode: multiply;
	}
	.home .cont03 .inner::after{
		content: "";
		background: url("img/home_accent06.png")no-repeat center center / cover;
        width: 60px;
        height: 305px;
        position: absolute;
        bottom: -150px;
        left: 0;
		z-index: -1;
		mix-blend-mode: multiply;
	}
	.home .cont03 .inner h2{
		height: 60px;
		font-size: 22px;
		line-height: 61px;
		color: #fff;
		background: #036EB7;
		font-weight: bold;
		margin-bottom: 35px;
		letter-spacing: 3px;
		text-align: center;
		padding-left: 42px;
		box-sizing: border-box;
		position: relative;
	}
	.home .cont03 .inner h2::before{
		content: "";
		background: url("img/home_schedule_icon.png")no-repeat center center / cover;
		width: 28px;
		height: 28px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 25px;
	}
	.home .cont03 .inner .example{
		padding: 20px;
		background: rgba(255,255,255,.6);
		box-shadow: 0px 0px 25px rgba(0,0,0,0.2);
		box-sizing: border-box;
	}
	.home .cont03 .inner .example:nth-of-type(2){
		margin-top: 20px;
	}
	.home .cont03 .inner .example h3{
		font-size: 18px;
		margin-bottom: 10px;
	}
	.home .cont03 .inner .example h3 span{
		font-weight: bold;
		font-size: 14px;
		vertical-align: middle;
		margin-top: -3px;
        display: inline-block;
	}
	.home .cont03 .inner .example .flex_box{
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}
	.home .cont03 .inner .example .flex_box .box .ttl{
		font-size: 16px;
		font-weight: bold;
	}
	.home .cont03 .inner .example .flex_box .box .ttl::before{
		content: "【";
		padding-right: 10px;
		margin-left: -5px;
	}
	.home .cont03 .inner .example .flex_box .box .ttl::after{
		content: "】";
		padding-left: 10px;
	}
	.home .cont03 .inner .example .box table tr{
		line-height: 2;
	}
	.home .cont03 .inner .example .box table tr th{
		letter-spacing: -0.5px;
		text-align: right;
	}
	.home .cont03 .inner .example .box table tr td{
		padding-left: 20px;
	}



/* 募集要項ボタン（大）
------------------------------------------------------------------------*/
	.btn_big{
		margin: 30px 0 80px;
		text-align: center;
	}
	.btn_big a{
		display: inline-block;
		width: 300px;
		height: 50px;
		border-radius: 5px;
		background-image: radial-gradient(#fff, #9AC4E9);
		text-align: center;
		font-size: 18px;
		font-weight: bold;
		text-shadow: 1px 1px 0 #fff,-1px 1px 0 #fff,-1px -1px 0 #fff,1px -1px 0 #fff;
		padding-top: 10px;
		box-sizing: border-box;
		box-shadow: 0px 0px 25px rgba(0,0,0,0.1);
	}



/* footer
------------------------------------------------------------------------*/
	footer{
		padding: 50px 0 20px;
		color: #fff;
		background: #8EBADD;
		text-align: center;
	}
	footer .inner .h_box h2{
		display: inline-block;
		border: 2px solid #fff;
		font-size: 20px;
		line-height: 1;
		padding: 20px;
	}
	footer .inner .h_box .nav ul{
		display: flex;
		margin: 40px auto;
		flex-wrap: wrap;
		justify-content: space-between;
		text-align: left;
		width: 80%;
		gap: 10px;
	}
	footer .inner .h_box .nav ul li{
		width: 45%;
		display: inline-block;
		box-sizing: border-box;
		position: relative;
	}
	footer .inner .h_box .nav ul li a{
		color: #fff;
	}
	footer .inner .h_box .copy{
		font-size: 12px;
	}
}



/* フェードアニメーション css
------------------------------------------------------------------------*/
/*ふわっと出る*/
.mv01_on{
	-webkit-transition: all 0.8s ease-out;
	-moz-transition: all 0.8s ease-out;
	-ms-transition: all 0.8s ease-out;
	-o-transition: all 0.8s ease-out;
	transition: all 0.8s ease-out;
	-webkit-transform: scale(1, 1) translate3d(0, 0, 0);
	-moz-transform: scale(1, 1) translate3d(0, 0, 0);
	-ms-transform: scale(1, 1) translate3d(0, 0, 0);
	-o-transform: scale(1, 1) translate3d(0, 0, 0);
	transform: scale(1, 1) translate3d(0, 0, 0);
	opacity: 0
}
.mv01_off{
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-transform: scale(1, 1) translate3d(0, 0, 0);
	-moz-transform: scale(1, 1) translate3d(0, 0, 0);
	-ms-transform: scale(1, 1) translate3d(0, 0, 0);
	-o-transform: scale(1, 1) translate3d(0, 0, 0);
	transform: scale(1, 1) translate3d(0, 0, 0);
	opacity: 1
}

/*下から*/
.mv02_on{
	-webkit-transition: all 0.8s ease-out;
	-moz-transition: all 0.8s ease-out;
	-ms-transition: all 0.8s ease-out;
	-o-transition: all 0.8s ease-out;
	transition: all 0.8s ease-out;
	-webkit-transform: scale(1, 1) translate3d(0, 100px, 0);
	-moz-transform: scale(1, 1) translate3d(0, 100px, 0);
	-ms-transform: scale(1, 1) translate3d(0, 100px, 0);
	-o-transform: scale(1, 1) translate3d(0, 100px, 0);
	transform: scale(1, 1) translate3d(0, 100px, 0);
	opacity: 0
}
.mv02_off{
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-transform: scale(1, 1) translate3d(0, 0, 0);
	-moz-transform: scale(1, 1) translate3d(0, 0, 0);
	-ms-transform: scale(1, 1) translate3d(0, 0, 0);
	-o-transform: scale(1, 1) translate3d(0, 0, 0);
	transform: scale(1, 1) translate3d(0, 0, 0);
	opacity: 1
}

/*右から*/
.mv03_on{
	-webkit-transition: all 0.8s ease-out;
	-moz-transition: all 0.8s ease-out;
	-ms-transition: all 0.8s ease-out;
	-o-transition: all 0.8s ease-out;
	transition: all 0.8s ease-out;
	-webkit-transform: scale(1, 1) translate3d(100px, 0, 0);
	-moz-transform: scale(1, 1) translate3d(100px, 0, 0);
	-ms-transform: scale(1, 1) translate3d(100px, 0, 0);
	-o-transform: scale(1, 1) translate3d(100px, 0, 0);
	transform: scale(1, 1) translate3d(100px, 0, 0);
	opacity: 0
}
.mv03_off{
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-transform: scale(1, 1) translate3d(0, 0, 0);
	-moz-transform: scale(1, 1) translate3d(0, 0, 0);
	-ms-transform: scale(1, 1) translate3d(0, 0, 0);
	-o-transform: scale(1, 1) translate3d(0, 0, 0);
	transform: scale(1, 1) translate3d(0, 0, 0);
	opacity: 1
}

/*左から*/
.mv04_on{
	-webkit-transition: all 0.8s ease-out;
	-moz-transition: all 0.8s ease-out;
	-ms-transition: all 0.8s ease-out;
	-o-transition: all 0.8s ease-out;
	transition: all 0.8s ease-out;
	-webkit-transform: scale(1, 1) translate3d(-100px, 0, 0);
	-moz-transform: scale(1, 1) translate3d(-100px, 0, 0);
	-ms-transform: scale(1, 1) translate3d(-100px, 0, 0);
	-o-transform: scale(1, 1) translate3d(-100px, 0, 0);
	transform: scale(1, 1) translate3d(-100px, 0, 0);
	opacity: 0
}
.mv04_off{
    -webkit-animation-fill-mode: both;
    -moz-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    -o-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-transform: scale(1, 1) translate3d(0, 0, 0);
    -moz-transform: scale(1, 1) translate3d(0, 0, 0);
    -ms-transform: scale(1, 1) translate3d(0, 0, 0);
    -o-transform: scale(1, 1) translate3d(0, 0, 0);
    transform: scale(1, 1) translate3d(0, 0, 0);
    opacity: 1
}