@charset "utf-8";
/* CSS Document */

/*リンク*/
a:link {
	text-decoration: none;
	color: #797b7c;
	text-decoration: none;
}

a:visited {
	text-decoration: none;
	color: #797b7c;
}

a:hover {
	color: #797b7c;
}

a:active {
	text-decoration: none;
	color: #797b7c;
}

* {
	box-sizing: border-box;
}

html {
	overscroll-behavior: none;
}

body {
	word-wrap: break-word;
	padding: 0;
	margin: auto;
	color: #797b7c;
	overflow-x: hidden;
	min-width: 100%;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-style: normal;
	letter-spacing: 0.005em;
	background: #e1f7ff;
}

.pc {
	display: block;
}

.sp, .tab {
	display: none;
}

header {
	width: 100%;
	height: 140px;
	background: #e1f7ff;
}

header #header_wrapper {
	width: 1140px;
	height: 140px;
	margin: 0 auto;
	position: relative;
}

header #header_wrapper h1 {
	font-size: 10px;
	position: absolute;
	left: 17px;
	top: 4px;
}

header #header_wrapper #logo {
	width: 393px;
	height: 98px;
	position: absolute;
	left: 17px;
	top: 18px;
}

header #header_wrapper #logo img {
	width: 100%;
	height: auto;
}

header #header_wrapper #address {
	width: 383px;
	height: 19px;
	position: absolute;
	left: 17px;
	bottom: 4px;
}

header #header_wrapper #address img {
	width: 100%;
	height: auto;
}

header #header_wrapper #tel {
	width: 348px;
	height: 40px;
	position: absolute;
	right: 126px;
	top: 20px;
	pointer-events: none;
}

header #header_wrapper #tel img {
	width: 100%;
	height: auto;
}

header #header_wrapper #mail {
	width: 420px;
	height: 27px;
	position: absolute;
	right: 128px;
	top: 67px;
}

header #header_wrapper #mail img {
	width: 100%;
	height: auto;
}

header #header_wrapper #line {
	width: 287px;
	height: auto;
	position: absolute;
	right: 128px;
	top: 98px;
}

header #header_wrapper #line img {
	width: 100%;
	height: auto;
}

header #header_wrapper #qr {
	width: 103px;
	height: 102px;
	position: absolute;
	right: 16px;
	top: 18px;
	filter: drop-shadow(0 1px 2px #696969);
	-webkit-filter: drop-shadow(0 1px 2px #696969);
}

header #header_wrapper #qr img {
	width: 100%;
	height: auto;
}

nav#gnav {
	width: 100%;
	height: 130px;
	background: url(../images/common/nav_bg.png) center top repeat-x;
}

nav#gnav ul {
	width: 1200px;
	height: 130px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
}

nav#gnav ul li {
	width: calc(100% / 8);
	height: 100%;
	text-align: center;
	background: url(../images/common/nav_line.png) left center no-repeat;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
 	justify-content: center;
}

nav#gnav ul li:last-child {
	background: url(../images/common/nav_line.png) left center no-repeat, url(../images/common/nav_line.png) right center no-repeat;
}

nav#gnav ul li img {
	transition: .25s cubic-bezier(0.45, 0, 0.55, 1);
}


nav#gnav ul li img:hover {
	transform: translateY(-5px);
}


#contents_wrapper {
	width: 100%;
	height: auto;
	min-height:900px;
	background: url(../images/common/contents_bg02.png) center top no-repeat;
	padding: 35px 0;
	position: relative;
	z-index: 1;
}

#contents_wrapper::before {
	content: "";
	width: 100%;
	height: 100%;
	background: url(../images/common/contents_bg01.png) center top no-repeat;
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
}

#main_img {
	width: 100%;
	height: 620px;
	margin-top: 8px;
	text-align: center;
	position: relative;
}

#main_img img {
	width: 1920px;
	height: 620px;
	position: absolute;
	left: 50%;
	margin-left: -960px;
}

footer {
	width: 100%;
	height: 360px;
	background: #e1f7ff;
	background: url(../images/common/footer_bg.png) center bottom no-repeat;
	padding: 132px 0 24px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

footer nav#fnav {
	width: 100%;
	height: 63px;
	background: white;
	border-top: 1px dashed #797b7c;
	border-bottom: 1px dashed #797b7c;
}

footer nav#fnav ul {
	width: 100%;
	height: 63px;
	display: flex;
	justify-content: center;
	align-items: center;
}

footer nav#fnav ul li {
	width: auto;
	height: 38px;
	line-height: 38px;
	font-size: 16px;
	padding: 0 28px;
	border-right: 1px dotted #797b7c;
	text-align: center;
	font-weight: 500;
	transition-duration: .5s;
}

footer nav#fnav ul li:last-child {
	border: none;
}

footer nav#fnav ul li a:hover {
	color: #24b0ec;
	transition-duration: .5s;
}

footer #copyright {
	width: auto;
	height: 40px;
	line-height: 40px;
	text-align: center;
	background: white;
	font-size: 12px;
	padding: 0 15px;
	border-radius: 20px;
	margin: 60px 20px 0;
}

footer #f_qr {
	width: 108px;
	height: 108px;
	margin-top: 30px;
}

footer nav#fnav_sp {
	display: none;
}
footer #f_line {
	display: none;
}

#page_top {
	width: 100px;
	height: auto;
	position: fixed;
	right: 2.5%;
	bottom: 5%;
	z-index: 99;
	cursor: pointer;
	opacity: 1;
	transition-duration: .5s;
}

