@import url(snsfint.css);
/*@import url(animation.css);*/
@import url('https://fonts.googleapis.com/css?family=Ropa+Sans');
@import url('https://fonts.googleapis.com/css?family=Asap:700');

#taisho_contents,
#foot_menu,
#Foot,
#twitter {
	/* min-width: 1080px; */
	overflow: hidden;
}
/*基本設定*/
html {
	font-size: 62.5%;
	/* scroll-behavior: smooth; 
	scroll-padding-bottom: 500px; */
}
body {
	font-family: "Noto Sans JP", "メイリオ", sans-serif;
	font-size: 1.6rem;
	color: #000;
	background: #fff;
}
div,
article,
section,
h2 {
	box-sizing: border-box;
}
a {
	text-decoration: none;
}
p {
	word-break: normal;
	word-wrap: break-word;
	text-align: justify;
}
h2 {
	line-height: 1.3em;
}
ul,
dl,
ol {
	letter-spacing: -.40em;
}
li,
dd {
	letter-spacing: normal;
}
a:hover>img {
	opacity: 0.7;
	text-decoration: underline;
}
.pad_in a:hover {
	opacity: 0.7;
	text-decoration: none;
}
#ancs {
	position: absolute;
	top: -60px;
}
#page-top.fade-in {
	color: #fff;
	opacity: 1;
}

/*レイアウトClass*/
.inner {
	margin: 0 auto;
	position: relative;
	height: 100%;
	width: min(80%, 850px);
}
.round {
	border-radius: 5px;
}
.shadow {
	box-shadow: 0px 0px 6px 1px #000;
	-moz-box-shadow: 0px 0px 6px 1px #000;
	-webkit-box-shadow: 0px 0px 6px 1px #000
}

/*総合レイアウト*/
#taisho_contents header {
	overflow: visible;
	position: relative;
}
#top {
	display: flex;
    width: 100vw;
	margin: 44px 0 0;
}
#side {
	max-width: 350px;
	min-width: 200px;
}
#main {
	flex-grow: 1;
	/* min-width: 900px; */
}

/*ヘッダ*/
#taisho_contents header {
    text-align: center;
    position: fixed;
    background: #000;
    width: 100vw;
    z-index: 999;
}
#taisho_contents header div {
	display: flex;
	width: 100%;
	padding: 0.75em;
}
#taisho_contents header h1 {
	text-align: left;
}
#taisho_contents header h1 img {
	height: 2rem;
	width: auto;
}
#taisho_contents header .topsns {
	display: flex;
	justify-content: left;
	margin-bottom: 0;
	margin-left: auto;
	align-items: center;
}
#taisho_contents header .topsns li {
	margin: 0 0.35em;
	font-size: 2rem;
}
#taisho_contents header .topsns li a {
	color: #fff;
	display: block;
}
#taisho_contents header .topsns li a:hover {
	text-decoration: none;
}
#taisho_contents header .topsns li span.fb_icon {
	background: url(./img/icon_facebook.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	display: block;
	width: 1em;
	height: 1em;
	filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(158deg) brightness(104%) contrast(100%);
}
#taisho_contents header .topsns li span.x_icon {
	background: url(./img/icon_x.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	display: block;
	width: 1em;
	height: 1em;
}
#taisho_contents header .topsns li span.line_icon {
	background: url(./img/icon_line.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	display: block;
	width: 1em;
	height: 1em;
	filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(158deg) brightness(104%) contrast(100%);
}

/*グロメニュー*/
#g_header {
	position: fixed;
	z-index: 500;
	display: none;
}
#g_header {
	width: 100%;
	background: #fff;
}
#g_header ul li {
	display: inline-block;
	border-left: 1px solid #ddd;
	vertical-align: middle;
	padding: 0.4em 1em;
	margin-top: -1em;
}
#g_header ul li a {
	line-height: 0;
	display: block;
}
#g_header ul li:first-child {
	padding: 0.3em 0;
	margin-right: 1em;
	margin-right: 2.7em;
	border-left: 0;
	margin-top: 0;
}


