@charset "utf-8";

/*
html5doctor.com Reset Stylesheet
v1.4
2009-07-27
Author: Richard Clark - http://richclarkdesign.com
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
* {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

article, aside, dialog, figure, footer, header,
hgroup, nav, section {
	display:block;
}

nav ul {
	list-style:none;
}

blockquote, q {
	quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
a {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}
mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom:1px dotted #000;
	cursor:help;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
input, select {
	vertical-align:middle;
}
img{
	line-height:1;
	vertical-align:bottom;
}

/************** layout base ********************/
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

img{ max-width:100%;}

sup {
	line-height: 100%;
	font-size:10px;
	vertical-align: 0.4em;
}
sub{
	line-height: 100%;
	font-size:10px;
	vertical-align: -0.1em;
}

.txtLeft{text-align:left;}
.txtRight{text-align:right;}
.txtCenter{text-align:center;}

.fw{font-weight:bold !important;}
.f10{ font-size:10px !important;}
.f11{ font-size:11px !important;}
.f12{ font-size:12px !important;}
.f13{ font-size:13px !important;}
.f14{ font-size:14px !important;}
.f15{ font-size:15px !important;}
.f16{ font-size:16px !important;}
.f17{ font-size:17px !important;}
.f18{ font-size:min(3.6vw, 18px);}
.f20{ font-size:20px !important;}
.f22{ font-size:22px !important;}
.f24{ font-size:24px !important;}
.f26{ font-size:min(5.2vw, 26px);}
.f28{ font-size:28px !important;}
.f30{ font-size:min(6vw, 30px);}
.f32{ font-size:min(6.4vw, 32px);}

.txtRed{ color:#D80000;}

.fLeft{ float:left;}
.fRight{ float:right;}

.mTop0{ margin-top:0 !important;}
.mTop5{ margin-top:5px !important;}
.mTop10{ margin-top:10px !important;}
.mTop15{ margin-top:15px !important;}
.mTop20{ margin-top:20px !important;}
.mTop25{ margin-top:25px !important;}
.mTop30{ margin-top:30px !important;}
.mTop35{ margin-top:35px !important;}
.mTop40{ margin-top:40px !important;}
.mTop45{ margin-top:45px !important;}
.mTop50{ margin-top:50px !important;}
.mTop55{ margin-top:55px !important;}
.mTop60{ margin-top:60px !important;}

.mBtm0{ margin-bottom:0 !important;}
.mBtm5{ margin-bottom:5px !important;}
.mBtm10{ margin-bottom:10px !important;}
.mBtm15{ margin-bottom:15px !important;}
.mBtm20{ margin-bottom:20px !important;}
.mBtm25{ margin-bottom:25px !important;}
.mBtm30{ margin-bottom:30px !important;}
.mBtm35{ margin-bottom:35px !important;}
.mBtm40{ margin-bottom:40px !important;}
.mBtm45{ margin-bottom:45px !important;}
.mBtm50{ margin-bottom:50px !important;}
.mBtm55{ margin-bottom:55px !important;}
.mBtm60{ margin-bottom:60px !important;}
.mBtm70{ margin-bottom:70px !important;}
.mBtm80{ margin-bottom:80px !important;}
.mBtm90{ margin-bottom:90px !important;}
.mBtm100{ margin-bottom:100px !important;}

.pTop0{ padding-top:0 !important;}
.pTop5{ padding-top:5px !important;}
.pTop10{ padding-top:10px !important;}
.pTop15{ padding-top:15px !important;}
.pTop20{ padding-top:20px !important;}
.pTop25{ padding-top:25px !important;}
.pTop30{ padding-top:30px !important;}
.pTop35{ padding-top:35px !important;}
.pTop40{ padding-top:40px !important;}
.pTop45{ padding-top:45px !important;}
.pTop50{ padding-top:50px !important;}

.pBtm0{ padding-bottom:0 !important;}
.pBtm5{ padding-bottom:5px !important;}
.pBtm10{ padding-bottom:10px !important;}
.pBtm15{ padding-bottom:15px !important;}
.pBtm20{ padding-bottom:20px !important;}
.pBtm25{ padding-bottom:25px !important;}
.pBtm30{ padding-bottom:30px !important;}
.pBtm35{ padding-bottom:35px !important;}
.pBtm40{ padding-bottom:40px !important;}
.pBtm45{ padding-bottom:45px !important;}
.pBtm50{ padding-bottom:50px !important;}
.pBtm55{ padding-bottom:55px !important;}
.pBtm60{ padding-bottom:60px !important;}

.bold{
	font-weight: 600
}

@media screen and (max-width: 768px) {
	.f30{ font-size:22px !important;}
	.f28{ font-size:20px !important;}
	.f26{ font-size:19px !important;}
	.f24{ font-size: 18px !important}
	.f20{ font-size:16px !important;}
	.mBtm30{ margin-bottom:20px !important;}
	.mBtm50{ margin-bottom:25px !important;}
	.mBtm60{ margin-bottom:30px !important;}
	.mBtm80{ margin-bottom:40px !important;}
}
/************** layout base ********************/
html {
	scroll-behavior: smooth;
  scroll-padding-top: 100px;
}


@media screen and (max-width: 768px) {
section {
  scroll-margin-top: 30px;
	margin-bottom: 20px;
}
	main section{
		padding: 30px 0;
	}
}/* //end for SP */
@media screen and (min-width: 769px) {
	main section {
		padding: 50px 0;
}
}/* //end for PC */

body{
	background:url("images/bg_index.png") #F6F4F0;
	font-family: "Noto Sans JP","游ゴシック", YuGothic, "Yu Gothic", "游ゴシック体","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	text-align: left;
	font-weight: 500;
	font-style: normal;
	line-height:1.5;
	color:#000000;
}
@media screen and (max-width: 768px) {
}/*-SP only-*/

ol,ul {
	list-style:none;
}

p,dt,dd,li,td,th{	
    font-size: min(2.2vw, 20px);
}

h1,h2,h3,h4,h5,h6{
	line-height: 176%;
}

a{ 
	color: var(--blue);
	text-decoration: none;
	transition: opacity 0.3s;
}

a:link{}
@media screen and (max-width: 768px) {
p,dt,dd,li,td,th{
	font-size:16px;
}
}/* //end for SP */
@media screen and (min-width: 769px) {
	a:hover{
	color: var(--navy);
	opacity: 0.75;
}
}/* //end for PC */

/*------------------ color ----------------*/

:root {
  --base: #000000;
  --red: #E06F61;
  --blue: #005BAC;
  --navy: #092b59;
  --yellow: #fdf250;
  --yellowShadow: #E0D52C;
  --orange: #FFD763;
  --green: #00A29A;
  --beige: #FFF3D3;
	--gray: #F6F4F0;
	--grayD: #BCBCBC;
	--grayShadow: #cfd2d8;
	--grayL: #f6f6f6;
}

.bgOrange{
	background: var(--orange);
}
.green{
	color: var(--green);
	font-weight: 700
}
　　　　
/*------------------ font----------------*/
　


/*------------------ layout----------------*/
.inner{
	width: min(92%, 1010px);
	margin: 0 auto;
}
.flex{
	display: flex;
}
.flexWrap{
	display: flex;
	flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
.pc{display: none;}
}


/* //end for SP */
@media screen and (min-width: 769px) {
.sp,
.ssp{display: none;}
.pcFlex{		display: flex;	}
}/* //end for PC */


/* header
---------------------------------------------------------------------------- */
header{ 
	position: relative;
   width: 100%;
   text-align: center;
   background: #e6e6e6;
	 z-index: 1;
}
.headerInner{
	width: calc(100% - 16px*2);
    height: 100%;
	margin: 0 auto;
	display: flex;
    justify-content: end;
}

	.logo{
	position: absolute;
		top:0;
		left:0;
	z-index: 100
}

@media screen and (max-width: 768px) {
	header{		
   width: 100%;
	height: 56px;
	}
	header.fixed{ 
	z-index: 1000;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	}
	.headerInner{
		width: 100%;
	}
	.logo img{
height: 56px
}

}/* //end for SP */
@media screen and (min-width: 769px) {
.logo{
width: 5vw;
}
}/* //end for PC */


/* =======================================
	header .support
========================================== */
.support{
	display: flex;
	justify-content: center;
	gap: 0 9px;
	padding: 5px 0 6px;
}
.support dt{
	font-size: 14px;
	font-weight: 400;
    line-height: 24px;
}
.support dd ul{
	display: flex;
	justify-content: center;
	gap: 0 7px;
}
.support dd li{
	padding: 4px 5px;
	border-radius: 2px;
	background-color: #ffffff;
	font-size: 14px;
	line-height: 1em;
	font-weight: 400;
  cursor: pointer;
}
.support dd li.active{
	border: 1px solid #000000;
}
.support dd li.bgColor.yellow{
	background-color: var(--yellow);
}
.support dd li.bgColor.blue{
	background-color: var(--blue);
	color: #ffffff;
}
.support dd li.bgColor.black{
	background-color: #000000;
	color: #ffffff;
}
.support dd li span{
	display: block;
}
@media screen and (max-width: 768px) {	
.support{
	display: none;
	opacity: 0;
    position: fixed;
	top: 56px;
	left: 0;
	right: 0;
	border-bottom: 2px solid #e6e6e6;
	background: #ffffff;
	width: 100%;
	padding: 15px 0 14px;
}
.support.active{
	display: flex;
	opacity: 1;
}
.menuSupport{
	display: grid;
	align-items: center;;
  width: 56px;
  height: 56px;
  cursor: pointer;
  z-index: 101;
	background: #ffffff;
}
.menuSupport figure{
	width: 28px;
	height: 28px;
	margin: 0 auto;
	font-size: 0;
}
.menuSupportTxt{
	position: relative;
	display: block;
	margin-top: 4px;
	line-height: 1em;
	font-size: 10px;
	color: var(--base);
	text-align: center;
}
.menuSupport.active figure{
	position: relative;
	display: grid;
	place-content: center;
}
.menuSupport figure::before,
.menuSupport figure::after{
	content: "";
	width: 26px;
	height: 2px;
	background-color: transparent;
	display: none;
	transition: display 0.3s, transform 0.3s;
}
.menuSupport.active figure::before,
.menuSupport.active figure::after{
	background-color: #000000;
	display: block;
}
.menuSupport.active figure::before{
      transform: rotate(45deg) translate(2px, 2px);
	  transform-origin: center center;
}
.menuSupport.active figure::after{
      transform: rotate(-45deg) translate(-1px, 0px);
	  transform-origin: center center;
}
.menuSupport.active figure img{
	opacity: 0;
	display: none;
}
}/* //end for SP */

/* =======================================
	header .menu
========================================== */
@media screen and (max-width: 768px) {
.menu {
	display: grid;
	align-items: center;
	padding-top: 2px;
  width: 56px;
  height: 56px;
  cursor: pointer;
  z-index: 101;
  background: var(--yellow)
}
.menu span.menuLineWrap {
	display: block;
	margin: 0 auto;
	padding: 4px 0;
	width: 22px;
	height: 22px;
}
.menu span.menuLineWrap span {
	display: block;
	margin-right: auto;
	margin-left: auto;
  width: 24px;
  height: 2px;
  background-color: var(--base);
  transition: all 0.6s;
  border-radius: 50em;
}
.menu span.menuLine01 {
}
.menu span.menuLine02{
      margin-top: 6px;
}
.menu span.menuLine03{
      margin-top: 6px;
}
.menu.active  span.menuLine01{
	margin-top: 10px;
      transform: rotate(45deg);
}
.menu.active  span.menuLine02{
      width: 0;
      left: 50%;
}
.menu.active  span.menuLine03 {
      margin-top: -10px;
      transform: rotate(-45deg);
} 
.menu span.menuTxt {
	position: relative;
	display: block;
	margin-top: 8px;
	font-size: 10px;
	line-height: 1em;
	text-align: center;
	color: var(--base);
}
}/* //end for SP */


/*		#mv
-----------------------------*/
#mv{
	text-align: center
}
.mvImg{
	margin: 0 auto
}
.mvImg img{
	width: 100%;
	height: auto;
}

