@charset "utf-8";

/* ========================================================
	DINOS BOWL
======================================================== */

/* color
============================================================================================================ */
/* #ffa423 */
.c_theme {
	color: #ffa423 !important;
}
.bg_theme {
	background-color: #ffa423 !important;
	color: #fff !important;
}
.bd_theme,
.bd_theme::after {
	border-color: #ffa423 !important;
}
.hv_bg_theme span.current {
	background-color: #ffa423 !important;
}
.hv_bd_theme span.current {
	border-color: #ffa423 !important;
}
@media screen and (min-width: 769px) {
	a[href].hv_c_theme:hover,
	.hv_c_theme a[href]:hover,
	a[href]:hover .hv_c_theme,
	a.hv_c_theme.current,
	.hv_c_theme a.current,
	.hv_c_theme span.current {
		color: #ffa423 !important;
	}
	a[href].hv_bg_theme:hover,
	.hv_bg_theme a[href]:hover,
	a[href]:hover .hv_bg_theme,
	a.hv_bg_theme.current,
	.hv_bg_theme a.current {
		background-color: #ffa423 !important;
	}
	a[href].hv_bd_theme:hover,
	.hv_bd_theme a[href]:hover,
	a[href]:hover .hv_bd_theme,
	a.hv_bd_theme.current,
	.hv_bd_theme a.current {
		border-color: #ffa423 !important;
	}
}

#header::before {
	border-color: #ffa423;
}
#header .nav_headbtn_wrap::after {
	border-color: #ffa423;
}
#header .nav_headbtn a {
	color: #ffa423;
}
@media screen and (min-width: 769px) {
	#header .logo.shop a:hover .shop,
	#header.sp_open .logo.shop a .shop {
		background-color: #ffa423 !important;
	}
	#header .nav_headbtn a:hover {
		background-color: #ffa423;
		color: #fff;
	}
}

.bg_theme_pattern {
	background-color: #ffa423;
	background-image: url(../images/common/pattern_bg.png);
}

.slick-dots li.slick-active button::after {
	background-color: #ffa423 !important;
}
@media screen and (min-width: 769px), print {
	#indexMainBlock .arrow {
		background-color: #fb9a12;
	}
	.slick-dots li button:hover::after {
		background-color: #ffa423 !important;
	}
}

.box_btn,
a.box_btn,
a .box_btn {
	border-color: #ffa423;
	background-color: #ffa423;
}
@media screen and (min-width: 769px), print {
	a[href].box_btn:hover,
	button.box_btn:hover,
	a[href]:hover .box_btn {
		color: #ffa423;
	}
	.paging .prev a:hover::after,
	.paging .next a:hover::after {
		border-color: #ffa423;
	}
}
@media screen and (max-width: 768px) {
	.box_btn.sp_black.sp_arrow_back::before {
		border-color: #ffa423;
	}
}

.back_btn a::before {
	border-color: #ffa423;
}



/* header site nav
============================================================================================================ */
@media screen and (min-width: 769px), print {
	#header .site_root_nav .custom_scrollbar_block > * {
		padding-bottom: 100px;
	}
	#header .site_root_nav .arrow_nav {
		padding: 0 70px;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	#header .site_root_nav .arrow_nav + .arrow_nav {
		margin-top: 30px;
	}
	#header .site_root_nav .arrow_nav > * {
		width: 38%;
	}
	#header .site_root_nav .arrow_nav > *:nth-child(3n) {
		width: 24%;
	}
	#header .site_root_nav .arrow_nav > *:nth-child(3) ~ * {
		margin-top: 20px;
	}
	#header .site_root_nav .link_nav {
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 50px 0 0;
	}
	#header .site_root_nav .link_nav li {
		width: 50%;
	}
	#header .site_root_nav .link_nav li:nth-child(2) ~ * {
		margin-top: 20px;
	}
	#header .site_root_nav .link_nav li a {
		width: 320px;
		margin: auto;
		color: #fff;
		border-color: #fff;
	}
	#header .site_root_nav .link_nav li a::after {
		background-color: #fff;
	}
	#header .site_root_nav .link_nav li a:hover {
		color: #000;
		border-color: #000;
	}
	#header .site_root_nav .link_nav li a:hover::after {
		background-color: #000;
	}
}
@media screen and (max-width: 768px) {
	#header .site_root_nav .nav_w {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
	}
	#header .site_root_nav .arrow_nav a {
		display: block;
		padding: 4px 0;
		background-color: #000000;
		border: 0;
		border-radius: 100px;
		color: #fff;
		font-size: 1.2rem;
		text-decoration: none;
		font-weight: bold;
		text-align: center;
	}
	#header .site_root_nav .arrow_nav a::after {
		content: none;
	}
	#header .site_root_nav .link_btn {
		border-top: 0;
		padding: 0;
	}
	#header .site_root_nav .link_btn .sp_bg_pattern_white {
		margin-bottom: 30px;
		padding: 30px 0;
	}
	#header .site_root_nav .link_btn .sp_bg_pattern_white a {
		height: 50px;
	}
	#header .site_root_nav .link_nav {
		-webkit-order: 3;
		-moz-order: 3;
		-ms-order: 3;
		-o-order: 3;
		order: 3;
	}
}

