@charset "utf-8"; 


/***************
投稿ページスタイル
***************/
.font-L{font-size: 3rem;}
.single-title-bk{background:#DFDFDF; padding:2rem 0}
h2.single-title {position: relative;color: #000; text-align: center;ont-family:'メイリオ', 'Meiryo', sans-serif;font-weight: 900;font-style: normal; font-size: 3rem; line-height: 150%; padding:2rem 0 0 0; margin: 0 0 4rem 0;z-index: 100;}
h2.single-title::before { background-color: #000; /* 線の色 */ bottom: -0.5rem; /* 線の位置 */ content: ""; height: 2px; /* 線の高さ */ left: 50%; /* 線の中央寄せ */ position: absolute; transform: translateX(-50%); /* 線の中央寄せ */ width: 50px; /* 線の長さ */}
.single-body{ padding:0 0 4rem 0;}
.single-box{position: relative; z-index: 100; background:#fff; border-radius: 0.5rem;  max-width: 1420px; margin:0 auto;padding:2rem;}
.single-box h3{text-align: left; font-weight: 900; font-size: 2rem; position: relative; margin: 3rem 0 1rem 0} 
.single-box h3::before { background-color: #7E0021; /* 線の色 */ bottom: -0.5rem; /* 線の位置 */ content: ""; height: 2px; /* 線の高さ */ left: 0; /* 線の中央寄せ */ position: absolute; transform: translateX(0); /* 線の中央寄せ */ width: 50px; /* 線の長さ */}


/***************
特別企画投稿ページスタイル
***************/
.breadclumb{padding: 10px 0; background: #d8d8d8;}
.breadclumb .wrap{width: 1400px; margin: 0 auto;}
.breadclumb .wrap p{font-size: 14px; color: #5a5a5a; text-align: left;}
.main_wrap{width:1400px; display: flex; justify-content: space-between; margin: 3rem auto 6rem auto;}
.side_content{width: 300px;}
.single-sp-body{background:#fff; margin:0; width: 1000px;}
.single-sp-body img{width: 100%;}
.single-sp-body a{text-decoration: underline; color: #531213; transition: all .2s;}
.single-sp-body a:hover{opacity: 0.5;}
.single-sp-title-bk{background:#FFF; padding:0; text-align: left; margin:10px 0 0 0;}
h1.single-sp-title {position: relative; color: #000; text-align: left; font-family:'メイリオ', 'Meiryo', sans-serif; font-weight: 900;font-style: normal; font-size: 3rem; line-height: 150%; padding:2rem 0 0 0; margin: 0 0 3rem 0;z-index: 100;}
.single-sp-box{position: relative; z-index: 100; background:#fff; border-radius: 0.5rem;  max-width: 1420px; margin:0 auto;padding:0 2rem;}
.single-sp-box h2{position: relative;color: #000; text-align: left;font-size: 2rem; line-height: 150%; padding: 1rem; margin: 4rem 0 0 0; border: solid thin #7E0021; border-left: solid 1rem #7E0021;}
.single-sp-box h2::before{background-color: rgba(0,0,0,0);}
.single-sp-box h3{text-align: left; font-weight: 900; font-size: 2rem; position: relative; margin: 3rem 0 1rem 0} 
.single-sp-box h3::before { background-color: #7E0021; /* 線の色 */ bottom: -0.5rem; /* 線の位置 */ content: ""; height: 2px; /* 線の高さ */ left: 0; /* 線の中央寄せ */ position: absolute; transform: translateX(0); /* 線の中央寄せ */ width: 50px; /* 線の長さ */}
.ruby-p{ruby-position:under;}
.special-mainpic{max-width: 1000px; padding:4rem 0; margin: 0 auto; width: 100%;}
.special-mainpic img{width: 100%;}
.sp-intro{text-align: center; line-height: 200%; padding:4rem 0 0 0; margin: 0 auto; max-width: 1420px; font-size: 2rem; font-weight: 900;}
.contest-sc{border:solid 0.1rem #000; border-radius: 1rem; padding:2rem;}
.box01{border-radius: 1rem; padding: 2rem 1rem; border: solid 0.1rem #D6C971; outline: solid 0.5rem #D6C971; outline-offset: 0.5rem; margin: 3rem 1rem 6rem 1rem }
.box02{border-radius: 1rem; padding: 2rem 1rem; border: solid 0.1rem #7C7C7C; outline: solid 0.5rem #7C7C7C; outline-offset: 0.5rem; margin: 3rem 1rem 6rem 1rem }
.box03{border-radius: 1rem; padding: 2rem 1rem; border: solid 0.1rem #BB692B; outline: solid 0.5rem #BB692B; outline-offset: 0.5rem; margin: 3rem 1rem 6rem 1rem }
.c-info{background:#DFDFDF; padding:1rem; border-radius: 1rem; margin: 1rem 0;}
.pict-box{display: flex; flex-wrap: wrap; align-items: center; justify-content: center; margin: 1rem auto;}
.pict-box img{width: auto;  margin: 1rem;}
.pict-box-l{display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start;}
.pict-box-l img{width: auto; margin: 1rem;}
.sp-single-list{display: flex; justify-content: flex-start; flex-wrap: wrap;}
.sp-box{border-radius: 10px;margin: 10px;background:#DFDFDF; width: calc((100% - 50px) / 3);}
.sp-box:nth-of-type(3n) {
margin-right: 0;/*右端に来る箱だけ右側の余白を消す*/
}
.sp-box a{text-decoration: none; color: #000000;}
.sp-box img{width: 100%;}
.sp-box-title{text-align: center;}
.award-name{margin: 1rem;}
.award-btn{background:#304686; border-radius: 2rem; width: 600px; margin: 2rem auto;}
.award-btn a{color: #fff; display: block; font-size: 2rem;padding:2rem; font-weight: 900; text-decoration: none;}

#toc_container{width: calc(60% - 40px); padding: 20px 40px; margin: 30px auto; border-radius: 10px;}
.toc_title{width:100%; padding: 0 0 5px 0; border-bottom: 1px solid #7a0020;}
ul.toc_list li{text-align: left !important; margin-bottom: 15px !important;}
ul.toc_list li ul{margin: 10px 0 0 1em !important;}
.tag{position: relative; padding: 10px 30px; color: #fff; background: #ce0505; text-align: center; display: inline;}
.addtoany_content{text-align: right;}

.post_tagbox{padding: 20px; border: 1px solid #656565; list-style: none;}
.post_tagbox h3{text-align: left; width: calc(100% - 40px); border-bottom: 1px solid #656565; font-size: 18px;margin: 0; padding: 4px 0 5px 40px; background: url("../images/tag_white.svg") top left no-repeat; background-size:24px 24px;}
.post_tagbox h3::before{background:none;}
.post-tags{list-style: none; text-align: left; margin: 15px 0 0 0;}
.post-tags li{padding: 4px 0 5px 30px; background: url("../images/tag_blue.svg") top left no-repeat; background-size:24px 24px; text-align: left; display: inline-block; margin: 0 20px 10px 0;}
.post-tags li a{text-decoration: none; color:#304686; font-weight: bold;}
.author_pro{padding: 20px; border: 1px solid #656565; margin-top: 30px;}
.author_pro h3{text-align: left; width: 100%; border-bottom: 1px solid #656565; font-size: 18px;margin: 0; padding: 10px 0 5px 0;}
.author_pro h3::before{border:none; background: none !important;}
.auth_btn{width: 50%; margin: 20px auto; color: #fff; font-weight: bold; text-align: center; background: #72001f;}
.auth_btn a{display: block; color: #fff; text-decoration: none; padding: 15px 0;}
.pro_author_name{font-weight: bold;}
.post_navi{display: flex; justify-content: space-between; margin: 30px 0;}
.post-navigation{width: calc(30% - 40px); background: rgba(0,0,0,0.80); color: #fff; padding: 20px;}
.post-navigation a{color: #fff; text-decoration: none; font-size: 16px; line-height: 150%;}
.pos_navi_pic{width:100%; aspect-ratio: 16 / 9; background: #fff; margin: 10px 0 0 0;}
.pos_navi_pic img{width:100%; height: 100%; object-fit: contain;}
.prev-post{text-align: left;}
.next-post{text-align: right;}


.side_tagbox{padding: 20px; border: 1px solid #656565; list-style: none; margin-top:30px; }
.side_tagbox h3{text-align: left; width: calc(100% - 40px); border-bottom: 1px solid #656565; font-size: 18px;margin: 0; padding: 4px 0 5px 40px; background: url("../images/tag_white.svg") top left no-repeat; background-size:24px 24px;}
.side_tagbox h3::before{background:none;}
.side_tag{list-style: none; text-align: left; margin: 15px 0 0 0;}
.side_tag li{padding: 4px 0 5px 30px; background: url("../images/tag_blue.svg") top left no-repeat; background-size:24px 24px; text-align: left; display: inline-block; margin: 0 20px 10px 0;}
.side_tag li a{text-decoration: none; color:#304686; font-weight: bold;}


.side_ranking{list-style: none; margin-top:30px; }
.side_ranking h3{text-align: left; width: calc(100% - 40px); border-bottom: 1px solid #656565; font-size: 18px;margin: 0; padding: 4px 0 5px 40px; background: url("../images/podium.svg") top left no-repeat; background-size:24px 24px;}
.side_ranking h3::before{background:none;}
.ranking-posts{list-style: none; text-align: left; margin: 15px 0 0 0;}
.ranking-posts li{text-align: center; display:block; padding: 20px 0 10px 0; margin: 0; border-bottom: 2px dotted#656565;}
.ranking-posts li .pos_pic{width:100%; aspect-ratio: 16 / 9; background: #fff; margin: 10px 0 0 0;}
.ranking-posts li .pos_pic img{width:100%; height: 100%; object-fit: contain;}
.ranking-posts li a{text-decoration: none; color:#304686; font-weight: bold;}
.ranking-posts h4{font-size: 16px; font-weight: bold; margin-top: 15px; line-height: 150%;}
.rank_num{font-size: 60px; position: absolute; z-index: 100; font-style: italic; left: 5px; top:10px; text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 1px 0 0 #fff, -1px  0 0 #fff, 0 1px 0 #fff,  0 -1px 0 #fff;}
.ranking-posts li.nor_pic{position: relative; z-index: 10;}



.side_pickup{list-style: none; margin-top:30px; }
.side_pickup h3{text-align: left; width: calc(100% - 40px); border-bottom: 1px solid #656565; font-size: 18px;margin: 0; padding: 4px 0 5px 40px; background: url("../images/flag.svg") top left no-repeat; background-size:24px 24px;}
.side_pickup h3::before{background:none;}
.pickup-posts{list-style: none; text-align: left; margin: 15px 0 0 0;}
.pickup-posts li{text-align: center; display:block; padding: 20px 0 10px 0; margin: 0; border-bottom: 2px dotted#656565;}
.pickup-posts li .pos_pic{width:100%; aspect-ratio: 16 / 9; background: #fff; margin: 10px 0 0 0;}
.pickup-posts li .pos_pic img{width:100%; height: 100%; object-fit: contain;}
.pickup-posts li a{text-decoration: none; color:#304686; font-weight: bold;}
.pickup-posts h4{font-size: 16px; font-weight: bold; margin-top: 15px; line-height: 150%;}
.side-banner-small{margin-top: 30px;}
.sp_banner{display: none;}
@media (max-width:720px) {		
/***************
投稿ページスタイル
***************/
.font-L{font-size: 2rem;}
.single-title-bk{background:#DFDFDF; padding:1rem 0}
h2.single-title {position: relative;color: #000; text-align: center; font-family:'メイリオ', 'Meiryo', sans-serif;font-weight: 900;font-style: normal; font-size: 2rem; line-height: 150%; padding:2rem 0 0 0; margin: 0 0 3rem 0;z-index: 100;}
h2.single-title::before { background-color: #000; /* 線の色 */ bottom: -0.5rem; /* 線の位置 */ content: ""; height: 2px; /* 線の高さ */ left: 50%; /* 線の中央寄せ */ position: absolute; transform: translateX(-50%); /* 線の中央寄せ */ width: 50px; /* 線の長さ */}
.single-box{position: relative; z-index: 100; background:#fff; border-radius: 0.5rem;  max-width: 1420px; margin:0 auto;padding:2rem;}
.single-box h3{text-align: left; font-weight: 900; font-size: 1.8rem; position: relative; margin: 3rem 0 1rem 0} 
.single-box h3::before { background-color: #7E0021; /* 線の色 */ bottom: -0.5rem; /* 線の位置 */ content: ""; height: 2px; /* 線の高さ */ left: 0; /* 線の中央寄せ */ position: absolute; transform: translateX(0); /* 線の中央寄せ */ width: 50px; /* 線の長さ */}
.longurl{word-break: break-all; pading:1rem 0; text-align: justify;}

/***************
特別企画投稿ページスタイル
***************/
.breadclumb{padding: 10px;}
.sp_banner{display: block; width:95%; margin: 1rem auto 0 auto;}
.breadclumb .wrap{width: 100%; margin: 0 auto;}
.main_wrap{width:100%; display: block; margin: 1rem auto 6rem auto;}
.side_content{width: 90%; margin: 1rem auto;}
.single-sp-title-bk{background:#DFDFDF; padding:1rem 0; margin: 0;}
h1.single-sp-title {position: relative;color: #000; text-align: center; font-family:'メイリオ', 'Meiryo', sans-serif;font-weight: 900;font-style: normal; font-size: 2rem; line-height: 150%; padding:2rem 2rem 0 2rem; margin: 0 0 1rem 0;z-index: 100;}
h1.single-sp-title::before { background-color: #7E0021; /* 線の色 */ bottom: -0.5rem; /* 線の位置 */ content: ""; height: 2px; /* 線の高さ */ left: 50%; /* 線の中央寄せ */ position: absolute; transform: translateX(-50%); /* 線の中央寄せ */ width: 50px; /* 線の長さ */}
#toc_container{width: calc(100% - 20px); padding: 10px; margin: 10px auto; border-radius: 10px;}
.single-sp-body{background:#fff; margin:0; width: 100%;}
.single-sp-body img{width: 100%;}
.single-sp-box h2 {position: relative;color: #000; text-align: left;font-size: 2rem; line-height: 150%; padding: 1rem; margin: 4rem 0 2rem 0; border: solid thin #7E0021; border-left: solid 1rem #7E0021;}
.special-mainpic{max-width: 1000px; margin: 0 auto; width: 100%;text-align: center; padding:0;}
.special-mainpic img{width: 100%; margin: 0 auto;}
.sp-intro{text-align: justify; line-height: 150%; padding:2rem; margin: 0 auto; max-width: 1420px; font-size: 1.6rem;}
.sp-single-list{display: flex; justify-content: center; flex-wrap: wrap;}
.sp-box{border-radius: 1rem;width: 90%; margin: 1rem;background:#DFDFDF;}
.sp-box img{width: 100%;}
.sp-box-title{text-align: center;}
.award-btn{background:#304686; border-radius: 2rem; width: 90%; margin: 2rem auto;}
.award-btn a{color: #fff; display: block; font-size: 2rem;padding:2rem; font-weight: 900;text-align: center;}
.pict-box{display: flex; flex-wrap: wrap; align-items: center; justify-content: center; margin: 1rem auto;}
.pict-box img{width: 90%;  margin: 1rem auto;}
.pict-box-l{display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start;}
.pict-box-l img{width: 90%; margin: 1rem auto;}
    
.post-navigation{width: calc(48% - 20px); background: rgba(0,0,0,0.80); color: #fff; padding: 10px;}
.post-navigation a{color: #fff; text-decoration: none; font-size: 16px; line-height: 120%;}
.post_tagbox{padding: 10px; border: 1px solid #656565; list-style: none;}
.post_tagbox h3{text-align: left; width: calc(100% - 40px); border-bottom: 1px solid #656565; font-size: 16px;margin: 0; padding: 4px 0 5px 40px; background: url("../images/tag_white.svg") top left no-repeat; background-size:24px 24px;}

.pickup-posts li.first_pic {text-align: center; display:block; padding: 0 0 10px 0; margin: 0; border-bottom: 2px dotted#656565;}
.pickup-posts li.first_pic .pos_pic{width:100%; aspect-ratio: 16 / 9; background: #fff; margin: 10px 0 0 0;}
.pickup-posts li.first_pic .pos_pic img{width:100%; height: 100%; object-fit: contain;}
.pickup-posts li.first_pic a{text-decoration: none; color:#000; font-weight: bold;}
.pickup-posts li.first_pic h4{font-size: 16px; font-weight: bold; margin-top: 15px; line-height: 150%;}    
    
.pickup-posts li.nor_pic{text-align: center; display:block; padding: 0 0 10px 0; margin: 0; border-bottom: 2px dotted#656565;}
.pickup-posts li.nor_pic .pos_pic{width:48%; aspect-ratio: 16 / 9; background: #fff; margin: 0;}
.pickup-posts li.nor_pic .pos_pic img{width:100%; height: 100%; object-fit: contain;}
.pickup-posts li.nor_pic a{text-decoration: none; color:#000; font-weight: normal; display:flex; justify-content: space-between; padding: 10px 0 0 0;}
.pickup-posts li.nor_pic h4{font-size: 16px; line-height: 150%; width: 50%; text-align: justify; margin: 0; font-weight: normal;}

.ranking-posts li.nor_pic{text-align: center;  display:flex; justify-content: space-between; padding: 20px 0; margin: 0; border-bottom: 2px dotted#656565;}
.ranking-posts li.nor_pic .pos_pic{width:48%; aspect-ratio: 16 / 9; background: #fff; margin: 0;}
.ranking-posts li.nor_pic .pos_pic img{width:100%; height: 100%; object-fit: contain;}
.ranking-posts li.nor_pic a{text-decoration: none; color:#000; font-weight: normal; padding: 10px 0 0 0;}
.ranking-posts li.nor_pic h4{font-size: 16px; line-height: 150%; width: 50%; text-align: justify; margin: 0; font-weight: normal;}
.rank_num{font-size: 60px; position: absolute; z-index: 100; font-style: italic; left: 5px; top:25px; text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 1px 0 0 #fff, -1px  0 0 #fff, 0 1px 0 #fff,  0 -1px 0 #fff;}
}