@charset "UTF-8";

/*============================================*/
/* !! 共通*/
/*============================================*/
*{
	letter-spacing: 0.1em;
	line-height: 1.8em;
	font-family: "Shippori Mincho", serif;
	  font-weight: 400;
	  font-style: normal;
	  font-size: 98%;
}

html {
	width: 100%;
	height: 100%;
}

body {
	width: 100%;
	min-height: 100%;
	height: auto;
}


#wrapper {
	background: #fafaf7;
	width: 100%;
	min-height: 100vh;
	height: auto;
}

header {
	position: absolute;
	right: 32px;
	top: 32px;
	z-index: 8;
	
}

header h1 {
	margin-right: 88px;
}

header h1 a {
	font-size: 16px;
}

.site-title_fade {
	position: absolute;
	left: 32px;
	top: 32px;
}

.site-title_fade a {
	font-size: 16px;
	color: #000;
}

menu {
	height: calc(100% - 100px);
	max-height: 700px;
	position: relative;
	z-index: 11;
}


menu a {
	font-size: 16px;
}

.mid_menu {
	margin: 88px 0;
}

.mid_menu a {
	display: inline-block;
}
/*サブメニュー*/
.accordion-content {}
.vertical-text {
  writing-mode: vertical-rl;
  text-orientation: mixed;
}
.accordion-content a {
	display: block;
	margin: 16px 0 0;
	padding-top: 48px;
}

.accordion-content a::before {
  content: "";
  position: relative;
  top: -48px;
  left: -16px;
  width: 1px;   /* 線の長さ */
  height: 32px;   /* 線の太さ */
  background: #fff; /* 線の色 */
  display: block;
  z-index: 9;
}
.accordion-content-black a::before {
  content: "";
  position: relative;
  top: -48px;
  left: -16px;
  width: 1px;   /* 線の長さ */
  height: 32px;   /* 線の太さ */
  background: #000; /* 線の色 */
  display: block;
  z-index: 9;
}

/*END*/

.highLine {
	background: #fff;
	width: 1px;
	height: 48px;
	display: inline-block;
	margin: 8px 0;
}

.warpper {
	width: 100vw;   /* ビューポート幅いっぱい */
	height: 100vh;  
	overflow: hidden;
	min-height: 700px;
}

.slider {
	width: 100vw;   /* ビューポート幅いっぱい */
	height: 100vh;  
	overflow: hidden;
	min-height: 700px;
}

.slider img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	/*transform-origin: center;         /* 中央を基準に拡大 */
	/*animation: zoom 30s linear forwards; /* 60秒でズームして止まる */
	position: relative;
	z-index: 0;
}

.notslider {
	width: 100vw;   /* ビューポート幅いっぱい */
	min-height: 100vh;
	overflow: hidden;
}

.notslider img {
	
}

@keyframes zoom {
  from {
	transform: scale(1);   /* 100% */
  }
  to {
	transform: scale(1.20); /* 120% */
  }
}

/*============================================*/
/* !! ハンバーガー*/
/*============================================*/
.nav {
	position: fixed;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: -1;
	display: none;
}
.open2 {
	display: block;
	z-index: 10 !important;
}
.nav ul {
	/*最初はナビゲーションボタンは非表示*/
	display: none;
	list-style: none;
}
.nav li {
	margin: 24% 0;
}
.nav li a{
	padding: 8px;
	font-size: 16px;
	color: #464646;
	display: inline-block;
	text-align: center;
	text-decoration: none;
}
.highLineB {
	background: #000;
	width: 32px;
	height: 1px;
	display: inline-block;
	margin: 0 0px;
	position: relative;
	top: 1px;
}

.hamburger {
	position: absolute;
	top: 42px;
	right: 32px;
	cursor: pointer;
	width: 32px;
	height: 48px;
	z-index: 10;
}
.hamburger span {
	/*3本の線を作る*/
	transition: all .3s;
	position: absolute;
	height: 1px;
	background-color: #fff;
	width: 100%;
	z-index: 10;
}
.hamburger span:nth-of-type(1) {
	/*上の線の位置*/
	top: 4px;
	transform: translateY(6px) rotate(-90deg);
	width: 48px;
}
.hamburger span:nth-of-type(2) {
	/*真ん中の線の位置*/
	top: 12px;
	display: none;
}
.hamburger span:nth-of-type(3) {
	/*下の線の位置*/
	top: 10px;
	left: 8px;
}

