@charset "utf-8";


/* 共通設定 */
header * {
	box-sizing: border-box;
}
.menu-container {
	width:100%;
}
.menu{
	float:right;
}

/*.menu > ul > li a {
	padding: 20px 30px 20px;
	transition: all 0.4s;
}*/

.menu > ul > li.toggle-year {
	padding:19px 18px 20px;
}
.menu > ul > li {
	transition: background-color 0.4s;
}
.menu > ul > li:hover {
	background-color: #c55217;
	/*background: -webkit-linear-gradient(bottom,#c55217 60px,transparent 60px);
	background: -moz-linear-gradient(bottom,#c55217 60px,transparent 60px);
	background: linear-gradient(to bottom,#c55217 60px,transparent 60px);*/
	transition: background-color 0.4s;
}

.menu > ul > li:last-child:hover {
	background-color: #ffffff;
}

.menu > ul > li .toggle-year:hover{
	background-color: #ffffff;
}

.menu > ul > li > ul {
	position: fixed;
	top:60px;
	left:0px;
	right:0;
	padding:20px 53px;
	margin: auto;
	/*width: calc(100% - 94px);*/
	/*max-width: 1171px;*/
	height:calc(100% - 60px); /*71vh*/
	max-height:756px;
	max-height:760px;
	background:#f0f0f0;
	overflow-y:scroll;
}

#header_menu .menu > ul > li:hover a.search-type {
	color:#FFF;
	transition: all 0.4s;
}
.menu > ul > li > ul > li {
	float:none;
	width:100%;
	text-align: left;
}
.menu > ul > li > ul > li a {
	color: #666;
	padding:9px 2px 7px;
	width:92%;
	font-weight:normal;
	height:32px;
}
.menu > ul > li > a > span.symbol svg {
	box-sizing: content-box;
	fill: #C55217;
	width: 11px;
    height: 7px;
    padding-left: 6px;
	padding-bottom: 2px;
	-webkit-transition: fill 0.4s ease-out;
    -moz-transition: fill 0.4s ease-out;
    -o-transition: fill 0.4s ease-out;
    -ms-transition: fill 0.4s ease-out;
    transition: fill 0.4s ease-out;
}
@media screen and (min-width:960px) and (max-width:1024px){
	.menu > ul > li > a > span.symbol svg {
		padding-left: 4px;
	}	
}
.menu > ul > li:hover > a > span.symbol svg {
	fill:#FFF;
}

.menu > ul > li > ul > li a.heading {
		line-height: 2.3;
	  color: #C55217;
    padding: .2em 0;
    width: 100%;
    display: block;
    border-bottom: 2px solid #C55217;
}
.menu > ul > li > ul > li span.heading {
		line-height: 2.3;
	  color: #C55217;
    padding: .2em 0;
		margin-bottom:1em;
    width: 100%;
    display: block;
    border-bottom: 2px solid #C55217;
}
.menu > ul > li > ul > li > ul {
	display:flex;
	flex-direction: column;
	flex-wrap: wrap;
	height: 659px; /*68vh;*/
}

.menu > ul > li > ul > li > ul > li {
	width:100%;
	padding:0;
}
.menu > ul > li > ul > li > ul > li.index-heading {/*索引の設定*/
	color: #666;
	font-weight:normal;
	height:32px;
	padding: 10px 2px 6px;
	width: 213px;
	background-image: linear-gradient(to right,rgba(102,102,102,0.2), rgba(102,102,102,0.2) 92%, transparent 92%);
}

.menu > ul > li > ul > li > ul > li.index-heading > a:before{
	content:none;
}

.menu > ul > li > ul > li > ul > li > a:before {
	content:'';
	display:block;
	position: absolute;
	left:0;
	bottom:0;
	height:1px;
	width:92%;
	background-image: url("../images/border.png");
	background-size:contain;
	background-repeat: repeat-x;
}
/*.menu > ul > li > ul > li > ul > li > ul {
	display:none;
}*/
.menu > ul > li > ul > li > ul > li > a.last-content:before,
.menu > ul > li.search-type-area > ul > li > ul > li > ul > li > a.last-content:before {
	content:none;
}


/* 場所から探す */
.menu > ul > li.search-type-area > ul {
	height:407px;  /*42vh*/
}
.menu > ul > li.search-type-area > ul > li {
	height:100%;
}
.menu > ul > li.search-type-area > ul > li > span{
	margin-bottom: 1.5em;
}
.menu > ul > li.search-type-area > ul > li a {
	width:100%;
}
.menu > ul > li.search-type-area > ul > li > ul {
	display: flex;
	flex-direction:row;
	height: auto;
}
.menu > ul > li.search-type-area > ul > li > ul > li {
	float:none;
	height:300px;
	margin-right:3em;
}
.menu > ul > li.search-type-area > ul > li > ul > li.index-heading{
	width:20%;
}
.menu > ul > li.search-type-area > ul > li > ul > li.search-type-area__aizu {
	width:28%;
}
.menu > ul > li.search-type-area > ul > li > ul > li.search-type-area__nakadoori {
	width:36%;
}
.menu > ul > li.search-type-area > ul > li > ul > li.search-type-area__hamadoori {
	width:18%;
}

