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

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

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

a:hover {
	color: #868584;
}

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

* {
	box-sizing: border-box;
}

html {
	overscroll-behavior: none;
}


body {
	word-wrap: break-word;
	padding: 0;
	margin: auto;
	color: #532105;
	overflow-x: hidden;
	min-width: 100%;
	font-family: "YakuHanJP", "M PLUS Rounded 1c", sans-serif;
	font-style: normal;
	background: url(../images/common/bg_leaves.png) repeat-y center top 200px, url(../images/common/bg.jpg) repeat-y center top;
}

body.program {
	background-position: center top;
}

.pc {
	display: block;
}

.sp, .tab {
	display: none;
}

header {
	width: 100%;
}

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

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

header #header_wrapper #logo {
	width: 377px;
	position: absolute;
	left: 48px;
	top: 13px;
}

header #header_wrapper #address {
	width: 375px;
	height: auto;
	position: absolute;
	left: 48px;
	bottom: 9px;
}

header #header_wrapper #tel {
	width: 346px;
	position: absolute;
	right: 162px;
	top: 19px;
	pointer-events: none;
}

header #header_wrapper #mail {
	width: 361px;
	height: auto;
	position: absolute;
	right: 165px;
	top: 67px;
}

header #header_wrapper #line {
	width: 306px;
	position: absolute;
	right: 167px;
	top: 103px;
}

header #header_wrapper #qr {
	width: 107px;
	position: absolute;
	right: 48px;
	top: 19px;
	filter: drop-shadow(0 1px 2px #e2e2e2);
	-webkit-filter: drop-shadow(0 1px 2px #e2e2e2);
}

header #header_wrapper #qr img,
header #header_wrapper #logo img,
header #header_wrapper #address img,
header #header_wrapper #tel img,
header #header_wrapper #line img,
header #header_wrapper #line img {
	width: 100%;
	display: block;
}


nav#gnav {
	width: 100%;
	height: 126px;
	background: #006c36;
	border-top: solid 2px #007e22;
	border-bottom: solid 2px #007e22;
}

nav#gnav ul {
	width: 1282px;
	height: 126px;
	margin: 0 auto;
	padding: 13px 0;
	display: flex;
	flex-wrap: wrap;
}

nav#gnav ul li {
	width: calc(100% / 9);
	height: 100px;
	text-align: center;
	border-left: 4px dotted white;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}


nav#gnav ul li:last-child {
	border-right: 4px dotted white;
}

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;
	padding-bottom: 90px;
	position: relative;
	z-index: 1;
}

.wrapper_pt01 {
	background: url(../images/common/bg_footer.png) no-repeat center bottom,
	url(../images/common/bg_overlay01.png) no-repeat center top,
	url(../images/common/bg_overlay02.png) no-repeat center top 400px,
	url(../images/common/bg_overlay03.png) no-repeat center top 912px;
}

.wrapper_pt02 {
	background: url(../images/common/bg_footer.png) no-repeat center bottom,
	url(../images/common/bg_overlay02.png) no-repeat center top 180px,
	url(../images/common/bg_overlay03.png) no-repeat center top 692px;
}

.wrapper_pt03 {
	background: url(../images/common/bg_footer.png) no-repeat center bottom,
	url(../images/common/bg_overlay02.png) no-repeat center top 180px,
	url(../images/common/bg_overlay03.png) no-repeat center top 1880px;
}

.wrapper_pt04 {
	background: url(../images/common/bg_footer.png) no-repeat center bottom,
	url(../images/common/bg_overlay01.png) no-repeat center top,
	url(../images/common/bg_overlay02.png) no-repeat center top 400px;
}

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

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

footer {
	width: 100%;
	background: white;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: -1px;
}

footer nav#fnav {
	width: 100%;
	height: 62px;
	background: #006c36;
}

footer nav#fnav ul {
	width: 100%;
	height: 62px;
	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: 2px dotted #c2dccf;
	text-align: center;
	font-weight: 500;
	transition-duration: .5s;
}

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

footer nav#fnav ul li a {
	color: white;
}

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

footer .footer_inner_block {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 32px 0 36px;
}

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

footer #f_qr {
	width: 107px;
	height: 107px;
	border-radius: 8px;
	box-shadow: 1px 1px 2px 0px rgba(105, 105, 105, 0.26);
}

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

#page_top {
	width: 100px;
	height: auto;
	position: fixed;
	right: 2.5%;
	bottom: 268px;
	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: -2px;
}