/* header shop nav
============================================================================================================ */
@media screen and (min-width: 769px), print {
	#header .shop_site_nav .nav_w {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#header .shop_site_nav .arrow_nav {
		display: block;
	}
	#header .shop_site_nav .arrow_nav > * {
		margin-bottom: 20px;
	}
	#header .shop_site_nav .nav_w > div {
		padding-left: 40px;
	}
	#header .shop_site_nav .nav_w .service_nav {
		padding-right: 40px;
		width: 50%;
	}
	#header .shop_site_nav .nav_w .service_nav dt {
		margin-bottom: 30px;
		padding-bottom: 10px;
		border-bottom: 5px solid;
		font-size: 2rem;
		line-height: 1.5;
		font-weight: bold;
	}
	#header .shop_site_nav .nav_w .link_btn {
		width: 100%;
		margin-top: 50px;
	}
	#header .shop_nav .nav_w {
		padding-top: 50px;
		padding-bottom: 70px;
	}
	#header .shop_nav .arrow_nav {
		padding: 0 70px;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	#header .shop_nav .arrow_nav + .arrow_nav {
		margin-top: 30px;
	}
	#header .shop_nav .arrow_nav > * {
		width: 38%;
	}
	#header .shop_nav .arrow_nav > *:nth-child(3n) {
		width: 24%;
	}
	#header .shop_nav .arrow_nav > *:nth-child(3) ~ * {
		margin-top: 20px;
	}
}
@media screen and (max-width: 768px) {
	#header .shop_site_nav .nav_w {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
	}
	#header .shop_site_nav .link_btn {
		border-top: 0;
		padding: 0;
	}
	#header .shop_site_nav .link_btn .sp_bg_pattern_white {
		margin-bottom: 30px;
		padding: 30px 0;
	}
	#header .shop_site_nav .link_btn .sp_bg_pattern_white a {
		height: 50px;
	}
	#header .shop_site_nav .service_nav {
		-webkit-order: 3;
		-moz-order: 3;
		-ms-order: 3;
		-o-order: 3;
		order: 3;
	}
	#header .shop_site_nav .service_nav .arrow_nav {
		display: block;
		padding: 20px 0;
	}
	#header .shop_site_nav .service_nav .arrow_nav > * {
		width: auto;
		margin: 0;
	}

	#header .shop_nav .arrow_nav a {
		display: block;
		padding: 4px 0;
		background-color: #000000;
		border: 0;
		border-radius: 100px;
		color: #fff;
		font-size: 1.2rem;
		text-decoration: none;
		font-weight: bold;
		text-align: center;
	}
	#header .shop_nav .arrow_nav a::after {
		content: none;
	}
	#header .shop_nav .nav_w {
		padding-bottom: 15px;
	}
}


/* recommend_block
============================================================================================================ */
.recommend_block ul a.facebook .img {
	background-image: url(../images/common/recommend_facebook.jpg);
}



