@charset "utf-8";
/* CSS Document */
/* CSS Remedy */
*, ::after, ::before {
 box-sizing: border-box;
}
html {
 line-sizing: normal;
}
body {
 margin: 0;
}
[hidden] {
 display: none;
}
h1 {
 font-size: 2rem;
}
h2 {
 font-size: 1.5rem;
}
h3 {
 font-size: 1.17rem;
}
h4 {
 font-size: 1rem;
}
h5 {
 font-size: .83rem;
}
h6 {
 font-size: .67rem;
}
h1 {
 margin: .67em 0;
}
pre {
 white-space: pre-wrap;
}
hr {
 border-style: solid;
 border-width: 1px 0 0;
 color: inherit;
 height: 0;
 overflow: visible;
}
audio, canvas, embed, iframe, img, object, svg, video {
 display: block;
 vertical-align: middle;
 max-width: 100%;
}
audio:not([controls]) {
 display: none;
}
picture {
 display: contents;
}
source {
 display: none;
}
canvas, img, svg, video {
 height: auto;
}
audio {
 width: 100%;
}
img {
 border-style: none;
}
svg {
 overflow: hidden;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section {
 display: block;
}
[type=checkbox], [type=radio] {
 box-sizing: border-box;
 padding: 0;
}
/*/////////////////すべてのサイトにおける設定ここから/////////////////*/
* {
 margin: 0;
 padding: 0;
}
html {
 height: 100%;
}
body {
 margin: 0;
 background-color: #F8F8F8;
 font-family: "游ゴシック", 'Yu Gothic Medium', 'noto-sans', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Segoe UI', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
 font-feature-settings: "palt"1;
 position: relative;
 font-size: 1.0rem;
 font-weight: 500;
 letter-spacing: 0.1rem;
 line-height: 2rem;
 color: #3B3B3B;
}
body p {
 margin-bottom: 0;
 margin-top: 0;
}
li {
 list-style-type: none;
}
img {
 width: 100%;
 margin: 0;
 padding: 0;
 vertical-align: bottom;
}
a {
 text-decoration: none;
 color: #3B3B3B;
 cursor: pointer;
 display: inline-block;
}
h1, h2, h3, h4, h5 {
 text-decoration: none;
}
section {
 position: relative;
}
/*レスポンシブ*/
.forPc {
 display: none;
}
.forSp {
 display: block;
}
@media screen and (min-width: 767px) {
 .forSp {
  display: none;
 }
 .forPc {
  display: block;
 }
}
/*//////////////////////////////////*/
/*////共通////*/
.blue {
 color: #6B8BC6;
}
.red {
 color: #D54848;
}
h2 {
 font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", serif;
 font-weight: 600;
 font-size: 2.8rem;
 line-height: 3rem;
 margin-bottom: 10%;
}
h2 p {
 font-family: "hightower-text", "Noto-serif", "Times New Roman", Times, serif;
 font-weight: 500;
 font-size: 0.8rem;
 line-height: 0.8rem;
 /*margin-bottom: 2%;*/
}
/*///////////*/
#page-top a {
 display: flex;
 justify-content: flex-end;
}
#page-top a img {
 /*width: 12%;*/
 height: auto;
 object-fit: contain;
 transition: .3s;
 -webkit-transform: scale(1);
 transform: scale(1);
}
#page-top a img:hover {
 -webkit-transform: scale(1.05);
 transform: scale(1.05);
 opacity: 0.8;
}
#page-top {
 position: fixed;
 right: 3%;
 bottom: 14%;
 z-index: 99;
 opacity: 0;
 transform: translateY(100px);
 width: 3.5%;
}
/*　上に上がる動き　*/
#page-top.UpMove {
 animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime {
 from {
  opacity: 0;
  transform: translateY(80px);
 }
 to {
  opacity: 1;
  transform: translateY(0);
 }
}
/*　下に下がる動き　*/
#page-top.DownMove {
 animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime {
 from {
  opacity: 1;
  transform: translateY(0);
 }
 to {
  opacity: 1;
  transform: translateY(10px);
 }
}

/*TOP*/
.top_logo {
 display: inline-block;
 position: absolute;
 width: 35%;
 height: auto;
 left: 5%;
 top: 2%;
 z-index: 1001;
}
#top h1 {
 position: absolute;
 display: inline-block;
 top: 38%;
 right: 0;
 left: 0;
 margin: 0 auto;
 text-align: center;
 align-items: center;
 width: 70%;
 height: auto;
 object-fit: contain;
}
.top_img {
 width: 100%;
 height: auto;
 justify-content: top;
 object-fit: cover;
 margin: 0 auto;
}
#topunder {
	display: none;
 margin: 0;
}
.topunder_01 {
 object-fit: contain;
 margin: 0 auto;
}
#topunder a {
	transition: .3s;
 -webkit-transform: scale(1);
 transform: scale(1);
}

#topunder a:hover {
 -webkit-transform: scale(1.05);
 transform: scale(1.05);
}