/*		pageTab
-----------------------------*/
.pageTabWrap{
	border-bottom: 5px solid var(--blue);
	margin-bottom: 22px
}
#pageTab{
	display: flex;
	gap:18px;
	padding: 0 36px;
	max-width: 1280px;
	margin: 0 auto
}

#pageTab li{
	border-radius: 10px 10px 0 0;
	border: 5px solid var(--blue);
	border-bottom: none;
	width: calc(50% - 9px);
}

#pageTab li span,
#pageTab li a{
	display: block;
	padding: 0.6em;
	font-size: min(3.5vw,36px);
	text-align: center;
	position: relative;
	padding-right: 30px
}
#pageTab li a{
	color: #000
}

#pageTab li span:after,
#pageTab li a:after{
	content: '';
	display: block;
	width: min(3.75vw,48px);
	height: min(3.75vw,48px);
	position: absolute;
	right: 30px;
	top:.75em

}

#pageTab li span{
	color: #fff;
	background: var(--blue);
	height: 100%
}
#pageTab li span:after{
	background: url("images/ic_greenarrow.png");
	background-size: contain;
}
#pageTab li a{
	background:var(--yellow)
}

#pageTab li a:after{
	background: url("images/ic_bluearrow.png");
	background-size: contain;
}

@media screen and (max-width: 768px) {
#pageTab{
	gap: 10px;
  padding: 0 10px;
}
#pageTab li span, #pageTab li a {
  padding: 0.3em 0.6em 0.3em 0.1em;
  font-size: 18px;
	}

#pageTab li span:after,
#pageTab li a:after{
	right: 5px;
	top:1.5em
}
}


/*		gNavi
-----------------------------*/
#gNavi{
	margin-bottom: 30px
}
#gNavi ul{
	width: min(100%, 1228px);
	margin: 0 auto;

}
#gNavi ul li{
	
}
#gNavi ul li a{
	border: 2px solid var(--blue);
	border-radius: 10px;
	background: var(--yellow);
	display: flex;
	align-items: center;
	gap:10px;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: .4em .3em .4em .3em;
	color: var(--blue);
	font-size:21px;
	font-weight: 700;
	transition: 0.3s;
	white-space: nowrap;
	line-height: 1.2;
	box-shadow: 0px 5px 0px 0px var(--yellowShadow);
	
}


#gNavi ul li a::after{
	content: "";
	display: block;
	border-style: solid;
	border-color:  var(--blue);	
	border-width: 0 3px 3px 0;
	width: 12px;
	height: 12px;
	-webkit-transform: rotate(45deg);
   transform: rotate(45deg);
}
@media screen and (min-width: 769px) {
#gNavi ul li a:hover{
	color: var(--navy);
}
#gNavi ul li a:hover::after{
	border-color:  var(--navy);	
}
}
@media screen and (max-width: 768px) {
#gNavi ul li{
	border-right: 0;
	font-size: 16px;
	letter-spacing: 0em;
}
#gNavi ul li:not(:last-child){
	border-bottom: 1px solid var(--base);
}
#gNavi ul li a{
	padding: 10px 5%;
	text-align: left;
    font-size: 20px;
}
	#gNavi ul li.line2 a{
		font-size: 16px;
	}	
	
	
