@charset "UTF-8";
/* ------ キーヴィジュアル ------ */
.kv {
				background: url(../images/about/kv.jpg) no-repeat center center;
				background-size: cover;
}

/* ------ pageタイトル ------ */
.page-ttl-box .page-ttl {
				letter-spacing: 0.05em !important;
}

/* ------ sectionタイトル ------ */
.sec-ttl-box {
				margin: 0 0 21px;
}
@media (min-width: 641px) {
				.sec-ttl-box {
								margin: 0 0 21px;
				}
}
@media (min-width: 641px) {
				.sec-ttl-box .sec-ttl {
								font-size: 2.7rem;
				}
}

.lead-txt {
				text-align: left;
				line-height: 1.82;
}
@media (min-width: 641px) {
				.lead-txt {
								font-size: 1.7rem;
								width: 794px;
								margin: 0 auto;
				}
}

/* ------ サングリーン旭Cafe ------ */
.cafe {
				margin: 30px 0 0;
}
@media (min-width: 641px) {
				.cafe {
								margin: 80px 0 0;
				}
				.cafe .cafe-wrap {
				background: url(../images/about/bg_cafe_sp.png) no-repeat center top;
				background-size: contain;
				padding: 14% 0 0;
}
}

@media (max-width: 640px){
.cafe .cafe-wrap {
				background: url(../images/about/bg_cafe_sp.png) no-repeat center top;
				background-size: contain;
				padding: 14% 0 0;
				height: calc((100vw - 40px)*3.7);
}}
@media (-webkit-min-device-pixel-ratio: 2) and (max-width: 640px) {
				.cafe .cafe-wrap {
								background: url(../images/about/bg_cafe_sp@2x.png) no-repeat center top;
								background-size: contain;
				}
}
@media (-webkit-min-device-pixel-ratio: 3) and (max-width: 640px) {
				.cafe .cafe-wrap {
								background: url(../images/about/bg_cafe_sp@3x.png) no-repeat center top;
								background-size: contain;
				}
}
@media (min-width: 641px) {
				.cafe .cafe-wrap {
								background: url(../images/about/bg_cafe_top.png) no-repeat center top;
								background-size: contain;
								width: 800px;
								margin: 0 auto;
								padding: 115px 0 0;
				}
}
.cafe .cafe-content-center {
				width: 100%;
				padding: 10px 0 18px;
}
@media (min-width: 641px) {
				.cafe .cafe-content-center {
								background: url(../images/about/bg_cafe_center.png) repeat-y center top;
								padding: 0 0 21px;
				}
}
.cafe .cafe-logo {
				margin: 0 auto 10px;
}
@media (min-width: 641px) {
				.cafe .cafe-logo {
								width: 490px;
								margin: 0 auto 18px;
				}
}
.cafe .lead-txt {
				width: 100%;
}
.cafe .cafe-content-inner {
				padding: 0 10%;
}
@media (min-width: 641px) {
				.cafe .cafe-content-inner {
								padding: 0 107px 30px 107px;
				}
}
@media (min-width: 641px) {
				.cafe .cafe-img-wrap {
								background: url(../images/about/bg_cafe_btm.png) no-repeat center top;
								padding: 18px 0 0 0;
								background-position: center bottom;
				}
}
.cafe .cafe-img-wrap .cafe-content-inner {
				display: flex;
				justify-content: space-between;
				align-items: stretch;
				flex-wrap: wrap;
}
@media (min-width: 641px) {
				.cafe .cafe-img-wrap .cafe-content-inner {
								position: relative;
								top: -10px;
				}
}
.cafe .cafe-img {
				border: 6px solid #fff;
				box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.3);
				width: 48%;
				margin: 0 0 60px;
}
@media (min-width: 641px) {
				.cafe .cafe-img {
								width: 265px;
								height: 200px;
								margin: 0 0 70px;
				}
.cafe .cafe-img-wrap .title-txt{
								font-size: 1.7rem;
								text-align: center;
								margin-top: 5px;
				}
}

@media (max-width: 640px) {
.cafe .cafe-img-wrap .title-txt{
								font-size: 1.4rem;
								text-align: left;
								margin-top: 10px;
								line-height: 1.2;
				}
}
.cafe .cafe-img img {
				width: 100%;
				height: 100%;
}

/* ------ サングリーン旭　施設概要 ------ */
.access {
				margin: 70px 0 0;
				/* 行間調整 */
}
@media (min-width: 641px) {
				.access {
								margin: 154px 0 0;
				}
}
.access .inner {
				padding: 12% 20px 40px;
}
@media (min-width: 641px) {
				.access .inner {
								width: calc(994px + (200px * 2));
								padding: 70px 200px 77px;
				}
}
.access .access-content {
				display: flex;
				justify-content: space-between;
				align-items: flex-start;
				flex-wrap: wrap;
}
.access .access-ttl {
				display: flex;
				justify-content: flex-start;
				align-items: center;
				flex-wrap: nowrap;
				color: #39b54a;
				font-size: clamp(18px, 1rem + 1vw, 22px);
				font-weight: 700;
				margin: 0 0 12px;
}
@media (min-width: 641px) {
				.access .access-ttl {
								font-size: 2.7rem;
								margin: 0 0 12px;
				}
}
.access .access-map {
				width: 100%;
}
@media (min-width: 641px) {
				.access .access-map {
								width: 600px;
				}
}
.access .access-map iframe {
				width: 100%;
}
.access .access-detail {
				flex: 1;
				font-size: clamp(16px, 1rem + 1vw, 20px);
				letter-spacing: 0.01em;
				line-height: 1.33;
}
@media (min-width: 641px) {
				.access .access-detail {
								font-size: 1.5rem;
								margin: -20px 0 0 40px;
				}
}
.access .access-box {
				display: flex;
				justify-content: flex-start;
				align-items: center;
				flex-wrap: nowrap;
				border-top: 1px solid #7a7a7a;
				padding: 15px 5px;
}
@media (min-width: 641px) {
				.access .access-box {
								padding: 9px 5px;
				}
}
.access .access-box:first-child {
				flex-direction: row;
				border-top: none;
				padding: 9px 5px;
}
.access .access-box dt {
				width: 30%;
				max-width: 106px;
				margin: 0 1em 0 0;
}
@media (min-width: 641px) {
				.access .access-box dt {
								width: 106px;
								margin: 0;
				}
}
.access .access-box dd {
				flex: 1;
}
.access .indent {
				padding-left: 1em;
				text-indent: -1em;
}
.access .box-block {
				display: block !important;
}
.access .line-adj *:nth-child(n+2) {
				margin: 1em 0 0;
}
@media (min-width: 641px) {
				.access .line-adj *:nth-child(n+2) {
								margin: 0.6em 0 0;
				}
}