@charset "utf-8";
/* ===================================================
	Furusato CSS
====================================================== */
body {
	min-width: 1300px; min-height: 100vh; background: #fff; color: #000;
	font-size: 14px; font-weight: normal; line-height: 1.5;
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
	-webkit-text-size-adjust: 100%; position: relative;

}

.v_rl{ writing-mode: vertical-rl; font-feature-settings: "palt" 0;}

:root {
	--color01: #a89653;
	--color02: #ccc;
	--color03: #f5f4f2;
}

input,
select,
textarea { font-size: 13px; font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif; }

div { box-sizing: border-box;}

a { color: #000; text-decoration: none; transition: opacity .5s;}

.pos_fix { overflow: hidden;}

#lineup-font-size-sampler { bottom: 0; left: 0;}
iframe[name="google_conversion_frame"] { position: absolute; bottom: 0; left: 0;}

.ofi { object-fit: cover; width: 100%; height: auto;}
.view_sp { display: none;}

@media screen and (hover: hover) {
	a:hover { color: #000; opacity: 0.6; text-decoration: none;}
}

@media screen and (max-width: 600px) {
	body { font-size: 14px;}
	input,
	select,
	textarea { font-size: 16px;}

	body { min-width: 0;}
	.view_sp { display: block;}
	.view_pc { display: none !important;}
}

/* ---------------------------------------------------
	Base Layout
------------------------------------------------------ */
/* コンテンツ幅 */
.inner { width: 1100px; max-width: 92%; margin: 0 auto;}

#contents_wrap { overflow: hidden; margin-top: -110px; padding-top: 110px; }

.flex_box { display: flex; justify-content: space-between; }
.layout01 { margin-top: 60px; padding-top: 65px; border-top: 1px dotted var(--color02);}
.layout01 .tit01 { color: #926010; font-size: 17px; letter-spacing: 0.11em; margin-bottom: 25px; }
.layout01 .tit02 { text-align: center; font-size: 25px; background: #d6deed; border-radius: 100px; padding: 20px; }
.layout01 p { line-height: 2.2;}
.layout01 .list01 li { text-indent: -1em; padding-left: 1em; margin-top: 10px; }
.layout01 .list01 li::before { content: '・';}
.layout01 .index_col { margin-top: 80px; padding: 90px 50px 85px; background: var(--color03);}
.layout01 .link01 { display: inline-block; line-height: 1; color: #2262c1; border-bottom: 1px solid #2262c1; text-indent: 0; padding: 0;}
.layout01 .link_btn01 { width: max-content; display: flex; align-items: center; gap: 20px; background: var(--color01); color: #fff; font-size: 15px; padding: 10px 25px; box-sizing: border-box; }
.layout01 .link_btn01::after { content: '>'; line-height: 1; letter-spacing: 0; transform: rotate(90deg); }
.layout01 .link01:hover { color: #2262c1; }

.search_layout .index_col { padding: 70px 45px; }
.search_layout .index_col dt { font-size: 17px; color: #9b5d00; text-align: center; padding-bottom: 25px; margin-bottom: 30px; border-bottom: 1px dotted var(--color02); letter-spacing: 0.11em; }
.search_layout .index_col dd ul { width: 850px; margin: 0 auto; }
.search_layout .index_col dd ul li { display: flex; align-items: center; justify-content: space-between; gap: 40px; letter-spacing: 0.11em; font-size: 17px; }
.search_layout .index_col dd ul li + li { margin-top: 40px;}
.search_layout .index_col dd ul li .search_txt { width: min(100%, 375px); min-height: 38px; height: auto; background: #fff; border: 1px solid #d1d1d1; box-sizing: border-box; padding: 5px 70px 5px 40px; border-radius: 50px; line-height: 1; align-content: center; position: relative; font-weight: bold; }
.search_layout .index_col dd ul li .search_txt::after { content: ''; width: 15px; height: 15px; position: absolute; top: calc(50% - 7.5px); right: 50px; background: url(../img/furusato/icon_search.svg) no-repeat center center/contain; }
.search_layout .site_list { margin: 70px auto 0; display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 5px 30px; width: min(100%, 780px); }
.search_layout .site_list li { width: min(calc(50% - 15px), 375px);}

@media screen and (hover: hover) {
}

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

	.flex_box { flex-direction: column; }
	.layout01 { margin-top: 30px; padding-top: 35px; }
	.layout01 .tit01 { font-size: 16px; letter-spacing: 0.05em; margin-bottom: 15px; }
	.layout01 .tit02 { font-size: 15px; padding: 10px 15px; }
	.layout01 p { line-height: 1.8;}
	.layout01 .list01 li { margin-top: 7px; }
	.layout01 .index_col { margin-top: 30px; padding: 30px 4%; }
	.layout01 .link01 { border: none; text-decoration: underline; line-height: 1.4; }
	.layout01 .link_btn01 { width: 100%; gap: 5px; font-size: 14px; padding: 7px 15px; justify-content: space-between; }

	.search_layout .index_col { padding: 30px 6%; }
	.search_layout .index_col dt { font-size: 17px; padding-bottom: 15px; margin-bottom: 20px; letter-spacing: 0.08em; }
	.search_layout .index_col dd ul { width: 100%; }
	.search_layout .index_col dd ul li { flex-direction: column; gap: 10px; letter-spacing: 0.08em; font-size: 15px; }
	.search_layout .index_col dd ul li + li { margin-top: 30px;}
	.search_layout .index_col dd ul li p { line-height: 1.5; text-align: center;}
	.search_layout .index_col dd ul li .search_txt { min-height: 38px; padding: 10px calc(6% + 15px) 10px 6%; line-height: 1.4; }
	.search_layout .index_col dd ul li .search_txt::after { width: 15px; height: 15px; top: calc(50% - 7.5px); right: 6%; }
	.search_layout .site_list { margin-top: 35px; gap: 5px 2%; }
	.search_layout .site_list li { width: 49%;}
}


/* ---------------------------------------------------
	g_header
------------------------------------------------------ */
#g_header { overflow: hidden; position: absolute; top: 0; left: 0; width: 100%; z-index: 99; }
#g_header .hd_inner { color: #fff; padding: 20px; position: relative; }
#g_header #hd_tit { display: flex; align-items: center; }
#g_header #hd_tit p:nth-child(1) { border: 1px solid rgba(255, 255, 255, .5); padding: 10px 8px; margin-right: 15px; }
#g_header .hd_inner > p { font-size: 28px; font-weight: bold; }

#fixed_btn { position: fixed; top: 10px; right:10px; transition: all .8s ease; display: flex; flex-direction: column; z-index: 999;}
#fixed_btn a { display: flex; justify-content: center; align-items: center; gap: 13px; font-size: 15px; box-sizing: border-box; padding: 20px 25px; background: var(--color01); color: #fff; position: relative; border-radius: 10px; }
#fixed_btn a::before { content: ''; display: block; width: 25px; height: 21px; background: url(../img/furusato/icon_ticket.svg) no-repeat center/contain; }
#fixed_btn a::after { content: '>'; display: block; line-height: 1; }

#gnav_wrap { opacity: 0; pointer-events: none; transition: opacity .6s; position: fixed; top: 0; left: 0; background: rgba(0, 0, 0, 0.5); width: 100%; height: 100vh; z-index: 998; min-width: auto; overflow: scroll; padding: 130px 0;  }
#gnav_wrap #close_bot { color: #000; background: #fff; align-content: center; text-align: center; width: 90px; height: 90px; font-size: 57px; border-radius: 50%; position: absolute; top: 20px; right: max(calc(50% - 550px), 4%); cursor: pointer; }
#gnav_wrap.active { opacity: 1; pointer-events: auto; }
#gnav_wrap #gnav { padding: 90px min(100px, 6%) 150px; background: #fff; container-type: inline-size;}
#gnav_wrap .gnav_inner { display: flex; flex-direction: column; box-sizing: border-box; }
#gnav_wrap .search_layout .index_col { padding: 50px 35px; background: var(--color03); }
#gnav_wrap .search_layout .index_col dt { font-size: 25px; }
#gnav_wrap .search_layout .index_col dd ul { width: 100%; }
#gnav_wrap .search_layout .index_col dd ul li { gap: 10px 30px; flex-wrap: wrap; }
#gnav_wrap .search_layout .index_col dd ul li .search_txt { width: min(100%, 355px); padding-right: 60px; flex-shrink: 0; }
#gnav_wrap .search_layout .index_col dd ul li + li { margin-top: 20px; }
#gnav_wrap .search_layout .site_list { gap: 15px 50px; width: min(100%, 800px);}
#gnav_wrap .search_layout .site_list li { width: min(calc(50% - 25px), 375px);}
#gnav_wrap .close_btn { margin: 70px auto 0; border: 1px solid #ccc; font-size: 17px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 20px; letter-spacing: 0.11em; height: 60px; width: min(100%, 310px); }

@container (max-width: 890px) {
	#gnav_wrap .search_layout .index_col dd ul li { flex-direction: column; }
}

@media screen and (max-width: 600px) {
	#g_header .hd_inner { flex-direction: column; padding: 20px 6%; }
	#g_header #hd_tit { position: static; justify-content: center; margin-bottom: 15px; }
	#g_header #hd_tit p:nth-child(1) { padding: 3px 5px; margin: 0 5px 0 0; }
	#g_header .hd_inner > p { font-size: 20px; text-align: center; }
	#g_header .hd_inner > p span { display: block; }

	#fixed_btn { width: 100%; top: auto; bottom: 0; right: 0; }
	#fixed_btn a { width: 100%; height: 55px; font-size: 14px; padding: 15px 20px; border-radius: 0; gap: 10px; }
	#fixed_btn a::before { width: 25px; height: 21px; }
	#fixed_btn a::after { width: 18px; height: 18px; }

	#gnav_wrap { padding: 65px 0 calc(env(safe-area-inset-bottom) + 100px);  }
	#gnav_wrap #close_bot { width: 45px; height: 45px; font-size: 30px; top: 10px; }
	#gnav_wrap #gnav { padding: 50px min(100px, 6%) 90px; }
	#gnav_wrap .search_layout .index_col { padding: 30px 6%; }
	#gnav_wrap .search_layout .index_col dt { font-size: 18px; }
	#gnav_wrap .search_layout .index_col dd ul li { gap: 10px; text-align: center; }
	#gnav_wrap .search_layout .index_col dd ul li .search_txt { padding-right: calc(6% + 15px); }
	#gnav_wrap .search_layout .site_list { gap: 5px 2%; }
	#gnav_wrap .search_layout .site_list li { width: 49%;}
	#gnav_wrap .close_btn { margin: 40px auto 0; font-size: 15px; gap: 10px; letter-spacing: 0.08em; height: 50px; }

}

/* ---------------------------------------------------
	Main_img
------------------------------------------------------ */
#main_img { position: relative; height: 100vh; }
#main_img::before { content: ''; background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3),  transparent); width: 100%; height: 150px; position: absolute; top: 0; left: 0; }
#main_img .tit_col { position: absolute; inset: 0; color: #fff; z-index: 5; text-align: center; align-content: center; filter: drop-shadow(0 0 5px #000) drop-shadow(0 0 5px #000) drop-shadow(0 0 8px #000); }
#main_img .tit_col h1 { font-size: 24px; width: fit-content; padding-bottom: 10px; margin: 0 auto 20px; border-bottom: 1px solid #fff; letter-spacing: 0.02em; }
#main_img .tit_col h1 span { font-size: 65px; display: block; }
#main_img .tit_col p { font-size: 22px; margin: 0 auto; width: fit-content; letter-spacing: 0.18em; }
#main_img .ofi { height: 100%; }

@media screen and (max-width: 600px) {
	#main_img { height: calc(100vh - 55px);}
	#main_img::before { height: 80px; }
	#main_img .tit_col { filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.5)) drop-shadow(0 0 5px rgba(0, 0, 0, 0.5)) drop-shadow(0 0 8px rgba(0, 0, 0, 0.5)); }
	#main_img .tit_col h1 { font-size: 14px; margin: 0 auto 15px; }
	#main_img .tit_col h1 span { font-size: 28px; margin-top: 5px; }
	#main_img .tit_col p { font-size: 14px; letter-spacing: 0.1em; }
}


/* ---------------------------------------------------
	Sec_lead
------------------------------------------------------ */
#sec_lead { padding: 120px 0 130px; }
#sec_lead .inner { display: flex; justify-content: space-between; align-items: flex-end; position: relative; }
#sec_lead .inner .txt_col .stit { position: absolute; top: -35px; left: -75px; background: url(../img/furusato/lead_stit.svg) no-repeat center center/contain; width: 194px; height: 58px; }
#sec_lead .inner .txt_col .stit span { display: block; font-size: 15px; transform: rotate(-6.4deg) translate(15%, 100%); letter-spacing: 0; line-height: 1; width: max-content; }
#sec_lead .inner .txt_col h2 { font-size: 40px; }
#sec_lead .inner .txt_col h2 span { font-size: 45px;}
#sec_lead .inner .txt_col h2 + p { margin-top: 40px; font-size: 17px; line-height: 2.3; letter-spacing: 0.3em; }
#sec_lead .inner .photo_col img { border-radius: 10px; }

@media screen and (max-width: 600px) {
	#sec_lead { padding: 100px 0 80px; }
	#sec_lead .inner { flex-direction: column; }
	#sec_lead .inner .txt_col .stit { top: -45px; left: max(0px, calc(50% - 200px)); width: 140px; height: 45px; }
	#sec_lead .inner .txt_col .stit span { font-size: 12px; transform: rotate(-6.4deg) translate(8%, 100%); }
	#sec_lead .inner .txt_col h2 { font-size: 20px; text-align: center; }
	#sec_lead .inner .txt_col h2 span { font-size: 24px;}
	#sec_lead .inner .txt_col h2 + p { margin-top: 20px; font-size: 15px; line-height: 1.8; letter-spacing: 0.1em; }
	#sec_lead .inner .photo_col { margin-top: 25px;}

}


/* ---------------------------------------------------
	Sec01
------------------------------------------------------ */
#sec01 h2 { font-size: 27px; text-align: center; }
#sec01 h2 span { font-size: 47px; }
#sec01 h2 + p { margin-top: 50px; text-align: center; font-size: 17px; letter-spacing: 0.2em; line-height: 1.8; }
#sec01 .list_col { margin-top: 110px;}
#sec01 .list_col > div { position: relative; }
#sec01 .list_col .num { width: 86px; height: 86px; font-size: 44px; position: absolute; top: -30px; left: -15px; background: #000; color: #fff; display: flex; align-items: center; justify-content: center; border-radius: 50%; }
#sec01 .list_col .num::before { content: ''; width: 50px; height: 1px; background: #000; position: absolute; right: -3px; bottom: 0; transform: rotate(45deg); transform-origin: bottom right; }
#sec01 .list_col .txt_col { text-align: center; margin-top: 10px; }
#sec01 .list_col .txt_col dt { font-size: 25px; }
#sec01 .list_col .txt_col dd { font-size: 20px; margin-top: 10px; }

@media screen and (max-width: 600px) {
	#sec01 h2 { font-size: 22px; }
	#sec01 h2 span { font-size: 32px; }
	#sec01 h2 + p { margin-top: 30px; text-align: left; font-size: 15px; letter-spacing: 0.08em; }
	#sec01 .list_col { margin-top: 60px;}
	#sec01 .list_col > div + div { margin-top: 60px; }
	#sec01 .list_col .num { width: 55px; height: 55px; font-size: 28px; top: -25px; left: -2vw; }
	#sec01 .list_col .num::before { width: 25px; }
	#sec01 .list_col .txt_col { margin-top: 10px; }
	#sec01 .list_col .txt_col dt { font-size: 20px; }
	#sec01 .list_col .txt_col dd { font-size: 15px; margin-top: 10px; }
}


/* ---------------------------------------------------
	Sec02
------------------------------------------------------ */
#sec02 .tit02 + p { width: max-content; margin: 35px auto 40px; text-align: center; font-size: 27px; display: flex; align-items: center; justify-content: space-between; gap: 45px; }
#sec02 .tit02 + p span span { font-size: 43px; }
#sec02 .tit02 + p::before,
#sec02 .tit02 + p:after { content: ''; background: #000; width: 1px; height: 48px; transform: rotate(38deg); }
#sec02 .tit02 + p::before { transform: rotate(-38deg); }
#sec02 .step > li { background: #fff; padding: 55px 40px 65px; display: flex; justify-content: space-between; flex-wrap: wrap; }
#sec02 .step > li + li { margin-top: 65px; }
#sec02 .step > li .tit_col { width: 100%; display: flex; align-items: center; border-bottom: 1px dotted var(--color02); padding-bottom: 10px; margin-bottom: 30px; }
#sec02 .step > li .tit_col p:nth-child(1) { font-size: 20px; margin-right: 65px; letter-spacing: 0.14em; }
#sec02 .step > li .tit_col p:nth-child(1) span { display: inline-block; font-size: 28px; margin: 0 5px; }
#sec02 .step > li .tit_col p:nth-child(2) { font-size: 24px; letter-spacing: 0.04em; }
#sec02 .step > li .tit_col .icon { margin: 0 0 0 auto;}
#sec02 .step > li .txt_col { width: 365px; }
#sec02 .step > li .txt_col .link_list { margin-top: 45px; }
#sec02 .step > li .txt_col .link_list li { margin-top: 10px; }
#sec02 .step > li .txt_col .link_btn01 { margin-top: 45px; }


@media screen and (max-width: 600px) {
	#sec02 .tit02 + p {  margin: 35px auto 40px; font-size: 16px; gap: 13px; }
	#sec02 .tit02 + p span span { font-size: 26px; margin: 0 5px; }
	#sec02 .tit02 + p::before,
	#sec02 .tit02 + p:after { height: 25px; transform: rotate(20deg); }
	#sec02 .tit02 + p::before { transform: rotate(-20deg); }
	#sec02 .step > li { padding: 30px 4vw; flex-direction: column; }
	#sec02 .step > li + li { margin-top: 40px; }
	#sec02 .step > li .tit_col { padding-bottom: 10px; margin-bottom: 30px; flex-wrap: wrap; justify-content: space-between; }
	#sec02 .step > li .tit_col p:nth-child(1) { font-size: 18px; margin-right: 0; }
	#sec02 .step > li .tit_col p:nth-child(1) span { font-size: 24px; }
	#sec02 .step > li .tit_col p:nth-child(2) { font-size: 18px; order: 3; line-height: 1.6; margin-top: 5px; width: 100%; }
	#sec02 .step > li .tit_col .icon { margin: 0; order: 2; }
	#sec02 .step > li .tit_col .icon img { height: 28px; width: auto; }
	#sec02 .step > li .txt_col { width: 100%; margin-top: 20px; }
	#sec02 .step > li .txt_col .link_list { margin-top: 20px; }
	#sec02 .step > li .txt_col .link_list li { margin-top: 7px; }
	#sec02 .step > li .txt_col .link_btn01 { margin-top: 20px; }

}


/* ---------------------------------------------------
	Sec03
------------------------------------------------------ */
#sec03 .index_col .spot_list_layout { padding: 70px 0 0; }
#sec03 .index_col .spot_list_layout + .spot_list_layout { margin-top: 100px; border-top: 1px dotted #807f7e;}
#sec03 .index_col .spot_list_layout > .link01 { font-size: 20px; display: block; width: max-content; margin: 0 auto 40px; }
#sec03 .index_col .spot_list_layout .coming { text-align: center; font-size: 17px; }

#sec03 .index_col .spot_layout_list { margin:  0 -25px; }
#sec03 .spot_slick .slick-slide { margin: 0 25px; height: auto !important; display: flex; }
#sec03 .spot_slick .slick-track { display: flex; }
#sec03 .spot_slick .slick-slide > div,
#sec03 .spot_layout_list .spot_list { height: 100%!important; box-sizing: border-box; margin: 0; }
#sec03 .spot_layout_list .spot_list { background: #fff;}
#sec03 .spot_layout_list .spot_list .btn_online,
#sec03 .spot_layout_list .spot_list .btn_brand { display: none;}
#sec03 .slick-dots { bottom: -35px; }
#sec03 .slick-dots li { width: 10px; height: 10px; }
#sec03 .slick-dots li button { width: 100%; height: 100%; padding: 0; background: transparent; border: 1px solid #000; box-sizing: border-box; transition: background .5s; border-radius: 50%; }
#sec03 .slick-dots li.slick-active button { background: #000; }
#sec03 .slick-dots li button::before { display: none;}
#sec03 .slick-prev,
#sec03 .slick-next { transform: none; -webkit-transform: none; -ms-transform: none; top: auto; bottom: -37px; z-index: 5; width: 18px; height: 12px; }
#sec03 .slick-next { transform: rotate(180deg); transform-origin: center; }
#sec03 .index_col :where(.spot_list_layout):nth-of-type(1) .slick-prev { left: calc(50% - (var(--spot01) * 20px / 2 + 30px)); }
#sec03 .index_col :where(.spot_list_layout):nth-of-type(1) .slick-next { right: calc(50% - (var(--spot01) * 20px / 2 + 30px)); }
#sec03 .index_col :where(.spot_list_layout):nth-of-type(2) .slick-prev { left: calc(50% - (var(--spot02) * 20px / 2 + 30px)); }
#sec03 .index_col :where(.spot_list_layout):nth-of-type(2) .slick-next { right: calc(50% - (var(--spot02) * 20px / 2 + 30px)); }
#sec03 .slick-prev::before,
#sec03 .slick-next::before { font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif; font-size: 18px; content: '<'; opacity: 1; color: #000; line-height: 0.5; }

@media screen and (hover: hover) {
	#sec03 .slick-dots li button:hover { background: #000; }
}

@media screen and (max-width: 600px) {
	#sec03 .index_col .spot_list_layout { padding: 50px 0 0; }
	#sec03 .index_col .spot_list_layout + .spot_list_layout { margin-top: 60px; }
	#sec03 .index_col .spot_list_layout > .link01 { font-size: 17px; width: fit-content; margin: 0 auto 30px; }
	#sec03 .index_col .spot_list_layout .coming { font-size: 15px; }

	#sec03 .index_col .spot_layout_list { margin:  0 -2vw; padding-bottom: 55px; }
	#sec03 .spot_slick .slick-slide { margin: 0 2vw; }
	#sec03.spot_layout .spot_layout_list .spot_list .spot_detail { height: 100%;}
	#sec03 .slick-prev,
	#sec03 .slick-next { bottom: 5px; z-index: 5; width: 40px; height:40px; display: flex; align-items: center; justify-content: center; border: 1px solid #666; border-radius: 50%; }
	#sec03 .slick-next { transform: scaleX(-1); transform-origin: center; }
	#sec03 .index_col :where(.spot_list_layout):nth-of-type(1) .slick-prev,
	#sec03 .index_col :where(.spot_list_layout):nth-of-type(2) .slick-prev { left: calc(50% - 45px); }
	#sec03 .index_col :where(.spot_list_layout):nth-of-type(1) .slick-next,
	#sec03 .index_col :where(.spot_list_layout):nth-of-type(2) .slick-next { right: calc(50% - 45px); }
	#sec03 .slick-prev::before,
	#sec03 .slick-next::before { content: '＜'; margin-right: 2px; }
}


/* ---------------------------------------------------
	Sec04
------------------------------------------------------ */
#sec04 .detail + .detail  { padding-top: 85px; margin-top: 85px; border-top: 1px dotted #807f7e;}
#sec04 .detail .select { width: 100%; margin: 40px auto 0; display: flex; position: relative; border: 1px solid #ccc; }
#sec04 .detail .select label { width: 260px; background: #000; color: #fff; align-content: center; padding: 10px 30px; box-sizing: border-box; font-size: 16px; }
#sec04 .detail .select::after { position: absolute; right: 30px; top: calc(50% - 6px); width: 15px; height: 12px; content: ''; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 39 33"><polygon points="0 0 7 0 19.51 23 33 0 39 0 22 33 18 33 0 0"/></svg>') no-repeat center center/contain; pointer-events: none; align-content: center; font-size: 24px; font-weight: bold; }
#sec04 .detail .select select { position: relative; appearance: none; min-width: calc(100% - 260px); height: 60px; padding: 10px 65px 10px 45px; border-radius: 0; background-color: #fff; color: #000; border: none; font-size: 18px; cursor: pointer; }
#sec04 .coupon_table { margin-top: 35px; }
#sec04 .coupon_table dt { font-size: 18px; margin-bottom: 30px; }
#sec04 .coupon_table dt a { margin-left: 25px; font-size: 15px; display: inline-block; padding: 0 20px; border-radius: 50px; color: #fff; background: var(--color01);}
#sec04 .coupon_table dt a::after { content: '>'; margin-left: 7px; }
#sec04 .coupon_table dd table { border: 1px solid #ccc; border-collapse: collapse; width: 100%; }
#sec04 .coupon_table dd table :where(td, th) { border: 1px solid #ccc; padding: 10px 30px; font-weight: normal; box-sizing: border-box; }
#sec04 .coupon_table dd table th { width: 260px; background: #d6deed; text-align: center; }
#sec04 .coupon_table dd table td { background: #fff;}
#sec04 .coupon_table dd table td a { color: blue; text-decoration: underline; }
#sec04 .hidden { display: none; }

@media screen and (max-width: 600px) {
	#sec04 .detail + .detail  { padding-top: 35px; margin-top: 35px; }
	#sec04 .detail .select { margin: 20px auto 0; flex-direction: column; }
	#sec04 .detail .select label { width: 100%; padding: 10px 20px; font-size: 16px; height: 45px; }
	#sec04 .detail .select::after { right: 20px; top: auto; bottom: 16.5px; width: 10px; height: 12px; }
	#sec04 .detail .select select { min-width:auto; width: 100%; height: 45px; padding: 10px 30px 10px 20px; font-size: 16px; }
	#sec04 .coupon_table { margin-top: 25px; }
	#sec04 .coupon_table dt { font-size: 17px; margin-bottom: 15px; text-align: center; }
	#sec04 .coupon_table dt a { width: fit-content; display: block; margin: 5px auto 0; font-size: 14px; padding: 0 15px; }
	#sec04 .coupon_table dt a::after { margin-left: 5px; }
	#sec04 .coupon_table dd table :where(tbody, tr) { width: 100%; }
	#sec04 .coupon_table dd table :where(td, th) { display: block; padding: 10px 6%; }
	#sec04 .coupon_table dd table th { width: 100%; }
	#sec04 .coupon_table dd table td a { word-break: break-all; }
}


/* ---------------------------------------------------
	Sec06
------------------------------------------------------ */

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


/* ---------------------------------------------------
	Sec07
------------------------------------------------------ */
#sec07 .link01 { margin: 0 0 0 1em; }

@media screen and (max-width: 600px) {
	#sec07 .link01 { margin: 3px 0 0; display: block; }
}


/* ---------------------------------------------------
	Sec08
------------------------------------------------------ */
#sec08 .flex_box { justify-content: flex-start; gap: 55px; }
#sec08 .flex_box a { display: block;}
#sec08 .flex_box a p { text-align: center; width: fit-content; display: flex; align-items: center; margin: 10px auto 0; letter-spacing: 0.11em; }
#sec08 .flex_box a p::after { content: ''; display: block; width: 17px; height: 17px; background: url(../img/furusato/icon_tab.svg) center center/contain; margin-left: 10px; }

@media screen and (max-width: 600px) {
	#sec08 .flex_box { margin-top: 30px; justify-content: center; flex-direction: row; gap: 30px 10px; flex-wrap: wrap; }
	#sec08 .flex_box > div { width: 236px; }
	#sec08 .flex_box a { width: min(236px, 100%); margin: 0 auto; }
	#sec08 .flex_box a > img { width: 100%; height: auto; object-fit: contain;}
	#sec08 .flex_box a p { margin: 10px auto 0; letter-spacing: 0.08em; }
	#sec08 .flex_box a p::after { width: 14px; height: 14px; margin-left: 10px; }

}


/* ---------------------------------------------------
	Sec09
------------------------------------------------------ */
#sec09 { padding-bottom: 55px; }
#sec09 .flex_box { align-items: center; justify-content: flex-start; gap: 80px; }
#sec09 .flex_box > div { display: flex; align-items: center; gap: 15px; }
#sec09 .flex_box p { letter-spacing: 0.11em; }
#sec09 .flex_box p img { vertical-align: middle;}

@media screen and (max-width: 600px) {
	#sec09 { padding-bottom: 80px; }
	#sec09 .flex_box { gap: 40px; }
	#sec09 .flex_box > div { flex-direction: column; }
	#sec09 .flex_box p { letter-spacing: 0.08em; }
	#sec09 .flex_box p.logo { text-align: center;}
	#sec09 .flex_box p.logo img { width: 40%; height: auto;}
}



/* ---------------------------------------------------
	footer
------------------------------------------------------ */
#pagetop { cursor: pointer; width: 100%; padding: 35px 0; position: relative; text-align: center; background: #d6deed; }
#pagetop img { transition: opacity 0.5s;}
#pagetop:hover { opacity: 1;}
#pagetop:hover img { opacity: 0.8; text-decoration: none; }
footer { padding: 90px 0 105px;}
footer .inner { display: flex; flex-wrap: wrap; justify-content: space-between; }
footer .inner .logo { margin: 0 65px; flex-shrink: 0; }
footer .inner .txt { margin: 10px 0 0 15px; flex-grow: 1; }
footer .inner .txt > a { display: block; width: fit-content; font-size: 20px; font-weight: bold; border-bottom: 1px solid #000; margin-bottom: 20px; }
footer .inner .txt > p { font-size: 15px; line-height: 2.2; }

@media screen and (max-width: 600px) {
	#pagetop { padding: 20px 0; }
	#pagetop img { width: 25px; height: auto; }
	footer { padding: 40px 0 calc(env(safe-area-inset-bottom) + 100px);}
	footer .inner { flex-direction: column; }
	footer .inner .logo { margin: 0 auto 20px; width: 30%; }
	footer .inner .txt { margin: 10px 0 0; }
	footer .inner .txt > a { font-size: 16px; margin-bottom: 15px; }
	footer .inner .txt > p { font-size: 14px; line-height: 2; }
}