.menu > ul > li.search-type-area > ul > li > ul > li > span.index-heading {/*索引の設定*/
	display:block;
	height:32px;
	font-weight:normal;
	font-size: 1.2em;
	color: #666;
	padding: 8px 2px;
	width: 100%;
	background-color: rgba(102,102,102,0.2);
}

.menu > ul > li.search-type-area > ul > li > ul > li > ul {
	padding:0;
	display: flex;
	flex-direction: column;
	flex-wrap:wrap;
	height: calc(100% - 32px)
}
.menu > ul > li.search-type-area > ul > li > ul > li > ul > li > a:before {
	content:'';
	display:block;
	position: absolute;
	left:0;
	bottom:0;
	height:1px;
	width:100%;
	background-image: url("../images/border.png");
	background-size:contain;
	background-repeat: repeat-x;
}


_:-ms-lang(x)::backdrop,
.menu > ul > li > ul > li > ul > li.index-heading {/* Edge対策 */
	padding:9px 2px 6px;
}
_:-ms-lang(x)::-ms-backdrop,
.menu > ul > li > ul > li > ul > li.index-heading {/* IE11対策 */
	padding:9px 2px 6px;
}
.menu > ul > li > ul > li > ul > li.index-heading.mac {/* macのみ */
	padding:9px 2px 6px;
}


_:-ms-lang(x)::backdrop,
.menu > ul > li.search-type-area > ul > li > ul > li > span.index-heading {/* Edge対策 */
	padding:7px 2px;
}
.menu > ul > li.search-type-area > ul > li > ul > li > span.index-heading.mac {/* macのみ */
	padding:7px 2px;
}


/*@media screen and (-webkit-min-device-pixel-ratio:0) {
    _::-webkit-full-page-media, _:future, :root .menu > ul > li > ul > li > ul > li.index-heading {
        padding:9px 2px 6px;
	}
}*/

@-moz-document url-prefix() {/* macのfirefox対策 */
	.menu > ul > li > ul > li > ul > li.index-heading.mac {
        padding:8px 2px 6px;
	}
	.menu > ul > li > ul > li a.mac {
		padding:7px 2px 7px;
	}
}

@media screen and (max-width:959px) {
	.menu {
		position: fixed;
		right: 0;
		width:100%;
		height: 60px;
	}
	.menu.menu__scroll {
		margin-top:60px;
		height: calc(100vh - 60px);
		/* overflow-y: scroll; */
	}
	.menu-mobile {
		position: fixed;
		top: 0;
		right: 0;
		height:60px;
		color: #c75516;
	}
	.menu-mobile:after {
		top:-1px;
		height:40px;
	}
	
	.menu-dropdown-icon:before {
		float:none;
		position:absolute;
		top:0;
		right:0;
		padding: 1.4em 1.9em;
	}
	.menu .show-on-mobile {
		background-color:#f0f0f0;
	}
	.menu > ul > li a {
		padding: 1.25em 1.5em;
	}
	.menu > ul > li > ul {
		position: relative;
		top: 0;
		left: 0;
		padding: 1.5em;
		width: 100%;
		background: #f0f0f0;
	}
	.menu > ul > li > ul.sm_1{
		height:calc(100vh - 120px);
	}
	.menu > ul > li.search-type-area > ul.sm_2{
		height:calc(100vh - 180px);
	}
	.menu > ul > li > ul.sm_3{
		height:calc(100vh - 240px);
	}
	.menu > ul > li > ul > li span.heading {
		display: none;
	}
	.menu > ul > li > ul > li > ul > li.index-heading,
	.menu > ul > li.search-type-area > ul > li > ul > li > span.index-heading {
		width: 100%;
		padding: 0.8em;
		height: auto;
	}
	.menu > ul > li > ul > li > ul > li {
		padding: 0;
	}
	.menu > ul > li > ul > li a {
		color: #666;
		padding: 9px 2px 7px;
		width: 100%;
		font-weight: normal;
		height: 32px;
	}
	.menu > ul > li > ul > li > ul > li > a:before {
		content: '';
		display: block;
		position: absolute;
		left: 0;
		bottom: 0;
		height: 1px;
		width: 100%;
		background-image: url(../images/border.png);
		background-size: contain;
		background-repeat: repeat-x;
	}
	.menu > ul > li.search-type-area > ul > li > ul > li > ul > li > a.no-line-sm:before{
		content: none;
	}
	.menu > ul > li > ul > li > ul > li > a.last-content,
	.menu > ul > li.search-type-area > ul > li > ul > li > ul > li > a.no-line-sm {
		margin-bottom:30px;
	}
	.menu > ul > li.search-type-area > ul > li > ul > li > span.index-heading {
		font-size: 1em;
	}
	.menu > ul > li > ul > li > ul > li.index-heading > ul {
		display: none;
	}
	.menu > ul > li > ul > li > ul > li.index-heading {
		background-color: rgba(102,102,102,0.4);
		background-image:none;
	}
	.menu > ul > li > ul > li > ul,
	.menu > ul > li.search-type-area > ul > li {
		height:auto;
	}
	.menu > ul > li.search-type-area > ul > li > ul {
		display:block;
		height:auto;
	}
	.menu > ul > li.search-type-area > ul > li > ul > li.search-type-area__aizu,
	.menu > ul > li.search-type-area > ul > li > ul > li.search-type-area__nakadoori,
	.menu > ul > li.search-type-area > ul > li > ul > li.search-type-area__hamadoori {
		width:100%;
		height:auto;
	}
	/*.menu > ul > li.search-type-area > ul > li > ul > li > ul {
		display:none;
	}*/
	.menu > ul > li.toggle-year {
		padding:1.25em 1.5em;
	}
	.menu> ul > li.search-type-area > ul > li > ul > li > ul > li.sm-ds-none {
		display:none;
	}
}


