/* CSS Document */



#main_visual {
	position: relative;
	z-index: 0;
}
#main_visual .outer {
	position: relative;
	z-index: -1;
}
#main_visual .main_swiper {
	
}

#main_visual .title {
	position: absolute;
	bottom: 100px;
	left: 50%;
	transform: translateX(-50%);
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
    width: 1366px;
	z-index: 999;
}
#main_visual .title .site_title img {
	width: 455px;
}
#main_visual .title .copy img {
	width: 372px;	
}

#main_visual .swiper-pagination {

}
#main_visual .swiper-pagination-bullet {
	background-color: rgba(255,255,255,0.5);	
}
#main_visual .swiper-pagination-bullet-active {
	background-color: #fff;
}
@media only screen and (max-width: 767px) {
	#main_visual .title {
		bottom: calc( 100vw * ( 166 / 375 ));
	}
	#main_visual .title .site_title img {
		width: calc( 100vw * ( 320 / 375 ));
	}
	#main_visual .title .copy img {
		width: calc( 100vw * ( 315 / 375 ));
	}
}

/* news
----------------------------------------------*/

#news {
	padding: 0 0 100px 0;
}
#news h2 {
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
#news h2 img {
	height: 20px;
}

#news_list_wrap {
	padding: 50px 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
#news_list_wrap ul {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;	
}
#news_list_wrap ul li {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 0.75em 0.5em;
}
#news_list_wrap ul li a {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	text-decoration: none;
}
#news_list_wrap ul li a:hover {
	color: #aaaaaa;
}
#news_list_wrap ul li span {
	padding: 0 1em;
	flex: none;
}
#news_list_wrap ul li p {
	margin: 0;
	padding: 0 1em;
}
#news_list_wrap ul li span.date {
	width: 8em;
}
#news_list_wrap ul li span.ico {
	width: 6em;
	padding: 0 1em;
	border: 1px solid #000;
	border-radius: 999px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#news_list_wrap ul li a:hover span.ico {
	border: 1px solid #aaaaaa;
}

@media only screen and (max-width: 767px) {
	
	#news {
		padding: calc( 100vw * ( 30 / 375 ) ) 0 calc( 100vw * ( 80 / 375 ) ) 0;
	}

	#news_list_wrap ul li span.date {
		width: 6.5em;
	}
}

/* concept
----------------------------------------------*/

#concept {
	margin: 100px 0;
}
#concept h2 {
	text-align: center;
	font-size: 1.25rem; 
}
#concept h2::before {
	display: block;
	content: '　';
	width: 60px;
	height: 25px;
	background-image: url("../index/mark1.svg");
	background-repeat: no-repeat;
	background-position: center center;
	margin: 0 auto 0.2em auto;
}

#concept h3 {
	font-size: 40px;
	text-align: center;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 5px;
	margin: 0;
	padding: 0;
}
#concept h3 span {
	color: #87c022;
}
#concept p {
	text-align: center;
	line-height: 3;
	font-size: 1.25rem; 
	margin: 60px 0;
}
.concept_img {
	margin: 60px auto;
	width: 1070px;
	justify-content: space-around;
}
@media only screen and (max-width: 767px) {
	
	#concept {
		margin: calc( 100vw * ( 50 / 375 ) ) 0;
	}
	
	.concept_img {
		width: calc( 100vw + ( 100vw * ( 10 / 375 ) ));
		flex-wrap: wrap;
		justify-content: center;
		/*
		margin-left: calc((100vw*(-10 / 375)));
		margin-right: calc((100vw*(-10 / 375)));
		*/
		margin-left: calc( 100vw * ( -5 / 375 ) );
		margin-right: calc( 100vw * ( -5 / 375 ) );
		margin-bottom: 0;
	}
	.concept_img div {
		/*width: calc( (100vw +  (100vw * (20 / 375))) / 3 );*/
		width: calc( 100vw * ( 118 / 375 ) );
		margin-left: calc( 100vw * ( 5 / 375 ) );
		margin-right: calc( 100vw * ( 5 / 375 ) );
		margin-bottom: calc( 100vw * ( 8 / 375 ) );
	}
	.concept_img div img {
		/*width: calc( 100vw - (100vw*(20 / 375)));*/
		vertical-align: bottom;
	}
}

/* point
----------------------------------------------*/

