
/* 1336pxの場合　フォントサイズ以外
 min(1rem,calc(10vw/13.66)) */

/*                         header                          */
header {
 width: 100%;
 position: fixed;
 top: 0;
 z-index: 99;
}
.hd_inner {
 display: flex;
 justify-content: flex-end;
}
.nav_btn {
 width: min(6.5rem,calc(65vw/13.66));
 background-color: #C89F33;
 box-sizing: border-box;
 padding: min(3rem,calc(30vw/13.66)) 0;
 position: relative;
 transition: .4s;
 z-index: 99;
}
.nav_btn.open {
 background: transparent;
}
.nav_btn span {
 display: block;
 width: min(3rem,calc(30vw/13.66));
 box-sizing: border-box;
 border: min(.1rem,calc(1vw/13.66)) solid #fff;
 border-radius: min(1rem,calc(10vw/13.66));
 margin: 0 auto;
 transition: .4s;
}
.nav_btn.open span {
 opacity: 0;
}
.nav_btn::before,.nav_btn::after {
 content: '';
 width: min(3rem,calc(30vw/13.66));
 box-sizing: border-box;
 border: min(.1rem,calc(1vw/13.66)) solid #fff;
 border-radius: min(1rem,calc(10vw/13.66));
 margin: 0 auto;
 position: absolute;
 left: 0;
 right: 0;
 transition: .4s;
}
.nav_btn::before {
 top:  min(2rem,calc(20vw/13.66)) ;
}
.nav_btn::after {
 bottom:  min(2rem,calc(20vw/13.66)) ;
}
.nav_btn.open::before  {
 transform: rotate(45deg);
 top:  min(3rem,calc(30vw/13.66));
 border-color: #C89F33;
}
.nav_btn.open::after  {
 transform: rotate(-45deg);
 bottom:  min(3rem,calc(30vw/13.66));
 border-color: #C89F33;
}


.nav {
 position: fixed;
 width: 100%;
 top: 0;
 height: 100vh;
 height: 100dvh;
 background-color: #efece2;
 z-index: 90;
 overflow: scroll;
 display: none;
}
.nav_bg {
 position: fixed;
 top: 0;
 width: 100%;
 height: 100%;
}
.nav_item {
 position: relative;
 display: inline-block;
 text-align: left;
 margin-top: min(5rem,calc(50vw/13.66));
}
.nav_item dl {
 padding-bottom: min(3.5rem,calc(35vw/13.66));
}

.nav_item dt a {
 font-size: 2.8rem;
 color: #C89F33;
 letter-spacing: 0.1em;
 position: relative;
}
.nav_item dt a::before {
 content: '';
 width: min(2rem,calc(20vw/13.66));
 height: min(.2rem,calc(2vw/13.66));
 background-color: #C89F33;
 left: max(-5rem,calc(-50vw/13.66));
 top: 50%;
 transform: translateY(-50%);
 position: absolute;
}
.nav_item dd a  {
 font-size: 2rem;
 letter-spacing: 0.1em;
 line-height: 1.9;
 color: #727171;

}

.nav .logo {
 width:  min(11.1rem,calc(111vw/13.66));
 position: fixed;
 top: 0;
 left: min(2rem,calc(20vw/13.66));
 z-index: 10;
}




main {
 position: relative;
}
.scroll_bar {
 font-size: 1.5rem;
 font-weight: normal;
 letter-spacing: 0.08em;
 color: #fff;
 display: flex;
 flex-direction: column;
 align-items: center;
 position: absolute;
 bottom: max(-4rem,calc(-40vw/13.66));
 left: 0;
 right: 0;
 margin: 0 auto;
}
.scroll_bar span {
 display: block;
 width: min(.2rem,calc(2vw/13.66));
 height: min(10rem,calc(100vw/13.66));
 background: #FFFFFF;
 background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%,rgba(255, 255, 255, 1) 60%,rgba(209, 168, 51, 1) 6%, rgba(209, 168, 51, 1) 100%);
}


