@charset "UTF-8";
/* CSS Document */

.categoryMenu {
	font-family: "Lucida Sans Unicode", "Lucida Grande", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	position: fixed;
	top: 50%;
	left: 0;
	transform: translateY(-94px);
	z-index: 9;
}

.categoryMenu .menuWrap {
	background: rgba(40,51,93,0.7);
	background: rgba(119,0,0,0.7);
	background: rgba(255,255,255,0.95);
	overflow: hidden;
	position: relative;
	box-shadow:5px 10px 10px #0003;
}
.categoryMenu .menuWrap ul {
	width: 300px;
	box-sizing: border-box;
	padding: 0 20px;
	position: absolute;
	top: 5px;
	left: 0;
}
.sp .categoryMenu .menuWrap ul {
	width: 170px;
}
.categoryMenu .menuWrap ul li {
	width: 100%;
	height: auto;
	box-sizing: border-box;
	font-size:13px;
	font-weight:bold;
	letter-spacing: 0.2em;
	color: #ffffff;
	color: #000000;
	text-align: center;
	line-height: 54px;
	background: inherit;
	border-top: 1px dotted #ffffff;
	border-top: 1px dotted #000000;
	cursor: pointer;
}
.sp .categoryMenu .menuWrap ul li {
	font-size: 10px;
	line-height: 32px;
}
.categoryMenu .menuWrap ul li:first-child {
	border-top: none;
}
.categoryMenu .menuWrap .menuClose {
	font-size: 120%;
	font-weight: bold;
	line-height: 1;
	cursor: pointer;
	position: absolute;
	top: 6px;
	right: 8px;
}
.categoryMenu .buttonOpen {
	width: 40px;
	/*height: auto;*/
	height: 188px;
	color: #000000;
	font-size: 13px;
	font-weight:bold;
	letter-spacing: 0.4em;
	text-align: center;
	line-height: 3em;
	/*padding:30px 0;*/
	background: #ffffff;
	border-top-right-radius: 30px;
	border-bottom-right-radius: 30px;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	cursor: pointer;
	position: absolute;
	top: 0;
	/*top: -94px;*/
	left: -2px;
	-webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
    box-shadow:5px 5px 5px #666a;
}
.categoryMenu .buttonOpen:hover {
	opacity: 1.0;
}

/* グリッドレイアウトのコンテナ */
.grid {
	width: 100%;
	margin: 0 auto;
	position: relative;
}
 
/* アイテム */
.item {
	display: block; /* 必須 */
	position: absolute; /* 必須 */
	border: none !important;
	/*margin: 5px;  アイテム間のマージン(jsで設定) */
	z-index: 1; /* 初期値 */
}
.item.muuri-item-dragging {
	z-index: 3;
}
.item-content {
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: relative;
}
.item-content img {
	width: 100%;
	height: 100%;
}
img.ofi {
	object-fit: cover;
	object-position: 50% 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;'
}
.item .popup {
	display: none;
}
.item-content a {
	width: 100%;
	height: 100%;
	display: block;
}
.item-content .caption {
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.8);
	position: absolute;
	top: 0;
	left: 0;
}
.sp .item-content .caption,
.sp .item-content .caption {
	display: none;
}
.item-content .caption .slideIn {
	color: #000000 !important;
	font-size: 13px !important;
	font-weight: bold !important;
	/*text-shadow:
		-1px -1px 2px rgba(0,0,0,0.4),
		0px -1px 2px rgba(0,0,0,0.4),
		1px -1px 2px rgba(0,0,0,0.4),
		1px 0px 2px rgba(0,0,0,0.4),
		1px 1px 2px rgba(0,0,0,0.4),
		0px 1px 2px rgba(0,0,0,0.4),
		-1px 1px 2px rgba(0,0,0,0.4),
		-1px 0px 2px rgba(0,0,0,0.4);*/
	display: table;
	position: absolute;	
	top: 50%;
	left: 50%;
	letter-spacing:0em !important;
	transform: translate(-50%, -50%);
}
.cols2 .item-content .caption .slideIn,
.rows2 .item-content .caption .slideIn {
	font-size: 105% !important; 
}
.cols2.rows2 .item-content .caption .slideIn,
.hokuou_zenkei .item-content .caption .slideIn {
	font-size: 120% !important; 
}
.item-content .caption.horizontal .slideIn {
	padding: 10px;
}
.item-content .caption.vertical .slideIn {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}


