@charset "UTF-8";

/* iPad表示の際の文字サイズ対策 */
html.is-ipad .index_bizContainer dl dt {
  font-size: 1.4rem;
  line-height: 1.1;
  top: 20px;
}
html.is-ipad .news_detail {
	margin-right: -75px;
} 
/* ------------------------------------------------------------
  PCスタイル
 ------------------------------------------------------------ */
@media screen and (min-width: 768px) {
	body {
		padding-top: 80px;
		background: url('../img/index/bg_main-pc.gif') repeat-x;
	}
	/* 全てのセクション */
	.index_sec {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
	}
	.index_secTtl {
		font-size: 3.4375rem;
		font-weight: 500;
		line-height: 1;
	}
	.index_secTtl:after {
		content: "";
		display: block;
		height: 3.4375rem; /* 55px */
		margin-top: -2.25rem; /* -36px */
		/* 装飾罫等は各見出しで */
	}
	/* 各セクション末の詳細リンク */
	.to_detail a {
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		width: 9.375rem; /* 150px */
		height: 9.375rem; /* 150px */
		border: 1px solid #000;
		border-radius: 4.6875rem; /* 75px */
		background: #fff;
		font-size: 0.9375rem;
		font-weight: 500;
		text-decoration: none;
		color: #000;
		line-height: 1;
		transition: var(--hover-speed);
	}
	.to_detail a:hover {
		color: #1AAD6B;
		transition: var(--hover-speed);
	}
	.to_detail span {
		display: block;
		line-height: 1;
	}
	.to_detail span:after {
		content: "";
		display: inline-block;
		width: 0.875rem;
		height: 0.875rem;
		margin-left: 0.4rem;
		background: url('../img/common/arrow_page_linkB.svg') no-repeat center bottom / contain;
		line-height: 1;
		transition: var(--hover-speed);
	}
	.to_detail a:hover span:after {
		background: url('../img/common/arrow_page_linkG.svg') no-repeat center bottom / contain;
		transition: var(--hover-speed);
	}

	/* メインビューセクション */
	.indx_pageTtl {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 92%;
		height: 920px;
		margin: 0 auto;
		position: relative;
		z-index: 1;
	}
	.indx_pageTtl:before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background: #FFFDF3;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: -100;
		filter: blur(10px);
	}
	.index_hgrp1 {
		width: 100%;
		position: relative;
	}

	

	/* ------------------------------
	  メインビューアニメーション
	------------------------------ */
	.index_hgrp1 h2 {
		display: flex;
		flex-direction: column;
		align-items: center;
		box-sizing: border-box;
		width: 500px;
		height: 285px;
		margin: 0 auto;
		position: relative;
		font-size: 40px;
		line-height: 1.2;
		overflow: hidden;
		/* fontなどの設定はそのまま */
	}
	/* 1. before（屋根）：移動しながらフェードイン */
	.index_hgrp1 h2:before {
		content: "";
		display: block;
		width: 450px;
		height: 116px;
		background: url('../img/index/fig_logo_up.svg') no-repeat center top / cover;
		position: absolute;
		left: 0;
		right: 0;
		margin: auto;
		/* 初期状態：下で待機・透明 */
		top: 285px;
		opacity: 0;
		/* 1秒で移動完了 + 保持 + 消去 */
		animation: roofSequence 6s ease-in-out forwards;
	}

	/* 2. span（テキスト）：屋根到達の1秒後に発火。下からズームアップ */
	.index_hgrp1 h2 span {
		display: inline-block;
		width: 405px;
		position: absolute;
		right: 0;
		bottom: 40px;
		left: 0;
		margin: auto;
		text-align: center;
		/* 初期状態：縮小・透明 */
		transform: scale(0.6);
		opacity: 0;
		/* 全体の33%（2秒）地点から動き出す */
		animation: textSequence 6s ease-in-out forwards;
	}

	/* 3. after（土台）：span停止の2秒後にフェードイン */
	.index_hgrp1 h2:after {
		content: "";
		display: block;
		width: 405px;
		height: 159px;
		background: url('../img/index/fig_logo_bottom.svg') no-repeat center center / contain;
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		/* 初期状態：固定・透明 */
		opacity: 0;
		/* 全体の83%（5秒）地点から動き出す */
		animation: afterSequence 6s ease-in-out forwards;
	}

	/* --- アニメーションのタイムライン（全体6秒） --- */

	/* 屋根：0s〜1sで移動完了 → 以降キープ */
	@keyframes roofSequence {
		0%   { top: 285px; opacity: 0; }
		16%  { top: 0; opacity: 1; } /* 約1秒地点 */
		100% { top: 0; opacity: 1; }
	}

	/* テキスト：2s〜3sでズームアップ（scale 0.6 → 1） */
	@keyframes textSequence {
		0%   { opacity: 0; transform: scale(0.6); }
		33%  { opacity: 0; transform: scale(0.6); } /* 2秒待機 */
		50%  { opacity: 1; transform: scale(1); }   /* 3秒地点で完了 */
		100% { opacity: 1; transform: scale(1); }
	}

	/* 土台：span停止(3s)の2秒後、つまり5s地点からフェードイン */
	@keyframes afterSequence {
		0%   { opacity: 0; }
		83%  { opacity: 0; } /* 5秒待機 */
		100% { opacity: 1; } /* 6秒地点で完了 */
	}



	.index_hgrp1 figure {
		position: absolute;
		left: -35px;
		top: 50%;
		transform: translate(0, -50%);
	}
	.index_pnav {
		display: flex;
		justify-content: space-between;
		align-items: center;
		box-sizing: border-box;
		width: 1100px;
		min-width: 830px;
		height: 80px;
		padding: 0 40px !important;
		border: 1px solid #000;
		border-radius: 40px;
		background: #fff;
		position: absolute;
		bottom: -50px;
		left: 50%;
		transform: translate(-50%, 0);
	}
	.index_pnav li {
		display: flex;
		justify-content: center;
		align-items: center;
		width: calc( 100% / 7 );
		height: 100%;
	}
	.index_pnav li:hover a {
		color: #1AAD6B;
		transition: var(--hover-speed);
	}
	.index_pnav li a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 60%;
		border-right: 1px solid #000;
		font-size: 1.0625rem;
		font-weight: 500;
		text-decoration: none;
		color: #000;
		transition: var(--hover-speed);
	}
	.index_pnav li:first-child a {
		border-radius: 24px 0 0 24px;
	}
	.index_pnav li:last-child a {
		border: none;
		border-radius: 0 24px 24px 0;
	}

	/* アバウト・アス */
	.index_about {
		margin-top: 154px;
		padding-top: 260px;
		background: url('../img/index/bg_about.svg') no-repeat center top / 100% auto;
		overflow: hidden;
	}
	.indexAbout_container {
		display: flex;
		flex-direction: column;
		align-items: center;
		position: relative;
	}
	.index_hgrp_about {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 400px;
		margin-top: -90px;
	}
	.index_aboutTtl {
		font-size: 2.1875rem;
		font-weight: 700;
		line-height: 1;
	}
	.index_aboutLead {
		margin-top: 30px;
		font-size: 2.5rem;
		font-weight: 700;
		line-height: 1.25;
		text-align: center;
	}
	.index_contWrap {
		width: 550px;
		margin-top: 36px;
		position: relative;
	}
	.about_mainCont {
		line-height: 2;
		text-align: justify;
	}
	.about_detail {
		position: absolute;
		right: -13.125rem; /* -210px */
		bottom: 0;
	}
	.about_loop {
		margin: 100px 0 -3px;
	}


	/* news */
	.index_news {
		padding: 125px 0 100px;
		background: #fefdf3;
	}
	.index_newsTtl {
		width: 990px;
	}
	.index_newsTtl:after {
		width: var(--char4); /* 罫線の長さ4文字分 */
		background: url('../img/index/fig_ttlunder_4char.svg') no-repeat left bottom / contain;
	}
	.indexNews_container {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		width: 990px;
	}

	ul.index_newsList {
		width: 78%;
	}
	li.news_item {
		width: 100%;
		border-bottom: 1px solid #000;
	}
	.news_item a {
		display: grid;
		grid-template-columns: max-content 4rem 1fr max-content;
		align-items: start; /* 上端で揃える */
		gap: 0 1rem;
		padding: 30px 0;
		text-decoration: none;
		color: inherit;
	}
	li.news_item a:hover .news_link {
		filter: brightness(var(--bright));
		transition: var(--hover-speed);
	}
	time.post_date {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		padding: 0.3rem 0;
		line-height: 1;
	}
	.post_date,
	.news_desc {
		margin: 0;
		font-size: 1rem;
		line-height: 1.6;
	}
	.post_cat {
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		height: 26px; 
		border: 1px solid #1AAD6B;
		background: #fff;
		font-size: 1rem;
		color: #1AAD6B;
	}
	.news_link {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 36px;
		padding: 0 1rem;
		margin-top: -4px;
		border-radius: 50px;
		background: #1AAD6B;
		font-size: 14px;
		font-weight: 500;
		line-height: 2.25rem;
		white-space: nowrap;
		color: #ffffff;
	}
	span.news_link:after {
		content: "";
		display: inline-block;
		width: 0.75rem;
		height: 0.75rem;
		margin-left: 0.3rem;
		background: url('../img/common/arrow_news_detail.svg') no-repeat center center / contain;
	}

	/* 一覧へボタン */
	/* .news_detail {
		margin-right: -75px;
	} */


	/* 事業紹介 */
	.index_biz {
		background: url('../img/business/bg_business-pc.gif') repeat-x left top;
	}
	.biz_wrap {
		box-sizing: border-box;
		width: 1200px;
		padding: 87px 240px 180px;
		border-radius: 74px;
		background: #edf2ed;
		position: relative;
	}
	.index_bizTtl:after {
		width: var(--char6); /* 罫線の長さ4文字分 */
		background: url('../img/index/fig_ttlunder_4char.svg') no-repeat left bottom / contain;
	}
	.index_bizContainer {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		width: 100%;
	}
	.index_bizContainer dl {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 310px;
		margin-top: 50px;
		position: relative;
	}
	.index_bizContainer dl dt {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		font-size: 1.875rem;
		font-weight: 500;
		line-height: 1.1;
		position: absolute;
		top: 32px;
		left: 50%;
		transform: translate(-50%, 0);
		text-align: center;
	}
	dd.biz_fig {
		width: 80%;
	}
	dd.biz_fig img {
		width: 100%;
		height: auto;
	}
	.biz_desc {
		width: 80%;
		margin-top: 20px;
		font-size: 1.125rem;
		text-align: justify;
	}
	.biz_detail {
		position: absolute;
		left: 50%;
		bottom: -75px;
		transform: translate(-50%, 0);
	}


	/* 事業実績 */
	.index_achvs {
		margin-top: 185px;
	}
	.index_achvsTtl {
		width: 1000px;
	}
	.index_achvsTtl::after {
		width: var(--char6); /* 罫線の長さ4文字分 */
		background: url('../img/index/fig_ttlunder_4char.svg') no-repeat left bottom / contain;
	}
	.indexAchvs_container {
		width: 1000px;
		margin-top: 80px;
	}
	ul.index_achvsList {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		width: 100%;
	}
	li.achv_item {
		width: 30%;
	}
	li.achv_item:nth-child(n+4):nth-child(-n+6) {
		margin-top: 50px;
	}
	.ahvsItem_itemFig {
		width: 100%;
	}
	.ahvsItem_itemFig picture {
		width: 100%;
	}
	.ahvsItem_itemFig figcaption {
		margin-top: 15px;
	}
	.ahvsItem_itemFig figcaption::before {
		content: "";
		display: inline-block;
		width: 0.875rem;
		height: 0.875rem;
		background: url('../img/index/icon_pin.svg') no-repeat center center / contain;
		line-height: 1.7;
	}
	.ahvsItem_itemInfo h4,
	.ahvsItem_itemInfo p {
		font-weight: 400;
		color: #000;
	}
	.info_header {
		display: inline-block;
		width: 4rem;
		color: #1AAD6B;
	}
	.achvs_detail {
		margin-top: 80px;
	}


	/* サポートとご案内 */
	.index_supp {
		margin-top: 150px;
		padding-top: 100px;
		border-radius: 100px 100px 0 0;
		background: url('../img//index/bg_support.gif') repeat-x;
	}
	.index_suppTtl {
		width: 460px;
		font-weight: 500;
		font-feature-settings: "palt";
		letter-spacing: 0.04em;
		text-align: center;
	}
	.index_suppTtl::before {
		content: "";
		display: inline-block;
		width: 91%;
		height: 6.25rem;
		margin-bottom: 15px;
		background: url('../img/index/fig_logo_up.svg') no-repeat center top / contain;
	}
	.sp_wrap {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
	}
	div.indexSupp_container {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		width: 1000px;
		min-width: 786px;
		margin-top: 50px;
		padding-bottom: 64px;
	}
	div.suppItems {
		width: 315px;
		padding-top: 150px;
		padding-bottom: 60px; /* 下側にボタンがめり込まないよう余白を確保 */
		background: url('../img/index/bg_supp_item-pc.svg') no-repeat center top / 100% auto; /* containを100% autoに変更 */
		position: relative;
	}
	div.item_container {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		width: 100%;
		padding-bottom: 115px;
		background: #edf2ed;
		position: relative;
	}
	div.suppItems h4 {
		width: 14rem;
		margin: -70px 0 20px; /* 図版との間隔 */
		font-size: 1.875rem;
		font-weight: 500;
		text-align: left;
		position: relative;
	}
	div.suppItems h4:after {
		content: "";
		display: block;
		width: 14rem;
		height: 100%;
		background: url('../img/index/fig_ttlunder_spprt.svg') no-repeat left top / contain;
		line-height: 1;
		position: absolute;
		left: 0;
		bottom: -1.125rem;
	}
	p.indexSupp_desc {
		width: 80%;
		height: 7rem;
		padding-top: 30px;
		text-align: justify;
	}
	p.landlord_detail,
	.staff_detail,
	.faq_detail {
		position: absolute;
		left: 50%;
		bottom: -75px;
		transform: translate(-50%, 0);
	}
	.index_spBtn {
		display: none;
	}


	/* アクセス */
	.index_axsTtl {
		width: 1000px;
		margin-top: 125px;
	}
	.index_axsTtl:after {
		width: var(--char5); /* 罫線の長さ4文字分 */
		background: url('../img/index/fig_ttlunder_6char.svg') no-repeat left bottom / contain;
	}
	.indexAxs_wrap {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 1000px;
		margin-top: 90px;
	}
	.addr {
		width: 365px;
	}
	.addr address {
		margin-top: 20px;
		font-size: 1rem;
		font-style: normal;
		text-align: center;
	}
	.map {
		width: 59%;
	}
	iframe {
		width: 100%;
		aspect-ratio: 4 / 3; 
		height: auto;
	}
}