.hamburger.open span {
	/*3本の線を作る*/
	transition: all .3s;
	position: absolute;
	height: 1px;
	background-color: #000;
	width: 100%;
	z-index: 10;
}

.hamburger.open span:nth-of-type(1) {
	/*openのとき、上の線を右斜めにする*/
	top: 10px;
	transform: translateY(6px) rotate(-40deg);
	width: 48px;
}
.hamburger.open span:nth-of-type(2) {
	/*真ん中の線を消す*/
	opacity: 0;
}
.hamburger.open span:nth-of-type(3) {
	/*下の線を左斜めにする*/
	top: 22px;
	transform: translateY(-6px) rotate(40deg);
}
/* 初期は非表示 */
#overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fafaf7;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s;
  z-index: 9; /* メニューより下にしたいなら調整 */
}

/* 表示状態 */
#overlay.show {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s;
}




/*============================================*/
/* !! TOPブログ記事*/
/*============================================*/
.blog_top {
	position: absolute;
	left: 16%;
	bottom: 20%;
	width: 280px;
	height: 240px;
	z-index: 6;
}
.blog_top li {
	color: #fff;
	font-size: 14px;
}
.blog_top span {
	color: #fff;
	font-size: 14px;
}
.blog_top a {
	color: #fff;
	display: block;
	font-size: 14px;
}
.blog_top a:hover {
	text-decoration: underline;
	
}
ul .post_li:nth-child(1) {
	margin-bottom: 24px;
}

.circle {
	margin: 0 auto 16px;
	width: 8px;
	height: 8px;
	background: #fff;
	border-radius: 100px;
	display: block;	
}
.highLineW {
	background: #fff;
	width: 32px;
	height: 1px;
	display: inline-block;
	margin: 0 4px;
}


.single_article {
	margin: 0 auto;
	max-width: 500px;
	width: calc(100% - 48px);
}
.single_article img {
	width: 100%;
	height: auto;
	margin: 0 0 24px 0;
}

.single_article p {
	
}




/*============================================*/
/* !! 下層ヘッダー*/
/*============================================*/

.white {
	color: #fff;
}
.gray {
	color: #878787;
	transition: 0.2s;
}
.gray_hover:hover {
	color: #000;
	transition: 0.2s;
}
.black {
	color: #000 !important;
}
.highLine_layer {
	background: #000;
	width: 1px;
	height: 48px;
	display: inline-block;
	margin: 8px 0;
}

.lefterline {
	border-left: 1px solid #000;
	padding-left: 0;
	display: inline-block;
}


.bgb {
	background: #000 !important;
}

.lh_minus {
	background: #000;
	width: 110px;
	height: 1px;
	display: inline-block;
	margin: 0 8px;
}
.lh_minus2 {
	background: #000;
	width: 69px;
	height: 1px;
	display: inline-block;
	margin: 0 8px;
}

/*============================================*/
/* !! 紹介ページ*/
/*============================================*/

.nendai {
	display: inline-block;
	width: 40px;
}
.nendai2 {
	display: inline-block;
	width: 32px;
}



/*============================================*/
/* !! ギャラリー */
/*============================================*/

.ngg-galleryoverview {
	text-align: left !important;
	max-width: 1800px;
	margin-right: auto;
	margin-left: auto;
}

.ngg-gallery-thumbnail {
	text-align: center;
	max-width: 100% !important;
	background-color: #FFFFFF;
	border: none !important;
	margin-right: 0px !important;
	margin: 0px !important;
}
.ngg-galleryoverview.default-view .ngg-gallery-thumbnail a {
	margin: 0px !important;
	box-shadow: none;
}

