@charset "utf-8";
/* ---------------------------------------------------------------------------
 * ROOT
--------------------------------------------------------------------------- */
:root {
	--color_01: #c31014; /* var(--color_01) */
	--color_02: #022D6D; /* var(--color_02) */
}
/* ---------------------------------------------------------------------------
 * RESET STYLE
--------------------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* =============================================
 COMMON
============================================= */
body {
	font-family: 'Roboto', 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'Osaka', sans-serif;
	line-height: 1;
	-webkit-text-size-adjust: none;
	background: #fbf1d3;
}

body::before {
	content: "";
	width: 100vw;
	height: 100vh;
	background: url("../img/back.png");
	background-size: cover;
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	transform: translateZ(0);
}

img {
	max-width: 100%;
	vertical-align: middle;
}
a {
	color: var(--color_01);
	text-decoration: none;
}
b {
	font-weight: bold;
}
.wrap {
	overflow: hidden;
}
@media print, screen and (max-width:640px) {
	.onlyPC {
		display: none !important;
	}
	.onlyTAB {
		display: none !important;
	}
	.onlySP {
		display: block;
	}
}
@media print, screen and (min-width:641px) {
	body {
		font-size: 0.875em;
	}
	.onlyPC {
		display: block;
	}
	.onlySP {
		display: none !important;
	}
}
@media print, screen and (min-width:641px) and (max-width:1000px) {
	.onlyTAB {
		display: block;
	}
	.noTAB {
		display: none !important;
	}
}
@media print, screen and (min-width:1001px) {
	body {
		font-size: 1em;
	}
	#generalHeader {
		height: 41px;
	}
	.onlyTAB {
		display: none !important;
	}
}
/**/