#page_top.bottom {
	bottom: 280px;
}

#page_top:hover {
	opacity: 0.75;
	transition-duration: .5s;
}

#page_top img {
	width: 100%;
	height: auto;
}

/*index.html*/
#top-information {
	width: 100%;
	height: auto;
	text-align:center;
	margin-top:1em;
}

#rotation {
	width: 100%;
	height: auto;
	position: relative;
	margin-top: 8px;
}

#rotation_sp {
	display: none;
}

#rotation .slider .slick-next {
	width: 25px;
	height: 41px;
	background: url(../images/top/arrow_R.png) center top no-repeat;
	position: absolute;
	z-index: 10;
	right: 50%;
	margin-right: -650px;
	opacity: 0.8;
}

#rotation .slider .slick-prev {
	width: 25px;
	height: 41px;
	background: url(../images/top/arrow_L.png) center top no-repeat;
	position: absolute;
	z-index: 10;
	left: 50%;
	margin-left: -650px;
	opacity: 0.75;
}

#rotation .slider .slick-next:hover, #rotation .slider .slick-prev:hover  {
	opacity: 1;
	transition: .5s;
}

#rotation .slider .slick-slide {
	opacity: 1;
}

#rotation .slider .slick-slide.slick-active {
	opacity: 1;
}

#rotation .slider .slick-prev:before, #rotation .slider .slick-next:before {
	content: none;
}

#concept {
	width: 100%;
	height: auto;
}

#concept h3.title {
	width: 100%;
	height: 77px;
	text-align: center;
	margin-bottom: 36px;
	margin-top: 36px;
}

#concept .concept_text {
	width: 100%;
	height: auto;
	font-size: 23px;
	text-align: center;
	font-weight: 500;
}

#concept .concept_text p {
	margin-bottom: 54px;
}

#top_info {
	width: 1200px;
	height: auto;
	margin: 60px auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#top_info .access_map, #top_info .instagram, #top_info .x {
	width: 586px;
	height: 813px;
	background: url(../images/top/top_info.png) center top no-repeat;
	margin: 0 auto 50px;
	padding: 56px 0 20px;
}

#top_info .access_map h4.title {
	width: 224px;
	height: 29px;
	margin: 0 auto;
}
#top_info .instagram h4.title {
	width: 344px;
	height: 33px;
	margin: 0 auto;
}

#top_info .access_map h4.title img, #top_info .instagram h4.title img {
	width: 100%;
}

#top_info .access_map .map {
	width: 510px;
	height: 490px;
	margin: 46px auto 0;
}

#top_info .access_map .map iframe {
	width: 100%;
	height: 100%;
}

#top_info .access_map .data {
	width: 100%;
	height: auto;
	text-align: center;
	font-size: 22px;
	margin: 22px 0;
	line-height: 1.25;
}

#top_info .access_map .tel_btn {
	width: 324px;
	height: 50px;
	margin: 0 auto;
}

#top_info .x .x_box, #top_info .instagram .insta_box {
	width: 500px;
	height: 590px;
	margin: 46px auto 7px;
	overflow: auto;
}

#top_info .x .x_box iframe {
	width: 100%;
	height: 100%;
	margin: 0 auto;
}

#top_info .x .bottom_text, #top_info .instagram .bottom_text {
	font-size: 22px;
	text-align: center;
	line-height: 1.25;
}


#top_info .x h3.title {
	width: 190px;
	margin: 0 auto;
}

#top_info .instagram h3.title {
	width: 281px;
	margin: 0 auto;
}

#top_info .x h3.title img, #top_info .instagram h3.title img {
	width: 100%;
	display: block;
}


#top_access_map {
	max-width: 1200px;
	height: 813px;
	background: url(../images/top/top_access.png) center top no-repeat;
	background-size: 100% 100%;
	margin: -60px auto 110px;
	padding: 56px 38px;
}

@media screen and (max-width: 1200px) {
	#top_info {
		padding: 0 5px;
	}

	#top_access_map {
		max-width: 586px;
		height: 813px;
		background: url(../images/top/top_info.png) center top no-repeat;
		background: 100% auto;
	}
}

#top_access_map h3.title {
	width: 220px;
	margin: 0 auto;
}

#top_access_map h3.title img {
	width: 100%;
	display: block;
}

#top_access_map .map {
	width: 100%;
	height: 493px;
	margin: 46px auto 0;
}

#top_access_map .map iframe {
	width: 100%;
	height: 100%;
}

#top_access_map .data {
	width: 100%;
	height: auto;
	text-align: center;
	font-size: 22px;
	margin: 22px 0;
	line-height: 1.25;
}

#top_access_map .tel_btn {
	width: 324px;
	height: 50px;
	margin: 0 auto;
}

/*information*/
#information {
	width: 100%;
	height: auto;
	margin: 0 auto;
}

#information h3.title {
	width: 100%;
	height: 71px;
	text-align: center;
	margin-bottom: 36px;
	margin-top: 36px;
}

#information .information_text {
	width: 100%;
	height: auto;
	font-size: 23px;
	text-align: center;
	font-weight: 500;
}

#information .step {
	width: 1159px;
	height: auto;
	margin: 70px auto 0;
}

#information .step .step_list {
	width: 100%;
	height: 164px;
	position: relative;
	margin-bottom: 20px;
	filter: drop-shadow(0 5px 10px #b3cbd5);
	-webkit-filter: drop-shadow(0 5px 10px #b3cbd5);
}

#information .step .step_list .ttl {
	width: 412px;
	height: 80px;
	text-align: center;
	position: absolute;
	left: 0;
	bottom: 0;
	line-height: 80px;
	font-size: 36px;
}