#gNavi ul li a span{
	flex: 1;
}
#gNavi ul li a::after{
	position: relative;
  margin-top: -5px;
}
}/* //end for SP */
@media screen and (min-width: 769px) {
#gNavi ul{
	display: flex;
		gap:20px;
}
#gNavi ul li{
	flex-basis: auto;
width: 100%
}
	
}/* //end for PC */


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

	#gNavi{
		display: none;
		opacity: 0;
		transition: opacity 0.3s;
    z-index: 1;
	}
	#gNavi.active{
		position: fixed;
        top: 56px;
		left: 0;
		right: 0;
		display: block;
		width: 100%;
		opacity: 1;
	}
}/* //end for SP */


/* main
---------------------------------------------------------------------------- */




/*		main common
-----------------------------*/

.secTi{
	position: relative;
	text-align: center;
	line-height: 1.3125em;
	font-size: min(5.5vw , 38px);
	margin-bottom: 30px;
	font-weight: 700
}

.secTi:after{
	width: 100px;
	height: 8px;
	background: var(--blue);
	content: '';
	position: absolute;
	left:calc(50% - 50px);
	bottom: -20px
}

.secInner{
	max-width: 1010px;
	width: 90%;
	margin: 0 auto;
	padding: 40px 0 0;	
}

.bgB{
	background: var(--beige) !important
}

h3{
	font-size: min(5vw , 32px);
	margin-bottom: 30px;
	line-height: 1.3;
	font-weight: 600
		
}

@media screen and (max-width: 768px) {
	section{
		background-size: 100% !important
	}	
section .secInner {
  padding: 20px 0 0;
}

}/* //end for SP */

.radiusBox{
	border-radius: 20px;
	background: #fff;
	padding: 42px 50px
}
.radiusBox.border{
	border: 3px solid #BCBCBC;
	padding: 30px 50px
}
.radiusBox p{
	margin-bottom: 1.2em;
	line-height: 1.6
}
.marker{
	display: inline;
	background: linear-gradient(transparent 0 80%, var(--yellow) 80% 100%);	
	padding: 0 .1em;
}
@media screen and (max-width: 768px) {
	.radiusBox{
	padding: 20px
}	
	.radiusBox.border{
	padding: 20px
}
.marker{
	background: linear-gradient(transparent 0 70%, var(--yellow) 70% 100%);	
}
	
}/* //end for SP */


.indentTxt{
	margin-left: 1em;
	text-indent: -1em;
}

.btnWrap{
	text-align: center;
}
.btn{
	position: relative;
	display: grid;
	align-items: center;
	background: var(--yellow);
  box-shadow: 0 5px 2px 0 var(--yellowShadow);    
	border-radius: 10px;
	border: 2px solid var(--blue);
	margin: 0 auto;
	padding-right: 30px;
	padding-left: 30px;
	width: min(100%,650px);
	height: min(7em,130px);	
	color: var(--blue);
  font-size: 32px;
  font-weight: 700;
	text-align: center;
	transition: 0.3s;
}
/*
.btn:hover{
    box-shadow: 0 -5px 2px 0 transparent;  
	transform: translateY(5px);
	opacity: 1;
}*/
.icArrow{
	position: relative;
  margin: 0 auto;
	text-align: left;
}
.icArrow::after{
	content: "＞";
	display: inline-block;
	margin-left: 40px;
}
.icCheck::before{
	content: "";
	display: inline-block;
	margin-right: 20px;
	width: 38px;
	height: 38px;
	background: url('images/ic_check.png') left bottom / 100% 100%;
	transform: translateY(5px);
	transition: 0.3s;
}
.icCheck > span{
	display: inline-block;
}
.icCheck span span{
	font-size: min(1.2vw , 16px);
	text-align: center;
	display: block;
}
#vote .icCheck::before{
	transform: translateY(-5px);
	}
/*.btn:hover span.icCheck::before{
	background: url('images/ic_check_orange.png') left bottom / 100% 100%;
}*/
.icPDF::after{
	content: "";
	display: inline-block;
	background: url('images/ic_pdf.png') no-repeat center center / 100% 100%;
	border-radius: 2px;
	width: 30px;
	height: 36px;
	font-size: 0;
	margin-left: 50px;
	vertical-align: middle;
}
.btn.icPDF::after{
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
}
.btn.line2{
	font-size: 26px;
}
.btn.line2 .icArrow{
	text-align: center;
}
.btn.line2 .icCheck::before{
top: .7em;
  margin-right: 0;
  left: -1.5em;
}

.btn.line2 .icArrow::after {
  right: -2em;
  top: .7em;
}
#vote .icArrow::after{
	transform: translateY(-10px);
	}

@media screen and (max-width: 768px) {
.btn{ 
	border-radius: 14px;
	padding-right: 5%;
	padding-left: 5%;
	width: min(100%,336px);
	height: min(7em,85px);	
    
}
	/*
.btn span.icArrow{
	width: 100%;
  }*/
.icCheck span span{
	font-size: 12px;
	}
.btn span.icCheck::before{
	margin-right: 2px;
	width: 25px;
	height: 25px;
}
	.icArrow::after{
		margin-left: 20px
	}
/*.btn .icArrow::after{
	right: -10px;
}*/
.icPDF::after{
	width: 20px;
	height:24px;
		margin-left: 10px;
	vertical-align: sub;
}
	#vote .icArrow::after{
	margin-left: 5px
	}

.btn.txtAdjust{
	padding-right: min(5%, 20px);
	padding-left: min(5%, 20px);
}
.btn.txtAdjust span{
    padding-bottom: 0.25em;
	letter-spacing: -0.05em;
    font-size: 0.9em;
}
.btn.txtAdjust span.icArrow::after{
    margin-left: 4px;
}
}/* //end for SP */

@media screen and (max-width: 768px) and (min-width: 376px){
	.btn{font-size: 19px;}
	#earlyvoting .icCheck::before {
    margin-right: 10px;
  }
}

@media screen and (max-width: 375px){
.btn{font-size: 18px;}
  #earlyvoting .icCheck::before {
    margin-right: 10px;
  }	
}

.grayList.flex{
	justify-content: center;
	gap: 25px 40px;
	flex-wrap: wrap;
}

.grayList li{
	background: var(--gray);
	padding: 12px 16px;
	border-radius: 20px;
	border: 3px solid var(--grayD);
	
	
}
.grayList li figure{
	margin: 0 auto 10px;
	text-align: center
}
.grayList li figure img{
	height: 100%;
	width: auto;
	max-width: initial
}
#about .radiusBox .grayList li p{
	margin: 5px 0 0;
	color: var(--green);
	font-weight: 700;
	text-align: center;
	line-height: 1.5
}
@media screen and (min-width: 769px) {
	.grayList li{
	width: calc((100% - 40px)/2);
	}
}
@media screen and (max-width: 768px) {

.grayList.flex{
	gap: 15px;
}
.grayList li{
	padding: 13px 0 10px;
	border-radius: 20px;
	width: 100%
}
.grayList li figure{
	margin: 0 auto;
}
.grayList li p{
	margin-top: 7px;
	font-size: 16px;
}

}/* //end for SP */


/*		#mv
-----------------------------*/
@media screen and (max-width: 768px) {
#mv .mvImg{
	padding-bottom: 10px;
}
}/* //end for SP */




/*		#earlyvoting
-----------------------------*/
#earlyvoting{
	background: url("images/earlyvoting_bg.png") no-repeat;
background-size: 1280px;
	background-position: center top
}



#earlyvoting .radiusBox h3{
	text-align: center;
}

#earlyvoting .radiusBox h4{
	margin-top: 40px;
	margin-bottom: 20px;
	text-align: center;
	font-size: 28px;
	color: var(--red);
}
#earlyvoting p.note{
    padding-left: 1em;
    text-indent: -1em;
	margin-bottom: .6em;
}
#earlyvoting .note span{
	font-size: 1.4em;
	font-weight: 700;
}
#earlyvoting .btnWrap{
	margin: 30px auto 
}
@media screen and (min-width: 769px) {
#earlyvoting .radiusBox{
		padding: 26px 80px;
}
#earlyvoting .icCheck::before {
  margin-right: 40px;
}	

}