/*サイド*/
#side img {
	width: 100%;
}
#side h1 {
	margin: 0 0 -0.5em;
}
#side h1+div {
	text-align: center;
	width: 93%;
	margin: 0 auto 0.6em;
}
#side h1+div img {
	width: 100%;
}
#side h2 {
	width: 93%;
	margin: 0 auto;
}
.news {
	box-sizing: border-box;
	color: #000;
	margin-bottom: .5em;
}
.news h3 {
    color: #fff;
    font-weight: bold;
    margin: 0.5em 0;
    padding: .1em;
    background-color: rgba(0, 0, 0, .8 );
	border-radius: 2px;
}
.news h3 span {
	font-size: 65%;
	font-weight: normal;
	display: inline-block;
	margin-left: 1em;
}
.news ul {
	width: 100%;
	margin-top: auto;
}
.news ul li {
    padding: 0 0.5em;
    color: #000;
    font-size: 1.2rem;
    text-align: justify;
}
.news ol li:last-child {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}
.banner img {
	width: 100%;
}
.topsns {
	display: flex;
	justify-content: left;
	margin-bottom: 1em;
}
.topsns li {
	margin: 0 0.35em;
	font-size: 2rem;
}
.topsns li a {
	color: #000;
	display: block;
}
.topsns li a:hover {
	text-decoration: none;
}
a:hover {
	text-decoration: none;
}
.copy {
	font-size: 1.3rem;
}
#side .copy>a.lg {
	margin-bottom: 1em;
}
#side .copy a.bn {
	width: 100%;
	display: block;
	border-radius: 3px;
	overflow: hidden;
	margin-bottom: .3em;
}
#side .menu_prize a {
	transition: 0.4s ease all;
}
#side .menu_prize a:hover {
	background-color: rgba(255, 215, 0, .8 );
	border-radius: 3px;
	box-shadow: 0 2px 4px -1px rgb(64, 64, 19, .4);
}
#side .copy>a.lg {
	width: 50%;
	display: block;
}
#main .copy {
	text-align: center;
	padding: 2rem;
}
#main .copy>a.lg {
	width: 10%;
	display: block;
	margin: 0 auto 1em;
}
#main .copy span {
    display: block;
    text-align: center;
	font-size: 1.2rem;
}
.copy span {
	display: block;
	text-align: left;
}

.copy small {
	display: block;
	margin-top: 1em;
}

#pv {
	padding-bottom: 3em;
}

.fade {
	animation: fadeIn 2s ease 0s normal forwards;
}