.ngg-gallery-thumbnail img {
	display: block;
	margin: 0;
	padding: 0;
	position: relative;
	
	width: auto !important;
	height: auto !important;
	max-width: auto !important;
	max-height: auto !important;
}

.ngg-galleryoverview.default-view .ngg-gallery-thumbnail-box {
	width: 280px;
}


.sl-overlay {
	background: #fafaf7 !important;
	opacity: 1 !important;
}

.mr128_pc {
	margin-right: 64px;
}

.sl-counter {
	display: none !important;
}


.sl-wrapper .sl-close {
	font-family: "Shippori Mincho", serif !important;

}
/*これをバツマークの代わりにしたい*/

.sl-close span {
	/*3本の線を作る*/
	transition: all .3s;
	position: absolute;
	height: 1px;
	background-color: #000;
	width: 100%;
	z-index: 10;
}
.sl-close span:nth-of-type(1) {
	/*openのとき、上の線を右斜めにする*/
	top: 10px;
	transform: translateY(6px) rotate(-40deg);
	width: 48px;
}
.sl-close span:nth-of-type(2) {
	/*真ん中の線を消す*/
	opacity: 0;
}
.sl-close span:nth-of-type(3) {
	/*下の線を左斜めにする*/
	top: 22px;
	left: 10px;
	transform: translateY(-6px) rotate(40deg);
	width: 32px;
}




.sl-wrapper .sl-navigation button {
	position: fixed;
	top: auto !important;
	margin-top: -22px;
	height: 44px;
	width: 22px;
	line-height: 44px;
	text-align: center;
	display: block;
	z-index: 10060;
	font-family: Arial, Baskerville, monospace;
	color: #000;
}
.sl-wrapper .sl-navigation button.sl-prev {
	left: 40px !important;
	top: 80px !important;
	font-size: 3rem;
	color: transparent !important;
	width: 30px;
	height: 80px;
	background: #111;
	background: url(img/arrow_top.svg) no-repeat center center;
}

.sl-wrapper .sl-navigation button.sl-next {
	left: 40px !important;
	right: auto !important;
	bottom: 64px !important;
	font-size: 3rem;
	color: transparent !important; 
	width: 30px;
	height: 80px;
	background: url(img/arrow_bottom.svg) no-repeat center center;
}

/*パスワード*/
.password-input {
	border:1px solid #111;
	padding: 8px 16px;
	display: block;
	width: 300px;
	margin: 8px auto;
}
.password-button {
	border-bottom: 1px solid #111;
	padding-bottom: 4px;
	margin: 0 auto;
}
.password-button:hover {
	border-bottom: 1px solid #888;
	padding-bottom: 4px;
	margin: 0 auto;
}




/*============================================*/
/* !! ギャラリータイトルの取得 */
/*============================================*/
.ngg-gallery-thumbnail a {
  position: relative;
  display: inline-block;
  background: #000 !important;
}

.ngg-gallery-thumbnail a::after {
  content: attr(title);
  position: absolute;
  color: white;
  padding: 0px 8px;
  line-height: 2em;
  font-size: 14px;
  opacity: 0;
  transition: 0.3s;
  text-align: left;
  height: auto;
  display: inline-block !important;
}

.ngg-gallery-thumbnail a:hover::after {
  opacity: 1;
}

.ngg-gallery-thumbnail a:not([title=""])::after {
  content: attr(title);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  padding: 6px 10px;
  opacity: 0;
  transition: 0.2s;
  height: auto;
  display: inline-block !important;
  width: calc(100% - 20px) !important;
  text-align: center !important;
  font-size: 12px !important;
}

.ngg-gallery-thumbnail a:not([title=""]):hover::after {
  opacity: 1;
}

.sl-wrapper .sl-image .sl-caption {
	font-size: 0.7rem !important;
}

/*ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
/*ーーーーーーーーーーーーーーーーーーーBASIC CLASSーーーーーーーーーーーーーーーーーーーーーー*/
/*ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
/*FLEX*/
.flex {
  display: flex;
}

.flex-row    { flex-direction: row; }          /* 横並び（デフォルト） */
.flex-row-reverse { flex-direction: row-reverse; }
.flex-col    { flex-direction: column; }       /* 縦並び */
.flex-col-reverse { flex-direction: column-reverse; }