#point {
	margin: 50px 0 50px 0;
}
#point h2 {
	text-align: center;
	font-size: 1.25rem; /* 20px */
}
#point .title {
	text-align: center;
	font-size: 2.1875rem; /* 35px */
	position: relative;
	margin-bottom: 2.7em;
}
#point .title span.three {
	font-size: 3.125rem;
}
#point .title > span {
	width: auto;
	padding-bottom: 0.3em;
}
#point .title > span {
	background-image: url("../index2025/heading_line_long.svg");
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: bottom;
}

#point .point_wrap {
	margin: 60px auto;
	width: 1070px;
}

#point .point_wrap .text {
	width: 600px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-right: 47px;
}
#point .point_wrap.rreverse  .text {
	padding-right: 0px;
	padding-left: calc(47px + 80px);
	justify-content: flex-start;
}

#point .point_wrap .text h3 {
	display: flex;
	align-items: center;
	margin: 0;
}
#point .point_wrap .text h3 > span {
	background-image: url("../index2025/heading_line_short.svg");
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: left 0 bottom 8px;
}
#point .point_wrap .text h3 .en {
	font-size: 32px;
	font-weight: 500;
	padding-right: 0.5em;
	padding-top: 0.5em;
}
#point .point_wrap .text h3 .num {
	font-size: 90px;
	font-weight: 500;
}
#point .point_wrap .text .lead {
	font-size: 35px;
	line-height: 1.8;
	margin: 0;
}
#point .point_wrap .text p {
	font-size: 1rem;
	line-height: 2;
}

#point .point_wrap .photo {
	width: calc(100% - 600px); /* 470 */
}

#point .point_wrap .photo img {
	width: 746px;
	margin-right: -148px;
}
#point .point_wrap.rreverse .photo img  {
	width: 746px;
	margin-right: auto;
	margin-left: -276px; /* 746-470 */
}
@media only screen and (max-width: 767px) {
	#point {
		margin: calc( 100vw * ( 50 / 375 ) ) 0;
	}
	#point .title  {
		font-size: calc( 100vw * ( 20 / 375 ) );
		margin-top: 0;
		margin-bottom: 1em;
	}
	#point .title  span.three {
		font-size: calc( 100vw * ( 35 / 375 ) );
	}
	#point .point_wrap {
		width: 100vw;
		flex-direction: column;
		margin: calc( 100vw * ( 40 / 375 ) ) auto;
	}
	#point .point_wrap.rreverse  .text,
	#point .point_wrap .text {
		width: calc( 100vw * ( 335 / 375 ) );
		padding-right: 0;
		padding-left: 0;
		margin: 0 auto;
	}
	#point .point_wrap .text h3 {
		margin-bottom: calc( 100vw * ( 15 / 375 ) );
	}
	#point .point_wrap .text h3 > span {
		background-position: left 0 bottom 0;
		padding-bottom: calc( 100vw * ( -2 / 375 ) );
	}
	#point .point_wrap .text h3 .en {
		font-size: calc( 100vw * ( 25 / 375 ) );
		padding-right: calc( 100vw * ( 5 / 375 ) );
	}
	#point .point_wrap .text h3 .num {
		font-size: calc( 100vw * ( 35 / 375 ) );
	}
	#point .point_wrap .text .lead {
		font-size: calc( 100vw * ( 26 / 375 ) );
	}
	#point .point_wrap .photo {
		width: 100%;
	}
	#point .point_wrap .photo img {
		width: 100%;
		margin-right: 0;
	}
	#point .point_wrap.rreverse .photo img  {
		width: 100%;
		margin-left: 0;
	}
	
}

.select5_wrap {
	padding-top: 2em;
}
.select5_wrap h3 {
	margin-top: 0;
	text-align: center;
	font-size: 2.1875rem; /* 35px */
}
.select5_wrap h3 span {
	font-size: 3.125rem; /* 50px */
}
.select5_wrap .flex {
	margin: 60px auto;
	width: 1070px;
	justify-content: space-around;
}

@media only screen and (max-width: 767px) {
	.select5_wrap {
		padding-top: 0;
	}
	.select5_wrap h3 {
		font-size: calc( 100vw * ( 23 / 375 ) );
	}
	.select5_wrap h3 span {
		font-size: calc( 100vw * ( 33 / 375 ) );	
	}
	.select5_wrap .flex {
		margin: 60px auto;
		width: 100vw;
		justify-content: space-around;
		flex-wrap: wrap;
		
		width: calc( 100vw + ( 100vw * ( 10 / 375 ) ));
		margin-left: calc( 100vw * ( -5 / 375 ) );
		margin-right: calc( 100vw * ( -5 / 375 ) );
	}
	
	.select5_wrap .flex div {
		width: calc( 100vw * ( 185 / 375 ) );
		/*margin-left: calc( 100vw * ( 5 / 375 ) );
		margin-right: calc( 100vw * ( 5 / 375 ) );
		margin-bottom: calc( 100vw * ( 8 / 375 ) );*/
	}
	.select5_wrap .flex div img {
		width: 100%;
	}
}