#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;
	padding-top: 47px;
}

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

#concept h3.title p img {
	display: block;
	margin: 0 auto;
}

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

#concept .concept_text p {
	margin-bottom: 1rem;
}

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

#top_info .instagram, #top_info .x {
	width: 580px;
	height: 807px;
	background: #fefdec;
	border: solid 4px #006c36;
	border-radius: 30px;
	margin: 0 auto;
	padding: 49px 0 20px;
	position:relative;
}

#top_access_map::before, #top_info .instagram::before, #top_info .x::before {
	content: "";
	width: 132px;
	height: 104px;
	background: url(../images/top/icon_info.png) no-repeat center top / 100% auto;
	position: absolute;
	z-index: 1;
	left: -23px;
	top: -22px;
}

#top_info .x::after {
	content: "";
	width: 48px;
	height: 49px;
	background: url(../images/top/icon_x.png) no-repeat center top / 100% auto;
	position: absolute;
	z-index: 1;
	top: 38px;
	right: 40px;
}

#top_info .instagram::after {
	content: "";
	width: 48px;
	height: 49px;
	background: url(../images/top/icon_instagram.png) no-repeat center top / 100% auto;
	position: absolute;
	z-index: 1;
	top: 36px;
	right: 40px;
}

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

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

#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;
	color: #6f6c6a;
}


#top_info .x h3.title {
	width: 196px;
	height: 30px;
	margin: 0 auto;
}

#top_info .instagram h3.title {
	width: 286px;
	height: 30px;
	margin: 0 auto;
}

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

#top_access_map {
	width: 1200px;
	height: 810px;
	background: #fefdec;
	border: solid 4px #006c36;
	border-radius: 30px;
	margin: 0 auto 50px;
	padding: 49px 0 20px;
	position:relative;
}

#top_access_map h3.title {
	width: 226px;
	height: 30px;
	margin: 0 auto;
}

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

#top_access_map .map {
	width: 100%;
	height: 490px;
	margin: 42px auto 0;
	padding: 0 34px;
}

#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;
	color: #6f6c6a;
}

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

/*information*/
#information {
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding-top: 81px;
}

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

#information h3.title p img {
	display: block;
	margin: 0 auto;
}

#information .information_text {
	width: 100%;
	height: auto;
	font-size: 30px;
	text-align: center;
	font-weight: 500;
	line-height: 1.32;
	letter-spacing: -0.025em;
}

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

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

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

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

#information .step .step_list .text a {
	color: #006c36;
}

#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: 48px auto 90px;
}

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

#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;
	font-weight: 500;
}

#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: 60px;
	text-align: center;
	background: #532105;
	color:#fff;
	font-size: 22px;
	line-height: 60px;
	border-radius: 30px;
	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: #006c36;
	filter: drop-shadow(0 5px 10px #724408);
	-webkit-filter: drop-shadow(0 5px 10px #724408);
	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;
	margin-top: 2em;
	position: relative;
}

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

#program h3.title p img {
	display: block;
	margin: 0 auto;
}

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

#program .program_text::after {
	content: "";
	width: 855px;
	height: 537px;
	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 90px;
}

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

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


#program_list .program_box.list02 figure,
#program_list .program_box.list04 figure {
	order: 1;
}

#program_list .program_box.list02 .detail,
#program_list .program_box.list04 .detail {
	order: 2;
}


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

#program_list .program_box .detail p {
	width: 100%;
	height: 48px;
	color: white;
	background: #006c36;
	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;
}

/*20250213追加*/
#five_regions_block {
	width: min(1200px, 100%);
	margin: 0 auto 90px;
	padding-top: 65px;
}

#five_regions_block h2 {
	width: 100%;
	height: 52px;
	margin-bottom: 30px;
}

#five_regions_block .inner_block {
	width: min(1120px, 100%);
	margin: 0 auto;
	padding: 50px 50px 40px;
	border-radius: 64px;
	background: #fff1e3;
	font-weight: 600;
}

#five_regions_block .inner_block h3 {
	width: 96%;
	text-align: center;
	color: #006c36;
	font-size: 36px;
	-webkit-text-stroke: 6px white;
  	paint-order: stroke;
	margin: 0 auto 30px;
	padding-bottom: 20px;
	font-weight: 600;
	border-bottom: dotted;
}

#five_regions_block .inner_block .text_box {
	font-size: 24px;
	text-align: center;
	color: #0d0d0d;
	-webkit-text-stroke: 6px white;
	paint-order: stroke;
	line-height: 1.62;
	margin-bottom: 20px;
}