@media screen and (max-width: 768px) {
#earlyvoting .radiusBox{
	padding: 20px 3.6% 1px;
}
#earlyvoting .secTiWrap{
	margin-top: 50px;
}
	/*
#earlyvoting .secInner {
    padding: 35px 0 50px;
}
	*/
#earlyvoting .radiusBox h4{
	margin-top: 30px;
	margin-bottom: 12px;
	font-size: 21px;
}
}/* //end for SP */




/*		#candidateinfo
-----------------------------*/
#candidateinfo .radiusBox{
	padding: 50px 3.6% 60px;
	position: relative
}

#candidateinfo .radiusBox:before{
	content: '';
	position: absolute;
	height: min(17vw , 220px);
	width: min(11.9vw , 153px);
	top:-120px;
	right:-120px;
	background: url("images/chara_kakkii.png") no-repeat;
	background-size: contain
}
#candidateinfo .radiusBox .txtCenter{
	font-size: 26px;
	font-weight: 700;
	margin-bottom: 50px;
	text-align: center;
}
@media screen and (max-width: 768px) {
#candidateinfo .radiusBox::before {
  height: 110px;
  width: 76px;
  top: -90px;
  right: -10px;
	}
#candidateinfo .radiusBox{
	padding: 20px 3.6% 20px;
}
#candidateinfo .radiusBox .txtCenter{
	font-size: 18px;
	margin-bottom: 20px;
}
#candidateinfo .btn{
	padding-left: 8%;
}
#candidateinfo .btn span.icArrow{
	font-size: 19px;
}
#candidateinfo .btn span.icCheck::before {
  margin-right: 10px;
}
/*#candidateinfo .btn span.icArrow::after{
	top: 0.1em;
}*/
}/* //end for SP */




/* #absentee
-----------------------------*/
.radiusBox .inBox{
	border-radius: 20px;
  background: #F6F4F0;
  padding: 20px 25px 0;
  border: 3px solid #BCBCBC;
}

.radiusBox .inBox h4{
	font-size: min(6vw, 30px)
}

.radiusBox .inBox h4 + p{
	font-weight: 600
}



/*		#moving
-----------------------------*/

#moving .radiusBox .note{
	padding-bottom: 1.2em;
	margin-bottom: 1.2em;
	border-bottom:1px solid #000;
}
#moving .radiusBox .note li{
	font-size: min(3.6vw, 18px);
	margin-bottom: .3em
}

#moving .radiusBox h3{
	font-size: min(6vw, 30px)
}



/*		#qa
-----------------------------*/
#qa{
/*background: url("images/earlyvoting_bg.png") no-repeat;
background-size: 1280px;
	background-position: center top*/
	padding-bottom: 100px;
}
#qa .secInner{
	width: min(92.4%, 924px);
	margin: 0 auto;
}
.qaSubti{
	background-color: var(--blue);
	background-image: url('images/ic_faq_open.png');
	background-repeat: no-repeat;
	background-position: calc(100% - 3%);
	background-size: 33px 33px;
	padding: 13px 50px 13px 34px;
	color: #ffffff;
	font-size: min(3vw,28px);
	font-weight: 400;
	cursor: pointer;
	transition: 0.3s;
	margin-bottom: 0
}
.qaSubti.open{
	background-image: url('images/ic_faq_close.png');
}
.qaAnsBox + .qaSubti{
	margin-top: 35px;
}

.qaAnsBox{
	display: none;
	opacity: 0;
	background-color: #fff;
	padding: 25px 30px 35px;
	transition: 0.3s;
}
.qaAnsBox.open{
	display: block;
	opacity: 1;
	position: relative;
	padding-left: 70px
}
.qaAnsBox.open:before{
	content: 'A.';
	font-size: 30px;
	font-weight: bold;
	color: var(--blue);
	position: absolute;
	top:22px;
	left:40px
}
.qaAnsBox p .green{
	font-size: min(4vw,26px);
	font-weight: 700;
	color: var(--green);
    line-height: 1.75em;
}

.qaAnsBox p{
    line-height: 1.75em;
}

.qaAnsBox .radiusBox{
	padding: 22px 20px 5px
}
.qaAnsBox .radiusBox p{
	text-align: center
}

.qaAnsBox .qaAnsLead{
	font-weight: 600
}

@media screen and (max-width: 768px) {
	#qa{
		padding-bottom: 50px;
		margin-bottom: 0
	}
#qa .secInner{
	padding: 40px 0 50px;
}	
	
.qaAnsBox.open{
		padding-left: 40px;
	}
	
.qaAnsBox.open::before {
  top: 10px;
  left: 10px;
}	
	
.qaSubti {
  background-size: 29px 29px;
  padding: 13px 40px 13px calc(1.3em + 3.8%);
	text-indent: -1.3em;
  font-size: 20px;
  line-height: 1.66em;
}
.qaAnsBox + .qaSubti{
	margin-top: 30px;
}
.qaAnsBox .qaAnsLead{
	margin-bottom: 20px;
	padding-left: 40px;
	font-size: 20px;
	
}

.qaAnsBox{
	background-color: var(--grayL);
	padding: 20px 3.7% 28px;
}
.qaAnsBox p .orange{
	font-size: 22px;	
}	
	

	
} /*//sp */

/* meaning */
.meaningLead{
	margin-bottom: 20px;
	text-align: center;
}
.meaningLead .green{
	font-size:  min(4vw,26px);	
}
.meaningImg{
	width: min(38vw , 486px);
	margin: auto
}

.slashWrap{
	display: flex;
	justify-content: center;
	align-items: center;
}
.slashWrap::before,
.slashWrap::after{
	content: "";
	display: inline-block;
	width: 4px;
	height: 136px;
	background-color: #000000;
	transform-origin: center bottom;
}
.slashWrap::before{
	transform: rotate(-30deg);
}
.slashWrap::after{
	transform: rotate(30deg);
}
.slashTxt{
	line-height: 1.75em;
	text-align: center;
	margin-top: 20px;
}
.slashTxt .marker{
	font-size: 1.4em;
	font-weight: 700;
	line-height: 1.7;
}

@media screen and (max-width: 768px) {
.meaningLead{
	margin-bottom: 20px;
	text-align: center;
}
.meaningLead .green{
	font-size:  min(4vw,26px);	
}
.slashWrap::before,
.slashWrap::after{
	height: 181px;
}
	.slashWrap::after{
		margin-right: 21px;
	}
.slashWrap::before{
	transform: rotate(-11deg);
}
.slashWrap::after{
	transform: rotate(11deg);
}
.meaningImg {
  width: 80%;
  margin: auto;
}	
	
.qaAnsBox .radiusBox {
  padding: 16px 10px 5px;
}		
}/* //end for SP */


/*qaAnsEssential*/
.qaAnsEssentials li{
	background: #ffffff;
	padding: 14px 2.3% 24px;
}
.qaAnsEssentials li + li{
	margin-top: 25px;
}
.qaAnsEssentials li h4{
	color: var(--blue);
}
.qaAnsEssentials li figure{
	display: grid;
	align-items: center;
	text-align: center;
}
.qaAnsEssentials li figure img{
	width: 100px;
    margin: auto;
}
@media screen and (max-width: 768px) {
.qaAnsEssentials li{
	padding: 10px 2.3% 14px;
}
.qaAnsEssentials li figure{
	margin-top: 13px;
}
}/* //end for SP */
@media screen and (min-width: 769px) {
/*qaAns02*/
.qaAnsEssentials li{
	display: flex;
	gap: 0 37px;
}
.qaAnsEssentials li .txts{
	width: 70%
}
.qaAnsEssentials li figure{
	width: 133px;
}
}/* //end for PC */