/* floor map
----------------------------------------------

#floor_map {
	margin: 0 0 0 0;
}
#floor_map .outer {
	padding: 100px 0 45px 0;
	background-color: #e6ded7;
}
#floor_map h2 {
	padding: 0;
	margin: 0;
	text-align: center;
}
#floor_map h2 img {
	width: 181px;	
}

#floor_map .border_wrap {
	border: 1px solid #fff;
	width: 950px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	margin-top: 100px;
	margin-bottom: 100px;
}

#floor_b1 {
	
}
#floor_b1 .floor_num {
	padding-top: 75px;
	padding-left: 110px;
	padding-bottom: 80px;
}
#floor_b1 .floor_num img {
	width: 257px;	
}
#floor_b1 .floor_map {
	position: absolute;
	top: -25px;
	right: -50px;
}
#floor_b1 .floor_map img {
	width: 554px;
}


#floor_1f {
	
}
#floor_1f .floor_num {
	padding-top: 75px;
	padding-left: 110px;
	padding-bottom: 80px;
}
#floor_1f .floor_num img {
	width: 215px;	
}
#floor_1f .floor_map {
	position: absolute;
	top: -25px;
	right: -49px;
}
#floor_1f .floor_map img {
	width: 489px;
}

#floor_2f {
	
}
#floor_2f .floor_num {
	padding-top: 75px;
	padding-left: 110px;
	padding-bottom: 80px;
}
#floor_2f .floor_num img {
	width: 291px;	
}
#floor_2f .floor_map {
	position: absolute;
	top: -25px;
	right: -85px;
}
#floor_2f .floor_map img {
	width: 545px;
}

.floor_info_wrap {
	margin-left: -60px;
	margin-bottom: -35px;
	width: 950px;	
}

.floor_info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 25px;
}
.floor_photo {
	width: 450px;
}
.floor_text {
	width: calc( 100% - 500px );
}
.floor_text h3 {
	color: #248d3a;
	margin: 0 0 1em 0;
	padding: 0;
	font-size: 26px;
}
.floor_text p {
	line-height: 2;
}

@media only screen and (max-width: 767px) {
	#floor_map {
		margin: calc( 100vw * ( 50 / 375 ) ) 0;
	}
	#floor_map .outer {
		padding: calc( 100vw * ( 60 / 375 ) ) 0;
	}
	#floor_map h2 {
		margin-bottom: calc( 100vw * ( 60 / 375 ) );
	}
	#floor_map .border_wrap {
		width: calc( 100vw * ( 335 / 375 ) );
		margin: 0 auto calc( 100vw * ( 60 / 375 ) ) auto;
	}
	
	#floor_b1 .floor_num {
		width: 100%;
		padding-top: 75px;
		padding-left: 0;
		padding-bottom: 80px;
		display: flex;
		justify-content: center;
	}
	#floor_b1 .floor_num img {
		width: calc( 100vw * ( 72 / 375 ) );
	}
	#floor_b1 .floor_map {
		width: 100%;
		position: relative;
		top: 0;
		right: 0;
		display: flex;
		justify-content: center;
	}
	#floor_b1 .floor_map img {
		width: calc( 100vw * ( 304 / 375 ) );
	}

	#floor_1f .floor_num {
		width: 100%;
		padding-top: 75px;
		padding-left: 0;
		padding-bottom: 80px;
		display: flex;
		justify-content: center;
	}
	#floor_1f .floor_num img {
		width: calc( 100vw * ( 85 / 375 ) );
	}
	#floor_1f .floor_map {
		width: 100%;
		position: relative;
		top: 0;
		right: 0;
		display: flex;
		justify-content: center;
	}
	#floor_1f .floor_map img {
		width: calc( 100vw * ( 268 / 375 ) );
	}

	#floor_2f .floor_num {
		width: 100%;
		padding-top: 75px;
		padding-left: 0;
		padding-bottom: 80px;
		display: flex;
		justify-content: center;
	}
	#floor_2f .floor_num img {
		width: calc( 100vw * ( 97 / 375 ) );	
	}
	#floor_2f .floor_map {
		width: 100%;
		position: relative;
		top: 0;
		right: 0;
		display: flex;
		justify-content: center;
	}
	#floor_2f .floor_map img {
		width: calc( 100vw * ( 300 / 375 ) );
	}

	
	.floor_info_wrap {
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 20px;
		width: calc( 100vw * ( 277 / 375 ) );
	}

	.floor_info {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		margin-top: 25px;
	}
	.floor_photo {
		width: 100%;
	}
	.floor_text {
		width: 100%;
	}
	.floor_text h3 {
		font-size: calc( 100vw * ( 26 / 375 ) );
		margin: calc( 100vw * ( 16 / 375 ) ) 0;
	}
	.floor_text p {
		font-size: calc( 100vw * ( 14 / 375 ) );
		margin: 0 0 1em 0;
	}
}
*/