#five_regions_block .inner_block ul {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	align-content: center;
}

#five_regions_block .inner_block ul li {
	width: 172px;
	height: 172px;
	border-radius: 50%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
	text-align: center;
	font-size: 20px;
	color: white;
	background: #369d2a;
	box-shadow: 8px 12px 0px 0px rgba(255, 255, 255, 1);
	margin-bottom: 20px;
}

#five_regions_block .inner_block ul li span {
	letter-spacing: -0.15em;
	display: flex;
}

#five_regions_block .inner_block ul li:nth-child(2) {
	background: #c554e0;
}

#five_regions_block .inner_block ul li:nth-child(3) {
	background: #f08118;
}

#five_regions_block .inner_block ul li:nth-child(4) {
	background: #e6425a;
}

#five_regions_block .inner_block ul li:last-child {
	background: #2763b8;
}

/*recruit*/
#recruit {
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 72px 0 90px;
}

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

#recruit h3.title p img {
	display: block;
	margin: 0 auto;
}

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

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

#recruit .recruit_list li {
	width: 100%;
	height: 138px;
	font-size: 36px;
	margin-bottom: 70px;
	border-radius: 20px;
	background: #66ba5a url(../images/recruit/arrow02.png) right 42px center no-repeat;
	line-height: 1.25;
	filter: drop-shadow(0 5px 10px #724408);
	-webkit-filter: drop-shadow(0 5px 10px #724408);
	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: white;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	flex-wrap: wrap;
}

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

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

#recruit .recruit_list li a span {
	width: 100%;
	color: #fffc8b;
	text-align: center;
}

/*introduction*/
#introduction {
	width: 100%;
	height: auto;
	padding-top: 88px;
}

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

#introduction h3.title p img {
	display: block;
	margin: 0 auto;
}

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

#introduction .list ul {
	max-width: 1200px;
	height: auto;
	margin: 90px auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#introduction .list ul li {
	width: 580px;
	height: 807px;
	background: #fefdec;
	border: solid 4px #006c36;
	border-radius: 30px;
	margin-bottom: 40px;
	padding: 40px 24px;
	position: relative;
	display: flex;
	flex-direction: column;
}

#introduction .list ul li::before {
	content: "";
	width: 132px;
	height: 104px;
	background: url(../images/top/icon_info.png) no-repeat center top / 100% auto;
	position: absolute;
	z-index: 1;
	left: -23px;
	top: -22px;
}

#introduction .list ul li h4.title {
	width: 100%;
	margin: 0 auto 0.7em;
	color:#006c36;
	font-size: 30px;
	padding-bottom: 0.7em;
	text-align:center;
	border-bottom: 2px dashed #006c36;
	font-weight: 600;
}

#introduction .list ul li .data {
	width: 100%;
	height: auto;
	text-align: left;
	font-size: 20px;
	line-height: 1.5;
	font-weight: 500;
	color: #6f6c6a;
}

#introduction .list ul li .img {
	width: 100%;
	height: auto;
	text-align: center;
	margin-top: auto;
}

#introduction .list ul li .img img {
	display: block;
}


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

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

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

#publication .publication_list_box {
	padding-bottom: 90px;
}

#publication h4.ttl {
	width: 900px;
	height: 90px;
	margin: 50px auto 0;
	font-size: 36px;
	color: #006c36;
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom:2px dashed #006c36;
}


#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: 36px;
	margin-bottom: 70px;
	border-radius: 20px;
	position: relative;
	background: #66ba5a url(../images/publication/arrow02.png) right 42px center no-repeat;
	filter: drop-shadow(0 5px 10px #724408);
	-webkit-filter: drop-shadow(0 5px 10px #724408);
	transition-duration: 0.5s;
}

#publication .publication_list li a {
	color: white;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	line-height: 1.2;
}

#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: #006c36 url(../images/publication/arrow02.png) right 42px center no-repeat;
}

/*office*/
#office {
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding-top: 38px;
}

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

#office h3.title p img {
	display: block;
	margin: 0 auto;
}

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

#office .office_info {
	width: 1050px;
	height: 375px;
	background: white;
	border: solid 1px #006c36;
	border-radius: 25px;
	margin: 40px auto 80px;
	padding: 30px;
	display: flex;
	justify-content: space-between;
	position: relative;
}

