@charset "utf-8";
/* ---------------------------------------------------------------------------
 * ROOT
--------------------------------------------------------------------------- */
:root {
	--color_01: #f40009; /* var(--color_01) */
	--color_02: #ffd942; /* 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 {
	background: #ffea00;
	font-family: 'Roboto', 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'Osaka', sans-serif;
	line-height: 1;
	-webkit-text-size-adjust: none;
}
img {
	max-width: 100%;
	vertical-align: middle;
}
a {
	color: var(--color_01);
	text-decoration: none;
}
.img_scale {
	display: block;
	transition: .3s;
}
@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) {
	.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) {
	#generalHeader {
		height: 41px;
	}
	.onlyTAB {
		display: none !important;
	}
	.img_scale:hover {
		transform: scale(1.05);
	}
}

/*onlyTAB_02*/
@media print, screen and (max-width:640px) {
	.onlyTAB_02 {
		display: none !important;
	}
}
@media print, screen and (min-width:641px) and (max-width:1224px) {
	.onlyTAB_02 {
		display: block;
	}
}
@media print, screen and (min-width:1225px) {
	.onlyTAB_02 {
		display: none !important;
	}
}

/* =============================================
 ヘッダー
============================================= */
.janken_header {
	overflow: hidden;
}
.janken_header_inner{
	width: 90%;
	max-width: 1200px;
	padding: 20px 0 40px;
	margin: 0 auto;	
}
.header_main{
	margin-bottom: 20px;
	position: relative;
}
.header_main::before{
	content: "";
	width: 60%;
	height: 100%;
	background: url("../../img/2023/bg_title.png") no-repeat center right;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: -7%;
	transform: translateY(-50%);
}
.janken_header H1 {
	width: 60%;
	position: relative;
	z-index: 1;
}
.janken_header .read {
	margin-bottom: 30px;
	line-height: 1.5;
	position: relative;
	z-index: 1;
}
.janken_header .read strong {
	display: inline-block;
	font-size: 1.125em;
	font-weight: bold;
	color: #1163b8;
}
.janken_header .read strong span {
	display: inline-block;
	color: #e61e1a;
}
@media print, screen and (min-width:641px) {
	.janken_header_inner{
		padding: 40px 0 60px;
	}
	.header_main::before{
		height: 180%;
		transform: translateY(-35%);
	}
	.janken_header H1 {
		width: 70%;
	}
	.janken_header .read {
		padding-right: 25%;
	}
}
@media print, screen and (min-width:1001px) {
	.janken_header .read {
		font-size: 1.125em;
	}
}

/* =============================================
 contents
============================================= */
.contents {
	width: 90%;
	max-width: 1200px;
	padding: 0 0 20px 0;
	margin: 0 auto;
	font-size: 0.875em;
}
@media print, screen and (min-width:641px) {
	.contents {
		padding: 0 0 40px;
		font-size: 1em;
	}
}

/*   title
-------------------------------------------------------*/
.title{
	padding-left: 1.25em;
	margin-bottom: 0.75em;
	position: relative;
	color: #e61e1a;
	font-size: clamp(1.5em, 3.75vw, 2em);
	font-family: "UD Shin Go Bold";
	text-align: left;
}
.title span{
	display: inline-block;
}
.title::before{
	content: "";
	width: 1em;
	height: 1em;
	background: url("../../img/2023/icon_ball.png") no-repeat center;
	background-size: contain;
	position: absolute;
	top: 0.1em;
	left: 0;
}

