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

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

	body {
		overflow-x: hidden;
		min-width: 320px;
	}

	body.fixed {
		overflow-y: hidden;
		width: 100%;
		height: 100%;
		touch-action: none;
	}

	.pc, .tab {
		display: none;
	}

	.sp {
		display: block;
	}

	img {
		width: 100%;
		height: auto;
		display: block;
	}

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

	#wrapper.fixed {
		position: fixed;
		width: 100%;
		height: 100%;
	}

	header {
		width: 100%;
		height: 42.94vw;
		background: none;
	}

	header #header_wrapper {
		width: 100%;
		height: 100%;
	}

	header #header_wrapper h1 {
		left: 4.61vw;
		top: 0.5vw;
	}

	header #header_wrapper #logo {
		width: 72.94vw;
		height: auto;
		position: absolute;
		left: 4.61vw;
		top: 4.74vw;
	}

	header #header_wrapper #address {
		width: 82.69vw;
		height: auto;
		left: 8.71vw;
		bottom: 3.97vw;
	}

	header #header_wrapper #tel {
		width: 65.76vw;
		height: auto;
		right: 0;
		left: 17.3vw;
		top: 26.02vw;
		pointer-events: auto;
	}

	header #header_wrapper #mail {
		display: none;
	}

	header #header_wrapper #line {
		display: none;
	}

	header #header_wrapper #qr {
		display: none;
	}

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

	nav#gnav {
		display: none;
	}

	#menu-container {
		width: 100%;
		max-height: 100%;
		position: fixed;
		z-index: 100;
		top: 0;
	}

	#menu-container #logo_menu {
		width: 100%;
		height: 22vw;
		padding-top: 6vw;
	}

	#menu-container #logo_menu img {
		width: 56vw;
		height: auto;
		margin: 0 auto;
	}

	#menu-wrapper {
		overflow: hidden;
		max-width: 100%;
		cursor: pointer;
	}


	#menu-container #info_sp .info_txt {
		width: 38.54vw;
		height: 7.03vw;
		text-align: center;
		background: white;
		color: #ff7086;
		font-size: 3.9vw;
		line-height: 7.03vw;
		margin: 0 auto;
	}

	#menu-wrapper #hamburger-menu {
		position: absolute;
		width: 16.28vw;
		height: 16.28vw;
		z-index: 1000;
		top: 5.11vw;
		right: 2.66vw;
		background: white;
		border-radius: 1.3vw;
	}

	#menu-wrapper #hamburger-menu span {
		opacity: 1;
		left: 3.54vw;
		display: block;
		width: 9.62vw;
		height: 1.41vw;
		color: #24b0ec;
		background: #24b0ec;
		position: absolute;
		transform: rotate(0deg);
		transition: .3s ease-in-out;
		border-radius: 0.65vw;
	}

	#menu-wrapper #hamburger-menu span:nth-child(1) {
		top: 4.1vw;
	}
	#menu-wrapper #hamburger-menu span:nth-child(2) {
		top: 7.43vw;
	}
	#menu-wrapper #hamburger-menu span:nth-child(3) {
		top: 10.55vw;
	}
	#menu-wrapper #hamburger-menu.open span:nth-child(1) {
		transform: translateY(3.48vw) rotate(135deg);
		background: #24b0ec;
	}
	#menu-wrapper #hamburger-menu.open span:nth-child(2) {
		opacity: 0;
		transform: translateX(60px);
	}
	#menu-wrapper #hamburger-menu.open span:nth-child(3) {
		transform: translateY(-2.88vw) rotate(-135deg);
		background: #24b0ec;
	}

	#menu-container .menu-list {
		padding-left: 0;
		display: block;
		position: absolute;
		width: 100%;
		height: 100vh;
		background: #e1f7ff;
		z-index: 999;
		overflow-x: hidden;
		right: -100%;
		top: 0;
		padding: 0 2.6vw;
	}

	#menu-container .menu-list .sp_menu {
		width: 100%;
		height: 100%;
		overflow-y: auto;
	}

	#menu-container .menu-list .sp_menu ul li {
		width: 36.66vw;
		height: 12vw;
		font-size: 4.42vw;
		text-transform: uppercase;
		color: #797b7c;
		text-align: center;
		border-bottom: dashed 1px #797b7c;
		line-height: 12vw;
		position: relative;
		padding: 1.2vw 0 0;
		margin: 0 auto 4vw;
		font-family: 'Kiwi Maru', serif;
		font-weight: 500;
	}

	#menu-container .menu-list .sp_menu ul li:last-child {
		border: none;
	}

	#menu-container .menu-list .sp_menu ul li a {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		color: #797b7c;
	}

	#menu-container .menu-list .sp_menu .info_sp {
		width: 72vw;
		height: auto;
		margin: 0 auto;
	}

	#menu-container .menu-list .sp_menu .info_sp p {
		width: 100%;
		height: auto;
		margin: 0 auto 6.66vw;
	}

	nav#gnav {
		display: none;
	}

	#contents_wrapper {
		width: 100%;
		height: auto;
		background: url(../images/common/contents_bg02_sp.png) center top no-repeat;
		background-size: contain;
		padding: 11.88vw 0 0;
	}

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

	#main_img {
		width: 100%;
		height: auto;
		margin-top: 0;
		text-align: center;
	}

	#main_img img {
		width: 100%;
		height: auto;
		position: unset;
		margin: 0;
	}

	footer {
		background: url(../images/common/footer_bg_sp.png) center bottom no-repeat;
		background-size: contain;
		padding: 10.25vw 1vw 6.92vw;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		position: relative;
	}

	footer nav#fnav {
		display: none;
	}

	footer nav#fnav_sp {
		width: 100%;
		height: auto;
		display: block;
	}

	footer nav#fnav_sp ul {
		width: 92.88vw;
		height: auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 0 auto;
	}

	footer nav#fnav_sp ul li {
		width: 45.88vw;
		height: auto;
		margin-bottom: 6.15vw;
	}

	footer #copyright {
		width: 91.66vw;
		height: auto;
		line-height: 1.5;
		text-align: center;
		background: white;
		font-size: 3.07vw;
		padding: 2.6vw 0;
		border-radius: 6.66vw;
		margin: 11.53vw auto 0;
	}

	footer #f_qr {
		display: none;
	}

	footer #f_line {
		width: 91.88vw;
		height: auto;
		margin: 0 auto 28vw;
		display: block;
	}

	#page_top {
		width: 16.8vw;
		height: auto;
		margin: 0 auto;
		bottom: 2.5%;
		opacity: 0.9;
	}

	#page_top.bottom {
		width: 22.66vw;
		height: auto;
		position: absolute;
		bottom: 30.8vw;
		left: 50%;
		margin-left: -11.33vw;
		opacity: 1;
	}

	/*index.html*/
	#top-information {
		margin-top:0;
	}

	#rotation {
		display: none;
	}

	#rotation_sp {
		display: block;
	}

	#rotation_sp .slider_sp .slick-next {
		width: 54px;
		height: 54px;
		background: url(../images/top/arrow_R.png) center top no-repeat;
		position: absolute;
		z-index: 10;
		right: 0.25%;
		opacity: 0.8;
	}

	#rotation_sp .slider_sp .slick-prev {
		width: 54px;
		height: 54px;
		background: url(../images/top/arrow_L.png) center top no-repeat;
		position: absolute;
		z-index: 10;
		left: 0.25%;
		opacity: 0.75;
	}

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

	#rotation_sp .slider_sp .slick-slide {
		opacity: 1;
	}

	#rotation_sp .slider_sp .slick-slide.slick-active {
		opacity: 1;
	}

	#rotation_sp .slider_sp .slick-prev:before, #rotation_sp .slider_sp .slick-next:before {
		content: none;
	}

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

	#concept h3.title {
		width: 100%;
		height: auto;
		margin: 0 auto 3.84vw;
	}

	#concept .concept_text {
		font-size: 3.84vw;
		line-height: 1.6;
	}

	#top_info {
		width: 91.79vw;
		height: auto;
		margin: 7.69vw auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 0;
	}

	#top_info .access_map, #top_info .instagram, #top_info .x {
		width: 100%;
		height: 132.82vw;
		background: url(../images/top/top_info_sp.png) center top no-repeat;
		background-size: 100% auto;
		margin: 0 auto 7.69vw;
		padding: 8.46vw 0 0;
	}

	#top_info .instagram h4.title {
		width: 62vw;
		height: auto;
	}

	#top_info .instagram h3.title {
		width: 58.44vw;
		height: auto;
	}
	#top_info .x h3.title {
		width: 39.22vw;
		height: auto;
	}

	#top_info .access_map .map {
		width: 80.12vw;
		height: 77.43vw;
		margin: 6.66vw auto 0;
	}

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

	#top_info .access_map .data {
		width: 100%;
		height: auto;
		font-size: 3.6vw;
		margin: 2.6vw 0 3.9vw;
		line-height: 1.25;
	}

	#top_info .access_map .tel_btn {
		width: 59.74vw;
		height: auto;
		margin: 0 auto;
	}

	#top_info .instagram .insta_box, #top_info .x .x_box {
		width: 84vw;
		max-width: 540px;
		height: 90.12vw;
		margin: 6.66vw auto 0;
		overflow: auto;
		padding: 0;
	}

	#top_info .instagram .bottom_text, #top_info .x .bottom_text {
		font-size: 3.6vw;
		line-height: 1.25;
		margin-top: 3.6vw;
	}

	#top_info .access_map h4.title {
		width: 46vw;
		height: auto;
	}

	#top_access_map {
		width: 91.79vw;
		max-width: 100%;
		height: 132.82vw;
		background: url(../images/top/top_info_sp.png) center top no-repeat;
		background-size: 100% auto;
		padding: 8.46vw 0 0;
		margin: -7.69vw auto 12.8vw;
	}
	#top_access_map h3.title {
		width: 46.28vw;
		height: auto;
	}

	#top_access_map .map {
		width: 80.12vw;
		height: 77.43vw;
		margin: 6.66vw auto 0;
	}

	#top_access_map .data {
		width: 100%;
		height: auto;
		font-size: 3.9vw;
		margin: 2.6vw 0 3.9vw;
		line-height: 1.25;
	}

	#top_access_map .tel_btn {
		width: 59.74vw;
		height: auto;
		margin: 0 auto;
	}

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

	#information h3.title {
		width: 100%;
		height: auto;
		margin: 0 auto 3.84vw;
	}
	
	#information .information_text {
		font-size: 3.84vw;
		line-height: 1.6;
	}
	
	#information .step {
		width: 93.66vw;
		height: auto;
		margin: 8.88vw auto 0;
	}
	
	#information .step .step_list {
		width: 100%;
		height: 59.33vw;
		position: unset;
		margin-bottom: 7.77vw;
		filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
		-webkit-filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
		padding: 10.55vw 2.22vw 0;
	}
	
	#information .step .step_list .ttl {
		width: 100%;
		height: 16vw;
		text-align: center;
		line-height:16vw;
		font-size: 6.15vw;
		position: unset;
	}
	
	#information .step .step_list .text {
		width: 100%;
		height: 32.66vw;
		font-size: 3.56vw;
		padding: 0;
		position: unset;
		letter-spacing: 0.001em;
	}
	
	#information .step .step_list .text a {
		color: #24b0ec;
	}
	
	#information .step .step_list.list01 {
		background: url(../images/information/step01_sp.png) center top no-repeat;
		background-size: 100% auto;
	}
	#information .step .step_list.list02 {
		background: url(../images/information/step02_sp.png) center top no-repeat;
		background-size: 100% auto;
	}
	#information .step .step_list.list03 {
		background: url(../images/information/step03_sp.png) center top no-repeat;
		background-size: 100% auto;
	}
	#information .step .step_list.list04 {
		background: url(../images/information/step04_sp.png) center top no-repeat;
		background-size: 100% auto;
	}
	#information .step .step_list.list05 {
		background: url(../images/information/step05_sp.png) center top no-repeat;
		background-size: 100% auto;
	}
	
	#flow {
		width: 100%;
		height: auto;
		margin: 10vw auto 0;
	}
	
	#flow h4.title {
		width: 84.77vw;
		height: auto;
		filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
		-webkit-filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
		margin: 0 auto;
	}
	
	#flow .flow_list {
		width: 100%;
		height: auto;
		margin: 10vw auto 4.4vw;
		padding: 0 4.44vw;
	}
	
	#flow .flow_list p {
		font-size: 6.15vw;
	}
	
	#flow .flow_list p span {
		font-size: 4.61vw;
	}
	
	#flow .flow_list p span.sub {
		font-size: 3.64vw;
		display: block;
		margin: 0 0 0 3.33vw;
		line-height: 1.2;
	}
	
	#flow .flow_list p::after {
		content: "";
		width: 100%;
		height: 6.66vw;
		background: url(../images/information/arrow.png) center center no-repeat;
		background-size: 3.22vw 2.88vw;
		display: block;
	}
	#flow .flow_list p:last-child:after {
		content: none;
	}
	
	#flow .bottom_text {
		width: 92.55vw;
		height: auto;
		text-align: left;
		font-size: 3.6vw;
		line-height: 1.2;
		border-radius: 2.22vw;
		margin: 0 auto;
		padding: 1.66vw 3.33vw;
	}
	
	#flow .contact_btn {
		width: 53.22vw;
		height: 15.77vw;
		font-size: 6.15vw;
		text-align: center;
		line-height: 15.77vw;
		color: white;
		border-radius: 2.22vw;
		margin: 12.8vw auto;
		filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
		-webkit-filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
	}
	
	/*program*/
	#program {
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
	
	#program h3.title {
		width: 100%;
		height: auto;
		margin: 0 auto 3.84vw;
	}
	
	#program .program_text {
		font-size: 3.84vw;
		line-height: 1.6;
	}
	
	/*#program .program_text::after {
		content: "";
		width: 93.11vw;
		height: 58.55vw;
		background: url(../images/program/program_img.png) center top no-repeat;
		background-size: 100% auto;
		display: block;
		margin: 6.66vw auto;
	}*/

	#program_list01 {
		width: 92.88vw;
		height: auto;
		margin: 10vw auto 12.8vw;
	}
	
	#program_list01 h4.title {
		width: 80.44vw;
		height: 13vw;
		text-align: center;
		line-height: 13vw;
		font-size: 6.15vw;
		margin: 0 auto 6.7vw;
		border-radius: 5.55vw;
		filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
		-webkit-filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
	}

	.program_list_block .sub_title {
		font-size: 6.15vw;
		-webkit-text-stroke-width: 0.6vw;
		paint-order: stroke;
		margin-bottom: 6.4vw;
	}

	.program_list_block .sub_title.fst {
		margin-bottom: 3.2vw;
	}

	.program_list_block .five_regions_text {
		font-size: 4.8vw;
		margin-bottom: 6.8vw;
	}

	.program_list_block .program_box {
		width: 100%;
		height: 92.88vw;
		background: white;
		font-size: 3.84vw;
		border-radius: 2.22vw;
		margin-bottom: 6.8vw;
		display: block;
		padding: 6.66vw 4.88vw 0;
	}

	.program_list_block .program_box.pt1, .program_list_block .program_box.pt2 {
		width: 100%;
		height: auto;
		font-size: 3.84vw;
		border-radius: 2.22vw;
		margin-bottom: 6.8vw;
		padding: 6.66vw 4.88vw;
	}

	.program_list_block .program_box.pt1 .detail .example {
		font-size: 3.2vw;
	}

	.program_list_block .program_box.pt1 .img_box {
		width: 72.8vw;
		margin: 10px auto 0;
	}

	.program_list_block .program_box.list01 .img_box {
		width: 80.88vw;
	}

	.program_list_block .program_box:last-child,.program_list_block .program_box.pt2:last-child {
		margin-bottom: 13.6vw;
	}

	.program_list_block .program_box .detail {
		width: 100%;
		height: auto;
		letter-spacing: 0.05em;
	}
	.program_list_block .program_box .detail p, .program_list_block .program_box.pt2 .detail p {
		width: 100%;
		height: 12.88vw;
		color: white;
		font-size: 6.15vw;
		margin-bottom: 7.22vw;
		letter-spacing: 0.04em;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.program_list_block .program_box .detail p span {
		display: none;
	}

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

	.program_list_block .program_box .sp img {
		height: auto;
		margin: 0 auto;
	}

	.program_list_block .program_box.list01 img {
		width: 61.33vw;
	}
	.program_list_block .program_box.list02 img {
		width: 53vw;
		margin-top: 2.22vw;
	}
	.program_list_block .program_box.list03 img {
		width: 49.33vw;
		margin-top: 2.22vw;
	}
	#program_list .program_box.list04 img {
		width: 52.66vw;
		margin-top: 2.22vw;
	}
	.program_list_block .program_box.list05 img {
		width: 52.22vw;
		margin-top: 4vw;
	}
	.program_list_block .program_box.list06 img {
		width: 55.88vw;
		margin-top: 4vw;
	}

	#program_list {
		width: 92.88vw;
		height: auto;
		margin: 10vw auto 12.8vw;
	}

	#program_list h4.title {
		width: 80.44vw;
		height: 13vw;
		color: white;
		background: #24b0ec;
		text-align: center;
		line-height: 13vw;
		font-size: 6.15vw;
		margin: 0 auto 10vw;
		border-radius: 5.55vw;
		filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
		-webkit-filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
	}
	
	#program_list .program_box {
		width: 100%;
		height: 92.88vw;
		background: white;
		font-size: 3.84vw;
		border-radius: 2.22vw;
		margin-bottom: 7.22vw;
		display: block;
		padding: 6.66vw 4.88vw 0;
	}
	
	#program_list .program_box .detail {
		width: 100%;
		height: auto;
		letter-spacing: 0.05em;
	}
	
	#program_list .program_box .detail p {
		width: 100%;
		height: 12.88vw;
		color: white;
		background: #24b0ec;
		font-size: 6.15vw;
		margin-bottom: 7.22vw;
		letter-spacing: 0.04em;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	#program_list .program_box .detail p span {
		display: none;
	}
	
	#program_list .program_box:nth-child(2n+1) p span {
		margin-left: 0;
		margin-right: 0;
	}

	#program_list .program_box .sp img {
		height: auto;
		margin: 0 auto;
	}

	#program_list .program_box.list01 img {
		width: 61.33vw;
	}
	#program_list .program_box.list02 img {
		width: 53vw;
		margin-top: 2.22vw;
	}
	#program_list .program_box.list03 img {
		width: 49.33vw;
		margin-top: 2.22vw;
	}
	#program_list .program_box.list04 img {
		width: 52.66vw;
		margin-top: 2.22vw;
	}
	#program_list .program_box.list05 img {
		width: 52.22vw;
		margin-top: 4vw;
	}
	#program_list .program_box.list06 img {
		width: 55.88vw;
		margin-top: 4vw;
	}

	/*recruit*/
	#recruit {
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
	
	#recruit h3.title {
		width: 100%;
		height: auto;
		margin: 0 auto 3.84vw;
	}
	
	#recruit .recruit_text {
		font-size: 3.84vw;
		line-height: 1.6;
	}
	
	#recruit .recruit_list {
		width: 93.33vw;
		height: auto;
		margin: 10vw auto 12.8vw;
	}

	#recruit .recruit_list li {
		width: 100%;
		height: 20.66vw;
		font-size: 5.55vw;
		margin-bottom: 7.77vw;
		border-radius: 2.22vw;
		background: #c2effd url(../images/recruit/arrow01.png) right 5vw center no-repeat;
		background-size: 2.77vw 4.33vw;
		filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
		-webkit-filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
		letter-spacing: 0.01em;
	}

	#recruit .recruit_list li:hover {
		transform: none;
	}
	
	#recruit .recruit_list li:nth-child(even) {
		background: #24b0ec url(../images/recruit/arrow02.png) right 5vw center no-repeat;
		background-size: 2.77vw 4.33vw;
	}
	
	/*introduction*/
	#introduction {
		width: 100%;
		height: auto;
		margin: 0 auto;
	}

	#introduction h3.title {
		width: 100%;
		height: auto;
		margin: 0 auto 3.84vw;
	}
	
	#introduction .introduction_text {
		font-size: 3.84vw;
		line-height: 1.6;
	}
	
	#introduction .introduction_list {
		width: 94.66vw;
		height: auto;
		margin: 4.44vw auto;
		background: none;
		position: unset;
		font-size: 3.84vw;
	}

	#introduction .introduction_list span.blank {
		display: none;
	}
	
	#introduction .introduction_list p {
		width: 100%;
		height: 12.88vw;
		font-size: 6.15vw;
		color: white;
		display: flex;
		justify-content: center;
		line-height: 12.88vw;
		margin-bottom: 7.33vw;
	}
	
	#introduction .introduction_list p span {
		display: none;
	}
	
	#introduction .introduction_list .list01 {
		width: 100%;
		height: 139.22vw;
		position: unset;
		background: url(../images/introduction/list01.png) left top no-repeat;
		background-size: 100% auto;
		padding: 80.11vw 6vw 0 6.8vw;
		margin-bottom: 6.44vw;
	}
	
	
	#introduction .introduction_list .list02 {
		width: 100%;
		height: 120.44vw;
		position: unset;
		background: url(../images/introduction/list02.png) left top no-repeat;
		background-size: 100% auto;
		padding: 60.77vw 6vw 0 6.8vw;
		margin-bottom: 6.44vw;
	}
	
	#introduction .introduction_list .list03 {
		width: 100%;
		height: 132.66vw;
		position: unset;
		background: url(../images/introduction/list03.png) left top no-repeat;
		background-size: 100% auto;
		padding: 80.11vw 6vw 0 6.8vw;
		margin-bottom: 6.44vw;
	}
	
	#introduction .introduction_list .list03 span.vertical {
		-ms-writing-mode: inherit;
		writing-mode: inherit;
		display: inline-block;
		height: auto;
		margin-top: 0;
	}
	
	#introduction .introduction_list .list04 {
		width: 100%;
		height: 100.77vw;
		position: unset;
		background: url(../images/introduction/list04.png) left top no-repeat;
		background-size: 100% auto;
		padding: 60.77vw 6vw 0 6.8vw;
		margin-bottom: 6.44vw;
	}
	
	#introduction .introduction_list .list05 {
		width: 100%;
		height: 132.33vw;
		position: unset;
		background: url(../images/introduction/list05.png) left top no-repeat;
		background-size: 100% auto;
		padding: 80.11vw 6vw 0 6.8vw;
		margin-bottom: 6.44vw;
	}
	
	#introduction .introduction_list .list06 {
		width: 100%;
		height: 132.33vw;
		position: unset;
		background: url(../images/introduction/list06.png) left top no-repeat;
		background-size: 100% auto;
		padding: 80.11vw 6vw 0 6.8vw;
		margin-bottom: 6.44vw;
	}
	
	#introduction .introduction_list .list07 {
		width: 100%;
		height: 132.66vw;
		position: unset;
		background: url(../images/introduction/list07.png) left top no-repeat;
		background-size: 100% auto;
		padding: 80.11vw 6vw 0 6.8vw;
		margin-bottom: 6.44vw;
	}
	
	#introduction .introduction_list .list08 {
		width: 100%;
		height: 138.66vw;
		position: unset;
		background: url(../images/introduction/list08.png) left top no-repeat;
		background-size: 100% auto;
		padding: 80.11vw 6vw 0 6.8vw;
		margin-bottom: 6.44vw;
	}
	
	#introduction .introduction_list .list09 {
		width: 100%;
		height: 132.33vw;
		position: unset;
		background: url(../images/introduction/list09.png) left top no-repeat;
		background-size: 100% auto;
		padding: 80.11vw 6vw 0 6.8vw;
		margin-bottom: 12.8vw;
	}
	
	
	/*publication*/
	#publication {
		width: 100%;
		height: auto;
		margin: 0 auto;
		letter-spacing: 0.25em;
	}
	
	#publication h3.title {
		width: 100%;
		height: auto;
		margin: 0 auto 3.84vw;
	}
	
	
	#publication h4.year {
		width: 93.33vw;
		height: 11.66vw;
		margin: 10vw auto 0;
		font-size: 6.15vw;
		border-radius: 2.22vw;
		filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
		-webkit-filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
	}
	
	#publication .publication_list {
		width: 93.33vw;
		height: auto;
		margin: 10vw auto 12.8vw;
	}
	
	#publication .publication_list li {
		width: 100%;
		height: 20.66vw;
		font-size: 5.15vw;
		margin-bottom: 7.77vw;
		border-radius: 2.22vw;
		background: #c2effd url(../images/publication/arrow01.png) right 5vw center no-repeat;
		background-size: 2.77vw 4.33vw;
		filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
		-webkit-filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
		letter-spacing: 0.01em;
	}

	#publication .publication_list li:hover {
		transform: none;
	}
	
	#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:nth-child(even) a {
		color: white
	}
	
	#publication .publication_list li:nth-child(even) {
		background: #24b0ec url(../images/publication/arrow02.png) right 5vw center no-repeat;
		background-size: 2.77vw 4.33vw;
	}
	
	/*office*/
	#office {
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
	
	#office h3.title {
		width: 100%;
		height: auto;
		margin: 0 auto 3.84vw;
	}
	
	#office .office_text {
		font-size: 3.84vw;
		line-height: 1.6;
	}
	
	#office .ryouiku_info {
		width: 85.88vw;
		height: 114.77vw;
		background: url(../images/office/ryouiku_info_sp.png) center top no-repeat;
		background-size: 100% auto;
		margin: 6.66vw auto 10.66vw;
		padding: 52vw 0 0 3.92vw;
		font-size: 3.4vw;
	}
	
	#office .ryouiku_info .ryouiku_name {
		width: 74.66vw;
		height: 9vw;
		font-size: 6.15vw;
		line-height: 9vw;
		border-radius: 1.33vw;
		margin: 0 auto;
	}
	
	#office .ryouiku_info .ryouiku_data {
		width: 100%;
		height: auto;
		margin-top: 2.77vw;
	}

	#office .ryouiku_info .ryouiku_data p:nth-child(n+1) {
		width: 15vw;
		height: auto;
		margin: 0 auto 1.1vw;
	}
	#office .ryouiku_info .ryouiku_data p:nth-child(n+2) {
		width: 25.55vw;
		height: auto;
		margin: 2.8vw auto;
	}
	
	#office .ryouiku_info .ryouiku_data dl {
		width: 100%;
		height: auto;
		display: flex;
		margin: 0;
	}
	
	#office .ryouiku_info .ryouiku_data dl dt {
		width: 2.44vw;
		height: auto;
		margin-right: 1vw;
		text-align: center;
		padding: 0;
		margin-top: 1.25vw;
	}

	
	#office .mirai_banner {
		width: 91.33vw;
		height: auto;
		margin: 0 auto;
		filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
		-webkit-filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
	}
	
	#office_list {
		width: 100%;
		height: auto;
		margin: 10.66vw auto;
	}
	
	#office_list h4.title {
		width: 80.44vw;
		height: 12.88vw;
		font-size: 6.15vw;
		line-height: 12.88vw;
		border-radius: 6vw;
		filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
		-webkit-filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
	}
	
	#office_list .office_map {
		width: 86.44vw;
		height: auto;
		margin: 8.33vw auto;
		filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
		-webkit-filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
	}
	
	#office_list ul {
		width: 82.33vw;
		height: auto;
		display: block;
		margin: 0 auto;
	}
	
	#office_list ul li {
		width: 100%;
		height: 81.8vw;
		margin: 0 0 7.22vw;
	}
	
	
	#office_list ul li p.btn {
		width: 44.11vw;
		height: 11.11vw;
		font-size: 3.84vw;
		line-height: 11.11vw;
		border-radius: 1.8vw;
		left: 19vw;
		bottom: 7.8vw;
		filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
		-webkit-filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
	}
	
	/*contact*/
	#contact {
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
	
	#contact h3.title {
		width: 100%;
		height: auto;
		margin: 0 auto 3.84vw;
	}
	
	#contact .contact_text {
		font-size: 3.84vw;
		line-height: 1.6;
	}
	
	#contact .tel_btn {
		width: 72vw;
		height: auto;
		margin: 10vw auto;
		filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
		-webkit-filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
	}
	
	#contact .contact_list {
		width: 84vw;
		height: auto;
		margin: 0 auto 12.8vw;
	}
	
	#contact .contact_list dl {
		width: 100%;
		height: auto;
		font-size: 20px;
		margin-bottom: 3.84vw;
	}
	
	#contact .contact_list dl dt {
		width: 100%;
		height: auto;
		text-align: left;
		display: flex;
		align-items: center;
		margin-bottom: 0.5vw;
	}
	
	#contact .contact_list dl dt span.required {
		font-size: 16px;
		background: #24b0ec;
		color: white;
		padding: 0 5px;
		margin-left: 5px;
	}
	
	#contact .contact_list dl dt span.optional {
		font-size: 16px;
		background: #868584;
		color: white;
		padding: 0 5px;
		margin-left: 5px;
	}
	
	#contact .contact_list dl dd {
		width: 100%;
		height: auto;
	}
	
	#contact .contact_list dl dd input[type="text"], #contact .contact_list dl dd select {
		width: 100%;
		height: 40px;
		border: 1px solid #cecece;
		border-radius: 6px;
		padding: 0 10px;
		font-size: 18px;
		color: #9f9f9f;
	}
	
	#contact .contact_list dl dd textarea {
		width: 100%;
		height: 255px;
		border: 1px solid #cecece;
		border-radius: 6px;
		padding: 10px;
		font-size: 18px;
	}
	
	
	#form_box input[type="button"], #form_box input[type="submit"] {
		width: 53.22vw;
		height: 15.66vw;
		margin: 6.66vw auto;
		display: block;
		font-size: 6.15vw;
		line-height: 44px;
		border-radius: 1.33vw;
		filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
		-webkit-filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
	}

	.submit_box input[type="submit"] {
		width: 53.22vw;
		height: 15.66vw;
		margin: 6.66vw auto;
		display: block;
		font-size: 6.15vw;
		line-height: 44px;
		border-radius: 1.33vw;
		filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
		-webkit-filter: drop-shadow(0 0.67vw 1.33vw #b3cbd5);
	}

	#form_box {
		width: 100%;
		height: auto;
		margin: 7.77vw auto 12.8vw;
	}
	
	#form_box .confirmation, #form_box .completion {
		width: 100%;
		height: auto;
		text-align: center;
		font-size: 3.6vw;
		margin-bottom: 5vw;
		font-weight: 500;
	}
	
	#form_box dl {
		width: 100%;
		height: auto;
		display: flex;
		flex-wrap: wrap;
		font-size: 3.5vw;
	}
	
	#form_box dl dt {
		width: 45%;
		text-align: right;
		margin: 0 0 1.8vw 0;
	}

}

@media screen and (max-width: 360px) {
	header #header_wrapper h1 {
		width: 100%;
		left: 0;
		top: 0.5vw;
		text-align: center;
	}
}