#information .step .step_list .text {
	width: 747px;
	height: 164px;
	position: absolute;
	right: 0;
	bottom: 0;
	font-size: 22px;
	padding: 0 20px;
	display: flex;
	align-items: center;
}

#information .step .step_list .text a {
	color: #24b0ec;
}

#information .step .step_list.list01 {
	background: url(../images/information/step01.png) center top no-repeat;
}
#information .step .step_list.list02 {
	background: url(../images/information/step02.png) center top no-repeat;
}
#information .step .step_list.list03 {
	background: url(../images/information/step03.png) center top no-repeat;
}
#information .step .step_list.list04 {
	background: url(../images/information/step04.png) center top no-repeat;
}
#information .step .step_list.list05 {
	background: url(../images/information/step05.png) center top no-repeat;
}

#flow {
	width: 1000px;
	height: auto;
	margin: 50px auto 0;
}

#flow h4.title {
	width: 100%;
	height: 100px;
	filter: drop-shadow(0 5px 10px #b3cbd5);
	-webkit-filter: drop-shadow(0 5px 10px #b3cbd5);
}

#flow .flow_list {
	width: 750px;
	height: auto;
	margin: 30px auto;
}

#flow .flow_list p {
	width: 100%;
	font-size: 48px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

#flow .flow_list p span {
	font-size: 36px;
}

#flow .flow_list p span.sub {
	width: 100%;
	font-size: 22px;
	display: block;
	margin: -10px 0 0 40px;
}

#flow .flow_list p::after {
	content: "";
	width: 100%;
	height: 50px;
	background: url(../images/information/arrow.png) center center no-repeat;
	display: block;
}
#flow .flow_list p:last-child:after {
	content: none;
}

#flow .bottom_text {
	width: 762px;
	height: 57px;
	text-align: center;
	background: white;
	font-size: 22px;
	line-height: 57px;
	border-radius: 20px;
	margin: 0 auto;
}

#flow .contact_btn {
	width: 400px;
	height: 90px;
	font-size: 40px;
	text-align: center;
	line-height: 90px;
	color: white;
	border-radius: 20px;
	margin: 50px auto;
	position: relative;
	background: #24b0ec;
	filter: drop-shadow(0 5px 10px #b3cbd5);
	-webkit-filter: drop-shadow(0 5px 10px #b3cbd5);
	transition-duration: 0.36s;
}

#flow .contact_btn:hover {
	transform: translateY(5px);
	transition-duration: 0.36s;
	filter: none;
	-webkit-filter: none;
}


#flow .contact_btn a {
	position: absolute;
	color: white;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

/*program*/
#program {
	width: 100%;
	height: auto;
	margin: 0 auto;
}

#program h3.title {
	width: 100%;
	height: 71px;
	text-align: center;
	margin-bottom: 36px;
	margin-top: 36px;
}

#program .program_text {
	width: 100%;
	height: auto;
	font-size: 23px;
	text-align: center;
	font-weight: 500;
}

/*#program .program_text::after {
	content: "";
	width: 859px;
	height: 543px;
	background: url(../images/program/program_img.png) center top no-repeat;
	display: block;
	margin: 60px auto;
}*/

#program_list {
	width: 1092px;
	height: auto;
	margin: 75px auto;
}

#program_list h4.title {
	width: 432px;
	height: 68px;
	color: white;
	background: #24b0ec;
	text-align: center;
	line-height: 68px;
	font-size: 40px;
	margin: 0 auto 75px;
	border-radius: 30px;
	filter: drop-shadow(0 5px 10px #b3cbd5);
	-webkit-filter: drop-shadow(0 5px 10px #b3cbd5);
}

#program_list .program_box {
	width: 100%;
	height: 380px;
	background: white;
	font-size: 23px;
	border: 1px solid #24b0ec;
	border-radius: 20px;
	margin-bottom: 68px;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 10px;
}

#program_list .program_box div.pc {
	padding-top: 15px;
}

#program_list .program_box .detail {
	width: 418px;
	height: auto;
}

#program_list .program_box .detail p {
	width: 100%;
	height: 48px;
	color: white;
	background: #24b0ec;
	font-size: 27px;
	line-height: 48px;
	margin-bottom: 25px;
	letter-spacing: 0.04em;
	display: flex;
	align-items: center;
	justify-content: center;
}

#program_list .program_box .detail p span {
	margin-left: 5px;
}

#program_list .program_box:nth-child(2n+1) p span {
	margin-left: 0;
	margin-right: 5px;
}

#program_list01 {
	width: 1092px;
	height: auto;
	margin: 75px auto;
}

