@charset "utf-8";
/* ===================================================
access css
====================================================== */
/* ---------------------------------------------------
	cmn_lead
------------------------------------------------------ */
.cmn_lead { padding-top: 107px; }
.cmn_lead .inner_md { max-width: 1190px; }
.cmn_lead .block_box {  }
.cmn_lead .block_ttl { font-weight: 500; font-size: 28px; line-height: calc(46 / 28); letter-spacing: .1em; color: rgba(0, 0, 0, .45); }
.cmn_lead .block_txt { font-weight: 500; font-size: 16px; line-height: calc(33 / 16); letter-spacing: .1em; color: var(--black-80); margin-top: 32px; }
.cmn_lead .c_anchor { margin-top: 50px; }
@media screen and (min-width: 601px) {
	.cmn_lead .block { display: grid; align-items: center; grid-template-columns: 533px 1fr; column-gap: 64px; }
	.cmn_lead .block_map { grid-row: 1; grid-column: 1; }
}
@media screen and (max-width: 600px) {
	.cmn_lead { padding-top: 65px; }
	.cmn_lead .block_box {  }
	.cmn_lead .block_ttl { font-size: 18px; }
	.cmn_lead .block_txt { font-size: 13px; margin-top: 20px; }
	.cmn_lead .block_map { display: block; margin-top: 30px; }
	.cmn_lead .c_anchor { margin-top: 30px; }
}