/*                         mv                          */
#mv {
 position: relative;
 width: 100%;
 z-index: 1;
}
.mv_item {
 width: 100%;
 height: 100vh;
 height: 100dvh;
 overflow: hidden;
}
#mv .logo {
 width:  min(11.1rem,calc(111vw/13.66));
 position: absolute;
 top: 0;
 left: min(2rem,calc(20vw/13.66));
 z-index: 5;
}

#mv .logo a {
 display: block;
 background-color: #fff;
}
#mv .logo a img {
 transition: .4s;
}


@media (hover: hover)  and (pointer: fine){
#mv .logo a:where(:any-link, :enabled, summary):hover img{
  opacity: 0.7;
 }
}
.mv_ttl {
 width:  min(42.4rem,calc(424vw/13.66));
 position: absolute;
 top: 46%;
 transform: translateY(-50%);
 left: min(18rem,calc(180vw/13.66));
 z-index: 10;
 font-size: 3rem;
 letter-spacing: 0.28em;
 color: #fff;
 font-weight: 300;
 text-align: left;
}
.mv_img {
 height: 100%;
}
.mv_img img{
 height: 100% !important;
 object-fit: cover;
 object-position: center bottom;
}
.mv_splide ,
.mv_splide .splide__track{
 height: 100%;
}




/*                        article                        */

.article_inner {
 width: min(136.6rem,calc(1366vw/13.66));
 margin: 0 auto ;
}

.article_contents {
 width: min(114rem,calc(1140vw/13.66));
 margin: min(11rem,calc(110vw/13.66)) auto  min(18rem,calc(180vw/13.66));
 display: flex;
 justify-content: space-between;
}
.article_main {
 width: min(80rem,calc(800vw/13.66));
}


.article_top {
 margin: 0 auto min(5rem,calc(50vw/13.66));
 display: flex;
 align-items: flex-start;
 gap: 0  min(4rem,calc(40vw/13.66));
}
.article_top_txt {
 width:100%;
 box-sizing: border-box;
 font-size: 1.6rem;
 font-weight: 300;
 letter-spacing: 0.1em;
 text-align: justify;
 background-color: #e8e3dd;
 padding: min(3.5rem,calc(35vw/13.66)) min(4.5rem,calc(45vw/13.66));
}

.article_anchor {
 width: min(30rem,calc(300vw/13.66));
 display: flex;
 flex-direction: column;
 gap: min(1.5rem,calc(15vw/13.66)) 0;
 position: sticky;
 top:  30%;
 z-index: 10;
}

.article_anchor li:not(:last-of-type) a{
 display: block;
 width: 100%;
 background-color: #f2e9d6;
 display: flex;
 align-items: center;
 box-sizing: border-box;
 padding: min(1rem,calc(10vw/13.66));
 gap: 0 min(1.5rem,calc(15vw/13.66));
 position: relative;
 border: min(.2rem,calc(2vw/13.66)) solid #f2e9d6;
}
.article_anchor li:not(:last-of-type) a::before {
 content: '';
 width: min(1rem,calc(10vw/13.66));
 height: min(1rem,calc(10vw/13.66));
 border-top: min(.1rem,calc(1vw/13.66)) solid #595757;
 border-right: min(.1rem,calc(1vw/13.66)) solid #595757;
 position: absolute;
 bottom: min(1.5rem,calc(15vw/13.66));
 right: min(8rem,calc(80vw/13.66));
 transform: rotate(135deg);
}
.article_anchor li:not(:last-of-type)  .article_anchor_img {
 width: min(11.6rem,calc(116vw/13.66));
}
.article_anchor li  p {
 font-size: 1.4rem;
 font-weight: 300;
 line-height: 1.85;
 text-align: left;
 color: #333333;
 letter-spacing: 0.1em;
}


@media (hover: hover)  and (pointer: fine){
.article_anchor li:not(:last-of-type) a:where(:any-link, :enabled, summary):hover {
 background-color: #fff;
 }
.article_anchor li:last-of-type a:where(:any-link, :enabled, summary):hover {
 opacity: .7;
 }

}



.article_item {
 width: 100%;
 margin: 0 auto;
 position: relative;
 z-index: 1;
 margin-top:  max(-5rem,calc(-50vw/13.66));
 padding-top:  min(5rem,calc(50vw/13.66));
 padding-bottom:  min(6rem,calc(60vw/13.66));
 margin-bottom: min(35rem,calc(350vw/13.66));
}