#office .office_info::before {
	content: "";
	width: 132px;
	height: 104px;
	background: url(../images/top/icon_info.png) no-repeat center top / 100% auto;
	position: absolute;
	z-index: 1;
	left: -23px;
	top: -22px;
}

#office .office_info .office_img {
	width: 513px;
	height: 314px;
}

#office .office_info .office_data_box {
	width: 446px;
	display: flex;
	flex-direction: column;
}

#office .office_info .office_data_box .office_name {
	width: 100%;
	height: 53px;
	background: #006c36;
	color: white;
	font-size: 30px;
	text-align: center;
	line-height: 53px;
	letter-spacing: 0.2em;
	border-radius: 12px;
}

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

#office .office_info .office_data_box .office_data p:nth-child(n+1) {
	width: 81px;
	height: auto;
	margin-bottom: 3px;
}

#office .office_info .office_data_box .office_data p:nth-child(n+2) {
	width: 133px;
	height: auto;
	margin: 3px 0;
}

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

#office .office_info .office_data_box .office_data dl {
	width: 100%;
	height: auto;
	display: flex;
	margin: -8px 0 8px;
	color: #6e6866;
	font-size: 20px;
	line-height: 1.2;
	font-weight: 500;
}

#office .office_info .office_data_box .office_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 #724408);
	-webkit-filter: drop-shadow(0 5px 10px #724408);
	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: 80px auto;
}

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

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

#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: 353px;
	margin: 0 auto 30px;
	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: 190px;
	height: 48px;
	background: #006c36;
	color: white;
	text-align: center;
	font-size: 20px;
	line-height: 48px;
	border-radius: 12px;
	letter-spacing: 0.1em;
	position: absolute;
	left: 82px;
	bottom: 44px;
	filter: drop-shadow(0 3px 5px #d5d3b3);
	-webkit-filter: drop-shadow(0 3px 5px #d5d3b3);
	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;
}

/*support*/
#support {
	width: 100%;
	height: auto;
	padding-top: 97px;
}

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

#support h3.title p img {
	display: block;
	margin: 0 auto;
}

#support .support_text {
	width: 100%;
	height: auto;
	font-size: 30px;
	text-align: center;
	font-weight: 500;
	line-height: 1.32;
}

#support .support_text2 {
	width: 100%;
	height: auto;
	font-size: 38px;
	text-align: center;
	font-weight: 500;
	margin: 1.4em 0;
}

#support .list ul {
	max-width: 1190px;
	height: auto;
	margin: 88px auto 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}


#support .list ul li {
	width: 580px;
	height: 460px;
	background: #fefdec;
	border: solid 4px #006c36;
	border-radius: 30px;
	padding: 48px;
	position: relative;
	z-index: 2;
	margin-bottom: 40px;
}

#support .list ul li::before {
	content: "";
	width: 132px;
	height: 104px;
	background: url(../images/top/icon_info.png) no-repeat center top / 100% auto;
	position: absolute;
	z-index: -1;
	left: -23px;
	top: -22px;
}

#support .list ul li h4.title {
	color:#006c36;
	font-size:28px;
	text-align:center;
	margin-bottom: 40px;
	font-weight: 500;
	-webkit-text-stroke: 4px white;
  	paint-order: stroke;
}

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

#support .list ul li .data {
	font-size: 22px;
	line-height: 1.25;
	color: #6e6866;
}

#support .exp {
	max-width: 1190px;
	height: auto;
	margin: 0 auto;
}

#support .exp .exp_list {
	width: 100%;
	height: 164px;
	position: relative;
	margin-bottom: 40px;
	filter: drop-shadow(0 5px 10px #724408);
	-webkit-filter: drop-shadow(0 5px 10px #724408);
}

#support .exp .exp_list .ttl {
	width: 352px;
	height: 56px;
	position: absolute;
	left: 26px;
	top: 55px;
	font-size: 28px;
	color:#006c36;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
}

#support .exp .exp_list .text {
	width: 782px;
	height: 100%;
	position: absolute;
	right: 0;
	bottom: 0;
	font-size: 22px;
	display: flex;
	align-items: center;
	color: #6f6c6a;
	padding-left: 24px;
}

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

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

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

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

#contact h3.title p img {
	display: block;
	margin: 0 auto;
}

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

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

#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: #66ba5a;
	color: #fffc8b;
	padding: 0 5px;
	margin-left: 5px;
	border-radius: 6px;
}