@media screen and (min-width:960px){
	.menu > ul > li > ul {
		width:calc(100% - 196px);
	}
	.menu > ul > li a {
		padding: 20px 10px 20px;
		transition: all 0.4s;
	}
	.menu > ul > li.search-type-area > ul > li > ul > li > ul > li > a.no-line-pc:before {
		content: none;
	}
}


@media screen and (min-width:960px) and (max-width:1085px){/* メニューが3カラムの時 */
	.menu > ul > li > ul > li > ul {
		box-sizing: content-box;
		display:flex;
		flex-direction: column;
		flex-wrap: wrap;
		height: 1088px; /*68vh;*/
		width: 100%;
		padding-bottom:20px;
	}
	.menu > ul > li > ul > li > ul > li.index-heading,
	.menu > ul > li > ul > li > ul > li {
		width:33%;
		min-width: 213px;
	}
	.menu > ul > li > ul > li > ul > li.mac {
		min-width:0px;
	}
	.menu > ul > li > ul > li > ul > li > a.no-line-column3:before,
	.menu > ul > li.search-type-area > ul > li > ul > li > ul > li > a.no-line-column3:before {
		content:none;
	}
	.menu > ul > li.search-type-area > ul > li > ul > li.search-type-area__aizu,
	.menu > ul > li.search-type-area > ul > li > ul > li.search-type-area__hamadoori{
		width:44%;
	}
	.menu > ul > li.search-type-area > ul > li > ul > li.search-type-area__nakadoori {
		width:49%;
		margin-right:0;
	}
	.menu > ul > li.search-type-area > ul > li > ul {
		box-sizing: content-box;
		padding-bottom:20px;
	}
}


@media screen and (min-width:960px) and (max-width:1024px){
	.menu > ul > li a {
		padding: 23px 9px 21px;
		transition: all 0.4s;
		font-size: 13px;
	}		
}

@media screen and (min-width:1024px) and (max-width:1065px){
	.menu > ul > li a {
		padding: 22px 9px 20px;
		transition: all 0.4s;
		font-size: 14px;
	}		
}


@media screen and (min-width:1066px) {
	.menu > ul > li a {
		padding: 20px 10px 20px;
		transition: all 0.4s;
	}
}

@media screen and (min-width:1106px) {
	.menu > ul > li a {
		padding: 20px 15px 20px;
		transition: all 0.4s;
	}
}


@media screen and (min-width:1146px) {
	.menu > ul > li a {
		padding: 20px 20px 20px;
		transition: all 0.4s;
	}
}

@media screen and (min-width:1226px) {
	.menu > ul > li a {
		padding: 20px 30px 20px;
		transition: all 0.4s;
	}
}

@media screen and (min-width:1086px) and (max-width:1106px){
	.menu > ul > li.search-type-area > ul > li > ul > li.search-type-area__aizu {
		width:30%;
	}
}

@media screen and (min-width:1086px) and (max-width:1279px) {/* メニューが4カラムの時 */
	.menu > ul > li > ul > li > ul {
		box-sizing: content-box;
		display:flex;
		flex-direction: column;
		flex-wrap: wrap;
		height: 800px; /*68vh;*/
		width: 100%;
		padding-bottom:20px;
	}
	.menu > ul > li > ul > li > ul > li.index-heading,
	.menu > ul > li > ul > li > ul > li {
		width:25%;
	}
	.menu > ul > li > ul > li > ul > li > a.no-line-column4:before,
	.menu > ul > li.search-type-area > ul > li > ul > li > ul > li > a.no-line-column4:before {
		content:none;
	}	
}


@media screen and (min-width:1280px){
	.menu > ul > li > ul {
		width: calc(100% - 94px);
	}
	.menu > ul > li > ul > li > ul > li.index-heading,
	.menu > ul > li > ul > li > ul > li {
		width:20%;
	}
	.menu > ul > li > ul > li > ul > li > a.no-line-column5:before,
	.menu > ul > li.search-type-area > ul > li > ul > li > ul > li > a.no-line-column5:before {
		content:none;
	}	
}