@charset "UTF-8";
/*-----------------------------------------------------
Reset
----------------------------------------------------- */
html, body, div, span,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0; padding: 0; border: 0; font-size: 100%; vertical-align: baseline;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section , main {
	display: block;
}

a:link, a:visited, a:hover, a:active { color: #323232; text-decoration: none; }

html { scroll-behavior:smooth; scrollbar-gutter: stable; }
/*[id] {scroll-margin-top:40px;}*/
body { line-height: 1; text-align: justify; background: #fff; color: #323232; font-family: "M PLUS 1p", sans-serif; }
ol, ul { list-style: none; }
table { border-collapse: collapse; border-spacing: 0; }

* { margin: 0; padding: 0; }
img { max-width: 100%; width: 100%; height: auto; vertical-align: bottom; flex-shrink: 0; }
picture { display: block; }
span.uwa { vertical-align: top; font-size: 30%; } 

/*滞在色変*/
#Index nav.localnav #menu01 a , #Outline nav.localnav #menu02 a , #Plan nav.localnav #menu03 a , #Location nav.localnav #menu04 a , #Quality nav.localnav #menu05 a { color: #515151; }

/*オーバーレイ*/
.overlay { background: #fff; position: fixed; top: 0; left: 0; height: 100%; width: 100%; z-index: 10000; }

/*fade*/
.fade { opacity: 0; transition: opacity 1.5s; }
.fade.is_inview { opacity: 1; transition-delay: .8s; }

.fade_early { opacity: 0; transition: opacity 1s; }
.fade_early.is_inview { opacity: 1; transition-delay: .1s; }

.fadeup { opacity: 0; transform: translateY(30px); transition: opacity 2s, transform .8s; }
.fadeup.is_inview { opacity: 1; transform: translateY(0); transition-delay: .1s; }
.fadeup02 { opacity: 0; transform: translateY(30px); transition: opacity 2s, transform .8s; }
.fadeup02.is_inview  { opacity: 1; transform: translateY(0); transition-delay: .2s; }
.fadeup03 { opacity: 0; transform: translateY(30px); transition: opacity 2s, transform 1s; }
.fadeup03.is_inview  { opacity: 1; transform: translateY(0); transition-delay: .3s; }

.center { text-align: center; }
.left { text-align: left; }
.right { text-align: right; }

/*-----------------------------------------------------

common

----------------------------------------------------- */
#Caution {content-visibility:auto; contain-intrinsic-size: 1px 1200px; padding: clamp(60px, 10vw, 110px) 0; }

h1 , h2 , h3 , h4 , h5 { font-feature-settings: "palt"; font-weight: initial; line-height: 1.5; }
.pc { display: block; }
.tab { display: none; }
.sp { display: none; }
p { font-feature-settings: "palt"; line-height: 1.6; }

/*[data-overDirection="full"] { width: 100vw; margin: 0 calc(50% - 50vw); }*/
[data-size="w800"]{ max-width: 800px; margin: 0 auto; }
[data-size="w1000"]{ max-width: 1000px; width: 90%; margin: 0 auto; }
[data-size="w1200"]{ max-width: 1200px; width: 90%; margin: 0 auto; }
[data-size="padding_inner"]{ padding-left: 20px; padding-right: 20px; box-sizing: border-box; margin: 0 auto; }


:root {
  --pink-color: #ce0d7b;
  --mizuiro-color: #38a3ff;
  --orange-color: #ff6e3d;
  --blue-color: #3331ba;
  --purple-color: #4c3598;
}

.line { border:solid #bb915c82 .3px; margin-bottom: 40px; }
.center { text-align: center; }
.left { text-align: left; }
.right { text-align: right; }

.news { position: relative; z-index: 1; margin-bottom: 80px; }
.news .news_inner {display:flex; align-items:flex-start;}
.news h3 { font-size: clamp(1.25rem, 1.172rem + 0.39vw, 1.563rem); font-weight: 700; margin-right: 30px; padding-top: 8px; }
.news h3::before { content: ''; display: inline-block; background: url("../img/icon_news.svg")no-repeat; width: 10px; height: 11px; background-size: contain; vertical-align: 4px; margin-right: 10px; }
.news .typing {position:relative; display:inline-block; flex:0 0 auto; padding-left:20px;}
.news .typing::before {content:''; position:absolute; left:0; top:0.8em; width:10px; height:11px; background:url("../img/icon_news.svg") no-repeat; background-size:contain;}
.news .typing__text {display:inline-block; position:relative;}
.news .typing__text span { display:inline-block; opacity:0; transform:translateY(0.1em); animation:reveal 4.2s ease-in-out infinite; }
.news .typing__text span:nth-child(1) { animation-delay:0s; }
.news .typing__text span:nth-child(2) { animation-delay:0.2s; }
.news .typing__text span:nth-child(3) { animation-delay:0.4s; }
.news .typing__text span:nth-child(4) { animation-delay:0.6s; }
@keyframes reveal {
  0% { opacity:0; transform:translateY(0.1em); }
  15% { opacity:1; transform:translateY(0); }
  60% { opacity:1; transform:translateY(0); }
  80% { opacity:0; transform:translateY(0.1em); }
  100% { opacity:0; transform:translateY(0.1em); }
}

.news dl { overflow-y:auto; box-sizing:border-box; padding-top:15px; width: 100%; }
.news dl div { display: flex; align-items: baseline; }
.news dl div:not(:last-child) { margin-bottom: 20px; }
.news dl dt { color: var(--mizuiro-color); background: #fff; padding: 5px 10px; box-sizing: border-box; font-size: clamp(0.875rem, 0.844rem + 0.16vw, 1rem); font-weight: 700; margin-right: 20px; max-width: 190px; width: 100%; text-align: center; }
.news dl dt::before { content: ''; display: inline-block; background: url("../img/icon_date.svg")no-repeat; background-size: contain; width: 12px; height: 13px; margin-right: 3px; vertical-align: -1px; }
.news dl dd { line-height: 1.4; font-size: clamp(0.938rem, 0.891rem + 0.23vw, 1.125rem); width: 100%; }
.news dl dd a { text-decoration: underline; }
.news svg { fill:#e6daf5 }

.intro_container { background: url("../img/intro_bg.png")no-repeat; background-size: cover; background-position: center; padding: clamp(40px, 6vw, 150px) 0 clamp(50px, 6vw, 100px); position: relative; }
.intro_container .kv_chara_img { margin: 0 auto clamp(20px, 6vw, 50px); max-width: 900px; }
.intro_container .txt { text-align: center; font-size: clamp(14px, 3vw, 25px); font-weight: 600; }
.intro_container .btn_wrap .btn_anchor { display: flex; align-items: center; justify-content: center; gap: 30px; }
.intro_container .btn_wrap .btn_anchor:not(:last-child) { margin-bottom: 25px; }
.intro_container .btn_wrap .btn_anchor a { filter: drop-shadow(0px 2px 5px rgba(479, 47, 37, 0.6)); }
.intro_container .btn_wrap .btn_anchor a.btn01 , .intro_container .btn_wrap .btn_anchor a.btn03 { max-width: 335px; }
.intro_container .btn_wrap .btn_anchor a.btn02 { max-width: 288px; }
.intro_container .btn_wrap .btn_anchor a.btn04 { max-width: 430px; }
.intro_container .btn_wrap a { transition: .15s; }

@media (hover: hover) and (pointer: fine) {
  .intro_container .btn_wrap a:hover { filter: none; transform: translateY(5px); }
}
  
/*馬蹄パーツ*/
/*left*/
.intro_container img.parts_bg01 { position: absolute; top: 10%; width: 180px; left: 50px; }
.intro_container img.parts_bg02 { position: absolute; top: 0; width: 112px; left: 160px; }
.intro_container img.parts_bg03 { position: absolute; top: 30%; width: 77px; left: 100px; }
.intro_container img.parts_bg04 { position: absolute; top: 50%; width: 200px; left: 50px; }
.intro_container img.parts_bg05 { position: absolute; top: 55%; width: 90px; left: 100px; }
.intro_container img.parts_bg06 { position: absolute; top: 70%; width: 200px; left: 130px; }
/*right*/
.intro_container img.parts_bg07 { position: absolute; top: 30%; width: 105px; right: 200px; }
.intro_container img.parts_bg08 { position: absolute; top: 20%; width: 230px; right: 20px; }
.intro_container img.parts_bg09 { position: absolute; bottom: 25%; width: 133px; right: 200px; }
.intro_container img.parts_bg10 { position: absolute; bottom: 40%; width: 60px; right: 10px; }
.intro_container img.parts_bg11 { position: absolute; top: 50%; width: 165px; right: 50px; }
.intro_container img.parts_bg12 { position: absolute; bottom: 8%; width: 240px; right: 5%; }
.intro_container img.parts_bg13 { position: absolute; bottom: 5%; width: 150px; right: 2%; }

/*common annotation*/
.annotation p::before { content: ''; display: inline-block; background: url("../img/icom_an.svg")no-repeat; aspect-ratio: 19 / 18; width: 19px; vertical-align: -3px; margin-right: 3px; }
.annotation p { font-size: clamp(0.75rem, 0.719rem + 0.16vw, 0.875rem); color: #f50006; margin: 10px 0; box-sizing: border-box; }

/*common location*/
.location { max-width: 1000px; margin: 0 auto; border-radius: 10px; }
.location .flex { gap: 20px; display: grid; justify-content: space-between; grid-template-columns: 1fr 450px; }
.location .location_inner { padding: 40px 50px; border-radius: 0 0 10px 10px; margin-bottom: 80px; background: #fff; }
.location .ttl { font-size: clamp(1.125rem, 0.938rem + 0.94vw, 1.875rem); font-weight: 700; text-align: center; color: #fff; border-radius: 10px 10px 0 0; padding: 3px 0 1px; }
.location .mihohureai_plaza { max-width: 450px; width: 100%; }
.location .mihohureai_plaza img { border-radius: 10px; }
.location .name { font-size: clamp(1.125rem, 1.016rem + 0.55vw, 1.563rem); font-weight: 700; margin-bottom: 5px; }
.location .addoress { font-size: clamp(0.813rem, 0.781rem + 0.16vw, 0.938rem); }
.location dl { font-size: clamp(0.813rem, 0.781rem + 0.16vw, 0.938rem); font-feature-settings: "palt"; line-height: 1.4; }
.location dl dt { margin-top: 10px; font-weight: 700; color: var(--mizuiro-color); }
.location dl dt::before { content: ''; background: #9bc0e0; display: inline-block; width: 10px; height: 10px; margin-right: 5px;}

/*スライド（パネル）*/
#Slider_panel .slick-slide { padding:0 5px; height:320px; display:flex; align-items:center; justify-content:center; }
#Slider_panel img { max-height:100%; width:auto; object-fit:contain; display:block; }

#Slider_panel { margin-bottom: 60px; }
#Panel { content-visibility:auto; contain-intrinsic-size: 1px 1200px; background: #1c7ade; background-size: 100%; padding: 30px; }
#Panel .panel_inner { padding: 70px 0; box-sizing: border-box; border-radius: 30px; background: url("../img/panel_bg.png")no-repeat; background-size: cover; overflow: hidden; }
#Panel h2 { text-align: center; margin-bottom: 20px; }
#Panel h2.en::before { content:''; background: url("../img/en_panel.svg")no-repeat; display: block; background-size: contain; aspect-ratio: 92 / 68; width: 92px; margin: 0 auto; }
#Panel h2 img { max-width: 620px; width: 100%; }
#Panel .txt { font-size: clamp(1rem, 0.875rem + 0.63vw, 1.5rem); font-weight: 700; text-align: center; margin-bottom: 30px; }
#Panel .location .location_inner { border: 3px solid var(--mizuiro-color); margin-bottom: 0; }
#Panel .location .ttl { background: var(--mizuiro-color); }

/*common map_spot*/
.spot { max-width: 800px; margin: 0 auto; }
.spot iframe { border-style: none; margin-bottom: 30px; }
.spot_details { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 30px; margin-bottom: 30px; counter-reset: item-count; }
.spot_details .detail { width: 48%; counter-increment: item-count; margin-bottom: 30px; }
.spot_details .detail .name::before { content: counter(item-count) ". "; display: inline-block; background: url("../img/icon_spot.svg")no-repeat; background-size: contain; aspect-ratio: 21 / 31; padding-left: 50px; }
.spot_details .detail .name { font-size:clamp(1rem, 0.906rem + 0.47vw, 1.375rem); font-weight: 700; border-bottom: 1px solid; color: var(--blue-color); margin-bottom: 10px; text-indent: -1em; padding-left: 1em; }
.spot_details .info { font-size: clamp(0.813rem, 0.797rem + 0.08vw, 0.875rem);}
.spot_details .detail:nth-last-child(n+2) { margin-bottom: 30px; }
.spot_details .genre { display: flex; margin-top: 3px; font-size: clamp(0.813rem, 0.797rem + 0.08vw, 0.875rem); color: #87217b; }
.spot_details .genre::before { content: 'ジャンル'; display: inline-block; background:#87217b; padding: 2px 5px; text-align: center; color: #fff; font-size: 10px; font-weight: 700; margin-right: 7px; display: flex; align-items: center; justify-content: center; border-radius: 2px; }

#Card, #Stamp { content-visibility:auto; contain-intrinsic-size: 1px 1200px; padding: 80px 0; box-sizing: border-box; }
#Card { background:url("../img/card_bg.jpg")no-repeat; background-size: cover; background-position: center;}

#Card h2 , #Stamp h2 { text-align: center; margin-bottom: 20px; }
#Card .period, #Panel .period { display: flex; align-items: stretch; justify-content: center; margin: 0 auto 30px; filter: drop-shadow(0px 3px 5px rgb(171 213 285 / 70%)); }
#Stamp .period { display: flex; align-items: stretch; justify-content: center; margin: 0 auto 30px; filter: drop-shadow(0px 3px 5px rgb(255 165 0 / 70%)); }
#Card .period .period_ttl, #Stamp .period .period_ttl, #Panel .period .period_ttl { font-size: clamp(0.875rem, 0.828rem + 0.23vw, 1.063rem); font-weight: 700; color: #fff; padding: 8px 15px; }
#Card .period .period_txt, #Stamp .period .period_txt, #Panel .period .period_txt { font-size: clamp(0.875rem, 0.828rem + 0.23vw, 1.063rem); font-weight: 700; background: #fff; display: flex; align-items: center; justify-content: center; padding: 0 15px; }
#Card .period .period_ttl { background: var(--mizuiro-color); }
#Card .period .period_txt { color: var(--mizuiro-color); }
#Stamp .period .period_ttl { background: var(--orange-color); }
#Stamp .period .period_txt { color: var(--orange-color); }
#Panel .period .period_ttl { background: var(--mizuiro-color); }
#Panel .period .period_txt { color: var(--mizuiro-color); }
#Card h2.en::before { content:''; background: url("../img/en_card.svg")no-repeat; display: block; background-size: contain; aspect-ratio: 91 / 68; width: 91px; margin: 0 auto; }
#Card h2 img { max-width: 675px; width: 100%; }
#Card .intro .txt , #Stamp .intro .txt { font-size: clamp(1rem, 0.875rem + 0.63vw, 1.5rem); font-weight: 700; text-align: center; }
#Card .intro .txt span { font-size: 70%; }
#Card ul.card_wrap {display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; margin:50px auto 120px; max-width:1200px;}
#Card ul.card_wrap li {flex-shrink:0; width:calc((100% - (20px * 4)) / 5); list-style:none; position: relative; }
#Card .blk { border: 5px solid var(--mizuiro-color); border-radius: 30px; background: #fff; position: relative; max-width: 1000px; margin: 0 auto; padding: 60px 50px; box-sizing: border-box; }
#Card .blk p.small, #Stamp .blk p.small { font-size: clamp(0.688rem, 0.641rem + 0.23vw, 0.875rem); }
#Card .blk:not(:last-of-type), #Stamp .blk:not(:last-of-type) { margin-bottom: 80px; }
#Card .blk.tenpo::before { content: ''; display: block; background: url("../img/card_tenpo.svg")no-repeat; background-size: contain; aspect-ratio: 317 / 72; width: 317px; position: absolute; top: -40px; left: 30px; filter: drop-shadow(10px 5px 5px rgb(171 213 285 / 70%)); }
#Card .blk.nyusyu::before { content: ''; display: block; background: url("../img/card_nyusyu.svg")no-repeat; background-size: contain; aspect-ratio: 577 / 72; width: 577px; position: absolute; top: -40px; left: 30px; filter: drop-shadow(10px 5px 5px rgb(171 213 285 / 70%)); }
#Card .blk .txt, #Stamp .blk .txt { font-size: clamp(1rem, 0.938rem + 0.31vw, 1.25rem); margin-bottom: 30px; text-align: center; }
#Card .blk.nyusyu .txt span { font-size: 70%; }
#Card .blk img, #Stamp .blk img { max-width: 690px; width: 100%; margin: 0 auto; display: block; }
#Card .blk.tenpo::before　{ content: ''; display: block; background: url("../img/card_tenpo.svg")no-repeat; background-size: contain; aspect-ratio: 318 / 72; width: 318px; position: absolute; top: -40px; left: 30px; filter: drop-shadow(10px 5px 5px rgb(171 213 285 / 70%)); }
#Card .nyusyu p.small { font-size: .85rem; color: #e81f1f; text-align: center; margin-top: 10px; }
#Card ul.card_wrap li.sold::before { content: ''; position: absolute; background: url("../img/soldout_card.svg")no-repeat; background-size: contain; aspect-ratio: 113 / 113; width: 50%; left: -1px; top: -1px; z-index: 1; }
#Stamp .blk.tenpo picture { margin: 30px auto; width: 85%; }
#Stamp { background: url("../img/orange_bg.png")no-repeat; background-size: cover; background-position: center; }
#Stamp .intro { margin-bottom: 80px; }
#Stamp h2 img { max-width: 550px; width: 100%; }
#Stamp h2.en::before { content:''; background: url("../img/en_stamp.svg")no-repeat; display: block; background-size: contain; aspect-ratio: 165 / 68; width: 165px; margin: 0 auto; }
#Stamp .blk { border: 5px solid var(--orange-color); border-radius: 30px; background: #fff; position: relative; max-width: 1000px; margin: 0 auto; padding: 60px 50px; box-sizing: border-box; }
#Stamp .blk.tenpo::before { content: ''; display: block; background: url("../img/stamp_detail.svg")no-repeat; background-size: contain; aspect-ratio: 417 / 72; width: 417px; position: absolute; top: -40px; left: 30px; filter: drop-shadow(10px 5px 5px rgb(255 165 0 / 70%)); }
#Stamp .blk.sanka p.ttl { text-align: center; font-weight: 700; font-size: 2rem; margin-bottom: 20px; }
#Stamp .blk.sanka::before { content: ''; display: block; background: url("../img/stamp_sanka.svg")no-repeat; background-size: contain; aspect-ratio: 447 / 72; width: 447px; position: absolute; top: -40px; left: 30px; filter: drop-shadow(10px 5px 5px rgb(255 165 0 / 70%)); }
#Stamp .blk.sanka .btn { text-align: center; margin-bottom: 30px; }
#Stamp .blk.sanka .btn img { max-width: 575px; margin-bottom: 15px; /* filter:drop-shadow(8px 5px 5px rgb(116 226 255 / 70%))*/ }
#Stamp .blk.sanka ul.step { margin-bottom: 50px; }
#Stamp .blk.sanka ul.step li:first-child::before { content: ''; background: url("../img/step01.png") no-repeat; background-size: contain; display: inline-block; width: 48px; height: 48px; }
#Stamp .blk.sanka ul.step li:nth-child(2)::before { content: ''; background: url("../img/step02.png") no-repeat; background-size: contain; display: inline-block; width: 48px; height: 48px; }
#Stamp .blk.sanka ul.step li:nth-child(3)::before { content: ''; background: url("../img/step03.png") no-repeat; background-size: contain; display: inline-block; width: 48px; height: 48px; }
#Stamp .blk.sanka ul.step li:nth-child(4)::before { content: ''; background: url("../img/step04.png") no-repeat; background-size: contain; display: inline-block; width: 48px; height: 48px; }
#Stamp .blk.sanka ul.step li { position: relative; font-size: 1.25rem; line-height: 1.5; font-weight: 700; padding-left: 55px; }
#Stamp .blk.sanka ul.step li:not(:last-of-type) { margin-bottom: 20px; }
#Stamp .blk.sanka ul.step li::before { position: absolute; top: 0; bottom: 0; left: 0; margin: auto 0; }
#Stamp .blk.sanka ul.step li a { color: var(--orange-color); }
#Stamp .blk.sanka .present { display: grid; justify-content: space-between; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
#Stamp .blk.sanka .place_txt { text-align: center; font-size: 1rem; }

/*section タイトルまわり*/
.sec .ttl_blk .txt { font-size: clamp(16px, 4vw, 24px); font-weight: 700; text-align: center; }
.sec .ttl_blk h2 { text-align: center; margin-bottom: clamp(10px, 3vw, 30px); }

.btn_wrap a.btn_reserve { max-width: 550px; width: 100%; display: block; margin: 0 auto clamp(40px, 6vw, 85px); filter: drop-shadow(0px 7px 7px #ce0d7b); transition: .15s; z-index: 1; position: relative; }
@media (hover: hover) and (pointer: fine) {
.btn_wrap a:hover { filter: none; transform: translateY(5px); }
}

@media (hover: hover) and (pointer: fine) {
  #Access .map a:hover { opacity: .5; }
}
  

ul.annotation_list li { font-size: clamp(0.75rem, 0.719rem + 0.16vw, 0.875rem); line-height: 1.4; }
ul.annotation_list li::before { content: '・'; display: inline-block; font-size: clamp(0.75rem, 0.719rem + 0.16vw, 0.875rem); }

footer { background: url("../img/footer_bg.png")no-repeat; background-size: cover; padding: 40px 0; }
footer .footer_ttl { font-size: clamp(0.875rem, 0.844rem + 0.16vw, 1rem); }
footer .footer_logo { max-width: 400px; width: 100%; margin: 0 auto 20px; z-index: 1; position: relative; }
footer .footer_ttlmunicipality { font-size: 30px; font-weight: 700; }
footer .footer_municipality { font-size: clamp(1.25rem, 1.094rem + 0.78vw, 1.875rem); font-weight: 700; margin-bottom: 10px; line-height: 1.3; }
footer .tel_wrap { margin-bottom: 20px; }
footer .tel_wrap a { font-size: clamp(1.25rem, 1.094rem + 0.78vw, 1.875rem); font-weight: 700; }
footer .tel_wrap img { max-width: 60px; vertical-align: 0px; margin-right: 5px; }
footer small img { max-width: 100px; }
footer .txt_area { text-align: center; }

footer .reception_wrap { margin-bottom: 20px; }
footer p.reception_ttl { font-size: clamp(0.875rem, 0.844rem + 0.16vw, 1rem); }
footer p.date { font-size: clamp(0.813rem, 0.734rem + 0.39vw, 1.125rem); }

/*pagetop*/
.l-footer-pagetop { position: sticky; bottom: 0; z-index: 1; }
.l-footer-pagetop__btn { position: absolute; bottom: 15px; right: 15px; z-index: 9; visibility: hidden; opacity: 0; transition: 0.5s; max-width: 60px; }
.l-footer-pagetop__btn.is-show { visibility: visible; opacity: 1; }
@media (hover: hover) and (pointer: fine) {
    .l-footer-pagetop__btn.is-show:hover { opacity: 0.4; }
}

@media print {
  header , footer { display: none!important; }
}

@media only screen and (max-width: 980px){
  .location .flex { gap: 10px; grid-template-columns: 1fr; }
}

/*　600pxからレスポンシブ*/
@media only screen and (max-width: 600px){
	.pc { display: none; }
	.sp { display: block; }
  
  h2.en { margin-bottom: 15px; }
  h2.en::before { margin-bottom: 10px; }
  .intro_container img.parts_bg01 { width: 120px; left: 5px; }
  .intro_container img.parts_bg02 { top: 24%; width: 75px; left: 30px; }
  .intro_container img.parts_bg03 { top: 24%; width: 75px; left: 30px; }
  .intro_container img.parts_bg04 { width: 90px; left: -30px; }
  .intro_container img.parts_bg05 { top: 69%; width: 100px; left: 40px; }
  .intro_container img.parts_bg06 { top: 69%; width: 100px; left: 0; }
  .intro_container img.parts_bg07 { width: 60px; right: 0; top: 0; }
  .intro_container img.parts_bg08 { width: 90px; right: 0; top: initial; bottom: 10%; }
  .intro_container img.parts_bg02 ,
  .intro_container img.parts_bg09 , .intro_container img.parts_bg11 { display: none; }
  .intro_container img.parts_bg12 { width: 130px; }
  .intro_container img.parts_bg13 { width: 110px; right: initial; left: -5%; bottom: 10%; }
  
  .location .location_inner { padding: 20px; }

  .news { margin-bottom: 40px; }
  .news .news_inner { display: block; }
  .news dl { max-height: 250px; padding-top: 5px; }
  .news dl dt { margin-bottom: 7px; margin-right: 0; }
  .news dl dt::before { margin-right: 5px; vertical-align:-2px; }
  .news dl div { display: block; margin-right: 20px; }
  .news dl div:not(:last-child) { margin-bottom: 15px; }
  .intro_container .btn_wrap .btn_anchor { display: block; }
  .intro_container .btn_wrap .btn_anchor a { display: block; margin: 0 auto 20px; }
  .intro_container .btn_wrap .btn_anchor a.btn01, .intro_container .btn_wrap .btn_anchor a.btn03 { display: block; margin-bottom: 20px; }
  .intro_container .btn_wrap .btn_anchor a.btn01 , .intro_container .btn_wrap .btn_anchor a.btn03 { width: 70%; }
  .intro_container .btn_wrap .btn_anchor a.btn02 { width: 60%; }
  .intro_container .btn_wrap .btn_anchor a.btn04 { width: 85%; }
  .intro_container .btn_wrap .btn_anchor:not(:last-child) { margin-bottom: 20px; }
  .intro_container .kv_chara_img { max-width: 330px; }
  
  #Panel { padding: 15px; }
  #Panel h2.en::before { width: 65px; }
  #Panel .panel_inner { padding: 50px 0 20px; border-radius:20px; }
  #Slider_panel { margin-bottom: 40px; }

  #Card, #Stamp { padding: 60px 0; }
  #Card h2.en::before { width: 65px; margin-bottom: 10px; }
  #Card ul.card_wrap {gap:16px; margin: 40px auto 80px;}
  #Card ul.card_wrap li {width:calc((100% - 16px) / 2);}
  #Stamp .blk.sanka ul.step { margin-bottom: 30px; }
  #Card .blk.tenpo::before { width: 55%; top: -20px; left: -10px; }
  #Stamp .blk.tenpo::before { width: 70%; top: -20px; left: -10px; }
  #Card .blk.nyusyu::before { width: 95%; top: -20px; left: -10px; }
  #Stamp .blk.sanka::before { width: 70%; top: -20px; left: -10px; }

  #Card .blk, #Stamp .blk { border-radius: 20px; padding: 40px 20px 20px; }
  #Card .blk .txt, #Stamp .blk .txt { text-align: left; }
  #Card .blk:not(:last-of-type), #Stamp .blk:not(:last-of-type) { margin-bottom: 40px; }
  #Card .nyusyu p.small { text-align: left; }

  #Stamp h2.en::before { width: 100px; }
  #Stamp .blk.sanka p.ttl  { font-size: 1.25rem; line-height: 1.6rem; margin-bottom: 10px; }
  #Stamp .blk.sanka ul.step li { font-size: 1rem; }
  #Stamp .blk.sanka ul.step li::before { bottom: initial; }
  #Stamp .blk.sanka .place_txt { font-size: 0.875rem; text-align: left; }
  #Stamp .blk.sanka .present { grid-template-columns: 1fr; gap: 10px; }
  #Stamp .intro { margin-bottom: 40px; }
  #Slider_panel .slick-slide { height: 180px; }

  footer { padding: 40px 0; }
  footer .tel_wrap img { max-width: 40px; }
  footer .footer_logo { width: 80%; }
}
