@charset "utf-8";
/* =======================================================================================



RESET



======================================================================================= */
html, body { margin: 0 auto; padding: 0; height: 100%; font-family: sans-serif; line-height: 1.6; word-wrap: break-word; overflow-wrap: break-word; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
a { -webkit-text-decoration-skip: objects; }
a:hover { -webkit-tap-highlight-color: rgba(0,0,0,0); }
a:hover img { text-decoration: none; }
a:focus, *:focus { outline: none; }
a:active, a:hover { outline-width: 0; }
abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; }
address, dfn { font-style: normal; }
audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }
audio:not([controls]) { display: none; height: 0; }
a, address, article, aside, b, button, dd, details, dl, dt, fieldset, figcaption, figure, footer, h1, h2, h3, h4, h5, h6, header, input, legend, li, main, nav, optgroup, p, section, select, summary, textarea, [type="checkbox"], [type="radio"] { margin: 0; padding: 0; }
b { font-weight: inherit; }
button, h1, h2, h3, h4, h5, h6, input, legend, optgroup, select, textarea { font-size: inherit; font-weight: inherit; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
button, input { overflow: visible; cursor: pointer; }
button, select { text-transform: none; }
fieldset { border: none; }
hr { overflow: visible; height: 0; box-sizing: content-box; }
img { max-width: 100%; height: auto; border-style: none; background: transparent; vertical-align: bottom; -webkit-backface-visibility: hidden; -ms-interpolation-mode: bicubic; backface-visibility: hidden; }
mark { background: transparent; color: inherit; }
ol, ul { margin: 0; }
progress { vertical-align: baseline; }
q:before { margin-left: -1.3em; padding-right: .3em; }
sub, sup { line-height: 0; vertical-align: baseline; position: relative; }
sub { bottom: -.25em; }
sup { top: -.5em; }
svg:not(:root) { overflow: hidden; }
textarea { overflow: auto; }
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-input-placeholder { color: inherit; opacity: .6; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
/* =======================================================================================



REDEFINITION



======================================================================================= */
html, body, input, select, select *, textarea { font-family: "IBM Plex Sans JP", sans-serif; letter-spacing: .05em; scroll-behavior: smooth; }
html:has(.frontend), body.frontend, body.frontend input, body.frontend, body.frontend select *, body.frontend textarea { font-family: "Zen Maru Gothic", sans-serif; scroll-behavior: smooth; }

html, body { background: #fff; color: #231815; }
html:has(.frontend), body.frontend { background-color: #f3f3f3; }
html, body, *::placeholder { font-size: 16px; }
.mbl input { font-size: 16px; }

a { color: #6e97bb; text-decoration: none; }

.frontend a { color: #2f2f2f; transition: all .2s linear; }
.frontend a:hover { color: #6e97bb; }

iframe { border: 0; }

p { font-weight: 400; }

strong { font-weight: 600; }
/* =======================================================================================



LOADING



======================================================================================= */
#loading { display: none !important; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255,255,255,.9); text-align: center; }
#loading b { display: block; font-style: italic; }
#loading i,
#loading i:after { border-radius: 50%; width: 4em; height: 4em; }
#loading i { display: block; margin: 10% auto 1em; font-style: normal; font-size: 13px; transform: translateZ(0); animation: loading 1.1s infinite linear;
     border-top: .5em solid rgba(55,55,55,.2);
   border-right: .5em solid rgba(55,55,55,.2);
  border-bottom: .5em solid rgba(55,55,55,.2);
    border-left: .5em solid #181818;
}
@keyframes loading {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
/* =======================================================================================



Z-INDEX



======================================================================================= */
#loading { z-index: 81; }
#quick,
#quick2 { z-index: 80; }

#menu { z-index: 72; }
#masthead { z-index: 71; }
#headfix { z-index: 70; }

#overlay,
#overlay2 { z-index: 61; }
#backToTop { z-index: 60; }

#footer { z-index: 44; }
#main { z-index: 43; }
/* =======================================================================================



LAYOUT



======================================================================================= */
header,
#header,
main,
#main,
footer,
#footer { position: relative; clear: both; width: 100%; margin: 0 auto; }

main article[class*="_unit"].front_unit { padding: 0!important; }
main article[class*="_unit"] { padding-top: 2rem; padding-bottom: 2rem; }
main article[class*="_unit"],
.entry_foot_box,
.mypage_foot_box { padding-right: 2rem; padding-left: 2rem; }
.pdg_box { padding-right: 10px; padding-left: 10px; }

body.frontend #main:not(:has(#mv_unit)) { padding: 1rem 0; }
body.frontend #main { padding: 0!important; }
body.mypage #main,
body.admin #main { padding: 1rem 0 0; }

article:after,
section:after { display: block; clear: both; content: ''; }

.front_unit section + section:not(.pdg_inner) { margin: 24px auto 0; }

#main.flag,
#footer.flag { filter: blur(2px); }

/* パネル */
.panel1,
.panel2,
.panel3,
.panel4,
.panel5,
.panel6 { width: 100%; margin-right: auto; margin-left: auto; }
.panel1 { max-width: 960px; }
.panel2 { max-width: 440px; }
.panel3 { max-width: 1600px; }
.panel4,
.site-content { max-width: 1008px; }
.panel5 { max-width: 1920px; }
.panel6 { max-width: 1280px; }


#menu { width: 232px; }

.sect_unit { }

article + article,
.sect_unit + .sect_unit { margin-top: 2rem; }

.frontend article + article { margin-top: 24px!important; }

.sect_box { border-radius: 8px; padding: 1.5rem; background-color: #fff; }
.sect_box.border { border: 1px solid #bdbdbd; }

@media screen and (min-width: 640px) {
main article[class*="_unit"],
.entry_foot_box,
.mypage_foot_box { padding-right: 2.5rem; padding-left: 2.5rem; }

.pdg_box { padding-right: 24px; padding-left: 24px; }

article + article,
.sect_unit + .sect_unit { margin-top: 3rem; }
}

@media screen and (min-width: 960px) {
body.frontend #main:not(:has(#mv_unit)) { padding: 2rem 0; }
body.frontend #main { padding: 0!important; }
body.mypage:not(.single) #main,
body.mypage #footer_nav,
body.mypage:not(.single) #footer,
body.admin #main,
body.admin #footer_nav,
body.admin #footer { padding-top: 2rem; padding-right: 2rem; padding-bottom: 2rem; padding-left: calc(232px + 2rem); }
body.mypage #main.toggle,
body.mypage #footer_nav.toggle,
body.mypage #footer.toggle,
body.admin #main.toggle,
body.admin #footer_nav.toggle,
body.admin #footer.toggle { padding-top: 1rem; padding-right: 1rem; padding-bottom: 1rem; padding-left: calc(88px + 1rem); }
}

/* =======================================================================================



Font Awesome
疑似要素
content: '\〇〇〇〇';
font: var(--fa-font-brands);
font: var(--fa-font-solid);
font: var(--fa-font-regular);
Unicode
HTML SOURCE⇒ value="&#x〇〇〇〇;&#160;"


======================================================================================= */
[class*="_ico"]:before,
[class*="_ico"]:after,
.prev:before,
.next:before,
li:has(input.prev, input.next):before,
.app_card_box222 dl:before { font-family: 'Font Awesome 7 Free'; display: inline-block; text-rendering: auto; -webkit-font-smoothing: antialiased; }

.brands_ico:before { font: var(--fa-font-brands); content: '\f392'; font-weight: 400; }
.regular_ico:before { font: var(--fa-font-regular); content: '\f392'; font-weight: 400; }

.prev:before,
.next:before,
li:has(input.prev, input.next):before,
.app_card_box222 dl:before { font: var(--fa-font-solid); font-weight: 900; }

.prev:before,
li:has(input.prev):before { content: '\f104'; }
.next:before,
li:has(input.next):before { content: '\f105'; }

.app_card_box222 dl:before { content: '\f058'; }
/* =======================================================================================



ANIMATION (ABOVE THE FOLD)



======================================================================================= */
.anime_fadeout { transition: 1.6s ease-out; }
.anime_scale { transition: .8s ease-out; }
#anime_first { /* jQueryで使用 アニメーション開始の先頭要素に記述 */ }
#anime_first_fade { opacity: 0; }
#anime_first.flag #anime_first_fade {
  animation-name: animeFirstFade;
  animation-duration: 1s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}
@keyframes animeFirstFade {
  to { opacity: 1; }
}

#anime_first #anime_first_bottomUp { opacity: 0; }
#anime_first.flag #anime_first_bottomUp {
  animation-name: animeFirstBottomUp;
  animation-duration: .8s;
  animation-timing-function: ease;
  animation-fill-mode: both;
}
@keyframes animeFirstBottomUp {
  from {
    transform: translate3d(0,4%,0);
  }
  to { opacity: 1;
    transform: translate3d(0,0,0);
  }
}
/* =======================================================================================



HEADER



======================================================================================= */
header a { color: #231815; }
body:not(.frontend) #header,
body:not(.frontend) #headfix,
#masthead { min-height: 40px; }

header ul,
header ol { margin: 0; }

body.frontend #header,
body.frontend #headfix { min-height: 64px; }

.header.panel1 { padding: 2rem 1rem 1rem; }
#login_header { text-align: center; }

.logo1 { width: 240px; }
.logo2,
.logo3 { width: auto; height: 26px; }

#headfix { position: fixed; top: 0; left: 0; width: 100%; }

#front_header { min-height: 64px; display: flex; align-items: center; justify-content: space-between; padding: 0 0 0 56px; background-color: #fff; }

#header.flag #front_header,
#header.scroll #front_header { box-shadow: 0 1px 3px rgb(0 0 0 / 10%), 0 2px 2px rgb(0 0 0 / 6%), 0 0 2px rgb(0 0 0 / 7%); }

.atten_menu_box { list-style: none; display: none; padding: 0 8px 0 0; column-gap: 16px; justify-content: center; align-items: center; }
[class*="atten_menu_item"] a { display: flex; justify-content: center; align-items: center; flex-direction: column; text-decoration: none!important; }
[class*="atten_menu_item"] b { display: none; padding-top: 2px; font-weight: 500; font-size: 11px; letter-spacing: -.05em; line-height: 1.2; }
[class*="atten_menu_item"] i { display: block; font-size: 24px; }
[class*="atten_menu_item"] span { display: none; text-decoration: none; }
header .atten_menu_item1 a { color: #2172bb; }
header .atten_menu_item2 a { color: #5e9b9c; }
.atten_menu_item1  {}
.atten_menu_item2 {}

#masthead { position: relative; background-color: #e6f0f9; }
#masthead,
#masthead a:not([class*="user_bar_"]) { text-decoration: none; }

#masthead { display: flex; align-items: center; }

#masthead .header_ttl { margin-left: 56px; font-weight: 700; font-size: 14px; line-height: 1; }

.user_bar { position: absolute; top: 50%; right: 16px; line-height: 1; transform: translateY(-50%); }
.user_bar dt b { display: none; }
.user_bar b,
.user_bar li { font-size: 13px; }
.user_bar [class*="fa-"] { padding-right: .5em; font-size: 18px; vertical-align: middle; }

.user_bar dt { text-align: right; line-height: 1; cursor: pointer; }
.user_bar dt:after { font-size: 12px; content: '▼'; transition: all .1s ease-out; }
.user_bar dd { opacity: 0; visibility: hidden; z-index: 2; position: absolute; right: 0; background-color: rgba(236,240,241, .6); box-shadow: 0 2px 4px rgba(0,0,0,.4); }
.user_bar dt:hover:after {  }
.user_bar:hover dd { opacity: 1; visibility: visible; }

.user_bar ul,
.user_bar ol { list-style: none; padding: 0; }
.user_bar li { white-space: nowrap; }
.user_bar [class*="user_bar_"] { display: block; padding: 1em; text-decoration: none; }
.user_bar [class*="user_bar_"]:hover { background-color: rgba(205,215,217, .9); text-shadow: 0 -1px 0 #fff; }

#quick { position: fixed; top: 4px; left: 4px; width: 48px; }
#switch { height: 32px; position: relative; background-color: transparent; text-align: center; cursor: pointer; will-change: transform; }
#switch i { position: absolute; top: 4px; left: 8px; width: 32px; height: 24px; background-color: transparent; }
#switch span { position: absolute; left: 0; width: 100%; height: 2px; background-color: #000; transition: all .2s linear; }
#switch span:first-child { top: 4px; }
#switch span:first-child + span { top: 50%; transform: translateY(-50%); }
#switch span:first-child + span + span { bottom: 4px; }

#menu { overflow-y: auto; position: fixed; top: 40px; left: 0; height: 100%; padding: 24px 0 48px; transform: translate3d(-100%,0,0); }
#menu:not(.toggle) { transition: all .2s linear; }
#menu.open { transform: translate3d(0,0,0); background-color: #fff; }

#menu.toggle .nav_toggle { display: none; }
#nav .nav_toggle { display: block; position: absolute; top: 2px; right: 0; padding: 9px 4px 0; font-size: 20px; cursor: pointer; }
#nav a { text-decoration: none; }
#nav [class*="fa-"] { width: 22px; margin: 0 auto; padding-right: .5em; text-align: center; }
#nav .nav_box strong [class*="fa-"] { padding-right: 0; padding-left: .5em; }
#nav .nav_list,
#nav .nav_sub_list { list-style: none; padding: 0; }
#nav li { position: relative; }
#nav li a,
#nav li span,
#nav li.nav_item2 a { display: block; padding: 1rem 1.5rem; border-top: 1px solid #fff; line-height: 1.1; letter-spacing: -.03em; }
#nav .nav_list > li:last-child a { border-bottom: 1px solid #fff; }
#nav .nav_box { display: flex; align-items: flex-start; }
#nav .nav_box > strong { flex: 1; }
#nav .nav_box > i { flex-shrink: 2; }

#menu:not(.toggle) #nav li a,
#menu:not(.toggle) #nav li span,
#menu:not(.toggle) #nav li.nav_item2 a { transition: all .2s linear; }
#nav li > a:hover {  }
#nav li.nav_sub_item a { padding-top: .5rem; padding-bottom: .5rem; }
#nav li.nav_sub_item a { padding-left: 2rem; }
#menu:not(.toggle) #nav li.nav_item2 > a,
#menu:not(.toggle) #nav li.nav_item2 > a:hover {  }
#nav li.nav_sub_item a { padding: .5rem 1.5rem .5rem 3rem; border-top: none; border-bottom: none; }
#nav li s { text-decoration: none; }
#nav .nav_sub_list { display: none; }

#quick2 { position: fixed; top: 12px; left: 5px; }
#switch2 { position: relative; width: 40px; height: 40px; background-color: transparent; text-align: center; vertical-align: middle; cursor: pointer; will-change: transform; }
#switch2 i { position: absolute; top: 8px; left: 4px; width: 32px; height: 24px; background-color: transparent; }
#switch2 span { position: absolute; right: 0; width: 100%; height: 2px; background-color: #1a1a1a; transition: all .2s linear; }
#switch2 span:first-child { top: 0; }
#switch2 span:first-child + span { top: 50%; transform: translateY(-50%); }
#switch2 span:first-child + span + span { bottom: 0; }
#switch2.scroll span,
#switch2.flag span { background-color: #1a1a1a; }
#switch2.flag { background-color: transparent; }

/* CROSS TYPE */
#switch2.flag span:first-child { transform: translateY(10px) rotate(-45deg); }
#switch2.flag span:first-child + span { opacity: 0; }
#switch2.flag span:first-child + span + span { transform: translateY(-12px) rotate(45deg); }
/* MENU */
#menu2 { overflow-y: auto; position: fixed; top: 64px; left: 0; max-width: 400px; width: 90%; height: 100%; padding: 0 0 40px; background-color: white; transform: translate3d(-100%,0,0); }
#menu2:not(.toggle) { transition: all .2s linear; }
#menu2.open { box-shadow: 0 8px 8px dimgray; transform: translate3d(0,0,0); }

#nav2 { padding: 8px 0 40px; margin: 8px auto 40px; }
#nav2 ul { list-style: none; padding: 0; font-size: 16px; }
#nav2 ul a { display: block; padding: 8px 24px; }

.sns_group { list-style: none; display: flex; column-gap: 8px; flex-wrap: wrap; margin: 24px auto; padding: 0; }
#nav2 .sns_group { padding: 0 24px; }
.sns_group i { font-size: 28px; }

#overlay,
#overlay2 { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; }
#overlay2.flag { display: block; }

@media screen and (min-width: 280px) {
.atten_menu_box { display: flex; }
}
@media screen and (min-width: 330px) {
[class*="atten_menu_item"] b { display: block; }
}
@media screen and (min-width: 360px) {
[class*="atten_menu_item"] b { font-size: 12px; }
}
@media screen and (min-width: 640px) {
#front_header { padding: 0 0 0 72px; }
#quick2 { left: 20px; }
.atten_menu_box { position: absolute; right: 24px; padding: 0 0 0 0; }
[class*="atten_menu_item"] a { flex-direction: row; }
[class*="atten_menu_item"] b { padding-top: 0; font-size: 16px; }
[class*="atten_menu_item"] i { margin-right: 8px; }
}
/* =======================================================================================



CHANGE MENU'S LAYOUT



======================================================================================= */
@media screen and (max-width: 960px) {
#switch.flag i { top: 5px; left: 10px; }
#switch.flag span { background-color: #000; }
#switch.flag span:first-child { transform: translateY(7px) rotate(-45deg); }
#switch.flag span:first-child + span { opacity: 0; }
#switch.flag span:first-child + span + span { transform: translateY(-7px) rotate(45deg); }
#overlay.flag { display: block; }
}

@media screen and (min-width: 960px) {
#quick { top: 9px; left: 16px; }
body:not(.frontend) #header,
body:not(.frontend) #headfix,
#masthead { min-height: 48px; }

#front_header { justify-content: center; padding: 0 24px; }
.logo3 { height: 42px; }

.user_bar,
.user_bar_action { min-width: 124px; }
.user_bar dt b { display: inline-block; overflow: hidden; max-width: 12em; vertical-align: middle; text-overflow: ellipsis; white-space: nowrap; }
.user_bar dt:after { padding-left: 1em; }

#masthead .header_ttl { margin-left: 72px; }
#header.toggle #masthead .header_ttl {  }
#menu { top: 48px; padding-bottom: 64px; transform: translate3d(0,0,0); }

#header.toggle #switch span:first-child + span { width: 75%; }
#header.toggle #switch span:first-child + span + span { width: 50%; }

#menu.toggle { width: 88px; }
#menu.toggle #nav li b { font-size: 12px; }
#menu.toggle #nav li s,
#menu.toggle #nav .nav_sub_list { display: none; }
#menu.toggle #nav li span,
#menu.toggle #nav .nav_item2:hover { }
#menu.toggle #nav li a,
#menu.toggle #nav li span { padding: 1rem 0 .8rem; }
#menu.toggle #nav li a,
#menu.toggle #nav li span,
#menu.toggle #nav .nav_item2 { text-align: center; }
#menu.toggle #nav [class*="fa-"] { display: block; padding: 0 0 .5em; }
#menu.toggle #nav .nav_logout { letter-spacing: -.05em; }
#menu.toggle #nav .nav_box { flex-direction: column; align-items: center; }

#quick2 { left: 24px; }
/*#switch2 { display: none; }
#menu2 { position: relative; top: auto; right: auto; overflow: visible; width: auto; max-width: none; height: auto; padding: 0; transform: none; }*/
}
/* =======================================================================================



テーブル



======================================================================================= */
/* テーブル ※デフォルトはseparate */
[class*="_tbl"] { width: 100%; margin: 0 auto; border-collapse: collapse; border-spacing: 0; }

[class*="_tbl"] .omit { overflow: hidden; max-width: 112px; text-overflow: ellipsis; white-space: nowrap; }

/* 横長テーブル用 スマホ時に横スクロールバー */
.tbl_box { margin-bottom: 1rem; overflow-x: auto; white-space: nowrap; animation-fill-mode: both; }
.tbl_box::-webkit-scrollbar { height: 24px;/* tableにスクロールバーを追加 */ }
.tbl_box::-webkit-scrollbar-track { background: #f1f1f1;/* tableにスクロールバーを追加 */ }
.tbl_box::-webkit-scrollbar-thumb { background-color: #bcbcbc;/* tableにスクロールバーを追加 */ }

.tbl_box.pt2 { max-height: 64vh; white-space: normal; padding: 0 1rem 0 0; }
.tbl_box.pt2 thead { position: sticky; top: 0; z-index: 2; }
.tbl_box.pt2 th { white-space: nowrap; }
.tbl_box.pt2 td:not(:first-child):not(.list_img):not(.list_txt):not(.list_day):not(td[nowrap="nowrap"]) { min-width: 120px;}

.tbl_box.pt2 [class*="_tbl"] { border-collapse: separate; }

[class*="_ttl"] + .tbl_box,
[class*="_ttl"] + .adjus_tbl { margin-top: 2rem; }

/* テーブル 装飾 */
.adjus_tbl th,
.adjus_tbl td,
.list_tbl th,
.list_tbl td { padding: .4rem .25rem .25rem; }
.list_tbl th,
.list_tbl td { font-size: 13px; }
.list_tbl td[nowrap="nowrap"] { text-align: center; }
.list_tbl th { background-color: #f5f5f5; }
.list_tbl .cur { background-color: #e9f2ff; }
.list_tbl .ng { background-color: #ffede9; }
.list_tbl th.list_img b { display: block; width: 120px; }
.list_tbl .list_img img { width: 120px; }
.list_tbl .list_txt  { min-width: 320px; }
.list_tbl .list_day { min-width: 200px; }
.list_tbl .list_day b { display: inline-block; padding-right: 1em; }
.list_tbl tr.gray { background-color: #e1e1e1; }
.adjus_tbl th,
.adjus_tbl td { vertical-align: top; }
.adjus_tbl th { white-space: nowrap; text-align: left; }
.adjus_tbl th,
.adjus_tbl td { display: block; }


/* テーブル 線の色 */
.list_tbl tr,
tr.grayout.on,
tr.grayout.show,
.list_tbl.pt2 th,
.list_tbl.pt2 td { border-color: #d1d1d1; }

/* テーブル 横線 */
.list_tbl { margin-bottom: 1rem; background-color: #fff; }
.list_tbl.pt2 th { border-top: 1px solid #d1d1d1; }
.list_tbl tr,
tr.grayout.on,
tr.grayout.show { border-bottom-width: 1px; border-bottom-style: solid; }

/* テーブル 縦線 */
.list_tbl.pt2 { border-right: 1px solid #d1d1d1; }
.list_tbl.pt2 th,
.list_tbl.pt2 td { border-bottom-width: 1px; border-bottom-style: solid; border-left-width: 1px; border-left-style: solid; }
.list_tbl.pt2 th:last-child,
.list_tbl.pt2 td:last-child {  }


/* テーブル 行を隠す */
tr.grayout { background-color: #ccc; border: none; line-height: 0; transform: scale(1,0); transform-origin: center top; }
tr.grayout:not(.on, .show) td { padding: 0; }
tr.grayout.hide {  }
tr.grayout.on,
tr.grayout.show { line-height: inherit; }
tr.grayout.show { transform: scale(1,1); }
tr.grayout.on { animation: grayoutOn .1s ease-out forwards; }
@keyframes grayoutOn {
from {
    transform: scale(1,0);
  }
  to {
    transform: scale(1,1);
  }
}
tr.grayout.off { animation: grayoutOff .1s linear forwards; }
@keyframes grayoutOff {
from {
  transform: scale(1,1);
  }
  to {
    transform: scale(1,0);
  }
}

@media screen and (min-width: 800px) {
.adjus_tbl th,
.adjus_tbl td { display: table-cell; }
}

@media screen and (min-width: 1280px) {
.tbl_box { white-space: normal; }
}
/* =======================================================================================



フォーム



======================================================================================= */
input[type="text"], input[type="search"], input[type="radio"], input[type="tel"], input[type="time"], input[type="url"], input[type="week"], input[type="password"], input[type="checkbox"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], select, textarea { border: 1px solid #adb8c3; 
box-shadow: 0 1px 2px rgba(0,0,0,.07) inset; transition: border-color .4s ease-in-out; }
input[type="text"]:focus, input[type="search"]:focus, input[type="radio"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="week"]:focus, input[type="password"]:focus, input[type="checkbox"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus, select:focus, textarea:focus { border-color: #666; box-shadow: 0 0 3px #ccc; }
input[readonly="readonly"] { background-color: #eee; color: #eee; cursor: not-allowed; }
input[type="radio"] { border: none; box-shadow: none; }
textarea { display: block; }
input[type="checkbox"],
input[type="radio"], input[type="radio"]:focus { margin: -.2em .5em 0; vertical-align: middle; }
label input[type="checkbox"] { vertical-align: middle; }
input[type="radio"], input[type="radio"]:focus, input[type="checkbox"], input[type="checkbox"]:focus { box-shadow: none; }
label { vertical-align: middle; cursor: pointer; }
input, select, textarea,
.input_txt { padding: .5rem; }

.form_unit { background-color: #fff; }
.form_unit input:not([type="checkbox"],[type="radio"],[type="hidden"],[type="button"]),
.form_unit select,
.form_unit textarea,
.form_unit .radio_box:has(.input_more_box) label,
.form_unit .check_box:has(.input_more_box) label { min-height: 3rem; }
.form_unit input:not([type="checkbox"],[type="radio"],[type="hidden"]),
.form_unit select,
.form_unit textarea { width: 100%; }
.form_unit textarea { height: 9rem; }
.form_unit textarea.row2 { height: 4rem; }
.form_unit input[disabled],
.form_unit textarea[disabled],
.form_unit select[disabled] { opacity: 1; background-color: transparent; border: 1px solid transparent; box-shadow: none; color: inherit; appearance: none; }
.form_unit input[disabled]:hover,
.form_unit textarea[disabled]:hover,
.form_unit select[disabled]:hover { cursor: text; }

.form_unit label { position: relative; display: flex; align-items: center; }
.form_unit .label_txt { display: inline-block; }

.form_unit > p + p { margin-top: 1em; }

.err_box { display: none; }

.important_box { margin: 1rem auto; padding: 1rem 0; }
.important_box [class*="_ttl"] { margin-bottom: 0; }
.important_box .itemized_box { margin-top: 0; margin-bottom: 0; }
.important_inner { overflow-y: scroll; padding: 1rem 1.5rem; height: 184px; border: 1px solid #ccc; box-shadow: 1px 1px 4px #ededed inset; }
.important_box + .important_box { margin-top: 0; padding-top: 0; }

dl.def_box,
dl.form_box,
div.form_box { padding: .5rem 0; }
dl.def_box > dt,
dl.form_box > dt { font-weight: 700; }
dl.def_box > dt small,
dl.form_box > dt small { font-weight: 400; }

dl.def_box > dd { padding: .5rem 0 1rem; }
dl.def_box > dd + dt { padding-top: 1rem; }
dl.def_box > dd > ul > li + li,
dl.def_box > dd > ol > li + li,
ul.def_box > li > dl > dd > ul > li + li { padding-top: 1em; }
dl.def_box > dd > ul > li > ul,
dl.def_box > dd > ul > li > ol,
dl.def_box > dd > ol > li > ul
dl.def_box > dd > ol > li > ol,
ul.def_box > li > dl > dd > ul > li > ul { padding-top: .5em; }

ul.def_box > li > dl > dd > ul { list-style: disc; padding-left: 2em; }
ul.def_box > li > dl > dd > ul ul { list-style: circle; padding-left: 2em; }

dl.def_box ul.asterisk_box,
dl.def_box ol.asterisk_box { padding-left: 1em; }

ul.form_box,
ol.form_box { list-style: none; display: flex; flex-direction: column; padding: 0; gap: 8px; }

.form_gray_box { margin: 1em auto; padding: 1em; background-color: #efefef; }

.sect_box:has(+ .form_box) { margin-bottom: 1rem; }

.input_box { list-style: none; padding: 0; width: 100%; display: flex; gap: 8px; }
.input_box.auto { width: auto!important; }
.check_box { list-style: none; padding: 0; width: 100%; display: flex; gap: 8px; align-items: flex-start; }
ul.check_box { justify-content: center; }
ul.check_box.left { justify-content: flex-start; }
ul.check_box.right { justify-content: flex-end; }
ol.check_box { padding: 16px 0; flex-wrap: wrap; flex; gap: 16px; }
.radio_box { list-style: none; padding: 8px 0; display: flex; flex-direction: column; gap: 8px; }
.radio_box.pt2 { flex-direction: row; }

.input_more_box { list-style: none; padding: 0; display: flex; flex-basis: 100%; flex-direction: column; }
.input_more_box span { flex: 1; margin: 4px 0; }
.form_unit .input_more_box input:not([type="checkbox"],[type="radio"],[type="hidden"]) { /*padding: 0 .25em; height: 1.5rem;*/ }
.radio_box .input_more_box span,
.check_box .input_more_box span,
.input_more_box .input_box { margin-left: 1em; }


.textarea_box { list-style: none; padding: 0; width: 100%;  }

.input_box.pt1 { flex-direction: column; }
.input_box.pt2 { flex-wrap: wrap; }
.input_box.pt1 > *,
.input_box.pt2 > * { flex: 1; }
.input_box.pt2 > * { min-width: 240px; }
.input_box.auto > * { flex: none!important; min-width: auto!important; }
.input_box.auto input { width: auto !important; }
.input_box.tel_box > *:nth-child(2),
.input_box.tel_box > *:nth-child(4),
.input_box.zip_box > *:nth-child(2) { min-width: .5rem; text-align: center; }
.input_box.tel_box > *:nth-child(2) span,
.input_box.tel_box > *:nth-child(4) span,
.input_box.zip_box > *:nth-child(2) span { display: block; width: 100%; height: 2px; margin: 0; background-color: #888; }

.input_box.tel_box { max-width: 24em; align-items: center; }
.input_box.tel_box > *:nth-child(odd) { flex: 1; }
.input_box.tel_box > *:nth-child(even) { flex-shrink: 2; }

.input_box.zip_box { align-items: center; }
.input_box.zip_box > *:first-child { width: 4em; }
.input_box.zip_box > *:nth-child(3) { width: 5em; }

.form_box .prefecture_box { width: 8em; }

.day_check_box li { min-width: 8em;}

.radio_media_tbl { width: auto; margin-left: 0; }
.radio_media_tbl th,
.radio_media_tbl td { border: 1px solid #ccc; font-size: 13px; }
.radio_media_tbl th { padding: 1rem 0; background-color: #f5f5f5; }
.radio_media_tbl th:first-child { width: 5%; }
.radio_media_tbl th:nth-child(n+2) { width: 270px; }
.radio_media_tbl td { text-align: center; padding: 1rem 0; }
.radio_media_tbl [colspan] { text-align: left; padding: .5rem; }
.radio_media_tbl [rowspan],
.radio_media_tbl [colspan] { border-bottom-width: 3px; border-bottom-style: double; }
.radio_media_tbl td:has(input) { padding: 1rem; background-color: #F5F5F5 }
.radio_media_tbl .fa-check { color: cornflowerblue; }
.radio_media_tbl .fa-xmark { color: brown; }

@media screen and (min-width: 400px) {
.search_unit .form_box dt b { font-size: 11px; }
.search_unit ul.form_box.pt4,
.search_unit ol.form_box.pt4 { flex-direction: row; align-items: flex-end; flex-wrap: wrap; }
.search_unit ul.form_box.pt4 > *,
.search_unit ol.form_box.pt4 > * { flex-basis: calc(97% / 2); }
}


@media screen and (min-width: 640px) {
ul.form_box,
ol.form_box { flex-direction: row; align-items: flex-end; }

ul.form_box.pt2 > *,
ol.form_box.pt2 > * { flex-basis: calc((100% - 16px) / 2); }

ul.form_box.pt3 > *,
ol.form_box.pt3 > * { flex-basis: calc((100% - 16px) / 3); }

ul.form_box.pt4 > *,
ol.form_box.pt4 > * { flex-basis: calc((100% - 16px) / 4); }

ul.form_box.pt5 > *,
ol.form_box.pt5 > * { flex-basis: calc((100% - 16px) / 5); }

ul.form_box.pt6 > *,
ol.form_box.pt6 > * { flex-basis: calc((100% - 16px) / 6); }

.input_more_box { flex-direction: row; align-items: center; }

.radio_media_tbl [colspan] { padding: 1rem; }
.radio_media_tbl th:not(:empty) { padding-right: .5rem; padding-left: .5rem; }
}

@media screen and (min-width: 800px) {
.search_unit ul.form_box.pt4 > *,
.search_unit ol.form_box.pt4 > * { flex-basis: calc(95% / 4); }
}
@media screen and (min-width: 1280px) {
.search_unit .form_box dt b { font-size: 14px; }
}
@media screen and (min-width: 1400px) {
.search_unit .form_box dt b { font-size: inherit; }
}
/* =======================================================================================



COMPONENT / MODULE

行送り 30pt → 30pt/15px(サイズ) = 2
⇒ line-height: 2;
文字間 115 → 115/ 1000 = 0.115
⇒ letter-spacing: .115em;

_unit (ひとまとまり article,section)
_panel (パネル(section))
_dsp (jQuery用 表示/非表示)
  _box (最小単位のレイアウトボックス(div,dl,ol,ul))
  _group (まとまりol,ul)
  _card_box (カード型レイアウト：ol,ul)
    _inner (boxに対してのインナー)
    _header(要素・コンテンツの上部)
    _body(要素・コンテンツの本文)
    _footer(要素・コンテンツの下部)
      _tbl (table)
      _card (li)
      _item (dt,dd,li)
      _btn (ボタン)
        _ttl (タイトル,dt)
        _txt (テキスト)
        _ico (アイコン)
        _img (画像)
        _bnr (バナー)



======================================================================================= */
.attn,
.err { color: #e74c3c !important; }

.form_box dt .attn { padding-right: .25em; padding-left: .25em; }
b.attn { font-weight: 400; }

.ttl { margin-bottom: 1em; font-weight: 600; font-size: 24px; }
.sub_ttl { margin-bottom: 1em; font-weight: 600; font-size: 20px; }
.head_ttl { font-weight: 700; }
.fttl,
.entry-title,
.front_unit .sub_ttl { margin-bottom: 1em; font-weight: 500; font-size: 22px; }
.entry-title { font-size: 22px!important; margin-bottom: .5em!important;}

#main > .ttl { padding-right: 1rem; padding-left: 1rem; }
.sect_unit .ttl,
.sect_unit .sub_ttl { margin-bottom: .25em; }

.ttl small:has(.attn),
.sub_ttl small:has(.attn) { padding: 0 .5em; font-weight: 400; font-size: 64%; }


form > .head_ttl { margin-bottom: .25em; }

.form_box + .head_ttl { margin-top: .5em; }

.eye { padding: .25em .5em; cursor: pointer; }

ul.asterisk_box,
ol.asterisk_box { list-style: none; padding: .5em 0; }

ul.asterisk_box > li,
ol.asterisk_box > li { position: relative; text-indent: -1.2em; padding-left: 1.2em; }

ul.asterisk_box > li + li,
ol.asterisk_box > li + li { padding-top: .25em!important; }

ul.asterisk_box > li:before,
ol.asterisk_box > li:before { content: '※'}

.link_box { display: block; border-width: 1px; border-style: solid; border-radius: 8px; text-align: center; line-height: 1; padding: 1em; }
.frontend .link_box1 { border-color: #2f2f2f; }
.frontend .link_box2 { border-color: #3864bc; background-color: #f3f3f3; color: #3d65bc; }
.frontend .link_box3 { border-color: #609d9e; background-color: #f3f3f3; color: #609d9e; }
.link_box2:hover,
.link_box3:hover { background-color: #fff; }
.link_box4 { border-radius: 0; border-color: #bebebe; }
.link_box4:hover { color: #2f2f2f !important; background-color: #f3f3f3 !important; }

@media screen and (min-width: 320px) {
}

@media screen and (min-width: 560px) {
}

@media screen and (min-width: 640px) {
.ttl { font-size: 32px; }
.sub_ttl { font-size: 24px; }
.head_ttl { font-size: 18px; }
.fttl,
.entry-title,
.front_unit .sub_ttl { font-size: 26px; }
.entry-title { font-size: 26px!important;}
}

@media screen and (min-width: 960px) {
#main > .ttl { padding-right: 0rem; padding-left: 0rem; }
}

@media screen and (min-width: 1400px) {
.fttl,
.entry-title,
.front_unit .sub_ttl { font-size: 28px; }
.entry-title { font-size: 28px!important;}

.front_search_box .fttl { font-size: 25px; }

}


/* ボタン */
.btn_box { display: flex; flex-wrap: wrap; list-style: none; gap: .5rem; max-width: 960px; margin: auto; padding: 0; }
.btn_box [class*="_btn"] { letter-spacing: .15em; }
.btn_box > * { flex-basis: 100%; padding: .25rem 0; }
.btn_box > *:empty { padding: 0!important; line-height: 1; }
body:not(.admin_login) .btn_box:has(.submit_btn):last-of-type { margin-top: 1rem; }
.btn_box:has(li:only-child) { justify-content: center; }
.btn_box:has(+ p) { margin-bottom: 1rem; }
form + .btn_box,
[class*="_unit"] > p + .btn_box,
.btn_box + .btn_box { margin-top: 3rem; }
.btn_box + .btn_box:has(.delete_btn) { margin-top: 6rem; }
.btn_none_box { padding: 3rem 0; }

[class*="_btn"] { position: relative; display: inline-block; overflow: hidden; margin: auto; padding: 1rem; border-radius: 2px; border: none; color: #fff; line-height: 1; text-align: center; vertical-align: middle; text-decoration: none !important; cursor: pointer; transition: all .2s linear; }

#payjp_checkout_box input[type="button"] { height: 48px !important; font-size: inherit!important; }
#payjp_checkout_box input[type=button].has-token { border: 1px solid #000!important; background-color: #fff!important; color: #000!important; margin-bottom: 1rem; }
#payment.submit_btn { border: 1px solid #2fa0dc; color: #fff; background-color: #198fcc;
    background-image: -webkit-linear-gradient(#35a9e6 0, #319cd3 48%, #2590c7 100%);
    background-image: -moz- oldlinear-gradient(#35a9e6 0,#319cd3 48%,#2590c7 100%);
    background-image: -o-linear-gradient(#35a9e6 0,#319cd3 48%,#2590c7 100%);
    background-image: linear-gradient(#35a9e6 0, #319cd3 48%, #2590c7 100%);
}

[class*="_btn"]:hover { filter: brightness(108%) opacity(80%); }

a[class*="_btn"]:before { display: inline-block; width: 0; vertical-align: middle; content: ''; }
[class*="_btn"] [class*="fa-"] { padding-right: .4rem; }
[class*="_btn"] b { display: inline-block; }
.btn_box [class*="_btn"] { width: 100%; }
.input_box [class*="_btn"] { padding: 0 .5rem; width: auto!important; height: 3rem; font-size: 14px; }
[class*="_tbl"] td [class*="_btn"] { padding: .5rem; }
[class*="_btn"] strong { display: block; margin-bottom: .5rem; font-size: 150%; }
@media screen and (max-width: 360px) {
[class*="_btn"] strong { font-size: 120%; }
}

/* 送信ボタン */
.submit_btn { background-color: #231815; }
li:has(.submit_btn) { text-align: center; }
/* 戻るボタン */
.back_btn { background-color: #919191; }
/* 通常ボタン */
.normal_btn { border: 1px solid #cdcdcd; background-color: #e4e4e4; color: #212529; text-shadow: rgba(255,255,255,.5) 0 -1px 0; }
.normal_btn:hover { text-shadow: none; }
/* ファイル出力ボタン */
.output_btn { border: 1px solid #5d9a33; background-color: #70ad47; text-shadow: 0 -1px 0 #467825; }
.output_btn:hover { text-shadow: none; }
/* 削除ボタン */
.delete_btn { background-color: #e74c3c; }

/* ページャー・進む戻るボタン */
.prev,
.next,
li:has(input.prev, input.next) { position: relative; }
.prev:before,
.next:before,
li:has(input.prev, input.next):before { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; }

a.prev:before,
li:has(input.prev):before { left: 1em; }
a.next:before,
li:has(input.next):before { right: 1em; }

li:has(input.prev, input.next):before { color: #ecf0f1; }
li:hover:has(input.prev, input.next):before { color: #212529; }

.prev [class*="_btn"],
.next [class*="_btn"] { width: 100%; }
/* ページャー */
.pager_box { overflow: hidden; margin: 0 auto 1rem; text-align: center; }
.pager_box:has(ul) { margin-right: -.5em; margin-left: -.5em; }
.pager_box.right { margin-bottom: .5rem; }
.pager_box ol,
.pager_box ul { list-style: none; display: inline-block; margin: auto; padding: 0; }
.pager_box li { float: left; padding: .5em .5em 0; }
.pager_box li a,
.pager_box li span,
.pager_box li input,
.pager_box li button { display: block; padding: .75em 1em; border-radius: 4px; border: 1px solid #414141; background-color: #fff; color: #070707; line-height: 1; text-decoration: none; transition: all .2s linear; }
.pager_box li .prev { padding-left: 2em; }
.pager_box li .next { padding-right: 2em; }
.pager_box li .current,
.pager_box li a:hover,
.pager_box li input:hover,
.pager_box li button:hover { background-color: #dfdfdf; color: #212529; }

.pager_box ul { width: 100%; }
.pager_box ul li { width: 33.333333%; }
.pager_box ul li:first-child { text-align: left; }
.pager_box ul li:last-child { text-align: right; }
.pager_box li a,
.pager_box li li span,
.pager_box li input,
.pager_box li button { display: inline-block; }
@media screen and (min-width: 360px) {

}
@media screen and (min-width: 640px) {
.btn_box.pt2 > * { flex-basis: calc(98% / 2); } 
.btn_box.pt3 > * { flex-basis: calc(98% / 3); } 
.input_box [class*="_btn"] { padding: 0 1em;  }
}
/* =======================================================================================



箇条書きリスト



======================================================================================= */
.itemized_box { list-style: none; padding: 0; margin: 0 auto; }
.itemized_box > li { padding: 1em; }
.itemized_box dt { font-weight: 600; }
.itemized_box dd p + p { margin-top: 1em; }
.itemized_box dd ul { list-style: disc; margin-top: .5em; }
/* =======================================================================================



フロント トップ メインビジュアル



======================================================================================= */
.mv_img { display: block; overflow: hidden; }
.mv_img img { transition: all .2s linear; }
.mv_img.sp { aspect-ratio: 1 / 1; }
.mv_img.sp img { width: 100%; height: 40vh; object-fit: cover; }
.mv_img.pc { display: none; aspect-ratio: 2 / 1; }
.mv_img.pc img { width: 100%; height: 100%; object-fit: cover; }

.feature_unit { position: relative; z-index: 2; margin-top: -10%; }
.feature_box { list-style: none; padding: 0 10px; display: flex; column-gap: 10px; align-items: stretch; justify-content: center; }
.feature_box a { color: #2f2f2f; }
.feature_item { display: flex; flex-direction: column; flex: 1; align-items: center; max-width: 256px; }
.feature_card { width: 100%; height: 100%; padding: 12px 4px; display: flex; flex-direction: column; background-color: rgba(255,255,255,.8); box-shadow: 0 0 4px rgba(170,170,170,.8); border-radius: 16px; }
.feature_card_inner { display: flex; flex-direction: column; height: 100%; text-align: center; }
.feature_card_icon { position: relative; padding-bottom: 10px; transition: all .5s linear; }
* a:hover .feature_card_icon { transform: rotateY(180deg); }
.feature_card_icon i { font-size: 24px; z-index: 2; }
.feature_card_icon span { position: relative; display: flex; justify-content: center; align-items: center; width: 40px; height: 40px; margin: auto; border-radius: 50%; }
.feature_card_icon1 {}
.feature_card_icon1 i { font-size: 20px; color: #fff; }
.feature_card_icon1 span { background-color: #3d65bc; }
.feature_card_icon2 {}
.feature_card_icon2 i { color: #f35e2c; }
.feature_card_icon2 span { background-color: #f3b28a; }
.feature_card_icon2 span:before { position: absolute; margin-top: 1px; font-family: 'Font Awesome 7 Free'; display: inline-block; text-rendering: auto; -webkit-font-smoothing: antialiased; content: '\f041'; font: var(--fa-font-solid); font-weight: 900; font-size: 31px; color: #fff; }
.feature_card_icon3 {}
.feature_card_icon3 i { color: #fff; }
.feature_card_icon3 span { background-color: #cfb97c; }
.feature_card_ttl { font-weight: 500; font-size: 12px; line-height: 1.2; transition: all .2s linear; }
.feature_box a:hover .feature_card_ttl { color: #3d65bc; }
.feature_card_txt { display: none; padding-top: 24px; font-size: 14px; line-height: 1.2; }
.feature_unit .wbr,
.feature_card_txt br { display: none; }

@media screen and (min-width: 360px) {
.mv_img.sp img { height: 56vh; }
}
@media screen and (min-width: 420px) {
.feature_box { column-gap: 24px; }
.mv_img.sp img { height: 64vh; }
}
@media screen and (min-width: 480px) {
.mv_img.sp img { height: 72vh; }
}
@media screen and (min-width: 640px) {
.mv_img.sp img { height: 80vh; }

.feature_box { padding: 0 24px; }
.feature_card { padding: 24px 8px; }
.feature_card_icon { padding-bottom: 20px; }
.feature_card_icon i { font-size: 48px; }
.feature_card_icon span { width: 80px; height: 80px; }
.feature_card_icon1 i { font-size: 44px; }
.feature_card_icon2 span:before { font-size: 55px; }
.feature_card_ttl { font-size: 20px; }
.feature_card_txt { display: block; }

}
@media screen and (min-width: 800px) {
.mv_img.sp img { height: 88vh; }
}
@media screen and (min-width: 840px) {
.feature_unit .wbr,
.feature_card_txt br { display: inline; }
}
@media screen and (min-width: 920px) {
.mv_img.pc { display: block; }
.mv_img.sp { display: none; }
}
@media screen and (min-width: 1400px) {

}
/* =======================================================================================



フロント トップ お知らせ



======================================================================================= */
.sdw_box { border-radius: 8px; box-shadow: 0 1px 4px rgba(170,170,170,.8); }
.pdg_inner { padding: 32px 24px; }
.more_right_txt { text-align: right; }
.more_right_txt a { text-decoration: underline; }
.more_right_txt a:hover { text-decoration: none; }
.cat_icon { white-space: nowrap; display: block; color: #fff; line-height: 1; text-align: center; }
.cat_icon_visitor,
.cat_icon_for_visitors { background-color: #3864bc; }
.cat_icon_exhibitor,
.cat_icon_for_exhibitors { background-color: #609d9e; }


.news_toc_box { overflow: hidden; text-align: center; background-color: #fff; }
.news_toc_tbl { width: auto; max-width: 960px; margin: 0 auto 16px; }

.news_toc_tbl th,
.news_toc_tbl td { display: block; vertical-align: top; padding: 0!important; font-weight: 400; }

.news_toc_tbl th { font-weight: normal; text-align: left; border: none!important; background-color: #fff!important; }
.news_toc_item { display: flex; flex-wrap: wrap; }
.news_toc_date { padding-right: 0; }
.news_toc_date span { display: block; width: 88px; white-space: nowrap; font-weight: 400; font-size: 16px; }
.news_toc_box .cat_icon { padding: 2px 1em 3px; font-size: 11px; }

.news_toc_box .cat_icon + .cat_icon { margin-top: 4px; }

.news_toc_tbl tr + tr th { padding-top: 16px!important; }
.news_toc_tbl td { padding-bottom: 16px!important; border: none!important; border-bottom: 1px solid #bebebe!important; font-size: 14px; text-align: left; line-height: 1.4; }
.news_toc_tbl td a:hover { text-decoration: underline; }

@media screen and (min-width: 640px) {
.pdg_inner.news_toc_box { padding: 32px 40px; }
.news_toc_tbl th,
.news_toc_tbl td { display: table-cell; }
.news_toc_tbl tr + tr th { padding-top: 0!important; }
.news_toc_tbl td { padding-bottom: 0!important; border-bottom: none!important; font-size: 15px; line-height: 1.5; }
.news_toc_item { flex-wrap: nowrap; }
.news_toc_cat { padding-top: 4px; padding-right: 16px; }
.front_top_unit .news_toc_cat { padding-top: 5px; }
.news_toc_box .cat_icon { min-width: 120px; }
}

/* =======================================================================================



フロント トップ 来場者の方へ 出展・出店の方へ



======================================================================================= */
.top_double_unit {}
.top_double_group { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 24px; }
.top_double_group > * { flex-basis: 50%; display: flex; flex-direction: column; }
.top_ve_box { text-align: center; flex: 1; background-color: #fff; }
.top_ve_box br { display: none; }
.top_ve_box p:not(:has(.link_box)):not(:has(.fttl)) { margin-bottom: 32px; }
.top_ve_box p:has(.link_box) + p:has(.link_box) { margin-top: 16px; }
.top_visitor_box {}
.top_exhibitor_box {}
.top_visitor_box .fttl { color: #3d65bc; }
.top_exhibitor_box .fttl { color: #609d9e; }
@media screen and (min-width: 640px) {
.top_double_group { flex-direction: row; }
}
@media screen and (min-width: 960px) {
.top_ve_box br { display: inline; }
}
/* =======================================================================================



フロント トップ ABOUT



======================================================================================= */
.top_about_unit { margin: 40px auto !important; min-height: 400px; display: flex; flex-direction: column; justify-content: center; background-image: url("https://portal.hayama-artfes.com/assets/img/top_about.jpg"); background-repeat: no-repeat; background-position: center center; background-size: cover; }
.top_about_box { max-width: 468px; background-color: rgba(255,255,255,.88); }
@media screen and (min-width: 1400px) {
.top_about_unit .fttl { font-size: 26px; }
}
/* =======================================================================================



フロント トップ GUIDEBOOK



======================================================================================= */
.top_guidebook_unit { padding: 0 14px; }
.top_guidebook_unit .fttl { text-align: center; }
.top_guidebook_box { display: flex; flex-direction: column; }
.top_guidebook_box dt { max-width: 320px; margin: 0 auto 24px; }
.top_guidebook_box figure {}
.top_guidebook_box figure span {}
.top_guidebook_box figure span img { width: 320px; margin-bottom: 32px; }
.top_guidebook_box figcaption {}
.top_guidebook_tbl { margin: 0 auto; }
.top_guidebook_tbl thead th,
.top_guidebook_tbl tbody th { font-weight: 500; text-align: left; }
.top_guidebook_tbl thead th { font-size: 14px; padding-bottom: 16px; }
.top_guidebook_tbl thead th b { font-weight: 500; padding-right: 1em; }
.top_guidebook_tbl tbody tr { border-top: 1px solid #b5b5b5; }
.top_guidebook_tbl tbody th { vertical-align: top; }
.top_guidebook_tbl tbody th,
.top_guidebook_tbl tbody td { padding: 16px 0; font-size: 14px; }
.top_guidebook_tbl tbody th b { display: inline-block; }



@media screen and (min-width: 640px) {
.top_guidebook_unit { padding: 0; }
.top_guidebook_box { flex-direction: row; }
.top_guidebook_box dt { margin-bottom: 0; }
.top_guidebook_box dd { padding-left: 32px; }
.top_guidebook_tbl tbody th,
.top_guidebook_tbl tbody td { display: block; }
.top_guidebook_tbl tbody th { padding: 8px 0 4px; }
.top_guidebook_tbl tbody td { padding: 4px 0 8px; }
}

@media screen and (min-width: 800px) {
.top_guidebook_unit .fttl { margin-bottom: 2em; }
.top_guidebook_tbl tbody th,
.top_guidebook_tbl tbody td { display: table-cell; padding: 16px 0; }
.top_guidebook_tbl tbody th { padding-right: 1em; font-size: 16px; }
}

/* =======================================================================================



フロント トップ 協賛



======================================================================================= */

.top_sponsor_unit { background-color: #fff; }

.top_sponsor_unit .fttl { text-align: center; }
.top_sponsor_group { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.top_sponsor_group > * { flex-basis: calc((100% - 16px) / 2); display: flex; }
.top_sponsor_group .link_box4 { word-break: break-all; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; width: 100%; height: 100%; gap: 6px 0; padding: .5em!important; font-size: 13px; }

@media screen and (min-width: 400px) {
.top_sponsor_group > * { flex-basis: calc((100% - 16px) / 3); }
.top_sponsor_group .link_box4 { padding: 1em!important; }
}

@media screen and (min-width: 640px) {
.top_sponsor_group .link_box4 { min-height: 60px; }
}


@media screen and (min-width: 800px) {
.top_sponsor_unit .pdg_inner { padding-top: 40px; padding-bottom: 40px; }
.top_sponsor_group { gap: 24px 32px; }
.top_sponsor_group > * { flex-basis: calc((100% - 64px) / 3); }
.top_sponsor_group .link_box4 { font-size: 16px; min-height: 72px; }
}
/* =======================================================================================



フロント 青空アート市



======================================================================================= */
.front_spot_unit .fttl { text-align: center; color: #3d65bc; }
.front_spot_box { padding: 0 0 40px; }
.front_spot_lead { max-width: 560px; margin: auto;  text-align: center; margin-bottom: 32px; }
.front_spot_lead p br { display: none; }
.front_spot_ttl { font-weight: 600; font-size: 18px; }
.aozora_list_box { padding-top: 1em; }
.aozora_day { width: 96%; list-style: none; padding: 0; display: flex; gap: 0 16px; }
.aozora_day_ttl { cursor: pointer; color: #ccc; font-weight: 700; border: 1px solid #ccc; border-radius: 8px 8px 0 0; padding: .5em 1em .25em; font-size: 18px; margin-bottom: -1px; z-index: 2; background-color: rgba(255,255,255,.5); }
.aozora_day_ttl small { display: block; font-size: 10px; }
.aozora_day_ttl1 strong { color: #3d65bc; }
.aozora_day_ttl2 strong { color: #bc3d3d; }
.aozora_day_ttl strong { opacity: .3; }
.aozora_day_ttl.flag { color: inherit; border-bottom: 1px solid #fff; background-color: #fff; }
.aozora_day_ttl.flag strong { opacity: 1; }
.aozora_list_inner1,
.aozora_list_inner2 { display: none; }
.aozora_list_inner1.flag,
.aozora_list_inner2.flag { display: block; border: 1px solid #ccc; border-radius: 0 8px 8px 8px; padding: 24px 16px; background-color: #fff; }
.aozora_list_group { list-style: none; padding: 0; display: flex; flex-wrap: wrap; flex-direction: column; gap: 16px; }
.aozora_list_group li:nth-child(6) { display: none; }

.aozora_detail { display: flex; gap: 8px; }
.aozora_detail ul { list-style: none; padding: 0; }
.aozora_no span { display: block; text-align: center; padding: .5em; border-width: 1px; border-style: solid; font-size: 14px; line-height: 1; }
.aozora_list_inner1 .aozora_no span { border-color: #3d65bc; }
.aozora_list_inner2 .aozora_no span { border-color: #bc3d3d; }
.aozora_ttl { font-weight: 500; font-size: 14px; }
.aozora_txt:before { content: ''; }
.aozora_txt { font-size: 13px;}

@media screen and (min-width: 420px) {
.aozora_list_group { flex-direction: row; }
.aozora_list_group > * { flex-basis: calc((100% - 32px) / 2); }
}

@media screen and (min-width: 640px) {
.front_spot_lead p br { display: inline; }
.aozora_box { display: flex; align-items: flex-start; /* 追従の開始位置を揃える */ }
.aozora_inner1 {
  position: -webkit-sticky; /* Safari対応 */
  position: sticky;
  top: 108px; /* 画面の一番上に固定 */
  height: calc(100vh - 108px); /* 高さを画面いっぱいに固定 */
  display: flex;
  align-items: flex-start; /* 上端に合わせる */
  justify-content: center; /* 横方向は中央のまま */
  overflow: hidden;
  flex-basis: 50%;
}
.aozora_inner1 img {
width: auto;
  max-width: 100%;
  /* 高さを画面内に収める */
  max-height: calc(100vh - 108px); 
  height: auto; /* アスペクト比を維持 */
  /* 上付きを確実にするため */
  object-fit: contain;
  object-position: top;
}
.aozora_inner2 { flex-basis: 50%; }
.aozora_list_box { padding-top: 0; padding-left: 1em; }
.aozora_list_group { flex-direction: column; }
}
@media screen and (min-width: 800px) {
.aozora_day_ttl { font-size: 22px; }
.aozora_day_ttl small { font-size: 12px; }
.front_spot_box { padding: 10px 40px 40px; }
.aozora_inner1 { flex-basis: 40%; }
.aozora_inner2 { flex-basis: 60%; }
.aozora_list_group { flex-direction: row; }
.aozora_list_group > * { flex-basis: calc((100% - 32px) / 2); }
}

@media screen and (min-width: 1280px) { 
.aozora_inner1 { flex-basis: 30%; }
.aozora_inner2 { flex-basis: 70%; }
.aozora_list_group > * { flex-basis: calc((100% - 32px) / 3); }
}

/* =======================================================================================



フロント 検索



======================================================================================= */
.front_search_unit.pdg_inner,
.front_result_unit.pdg_inner { padding: 32px 16px; }
.front_search_unit.pdg_inner { padding-bottom: 0; }
#front_search_ttl { margin-bottom: 0; cursor: pointer; color: #3d65bc; font-size: 16px; }
#front_search_ttl i { color: #231815; margin-right: .5em; transition: transform 0.3s ease; }
/* このクラスがついた時に180度回転する */
#front_search_ttl.is-open i { transform: rotate(180deg); }
.front_search_dsp { padding-top: 18px; }
.front_search_box { padding: 24px 16px; }
.front_search_unit .fttl,
.front_result_box .fttl { text-align: center; }
.front_form_group1 { gap: 16px; }
.front_form_group1 li:first-child { flex: 1; }
.front_form_group1 li:nth-child(2) { flex: 3; }
.front_form_group1 li:last-child { flex: 2; }
.front_form_group1 .ms-parent { width: 100% !important; }
.front_form_group1 .ms-choice { height: 3rem !important; }
.front_form_group1 .ms-choice>span { top: .5em; left: .5em; }

.front_result_box { padding: 0 0 40px; }
.area_unit + .fttl  { margin-top: 40px; }
.evt_card_box { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 18px 16px; justify-content: center; }
.evt_card { display: flex; flex-direction: column; flex: 1; }
.evt_box { display: flex; flex-direction: column; height: 100%; /* 親の.evt_cardと同じ高さにする */ border-radius: 8px; overflow: hidden; /* 角丸を中身にも適用 */ }
.evt_box.sdw_box:hover { box-shadow: 0 1px 4px rgb(100 100 100 / 80%); }
.evt_inner { display: flex; flex-direction: column; height: 100%;}
.evt_img { position: relative; }

.evt_img span { position: absolute; top: 8px; left: 8px; padding: .5em 1em; background-color: #fff; font-size: 12px; line-height: 1; }
.area_ttl2,
.area_ttl3,
.area_ttl4,
.area_ttl5 { color: #282828; }
.area_ttl_kamakura,
.area_ttl_zushi { color: #217ec3; }
.area_ttl_nagae,
.area_ttl_horiuchi { color: #53b431; }
.area_ttl_isshiki,
.area_ttl_kikoba { color: #f49c1e; }
.area_ttl_shimoyamaguchi,
.area_ttl_kamiyamaguchi { color: #39bbc8; }
.area_ttl_yokosuka { color: #d985b6; }

.area_unit2 .evt_img span,
.area_unit3 .evt_img span,
.area_unit4 .evt_img span,
.area_unit5 .evt_img span { border: 1px solid #7c7c7c; background-color: rgba(255,255,255,.8); color: #2f2f2f; }
.area_unit_kamakura .evt_img span,
.area_unit_zushi .evt_img span { background-color: #217ec3; color: #fff; }
.area_unit_nagae .evt_img span,
.area_unit_horiuchi .evt_img span { background-color: #53b431; color: #fff; }
.area_unit_isshiki .evt_img span,
.area_unit_kikoba .evt_img span { background-color: #f49c1e; color: #fff; }
.area_unit_shimoyamaguchi .evt_img span,
.area_unit_kamiyamaguchi .evt_img span { background-color: #39bbc8; color: #fff; }
.area_unit_yokosuka .evt_img span { background-color: #d985b6; color: #fff; }


.evt_img figure { aspect-ratio: 19 / 13; overflow: hidden; }
.evt_img figure img { width: 100%; height: 100%; object-fit: cover; }
.evt_detail { background-color: #fff; padding: 10px 10px 24px; flex-grow: 1; display: flex; flex-direction: column; }
.evt_detail > dl {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.evt_ttl {
  /* 1. 高さを2行分に固定 (1.4em × 2行 = 2.8em) */
  height: 2.6em; 
  /* 2. 2行を超えるテキストを「...」で省略 */
  display: -webkit-box;
  -webkit-line-clamp: 2; /* 表示する最大行数 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  /* 3. レイアウト調整 */
  flex-shrink: 0; /* 他の要素に押されて高さが縮まないように固定 */
}
.evt_ttl b { font-weight: 600; display: block; line-height: 1.4; }
.evt_org { text-align: right; padding: 8px 0 0; }
.evt_org b { font-size: 10px;
  height: 3em;
  /* 2行を超えるテキストを「...」で省略 */
  display: -webkit-box;
  -webkit-line-clamp: 2; /* 表示する最大行数 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  /* 3. レイアウト調整 */
  flex-shrink: 0; /* 他の要素に押されて高さが縮まないように固定 */
}
.evt_day { font-size: 12px; 
  height: 3em;
  letter-spacing: -.05em;
  /* 2行を超えるテキストを「...」で省略 */
  display: -webkit-box;
  -webkit-line-clamp: 2; /* 表示する最大行数 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  /* 3. レイアウト調整 */
  flex-shrink: 0; /* 他の要素に押されて高さが縮まないように固定 */
}
.evt_day ol { list-style: none; padding: 0; }
.evt_day ol li { display: inline-block; }
.evt_day ol li:after { content: ','; padding-right: 1em; }
.evt_day ol li:last-child:after { content: ''; padding-right: 0; }
.evt_hour {}
.evt_hour b { font-size: 12px; font-weight: 600; }
.evt_txt { padding-top: 8px; word-break: break-all; flex-grow: 1; }
.evt_txt b { display: block; font-size: 12px; }

.no_result_unit { text-align: center; padding: 40px; }

@media screen and (min-width: 384px) { 
.evt_card_box { flex-wrap: wrap; flex-direction: row; }
.evt_card { flex: 0 0 calc((100% - 16px) / 2); }
}
@media screen and (min-width: 640px) {
#front_search_ttl { font-size: 20px; }
.front_search_unit.pdg_inner,
.front_result_unit.pdg_inner { padding: 32px 24px; }
.evt_ttl { height: 2.8em; }
.area_unit + .fttl  { margin-top: 72px; }
.evt_org { padding: 8px; }
.evt_org b { font-size: 12px; }
.front_search_box { padding: 32px; }
.front_search_dsp { padding-top: 24px; }
.evt_detail { padding: 10px 16px 24px; }
}
@media screen and (min-width: 720px) {
.evt_card_box { gap: 32px 16px; }
.evt_card { flex: 0 0 calc((100% - 16px * 2) / 3); }
}
@media screen and (min-width: 1280px) {
.evt_card { flex: 0 0 calc((100% - 16px * 3) / 4); }
}

/* =======================================================================================



フロント イベント詳細ページ



======================================================================================= */
.edtl_mv_unit {}
.edtl_mv_fig { position: relative; }
.edtl_mv_fig span { display: block; height: 24vh; overflow: hidden; }
.edtl_mv_fig span:before { content: ''; width: 100%; height: 100%; z-index: 2; position: absolute; top: 0; left: 0; background-color: rgb(60 60 60 / 60%); }
.edtl_mv_fig img { width: 100%; height: 100%; object-fit: cover; filter: blur(2px); }

.edtl_mv_fig figcaption { position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; display: flex; padding: 16px; }

.edtl_mv_ttl { position: relative; margin: auto; z-index: 3; color: #fff; font-size: 24px; font-weight: 600; letter-spacing: .05em; text-shadow: 0px 0px 1px rgb(23 23 23 / 70%); }

.edtl_cat_group { list-style: none; margin: 0 auto 16px; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.edtl_tag { display: block;  padding: .5em 1em; border: 1px solid #ccc; background-color: #fff;  text-align: center; font-size: 11px; }

.edtl_fttl_box { display: flex; justify-content: center; align-items: center; gap: 16px; margin-bottom: 8px; }
.edtl_fttl_box dt span { line-height: 1; text-align: center; display: block; padding: .5em 1em; font-weight: 500; font-size: 13px; }
.edtl_fttl_box .fttl { margin-bottom: 0; }
.edtl_sub_fttl { text-align: center; margin-bottom: 24px; }

.front_edtl_unit .pdg_inner { padding: 24px 20px; }

.front_edtl2 {}
.front_edtl3 {}
.front_edtl4 {}
.front_edtl_kamakura {}
.front_edtl_zushi {}
.front_edtl_nagae {}
.front_edtl_horiuchi {}
.front_edtl_isshiki {}
.front_edtl_kikoba {}
.front_edtl_shimoyamaguchi {}
.front_edtl_kamiyamaguchi {}
.front_edtl_yokosuka {}

.front_edtl2 .edtl_fttl_box .fttl,
.front_edtl3 .edtl_fttl_box .fttl,
.front_edtl4 .edtl_fttl_box .fttl,
.front_edtl5 .edtl_fttl_box .fttl { color: #282828; }
.front_edtl_kamakura .edtl_fttl_box .fttl,
.front_edtl_zushi .edtl_fttl_box .fttl { color: #217ec3; }
.front_edtl_nagae .edtl_fttl_box .fttl,
.front_edtl_horiuchi .edtl_fttl_box .fttl { color: #53b431; }
.front_edtl_isshiki .edtl_fttl_box .fttl,
.front_edtl_kikoba .edtl_fttl_box .fttl { color: #f49c1e; }
.front_edtl_shimoyamaguchi .edtl_fttl_box .fttl,
.front_edtl_kamiyamaguchi .edtl_fttl_box .fttl { color: #39bbc8; }
.front_edtl_yokosuka .edtl_fttl_box .fttl { color: #d985b6; }

.front_edtl2 .edtl_fttl_box dt span,
.front_edtl3 .edtl_fttl_box dt span,
.front_edtl4 .edtl_fttl_box dt span,
.front_edtl5 .edtl_fttl_box dt span { border: 1px solid #282828; }
.front_edtl_kamakura .edtl_fttl_box dt span,
.front_edtl_zushi .edtl_fttl_box dt span { background-color: #217ec3; color: #fff; }
.front_edtl_nagae .edtl_fttl_box dt span,
.front_edtl_horiuchi .edtl_fttl_box dt span  { background-color: #53b431; color: #fff; }
.front_edtl_isshiki .edtl_fttl_box dt span,
.front_edtl_kikoba .edtl_fttl_box dt span { background-color: #f49c1e; color: #fff; }
.front_edtl_shimoyamaguchi .edtl_fttl_box dt span,
.front_edtl_kamiyamaguchi .edtl_fttl_box dt span { background-color: #39bbc8; color: #fff; }
.front_edtl_yokosuka .edtl_fttl_box dt span { background-color: #d985b6; color: #fff; }

.area_ttl2,
.area_ttl3,
.area_ttl4,
.area_ttl5 { color: #282828; }
.area_ttl_kamakura,
.area_ttl_zushi { color: #217ec3; }
.area_ttl_nagae,
.area_ttl_horiuchi { color: #53b431; }
.area_ttl_isshiki,
.area_ttl_kikoba { color: #f49c1e; }
.area_ttl_shimoyamaguchi,
.area_ttl_kamiyamaguchi { color: #39bbc8; }
.area_ttl_yokosuka { color: #d985b6; }

.edtl_fig span { display: block;}
.edtl_fig span img { display: block; margin: 0 auto; }
.edtl_fig figcaption { padding: 24px 8px; display: flex; }
.edtl_fig figcaption p { margin: auto; font-size: 14px; }
.edtl_fig figcaption p br { /*display: none; */}

.edtl_dtl_unit { background-color: #fff; }
.edtl_dtl_box {}
.edtl_dtl_unit + .edtl_dtl_unit,
.edtl_dtl_box + .edtl_dtl_box,
.edtl_dtl_box + .edtl_dtl_unit,
.edtl_dtl_unit + .edtl_dtl_box { margin-top: 24px; }

.edtl_dtl_box dt { font-weight: 600; color: #9d9d9d; }

.edtl_dtl_day {}
.edtl_dtl_day ol { list-style: none; padding: 0; display: flex; gap: 1em; flex-wrap: wrap; }
.edtl_dtl_hour {}

.edtl_dtl_add {}

.edtl_dtl_add a i { padding-right: 1em; color: #f74946; }
.edtl_dtl_add a { text-decoration: underline; }
.edtl_dtl_add a:hover { text-decoration: none; }

.edtl_dtl_fee {}

.edtl_dtl_capa {}

.edtl_dtl_info i,
.edtl_dtl_phone i,
.edtl_dtl_email i,
.edtl_dtl_url i { margin-right: .5em; }

.edtl_dtl_url a { text-decoration: underline; }
.edtl_dtl_url a:hover { text-decoration: none; }

.edtl_dtl_etc a { display: inline-block; }

.edtl_dtl_ex { background-color: #ebebeb; }

.edtl_dtl_ex:empty,
.edtl_etc_fig:empty { display: none; }

.edtl_etc_fig { padding: 0 24px; display: flex; gap: 16px; align-items: center; }
.edtl_etc_fig_item { flex: 1; text-align: center; }

/* --- 子要素が「合計1つ」の場合のスタイル --- */
/* 「最初の子」であり、かつ「後ろから数えて1番目」＝ 要素が1つしか存在しない */
.edtl_etc_fig_item:first-child:nth-last-child(1) {
  flex: none;
  width: 100%;
}

/* --- 子要素が「合計2つ」の場合のスタイル --- */
/* 「最初の子」であり、かつ「後ろから数えて2番目」である要素と、その兄弟要素 */
.edtl_etc_fig_item:first-child:nth-last-child(2),
.edtl_etc_fig_item:first-child:nth-last-child(2) ~ .edtl_etc_fig_item { flex: 0 0 calc((100% - 16px) / 2); }

@media screen and (min-width: 640px) {
.edtl_mv_fig span { height: 32vh; }
.edtl_mv_ttl { font-size: 32px; }
.edtl_fig figcaption { padding: 24px 22px 32px; }
.edtl_fig figcaption p { font-size: 16px; line-height: 1.8; }
.edtl_fig figcaption p br { /*display: inline;*/ }
.front_edtl_unit .pdg_inner { padding: 32px 24px; }
/* --- 子要素が「合計2つ」の場合のスタイル --- */
/* 「最初の子」であり、かつ「後ろから数えて2番目」である要素と、その兄弟要素 */
.edtl_etc_fig_item:first-child:nth-last-child(2),
.edtl_etc_fig_item:first-child:nth-last-child(2) ~ .edtl_etc_fig_item { flex: 0 0 calc((100% - 24px) / 2); }
}

/* =======================================================================================



GUIDE



======================================================================================= */
.guide_unit > .sub_ttl { text-align: center; }
/* =======================================================================================



マイページ



======================================================================================= */
.app_card_box + .app_card_box { margin-top: 2rem; }
.app_card_box + [class*="_ttl"] { margin-top: 2rem; }
.app_card_box { list-style: none; flex-direction: column; padding: 0; display: flex; justify-content: space-between; gap: 32px; }
.app_card_box li { display: flex; flex-direction: column; }
.app_card_box dl { display: flex; flex-direction: column; flex-grow: 1; position: relative; min-width: 152px; padding: 1rem .5rem; border-radius: 8px; border: 1px solid #bdbdbd; background-color: #fff; text-align: center; }
.app_card_box dt { font-size: 64px; }
.app_card_box dd { font-weight: 600; }
.app_card_box dt,
.app_card_box b { /*color: #bbb;*/ }
.app_card_box b,
.app_card_box small,
.app_card_box .status_link { display: block; line-height: 1; }
.app_card_box .status_link { margin: .5rem auto; max-width: 90%; padding: .7rem 0 .5rem; color: #fff; transition: all .2s linear; }
.app_card_box .status_link.off { pointer-events: none; background-color: #bbb!important; }
.app_card_box .status_link.soldout { pointer-events: none; background-color: #e74c3c!important; }
.app_card_box .status_link [class*="fa-"] { font-size: 90%; }
.app_card_box small { margin: .5rem auto; font-size: 12px; }
.app_card_box222 dl:before { position: absolute; top: -8px; right: -8px; font-size: 40px; }
.status_art_box dt,
.status_art_box b,
.status_art_box small,
.art_ttl { color: #6e97bb; }
.app_card_box .status_art_box .status_link { background-color: #6e97bb; }
.status_exhibit_box dt,
.status_exhibit_box b,
.status_exhibit_box small,
.exhibit_ttl { color: #6ebb7f; }
.app_card_box .status_exhibit_box .status_link { background-color: #6ebb7f; }

.app_card_box a.status_link:hover { filter: brightness(1.2); /* 1.2倍の明るさにする（薄くなる）*/ }

ul.def_box,
ol.def_box { list-style: none; padding: 0; display: flex; gap: 24px; flex-direction: column; }
ul.def_box li dl,
ol.def_box li dl { display: flex; flex-wrap: wrap; }
ul.def_box li dt,
ol.def_box li dt { white-space: nowrap; padding-right: 2em; padding-bottom: .5em; }
ul.def_box li dt i,
ol.def_box li dt i { padding-right: .5em; }
ul.def_box li dt b,
ol.def_box li dt b { font-weight: 600; }

ul.def_box + *,
ol.def_box + * { margin-top: 3rem; }


.spot_box { display: flex; flex-direction: column; }
.spot_box > * { padding: 1rem 0; }
.spot_ttl,
.spot_box .num_ttl { font-weight: 700; font-size: 20px; margin-bottom: 1em; }
.spot_ttl1 strong { color: blue; }
.spot_ttl2 strong { color: firebrick; }
.spot_res_inner2 { margin-top: 1rem; padding-top: 2em; border-top: 1px solid #ddd; }
.spot_box .spot_ttl1 + .num_ttl:has(span) { margin-top: -1em; }
.spot_box .num_ttl span { font-weight: 400; font-size: 64px; }
.spot_day_box { margin-bottom: 2rem; }
.spot_day_box:last-of-type { margin-bottom: 0; }
.spot_radio_box { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 1rem; }
.spot_radio_box > * {  }
.spot_radio_box label:has(input:disabled) { color: #c3c3c3; }
.spot_radio_box input[type="radio"] { min-width: 14px; }
.spot_radio_box label:has(input[type="radio"][disabled]):before { position: absolute; top: 0; left: 8px; content: '✖'; }
.spot_radio_box b { display: inline-block; min-width: 22px; text-align: right; }

.spot_res_box ol { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 16px; }
.spot_res_box ol dl { display: flex; }
.spot_res_box ol dt { width: 3em; padding-right: 1em; text-align: right; }

.spot_img { width: 320px; }

.address_box { margin-top: .5rem; margin-bottom: .5rem; }
.more_address_box { position: relative; }
.more_address_box::before { position: absolute; top: -8px; left: -8px; width: calc(100% + 16px); height: calc(100% + 16px); content: ''; z-index: 1; background-color: rgba(176,176,176,.73); }
.more_address_box.flag::before { display: none; }

.whatis_box p + p { margin-top: 1em; }
.whatis_more_box { background-color:  #f5f5f5; padding: 1rem; }

.user_id_box { display: flex; align-items: center; margin-bottom: 24px; }
.user_id_box dt { font-size: 32px; line-height: 1; color: #676767; }
.user_id_box dd { line-height: 1.2; }
.user_id_box dd .ttl,
.user_id_box dd [class*="_ttl"] { margin-bottom: 0; font-size: 16px; }

html:has(.preview_exhibit_print_unit),
body:has(.preview_exhibit_print_unit) { background-color: #f5f5f5; }
.preview_exhibit_ttl { margin-bottom: 1em; font-weight: 600; font-size: 20px; text-align: center; }
.exhibit_print_box { width: 246px; margin: auto; padding: 16px; background-color: #fff; }
.exhibit_print_img_unit { }
.exhibit_print_img_box { aspect-ratio: 19 / 13; overflow: hidden; }
.exhibit_print_img_box img { width: 100%; height: 100%; object-fit: cover; }
.exhibit_print_txt_unit {}
.exhibit_print_txt_box { padding-top: 10px; }
.exhibit_print_txt { overflow: hidden; }
.exhibit_print_txt1 { height: 48px; font-weight: 600; font-size: 16px; }
.exhibit_print_txt2 { height: 20px; padding-top: 3px; font-size: 12px; }
.exhibit_print_txt3 { height: 20px; padding-top: 4px; font-size: 12px; }
.exhibit_print_txt4 { height: 60px; padding-top: 6px; font-size: 12px; }
.exhibit_print_txt3_box { display: flex; list-style: none; padding: 0; justify-content: space-between; }
.exhibit_print_txt3_box li { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.exhibit_print_txt3_box li:first-child { flex-basis: 50%;}
.exhibit_print_txt3_box li:last-child { flex-basis: 50%; padding-left: 1em; }

.exhibit_print_aside { max-width: 400px; margin: 2rem auto 0; padding-top: 2rem; border-top: 4px dotted #bbb; text-align: center; }
.exhibit_print_aside img { margin: auto; }
.exhibit_print_aside p { margin-bottom: 1em; }

.card_info_box { max-width: 480px; margin: 3rem auto 1rem; padding: 1rem 1rem 0; border: 1px solid #888; border-radius: 16px; }
.card_info_ttl { padding: .5em .5em .4em; border-radius: 8px; background-color: #d2a930; color: #fff; font-weight: 600; text-align: center; }
.card_info_ttl b { display: inline-block; }
.card_info_box ul { display: flex; flex-wrap: wrap; justify-content: center; margin: 1rem auto; }
.card_info_box li { padding-right: 2.5em; }

@media screen and (min-width: 376px) {
.app_card_box { flex-direction: row; flex-wrap: wrap; margin-top: .5rem; gap: 8px; }
.app_card_box li { width: calc(50% - 4px); }
}

@media screen and (min-width: 504px) {
.app_card_box li { width: auto; }
.app_card_box dl { width: 216px; }
.app_card_box dd { font-size: 18px; }
}

@media screen and (min-width: 528px) {
.app_card_box { justify-content: center; gap: 32px; }
}

@media screen and (min-width: 600px) {
.spot_box { flex-direction: row; }
.spot_box > * { flex-basis: 50%; }
.spot_box > *:last-child { padding-left: 1rem; }
}
@media screen and (min-width: 640px) {
.user_id_box dt { font-size: 36px; } 
.user_id_box dd .ttl,
.user_id_box dd [class*="_ttl"] { font-size: 18px!important; }
}
@media screen and (min-width: 960px) {
.app_card_box { justify-content: flex-start; }
}

@media screen and (min-width: 1280px) {
ul.def_box li dl,
ol.def_box li dl { flex-wrap: nowrap; }
ul.def_box li dt,
ol.def_box li dt { min-width: 184px; }
}
@media screen and (min-width: 1560px) {
.spot_box > *:first-child { flex-basis: 64%; }
.spot_box > *:last-child { flex-basis: 70%; }
}
/* =======================================================================================



Lightbox Featherlight



======================================================================================= */
.featherlight { padding: 1rem; }
.lightbox.featherlight-inner { padding: 1rem; }
.lightbox.featherlight-inner [class*="_ttl"] { margin-bottom: 1rem; }
.lightbox.featherlight-inner p + p { margin-top: 1rem; }
/* =======================================================================================



各ページの追加FOOTER 



======================================================================================= */
.entry_foot_box,
.mypage_foot_box { margin-top: 1rem; margin-bottom: 1.5rem; }
.entry_foot_box ol,
.mypage_foot_box ol { display: flex; flex-wrap: wrap; padding: 0; list-style: none; gap: 32px; justify-content: center; }
/* =======================================================================================



BACK TO THE TOP



======================================================================================= */
#backToTop { display: none; position: fixed; right: 8px; bottom: 8px; }
#backToTop span { display: block; width: 32px; height: 32px; margin: auto; padding-left: 1px; border: 1px solid #999; border-radius: 50%; color: #999; font-size: 20px; font-family: Arial; text-align: center; line-height: 30px; vertical-align: middle; cursor: pointer; }
#backToTop span *,
#backToTop span:after,
#backToTop span:hover { transition: all .2s ease-in; }
#backToTop span:after { content: '△'; }
#backToTop span:hover { background-color: #999; color: #fff; }
/* =======================================================================================



FOOTER



======================================================================================= */
footer { position: relative; }
#copyright { color: #999; font-size: small; text-align: center; line-height: 48px; /* #backToTopの高さ分を確保 */ vertical-align: middle; }
#front_footer { background-color: #d9d9d9; }
.front_footer_box { display: flex; flex-direction: column; }
.front_footer_box .logo4 { display: block; width: 200px; }
.front_footer_box .front_footer_nav { display: flex; flex-wrap: wrap; gap: 16px; }
.front_footer_box .front_footer_nav ul { list-style: none; display: flex; flex-wrap: wrap; padding: 0; gap: 16px; }
.front_footer_box .front_footer_nav ul li { font-size: 14px; }
.front_footer_box .front_footer_nav ul li a:hover { color: #000;}

@media screen and (min-width: 640px) {
#front_footer .pdg_inner { padding-top: 40px; padding-bottom: 44px; }
.front_footer_box { flex-direction: row; justify-content: space-between; gap: 32px; }
.front_footer_box .sns_group { margin-bottom: 0; }
.front_footer_box dd { flex: 1; }
.front_footer_box .front_footer_nav ul { gap: 16px 32px; }
}

@media screen and (min-width: 1280px) {
.front_footer_box { gap: 64px; }
}
/* =======================================================================================



OVERWRITE



======================================================================================= */