#qaAnsFlowList{
	counter-reset: list-counter;
	background-color: #ffffff;
	padding: 20px 3% 35px 3.5%;
}
#qaAnsFlowList li{
	position: relative;
	display: flex;
  counter-increment: list-counter;
  padding: 20px 0 0 0;
}
#qaAnsFlowList li::before{
	content: counter(list-counter) ;
	display: block;	
    padding-top: 0.2em;
	width: 40px;
	background-color: var(--blue);
	font-size: 22px;
	font-weight: 600;
	text-align: center;
	color: #ffffff;
    line-height: 176%;
}
#qaAnsFlowList li:not(:last-child):before{
  clip-path: polygon(
    0% 0%, 
    100% 0%,
    100% calc(100% - 20px),
    50% 100%,
    0% calc(100% - 20px) 
  );
}
#qaAnsFlowList li:not(:first-child)::after{
	position: absolute;
	left: 0;
	top: 1px;
	content: "";
	display: block;
	width: 40px;
	height: 22px;
	background-color: var(--blue);
  clip-path: polygon(
    0% 0%,
    50% calc(100% - 2px),
    100% 0%,
    100% 100%,
    0 100%
  );
}
#qaAnsFlowList li .txts{
	flex: 1;
}
#qaAnsFlowList li:not(:last-child) .txts{
    padding-bottom: 30px;
}
#qaAnsFlowList li h4{
	padding: 0 0 0 25px;
	border-bottom: 1px solid var(--blue);
	font-size: min(2.2vw,22px);
	color: var(--blue);
}
#qaAnsFlowList li p{
	padding: 0 0 0 25px;
}
@media screen and (max-width: 768px) {
#qaAnsFlowList li{
  padding: 18px 0 0 0;
}
#qaAnsFlowList li:first-child{
  padding: 0;
}
#qaAnsFlowList li::before{
	width: 36px;
	font-size: 18px;
}
#qaAnsFlowList li:not(:last-child):before{
  clip-path: polygon(
    0% 0%, 
    100% 0%,
    100% calc(100% - 18px),
    50% 100%,
    0% calc(100% - 18px) 
  );
}
#qaAnsFlowList li:not(:first-child)::after{
	width: 36px;
	height: 18px;
}
#qaAnsFlowList li h4{
	padding: 0 0 0 10px;
	font-size: 20px;
}
#qaAnsFlowList li p{
	padding: 0 0 0 10px;
}
#qaAnsFlowList li:not(:last-child) .txts{
    padding-bottom: 15px;
}
}/* //end for SP */

@media screen and (min-width: 769px) {
}/* //end for PC */


/*qaAnsTime*/
#qaAnsTime .pcFlex{
	background-color: #ffffff;
	padding: 20px 3% 35px 3.5%;
}
#qaAnsTime .pcFlex figure{
	width: 125px;
	margin: 0 auto;
}
.qaAnsKinds{

}
@media screen and (max-width: 768px) {
#qaAnsTime .pcFlex{
	padding: 15px 3% 15px 3.5%;
}
}/* //end for SP */
@media screen and (min-width: 769px) {
#qaAnsTime .pcFlex{
	gap: 0 45px;
}
#qaAnsTime .pcFlex .txts{
	flex: 1;
}
#qaAnsTime .pcFlex figure{
	width: 133px;
}
}/* //end for PC */


/* #cm 
-----------------------------------------*/
#cm .radiusBox .pcFlex{
	gap:50px
}


#cm .movieBox{
	width: 100%;
	margin: 0 0 20px;
}
#cm .movieBox span{
	display: block;
	margin: 10px auto;
	text-align: center
}
#cm .radiusBox .pcFlex a span.icArrow{
	display: inline-block;
	text-decoration: underline;
	font-size: min(4.4vw, 20px);
}
/*#cm .radiusBox .pcFlex a span.icArrow::after{
  right: -1.3em;
  top: calc(50% - 0.8em);
	
}*/

#cm h3{
	text-align: center;
	font-size: min(6.4vw , 32px);
	font-weight: 600
}
@media screen and (min-width: 769px) {
	#cm .radiusBox .pcFlex li{
		width: 100%;
	}
#cm .radiusBox .pcFlex dt{
	width: 42%
}
#cm .radiusBox .pcFlex dd{
	width: calc(58% - 50px)
}
}

@media screen and (max-width: 768px) {
	#cm .radiusBox .pcFlex li{
		margin-bottom: 36px;
	}
	#cm .radiusBox .pcFlex dt{
		margin-bottom: 20px
	}
}

/* #cmsong 
-----------------------------------------*/
#cmsong .radiusBox .pcFlex{
	gap:40px;
	flex-wrap: wrap;
}

#cmsong .radiusBox .pcFlex li{
	border-radius: 20px;
	background: #F6F4F0;
	padding: 20px 25px 0;
	border: 3px solid #BCBCBC;
	width: calc((100% - 40px)/2)
}
#cmsong .radiusBox .pcFlex li h3{
	font-size: min(6vw , 30px);
	font-weight: 600
}

#cmsong .radiusBox .pcFlex li p{
	font-size: min(3.2vw , 16px);
	margin-bottom: 1.5em
}
#cmsong .radiusBox .pcFlex li .imgBox{
	border-radius: 15px;
	border: 1px solid #5B5B5B;
	overflow: hidden;
	background: #fff;
	text-align: center;
	aspect-ratio:1/1;
	margin-left: auto;
	margin-right: auto;
}
#cmsong .radiusBox .pcFlex li .imgBox img{
	height: 100%;
	object-position: center;
}

#cmsong .radiusBox .pcFlex li .btn{
	font-size: min(4.8vw , 24px);
	padding: .6em 0 .8em;
	height: auto
}


#cmsong .radiusBox .pcFlex li .btn .icArrow::after {
  margin-left: 10px;
}

#cmsong .radiusBox.radico .pcFlex li{
	padding-bottom: 1.2em
}


.cmsongList{
	margin-top: 40px;
}
.cmsongList li{
	border-radius: 20px;
	background: #F6F4F0;
	padding: 20px 25px 0;
	border: 3px solid #BCBCBC;
}
.cmsongList li + li{
	margin-top: 24px;
}
.cmsongList li h3{
	font-size: min(6vw , 30px);
	font-weight: 600
}
.cmsongList li .cmsongBox{
	display: flex;
	flex-wrap: wrap;
	gap: 20px calc(38 / 900 * 100%);
}
.cmsongList li .imgBox figure{
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
.cmsongList li .imgBox img{/*
	height: 100%;
	object-position: center;*/
	width: 100%;
	height: auto;
}
.cmsongList li .imgBox figure + .btnWrap{
	margin-top: 34px;
}
.cmsongList li .btn{
	font-size: min(4.8vw , 24px);
	padding: .6em 0 .8em;
	height: auto
}
.cmsongList li p{
	font-size: min(3.2vw , 16px);
	margin-bottom: 1.5em
}
.cmsongList li p strong{
    display: inline-block;
    margin: 0 0 0.2em -0.5em;
	font-size: 1.0625em;
	line-height: 175%;
}

.cmsongList li .btn .icArrow::after {
  margin-left: 10px;
}
.btn.is-playing .icArrow::after {
    content: "\0ff1d";
	transform: rotate(90deg);
}
#cmsong .radiusBox.radico .cmsongList  li{
	padding-bottom: 1.2em
}