.justify-start   { justify-content: flex-start; }
.justify-end     { justify-content: flex-end; }
.justify-center  { justify-content: center; }
.justify-between { justify-content: space-between; }
.justify-around  { justify-content: space-around; }
.justify-evenly  { justify-content: space-evenly; }

.items-start    { align-items: flex-start; }
.items-end      { align-items: flex-end; }
.items-center   { align-items: center; }
.items-baseline { align-items: baseline; }
.items-stretch  { align-items: stretch; }

.content-start   { align-content: flex-start; }
.content-end     { align-content: flex-end; }
.content-center  { align-content: center; }
.content-between { align-content: space-between; }
.content-around  { align-content: space-around; }
.content-evenly  { align-content: space-evenly; }

.self-auto     { align-self: auto; }
.self-start    { align-self: flex-start; }
.self-end      { align-self: flex-end; }
.self-center   { align-self: center; }
.self-stretch  { align-self: stretch; }

.relative {
	position: relative;
}
.top-10px {
	top: 12px;
}
.top-8px {
	top: 8px;
}

/*text-align*/
.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.lh18 {
	line-height: 1.8em !important;
}
.lh20 {
	line-height: 2em !important;
}
.lh24 {
	line-height: 2em !important;
}

.font11 {
	font-size: 11px;
}


/*BOXサイズ*/
.h-full {
	height: 100%;
}

.h-full_ex {
	height: calc(100% - 100px);
}

/*ロールオーバー1*/
.hover {
  color: white;
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: pointer;
  border-left: 1px solid rgba(255, 255, 255, 0);
}

.hover:hover {
  /*打ち消し線*/
  border-left: 1px solid #fff;
  cursor: pointer;
}

.hover2 {
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: pointer;
  border-left: 1px solid rgba(0, 0, 0, 0);
  display: inline-block;
}

.hover2:hover {
  /*打ち消し線*/
  border-left: 1px solid #000;
  cursor: pointer;
}



/*縦書き*/
.rl {
	writing-mode: vertical-rl;
}

/*フォント*/
.shippMid {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}


.pc {
	display: block;
}
.pc_inline {
	display: inline;
}
.pc_flex {
	display: flex;
}
.sp {
	display: none;
}

.text_single {
	font-size: 16px;
}

