@charset "UTF-8";
body {
  margin: 0;
  color: #333;
  font-family: arial, sans-serif;
  line-height: 2;
}

img {
	max-width: 100%;
	height: auto;
}

.main_img {
	text-align: center;
	position: relative;
	background-image: url("images/main_img_bg.jpg");
	background-repeat: repeat-x;
}

.badge_area {
	font-family: 'Noto Sans JP', sans-serif;
	background-image: url("images/badge_bg.jpg");
	color: #fff;
}
.badge_area .catch {
	font-size: 2rem;
}

.nagare_area {
	background-image: url("images/nagare_bg.jpg");
	background-repeat: no-repeat;
	background-size: cover;
}
.nagare_area h2 {
	text-align: center;
	background-color: #000;
	color: #fff;
	padding: 2rem 1rem;
	position: relative;
}

.nagare_area h2:after {
  position: absolute;
  content: '';
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0);
  border: 15px solid transparent;
  border-top: 15px solid #000;
  width: 0;
  height: 0;
}
.step_box.step1 div {
	padding-top: 5.2rem;
}
.step_box.step2 div, 
.step_box.step3 div {
	padding-top: 4.2rem;
}
.step_box.step_goal div {
	padding-top: 1rem;
}
.step_box {
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 2rem;
	line-height: 1.4;
}
.step1 {
	background-color: #28a7e1;
}
.step2 {
	background-color: #0d6fb8;
}
.step3 {
	background-color: #122a88;
}
.step_bonus {
	background-color: #e83428;
}
.step_bonus h3 {
	border-color: #fff;
}
.step_bonus a {
	color: #ffff00;
}
.step_goal {
	background-color: #000;
}

.map_area {
	background-image: url("images/map_bg.jpg");
}

.map_area .card {
	border-radius: 0;
}
.map_area h3 {
	color: #ff6699;
	border-color: #ff6699;
	margin: 1rem 1.5rem 0 1.5rem;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: bold;
}

.map_area h3 span {
	float: right;
	color: #000;
	font-size: 1rem;
	margin-top: 0.5rem;
  font-family: arial, sans-serif;
}
.map_area h4 {
	font-weight: bold;
	font-size: 1.2rem;
	margin-bottom: 1rem;
}
.map_area h4 span {
	font-size: 1.6rem;
	color: #e83428;
	font-weight: normal;
}
.houjutu {
	width: 300px;
	
}

.map_area .card-body {
	padding: 1rem 1.5rem;
}

.bonus_area h2 {
	background-color: #e83428;
	padding: 1rem 1rem 2.4rem 1rem;
	position: relative;
}
.bonus_area h2:after {
  position: absolute;
  content: '';
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0);
  border: 15px solid transparent;
  border-top: 15px solid #e83428;
  width: 0;
  height: 0;
}

.card-img {
	position: relative;
}
.card-img .badge {
	position: absolute;
	right: 1rem;
	top: 1rem;
	font-size: 1.4rem;
	background-color: #e83428;
	border: 2px solid #000;
}
.card-img .genre {
	position: absolute;
	left: -0.2rem;
	top: -0.2rem;
}

.link_area {
	background-image: url("images/link_bg.jpg");
}
.link_area .card {
	border: 5px solid #000;
	border-radius: 0;
}

.btn-dark {
	background-color: #000;
}

.btn-primary {
	background-color: #663366;
	border-color: #663366;
	font-weight: bold;
	font-size: 1.2rem;
}
.btn-primary:hover {
	background-color: #993399;
	border-color: #993399;
	text-decoration: none;
}

.btn-primary.disabled {
	background-color: #ccc;
	border-color:#ccc;
}
.material-icons {
 display: inline-flex;
vertical-align: middle;
}

h2 {
	font-family: 'Noto Sans JP', sans-serif;
	color: #000;
	margin: 2rem 0;
	padding: 1.5rem 0;
	font-size: 2.4rem;
}
h3 {
	font-family: 'Noto Sans JP', sans-serif;
	color: #000;
	margin: 1rem 0;
	border-bottom: 1px solid #000;
	padding: 0 0 1rem 0;
}

img {
	max-width: 100%;
}