#cmsong .radiusBox.radico .radikoBox dt{
	max-width: 320px;
	margin: 0 auto 30px
}
#cmsong .radiusBox.radico .radikoBox dd{
	border-bottom: 1px solid #000;
	border-top: 1px solid #000;
	padding: .8em 0
}
#cmsong .radiusBox.radico .radikoBox dd p{
	margin-bottom: .5em
}
#cmsong .radiusBox.radico .radikoBox dd p a{
	text-decoration: underline
}

.btn.line2 .icCheck::before,
.btn.line2 .icArrow::after {
	position: absolute;
}


@media screen and (min-width: 769px) {
	#cmsong .radiusBox .pcFlex li .btn .icCheck::before{
		margin-right: 10px;
	width: 32px;
	height: 32px;
	}

	.cmsongList li .imgBox{
		width: min(44%, 359px);
	}
	.cmsongList li .txts{
		flex: 1;
	}
	.cmsongList li .btn{
		font-size: min(2vw , 24px);
	}

	.cmsongList li .btn .icCheck::before{
		margin-right: 10px;
	width: 1.33em;
	height: 1.33em;
	}	
}
@media screen and (max-width: 768px) {
	#cmsong .radiusBox .pcFlex li{
		margin-bottom: 20px;
		padding: 16px;
		width: 100%
	}
	#cmsong .radiusBox .pcFlex li .btn{
		padding-left: 10px;
		padding-right: 10px;
		padding-top: .4em;
		padding-bottom: .6em;
	}
	#cmsong .radiusBox .pcFlex li .btn .icCheck::before {
	margin-right: 10px;
	}
	#cmsong .radiusBox .pcFlex li .btn .icCheck::before{
		margin-right: 5px;
	}
	#cmsong .radiusBox .pcFlex li .btn .icArrow::after {
	margin-left: 5px;
	}

	.cmsongList li{
		margin-bottom: 20px;
		padding: 16px;
		width: 100%
	}
	.cmsongList li .cmsongBox{
		grid-template-columns: 1fr;
	}
	.cmsongList li h3{
		margin-bottom: 20px;
	}
	.cmsongList li .btn{
		padding-left: 10px;
		padding-right: 10px;
		padding-top: .4em;
		padding-bottom: .6em;
	}
	.cmsongList li .btn .icCheck::before {
	margin-right: 10px;
	}

	.btn.line2 .icCheck::before {
	}
	.btn.line2 .icArrow::after {
	right: -40px;
	}
	#cmsong .radiusBox.radico .radikoBox dt{
	max-width: 200px;
	margin: 0 auto 20px;
	}
	.cmsongList li .btn .icCheck::before{
		margin-right: 5px;
	}
	.cmsongList li .btn .icArrow::after {
		margin-left: 5px;
	}
}

/* footer
---------------------------------------------------------------------------- */
footer{
	background-size: 1280px;
	background-position: center top;
	/*padding-top: 160px*/
}

footer .secInner {
  max-width: 940px !important;
  width: 90% !important;
	margin: auto
}

#footerInfo{
	padding: 0 0 50px;
	background: var(--blue);
	color: #ffffff;
}
#footerInfo h2{
	color: #ffffff;
	font-size: 22px;
	font-weight: 500;
	margin-bottom: 20px
}

#footerInfo .pcFlex > figure{
	width: 140px;
	height: 140px;
	border-radius: 70px;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center
}

#footerInfo .pcFlex > figure img{
	width: 70%
}

.footerInfoOffice p{
	font-size: 16px;
}
.footerInfoOffice p:nth-of-type(2){
	margin: 5px 0 10px;	
}
.footInfoTimes{
	font-size: 16px;
	margin-left: 20px
}


.officialLink{
	background: #fff;
	border-radius: 10px;
	padding: .4em .7em;
	color:  var(--blue);
	display: inline-flex;
	gap:16px;
	margin-left: 2em;
	font-size: 90%;
	font-weight: 700;
	align-items: center;
}
.officialLink:after{
	background: var(--blue);
  border-radius: 13px;
  height: 26px;
  width: 26px;
  content: '▲';
  transform: rotate(90deg);
  display: flex;
  color: #fff;
  font-size: 10px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  line-height: 0;
  padding-bottom: 3px;
}


@media screen and (max-width: 768px) {
	footer{
		background-size: 100%;
		/*padding-top: 80px;*/
	}	
footer .secInner {
  width: 90% !important;
}	

#footerInfo{
		padding-top: 0
	}	
#footerInfo .pcFlex > figure{
		margin: 0 auto 10px
	}
#footerInfo h2{
	font-size: 18px;
	text-align: center;
	line-height: 1.2;
    margin-bottom: 15px;
}

.footerInfoOffice p{
	text-align: center;
	font-size: 14px;
}

.footInfoTimes{
	margin-top: 30px;
	font-size: 14px;
	text-align: center;
}
	
	.officialLink{
		margin: 15px 0 0 0;
	}
}/* //end for SP */
@media screen and (min-width: 769px) {
	#footerInfo .pcFlex{
		gap:30px
	}


}/* //end for PC */

footer .copyWrap{
	background: #ffffff;
	padding: 10px 3.8%;
    text-align: center;
}
footer .copyWrap .copy{
	font-size: 14px;
	display: block;
}

@media screen and (max-width: 768px) {
footer .copyWrap .copy{
	font-size: 12px;
	text-align: center;
}
  footer .copyWrap .copy + .copy{
	margin-top: 10px;
}
}/* //end for SP */
@media screen and (min-width: 769px) {
footer .copyWrap.pcFlex{
	justify-content: center;
	gap: 0 30px;
}
}/* //end for PC */


#pageTop{
	position: fixed;
	right: 10px;
	bottom: 10px;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background-color: var(--yellow);
  border: 3px solid #fff;
}
#pageTop a{
	display: block;
	width: 100%;
	height: 100%;
}
#pageTop a::after{
    position: absolute;
	top: 50%;
    left: 0;
    right: 0;
    content: "";
    display: block;
    margin: 0 auto;
    border-style: solid;
    border-color: var(--base);
    border-width: 4px 0 0 4px;
    width: 12px;
    height: 12px;
    -webkit-transform: rotate(45deg) translate(-25%,-25%);
    transform: rotate(45deg) translate(-25%,-25%);
}


/* .comingSoon
---------------------------------------------------------------------------- */

#earlyvoting .comingSoon .btnWrap{
	margin: min(19.13vw,132px) auto min(17.39vw,120px); 
}

#candidateinfo .radiusBox p.comingSoon{
    margin-bottom: 27px;
	font-size: min(9.28vw,64px);
	text-align: center;
	color: var(--blue);
	font-weight: 700;
}

#cm .comingSoon:has(.movieBox) img{
	width: min(100%,571px);
	height: auto;
}

#cmsong .radiusBox p.comingSoon{
	display: grid;
	place-content: center;
	margin-bottom: 0;
	height: min(43vw,400px);
	font-size: min(9.28vw,64px);
	text-align: center;
	color: var(--blue);
	font-weight: 700;
}

body.black #candidateinfo .radiusBox p.comingSoon,
body.black #cmsong .radiusBox p.comingSoon,
body.blue #candidateinfo .radiusBox p.comingSoon,
body.blue #cmsong .radiusBox p.comingSoon{
    color: rgb(255, 255, 0);
}



/* easy
---------------------------------------------------------------------------- */


body#easy{
	background: url("images/bg_easy.png") #F6F4F0;
}



#easy h2.lead{
	font-size: min(5.5vw , 46px);
	margin: 50px 0
}

.leadBox{
	border-radius: 20px;
	padding: 1em 0 0.1em;
	text-align: center;
	width: 83%;
	max-width: 1060px;
	margin: 0 auto 40px
}

.leadBox p{
	font-size: min(4vw , 26px);
	margin-bottom: 1em
}

#easy #gNavi{
	width: 83%;
	max-width: 1060px;
	margin:0 auto
}

