/* --------------------------------------------------
	dento 共通
-------------------------------------------------- */

/* ------------------------------------------------------------
	共通レイアウト
------------------------------------------------------------ */
.w940 {
	max-width: min(100%, 940px);
	margin: 0 auto;
}

.w1200 {
	max-width: min(100%, 1200px);
	margin: 0 auto;
}

a { color: #0155AD; }



/* ------------------------------------------------------------
	ローカルナビ
------------------------------------------------------------ */
#nav_dento_local {
	/*max-width: 940px;*/
	max-width: min(100%, 940px);
	margin: 0 auto;
	/*height: 102px;*/
	width: 100%;
	position: relative;

	height: 70px;
}

#nav_dento_local > .inner {
	/*height: 102px;*/
	background-color: #fff;
	
	width: 100%;
	/*padding: 20px 0;*/
	height: 70px;
	
	top: 0;
	/*top: -102px;*/

	/*transition: all 0.3s ease-in-out;*/

	transition: 0.4s;
}

#nav_dento_local.fixed > .inner {
	position: fixed;
	z-index: 200;
	/*top: 56px;*/

	/*box-shadow: 0 3px 8px rgba(0,0,0,0.3);*/

	box-shadow: 0 3px 8px rgba(0,0,0,0.1);

	left: 0;

	animation: obj_fade_in 0.3s ease-in-out;
	animation-fill-mode: forwards;
}

#nav_dento_local.on > .inner {
	top: 56px;
}

#nav_dento_local.hide > .inner {
	/*transform: translateY(-120%);*/
	transform: translateY(-150%);
}



#nav_dento_local > .inner > ul {
	display: flex;
	width: 100%;

	/*max-width: 940px;*/
	max-width: min(100%, 940px);
	margin: 0 auto;
	gap: 8px;
}

#nav_dento_local > .inner > ul > li {
	width: 20%;
}

#nav_dento_local > .inner > ul > li > a {
	text-decoration: none;
	text-align: center;
	
	display: flex;
	align-items: center;
	justify-content: center;
	
	/*padding: 10px;*/

	/*height: 30px;*/
	/*height: 60px;*/
	min-height: 70px;

	font-size: 0.8rem;
	font-size: 1.3rem;
	color: #333;

	/*border: 1px solid #ccc;*/

	position: relative;

	border-radius: 8px;
}

#nav_dento_local > .inner > ul > li > a.nav-button-megaMenu.current {
	/*border: 2px solid #ccc;*/
	/*background-color: #eee;*/
}

#nav_dento_local > .inner > ul > li > a.off {
	opacity: 0.4;
}



#nav_dento_local > .inner > ul > li > a > div.btn-def-simple {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
}

#nav_dento_local > .inner > ul > li.current > a > div.btn-def-simple {
	background-color: #188542;
	color: #fff;
	box-shadow: none;
	/*text-shadow: 0 1px 6px rgba(0,0,0,0.3);*/
	/*font-weight: bold;*/
}

#nav_dento_local > .inner > ul > li.current > a > div.btn-def-simple img {
	/*filter: grayscale(100%) invert(100%);*/
	filter: grayscale(100%) contrast(400%) invert(100%);
}


#nav_dento_local > .inner > ul > li > a > div > div {
	text-align: center;
	display: flex;
	align-items: center;
	gap: 8px;

	/*padding-bottom: 4px;
	margin-bottom: 8px;*/
}

#nav_dento_local > .inner > ul > li > a > div > div > span {
	
}

#nav_dento_local > .inner > ul > li > a .arrow {
	position: absolute;
	bottom: 10px;
	left: 50%;
	transform: translateX(-50%);
	
	padding: 0;
	border-radius: 0 0 4px 4px;

	width: 100%;
	display: block;
	bottom: 3px;
	bottom: 10px;
}

#nav_dento_local > .inner > ul > li.current > a .arrow {
	/*background-color: #188542;*/
	color: #fff;
	
}