#program_list01 h4.title {
	width: 432px;
	height: 68px;
	color: white;
	background: #24b0ec;
	text-align: center;
	line-height: 68px;
	font-size: 40px;
	margin: 0 auto 60px;
	border-radius: 30px;
	filter: drop-shadow(0 5px 10px #b3cbd5);
	-webkit-filter: drop-shadow(0 5px 10px #b3cbd5);
}

.program_list_block .sub_title {
	text-align: center;
	font-size: 40px;
	margin-bottom: 30px;
	letter-spacing: 0.4em;
	color: white;
	-webkit-text-stroke: 5px #24b0ec;
    paint-order: stroke;
	filter: drop-shadow(1px 1px 1px #24b0ec);
	-webkit-filter: drop-shadow(1px 1px 1px #24b0ec);
	font-weight: 600;
	line-height: 1.28;
}

.program_list_block .sub_title.fst {
	margin-bottom: 10px;
}

.program_list_block .five_regions_text {
	text-align: center;
	font-size: 32px;
	color: #868584;
	margin-bottom: 30px;
	font-weight: 600;
	letter-spacing: 0.2em;
}

.program_list_block .five_regions_text span:nth-child(1),
.program_list_block .five_regions_text span:nth-child(6),
.program_list_block .five_regions_text span:nth-child(12) {
	color: #ee7185;
}

.program_list_block .five_regions_text span:nth-child(2),
.program_list_block .five_regions_text span:nth-child(7),
.program_list_block .five_regions_text span:nth-child(13) {
	color: #d780ea;
}

.program_list_block .five_regions_text span:nth-child(3),
.program_list_block .five_regions_text span:nth-child(9),
.program_list_block .five_regions_text span:nth-child(14) {
	color: #578dce;
}

.program_list_block .five_regions_text span:nth-child(4),
.program_list_block .five_regions_text span:nth-child(10),
.program_list_block .five_regions_text span:nth-child(12) {
	color: #57d17c;
}

.program_list_block .five_regions_text span:nth-child(5),
.program_list_block .five_regions_text span:nth-child(11) {
	color: #f4995a;
}



.program_list_block .program_box {
	width: 100%;
	height: 380px;
	background: white;
	font-size: 23px;
	border: 1px solid #24b0ec;
	border-radius: 20px;
	margin-bottom: 68px;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 10px;
}

.program_list_block .program_box.pt1 {
	height: auto;
	padding: 30px;
}

.program_list_block .program_box.pt1 .detail p > span {
	color: white;
	margin-left: 10px;
	font-size: 27px;
}

.program_list_block .program_box.pt1 .img_box {
	width: 400px;
}

.program_list_block .program_box.pt1 .img_box img {
	width: 100%;
	display: block;
}

.program_list_block .program_box.pt2.col01 {
	border-color: rgb(232, 80, 143);
}

.program_list_block .program_box.pt2.col02 {
	border-color: #2ab1e8;
}

.program_list_block .program_box.pt2.col03 {
	border-color: #da5168;
}

.program_list_block .program_box.pt2.col04{
	border-color: #415fab;
}

.program_list_block .program_box.pt2.col05 {
	border-color: #ed7041;
}

.program_list_block .program_box:last-child, .program_list_block .program_box.pt2:last-child {
	margin-bottom: 90px;
}

.program_list_block .program_box.pt2 {
	width: 100%;
	height: auto;
	background: white;
	font-size: 23px;
	border: 1px solid #24b0ec;
	border-radius: 20px;
	margin-bottom: 68px;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 45px 90px;
}

.program_list_block .program_box div.pc {
	padding-top: 15px;
}

.program_list_block .program_box .detail {
	width: 418px;
	height: auto;
	color: #868584;
}

.program_list_block .program_box.pt2 .detail {
	width: 100%;
	color: #868584;
	margin: 0 auto;
}

.program_list_block .program_box .detail p {
	width: 100%;
	height: 48px;
	color: white;
	background: #24b0ec;
	font-size: 27px;
	line-height: 48px;
	margin-bottom: 25px;
	letter-spacing: 0.04em;
	display: flex;
	align-items: center;
	justify-content: center;
}

.program_box.pt2.col01 .detail p {
	background: rgb(232, 80, 143);
}
.program_box.pt2.col02 .detail p {
	background: #2ab1e8;
}
.program_box.pt2.col03 .detail p {
	background: #da5168;
}
.program_box.pt2.col04 .detail p {
	background: #415fab;
}
.program_box.pt2.col05 .detail p {
	background: #ed7041;
}

.program_list_block .program_box .detail p span {
	margin-left: 5px;
}

.program_list_block .program_box:nth-child(2n+1) p span {
	margin-left: 0;
	margin-right: 5px;
}

.program_list_block .program_box.pt1 .detail .example {
	display: block;
	font-size: 20px;
	margin-top: 10px;
}

.program_list_block .program_box.list01 {
	border: 1px solid #66ba5a;
}

.program_list_block .program_box.list01 .img_box {
	width: 540px;
}

.program_list_block .program_box.list01 .detail p {
	background: #66ba5a;
}
.program_list_block .program_box.list01 .detail .example {
	color: #66ba5a;
}


.program_list_block .program_box.list02 {
	border: 1px solid #d780ea;
	color: #d780ea;
}

.program_list_block .program_box.list02 .detail p {
	background: #d780ea;
}

.program_list_block .program_box.list02 .detail .example {
	color: #d780ea;
}

.program_list_block .program_box.list03 {
	border: 1px solid #f4995a;
	color: #f4995a;
}

.program_list_block .program_box.list03 .detail p {
	background: #f4995a;
}

.program_list_block .program_box.list03 .detail .example {
	color: #f4995a;
}

.program_list_block .program_box.list04 {
	border: 1px solid #ee7185;
	color: #ee7185;
}

.program_list_block .program_box.list04 .detail p {
	background: #ee7185;
}

.program_list_block .program_box.list04 .detail .example {
	color: #ee7185;
}

.program_list_block .program_box.list05 {
	border: 1px solid #578dce;
	color: #578dce;
}

.program_list_block .program_box.list05 .detail p {
	background: #578dce;
}

.program_list_block .program_box.list05 .detail .example {
	color: #578dce;
}

/*recruit*/
#recruit {
	width: 100%;
	height: auto;
	margin: 0 auto;
}

#recruit h3.title {
	width: 100%;
	height: 71px;
	text-align: center;
	margin-bottom: 36px;
	margin-top: 36px;
}

#recruit .recruit_text {
	width: 100%;
	height: auto;
	font-size: 23px;
	text-align: center;
	font-weight: 500;
}