/* floormap
----------------------------------------------*/

#floormap {
	margin: 50px 0 0 0;
}
#floormap .outer {
	padding: 50px 0;
	background-color: #e6ded7;
}
#floormap h2 {
	text-align: center;
	margin: 0 0 50px 0;
	padding: 0;
	font-size: 1.75rem; /*28px*/
}

#floormap .floor_layout {
	justify-content: space-around;
	width: 1070px;
	margin: 60px auto;
}
#floormap .floor_layout div.b1 {
	margin-left: -50px;
}
#floormap .floor_layout div.b1 img {
	width: 331px;
}
#floormap .floor_layout div.f1 img {
	width: 340px;
}
#floormap .floor_layout div.f2 {
	margin-right: -50px;
}
#floormap .floor_layout div.f2 img {
	width: 364px;
}

#floormap .floor_wrap {
	border: 1px solid #000;
	width: 1070px;
	margin: 60px auto;
}
#floormap .floor_wrap h3 {
	width: 160px;
	margin: 0 auto 50px auto;
}

#floormap .floor_inner_wrap {
	width: 920px;
	margin: 0 auto 50px auto;
	justify-content: space-around;
}
#floormap .floor_inner_wrap .photo {
	width: 450px;		
}
#floormap .floor_inner_wrap .text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	/*align-items: center;*/
	width: 420px;
}
#floormap .floor_inner_wrap .text h4 {
	font-size: 26px;
	margin: 0 0 0.5em 0;
	color: #248d3a;
}
#floormap .floor_inner_wrap .text p {
	font-size: 1rem;
	line-height: 2;
}

.floor_slide_wrap {
	width: 450px;
	margin: 0;
	padding: 0;
}
.floor_slide_wrap .swiper-slide {
	width: 450px;
	margin: 0;
	padding: 0;
}
.floor_slide_wrap .swiper-slide img {
	width: 450px;
}


@media only screen and (max-width: 767px) {
	
	#floormap h2 {
		font-size: calc(100vw * (28 / 375));
	}

	#floormap .floor_layout {
		width: calc(100vw * (335 / 375));
		flex-direction: column;
	}
	
	#floormap .floor_layout div {
		padding-left: calc(100vw * (24 / 375));
	}
	#floormap .floor_layout div.b1 {
		margin-left: 0;
	}
	#floormap .floor_layout div.b1 img {
		width: calc(100vw * (282 / 375));
	}
	#floormap .floor_layout div.f1 img {
		width: calc(100vw * (289 / 375));
	}
	#floormap .floor_layout div.f2 {
		margin-right: 0;
	}
	#floormap .floor_layout div.f2 img {
		width: calc(100vw * (310 / 375));
	}
	#floormap .floor_inner_wrap .text h4 {
		font-size: calc(100vw * (26 / 375));
		margin: 0.5em 0;
	}
	#floormap .floor_inner_wrap .text h4 + p {
		margin-top: 0;	
	}
	#floormap .floor_wrap {
		width: calc(100vw * (335 / 375));
	}
	#floormap .floor_wrap h3 {
		width: calc(100vw * (120 / 375));
	}
	#floormap .floor_inner_wrap {
		width: calc(100vw * (277 / 375));
		flex-direction: column;
	}
	
	#floormap .floor_inner_wrap .photo {
		width: 100%;		
	}
	#floormap .floor_inner_wrap .text {
		width: 100%;
	}

}


