@charset "shift_jis";

body{
	font-family: 'Heebo', 'Noto Sans CJK JP', "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #000;
	overflow-x: hidden;
}
/* layout
------------------------------------------------------ */
a:visited,
a:link{
	color: #000;
}
p,ul,ol,div {
	color: #000;
}
#mainContainer {
	margin-top: 0;
}
@media screen and (min-width: 751px) {
	/* override
	------------------------------------------------------ */
	body{
		min-width: 1200px;
		font-size: 1.6rem;
		overflow-x: hidden;
	}
	/* header
	------------------------------------------------------ */
	#header {
		padding: 0;
		background-color: #000;
		border: none;
	}
	#header #headerLogo {
		width: 1200px;
		margin: 0 auto;
		padding: 15px 0;
	}
	#header #headerLogo img {
		width: auto;
		height: 41px;
	}
	/* layout
	------------------------------------------------------ */
	#mainContainer {
		position: relative;
		margin-top: 0;
	}
	#mainContents{
		width: 1200px;
		padding: 0 0 0;
	}
	/* footer
	------------------------------------------------------ */
	#footer {
		margin-top: 0;
		padding: 0;
		border: none;
		background-color: #000;
	}
	#footer .footerInner {
		width: 1200px;
		margin: 0 auto;
		padding: 20px 0;
	}
	#footer #copyright {
		text-align: center;
		font-size: 1.4rem;
		color: #fff;
	}
	/* mainVisual
	------------------------------------------------------ */
	.mainVisual {
		position: relative;
		background-color: #fff;
		text-align: center;
	}
	.mainVisual .mainVisualInner {
		width: 1200px;
		margin: 0 auto;
		text-align: left;
	}
	.mainVisual .mainVisualImageWrap {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		width: 1200px;
		margin: auto;
		padding: clamp(76px, calc(120 / 1920 * 100vw), 120px) 0;
		text-align: center;
	}
	.mainVisual .mainVisualImageWrap >:first-child {
		margin-top: 0 !important;
	}
	.mainVisual .mainVisualImage01 {
		margin: clamp(31px, calc(50 / 1920 * 100vw), 50px) auto 0;
		width: clamp(313px, calc(494 / 1920 * 100vw), 494px);
	}
	.mainVisual .mainVisualImage02 {
		margin: clamp(31px, calc(50 / 1920 * 100vw), 50px) auto 0;
		width: clamp(240px, calc(380 / 1920 * 100vw), 380px);
	}
	/* news
	------------------------------------------------------ */
	.newsBox {
		width: 1200px;
		margin: 0 auto;
		padding: 60px 0;
	}
	.newsBox >:first-child {
		margin-top: 0 !important;
	}
	.newsBox .newsBoxHeading {
		margin-top: 20px;
	}
	.newsBox .newsBoxHeading img {
		width: auto;
		height: 28px;
	}
	.newsBox .newsBoxInner {
		position: relative;
		margin-top: 20px;
		padding: 18px 0 20px;
		border-bottom: 1px solid #000;
	}
	.newsBox .newsBoxInner::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 46px;
		height: 1px;
		background-color: #000;
	}
	.newsBox .newsBoxInner >:first-child {
		margin-top: 0 !important;
	}
	.newsBox .contentbox {
		min-height: 90px;
	}
	.newsBox .contentbox ul > li {
		display: flex;
		font-size: 1.6rem;
	}
	.newsBox .contentbox ul > li .date {
		flex-shrink: 0;
		width: 130px;
	}
	/* flow
	------------------------------------------------------ */
	.flow--wrap {
		margin-top: 30px;
	}
	.flow {
		width: fit-content;
		margin: 0 auto;
	}
	.flow > li {
		float: left;
		width: 308px;
		min-height: 308px;
		margin-right: 8px;
		background-position: 0 0;
		background-repeat: no-repeat;
		background-size: contain;
		text-align: center;
	}
	.flow > li:last-child {margin-right: 0;}
	.flow > li.list01 {background-image: url("/smp/designcard/img-files/vote_flow01_pc.webp");}
	.flow > li.list02 {background-image: url("/smp/designcard/img-files/vote_flow02_pc.webp");}
	.flow > li.list03 {background-image: url("/smp/designcard/img-files/vote_flow03_pc.webp");}
	.flow > li a {color: inherit;}
	.flow > li .num {
		display: block;
		text-indent: -9999px;
		width: 100%;
		height: 42px;
	}
	.flow .flowDesc dd {
		padding-top: 175px;
		font-size: 1.6rem;
		text-align: center;
	}
	.flow .flowDesc dd a {
		color: #000;
	}
	/* module
	------------------------------------------------------ */
	/* bg */
	.vote-bg {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
		width: calc(100vw + 40px);
		min-width: 1200px;
		height: 100vh;
		background: url("/smp/designcard/img-files/vote_bg01.webp") no-repeat 50% center / cover;
		z-index: -1;
	}
	/* section */
	.vote-section01 {
		padding: 60px 0;
	}
	.vote-section01 >:first-child {
		margin-top: 0 !important;
	}
	.vote-section02 {
		margin: 0 min(-100px, calc((100vw + 100px - 100%) / 2* -1));
		padding: 55px max(100px, calc((100vw + 100px - 100%) / 2)) 60px;
		background-color: #fff;
	}
	.vote-section02 >:first-child {
		margin-top: 0 !important;
	}
	.vote-section03 {
		margin: 0 min(-100px, calc((100vw + 100px - 100%) / 2* -1));
		padding: 0 max(100px, calc((100vw + 100px - 100%) / 2)) 132px;
		background-color: #fff;
	}
	.vote-section03 >:first-child {
		margin-top: 0 !important;
	}
	.vote-section04 {
		margin-top: 42px;
	}
	.vote-section04 >:first-child {
		margin-top: 0 !important;
	}
	/* heading */
	.vote-heading02 {
		margin-top: 50px;
		margin-bottom: 30px;
	}
	.vote-heading02 .vote-heading02Title {
		text-align: center;
		font-size: 4rem;
		font-weight: bold;
		line-height: 1.4;
	}
	.vote-heading02-2 {
		margin-top: 30px;
		margin-bottom: 30px;
	}
	.vote-heading02-2 .vote-heading02Title {
		text-align: center;
	}
	.vote-heading02-2 .vote-heading02Title img {
		width: auto;
		height: 61px;
	}
	.vote-heading02-3 {
		margin-top: 30px;
		margin-bottom: 20px;
	}
	.vote-heading02-3 .vote-heading02Title {
		text-align: center;
	}
	.vote-heading02-4 {
		margin-top: 30px;
		margin-bottom: 25px;
	}
	.vote-heading02-4 .vote-heading02Title {
		text-align: center;
	}
	.vote-heading02-4 .vote-heading02Title img {
		width: auto;
		height: 59px;
	}
	.vote-heading02-4 .vote-heading02Sub {
		margin-top: 6px;
		text-align: center;
	}
	.vote-heading02-4 .vote-heading02Sub img {
		width: auto;
		height: 24px;
	}
	.vote-heading03 {
		margin-top: 20px;
	}
	.vote-heading03 .vote-heading03Title {
		position: relative;
		padding-bottom: 15px;
		text-align: center;
		font-size: 3rem;
		font-weight: bold;
		line-height: 1.2;
	}
	.vote-heading03 .vote-heading03Title::before {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		width: 100px;
		height: 1px;
		background-color: #000;
	}
	/* text */
	.vote-text01 {
		margin-top: 13px;
		font-size: 1.6rem;
	}
	.vote-text02 {
		margin-top: 15px;
		text-align: center;
		font-size: 1.8rem;
		line-height: 1.3;
	}
	.vote-text03 {
		margin-top: 9px;
		text-align: center;
		font-size: 1.6rem;
	}
	.vote-text04 {
		margin-top: 15px;
		text-align: center;
		font-size: 1.6rem;
		line-height: 1.3;
	}
	.vote-text05 {
		margin-top: 15px;
		margin-bottom: 15px;
		text-align: center;
		font-size: 1.8rem;
		line-height: 1.3;
	}
	.vote-lead01 {
		margin-top: 15px;
		font-size: 4rem;
		font-weight: bold;
		line-height: 1.4;
	}
	/* list */
	.vote-notelist01 {
		margin-top: 20px;
	}
	.vote-notelist01 > li {
		position: relative;
		padding-left: 16px;
		font-size: 1.6rem;
	}
	.vote-notelist01 > li > .mark {
		position: absolute;
		top: 0;
		left: 0;
	}
	.vote-notelist02 {
		width: 630px;
		margin: 15px auto 0;
	}
	.vote-notelist02 > li {
		position: relative;
		padding-left: 16px;
		font-size: 1.6rem;
	}
	.vote-notelist02 > li > .mark {
		position: absolute;
		top: 0;
		left: 0;
	}
	.vote-notelist03 {
		width: 630px;
		margin: 15px auto 0;
	}
	.vote-notelist03 > li {
		position: relative;
		padding-left: 16px;
		font-size: 1.6rem;
	}
	.vote-notelist03 > li > .mark {
		position: absolute;
		top: 0;
		left: 0;
	}
	/* image */
	.vote-image01 {
		margin-top: 30px;
		margin-bottom: 30px;
		text-align: center;
	}
	.vote-image02 {
		position: relative;
		margin-top: 55px;
		text-align: center;
	}
	.vote-image02 .vote-imageTitle {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		width: fit-content;
		height: fit-content;
		margin: auto;
	}
	.vote-image03 {
		margin-top: 25px;
		margin-bottom: 45px;
		text-align: center;
	}
	.vote-image03 img {
		width: 319px;
		height: auto;
	}
	.vote-image04 {
		margin-top: 35px;
		text-align: center;
	}
	/* button */
	.vote-button01 {
		margin-top: 45px;
		text-align: center;
	}
	.vote-button01 a {
		display: inline-flex;
		flex-flow: column;
		justify-content: center;
		align-items: center;
		position: relative;
		width: 630px;
		min-height: 80px;
		padding: 5px 50px;
		border: 1px solid #000;
		background-color: #fff;
		text-align: center;
		font-size: 3rem;
		font-weight: bold;
		color: inherit;
		line-height: 1.2;
		text-decoration: none;
	}
	.vote-button01 a::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 28px;
		width: 12px;
		height: 19px;
		margin-top: -9.5px;
		background: url(/smp/designcard/img-files/vote_ic01.webp) no-repeat 0 0 / contain;
		transition: 0.3s all ease-out;
	}
	.vote-button01 a:hover::before {
		transform: translateX(7px);
	}
	.vote-button01 a .small {
		font-size: 2rem;
		font-weight: normal;
	}
	.applyBtn {
		margin-top: 25px;
	}
	.applyBtn a {
		display: block;
		width: fit-content;
		margin: 0 auto;
		transition: 0.3s all ease-out;
	}
	.applyBtn a img {
		transition: 0.3s all ease-out;
	}
	.applyBtn a:hover {
		background-color: #fff;
	}
	.applyBtn a:hover img {
		opacity: 0.7;
	}
	.webBtn {
		margin-top: 20px;
	}
	.webBtn a {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		width: 460px;
		min-height: 52px;
		margin: 0 auto;
		padding: 5px 20px 5px 10px;
		background-color: #000;
		border-radius: 10px;
		font-size: 1.6rem;
		color: #fff;
		text-decoration: none;
		transition: 0.3s all ease-out;
	}
	.webBtn a:hover {
		opacity: 0.7;
	}
	.webBtn a::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 12px;
		width: 8px;
		height: 14px;
		margin-top: -7px;
		background: url("/smp/designcard/img-files/vote_ic03.webp") no-repeat 0 0 / cover;
	}
	/* card */
	.vote-cardArea {
		margin-top: 20px;
		padding: 40px 38px;
		background-color: rgba(255,255,255,0.5);
	}
	.vote-cardArea >:first-child {
		margin-top: 0!important;
	}
	.vote-cardWrap {
		display: flex;
		flex-flow: wrap;
		gap: 76px;
		margin-top: 30px;
	}
	.vote-card {
		position: relative;
		width: calc(100% / 3 - 76px * 2 / 3);
		text-align: center;
	}
	.vote-card + .vote-card::before {
		content: '';
		position: absolute;
		top: 0;
		left: calc((76px / 2 - 1px + 0.5px) * -1);
		width: 1px;
		height: 100%;
		background-color: rgba(0,0,0,0.5);
	}
	.vote-card >:first-child {
		margin-top: 0 !important;
	}
	.vote-cardTitle01 {
		margin-top: 15px;
		text-align: center;
	}
	.vote-cardTitle02 {
		margin-top: 20px;
	}
	.vote-cardTitle02 img {
		width: 146px;
		height: auto;
	}
	.vote-cardText01 {
		margin-top: 15px;
		text-align: center;
	}
	.vote-cardText01 img {
		width: auto;
		height: 28px;
	}
	.vote-cardImage {
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 20px auto 0;
		width: 324px;
		height: 324px;
	}
	.vote-cardImage[data-direction="horizontal"] img {
		width: 100%;
		height: auto;
	}
	.vote-cardImage[data-direction="vertical"] img {
		width: auto;
		height: 100%;
	}
	/* media */
	.vote-mediaWrap {
		padding: 55px 0;
	}
	.vote-mediaWrap .vote-mediaWrapInner {
		padding: 30px 40px;
		background-color: rgba(255,255,255,0.8);
	}
	.vote-mediaWrap .vote-mediaWrapInner >:first-child {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}
	.vote-mediaWrap .vote-mediaWrapInner >:last-child {
		padding-bottom: 0 !important;
	}
	.vote-media {
		display: flex;
		align-items: center;
		gap: 30px;
	}
	.vote-media + .vote-media {
		margin-top: 30px;
		padding-top: 30px;
		border-top: 1px solid #000;
	}
	.vote-media .vote-mediaHead {
		flex-shrink: 0;
		width: 215px;
	}
	.vote-media .vote-mediaHead >:first-child,
	.vote-media .vote-mediaBody >:first-child {
		margin-top: 0 !important;
	}
	.vote-media .vote-mediaImage01 {
		margin: 15px auto 0;
	}
	.vote-media .vote-mediaImage01[data-direction="horizontal"] {
		width: 194px;
		height: auto;
	}
	.vote-media .vote-mediaImage01[data-direction="vertical"] {
		width: 123px;
		height: auto;
	}
	.vote-media .vote-mediaTitle {
		margin-top: 10px;
		font-size: 2.4rem;
		font-weight: bold;
		line-height: 1.2;
	}
	.vote-media .vote-mediaText01 {
		margin-top: 10px;
		font-size: 1.6rem;
	}
	.vote-media .vote-mediaNote01 > li {
		position: relative;
		padding-left: 14px;
		font-size: 1.4rem;
	}
	.vote-media .vote-mediaNote01 > li > .mark {
		position: absolute;
		top: 0;
		left: 0;
	}
	/* box */
	.vote-box01 {
		margin-top: 50px;
		padding: 37px 40px 25px;
		background-color: #f0f0f0;
	}
	.vote-box01 >:first-child {
		margin-top: 0 !important;
	}
	.vote-box01 .vote-boxDetail {
		padding: 0 10px;
	}
	.vote-box01 .vote-boxDetail + .vote-boxDetail {
		margin-top: 30px;
		padding-top: 25px;
		border-top: 1px solid #c9c9c9;
	}
	.vote-box01 .vote-boxDetail >:first-child {
		margin-top: 0 !important;
	}
	.vote-box01 .vote-boxTitle {
		margin-top: 15px;
		margin-bottom: 25px;
		text-align: center;
		font-size: 2rem;
		font-weight: bold;
	}
	.vote-box01 .vote-boxText01 {
		margin-top: 15px;
		font-size: 1.6rem;
	}
	.vote-box01 .vote-boxList01 {
		margin-top: 15px;
	}
	.vote-box01 .vote-boxList01 > li {
		position: relative;
		padding-left: 16px;
		font-size: 1.6rem;
	}
	.vote-box01 .vote-boxList01 > li > .mark {
		position: absolute;
		top: 0;
		left: 0;
	}
	/* detail */
	.vote-detail {
		width: 900px;
		margin: 40px auto 0;
		padding: 40px;
		background: url("/smp/designcard/img-files/vote_im01_pc.webp") no-repeat 0 0 / cover;
	}
	.vote-detail .vote-detailBox {
		padding: 36px 40px 32px;
		background-color: rgba(255,255,255,0.75);
	}
	.vote-detail .vote-detailBox >:first-child {
		margin-top: 0 !important;
	}
	.vote-detail .vote-detailTitle {
		position: relative;
		width: fit-content;
		margin-top: 10px;
		padding: 0 50px;
		font-size: 2rem;
		line-height: 1.3;
	}
	.vote-detail .vote-detailTitle::before,
	.vote-detail .vote-detailTitle::after {
		content: '';
		position: absolute;
		top: 50%;
		width: 40px;
		height: 1px;
		margin-top: -2px;
		background-color: #000;
	}
	.vote-detail .vote-detailTitle::before {
		left: 0;
	}
	.vote-detail .vote-detailTitle::after {
		right: 0;
	}
	.vote-detail .vote-detailText {
		margin-top: 10px;
		font-size: 2rem;
		line-height: 1.6
	}
	/* donateil */
	.vote-donate {
		margin: 0 min(-30px, calc((100vw + 30px - 100%) / 2* -1));
		padding: 60px max(30px, calc((100vw + 30px - 100%) / 2));
		background: url("/smp/designcard/img-files/vote_bg02_pc.webp") no-repeat 0 0 / cover;
	}
	.vote-donate >:first-child {
		margin-top: 0 !important;
	}
	.vote-donate .vote-donateHeading02 {
		margin-top: 20px;
		margin-bottom: 40px;
	}
	.vote-donate .vote-donateHeading02 .vote-donateHeading02Title {
		text-align: center;
	}
	.vote-donate .vote-donateHeading02 .vote-donateHeading02Title img {
		width: auto;
		height: 40px;
	}
	.vote-donate .vote-donateText01 {
		margin-top: 15px;
		text-align: center;
		font-size: 1.6rem;
	}
	.vote-donate .vote-donateButton01 {
		margin-top: 35px;
		text-align: center;
	}
	.vote-donate .vote-donateButton01 a {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		position: relative;
		min-width: 630px;
		min-height: 80px;
		padding: 15px 50px;
		border: 1px solid #000;
		background-color: #fff;
		text-align: center;
		font-size: 3rem;
		font-weight: bold;
		color: inherit;
		line-height: 1.4;
		text-decoration: none;
	}
	.vote-donate .vote-donateButton01 a::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 28px;
		width: 12px;
		height: 19px;
		margin-top: -9.5px;
		background: url("/smp/designcard/img-files/vote_ic01.webp") no-repeat 0 0 / contain;
		transition: 0.3s all ease-out;
	}
	.vote-donate .vote-donateButton01 a:hover::before {
		transform: translateX(7px);
	}
}
@media screen and (max-width: 750px) {
	/* override
	------------------------------------------------------ */
	body{
		font-size: 1.3rem;
	}
	/* header
	------------------------------------------------------ */
	#header {
		padding: 0;
		background-color: #000;
		border: none;
	}
	#header #headerLogo {
		width: 100%;
		padding: 9px 10px;
	}
	#header #headerLogo img {
		width: auto;
		height: 27px;
	}
	/* layout
	------------------------------------------------------ */
	
	/* footer
	------------------------------------------------------ */
	#footer {
		margin-top: 0;
		padding: 0;
		border: none;
		background-color: #000;
	}
	#footer .footerInner {
		width: 100%;
		padding: 13px 10px;
	}
	#footer #copyright {
		text-align: center;
		font-size: 1rem;
		color: #fff;
	}
	/* mainVisual
	------------------------------------------------------ */
	.mainVisual {
		position: relative;background-color: #fff;
		text-align: center;
	}
	.mainVisual .mainVisualInner {
		width: 100%;
		margin: auto;
		padding: 0 10px;
		text-align: left;
	}
	.mainVisual .mainVisualImageWrap {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		margin: auto;
		padding: calc(140 / 720 * 100vw) calc(20 / 720 * 100vw) calc(144 / 720 * 100vw);
		text-align: center;
	}
	.mainVisual .mainVisualImageWrap >:first-child {
		margin-top: 0 !important;
	}
	.mainVisual .mainVisualImage01 {
		margin: calc(75 / 720 * 100vw) auto 0;
		width: calc(410 / 720 * 100vw);
	}
	.mainVisual .mainVisualImage02 {
		margin: calc(75 / 720 * 100vw) auto 0;
		width: calc(380 / 720 * 100vw);
	}
	/* news
	------------------------------------------------------ */
	.newsBox {
		width: 100%;
		margin: 0 auto;
		padding: 35px 0;
	}
	.newsBox >:first-child {
		margin-top: 0 !important;
	}
	.newsBox .newsBoxHeading {
		margin-top: 20px;
	}
	.newsBox .newsBoxHeading img {
		width: auto;
		height: 18px;
	}
	.newsBox .newsBoxInner {
		position: relative;
		margin-top: 2px;
		padding: 19px 0 10px;
		border-bottom: 1px solid #000;
	}
	.newsBox .newsBoxInner::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 27px;
		height: 1px;
		background-color: #000;
	}
	.newsBox .newsBoxInner >:first-child {
		margin-top: 0 !important;
	}
	.newsBox .contentbox ul > li {
		display: flex;
		font-size: 1rem;
	}
	.newsBox .contentbox ul > li .date {
		flex-shrink: 0;
		width: 85px;
	}
	/* flow
	------------------------------------------------------ */
	.flow--wrap {
		margin-top: 15px;
	}
	.flow > li {
		position: relative;
		width: 100%;
		padding-top: 0;
		text-align: center;
	}
	.flow > li:first-child {
		margin: 0;
	}
	.flow > li,
	.flow > li:nth-of-type(2),
	.flow > li:nth-of-type(3){margin: 22px 0 0;}
	.flow > li:first-child{margin: 0;}
	.flow > li + li:after {
		position: absolute;
		content: "";
		width: 21px;
		height: 11px;
		top: -17px;
		right: 50%;
		margin-right: -15px;
		background: url("/smp/designcard/img-files/vote_ic02.webp") no-repeat top left / contain;
		-webkit-background-size: 21px auto;
		background-size: 21px auto;
	}
	.flow > li .num {display: none;}
	.flow .flowDesc {
		display: table;
		width: 100%;
		height: 76px;
		margin-top: 0;
	}
	.flow .flowDesc dt {
		display: table-cell !important;
		width: 30%;
		height: auto;
		padding: 0;
		background-size: 100px auto !important;
		background-repeat: no-repeat;
		background-position: 0 50%;
		vertical-align: middle;
	}
	.flow .flowDesc dt span {display: inline;}
	.flow .flowDesc dd {
		display: table-cell;
		width: 72.5%;
		padding: 0 0 0 2px;
		vertical-align: middle;
		font-size: 1.3rem;
		text-align: left;
		z-index: -1;
		line-height: 1.7;
	}
	.flow .flowDesc dd > span {
		display: block;
		padding: 10px 5px 10px 10px;
	}
	/* module
	------------------------------------------------------ */
	/* bg */
	.vote-bg {
		position: fixed;
		top: 0;
		left: 0;
		margin: auto;
		width: 100vw;
		height: 100vh;
		background: url("/smp/designcard/img-files/vote_bg01.webp") no-repeat 50% center / cover;
		z-index: -1;
	}
	/* section */
	.vote-section01 {
		padding: 35px 0;
	}
	.vote-section01 >:first-child {
		margin-top: 0 !important;
	}
	.vote-section02 {
		width: 100vw;
		margin-left: -10px;
		padding: 35px 10px;
		background-color: #fff;
	}
	.vote-section02 >:first-child {
		margin-top: 0 !important;
	}
	.vote-section03 {
		width: 100vw;
		margin-left: -10px;
		padding: 0 10px 45px;
		background-color: #fff;
	}
	.vote-section03 >:first-child {
		margin-top: 0 !important;
	}
	.vote-section04 {
		margin-top: 20px;
	}
	.vote-section04 >:first-child {
		margin-top: 0 !important;
	}
	/* heading */
	.vote-heading02 {
		margin-top: 25px;
		margin-bottom: 15px;
	}
	.vote-heading02 .vote-heading02Title {
		text-align: center;
		font-size: 2rem;
		font-weight: bold;
		line-height: 1.4;
	}
	.vote-heading02-2 {
		margin-top: 15px;
	}
	.vote-heading02-2 .vote-heading02Title {
		text-align: center;
	}
	.vote-heading02-2 .vote-heading02Title img {
		width: auto;
		max-height: 45px;
	}
	.vote-heading02-3 {
		margin-top: 15px;
		margin-bottom: 15px;
	}
	.vote-heading02-3 .vote-heading02Title {
		text-align: center;
	}
	.vote-heading02-3 .vote-heading02Title img {
		width: auto;
		max-height: 78px;
	}
	.vote-heading02-4 {
		margin-top: 15px;
		margin-bottom: 20px;
	}
	.vote-heading02-4 .vote-heading02Title {
		text-align: center;
	}
	.vote-heading02-4 .vote-heading02Title img {
		width: auto;
		max-height: 45px;
	}
	.vote-heading02-4 .vote-heading02Sub {
		margin-top: 7px;
		text-align: center;
	}
	.vote-heading02-4 .vote-heading02Sub img {
		width: auto;
		max-height: 21px;
	}
	.vote-heading03 {
		margin-top: 10px;
	}
	.vote-heading03 .vote-heading03Title {
		position: relative;
		padding-bottom: 10px;
		text-align: center;
		font-size: 1.8rem;
		font-weight: bold;
		line-height: 1.2;
	}
	.vote-heading03 .vote-heading03Title::before {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		width: 100px;
		height: 1px;
		background-color: #000;
	}
	/* text */
	.vote-text01 {
		margin-top: 8px;
		font-size: 1.3rem;
		line-height: 1.3
	}
	.vote-text02 {
		margin-top: 10px;
		text-align: center;
		font-size: 1.4rem;
	}
	.vote-text03 {
		margin-top: 3px;
		text-align: center;
		font-size: 1.2rem;
	}
	.vote-text04 {
		margin-top: 10px;
		text-align: center;
		font-size: 1.2rem;
	}
	.vote-text05 {
		margin-top: 10px;
		margin-bottom: 10px;
		text-align: center;
		font-size: 1.4rem;
	}
	.vote-lead01 {
		margin-top: 6px;
		font-size: 2.5rem;
		font-weight: bold;
		line-height: 1.4;
	}
	/* list */
	.vote-notelist01 {
		margin-top: 5px;
	}
	.vote-notelist01 > li {
		position: relative;
		padding-left: 12px;
		font-size: 1.2rem;
	}
	.vote-notelist01 > li > .mark {
		position: absolute;
		top: 0;
		left: 0;
	}
	.vote-notelist02 {
		width: 100%;
		max-width: 300px;
		margin-top: 10px;
	}
	.vote-notelist02 > li {
		position: relative;
		padding-left: 12px;
		font-size: 1.2rem;
	}
	.vote-notelist02 > li > .mark {
		position: absolute;
		top: 0;
		left: 0;
	}
	.vote-notelist03 {
		margin-top: 10px;
	}
	.vote-notelist03 > li {
		position: relative;
		padding-left: 12px;
		font-size: 1.2rem;
	}
	.vote-notelist03 > li > .mark {
		position: absolute;
		top: 0;
		left: 0;
	}
	/* image */
	.vote-image01 {
		margin-top: 15px;
		margin-bottom: 18px;
		text-align: center;
	}
	.vote-image02 {
		margin-top: 21px;
		text-align: center;
	}
	.vote-image02 .vote-imageTitle {
		position: relative;
		width: calc(560 / 720 * 100vw);
		margin: 0 auto -20px;
		text-align: center;
	}
	.vote-image03 {
		margin-top: 20px;
		margin-bottom: 15px;
		text-align: center;
	}
	.vote-image03 img {
		width: 295px;
		height: auto;
	}
	.vote-image04 {
		margin-top: 15px;
		text-align: center;
	}
	/* button */
	.vote-button01 {
		margin-top: 25px;
		text-align: center;
	}
	.vote-button01 a {
		display: inline-flex;
		flex-flow: column;
		justify-content: center;
		align-items: center;
		position: relative;
		width: 100%;
		max-width: 300px;
		min-height: 51px;
		padding: 5px 25px;
		border: 1px solid #000;
		background-color: #fff;
		text-align: center;
		font-size: 1.8rem;
		font-weight: bold;
		color: inherit;
		line-height: 1.2;
		text-decoration: none;
	}
	.vote-button01 a::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 14px;
		width: 10px;
		height: 15px;
		margin-top: -7.5px;
		background: url("/smp/designcard/img-files/vote_ic01.webp") no-repeat 0 0 / contain;
	}
	.vote-button01 a .small {
		font-size: 1.3rem;
		font-weight: normal;
	}
	.applyBtn {
		margin-top: 28px;
	}
	.webBtn {
		margin-top: 20px;
	}
	.webBtn a {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		width: 100%;
		min-height: 38px;
		padding: 5px 20px 5px 10px;
		background-color: #000;
		border-radius: 5px;
		font-size: 1.2rem;
		color: #fff;
		text-decoration: none;
	}
	.webBtn a::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 10px;
		width: 7px;
		height: 12px;
		margin-top: -6px;
		background: url("/smp/designcard/img-files/vote_ic03.webp") no-repeat 0 0 / cover;
	}
	/* card */
	.vote-cardArea {
		margin-top: 20px;
		padding: 35px 17px;
		background-color: rgba(255,255,255,0.5);
	}
	.vote-cardArea >:first-child {
		margin-top: 0!important;
	}
	.vote-cardWrap {
		margin-top: 30px;
	}
	.vote-card {
		position: relative;
		text-align: center;
	}
	.vote-card + .vote-card {
		margin-top: 35px;
		padding: 35px 3px 0;
		border-top: 1px solid #000;
	}
	.vote-card >:first-child {
		margin-top: 0 !important;
	}
	.vote-cardTitle01 {
		margin-top: 15px;
		text-align: center;
	}
	.vote-cardTitle02 {
		margin-top: 20px;
		text-align: center;
	}
	.vote-cardTitle02 img {
		width: calc(210 / 720 * 100vw);
		height: auto;
	}
	.vote-cardText01 {
		margin-top: 10px;
		text-align: center;
	}
	.vote-cardText01 img {
		width: calc(202 / 720 * 100vw);
		height: auto;
	}
	.vote-cardImage {
		margin: 30px auto 0;
		text-align: center;
	}
	.vote-cardImage[data-direction="horizontal"] img {
		width: calc(601 / 720 * 100vw);
		height: auto;
	}
	.vote-cardImage[data-direction="vertical"] img {
		width: auto;
		height: calc(601 / 720 * 100vw);
	}
	/* media */
	.vote-mediaWrap {
		padding: 35px 0;
	}
	.vote-mediaWrap .vote-mediaWrapInner {
		padding: 33px 20px;
		background-color: rgba(255,255,255,0.8);
	}
	.vote-mediaWrap .vote-mediaWrapInner >:first-child {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}
	.vote-mediaWrap .vote-mediaWrapInner >:last-child {
		padding-bottom: 0 !important;
	}
	.vote-media {
		margin-top: 28px;
	}
	.vote-media + .vote-media {
		padding-top: 30px;
		border-top: 1px solid #000;
	}
	.vote-media .vote-mediaBody {
		margin-top: 20px;
	}
	.vote-media .vote-mediaHead >:first-child,
	.vote-media .vote-mediaBody >:first-child {
		margin-top: 0 !important;
	}
	.vote-media .vote-mediaImage01 {
		margin: 15px auto 0;
	}
	.vote-media .vote-mediaImage01[data-direction="horizontal"] {
		max-width: 195px;
		height: auto;
	}
	.vote-media .vote-mediaImage01[data-direction="vertical"] {
		max-width: 123px;
		height: auto;
	}
	.vote-media .vote-mediaTitle {
		margin-top: 10px;
		text-align: center;
		font-size: 2rem;
		font-weight: bold;
		line-height: 1.2;
	}
	.vote-media .vote-mediaText01 {
		margin-top: 6px;
		font-size: 1.3rem;
	}
	.vote-media .vote-mediaNote01 > li {
		position: relative;
		padding-left: 12px;
		font-size: 1.2rem;
		line-height: 1.2;
	}
	.vote-media .vote-mediaNote01 > li > .mark {
		position: absolute;
		top: 0;
		left: 0;
	}
	/* box */
	.vote-box01 {
		margin-top: 30px;
		padding: 25px 10px 20px;
		background-color: #f0f0f0;
	}
	.vote-box01 >:first-child {
		margin-top: 0 !important;
	}
	.vote-box01 .vote-boxDetail + .vote-boxDetail {
		margin-top: 20px;
		padding-top: 20px;
		border-top: 1px solid #c9c9c9;
	}
	.vote-box01 .vote-boxDetail >:first-child {
		margin-top: 0 !important;
	}
	.vote-box01 .vote-boxTitle {
		margin-top: 15px;
		margin-bottom: 15px;
		text-align: center;
		font-size: 1.5rem;
		font-weight: bold;
	}
	.vote-box01 .vote-boxText01 {
		margin-top: 10px;
		font-size: 1.3rem;
	}
	.vote-box01 .vote-boxList01 {
		margin-top: 10px;
	}
	.vote-box01 .vote-boxList01 > li {
		position: relative;
		padding-left: 13px;
		font-size: 1.3rem;
	}
	.vote-box01 .vote-boxList01 > li > .mark {
		position: absolute;
		top: 0;
		left: 0;
	}
	/* detail */
	.vote-detail {
		margin-top: 30px;
		padding: 20px 10px;
		background: url("/smp/designcard/img-files/vote_im01_sp.webp") no-repeat 0 0 / cover;
	}
	.vote-detail .vote-detailBox {
		padding: 15px;
		background-color: rgba(255,255,255,0.75);
	}
	.vote-detail .vote-detailBox >:first-child {
		margin-top: 0 !important;
	}
	.vote-detail .vote-detailTitle {
		position: relative;
		width: fit-content;
		margin-top: 10px;
		padding: 0 30px;
		font-size: 1.3rem;
		line-height: 1.3;
	}
	.vote-detail .vote-detailTitle::before,
	.vote-detail .vote-detailTitle::after {
		content: '';
		position: absolute;
		top: 50%;
		width: 20px;
		height: 1px;
		margin-top: -1px;
		background-color: #000;
	}
	.vote-detail .vote-detailTitle::before {
		left: 0;
	}
	.vote-detail .vote-detailTitle::after {
		right: 0;
	}
	.vote-detail .vote-detailText {
		margin-top: 7px;
		font-size: 1.3rem;
	}
	/* donateil */
	.vote-donate {
		width: 100vw;
		margin-left: -10px;
		padding: 35px 10px;
		background: url("/smp/designcard/img-files/vote_bg02_sp.webp") no-repeat 0 0 / cover;
	}
	.vote-donate >:first-child {
		margin-top: 0 !important;
	}
	.vote-donate .vote-donateHeading02 {
		margin-top: 15px;
		margin-bottom: 15px;
	}
	.vote-donate .vote-donateHeading02 .vote-donateHeading02Title {
		text-align: center;
	}
	.vote-donate .vote-donateHeading02 .vote-donateHeading02Title img {
		width: auto;
		max-height: 30px;
	}
	.vote-donate .vote-donateText01 {
		margin-top: 15px;
		text-align: center;
		font-size: 1.2rem;
	}
	.vote-donate .vote-donateButton01 {
		margin-top: 18px;
		text-align: center;
	}
	.vote-donate .vote-donateButton01 a {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		position: relative;
		width: 100%;
		max-width: 300px;
		min-height: 40px;
		padding: 5px 25px;
		border: 1px solid #000;
		background-color: #fff;
		text-align: center;
		font-size: 1.8rem;
		font-weight: bold;
		color: inherit;
		line-height: 1.4;
		text-decoration: none;
	}
	.vote-donate .vote-donateButton01 a::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 14px;
		width: 10px;
		height: 15px;
		margin-top: -7.5px;
		background: url("/smp/designcard/img-files/vote_ic01.webp") no-repeat 0 0 / contain;
	}
}
/* Cleafix
------------------------------------------------------ */
.contentsWrap:after,
.flow:after {
	display: block;
	clear: both;
	content: "";
}