#recruit .recruit_list {
	width: 728px;
	height: auto;
	margin: 75px auto;
}

#recruit .recruit_list li {
	width: 100%;
	height: 138px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 36px;
	margin-bottom: 70px;
	border-radius: 20px;
	position: relative;
	background: #c2effd url(../images/recruit/arrow01.png) right 42px center no-repeat;
	line-height: 1.25;
	filter: drop-shadow(0 5px 10px #b3cbd5);
	-webkit-filter: drop-shadow(0 5px 10px #b3cbd5);
	transition-duration: 0.36s;
}

#recruit .recruit_list li:hover {
	transform: translateY(5px);
	transition-duration: 0.36s;
	filter: none;
	-webkit-filter: none;
	opacity: 0.9;
}

#recruit .recruit_list li a {
	color: #24b0ec;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

#recruit .recruit_list li:nth-child(even) a {
	color: white
}

#recruit .recruit_list li:nth-child(even) {
	background: #24b0ec url(../images/recruit/arrow02.png) right 42px center no-repeat;
}

/*introduction*/
#introduction {
	width: 100%;
	height: auto;
	margin: 0 auto;
}

#introduction h3.title {
	width: 100%;
	height: 71px;
	text-align: center;
	margin-bottom: 36px;
	margin-top: 36px;
}

#introduction .introduction_text {
	width: 100%;
	height: auto;
	font-size: 23px;
	text-align: center;
	font-weight: 500;
}

#introduction .introduction_list {
	width: 1250px;
	height: 3512px;
	margin: 75px auto;
	background: url(../images/introduction/list.png) center top no-repeat;
	position: relative;
	font-size: 20px;
}

#introduction .introduction_list span.blank {
	display: inline;
}

#introduction .introduction_list p {
	width: 100%;
	height: 49px;
	font-size: 36px;
	color: white;
	display: flex;
	justify-content: center;
	line-height: 49px;
	margin-bottom: 10px;
}

#introduction .introduction_list p span {
	font-size: 27px;
	display: inline-block;
	letter-spacing: 0.25em;
}

#introduction .introduction_list .list01 {
	width: 742px;
	height: 162px;
	position: absolute;
	top: 24px;
	right: 23px;
}


#introduction .introduction_list .list02 {
	width: 501px;
	height: 188px;
	position: absolute;
	top: 662px;
	right: 23px;
}

#introduction .introduction_list .list03 {
	width: 148px;
	height: 513px;
	position: absolute;
	top: 701px;
	left: 23px;
}

#introduction .introduction_list .list03 span.vertical {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: inline-block;
	height: 440px;
	margin-top: 5px;
}

#introduction .introduction_list .list04 {
	width: 641px;
	height: 132px;
	position: absolute;
	top: 1670px;
	left: 24px;
}

#introduction .introduction_list .list05 {
	width: 502px;
	height: 158px;
	position: absolute;
	top: 1644px;
	right: 23px;
}

#introduction .introduction_list .list06 {
	width: 575px;
	height: 164px;
	position: absolute;
	top: 2557px;
	left: 25px;
}

#introduction .introduction_list .list07 {
	width: 568px;
	height: 160px;
	position: absolute;
	top: 2380px;
	right: 22px;
}

#introduction .introduction_list .list08 {
	width: 573px;
	height: 164px;
	position: absolute;
	top: 3329px;
	left: 26px;
}

#introduction .introduction_list .list09 {
	width: 567px;
	height: 164px;
	position: absolute;
	top: 3329px;
	right: 23px;
}


/*publication*/
#publication {
	width: 100%;
	height: auto;
	margin: 0 auto;
	letter-spacing: 0.25em;
	font-family: 'Kiwi Maru', serif;
	font-weight: 500;
}

#publication h3.title {
	width: 100%;
	height: 71px;
	text-align: center;
	margin-bottom: 36px;
	margin-top: 36px;
}

#publication h4.year {
	width: 990px;
	height: 90px;
	background: white;
	margin: 100px auto 0;
	font-size: 36px;
	color: #24b0ec;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 20px;
	filter: drop-shadow(0 5px 10px #b3cbd5);
	-webkit-filter: drop-shadow(0 5px 10px #b3cbd5);
}

#publication .publication_list {
	width: 728px;
	height: auto;
	margin: 75px auto;
}

#publication .publication_list li {
	width: 100%;
	height: 90px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 34px;
	margin-bottom: 70px;
	border-radius: 20px;
	position: relative;
	background: #c2effd url(../images/publication/arrow01.png) right 42px center no-repeat;
	filter: drop-shadow(0 5px 10px #b3cbd5);
	-webkit-filter: drop-shadow(0 5px 10px #b3cbd5);
	transition-duration: 0.5s;
}

#publication .publication_list li a {
	color: #24b0ec;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

#publication .publication_list li:hover {
	transform: translateY(5px);
	transition-duration: 0.36s;
	filter: none;
	-webkit-filter: none;
	opacity: 0.9;
}

#publication .publication_list li:nth-child(even) a {
	color: white
}

