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



RESET



======================================================================================= */
html, body { margin: 0 auto; padding: 0; 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; }
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-optical-sizing: auto; font-family: 'Noto Sans JP', 'Poppins', 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif; font-style: normal;  }

html, body { background: #fff; color: #242424; letter-spacing: .03em; }
html, body, *::placeholder, input, select, textarea { font-size: 14px; }

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

a { color: #03c; }
a:hover { text-decoration: none; }

iframe { border: 0; }

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



FONT



======================================================================================= */
.noto_thin,
.noto_extralight,
.noto_light,
.noto_regular,
.noto_medium,
.noto_semibold,
.noto_bold,
.noto_extrabold,
.noto_black { font-family: 'Noto Sans JP', sans-serif; font-optical-sizing: auto; font-style: normal; }

.noto_thin { font-weight: 100; }
.noto_extralight { font-weight: 200; }
.noto_light { font-weight: 300; }
.noto_regular { font-weight: 400; }
.noto_medium { font-weight: 500; }
.noto_semibold { font-weight: 600; }
.noto_bold { font-weight: 700; }
.noto_extrabold { font-weight: 800; }
.noto_black { font-weight: 900; }

[class*="poppins_"] { font-family: 'Poppins', sans-serif; font-style: normal; }
.poppins_light { font-weight: 300; }
.poppins_regular { font-weight: 400; }
.poppins_medium { font-weight: 500; }
.poppins_semibold { font-weight: 600; }
.poppins_bold { font-weight: 700; }
.poppins_black { font-weight: 900; }
/* =======================================================================================



Z-INDEX



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

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

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

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



LAYOUT



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

#header,
#main,
#footer { position: relative; clear: both; width: 100%; min-width: 280px; margin: 0 auto; }

.cover { position: relative; z-index: 3; }

/* パネル */
.panel { width: 100%; max-width: 1296px; margin: 0 auto; padding: 0 16px; }
@media screen and (min-width: 1328px) {
.panel { padding: 0; }
}
/* =======================================================================================



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"],
[class*="_ico"]:before,
[class*="_ico"]:after,
.prev:before,
.next:before,
li:has(input.prev, input.next):before,
.form .ttl:before { font-family: 'Font Awesome 6 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; }

.solid_ico:before,
.prev:before,
.next:before,
li:has(input.prev, input.next):before,
.form .ttl: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'; }

.form .ttl.flag:before { content: '\f078'; }
.form .ttl:before { content: '\f077'; }
/* =======================================================================================



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 { min-height: 102px; }
.lmv_unit { margin-top: -102px; padding: 158px 0 0; }

header,
#masthead { position: relative; padding: 0 !important; }



.mhd2_menu_box,
.mhd2_attn_box { min-height: 54px; }

#headfix { position: fixed; top: 0; left: 0; width: 100%; padding: 24px 12px; }

#masthead { display: flex; align-items: center; justify-content: space-between; border-radius: 0 6px 6px 0; background-color: rgba(255,255,255,.8); }
#masthead a { text-decoration: none; }
a.mhd1 { color: inherit; }
.mhd1 { display: flex; align-items: center; height: 54px; }
.mhd1_img.pt1,
.mhd1_img.pt3 { margin: 0 16px; }
.mhd1_img.pt2 { display: none; margin: 0 8px 0 16px; }
.mhd1_img img { display: block; width: auto; width: 83px; height: 35px; }
.mhd1_ttl { display: none; padding: 0; font-size: 12px; line-height: 1.2; }
.mhd1_ttl span { display: inline-block; }
.mhd2 { margin-left: auto; }
.mhd2_menu_box { list-style: none; padding: 0; }
.mhd2_menu_box li { margin-bottom: 1rem; font-size: 13px; line-height: 1; white-space: nowrap; }
.mhd2_menu_box li,
.mhd2_attn_box { padding: 1.5em 2em; }
.mhd2_menu_box li a { display: block; color: #242424; font-weight: 500; transition: all .2s linear; }
.mhd2_menu_box li a:hover { color: #646464; }
a.mhd2_attn_box { background-color: #d7000f; color: #fff!important; transition: all .2s linear; }
a.mhd2_attn_box:hover { background-color: #e77981; }


#quick2 { position: fixed; top: 0; right: 0; }
#switch2 { position: fixed; top: 24px; right: 32px; width: 56px; height: 56px; background-color: transparent; text-align: center; vertical-align: middle; cursor: pointer; will-change: transform; }
#switch2 i { position: absolute; top: 10px; left: 8px; width: 40px; height: 32px; background-color: transparent; }
#switch2 span { position: absolute; right: 0; width: 100%; height: 4px; background-color: #939393; 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: #939393; transition: all .2s linear; }
#switch2.flag { background-color: transparent; }

/* CROSS TYPE */
#switch2.flag span:first-child { transform: translateY(12px) rotate(-45deg); }
#switch2.flag span:first-child + span { opacity: 0; }
#switch2.flag span:first-child + span + span { transform: translateY(-16px) rotate(45deg); }
/* MENU */
#menu2 { overflow-y: auto; position: fixed; top: 0; right: 0; max-width: 400px; width: 90%; height: 100%; padding: 88px 0 40px; background-color: white; text-align: center; 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); }
#overlay2 { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; }
#overlay2.flag { display: block; }

@media screen and (min-width: 376px) {
.mhd1_img.pt1 { display: none; }
.mhd1_img.pt2 { display: block; }
.mhd1_ttl { display: block; }

}

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

}
@media screen and (max-width: 960px) {
#overlay2.flag { display: block; }
}
/* =======================================================================================



CHANGE MENU'S LAYOUT



======================================================================================= */
@media screen and (min-width: 960px) {
#headfix { padding: 24px; }
#menu2 { background-color: transparent; }
.mhd1_ttl span { display: block; }
.mhd2 { }
.mhd2_menu_box { display: flex; align-items: center; }
.mhd2_menu_box li { padding: 16px 8px 20px; }
.mhd2_attn_box { padding: 16px 24px; }
.mhd2_menu_box li { margin-bottom: 0; }
.mhd2_menu_box li:has(.mhd2_attn_box) { padding-top: 0; padding-right: 0; padding-bottom: 0; }
.mhd2_attn_box { border-radius: 0 6px 6px 0; display: flex!important; align-items: center; }

#switch2 { display: none; }
#menu2 { overflow: visible; position: relative; top: auto; right: auto; width: auto; max-width: none; height: auto; padding: 0; transform: none; }
}

@media screen and (min-width: 1080px) {
.mhd1_ttl span { display: inline-block; }
.mhd2_menu_box li,
.mhd2_attn_box { padding: 16px 12px 20px; }
}
@media screen and (min-width: 1328px) {
#headfix { padding: 24px 0; }
.mhd2_menu_box li,
.mhd2_attn_box { padding: 16px 24px 20px; }
}
@media screen and (min-width: 1360px) {
#masthead { max-width: 1328px; }
}
/* =======================================================================================



MAIN



======================================================================================= */
main { position: relative; }
#main.flag,
#footer.flag {
  filter: blur(2px);
}
@media screen and (min-width: 960px) {

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



トップページ



======================================================================================= */
.front main .cover .panel { padding: 0 12px; width: 90%; }

.ttl_box { margin-bottom: 16px; display: flex; }
.ttl_group { display: block; }
a.ttl_group { color: #242424; text-decoration: none; }
.ttl { position: relative; font-size: clamp(1.25rem, 0.923rem + 1.87vw, 2.438rem); letter-spacing: .05em; font-weight: 800; }
.ttl2 { letter-spacing: .03em; }
.sq { padding-right: .4em; color: #d7000f; }
.ttl_group .ttl3 { padding-top: 1em; font-size: 18px; }
.ttl_group:hover .ttl3 { text-decoration: underline; }

@media screen and (min-width: 640px) {
.ttl_group .ttl3 { padding-top: 2em; }
}

@media screen and (min-width: 800px) {
.front main .cover .panel { width: 100%; padding: 0 32px; }
.ttl_box { margin-bottom: 32px; }
}

@media screen and (min-width: 1360px) {
.front main .cover .panel { padding: 0; }
}

/* ======================================================================================= */
.tbiz_unit { margin-bottom: 56px; }
.tbiz_slick .slick-track { overflow: hidden; display: flex; gap: 8px; margin: auto; }
.tbiz_box { overflow: hidden; position: relative; display: flex !important; flex-direction: column; width: 280px; max-width: 100%; aspect-ratio: 104 / 125; background-position: center center; background-repeat: no-repeat; background-size: cover; justify-content: center; text-decoration: none; transition: all .2s ease-in; }
.tbiz_box:hover {  }
.tbiz_box:before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,.4); content: ''; transition: all .2s linear; }
.tbiz_box:hover:before { background-color: rgba(0,0,0,.8); }
.tbiz_group { position: relative; display: flex; flex-direction: column; padding: 40px 40px 64px; color: #fff; margin: auto; z-index: 2; }
.tbiz_txt1 { min-height: 6em; font-size: 18px; letter-spacing: .01em; line-height: 1.7; }
.tbiz_txt1 br { display: none; }
.tbiz_txt2 { position: relative; font-size: 12px; line-height: 1; }
.tbiz_txts { position: absolute; right: 0; bottom: 0; padding: 12px 12px 20px 16px; background-color: rgba(255,255,255,.96); min-width: 50%; }
a .tbiz_txts { color: #242424; }
.tbiz_txts .sq { position: absolute; top: 0; left: 0; line-height: 1; padding: 0; background-color: #d7000f; font-size: xx-small; width: 12px; height: 12px; }
.tbiz_txt3 { font-size: 16px; font-weight: 700; }
.tbiz_txt4 { font-size: 11px; letter-spacing: 0; }

@media screen and (min-width: 640px) {
.tbiz_box { width: 416px; }
.tbiz_txt1 br { display: inline; }
}
@media screen and (min-width: 1280px) {
.tbiz_txt3 { font-size: 18px; }
.tbiz_txt4 { font-size: 12px; }
}
/* ======================================================================================= */
.panel_slick { width: 100%; max-width: 1352px; margin: 0 auto; }
.tourbiz_unit { margin-bottom: 56px; }
.tourbiz_slick .slick-track { overflow: hidden; /*display: flex; gap: 8px;*/ margin: auto; }
.tourbiz_slick .slick-list { overflow: visible; }
.tourbiz_slick .slick-track a { color: #fff; text-decoration: none; border-right: 4px solid #fff; border-left: 4px solid #fff; }
.tourbiz_box { overflow: hidden; position: relative; display: flex; flex-direction: column; aspect-ratio: 104 / 125; justify-content: center; text-decoration: none; transition: all .2s ease-in; }
.tourbiz_img { overflow: hidden; }
.tourbiz_img img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: all .6s linear; }
a:hover .tourbiz_img img { transform: scale(1.1); }
.tourbiz_img:before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,.4); content: ''; z-index: 2; transition: all .6s linear; }
a:hover .tourbiz_img:before { background-color: rgba(0,0,0,.6); /*transform: scale(0,0);*/ }

.tourbiz_group { position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 40px 32px 64px; color: rgba(255,255,255,.85); margin: auto; z-index: 3; }
.tourbiz_txt1 { min-height: 6em; font-size: 16px; font-weight: 500; letter-spacing: .01em; line-height: 1.7; transition: all .6s linear; }
.tourbiz_txt1 br { display: none; }
.tourbiz_txt2 { position: relative; font-size: 12px; line-height: 1; transition: all .4s linear; }
a:hover .tourbiz_txt1,
a:hover .tourbiz_txt2 { color: #fff; }
.tourbiz_txts { position: absolute; right: 0; bottom: 0; padding: 12px 12px 20px 16px; background-color: rgba(255,255,255,.96); max-width: 70%; min-width: 50%; z-index: 3; }
a .tourbiz_txts { color: #242424; }
.tourbiz_txts .sq { position: absolute; top: 0; left: 0; line-height: 1; padding: 0; background-color: #d7000f; font-size: xx-small; width: 12px; height: 12px; }
.tourbiz_txt3 { font-size: 16px; font-weight: 700; }
.tourbiz_txt4 { font-size: 11px; letter-spacing: 0!important; }
.tourbiz_txt5 { position: absolute; left: 0; bottom: 0; padding: 1%; max-width: 30%; z-index: 3; font-size: xx-small; color: rgba(255,255,255,.8)!important; letter-spacing: 0!important; }

@media screen and (min-width: 440px) {
.tourbiz_txt1 br { display: inline; }
.tourbiz_txt1 { font-size: 18px; }
}
@media screen and (min-width: 800px) {
.tourbiz_txts { max-width: 60%; }
.tourbiz_txt5 { max-width: 40%; } 
}
@media screen and (min-width: 1280px) {
.tourbiz_txt3 { font-size: 18px; }
.tourbiz_txt4 { font-size: 12px; }
.tourbiz_txts { max-width: 70%; }
}

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

.tphil_unit { margin-bottom: 56px; }
.arrow { display: inline-block; margin: 0 4px; padding: 2px 4px 2px 5px; background-color: #000; color: #fff; font-weight: 600; font-size: .6em; vertical-align: middle; line-height: 1; }
.tphil_unit .arrow { margin-bottom: 4px; }
.tphil_box { background-color: #f3f3f3; }
.tphil_box > *:first-child { padding: 32px 20px; }
.tphil_box .ttl_box { margin-bottom: 0; }
.tphil_img {}
@media screen and (min-width: 720px) {
.tphil_box { display: flex; justify-content: center; align-items: center; }
.tphil_box > * { flex-basis: 50%; }
.tphil_box > *:first-child { padding: 40px; }
}

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

.tcom_unit { margin-bottom: 56px; }
.tcom1_group,
.tcom2_group,
.tcom3_group { display: flex; flex-direction: column; list-style: none; padding: 0; }
.tcom1_group,
.tcom3_group { margin-bottom: 0; }

.tcom1_box,
.tcom2_box,
.tcom3_box { position: relative; padding: 0 0 8px; }

.tcom1_a,
.tcom2_a,
.tcom3_a { position: relative; overflow: hidden; text-decoration: none; display: flex; align-items: center; padding-left: 10%; transition: all .3s linear; }
.tcom1_a,
.tcom3_a { background-color: #eaeaea; }

.tcom2_a1 { background-color: #e2ccce; }
.tcom2_a2 { background-color: #9da6bf; }
.tcom2_a3 { background-color: #eabec2; }

.tcom3_a1 { background-color: #eaeaea; }
.tcom3_a2 { background-color: #eaeaea; }
.tcom3_a3 { background-color: #eaeaea; }


.tcom1_a:hover,
.tcom2_a:hover,
.tcom3_a:hover { padding-left: 11%; }

.tcom_img img { max-width: none; width: auto; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover; transition: all 1s linear; }
.tcom_a:hover .tcom_img img { transform: scale(1.3); left: -50%; }

.tcom_img::before { position: absolute; bottom: -200%; left: 0; width: 100%; height: 100%; content: ''; transition: all .8s linear; }
.tcom1_img::before,
.tcom3_img::before { background-color: #fff; }
.tcom2_img1::before { background-color: #f7dfe1; }
.tcom2_img2::before { background-color: #c0cbe9; }
.tcom2_img3::before { background-color: #fdcdd2; }
.tcom_a:hover .tcom_img::before { bottom: 0; }

.tcom1_box dl,
.tcom2_box dl,
.tcom3_box dl { position: relative; display: flex; flex-direction: column; }

.tcom1_box2 dl::after,
.tcom2_box2 dl::after,
.tcom3_box2 dl::after { content: ''; width: 100%; height: 1px; transform: translate(-200%); transition: all .4s ease-in; }

.tcom1_box2 dl::after,
.tcom3_box2 dl::after { background-color: #bbb; }
.tcom2_box2 dl::after { background-color: #fff; }

.tcom1_box2:hover dl::after,
.tcom2_box2:hover dl::after,
.tcom3_box2:hover dl::after { transform: translate(0); }
.tcom1_box dt,
.tcom2_box dt,
.tcom3_box dt { font-size: 18px; font-weight: 700; transition: all .3s ease-in; }
.tcom1_box dd,
.tcom2_box dd,
.tcom3_box dd { font-size: 12px; transition: all .3s ease-in; }

.tcom1_a,
.tcom3_a { color: #242424; aspect-ratio: 79 / 26; }
.tcom2_a { color: #fff; aspect-ratio: 79 / 26; }

@media screen and (min-width: 640px) {
.tcom1_box dt,
.tcom2_box dt,
.tcom3_box dt { font-size: 24px; }
.tcom1_box dd,
.tcom2_box dd,
.tcom3_box dd { font-size: 14px; }
}

@media screen and (min-width: 800px) {
.tcom1_group,
.tcom2_group,
.tcom3_group { flex-direction: row; margin: 0 -8px; }
.tcom1_group,
.tcom3_group { margin-bottom: 16px; }

.tcom1_box,
.tcom2_box,
.tcom3_box { padding: 0 8px; }

.tcom1_box dt,
.tcom2_box dt,
.tcom3_box dt { font-size: 16px; padding-top: 24px; }
.tcom1_a,
.tcom2_a,
.tcom3_a { padding-left: 5%; }
.tcom1_a:hover,
.tcom2_a:hover,
.tcom3_a:hover { padding-left: 7%; }

.tcom1_box { flex-basis: calc(100% / 2); }
.tcom2_box,
.tcom3_box { flex-basis: calc(100% / 3); }

.tcom2_a,
.tcom3_a { aspect-ratio: 2 / 1; }
}
@media screen and (min-width: 1200px) {
.tcom1_group,
.tcom2_group,
.tcom3_group { margin: 0 -12px; }
.tcom1_group,
.tcom3_group { margin-bottom: 24px; }

.tcom1_box,
.tcom2_box,
.tcom3_box { padding: 0 12px; }

.tcom1_box dt,
.tcom2_box dt,
.tcom3_box dt { font-size: 24px; }
.tcom1_a,
.tcom2_a,
.tcom3_a { padding-left: 6%; }
.tcom1_a:hover,
.tcom2_a:hover,
.tcom3_a:hover { padding-left: 8%; }

}

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

.tnews_unit { padding: 56px 0; background-color:  #f3f3f3;}
.tnews_box {}
.tnews_box ol { list-style: none; padding: 0; }
.tnews_box li { border-top: 1px solid #fff; border-bottom: 1px solid #fff; padding: 16px 0; }
.tnews_box li a { text-decoration: none; }
.tnews_box dl { display: flex; flex-direction: column; }
.tnews_box .news_cate { display: inline-block; background-color: #fff; border-radius: 6px; padding: 4px 2em; font-size: 10px; line-height: 1; }
.tnews_box .news_cate_press { padding-right: 8px; padding-left: 8px; }

.tnews_box .news_cate_press,
.lnews_highlight.lnews_highlight_press { color: #002cd7; }

.tnews_box .news_cate_press,
.lnews_highlight.lnews_highlight_press { color: #002cd7; }

.tnews_box .news_cate_event,
.lnews_highlight.lnews_highlight_event { color: #d78d00; }

.tnews_box dt {  }
.tnews_box dt time { font-size: 12px; color: #666666; white-space: nowrap; padding-right: 1em; }
.tnews_box dt span { font-size: 12px; color: #d7000f; font-weight: 600; padding: 0 1em; }
.tnews_box dd { padding: 8px 0 4px 4px; color: #000; overflow: hidden; }
.tnews_box a dd span { text-decoration: none; color: #242424; background-image: linear-gradient(90deg, #242424, #242424);
  background-repeat: no-repeat; background-position: left bottom; background-size: 0 1px; transition: background-size 0.6s; /* 線を伸ばすアニメーション実行時間を指定 */ }
.tnews_box a:hover dd span { background-size: 100% 1px; }


.tnews_txt { text-align: right; padding: 24px 0; }
.tnews_txt a { color: inherit; text-decoration: none; }
.tnews_txt a:hover { text-decoration: underline; }
@media screen and (min-width: 640px) {
.tnews_box dd { font-size: 15px; }
}
@media screen and (min-width: 960px) {
.tnews_box dt time { padding: 0 1em; }
.tnews_box dl { flex-direction: row; }
.tnews_box dt { width: 256px; display: flex; }
.tnews_box dt time { width: 88px; }
.tnews_box dt span { width: 144px; text-align: center; }
.tnews_box dd { padding: 0 0 4px; width: calc(100% - 232px); }
}
/* =======================================================================================



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; }
#footer { padding: 48px 0 0; background-color: #f3f3f3; }
.foot_unit { max-width: 1296px; margin: auto; padding: 18px 12px; background-color: #fff; }
.foot_group { padding: 0 16px; }
.foot_group1,
.foot_group2 { padding: 24px 0; }
.foot_group1 {}
.foot_group2 { border-top: 2px solid #f3f3f3; }

.foot_box1 { }
.foot_box1_dt,
.foot_box2_dt { padding-bottom: 2px; font-weight: 700; }
.foot_box1_dt { margin-bottom: 8px; font-size: 15px; }
.foot_box1_dt a { text-decoration: none; color: inherit; }
.foot_box1_dd { }

.foot_box1_ul,
.foot_box2_ol,
.foot_box3_ul,
.foot_box3_ol { list-style: none; padding: 0; }

.foot_box1_uli a,
.foot_box2_oli a,
.foot_box3_uli a,
.foot_box3_oli a { text-decoration: none; color: inherit; }

.foot_box1_uli a:hover,
.foot_box2_oli a:hover,
.foot_box3_uli a:hover,
.foot_box3_oli a:hover { text-decoration: underline; } 

.foot_box1_ul { display: flex; flex-wrap: wrap; }
.foot_box1_uli { flex-basis: 50%; margin-bottom: 16px; }
.foot_box1_uli:nth-child(odd) { padding-right: 8px; }
.foot_box1_uli:nth-child(even) { padding-left: 8px; }

.foot_box2 { margin-bottom: 4px; }
.foot_box2_dl + .foot_box2_dl { margin-top: 16px; }
.foot_box2_dt { }
.foot_box2_dd { }
.foot_box2_ol { }
.foot_box2_oli { padding: 2px 0; }

.foot_box3 { }
.foot_box3_ul { }
.foot_box3_uli { }
.foot_box3_ol {display: flex; flex-wrap: wrap; }
.foot_box3_oli { padding-right: 24px; margin-bottom: 8px; font-weight: 500; }

.foot_sns_box { padding-top: 16px; }
.foot_sns_box [class*="fa-"] { font-size: 28px; line-height: 1; }
.foot_sns_box a:hover { color: #646464 !important; }

#copyright { color: #999; font-size: small; text-align: center; line-height: 48px; /* #backToTopの高さ分を確保 */ vertical-align: middle; }

@media screen and (min-width: 640px) {
.foot_group1 { padding-bottom: 8px; }
.foot_box1_uli { flex-basis: calc(100% / 4); }
.foot_box1_uli:nth-child(odd) { padding-right: 16px; }
.foot_box1_uli:nth-child(even) { padding-left: 0; padding-right: 16px; }
.foot_box3_ul { display: flex; flex-wrap: wrap; }
.foot_box3_uli { flex-basis: calc(100% / 4); }
.foot_box3_ol { flex-direction: column; }
.foot_sns_box { padding-top: 0; }
}
@media screen and (min-width: 1112px) {
.foot_unit { display: flex; align-items: center; padding: 24px; }
.foot_unit .mhd1 { width: 392px; }
.foot_group { width: calc(100% - 392px); padding-right: 0; }
}

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



COMPONENT

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



======================================================================================= */
.link_txt { color: #242424; }
.link_txt:hover { text-decoration: none; }

[style*="right"] .link_txt { font-size: 17px; }


.biz_contact a { display: inline-block; background-color: #3b3b3b; line-height: 1; padding: 16px 24px 20px; text-decoration: none; color: #fff; transition: all .2s linear; }
.biz_contact a:hover { background-color: #000; }
.biz_contact a [class*="fa-"] { padding-left: 8px; transition: all .2s linear; }
.biz_contact a:hover [class*="fa-"] { transform: translateX(-4px); }


.hr1 { width: 100%; height: 2px; margin: 32px auto; box-sizing: border-box; border-top: 1px solid #d9d9d9; border-bottom: 1px solid #fff; border-left: 1px solid #f2f2f2; }

.chk_txt { color: #ed0664 !important; }

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

}
@media screen and (min-width: 800px) {
.hr1 { margin: 72px auto; }
}
/* =======================================================================================



MODULE

_header(要素・コンテンツの上部)
_body(要素・コンテンツの本文)
_footer(要素・コンテンツの下部)
  _unit (ひとまとまり article,section)
    _panel (パネル(section))
    _dsp (jQuery用 表示/非表示)
      _box (最小単位のレイアウトボックス(div,dl))
        _inner (boxに対してのインナー)
          _tbl (table)

          _list (ol,ul)
          _card_box (ol,ul)
            _card (li)
            _item (dt,dd,li)

            _ttl (タイトル,dt)
            _lead (リード文)
            _txt (テキスト)
            _ico (アイコン)
            _img (画像)
            _bnr (バナー)
            _btn (ボタン)
            _col (列)
            _row (行)


======================================================================================= */
.chg_mbl { display: block; }
.chg_oth { display: none; }
@media screen and (min-width: 800px) {
.chg_mbl { display: none; }
.chg_oth { display: block; }
}
/* =======================================================================================



FORM PARTS



======================================================================================= */
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; }
input, select, textarea { padding: .5em; }
textarea { display: block; }
input[type="checkbox"],
input[type="radio"], input[type="radio"]:focus { margin: -.2em .5em 0; vertical-align: middle; }
input[type="checkbox"] { vertical-align: text-top; }
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; }
/* =======================================================================================



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); }
}
/* =======================================================================================



TABLE



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

/* 横長テーブル用 スマホ時に横スクロールバー */
.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にスクロールバーを追加 */ }

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



OVERWRITE



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