/* TODO */
.main-visual_img {
	margin-inline: auto;
	background-image: url(img/mv.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	position: relative;
	/* TODO 何かける */
	/* mask-image: linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%);
	mask-image:  linear-gradient(to bottom, #000 5%, #000 10%, #000 80%, transparent 100%); */
}
.main-visual_img::before {
	content: "";
	display: block;
	padding-top: 62%;
}
.slick-dotted.slick-slider {
	display: none;
}
.main-visual_logo img,
.main-visual_catch img {
	width: 100%;
}

.main-visual_logo {
    display: block;
    width: fit-content;
    position: absolute;
    top: 40%;
    left: 50%;
    width: 37%;
    transform: translateX(-50%);
    /* box-shadow: 3px 3px 2px 0px rgba(0, 0, 0, 0.5); */
    /* text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, 0 -1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF; */
    filter: drop-shadow(0px 0px 6px #fff);
    z-index: 9;
}
.main-visual_catch {
    display: block;
    width: fit-content;
    position: absolute;
    /* top: 65.7%; */
	bottom: 4%;
    left: 50%;
    width: 50%;
    transform: translateX(-50%);
    /* box-shadow: 3px 3px 2px 0px rgba(0, 0, 0, 0.5); */
    /* text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, 0 -1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF; */
    filter: drop-shadow(0px 0px 9px #fff) drop-shadow(0px 0px 6px #fff);
}
.winprize01 {
	background-color: #9a004e;
	background-image: url(img/bg_01.jpg);
    background-size: cover;
	background-position:  top center ;
}
.winprize02 {
	background-color: #6500b8;
	background-image: url(img/bg_02.jpg);
    background-size: cover;
	background-position: top center;
}
.winprize03 {
	background-color: #b80028;
	background-image: url(img/bg_03.jpg);
    background-size: cover;
	background-position: bottom right;
}
.winprize04 {
	background-color: #00959a;
	background-image: url(img/bg_04.jpg);
    background-size: cover;
	background-position: center center;
}
.winprize01 .winprize_btn a,
.winprize02 .winprize_btn a,
.winprize03 .winprize_btn a,
.winprize04 .winprize_btn a {
	color: #fff;
}
.winprize01 .winprize_btn a {
	background-color: #9a004e;
}
.winprize02 .winprize_btn a {
	background-color: #9f0000;
}
.winprize03 .winprize_btn a {
	background-color: #59cbcf;
}
.winprize04 .winprize_btn a {
	background-color: #00959a;
}

.winprize_area {
	margin: 0 auto;
	padding: 5em 0;
}
.winprize_img {
	text-align: center;
	position: relative;
	margin: 0 auto;
}
.winprize_img img {
	width: 100%;
	border-radius: 10px 10px 0 0;
}
.winprize-img_txt figure.gold::before {
    content: "";
    background-image: url(img/gold.svg);
    background-size: contain;
    background-repeat: no-repeat;
	height: 13%;
    width: 18%;
    position: absolute;
    top: 2%;
    right: 3%;
}
.winprize-img_txt figure.silver::before {
	content: "";
    background-image: url(img/silver.svg);
    background-size: contain;
    background-repeat: no-repeat;
	height: 13%;
    width: 18%;
    position: absolute;
    top: 2%;
    right: 3%;
}
/* 受賞作キャッチ */
.winprize_img h3 {
	color: #fff;
    font-size: 2em;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 5px;
    position: absolute;
	left: 3%;
    top: 3%;
    writing-mode: vertical-rl;
	/* text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
	-1px 1px 0 #FFF, 1px -1px 0 #FFF,
	0px 1px 0 #FFF,  0 -1px 0 #FFF,
	-1px 0 0 #FFF, 1px 0 0 #FFF; */
	text-shadow: 0px 0px 2px rgba(0, 0, 0, 1), 0px -1px 4px rgba(0, 0, 0, 1);
    text-align: start;
}
.winprize_img h3 span {
	text-combine-upright: all;
}
/* 受賞作タイトル・クレジット */
.winprize-img_ttl-area {
    position: absolute;
    right: 3%;
    bottom: 2.1%;
    text-align: right;
    font-family: 'Zen Old Mincho', serif;
    width: 100%;
}
.winprize-img_ttl-area h2 .main ,
.winprize-img_ttl-area h2 .sub {
	background-color: #fff;
	font-weight: 600;
	line-height: 1.2;
	text-align: right;
	padding: 0 1rem;
	display: inline-block;
	margin-bottom: 1rem;
	box-shadow: 3px 3px 2px 0px rgba(0, 0, 0, 0.5);
	white-space: nowrap;
}
.winprize-img_ttl-area h2 .main {
	font-size: 4.8rem;
}
.winprize-img_ttl-area h2 .sub {
	font-size: 2.8rem;
}
/* .winprize04 .winprize-img_ttl-area h2 .sub {
	font-size: 1.8rem;
} */
.winprize-img_ttl-area p {
	background-color: #fff;
	font-weight: 600;
	font-size: 2rem;
	line-height: 1.2;
	text-align: right;
	padding: 0 2%;
	display: inline-block;
	box-shadow: 3px 3px 2px 0px rgba(0, 0, 0, 0.5);
}
.txt_btn {
    display: flex;
    justify-content: space-between;
    background-color: #fff;
    border-radius: 0 0 10px 10px;
	padding: 4%;
	align-items: flex-start;
}


.winprize_txt {
    font-weight: 500;
    line-height: 1.7;
    font-size: 1.3rem;
    letter-spacing: .1em;
    width: 65%;
}
.winprize_btn {
	width: 30%;
}
.winprize_btn a {
	display: block;
	color: #fff;
	font-weight: bold;
	padding: 1em;
	letter-spacing: .4em;
	text-align: center;
	margin: 0 0 .5em;
	position: relative;
	border-radius: 4px;
}
.winprize_btn a::before {
	content: "";
	width: .8rem;
	height: .8rem;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: rotate(45deg);
	position: absolute;
	margin-top: -5px;
	top: 50%;
	right: 20px;
}
.winprize_btn a:hover {
	opacity: 0.7; 
}
/* ここから*****までカミングスーン対応 */
.winprize_btn a.soon:after {
	content: 'COMING SOON';
	letter-spacing: .2em;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	border-radius: 4px;
	color: #fff;
	background-color: #000;
	display: flex;
    align-items: center;
    justify-content: center;
	-webkit-transition: 0.4s ease all;
	transition: 0.4s ease all;
	opacity: 0;
}
.winprize_btn a.soon:hover:after {
	opacity: 1;
}
/* ボタン無効化 */
.winprize_btn a.soon{
    cursor: default;
}
/* ***** */

#side {
	flex-direction: column;
	justify-content: flex-start;
	position: fixed;
	/* top: 50%; */
	/* transform: translateY(calc(-50% + 5%)); */
	bottom: 1.5%;
	left: 1%;
	width: 16em;
	height: auto;
	text-align: center;
	overflow-y: auto;
	z-index: 100;
	background-color: rgba(255, 255, 255, .9);
	border-radius: 5px;
	padding: .5em;
}
#side img {
	width: 100%;
}

#side h1 {
	margin: 0 0 .2em;
}