.mt0  { margin-top: 0px; }
.mt8  { margin-top: 8px; }
.mt16 { margin-top: 16px; }
.mt24 { margin-top: 24px; }
.mt32 { margin-top: 32px; }
.mt40 { margin-top: 40px; }
.mt48 { margin-top: 48px; }
.mt56 { margin-top: 56px; }
.mt64 { margin-top: 64px; }
.mt72 { margin-top: 72px; }
.mt80 { margin-top: 80px; }
.mt88 { margin-top: 88px; }
.mt96 { margin-top: 96px; }
.mt104 { margin-top: 104px; }
.mt112 { margin-top: 112px; }
.mt120 { margin-top: 120px; }
.mt128 { margin-top: 128px; }
.mr0  { margin-right: 0px; }
.mr8  { margin-right: 8px; }
.mr16 { margin-right: 16px; }
.mr24 { margin-right: 24px; }
.mr32 { margin-right: 32px; }
.mr40 { margin-right: 40px; }
.mr48 { margin-right: 48px; }
.mr56 { margin-right: 56px; }
.mr64 { margin-right: 64px; }
.mr72 { margin-right: 72px; }
.mr80 { margin-right: 80px; }
.mr88 { margin-right: 88px; }
.mr96 { margin-right: 96px; }
.mr104 { margin-right: 104px; }
.mr112 { margin-right: 112px; }
.mr120 { margin-right: 120px; }
.mr128 { margin-right: 128px; }
.mb0  { margin-bottom: 0px; }
.mb4  { margin-bottom: 4px; }
.mb8  { margin-bottom: 8px; }
.mb16 { margin-bottom: 16px; }
.mb24 { margin-bottom: 24px; }
.mb32 { margin-bottom: 32px; }
.mb40 { margin-bottom: 40px; }
.mb48 { margin-bottom: 48px; }
.mb56 { margin-bottom: 56px; }
.mb64 { margin-bottom: 64px; }
.mb72 { margin-bottom: 72px; }
.mb80 { margin-bottom: 80px; }
.mb88 { margin-bottom: 88px; }
.mb96 { margin-bottom: 96px; }
.mb104 { margin-bottom: 104px; }
.mb112 { margin-bottom: 112px; }
.mb120 { margin-bottom: 120px; }
.mb128 { margin-bottom: 128px; }
.ml0  { margin-left: 0px; }
.ml8  { margin-left: 8px; }
.ml16 { margin-left: 16px; }
.ml24 { margin-left: 24px; }
.ml32 { margin-left: 32px; }
.ml40 { margin-left: 40px; }
.ml48 { margin-left: 48px; }
.ml56 { margin-left: 56px; }
.ml64 { margin-left: 64px; }
.ml72 { margin-left: 72px; }
.ml80 { margin-left: 80px; }
.ml88 { margin-left: 88px; }
.ml96 { margin-left: 96px; }
.ml104 { margin-left: 104px; }
.ml112 { margin-left: 112px; }
.ml120 { margin-left: 120px; }
.ml128 { margin-left: 128px; }
/* ========== Padding Top ========== */
.pt0  { padding-top: 0px; }
.pt8  { padding-top: 8px; }
.pt16 { padding-top: 16px; }
.pt24 { padding-top: 24px; }
.pt32 { padding-top: 32px; }
.pt40 { padding-top: 40px; }
.pt48 { padding-top: 48px; }
.pt56 { padding-top: 56px; }
.pt64 { padding-top: 64px; }
.pt72 { padding-top: 72px; }
.pt80 { padding-top: 80px; }
.pt88 { padding-top: 88px; }
.pt96 { padding-top: 96px; }
.pt104 { padding-top: 104px; }
.pt112 { padding-top: 112px; }
.pt120 { padding-top: 120px; }
.pt128 { padding-top: 128px; }

/* ========== Padding Right ========== */
.pr0  { padding-right: 0px; }
.pr8  { padding-right: 8px; }
.pr16 { padding-right: 16px; }
.pr24 { padding-right: 24px; }
.pr32 { padding-right: 32px; }
.pr40 { padding-right: 40px; }
.pr48 { padding-right: 48px; }
.pr56 { padding-right: 56px; }
.pr64 { padding-right: 64px; }
.pr72 { padding-right: 72px; }
.pr80 { padding-right: 80px; }
.pr88 { padding-right: 88px; }
.pr96 { padding-right: 96px; }
.pr104 { padding-right: 104px; }
.pr112 { padding-right: 112px; }
.pr120 { padding-right: 120px; }
.pr128 { padding-right: 128px; }

/* ========== Padding Bottom ========== */
.pb0  { padding-bottom: 0px; }
.pb8  { padding-bottom: 8px; }
.pb16 { padding-bottom: 16px; }
.pb24 { padding-bottom: 24px; }
.pb32 { padding-bottom: 32px; }
.pb40 { padding-bottom: 40px; }
.pb48 { padding-bottom: 48px; }
.pb56 { padding-bottom: 56px; }
.pb64 { padding-bottom: 64px; }
.pb72 { padding-bottom: 72px; }
.pb80 { padding-bottom: 80px; }
.pb88 { padding-bottom: 88px; }
.pb96 { padding-bottom: 96px; }
.pb104 { padding-bottom: 104px; }
.pb112 { padding-bottom: 112px; }
.pb120 { padding-bottom: 120px; }
.pb128 { padding-bottom: 128px; }

