@charset "utf-8";
/* CSS Document */

/*===================================
	共通パーツ
=====================================*/

h2.top_midashi{
	padding-bottom: 25px;
	font-size: 218.75%;/*35*/
	line-height: 1;
	letter-spacing: 0.05em;
	color: #754c24;
	text-align: center;
	position: relative;
}

h2.top_midashi::before{
	content: '';
	background: url("../images/common/tit_parts01.webp")no-repeat;
	background-size: 100% auto;
	width: 6.91%;/*76*/
	height: auto;
	aspect-ratio: 76 / 11;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

.top_link_btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 75px;
	border: 3px solid #f28e1e;
	border-radius: 38px;
	box-sizing: border-box;
	background-color: #fff;
	background-image: url("../images/common/link_ico_col06.svg");
	background-repeat: no-repeat;
	background-position: right 1.25em center;/*20*/
	background-size: 2.25em auto;/*36*/
	font-size: 112.5%;/*18*/
	line-height: 1;
	letter-spacing: 0.1em;
	color: #000;
	text-decoration: none;
	box-shadow: 0 0 10px rgba(139, 69, 19, 0.15);
}

.top_link_btn a:hover,
.top_link_btn a:focus-visible{
	opacity: 1;
	background-color: #f28e1e;
	color: #fff;
}

/*===================================
	main_visual
=====================================*/

section.main_visual{
	margin-top: 124px;
	width: 100%;
}

section.main_visual .main_inner{
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 1250px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
}

section.main_visual .main_inner::before{
	content: '';
	background: url("../images/top/main_parts.webp")no-repeat;
	background-size: 100% auto;
	width: 71.83%;/*862*/
	height: auto;
	aspect-ratio: 862 / 822;
	position: absolute;
	top: -84px;
	left: -20.42%;/*-245*/
	z-index: -3;
}

section.main_visual .main_inner .important_wrap{
	display: flex;
	width: 100vw;
	height: 58px;
	border: 1px solid #ef9ab0;
	background: #fff4e1;
	position: absolute;
	top: 14px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

section.main_visual .main_inner .important_wrap .imp_tit_area{
	width: 22.84%;/*338*/
}

section.main_visual .main_inner .important_wrap .imp_tit_area p{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	height: 100%;
	background: #ef5e7d;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
	font-size: 112.5%;/*18*/
	line-height: 1;
	letter-spacing: 0.05em;
	color: #fff;
	padding-right: 6.51%;/*22*/
	box-sizing: border-box;
}

section.main_visual .main_inner .important_wrap .imp_tit_area p::before{
	content: '';
	background: url("../images/top/attention_ico.webp")no-repeat;
	background-size: 100% auto;
	width: 10.65%;/*36*/
	max-width: 36px;
	height: auto;
	aspect-ratio: 1 / 1;
	margin-right: 8px;
}

section.main_visual .main_inner .important_wrap .imp_detail_area{
	flex: 1;
	max-width: 1056px;
}

section.main_visual .main_inner .important_wrap .imp_detail_area a{
	height: 100%;
	display: flex;
	align-items: center;
	text-decoration: none;
}

section.main_visual .main_inner .important_wrap .imp_detail_area a:hover{
	opacity: 1;
}

section.main_visual .main_inner .important_wrap .imp_detail_area .date_area{
	margin-left: 1.125em;/*18*/
}

section.main_visual .main_inner .important_wrap .imp_detail_area .date_area p{
	font-size: 81.25%;/*13*/
	line-height: 1;
	color: #333333;
}

section.main_visual .main_inner .important_wrap .imp_detail_area .post_tit{
	flex: 1;
	padding: 0 1.125em;/*18*/
	box-sizing: border-box;
}

section.main_visual .main_inner .important_wrap .imp_detail_area .post_tit p{
	font-size: 100%;
	line-height: 1.06;
	letter-spacing: 0.05em;	
	color: #333333;
}

section.main_visual .main_inner .important_wrap .imp_detail_area a:hover .post_tit p,
section.main_visual .main_inner .important_wrap .imp_detail_area a:focus-visible .post_tit p{
	text-decoration: underline;
}

section.main_visual .main_inner .important_wrap .imp_detail_area .more_btn{
	width: 13.92%;/*147*/
}

section.main_visual .main_inner .important_wrap .imp_detail_area .more_btn p{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 40px;
	background: #fff;
	border-radius: 20px;
	font-size: 100%;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #333333;
	box-shadow: 0 0 10px rgba(139, 69, 19, 0.15);
	transition: 0.5s;
}

section.main_visual .main_inner .important_wrap .imp_detail_area a:hover .more_btn p,
section.main_visual .main_inner .important_wrap .imp_detail_area a:focus-visible .more_btn p{
	color: #fff;
	background: #ef5e7d;
}

section.main_visual .main_inner .important_wrap .imp_detail_area .more_btn p::before{
	content: '';
	background: url("../images/common/foot_link_ico.webp")no-repeat;
	background-size: 100% auto;
	width: 5.56%;/*8*/
	height: auto;
	aspect-ratio: 8 / 10;
	margin-right: 0.44em;/*7*/
}


section.main_visual .main_inner .important_wrap .imp_detail_area a:hover .more_btn p::before,
section.main_visual .main_inner .important_wrap .imp_detail_area a:focus-visible .more_btn p::before{
	background: url("../images/common/hov_foot_link_ico.webp")no-repeat;
	background-size: 100% auto;
}

section.main_visual .main_inner .catch_area{
	width: 25.42%;/*305*/
	margin: 153px 0 0 6.67%;/*80*/
}

section.main_visual .main_inner .catch_area .catchphrase{
	width: 85.90%;/*262*/
}

section.main_visual .main_inner .catch_area .catchphrase img{
	width: 100%;
	height: auto;
}

section.main_visual .main_inner .catch_area p.catch_sub_txt{
	margin: 24px 0 0 5px;
	font-size: 112.5%;/*18*/
	line-height: 1.5;
	letter-spacing: 0.1em;
	color: #754c24;
}

section.main_visual .main_inner .main_img{
	width: 67.5%;/*810*/
	margin-top: 78px;
	pointer-events: none;
	position: relative;
	left: 1.83%;/*22*/
}

section.main_visual .main_inner .main_img img{
	width: 100%;
	height: auto;
}

/*===================================
	.main_sub_wrap
=====================================*/

.main_sub_wrap{
	padding: 26px 0 96px;
}

.main_sub_wrap .sec-inner{
	max-width: 1250px;
}

.main_sub_wrap .sec-inner ul.main_sub_menu{
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 0 2.5%;/*30*/
	width: 100%;
}

.main_sub_wrap .sec-inner ul.main_sub_menu li{
	width: 29.33%;/*352*/
}

.main_sub_wrap .sec-inner ul.main_sub_menu li a{
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
	height: 194px;
	border-radius: 30px;
	background-color: #87c13f;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
	padding-bottom: 10px;
	box-sizing: border-box;
	text-decoration: none;
	transition: transform 0.3s ease;
}

.main_sub_wrap .sec-inner ul.main_sub_menu li:nth-child(2) a{
	background-color: #eaa0ce;
}

.main_sub_wrap .sec-inner ul.main_sub_menu li:nth-child(3) a{
	background-color: #f7a552;
}

.main_sub_wrap .sec-inner ul.main_sub_menu li a:hover,
.main_sub_wrap .sec-inner ul.main_sub_menu li a:focus-visible{
	opacity: 1;
}

.main_sub_wrap .sec-inner ul.main_sub_menu li a .dummy_btn{
	width: 93.75%;/*330*/
	position: relative;
	z-index: 1;
}

.main_sub_wrap .sec-inner ul.main_sub_menu li a .dummy_btn::before{
	content: '';
	background: url("../images/top/top_menu_img01.webp")no-repeat;
	background-size: 100% auto;
	width: 81.21%;/*268*/
	height: auto;
	aspect-ratio: 268 / 180;
	position: absolute;
	top: 33px;
	left: 50%;
	transform: translate(-50%, -100%);
	transition: transform 0.3s ease; /* 0.3秒でふわっと変化 */
	transform-origin: center center; /* 拡大の中心点（デフォルト） */
	z-index: -1;
}


.main_sub_wrap .sec-inner ul.main_sub_menu li:nth-child(2) a .dummy_btn::before{
	background: url("../images/top/top_menu_img02.webp")no-repeat;
	background-size: 100% auto;
	aspect-ratio: 268 / 158;
	top: 3px;
}

.main_sub_wrap .sec-inner ul.main_sub_menu li:nth-child(3) a .dummy_btn::before{
	background: url("../images/top/top_menu_img03.webp")no-repeat;
	background-size: 100% auto;
	width: 62.73%;/*207*/
	height: auto;
	aspect-ratio: 207 / 170;
	top: 20px;
}


.main_sub_wrap .sec-inner ul.main_sub_menu li a:hover .dummy_btn::before,
.main_sub_wrap .sec-inner ul.main_sub_menu li a:focus-visible .dummy_btn::before{
	transform: translate(-50%, -100%) scale(1.08);
}

.main_sub_wrap .sec-inner ul.main_sub_menu li a .dummy_btn p{
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 75px;
	border-radius: 30px;
	background-color: #fff;
	padding-left: 4.85%;/*16*/
	box-sizing: border-box;
	font-size: 100%;
	line-height: 1.43;
	letter-spacing: 0.1em;
	color: #333333;
	background-image: url("../images/top/top_menu_ico01.svg");
	background-repeat: no-repeat;
	background-position: right 6.06% center;/*20*/
	background-size: 3.03% auto;/*10*/
	transition: color 0.3s, background-image 0.3s;
}

.main_sub_wrap .sec-inner ul.main_sub_menu li:nth-child(2) a .dummy_btn p{
	background-image: url("../images/top/top_menu_ico02.svg");
}

.main_sub_wrap .sec-inner ul.main_sub_menu li:nth-child(3) a .dummy_btn p{
	background-image: url("../images/top/top_menu_ico03.svg");
}

.main_sub_wrap .sec-inner ul.main_sub_menu li a .dummy_btn p span{
	font-size: 131.25%;/*21*/
}

.main_sub_wrap .sec-inner ul.main_sub_menu li a:hover .dummy_btn p,
.main_sub_wrap .sec-inner ul.main_sub_menu li a:focus-visible .dummy_btn p{
	color: #006837;
}

.main_sub_wrap .sec-inner ul.main_sub_menu li:nth-child(2) a:hover .dummy_btn p,
.main_sub_wrap .sec-inner ul.main_sub_menu li:nth-child(2) a:focus-visible .dummy_btn p{
	color: #c41659;
}

.main_sub_wrap .sec-inner ul.main_sub_menu li:nth-child(3) a:hover .dummy_btn p,
.main_sub_wrap .sec-inner ul.main_sub_menu li:nth-child(3) a:focus-visible .dummy_btn p{
	color: #7a2106;
}


.main_sub_wrap .sec-inner .pickup_notice{
	width: 83.33%;/*1000*/
	margin: 39px auto 0;
}

.main_sub_wrap .sec-inner .pickup_notice .one_post {
	width: 100%;
	height: 70px;
	display: flex;
	align-items: center;
	border: 2px solid #f28e1e;
	border-radius: 28px;
	background: #fff;
	background-image: url("../images/common/link_ico_col06.svg");
	background-repeat: no-repeat;
	background-position: right 2.5% center;
	background-size: 2.6% auto;
	box-sizing: border-box;
	position: relative;
	transition: background-color 0.3s ease;
	z-index: 1;
}

.main_sub_wrap .sec-inner .pickup_notice .one_post:hover {
	background-color: #fcf6eb;
}

.main_sub_wrap .sec-inner .pickup_notice .one_post .date_area{
	width: 28.6%;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 0.625em;/*10*/
}

.main_sub_wrap .sec-inner .pickup_notice .one_post .date_area p.date{
	font-size: 81.25%;/*13*/
	line-height: 1;
	color: #754c24;
}

/* カテゴリリンクのエリアを透明な膜（::after）よりも上に引っ張り上げる */
.main_sub_wrap .sec-inner .pickup_notice .one_post .date_area .category {
	width: 35.66%;/*102*/
	position: relative;
	z-index: 10; /* これにより、カテゴリ単体でもクリック可能になります */
}

.main_sub_wrap .sec-inner .pickup_notice .one_post .date_area .category a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 29px;
	border: 2px solid;
	border-color: var(--category-color);
	border-radius: 14.5px;
	box-sizing: border-box;
	font-size: 81.25%;/*13*/
	line-height: 1;
	letter-spacing: 0.05em;
	color: #333333;
	background: #fff;
	text-decoration: none;
}