#publication .publication_list li:nth-child(even) {
	background: #24b0ec url(../images/publication/arrow02.png) right 42px center no-repeat;
}

/*office*/
#office {
	width: 100%;
	height: auto;
	margin: 0 auto;
}

#office h3.title {
	width: 100%;
	height: 71px;
	text-align: center;
	margin-bottom: 36px;
	margin-top: 36px;
}

#office .office_text {
	width: 100%;
	height: auto;
	font-size: 23px;
	text-align: center;
	font-weight: 500;
}

#office .ryouiku_info {
	width: 1059px;
	height: 381px;
	background: url(../images/office/ryouiku_info.png) center top no-repeat;
	margin: 75px auto;
	padding: 47px 20px 35px 580px;
	font-size: 18px;
	color: #24b0ec;
}

#office .ryouiku_info .ryouiku_name {
	width: 446px;
	height: 53px;
	background: #24b0ec;
	color: white;
	font-size: 30px;
	text-align: center;
	line-height: 53px;
	letter-spacing: 0.2em;
	border-radius: 12px;
}

#office .ryouiku_info .ryouiku_data {
	width: 100%;
	height: auto;
	margin-top: 18px;
}

#office .ryouiku_info .ryouiku_data p:nth-child(n+1) {
	width: 81px;
	height: auto;
	margin-bottom: 3px;
}
#office .ryouiku_info .ryouiku_data p:nth-child(n+2) {
	width: 133px;
	height: auto;
	margin: 3px 0;
}

#office .ryouiku_info .ryouiku_data p img {
	width: 100%;
	height: auto;
}

#office .ryouiku_info .ryouiku_data dl {
	width: 100%;
	height: auto;
	display: flex;
	margin: -8px 0 8px;
}

#office .ryouiku_info .ryouiku_data dl dt {
	width: 27px;
	height: auto;
	margin-right: 5px;
	text-align: center;
	padding: 3px;
}

#office .mirai_banner {
	width: 1050px;
	height: 128px;
	margin: 0 auto;
	filter: drop-shadow(0 5px 10px #b3cbd5);
	-webkit-filter: drop-shadow(0 5px 10px #b3cbd5);
	transition-duration: 0.36s;
}

#office .mirai_banner:hover {
	transform: translateY(5px);
	transition-duration: 0.36s;
	filter: none;
	-webkit-filter: none;
	opacity: 0.9;
}

#office_list {
	width: 100%;
	height: auto;
	margin: 75px auto;
}

#office_list h4.title {
	width: 324px;
	height: 50px;
	margin: 0 auto;
	background: #24b0ec;
	color: white;
	text-align: center;
	font-size: 30px;
	letter-spacing: 0.2em;
	line-height: 50px;
	border-radius: 25px;
	filter: drop-shadow(0 5px 10px #b3cbd5);
	-webkit-filter: drop-shadow(0 5px 10px #b3cbd5);
}

#office_list .office_map {
	width: 615px;
	height: 694px;
	margin: 80px auto;
	filter: drop-shadow(0 5px 10px #b3cbd5);
	-webkit-filter: drop-shadow(0 5px 10px #b3cbd5);
}

#office_list .office_map img {
	width: 100%;
	height: auto;
	display: block;
}

#office_list ul {
	max-width: 1140px;
	height: auto;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	justify-content: center;
}

#office_list ul li {
	width: 352px;
	height: 351px;
	margin: 0 14px 36px;
	position: relative;
}

#office_list ul li p.img {
	width: 100%;
	height: 100%;
	position: absolute;
}

#office_list ul li p.img img {
	width: 100%;
	height: auto;
	display: block;
}

#office_list ul li p.btn {
	width: 189px;
	height: 48px;
	background: #24b0ec;
	color: white;
	text-align: center;
	font-size: 20px;
	line-height: 48px;
	border-radius: 12px;
	letter-spacing: 0.1em;
	position: absolute;
	left: 82px;
	bottom: 34px;
	filter: drop-shadow(0 5px 10px #b3cbd5);
	-webkit-filter: drop-shadow(0 5px 10px #b3cbd5);
	transition-duration: 0.36s;
}

#office_list ul li p.btn:hover {
	transform: translateY(5px);
	transition-duration: 0.36s;
	filter: none;
	-webkit-filter: none;
	opacity: 0.9;
}

#office_list ul li p.btn a {
	position: absolute;
	width: 100%;
	height: 100%;
	color: white;
	left: 0;
	top: 0;
}

/*contact*/
#contact {
	width: 100%;
	height: auto;
	margin: 0 auto;
}

#contact h3.title {
	width: 100%;
	height: 71px;
	text-align: center;
	margin-bottom: 36px;
	margin-top: 36px;
}

#contact .contact_text {
	width: 100%;
	height: auto;
	font-size: 23px;
	text-align: center;
	font-weight: 500;
}

#contact .tel_btn {
	width: 324px;
	height: 50px;
	margin: 80px auto;
	filter: drop-shadow(0 5px 10px #b3cbd5);
	-webkit-filter: drop-shadow(0 5px 10px #b3cbd5);
}

#contact .contact_list {
	width: 900px;
	height: auto;
	margin: 80px auto;
}

#contact .contact_list dl {
	width: 100%;
	height: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 20px;
	margin-bottom: 20px;
}

#contact .contact_list dl dt {
	width: 280px;
	height: 34px;
	text-align: right;
}

#contact .contact_list dl dt span.required {
	font-size: 16px;
	background: #24b0ec;
	color: white;
	padding: 0 5px;
	margin-left: 5px;
	border-radius: 6px;
}