/* enjoy_block
============================================================================================================ */
.enjoy_block ul a {
	position: relative;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	text-decoration: none;
	background-color: #fff;
	border: 1px solid #ededed;
}
.enjoy_block ul a > * {
	position: relative;
	width: 50%;
}
.enjoy_block ul a .img {
	background-position: 50%;
	-webkit-background-size: cover;
	background-size: cover;
}
.enjoy_block ul a .text {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	font-weight: bold;
	line-height: 1.6;
}
.enjoy_block ul a .text::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	border-style: solid;
	border-width: 0 0 15px 15px;
	border-top-color: transparent;
	border-right-color: transparent;
	border-left-color: transparent;
}
.enjoy_block ul a .text .title {
	display: block;
	width: 100%;
	text-align: center;
	color: #1a1a1a;
}

.enjoy_block ul a.plan .img {
	background-image: url(../images/common/enjoy_plan.jpg);
}
.enjoy_block ul a.event .img {
	background-image: url(../images/common/enjoy_event.jpg);
}
@media screen and (min-width: 769px), print {
	.enjoy_block ul {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.enjoy_block ul > li {
		max-width: 480px;
		width: 49%;
	}
	.enjoy_block ul > li:nth-child(2) ~ * {
		margin-top: 30px;
	}
	.enjoy_block ul a > * {
		height: 160px;
	}
}
@media screen and (max-width: 768px) {
	.enjoy_block ul > li + li {
		margin-top: 10px;
	}
	.enjoy_block ul a > * {
		height: 110px;
	}
	.enjoy_block ul a .img.bd {
		border-width: 1px;
	}
	.enjoy_block ul a .text {
		font-size: 1.2rem;
	}
}


/* .contact_column_box
============================================================================================================ */
.contact_column_box .tel a {
	background-image: url(../images/common/contact_ico_tel.png);
}
.contact_column_box .mail a .ico {
	background-image: url(../images/common/contact_ico_mail.png);
}


/* bowling_service_block
============================================================================================================ */
.bowling_service_block {
	color: #fff;
	background-position: 50%;
	-webkit-background-size: cover;
	background-size: cover;
}
.bowling_service_block .service + section {
	margin-top: 60px;
}
.bowling_service_block .service .bdb_title::after {
	border-color: #fb5390;
}
.bowling_service_block .service .lead {
	margin-bottom: 40px;
	font-weight: bold;
	font-size: 2.8rem;
	line-height: 1.5;
	text-align: center;
}
@media screen and (min-width: 769px), print {
	.bowling_service_block {
		background-image: url(../images/common/service_bg.jpg);
		background-position: 50% 100%;
	}
	/*
	.ua_pc .bowling_service_block {
		background-attachment: fixed;
	}
	*/
	.bowling_service_block .service {
		width: 940px;
		margin: auto;
	}
	.bowling_service_block .service .btn {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
	}
	.bowling_service_block .service .btn a:hover {
		background-color: #fb5390 !important;
	}
}
@media screen and (max-width: 768px) {
	.bowling_service_block {
		background-image: url(../images/common/service_bg_sp.jpg);
	}
	.bowling_service_block .service + section {
		margin-top: 30px;
	}
	.bowling_service_block .service .lead {
		margin-bottom: 20px;
		font-size: 1.6rem;
	}
	.bowling_service_block .service .btn li + li {
		margin-top: 10px;
	}
}

.bowling_service_block .person_card {
	margin-top: 40px;
	overflow: hidden;
	position: relative;
	background-color: #fb5390;
	border-radius: 20px;
	font-weight: bold;
	line-height: 1.7;
}
.bowling_service_block .person_card::after {
	content: "";
	background: url(../images/common/terashita_ph.jpg) 50%;
	-webkit-background-size: cover;
	background-size: cover;
}
.bowling_service_block .person_card h1 {
	margin-bottom: 30px;
	padding: 10px 0 15px;
	font-size: 4.2rem;
	line-height: 1.4;
	border-bottom: 5px solid #fff;
}
.bowling_service_block .person_card .name_en {
	position: absolute;
	overflow: hidden;
	top: 50px;
	bottom: 50px;
	left: 0;
	pointer-events: none;
}
.bowling_service_block .person_card .name_en > * {
	display: block;
	position: relative;
	left: 50px;
	top: 50%;
	font-size: 2rem;
	letter-spacing: 2px;
	-webkit-transform: translate(-50%, -50%) rotate(-90deg);
	-ms-transform: translate(-50%, -50%) rotate(-90deg);
	-o-transform: translate(-50%, -50%) rotate(-90deg);
	transform: translate(-50%, -50%) rotate(-90deg);
	white-space: nowrap;
}
.bowling_service_block .person_card .name_en > *::before,
.bowling_service_block .person_card .name_en > *::after {
	content: "";
	position: absolute;
	top: 50%;
	border-top: 1px solid #fff;
	width: 2000px;
}
.bowling_service_block .person_card .name_en > *::before {
	right: calc(100% + 18px);
}
.bowling_service_block .person_card .name_en > *::after {
	left: calc(100% + 18px);
}
.bowling_service_block .person_card .link li + li {
	margin-top: 8px;
}
.bowling_service_block .person_card .link a {
	display: inline-block;
	position: relative;
	color: #fff;
	padding-right: 20px;
}
@media screen and (min-width: 769px), print {
	.bowling_service_block .person_card {
		min-height: 390px;
		padding: 50px 0;
		font-size: 1.8rem;
	}
	.bowling_service_block .person_card::after {
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		width: 50%;
	}
	.bowling_service_block .person_card > * {
		display: inline-block;
		max-width: 50%;
		padding-left: 100px;
	}
}
@media screen and (max-width: 768px) {
	.bowling_service_block .person_card {
		margin-top: 30px;
		border-radius: 10px;
	}
	.bowling_service_block .person_card::after {
		display: block;
		padding-top: 64%;
	}
	.bowling_service_block .person_card > * {
		position: relative;
		padding: 20px 20px 20px 65px;
	}
	.bowling_service_block .person_card h1 {
		margin-bottom: 20px;
		padding: 8px 0 13px;
		font-size: 2.8rem;
		border-bottom-width: 3px;
	}
	.bowling_service_block .person_card .name_en {
		top: 20px;
		bottom: 20px;
	}
	.bowling_service_block .person_card .name_en > * {
		left: 30px;
		top: 50%;
		font-size: 1.5rem;
	}
	.bowling_service_block .person_card .name_en > *::before {
		right: calc(100% + 10px);
	}
	.bowling_service_block .person_card .name_en > *::after {
		left: calc(100% + 10px);
	}
	.bowling_service_block .person_card .link {
		padding-bottom: 10px;
	}
}

.bowling_service_block .instructor_list section {
	font-weight: bold;
	line-height: 1.6;
}
.bowling_service_block .instructor_list section .ph {
	float: left;
	width: 240px;
}
.bowling_service_block .instructor_list section .ph img {
	max-width: 100%;
	height: auto;
}
.bowling_service_block .instructor_list section .ph ~ * {
	margin-left: 260px;
}
.bowling_service_block .instructor_list section h1 {
	font-size: 2rem;
}
.bowling_service_block .instructor_list section .class {
	margin-bottom: 10px;
	font-size: 1.4rem;
}
@media screen and (min-width: 769px), print {
	.bowling_service_block .instructor_list {
	}
}
@media screen and (max-width: 768px) {
	.bowling_service_block .instructor_list section .ph {
		width: 160px;
	}
	.bowling_service_block .instructor_list section .ph ~ * {
		margin-left: 170px;
	}
	.bowling_service_block .instructor_list section h1 {
		font-size: 1.6rem;
	}
	.bowling_service_block .instructor_list section .class {
		margin-bottom: 5px;
		font-size: 1.1rem;
	}
}
@media screen and (max-width: 370px) {
	.bowling_service_block .instructor_list section .ph {
		width: 130px;
	}
	.bowling_service_block .instructor_list section .ph ~ * {
		margin-left: 140px;
	}
}



/* slide_bnr_block
============================================================================================================ */
.slide_bnr_block ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}
.slide_bnr_block ul li {
	width: 310px;
	padding: 0 15px;
}
.slide_bnr_block ul li a {
	display: block;
	background-color: #fff;
	border-radius: 6px;
}
.slide_bnr_block ul li a > * {
	display: block;
	padding-top: 64.28%;
	border-radius: 6px;
	background-position: 50%;
	-webkit-background-size: cover;
	background-size: cover;
	text-decoration: none;
}
.slide_bnr_block ul li a > *.no_img {
	background-color: #f3f3f3;
}
.slide_bnr_block ul li a > *.no_img > span {
	position: absolute;
	top: 50%;
	right: 20px;
	left: 20px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
	font-weight: bold;
}
@media screen and (min-width: 769px), print {
	.slide_bnr_block ul li a > * {
		-webkit-transition: opacity .2s;
		-o-transition: opacity .2s;
		transition: opacity .2s;
	}
	.slide_bnr_block ul li a:hover > * {
		opacity: .7;
	}
}
@media screen and (max-width: 768px) {
	.slide_bnr_block ul li {
		width: 270px;
		padding: 0 5px;
	}
}