/* ポップアップのデフォルトCSS */
#colorbox,
#cboxOverlay,
#cboxWrapper{
	position:absolute;
	top:0;
	left:0;
	z-index:9999;
	overflow:hidden;
	-webkit-transform: translate3d(0,0,0);
}

#cboxWrapper{
	max-width:none;
}

#cboxOverlay{
	position:fixed;
	width:100%;
	height:100%;
}
#cboxMiddleLeft,
#cboxBottomLeft{
	clear:left;
}
#cboxContent{
	position:relative;
}
#cboxLoadedContent{
	overflow:auto;
	-webkit-overflow-scrolling: touch;
}
#cboxTitle{
	margin:0;
}
#cboxLoadingOverlay,
#cboxLoadingGraphic{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
#cboxPrevious,
#cboxNext,
#cboxClose,
#cboxSlideshow{
	cursor:pointer;
}
.cboxPhoto{
	float:left;
	margin:auto;
	border:0;
	display:block;
	max-width:none;
	-ms-interpolation-mode:bicubic;
}
.cboxIframe{
	width:100%; height:100%;
	display:block;
	border:0;
	padding:0;
	margin:0;
}
#colorbox,
#cboxContent,
#cboxLoadedContent{
	box-sizing:content-box;
	-moz-box-sizing:content-box;
	-webkit-box-sizing:content-box;
}


/* ポップアップのカスタムCSS */
#cboxOverlay{
	background:#000000 repeat 0 0;
	opacity: 0.7;
	filter: alpha(opacity = 70);
}
#colorbox{
	outline:0 !important;
}
    #cboxContent{
		background:none;
		overflow:hidden;
}
        .cboxIframe{
			background:#fff;
}
        #cboxError{
			padding:50px;
			border:1px solid #ccc;
}
        #cboxLoadedContent{
			border:4px solid #ffffff;
			border-radius: 4px;
			margin-bottom:32px;
}
        #cboxTitle{
			position:absolute;
			bottom:4px;
			left:0;
			text-align:center;
			width:100%;
			color:#ffffff;
}
        #cboxCurrent{
			position:absolute;
			bottom:4px;
			left:3px;
			color:#999999;
}
        #cboxLoadingOverlay{
			background:#ffffff;
			border-radius: 8px;
}
        #cboxLoadingGraphic{
			background:url('./icons/loading.svg') no-repeat center center;
}

        /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
        #cboxPrevious,
#cboxNext,
#cboxSlideshow,
#cboxClose{
	border:0;
	padding:0;
	margin:0;
	overflow:visible;
	width:auto;
	background:none;
}
        
        /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active,
#cboxNext:active,
#cboxSlideshow:active,
#cboxClose:active {
	outline:0;
}

        #cboxSlideshow{
			position:absolute;
			bottom:4px;
			right:30px;
			color:#0092ef;
}
        #cboxPrevious{
			position:absolute;
			top:0;
			left:0;
			background:url('./icons/prev.png') no-repeat 0 50%;
			width:50%; height:calc(100% - 32px);
			opacity: 0; text-indent:-9999px;
}
        #cboxPrevious:hover{
			opacity: 1;
}
        #cboxNext{
			position:absolute;
			top:0; right:0;
			background:url('./icons/next.png') no-repeat 100% 50%;
			width:50%;
			height:calc(100% - 32px);
			opacity: 0;
			text-indent:-9999px;
}
        #cboxNext:hover{
			opacity: 1;
}
		.tb #cboxPrevious {
			opacity: 0.7;
			background-position-x: -2%;
}
		.tb #cboxNext {
			opacity: 0.7;
			background-position-x: 102%;
}
        .sp #cboxPrevious {
			opacity: 0.6;
			background-size: 30px;
			background-position-x: -5%;
}
        .sp #cboxNext {
			opacity: 0.6;
			background-size: 30px;
			background-position-x: 105%;
}
        #cboxClose{
			position:absolute;
			bottom:0;
			right:4px;
			background:url('./icons/close.png') no-repeat 0 0;
			width:27px;
			height:27px;
			opacity: 0;
			text-indent:-9999px;
}
        .active #cboxClose{
			opacity: 0.5;
}
        #cboxClose:hover{
			opacity: 1;
}
#colorbox {
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%);
}
*:focus {outline: 0 !important;}