.article_item::before {
 content: '';
 width: min(98rem,calc(980vw/13.66));
 height: 100%;
 background: url(../images/chapter_bg.webp) ;
 background-size: contain;
 position: absolute;
 top:  min(12.5rem,calc(125vw/13.66));
 left:  min(19rem,calc(190vw/13.66));
 z-index: -1;
}
.article_item:nth-of-type(even)::before {
 width: min(88rem,calc(880vw/13.66));
 left: auto;
 right:  min(12rem,calc(120vw/13.66));

}

.article_item_box {
 width: min(80rem,calc(800vw/13.66));
 margin-bottom: min(11.5rem,calc(115vw/13.66));
}
.article_item_box:last-of-type {
 margin-bottom: 0;
}
.article_item_ttl {
 font-size: 3.2rem;
 font-weight: 300;
 letter-spacing: 0.12em;
 text-align: justify;
 color: #333;
 line-height: 1.8;
}
.article_item_ttl span{
 font-size: 2.3rem;
 color: #727171;
 display: block;
}
.article_item_txt {
 font-size: 1.6rem;
 font-weight: 300;
 letter-spacing: 0.14em;
 color: #595757;
 text-align: justify;
 margin-top: min(3.5rem,calc(35vw/13.66));
}
.article_item_img {
 width: 100%;
 margin-top: min(3rem,calc(30vw/13.66));
}




.article_thoughts {
 width: min(98rem,calc(980vw/13.66));
 margin: 0 auto;
 text-align: justify;
}
.article_thoughts_ttl {
font-size: 3.2rem;
color: #c89f33;
line-height: 1.37;
margin-bottom: min(2.5rem,calc(25vw/13.66));
letter-spacing: 0.14em;
}
.article_thoughts_txt {
 width: min(80rem,calc(800vw/13.66));
 box-sizing: border-box;
 font-size: 1.6rem;
 font-weight: 300;
 letter-spacing: 0.1em;
 text-align: justify;
 background-color: #e8e3dd;
 padding: min(3.5rem,calc(35vw/13.66)) min(4.5rem,calc(45vw/13.66));
}




.article_spot {
 width: min(98rem,calc(980vw/13.66));
 margin: min(15rem,calc(150vw/13.66)) auto  0;
 text-align: justify;
}
.article_spot_inner {
 width: min(80rem,calc(800vw/13.66));
}
.article_spot_ttl {
 font-size: 2.5rem;
 font-weight: 300;
 color: #c89f33;
 letter-spacing: 0.14em;
 line-height: 1.5;
 text-align: center;
 margin-bottom:  min(1.5rem,calc(15vw/13.66));
}
.article_spot_box {
 box-sizing: border-box;
 width: 100%;
 display: flex;
 justify-content: space-between;
 border: #c89f33 solid min(.1rem,calc(1vw/13.66));
 padding:min(4rem,calc(40vw/13.66)) min(3rem,calc(30vw/13.66));
 margin-bottom: min(2.5rem,calc(25vw/13.66));
}
.article_spot_box:last-of-type {
 margin-bottom: 0;

}
.article_spot_img {
width:min(26rem,calc(260vw/13.66));
}
.article_spot_detail {
width:min(43rem,calc(430vw/13.66));
}
.article_spot_txt {
 font-size: 1.4rem;
 font-weight: 300;
 line-height: 2.2;
 letter-spacing: 0.12em;
}
.article_spot_txt span{
 display: block;
 font-size: 2rem;
 font-weight: 500;
 letter-spacing: 0.1em;
 line-height: 1.6;
}
.article_spot_info {
 box-sizing: border-box;
 background-color: #e8e3dd;
 padding: min(1.3rem,calc(13vw/13.66)) min(1.5rem,calc(15vw/13.66));
 font-size: 1.2rem;
 font-weight: 300;
 letter-spacing: 0.1em;
 line-height: 2.33;
 margin: min(2rem,calc(20vw/13.66)) 0 min(2rem,calc(20vw/13.66));
}
.article_spot_info dl {
 display: flex;
}
.article_spot_btn {
 width: min(14rem,calc(140vw/13.66));
}
.article_spot_btn a{
 display: block;
 width: 100%;
 font-size: 1.6rem;
 font-weight: 300;
 letter-spacing: 0.12em;
 color: #c89f33;
 box-sizing: border-box;
 border: min(.1rem,calc(1vw/13.66)) solid #C89F33;
 display: flex;
 justify-content: center;
 align-items: center;
 gap: 0  min(.5rem,calc(5vw/13.66));
}