.table {
	border: 0 solid;
}
.table td {
	border: 0 solid;
	padding: 0.2rem !important;
}
.table th {
	background-color: #f1f1f1;
	width: 80px;
	text-align: center;
	border-top: 2px solid #fff;
	padding: 0.2rem !important;
}
.table-bordered th,
.table-bordered td {
	border: 1px solid #ccc;
}

footer {
	color: #fff;
	background-color: #000;
	
}


/* 最大幅の制限 */
@media (min-width:992px) {
  .container-fluid {
    width: 992px;
  }
}
@media (max-width:768px) {

.badge_area .catch {
	font-size: 1.4rem;
}

.badge_price {
	max-width: 240px;
}
	
h2 {
	font-size: 1.6rem;
}
h3 {
	font-size: 1.3rem;
}
.step_box {
	padding: 0.5rem;
	font-size: 1.6rem;
}
.step_box.step1 div,
.step_box.step2 div, 
.step_box.step3 div,
.step_box.step_goal div {
	padding-top: 0;
}
.houjutu {
	width: auto;
	
}
.main_img {
	background-image: url("images/main_img_bg_sp.jpg");
}
.badge_area {
	background-image: url("images/badge_bg_sp.jpg");
}
.map_area {
	background-image: url("images/map_bg_sp.jpg");
}
.link_area {
	background-image: url("images/link_bg_sp.jpg");
}
}


    /*横カード*/
    .card {
      border: none;
    }


    .card-img {
      border-radius: 0;
      border-top-left-radius: 0.25rem;
      border-bottom-left-radius: 0.25rem;
    }

    .card-body {
      padding: 0.8rem;
    }

    .card-title {
      font-size: 1.5rem;
    }

    .card-subtitle {
      color: #999;
    }

    .card-text {
      font-size: 0.8rem;
      line-height: 1.5;
    }

    .card-text02 {
      margin-top: 10px;
      padding-top: 10px;
      font-size: 0.8rem;
      line-height: 1.5;
      background-color:#ffd700;
      color:#000;
    }


/* 2024年「忍者の日」月間特別イベント */

.event_area {
	background-image: URl(images/syurikenhaikei.png);
	padding: 2rem 0;
}

@media (min-width:768px) {
.br_sp {
	display: none;
}
}

.catch01 {
	font-size:1.2rem;
	font-weight: bold;
}

.catch01 .bg-danger {
	padding: 10px 15px;
	margin-left: 0;
	color: #fff;
	border-radius: 50vh;
	font-size: 1.1rem;
}

.event_title {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.5;
	margin: 2rem 0;
}