.txtCenter{
	text-align: center;
}
.fontL{
	display: inline-block;
	font-size: 1.1em;
	font-family: "Reimin Y40 Heavy";
	color:#fff; 
	padding: 4px 1px;
	margin: 0 2px;
	background-color:#0097ff;
	line-height: 1;
	box-shadow: 0 2px 4px 0 rgba(0 0,0,0.5);
	transform: rotate(0.03deg); 
}
.colorR{
	background-color: #CD2E1A;
}
.lineH{
	line-height: 1.4;
}
.fontS{
	font-size: 0.8em;
}
.fontM{
	font-size: 0.8rem !important;
}
.mtauto{
	margin: 0 auto;
	text-align: center;
}
.mtauto img.arrow {
    width: 50%;
    max-width: 348px;
    padding: 1em 0;
}
.txtcolor{
	color: var(--color_01);
}
.txtbold{
	font-weight: bold;
}
.txtnotion{
	font-size: 1rem !important;
	color: var(--color_01);
	border: 2px solid #c31014;
	padding: 0.3rem 0.5rem;
	font-family: "Shin Go Heavy";
	text-align: center;
}
@media print, screen and (min-width:641px) {
.txtCenterPC{
	text-align: center;
	}
.fontM{
	font-size: 1rem !important;
}
.fontL{
	padding: 5px;
	}
.lineH{
	line-height: 1;
}
.txtnotion{
	font-size: 1.4rem !important;
}
}
/* ヘッダー
------------------------------------ */
header{
	width: 96%;
	max-width: 1000px;
	margin: 0 auto;
}
header .header-img h1{
	margin: 2rem auto;
}
@media print, screen and (max-width:640px) {
	header .header-img h1{
		width: 90%;
		margin: 1rem auto;
	}
}
/* .info{
	width: 100%;
	max-width: 820px;
	margin: 0 auto;
		padding:1.5em 2% 0; 
	box-sizing: border-box;

} */
/* @media print, screen and (max-width:820px) {
body {
    background-image: url(../img/wrap_pc.png);
    background-repeat: repeat-y;
    background-size: 100%;
    background-position: top center;
} */
 /* @media print, screen and (max-width:820px) {
header{
  background-image:url("../img/bg_sp.png");
  background-repeat:no-repeat;
  background-size: 120%;
  background-position: top 50vw center;
}
.info{
  background-image:url("../img/bg_sp.png");
  background-repeat:no-repeat;
  background-size: 100%;
  background-position: top -10vw center;
	padding:0.2em 2% 0; 
	}
}
@media print, screen and (min-width:641px) and (max-width:820px) {
.info{
  background-image:url("../img/bg_sp.png");
  background-repeat:no-repeat;
  background-size: 100%;
  background-position: top -20vw center;
	}
} */
/* @media print, screen and (min-width:821px) and (max-width:1000px) {
	body {
  background-image:url("../img/bg_pc.png"),url("../img/wrap_pc.png");
  background-repeat: no-repeat,repeat-y;
  background-size: 100% , 100%;
  background-position: top 30vw  center, top center;
	}
}
@media print, screen and (min-width:1001px) and (max-width:1200px) {
	body {
  background-image:url("../img/bg_pc.png"),url("../img/wrap_pc.png");
  background-repeat: no-repeat,repeat-y;
  background-size: 120vw 120vw, 100%;
  background-position: top center, top center;
	}
}
@media print, screen and (min-width:1201px) and (max-width:1600px) {
	body {
  background-image:url("../img/bg_pc.png"),url("../img/wrap_pc.png");
  background-repeat: no-repeat,repeat-y;
  background-size: 100%, 100%;
  background-position: top 30px center, top center;
	}
}
@media print, screen and (min-width:1601px) {
	body {
  background-image:url("../img/bg_pc.png"),url("../img/wrap_pc.png");
  background-repeat: no-repeat,repeat-y;
  background-size: 86% , 100%;
  background-position: top center, top center;
	}
} */
.bnr{
	width: 96%;
	max-width: 880px;
	margin:0 auto 0.5em;
}
.bnr a{
	display: block;
	transition: all .3s;
}
.topbnr{
	width: 96%;
	max-width: 880px;
	margin:-10vw auto 0;
	position: relative;
	z-index: 10;
}
.topbnr a{
	display: block;
	transition: all .3s;
}
.tvbnr{
	width: 96% !important;
	margin: 0 2% 1.5em;
}
@media print, screen and (min-width:641px) {
.bnr a:hover {
		transform: scale(1.1);
	}
.topbnr{
	margin:-6em auto 0;
}
.topbnr a:hover {
		transform: scale(1.1);
	}
	
.tvbnr{
		max-width: 720px;
		margin: 2em auto 2em;
	}
}
/* =============================================
 contents
============================================= */
.contents {
	max-width: 1000px;
	padding:0;
	margin: 0 auto 2em;
	font-size: 0.875em;
	box-sizing: border-box;
}
.contents_main {
	width: 0%;
	margin: 0 auto 20px;
}
/* -------------------------------------------
 hタグ
------------------------------------------- */
.box_title {
	padding: 0.3em;
	background-color: var(--color_01);
	background-image: url("../img/bg_default.png");
	background-repeat: repeat;
	color: #fff;
	font-size: 5vw;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	/*text-shadow: 0 1px 3px rgba(0,0,0,0.2);*/
}
.box_title.color2 {
	background-color: var(--color_02);
}
.box_title.color3 {
	background-color: #333;
}
.inline-contents .box_title {
	text-align: left;
}
.box_title span {
	font-size: 1.5rem;
	line-height: 1.1;
}
.box .sub_title {
	padding: 0 0 5px;
	margin: 1em 0 0.5em;
	border-bottom: 2px solid #ccc;
	position: relative;
	font-size: 1.25em;
	font-weight: bold;
}
.box .sub_title:first-child {
	margin-top: 0;
}
.box .sub_title:after {
	content: "";
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 5em;
	height: 2px;
	background: #eeab09;
}
.box .sub_title2 {
	margin: 1em 0 0.5em;
	color: var(--color_01);
	font-weight: bold;
	font-size: 1.25em;
}
.box .sub_title2:first-child {
	margin-top: 0;
}
.box .comingsoon {
	min-height: 2em;
	margin: 15px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.75em;
	font-weight: bold;
	text-align: center;
}
.box .comingsoon:last-child {
	margin-bottom: 0;
}
.box .comingsoon:first-child:last-child {
	min-height: 4em;
	margin: 0;
}
@media print, screen and (min-width:490px) {
	.box_title {
		font-size: 2.25em;
	}
}
@media print, screen and (min-width:641px) {
	.box_title {
		padding: 10px 20px;
	}
	.box .comingsoon {
		margin: 20px 0;
	}
}
@media screen and (min-width:1001px) {
	.box .comingsoon {
		margin: 30px 0;
	}
}
/* .box_title {
	width:86%;
	max-width: 500px;
	text-align: center;
	margin: 0 auto 1em;
}
.box_title img{
	margin: 0 auto;
	width: 100%;
} */
/* -------------------------------------------
 box
------------------------------------------- */
.boxwrap{
	width: 96%;
	max-width: 1000px;
	margin: 1rem auto;
}
@media print, screen and (min-width:1001px) {
	.boxwrap{
		width: 100%;
		margin: 2.5em auto;
	}
}
.boxwrap > img{
	width: 100%;
}
.box {
	/* background-image: url("../img/chyotoo.png"),url("../img/base_r_center.png");
    background-repeat: no-repeat,repeat-y;
    background-size: 40% , 100%;
    background-position: center right 30px, top center; */
	padding: 0 0;
	margin-top: 2em;
	color: #000;
	width: 100%;
	max-width: 1000px;
	margin:0;
	box-sizing: border-box;
	font-family: "Shin Go Medium";
}
.box p{
	font-size: 1rem;
	line-height: 1.6;
}
.box > p + p {
	margin-top: 0.5em;
}
.shadow_box{
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
.attention{
	background:url("../img/base_b_center.png") repeat-y center center;
	background-size: 100%;
}
.box_line{
    background-repeat: no-repeat;
    background-size:100%;
	width: 100%;
	max-width: 1000px;
	margin:0 0 0 0;
	box-sizing: border-box;
}
.wrap_info {
	padding: 15px;
	line-height: 1.5;
}
.wrap_info + .wrap_info {
	padding-top: 0;
}
.wrap_info a {
	text-decoration: underline;
}
.wrap_info > p + p {
	margin-top: 0.5em;
}
@media print, screen and (min-width:641px) {
	.wrap_info {
		padding: 20px;
	}
	.box p{
		font-size: 1.25rem;
	}
}
@media print, screen and (min-width:1001px) {
	.wrap_info {
		padding: 30px;
	}
	.wrap_info a:hover {
		text-decoration: none;
	}
}
.box_innar{
	width: 100%;
	/* max-width: 600px; */
	margin: 1rem auto;
	background-color: #fff;
	border: 3px solid #590f00;
	/* padding: 0.8rem; */
	box-sizing: border-box;
}
@media print, screen and (min-width:641px) {
	.box_innar{
		margin: 2.5rem auto;
	}
}
/* .box_innar:not(:last-child){
	margin-bottom: 4em;
} */
/* -------------------------------------------
 応募方法・応募規約
------------------------------------------- */
.txt_sub{
	margin: 1rem 0 0.8rem !important;
	border-bottom: 2px dotted #888;
}
@media print, screen and (min-width:641px) {
	.txt_sub{
		margin: 2rem 0 1rem !important;
	}
}
.howto{
	list-style: none;
	box-sizing: border-box;
}
.howto li {
    font-size: 1rem;
    line-height: 1.6;
	margin-top: 0.75em;
}
.howto li:first-child{
	margin-top: 0;
}
@media print, screen and (min-width:641px) {
	.howto li {
		font-size: 1.25rem;
	}
}
.notice{
	list-style: none;
	box-sizing: border-box;
}
.notice li {
    font-size: 0.75rem;
    line-height: 1.6;
	padding-left: 1em;
    text-indent: -1em;
}
@media print, screen and (min-width:641px) {
	.notice li {
		font-size: 0.85rem;
	}
}
/* -------------------------------------------
  リンクボタン
---------------------------------------- */
.link_btn {
	margin: 6% 0;
}
.link_btn:last-child {
	margin-bottom: 0;
}
.link_btn a {
	width: 90%;
	max-width: 600px;
	padding: 1em 1.5em 1em 0.5em;
	margin: 0 auto;
	background: var(--color_01);
	box-sizing: border-box;
	border-radius: 5px;
	display: block;
	position: relative;
	color: #fff;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	transition: all .3s;
}
.link_btn a::before {
	content: "";
	width: 0.5em;
	height: 0.5em;
	margin-top: -0.3em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	right: 0.75em;
	top: 50%;
}
@media print, screen and (min-width:641px) {
	.link_btn a {
		font-size: 1.5em;
	}
}
@media print, screen and (min-width:1001px) {
	/* .link_btn {
		margin: 30px 0;
	} */
	.link_btn a:hover {
		transform: scale(1.05);
	}
}
/* X ボタン */
.link_x_btn {
	margin: 2% 0;
}
.link_x_btn a {
	width: 90%;
	max-width: 600px;
	padding: 0.5em;
	margin: 0 auto;
	background: #000;
	box-sizing: border-box;
	border-radius: 5px;
	display: block;
	position: relative;
	color: #fff;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	transition: all .3s;
}
@media print, screen and (min-width:641px) {
	.link_x_btn a {
		font-size: 1.25em;
	}
}
@media print, screen and (min-width:1001px) {
	.link_x_btn a:hover {
		transform: scale(1.05);
	}
}
/* =============================================
 アイコン付きリンク
============================================= */
.icon_link a {
	display: block;
	color: #000;
	font-weight: bold;
	text-align: center;
}
.icon_link span {
	padding: 0.25em 1em 0.25em 0.25em;
	position: relative;
	display: inline-block;
}
.icon_link span::after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}
/* =============================================
 バナーエリア
============================================= */
.bnr_list {
	max-width: 1000px;
	margin: 30px auto;
}
.sec_wrap .bnr_list {
	width: 90%;
}
.bnr_list:first-child,
script + .bnr_list {
	margin-top: 0;
}
.bnr_list:last-child {
	margin-bottom: 0;
}
.box .bnr_list {
	margin: 20px auto;
}
.contents_side .bnr_list {
	width: 100%;
}
.bnr_list:first-child,
script:first-child + .bnr_list {
	margin-top: 0 !important;
}
.bnr_list ul {
	display: flex;
	justify-content: center;
}
.bnr_list ul + ul {
	margin-top: 20px;
}
.bnr_list li a {
	display: block;
	box-sizing: border-box;
	text-align: center;
	transition: all .3s;
}
.bnr_list .bnr_m,
.contents_side .bnr_list ul {
	margin-bottom: -10px;
	flex-wrap: wrap;
}
.prg_reg_col1 .contents_side .bnr_list ul {
	flex-wrap: inherit;
}
.bnr_list .bnr_m li {
	margin: 0 1%;
}
.bnr_list .bnr_m li,
.contents_side .bnr_list li {
	margin-bottom: 10px;
}
@media print, screen and (min-width:641px) {
	.bnr_list .bnr_m li {
		width: 48%;
	}
	.bnr_list .bnr_l li {
		width: 75%;
	}
	.contents_side .bnr_list .bnr_m li {
		width: 100%;
	}
}
/* バナーオンマウス */
@media print, screen and (min-width:1001px) {
	.prg_reg_col1 .box .bnr_list {
		margin: 30px auto;
	}
	.bnr_list li a:hover {
		transform: scale(1.05);
	}
}