.article_spot_btn a span {
 width: min(1.6rem,calc(16vw/13.66));
 height: min(1.2rem,calc(12vw/13.66));
 background: url(../images/blank.svg) no-repeat;
 background-size: cover;
 position: relative;
}
.article_spot_btn a span::after {
 content: '';
 width:100%;
 height: 100%;
 background: url(../images/blank_w.svg) no-repeat;
 background-size: cover;
 position: absolute;
 opacity: 0;
 transition: .4s;
}


@media (hover: hover)  and (pointer: fine){
 .article_spot_btn a:where(:any-link, :enabled, summary):hover {
 background-color: #C89F33;
 color: #fff;
 }
 .article_spot_btn a:where(:any-link, :enabled, summary):hover span::after{
 opacity: 1;
 }
}




.article_other {
 width: min(118rem,calc(1180vw/13.66));
 margin: 0 auto min(11rem,calc(110vw/13.66));
 border-bottom: #c89f33 solid min(.1rem,calc(1vw/13.66));
 padding-bottom: min(7rem,calc(70vw/13.66));

}
.article_other_ttl {
 display: flex;
 align-items: center;
 justify-content: space-between;
 font-size: 2.5rem;
 color: #c89f33;
 letter-spacing: 0.14em;
}
.article_other_ttl::before,
.article_other_ttl::after {
 content: '';
 width:  min(38rem,calc(380vw/13.66));
 height:  min(.1rem,calc(1vw/13.66));
 background-color: #c89f33;
}
.article_other_list {
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
 gap:  min(2rem,calc(20vw/13.66)) ;
 margin-top:  min(5rem,calc(50vw/13.66));
}
.article_other_box {
 width: min(38rem,calc(380vw/13.66));
 box-sizing: border-box;
 border: #c89f33 solid min(.1rem,calc(1vw/13.66));
}
.article_other_box  a {
 display: block;
}
.article_other_img {
 overflow: hidden;
}
.article_other_img img{
 transition: .4s;
}
.article_other_box_detail {
 width: min(33.5rem,calc(335vw/13.66));
 margin: 0 auto;
 text-align: justify;
 padding:  min(3rem,calc(30vw/13.66)) 0  min(3.5rem,calc(35vw/13.66));
}
.article_other_box_ttl {
 font-size: 2rem;
 font-weight: 300;
 letter-spacing: 0.14em;
 color: #727171;
 line-height: 1.85;
}

.article_other_box_txt {
 font-size: 1.6rem;
 font-weight: 300;
 letter-spacing: 0.1em;
 color: #727171;
 line-height: 1.85;
 margin-top:  min(1rem,calc(10vw/13.66));
}

.article_other_btn {
 width:  min(39.6rem,calc(396vw/13.66));
 margin: min(6rem,calc(60vw/13.66)) auto 0;
}
.article_other_btn a{
 width:  100%;
 display: block;
 font-size: 2rem;
 font-weight: 300;
 letter-spacing: 0.14em;
 color: #c89f33;
 padding:  min(1.4rem,calc(14vw/13.66)) 0;
 position: relative;
}

.article_other_btn a p {
 position: relative;
 z-index: 5;
}

.article_other_btn span {
 width: 100%;
 position: absolute;
 top: 0;
 left: 0;
 z-index: 1;
}
.article_other_btn span::before {
 content: '';
 width: 100%;
 height: 100%;
 position: absolute;
 top: 0;
 left: 0;
 background: url(../images/article/article_other_btn_hover.svg) no-repeat;
 background-size: cover;
 transition: .4s;
 opacity: 0;
}
.article_other_btn a::after {
 content: '';
 width: 97%;
 height: 97%;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: 0;
 right: 0;
 margin: 0 auto;
 box-shadow:  min(.5rem,calc(5vw/13.66)) min(.5rem,calc(5vw/13.66)) min(.3rem,calc(3vw/13.66)) #705a3433;
 z-index: -1;
}