#side h1+div {
	text-align: center;
	width: 93%;
	margin: 0 auto 0.6em;
}

#side h1+div img {
	width: 100%;
}

#side h2 {
	width: 93%;
	margin: 0 auto;
}
#side .menu a {
	position: relative;
    display: flex;
    margin: .5rem 0 0;
    justify-content: space-between;
    color: #000;
    align-items: center;
	transition: 0.4s ease all;
}
#side .menu_gold a::before {
	display: inline-block;
	content: "";
	background-image: url(img/gold.svg);
	background-size: contain;
	background-repeat: no-repeat;
	width: 3.5em;
	height: 3.5em;
}
#side .menu_silver a::before {
	display: inline-block;
	content: "";
	background-image: url(img/silver.svg);
	background-size: contain;
	background-repeat: no-repeat;
	width: 3.5em;
	height: 3.5em;
}
#side .menu {
    font-size: 1.27rem;
	font-weight: 700;
}
#side .menu p {
	width: 78%;
}
#side .menu .sub {
	font-size: 1rem;
	text-align: justify;
}
.menu_prize {
	margin-bottom: .5em;
}

/* 共通のfooterを非表示 */
footer {
	display: none;
}

/* 表示切り替え */
.pc {
	display: block;
}

.sp {
	display: none;
}

.tab{display: none;}

@media screen and (max-width: 1360px) and (min-width: 769px) {
	#side {
		position: fixed;
		left: -16em; /* 隠しておく */
		width: 16em;
		background: #fff;
		transition: left 0.3s ease;
		z-index: 1000;
	}

	.tab{position: fixed;
		display: block;
		transition: left 0.3s ease;
        background: #000;
        color: #fff;
        bottom: 564px;
        left: 1em;
        transform: rotate(90deg);
        padding: 0.5em 3em;
        transform-origin: left;
        line-height: 1.6;
        z-index: 1000;
        border-radius: 0.25em  0.25em 0 0;
		cursor: pointer;
	}

	
	/* 表示時 */
	#side.open {
		left: 0;
	}
	.tab.open{left: 17.25em;}
}