@media only screen and (max-width: 767px) {
	.floor_slide_wrap {
		width: calc( 100vw * ( 277 / 375 ) );
	}
	.floor_slide_wrap .swiper-slide {
		width: calc( 100vw * ( 277 / 375 ) );

	}
	.floor_slide_wrap .swiper-slide img {
		width: calc( 100vw * ( 277 / 375 ) );
	}
}

/* plan
----------------------------------------------*/

#plan {
	margin: 130px 0 0 0;
}
#plan .outer {
	padding-bottom: 50px;	
}
#plan h2 {
	text-align: center;
	margin: 0 0 50px 0;
	padding: 0;
}
#plan h2 img {
	width: 70px;	
}
#plan .lead {
	text-align: center;	
	line-height: 2;
	margin: 0 0 90px 0;
	font-size: 1rem;
}

#slider_wrap {
	height: auto;
}
#slider .swiper {
	
}
#slider .swiper-slide {
	width: 508px;
	/*height: 100%;*/
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
#slider .slide_inner {
	width: 508px;
	/*height: 100%;*/
	border-radius: 10px;
	background-color: #e6ded7;
	padding: 42px 0 25px 0;
}
#slider .swiper-slide .plan_image {
	width: 416px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
}
#slider .swiper-slide .plan_num {
	padding: 2em 0 1em 0;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	line-height: 1;
	color: #248d3a;
}
#slider .swiper-slide .plan_num .num {
	font-size: 28px;
	line-height: 1;
	margin-bottom: -0.1em;
}
#slider .swiper-slide .plan_num img {
	height: 21px;
}
#slider .swiper-slide .plan_type {
	color: #248d3a;
	text-align: center;
	margin: 0;
	padding: 0;
	font-size: 1.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
#slider .swiper-slide .plan_type span {
	font-size: 0.875rem;
}
#slider .swiper-slide p {
	width: 416px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 1em auto;
}

#slider .swiper-button-prev,
#slider .swiper-button-next {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
  padding: 0;
  width: 65px;
  height: 65px;
  cursor: pointer;
}
#slider .swiper-button-prev::before,
#slider .swiper-button-next::before {
	content: ""; 
	background-color: #248d3a;
	position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 50%;
}
#slider .swiper-button-prev::after,
#slider .swiper-button-next::after {
	content: ""; 
	border-color: #fff;
	width: 10px;
    height: 10px;
    border: solid #fff;
    border-width: 2px 2px 0 0;
}
#slider .swiper-button-prev::after{
	transform: rotate(-135deg);
}
#slider .swiper-button-next::after {
	transform: rotate(45deg);
}

#slider .swiper-button-prev {
  left: -32.5px;
}
#slider .swiper-button-next {
  right: -32.5px;
}
#slider .arrow-wrap {
	width: 508px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 999;
}


#plan .kome {
	font-size: 0.875rem;
	margin: 50px 0 1em 0;
}

@media only screen and (max-width: 767px) {
	#plan {
		margin-top: calc( 100vw * ( 75 / 375 ) );
	}
	#plan .outer {
		padding-bottom: calc( 100vw * ( 0 / 375 ) );
	}
	#plan .lead {
		width: calc( 100vw * ( 335 / 375 ) );
		margin-left: auto;
		margin-right: auto;
		margin-bottom: calc( 100vw * ( 50 / 375 ) );
	}
	#plan h2 {
		font-size: calc( 100vw * ( 22 / 375 ) );
	}
	#slider .swiper-slide {
		width: calc( 100vw * ( 335 / 375 ) );
	}
	#slider .slide_inner {
		width: calc( 100vw * ( 335 / 375 ) );
		height: 100%;
		border-radius: 10px;
		padding: 42px 0 25px 0;
	}
	#slider .swiper-slide .plan_image {
		width: calc( 100vw * ( 281 / 375 ) );
	}
	#slider .swiper-slide .plan_type {
		font-size: calc( 100vw * ( 26 / 375 ) );
	}
	#slider .swiper-slide p {
		width: calc( 100vw * ( 281 / 375 ) );
	}
	
	#slider .arrow-wrap {
		width: 100%;
	}
	#slider .swiper-button-prev,
	#slider .swiper-button-next {
		width: calc( 100vw * ( 80 / 375 ) );
		height: calc( 100vw * ( 80 / 375 ) );
	}
	#slider .swiper-button-prev {
		left: calc( 100vw * ( -40 / 375 ) );
	}
	#slider .swiper-button-next {
		right: calc( 100vw * ( -40 / 375 ) );
	}
	#slider .swiper-button-prev::after{
		transform: rotate(-135deg);
		margin-right: calc( 100vw * ( -40 / 375 ) );
	}
	#slider .swiper-button-next::after {
		transform: rotate(45deg);
		margin-left: calc( 100vw * ( -40 / 375 ) );
	}
	
	#plan .kome {
		font-size: calc( 100vw * ( 14 / 375 ) );
		margin: 1em 0 1em 0;
		line-height: 2;
	}

}