.event_title .tit_text {
	background: linear-gradient(transparent 60%, #fff70b 60%);
	padding: 0 20px;
}

.event_title .e_present {
	font-size: 1.2rem;
}

@media (min-width:768px) {
	.catch01 {
		font-size:1.7rem;
	}
.catch01 .bg-danger {
	margin-left: 10px;
	font-size: 1.3rem;
}

.event_title {
	font-size: 2.5rem;
}
.event_title .e_present {
	font-size: 1.8rem;
}
}

.event_day {
	display: inline-block;
	padding: 0.5rem 1.5rem;
background-color: #dc3545;
font-size: 1rem;
font-weight: bold;
color: #fff;
line-height: 1.5;
}

.event_day span {
	font-size: 1.6rem;
	margin: 0 5px;
}
@media (min-width:768px) {
.event_day {
	display: inline-block;
	padding: 1rem 1.5rem;
background-color: #dc3545;
font-size: 1.3rem;
font-weight: bold;
color: #fff;
}

.event_day span {
	font-size: 2rem;
	margin: 0 5px;
}
}


.event_naka {
	font-size: 1.1rem;
	margin-top: 2rem;
	margin-bottom: 2rem;
	padding: 2rem 0;
	border: 2px solid #dc3545;
}

.event_naka .first_text {
	font-size: 1.2rem;
	font-weight: bold;
}
.event_naka .first_text span {
	font-size: 1.5rem;
	background: linear-gradient(transparent 60%, #fff70b 60%);
	padding: 2px 10px;
}

.event_naka .first_text small {
	position: relative;
	top: -10px;
	font-size: 0.85rem;
}

.event_naka .second_text .shugyou {
	font-size: 1.3rem;
	font-weight: bold;
	color: #ff0000;
	margin: 0 5px;
}

@media (min-width:768px) {
	.event_naka {
		font-size: 1.2rem;
	}
	
	.event_naka .first_text {
		font-size: 1.5rem;
	}
	.event_naka .first_text span {
		font-size: 1.8rem;
	}

	.event_naka .first_text small {
		top: 0;
		font-size: 0.9rem;
	}
	
	.event_naka .second_text .shugyou {
		font-size: 1.5rem;
	}
}

.fukushou_area {
	text-align: center;
}

.fukushou_area h2 {
	text-align: center;
	background-color: #ffe600;
	color: #000;
	padding: 2rem 1rem;
	position: relative;
}

.fukushou_area h2:after {
  position: absolute;
  content: '';
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0);
  border: 15px solid transparent;
  border-top: 15px solid #ffe600;
  width: 0;
  height: 0;
}

.event_fuku {
	display: inline-block;
	margin-left: auto;
	margin-left: right;
}

.event_fuku .plus_img {
	margin: 0 10px;
}

.fukushou_area .table {
    border-collapse: separate;
    border-spacing: 0 5px;


}

.fuku_one {
	background: linear-gradient(to right, #e4c424, #fde354);
	border : 2px solid #ffe851;
	padding: 25px 15px!important;
	text-align: center;
	font-size: 1.8rem;
	font-weight: bold;
	vertical-align: middle;
	line-height: 1.5;
}

.fuku_text {
	background-color: #fff;
	border: 2px solid #ffe851;
	padding: 25px 15px!important;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1.5;
}

.fuku_text small {
	font-size: 1rem;
	font-weight: bold;
}

.fuku_text small.chiui,
.fuku_text02 small.chiui {
	font-size: 0.9rem;
	font-weight: normal;
}

.fuku_text span {
	font-size: 1.8rem;
	margin: 0 3px;
	line-height: 1.5;
	color: #dc3545;
}


.fuku_two {
	background: linear-gradient(to right, #e4c424, #fde354);
	border : 2px solid #ffe851;
	padding: 15px 15px!important;
	text-align: center;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.5;
}

.fuku_text02 {
	background-color: #fff;
	border: 2px solid #ffe851;
	padding: 15px 15px!important;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1.5;
}
.fuku_text02 small {
	font-size: 1rem;
	font-weight: bold;
}

.fuku_text02 span {
	font-size: 1.5rem;
	line-height: 1.5;
	margin: 0 3px;
	color: #dc3545;
}

.fuku_three {
	background: linear-gradient(to right, #e4c424, #fde354);
	border : 2px solid #ffe851;
	padding: 15px 15px!important;
	text-align: center;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1.5;
}


.ne-houhou_area{
	background-image: none;
}
.e-houhou_area h2 {
	text-align: center;
	background-color: #333;
	color: #fff;
	padding: 2rem 1rem;
	position: relative;
}

.e-houhou_area h2:after {
  position: absolute;
  content: '';
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0);
  border: 15px solid transparent;
  border-top: 15px solid #333;
  width: 0;
  height: 0;
}

.event_tyuui {
	color:#ff0000;
	font-weight: bold;
}

.event_jikan {
	font-size: 1.8rem;
	margin: 0 5px;
}



.event_box {
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	line-height: 1.4;
	background-color: #28a7e1;
	padding: 15px;
}

.event_box .step1 {
	padding: 2rem 15px;
}

.event_houhou {
padding: 15px;
background-color: #fff;
}

.event_houhou .sanka_tyuui {
	background: linear-gradient(transparent 60%, #fff70b 60%);
	padding: 0 10px;
	}

.event_houhou h3 {
	font-family: 'Noto Sans JP', sans-serif;
	color: #000;
	margin: 1rem 0;
	border-bottom: none;
	padding: 0 0 0 0;
	font-size: 1.2rem;
	line-height: 1.5;
}

@media (min-width:768px) {
	.event_box {
		font-size: 2rem;
	}
	.event_houhou {
		padding: 15px;
		background-color: #fff;
		margin-top: 1rem;
		}

		.fukushou_area {
			text-align: left;
		}
}

/* === ランキングページ ========== */
.catch02 {
	font-size:1.1rem;
	margin: 2rem 0;
}

.catch02 .shugyou {
	font-size: 1.6rem;
	font-weight: bold;
	color: #ff0000;
	margin: 0 5px;
}

.catch02 .aka {
	font-weight: bold;
	color: #ff0000;
}

@media (min-width:768px) {
	.catch02 {
		font-size:1.2rem;
	}
}

/* 準備中 */
.jyunbityuu {
 text-align: center;
 font-size: 2rem;
}


/* 2023年「忍者フェスティバル」開催期間時間延長 */

.encho_tit {
	border: 2px solid #dc3545;
	background-color: #dc3545;
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
	margin-top: 2rem;
	padding: 10px 1rem;
	line-height: 1.9rem;
}

.encho_naka {
	font-size: 1.1rem;
	margin-bottom: 1rem;
	padding: 2rem 0;
	border: 3px solid #dc3545;
	background-color: #fff;
}

.encho_jikan_area {
	display: flex;
margin-left: auto;
margin-right: auto;
margin-bottom: 2rem;
justify-content: center;
align-items:flex-end;
}

.encho_basho {
	display: inline-block;
	font-weight: bold;
	margin-right: 0;
	padding: 0 2rem;
	background-color: #f5ea1b;
}

.encho_basho.br_sp {
margin-bottom: 1rem;
}

.encho_tujyo01 {
	font-weight: bold;
	margin-right: 20px;
	margin-top: 1rem;
}
.encho_tujyo02 {
	font-weight: bold;
	margin-right: 0;
	margin-top: 1rem;
}

.encho_jikan01_01 {
	margin-right: 0;
	line-height: 1.5;
}

.encho_jikan01_01 span {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.5;
}

.encho_jikan02_01 {
	margin-right: 0;
}

.encho_jikan02_01 span {
	font-size: 2rem;
	font-weight: bold;
	color: #dc3545;
	line-height: 1.5;
}

.encho_jikan01_02 {
	margin-right: 0;
	line-height: 1.5;
}

.encho_jikan01_02 span {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.5;
}

.encho_jikan02_02 {
	margin-right: 0;
}

.encho_jikan02_02 span {
	font-size: 1.8rem;
	font-weight: bold;
	color: #dc3545;
	line-height: 1.5;
}

.encho_arrow01 {
	margin-right: 15px;
	margin-left: 15px;
}
.encho_arrow02 {
	margin-right: 15px;
	margin-left: 15px;
}

.br_pc {
	display: none;
}

@media (min-width:768px) {
	.encho_tit {
		font-size: 1.7rem;
		line-height: 2.5rem;
	}
	.encho_naka {
		font-size: 1.5rem;
	}

.br_pc {
	display: block;
}

.encho_jikan_area {
	display: flex;
margin-left: auto;
margin-right: auto;
margin-bottom: 1rem;
align-items: center;
}

.encho_basho.br_sp {
	display: none;
}

.encho_basho {
	display: inline-block;
	font-weight: bold;
	margin-right: 2rem;
	padding: 0 1rem;
	background-color: #f5ea1b;
}
.encho_tujyo01 {
	font-weight: bold;
	margin-right: 45px;
	margin-top: 0;
}
.encho_tujyo02 {
	font-weight: bold;
	margin-right: 2rem;
	margin-top: 0;
}

.encho_jikan01_01 {
	margin-right: 2rem;
}

.encho_jikan01_01 span {
	font-size: 2.5rem;
	font-weight: bold;
}

.encho_jikan02_01 {
	margin-right: 2rem;
}

.encho_jikan02_01 span {
	font-size: 2.5rem;
	font-weight: bold;
	color: #dc3545; 
}

.encho_jikan01_02 {
	margin-right: 2rem;
}

.encho_jikan01_02 span {
	font-size: 2.5rem;
	font-weight: bold;
}

.encho_jikan02_02 {
	margin-right: 2rem;
}

.encho_jikan02_02 span {
	font-size: 2.5rem;
	font-weight: bold;
	color: #dc3545; 
}

.encho_arrow01 {
	margin-right: 45px;
}
.encho_arrow02 {
	margin-right: 2rem;
}

}