@media (hover: hover)  and (pointer: fine){

 .article_other_box a:where(:any-link, :enabled, summary):hover  .article_other_img img{
  transform: scale(1.1);
 }
 .article_other_box a:where(:any-link, :enabled, summary):hover {
  opacity: .7;

 }
 .article_other_btn a:where(:any-link, :enabled, summary):hover  {
 color: #fff;
 }
 .article_other_btn a:where(:any-link, :enabled, summary):hover span::before {
 opacity: 1;
 }
}







/*                       places                        */
#places {
 background-color: #fff;
 padding-bottom: min(10rem,calc(100vw/13.66));
}
.places_inner {
 width: min(102rem,calc(1020vw/13.66));
 margin: 0 auto;
}

.places_ttl,.access_ttl {
 display: flex;
 justify-content: space-between;
 align-items: flex-end;
 font-size: 3.5rem;
 font-weight: 400;
 letter-spacing: 0.14em;
 color: #000000;
 border-bottom:min(.1rem,calc(1vw/13.66)) #9C9D9D solid;
 line-height: 1.8;
}
.places_ttl span,.access_ttl span{
 font-weight: normal;
 letter-spacing: 0.04em;
 color: #D1A8334d;
 line-height: 1.4;
}
.places_splide .splide__track {
 overflow: visible !important;
 padding:  min(6rem,calc(60vw/13.66)) 0  min(3rem,calc(30vw/13.66));
}
.places_item a{
 position: relative;
 display: block;
 width: 100%;
}
.places_item a::before {
 content: '';
 width: 100%;
 height: 100%;
 position: absolute;
 top: 0;
 left: 0;
 box-shadow:  min(2rem,calc(20vw/13.66)) min(2rem,calc(20vw/13.66)) min(2rem,calc(20vw/13.66)) #00000033;
}
.places_item .places_img{
 overflow: hidden;
}
.places_item .places_img img {
 transition: .4s;
}
@media (hover: hover)  and (pointer: fine){
 .places_item a:where(:any-link, :enabled, summary):hover .places_img img{
  opacity: .7;
 }
}
.places_item p {
 display: inline-block;
 font-size: 2.2rem;
 letter-spacing: 0.14em;
 font-weight: 500;
 color: #3E3A39;
 line-height: 1.6;
 background-color: #fff;
 padding: 0 min(1.5rem,calc(15vw/13.66));
 position: absolute;
 bottom: max(-2rem,calc(-20vw/13.66));
 left: max(-1rem,calc(-10vw/13.66));
}


/*                       access                        */
#access {
 background-color: #fff;
 padding-bottom: min(10rem,calc(100vw/13.66));
}
.access_inner {
 width: min(102rem,calc(1020vw/13.66));
 margin: 0 auto;
}

.access_img {
 width: min(91rem,calc(910vw/13.66));
 margin: min(4rem,calc(40vw/13.66)) auto 0;

}

.access_banner {
 width: min(55.5rem,calc(555vw/13.66));
 margin: min(8.5rem,calc(85vw/13.66)) auto 0;
 display: flex;
 justify-content: space-between;
}
.access_banner li {
 width: min(26.7rem,calc(257vw/13.66));

}
.access_banner a {
 display: block;
 width: 100%;
}


@media (hover: hover)  and (pointer: fine){
 .access_banner a:where(:any-link, :enabled, summary):hover  {
  opacity: .7;
 }
}



/*                       banner                        */
.banner_inner {
 padding:  min(10rem,calc(100vw/13.66)) 0 min(7.5rem,calc(75vw/13.66));
 background-color: #F8F5EB;
}
.banner_inner ul {
 width: min(84rem,calc(840vw/13.66)) ;
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 margin: 0 auto;
}
.banner_inner li {
 width: min(40rem,calc(400vw/13.66)) ;
 box-sizing: border-box;
 border: min(.1rem,calc(1vw/13.66)) #595757 solid;
 overflow: hidden;
 margin-bottom:  min(3.5rem,calc(35vw/13.66));
}
.banner_inner li a {
 display: block;
 width: 100%;
}