/* user
----------------------------------------------*/
#user {
	margin: 0 0 0 0;
	padding: 0;
}
#user .outer {
	background-color: #248d3a;
	padding: 50px 0;
}
#user h2 {
	text-align: center;
	color: #fff;
	margin-bottom: 2em;
	font-size: 1.375rem; /* 22px */
}
#user .user_wrap {
	width: 1070px;
	margin: 0 auto 60px auto;
	justify-content: space-between;
}
#user .user_wrap .user_item {
	width: 330px;
	display: flex;
	flex-direction: column;
	align-items: center;
	background-color: #fff;
	padding: 22px;
}
#user .user_wrap .user_item .photo {
	margin-bottom: 15px;
	width: 272px;
}
#user .user_wrap .user_item .text {
	width: 272px;
}
#user .user_wrap .user_item .text .comp {
	
}
#user .user_wrap .user_item .text .name {
	margin-bottom: 15px;
}
#user .user_wrap .user_item .text .name span {
	font-size: 23px;
}
#user .user_wrap .user_item .text .lead {
	font-size: 23px;
	color: #248d3a;
}
#user .user_wrap .user_item .text p {
	line-height: 1.8;	
}

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

	#user h2 {
		font-size: 1.375rem; /* 22px */
	}
	#user .user_wrap {
		width: calc( 100vw * (335 / 375) );
		flex-direction: column;
	}
	#user .user_wrap .user_item {
		width: calc( 100% );
		margin-bottom: 1rem;
	}
	#user .user_wrap .user_item .photo {
		width: calc( 100vw * (272 / 375) );

	}
	#user .user_wrap .user_item .photo img {
		width: 100%;
	}
	#user .user_wrap .user_item .text {
		width: calc( 100vw * (272 / 375) );
	}
	
	
	#user .user_wrap .user_item .text .comp {
		
	}
	#user .user_wrap .user_item .text .name {
		
	}
	#user .user_wrap .user_item .text .name span {
		font-size: calc( 100vw * ( 23 / 375 ) );
	}
	#user .user_wrap .user_item .text .lead {
		font-size: calc( 100vw * ( 23 / 375 ) );
	}

}


/* access
----------------------------------------------*/
 
#access {
	margin: 100px 0 100px 0;
	padding: 0;
}
.access_flex {
	display: flex;
	width: 1070px;
	margin: 0 auto;
	justify-content: space-between;
	margin-bottom: 100px;
}
.access_flex .heading {
	
}
.access_flex .heading h2 {
	margin: 0;
	padding: 0;
}
.access_flex .heading h2 img {
	width: 124px;
}
.access_flex .heading p.lead {
	color: #248d3a;
	font-size: 1.6rem;
}
.access_flex .heading p.address {
	font-size: 0.875rem;
	line-height: 2;
}
.access_flex .map {
	width: 600px;
	height: calc( 100% * (330 / 600) );
}
.access_flex .gmap_wrap {
	width: 600px;
	height: 0;
	overflow: hidden;
	padding-bottom: calc( 100% * (330 / 600) );
	position: relative;
}
.access_flex .gmap_wrap iframe {
   position: absolute;
   left: 0;
   top: 0;
   height: 100%;
   width: 100%;
}
.spot_wrap {
	background-color: #e6ded7;
	border-radius: 10px;
	width: 1070px;
	margin: 0 auto;
	padding: 30px;
}
.spot_wrap h3 {
	margin: 0 0 1em 0;
	padding: 0;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 400;
}
.spot_flex {
	display: flex;
	justify-content: space-around;
}
.spot_item {
	width: 30%;
}
.spot_item .ico {
	display: flex;
	justify-content: center;
	align-items: center;
}
.spot_item .ico img {
	width: 40px;
}
.spot_item p {
	text-align: center;
	font-size: 1rem;
}