/*新着ニュース*/
.news_wrapper {
 margin: 20% 7% 15%;
}
.news_contents {
 height: 250px;
 overflow-y: scroll;
 box-shadow: inset 0 -3em 3em rgb(180 180 180 / 30%);
}
.news_contents ul {
 padding: 4%;
}
.news_contents time {
 font-size: 0.6rem;
 color: #888888;
 display: inline;
}
.news_contents p {
 padding-bottom: 3%;
 margin-bottom: 5%;
 line-height: 1.8rem;
}
.news_contents li {
 padding: 3% 1% 0;
 border-bottom: 0.5px solid #D2D2D2;
}
.news_contents li:last-child {
 border-bottom: none;
}
.news_contents a {
 display: inline-block;
 transition: .3s;
 -webkit-transform: scale(1);
 transform: scale(1);
}
.news_contents a:hover {
 -webkit-transform: scale(1.05);
 transform: scale(1.05);
 opacity: 0.8;
}
.timerHidden img {
 vertical-align: baseline;
 margin-left: 3%;
 width: 100%;
 height: auto;
 object-fit: contain;
}
.timerHidden {
 display: none;
}
.timerVisible {
 display: inline-block;
}


	/* 選挙結果 */
.result_wrapper {
 padding: 20% 7% 15%;
	border-top: 1px solid #D2D2D2;
}
.result_wrapper h2 {
	margin-bottom: 0%;
}
.result_img {
	width: 100%;
	}
.result_box01 {
	margin-bottom: 3%;
}
.result_img01 {
	margin: 0 0 0 auto;
	width: 50%;
}
.result_chart {
	margin: 1% 0;
}
.result_centermark {
	width: 20%;
	margin: 0 auto;
}
.result_box02 {
	margin-bottom: 10%;
}
#result cite span {
 display: block;
 text-align: right;
 font-weight: 500;
 font-size: 0.8rem;
 line-height: 1.6rem;
 color: #4F4F4F;
}
.result_box03 {
	margin-bottom: 10%;
}



/*大統領選挙とは*/
#about {
 background-image: url("../images/about_bg02.png");
 background-size: cover;
 background-repeat: no-repeat;
 background-position: center;
 width: 100% auto;
 position: relative;
}
.about_wrapper {
 padding: 21% 7% 39%;
 position: relative;
 z-index: 2;
}
.about_contents p {
	line-height: 2.4rem;
	font-weight: 600;
}
.about_img-01 {
 width: 95%;
 margin: 5% auto;
 align-items: center;
 object-fit: cover;
}
.about_img-02 {
 position: absolute;
 bottom: 0;
 width: 100%;
 /*height: 100%;*/
 object-fit: cover;
 mix-blend-mode: hard-light;
 z-index: 1;
}

/*米大統領選検証*/
#commentary {
 overflow: hidden;
 background-image: url("../images/all_bg.png");
 background-size: cover;
 background-repeat: no-repeat;
 background-position: top center;
 width: 100%;
 margin: 0 auto;
 padding-bottom: 20%;
}
.commentary_wrapper {
 padding: 20% 0% 15%;
 color: #FBFBFB;
}
.commentary_wrapper h2 {
 padding: 0 7%;
}
.commentary_box01 {
 width: 100%;
 margin-left: 7%;
 margin-top: -19%;
}
.commentary_img01 {
 width: 60%;
 /*transform: translate(55%,-27%);*/
 margin-left: 28%;
}
.commentary_img01 img {
 width: 100%;
 object-fit: cover;
 filter: drop-shadow(0 5px 10px black);
}
.commentary_img02 {
 /*position: absolute;*/
 width: 60%;
 top: 38%;
 margin-bottom: 3%;
}
.commentary_text_block {
 position: relative;
 margin-top: -19%;
}
.commentary_text {
 /*position: absolute;*/
 background-color: #212121;
 width: 93%;
 padding: 4% 0 4% 4%;
 font-size: 0.7rem;
 line-height: 1.4rem;
}
.commentary_img03 {
 opacity: 0.4;
 width: 75%;
 margin: 0 auto;
 margin-top: 25%;
}
.commentary_img04 {
 width: 55%;
 margin: 0 auto;
 margin-top: -2%;
 z-index: 10;
 position: relative;
}
.commentary_youtube {
 width: 100%;
}
.slider { /*横幅94%で左右に余白を持たせて中央寄せ*/
 width: 94%;
 margin: 0 auto;
}
.slick-list {
 padding: 0 !important;
}
.slider .slick-slide {
 transform: scale(0.9);
 transition: all .5s; /*拡大や透過のアニメーションを0.5秒で行う*/
 opacity: 0.5; /*透過50%*/
}
.slider .slick-slide.slick-center {
 transform: scale(1); /*中央の画像のサイズだけ等倍に*/
 opacity: 1; /*透過なし*/
}
/*矢印の設定*/
/*戻る、次へ矢印の位置*/
.slick-prev, .slick-next {
 position: absolute; /*絶対配置にする*/
 top: 42%;
 cursor: pointer; /*マウスカーソルを指マークに*/
 outline: none; /*クリックをしたら出てくる枠線を消す*/
 border-top: 2px solid #FEFEFE; /*矢印の色*/
 border-right: 2px solid #FEFEFE; /*矢印の色*/
 height: 20px;
 width: 20px;
 margin: 0 1%;
}
.slick-prev { /*戻る矢印の位置と形状*/
 left: -2%;
 transform: rotate(-135deg);
 z-index: 99;
}
.slick-prev::after {
 content: '';
 display: block;
 height: 35px;
 width: 35px;
 background-color: transparent;
}
.slick-next { /*次へ矢印の位置と形状*/
 right: -2%;
 transform: rotate(45deg);
 z-index: 99;
}
.slick-next::after {
 content: '';
 display: block;
 height: 35px;
 width: 35px;
 background-color: transparent;
}
.youtube_box {
 width: 100%;
 /*height: auto;*/
}
.youtube_text {
 width: 100%;
 display: block;
 text-align: center;
 color: #fff;
 line-height: 1.6rem;
 margin-top: 4%;
 font-size: 0.8rem;
}
.youtube_text span {
 display: block;
 font-size: 1.1rem;
}