/* bowling_plan_list
============================================================================================================ */
.bowling_plan_list a {
	position: relative;
	display: block;
	background-color: #fff;
	text-decoration: none;
	text-align: center;
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 1.6;
	-webkit-box-shadow: 0 3px 5px rgba(0,0,0,.1);
	box-shadow: 0 3px 5px rgba(0,0,0,.1);
}
.bowling_plan_list a::after {
	content: "";
	position: absolute;
	right: 90px;
	left: 90px;
	bottom: 0;
	border-top: 2px solid #ffa423;
}
.bowling_plan_list a .ph {
	background-position: 50%;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}
@media screen and (min-width: 769px), print {
	.bowling_plan_list a .ph {
		display: block;
		padding-top: 66%;
	}
	.bowling_plan_list a .title {
		display: table-cell;
		width: 320px;
		height: 100px;
		vertical-align: middle;
	}
}
@media screen and (max-width: 768px) {
	.bowling_plan_list > * + * {
		margin-top: 10px;
	}
	.bowling_plan_list a {
		display: table;
		width: 100%;
		height: 110px;
		font-size: 1.3rem;
	}
	.bowling_plan_list a::after {
		right: 30px;
		left: calc(50% + 30px);
	}
	.bowling_plan_list a > * {
		display: table-cell;
		vertical-align: middle;
		width: 50%;
	}
}