/*   grid
-------------------------------------------------------*/
.grid{
	text-align: center;
}
@media screen and (max-width:800px) {
	.grid .data + .desc{
		margin-top: 30px;
	}
}
@media screen and (min-width:801px) {
	.grid{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.grid .data{
		width: 55%;
	}
	.grid .desc{
		width: 39%;
	}
}

/*   box
-------------------------------------------------------*/

.box {
	width: 100%;
	padding: min(5vw, 30px);
	background: #fff;
	border-radius: 10px;
	box-sizing: border-box;
}
.box + .box{
	margin-top: 40px;
}

/*   present
-------------------------------------------------------*/
.present ul {
	display: flex;
	justify-content: space-between;
}
.present li {
	background: #fff;
	border: 4px solid #161616;
	box-sizing: border-box;
	border-radius: 10px;
	overflow: hidden;
}
.pre_title{
	padding: 0.3em 0.5em 0.6em;
	color: #ffea00;
	/*font-size: 2.25em;*/
	font-family: "UD Shin Go Bold";
	text-align: center;
}
.bg_red .pre_title{
	background: #e61e1a;
}
.bg_blu .pre_title{
	background: #1163b8;
}
.pre_title span{
	display: inline-block;
}
.pre_title .num{
	margin-bottom: 0.2em;
	display: block;
}
.pre_title .eng{
	font-size: 1.5em;
	margin: 0 0.1em;
	position: relative;
	top: 0.05em
}
.pre_title .jp{
	font-size: 0.75em;
}
.pre_title .win{
	margin: 0 0.4em;
	font-size: 1.25em;
	position: relative;
	top: 0.1em;
	z-index: 1;
}
.bg_red .pre_title .win{
	color: #e61e1a;
}
.bg_blu .pre_title .win{
	color: #1163b8;
}
.pre_title .win::before{
	content: "";
	width: 1.2em;
	height: 1.2em;
	background: #ffea00;
	border-radius: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
.pre_txt {
	padding: 1em;
	line-height: 1.3;
}
.pre_name {
	min-height: 2.5em;
	padding: 0.5em;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	/*font-size: 1.5em;*/
	font-family: "UD Shin Go Bold";
	text-align: center;
	line-height: 1.2;
}
.pre_name span {
	display: inline-block;
}
.bg_red .pre_name{
	background: #830d0a;
}
.bg_blu .pre_name{
	background: #09417b;
}
.pre_img{
	padding: 0 1em 1em;
}
@media screen and (max-width:800px) {
	.present ul {
		flex-wrap: wrap;
	}
	.present li {
		border: 2px solid #161616;
	}
	.present li + li {
		margin-top: min(5vw, 30px);
	}
	.pre_title {
		font-size: min(6vw,2em);
	}
	.pre_name {
		font-size: min(4vw,1.25em);
	}
}
@media screen and (min-width:801px) {
	.present li {
		width: 32%;
	}
	.pre_title {
		font-size: 2.5vw;
	}
	.pre_name {
		font-size: 1.75vw;
	}
}
@media screen and (min-width:1201px) {
	.pre_title {
		font-size: 2em;
	}
	.pre_name {
		font-size: 1.25em;
	}
}

/*   apply
-------------------------------------------------------*/

.apply_desc{
	padding: min(5vw, 30px);
	background-size: auto auto;
	background-color: rgba(255, 255, 255, 1);
	background-image: repeating-linear-gradient(-45deg, transparent, transparent 6px, rgba(232, 245, 249, 1) 6px, rgba(232, 245, 249, 1) 8px );
	border: 2px solid #161616;
	border-radius: 10px;
	overflow: hidden;
}
.apply_desc_grid{
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: min(3vw, 20px);
}
.apply_desc_grid.mt_adjust{
	margin-top: -10px;
}
.apply_desc_grid .img{
	width: 25%;
	max-width: 85px;
	flex-shrink: 0;
}
.apply_desc_grid .txt{
	font-family: "UD Shin Go Bold";
	font-size: 1.5em;
	font-size: clamp(1.5em, 3.75vw, 2.75em);
}
.apply_desc_grid .txt span{
	display: inline-block;
	line-height: 1.2;
}
.apply_desc_grid .txt .fs_adjust{
	margin-top: 0.25em;
	font-size: 0.75em;
}
.link_btn {
	margin-top: min(3vw, 20px);
}
.link_btn a{
	max-width: 600px;
	padding: 1em;
	margin: 0 auto;
	background: #1a1a1a;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
	border-radius: 10px;
	position: relative;
	color: #fff;
	font-weight: bold;
	display: block;
	font-size: clamp(1.25em, 3.12vw, 1.5em);
	text-align: center;
	line-height: 1.2;
	transition: .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%;
}
.link_btn a span{
	display: inline-block;
}
.link_btn a span.txt_lead,
.link_btn a span.txt_date{
	display: block;
}
.link_btn .txt_lead{
	margin-bottom: 0.5em;
	color: #ffea00;
	font-family: "UD Shin Go Bold";
}
.link_btn a span.txt_date{
	font-size: 0.75em;
}

.link_btn a.coming {
	position: relative;
	pointer-events: none;
    overflow: hidden;
}
.link_btn a.coming::after{
	content: "Coming soon";
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.75);
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
    top: 0;
    left: 0;
	color: #fff;
	font-size: 1.25em;
}

.link_btn a.end {
	position: relative;
	pointer-events: none;
    overflow: hidden;
}
.link_btn a.end .end_txt{
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.75);
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
    top: 0;
    left: 0;
	color: #fff;
	font-size: clamp(0.75em, 2.18vw, 0.875em);
}
.link_btn a.end .end_txt .ttl{
	display: block;
	font-size: 1.25em;
}