/*レポート*/
#report {
 background: #F8F8F8;
 margin-top: -5%;
 border-radius: 15px 15px 0 0;
}
.report_wrapper {
 padding: 10% 0 20%;
 border-bottom: 1px solid #D2D2D2;
}
.report_wrapper h2 {
 margin: 0 7%;
}
.report_contents {
 width: 100%;
}
.report_box {
 margin: 0 auto;
 width: 100%;
}
.report_box h3 {
 font-size: 1rem;
 line-height: 3.0rem;
 font-weight: 600;
 text-align: center;
 margin: 0 auto;
 color: #D2D2D2;
}
.comingsoon {
 width: 80%;
 color: #D2D2D2;
 font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", serif;
 font-weight: bold;
 font-size: 2rem;
 line-height: 3rem;
 /* padding: 5% 0;*/
 text-align: center;
 background-color: #FBFBFB;
 box-shadow: 0 0 11px rgb(15 15 15 / 14%);
 margin: 0 auto;
}
.re_box {
 background-color: #fefefe;
 margin: 10% 7%;
 box-shadow: 0 0 11px rgb(15 15 15 / 14%);
}
.re_box a {
 display: block;
	padding: 10% 5%;
	transition: .3s;
 -webkit-transform: scale(1);
 transform: scale(1);
}
.re_box a:hover {
 -webkit-transform: scale(1.05);
 transform: scale(1.05);
}
.re_box img {
 width: 100%;
 height: auto;
 object-fit: cover;
}
.re_box h4 {
 float: left;
	width: 100%;
	font-size: 1.4rem;
 line-height: 2.0rem;
	padding: 3% 0 10%;
}
.re_box time {
 font-size: 0.8rem;
 line-height: 0.6rem;
}
.re_box p {
	width: 100%;
 display: block;
}
.report_link p {
 font-size: 0.8rem;
 padding: 3% 5%;
	margin: 5% 0;
 text-align: right;
	background-color: #3B3B3B;
	color: #FBFBFB;
}
/*プロフィール*/
.profile_wrapper {
 padding-top: 10%;
}
.profile_wrapper h2 {
 margin: 10% 7% 7%;
}
.profile_jb {
 background-image: url("../images/profile_bg_jb01.png");
 background-repeat: no-repeat;
 background-position: left bottom;
 background-size: 93% 80%;
 position: relative;
}
.profile_jb p {
 width: 80%;
 object-fit: contain;
}
.profile_jb h3 {
 position: absolute;
 right: 12%;
 bottom: 33%;
 font-size: 1.2rem;
 letter-spacing: 0.01rem;
 line-height: 1.15rem;
}
.profile_jb h3 span {
 font-size: 0.8rem;
 font-family: "hightower-text", "Noto-serif", "Times New Roman", Times, serif;
}
.profile_tw {
 margin: 0 7%;
}
.profile_tw p {
 width: 80%;
 object-fit: contain;
}
.profile_tw h3 {
 font-size: 1.2rem;
 letter-spacing: 0.01rem;
 line-height: 1.15rem;
 background-color: #6B8BC6;
 padding: 15px 0 10px;
 text-align: center;
 color: #efefef;
}
.profile_tw h3 span {
 font-size: 0.8rem;
 font-family: "hightower-text", "Noto-serif", "Times New Roman", Times, serif;
 padding-left: 0.6rem;
}
.profile_tw h4 {
 font-size: 1.6rem;
 letter-spacing: 0.01rem;
 line-height: 2.2rem;
 font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", serif;
 font-weight: bold;
}
.badge img {
 position: absolute;
 top: 0;
 right: 7%;
 width: 35%;
 object-fit: contain;
}
.profile_dt {
 background-image: url("../images/profile_bg_dt01.png");
 background-repeat: no-repeat;
 background-position: right bottom;
 background-size: 93% 80%;
 position: relative;
}
.profile_dt p {
 width: 80%;
 object-fit: contain;
 margin-left: auto;
}
.profile_dt h3 {
 position: absolute;
 left: 12%;
 bottom: 33%;
 font-size: 1.2rem;
 letter-spacing: 0.01rem;
 line-height: 1.15rem;
}
.profile_dt h3 span {
 font-size: 0.8rem;
 font-family: "hightower-text", "Noto-serif", "Times New Roman", Times, serif;
}
.profile_jdv {
 margin: 0 7%;
}
.profile_jdv p {
 width: 80%;
 object-fit: contain;
 margin-left: auto;
}
.profile_jdv h3 {
 font-size: 1.2rem;
 letter-spacing: 0.01rem;
 line-height: 1.15rem;
 background-color: #D54848;
 padding: 15px 0 10px;
 text-align: center;
 color: #efefef;
}
.profile_jdv h3 span {
 font-size: 0.8rem;
 font-family: "hightower-text", "Noto-serif", "Times New Roman", Times, serif;
 padding-left: 0.6rem;
}
.profile_jdv h4 {
 font-size: 1.6rem;
 letter-spacing: 0.01rem;
 line-height: 2.2rem;
 font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", serif;
 font-weight: bold;
}
.profile_contents {
 margin: 10% 7% 15%;
}
.profile_box {
 padding-bottom: 6%;
 margin-bottom: 6%;
 border-bottom: 0.5px solid #D2D2D2;
}
.profile_box:last-child {
 border-bottom: none;
 padding-bottom: 0;
 margin-bottom: 0;
}
.text_01 {
 padding-bottom: 5%;
}
.profile_box ul {
 padding-left: 5%;
}
.profile_box ul li {
 list-style: disc;
 padding-bottom: 5%;
}
.profile_box ul li::marker {
 letter-spacing: 0.1vw;
}
.profile_box ul li:last-child {
 padding-bottom: 0;
}
#policy {
 background-color: #3B3B3B;
 color: #FBFBFB;
}
.policy_wrapper {
 padding: 25% 4% 7%;
}
.policy_wrapper h2 {
 margin: 0 3.3% 7%;
}
.policy_contents {
 position: relative;
}
.policy_b {
 margin-bottom: 10%;
 position: relative;
}
.policy_b .policy_contents {
 background-image: url("../images/policy_bg_jb02.png");
 background-repeat: no-repeat;
 padding: 10% 10% 15%;
 background-size: cover;
 color: #3B3B3B;
}
.policy_contents h4 {
 font-size: 1.5rem;
 padding-bottom: 5%;
}
.policy_contents h4 span {
 font-family: "kaisei-opti", "hightower-text", "Noto-serif", "Times New Roman", "Yu Mincho", "Hiragino Mincho ProN", "serif";
 margin-right: 4%;
 font-size: 1.0rem;
 font-weight: bold;
}
.policy_contents ul li {
 padding-bottom: 10%;
 margin-bottom: 10%;
 border-bottom: 0.5px solid #D2D2D2;
}
.policy_contents ul li:last-child {
 border-bottom: none;
 padding-bottom: 0;
 margin-bottom: 0;
}
.update {
 font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", serif;
 position: absolute;
 top: 40%;
 left: 50%;
 text-align: center;
 width: 70%;
 transform: translate(-50%, -50%);
 font-size: 4.2rem;
 line-height: 5.0rem;
 font-weight: bold;
 z-index: 2;
}
/* 更新中bg
.policy_b .policy_contents::after {
	content: "";
	width: 100%;
	height: 100%;
	background-color: rgba(251,251,251,0.9);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
} */
.policy_t .policy_contents {
 background-image: url("../images/policy_bg_dt02.png");
 background-repeat: no-repeat;
 padding: 10% 10% 15%;
 background-size: cover;
 color: #3B3B3B;
}
#schedule {
 overflow: hidden;
 color: #FBFBFB;
 background-image: url("../images/all_bg.png");
 background-repeat: no-repeat;
 background-position: top center;
 background-size: cover;
}
.schedule_wrapper {
 background: linear-gradient(to bottom, #3B3B3B 0%, #3E3E3E 20%, #7C7C7C 35%, transparent 45%, transparent 100%);
}
/*.schedule_wrapper::before {
content: url("../images/schedule_img_01.png");
display: block;
width: 100%;
height: auto;
position: absolute;
transform: translateX(10%) translateY(8%)scale(1.1, 1.1);
mix-blend-mode: soft-light;
object-fit: cover;
mask-image: linear-gradient(to bottom, black 85%, transparent 98%);
}*/
.Schedule_img_01 {
 position: absolute;
 width: 90%;
 right: -20%;
 opacity: 0.5;
 top: 10%;
}
.schedule_wrapper h2 {
 display: block;
 padding: 60% 7% 10%;
 width: 100%;
 margin-bottom: 0;
 /*background: linear-gradient(to bottom, #3B3B3B 0%, #3E3E3E 30%, #7C7C7C 80%, #3B3B3B 100%);*/
 position: relative;
 z-index: 10;
}
.schedule_timeline {
 position: relative;
 padding: 0 7%;
 top: -10%;
}
/*アコーディオン全体*/
.accordion-area {
 list-style: none;
 width: 100%;
 margin: 0 auto;
}
.accordion-area li {
 margin: 6% 0;
}
/*buttonの大枠 relative指定*/
.sc01, .sc02, .sc03, .sc04, .sc05 {
 position: relative;
 cursor: pointer;
 display: block;
 padding: 3% 3% 3% 5%;
 color: #3B3B3B;
 border-radius: 9999px;
 background-color: #FBFBFB;
 width: 100%;
 vertical-align: middle;
 transition: .3s;
 -webkit-transform: scale(1);
 transform: scale(1);
}
.sc01:hover, .sc02:hover, .sc03:hover, .sc04:hover, .sc05:hover {
 -webkit-transform: scale(1.05);
 transform: scale(1.05);
 background-color: #3B3B3B;
 color: #FBFBFB;
}
/*アコーディオンタイトル*/
.schedule_contents h4, .schedule_contents-last h4 {
 display: flex;
 font-size: 1.2rem;
 line-height: 1.2rem;
 font-weight: 400;
 widows: 100%;
 height: auto;
}
.sc01 h4::before {
 content: '';
 display: inline-block;
 background-image: url("../images/schedule_timeline01.png");
 background-repeat: no-repeat;
 width: 10%;
 height: auto;
 background-size: contain;
 background-position: center;
 margin-right: 3%;
}
.sc02 h4::before {
 content: '';
 display: inline-block;
 background-image: url("../images/schedule_timeline02.png");
 background-repeat: no-repeat;
 width: 10%;
 height: auto;
 background-size: contain;
 background-position: center;
 margin-right: 3%;
}
.sc03 h4::before {
 content: '';
 display: inline-block;
 background-image: url("../images/schedule_timeline03.png");
 background-repeat: no-repeat;
 width: 10%;
 height: auto;
 background-size: contain;
 background-position: center;
 margin-right: 3%;
}
.sc04 h4::before {
 content: '';
 display: inline-block;
 background-image: url("../images/schedule_timeline04.png");
 background-repeat: no-repeat;
 width: 10%;
 height: auto;
 background-size: contain;
 background-position: center;
 margin-right: 3%;
}
.sc05 h4::before {
 content: '';
 display: inline-block;
 background-image: url("../images/schedule_timeline05.png");
 background-repeat: no-repeat;
 width: 10%;
 height: auto;
 background-size: contain;
 background-position: center;
 margin-right: 3%;
}
.sc01 {
 padding: 6% 3% 6% 5%;
}
.schedule_contents p, .schedule_contents-last p {
 width: 100%;
 font-weight: bold;
}
.schedule_contents time, .schedule_contents-last time {
 font-size: 0.8rem;
 line-height: 0.8rem;
 display: block;
 padding-bottom: 3%;
}
.arrow {
 position: absolute;
 display: block;
 height: auto;
 transition: 0.5s;
 right: 5%;
 top: 35%;
}
/*　closeというクラスがついたら形状変化　*/
.schedule_contents.close {
 width: 100%;
 background: linear-gradient(180deg, transparent 0%, transparent 50%, #FBFBFB 50%, #FBFBFB 100%);
}
.schedule_contents.close .sc01, .schedule_contents.close .sc02, .schedule_contents.close .sc03, .schedule_contents.close .sc04, .schedule_contents.close .sc05 {
 color: #FBFBFB;
 background-color: #3B3B3B;
}
.close span {
 transform: rotate(180deg);
}
/*アコーディオンで現れるエリア*/
.schedule_box {
 display: none; /*はじめは非表示*/
 background-color: #FBFBFB;
 color: #3B3B3B;
 margin: 0;
 width: 100%;
 border-radius: 0 0 20px 20px;
}
.schedule_box p {
 margin: 0 auto;
 width: 90%;
 padding: 5% 0 7% 0;
}
.sc06 {
 margin-top: 10%;
 position: relative; /*+マークの位置基準とするためrelative指定*/
 padding: 7% 7% 6% 13%;
 transition: all .5s ease;
 display: block;
 color: #3B3B3B;
 border-radius: 10px;
 background-color: #FBFBFB;
}
.sc06 h4 {
 font-size: 6.5vw;
 line-height: 7.8vw;
 font-weight: 400;
}
.sc06 time {
 font-size: 0.8rem;
 display: block;
}
.sc06 h4::before {
 content: '';
 display: inline-block;
 background-image: url("../images/schedule_timeline06.png");
 background-repeat: no-repeat;
 width: 25%;
 height: auto;
 background-size: contain;
 background-position: center;
 margin-right: 3%;
}
.schedule_img-02 img {
 width: 75%;
 height: auto;
 object-fit: contain;
 margin: 0 auto;
 padding-top: 10%;
 filter: drop-shadow(0 5px 10px black);
}
.schedule_img-02 span {
 background-color: #F8F8F8;
 padding: 5% 50%;
 border-radius: 25px 25px 0 0;
 margin: 5% 0;
 position: relative;
 z-index: 100;
}

#cp {
 background: #F8F8F8;
 margin-top: -5%;
 border-radius: 15px 15px 0 0;
}
.cp_wrapper {
 padding-top: 15%;
 margin: 0 7% 20%;
}
#cp ul li img {
 border: solid 1px #000000;
}
#cp ul li {
 margin-bottom: 7%;
}
#cp ul li:last-child {
 margin-bottom: 0%;
}
.cp_txt {
 margin-top: 2%;
}
#sns {
 /*background-color: #F2F2F2;*/
 padding: 10% 0;
 padding-bottom: 5%;
 /*border-bottom: 1px solid #D2D2D2;*/
}
.sns_logo {
 width: 45%;
 object-fit: contain;
 margin: 0 auto;
 padding-bottom: 7%;
}
.sns_icon {
 width: 70%;
 margin: 0 auto;
}
#sns::after {
 content: "";
 display: block;
 margin: 0% 5% 0%;
 width: 90%;
 height: 1px;
 position: absolute;
 background-color: #D2D2D2;
}
.sns_icon ul {
 display: flex;
 width: 100%;
 align-items: center;
 justify-content: space-between;
 margin-bottom: 10%;
}
.sns_icon ul li {
 width: 18%;
 transition: .3s;
 -webkit-transform: scale(1);
 transform: scale(1);
}
.sns_icon ul li a:hover {
 -webkit-transform: scale(1.05);
 transform: scale(1.05);
 opacity: 0.8;
}
#footer {
 /*background-color: #F2F2F2;
padding-top: 10%;*/
 margin-top: 1vw;
 font-size: 0.75rem;
 line-height: 1.5rem;
 font-weight: normal;
 z-index: 100;
 position: relative;
}
.footer01 {
 padding: 0 5%;
}
.footernav {
 display: none;
}
.footertext {
 padding-bottom: 10%;
}
.copy p {
 background-color: #212121;
 padding: 7% 0 20% 0;
 text-align: center;
 font-size: 0.8rem;
 margin-top: 10%;
 color: #FBFBFB;
}
/*btn*/
.fix_btn {
 display: flex;
 width: 100%;
 justify-content: space-between;
 position: fixed;
 z-index: 10000;
 background: #00000033;
 bottom: 0;
 padding-top: 5%;
 padding-bottom: 5%;
 padding-left: 6%;
 padding-right: 6%;
}
.fix_btn .fix_btn_block {
 width: 48.5%;
 border-radius: 30vw;
 text-align: center;
 line-height: 10vw;
 /*display: flex;*/
 font-size: 3.6vw;
}
.fix_btn a {
 color: #fff;
}
.fix_btn_block {
 position: relative;
 font-weight: bold;
}
.fix_btn_block p {
 margin-left: -10%;
}
.fix_btn_block img {
 width: 12%;
 position: absolute;
 right: 6%;
 top: 25%;
}
.fix_btn_login {
 background: #6B8BC6;
 filter: drop-shadow(0px 4px 0px #5177BC);
 transition: .3s;
}
.fix_btn_login:hover {
 transform: translateY(3px);
 filter: drop-shadow(0px 2px 0px #5177BC);
}
.fix_btn_account {
 background: #D54848;
 filter: drop-shadow(0px 4px 0px #CE2828);
 transition: .3s;
}
.fix_btn_account:hover {
 transform: translateY(3px);
 filter: drop-shadow(0px 2px 0px #CE2828);
}
.button_02 {
 width: 65%;
 margin-left: 17.5%;
 margin-top: 19%;
 border-radius: 30vw;
 text-align: center;
 line-height: 10vw;
 font-size: 3.6vw;
 background: #fff;
 font-weight: bold;
 position: relative;
}
.button_02 img {
 width: 8%;
 position: absolute;
 right: 5%;
 top: 24%;
}
#commentary .button_02 {
 color: #fff;
 background: #FF0000;
 filter: drop-shadow(0px 4px 0px #C40000);
 transition: .3s;
}
#commentary .button_02:hover {
 transform: translateY(4px);
 filter: drop-shadow(0px 2px 0px #C40000);
}
#commentary .button_02 p {
 margin-left: -5%;
}
#commentary .button_02 a {
 color: #fff;
}
#cp .button_02 {
 background: #EBEBEB;
 filter: drop-shadow(0px 4px 0px #AEAEAE);
 transition: .3s;
}
#cp .button_02:hover {
 transform: translateY(4px);
 filter: drop-shadow(0px 2px 0px #AEAEAE);
}
/*btnここまで*/
#header {
 background: var(--background-navbar);
 position: fixed;
 width: 100%;
 height: 52px;
 z-index: 1000;
}
/* Nav items */
.menu {
 list-style: none;
 position: absolute;
 width: 70%;
 height: auto;
 top: 0;
 clear: both;
 background: var(--background-navbar);
 transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
 transform: scale(1, 0);
 transform-origin: top;
 background: #ddddddd4;
 z-index: 50;
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 padding:19% 7% 10%;
 right: 0;
}
/* Hamburger menu button */
.menu-btn:checked ~ .menu {
 transform: scale(1, 1);
 transform-origin: top;
 transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
/* Hamburger menbu text */
.menu a {
 text-decoration: none;
 font-weight: bold;
 letter-spacing: 1px;
 font-size: 0.9rem;
 text-transform: capitalize;
 color: #000;
 opacity: 0;
 transition: 0.5s;
 width: 100%;
}
.menu li {
 border-top: 1px solid rgb(75, 75, 75);
 opacity: 0;
 transition: 0.5s;
 width: 100%;
 background: #ffffffc2;
 border: solid 1px #AEAEAE;
 border-radius: 1.3vw;
 text-align: center;
 margin-bottom: 3%;
 /* line-height: 3rem; */
 padding-top: 2%;
 padding-bottom: 2%;
 font-weight: bold;
}
.menu-btn:checked ~ .menu a, .menu-btn:checked ~ .menu li {
 opacity: 1;
 transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.2s;
}
.menu-btn {
 display: none;
}
.menu-icon {
 display: inline-block;
 position: relative;
 cursor: pointer;
 -webkit-tap-highlight-color: #fff;
 background: #21212136;
 width: 17%;
 height: 16vw;
 margin-left: 83%;
 z-index: 100;
 border-radius: 0 0 0 10px;
}
.navicon {
 background: #fff;
 display: block;
 height: 2px;
 width: 30px;
 position: relative;
 transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
 margin-left: 30%;
 margin-top: 44%;
}
.navicon:before, .navicon:after {
 content: "";
 display: block;
 height: 100%;
 width: 100%;
 position: absolute;
 background: #fff;
 transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
.navicon:before {
 top: 9px;
}
.navicon:after {
 bottom: 9px;
}
/* Hamburger Menu Animation Start */
.menu-btn:checked ~ .menu-icon .navicon:before {
 transform: rotate(-45deg);
}
.menu-btn:checked ~ .menu-icon .navicon:after {
 transform: rotate(45deg);
}
.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before {
 top: 0;
}
.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
 bottom: 0;
}
.menu-btn:checked ~ .menu-icon .navicon {
 background: rgba(0, 0, 0, 0);
 transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
/* Hamburger Menu Animation End */
/* Navbar Container */
.navtext-container {
 width: 100%;
 height: 52px;
 position: absolute;
 box-sizing: border-box;
 display: flex;
 justify-content: center;
 align-items: center;
}
/* Navbar Text */
.navtext {
 position: absolute;
 text-transform: uppercase;
 color: #ddd;
 letter-spacing: 4px;
 font-size: 20px;
}
.bannerfixed {
 display: none;
}
.site-top {
 background: none;
 border: none;
 text-decoration: underline;
 /* border-bottom: solid 1px #000; */
 border-radius: 0px;
 margin: 0 auto;
 padding: 0%;
 margin-top: 7%;
 line-height: 1rem;
 font-size: 0.4rem;
}
.sns-footer {
 background-color: #F2F2F2;
}


/* レポートページ */
.report_page {
 padding: 25% 7% 30%;
}
.report_ttl01 {
 margin-top: 0%;
 font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", serif;
 font-weight: 600;
 font-size: 3.0rem;
 line-height: 3.4rem;
 margin-bottom: 15%;
}
.report_ttl01 p {
 font-family: "hightower-text", "Noto-serif", "Times New Roman", Times, serif;
 font-weight: 500;
 font-size: 1.2rem;
 line-height: 1.2rem;
}
.report_ttl02 h2 {
 font-size: 1.6rem;
 line-height: 2.4rem;
 background-color: #3B3B3B;
 color: #FBFBFB;
 width: 100%;
 padding: 5% 3%;
 margin-bottom: 0%;
}
.report_ttl02 time {
 font-size: 0.8rem;
 display: block;
	text-align:right;
}
.brock01 {
 padding: 10% 3%;
 border-bottom: 0.5px solid #D2D2D2;
}
.brock01 p {
	text-indent: 1.0rem;
	line-height: 2.4rem;
}

.brock01 img {
 width: 100%;
 padding-top: 10%;
 object-fit: contain;
}
.brock01 cite span {
 display: block;
 text-align: right;
 font-weight: 500;
 font-size: 0.8rem;
 line-height: 1.6rem;
 color: #4F4F4F;
}
 .attention_01a {
	font-weight: 600;
	display: inline;
}　

.attention_01b {
	display:block;
}

.attention_01b span {
 font-size: 0.8rem;
 line-height: 1.4rem;
	color: #4F4F4F;
	padding:3% 5% 20%;
	text-indent: -1.0rem;
 display: block;	
}


.report_page .button_02 {
 color: #3B3B3B;
 background: #EBEBEB;
 filter: drop-shadow(0px 4px 0px #AEAEAE);
 margin-top: 20%;
}
.report_page .button_02:hover {
 transform: translateY(4px);
 filter: drop-shadow(0px 2px 0px #AEAEAE);
 transition: .3s;
}
/*For PC */
@media screen and (min-width: 767px) {
 .top_logo {
  width: 10%;
  top: 3.5%;
 }
 .fix_btn {
  width: 25%;
  padding-top: 1%;
  padding-bottom: 1%;
  padding-left: 2%;
  padding-right: 2%;
  right: 0;
  border-radius: 15px 0 0 0;
 }
 .fix_btn .fix_btn_block {
  width: 48.5%;
  line-height: 2.5vw;
  font-size: 0.9vw;
 }
 #page-top {
  right: 1.2%;
  bottom: 12%;
  width: 1%;
 }
 .menu-icon {
  width: 5%;
  height: 5vw;
  margin-left: 95%;
 }
 .navicon {
  margin-left: 30%;
 }
 #topunder {
  margin: 5% 20% 5%;
 }
	
	/*ニュース*/
 .news_wrapper h2 {
  margin: 0 0 5%;
  min-width: 238px;
 }
 .news_wrapper {
  margin: 9% 20% 9%;
 }
 .news_contents time {
  font-size: 1rem;
 }
 #top h1 {
  top: 22%;
  width: 38%;
  margin-left: 9%;
 }
 h2 {
  font-size: 2.6rem;
  line-height: 3.5rem;
 }
 h2 p {
  font-size: 1.3rem;
  margin-bottom: 0.5vw;
 }
	
	/* 選挙結果 */
.result_wrapper {
 padding: 10% 20% 15%;
}
	.result_img01 {
		width: 40%;
	}
	
	.result_centermark {
	width: 10%;
	}
	#result cite span {
 font-size: 1rem;
 line-height: 1.6rem;
 }
	.result_box03 {
	display: flex;
	flex-direction: row-reverse;
	align-items: baseline;
}
	.result_dt, .result_jb {
		width: 100%;
	}
	
	
	/*大統領選とは*/
 #about {
  background-image: url("../images/about_bg02_pc.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom center;
  width: 100%;
 }
 .about_wrapper {
  padding: 10% 20% 15%;
 }
 .about_wrapper h2 {
  text-shadow: 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
 }
 .about_contents p {
  text-shadow: 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 3px #fff, 0 0 3px #fff;
 }
	/*米大統領選検証*/
 .commentary_wrapper {
  padding: 10% 0% 5%;
 }
 .commentary_wrapper h2 {
  padding: 0 20%;
  margin-bottom: -4%;
 }
 .commentary_box01 {
  margin: 0;
 }
 .commentary_text {
  width: 100%;
  padding: 2% 0 2% 20%;
 }
 .commentary_img02 {
  width: 11%;
  margin-left: 20%;
  margin-bottom: 1%;
 }
 .commentary_img01 {
  width: 20%;
  margin-left: 50%;
  margin-top: -9%;
 }
 .commentary_text_block {
  margin-top: -9%;
 }
 .commentary_img03 {
  width: 30%;
  margin-top: 10%;
 }
 .commentary_img04 {
  width: 23%;
  margin-top: -1%;
 }
 .button_02 {
  width: 20%;
  margin-left: 40%;
  margin-top: 6%;
  line-height: 3.5vw;
  font-size: 1.1vw;
 }
 .button_02 img {
  width: 9%;
 }
 #commentary {
  background-image: url("../images/all_bg_pc.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom center;
  width: 100%;
 }
 #commentary .button_02 {
  filter: drop-shadow(0px 7px 0px #C40000);
 }
 #commentary {
  padding-bottom: 15%;
 }
	/*レポート*/
	.report_wrapper {
  padding: 10% 20% 6%;
 }
 .report_wrapper h2 {
  margin: 0;
 }
 .comingsoon {
  width: 40%;
  font-size: 1.8rem;
  line-height: 4rem;
 }
 .report_box h3 {
  font-size: 1.7rem;
  line-height: 5rem;
 }
 .report_box {
  margin: 4% 0;
 }
	.re_box {
  margin: 5% 0%;
 }
 .re_box h4 {
  font-size: 1.4rem;
  line-height: 1.9rem;
		width: 100%;
		padding-bottom: 5%;
 }

	/*プロフィール*/
 .profile_wrapper h2 {
  margin: 0% 20% 2%;
 }
 .profile_contens_box {
  width: 60%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
 }
 .profile_02 {
  order: 2;
 }
 .profile_03 {
  order: 1;
 }
 .profile_04 {
  order: 3;
 }
 .profile_contens_box article {
  width: 49%;
 }
 .policy_wrapper {
  padding: 10% 20% 7%;
 }
 .policy_contents_box {
  display: flex;
  width: 100%;
  margin: 0 auto;
  justify-content: space-between;
 }
 .policy_wrapper h2 {
  margin: 0 0 7%;
 }
 .policy_contents_box article {
  width: 49%;
 }
 /*.policy_b .policy_contents {
      height: 51vw;
  }*/
 /*.policy_t .policy_contents {
      height: 51vw;
  }*/
 #schedule {
  background-image: url("../images/all_bg_pc.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
 }
 .Schedule_img_01 {
  width: 60%;
  right: -20%;
  opacity: 0.5;
  top: 0%;
 }
 .sc01, .sc02, .sc03, .sc04, .sc05 {
  padding: 2% 3% 2% 5%;
 }
 .schedule_wrapper h2 {
  padding: 10% 20% 3%;
 }
 .accordion-area li {
  margin: 1.8% 20%;
 }
 .schedule_contents p, .schedule_contents-last p {
  display: flex;
 }
 .schedule_contents time, .schedule_contents-last time {
  width: 30%;
  font-size: 0.9rem;
  padding-bottom: 0;
  line-height: 1.7rem;
 }
 .schedule_contents h4, .schedule_contents-last h4 {
  padding-top: 1%;
  font-size: 1.4rem;
  line-height: 1.9rem;
 }
 .sc06 {
  padding: 2% 4% 2% 4%;
  width: 60%;
  margin: 0 auto;
  border-radius: 20px;
 }
 .sc06 h4 {
  font-size: 1.7rem;
  line-height: 4.5rem;
 }
 .schedule_img-02 img {
  width: 25%;
  padding-top: 5%;
  margin-bottom: 3%;
 }
 .sc06 time {
  width: 30%;
  line-height: 4.7rem;
 }
 .sc06 h4::before {
  margin-right: 3%;
  width: 15%;
 }
 .schedule_box p {
  padding: 3% 0 3% 0;
 }
 
 .cp_wrapper {
  padding-top: 10%;
  margin: 0 20% 20%;
 }
 #cp .button_02 {
  width: 35%;
  margin-left: 32.5%;
 }
 .sns_logo {
  width: 12%;
  padding-bottom: 1.5%;
 }
 .sns_icon ul {
  width: 30%;
  margin: 0 auto;
 }
 .sns_icon ul li {
  width: 18%;
 }
 #sns {
  padding: 6% 0;
 }
 #sns::after {
  margin: 5% 5% 0% 5%;
  width: 90%;
 }
 #header_pc {
  /*background: #fff;*/
  width: 75%;
  position: fixed;
  right: 4%;
  top: 4%;
  z-index: 9999;
 }
 .header_pc_menu {
  display: flex;
  justify-content: space-between;
  /*padding: 2%;*/
 }
 .header_pc_menu li {
  width: 13.5%;
  background: #ffffffc7;
  text-align: center;
  border-radius: 10vw;
  font-size: 0.8rem;
  font-weight: bold;
  filter: drop-shadow(0px 0px 5px #0f0f0f36);
  border: solid 1px #767676;
 }
 .site-top {
  margin-top: 5%;
 }
 .about_img-01 {
  width: 60%;
 }
 .slider .slick-slide.slick-center {
  transform: scale(1); /*中央の画像のサイズだけ等倍に*/
  opacity: 1; /*透過なし*/
 }
 .about_img-02 {
  width: 50%;
  right: 0;
 }
 .cp_wrapper ul {
  display: flex;
  justify-content: space-between;
 }
 .cp_wrapper ul li {
  width: 47%;
 }
 .footertext {
  padding-bottom: 0;
 }
 .copy p {
  margin-top: 4%;
  padding: 1% 0 1% 0;
 }
 .menu {
  width: 40%;
  padding-top: 4%;
  border-radius: 5px;
  padding-bottom: 4%;
 }
 .report_page {
  padding: 20% 20% 15%;
 }
 .page_wrapper {
  width: 100%;
 }
 .report_page h1 {
  font-size: 2.6rem;
  line-height: 3.5rem;
 }
 .report_page h1 p {
  font-size: 1.3rem;
  margin-bottom: 1%;
 }
		.report_ttl02 h2 {
		font-size: 2.0rem;
		line-height: 2.6rem;
	}
 .brock01 {
  padding: 15% 3%;
 }
 .report_page .button_02 {
  width: 35%;
  margin-left: 32.5%;
 }
}