#contact .contact_list dl dt span.optional {
	font-size: 16px;
	background: #868584;
	color: white;
	padding: 0 5px;
	margin-left: 5px;
	border-radius: 6px;
}

#contact .contact_list dl dd {
	width: 603px;
	height: auto;
	display: flex;
	align-items: center;
}

#contact .contact_list dl dd label {
	height: 30px;
	line-height: 30px;
	display: inline-block;
	margin-right: 10px;
}

#contact .contact_list dl dd label span {
	margin-left: 3px;
	height: 30px;
	line-height: 30px;
	display: inline-block;
}


#contact .contact_list dl dd input[type="text"], #contact .contact_list dl dd select {
	width: 100%;
	height: 34px;
	border: 1px solid #cecece;
	border-radius: 6px;
	padding: 0 10px;
	font-size: 20px;
}

#contact .contact_list dl dd textarea {
	width: 100%;
	height: 220px;
	border: 1px solid #cecece;
	border-radius: 6px;
	padding: 10px;
	font-size: 20px;
	font-weight: 300;
}

#form_box {
	width: 900px;
	height: auto;
	margin: 80px auto;
}

#form_box .confirmation, #form_box .completion {
	width: 100%;
	height: auto;
	text-align: center;
	font-size: 23px;
	margin-bottom: 45px;
	color: #24b0ec;
}

#form_box dl {
	width: 100%;
	height: auto;
	display: flex;
	flex-wrap: wrap;
	font-size: 23px;
}

#form_box dl dt {
	width: 45%;
	text-align: right;
	margin: 0 0 20px 0;
}

#form_box dl dt::after {
	content: "：";
}

#form_box dl span.err {
	color: #24b0ec;
}


