
body {
	background: #ed6c00;
	font-family: "m-plus-1p", sans-serif;
	font-weight: 400;
	position: relative;
    left: 0;
    overflow-x: hidden;
	-webkit-text-size-adjust: 100%; /* iphone横向き 文字拡大防止 */
}
img {
	display: block;
	width: 100%;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
a {
	text-decoration: none;
	color: #000;
	transition: all .3s;
}
a:hover {
	filter: brightness(1.1);
}
p {
    font-size: min(1.4vw, 16px);
	line-height: 1.8;
}
:root {
    --orange: #ed6c00;
}
/*==================================================================================
ヘッダー
==================================================================================*/
header {
	width: 100%;
	box-sizing: border-box;
	padding: 5vw 0 0!important;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9999;
}
header.entry {
	position: relative;
	z-index: 1;
}
header.entry::before {
	content: "";
	width: 50vw;
	max-width: 680px;
	height: 500px;
	background: url("../img/cloud01.png") left top / contain no-repeat;
	position: absolute;
	top: -14%;
	left: calc((-100vw + 100%) / 2);
}
header.entry::after {
	content: "";
	width: 50vw;
	max-width: 680px;
	height: 400px;
	background: url("../img/cloud02.png") right top / contain no-repeat;
	position: absolute;
	top: -18%;
	right: calc((-100vw + 100%) / 2);
}
header img {
	width: 70%;
	margin: auto;
	position: relative;
	z-index: 3;
}
/*==================================================================================
共通
==================================================================================*/
/* レイアウト */
main {
	overflow: hidden;
}
section {
	padding: 60px 0!important;
	position: relative;
}
.container {
	width: 100%;
    box-sizing: border-box;
	padding: 0 40px;
	margin: auto;
}
.max1200 {
	max-width: 1200px;
	margin: auto;
}
.max960 {
	max-width: 960px;
	margin: auto;
}
.row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.row.align_center {
	align-items: center;
}
.row.just_center {
	justify-content: center;
}
.row.just_start {
	justify-content: flex-start;
}

.mb_5 {
	margin-bottom: 5px;
}
.mb_10 {
	margin-bottom: 10px;
}
.mb_20 {
	margin-bottom: 20px;
}
.mb_30 {
	margin-bottom: 30px;
}
.mb_60 {
	margin-bottom: 60px;
}
.mb_120 {
	margin-bottom: 120px;
}
.mr_50 {
    margin-right: 50px;
}
.mt_10 {
    margin-top: 10px;
}
.mt_5 {
    margin-top: 5px;
}

.wrap {
    display: inline-block;
}
.boad {
	padding: 40px 30px;
	border-radius: 40px;
	background: #fff;
	position: relative;
}

/* フォント */
.font_14 {
	font-size: min(1.2vw, 14px);
}
.font_20 {
	font-size: min(1.4vw, 20px);
}
.font_24 {
	font-size: min(2vw, 24px);
}
.font_30 {
	font-size: min(2.4vw, 30px);
}
.font_34 {
	font-size: min(2.4vw, 34px);
}
.font_46 {
	font-size: min(3.6vw, 46px);
}
.font_54 {
	font-size: min(4.6vw, 54px);
}
.font_70 {
	font-size: min(5vw, 70px);
}
.bold {
	font-weight: 700;
}
.medium {
	font-weight: 500;
}
.black {
    font-weight: 900;
}
.txt_center {
	text-align: center;
}
.txt_right {
	text-align: right;
}
.mincho {
    font-family: "source-han-serif-japanese", serif;
    font-weight: 900;
}
.eng_mincho {
    font-family: "dejanire-text", sans-serif;
    font-weight: 900;
    line-height: .8;
}
.line1 {
	line-height: 1;
}
.line1_2 {
	line-height: 1.2;
}
.line1_4 {
	line-height: 1.4;
}
.indent {
	padding-left: 1em;
	text-indent: -1em;
}
.indent5 {
    padding-left: 5em;
    text-indent: -5em;
}
.grad_txt {
    background: linear-gradient(to right, #dd3d0b 0%, #fc5e1e 50%, #fc5e1e 70%, #dd3d0b 100%); 
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.white {
    color: #fff;
}
.gray {
    color: #666;
}
.red {
    color: #ea0101;
}
.sat {
    color: #0251d5;
}
.sun {
    color: #EA014B;
}

/* ボタン -----------------*/
.btn {
    display: block;
    padding: 15px 120px;
    border: 6px #000 solid;
    border-radius: 100px;
    background: linear-gradient(to right, #dd3d0b 0%, #fc5e1e 40%, #fc5e1e 60%, #dd3d0b 100%);
    color: #fff;
    box-shadow: 4px 8px 0 #000;
    transition: all .3s!important;
}
.btn:hover {
    box-shadow: none;
    transform: translateY(5px)!important;
}
.btn.second {
	padding: 15px 60px;
	border: 4px #000 solid;
	background: #efefef;
	color: #000;
	box-shadow: none;
}
.btn.second:hover {
	transform: none!important;
}
.btn.size_s {
    border-width: 2px;
    padding: 10px 20px;
    box-shadow: none;
}

/* アニメーション -----------*/
.animated.fadeinup {
	animation: fadeinup .6s;
}
@keyframes fadeinup {
	0% {opacity: 0; transform: translateY(30px);}
	100% {opacity: 1; transform: translateY(0);}
}
.animated.fadeinup.second {
	animation: fadeinup_2nd 1.2s;
}
@keyframes fadeinup_2nd {
	0% {opacity: 0; transform: translateY(30px);}
	50% {opacity: 0; transform: translateY(30px);}
	100% {opacity: 1; transform: translateY(0);}
}
.animated.fadeinright {
	animation: fadeinright .6s;
}
@keyframes fadeinright {
	0% {opacity: 0; transform: translateX(30px);}
	100% {opacity: 1; transform: translateX(0);}
}
.animated.fadeinright.second {
	animation: fadeinright_2nd 1.2s;
}
@keyframes fadeinright_2nd {
	0% {opacity: 0; transform: translateX(30px);}
	50% {opacity: 0; transform: translateX(30px);}
	100% {opacity: 1; transform: translateX(0);}
}
.yay {
    opacity: 0;
    transform: translateY(2px);
    transition: all 1s;
}
.yay.fadeinup {
    transform: translateY(20px);
}
.yay.on {
    transform: translateY(0);
    opacity: 1;
}
.yay.fadeinup.second.on {
    animation: yay_up_2nd 1.4s;
}
@keyframes yay_up_2nd {
	0% {opacity: 0; transform: translateY(20px);}
	28.57% {opacity: 0; transform: translateY(20px);}
	100% {opacity: 1; transform: translateY(0);}
}

/*==================================================================================
メイン
==================================================================================*/
section#main {
	padding: 0!important;
	background: none;
}
section#main .container {
	background: linear-gradient(to bottom, transparent 30%, var(--orange) 50%, var(--orange) 100%);
	position: relative;
}
h1 {
	margin-top: -10vw!important;
	font-size: min(2.4vw, 30px);
    font-family: "source-han-serif-japanese", serif;
	font-weight: 900;
	color: #fff;
	text-align: center;
	line-height: 1.6;
	text-shadow: 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000;
	position: relative;
	z-index: 3;
}
section#main p {
	position: relative;
	z-index: 3;
}
section#main p span {
	display: inline-block;
	margin: auto;
	padding: 7px 100px;
	border-radius: 50px;
	background: #000;
	color: #fff;
}
h2 {
	position: relative;
	z-index: 3;
}
h2 span {
	display: block;
	width: 30%;
	position: absolute;
	top: -20%;
	left: -70px;
}
/* キャンペーン① ------------------------------------------------------------------*/
section#cp01 {
    z-index: 2;
}
section#cp01 .boad::before {
	content: "";
	width: 50vw;
	max-width: 680px;
	height: 500px;
	background: url("../img/cloud01.png") left top / contain no-repeat;
	position: absolute;
	top: -14%;
	left: calc((-100vw + 100%) / 2);
	z-index: 2;
}
section#cp01 .boad::after {
	content: "";
	width: 50vw;
	max-width: 680px;
	height: 400px;
	background: url("../img/cloud02.png") right top / contain no-repeat;
	position: absolute;
	top: -18%;
	right: calc((-100vw + 100%) / 2);
	z-index: 2;
}
section#cp01 ul {
    background: url("../img/line_dott.gif") left top / 8px repeat-y;
}
section#cp01 ul li {
    width: calc(100% / 4);
    box-sizing: border-box;
    padding: 10px 20px;
    position: relative;
}
section#cp01 ul li::after {
    content: "";
    display: block;
    width: 8px;
    height: 100%;
    background: url("../img/line_dott.gif") center top / contain repeat-y;
    position: absolute;
    top: 0;
    right: -4px;
}
section#cp01 .sglogo {
    position: relative;
}
section#cp01 .sglogo img {
    width: 18%;
    position: absolute;
    top: -40%;
    right: 0;
}
/* キャンペーン② ------------------------------------------------------------------*/
section#cp02 .boad::before {
	content: "";
	width: 50vw;
	max-width: 680px;
	height: 500px;
	background: url("../img/cloud03.png") left top / contain no-repeat;
	position: absolute;
	top: -44%;
	left: calc((-100vw + 100%) / 2);
	z-index: 2;
}
section#cp02 .boad::after {
	content: "";
	width: 50vw;
	max-width: 680px;
	height: 400px;
	background: url("../img/cloud04.png") right top / contain no-repeat;
	position: absolute;
	top: -18%;
	right: calc((-100vw + 100%) / 2);
	z-index: 2;
}
section#cp02 ul li {
    width: calc(100% / 4);
    box-sizing: border-box;
    padding: 10px 20px;
    position: relative;
}
section#cp02 ul li:nth-child(1),
section#cp02 ul li:nth-child(2) {
    width: 50%;
}
section#cp02 ul li.line {
    width: 100%;
    height: 8px;
    padding: 0;
    background: url("../img/line_dott2.gif") left center / contain repeat-x;
}
section#cp02 ul li.noimg {
    display: flex;
    justify-content: center;
    align-items: center;
}
section#cp02 ul li::after {
    content: "";
    display: block;
    width: 8px;
    height: 100%;
    background: url("../img/line_dott.gif") center top / contain repeat-y;
    position: absolute;
    top: 0;
    left: -4px;
}
section#cp02 ul li:first-child::after,
section#cp02 ul li:nth-child(3)::after,
section#cp02 ul li:nth-child(4)::after {
    display: none;
}
section#cp02 ul li .rank {
    display: inline-block;
    margin: 0 10px 10px 0;
    padding: 0 5px 5px;
    border-radius: 5px;
    background: linear-gradient(to right, #dd3d0b 0%, #fc5e1e 50%, #fc5e1e 70%, #dd3d0b 100%); 
    position: absolute;
    top: 10px;
    left: 20px;
    z-index: 2;
}
section#cp02 ul li:nth-child(1) .ttl,
section#cp02 ul li:nth-child(2) .ttl {
    padding: 0 10px 10px 0;
    background: rgba(255,255,255,0.7);
    position: absolute;
    top: 10px;
    left: 100px;
    z-index: 2;
}
section#cp02 ul li:nth-child(1) img,
section#cp02 ul li:nth-child(2) img {
    width: 70%;
    max-width: 300px;
    margin: 60px 0 0 auto;
}
section#cp02 ul li img {
    position: relative;
}
/* 実施会場 */
section#cp02 .place {
    border: 1px #000 solid;
    border-radius: 5px;
}
section#cp02 .place .ttl {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 120px;
    box-sizing: border-box;
    padding: 10px 20px;
    border-radius: 5px 0 0 5px;
    background: #000;
    color: #fff;
}
section#cp02 .place .ttl + p {
    width: calc(100% - 120px);
    box-sizing: border-box;
    padding: 10px 20px;
}
/* キャンペーン③ ------------------------------------------------------------------*/
section#cp03 h2 span {
	top: -80%;
}
section#cp03 .img {
    width: 18%;
    max-width: 200px;
    position: absolute;
    right: 0;
    bottom: -20%;
}
/* キャンペーン④ ------------------------------------------------------------------*/
section#cp04 .limited {
    padding: 10px 20px;
    border: 4px #ea0101 solid;
    border-radius: 10px;
}
section#cp04 ul li {
    width: calc(100% / 3);
    box-sizing: border-box;
    padding: 20px 20px 10px;
    position: relative;
}
section#cp04 ul li::after {
    content: "";
    display: block;
    width: 8px;
    height: 100%;
    background: url("../img/line_dott.gif") center top / contain repeat-y;
    position: absolute;
    top: 0;
    left: -4px;
}
section#cp04 ul li:first-child::after {
    display: none;
}
section#cp04 ul li .rank {
    display: inline-block;
    margin: 0 10px 10px 0;
    padding: 0 5px 5px;
    border-radius: 5px;
    background: linear-gradient(to right, #dd3d0b 0%, #fc5e1e 50%, #fc5e1e 70%, #dd3d0b 100%); 
    position: absolute;
    top: 0;
    left: 20px;
	z-index: 2;
}
section#cp04 ul li img {
    width: 70%;
    margin: 0 auto 10px;
	position: relative;
}
/* スケジュール ---------------------------------------------------------------------*/
section#schedule .boad {
    margin-bottom: 24vw;
    padding-bottom: 14vw;
}
section#schedule .boad::after {
    content: "";
    display: block;
    width: 100vw;
    height: 68vw;
    background: url("../img/cloud05.png") center top / cover no-repeat;
    position: absolute;
    bottom: calc(-24vw - 66px);
    left: calc(-50vw + 50%);
    z-index: 2;
}
section#schedule h2 {
    padding: 15px 20px;
    border-radius: 10px;
    background: #000;
    color: #fff;
    letter-spacing: -0.05em;
}
section#schedule table {
    width: 100%;
    position: relative;
    z-index: 3;
}
section#schedule table tr {
    border-bottom: 1px #ccc solid;
}
section#schedule table th {
    width: 20%;
    box-sizing: border-box;
    padding: 15px 10px;
    color: var(--orange);
    text-align: left;
}
section#schedule table td {
    width: 40%;
    box-sizing: border-box;
    padding: 10px 20px;
    font-weight: 700;
    vertical-align: middle;
    position: relative;
}
section#schedule table td.none {
    padding: 0;
}
section#schedule table td::before {
    content: "";
    display: block;
    height: calc(100% - 20px);
    border-left: 1px #ccc dashed;
    position: absolute;
    top: 10px;
    left: 0;
}
section#schedule table td .am,
section#schedule table td .pm {
    display: inline-block;
    margin-right: 10px;
    padding: 6px 10px;
    border-radius: 5px;
    background: #9fb1c0;
    color: #fff;
    position: relative;
    top: -5px;
}
section#schedule table td .pm {
    background: #c7b09e;
}
.icon_mic,
.icon_present {
    position: relative;
}
.icon_mic::after,
.icon_present::after {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: url("../img/icon_mic.png") center center / 50% no-repeat #ffc100;
    position: absolute;
    top: 50%;
    right: -34px;
    transform: translateY(-50%);
}
.icon_present::after {
    background: url("../img/icon_present.png") center center / 50% no-repeat #ff004b;
}
section#schedule .icon {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #ffc100;
}
section#schedule .icon.present {
    background: #ff004b;
}
section#schedule .icon img {
    width: 50%;
}
.z3 {
    position: relative;
    z-index: 3;
}