@media (hover: hover)  and (pointer: fine){
 .banner_inner a:where(:any-link, :enabled, summary):hover  {
  opacity: .7;
 }
}



/*                       footer                        */
.footer_inner {
 background-color: #b5b5b5;
 padding:  min(4rem,calc(40vw/13.66)) 0 min(2.5rem,calc(25vw/13.66));
}
.footer_logo {
 width:  min(25rem,calc(250vw/13.66));
 margin: 0 auto;
}
.copy {
 font-size: 1.4rem;
 font-weight: 300;
 letter-spacing: 0.1em;
 margin-top: min(3rem,calc(30vw/13.66));
 color: #fff;
}



.top_btn {
 position: fixed;
 bottom: min(2rem,calc(20vw/13.66));
 right: min(5rem,calc(50vw/13.66));
 z-index: 50;
 width: min(5rem,calc(50vw/13.66));
 height: min(5rem,calc(50vw/13.66));
 transition: .7s;
 opacity: 0;
 visibility: hidden;
}
.top_btn a {
 background-color: #000000;
 display: block;
 width: 100%;
 height: 100%;
}
.top_btn a::before {
 content: '';
 width: min(1rem,calc(10vw/13.66));
 height: min(1rem,calc(10vw/13.66));
 border-top: min(.3rem,calc(3vw/13.66)) solid #fff;
 border-right: min(.3rem,calc(3vw/13.66)) solid #fff;
 transform: rotate(-45deg) translateY(-50%);
 position: absolute;
 top: 50%;
 left:  min(.8rem,calc(8vw/13.66));
 right: 0;
 margin: 0 auto;
 transform-origin: center;
}
.f_banner {
 position: fixed;
 bottom: min(2rem,calc(20vw/13.66));
 right: min(13rem,calc(130vw/13.66));
 width: min(14rem,calc(140vw/13.66));
 transition: .7s;
 z-index: 50;
 opacity: 0;
 visibility: hidden;
}
.f_banner a {
 display: block;
 width: 100%;
}
.f_banner.show,
.top_btn.show {
 opacity: 1;
 visibility: visible;
}

@media (hover: hover)  and (pointer: fine){
 .top_btn a:where(:any-link, :enabled, summary):hover  {
  opacity: .7;
 }
 .f_banner a:where(:any-link, :enabled, summary):hover  {
  opacity: .7;
 }
}




@media screen and (max-width: 767px) {
 /*                         header                          */

.nav_btn {
 width: 5rem;
 padding: 2.4rem 0;
}
.nav_btn span {
 width: 2rem;
 border:.1rem solid #fff;
 border-radius: 1rem;
}
.nav_btn::before,.nav_btn::after {
 width: 2rem;
 border:.1rem solid #fff;
 border-radius: 1rem;
}
.nav_btn::before {
 top:  1.5rem ;
}
.nav_btn::after {
 bottom:  1.5rem ;
}
.nav_btn.open::before  {
 top: 2.4rem;
}
.nav_btn.open::after  {
 bottom: 2.4rem;
}


.nav_item {
 margin-top: 13rem;
}
.nav_item dl {
 padding-bottom: 4rem;
}

.nav_item dt a {
 font-size: 2rem;
}
.nav_item dt a::before {
 width:1rem;
 height: .1rem;
 left: -2rem;
}
.nav_item dd a  {
 font-size: 1.6rem;
 letter-spacing: 0;

}

.nav .logo {
 width: 8rem;
 left: 2rem;
}




.scroll_bar {
 font-size: 1.3rem;
 bottom:-3rem;
 left: auto;
 right: 2.5rem;
 -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  flex-direction: row;
}
.scroll_bar span {
 width: .1rem;
 height:7rem;
 margin-right: 1rem;
 margin-top: 0.5rem;
}




/*                         mv                          */
#mv .logo {
 width: 8rem;
 left: 2rem;
}
.mv_img {
 width: 100%;
 aspect-ratio: 375 / 667;
}
.mv_img img{
 height: 100% !important;
 object-fit: cover;
 object-position: center;
}
.mv_ttl {
 width: fit-content;
 top: 13rem;
 transform:none;
 left:2rem;
 font-size: 2.4rem;
 letter-spacing: 0.14em;
}