/*
.main_sub_wrap .sec-inner .pickup_notice .one_post .date_area .category a.event{
	border-color: #f28e1e;
}

.main_sub_wrap .sec-inner .pickup_notice .one_post .date_area .category a.seminar{
	border-color: #ff7ba7;
}
*/


.main_sub_wrap .sec-inner .pickup_notice .one_post .post_tit{
	flex: 1;
	padding-right: 7.0%;
	box-sizing: border-box;
}

.main_sub_wrap .sec-inner .pickup_notice .one_post .post_tit a{
	font-size: 100%;
	line-height: 1.88;
	letter-spacing: 0.05em;
	color: #333333;
	text-decoration: none;
}

.main_sub_wrap .sec-inner .pickup_notice .one_post .post_tit a:hover{
	opacity: 1;
	text-decoration: underline;
}

/* タイトルのaタグ（透明な膜）をカード全体に爆破配置する */
.main_sub_wrap .sec-inner .pickup_notice .one_post .post_tit a.stretched_link::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 5; /* カード全体を覆うが、カテゴリ（z-index:10）よりは下 */
}

/* キーボード操作時のフォーカスをカード全体に綺麗に見せる（レベルAA準拠） */
.main_sub_wrap .sec-inner .pickup_notice .one_post:focus-within {
	outline: 2px solid var(--focus-color) !important; /* 他の干渉を防ぐため !important を推奨 */
	outline-offset: 2px;
}

/*===================================
	.guide_section
=====================================*/

.guide_section{
	padding: 60px 0 62px;
	background: #fffbee;
	position: relative;
}