#easy #gNavi ul li a{
	padding: 1em
}

#easy main section{
	padding: 100px 0;
}

#easy .secTi + p{
	margin-top: 2.5em;
	margin-bottom: 2em
}

#easy .secInner{
	width: 100%;
	max-width: 1280px;
	position: relative;
	padding-top: 0;
}

#easy footer .secInner{
	padding-top: 40px
}

#easy .secInner:after{
	border-radius: 0 0 50% 50%;
	height: 240px;
	position: absolute;
	bottom: -120px;
	content: '';
	width: 100%;
	z-index: -1
} 

#easy footer .secInner:after{
	display: none
}

#easy .secTiWrap{
	width: 100%;
	max-width: 1280px;
  height: 240px;
  border-radius: 50% 50% 0 0;
	margin: auto;
	padding-top: 60px
}


#easy .secInner .radiusBox{
	width: 79%;
	max-width: 1010px;
	margin: auto
}

#about .secInner,
#about .secTiWrap,
#about .secInner:after{
	background: #FFE7D3
}

#vote .secInner,
#vote .secTiWrap,
#vote .secInner:after{
	background: #DCFFD3
}


#nurie .secInner,
#nurie .secTiWrap,
#nurie .secInner:after{
	background: #D3F2FF
}




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

	#easy .secInner > p{
		padding: 0 100px 20px;
	}
	#easy #vote .secTiWrap{
		height: 180px;
	}
	
}

@media screen and (max-width: 768px) {
#easy main section{
	padding: 30px 0;
}	
	
	.leadBox{
	padding: 1em 1em .1em;
	width: 92%;
}
	.leadBox p{
		text-align: left
	}
	
	#easy .secTiWrap{
		height: 95px;
		padding-left: 25px;
		padding-right: 25px;
		padding-top: 30px;
	}	
	
	#easy #vote .secTiWrap,
	#easy #about .secTiWrap{
		height: 115px;
	}
	
		#easy #quiz .secTiWrap{
		height: 150px;
	}
	


	#easy .secInner::after {
  height: 80px;
  bottom: -80px;
}
	
	#easy .secInner > p{
		width: 86%;
		margin: 0 auto 20px
	}
	
	#easy .secInner .radiusBox{
		width: 86%
	}	
}


/*		#about
-----------------------------*/

#about .radiusBox{
	position: relative;
}

#about .radiusBox:before{
	content: '';
	position: absolute;
	height: min(15vw , 194px);
	width: min(15vw , 192px);
	top:-130px;
	left:-120px;
	background: url("images/chara_momiji.png") no-repeat;
	background-size: contain
}

#about .radiusBox:after{
	content: '';
	position: absolute;
	height: min(15vw , 194px);
	width: min(15vw , 189px);
	bottom:-82px;
	left:-80px;
	background: url("images/chara_kanicchi.png") no-repeat;
	background-size: contain
}

#about .radiusBox h3,
#about .radiusBox p.green{
	text-align: center
}
#about .radiusBox h3.bg{
	position: relative
}
#about .radiusBox h3.bg:after{
	content: '';
	position: absolute;
	height: min(19.7vw , 253px);
	width: min(13.4vw , 172px);
	top:-45px;
	right:-180px;
	background: url("images/chara_ebimaru.png") no-repeat;
	background-size: contain
}

#about .radiusBox p{
	line-height: 1.8
}

#about .map{
	border-radius: 20px;
	background: #FAFAFA;
	border: 3px solid var(--grayD);
	padding: 1em 45px 20px;
	text-align: center;
	margin: 50px auto 40px;
	max-width: 620px;
}

#about .map h3{
	border-radius: 8px;
	background: #751485;
	color: #FFFFFF;
	text-align: center;
	padding: .6em 3em;
	font-size: min(2vw,20px);
	margin: -40px auto 0;
}

#about .map figure{
	margin-top: 20px;
}

#about .grayList{
	margin-bottom: 20px;
}
#about .grayList li figure{
	height: 130px;
}

@media screen and (min-width: 769px) {
	#about .secInner{
		margin-top: -18px;
	}
}

@media screen and (max-width: 768px) {
#about .radiusBox::before {
  height: 70px;
  width: 70px;
  top: -60px;
  left: -15px;
}
	#about .radiusBox h3.bg{
	font-size: 22px
}
	
#about .radiusBox h3.bg::after {
  height: 100px;
  width: 70px;
  top: -25px;
  right: -34px;	
	}
#about .radiusBox::after {
  height: 97px;
  width: 94px;
  bottom: -42px;
  left: -10px;	
	}
#about .map{
		padding: 1em 10px 10px;
	}	
#about .map h3{
	font-size: 14px;
	width: 15em
}
	#about .map figure{
	margin-top: 10px;
}
}/* //end for SP */

/* easy #vote
---------------------------- */


#vote .secInner{
	padding-top: 40px
}
#vote .secInner > p{
	font-weight: 500
}
#vote .radiusBox{
	padding: 40px 20px;
}
#vote .radiusBox h3{
	font-size: 28px;
}
#vote .radiusBox h3 span{
	font-size: 32px
}

.voteList{
	flex-wrap: wrap;
	justify-content: space-around;
	gap:35px;
	margin-bottom: 30px;
	align-items: flex-end
}
.voteList li{
	width: calc((100% - 70px) / 3);
	text-align: center;
	
}

.voteList li figure{
	width:  240px;
	height: 240px;
	border: 3px solid var(--blue);
	border-radius: 20px;
	margin: 0 auto 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #FEEEC8
}

.voteList li figure img{
	height: 90%;
}

.voteList li h4{
	font-size: min(4vw , 26px);
	margin-bottom: 10px;
	font-weight: 400
}

.voteList li p{
	font-size: 17px;
  background-image: linear-gradient(transparent 0 33px,#000 33px 34px); /* 罫線の色と太さ  */
  background-size: 100% 34px; /* 行の高さ */
  line-height: 34px; /* 文字の高さ */
}

.voteList li.tall figure{
	height: 320px
}


@media screen and (max-width: 768px) {
	#easy main section#vote{
		padding-top: 50px;
}
#easy #about .secInner,
#vote .secInner {
  padding-top: 20px;
}	
#vote .radiusBox {
  padding: 20px 20px;
}		
#vote .radiusBox h3{
	font-size: 17px;
}
#vote .radiusBox h3 span{
	font-size: 20px
}
.voteList{
	gap:20px;
	}
.voteList li{
	width: 100%;
}	
.voteList li figure{
		height: 220px;
		width: 220px;
		max-height: initial;
		max-width: initial
		
	}
.voteList li h4 {
  font-size: 18px;
	}
.voteList li p {
  font-size: 14px;
	}

}
@media screen and (min-width: 769px) {
.voteList li.tall{
	width: calc((100% - 70px) / 2.5);
}
}


/* easy #nurie
---------------------------- */
#easy main section#nurie{
background: url("images/nurie_bg.png") no-repeat;
background-size: 1280px;
	background-position: center top;
	margin-bottom: 100px;
}



#nurie .nurieBox {
  width: 80%;
  max-width: 600px;
  text-align: center;
  margin: 30px auto 40px;
	border: 1px solid #ccc
}

@media screen and (min-width: 769px) {
#nurie .secInner{
	margin-top: -66px
}
}
@media screen and (max-width: 768px) {
#easy main section#nurie{
		padding-top: 50px;
	
	}
}




/* color change
---------------------------- */
/*--yellow --*/
body.yellow,
body.yellow .bgOrange,
body.yellow .cmsongList li,
body.yellow #cmsong .radiusBox .pcFlex li{
	background: #ffff00 !important
}

body.yellow p,
body.yellow h4,
body.yellow footer .copyWrap .copy,
body.yellow #keropons .grayList p,
body.yellow #about .radiusBox .grayList li p{
	color: #000;
}
body.yellow a{
	color: #0000bc;
	text-decoration: underline
}