@media only screen and (max-width: 767px) {
	#access {
		margin: calc( 100vw * ( 50 / 375 ) ) 0;
	}
	
	.access_flex .heading h2 {
		font-size: calc( 100vw * ( 28 / 375 ) );
	}
	.access_flex .heading p.lead {
		font-size: calc( 100vw * ( 26 / 375 ) );
	}
	.access_flex {
		width: calc( 100vw * ( 335 / 375 ) );
		flex-direction: column;
		margin-bottom: calc( 100vw * ( 30 / 375 ) );
	}
	.access_flex .map {
		width: 100%;
		height: calc( 100vw * ( 300 / 375 ) );
	}
	.access_flex .gmap_wrap {
		width: 100%;
    	padding-bottom: calc( 100vw * ( 300 / 375 ) );
	}
	
	.spot_wrap {
		width: calc( 100vw * ( 335 / 375 ) );
	}
	.spot_flex {
		display: flex;
		flex-direction: row;
		justify-content: center;
		flex-wrap: wrap;
		width: 100%;
	}
	.spot_item {
		width: calc(100%/3);
		margin-left: 0;
		margin-right: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
		flex-wrap: wrap;
		margin-bottom: 15px;
	}
	.spot_item .ico {
		width: 100%;
		margin-right: 0;
		display: inline-flex;
		justify-content: center;
	}
	.spot_item .ico img {
		width: calc( 100vw * ( 55 / 375 ) );
	}
	.spot_item p {
		width: 100%;
		text-align: center;
		white-space: nowrap;
		font-size: calc( 100vw * ( 12 / 375 ) );
		margin: 0;
		padding: 0.5em 0;
	}
}

/* contact
----------------------------------------------*/

#contact {
	padding: 0;
}
#contact .outer {
	padding: 150px 0 210px 0;
	background-color: #e6ded7;	
}
#contact h2 {
	margin: 0 0 45px 0;
	padding: 0;
	text-align: center;
	font-weight: 500;
}
#contact h2 img {
	width: 145.7px;	
}
#contact .lead {
	text-align: center;	
	margin: 0 0 85px 0;
	line-height: 2;
}
#contact .white_wrap {
	background-color: #fff;
	border-radius: 10px;
	width: 1070px;
	margin: 2em auto;
	padding: 60px 0;
}

.form_item {
	width: 720px;
	margin: 2em auto;
	display: flex;
	flex: none;
}
.form_item .item_label {
	width: 200px;
	display: flex;
	padding: 1.5em 1em 0 1em;
	font-size: 0.875rem;
}
.form_item .item_input {
	width: calc( 720px - 200px );
	display: flex;
	padding: 1em;
	font-size: 0.875rem;
}


.radio_wrap {
	display: flex;
}

.form_item input:not([type="radio"]) {
	width: 100%;
	border: 1px solid #e2e2e2;
}
.form_item input[type="radio"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.form_item input[type="radio"] + label {
	padding-left: 2em;
	position: relative;
	cursor: pointer;
	margin-right: 3em;
}
.form_item input[type="radio"] + label::before {
	content: '';
	display: block; 
	border-radius: 50%; 
	background-color: #e2e2e2;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.form_item input[type="radio"]:checked + label::after {
    content: '';
    display: block;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    background-color: #666;
    position: absolute;
    top: 50%;
    left: 5px;
    transform: translateY(-50%);
}

.form_item input[type="text"] {
	padding: 0.5em;
}
.form_item textarea {
	padding: 0.5em;
	width: 100%;
	height: 10em;
	border: 1px solid #e2e2e2;
}
.form_item input[type="text"]::placeholder,
.form_item textarea::placeholder {
	color: #e2e2e2;
}

#privacy {
	width: 720px;
	margin: 2em auto;
	padding: 2em;
	overflow-y: scroll;
	height: 300px;
	border: 1px solid #e2e2e2;
}
#privacy h3 {
	margin: 0;
	padding: 0;
	line-height: 2;
	font-weight: normal;
	font-size: 0.875rem;
}
#privacy dl {
	margin: 1em 0 0 0;
	padding: 0;
	line-height: 2;
}
#privacy dl dt {
	margin: 0 0 0.5em 0;
	padding: 0;
	line-height: 2;
	font-weight: normal;
	font-size: 0.875rem;
}
#privacy dl dd {
	margin: 0 0 1em 0;
	padding: 0;
	line-height: 2;
	font-weight: normal;
	font-size: 0.875rem;
}

.agree_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 2em 0;
}