/* ── 上の装飾（54pxはみ出す） ── */
.guide_section::before {
    content: '';
    position: absolute;
    
    /* 天辺から54px上に配置 */
    top: -48px; 
    left: 50%;
    width: 100vw;
    height: 68px; /* 円の直径 */
    transform: translateX(-50%);
    z-index: -1;

    background-image: radial-gradient(#fffbee 70%, transparent 71%);
    background-size: 68px 68px;
    background-repeat: repeat-x;
    background-position: center top;
}

/* ── 下の装飾（45pxはみ出す） ── */
.guide_section::after {
    content: '';
    position: absolute;
    
    /* 底辺から45px下に配置 */
    bottom: -41px; 
    left: 50%;
    width: 100vw;
    height: 68px; /* 円の直径 */
    transform: translateX(-50%);
    z-index: -1;

    background-image: radial-gradient(#fffbee 70%, transparent 71%);
    background-size: 68px 68px;
    background-repeat: repeat-x;
    background-position: center top; 
}

.guide_section .sec-inner{
	max-width: 1050px;
	position: relative;
}

.guide_section .sec-inner::before{
	content: '';
	background: url("../images/top/sec_parts01.webp")no-repeat;
	background-size: 100% auto;
	width: 20.67%;/*217*/
	height: auto;
	aspect-ratio: 217 / 156;
	position: absolute;
	top: 54px;
	transform: translateY(-100%);
	right: -5.33%;/*-56*/
	z-index: 1;
}

.guide_section .sec-inner h2.top_midashi::before{
	width: 7.6%;
}

.guide_section .sec-inner h2.top_midashi::after{
	content: '';
	background: url("../images/top/midashi_parts01.webp")no-repeat;
	background-size: 100% auto;
	width: 5.2%;
	height: auto;
	aspect-ratio: 52 / 56;
	position: absolute;
	top: -32px;
	left: 50%;
	transform: translate(-50%, -100%);
	z-index: 1;
}

.guide_section .sec-inner .txt_area{
	margin-top: 26px;
	text-align: center;
}

.guide_section .sec-inner .txt_area p{
	font-size: 112.5%;/*18*/
	line-height: 1.56;
	letter-spacing: 0.1em;
	color: #333333;
}

.guide_section .sec-inner ul.anchor_list{
	margin-top: 32px;
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 0 3.8%;
}

.guide_section .sec-inner ul.anchor_list li{
	width: 25.7%;
	position: relative;
	z-index: 1;
}

.guide_section .sec-inner ul.anchor_list li::after{
	content: '';
	background: url("../images/top/circle_shadow.webp")no-repeat;
	background-size: 100% auto;
	width: 114.79%;/*295*/
	height: auto;
	aspect-ratio: 1 / 1;
	position: absolute;
	top: 0;
	left: -5px;
	z-index: -1;
}


.guide_section .sec-inner ul.anchor_list li a{
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	background-color: #fff;
	background-image: url("../images/top/anchor_ico_col01.svg");
	background-repeat: no-repeat;
	background-size: 5.84% auto;/*15*/
	background-position: center bottom 24px;
	border-radius: 50%;
	padding-bottom: 52px;
	box-sizing: border-box;
	font-size: 143.75%;/*23*/
	line-height: 1.39;
	letter-spacing: 0.05em;
	color: #333333;
	text-align: center;
	text-decoration: none;
	position: relative;
}

.guide_section .sec-inner ul.anchor_list li:nth-child(2) a{
	background-image: url("../images/top/anchor_ico_col02.svg");
}

.guide_section .sec-inner ul.anchor_list li:nth-child(3) a{
	background-image: url("../images/top/anchor_ico_col03.svg");
}

.guide_section .sec-inner ul.anchor_list li a::before{
	content: '';
	background: url("../images/top/sec_ico01.webp")no-repeat;
	background-size: 100% auto;
	width: 47.86%;/*123*/
	height: auto;
	aspect-ratio: 123 / 85;
	position: absolute;
	top: 43px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

.guide_section .sec-inner ul.anchor_list li:nth-child(2) a::before{
	background: url("../images/top/sec_ico02.webp")no-repeat;
	background-size: 100% auto;
}

.guide_section .sec-inner ul.anchor_list li:nth-child(3) a::before{
	background: url("../images/top/sec_ico03.webp")no-repeat;
	background-size: 100% auto;
}

.guide_section .sec-inner ul.anchor_list li a:hover,
.guide_section .sec-inner ul.anchor_list li a:focus-visible{
	opacity: 1;
}

.guide_section .sec-inner ul.anchor_list li a::after,
.guide_section .sec-inner ul.anchor_list li a::after{
	content: '';
	border: 4px solid #00a498;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
	z-index: 3; /* 一番手前にフチ線を出す */

	/* ▼ 追加：じわっと出現させるためのアニメーション仕込み */
	transition: opacity 0.5s ease;
	opacity: 0; /* 通常時は非表示 */
}

/* ★ホバー・フォーカス時にフチ線をくっきり表示する */
.guide_section .sec-inner ul.anchor_list li a:hover::after,
.guide_section .sec-inner ul.anchor_list li a:focus-visible::after{
	opacity: 1;
}

.guide_section .sec-inner ul.anchor_list li:nth-child(2) a::after,
.guide_section .sec-inner ul.anchor_list li:nth-child(2) a::after{
	border-color: #29a6dd;
}

.guide_section .sec-inner ul.anchor_list li:nth-child(3) a::after,
.guide_section .sec-inner ul.anchor_list li:nth-child(3) a::after{
	border-color: #e0610a;
}

/*===================================
	.search_section
=====================================*/

.search_section{
	padding: 137px 0 166px;
}

.search_section .sec-inner{
	max-width: 1250px;
}

.search_section .sec-inner h2.top_midashi::before{
	width: 6.33%;/*76*/
}

.search_section .sec-inner h2.top_midashi::after{
	content: '';
	background: url("../images/top/midashi_parts02.webp")no-repeat;
	background-size: 100% auto;
	width: 8.17%;/*98*/
	height: auto;
	aspect-ratio: 98 / 79;
	position: absolute;
	top: -29px;
	left: 50%;
	transform: translate(-50%, -100%);
	z-index: 1;
}

.search_section .sec-inner ul.scene_list{
	list-style: none;
	display: flex;
	justify-content: space-between;
	margin-top: 32px;
}

.search_section .sec-inner ul.scene_list li{
	width: 22.83%;/*274*/
	height: auto;
	aspect-ratio: 274 / 359;
	position: relative;
	z-index: 1;
}

.search_section .sec-inner ul.scene_list li::after{
	content: '';
	background: url("../images/top/link_shadow.webp")no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 36px;
	left: 9.85%;/*27*/
	z-index: -1;
}

.search_section .sec-inner ul.scene_list li a{
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	height: 100%;
	border: 3px solid #afd8cd;
	border-radius: 10px;
	box-sizing: border-box;
	background-color: #ebf7f4;
	background-image: url("../images/common/link_ico_col07.svg");
	background-repeat: no-repeat;
	background-size: 13.14% auto;/*36*/
	background-position: right 7.30% bottom 28px;/*20*/
	text-decoration: none;
	position: relative;
	overflow: hidden;
}

.search_section .sec-inner ul.scene_list li:nth-child(2) a{
	border-color: #e2cb69;
	background-color: #fffef5;
	background-image: url("../images/common/link_ico_col08.svg");
}

.search_section .sec-inner ul.scene_list li:nth-child(3) a{
	border-color: #f28e1e;
	background-color: #fff5eb;
	background-image: url("../images/common/link_ico_col06.svg");
}

.search_section .sec-inner ul.scene_list li:nth-child(4) a{
	border-color: #e895d2;
	background-color: #fff8fd;
	background-image: url("../images/common/link_ico_col09.svg");
}

.search_section .sec-inner ul.scene_list li a:hover{
	opacity: 1;
}

.search_section .sec-inner ul.scene_list li a::before{
	content: '';
	width: calc(100% + 6px);
	height: calc(100% + 6px);
	border: 6px solid #afd8cd;
	border-radius: 10px;
	box-sizing: border-box;
	pointer-events: none;

	position: absolute;
	top: -3px;
	left: -3px;
	z-index: 3; /* 一番手前にフチ線を出す */

	/* ▼ 追加：じわっと出現させるためのアニメーション仕込み */
	transition: opacity 0.5s ease;
	opacity: 0; /* 通常時は非表示 */
}

.search_section .sec-inner ul.scene_list li:nth-child(2) a::before{
	border-color: #e2cb69;
}

.search_section .sec-inner ul.scene_list li:nth-child(3) a::before{
	border-color: #f28e1e;
}

.search_section .sec-inner ul.scene_list li:nth-child(4) a::before{
	border-color: #e895d2;
}

.search_section .sec-inner ul.scene_list li a:hover::before,
.search_section .sec-inner ul.scene_list li a:focus-visible::before{
	opacity: 1;
}

.search_section .sec-inner ul.scene_list li a .thumb{
	width: 77.37%;/*212*/
	border-radius: 50%;
	margin-top: 20px;
	overflow: hidden;
}

.search_section .sec-inner ul.scene_list li a .thumb img{
	width: 100%;
	height: auto;
	transition: transform .6s ease; /* ゆっくり変化させる */
}

.search_section .sec-inner ul.scene_list li a:hover .thumb img,
.search_section .sec-inner ul.scene_list li a:focus-visible .thumb img {
  transform: scale(1.1); /* 拡大 */
}

.search_section .sec-inner ul.scene_list li a p.link_txt{
	font-size: 125%;/*20*/
	line-height: 1;
	color: #333333;
	margin-top: 20px;
}

.search_section .sec-inner .top_link_btn{
	width: 41.83%;/*502*/
	margin: 78px auto 0;
}


/*===================================
	.search02_section
=====================================*/

.search02_section{
	padding: 69px 0 78px;
	background: #f5f9ed;
	position: relative;
}

/* ── 上の装飾（29pxはみ出す） ── */
.search02_section::before {
    content: '';
    position: absolute;
    
    /* 天辺から29px上に配置 */
    top: -29px; 
    left: 50%;
    width: 100vw;
    height: 68px; /* 円の直径 */
    transform: translateX(-50%);
    z-index: -1;

    background-image: radial-gradient(#f5f9ed 70%, transparent 71%);
    background-size: 68px 68px;
    background-repeat: repeat-x;
    background-position: center top;
}

/* ── 下の装飾（24pxはみ出す） ── */
.search02_section::after {
    content: '';
    position: absolute;
    
    /* 底辺から24px下に配置 */
    bottom: -24px; 
    left: 50%;
    width: 100vw;
    height: 68px; /* 円の直径 */
    transform: translateX(-50%);
    z-index: -1;

    background-image: radial-gradient(#f5f9ed 70%, transparent 71%);
    background-size: 68px 68px;
    background-repeat: repeat-x;
    background-position: center top; 
}


.search02_section .sec-inner{
	max-width: 1050px;
}

.search02_section .sec-inner h2.top_midashi::before{
	width: 7.6%;
}

.search02_section .sec-inner h2.top_midashi::after{
	content: '';
	background: url("../images/top/midashi_parts03.webp")no-repeat;
	background-size: 100% auto;
	width: 11.1%;
	height: auto;
	aspect-ratio: 111 / 120;
	position: absolute;
	top: -24px;
	left: 50%;
	transform: translate(-50%, -100%);
	z-index: 1;
}

.search02_section .sec-inner ul.scene_list02{
	list-style: none;
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 55px 0;
}

.search02_section .sec-inner ul.scene_list02 li{
	width: 30.0%;
}

.search02_section .sec-inner ul.scene_list02 li a {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
	height: auto;
	aspect-ratio: 300 / 238;
	background: #fff; 
	border-radius: 20px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
	text-decoration: none;
	
	position: relative;
	z-index: 1; 
}

/* 2. 疑似要素（::after）初期状態：透明にしておく */
.search02_section .sec-inner ul.scene_list02 li a::after {
	content: "";
	position: absolute;
	inset: 0;
	padding: 5px; 
	background: linear-gradient(135deg, #6bbf97 0%, #e88e21 100%);
	
	-webkit-mask: 
		linear-gradient(#fff 0 0) content-box, 
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	        mask-composite: exclude;

	border-radius: 20px; 
	z-index: 1; 
	pointer-events: none; 

	/* 【追加】初期状態は透明にする */
	opacity: 0;
	/* 【追加】0.3秒かけて ふわっと変化させる設定 */
	transition: opacity 0.5s ease; 
}

/* 3. ホバー時の処理：aがホバーされたら、afterを表示する */
.search02_section .sec-inner ul.scene_list02 li a:hover::after,
.search02_section .sec-inner ul.scene_list02 li a:focus-visible::after {
	opacity: 1; /* ホバー時に不透明にする */
}

/* 文字などを一番手前に持ってくるためのお守り */
.search02_section .sec-inner ul.scene_list02 li a > * {
	position: relative;
	z-index: 2; 
}

.search02_section .sec-inner ul.scene_list02 li a:hover,
.search02_section .sec-inner ul.scene_list02 li a:focus-visible{
	opacity: 1;
}


.search02_section .sec-inner ul.scene_list02 li a::before{
	content: '';
	background: url("../images/top/sec03_img01.webp")no-repeat;
	background-size: 100% auto;
	width: 80.67%;/*242*/
	height: auto;
	aspect-ratio: 242 / 159;
	position: absolute;
	top: 7px;
	left: 50%;
	transform: translateX(-50%);
	transition: transform 0.3s ease; /* 0.3秒でふわっと変化 */
	transform-origin: center center; /* 拡大の中心点（デフォルト） */

	z-index: 1;
}

.search02_section .sec-inner ul.scene_list02 li:nth-child(2) a::before{
	background: url("../images/top/sec03_img02.webp")no-repeat;
	background-size: 100% auto;
	top: 20px;
}

.search02_section .sec-inner ul.scene_list02 li:nth-child(3) a::before{
	background: url("../images/top/sec03_img03.webp")no-repeat;
	background-size: 100% auto;
	top: 16px;
}

.search02_section .sec-inner ul.scene_list02 li:nth-child(4) a::before{
	background: url("../images/top/sec03_img04.webp")no-repeat;
	background-size: 100% auto;
	top: 15px;
}

.search02_section .sec-inner ul.scene_list02 li:nth-child(5) a::before{
	background: url("../images/top/sec03_img05.webp")no-repeat;
	background-size: 100% auto;
	top: 32px;
}

.search02_section .sec-inner ul.scene_list02 li:nth-child(6) a::before{
	background: url("../images/top/sec03_img06.webp")no-repeat;
	background-size: 100% auto;
	top: 15px;
}

.search02_section .sec-inner ul.scene_list02 li a:hover::before,
.search02_section .sec-inner ul.scene_list02 li a:focus-visible::before{
	transform: translateX(-50%) scale(1.08);
}


.search02_section .sec-inner ul.scene_list02 li a .link_txt_area{
	width: 70.67%;/*212*/
	padding-bottom: 20px;
	border-bottom: 3px solid #85ccb8;
	background-image: url("../images/common/link_ico_col07.svg");
	background-repeat: no-repeat;
	background-position: right 3px bottom 19px;
	background-size: 14.15% auto;/*30*/
	padding-top: 1em;
	transition: border-bottom-color 0.5s ease;
}

.search02_section .sec-inner ul.scene_list02 li a:hover .link_txt_area,
.search02_section .sec-inner ul.scene_list02 li a:focus-visible .link_txt_area{
	border-bottom-color: transparent;
}

.search02_section .sec-inner ul.scene_list02 li a .link_txt_area p{
	font-size: 125%;/*20*/
	line-height: 1.25;
	letter-spacing: 0.05em;
	color: #333333;
}


/*===================================
	.notice_section
=====================================*/

.notice_section{
	padding: 172px 0 196px;
}

.notice_section .sec-inner h2.top_midashi::after{
	content: '';
	background: url("../images/top/midashi_parts04.webp")no-repeat;
	background-size: 100% auto;
	width: 8.36%;/*92*/
	height: auto;
	aspect-ratio: 92 / 129;
	position: absolute;
	top: -23px;
	left: 50%;
	transform: translate(-50%, -100%);
	z-index: 1;
}


/* 基本のレイアウト */
.notice_section .sec-inner .tab-container {
	width: 100%;
	margin-top: 36px;
}

.notice_section .sec-inner .tab-container [role="tablist"] {
	width: 100%;
	display: flex;
	justify-content: center;
	gap: 0 1.82%;/*20*/
	border-bottom: 3px solid #876239;
}

.notice_section .sec-inner .tab-container [role="tablist"] [role="tab"] {
	display: flex;
	justify-content: center;
	width: 14.18%;/*156*/
	height: 71px;
	border: 2px solid #876239;
	border-bottom: none;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	background-color: #fff;
	font-size: 125%;/*20*/
	line-height: 1;
	letter-spacing: 0.05em;
	color: #333333;
	padding-top: 21px;
	box-sizing: border-box;
	cursor: pointer;
	position: relative;
	transition: background-color 0.3s ease, color 0.3s ease;
}

.notice_section .sec-inner .tab-container [role="tablist"] [role="tab"]::before {
	content: '';
	background: #6bbf97;
	width: 89.42%;/*139.5*/
	height: 5px;
	position: absolute;
	bottom: 8px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

.notice_section .sec-inner .tab-container [role="tablist"] [role="tab"]:nth-child(2)::before {
	background: #29a6dd;
}

.notice_section .sec-inner .tab-container [role="tablist"] [role="tab"]:nth-child(3)::before {
	background: #f28e1e;
}

.notice_section .sec-inner .tab-container [role="tablist"] [role="tab"]:nth-child(4)::before {
	background: #ff7ba7;
}

/* 選択されているタブのスタイル */
.notice_section .sec-inner .tab-container [role="tablist"] [role="tab"][aria-selected="true"],
.notice_section .sec-inner .tab-container [role="tablist"] [role="tab"]:hover{
  background-color: #876239;
	color: #fff;
}

/* タブパネルのスタイル */
.notice_section .sec-inner .tab-container [role="tabpanel"] {
	padding: 48px 0 53px;
	position: relative;
}

.notice_section .sec-inner .tab-container [role="tabpanel"]::before {
	content: '';
	background: #fffbee;
	width: 109.09%;/*1200*/
	height: 100%;
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

/* 非表示の状態 */
.notice_section .sec-inner .tab-container [role="tabpanel"][hidden] {
  display: none;
}

.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner{
	width: 100%;
}

.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad{
	display: flex;
	gap: 0 50px;
}

.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad article{
	width: calc((100% - 100px) / 3);
	background-color: #fff;
	border-radius: 40px;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.15);
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad article::before{
	content: '';
	background: url("../images/common/link_ico_col06.svg") 0 center / contain no-repeat;
	width: 10.84%;/*36*/
	height: auto;
	aspect-ratio: 1 / 1;
	position: absolute;
	bottom: 17px;
	right: 5.12%;/*17*/
}


.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad article::after{
	content: '';
	border: 3px solid #f28e1e;
	width: 100%;
	height: 100%;
	border-radius: 40px;
	box-sizing: border-box;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
/* ★追加：最初は透明にする */
	opacity: 0;
	/* ★追加：0.3秒かけてふんわり変化させる設定（時間は好みで調整してください） */
	transition: opacity 0.3s ease;
}

/* 2. ホバー時：articleがホバーされたら、::after を表示する */
.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad article:hover::after,
.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad article:focus-within::after {
	opacity: 1;
}

/*
.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad article:hover,
.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad article:focus-visible{
	background-color: #fcf6eb;
}
*/
.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad article a{
	text-decoration: none;
}
.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad article a:hover{
	opacity: 1;
	text-decoration: underline;
}
.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad article a.fixLink::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 5;
}

.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad .thumb{
	width: 100%;
	height: auto;
	aspect-ratio: 332 / 215;
	border-bottom-left-radius: 40px;
	border-bottom-right-radius: 40px;
	overflow: hidden;
}
.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad .thumb img {
	display: block;
	width: 100%;
	height: 100%;
	transition: transform 0.4s ease;
	transform-origin: center center;
}
.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad article:hover .thumb img{
	transform: scale(1.08);
}
.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad article .meta{
	width: 100%;
	padding: 12px 5.72% 18px;/*19*/
	box-sizing: border-box;
	text-align: justify;
}
.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad article .meta .title{
	padding-bottom: 14px;
	border-bottom: 2px solid #f28e1e;
}
.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad article .meta .title a{
	font-size: 125%;/*20*/
	color: #333;
	letter-spacing: 0.05em;
	line-height: 1.5;
}
.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad article .meta .date{
	padding-top: 14px;
	font-size: 81.25%;/*13*/
	color: #754c24;
}
.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad article .meta .category{
	padding-top: 12px;
	position: relative;
	z-index: 10;
}
.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad article .meta .category > a{
	width: 35.40%;/*103*/
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 3px solid;
	border-radius: 15px;
	border-color: var(--category-color);
	box-sizing: border-box;
	background-color: #fff;
	font-size: 81.25%;/*13*/
	color: #333;
	letter-spacing: 0.05em;
}

/*
.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad article .meta .category > a.event{
	border-color: #f28e1e;
}

.notice_section .sec-inner .tab-container [role="tabpanel"] .panel_inner .postLoad article .meta .category > a.seminar{
	border-color: #ff7ba7;
}
*/

/**/

.notice_section .sec-inner .top_link_btn{
	width: 22.73%;/*25*/
	margin: 37px auto 0;
}


/*===================================
	.voice_section
=====================================*/

.voice_section{
	padding: 43px 0 47px;
	background: #fffbee;
	position: relative;
}

/* ── 上の装飾（35pxはみ出す） ── */
.voice_section::before {
    content: '';
    position: absolute;
    
    /* 天辺から35px上に配置 */
    top: -35px; 
    left: 50%;
    width: 100vw;
    height: 68px; /* 円の直径 */
    transform: translateX(-50%);
    z-index: -1;

    background-image: radial-gradient(#fffbee 70%, transparent 71%);
    background-size: 68px 68px;
    background-repeat: repeat-x;
    background-position: center top;
}

/* ── 下の装飾（36pxはみ出す） ── */
.voice_section::after {
    content: '';
    position: absolute;
    
    /* 底辺から36px下に配置 */
    bottom: -36px; 
    left: 50%;
    width: 100vw;
    height: 68px; /* 円の直径 */
    transform: translateX(-50%);
    z-index: -1;

    background-image: radial-gradient(#fffbee 70%, transparent 71%);
    background-size: 68px 68px;
    background-repeat: repeat-x;
    background-position: center top; 
}


.voice_section .sec-inner{
	max-width: 1250px;
}

.voice_section .sec-inner h2.top_midashi::before{
	width: 6.33%;/*76*/
}

.voice_section .sec-inner h2.top_midashi::after{
	content: '';
	background: url("../images/top/midashi_parts05.webp")no-repeat;
	background-size: 100% auto;
	width: 12.5%;/*150*/
	height: auto;
	aspect-ratio: 150 / 138;
	position: absolute;
	top: -24px;
	left: 50%;
	transform: translate(-50%, -100%);
	z-index: 1;
}

.voice_section .sec-inner .slider-wrapper {
	width: 100%;
	margin-top: 26px;
	position: relative;
}

.voice_section .sec-inner .slider-wrapper .slider-container{
	width: 100%;
}

.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list {
	list-style: none;
	display: flex;
	justify-content: space-between;
}

.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li{
	width: 32.17%;/*386*/
	position: relative;
	z-index: 1;
}

.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li::before{
	content: '';
	background: url("../images/top/fukidashi_shadow.webp")no-repeat;
	background-size: 100% auto;
	width: 100.52%;/*388*/
	height: auto;
	aspect-ratio: 388 / 302;
	position: absolute;
	top: 28px;
	left: 5.44%;/*21*/
	z-index: -1;
}

.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li a.slider-link {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: auto;
	aspect-ratio: 386 / 338;
	box-sizing: border-box;
	text-decoration: none;
	position: relative;
	z-index: 1;
}

.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li a.slider-link:hover {
	opacity: 1;
}

.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li a.slider-link::before {
	content: '';
	background: url("../images/top/fukidashi.webp")no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	
/* ふわっと変化させる設定 */
	transition: opacity 0.3s ease;
	opacity: 1;	
}

/* --- ホバー・フォーカス時の吹き出し（::after） --- */
.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li a.slider-link::after {
	content: '';
	background: url("../images/top/hov_fukidashi.webp") no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2; /* 通常時の裏側に配置 */
	/* ふわっと変化させる設定 */
	transition: opacity 0.3s ease;
	opacity: 0; /* 最初は透明にしておく */
}

/* ==========================================
   ホバー時 & フォーカス時の挙動（重ね順と透明度の操作）
============================================ */
.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li a.slider-link:hover::before,
.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li a.slider-link:focus-visible::before {
	opacity: 1; /* 通常時の吹き出しを消す */
}

.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li a.slider-link:hover::after,
.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li a.slider-link:focus-visible::after {
	z-index: -1; /* 通常時が消えるので、こちらを前面に出す */
	opacity: 1;  /* ホバー時の吹き出しを表示 */
}

.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li a.slider-link .prof_wrap{
	width: 88.60%;/*342*/
	margin: 25px auto 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li a.slider-link .prof_wrap .thumb{
	width: 29.53%;/*101*/
}

.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li a.slider-link .prof_wrap .thumb img{
	width: 100%;
	height: auto;
}

.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li a.slider-link .prof_wrap .prof_area{
	width: 67.54%;/*231*/
}

.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li a.slider-link .prof_wrap .prof_area p.initial{
	font-size: 125%;/*20*/
	line-height: 1;
	letter-spacing: 0.05em;
	color: #754c24;
	
}

.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li a.slider-link .prof_wrap .prof_area .info{
	width: 100%;
	height: 54px;
	background: #fff7d7;
	border-radius: 5px;
	margin-top: 10px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 3.46%;/*8*/
	box-sizing: border-box;
}

.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li a.slider-link .prof_wrap .prof_area .info p{
	font-size: 100%;
	line-height: 1.56;
	color: #333333;
}

.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li a.slider-link .post_tit{
	width: 88.60%;/*342*/
	margin: 15px auto 0;
}

.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li a.slider-link .post_tit p{
	font-size: 112.5%;/*18*/
	line-height: 1.67;
	letter-spacing: 0.05em;
	color: #333333;
	text-align: justify;
	    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li a.slider-link .link_area{
	width: 88.60%;/*342*/
	margin: 5px auto 0;
	display: flex;
	justify-content: flex-end;
}

.voice_section .sec-inner .slider-wrapper .slider-container ul.slider-list li a.slider-link .link_area p{
	display: flex;
	align-items: center;
	width: 36.84%;/*126*/
	height: 47px;
	border-bottom: 3px solid #f28e1e;
	padding-left: 3px;
	box-sizing: border-box;
	font-size: 100%;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #000000;
	background-image: url("../images/common/link_ico_col06.svg");
	background-repeat: no-repeat;
	background-size: 21.43% auto;/*27*/
	background-position: right 2px center;
}

.voice_section .sec-inner .top_link_btn{
	width: 27.92%;/*335*/
	margin: 38px auto 0;
}

.voice_section .sec-inner .top_link_btn a{
	justify-content: flex-start;
	padding-left: 17.91%;/*60*/
}

/*===================================
	.map_section
=====================================*/

.map_section{
	padding: 195px 0 245px;
}

.map_section .sec-inner{
	max-width: 1050px;
	position: relative;
}

.map_section .sec-inner::before{
	content: '';
	background: url("../images/top/sec06_parts01.webp")no-repeat;
	background-size: 100% auto;
	width: 82.10%;/*862*/
	height: auto;
	aspect-ratio: 862 / 822;
	position: absolute;
	top: -74px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

.map_section .sec-inner::after{
	content: '';
	background: url("../images/top/sec06_parts02.webp")no-repeat;
	background-size: 100% auto;
	width: 14.38%;/*151*/
	height: auto;
	aspect-ratio: 151 / 247;
	position: absolute;
	bottom: 78px;
	transform: translateY(100%);
	right: -5.43%;/*-57*/
}

.map_section .sec-inner h2.top_midashi::before{
	width: 7.6%;
}

.map_section .sec-inner h2.top_midashi::after{
	content: '';
	background: url("../images/top/midashi_parts06.webp")no-repeat;
	background-size: 100% auto;
	width: 11.5%;
	height: auto;
	aspect-ratio: 115 / 62;
	position: absolute;
	top: -32px;
	left: 50%;
	transform: translate(-50%, -100%);
	z-index: 1;
}

.map_section .sec-inner .search_wrap{
	width: 100%;
	margin-top: 45px;
	display: flex;
	justify-content: space-between;
}

.map_section .sec-inner .search_wrap .map_area{
	width: 48.2%;
	height: auto;
	aspect-ratio: 482 / 496;
	background: #fff;
	border: 1px solid #00a498;
	border-radius: 20px;
	padding-top: 24px;
	box-sizing: border-box;
	position: relative;
}

.map_section .sec-inner .search_wrap .map_area::before{
	content: '';
	background: url("../images/top/area_shadow01.webp")no-repeat;
	background-size: 100% auto;
	width: 95.64%;/*461*/
	height: auto;
	aspect-ratio: 461 / 533;
	position: absolute;
	top: 7px;
	left: 14.94%;/*72*/
	z-index: -1;
}

.map_section .sec-inner .search_wrap .map_area p.search_txt{
	display: flex;
	align-items: center;
	font-size: 112.5%;/*18*/
	line-height: 1.19;
	letter-spacing: 0.05em;
	color: #754c24;
}

.map_section .sec-inner .search_wrap .map_area p.search_txt span{
	font-size: 150%;/*27*/
}

.map_section .sec-inner .search_wrap .map_area p.search_txt::before{
	content: '';
	background: #85ccb8;
	width: 3.73%;/*18*/
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	margin: 0 3.73% 0 5.81%;/*18 28*/
}

.map_section .sec-inner .search_wrap .map_area .map_img{
	width: 89.42%;/*431*/
	margin: 16px 0 0 3.73%;/*18*/
}

.map_section .sec-inner .search_wrap .map_area .map_img img{
	width: 100%;
	height: auto;
}

.map_section .sec-inner .search_wrap .map_area .map_link_btn{
	width: 37.34%;/*180*/
}

.map_section .sec-inner .search_wrap .map_area .map_link_btn a{
	display: flex;
	align-items: center;
	width: 100%;
	height: 52px;
	border-radius: 20px;
	background-color: #fff;
	background-image: url("../images/top/toyo_ico.svg");
	background-repeat: no-repeat;
	background-size: 15.0% auto;/*27*/
	background-position: right 7.22% center;/*13*/
	font-size: 112.5%;/*18*/
	line-height: 1;
	letter-spacing: 0.1em;
	color: #000000;
	padding-left: 11.11%;/*20*/
	box-sizing: border-box;
	text-decoration: none;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
	position: relative;
}

.map_section .sec-inner .search_wrap .map_area .map_link_btn.toyo{
	position: absolute;
	top: 78px;
	right: 3.53%;/*17*/
	z-index: 1;
}

.map_section .sec-inner .search_wrap .map_area .map_link_btn.chuyo{
	position: absolute;
	top: 153px;
	left: 6.43%;/*31*/
	z-index: 1;
}

.map_section .sec-inner .search_wrap .map_area .map_link_btn.chuyo a{
	background-image: url("../images/top/chuyo_ico.svg");
}

.map_section .sec-inner .search_wrap .map_area .map_link_btn.nanyo{
	position: absolute;
	bottom: 100px;
	right: 14.94%;/*72*/
	z-index: 1;
}

.map_section .sec-inner .search_wrap .map_area .map_link_btn.nanyo a{
	background-image: url("../images/top/nanyo_ico.svg");
}

.map_section .sec-inner .search_wrap .map_area .map_link_btn a:hover{
	opacity: 1;
}

.map_section .sec-inner .search_wrap .map_area .map_link_btn a::before{
	content: '';
	border: 4px solid #77c4d8;
	box-sizing: border-box;
	border-radius: 20px;
	width: 100%;
	height: 52px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	pointer-events: none;
	/* ▼ 追加：じわっと出現させるためのアニメーション仕込み */
	transition: opacity 0.5s ease;
	opacity: 0; /* 通常時は非表示 */
}

.map_section .sec-inner .search_wrap .map_area .map_link_btn.chuyo a::before{
	border-color: #87bc64;
}

.map_section .sec-inner .search_wrap .map_area .map_link_btn.nanyo a::before{
	border-color: #f6ab3b;
}

/* ★ホバー・フォーカス時にフチ線をくっきり表示する */
.map_section .sec-inner .search_wrap .map_area .map_link_btn a:hover::before,
.map_section .sec-inner .search_wrap .map_area .map_link_btn a:focus-visible::before{
	opacity: 1;
}

.map_section .sec-inner .search_wrap .group01{
	width: 48.2%;
}

.map_section .sec-inner .search_wrap .group01 .type_area{
	width: 100%;
	background: #fff;
	border: 1px solid #00a498;
	border-radius: 20px;
	padding: 23px 0 40px;
	position: relative;
}

.map_section .sec-inner .search_wrap .group01 .type_area::before{
	content: '';
	background: url("../images/top/area_shadow02.webp")no-repeat;
	background-size: cover;
	width: 103.11%;/*497*/
	height: auto;
	aspect-ratio: 497 / 387;
	position: absolute;
	top: -8px;
	left: 4.98%;/*24*/
	z-index: -1;
}

.map_section .sec-inner .search_wrap .group01 .type_area p.search_txt{
	display: flex;
	align-items: center;
	font-size: 112.5%;/*18*/
	line-height: 1.19;
	letter-spacing: 0.05em;
	color: #754c24;
}

.map_section .sec-inner .search_wrap .group01 .type_area p.search_txt span{
	font-size: 150%;/*27*/
}

.map_section .sec-inner .search_wrap .group01 .type_area p.search_txt::before{
	content: '';
	background: #85ccb8;
	width: 3.73%;/*18*/
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	margin: 0 2.70% 0 4.77%;/*13 23*/
}

.map_section .sec-inner .search_wrap .group01 .type_area ul.type_list{
	list-style: none;
	width: 80.29%;/*387*/
	margin: 15px auto 0;
}

.map_section .sec-inner .search_wrap .group01 .type_area ul.type_list li{
	border-bottom: 3px solid #85ccb8;
	box-sizing: border-box;
}

.map_section .sec-inner .search_wrap .group01 .type_area ul.type_list li a{
	display: flex;
	align-items: flex-end;
	width: 100%;
	height: 76px;
	background-image: url("../images/common/link_ico_col07.svg");
	background-repeat: no-repeat;
	background-size: 7.75% auto;/*30*/
	background-position: right 5.17% bottom 17px;/*20*/
	padding: 0 0 23px 2.07%;/*8*/
	box-sizing: border-box;
	font-size: 125%;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #333333;
	text-decoration: none;
}

.map_section .sec-inner .search_wrap .group01 .type_area ul.type_list li a:hover,
.map_section .sec-inner .search_wrap .group01 .type_area ul.type_list li a:focus-visible{
	opacity: 1;
	color: #19775a;
}

.map_section .sec-inner .search_wrap .group01 .top_link_btn{
	width: 69.50%;/*335*/
	margin: 55px auto 0;
}

.map_section .sec-inner .search_wrap .group01 .top_link_btn a{
	justify-content: flex-start;
	padding-left: 18.51%;/*62*/
}

/*===================================
	.support_section
=====================================*/

.support_section{
	padding: 42px 0 120px;
	background: #e8fbfc;
	position: relative;
}

/* ── 上の装飾（39pxはみ出す） ── */
.support_section::before {
    content: '';
    position: absolute;
    
    /* 天辺から39px上に配置 */
    top: -39px; 
    left: 50%;
    width: 100vw;
    height: 68px; /* 円の直径 */
    transform: translateX(-50%);
    z-index: -1;

    background-image: radial-gradient(#e8fbfc 70%, transparent 71%);
    background-size: 68px 68px;
    background-repeat: repeat-x;
    background-position: center top;
}

.support_section .sec-inner{
	max-width: 1150px;
}

.support_section .sec-inner .flex_wrap{
	width: 100%;
	display: flex;
	gap: 0 2.0%;/*22*/
}

.support_section .sec-inner .flex_wrap .left_area{
	width: 50.0%;/*550*/
	padding-top: 100px;
}

.support_section .sec-inner .flex_wrap .left_area h2.top_midashi{
	padding-bottom: 32px;
	line-height: 1.2;
	text-align: left;
}

.support_section .sec-inner .flex_wrap .left_area h2.top_midashi::before{
	width: 13.82%;/*76*/
	left: 0;
	transform: translateX(0);
}

.support_section .sec-inner .flex_wrap .left_area h2.top_midashi::after{
	content: '';
	background: url("../images/top/sec07_parts01.webp")no-repeat;
	background-size: 100% auto;
	width: 89.82%;
	height: auto;
	aspect-ratio: 494 / 180;
	position: absolute;
	top: -35px;
	transform: translateY(-100%);
	left: 1.45%;/*8*/
	z-index: 1;
}

.support_section .sec-inner .flex_wrap .left_area .txt_area{
	margin-top: 41px;
}

.support_section .sec-inner .flex_wrap .left_area .txt_area p{
	font-size: 100%;
	line-height: 1.69;
	letter-spacing: 0.1em;
	color: #333333;
}

.support_section .sec-inner .flex_wrap .right_area{
	width: 43.36%;/*477*/
}

.support_section .sec-inner .flex_wrap .right_area ul.link_list{
	list-style: none;
	width: 100%;
}

.support_section .sec-inner .flex_wrap .right_area ul.link_list li{
	width: 100%;
}

.support_section .sec-inner .flex_wrap .right_area ul.link_list li + li{
	margin-top: 27px;
}

.support_section .sec-inner .flex_wrap .right_area ul.link_list li a{
	display: flex;
	align-items: center;
	width: 100%;
	height: 176px;
	border-radius: 20px;
	background-color: #fff;
	background-image: url("../images/common/link_ico_col05.svg");
	background-repeat: no-repeat;
	background-size: 6.29% auto;/*30*/
	background-position: right 6.29% center;/*30*/
	padding: 0 14.68% 0 40.88%;/*70 195*/
	box-sizing: border-box;
	font-size: 125%;/*20*/
	line-height: 1.6;
	letter-spacing: 0.1em;
	color: #000;
	text-decoration: none;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
	position: relative;
}

.support_section .sec-inner .flex_wrap .right_area ul.link_list li a::after{
	content: '';
	background: url("../images/top/btn_thumb01.webp")no-repeat;
	background-size: 100% auto;
	width: 33.96%;/*162*/
	height: auto;
	aspect-ratio: 162 / 147;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 3.35%;/*16*/
	z-index: 1;
}

.support_section .sec-inner .flex_wrap .right_area ul.link_list li:nth-child(2) a::after{
	background: url("../images/top/btn_thumb02.webp")no-repeat;
	background-size: 100% auto;
}

.support_section .sec-inner .flex_wrap .right_area ul.link_list li a:hover{
	opacity: 1;
}

.support_section .sec-inner .flex_wrap .right_area ul.link_list li a::before{
	content: '';
	width: 100%;
	height: 100%;
	border-radius: 20px;
	border: 4px solid #29a6dd;
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transition: opacity 0.5s ease;
	opacity: 0; /* 通常時は非表示 */
}

/* ★ホバー・フォーカス時にフチ線をくっきり表示する */
.support_section .sec-inner .flex_wrap .right_area ul.link_list li a:hover::before,
.support_section .sec-inner .flex_wrap .right_area ul.link_list li a:focus-visible::before{
	opacity: 1;
}
	

/*===================================
	.about_section
=====================================*/

.about_section{
	padding: 26px 0 76px;
	background: #fffbee;
	position: relative;
}

/* ── 上の装飾（45pxはみ出す） ── */
.about_section::before {
    content: '';
    position: absolute;
    
    /* 天辺から45px上に配置 */
    top: -45px; 
    left: 50%;
    width: 100vw;
    height: 68px; /* 円の直径 */
    transform: translateX(-50%);
    z-index: 1;

    background-image: radial-gradient(#fffbee 70%, transparent 71%);
    background-size: 68px 68px;
    background-repeat: repeat-x;
    background-position: center top;
}

/* ── 下の装飾（38pxはみ出す） ── */
.about_section::after {
    content: '';
    position: absolute;
    
    /* 底辺から38px下に配置 */
    bottom: -38px; 
    left: 50%;
    width: 100vw;
    height: 68px; /* 円の直径 */
    transform: translateX(-50%);
    z-index: -1;

    background-image: radial-gradient(#fffbee 70%, transparent 71%);
    background-size: 68px 68px;
    background-repeat: repeat-x;
    background-position: center top; 
}

.about_section .sec-inner{
	max-width: 1050px;
}

.about_section .sec-inner .flex_wrap{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.about_section .sec-inner .flex_wrap .img_area{
	width: 45.0%;
	height: auto;
	aspect-ratio: 451 / 461;
	margin-top: 100px;
	position: relative;
	z-index: 1;
}

.about_section .sec-inner .flex_wrap .img_area::before{
	content: '';
	background: url("../images/top/sec08_parts02.webp")no-repeat;
	background-size: 100% auto;
	width: 166.0%;/*747*/
	height: auto;
	aspect-ratio: 747 / 715;
	position: absolute;
	top: 50%;
	left: calc(50% - 30px);
	transform: translate(-50%, -50%);
	z-index: -1;
}

.about_section .sec-inner .flex_wrap .img_area img{
	width: 100%;
	height: auto;
}

.about_section .sec-inner .flex_wrap .about_area{
	width: 50.0%;
	position: relative;
	z-index: 2;
}

.about_section .sec-inner .flex_wrap .about_area h2.top_midashi{
	padding-bottom: 30px;
	font-size: 206.25%;/*33*/
	line-height: 1.27;
}

.about_section .sec-inner .flex_wrap .about_area h2.top_midashi::before{
	width: 15.2%;/*76*/
}

.about_section .sec-inner .flex_wrap .about_area .txt_area{
	width: 81.0%;/*405*/
	margin: 20px auto 0;
}

.about_section .sec-inner .flex_wrap .about_area .txt_area p{
	font-size: 100%;
	line-height: 1.69;
	letter-spacing: 0.1em;
	color: #333;
	text-align: justify;
}

.about_section .sec-inner .flex_wrap .about_area .detail_area{
	width: 81.0%;/*405*/
	margin: 36px auto 0;
}

.about_section .sec-inner .flex_wrap .about_area .detail_area p.detail_midashi
{
	font-size: 125%;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #754c24;
	text-align: center;
}

.about_section .sec-inner .flex_wrap .about_area .detail_area ul.detail_list{
	list-style: none;
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin-top: 14px;
}

.about_section .sec-inner .flex_wrap .about_area .detail_area ul.detail_list li{
	width: 31.11%;/*126*/
	text-align: center;
}

.about_section .sec-inner .flex_wrap .about_area .detail_area ul.detail_list li .icon{
	width: 100%;
}

.about_section .sec-inner .flex_wrap .about_area .detail_area ul.detail_list li .icon img{
	width: 100%;
	height: auto;
}

.about_section .sec-inner .flex_wrap .about_area .detail_area ul.detail_list li p{
	margin-top: 9px;
	font-size: 100%;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #333333;
}

.about_section .sec-inner .flex_wrap .about_area .top_link_btn{
	width: 77.0%;/*385*/
	margin: 40px auto 0;
}

/*===================================
	.consultation_section
=====================================*/

.consultation_section{
	padding: 115px 0 55px;
}

.consultation_section .sec-inner{
	max-width: 1050px;
}

.consultation_section .sec-inner h2.top_midashi::before{
	width: 7.6%;
}

.consultation_section .sec-inner .txt_area{
	margin-top: 33px;
	text-align: center;
}

.consultation_section .sec-inner .txt_area p{
	font-size: 100%;
	line-height: 1.88;
	letter-spacing: 0.05em;
	color: #333333;
}

.consultation_section .sec-inner .consultation_wrap{
	width: 100%;
	margin-top: 42px;
}

.consultation_section .sec-inner .consultation_wrap .btn_area{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 45px 3.0%;
}

.consultation_section .sec-inner .consultation_wrap .btn_area .tel_btn,
.consultation_section .sec-inner .consultation_wrap .btn_area .contact_btn,
.consultation_section .sec-inner .consultation_wrap .btn_area .line_btn{
	width: 44.2%;
	position: relative;
}

.consultation_section .sec-inner .consultation_wrap .btn_area .tel_btn::after
,
.consultation_section .sec-inner .consultation_wrap .btn_area .contact_btn::after,
.consultation_section .sec-inner .consultation_wrap .btn_area .line_btn::after{
	content: '';
	background: url("../images/top/btn_shadow.webp")no-repeat;
	background-size: 100% auto;
	width: 104.52%;/*462*/
	height: auto;
	aspect-ratio: 461 / 188;
	position: absolute;
	top: 10px;
	left: 2.26%;/*10*/
	z-index: -1;
}

.consultation_section .sec-inner .consultation_wrap .btn_area .tel_btn a{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 162px;
	background: #fff;
	border: 3px solid #00a498;
	border-radius: 20px;
	box-sizing: border-box;
	text-decoration: none;
}

.consultation_section .sec-inner .consultation_wrap .btn_area .tel_btn a p.tel_head{
	font-size: 143.75%;/*23*/
	line-height: 1;
	letter-spacing: 0.05em;
	color: #00a498;
}

.consultation_section .sec-inner .consultation_wrap .btn_area .tel_btn a p.telnum{
	width: 100%;
	padding: 6px 0 12px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 187.5%;
	line-height: 1;
	color: #333333;
}

.consultation_section .sec-inner .consultation_wrap .btn_area .tel_btn a p.telnum::before{
	content: '';
	background: url("../images/top/sec09_tel_ico.webp")no-repeat;
	background-size: 100% auto;
	width: 8.14%;/*36*/
	height: auto;
	aspect-ratio: 36 / 40;
	margin-right: 1.58%;/*7*/
	
}

.consultation_section .sec-inner .consultation_wrap .btn_area .tel_btn a p.tel_detail{
	font-size: 93.75%;/*15*/
	line-height: 1.53;
	text-align: center;
	color: #333;
}

.consultation_section .sec-inner .consultation_wrap .btn_area .tel_btn a p.tel_detail span.color-red{
	color: #bc272d;
}

.consultation_section .sec-inner .consultation_wrap .btn_area .contact_btn a{
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 162px;
	background-color: #fff;
	border: 3px solid #f28e1e;
	border-radius: 20px;
	padding-left: 40.27%;/*178*/
	box-sizing: border-box;
	text-decoration: none;
	font-size: 206.25%;/*33*/
	letter-spacing: 0.05em;
	color: #754c24;
	background-image: url("../images/top/sec09_link_ico01.webp");
	background-repeat: no-repeat;
	background-size: 2.49% auto;/*11*/
	background-position: right 6.11% center;/*27*/
	position: relative;
}

.consultation_section .sec-inner .consultation_wrap .btn_area .contact_btn a::before{
	content: '';
	background: url("../images/top/sec09_mail_ico.webp")no-repeat;
	background-size: 100% auto;
	width: 24.89%;/*110*/
	height: auto;
	aspect-ratio: 110 / 102;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 7.24%;/*32*/
	z-index: 1;
}

.consultation_section .sec-inner .consultation_wrap .btn_area .contact_btn a span{
	font-size: 130.30%;/*43*/
	line-height: 1.71;
}


.consultation_section .sec-inner .consultation_wrap .btn_area .line_btn a{
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 156px;
	background-color: #39b04a;
	border-radius: 20px;
	padding-left: 42.99%;/*190*/
	box-sizing: border-box;
	text-decoration: none;
	font-size: 206.25%;/*33*/
	letter-spacing: 0.05em;
	color: #fff;
	background-image: url("../images/top/sec09_link_ico02.webp");
	background-repeat: no-repeat;
	background-size: 2.49% auto;/*11*/
	background-position: right 6.11% center;/*27*/
	position: relative;
}

.consultation_section .sec-inner .consultation_wrap .btn_area .line_btn a::before{
	content: '';
	background: url("../images/top/sec09_line_ico.webp")no-repeat;
	background-size: 100% auto;
	width: 30.77%;/*136*/
	height: auto;
	aspect-ratio: 136 / 125;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 3.62%;/*16*/
	z-index: 1;
}

.consultation_section .sec-inner .consultation_wrap .btn_area .line_btn a span{
	font-size: 160.61%;/*43*/
	line-height: 1.39;
}

/**/

.consultation_section .sec-inner .consultation_wrap .flow_area{
	width: 90.0%;
	margin: 60px auto 0;
}

.consultation_section .sec-inner .consultation_wrap .flow_area p.flow_midashi{
	font-size: 125%;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #754c24;
	text-align: center;
}

.consultation_section .sec-inner .consultation_wrap .flow_area ul.flow_list{
	margin-top: 40px;
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 0 9.0%;/*81*/
}

.consultation_section .sec-inner .consultation_wrap .flow_area ul.flow_list li{
	width: 27.33%;/*246*/
	position: relative;
}

.consultation_section .sec-inner .consultation_wrap .flow_area ul.flow_list li:nth-child(n + 2)::before{
	content: '';
	background: url("../images/top/sec09_flow_ico.svg")no-repeat;
	background-size: 100% auto;
	width: 12.20%;/*30*/
	height: auto;
	aspect-ratio: 30 / 156;
	position: absolute;
	top: 4px;
	left: -26.42%;/*-65*/
	z-index: 1;
}

.consultation_section .sec-inner .consultation_wrap .flow_area ul.flow_list li .icon_area{
	display: flex;
	gap: 0 3px;
}

.consultation_section .sec-inner .consultation_wrap .flow_area ul.flow_list li .icon_area p.step_num{
	font-size: 150%;
	line-height: 1.17;
	letter-spacing: 0.05em;
	color: #e27a13;
	padding-top: 12px;
}

.consultation_section .sec-inner .consultation_wrap .flow_area ul.flow_list li .icon_area .icon{
	width: 51.63%;/*127*/
}

.consultation_section .sec-inner .consultation_wrap .flow_area ul.flow_list li .icon_area .icon img{
	width: 100%;
	height: auto;
}

.consultation_section .sec-inner .consultation_wrap .flow_area ul.flow_list li .line_txt_area{
	margin-top: 11px;
}

.consultation_section .sec-inner .consultation_wrap .flow_area ul.flow_list li .line_txt_area p{
	font-size: 112.5%;/*18*/
	line-height: 1.44;
	letter-spacing: 0.075em;
	color: #333333;
}