.fc_red{
	color: #e61e1a;
}
@media screen and (min-width:641px) {
	.apply_desc{
		border: 4px solid #161616;
	}
}
@media (hover: hover) {
  .link_btn a:hover {
    transform: scale(1.05);
  }
}

/* .apply .coming{
	position: relative;
	display: block;
	pointer-events: none;
}
.apply .coming::before{
	content: "Coming soon";
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.75);
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	color: #fff;
	font-weight: bold;
	font-size: 1.5em;
}
.apply .end{
	position: relative;
	display: block;
	pointer-events: none;
}
.apply .endtxt{
	content: "Coming soon";
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.75);
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	color: #fff;
	font-weight: bold;
	font-size: 3.5vw;
}
.apply .endtxt span > span{
	display: block;
	margin-bottom: 0.25em;
}
@media screen and (min-width:801px) {
	.apply .endtxt{
		font-size: 1.5vw;
	}
}
@media screen and (min-width:1201px) {
	.apply .endtxt{
		font-size: 1.25em;
	}
} */


/*   attention
-------------------------------------------------------*/
#attention {
	background: url(../../img/2023/attention_bg.gif);
}
#attention_inner {
	position: relative;
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 30px 0 120px 0;
	box-sizing: border-box;
	line-height: 1.2;
}
#attention li {
	margin-bottom: 0.5em;
	padding-left: 1.25em;
	position: relative;
}
#attention li::before {
	content: "";
	width: 5px;
	height: 5px;
	background: #000;
	border-radius: 100%;
	position: absolute;
	top: calc(0.55em - 2.5px);
	left: 0;
}
.title_67 {
	margin: 1em 0 0.5em;
	color: #e61f19;
	font-weight: bold;
	font-size: 108%;
	text-indent: -10px;
}
.fc_red {
	color: #e61f19;
}
#pre_footer {
	background: #118d23;
	border-top: 4px solid #161616;
}
#footer_inner {
	position: relative;
	width: 1200px;
	margin: 0 auto;
}
#footer_inner .copyright {
	padding: 20px 0;
	color: #fff;
}
#footer_inner .illust {
	position: absolute;
	bottom: 20px;
	right: 150px;
}
@media print, screen and (min-width:641px) {
	#attention_inner {
		padding: 45px 0 160px 0;

	}
}

/* =============================================
 フッター
============================================= */
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: absolute;
	top: 10px;
	right: 10px;
	z-index: 10;
}
.pageTop a {
	position: absolute;
	bottom: 0;
	right: 0;
	background: url(../../img/2023/btn_pagetop.png) no-repeat top right;
	background-size: contain;
	width: 150px;
	height: 100px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	transition: all .3s;
}
@media print, screen and (min-width:1001px) {
	.pageTop {
		right: 30px;
	}
	.pageTop a {
		width: 174px;
		height: 125px;
	}
	.pageTop a:hover {
		transform: translate(0, -10px);
	}
}

/* ---------------------------------------------------------------------------
 * 汎用
--------------------------------------------------------------------------- */
/* テキスト
------------------------------------ */
.fs_xs {
	font-size: 0.75em !important;
}
.fs_s {
	font-size: 0.875em !important;
}
.fs_m {
	font-size: 1em !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;
}
/* レイアウト
------------------------------------ */
.mt0 {
	margin-top: 0 !important;
}
.mt15 {
	margin-top: 15px !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;
	}
}