/*==================================================================================
応募フォーム
==================================================================================*/
section#entry,
section#thanks {
	z-index: 3;
}

/*==================================================================================
フッター
==================================================================================*/
footer {
    width: 100%;
    box-sizing: border-box;
    padding: 20px!important;
    text-align: center;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
}
footer p {
    position: relative;
    z-index: 3;
}

/* ページトップへ戻るボタン */
.btn_pagetop {
	display: block;
	width: calc(40px - 4px);
	height: calc(40px - 4px);
	border: 2px #000 solid;
	border-radius: 50%;
	position: fixed;
	right: 40px;
	bottom: 40px;
	z-index: 100;
}
.btn_pagetop span {
	display: block;
	width: 10px;
	height: 10px;
	border-top: 2px #000 solid;
	border-right: 2px #000 solid;
	transform: translateX(-50%) rotate(-45deg);
	position: absolute;
	top: 45%;
	left: 50%;
}



.tb {display: none;}
.tb2 {display: none;}
.pc {display: inline;}
.sp {display: none;}

@media screen and (max-width : 960px) {
	.pc {display: none;}
	.tb {display: inline;}
	
	p { font-size: min(1.8vw, 14px); }
    /*==================================================================================
    ヘッダー
    ==================================================================================*/
	header.entry::before {
	    height: 340px;
	}
	header.entry::after {
	    height: 280px;
	}
    header img {
    	width: 80%;
    }
    header.entry img {
    	width: 90%;
    }
	/*==================================================================================
	共通
	==================================================================================*/
	/* レイアウト */
    section {
    	padding: 30px 0!important;
    }
    .container {
    	padding: 0 15px;
    }
    .mb_10 {
    	margin-bottom: 8px;
    }
    .mb_20 {
    	margin-bottom: 15px;
    }
    .mb_30 {
    	margin-bottom: 20px;
    }
    .mb_60 {
    	margin-bottom: 40px;
    }
    .mb_120 {
    	margin-bottom: 80px;
    }
    .mr_50 {
        margin-right: 40px;
    }
    .mt_10 {
        margin-top: 8px;
    }
    .boad {
    	padding: 30px 20px;
    	border-radius: 20px;
    }
    /* フォント */
    .font_14 {
    	font-size: min(1.8vw, 12px);
    }
    .font_20 {
    	font-size: min(2vw, 16px);
    }
    .font_24 {
    	font-size: min(2.4vw, 20px);
    }
    .font_30 {
    	font-size: min(2.8vw, 24px);
    }
    .font_34 {
    	font-size: min(3.2vw, 28px);
    }
    .font_46 {
    	font-size: min(4vw, 34px);
    }
    .font_54 {
    	font-size: min(4.6vw, 40px);
    }
    .font_70 {
    	font-size: min(6.2vw, 50px);
    }
    /* ボタン -----------------*/
    .btn {
        padding: 12px 80px;
        border: 4px #000 solid;
        box-shadow: 2px 4px 0 #000;
		font-size: 14px;
    }
    .btn:hover {
        transform: translateY(2px)!important;
    }
	.btn.second {
		padding: 10px 40px;
		border: 3px #000 solid;
	}
	.btn.size_s {
	    padding: 0.6em;
	}
   /*==================================================================================
    メイン
    ==================================================================================*/
    h1 {
    	font-size: min(2.8vw, 24px);
    }
    section#main p span {
    	padding: 7px 40px;
    }
    h2 span {
    	width: 35%;
    	top: -30%;
    	left: -40px;
    }
    /* キャンペーン① ------------------------------------------------------------------*/
    section#cp01 .boad::before {
	    height: 340px;
    }
    section#cp01 .boad::after {
	    height: 280px;
    }
    section#cp01 ul {
        background-size: 4px;
    }
    section#cp01 ul li {
        padding: 10px;
    }
    section#cp01 ul li::after {
        width: 4px;
        right: -2px;
    }
    section#cp01 .sglogo img {
        width: 16%;
        top: -40%;
        right: -30px;
    }
    /* キャンペーン② ------------------------------------------------------------------*/
    section#cp02 .boad::before {
    	display: none;
    }
    section#cp02 .boad::after {
	    height: 340px;
    }
    section#cp02 ul li {
        padding: 10px;
    }
    section#cp02 ul li.line {
        height: 4px;
    }
    section#cp02 ul li::after {
        width: 4px;
        left: -2px;
    }
    section#cp02 ul li .rank {
        top: 10px;
        left: 10px;
    }
    section#cp02 ul li:nth-child(1) .ttl,
    section#cp02 ul li:nth-child(2) .ttl {
        left: 10vw;
    }
    /* 実施会場 */
    section#cp02 .place .ttl {
        width: 100px;
        padding: 10px;
    }
    section#cp02 .place .ttl + p {
        width: calc(100% - 100px);
    }
    /* キャンペーン③ ------------------------------------------------------------------*/
	section#cp03 h2 span {
		top: -90%;
	}
    section#cp03 .img {
        bottom: -30%;
    }
    /* キャンペーン④ ------------------------------------------------------------------*/
    section#cp04 .limited {
        padding: 6px 10px;
        border: 3px #ea0101 solid;
    }
    section#cp04 ul li {
        padding: 10px;
    }
    section#cp04 ul li::after {
        width: 4px;
        left: -2px;
    }
    section#cp04 ul li .rank {
        left: 10px;
    }
    /* スケジュール ---------------------------------------------------------------------*/
    section#schedule h2 {
        padding: 10px;
    }
    section#schedule table tr {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between
    }
    section#schedule table th {
        display: block;
        width: 100%;
        box-sizing: border-box;
        padding: 12px 0 0;
    }
    section#schedule table td {
        display: block;
        width: 50%;
        box-sizing: border-box;
        padding: 12px 0 12px 20px;
        white-space: nowrap;
    }
    section#schedule table th + td {
        padding: 12px 20px 12px 0;
    }
    section#schedule table td.tb100 {
        width: 100%;
        text-align: left;
    }
    section#schedule table td.tb100 .row {
        justify-content: flex-start;
    }
    section#schedule table td.tb100 .row .mr_50 {
        margin-right: 30px;
    }
    section#schedule table th + td::before {
        display: none;
    }
    section#schedule table td .am,
    section#schedule table td .pm {
        margin-right: 6px;
        padding: 5px 8px;
        font-size: min(1.8vw, 14px);
        top: -2px;
    }
    .icon_mic,
    .icon_present {
        padding-right: 26px;
    }
    .icon_mic::after,
    .icon_present::after {
        width: 26px;
        height: 26px;
        right: -5px;
    }
    section#schedule .icon {
        width: 20px;
        height: 20px;
    }
	/*==================================================================================
	応募フォーム
	==================================================================================*/
	section#entry .font_30 {
		font-size: 24px;
	}
	section#entry p {
		font-size: 12px;
	}
    /*==================================================================================
    フッター
    ==================================================================================*/
    footer {
        padding: 10px!important;
    }
	/* ページトップへ戻るボタン */
	.btn_pagetop {
		width: calc(30px - 2px);
		height: calc(30px - 2px);
		right: 20px;
		bottom: 20px;
	}
	.btn_pagetop span {
		width: 6px;
		height: 6px;
	}
}