/* sns
---------------------------------------- */
.wrap_sns {
	/*width: 80%;*/
	max-width: 600px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.wrap_sns .official {
	width: 100%;
	order: 2;
}
.wrap_sns .wrap_twitter {
	width: 100%;
	order: 1;
}
@media print, screen and (min-width:1001px) {
.wrap_sns {
		max-width: 920px;
	}
.wrap_sns .official {
		width: 30%;
		margin: 0;
	}
.wrap_sns .wrap_twitter {
		width: 66%;
	}
}
/* official
---------------------------------------- */
.official {
	margin: 30px auto;
}
.official ul {
	margin-bottom: -15px;
	/*display: flex;
	justify-content: center;*/
}
.official li {
	margin-bottom: 15px;
}
.official li a {
	min-height: 3em;
	padding: 0.75em 0.5em;
	border-radius: 5px;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
	transition: all .3s;
}
.official .icon {
	width: 90%;
	padding-left: 2em;
	box-sizing: border-box;
	display: inline-block;
	position: relative;
}
.official .icon::before {
	content: "";
	width: 1.6em;
	height: 1.6em;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.official li a .icon span {
	font-family: Arial, Helvetica, "sans-serif";
	display: inline-block;
}
.official_youtube a {
	background: #ff0000;
}
.official_twitter a {
	background: #1da1f2;
}
.official_facebook a {
	background: #1877f2;
}
.official_instagram a {
	background: #d4006a;
}
.official_line a {
	background: #00b900;
}
.official_tiktok a {
	background: #000;
}
.official_youtube .icon::before {
	background: url("../img/ico_youtube.png") no-repeat;
	background-size: contain;
}
.official_twitter .icon::before {
	background: url("../img/ico_twitter.png") no-repeat;
	background-size: contain;
}
.official_facebook .icon::before {
	background: url("../img/ico_facebook.png") no-repeat;
	background-size: contain;
}
.official_instagram .icon::before {
	background: url("../img/ico_insta.png") no-repeat;
	background-size: contain;
}
.official_line .icon::before {
	background: url("../img/ico_line.png") no-repeat;
	background-size: contain;
}
.official_tiktok .icon::before {
	background: url("../img/ico_tiktok.png") no-repeat;
	background-size: contain;
}
@media print, screen and (min-width:460px) {
	.official li a {
		font-size: 1em;
	}
}
@media print, screen and (min-width:641px) {
	.official li a .icon span {
		display: inline;
	}
}
@media print, screen and (min-width:1001px) {
	.official li a {
		font-size: 1.125em;
	}
	.official li a:hover {
		transform: scale(1.05);
	}
}

/* 縦配置 */
.official.vertical a {
	padding: 1.5em 1rem;
	display: flex;
	justify-content: center;
	box-sizing: border-box;
	border-radius: 5px;
	transition: all .3s;
	color: #fff;
	font-size: 1.125rem;
	font-weight: bold;
	text-decoration: none;
}
.official.vertical a .icon {
	position: relative;
}
.official.vertical .official_twitter a {
	background: #1da1f2;
	display: none; /* スマホでTwitter非表示 */
}
.official.vertical .official_instagram a {
	background: #d4006a url("../img/bg_insta.png") no-repeat;
	background-size: 100% 100%;
}
@media print, screen and (min-width:1001px) {
	.official.vertical ul {
		height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	.official.vertical li {
		width: 100%;
		height: calc(100% / 2 - 2%); /* 分割する数により調整 */
		margin-bottom: 0;
	}
	.official.vertical a {
		width: 100%;
		height: 100%;
		align-items: center;
	}
	.official.vertical .official_twitter a {
		display: flex; /* スマホで非表示の場合追加*/
	}
	.official.vertical .icon {
		padding-left: 0;
		padding-top: 4.5em;
	}
	.official.vertical .icon::before {
		width: 3.6em;
		height: 3.6em;
		top: 0;
		left: 50%;
		transform: translate(-50%, 0);
	}
}

/* twitter
---------------------------------------- */
.wrap_twitter {
	background: #f2faff;
	border: 2px solid #1da1f2;
	border-radius: 5px;
	overflow: hidden;
}
.ttl_twitter {
	padding: 0.9em;
	background: #1da1f2;
	color: #fff;
	font-weight: bold;
	text-align: center;
}
.ttl_twitter span {
	padding-left: 2em;
	position: relative;
}
.ttl_twitter span::before {
	content: "";
	width: 1.6em;
	height: 1.6em;
	margin-top: -0.8em;
	background: url("../img/ico_twitter.png") center no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 0;
}
.twitter_embed {
	/*width: 90%;*/
	max-width: 610px;
	/*margin: 15px auto;*/
	min-height: 400px;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
	overflow-y: scroll;
	background: #fff;
	box-sizing: border-box;
	box-shadow: 0 0 1px rgb(0 0 0 / 30%);
}
.twitter_embed iframe {
	width: 660px !important;
}
.twbtn a {
	padding: 0.75em 1.5em 0.75em 0.5em;
	background-color: #1da1f2;
	border-radius: 25px;
	display: block;
	box-sizing: border-box;
	position: relative;
	transition: all .3s;
	color: #fff;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	text-decoration: none;
}
.twbtn a span {
	display: inline-block;
}
.twbtn a:after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	position: absolute;
	right: 1em;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}
@media print, screen and (min-width:641px) {
	.twitter_embed {
		/*margin: 30px auto;*/
		overflow: hidden;
	}
}
@media print, screen and (min-width:1001px) {
	.ttl_twitter {
		font-size: 1.125rem;
	}
	.twbtn a:hover {
		transform: scale(1.05);
	}
}
/* =============================================
 SNS シェア
============================================= */
.wrap_sblink {
	padding: 6% 0;
	background: #fbf1d3;
}
.sblink dt {
	margin-bottom: 15px;
	font-weight: bold;
	text-align: center;
}
.sblink dt span:before {
	content: "/";
	margin-right: 0.25em;
	display: inline-block;
	transform: scale(-1, 1) translateY(0.1em);
	font-size: 1.4em;
}
.sblink dt span:after {
	content: "/";
	margin-left: 0.25em;
	display: inline-block;
	transform: translateY(0.1em);
	font-size: 1.4em;
}
.list_sblink {
	font-size: 0;
	text-align: center;
}
.list_sblink li {
	margin: 0 0.4rem;
	display: inline-block;
}
.list_sblink li a {
	width: 16vw;
	height: 16vw;
	padding: 3vw;
	background: #000;
	border-radius: 100%;
	box-sizing: border-box;
	display: block;
	transition: all .3s;
}
.list_sblink li.sblink_twitter a {
	background: #1da1f2;
}
.list_sblink li.sblink_x a {
	background: #000;
}
.list_sblink li.sblink_facebook a {
	background: #1877f2;
}
.list_sblink li.sblink_line a {
	background: #00b900;
}
@media print, screen and (min-width:375px) {
	.list_sblink li a {
		width: 56px;
		height: 56px;
		padding: 12px;
	}
}
@media print, screen and (min-width:641px) {
	.wrap_sblink {
		padding: 40px 0;
	}
}
@media print, screen and (min-width:1001px) {
	/*.list_sblink li a:hover {
		transform: scale(1.15);
	}*/
	.list_sblink li {
		margin: 0 0.6rem;
	}
	.sblink_line {
		display: none !important;
	}
}
/* =============================================
 フッター
============================================= */
footer {
	background: #000;
}
.footer {
	position: relative;
}
/* コピーライト
---------------------------------------- */
.footer_copy {
	padding: 30px 0;
	color: #fff;
	font-size: 0.875em;
	line-height: 1.3;
	text-align: center;
}
.footer_copy p {
	width: 94%;
	max-width: 1000px;
	margin: 0 auto;
}
.footer_copy a {
	color: #fff;
}
/* ページトップ
---------------------------------------- */
.pageTop {
	position: fixed;
	position: absolute;
	top: -30px;
	right: 10px;
	z-index: 10;
	transition: all .3s;
}
.pageTop a {
	width: 60px;
	height: 60px;
	background: var(--color_01);
	border-radius: 100%;
	display: block;
	position: relative;
}
.pageTop a::before {
	content: "";
	width: 15px;
	height: 15px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: translate(-50%, -30%) rotate(-45deg);
	position: absolute;
	top: 50%;
	left: 50%;
}
@media print, screen and (min-width:1001px) {
	.pageTop {
		top: -40px;
		right: 30px;
	}
	.pageTop a {
		width: 80px;
		height: 80px;
		transition: all .3s;
	}
	.pageTop a::before {
		width: 20px;
		height: 20px;
		border-top: 4px solid #fff;
		border-right: 4px solid #fff;
	}
	.pageTop a:hover {
		transform: translate(0, -10px);
	}
}
/* フッター広告
---------------------------------------- */
#ad_banner_sp > div {
	margin: 0 auto;
}
@media print, screen and (max-width:640px) {
	footer {
		padding-bottom: 30px;
	}
}

/* ---------------------------------------------------------------------------
 * 汎用
--------------------------------------------------------------------------- */
/* テキスト
------------------------------------ */
.fs_xs {
	font-size: 0.75em !important;
}
.fs_s {
	font-size: 0.875em !important;
}
.fs_l {
	font-size: 1.25em !important;
}
.fs_xl {
	font-size: 1.5em !important;
}
.fs_inherit {
	font-size: inherit !important;
}
.fw_normal {
	font-weight: normal !important;
}
.fw_bold {
	font-weight: bold !important;
}
.ti-05 {
	text-indent: -0.5em !important;
}
.ls01 {
	letter-spacing: 0.1em !important;
}
.ls-005 {
	letter-spacing: -0.05em !important;
}
.ls-01 {
	letter-spacing: -0.1em !important;
}
.ls-02 {
	letter-spacing: -0.2em !important;
}
.ls-03 {
	letter-spacing: -0.3em !important;
}
.ta_left {
	text-align: left !important;
}
.ta_right {
	text-align: right !important;
}
.ta_center {
	text-align: center !important;
}
.week {
	margin: 0 -0.5em;
	display: inline-block;
	font-size: 0.875em;
}
/* レイアウト
------------------------------------ */
.mt0 {
	margin-top: 0 !important;
}
.mt15 {
	margin-top: 15px !important;
}
.mt20{
	margin-top: 20px !important;
}
.mb0 {
	margin-bottom: 0 !important;
}
.mb15 {
	margin-bottom: 15px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mt_1em {
	margin-top: 1em !important;
}
.mb_1em {
	margin-bottom: 1em !important;
}
/* =============================================
 protect
============================================= */
.protect {
	display: block;
	position: relative;
	-webkit-user-drag: none;
	user-select: none;
}
.protect::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.protect img {
	-webkit-user-drag: none;
	pointer-events: none;
}
@media print {
	.protect {
		display: none !important;
	}
}

/* =============================================
 見逃しバナー
============================================= */
.delivery_list_wrap {
	padding: 2% 0;
	background: rgba(0,0,0,0.90);
	position: relative;
	overflow: hidden;
}
.delivery_list {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
}
.delivery_list ul {
	display: flex;
	justify-content: center;
}
.delivery_list ul + ul {
	margin-top: 20px;
}
.delivery_list li a {
	display: block;
	box-sizing: border-box;
	text-align: center;
	transition: all .3s;
}
.delivery_list ul {
	margin: 0;
	flex-wrap: wrap;
}
.delivery_list li {
	margin: 0 0 10px;
}
.delivery_list li:last-child {
	margin-bottom: 0;
}
@media print, screen and (min-width:641px) {
	.delivery_list_wrap {
		padding: 20px 0;
	}
	.delivery_list {
		width: 98%;
	}
	.delivery_list ul {
		justify-content: flex-start;
	}
	.delivery_list li {
		width: 48%;
		margin: 0 1%;
	}
	.delivery_list li:nth-child(3) {
		margin-top: 1%;
	}
}
@media print, screen and (min-width:1024px) {
	.delivery_list ul {
		justify-content: center;
	}
	.delivery_list li {
		width: 31%;
		margin: 0 1%;
	}
	.delivery_list li:first-child {
		margin-left: 0;
	}
	.delivery_list li:last-child {
		margin-right: 0;
	}
	.delivery_list li:nth-child(3) {
		margin-top: 0;
	}
}
/* バナーオンマウス */
@media print, screen and (min-width:1024px) {
	.delivery_list li a:hover {
		transform: scale(1.05);
	}
}
/* 画像 */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
	.delivery_list li img {
		image-rendering: -webkit-optimize-contrast;
	}
}