#form_box input[type="button"], #form_box input[type="submit"] {
	width: 400px;
	height: 44px;
	margin: 60px auto;
	display: block;
	background: #24b0ec;
	color: white;
	border: none;
	font-size: 24px;
	line-height: 44px;
	border-radius: 12px;
	letter-spacing: 0.25em;
	filter: drop-shadow(0 5px 10px #b3cbd5);
	-webkit-filter: drop-shadow(0 5px 10px #b3cbd5);
	cursor: pointer;
}


.submit_box input[type="submit"] {
	width: 400px;
	height: 44px;
	margin: 60px auto;
	display: block;
	background: #24b0ec;
	color: white;
	border: none;
	font-size: 24px;
	line-height: 44px;
	border-radius: 12px;
	letter-spacing: 0.25em;
	filter: drop-shadow(0 5px 10px #b3cbd5);
	-webkit-filter: drop-shadow(0 5px 10px #b3cbd5);
	cursor: pointer;
}

::placeholder {
	color: #9f9f9f;
  }

.empty01, .empty02, .empty03 {
	color: #9f9f9f;
}

input[type="radio"] {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

input[type="radio"] {
    width: 20px;
    height: 20px;
    border-radius: 2px;
    position: relative;
    margin-right: 5px;
}
  input[type="radio"]::before, input[type="radio"]::after{
    content: "";
    display: block;
    border-radius: 2px;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
}
  input[type="radio"]::before {
    background-color: #fff;
    border: 1px solid #7f7e7e;
    height: 20px;
    width: 20px;
    left: 0px;
	top: 12px;
}
  input[type="radio"]::after {
    background-color: #7f7e7e;
    opacity: 0;
    height: 16px;
    width: 16px;
    left: 3px;
	top: 12px;
}
  input[type="radio"]:checked::after {
    opacity: 1;
}

/*******************以下PC用レスポンシブ*******************/

@media screen and (max-width: 1280px) {
	body {
		min-width: 100%;
	}

	#rotation .slider .slick-next {
		right: 15px;
		margin-right: 0;
	}
	
	#rotation .slider .slick-prev {
		left: 15px;
		margin-left: 0;
	}

	#contents_wrapper {
		background-size: 100% auto;
	}

	#introduction .introduction_list {
		width: 97.65vw;
		height: 274.37vw;
		margin: 75px auto;
		background-size: 100% auto;
		font-size: 1.68vw;
		line-height: 1.28;
	}
	
	#introduction .introduction_list p {
		width: 100%;
		height: 3.82vw;
		font-size: 2.81vw;
		line-height: 3.82vw;
		margin-bottom: 0.8vw;
	}  
	
	#introduction .introduction_list p span {
		font-size: 2.11vw;
	}
	
	#introduction .introduction_list .list01 {
		width: 57.96vw;
		height: 12.65vw;
		position: absolute;
		top: 1.87vw;
		right: 1.79vw;
	}
	
	
	#introduction .introduction_list .list02 {
		width: 39.14vw;
		height: 14.68vw;
		top: 51.71vw;
		right: 1.79vw;
	}
	
	#introduction .introduction_list .list03 {
		width: 11.56vw;
		height: 40.07vw;
		top: 54.76vw;
		left: 1.79vw;
	}
	
	#introduction .introduction_list .list03 span.vertical {
		height: 34.37vw;
		margin-top: 0.39vw;
	}
	
	#introduction .introduction_list .list04 {
		width: 50.08vw;
		height: 10.31vw;
		top: 130.46vw;
		left: 1.87vw;
	}
	
	#introduction .introduction_list .list05 {
		width: 39.21vw;
		height: 12.34vw;
		top: 128.43vw;
		right: 1.79vw;
	}
	
	#introduction .introduction_list .list06 {
		width: 44.92vw;
		height: 12.81vw;
		top: 199.76vw;
		left: 1.95vw;
	}
	
	#introduction .introduction_list .list07 {
		width: 44.37vw;
		height: 12.5vw;
		top: 185.93vw;
		right: 1.71vw;
	}
	
	#introduction .introduction_list .list08 {
		width: 44.76vw;
		height: 12.81vw;
		top: 260.07vw;
		left: 2.03vw;
	}
	
	#introduction .introduction_list .list09 {
		width: 44.29vw;
		height: 12.81vw;
		top: 260.07vw;
		right: 1.79vw;
	}
}

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

	body {
		overflow-x: hidden;
	}
	
	header #header_wrapper {
		width: 100%;
		height: 132px;
		margin: 0 auto;
		position: relative;
	}
	
	
	nav#gnav {
		width: 100%;
	}
	
	nav#gnav ul {
		width: 100%;
		padding: 14px 5px 16px;
	}
	
	footer {
		width: 100%;
		height: auto;
		background: #e1f7ff;
		padding: 32px 0;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	
	footer nav#fnav {
		width: 100%;
		height: 63px;
		background: white;
		border-top: 1px dashed #868584;
		border-bottom: 1px dashed #868584;
	}
	
	footer nav#fnav ul {
		width: 100%;
		height: 63px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	footer nav#fnav ul li {
		width: calc(100% / 8);
		height: 38px;
		line-height: 38px;
		font-size: 16px;
		padding: 0;
		border-right: 1px dotted #868584;
	}

	/*index.html*/
	.slick-slide {
		width: 100vw;
	}

	.slick-slide img {
		width: 100%;
		height: auto;
	}
	
	#concept {
		padding: 0 20px;
	}
	
	#concept h3.title {
		width: 100%;
		height: 71px;
		text-align: center;
		margin-bottom: 36px;
	}
	
	#concept .concept_text {
		width: 100%;
		height: auto;
		font-size: 23px;
		text-align: center;
	}
	
	#concept .concept_text p {
		margin-bottom: 54px;
	}
	
	#top_info {
		width: 100%;
		height: auto;
		margin: 60px auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	#information .step {
		width: 96.58vw;
	}
	
	#information .step .step_list {
		height: 13.66vw;
	}
	
	#information .step .step_list .ttl {
		width: 34.33vw;
		height: 6.66vw;
		line-height: 6.66vw;
		font-size: 3vw;
	}
	
	#information .step .step_list .text {
		width: 62.25vw;
		height: 13.66vw;
		font-size: 1.833vw;
		padding: 0 1.66vw;
	}
	
	#information .step .step_list .text a {
		color: #24b0ec;
	}
	
	#information .step .step_list.list01, #information .step .step_list.list02, #information .step .step_list.list03, #information .step .step_list.list04, #information .step .step_list.list05 {
		background-size: 100% auto;
	}

}

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

	/*program*/
	#program_list01 {
		width: 94.13vw;
	}

	.program_list_block .program_box{
		padding: 0.86vw;
	}

	.program_list_block .program_box .detail p span {
		margin-left: 0.43vw;
	}

	.program_list_block .program_box:nth-child(2n+1) p span {
		margin-right: 0.43vw;
	}
	#program_list {
		width: 94.13vw;
	}

	#program_list .program_box{
		padding: 0.86vw;
	}

	#program_list .program_box .detail p span {
		margin-left: 0.43vw;
	}

	#program_list .program_box:nth-child(2n+1) p span {
		margin-right: 0.43vw;
	}

	#flow {
		width: 86.2vw;
		height: auto;
		margin: 50px auto 0;
	}

	#flow h4.title img {
		width: 100%;
		height: auto;
		display: block;
	}

}

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

	.tab {
		display: block;
	}
	
	/*information*/
	#information h3.title {
		width: 96.29vw;
		height: auto;
		margin: 0 auto 36px;
		display: block;
	}

	#information h3.title img {
		width: 100%;
		height: auto;
		display: block;
	}

	/*office*/
	#office .abenoku_info {
		width: 98.05vw;
		height: 35.27vw;
		background-size: 100% auto;
		padding: 4.35vw 1.85vw 3.24vw 53.7vw;
		font-size: 1.85vw;
	}
	
	#office .abenoku_info .abenoku_name {
		width: 41.29vw;
		height: 4.9vw;
		font-size: 2.77vw;
		line-height: 4.9vw;
	}
	
	#office .abenoku_info .abenoku_data {
		margin-top: 1.66vw;
	}
	
	#office .abenoku_info .abenoku_data p:nth-child(n+1) {
		width: 7.5vw;
		margin-bottom: 0.27vw;
	}
	#office .abenoku_info .abenoku_data p:nth-child(n+2) {
		width: 12.31vw;
		margin: 0.27vw 0;
	}
	
	
	#office .abenoku_info .abenoku_data dl {
		margin: -0.74vw 0 0.74vw;
	}
	
	#office .abenoku_info .abenoku_data dl dt {
		width: 2.5vw;
		margin-right: 0.46vw;
		padding: 0.27vw;
	}
	
	#office .mirai_banner {
		width: 97.22vw;
		height: auto;
		margin: 0 auto;
	}

	#office .mirai_banner img {
		width: 100%;
		height: auto;
		display: block;
	}

	#office_list ul {
		max-width: 800px;
	}

	/*publication*/
	#publication h4.year {
		width: 91.66vw;
	}
}

