@charset "utf-8";


body { word-break: break-all; font-family: Meiryo, "メイリオ", "MS PGothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Helvetica, Arial, sans-serif; padding: 0; margin: 0; }
html { color: #231815; line-height: 1.3; padding: 0; margin: 0; }
img { border: 0; }
a:hover img { filter: alpha( opacity=70 ); opacity: 0.70; -moz-opacity: 0.70; }
li { list-style: none; }
a { color: #231815; text-decoration: none; font-weight: bold; }
a:hover { color: #d3453b; }


/* フッター ------------- */
.footer_list { float: left; width: 100%; background: #231815; padding: 0 0 20px 0; margin: 0; }
.footer_list li { float: left; width: 46%; box-sizing: border-box; font-size: 13px; }
.footer_list li a h4 { color: #ffffff; text-decoration: underline; padding: 3px 0 12px 0; margin: 0; }
.footer_list li a:hover h4 { text-decoration: none; }
.footer_list li:nth-child(odd) { width: 54%; text-align: right; padding-right: 15px; }
#copy div { float: left; width: 100%; font-size: 9px; color: #231815; font-weight: bold; text-align: center; background: #ffffff; padding: 10px 0; }


/* フッターコンテンツ ------------- */
.contents_ttl { float: left; width: 100%; padding: 0; margin: 20px 0; }
.contents_ttl h5 { font-size: 30px; color: #231815; text-align: center; padding: 0; margin: 0; }

.contents_text { float: left; width: 88%; font-size: 14px; line-height: 1.6; margin: 0 6% 25px 6%; }
.contents_text img { margin: 5px; }
.contents_text * { float: none; width: auto; margin: 0 auto; }
.contents_text hr { float: left; width: 100%; border: 1px dotted #231815; margin: 20px 0; }

.btn { float: left; width: 60%; text-align: center; border: 2px solid #ffed84; border-radius: 6px; padding: 10px 0 8px 0; margin: 5px 20%; }
.btn a { font-size: 16px; color: #231815; font-weight: bold; }

.btn2 { float: left; width: 70%; text-align: center; border: 1px solid #231815; border-radius: 6px; padding: 12px; margin: 10px 15% 20px 15%; }
.btn2 a { font-size: 20px; color: #231815; font-weight: bold; border-bottom: double; }

.btn3, .send_btn, .more_btn { float: left; width: 70%; text-align: center; border-radius: 6px; background: #d3453b; padding: 12px; margin: 5px 15%; }
.btn3 a, .send_btn a, .more_btn a { font-size: 16px; color: #ffffff; font-weight: bold; }

.tokutei { float: left; width: 100%; border: 1px solid #231815; border-radius: 6px; padding: 12px; margin: 5px 0%; }
.tokutei th { float: left; font-size: 14px; background: linear-gradient(transparent 60%, #ffed84 60%); margin: 5px 0 8px 0; }
.tokutei td { float: left; width: 100%; }
.tokutei td a { text-decoration: underline; }


/* 一覧に戻る ------------- */
.cate_list { float: left; width: 90%; padding: 0 5%; }
.cate_list a h4 { float: left; width: 44%; font-size: 15px; color: #231815; text-align: center; border: 2px solid #231815; border-radius: 6px; padding: 11px 0; margin: 0 28% 10px 28%; }
.cate_list a h4:hover { color: #231815; background: #ffffff; }


/*--------------------
トップページ
--------------------*/
header { float: left; width: 100%; padding: 0; margin: 0; }
.regist { float: left; width: 100%; padding: 0; margin: -25px 0 0 0; }
.regist img { float: left; width: 100%; box-sizing: border-box; padding: 0 5% 5px 5%; margin: 0; }

#top_main, #top_main div, #top_main ul, #top_main li, #top_main img, #top_main p, #top_main h2,
#page, #page div, #page ul, #page li, #page p, #page h2, #page h3 { float: left; width: 100%; box-sizing: border-box; padding: 0; margin: 0; }

#top_main h2, #top_main h3, #top_main p, .contents_ttl h5 { font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif; font-weight: 600; }

#top_main p { font-size: 15px; line-height: 1.5; padding: 10px 6%; }
#top_main p.more { float: left; padding: 0 18% 30px 18%; }
#top_main h2 { display: flex; align-items: center; justify-content: center; font-size: 32px; color: #d3453b; padding: 0; margin: 0; }
#top_main ul { width: 90%; margin: 0 5%; }

#top_search { background: url(/upimages/about.png) no-repeat bottom; background-size: 100%; }
#top_search img { padding: 5px 5% 0 5%; }
#top_search p { color: #3d1844; padding: 3px 7% 12px 7%; }
#top_search ul { width: 84%; list-style-type: disc; padding: 0 12% 0 0; margin: 0 8%; }
#top_search li { width: 20%; font-size: 17px; writing-mode: tb-rl; writing-mode: vertical-rl; -moz-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; }
#top_search span { font-size: 10px; color: #d3453b; margin-bottom: 8px; }
#top_search p.more img { padding: 10px 0 0 0; }

#top_list { background: #fffce9; }
#top_list p:nth-of-type(1) { margin: 8px 0; }
#top_list ul { width: 100%; margin: 0 0 5px 0; }

#top_rank { background: #020001 url(/upimages/rank.jpg) no-repeat top; background-size: 100%; }
#top_rank img:nth-of-type(1) { padding: 0 15%; }
#top_rank ul { width: 40%; margin: 15px 30% 10px 30%; }
#top_rank li { font-size: 16px; color: #ffec73; text-align: center; font-weight: bold; border-bottom: dotted 1px #fffce9; padding: 8px 0; }
#top_rank li a { color: #ffec73; }
#top_rank p { font-size: 16px; color: #ebb667; }
#top_rank p.more { background: url(/upimages/ranks.jpg) no-repeat bottom; background-size: 100%; }
#top_rank p img:nth-of-type(1) { padding: 5px 0 30px 0; margin: 0; }

#top_siro img:nth-of-type(1) { padding: 30px 12% 10px 12%; }
#top_siro p img:nth-of-type(1) { float: left; width: 47%; padding: 0; margin: 0 10px 5px 0; }
#top_siro li { margin-bottom: 5px; }
#top_siro li:nth-of-type(3), #top_siro li:nth-of-type(5) { width: 50%; }
#top_siro li:nth-of-type(2), #top_siro li:nth-of-type(4) { width: 49%; margin-right: 1%; }
#top_siro li a { float: left; width: 100%; box-sizing: border-box; font-size: 16px; color: #e5bd06; text-align: center; background: #543e65; border: 1px solid #ffec73; padding: 11px 0; }
#top_siro li a:hover { color: #543e65; background: #ffffff; border: 1px solid #dfa856; }
#top_siro p.more img:nth-of-type(1) { width: 100%; margin: 10px 0 5px 0; }

#top_wiki { background: -moz-linear-gradient(top, #3f292c 80%, #732620);
background: -webkit-linear-gradient(top, #3f292c 80%, #732620);
background: linear-gradient(to bottom, #3f292c 80%, #732620); margin-top: 10px; }
#top_wiki img { float: left; width: 40%; padding: 0; margin: 20px 1% 0 7%; }
#top_wiki ul { width: 45%; margin: 25px 0 0 0; }
#top_wiki li { width: 47%; text-align: center; border-bottom: solid 1px #595758; border-right: solid 1px #595758; padding: 8px 0 10px 0; margin: 3px 0 3px 3%; }
#top_wiki li a { color: #ffffff; font-size: 17px; }
#top_wiki li a:hover { color: #d3453b; }
#top_wiki p { color: #f4ab5e; }
#top_wiki p.more { width: 50%; padding: 3px 3% 20px 3%; }
#top_wiki p.more img { width: 100%; margin: 0; }

#top_column img:nth-of-type(1) { padding: 30px 7% 5px 7%; }
#top_column p img:nth-of-type(1) { float: right; width: 25%; padding: 0; margin: 0 0 3px 3px; }
#top_column li { position: relative; display: inline-block; background: #8c1d26; border-left: solid 14px #231815; padding: 12px 10% 12px 18px; margin-bottom: 5px; }
#top_column li a { color: #ffffff; }
#top_column li a:hover { color: #fee498; }
#top_column li::after{ position: absolute; top: 0; bottom: 0; right: 15px; margin: auto; content: ""; vertical-align: middle; width: 0.4em; height: 0.4em; border-top: 3px solid #a95c4c; border-right: 3px solid #a95c4c; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
#top_column p.more img:nth-of-type(1) { width: 100%; padding: 15px 0 10px 0; margin: 0; }

#top_foot { background: #231815; }
#top_foot img { padding-bottom: 18px; }


/*--------------------
一覧ページ
--------------------*/
#page h2 { color: #231815; background: url(/upimages/title.png) no-repeat bottom; background-size: 85%; margin-top: 20px; }
#page img { padding: 10px 15% 5px 15%; }
#page li { margin-bottom: 5px; }
#page li a { float: left; width: 100%; box-sizing: border-box; font-size: 16px; color: #e5bd06; text-align: center; background: #543e65; border: 1px solid #ffec73; padding: 11px 0; }
#page li a:hover { color: #543e65; background: #ffffff; border: 1px solid #dfa856; }


/*--------------------
詳細ページ
--------------------*/
#page h3 { color: #8c1d26; text-align: center; font-size: 24px; margin-top: 15px; }
.free_txt { width: 100%; box-sizing: border-box; padding: 0 3%; margin: 0; }