@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;600;800&display=swap');

/*	TBS reset
============================== */
body { line-height:1;}
.alt {position:absolute;top:-5000px;left:-9999px;}
.clearfix:after {content:"";clear:both;display:block;}
.hide-txt {text-indent:110%;white-space:nowrap;overflow:hidden;}
.fp-causion {display:none;}
@media all and (min-width:768px) {
.alt-pc {position:absolute;top:-5000px;left:-9999px;}
.clearfix-pc:after {content:"";clear:both;display:block;}
.hide-txt-pc {text-indent:110%;white-space:nowrap;overflow:hidden;}
}
@media all and (max-width:767px) {
.alt-smp {position:absolute;top:-5000px;left:-9999px;}
.clearfix-smp:after {content:"";clear:both;display:block;}
.hide-txt-smp {text-indent:110%;white-space:nowrap;overflow:hidden;}
}

/*	RESETS NL4.0.0base
============================== */
html, body, main, div, p, span, applet, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, section, summary, time, mark, audio, ruby { margin: 0; padding: 0; border: 0; font-size: 100%; vertical-align: baseline; }
ol, ul, li { list-style: none; }
a img, form, fieldset { border: none; }
input, button, select { vertical-align: middle; }
textarea { vertical-align: top; overflow: auto; }
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary, .dpb { display: block; }
audio, canvas, progress { display: inline-block; }
progress { vertical-align: baseline; }
audio:not([controls]) { display: none; height: 0; }
[hidden], template, .nt, .alt { display: none; }
a { background-color: transparent; }
a:active, a:hover { outline-width: 0; }
a:hover { text-decoration: none; }
abbr { cursor: help; border-bottom: 1px dotted #bbb; }
abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; }
b, strong, .bt { font-weight: 600; }
dfn { font-style: italic; }
mark { background: yellow; color: black; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
img { border-style: none; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }
code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
figure { margin: 1em 40px; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
optgroup { font-weight: bold; }
button, input, select { overflow: visible; } /*Edge, IE*/
button, input, select, textarea { margin: 0; } /*Firefox and Safari*/
button, select { text-transform: none; } /*Edge, Firefox, and IE*/
button, [type="button"], [type="reset"], [type="submit"] { cursor: pointer; }
[disabled] { cursor: default; }
button, html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; } /*Android 4, iOS*/
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } /*Firefox*/
button:-moz-focusring, input:-moz-focusring { outline: 1px dotted ButtonText; }
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; } /*Edge and IE ...etc*/
textarea { overflow: auto; } /*IE*/
[type="checkbox"], [type="radio"] { box-sizing: border-box; padding: 0; } /*IE10-*/
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; } /*Chrome*/
[type="search"] { -webkit-appearance: textfield; } /*Chrome and Safari*/
[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } /*Chrome and Safari on OS X*/
pre { overflow: auto; }
table { border-collapse: collapse; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal; vertical-align: middle; }
q, blockquote { quotes: none; }
q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none; display: table;}
q:after, blockquote:after { clear: both; }
q::after, blockquote::after { content: ""; display: block; clear: both;}
.clearfix:before, .clearfix:after { content: ""; content: none; display: table;}
.clearfix:after { clear: both; }
.clearfix::after { content: ""; display: block; clear: both;}
.tCenter, .ct { text-align: center;}
.tLeft, .lt { text-align: left;}
.tRight, .rt { text-align: right;}
.upl { padding-top: 2em; margin-top: 2em; border-top: 1px dotted rgba(195, 13, 35, 1);}
@media print { .noprint { display: none;} }
/*txt*/
.nt { display: none;}
.bt { font-weight: bold; font-weight: 600;}
.ut { font-weight: lighter;}
.br_rsmp, .br_wsmp, .br_tablet, .br_pc, .br_wpc, .br_bwpc, .br_rsmpi, .br_wsmpi, .br_tableti, .br_pci, .br_wpci, .br_pci, .br_bwpci { display: none; }
.br_smp { display: -webkit-block; display: block; }
.br_smpi { display: -webkit-inline; display: inline; }
@media (min-width: 480px) { 
.br_smp, .br_smpi { display: none; } 
.br_rsmp { display: -webkit-block; display: block; } 
.br_rsmpi { display: -webkit-inline; display: inline; } 
}
@media (min-width: 640px) { 
.br_rsmp, .br_rsmpi { display: none; } 
.br_wsmp { display: -webkit-block; display: block; } 
.br_wsmpi { display: -webkit-inline; display: inline; } 
}
@media (min-width: 768px) { 
.br_wsmp, .br_wsmpi { display: none; } 
.br_tablet { display: -webkit-block; display: block; } 
.br_tableti { display: -webkit-inline; display: inline; } 
}
@media (min-width: 1000px) { 
.br_tablet, .br_tableti { display: none; } 
.br_pc { display: -webkit-block; display: block; } 
.br_pci { display: -webkit-inline; display: inline; } 
}
@media (min-width: 1200px) { 
.br_pc, .br_pci { display: none; } 
.br_wpc { display: -webkit-block; display: block; } 
.br_wpci { display: -webkit-inline; display: inline; } 
}
@media (min-width: 1400px) { 
.br_wpc, .br_wpci { display: none; } 
.br_bwpc { display: -webkit-block; display: block; } 
.br_bwpci { display: -webkit-inline; display: inline; } 
}
br { letter-spacing: 0; }
.ct { text-align: center;}
.lt { text-align: left;}
.rt { text-align: right;}
/*_size*/
.f300 { font-size: 300%;}
.f240 { font-size: 240%;}
.f220 { font-size: 220%;}
.f200 { font-size: 200%;}
.f180 { font-size: 180%;}
.f170 { font-size: 180%;}
.f160 { font-size: 160%;}
.f150 { font-size: 150%;}
.f140 { font-size: 140%;}
.f130 { font-size: 130%;}
.f125 { font-size: 125%;}
.f120, .big { font-size: 120%;}
.f110 { font-size: 110%;}
.f105 { font-size: 105%;}
.f100 { font-size: 100%;}
.f95 { font-size: 95%;}
.f90, .small { font-size: 90%;}
.f85 { line-height: normal; font-size: 85% !important;}
.f75 { line-height: normal; font-size: 75% !important;}
.f65 { line-height: normal; font-size: 65% !important;}
.f64 { line-height: normal; font-size: 64% !important;}
.f60 { line-height: normal; font-size: 60% !important;}
/*_height*/
.lh100 { line-height: 100%;}
.lh110 { line-height: 110%;}
.lh120 { line-height: 120%;}
.lh130 { line-height: 130%;}
.lh140 { line-height: 140%;}
.lh150 { line-height: 150%;}
.lh160 { line-height: 160%;}
.lh170 { line-height: 170%;}
.lh180 { line-height: 180%;}
.lh200 { line-height: 200%;}
.lh230 { line-height: 230%;}
/*space*/
.pd0 { padding: 0;}
.pd1 { padding: 1em;}
.pdt1 { padding-top: 1em;}
.pdt3 { padding-top: 3em;}
.pdt0 { padding-top: 0;}
.pdt05 { padding-top: .5em;}
.pdb05 { padding-bottom: .5em;}
.pdb0 { padding-bottom: 0;}
.pdb1 { padding-bottom: 1em;}
.pdl1 { padding-left: 1em;}
.pd05 { padding: .5em;}
.mgat { margin: auto;}
.mgtb1 { margin: 1em auto;}
.ls-1 { letter-spacing: -.1em;}
.ls-05 { letter-spacing: -0.05em;}
.ls-075 { letter-spacing: -0.075em;}
.ls0 { letter-spacing: 0;}
.ls1 { letter-spacing: .1em;}
.ls2 { letter-spacing: .2em;}
/*color*/
.black { color: rgba(0, 0, 0, 1);}
.lamp { color: rgba(42, 43, 46, 1);}
.chacoal { color: rgba(59, 63, 74, 1);}
.steel { color: rgba(129, 137, 157, 1);}
.silver { color: rgba(192, 196, 206, 1);}
.pearl { color: rgba(236, 237, 240, 1);}
.snow { color: rgba(246, 247, 250, 1);}
.white { color: rgba(255, 255, 255, 1);}
.blue { color: rgba(0, 80, 255, 1);}
.water { color: rgba(120, 180, 255, 1);}
.sky { color: rgba(160, 200, 250, 1);}
.green { color: rgba(50, 200, 60, 1);}
.yellow { color: rgba(255, 240, 0, 1);}
.orange { color: rgba(255, 170, 30, 1);}
.pink { color: rgba(255, 145, 160, 1);}
.red { color: rgba(255, 60, 30, 1);}
.navy { color: rgba(28, 37, 80, 1);}
.col { color: rgba(195, 13, 35, 1);}
.col1 { color: rgba(179, 11, 23, 1);}
.col2 { color: rgba(122, 58, 30, 1);}
a { text-decoration: none;}
a:link { color: rgba(255, 255, 255, 1);}
a:visited { color: rgba(255, 255, 255, 1);}
a:active { color: rgba(122, 30, 37, 1);}
a:hover { color: rgba(255, 255, 255, .8);}
.bktotop a { color: rgba(255, 255, 255, 1);}
.nolnk { opacity: .35;}
.sdt { text-shadow: 1px 1px 3px rgba(0, 0, 0, .2);}
.sdt2 { text-shadow: 1px 1px 4px rgba(0, 0, 0, .1);}
.sdt_red { text-shadow: 1px 1px 3px rgba(164, 5, 25, .2);}