body.yellow .pageTabWrap{
	border-bottom:5px solid #000
}

body.yellow #pageTab li{
	border: 5px solid #000;
	border-bottom: none
}

body.yellow #pageTab li a,
body.yellow #vote .secInner,
body.yellow #vote .secTiWrap,
body.yellow #vote .secInner:after,
body.yellow #about .secInner,
body.yellow #about .secTiWrap,
body.yellow #about .secInner:after,
body.yellow #nurie .secInner,
body.yellow #nurie .secTiWrap,
body.yellow #nurie .secInner:after,
body.yellow .qaAnsEssentials li,
body.yellow #qaAnsFlowList{
  background: none;
}

body.yellow .bgB{
  background: none !important;
}

body.yellow .secTi::after {
  background: #000;
}

body.yellow #pageTab li span {
  color: #ffff00;
  background: #0000bc;
}

body.yellow #gNavi ul li a,
body.yellow .btn{
	color: #0000bc;
}

body.yellow .green,
body.yellow .secTi,
body.yellow h3,
body.yellow .qaAnsBox.open::before,
body.yellow #keropons .grayList h3{
  color: #000;
}

body.yellow .radiusBox,
body.yellow .qaAnsBox{
	background: none;
	border: 5px solid #000;
}

body.yellow .marker {
  background: linear-gradient(transparent 0 90%, #000 90% 100%);
}

body.yellow .grayList li {
  background: none;
  border: 3px solid #000;
}

body.yellow .qaSubti {
  background-color: #000;
	color: #fff;
	text-decoration: underline
}

body.yellow .voteList li figure{
	border-color: #fff;
}

body.yellow #qaAnsFlowList li::before,
body.yellow #qaAnsFlowList li:not(:first-child)::after{
	background-color: #0000bc;
	color: #ffff00;
}

body.yellow #qaAnsFlowList li h4 {
  border-bottom: 1px solid #0000bc;
  color: #0000bc;
}

body.yellow #footerInfo{
	background: #efef03;
}
body.yellowe footer .copyWrap {
  background: #ffff00;
}



/*--blue --*/

body.blue,
body.blue .bgOrange,
body.blue .cmsongList li,
body.blue #cmsong .radiusBox .pcFlex li{
	background: #0000bc !important;
}
body.blue p,
body.blue h4,
body.blue footer .copyWrap .copy,
body.blue #keropons .grayList p,
body.blue #about .radiusBox .grayList li p,
body.blue .radiusBox .note li{
	color: #fff;
}
body.blue a{
	color: #fff;
	text-decoration: underline
}

body.blue .pageTabWrap{
	border-bottom:5px solid #fff
}

body.blue #pageTab li{
	border: 5px solid #fff;
	border-bottom: none
}

body.blue #pageTab li a,
body.blue #game .secInner:after,
body.blue #vote .secInner,
body.blue #vote .secTiWrap,
body.blue #vote .secInner:after,
body.blue #about .secInner,
body.blue #about .secTiWrap,
body.blue #about .secInner:after,
body.blue #nurie .secInner,
body.blue #nurie .secTiWrap,
body.blue #nurie .secInner:after,
body.blue .qaAnsEssentials li,
body.blue #qaAnsFlowList{
  background: none;
}

body.blue .bgB{
  background: none !important;
}

body.blue .secTi::after {
  background: #fff;
}

body.blue #pageTab li span {
  color: #0000bc;
  background: #ffff00;
}

body.blue #gNavi ul li a,
body.blue .btn{
	color: #0000bc;
}

body.blue .green,
body.blue .secTi,
body.blue h3,
body.blue .qaAnsBox.open::before,
body.blue #keropons .grayList h3,
body.blue .radiusBox .inBox h5{
  color: #ffff00;
}

body.blue .radiusBox,
body.blue .qaAnsBox{
	background: none;
	border: 5px solid #fff;
}

body.blue .marker {
  background: linear-gradient(transparent 0 80%, #fff 80% 100%);
}

body.blue .grayList li {
  background: none;
  border: 3px solid #fff;
}

body.blue .qaSubti {
  background-color: #ffff00;
	color: #0000bc;
	text-decoration: underline
}

body.blue .voteList li figure{
	border-color: #fff;
}

body.blue #qaAnsFlowList li::before,
body.blue #qaAnsFlowList li:not(:first-child)::after{
	background-color: #ffff00;
	color: #0000bc;
}

body.blue #qaAnsFlowList li h4 {
  border-bottom: 1px solid #ffff00;
  color: #ffff00;
}
body.blue #cmsong dt,
body.blue #cmsong dd{
	color: #fff;
}
body.blue #moving .radiusBox .note,
body.blue #cmsong .radiusBox.radico .radikoBox dd{
	border-color: #fff;
}

body.blue #footerInfo{
	background: #000096;
}
body.blue footer .copyWrap {
  background: #0000bc;
}

/*--black --*/
body.black,
body.black .bgOrange,
body.black #gNavi ul li a,
body.black .cmsongList li,
body.black #cmsong .radiusBox .pcFlex li{
	background: #000 !important;
}
body.black p,
body.black h4,
body.black footer .copyWrap .copy,
body.black #keropons .grayList p,
body.black .radiusBox .inBox h5{
	color: #fff;
}
body.black a{
	color: #fff;
	text-decoration: underline
}

body.black .pageTabWrap{
	border-bottom:5px solid #fff
}

body.black #pageTab li{
	border: 5px solid #fff;
	border-bottom: none
}

body.black #pageTab li a,
body.black #vote .secInner,
body.black #vote .secTiWrap,
body.black #vote .secInner:after,
body.black #nurie .secInner,
body.black #nurie .secTiWrap,
body.black #nurie .secInner:after,
body.black #about .secInner,
body.black #about .secTiWrap,
body.black #about .secInner:after,
body.black .qaAnsEssentials li,
body.black #qaAnsFlowList{
  background: none;
}

body.black #pageTab li a,
body.black #about .radiusBox .grayList li p,
body.black .radiusBox .note li{
	color: #ffff00
}

body.black .bgB{
  background: none !important;
}

body.black .secTi::after {
  background: #fff;
}

body.black #pageTab li span {
  color: #000;
  background: #fff;
}

body.black #gNavi ul li a,
body.black .btn{
	color: #ffff00;
	background: none;
	border: 2px solid #fff;
	box-shadow: 0px 5px 0px 0px #fff;
}

body.black .green,
body.black .secTi,
body.black h3,
body.black .qaAnsBox.open::before,
body.black #keropons .grayList h3{
  color: #ffff00;
}

body.black .radiusBox,
body.black .qaAnsBox{
	background: none;
	border: 5px solid #fff;
}

body.black .marker {
  background: linear-gradient(transparent 0 80%, #fff 80% 100%);
}

body.black .grayList li {
  background: none;
  border: 3px solid #fff;
}

body.black .qaSubti {
  background-color: #fff;
	color: #000;
	text-decoration: underline
}

body.black .voteList li figure{
	border-color: #fff;
}

body.black #qaAnsFlowList li::before,
body.black #qaAnsFlowList li:not(:first-child)::after{
	background-color: #fff;
	color: #000;
}

body.black #qaAnsFlowList li h4 {
  border-bottom: 1px solid #fff;
  color: #ffff00;
}

body.black #cmsong dt,
body.black #cmsong dd{
	color: #fff;
}
body.black #moving .radiusBox .note,
body.black #cmsong .radiusBox.radico .radikoBox dd{
	border-color: #fff;
}

body.black #footerInfo{
	background: #222;
}
body.black footer .copyWrap {
  background: #000;
}
body.yellow .inBox,
body.blue .inBox,
body.black .inBox{
	background: none;
}