@media screen and (max-width : 540px) {
	.tb {display: none;}
	.tb2 {display: inline;}
    p {font-size: 10px;}
    /*==================================================================================
    ヘッダー
    ==================================================================================*/
    header img {
    	width: 90%;
    }
	/*==================================================================================
	共通
	==================================================================================*/
	/* レイアウト */
    .boad {
        width: calc(100% + 30px);
        box-sizing: border-box;
    	padding: 20px 10px;
    	border-radius: 0;
        position: relative;
        left: -15px;
    }
	/* フォント */
	.font_14 {
		font-size: min(2.2vw,10px);
	}
    .font_20 {
        font-size: 12px;
    }
   .font_24 {
        font-size: 16px;
    }
    .font_30,
    .font_34 {
        font-size: 14px;
    }
    .font_46,
    .font_54 {
        font-size: 28px;
    }
    /* ボタン -----------------*/
 	.btn.size_s {
	    padding: 0.4em;
	}
   /*==================================================================================
    メイン
    ==================================================================================*/
	h1 {
		font-size: 12px;
	}
	section#main p span {
        padding: 7px 20px;
    }
    h2 span {
    	left: 0;
    }
    /* キャンペーン① ------------------------------------------------------------------*/
    section#cp01 .font_30,
    section#cp01 .font_34 {
		font-size: 12px;
    }
    section#cp01 ul {
		width: calc(100% + 20px);
		background: none;
		position: relative;
		left: -10px;
    }
    section#cp01 ul li:last-child::after {
        display: none;
    }
    section#cp01 ul li {
        padding: 6px;
    }
    section#cp01 ul li a.btn.font_20 {
        font-size: 10px;
    }
    section#cp01 .sglogo img {
        right: -10px;
    }
    /* キャンペーン② ------------------------------------------------------------------*/
    section#cp02 .font_30 {
		font-size: 12px;
    }
    section#cp02 ul li {
        width: 50%;
    }
    section#cp02 ul li:nth-child(6)::after,
    section#cp02 ul li:nth-child(7)::after {
        display: none;
    }
    section#cp02 ul li:nth-child(1) .ttl,
    section#cp02 ul li:nth-child(2) .ttl {
        left: 60px;
    }
    section#cp02 ul li:nth-child(1) img,
    section#cp02 ul li:nth-child(2) img {
		width: 100%;
        margin: 60px auto 0 auto;
    }
    section#cp02 ul li:nth-child(4) img {
        margin: 10px auto 0 auto;
    }
    section#cp02 ul li .font_30 {
        font-size: 16px;
    }
    section#cp02 ul li .font_46,
    section#cp02 ul li .font_54 {
        font-size: 24px;
    }
    /* 実施会場 */
    section#cp02 .place .ttl {
        width: 80px;
    }
    section#cp02 .place .ttl + p {
        width: calc(100% - 80px);
        padding: 6px 10px;
    }
    /* キャンペーン④ ------------------------------------------------------------------*/
    section#cp04 .font_30 {
		font-size: 12px;
    }
    section#cp04 ul li {
        width: 100%;
    }
    section#cp04 ul li::after {
        width: 100%;
        height: 4px;
        background: url("../img/line_dott2.gif") left center / contain repeat-x;
        top: -2px;
        left: 0;
    }
    section#cp04 ul li img {
        width: 60%;
    }
    section#cp04 .limited.font_24,
    section#cp04 ul li .font_24 {
        font-size: 14px;
    }
    section#cp04 ul li .font_30 {
        font-size: 18px;
    }
    section#cp04 .limited .font_34 {
        font-size: 16px;
    }
    section#cp04 ul li .font_46,
    section#cp04 .btn .font_46 {
        font-size: 24px;
    }
    section#cp04 .limited .font_70,
    section#cp04 ul li .font_54 {
        font-size: 28px;
    }
    section#cp04 ul li .rank {
        top: 10px;
    }
    /* スケジュール ---------------------------------------------------------------------*/
    section#schedule .boad {
        padding: 20px 30px 14vw;
    }
    section#schedule .font_20 {
        font-size: 14px;
    }
    section#schedule .font_24 {
        font-size: 16px;
    }
    section#schedule .font_30 {
        font-size: 18px;
    }
    section#schedule .font_34 {
        font-size: 20px;
    }
    section#schedule .font_46 {
        font-size: 30px;
    }
    section#schedule table td {
        width: 100%;
        padding: 0 0 12px;
        /*white-space: pre-wrap;*/
    }
    section#schedule table th + td {
        padding: 12px 0;
    }
    section#schedule table th + td.none {
        padding: 12px 0 0;
    }
	section#schedule table td::before {
	   	display: none;
	}
    section#schedule table td.tb100 {
        padding: 12px 0;
    }
    section#schedule table td.tb100 .row {
        display: block;
    }
    section#schedule table td.tb100 .row .mr_50 {
        margin-right: 0;
		margin-bottom: 10px;
    }
    section#schedule table td .am,
    section#schedule table td .pm {
        font-size: 12px;
    }
    .icon_mic,
    .icon_present {
        padding-right: 22px;
    }
    .icon_mic::after,
    .icon_present::after {
        width: 22px;
        height: 22px;
		background-size: 60%;
        right: -5px;
    }
}


@media screen and (max-width : 460px) {
	.tb2 {display: none;}
	.sp {display: inline;}
	/*==================================================================================
	応募フォーム
	==================================================================================*/
	section#entry .font_30 {
		font-size: 20px;
	}
	/*==================================================================================
	フッター
	==================================================================================*/
	/* ページトップへ戻るボタン */
	.btn_pagetop {
		display: none!important;
	}
}