.kome li { padding-left: 1em;}
.kome li::before { content: '※ '; margin-left: -1.25em;}
/*etc*/
@media print { .noprint, img { display: none;} }
.cover { width: 100%; height: 100%; background: url(../img/cover.png) repeat; display: block; position: absolute; top: 0; left: 0; }
.cover img { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
img { pointer-events: none;}
.nt_txt { font-size: 0; width: 0; height: 0; overflow: hidden; opacity: 0;}
/*lazyload*/
.lazyload, .lazyloading { opacity: 0;}
.lazyloaded { opacity: 1; transition: all 3000ms;}
/*fadein*/
.fadein { -webkit-animation: fadeIn 5s ease 1 normal; animation: fadeIn 5s 1 normal;}
@-webkit-keyframes fadeIn { 0% {opacity: 0} 100% {opacity: 1}}
@keyframes fadeIn { 0% {opacity: 0} 100% {opacity: 1}}
/*fadeout*/
.fadeout { -webkit-animation: fadeout 5s ease 1 normal; animation: fadeout 5s 1 normal;}
@-webkit-keyframes fadeout { 0% {opacity: 1} 100% {opacity: 0}}
@keyframes fadeout { 0% {opacity: 1} 100% {opacity: 0}}
/*loader*/
.looping-rhombuses-spinner, .looping-rhombuses-spinner * { box-sizing: border-box;}
.looping-rhombuses-spinner { width: 55px; height: 16px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit- transform: translate(-50%, -50%); display: none;}
.looping-rhombuses-spinner .rhombus { height: 20px; width: 20px; color: rgba(255, 231, 58, .6); left: calc(15px * 4); position: absolute; margin: 0 auto; border-radius: 2px; transform: translateY(0) rotate(45deg) scale(0); animation: looping-rhombuses-spinner-animation 2500ms linear infinite; font-size: 130%;}
.looping-rhombuses-spinner .rhombus:nth-child(1) { animation-delay: calc(1500ms * 1 / -1.5);}
.looping-rhombuses-spinner .rhombus:nth-child(2) { animation-delay: calc(1500ms * 2 / -1.5);}
.looping-rhombuses-spinner .rhombus:nth-child(3) { animation-delay: calc(1500ms * 3 / -1.5);}
@keyframes looping-rhombuses-spinner-animation { 0% { transform: translateX(0) rotate(45deg) scale(0); } 50% { transform: translateX(-235%) rotate(45deg) scale(1); } 100% { transform: translateX(-470%) rotate(45deg) scale(0); } }
/*etc*/
.tbs-gfooter-on nav, div.tbs-gfooter-on aside.gf-sns-btns { background-color: #000;}

/*	COMMON
============================== */
html { overflow-y: visible; min-height: 100%;}
body { width: 100%; min-height: 100vh; position: relative; margin: 0!important; background-color: rgba(195, 13, 35, 1); color: rgba(255, 255, 255, 1); font-family: 'Noto Sans JP', sans-serif; z-index: 0;}
body.fixed { position: fixed; width: 100%; height: 100%; left: 0;}
body a { text-decoration: none; outline-style: none;}
.fix_bg { width: 100%; height: 100%; position: fixed; background-repeat: repeat; -webkit-background-size: auto; background-size: auto; background-image: url(../img/bg.jpg); background-position: top center; z-index: -1;}
.fix_bg .fix_bgsp { display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%;}
#container { width: 100%; font-size: 85%; font-family: "zen-kaku-gothic-new", sans-serif; font-weight: 400; font-style: normal;}
#contents { width: 100%;}
.wrap { width: 100%; max-width: 1400px; margin: 0 auto;}
/*for_W480-*/
@media all and (min-width: 480px) { 
#container { font-size: 90%;}
}
/*for_W640-*/
@media all and (min-width: 640px) { 
#container { font-size: 95%;}
}
/*for_W768-*/
@media all and (min-width: 768px) { 
#container { font-size: 100%;}
}
/*for_W1000-*/
@media all and (min-width: 1000px) { 
.fix_bg { -webkit-background-size: 40%; background-size: 40%;}
#container { font-size: 105%;}
}
/*for_W1200-*/
@media all and (min-width: 1200px) { 
#container { font-size: 110%;}
}

/*bn*/
#bn_rectangle { margin: 1em auto; text-align: center;}
#bn_rectangle div { margin: 1em auto;}
#bn_responsive { margin: 1em auto 2em auto;}
/*for_W768-*/
@media all and (min-width: 768px) { 
#bn_rectangle { display: flex; flex-flow: row nowrap; justify-content: center; align-items: center;}
#bn_rectangle div { margin: 1em 5px;}
}

/*	header
============================== */
#header { width: 100%; margin: 0 auto; box-shadow: 0px 20px 10px -5px rgba(164, 5, 25, .6); background-repeat: repeat; -webkit-background-size: 40%; background-size: 40%; background-image: url(../img/bg.jpg); background-position: top center;}
#hd_sp { width: 100%; max-width: 1200px; margin: 0 auto;}

/*	footer
============================== */
#footer { width: 100%; padding: 2em 0 85px 0; position: relative; z-index: 100;}
#share_sp { width: 45%; max-width: 180px; margin: 2em auto;}
#share { width: 100%; height: 0; padding-top: 30.263157894736842%; padding-top: -webkit-calc(115 / 380 * 100%); padding-top: calc(115 / 380 * 100%); background-repeat: no-repeat; -webkit-background-size: contain; background-size: contain; margin-bottom: .5em; position: relative;}
#share .share_lnk { width: 29.210526315789474%; width: -webkit-calc(111 / 380 * 100%); width: calc(111 / 380 * 100%); height: 0; padding-top: 29.210526315789474%; padding-top: -webkit-calc(111 / 380 * 100%); padding-top: calc(111 / 380 * 100%); border-radius: 100%; position: absolute; top: 1.739130434782609%; top: -webkit-calc(2 / 115 * 100%); top: calc(2 / 115 * 100%);}
#share #share_x { left: 0.526315789473684%; left: -webkit-calc(2 / 380 * 100%); left: calc(2 / 380 * 100%);}
#share #share_fb { left: 34.210526315789474%; left: -webkit-calc(130 / 380 * 100%); left: calc(130 / 380 * 100%);}
#share #share_ln { left: 69.473684210526316%; left: -webkit-calc(264 / 380 * 100%); left: calc(264 / 380 * 100%);}
#share .share_lnk a { width: 100%; height: 100%; display: block; border-radius: 100%; position: absolute; top: 0; left: 0;}
#share .share_lnk a:hover { background-color: rgba(230, 217, 25, .2);}
#toshare { font-family: "freight-neo-pro", sans-serif; font-weight: 700; font-style: normal; text-align: center; font-size: 120%;}
#cr { width: 78%; text-align: left; font-size: 85%; line-height: 140%; margin-left: 5%;}
#footer a:hover { opacity: 1;}
#pgtp_sp { width: 80px; position: absolute; bottom: 145px; right: 0; z-index: 100; display: none;}
#pgtp_sp a { width: 100%; height: 0; padding-top: 103.191489361702128%; padding-top: -webkit-calc(194 / 188 * 100%); padding-top: calc(194 / 188 * 100%); background-repeat: no-repeat; -webkit-background-size: contain; background-size: contain; display: block; position: absolute; top: 0; left: 0; opacity: .8;}
/*for_W768-*/
@media all and (min-width: 768px) { 
#footer { margin-bottom: 0;}
#cr { padding-top: 50px;}
#pgtp_sp { width: 100px; position: fixed; bottom: 100px; right: 0;}
}
/*for_W1000-*/
@media all and (min-width: 1000px) { 
#cr { width: 100%; text-align: center; margin-left: 0;}
}

/*	btn
============================== */
.btn { display: inline-block; text-align: center; margin: 1rem auto 2rem auto;}
.btn a { display: block; padding: 1em 1.5em; background: rgba(255, 224, 0, 1); -ms-border-radius: 20px;  border-radius: 20px; position: relative;color: rgba(0, 0, 0, 1);}
.btn a:hover { background: rgba(255, 224, 0, .5); color: rgba(255, 255, 255, 1);}
.btn a .news_link { width: 100%; text-align: center; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit- transform: translate(-50%, -50%); font-weight: 600; font-size: 120%; letter-spacing: 0;}
.btn .caption { font-size: 85%; padding-top: .5rem; opacity: .9;}

/*	navi
============================== */
#mn_sp { width: 92%; max-width: 1200px; margin: 1em auto; position: relative; z-index: 100;}
#mn_sp ul { display: flex; flex-flow: row wrap; justify-content: space-between; align-items: center;}
#mn_sp li { box-sizing: border-box; flex-basis: 33%;}
#mn_sp li .mn { width: 100%; height: 0; padding-top: 100%;  margin-bottom: .5em; position: relative;}
#mn_sp li .mn0 { width: 100%; height: 0; padding-top: 100%; background-repeat: no-repeat; -webkit-background-size: contain; background-size: contain; margin-bottom: .5em; position: relative; opacity: .5;}
#mn_sp li .mn a { width: 100%; height: 100%; display: block;background-repeat: no-repeat; -webkit-background-size: contain; background-size: contain; position: absolute; top: 0; left: 0;}
#mn_sp li .mn a:hover { opacity: .8;}
/*for_W640-*/
@media all and (min-width: 640px) { 
#mn_sp li { box-sizing: border-box; flex-basis: 16%;}
}
/*for_W768-*/
@media all and (min-width: 768px) { 
#mn_sp { width: 96%; margin: 2em auto;}
}

/* 	youtube
============================== */
.movie_sp { display: block; box-sizing: border-box; width: 100%; margin: 1em auto; box-shadow: 1px 1px 8px 0 rgba(164, 5, 25, .3);}
.movie_sp .movie .play_btn { width: 60px; height: 60px;}
.movie_sp .movie .play_txt { font-size: 120%;}
.movie { width: 100%; height: 0; padding-top: 56.25%; position: relative; overflow: hidden; z-index: 200;}
.movie a { width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0;}
.movie a:hover { opacity: .8;}
.movie img { width: 100%; height: 100%; background-repeat: no-repeat; -webkit-background-size: contain; background-size: contain; position: absolute; top: 0; left: 0;}
.movie .play_btn { width: 40px; height: 40px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit- transform: translate(-50%, -50%); display: block; background-repeat: no-repeat; -webkit-background-size: contain; background-size: contain; background-image: url(../img/play.png);}
.movie iframe, .movie video, .movie .fp-player, .movie .tbs-player, .movie object { width: 100%; height: 100%; position: absolute; left: 0; top: 0; border: 0;}
/*for_W640-*/
@media all and (min-width: 640px) { 
.movie .play_btn, .movie .play_btn-red { width: 60px; height: 60px;}
}
/* 	photo
============================== */
.photo { width: 100%; margin: .5em auto 1em auto; text-align: center; user-select:none; -webkit-user-select:none; -ms-user-select: none; -moz-user-select:none; -khtml-user-select:none; -webkit-user-drag:none; -khtml-user-drag: none; -webkit-touch-callout: none;}
.daigae { margin: 0 auto;}
.photo img { width: 100%; background-repeat: no-repeat; -webkit-background-size: cover; background-size: cover;}
.prgimg10090 { max-width: 90%;}
.prgimg10080 { max-width: 80%;}
.prgimg10070 { max-width: 70%;}
.prgimg10060 { max-width: 60%;}
.prgimg10100 img, .prgimg10090 img, .prgimg10080 img, .prgimg10070 img, .prgimg10060 img, .prgimg100100-90 img { width: 100%; max-width: 100%;}
/*for_W768-*/
@media all and (min-width: 768px) {
.photo { width: 96%; max-width: 960px;}
.prgimg10090 { max-width: 90%;}
.prgimg10080 { max-width: 80%;}
.prgimg10070 { max-width: 70%;}
.prgimg10060 { max-width: 60%;}
.prgimg100100-90 { max-width: 90%;}
.prgimg100100-90 img { max-width: 100%;}
}