.agree_wrap input[type="checkbox"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;

	position: relative;
	background-color: #e2e2e2;
	width: 21px;
	height: 21px;
	vertical-align: middle;
	margin-left: 0.5em;
}
.agree_wrap input[type="checkbox"]:checked:before {
	content: '';
	position: absolute;
	top: 1px;
	left: 6px;
	transform: rotate(50deg);
	width: 6px;
	height: 10px;
	border-right: 3px solid #666;
	border-bottom: 3px solid #666;
}

.submit_wrap {
	display: flex;
	justify-content: center;
}
button[type="submit"] {
	color: #fff;
	background-color: #248d3a;
	border-radius: 999px;
	border: none;
	padding: 0.5em 3em;
	position: relative;
	letter-spacing: 0.2em;
	font-weight: 400;
}
button[type="submit"]::before {
	position: absolute;
	margin: auto;
	content: "";
	vertical-align: middle;
	top: 50%;
	right: 1em;
	width: 4px;
	height: 4px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
    transform: translateY(-50%) rotate(45deg);
}

.error_wrap {
	display: flex;
	justify-content: center;
	flex-direction: column;
	max-width: 90%;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.btn_set {
	display: flex;
	justify-content: center;
}
.btn_set .submit_wrap,
.btn_set .back_wrap {
	margin-left: 1em;
	margin-right: 1em;
}
.back_wrap {
	display: flex;
	justify-content: center;
}
.error_wrap .back_wrap {
	margin-top: 2em;
}
button[type="button"] {
	color: #fff;
	background-color: #248d3a;
	border-radius: 999px;
	border: none;
	padding: 0.5em 3em;
	position: relative;
	letter-spacing: 0.2em;
	font-weight: 400;
}
button[type="button"]::before {
	position: absolute;
	margin: auto;
	content: "";
	vertical-align: middle;
	top: 50%;
	right: 1em;
	width: 4px;
	height: 4px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
    transform: translateY(-50%) rotate(45deg);
}

@media only screen and (max-width: 767px) {
	#contact {
		
	}
	#contact .outer {
		padding: calc( 100vw * ( 50 / 375 ) ) 0;
	}
	#contact .lead {
		width: calc( 100vw * ( 335 / 375 ) );
		margin-left: auto;
		margin-right: auto;
		margin-bottom: calc( 100vw * ( 15 / 375 ) );
	}
	#contact .white_wrap {
		width: calc( 100vw * ( 335 / 375 ) );
		padding: calc( 100vw * ( 45 / 375 ) ) 0;
	}
	.form_item {
		width: calc( ( 100vw * ( 275 / 375 ) ) + 2em  );
		flex-direction: column;
		margin: 0 auto;
	}
	.form_item .item_label {
		width: 100%;
	}
	.form_item .item_input {
		width: 100%;
	}
	.radio_wrap {
		display: flex;
		flex-direction: column;
	}
	.radio_wrap div {
		width: 100%;
		margin: calc( 100vw * ( 15 / 375 ) ) 0;
	}
	
	.form_item input[type="radio"] + label::before {
		width: calc( 100vw * ( 30 / 375 ) );
		height: calc( 100vw * ( 30 / 375 ) );
	}
	.form_item input[type="radio"]:checked + label::after {
		width: calc( 100vw * ( 18 / 375 ) );
		height: calc( 100vw * ( 18 / 375 ) );;
	}
	
	.form_item input[type="radio"] + label {
		padding-left: calc( 100vw * ( 40 / 375 ) );
	}
	
	#privacy {
		width: calc( 100vw * ( 275 / 375 ) );
	}

	.btn_set {
		display: block;
	}
	button {
		margin-bottom: 0.5em;
	}
}

#faq {
	
}
#faq .outer {
	background-image: url("../index2025/bg_btn.jpg");
	background-position: center center;
	background-size: cover;
	padding: 80px 0;
}
#faq .btn_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
}
#faq .btn_wrap a {
	display: flex;
	justify-content: center;
	align-items: center;
    color: #fff;
    background-color: #248d3a;
    border-radius: 999px;
    border: none;
    padding: 0.5em 3em;
    position: relative;
    letter-spacing: 0.2em;
    font-weight: 400;
	text-decoration: none;
	min-width: 500px;
	min-height: 70px;
	text-align: center;
}
#faq .btn_wrap a::before {
	position: absolute;
	margin: auto;
	content: "";
	vertical-align: middle;
	top: 50%;
	right: 2em;
	width: 4px;
	height: 4px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
    transform: translateY(-50%) rotate(45deg);
}

@media only screen and (max-width: 767px) {
	#faq .btn_wrap a {
		min-width: 90%;
		min-height: 70px;
	}
}