/* ------------------------------------------------------------
  SPスタイル
 ------------------------------------------------------------ */
@media screen and (max-width: 767px) {
	/* セクション共通 */
	section.index_sec {
		width: 100%;
	}
	h3.index_secTtl {
		width: 100%;
		padding: 0 24px;
		font-size: 2.375rem; /* 38px */
		font-weight: 500;
		line-height: 1;
		text-align: left;
		position: relative;
	}
	h3.index_secTtl:after {
		content: "";
		display: block;
		position: absolute;
	}


	/* リンクボタン */
	.to_detail {
		margin-top: 23px;
	}
	.to_detail a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 200px;
		height: 80px;
		border: 1px solid #000;
		border-radius: 40px;
		background: #fff;
		font-size: 0.875rem; /* 14px */
		font-weight: 500;
		color: #000;
		text-decoration: none;
	}
	.to_detail a:after {
		content: "";
		display: inline-block;
		width: 8px;
		height: 14px;
		margin-left: 14px;
		background: url('../img/index/fig_arrow_b.svg') no-repeat center center / contain;
	}

	/* メインビューセクション */
	.indx_pageTtl {
		height: 760px;
		padding: 32px 32px 130px;
		background: url('../img/index/bg_main-sp.gif') repeat-x left top / contain;
	}
	.index_hgrp1 {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		height: 100%;
		padding: 115px 0 100px;
		position: relative;
	}
	.index_hgrp1:before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background: #FFFDF3;
		filter: blur(10px);
		position: absolute;
		top: 0;
		left: 0;
	}
	.index_hgrp1 h2 {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		flex-wrap: nowrap;
		width: 200px;
		height: 394px;
		writing-mode: vertical-rl;
		font-size: 30px;
		line-height: 1.2;
		position: relative;
	}
	.index_hgrp1 h2:before {
		content: "";
		display: block;
		width: 100%;
		height: 52px;
		margin-bottom: 15px;
		background: url('../img/index/fig_logo_up.svg') no-repeat center top / contain;
	}
	.index_hgrp1 figure {
		width: 47px;
		height: 465px;
		position: absolute;
		bottom: 30px;
		left: -10px;
		margin: auto;
	}

	/* アバウト・アス */
	.index_about {
		padding-top: 58px;
		margin-top: -68px;
		background: url('../img/index/bg_about-sp.svg') no-repeat center top / 100% auto;
	}
	.indexAbout_container {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.index_hgrp_about {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.index_aboutTtl {
		font-size: 1.375rem; /* 22px */
		line-height: 1;
	}
	.index_aboutLead {
		margin-top: 20px;
		font-size: 1.75rem; /* 28px */
		font-weight: 700;
		line-height: 1.2;
		text-align: center;
	}
	.index_contWrap {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 0 24px;
		margin-top: 20px;
	}
	.about_mainCont {
		text-align: justify;
	}
	.about_loop {
		margin-top: 30px;
	}

	/* ニュース */
	.index_news {
		padding: 100px 0 100px;
		background: #FFFDF3;
	}
	.index_newsTtl:after {
		width: calc( 2.375rem * 4 ); /* 38px * 4 */
		height: 2.5rem;
		background: url('../img/index/fig_ttlunder_4char.svg') no-repeat left bottom / contain;
		left: 14px;
		bottom: -10px;
	}
	div.indexNews_container {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 0 24px;
	}
	ul.index_newsList {
		width: 100%;
		margin: 45px 0 0;
	}
	li.news_item {
		padding-bottom: 20px;
		margin-bottom: 20px;
		border-bottom: 1px solid #000;
	}
	li.news_item:last-child {
		margin-bottom: 0;
	}
	li.news_item a {
		font-size: 0.9375rem; /* 15px */
		color: #000;
		text-decoration: none;
	}
	time.post_date,
	span.post_cat,
	span.news_desc {
		display: inline-block;
		margin-bottom: 10px;
	}
	span.post_cat {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		width: calc( 0.9375rem * 4);
		border: 1px solid #1AAD6B;
		background: #fff;
		color: #1AAD6B;
	}
	span.news_desc {
		display: block;
	}
	span.news_link {
		display: flex;
		width: calc( 0.9375rem * 8);
		justify-content: center;
		align-items: center;
		background: #1AAD6B;
		font-weight: 500;
		color: #fff;
	}
	span.news_link:after {
		content: "";
		display: block;
		width: 7px;
		height: 12px;
		margin-left: 8px;
		background: url('../img/index/fig_arrow_w.svg') no-repeat center center / contain;
	}
	.news_detail {
		margin-top: 45px;
	}

	/* 事業紹介 */
	.index_biz {
		padding-top: 50px;
		margin-top: -50px;
		border-radius: 50px 50px 0 0;
		background: #ECF3EE;
	}
	.index_bizTtl:after {
		width: calc( 2.375rem * 5.5 ); /* 38px * 5 */
		height: 3rem;
		background: url('../img/index/fig_ttlunder_4char.svg') no-repeat left bottom / contain;
		left: 14px;
		bottom: -20px;
	}
	div.biz_wrap {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
	}
	.index_bizContainer {
		width: 68%;
		margin-top: 50px;
	}
	.index_bizContainer dl {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		margin-bottom: 45px;
		position: relative;
	}
	.index_bizContainer dl dt {
		font-size: 1.75rem; /* 28px */
		font-weight: 500;
		line-height: 1;
		text-align: center;
		position: absolute;
		top: 42px;
		right: 0;
		left: 0;
		margin: auto;
	}
	.index_bizContainer dl dt.naganoDt {
		top: 28px !important;
		line-height: 1.1 !important;
	}
	.index_bizContainer dl dd.biz_fig {
		margin-bottom: 16px;
	}
	.index_bizContainer dl dd.biz_desc {
		text-align: justify;
	}
	.biz_detail {
		margin-bottom: -40px;
	}

	/* 事業実績 */
	.index_achvs {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 85px 0 50px;
	}
	.index_achvsTtl:after {
		width: calc( 2.375rem * 5.5 ); /* 38px * 5 */
		height: 3rem;
		background: url('../img/index/fig_ttlunder_4char.svg') no-repeat left bottom / contain;
		left: 14px;
		bottom: -22px;
	}
	.indexAchvs_container {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		padding: 0 24px;
		margin-top: 50px;
	}
	ul.index_achvsList {
		width: 100%;
		padding: 0 20px !important;
	}
	li.achv_item:not(:last-child) {
		margin-bottom: 45px;
	}
	figure.ahvsItem_itemFig img {
		width: 100%;
		height: auto;
	}
	figure.ahvsItem_itemFig figcaption {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin-top: 8px;
	}
	figure.ahvsItem_itemFig figcaption:before {
		content: "";
		display: inline-block;
		width: 13px;
		height: 18px;
		margin-right: 6px;
		background: url('../img/index/icon_pin.svg') no-repeat center center / contain;
	}
	div.ahvsItem_itemInfo h4,
	div.ahvsItem_itemInfo p {
		display: grid;
		grid-template-columns: 3rem 1fr;
		gap: 0 1rem;
		align-items: center;
		margin-top: 8px;
		line-height: 1;
	}
	div.ahvsItem_itemInfo h4 {
		font-weight: 400;
	}
	span.info_header {
		font-weight: 500;
		color: #1AAD6B;
	}
	p.achvs_detail {
		margin-top: 45px;
	}

	/* サポートとご案内 */
	.index_supp {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding-top: 130px;
		border-radius: 50px 50px 0 0;
		width: 100%;
		height: 853px;
		background: url('../img/index/bg_support-sp.gif') repeat-x left top / contain;
		position: relative;
	}
	h3.index_suppTtl {
		font-size: 28px;
		text-align: center;
		position: relative;
	}
	h3.index_suppTtl:before {
		content: "";
		display: block;
		width: 280px;
		height: 72px;
		background: url('../img/index/fig_logo_up.svg') no-repeat center top / contain;
		position: absolute;
		top: -80px;
		left: 50%;
		transform: translate(-50%, 0);
	}
	.indexSupp_container {
		width: 312px;
		height: 606px;
		margin-top: 30px;
		overflow: hidden;
	}
	.sp_wrap {
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		flex-wrap: nowrap;
		width: 300%;
	}
	.data1 {
		transform: translateX(0);
		transition: var(--hover-speed);
	}
	.data2 {
		transform: translateX(-312px);
		transition: var(--hover-speed);
	}
	.data3 {
		transform: translateX(-624px);
		transition: var(--hover-speed);
	}
	
	.suppItems {
		width: 312px;
		height: 566px;
		padding: 150px 30px 100px;
		background: url('../img/index/bg_supp_item-pc.svg') no-repeat center top / 100% auto;
		position: relative;
	}
	.item_container {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.indexSupp_container h4 {
		margin-top: -74px;
		font-size: 1.75rem; /* 28px */
		font-weight: 500;
		line-height: 1;
		position: relative;
	}
	.item_container figure {
		margin-top: 30px;
	}
	.supp_item1 h4:after,
	.supp_item2 h4:after,
	.supp_item3 h4:after {
		content: "";
		display: block;
		width: calc( 1.75rem * 8 );
		height: 3rem;
		background: url('../img/index/fig_ttlunder_6char.svg') no-repeat left bottom / contain;
		position: absolute;
		bottom: -20px;
		left: -10px;
	}
	
	.landlord_detail,
	.staff_detail,
	.faq_detail {
		width: 200px;
		position: absolute;
		right: 0;
		bottom: -40px;
		left: 0;
		margin: auto;
	}
	/* スライドネーション */
	.indexSupp_Pnation {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 66px;
		height: 12px;
		margin-top: 20px;
	}
	.indexSupp_Pnation span {
		display: block;
		width: 12px;
		height: 12px;
		border: 1px solid #000;
		border-radius: 6px;
		background: #fff;
	}
	.sp_active {
		background: #000 !important;
	}
	/* スライドボタン */
	.sp_rev {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0, -50%);
	}
	.sp_skip {
		position: absolute;
		top: 50%;
		right: 0;
		transform: translate(0, -50%);
	}
	.clear {
		display: none;
	}

	/* アクセス */
	.index_axs {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding-top: 50px;
	}
	.index_axsTtl:after {
		width: calc( 2.375rem * 5.5 ); /* 38px * 5 */
		height: 3rem;
		background: url('../img/index/fig_ttlunder_4char.svg') no-repeat left bottom / contain;
		left: 14px;
		bottom: -16px;
	}
	.indexAxs_wrap {
		width: 100%;
		margin-top: 50px;
	}
	.indexAxs_wrap .addr {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	address {
		margin: 20px 0;
		font-style: normal;
		text-align: center;
	}
	.map {
		width: 100%;
	}
	iframe {
		width: 100%;
		aspect-ratio: 4 / 3; 
		height: auto;
	}

	.index_pnav { /* PC用の地図やボタンのクラス名 */
        display: none !important;
    }

}