/* ========== Padding Left ========== */
.pl0  { padding-left: 0px; }
.pl8  { padding-left: 8px; }
.pl16 { padding-left: 16px; }
.pl24 { padding-left: 24px; }
.pl32 { padding-left: 32px; }
.pl40 { padding-left: 40px; }
.pl48 { padding-left: 48px; }
.pl56 { padding-left: 56px; }
.pl64 { padding-left: 64px; }
.pl72 { padding-left: 72px; }
.pl80 { padding-left: 80px; }
.pl88 { padding-left: 88px; }
.pl96 { padding-left: 96px; }
.pl104 { padding-left: 104px; }
.pl112 { padding-left: 112px; }
.pl120 { padding-left: 120px; }
.pl128 { padding-left: 128px; }

















@media (max-width: 799px) {



.mr128_pc {
	margin-right: 0;
}
.pc_flex {
	display: none !important;
}
.pc_inline {
	display: none;
}
.pc {
	display: none;
}
.sp {
	display: block;
}
.sp_block {
	display: block !important;
}

.sp_mlr0 {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.text_single {
	font-size: 14px;
}

header {
	position: absolute;
	left: 16px;
	right: auto;
	top: 24px;
	z-index: 9;
}
.site-title_fade {
	position: absolute;
	left: 16px;
	top: 24px;
}

.hamburger {
	position: absolute;
	top: 40px;
	right: 24px;
	cursor: pointer;
	width: 32px;
	height: 48px;
	z-index: 10;
}

.nav {
	position: fixed;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: -1;
	display: flex !important;
}
.nav li {
	margin: 24% 0;
}

.open2 {
	display: block;
	z-index: 10 !important;
}

article h2{
	font-size: 13px;
}
article p {
	font-size: 13px;
}


.lh_minus {
	background: #000;
	width: 50px;
	height: 1px;
	display: inline-block;
	margin: 0 2px;
}
.lh_minus2 {
	background: #000;
	width: 18px;
	height: 1px;
	display: inline-block;
	margin: 0 2px;
}

ul .post_li:nth-child(2) {
	display: none;
}






/*============================================*/
/* !! TOPブログ記事*/
/*============================================*/
.blog_top {
	position: absolute;
	left: auto;
	right: 0px;
	bottom: 64px;
	width: 260px;
	height: auto;
	z-index: 6;
}
.blog_top li {
	color: #fff;
	font-size: 12px;
}
.blog_top span {
	color: #fff;
	font-size: 12px;
}
.blog_top a {
	color: #fff;
	display: block;
	font-size: 12px;
}
.blog_top a:hover {
	text-decoration: underline;
	
}
.highLineB {
	background: #000;
	width: 26px;
	height: 1px;
	display: inline-block;
	margin: 0 2px;
}
.single_article {
	margin: 32px auto 0 auto;
	max-width: 500px;
	width: calc(100% - 16px);
}



/*============================================*/
/* !! ギャラリー */
/*============================================*/
.ngg-galleryoverview {
	text-align: left !important;
	max-width: 1800px;
	margin-right: auto;
	margin-left: auto;
	padding-left: 16px;
	padding-right: 16px;
}
.ngg-galleryoverview.default-view .ngg-gallery-thumbnail-box {
	width: 50%;
}


.sl-wrapper .sl-navigation button {
	position: fixed;
	top: auto !important;
	margin-top: -22px;
	height: 32px;
	width: 22px;
	line-height: 32px;
	text-align: center;
	display: block;
	z-index: 10060;
	font-family: Arial, Baskerville, monospace;
	color: #000;
}
.sl-wrapper .sl-navigation button.sl-prev {
	left: auto !important;
	top: auto !important;
	right: 88px !important;
	bottom: 32px !important;
	font-size: 3rem;
	color: transparent !important;
	width: 24px;
	height: 64px;
	background: #111;
	background: url(img/arrow_top.svg) no-repeat center center;
}

.sl-wrapper .sl-navigation button.sl-next {
	left: auto !important;
	right: 32px !important;
	bottom: 32px !important;
	font-size: 3rem;
	color: transparent !important; 
	width: 24px;
	height: 64px;
	background: url(img/arrow_bottom.svg) no-repeat center center;
}

/*.sl-wrapper .sl-image {
	padding-left: 8px;
	padding-right: 8px;
}*/
.sl-wrapper .sl-image .sl-caption {
	font-size: 9px !important;
}