/*                        article                        */

.article_inner {
 width:100%;
}
.article_contents {
 width: 32rem;
 margin: 5rem auto 7rem;
 flex-direction: column-reverse;
 justify-content: center;

}
.article_main {
 width: 100%;
 margin: 2rem auto 0;
}

.article_top {
 width:32rem;
 margin:0 auto 6rem;
 flex-direction: column;
 gap:  0;
}
.article_top_txt {
 width: 100%;
 font-size: 1.3rem;
 letter-spacing: 0.05em;
 padding: 1.5rem 2rem;
}

.article_anchor {
 width: 100%;
 gap:1rem 0;
 position: static;
}

.article_anchor li:not(:last-of-type) a{
 padding:1rem;
 gap: 0 1rem;
 border: none;
}
.article_anchor li:not(:last-of-type) a::before {
 width: 1rem;
 height: 1rem;
 border-top:.1rem solid #595757;
 border-right:.1rem solid #595757;
 position: absolute;
 top: 50%;
 transform: translateY(-50%) rotate(135deg);
 bottom:auto;
 right: 2rem;
}
.article_anchor li:not(:last-of-type)  .article_anchor_img {
 width: 10rem;
}
.article_anchor li  p {
 width: 19rem;
 font-size: 1.3rem;
 font-weight: 300;
 line-height: 1.75;
 text-align: left;
 color: #333333;
 letter-spacing: 0.14em;

}


.article_item {
 width:100%;
 margin-top: -3rem;
 padding-top:  3rem;
 padding-bottom: 0;
 margin-bottom: 13rem;
}

.article_item::before {
 width: 26.6rem;
 top: 7rem;
 left: 8rem;
}
.article_item:nth-of-type(even)::before {
 width: 26.6rem;
 right: 8rem;

}
.article_item_inner {
 width:32rem;
}
.article_item_box {
 width: 32rem;
 margin-bottom: 5.5rem;
}
.article_item_ttl {
 font-size: 2.1rem;
 letter-spacing: 0.08em;
 line-height: 1.5;
}
.article_item_ttl span{
 font-size: 1.6rem;
}
.article_item_txt {
 font-size: 1.3rem;
 letter-spacing: 0.08em;
 margin-top: 2.5rem;
}
.article_item_img {
 margin-top: 2.5rem;
}




.article_thoughts {
 width: 32rem;
}
.article_thoughts_ttl {
font-size: 2.1rem;
text-align: center;
line-height: 1.45;
margin-bottom:1.5rem;
letter-spacing: 0.08em;
}
.article_thoughts_txt {
 width:32rem;
 font-size: 1.3rem;
 letter-spacing: 0.05em;
 padding:1.5rem 2rem;
}




.article_spot {
 width:32rem;
 margin:7rem auto 2rem;
}
.article_spot_inner {
 width: 100%;
}
.article_spot_ttl {
 font-size: 2.1rem;
 letter-spacing: 0.08em;
 line-height: 1.5;
 margin-bottom: 1rem;
}
.article_spot_box {
 border: #c89f33 solid.1rem;
 padding:2rem 2rem;
 flex-direction: column;
 gap: 2.5rem 0;
 margin-bottom: 2rem;
}
.article_spot_img {
width:100%;
}
.article_spot_detail {
width:100%;
}
.article_spot_txt {
 font-size: 1.3rem;
 line-height: 1.8;
 letter-spacing: 0.06em;
}
.article_spot_txt span{
 font-size: 1.6rem;
}
.article_spot_info {
 padding:1rem 1rem;
 letter-spacing: 0.05em;
 line-height: 1.5;
 margin:1.5rem 0 2.5rem;
}
.article_spot_info dl:not(:first-of-type) {
 margin-top: .5rem;
}

.article_spot_btn {
 width:15rem;
 margin: 0 auto;
}
.article_spot_btn a{
 font-size: 1.3rem;
 letter-spacing: 0.06em;
 border: .1rem solid #C89F33;
 gap: 0  .5rem;
 padding: 0.4rem 0;
}