/*smartphone*****************************************************************************************************************************************************************************************/

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

	.allttl .main_box .text .campaign {
		width: 100px;
		padding: 1em 0.5em 1em 1em;
		position: absolute;
		right: 8.8em;
		top: 25px;
		background: url(img/book_icon.svg) no-repeat;
	}

	.allttl .main_box .text .application {
		width: 100px;
		padding: 1em 0.5em 1em 1em;
		position: absolute;
		right: 1.4em;
		top: 25px;
		background: #000;
		border-radius: 5px;
	}

	body {
		min-width: initial;
	}
}



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

	.tab{display: none;}
	.main-visual_catch {
		bottom: 12%;
		width: 90%;
	}
	#taisho_contents {
		min-width: auto;
	}

	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

	#top {
		display: flex;
		flex-direction: column;
		flex-direction: column-reverse;
	}

	#side {
		position: relative;
		display: block;
		max-width: 100%;
		padding: 5vw;
		width: auto;
		top: auto;
		bottom: auto;
		left: auto;
		right: auto;
	}
	#side .news {
		margin-bottom: 4vw;
	}
	#side .bn_area {
		margin-bottom: 5vw;
	}
	#side .copy a.bn {
		margin-bottom: 2vw;
	}
	#side .copy>a.lg {
		width: 30%;
	}
	#main {
		width: 100%;
		margin-top: 0;
		padding-top: 0;
		min-width: auto;
	}
	#main .copy {
		padding: 0;
	}
	#taisho_contents header div {
		padding: 1em 0.75em;
	}
	#taisho_contents header h1 {
		padding: 0.24em;
	}

	#taisho_contents header h1 img {
		width: 100%;
        height: auto;
		max-width: 210px;
	}
	.topsns {
		justify-content: center;
	}
	.copy small {
		text-align: center;
	}
	#visual img {
		width: 100%;
	}



	.sp_top ul {
		display: flex;
	}

	.sp_top ul li {
		position: relative;
		flex-basis: calc(100%/3);
	}

	.sp_top ul li .sp_text {
		position: absolute;
		width: 100%;
		bottom: 0;
		padding: 1.8vw;
		background: rgba(115, 11, 219, 0.7);
		color: #fff;
		text-align: center;
	}

	.sp_top ul li:nth-child(2) .sp_text {
		background: rgba(219, 11, 131, 0.7);
	}

	.sp_top ul li:nth-child(3) .sp_text {
		background: rgba(255, 153, 37, 0.85)
	}

	.sp_top ul li .sp_text h2 {
		font-size: 3.7vw;
		font-weight: bold;
	}

	.sp_top ul li .sp_text h4 {
		font-size: 2.5vw;
		font-weight: bold;
		margin-top: 0.5em;
	}

	.sp_top ul li .sp_text .medal {
		padding-bottom: 3vw;
	}

	.sp_top ul li .sp_text .medal img {
		width: 50%;
		margin: 0 auto;
	}


	.slick_box {
		width: auto;
	}

	.slick_box img {
		width: 100%;
	}

	.dots {
		display: flex;
		justify-content: center;
		margin-top: 1em;
	}

	.dots li {
		width: 15vw;
	}

	.dots li button {
		display: block;
		width: 100%;
		height: 5px;
		border: 0;
		outline: none;
		background-color: #dadada;
		color: transparent;
		font-size: 0;
		line-height: 0;
		cursor: pointer;
	}

	.dots li+li {
		margin-left: 1em;
	}

	.dots li.slick-active button {
		background-color: #1a1a1a;
	}

	.allttl {
		padding: 0;
	}

	.allttl .main_box {
		display: block;
		position: relative;
	}

	.allttl .main_box:before {
		position: absolute;
		content: "";
		display: inline-block;
		top: 2vw;
		right: 2vw;
		width: 80px;
		height: 80px;
		background: url(img/gold.svg) no-repeat;
		background-size: 100%;
	}

	.slick_box .sp_top h2 .subtitle {
		line-height: 1.4;
		margin-top: 0.5em;
		display: block;
	}

	.allttl.t02 .main_box:before,
	.allttl.t03 .main_box:before {
		background: url(img/silver.svg) no-repeat;
		background-size: 100%;
	}

	.allttl .main_box .img {
		width: 100%;
		margin-right: 0;
		max-width: 100%;
		min-width: auto;
	}

	.allttl .main_box .img h3 {
		font-size: 6vw;
		font-weight: bold;
		line-height: 1.2;
		margin-bottom: 5px;
		position: absolute;
		left: 5vw;
		top: 5vw;
		writing-mode: vertical-rl;
		text-shadow: 0px 0px 2px rgba(0, 0, 0, 1), 0px -1px 4px rgba(0, 0, 0, 1);
	}

	.allttl .main_box .text {
		position: absolute;
		padding: 0.5em;
		bottom: 0;
		left: 0;
		max-width: 100%;
	}

	.allttl .main_box .text h2 {
		font-size: 5vw;
	}

	.allttl .main_box .text h4 {
		margin-bottom: 0.25em;
		font-size: 3.5vw;
	}

	.allttl .main_box .text p {
		font-size: 3vw;
		line-height: 1.2;
		margin-bottom: 1em;
	}

	.allttl .main_box .text .medal {
		position: absolute;
		top: 2vw;
		left: 2vw;
	}

	.allttl .main_box .text .btn {
		text-align: center;
	}

	.allttl .main_box .text .btn a {
		width: 49%;
		font-size: 1.2rem;
	}

	.allttl .main_box .img .read {
		width: 80px;
		position: absolute;
		right: 5px;
		top: 90px;
	}

	.allttl .main_box .img .tform {
		width: 75px;
		position: absolute;
		right: 10px;
		top: 155px;
	}

	.allttl .main_box .img .twitter {
		width: 75px;
		padding: 2vw 1vw 2vw 2vw;
		position: absolute;
		right: 2vw;
		top: 25vw;
		background: #000;
		border-radius: 5px;
	}

	.allttl .main_box .img .itv {
		width: 75px;
		padding: 2vw 1vw 2vw 2vw;
		position: absolute;
		right: 2vw;
		top: 42vw;
		background: #000;
		border-radius: 5px;
	}

	.allttl .main_box .img .itv.only {
		top: 25vw;
	}

	.allttl .main_box .img .campaign {
		width: 100px;
		padding: 3vw 2vw 4vw 3vw;
		position: absolute;
		right: 2vw;
		top: 20vw;
		background: url(img/book_icon.svg) no-repeat;
	}

	.allttl .main_box .img .application {
		width: 100px;
		padding: 2vw 2vw 2vw 2vw;
		position: absolute;
		right: 2vw;
		top: 37vw;
		background: #000;
		border-radius: 5px;
	}

	.allttl .main_box .text .btn a.btntextchange {
		width: 100%;
	}

	.allttl.t01 .main_box .text {
		background: rgba(219, 11, 131, 0.7);
	}

	.allttl.t02 .main_box .text {
		background: rgba(115, 11, 219, 0.7)
	}

	.allttl.t03 .main_box .text {
		background: rgba(255, 153, 37, 0.85)
	}

	.h_wide {
		line-height: 1.8;
	}

	.allttl p {
		font-size: 1.3rem;
	}

	.nbtlist {
		display: flex;
		flex-wrap: wrap;
		bottom: 0.5em;
		padding: 0 0.5em;
	}

	.nbtlist li {
		width: 50%;
	}

	.nbtlist li a {
		font-size: 3.5vw;
	}

	.dash_mark {
		letter-spacing: -2px;
	}

	#pv {
		height: 30vh;
		;
	}

	#pv iframe {
		height: 100%;
		width: 90%;
	}


	.main-visual_img {
		padding-bottom: 24px;
        background: #000;
		margin-inline: auto;
		background-image: url(img/mv_sp.jpg);
		background-image: none;
		/* background-repeat: no-repeat;
		background-size: cover;
		background-position: center; */
		position: relative;
		/* TODO 何かける */
		/* mask-image: linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%);
		mask-image:  linear-gradient(to bottom, #000 5%, #000 10%, #000 80%, transparent 100%); */
	}