/* bowling_service_list
============================================================================================================ */
.bowling_service_list a {
	position: relative;
	display: block;
	background-color: #fff;
	border-bottom: 1px solid #ededed;
	text-decoration: none;
	font-weight: bold;
	line-height: 1.5;
	-webkit-box-shadow: 0 0 5px rgba(0,0,0,.1);
	box-shadow: 0 0 5px rgba(0,0,0,.1);
}
.bowling_service_list a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	border-style: solid;
	border-width: 0 0 15px 15px;
	border-color: transparent transparent #ededed transparent;
}
.bowling_service_list a .ph {
	background-position: 50%;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}
.bowling_service_list a .cat {
	display: inline-block;
	min-width: 110px;
	margin-bottom: 15px;
	background-color: #ffa423;
	color: #fff;
	padding: 2px 10px;
	font-size: 1.3rem;
	line-height: 1.5;
	text-align: center;
}
.bowling_service_list a .title {
	display: block;
	font-size: 1.8rem;
}
@media screen and (min-width: 769px), print {
	.bowling_service_list a .ph {
		display: block;
		padding-top: 66%;
	}
	.bowling_service_list a .cont {
		display: block;
		padding: 30px 20px 20px;
	}
	.bowling_service_list a .title {
		min-height: 3em;
	}
}
@media screen and (max-width: 768px) {
	.bowling_service_list > * + * {
		margin-top: 10px;
	}
	.bowling_service_list a {
		display: table;
		width: 100%;
		height: 110px;
	}
	.bowling_service_list a > * {
		display: table-cell;
		width: 50%;
	}
	.bowling_service_list a .cont {
		padding: 10px;
	}
	.bowling_service_list a .cat {
		min-width: 80px;
		margin-bottom: 10px;
		padding: 1px 10px;
		font-size: 1.1rem;
	}
	.bowling_service_list a .title {
		font-size: 1.3rem;
	}
}