#contact .contact_list dl dt span.optional {
	font-size: 16px;
	background: #532105;
	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: #532105;
}

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


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


.submit_box input[type="submit"] {
	width: 400px;
	height: 44px;
	margin: 60px auto;
	display: block;
	background: #006c36;
	color: white;
	border: none;
	font-size: 24px;
	line-height: 44px;
	border-radius: 12px;
	letter-spacing: 0.25em;
	filter: drop-shadow(0 5px 10px #724408);
	-webkit-filter: drop-shadow(0 5px 10px #724408);
	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;
	}
}

@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%;
	}

	nav#gnav ul li img {
		width: 100%;
	}

	footer nav#fnav ul {
		width: 100%;
	}

	footer nav#fnav ul li img {
		width: 100%;
	}

	/*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;
		padding: 0 20px;
	}

	#top_info .x {
		margin-bottom: 60px;
	}

	#top_access_map {
		width: 580px;
		height: 807px;
		background: #fefdec;
		border: solid 4px #006c36;
		border-radius: 30px;
		margin: 0 auto;
		padding: 49px 0 20px;
		position:relative;
	}

	/* 施設紹介 */
	#introduction .list ul {
		padding: 0 20px;
		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.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;
	}

	/* 保育所訪問支援 */
	#support .list ul {
		justify-content: center;
		padding: 0 20px;
	}

	#support .exp {
		max-width: 100%;
	}

	#support .exp .exp_list {
		width: 98%;
		height: 13.6667vw;
		margin: 0 auto 3rem;
	}

	#support .exp .exp_list .ttl {
		width: 29.3333vw;
		height: 4.6667vw;
		left: 2.1667vw;
		top: 4.58334vw;
		font-size: 2.3334vw;
	}

	#support .exp .exp_list .text {
		width: 65.1667vw;
		font-size: 1.8333vw;
		padding-left: 3vw;
	}

	/*20250213追加*/
	#five_regions_block {
		width: 98%;
		margin: 30px auto 90px;
	}

	#five_regions_block h2 {
		width: 100%;
		height: auto;
	}

	#five_regions_block h2 img {
		width: 100%;
		display: block;
	}

	#five_regions_block .inner_block {
		width: 96%;
		margin: 0 auto;
		padding: 50px 30px 30px;
	}

	#five_regions_block .inner_block h3 {
		font-size: clamp(32px, 1.25rem + 1.33vw, 36px);
	}

	#five_regions_block .inner_block .text_box {
		font-size: clamp(22px, 1rem + 0.67vw, 24px);
	}

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

	#five_regions_block .inner_block ul {
		justify-content: center;
	}

	#five_regions_block .inner_block ul li {
		margin: 0 clamp(36px, -0.375rem + 4.67vw, 50px) 20px;
	}
}

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

	/*program*/
	#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;
	}

	/* 事業所情報 */
	#office .office_info {
		width: 95%;
		padding-inline: 16px;
	}

	#office .office_info::before {
		content: "";
		width: 132px;
		height: 104px;
		background: url(../images/top/icon_info.png) no-repeat center top / 100% auto;
		position: absolute;
		z-index: 1;
		left: -23px;
		top: -22px;
	}

	#office .office_info .office_img {
		width: 56%;
		height: 314px;
		margin-right: 16px;
	}

	#office .office_info .office_img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	#office .office_info .office_data_box {
		width: 446px;
		display: flex;
		flex-direction: column;
	}

	#office .office_info .office_data_box .office_name {
		width: 100%;
		height: 53px;
		background: #006c36;
		color: white;
		font-size: 30px;
		text-align: center;
		line-height: 53px;
		letter-spacing: 0.2em;
		border-radius: 12px;
	}

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

	#office .office_info .office_data_box .office_data p:nth-child(n+1) {
		width: 81px;
		height: auto;
		margin-bottom: 3px;
	}

	#office .office_info .office_data_box .office_data p:nth-child(n+2) {
		width: 133px;
		height: auto;
		margin: 3px 0;
	}

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

	#office .office_info .office_data_box .office_data dl {
		width: 100%;
		height: auto;
		display: flex;
		margin: -8px 0 8px;
		color: #6e6866;
		font-size: 20px;
		line-height: 1.2;
		font-weight: 500;
	}

	#office .office_info .office_data_box .office_data dl dt {
		width: 27px;
		height: auto;
		margin-right: 5px;
		text-align: center;
		padding: 3px;
	}
	#office .mirai_banner {
		width: 95%;
		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;
	}
}