.slick-dotted.slick-slider{
	display: block;
}
	.main-visual_slider img {
    width: 100%;
    height: calc(100vh - 100px);
    object-fit: cover; /* 画像の比率を保ちつつ要素を覆う */
	object-position: 0% 20%;
    }
	.slick-dots li button:before {
		content: '';
	}
	.main-visual_slider .slick-dots li button:before {
		background: #fff;
		opacity: 1;
		width: 8px;
		height: 8px;
		border: 1.5px solid #000;
	}
	.main-visual_slider .slick-dots li.slick-active button:before {
    background: #000000; 
	opacity: 1;
}
	.slick-dots {
		bottom: 2.8%;
	}
	.slick-dotted.slick-slider {
		margin-bottom: 0px;
	}
	.main-visual_img::before {
		content: none;
	}
	.winprize_area {
		padding: 5vw 0;
	}
	.inner {
		margin: 0 auto;
		position: relative;
		height: 100%;
		width: 90vw;
	}
	.winprize_img h3 {
		font-size: clamp(0.5rem, -2.412rem + 12vw, 3.8rem);
	}
	/* .winprize04 .winprize_img h3 {
        font-size: clamp(1rem, -2.5rem + 10vw, 3.6rem);
    } */
	.winprize-img_ttl-area h2 .main {
		font-size: clamp(1.7rem, -1.8rem + 8.5vw, 3.8rem);
		padding: 0 .2rem;
		margin-bottom: .6rem;
	}
	.winprize-img_ttl-area h2 .sub {
		font-size: clamp(1.3rem, -2.5rem + 7vw, 3rem);
		padding: 0 .2rem;
		margin-bottom: .6rem;
	}
	/* .winprize04 .winprize-img_ttl-area h2 .sub {
		text-align: center;
        font-size: clamp(0.313rem, -1rem + 4.5vw, 1.6rem);
	} */
	.winprize-img_ttl-area p {
		width: fit-content;
		font-size: clamp(0.75rem, -0.000rem + 3.333vw, 1.6rem);
	}
	.txt_btn {
		display: flex;
		flex-direction: row;
		padding: 2.5% 3%;
	}
	/* .winprize_txt {
		width: 100%;
	} */
	/* .txt_btn {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 3% 4%
	}
	.winprize_btn {
		display: flex;
		flex-direction: row;
	}
	.winprize_btn a {
		margin: 0;
	} */
	.winprize_btn :first-child {
		margin: 0 0 .5rem;
	}
	.winprize_txt {
		width: 67%;
		margin: 0 0 1em;
		font-size: 1.2rem;
	}
	.winprize_btn a {
		font-size: 1.3rem;
	}
}

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


	.allttl .main_box .img .campaign {
		width: 75px;
		padding: 3vw 2vw 4vw 3vw;
		position: absolute;
		right: 2vw;
		top: 25vw;
		background: url(img/book_icon.svg) no-repeat;
	}

	.allttl .main_box .img .application {
		width: 75px;
		padding: 2vw 2vw 2vw 2vw;
		position: absolute;
		right: 2vw;
		top: 42vw;
		background: #000;
		border-radius: 5px;
	}

	.txt_btn {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 5% 7% 7%;
	}
	.winprize_txt,
	.winprize_btn {
		width: 100%;
	}
	.winprize_btn {
		max-width: 400px;
	}
	.winprize_btn a {
		margin: 0;
	}
	.winprize_btn :first-child {
		margin: 0 0 .5rem;
	}
	.winprize_txt {
		margin: 0 0 1em;
		font-size: 1.2rem;
	}
	.winprize_btn a {
		font-size: 1.3rem;
	}
}

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


	.allttl .main_box .img .campaign {
		width: 70px;
		padding: 3vw 2vw 4vw 3vw;
		position: absolute;
		right: 2vw;
		top: 30vw;
		background: url(img/book_icon.svg) no-repeat;
	}

	.allttl .main_box .img .application {
		width: 70px;
		padding: 2vw 2vw 2vw 2vw;
		position: absolute;
		right: 2vw;
		top: 50vw;
		background: #000;
		border-radius: 5px;
	}
	.main-visual_img::before {
    border-bottom: solid 12px #000000;
	}
}