/* ---------------------------------------------------
	sec01
------------------------------------------------------ */
#sec01 { padding-block: 151px 198px; }
#sec01 .inner_md { max-width: 1050px; }
#sec01 .map {	margin-top: 60px; }
#sec01 .map_box { aspect-ratio: 1050 / 583; overflow: hidden; }
#sec01 .map_box iframe { width: 100%; height: 100%; object-fit: cover; }
#sec01 .map_add { margin-top: 37px; }
#sec01 .map_add_txt { font-weight: 500; font-size: 16px; line-height: calc(33 / 16); letter-spacing: .1em; color: var(--black-80); }
#sec01 .transit { margin-top: 184px; }
#sec01 .transit_root_btn { font-family: inherit; font-weight: 500; font-size: 14px; line-height: calc(18 / 14); letter-spacing: .1em; color: var(--black-70); text-align: center; display: grid; place-content: center; appearance: none; -webkit-appearance: none; margin: 0; width: 100%; height: 80px; border: none; border-radius: 0; background: var(--light-gray); cursor: pointer; }
#sec01 .transit_root_content_inner { position: relative; isolation: isolate; padding-block: 30px; }
#sec01 .transit_root_content_inner::before { content:""; position: absolute; top: 0; left: 50%; z-index: -1; translate: -50% 0; width: 1px; height: 100%; background-color: #e1e1e1; }
#sec01 .transit_root_txt { font-weight: 500; font-size: 13px; line-height: calc(18 / 13); color: #8d8d8d; text-align: center; padding-block: 5px; background-color: var(--white); }
#sec01 .transit_root_txt._transfer { color: #b6b6b6; }
#sec01 .transit_root_txt + .transit_root_label { margin-top: 27px; }
#sec01 .transit_root_txt_box { font-size: 12px; line-height: calc(19 / 12); letter-spacing: 0; text-indent: 0; display: block; margin-block: 8px 3px; padding-block: 18px; border: 1px solid rgba(0, 0, 0, .45); }
#sec01 .transit_root_txt_box_sml { font-size: 11px; }
#sec01 .transit_root_label { font-weight: 500; font-size: 14px; line-height: calc(18 / 14); letter-spacing: .1em; text-indent: .1em; color: var(--black-70); text-align: center; padding: 11px; width: 100%; background-color: var(--light-gray); }
#sec01 .transit_root_label + .transit_root_txt { margin-top: 27px; }
#sec01 .transit_label { font-weight: 500; font-size: 18px; line-height: 1; letter-spacing: .1em; text-indent: .1em; color: var(--white); text-align: center; padding: 36px; background-color: #333; }
#sec01 .transit_note { font-weight: 500; font-size: 16px; line-height: calc(33 / 16); letter-spacing: .1em; color: var(--black-80); position: relative; margin: 39px auto 0; padding-left: 1em; width: calc(100% - 24px); }
#sec01 .transit_note::before { content:"\203B"; position: absolute; top: 0; left: 0; }
#sec01 .transit_note_link { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
#sec01 .car { margin-top: 200px; }
#sec01 .car_root_btn { font-family: inherit; font-weight: 500; font-size: 14px; line-height: calc(18 / 14); letter-spacing: .1em; color: var(--black-70); text-align: center; display: grid; place-content: center; appearance: none; -webkit-appearance: none; margin: 0; width: 100%; height: 80px; border: none; border-radius: 0; background: var(--light-gray); }
#sec01 .car_root_content_inner { position: relative; isolation: isolate; padding-block: 30px; }
#sec01 .car_root_content_inner::before { content:""; position: absolute; top: 0; left: 50%; z-index: -1; translate: -50% 0; width: 1px; height: 100%; background-color: #e1e1e1; }
#sec01 .car_root_txt { font-weight: 500; font-size: 13px; line-height: calc(18 / 13); color: #8d8d8d; text-align: center; padding-block: 5px; background-color: var(--white); }
#sec01 .car_root_txt._transfer { color: #b6b6b6; }
#sec01 .car_root_txt + .car_root_label { margin-top: 27px; }
#sec01 .car_root_txt_box { font-size: 12px; line-height: calc(19 / 12); letter-spacing: 0; text-indent: 0; display: block; margin-block: 8px 3px; padding-block: 18px; border: 1px solid rgba(0, 0, 0, .45); }
#sec01 .car_root_txt_box_sml { font-size: 11px; }
#sec01 .car_root_label { font-weight: 500; font-size: 14px; line-height: calc(18 / 14); letter-spacing: .1em; text-indent: .1em; color: var(--black-70); text-align: center; padding: 11px; width: 100%; background-color: var(--light-gray); }
#sec01 .car_root_label + .car_root_txt { margin-top: 27px; }
#sec01 .car_root_box { position: relative; isolation: isolate; margin-top: 9px; }
#sec01 .car_root_box + .car_root_label { margin-top: 34px; }
#sec01 .car_root_box::before,#sec01 .car_root_box::after { content:""; position: absolute; top: 50%; translate: -50% -50%; }
#sec01 .car_root_box::before { left: 50%; width: 11px; height: 11px; border-radius: 50%; background-color: #838383; }
#sec01 .car_root_box::after { left: calc(50% + 11.5px); z-index: -1; width: 23px; height: 2px; border-top: 2px dotted #e1e1e1; }
#sec01 .car_root_box_txt { font-weight: 500; font-size: 12px; line-height: calc(15 / 12); text-align: center; padding-block: 14px; margin-inline: auto; width: 110px; border: 1px solid rgba(0, 0, 0, .45); border-radius: 5px; background-color: var(--white); translate: 80px 0; }
#sec01 .car_label { font-weight: 500; font-size: 18px; line-height: 1; letter-spacing: .1em; text-indent: .1em; color: var(--white); text-align: center; padding: 36px; background-color: #333; }
#sec01 .car_note { font-weight: 500; font-size: 16px; line-height: calc(32 / 16); letter-spacing: .1em; color: var(--black-80); position: relative; margin-top: 42px; padding-left: 1em; }
#sec01 .car_note + .car_note { margin-top: 0; }
#sec01 .car_note::before { content:"\203B"; position: absolute; top: 0; left: 0; }
#sec01 .car_note_link { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
#sec01 .ryokan { padding-top: 176px; }
#sec01 .ryokan_map { padding: 35px; background-color: var(--light-gray); }
#sec01 .ryokan_map_box { display: grid; align-items: center; grid-template-columns: 106px 1fr; column-gap: 23px; margin: 22px auto 0; width: 100%; max-width: 648px; }
#sec01 .ryokan_map_txt { font-weight: 500; font-size: 15px; line-height: calc(25 / 15); letter-spacing: .1em; }
#sec01 .ryokan_root { margin-top: 90px; }
#sec01 .ryokan_root_item:last-child { border-bottom: 1px solid rgba(0, 0, 0, .15);}
#sec01 .ryokan_root_btn { font-family: inherit; font-weight: 500; font-size: 24px; line-height: calc(32 / 24); letter-spacing: .1em; color: rgba(0,0,0,.45); text-align: left; appearance: none; -webkit-appearance: none; position: relative; margin: 0; padding: 33px 50px 33px 8px; width: 100%; border: none; border-top: 1px solid rgba(0, 0, 0, .15); border-radius: 0; background: var(--white); cursor: pointer; }
#sec01 .ryokan_root_btn::before,#sec01 .ryokan_root_btn::after { content:""; position: absolute; top: 50%; right: 30px; width: 16px; height: 1px; background-color: rgba(0,0,0,.3); transition: rotate .3s ease-out, opacity .3s ease-out; }
#sec01 .ryokan_root_btn::before { rotate: 90deg; }
#sec01 .ryokan_root_btn.active::before { rotate: 0deg; }
#sec01 .ryokan_root_btn.active::after { rotate: -90deg; opacity: 0; }
#sec01 .ryokan_root_btn_sml { font-size: 16px; }
#sec01 .ryokan_root_content_inner { padding-block: 35px 43px; }
#sec01 .ryokan_root_list { counter-reset: number 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 48px; }
#sec01 .ryokan_root_list_item:nth-child(n+2) { position: relative; }
#sec01 .ryokan_root_list_fig { display: grid; align-items: center; grid-template-columns: 180px 1fr; column-gap: 20px; }
#sec01 .ryokan_root_list_fig_txt { font-weight: 500; font-size: 15px; line-height: calc(22 / 15); letter-spacing: .1em; color: var(--black-80); display: flex; flex-direction: column; row-gap: 4px; grid-row: 1; grid-column: 2; position: relative; min-height: 82px; }
#sec01 .ryokan_root_list_fig_txt::before { font-size: 24px; line-height: calc(34 / 24); color: rgba(0,0,0,.45); content: counter(number, decimal-leading-zero); counter-increment: number 1; }
@media screen and (min-width: 601px) {
	#sec01 .map_add { display: grid; align-items: flex-end; grid-template-columns: 1fr auto; column-gap: 25px; }
	#sec01 .transit { display: flex; justify-content: space-between; align-items: flex-start; }
	#sec01 .transit_box { width: 850px; }
	#sec01 .transit_root { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: 30px; }
	#sec01 .transit_root_item { display: grid; grid-template-rows: subgrid; grid-row: span 2; }
	#sec01 .transit_root_btn { cursor: default; }
	#sec01 .transit_root_content_inner { display: grid; align-items: center; height: 100%; }
	#sec01 .transit_root_content_inner:has(.transit_root_txt_box) {	padding-bottom: 70px; }
	#sec01 .car { display: flex; justify-content: space-between; align-items: flex-start; }
	#sec01 .car_box { width: 850px; }
	#sec01 .car_root { display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 30px; }
	#sec01 .car_root_item { display: grid; grid-template-rows: subgrid; grid-row: span 2; }
	#sec01 .car_root_btn { cursor: default; }
	#sec01 .car_root_content_inner { display: grid; align-items: center; height: 100%; }
	#sec01 .car_root_content_inner:has(.car_root_txt_box) {	padding-bottom: 70px; }
	#sec01 .ryokan { display: flex; justify-content: space-between; align-items: flex-start; }
	#sec01 .ryokan_box { width: 850px; }
	#sec01 .ryokan_root_list_item:nth-child(even)::before { content:""; position: absolute; top: 50%; left: -26px; translate: 0 -50%; width: 9px; height: 17px; background-color: rgba(92,92,92,.45); clip-path: polygon(0 0, 100% 50%, 0 100%); }
}
@media screen and (max-width: 600px) {
	#sec01 { padding-block: 65px; }
	#sec01 .map {	margin-top: 30px; }
	#sec01 .map_box {	aspect-ratio: 16 / 9; }
	#sec01 .map_add { margin-top: 20px; }
	#sec01 .map_add_txt { font-size: 13px; }
	#sec01 .map_add_btn { margin-top: 10px; }
	#sec01 .transit { margin-top: 65px; }
	#sec01 .transit_root { margin-top: 30px; }
	#sec01 .transit_root_item:nth-child(n+2) { margin-top: 20px; }
	#sec01 .transit_root_btn { font-size: 13px; color: var(--white); position: relative; padding-inline: 30px; height: 54px; background-color: rgba(70, 70, 70, .9); }
	#sec01 .transit_root_btn::after { content:""; position: absolute; top: calc(50% - 2px); right: 12px; transform: translateY(-50%) rotate(45deg); width: 8px; height: 8px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; }
	#sec01 .transit_root_btn.active::after { top: calc(50% + 2px); transform: translateY(-50%) rotate(225deg); }
	#sec01 .transit_root_content_inner { padding-block: 20px 0; }
	#sec01 .transit_root_txt + .transit_root_label { margin-top: 20px; }
	#sec01 .transit_root_label { font-size: 13px; }
	#sec01 .transit_root_label + .transit_root_txt { margin-top: 20px; }
	#sec01 .transit_label { font-size: 14px; margin-top: 27px; padding: 10px 18px; }
	#sec01 .transit_note { font-size: 13px; line-height: calc(23 / 13); margin-top: 20px; width: 100%; }
	#sec01 .car { margin-top: 65px; }
	#sec01 .car_root { margin-top: 30px; }
	#sec01 .car_root_item:nth-child(n+2) { margin-top: 20px; }
	#sec01 .car_root_btn { font-size: 13px; color: var(--white); position: relative; padding-inline: 30px; height: 54px; background-color: rgba(70, 70, 70, .9); cursor: pointer; }
	#sec01 .car_root_btn::after { content:""; position: absolute; top: calc(50% - 2px); right: 12px; transform: translateY(-50%) rotate(45deg); width: 8px; height: 8px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; }
	#sec01 .car_root_btn.active::after { top: calc(50% + 2px); transform: translateY(-50%) rotate(225deg); }
	#sec01 .car_root_content_inner { padding-block: 20px 0; }
	#sec01 .car_root_txt + .car_root_label { margin-top: 20px; }
	#sec01 .car_root_label { font-size: 13px; }
	#sec01 .car_root_label + .car_root_txt { margin-top: 20px; }
	#sec01 .car_root_box { margin-top: 5px; }
	#sec01 .car_root_box + .car_root_label { margin-top: 20px; }
	#sec01 .car_root_box::before { width: 8px; height: 8px; }
	#sec01 .car_root_box::after { left: calc(50% + 7px); z-index: -1; width: 14px; }
	#sec01 .car_root_box_txt { font-size: 10px; padding-block: 10px; width: 90px; translate: 60px 0; }
	#sec01 .car_label { font-size: 14px; margin-top: 27px; padding: 18px; }
	#sec01 .car_note { font-size: 13px; line-height: calc(23 / 13); margin-top: 20px; width: 100%; }
	#sec01 .ryokan { padding-top: 65px; }
	#sec01 .ryokan_root { margin-top: 30px; }
	#sec01 .ryokan_root_btn { font-size: 15px; padding: 17px 45px 17px 25px; }
	#sec01 .ryokan_root_btn::before,#sec01 .ryokan_root_btn::after { right: 25px; }
	#sec01 .ryokan_root_btn_sml { font-size: 12px; }
	#sec01 .ryokan_root_content_inner { padding-block: 20px 30px; }
	#sec01 .ryokan_map { margin-top: 30px; padding: 20px 4%; }
	#sec01 .ryokan_map_box { grid-template-columns: 80px 1fr; column-gap: 20px; margin-top: 20px; max-width: 94%; }
	#sec01 .ryokan_map_txt { font-size: 12px; }
	#sec01 .ryokan_root_list { grid-template-columns: 1fr; gap: 15px; }
	#sec01 .ryokan_root_list_item:nth-child(n+2)::before { content:""; position: absolute; top: -10px; left: 50%; translate: -50% 0; width: 12px; height: 5px; background-color: rgba(92,92,92,.45); clip-path: polygon(0 0, 100% 0, 50% 100%); }
	#sec01 .ryokan_root_list_fig { grid-template-columns: calc(130 / 330 * 100%) 1fr; column-gap: 20px; }
	#sec01 .ryokan_root_list_fig_txt { font-size: 13px;  min-height: auto; }
	#sec01 .ryokan_root_list_fig_txt::before { font-size: 20px; }
}