#nav_dento_local > .inner > ul > li > a span {
	display: block;
}

#nav_dento_local > .inner > ul > li > a span.icon {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	/*background-color: #eee;
	border-radius: 6px;*/
	margin: 0 auto;
	/*font-size: 1.2rem;*/
}

#nav_dento_local > .inner > ul > li > a.current span.icon {
	/*background-color: #666;
	color: #fff;
	*/
}

#nav_dento_local > .inner > ul > li > a span.icon img {
	width: 100%;
	height: 100%;
}

#nav_dento_local > .inner > ul > li > a span.cap {
	/*margin-top: 4px;*/
	/*font-weight: bold;*/
}

#nav_dento_local > .inner > ul > li > a span.cap i {
	margin-left: 0.4em;
}

#nav_dento_local > .inner > ul > li > .submenu {
	
	display: none;

	position: absolute;
	left: 0;
	top: 102px;
	top: 70px;
	top: 69.5px;

	width: 100%;
	
	/*max-width: 940px;*/
	max-width: min(100%, 940px);
	/*left: calc(50% - 940px/2);*/

	left: calc(50% - min(100%, 940px)/2);

	/*padding: 10px;
	padding-top: 30px;*/
	/*background-color: #1d4f0d;*/
	
	box-sizing: border-box;
	/*display: none;
	opacity: 0;*/
	box-shadow: 0 2px 4px rgba(0,0,0,0.3);
	/*animation: obj_fade_in 0.4s ease-in-out, obj_slide_in 0.2s ease-in-out;*/
	animation: obj_fade_in 0.4s ease-in-out;
	animation-fill-mode: forwards;

	z-index: 15;

	/*padding: 20px 0 0 0;*/

	overflow-y: auto;
	overscroll-behavior-y: none;

	height: auto;
	/*max-height: calc(100svh - 158px - 32px);*/

	border-radius: 0 0 6px 6px;

	/*border-top: 3px solid #188542;*/
}

#nav_dento_local > .inner > ul > li > .submenu.on {
	display: block;
}

#nav_dento_local > .inner > ul > li > .submenu > .inner {
	background-color: #eee;
	background-color: #fff;
	padding: 10px;
	padding-bottom: 20px;

	/*padding-bottom: 64px;*/
}

#nav_dento_local > .inner > ul > li > .submenu > .btn_close {
	background-color: #eee;
	background-color: #DEF2ED;
	background-color: #007853;
	background-color: #188542;
	
	border-top: 1px solid #ccc;

	/*position: fixed;
	bottom: 0;*/
	width: 100%;

	text-align: center;

	border-radius: 0 0 5px 5px;

	
}

#nav_dento_local > .inner > ul > li > .submenu > .btn_close > a {
	/*display: block;
	text-decoration: none;
	text-align: center;

	padding: 8px;*/

	font-size: 1.2rem;
	color: #fff;
	
	width: 100%;
	height: 100%;
	padding: 10px;
	justify-content: center;
	align-items: center;
}

#nav_dento_local > .inner > ul > li > .submenu > .btn_close > a i { color: #fff; }



#nav_dento_local_entry .submenu > .inner > .grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto 1fr;
    gap: 8px;
}

#nav_dento_local_entry .submenu > .inner > .grid > .unit {
	padding: 10px;
	height: auto;
}

#nav_dento_local_entry .submenu > .inner > .grid > .unit.soku {
	grid-column: 1 / 3;
	background-color: #1976d2;
	color: #fff;
}

#nav_dento_local_entry .submenu > .inner > .grid > .unit.apat {
	grid-column: 1 / 2;
	background-color: #db3232;
	color: #fff;

	
    display: grid;
    grid-template-rows: subgrid;
	grid-row: span 4;
    gap: 10px;
	
}