.article_spot_btn a span {
 width: 1.4rem;
 height:1.1rem;
}



.article_other {
 width:32rem;
 margin: 0 auto ;
 border-bottom: #c89f33 solid .1rem;
 padding-bottom:4rem;
 margin-bottom: 7rem;

}
.article_other_ttl {
 font-size: 2.1rem;
 letter-spacing: 0.07em;
 line-height: 1.5;
}
.article_other_ttl::before,
.article_other_ttl::after {
 width:  5rem;
 height: .1rem;
}
.article_other_list {
 gap: 2rem 0;
 margin-top: 3rem;
}
.article_other_box {
 width: 28rem;
 border: #c89f33 solid .1rem;
}
.article_other_box_detail {
 width: 25rem;
 padding: 1.5rem 0  2rem;
}
.article_other_box_ttl {
 font-size: 1.5rem;
 letter-spacing: 0.07em;
}

.article_other_box_txt {
 font-size: 1.25rem;
 letter-spacing: 0.05em;
 margin-top:  .5rem;
}

.article_other_btn {
 width:  28rem;
 margin: 4rem auto 0;
}
.article_other_btn a{
 font-size: 1.6rem;
 letter-spacing: 0.07em;
 padding: .7rem 0;
}
.article_other_btn a::after {
 box-shadow: .3rem .3rem .2rem #705a3433;
}





/*                       places                        */
#places {
 width: 100%;
 padding-bottom: 5rem;
 border: none;
 padding-top: 0;
}
.places_inner {
 width:100%;
}

.places_ttl,.access_ttl {
 width: 32.5rem;
 margin: 0 auto;
 flex-direction: column;
 align-items: flex-start;
 font-size: 1.7rem;
 line-height: 1.8;
 border: none;

}
.places_ttl span,.access_ttl span{
 display: block;
 width: 100%;
 border-top:.1rem #9C9D9D solid;
 line-height: 1.4;
 text-align: left;
 font-size: 1.5rem;
}
.places_splide .splide__track {
 overflow:hidden !important;
 padding:  3rem 0  ;
}

.places_splide .splide__slide {
 padding-left: 2.5rem;

}

.places_item a::before {
 box-shadow:  1rem 1rem 1rem #00000033;
}

.places_item p {
 font-size: 1.5rem;
 line-height: 1.6;
 padding: 0 1rem;
 bottom:-1.5rem;
 left: -1rem;
}

.places_inner .splide__arrow.splide__arrow--prev {
 display: none;
}
.places_inner .splide__arrow.splide__arrow--next {
 width: 3rem;
 height: 3rem;
 background-color: #fff;
 opacity: 1;
 right: 11rem;
}
.places_inner .splide__arrow svg {
 width: .8rem;
 height: 0.8rem;
}


/*                       access                        */
#access {
 padding-bottom:5rem;
}
.access_inner {
 width: 32.5rem;
}

.access_img {
 width: 29.5rem;
 margin:.5rem auto 0;

}


.access_banner {
 width: 26.5rem;
 margin:4rem auto 0;
 flex-direction: column;
 gap: 2rem 0;
}
.access_banner li {
 width: 100%

}



/*                       banner                        */
.banner_inner {
 padding:  5rem 0 3.5rem;
}
.banner_inner ul {
 width: 33.5rem ;

}
.banner_inner li {
 width:100%;
 border: .1rem #595757 solid;
 margin-bottom: 1.5rem;
}


/*                       footer                        */
.footer_inner {
 padding:  3.5rem 0 ;
}
.footer_logo {
 width: 14.5rem;
}
.copy {
 font-size: 1.2rem;
 margin-top:3rem;
}



.top_btn {
 bottom:1rem;
 right:1rem;
 width: 5rem;
 height: 5rem;
}
.top_btn a::before {
 width: 1rem;
 height: 1rem;
 border-top:.3rem solid #fff;
 border-right:.3rem solid #fff;
 left: 1rem;
}
.f_banner {
 bottom: 1rem;
 right: 7rem;
 width:10rem;
}
}