/* ---------------------------------------------------
	sec02
------------------------------------------------------ */
#sec02 { padding-block: 203px 206px; }
#sec02 .inner_md { max-width: 1050px; }
#sec02 .intro_txt { font-weight: 500; font-size: 16px; line-height: calc(32 / 16); letter-spacing: .1em; text-align: center; margin-top: 58px; }
#sec02 .intro_anchor { display: flex; column-gap: 48px; margin: 72px auto 0; width: fit-content; }
#sec02 .intro_anchor_item { font-weight: 500; font-size: 16px; line-height: calc(32 / 16); letter-spacing: .1em; color: var(--black-50); position: relative; }
#sec02 .intro_anchor_link { color: inherit; display: block; }
#sec02 .kinugawa { padding-top: 145px; }
#sec02 .nikko { padding-top: 160px; }
#sec02 .nasu { padding-top: 163px; }
#sec02 .other { padding-top: 175px; }
#sec02 .links { padding-top: 168px; }
#sec02 .links_list_link { font-weight: 500; font-size: 16px; line-height: calc(24 / 16); letter-spacing: .1em; color: var(--black-50); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; display: inline-block; position: relative; padding-left: 1em; }
#sec02 .links_list_link::before { content:"\30FB"; position: absolute; top: 0; left: 0; }
#sec02 .hgroup { display: flex; align-items: center; column-gap: 24px; }
#sec02 .hgroup + .list:has(.list_img) { margin-top: 46px; }
#sec02 .hgroup + .list:not(:has(.list_img)) { margin-top: 56px; }
#sec02 .hgroup_en { margin-top: 5px; }
#sec02 .list_ttl { font-feature-settings: "palt"; font-weight: 500; font-size: 24px; line-height: calc(34 / 24); letter-spacing: .1em; color: rgba(0,0,0,.45); padding-bottom: 16px; border-bottom: 1px solid rgba(0,0,0,.15); }
#sec02 .list_time { font-weight: 500; font-size: 16px; line-height: calc(32 / 16); letter-spacing: .1em; color: rgba(0,0,0,.45); position: relative; margin-top: 11px; }
#sec02 .list_time::before { content:""; position: absolute; top: 0; height: 100%; }
#sec02 .list_time._car { padding-left: 34px; }
#sec02 .list_time._car::before { left: 2px; width: 20px; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="18" viewBox="0 0 20 18"><path fill="%235b5b5b" fill-rule="evenodd" opacity="0.6" d="M849.632,4188.91a3.284,3.284,0,0,0-.654-0.78L847,4182.6h0a2.741,2.741,0,0,0-2.147-1.6h-9.7a2.741,2.741,0,0,0-2.147,1.6l-1.979,5.53a3.279,3.279,0,0,0-.655.78c-0.176.36-.367,0.69-0.367,3.14,0,2.39.459,3.24,1.009,3.54l0.433,0.25v2.22c0,0.72.164,0.94,0.819,0.94h1.47c0.654,0,.818-0.22.818-0.94v-2.22h10.9v2.22c0,0.72.163,0.94,0.818,0.94h1.469c0.656,0,.819-0.22.819-0.94v-2.22l0.435-.25c0.549-.3,1.008-1.15,1.008-3.54C850,4189.6,849.807,4189.27,849.632,4188.91Zm-15.773,3.66a1.543,1.543,0,1,1,1.446-1.54A1.5,1.5,0,0,1,833.859,4192.57Zm12.284,0a1.543,1.543,0,1,1,1.446-1.54A1.495,1.495,0,0,1,846.143,4192.57Zm1.454-4.44H832.4s-0.363.04-.252-0.38c0.093-.35,1.4-3.82,1.672-4.78a1.755,1.755,0,0,1,1.594-1.02h9.166a1.757,1.757,0,0,1,1.6,1.02c0.274.96,1.58,4.43,1.673,4.78C847.96,4188.17,847.6,4188.13,847.6,4188.13Z" transform="translate(-830 -4181)"/></svg>') center / contain no-repeat; }
#sec02 .list_time._walk { padding-left: 30px; }
#sec02 .list_time._walk::before { left: 5px; width: 14px; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="20" viewBox="0 0 14 20"><path fill="%23999" d="M14.019,9.334l-1.3-1.8c-.3-.4-.7-.8-1.2-1l-2.6-1.4c-.5-.3-1.1-.4-1.7-.5h-.7c-.5,0-.9.2-1.2.5l-2.5,2.2-2.2.6c-.4.1-.7.6-.6,1s.5.7.9.6l1.8-.2c.4-.1.9-.2,1.2-.4l1-.7.1,3.5c0,.2,0,.5-.1.7l-3.6,6.2c-.3.4-.1,1,.3,1.3.4.2,1,.1,1.2-.3l4.1-5.8,1.6,3.4c.1.2.3.3.4.4l3.1,2.1c.4.3.9.2,1.2-.2.2-.2.2-.4.2-.7,0-.2-.2-.5-.4-.6l-2.7-2.1-1.5-4.5.1-4,1.9.6,2,1.9c.3.2.6.3.9.1.4-.1.5-.6.3-.9ZM6.419,3.934c1.1.2,2.1-.5,2.3-1.6S8.219.234,7.119.034s-2.1.5-2.3,1.6v.1c-.2,1,.5,2,1.6,2.2Z"/></svg>') center / contain no-repeat; }
#sec02 .list_txt { font-weight: 500; font-size: 15px; line-height: calc(28 / 15); letter-spacing: .1em; color: var(--black-80); margin-top: 12px; }
#sec02 .list_img { display: block; }
#sec02 .list_btns { display: grid; grid-template-columns: 170px 130px; gap: 10px; margin-top: 32px; }
#sec02 .list_btns_link { font-weight: 500; font-size: 14px; line-height: calc(24 / 14); letter-spacing: .1em; text-align: center; display: block; padding: 7px; border-width: 1px; border-style: solid; }
#sec02 .list_btns_link._black { color: var(--white); border-color: #5c5c5c; background-color: #5c5c5c; }
#sec02 .list_btns_link._white { color: var(--black-80); border-color: rgba(0,0,0,.3); background-color: var(--white); }
#sec02 .spot { margin-top: 81px; }
#sec02 .spot_btn { font-family: inherit; text-align: center; display: grid; place-content: center; appearance: none; -webkit-appearance: none; margin: 0; width: 100%; height: 100px; border: none; border-block: 1px solid rgba(25,19,12,.15); border-radius: 0; background: none; cursor: pointer; }
#sec02 .spot_btn_txt { font-weight: 500; font-size: 18px; line-height: calc(32 / 18); letter-spacing: .1em; color: var(--black-80); position: relative; padding-right: 46px; }
#sec02 .spot_btn_txt::before,#sec02 .spot_btn_txt::after { content:""; position: absolute; top: 50%; right: 0; width: 16px; height: 1px; background-color: rgba(0,0,0,.3); transition: rotate .3s ease-out, opacity .3s ease-out; }
#sec02 .spot_btn_txt::before { rotate: 90deg; }
#sec02 .spot_btn.active .spot_btn_txt::before { rotate: 0deg; }
#sec02 .spot_btn.active .spot_btn_txt::after { rotate: -90deg; opacity: 0; }
#sec02 .spot_content_inner { padding-top: 80px; }
/* 画像ありパターン start */
#sec02 .list_item:has(.list_img):nth-child(n+2) { margin-top: 80px; }
#sec02 .list_item:has(.list_img)._featured + .list_item { margin-top: 201px; }
#sec02 .list_item:has(.list_img)._featured .list_img { position: relative; isolation: isolate; }
#sec02 .list_item:has(.list_img)._featured .list_img::before { content:""; position: absolute; top: calc(59 / 463 * 100%); left: calc(-80 / 670 * 100%); z-index: -1; width: calc(653 / 670 * 100%); height: calc(481 / 463 * 100%); background: url(../img/cmn_illust_bg01.png) left top / 65px; }
/* 画像ありパターン end */
/* 画像無しパターン start */
#sec02 .list_item:not(:has(.list_img)) { padding: 60px 50px 63px; background-color: var(--white); }
/* 画像無しパターン end */
@media (any-hover: hover) {
	#sec02 .intro_anchor_link:hover,
	#sec02 .links_list_link:hover{
		opacity: .5;
	}
}
@media screen and (min-width: 601px) {
	#sec02 .intro_anchor_item:nth-child(n+2)::before { content:"\FF5C"; position: absolute; top: 0; left: -2em; }
	#sec02 .links { display: flex; justify-content: space-between; align-items: flex-start; }
	#sec02 .links .cmn_tit01 { text-align: left; margin-top: 8px; }
	#sec02 .links_list { display: grid; grid-template-columns: repeat(2, auto); gap: 18px 78px; width: 780px; }
	/* 画像ありパターン start */
	#sec02 .list:has(.list_img) .list_ttl { grid-row: 1; grid-column: 2; }
	#sec02 .list:has(.list_img) .list_time { grid-row: 2; grid-column: 2; }
	#sec02 .list:has(.list_img) .list_img { grid-row: span 5; grid-column: 1; }
	#sec02 .list:has(.list_img) .list_txt { grid-row: 3; grid-column: 2; }
	#sec02 .list:has(.list_img) .list_btns { justify-content: flex-end; grid-row: 4; grid-column: 2; }
	#sec02 .list_item:has(.list_img) { display: grid; align-items: flex-start; grid-template-columns: 1fr 550px; column-gap: 60px; }
	#sec02 .list_item:has(.list_img) .list_ttl { margin-top: 9px; }
	#sec02 .list_item:has(.list_img)._featured { grid-template-columns: 1fr 312px; column-gap: 68px; }
	#sec02 .list_item:has(.list_img)._featured .list_ttl { margin-top: 35px; }
	/* 画像ありパターン end */
	/* 画像無しパターン start */
	#sec02 .list:not(:has(.list_img)) { display: grid; grid-template-columns: repeat(2, 1fr); gap: 50px; }
	/* 画像無しパターン end */
}
@media screen and (max-width: 600px) {
	#sec02 { padding-block: 65px; }
	#sec02 .intro_txt { font-size: 13px; text-align: left; margin-top: 30px; }
	#sec02 .intro_anchor { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 32px; margin-top: 30px; width: 100%; }
	#sec02 .intro_anchor_item { font-size: 13px; }
	#sec02 .intro_anchor_item:nth-child(even)::before { content:"\FF5C"; position: absolute; top: 0; left: -1.5em; }
	#sec02 .intro_anchor_link { text-align: center; }
	#sec02 .kinugawa, #sec02 .nikko, #sec02 .nasu, #sec02 .other, #sec02 .links { padding-top: 65px; }
	#sec02 .links_list { margin-top: 30px; }
	#sec02 .links_list_item:nth-child(n+2) { margin-top: 10px; }
	#sec02 .links_list_link { font-size: 14px; }
	#sec02 .hgroup { column-gap: 12px; }
	#sec02 .hgroup + .list:has(.list_img), #sec02 .hgroup + .list:not(:has(.list_img)) { margin-top: 30px; }
	#sec02 .list_ttl { font-size: 18px; padding-bottom: 0; border-bottom: none; }
	#sec02 .list_time { font-size: 13px; margin-top: 5px; }
	#sec02 .list_time._car { padding-left: 26px;}
	#sec02 .list_time._car::before { width: 16px;}
	#sec02 .list_time._walk { padding-left: 24px;}
	#sec02 .list_time._walk::before { width: 12px;}
	#sec02 .list_img { margin-top: 15px;}
	#sec02 .list_txt { font-size: 13px; margin-top: 20px; }
	#sec02 .list_btns { grid-template-columns: min(170px, calc(170 / 330 * 100%)) min(130px, calc(130 / 330 * 100%)); margin-top: 20px; }
	#sec02 .list_btns_link { font-size: 12px;}
	#sec02 .spot { margin-top: 40px; }
	#sec02 .spot_btn { height: 54px; }
	#sec02 .spot_btn_txt { font-size: 14px; padding-right: 26px; }
	#sec02 .spot_content_inner { padding-top: 30px; }
	/* 画像ありパターン start */
	#sec02 .list_item:has(.list_img):nth-child(n+2) { margin-top: 40px; }
	#sec02 .list_item:has(.list_img)._featured + .list_item { margin-top: 60px; }
	#sec02 .list_item:has(.list_img)._featured .list_img::before { top: calc(30 / 463 * 100%); left: calc(-30 / 670 * 100%); height: 100%; }
	/* 画像ありパターン end */
	/* 画像無しパターン start */
	#sec02 .list_item:not(:has(.list_img)) { padding: 30px 4%; }
	#sec02 .list_item:not(:has(.list_img)):nth-child(n+2) { margin-top: 30px; }
	/* 画像無しパターン end */
}

/* ---------------------------------------------------
	breadcrumb
------------------------------------------------------ */
#contents_wrap #breadcrumb { margin-top: 102px; }
@media screen and (max-width: 600px) {
	#contents_wrap #breadcrumb { margin-top: 65px; }
}
