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

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

	body {
		overflow-x: hidden;
		min-width: 320px;
		background: url(../images/common/bg_sp.jpg) repeat-y center top / 100% auto;
	}

	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: #006c36;
		background: #006c36;
		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: #006c36;
	}
	#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: #006c36;
	}

	#menu-container .menu-list {
		padding-left: 0;
		display: block;
		position: absolute;
		width: 100%;
		height: 100vh;
		background: #fffef2;
		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: #a17955;
		text-align: center;
		border-bottom: dashed 1px #a17955;
		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: #a17955;
	}

	#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;
		padding-bottom : 44.4444vw;
	}

	.wrapper_pt01, .wrapper_pt04 {
		background: url(../images/common/bg_overlay01_sp.png) no-repeat center top / 100% auto, url(../images/common/bg_footer_sp.png) no-repeat center bottom / 100% auto;
	}

	.wrapper_pt02, .wrapper_pt03 {
		background: url(../images/common/bg_footer_sp.png) no-repeat center bottom / 100% auto;
	}

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

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

	footer {
		padding: 4.4444vw;
		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 {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 0 auto;
	}

	footer .footer_inner_block {
		height: auto;
		flex-direction: column;
		padding: 0;
	}

	footer nav#fnav_sp ul li {
		width: 44.5556vw;
		height: auto;
		margin-bottom: 4.4444vw;
		filter: drop-shadow(0px 0.3333vw 0.6666vw rgba(191, 182, 140, 0.75));
	}

	footer #copyright {
		width: 100%;
		height: auto;
		line-height: 1.5;
		text-align: center;
		font-size: 2.6667vw;
		padding: 1.7778vw 0;
		border-radius: 7.7778vw;
		margin: 6.667vw auto 0;
	}

	footer #f_qr {
		display: none;
	}

	footer #f_line {
		margin-bottom: 32.6667vw;
		display: block;
		filter: drop-shadow(3.936px 4.528px 2px rgba(105, 105, 105, 0.26));
	}

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

	#page_top.bottom {
		width: 22.66vw;
		height: auto;
		position: absolute;
		bottom: 28vw;
		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;
		padding: 7.6667vw 0 0 0;
	}

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

	#concept .concept_text {
		font-size: 4.6667vw;
		line-height: 1.42;
	}

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

	#top_info .instagram, #top_info .x {
		width: 100%;
		height: 132.82vw;
		margin: 0 auto 8.8889vw;
		padding: 8.46vw 0 0;
		position:relative;
	}

	#top_info .instagram::before, #top_info .x::before, #top_access_map::before {
		content: "";
		width: 17.3333vw;
		height: 13.6667vw;
		left: -2.3333vw;
		top: -3.1111vw;
	}

	#top_info .x::after {
		width: 8vw;
		height: 8.1111vw;
		top: 5.4444vw;
		right: 5vw;
	}

	#top_info .instagram::after {
		width: 8.3333vw;
		height: 8.3333vw;
		top: 5.3333vw;
		right: 4.6667vw ;
	}

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

	#top_info .instagram h3.title {
		width: 58.7778vw;
		height: auto;
	}
	#top_info .x h3.title {
		width: 39.3333vw;
		height: auto;
	}

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

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


	#top_access_map {
		width: 91.79vw;
		max-width: 100%;
		height: 132.82vw;
		padding: 8.46vw 0 0;
		margin: -7.69vw auto 12.8vw;
	}

	#top_access_map h3.title {
		width: 46.2222vw;
		height: auto;
	}

	#top_access_map .map {
		width: 80.12vw;
		height: 77.43vw;
		margin: 6.66vw auto 0;
		padding: 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;
	}

	#top_access_map .tel_btn a {
		pointer-events: auto;
	}


	/*information*/
	#information {
		width: 100%;
		height: auto;
		position: relative;
		padding-top: 10.8889vw;
	}

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

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

	#information .information_text {
		font-size: 4.6667vw;
		line-height: 1.42;
		letter-spacing: 0;
	}

	#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.7778vw;
		filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
    	-webkit-filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
		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: #006c36;
	}

	#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.7778vw;
		height: auto;
		filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
    	-webkit-filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
		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: center;
		font-size: 3.6vw;
		line-height: 1.2;
		border-radius: 6.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.4444vw 1.1111vw #724408);
    	-webkit-filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
	}
	
	/*program*/
	#program {
		width: 100%;
		height: auto;
		margin: 0 auto;
		position: relative;
	}

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

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

	#program .program_text {
		font-size: 4.6667vw;
		line-height: 1.42;
		letter-spacing: -0.04em;
	}

	#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_list {
		width: 92.88vw;
		height: auto;
		margin: 10vw auto 12.8vw;
	}

	#program_list h4.title {
		width: 80.44vw;
		height: 13vw;
		color: white;
		background: #006c36;
		text-align: center;
		line-height: 13vw;
		font-size: 6.15vw;
		margin: 0 auto 10vw;
		border-radius: 6.55vw;
		filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
    	-webkit-filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
	}

	#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;
		position:relative;
	}

	#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: #006c36;
		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;
		position:absolute;
		bottom: 3.22vw;
	}

	#program_list .program_box.list01 img {
		width: 84vw;
		margin-top: 2.22vw;
	}
	#program_list .program_box.list02 img {
		width: 84vw;
		margin-top: 2.22vw;
	}
	#program_list .program_box.list03 img {
		width: 84vw;
		margin-top: 2.22vw;
	}
	#program_list .program_box.list04 img {
		width: 84vw;
		margin-top: 2.22vw;
	}
	#program_list .program_box.list05 img {
		width: 84vw;
		margin-top: 4vw;
	}
	#program_list .program_box.list06 img {
		width: 84vw;
		margin-top: 4vw;
	}

	/*20250213追加*/
	#five_regions_block {
		width: 98%;
		margin: 0 auto 10vw;
		padding-top: 11.1111vw;
	}

	#five_regions_block .inner_block {
		padding: 5.4vw 1.48vw 3.2vw;
		border-radius: 7.1vw;
	}

	#five_regions_block h2 {
		margin-bottom: 6.5556vw;
	}

	#five_regions_block .inner_block h3 {
		font-size: 5vw;
		padding-bottom: 2.2vw;
		-webkit-text-stroke: clamp(3px, 0.084rem + 0.52vw, 6px) white;
		margin-bottom: 3.6vw;
	}

	#five_regions_block .inner_block .text_box {
		font-size: 3.64vw;
		-webkit-text-stroke: clamp(3px, 0.084rem + 0.52vw, 6px) white;
		margin-bottom: 2.6vw;
	}

	#five_regions_block .inner_block .text_box .tab {
		display: block;
	}

	#five_regions_block .inner_block ul li {
		width: 24vw;
		height: 24vw;
		margin: 0 2.22vw 2.22vw;
		font-size: 3.48vw;
		padding: 0.8vw;
		box-shadow: 0.92vw 1.4vw 0px 0px rgba(255, 255, 255, 1)
	}

	/*recruit*/
	#recruit {
		width: 100%;
		height: auto;
		margin: 0 auto;
		padding: 10.7778vw 0 8vw;
	}

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

	#recruit h3.title {
		width: 100%;
		height: auto;
		margin-bottom: 3.24vw;
	}

	#recruit .recruit_text {
		font-size: 4.6667vw;
		line-height: 1.42;
	}

	#recruit .recruit_list {
		width: 93.33vw;
		height: auto;
		margin: 10vw auto 0;
	}

	#recruit .recruit_list li {
		width: 100%;
		height: 20.66vw;
		font-size: 5.55vw;
		margin-bottom: 7.77vw;
		border-radius: 2.22vw;
		background-position: right 5vw center;
		background-size: 2.77vw 4.33vw;
		filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
    	-webkit-filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
		letter-spacing: 0.01em;
	}

	#recruit .recruit_list li:hover {
		transform: none;
	}

	#recruit .recruit_list li:nth-child(even) {
		background: #006c36 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;
		position: relative;
		padding-top: 10.7778vw;
	}

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

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

	#introduction .introduction_text {
		font-size: 4.6667vw;
		line-height: 1.42;
	}

	#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;
	}

	#introduction .list ul {
		max-width: 91.1111vw;
		height: auto;
		margin: 7.69vw auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	#introduction .list ul li {
		width: 100%;
		min-height: 132vw;
		height: auto;
		border-radius: 3.3333vw;
		margin-bottom: 7.69vw;
		padding: 8vw 3.1111vw 2.7778vw;
		border-width: 0.4444vw;
	}

	#introduction .list ul li::before {
		content: "";
		width: 17.3333vw;
		height: 13.6667vw;
		left: -2.3333vw;
		top: -3.1111vw;
	}

	#introduction .list ul li h4.title {
		width: fit-content;
		font-size: 5.2222vw;
		padding: 0.25em 8vw;
		border-width: 1px;
	}

	#introduction .list ul li .data {
		font-size: 3.8889vw;
		line-height: 1.25;
		font-weight: normal;
		padding-inline: 0.5em;
	}

	/*publication*/
	#publication {
		width: 100%;
		height: auto;
		margin: 0 auto;
		letter-spacing: 0.25em;
		position: relative;
		padding-bottom: 8vw;
		padding: 10.8889vw 0 8vw;
	}

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

	#publication h3.title {
		width: 100%;
		height: auto;
		margin-bottom: 3.24vw;
	}

	#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.4444vw 1.1111vw #724408);
    	-webkit-filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
	}

	#publication h4.ttl {
		width: 93vw;
		height: auto;
		margin: 4.8vw auto 0;
		padding-bottom: 2.6vw;
		font-size: 6.15vw;
		text-align:center;
	}

	#publication .publication_list {
		width: 93.33vw;
		height: auto;
		margin: 10vw auto 12.8vw;
	}

	#publication .publication_list:last-child {
		margin-bottom: 0;
	}

	#publication .publication_list li {
		width: 100%;
		height: 20.66vw;
		font-size: 6.15vw;
		margin-bottom: 7.77vw;
		border-radius: 2.22vw;
		background-position: right 5vw center;
		background-size: 2.77vw 4.33vw;
		filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
    	-webkit-filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
		letter-spacing: 0.01em;
	}

	#publication .publication_list li:nth-child(even) {
		background-position: right 5vw center;
		background-size: 2.77vw 4.33vw;
	}

	#publication .publication_list li:hover {
		transform: none;
	}

	/*office*/
	#office {
		width: 100%;
		height: auto;
		margin: 0 auto;
		position: relative;
		padding-top: 15.1111vw;
	}

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

	#office h3.title {
		width: 100%;
		height: auto;
		margin-bottom: 3.24vw;
	}

	#office .office_text {
		font-size: 4.6667vw;
		line-height: 1.42;
		letter-spacing: -0.04em;
	}

	#office .office_info {
		width: 86.6667vw;
		height: auto;
		border-radius: 2.7778vw;
		margin: 6.2222vw auto;
		padding: 4.6667vw;
		flex-direction: column;
		justify-content: flex-start;
	}

	#office .office_info::before {
		content: "";
		width: 17.3333vw;
		height: 13.6667vw;
		left: -2.3333vw;
		top: -3.1111vw;
	}

	#office .office_info .office_img {
		width: 71.1111vw;
		height: 43.4444vw;
		margin: 0 auto 4vw;
	}

	#office .office_info .office_data_box {
		width: 100%;
	}

	#office .office_info .office_data_box .office_name {
		width: 74.6667vw;
		height: 9vw;
		margin: 0 auto;
		font-size: 6.2222vw;
		line-height: 9vw;
		border-radius: 12px;
	}

	#office .office_info .office_data_box .office_data {
		width: 100%;
		height: auto;
		margin-top: 2.6667vw;
	}

	#office .office_info .office_data_box .office_data p:nth-child(n+1) {
		width: 15vw;
		margin: 0 auto 2.6667vw;
	}

	#office .office_info .office_data_box .office_data p:nth-child(n+2) {
		width: 25.5556vw;
		margin: 2.6667vw auto;
	}

	#office .office_info .office_data_box .office_data p img {
		width: 100%;
		height: auto;
	}

	#office .office_info .office_data_box .office_data dl {
		margin: 0;
		font-size: 3.6vw;
	}

	#office .office_info .office_data_box .office_data dl dt {
		width: 2.66674vw;
		margin-right: 1.7778vw;
		padding: 1vw 0 0 0;
	}

	#office .office_info .office_data_box .office_data dl dd {
		line-height: 1.5;
	}


	#office .mirai_banner {
		width: 91.3333vw;
		filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
    	-webkit-filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
	}

	#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.4444vw 1.1111vw #724408);
    	-webkit-filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
	}

	#office_list .office_map {
		width: 86.44vw;
		height: auto;
		margin: 8.33vw auto;
		filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
    	-webkit-filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
	}

	#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: 8vw;
		filter: drop-shadow(0 0.4444vw 1.1111vw #e3e4e4);
    	-webkit-filter: drop-shadow(0 0.4444vw 1.1111vw #e3e4e4);
	}

	/*support*/
	#support {
		width: 100%;
		height: auto;
		margin: 0 auto;
		position: relative;
		padding-top: 10.7778vw;
	}

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

	#support h3.title {
		width: 100%;
		height: auto;
		margin-bottom: 3.24vw;
	}

	#support .support_text {
		font-size: 4.6667vw;
		line-height: 1.42;
	}

	#support .support_text2 {
		font-size: 5.4vw;
		line-height: 1.6;
	}

	#support .list ul {
		max-width: 91.6%;
		height: auto;
		margin: 7.69vw auto 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	#support .list ul li {
		width: 100%;
		height: 72vw;
		border-width: 0.4445vw;
		border-radius: 3.3333vw;
		padding: 7.1111vw 5.3333vw;
		position: relative;
		z-index: 2;
		margin-bottom: 6.2222vw;
	}

	#support .list ul li::before {
		content: "";
		width: 17.3333vw;
		height: 13.6667vw;
		left: -2.3333vw;
		top: -3.1111vw;
		z-index: -1;
	}

	#support .list ul li h4.title {
		font-size: 4.6667vw;
		margin-bottom: 6.2222vw;
		-webkit-text-stroke-width: 0.4444vw;
	}

	#support .list ul li h4.title span {
		border-bottom:2px solid #67997b;
	}

	#support .list ul li .data {
		font-size: 3.4444vw;
	}

	#support .exp {
		width: 93.66vw;
		height: auto;
		margin: 0 auto;
	}

	#support .exp .exp_list {
		width: 100%;
		height: 59.34vw;
		position: unset;
		margin-bottom: 3.77vw;
		filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
    	-webkit-filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
		padding: 0 0 0 3.4vw;
	}

	#support .exp .exp_list:last-child {
		margin-bottom: 0;
	}

	#support .exp .exp_list .ttl {
		width: 100%;
		height: 20vw;
		text-align: center;
		line-height: 20vw;
		font-size: 6.15vw;
		position: unset;
	}

	#support .exp .exp_list .text {
		width: 100%;
		height: 39.2vw;
		font-size: 3.4vw;
		padding: 0.6em 0 0;
		position: unset;
		align-items: start;
		line-height:1.8;
	}

	#support .exp .step_list .text a {
		color: #006c36;
	}

	#support .exp .exp_list.list01 {
		background: url(../images/support/exp_frm_sp.png) center top no-repeat;
		background-size: 100% auto;
	}

	/*contact*/
	#contact {
		width: 100%;
		height: auto;
		margin: 0 auto;
		padding-top: 10.8889vw;
	}

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

	#contact h3.title {
		width: 100%;
		height: auto;
		margin-bottom: 3.84vw;
	}

	#contact .contact_text {
		font-size: 4.6667vw;
		line-height: 1.42;
	}

	#contact .tel_btn {
		width: 72vw;
		height: auto;
		margin: 10vw auto;
		filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
    	-webkit-filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
	}

	#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;
		padding: 0 5px;
		margin-left: 5px;
	}

	#contact .contact_list dl dt span.optional {
		font-size: 16px;
		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.4444vw 1.1111vw #724408);
    	-webkit-filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
	}

	.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.4444vw 1.1111vw #724408);
    	-webkit-filter: drop-shadow(0 0.4444vw 1.1111vw #724408);
	}

	#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: 480px) {
	#support .list ul li h4.title, #support .list ul li .data {
		white-space: nowrap;
	}
}

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