#cboxLoadedContent{
	background: rgba(255,255,255,0.8);
	border:4px solid #ffffff;
	border-radius: 4px;
	margin-bottom:32px;
	position: relative;
	overflow: hidden !important;
	float: none;
}
#cboxLoadedContent .popup {
	/*width: auto !important;
	max-width: 90vw !important;
	height: auto !important;
	max-height: 100% !important;*/
	height: inherit;
	/*display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;*/
}
.popupImage {
	width: 100%;
	padding-top: 56.25%;
	position: relative;
}
.popupImage iframe {
	width: 100%;
	height: 100%;
	border: none !important;
	position: absolute;
	top: 0;
	right: 0;
}
#cboxLoadedContent .popup img {
	max-width: 100%;
}
#cboxLoadedContent .overlayText {
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
	color: #000;
	background: #ffffff;
	padding: 20px 20px;
	position: static;
}
.tb #cboxLoadedContent .overlayText {
}
.sp #cboxLoadedContent .overlayText {
	/*width: 100%;*/
	/*background: #ffffff;*/
	padding: 10px 10px;
	/*position: static;*/
}
#cboxLoadedContent .overlayText h4 {
	font-size: 130%;
	font-weight: bold;
}
.tb #cboxLoadedContent .overlayText h4 {
	font-size: 130%;
	margin-bottom: 0.8em;
}
.sp #cboxLoadedContent .overlayText h4 {
	font-size: 115%;
	margin-bottom: 0.4em;
}
#cboxLoadedContent .overlayText p {
	font-size: 100%;
}
.tb #cboxLoadedContent .overlayText p {
	font-size: 100%;
}
.sp #cboxLoadedContent .overlayText p {
	font-size: 90%;
	line-height: 1.4;
}
@media screen and (max-width: 959px) {
	body {
		font-family: "Lucida Sans Unicode", "Lucida Grande", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	}
	.sub #subContainer .subTitleBox {
		margin-bottom: 30px;
	}
	.sub #subContainer .subTitleBox .homeHead_center {
		text-align: center;
	}
	.sub #subContainer .subTitleBox .homeHead_mainText,
	.sub #subContainer .subTitleBox .homeHead_subText {
		font-family: "Lucida Sans Unicode", "Lucida Grande", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
		font-weight: 700;
		text-align: center;
		letter-spacing: 3px;
	}
	.sub #subContainer .subTitleBox .homeHead h2 {
		font-size: 25px;
		line-height: 2em;
	}
	.sub #subContainer .subTitleBox .homeHead h3 {
		font-size: 16px;
	}

	.sub section#subContainer div.main_box h4 {
		font-weight: bold;
		font-size: 120%;
		padding: 0 0 5px 0;
		margin: 20px auto 10px auto;
		position: inherit;
		width:96%;
	}
	
	.sub #subContainer .subTitleBox .homeHead_subText.maintitle_sub{
		letter-spacing:0.1em;
	}

}
@media screen and (max-width: 479px) {
	.sub #subContainer .subTitleBox .homeHead h2 {
		font-size: 130%;
		font-feature-settings : "palt";
		line-height: 1.6em;
		letter-spacing:0.1em;
	}
	.sub #subContainer .subTitleBox .homeHead h3 {
		font-size: 90%;
	}
}