#nav_dento_local_entry .submenu > .inner > .grid > .unit.direct {
	grid-column: 2 / 3;
	background-color: #138749;
	color: #fff;

	display: grid;
    grid-template-rows: subgrid;
	grid-row: span 4;
    gap: 10px;
}




#nav_dento_local_entry .submenu > .inner > .grid > .unit > .title {
	font-weight: bold;
	font-size: 1.5rem;
}

#nav_dento_local_entry .submenu > .inner > .grid > .unit > ul.links {
	display: block;
}

#nav_dento_local_entry .submenu > .inner > .grid > .unit.soku > ul.links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 0;
}

#nav_dento_local_entry .submenu > .inner > .grid > .unit > ul.links > li > a {
	color: #fff;
	font-size: 1rem;
	text-decoration: none;
	padding: 5px 0;
}

#nav_dento_local_entry .submenu > .inner > .grid > .unit.soku > ul.links > li > a {
	font-size: 1.2rem;
	padding: 10px 5px;
}



#nav_dento_local_entry .submenu > .inner > .grid > .unit > ul.links_entry {
	display: flex;
	gap: 10px;
}

#nav_dento_local_entry .submenu > .inner > .grid > .unit > ul.links_entry > li {
	width: 50%;
}

#nav_dento_local_entry .submenu > .inner > .grid > .unit.soku > ul.links_entry > li > a {
	font-size: 1.3rem;
}


#nav_dento_local_entry .submenu > .inner > .grid > .unit.apat > ul.links_entry,
#nav_dento_local_entry .submenu > .inner > .grid > .unit.direct > ul.links_entry {
	flex-direction: column;
	gap: 6px;
}

#nav_dento_local_entry .submenu > .inner > .grid > .unit.apat > ul.links_entry > li,
#nav_dento_local_entry .submenu > .inner > .grid > .unit.direct > ul.links_entry > li {
	width: 100%;
}


#nav_dento_local_entry .submenu > .inner > .bottom a {
	text-decoration: none;
	text-align: center;
	display: block;
	color: #333;
}

#nav_dento_local_campaign .submenu .banner_list > li + li {
	margin-top: 10px;
}

#nav_dento_local_campaign .submenu .banner_list > li > a {
	display: block;
}

#nav_dento_local_campaign .submenu .banner_list > li > a img {
	vertical-align: top;
}

#nav_dento_local_campaign .submenu .banner_club_jra_net {
	margin-top: 10px;
}

#nav_dento_local_campaign .submenu .banner_club_jra_net > a {
	display: block;
	background-color: #fff;
	text-decoration: none;
	color: #333;

	padding: 15px 20px;
	text-align: center;

	box-shadow: 0 1px 4px rgba(0,0,0,0.2);
	border-radius: 4px;
}




#nav_dento_local_faq .submenu .faq_list.btns > ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}


/*
#nav_dento_local_faq .submenu .faq_list > ul > li > a {
	display: block;
	border: 1px solid #ccc;
	background-color: #fff;
	color: #333;
	border-radius: 6px;
	padding: 10px;
	text-decoration: none;
	font-weight: bold;
}
*/

#nav_dento_local_faq .submenu .faq_list.btns > ul > li.link_icon > a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 24px 8px 8px;
	padding: 10px 24px 10px 10px;
}

#nav_dento_local_faq .submenu .faq_list.btns > ul > li.link_icon > a .icon img {
	max-width: 44px;
}

#nav_dento_local_faq .submenu .faq_list.lines {
	padding: 0 10px;
}

#nav_dento_local_faq .submenu .faq_list.lines > ul > li + li {
	margin-top: 8px;
}


#nav_dento_local_faq .submenu .link_other {
	margin-top: 10px;
	text-align: center;
}

#nav_dento_local_faq .submenu .link_other > a {
	/*padding: 10px;*/
	margin: 0 auto;
}





