@charset "UTF-8";

/*妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪

	浅草百鬼夜行パレード
	
	[01] 基本・レイアウト
	[02] ヘッダ
	[03] フッタ
	[04] 百鬼夜行とは
    [05] 概要
    [06] 参加規約
    [07] コラボ
	[99] メディアクエリ

妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪妖怪*/


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

	[01] 基本・レイアウト

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

/*@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(//fonts.googleapis.com/earlyaccess/sawarabimincho.css);*/

html { /*font-size: 62.5%; 10px*/ }
.sitemap_box { /*font-size: 160%;*/ }
#wrapper { -webkit-text-size-adjust:none; font-family: 'LINE Seed JP', 'Lucida Grande', Meiryo, sans-serif;	width: 100%; height: 100%; min-width: 980px; font-size: 1.6rem; line-height: 1.8; font-weight: 300;	margin: 0; padding: 0; /*background: #f8f5e6;*/ }
.content { width: 96%; max-width: 1000px; margin: 0 auto; padding: 2em 0; }
.vpc { display: inherit; }
.vsp { display: none; }
p.article { width: 96%; margin: 0 2% 1.5em; font-size: 1rem; font-weight: 300; text-align: justify; }
.block-2 p.article { color: #383838; }
.block-3 p.article { color: #fff; }
.block-4 p.article { color: #fff; }
.block-5 p.article { color: #fff; }
.block-5 p.cap { width: 96%; margin: 0 2% 1.5em; font-size: .75rem; font-weight: 300; line-height: 2; color: #fff; text-align: justify; }

/* 見出し
---------------------------------*/
h2 { width: 100%; text-align: center; }
h2 img { width: 100%; max-width: 916px; }
#wrapper h3 { width: 100%; margin: 0; padding: 24px 0; font-size: 3rem; color: #fff; line-height: 1.5; }
#wrapper h3 span { display: block; font-size: 1.5rem; color: #383838; }
/*#wrapper .block-6 h3{font-weight: 500; color: #333; background: #ffe01f;}*/
/*h4{margin: 14px 0 12px; padding: 0; font-size: 1.6rem; font-weight: 600; text-align: center; line-height: 1.6; color: #333;}*/
h4 { margin: 0 0 .5em; font-size: 1.5rem; }
.block-2 h4 { color: #581775; }
.block-3 h4 { color: #2c9fd6; }
.block-4 h4 { color: #8ad33b; }
.block-5 h4 { color: #a6bf3c; }
/*h4 img {width: 100%; max-width: 320px;}*/
h5 { width: 96%; margin: 0 2% .5em; font-size: .75rem; font-weight: 600; line-height: 1.3; color: #da9c2c; }
h6 {padding: 8px 10px; font-size: 1.4rem; line-height: 1.4; /*background: #fff;*/ text-align: center; }

/* Flex Box
---------------------------------*/
.flb { display:flex; flex-wrap: wrap; justify-content:center; width: 100%; max-width: 1000px; margin: 0 auto; }


/* フェード
---------------------------------*/
/* 上からフェードイン */
.slide-top {opacity: 0;	transform: translate(0, -20px);	transition: all 1s ease-out;}

/* 下からフェードイン */
.slide-bottom1 { opacity: 0; transform: translate(0, 30px); transition: all 0.5s 0.3s ease-out; }
.slide-bottom2 { opacity: 0; transform: translate(0, 30px); transition: all 0.5s 0.4s ease-out; }
.slide-bottom3 { opacity: 0; transform: translate(0, 30px); transition: all 0.5s 0.5s ease-out; }
.slide-bottom4 { opacity: 0; transform: translate(0, 30px); transition: all 0.5s 0.6s ease-out; }
.slide-bottom5 { opacity: 0; transform: translate(0, 30px); transition: all 0.5s 0.7s ease-out; }
.slide-bottom6 { opacity: 0; transform: translate(0, 30px); transition: all 0.5s 0.8s ease-out; }

 /* 左からフェードイン */
.slide-left1 {opacity: 0; transform: translate(-60px, 0); transition: all 1.5s 0.8s ease-out; }

/* 右からフェードイン */
.slide-right1 {opacity: 0; transform: translate(60px, 0); transition: all 1.2s 1.6s ease-out; }


/* リンク
---------------------------------*/
a { /*color: #de7000;*/ -webkit-transition: 0.5s ease-in-out; transition: 0.5s ease-in-out;}
a:link		{}
a:visited	{}
a:hover		{text-decoration:none; opacity:0.7;}
a:active	{text-decoration:none;}


/* SNS
---------------------------------*/
.sns_btn div, .sns_btn p { display: inline-block; vertical-align: top; }
.sns_btn { margin: 20px auto; text-align: center; }


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

	[02] ヘッダ

------------------------------------------------*/
.block-1 { position: relative; margin: 0 auto; padding: 0; background: url("/parade_tokyo/images/bg_header.png") 50% 80% no-repeat; background-size: cover; }
.inr_block-1 { /*background: url("/otoshidama2023/images/bg_header.png") 50% 50% no-repeat;*/ }
.block-1 .content { max-width: 1000px; padding: 0; }
#header { position: absolute; z-index: 10; left: 50%; top: 50%; transform: translate(-50%, -50%); width:100%; margin:0 auto; }
/*.bg_header_line { background: repeating-linear-gradient(-45deg, #992cfa, #992cfa 10px, #9e31ff 10px, #9e31ff 20px); }
.header_line { display: block; margin: 0 auto; padding: 0; text-align: center; }
.header_line img { width: 100%; max-width: 940px; margin: 8px auto 7px; }*/

.loopSlide1 { position: relative; display: flex; width: calc(100vw - 15px); /*min-width: 1200px;*/ height: 480px; overflow: hidden; z-index: 1; pointer-events: none; padding: 4em 0 0; opacity: .8; }
.loopSlide1 ul { padding: 0; /*width: 100vw;*/ display: flex; flex-shrink: 0; }
.loopSlide1 ul:first-child { animation: slide1 300s -150s linear infinite; }
.loopSlide1 ul:last-child { animation: slide2 300s linear infinite; }
.loopSlide1 ul li { display: inline-block; /*width: 242px;*/ min-width: 270px; margin: 0; list-style: none; text-align: center; }
.loopSlide1 ul li img { display: block; width: 100%; height: auto; }

@keyframes slide1 { 0% { transform: translateX(100%); }
  to { transform: translateX(-100%); } }
@keyframes slide2 { 0% { transform: translateX(0); }
  to { transform: translateX(-200%); } }



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

	[03] フッタ

------------------------------------------------*/
footer#common_foot{margin: 0 0 0;}

#page-top2 { position: fixed; z-index: 9999; bottom: 20px; right: 20px; }
#page-top2 a:link,
#page-top2 a:hover,
#page-top2 a:active,
#page-top2 a:visited { width: 120px; height: 174px; opacity: 1; }
#page-top2 a img { width: 100%; max-width: 120px; }
    


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

	[04] 百鬼夜行とは

------------------------------------------------*/
.block-2 { width: 94%; padding: 0 3%; background: #a6bf3c; }
.block-2 p.article a { color: #ffff00; }



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

	[05] 概要

------------------------------------------------*/
.block-3 { width: 94%; padding: 0 3%; background: #581775; }
.block-3 .content { position: relative; padding: 2em 0; }



/* テーブル
---------------------------------*/
.tb_res, .tb_res td, .tb_res th { border-collapse: collapse; }
.tb_res td, .tb_res th { border-bottom: 1px solid rgba(255, 255, 255, .3); }
.tb_res tr:last-child td, .tb_res tr:last-child th { border-bottom: none; }
.tb_res { width: 96%; max-width: 960px; margin: 10px auto 20px; font-size: .875rem; line-height: 2; color: #fff; /*text-shadow: 0px 0px 15px rgba(0, 0, 0, 1), 0px 0px 15px rgba(0, 0, 0, 1), 0px 0px 15px rgba(0, 0, 0, 1), 0px 0px 15px rgba(0, 0, 0, 1);*/ }
/*.tb_res th { width: 18%; padding: 8px 0 8px 2%; text-align: left; vertical-align: top; font-weight: 600; }*/
.tb_res th { width: 20%; padding: 8px 0 8px 2%; text-align: left; vertical-align: top; font-weight: 600; }
.tb_res th span { white-space: nowrap; }
/*.tb_res td { width: 78%; padding: 8px 2% 8px 0; text-align: left; }*/
.tb_res td { width: 80.5%; padding: 8px 1.5% 8px 0; text-align: left; }
.tb_res td span { vertical-align: baseline; }
.tb_res th img { margin: 5px 10px; }
.tb_res iframe { width: 100%; margin: 20px 0; }
.tb_res span.stg { font-wight: 500; color: #ebf2a6; }
.tb_res span.img_bnr { display: block; width: 100%; max-width: 120px; }
.tb_res span.img_bnr img { width: 100%; }



/*.box_howto_clm1 .inr01 { width: 98%; margin: 0 1% 1em; text-align: center; }
.box_howto_clm1 .inr01 img { width: 100%; max-width: 300px; height: auto; margin: 0 auto 10px; text-align: center; }*/

/*.deadline { margin: 0 1em 1em; text-align: center; }
.deadline p { display: inline-block; padding: 3px 14px; font-size: 1.25rem; font-weight: 600; color: #fff; background: #ff398c; border-radius: 6px; }*/

/*ul.notice { width: 96%; max-width: 1000px; margin: 0 auto 30px; }
ul.notice li { font-size: .875rem; font-weight: 300; text-align: left; padding-left: 1em; text-indent: -1em; }
ul.notice li::before { position: absolute; display: block; top: 0.75em; left: 0; content: "●"; color: #BAA451; }*/

ul.notice { width: 96%; margin: 0 auto 1.5em; }
ul.notice > li { position: relative; padding: .75em 0 0 20px; font-size: .875rem; line-height: 1.7; color: #fff; text-align: justify; }
ul.notice > li::before { position: absolute; display: block; top: 0.75em; left: 0; content: "●"; color: #fff; }

.block-4 ul.notice > li a { color: #ffff00; }
.block-4 ul.notice > li span a { font-size: 1.25rem; }




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

	[06] 参加規約

------------------------------------------------*/
.block-4 { width: 94%; padding: 0 3%; background: #9b2564; }
.block-4 .content { position: relative; padding: 2em 0; }

.bnr a { display: inline-block; }
.bnr { display: flex; justify-content: center; margin-top: 2em; }
.bnr img { width: 100%; max-width: 420px; height: auto; }

.entry { width: 100%; padding: 0 0 .25em; text-align: center; }
.entry p { width: 80%; max-width: 500px; margin: 10px auto; padding: 8px 0; font-size: 1.4rem; letter-spacing: 0.03em;text-align: center; line-height: 1; border-radius: 6px; background: #ffff00; -webkit-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
.entry p a { display: block; width: 96%; padding: 4px 2%; color: #9b2564; font-weight: 600; text-decoration: none; }
.entry p:hover { opacity: 0.7; }

.block-4 ul.notice2 { display: grid; justify-content: center; width: 100%; padding: 0 0 2em; }
.block-4 ul.notice2 li { font-size: .875rem; line-height: 1.7; color: #ffff00; }


#modalBody ul.notice { width: 100%; margin: 0 auto 1.5em; }
#modalBody ul.notice > li { position: relative; padding: .75em 0 0 20px; font-size: .875rem; line-height: 1.7; color: #383838; text-align: justify; }
#modalBody ul.notice > li::before { position: absolute; display: block; top: 0.75em; left: 0; content: "●"; color: #383838; }

/* =========================
   ベース
========================= */
.term-link { position: relative; color: #cc0000; cursor: pointer; /*text-decoration: none;*/ }
p.und_txt a.term-link { margin: 0 .05em; padding: 0 .2em; white-space: nowrap; }
p.und_txt a.term-link::after { content: ""; position: absolute; left: 0; bottom: -0.15em; width: 100%; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform 0.25s ease; }
p.und_txt a.term-link:hover::after { transform: scaleX(1); }

/* =========================
   モーダル全体
========================= */
/*.modal { position: fixed; inset: 0; z-index: 1000; opacity: 0; pointer-events: none; transition: opacity 0.25s ease; }*/
.modal { position: fixed; inset: 0; z-index: 1000; display:flex; justify-content:center; align-items: center; opacity: 0; pointer-events: none; transition: opacity 0.25s ease; }
.modal.is-open { opacity: 1; pointer-events: auto; }

/* =========================
   背景（オーバーレイ）
========================= */
.modal-overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.4); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); /* Safari対策 */ opacity: 0; transition: opacity 0.25s ease; }
.modal.is-open .modal-overlay { opacity: 1; }

/* =========================
   モーダル本体
========================= */
/*.modal-content { position: relative; width: calc(94% - 3em); max-width: 600px; margin: 10vh auto; padding: 1.5em; background: #fff; border-radius: 8px; opacity: 0; transform: translateY(30px) scale(0.98); transition: opacity 0.25s ease, transform 0.25s ease; }*/
.modal-content { position: relative; width: calc(94% - 0em); max-width: 600px; margin: auto; max-height: 90vh; padding: 0; background: #fff; border-radius: 8px; display: flex; flex-direction: column; opacity: 0; transform: translateY(30px) scale(0.98); transition: opacity 0.25s ease, transform 0.25s ease; }
.modal.is-open .modal-content { opacity: 1; transform: translateY(0) scale(1); }

/* =========================
   閉じるボタン
========================= */
.modal-close { position: absolute; top: 0.3em; right: 0.3em; font-size: 1.5em; background: none; border: none; cursor: pointer; }

/* =========================
   モーダル本文
========================= */
.modal-body p { margin-top: 0.75em; line-height: 1.6; text-align: justify; }
.modal-body .name_dep p { font-size: 1.6rem; margin-top: 0; font-weight: 600; }

/* =========================
   中身切り替えアニメーション
========================= */
/*.modal-body { transition: opacity 0.2s ease, transform 0.2s ease; }*/
.modal-body { overflow-y: auto; padding: 1.5em; -webkit-overflow-scrolling: touch; flex: 1; }
.modal-body.is-switching { opacity: 0; transform: translateY(10px); }



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

	[07] コラボ

------------------------------------------------*/
.block-5 { width: 94%; padding: 0 3%; background: #003147; }
.block-5 .content { position: relative; padding: 2em 0; }

.c05 { width: 96%; margin: 0 2% 1.5em; }
.c05 > div:nth-child(1) { width: 40%; margin: 0 .5%; }
.c05 > div:nth-child(2) { width: 58%; margin: 0 .5%; }
.c05img { display: block; width: 100%; max-width: 750px; margin: 0 auto 1em; border-radius: 4px; }



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

	[99] メディアクエリ

------------------------------------------------*/
@media screen and (min-width: 769px) {

/* [02] ヘッダ
---------------------------------*/
.loopSlide1 { min-width: 1200px; }

}

@media screen and (max-width: 768px) {
#resNav { z-index: 9999; }
.bg-subnav { display: none; }
header { min-width: 150px; }
#wrapper { min-width: 200px; border-top: 1px solid #ccc; font-size: 1.4rem; }

.vpc { display: none; }
.vsp { display: inherit; }

.content { width: 100%; max-width: none; }
.block-6 .content { width: 94%; margin: 0 3%; }

/* 見出し
---------------------------------*/
h2 { padding-top: 7px; }
h2 img { width: 100%; max-width: none; }
#wrapper h3 { /*margin: 30px 0; padding: 20px 0;*/ margin: 0 0 30px; padding: 0; }
h4 img { width: 70%; max-width: 320px; }
h5 { padding: 0 0 6px; font-size: 2.4rem; }



/* [02] ヘッダ
---------------------------------*/
.block-1{padding: 0;}



/* [03] フッタ
---------------------------------*/



/* [04] 百鬼夜行とは
---------------------------------*/
.header_line img { width: 90%; max-width: 804px; margin: 20px auto; }

.block-2 .content { width: 100%; max-width: none; }
.intro p { font-size: 1.125rem; line-height: 1.6; }

/*.fukidashi01 { margin: .5em; text-align: left; }
.fukidashi02 { margin: .5em; text-align: right; }
.fukidashi03 { margin: .5em; text-align: center; }
.fukidashi01 img { width: 80%; margin: 0 20% 0 0; }
.fukidashi02 img { width: 80%; margin: 0 0 0 20%; }
.fukidashi03 img { width: 80%; margin: 0 auto; }*/

.prg {  }
.prg li { width: calc(100% / 2 - .5em); margin: .25em; }



/* [05] 概要
---------------------------------*/

/* テーブル */
.tb_res { width: 100%; margin: 0% auto; }
.tb_res { border: none; }
.tb_res th { display: block; width: 94%; margin: 3% 0 0; padding: 6px 3%; border: none; color: #000; border-radius: 4px; background: #fff; text-shadow: none; }
.tb_res td { display: list-item; width: 94%; margin: 0 3% ; padding: 6px 0; border: none !important; list-style: none; font-size: 1.0rem; line-height: 1.6; }
.tb_res span.img_bnr { width: 100%; max-width: 160px; }

.block-3 .tb_res th { color: #581775; }


/* [06] 参加規約
---------------------------------*/


/* [07] コラボ
---------------------------------*/
.c05 { width: 96%; margin: 0 2% 1.5em; }
.c05 > div:nth-child(1) { width: 99%; margin: 0 .5%; }
.c05 > div:nth-child(2) { width: 99%; margin: 0 .5%; }



}


@media screen and (max-width: 480px) {


}