/* - ログインボタン（楕円グラデ）
---------------------------------------------------------------------- */
.login_btn { text-align: center; }
.login_btn > a { display: inline-block; text-align: center; text-decoration: none; }
.login_btn > a .cap { text-align: center; }
.login_btn > a .cap img { max-height: 26px; vertical-align: top; }
.login_btn.direct > a .cap img { max-height: 40px; }

.login_btn > a .cap + .btn-round {
	margin-top: 5px;
	min-width: 200px;
}

/*.login_btn.jra > a .btn-round { background: linear-gradient(135deg, #186AA4, #0f476f); }*/
.login_btn.jra > a .btn-round { background: linear-gradient(135deg, #1b77b8, #0f476f); }
.login_btn.nar > a .btn-round { background: linear-gradient(135deg, #AE5533, #581800); }
.login_btn.direct > a .btn-round { background: linear-gradient(135deg, #007440, #00542f); }


/* - .button-list カスタマイズ
---------------------------------------------------------------------- */
/*.button-list.pdf-link-single > div > a.link-icon i { font-size: 1.5rem; }*/
/*.button-list.pdf-link > div > a { padding: 8px; }*/
.button-list.pdf-link > div > a .icon i { font-size: 2.4rem; }



/* - ユーティリティ
---------------------------------------------------------------------- */
br.sp { display: none; }


/* ------------------------------------------------------------
	959px以下
------------------------------------------------------------ */
@media screen and ( max-width : 959px ) {
	.w940 { padding: 0 10px; }

	#nav_dento_local > .inner {
		padding: 0 10px;
	}

	#nav_dento_local > .inner > ul > li > a {
		font-size: 1rem;
	}

	#nav_dento_local > .inner > ul > li > a .arrow {
		/*bottom: 0;*/
		bottom: 3px;
	}

	#nav_dento_local > .inner > ul {
		gap: 5px;
	}
	#nav_dento_local > .inner > ul > li > a > div.btn-def-simple {
		padding: 4px 0;
		border: none;
		box-shadow: none;
	}

	#nav_dento_local > .inner > ul > li > a > div > div {
		flex-direction: column;
		gap: 0;
		padding-bottom: 4px;
	}

	#nav_dento_local > .inner > ul > li > a span.icon img {
		max-width: 30px;
	}


}


/* ------------------------------------------------------------

	767px以下

------------------------------------------------------------ */
@media screen and ( max-width : 767px ) {


	#nav_dento_local_faq .submenu .faq_list.btns > ul {
		display: block;
	}

	#nav_dento_local_faq .submenu .faq_list.btns > ul > li + li {
		margin-top: 5px;
	}
	
	#nav_dento_local_faq .submenu .faq_list.btns > ul > li.link_icon > a {
		padding: 8px;
		/*font-size: 1.2rem;*/
	}

	#nav_dento_local_faq .submenu .faq_list.btns > ul > li.link_icon > a .icon img {
		max-width: 40px;
	}

	#nav_dento_local_faq .submenu .faq_list.lines > li {
		font-size: 1.2rem;
		line-height: 1.3;
	}
}

/* ------------------------------------------------------------
	639px以下
------------------------------------------------------------ */
@media screen and ( max-width : 639px ) {

}


/* ------------------------------------------------------------
	479px以下
------------------------------------------------------------ */
@media screen and ( max-width : 479px ) {
    
	/* - .button-list カスタマイズ
	---------------------------------------------------------------------- */
	.button-list.pdf-link > div > a.center,
	.button-list.pdf-link.center > div > a {
		justify-content: flex-start;
		text-align: left;
	}

	/*.button-list > div > a .opt.sp-block { display: block; padding: 2px 0; }*/

	/* - .button-list カスタマイズ
	---------------------------------------------------------------------- */
	.button-list.pdf-link > div > a .icon i { font-size: 2rem; }

	
	/* - ユーティリティ
	---------------------------------------------------------------------- */
	br.sp { display: block; }
}

