@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap');

/*見出しの文字サイズ・・・スマホはPCの約4/5にする*/

/* for Common & Smartphone*/
html{
	height:100%;
	width:100%;
}
body{
	height:100%;
	width:100%;
	-webkit-text-size-adjust: none;
	color:#000;
	font-family: "Noto Serif JP" , "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	
/**	font-family: "リュウミン R-KL" , "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;**/
}
.spOnly{display:block;}
.pcOnly{display:none;}
.conFixSP{
	padding-left:20px;
	padding-right:20px;
}
.clearfix:after {
    content:" ";
    display:block;
    clear:both;
}
.bold{
	font-family: "Noto Serif JP" , 'Yu Mincho Demibold','YuMincho Demibold', "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	font-weight:bold;
}
img {
	border:0;
	vertical-align:top;
	max-width: 100%;
	height: auto;
	width /***/:auto;　
}

/*リンク [
#########################################*/
a:link,
a:visited{
	color:#000;
	text-decoration:none;
	}

a:active,
a:hover{
	color:#000;
	text-decoration:none;
	}
.disabled{
	cursor:default;
}

/*リンク下線あり*/
a.linkTdu:link,
a.linkTdu:visited,
.linkTdu a:link,
.linkTdu a:visited{
	text-decoration:underline;
	}
a.linkTdu:active,
a.linkTdu:not(.disabled):hover,
.linkTdu a:active,
.linkTdu a:not(.disabled):hover{
	text-decoration:none;
	}

/*HEADER
#########################################*/
#header{
	width:100%;
	height:50px;
	background-color: #fff;
	z-index:200;
	left:0;
	top:0;
	opacity:0;
	transition: all 0.3s ease-out;
}
#header.hFixed{	
	position:fixed;
	opacity:1;
}

/*IEだけヘッダー固定*/
@media all and (-ms-high-contrast: none) {
	#header{
		width:100%;
		height:50px;
		background-color: #fff;
		z-index:200;
		left:0;
		top:0;
		transition: all 0.3s ease-out;
		position:fixed;
		opacity:1;
	}
}
/*/IEだけ*/

/*ヘッダーアンカー分調整*/
.anchor{
	display:block;
	margin-top:-50px;
	padding-top:50px;
}

/*ロゴ*/
#hLogo{
	float:left;
	margin-top:10px;
	margin-left:10px;
	}
#hLogo a{
	display:block;
	width:94px;
	}

/*ハンバーガーボタン*/	
#hBtnMenu{
	position: absolute;
	top:0;
	right:0;
	width:50px;
	height:50px;
	padding-top:10px;
	text-align:center;
	z-index:10;
}
.hFixed #hBtnMenu{
	position:fixed;
	z-index:9999;
}
#hBtnMenu span {
	position: absolute;
	top: 0;
	left: 13px;
	display: block;
	width: 24px; /* 横幅 */
	height: 2px; /* 1本辺りの高さ */
	background: #aa956c; /* 線の色 */
	transition: all 0.3s ease-out;
  }
 
#hBtnMenu .hbBar01 { top: 14px; }
#hBtnMenu .hbBar02 { top: 24px; }
#hBtnMenu .hbBar03 { top: 34px; }

#hBtnMenu.open span{
	background: #aa956c; /* 線の色 */
	}

/* 最上部の線のスタイル ---------------------- */
#hBtnMenu.open .hbBar01 {
  top: 24px; /* 上から2番目の線の位置に変更 */

  /* 線を45度回転 */
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* 上から2番目の線のスタイル ---------------------- */
#hBtnMenu.open .hbBar02 {
  opacity: 0; /* 不透明度を下げて線を消す */
}

/* 最下部の線のスタイル ---------------------- */
#hBtnMenu.open .hbBar03 {
  top: 24px; /* 上から2番目の線の位置に変更 */

  /* 線を135度回転 */
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

/*gNav
#########################################*/
#gNav{
	position:absolute;
	display:none;
	width:100%;
	top:50px;
	left:0;
	background:#fff;
	}

#gNav .nav{
	font-size:14px;
	text-align:center;
	overflow:hidden;
}
#gNav .nav a{
	display:block;
	height:40px;
	line-height:40px;
	overflow:hidden;
	color:#333;
	text-align:center;
	text-decoration:none;
	}
#gNav .nav:last-child{
	width:32px;
	margin:10px auto;
}
#gNav .nav:last-child img{
	width:32px;
}
/*リンク無効
#gNav .nav:nth-child(5) a,
#gNav .nav:nth-child(6) a{
	opacity:0.25;
    pointer-events: none;
}*/

/*footer
#########################################*/
#footer{
	padding-top:50px;
	padding-bottom:30px;
	background-color:#fff;
}
#fInstagram{
	border-top:1px solid #000;
	border-bottom:1px solid #000;
	padding:20px;
}
#fInstagram a{
	display:inline-block;
	margin:0 16px;
}
#fInstagram img{
	width:32px;
}
#fNav{
	border-bottom:1px solid #000;
	padding:10px 0;
}
#fNav li{
	display:block;
}
#fNav li a{
	display:block;
	text-align:center;
	width:100%;
	line-height:40px;
	text-decoration: none;
	letter-spacing:0.2em;
	font-size:13px;
}

/*copyright*/
#copyright{
	padding:30px 0 0;
	font-size:13px;
	text-align:center;
	line-height:1.4;
	letter-spacing:0.1em;
}

/*contents
#########################################*/
#contents{
	display:block;
	}
.sec01{
	padding:80px 0;
}


/*bg*/
.bgKoushi{
	background-color:#fff;
	background-image:url(../images/bg_koushi.png);
	background-attachment:fixed;
	background-size:46px 46px;
}
.bgWhite{
	background-color:#fff;
}

/*bg*/
.bgFrame01{
	position:relative;
	background:#fff;
	margin:50px;
	width:90%;
	width:calc(100% - 48px);
	margin:0 auto 100px;
}
.bgFrame01::after{
	content:"";
	position:absolute;
	left:-24px;
	top:-24px;
	width:calc(100% + 48px);
	height:calc(100% + 48px);
	border-image-source: url("../images/frame_c04_2x.png");
	border-image-slice:48;
	border-image-width:24px;
	border-image-repeat:stretch;
	border-style:solid;
}


/*ttl*/
.ttl01,
.ttl01long{
	background-image: url(../images/frame_c01.png);
	background-size:100% auto;
	background-position:center top;
	background-repeat:no-repeat;
	color:#000;
	width:100%;
	max-width:240px;
	margin:0 auto;
	padding-bottom:50px;
}
.ttl01long{
	background-image: url(../images/frame_c05.png);
	width:100%;
	max-width:300px;
}
.ttl01 .jp,
.ttl01long .jp{
	font-size:27px;
	font-weight:normal;
	letter-spacing:0.3em;
	text-indent:0.3em;
	padding-top:40px;
}
.ttl01 .en,
.ttl01long .en{
	font-size:11px;
	font-weight:normal;
	letter-spacing:0.1em;
	text-indent:0.1em;
	padding-top:5px;
}
.ttl02{
	font-size:18px;
	text-align:left;
	font-weight:normal;
	letter-spacing:0.2em;
	margin-bottom:10px;
	line-height:1.5;
}
.ttl03{
	font-size:17px;
	text-align:center;
	font-weight:normal;
	letter-spacing:0.1em;
	margin-bottom:20px;
	line-height:1.5;
	padding:10px 0;
	border-top:1px solid #000;
	border-bottom:1px solid #000;
}
.ttl04{
	display:block;
	max-width:300px;
	font-size:30px;
	line-height:1.5;
	font-weight: normal;
	letter-spacing:0.25em;
	padding:30px 0;
	margin:0 auto 50px;
	position:relative;
	outline:1px solid #000;
	outline-offset:-8px;
}
.ttl04 .sub{
	font-size:18px;
}
.ttl04::before{
	position:absolute;
	width:calc(100% - 32px);
	height:100%;
	content:"";
	border-left:1px solid #000;
	border-right:1px solid #000;
	left:16px;
	top:0;
}
.ttl04::after{
	position:absolute;
	width:100%;
	height:calc(100% - 32px);
	content:"";
	border-top:1px solid #000;
	border-bottom:1px solid #000;
	top:16px;
	left:0;
}
.ttl04 .ttlBg01::before{
	position:absolute;
	content:"";
	background-color:#aa956c;
	width:8px;
	height:8px;
	top:8px;
	left:8px;
}
.ttl04 .ttlBg01::after{
	position:absolute;
	content:"";
	background-color:#aa956c;
	width:8px;
	height:8px;
	top:8px;
	right:8px;
}
.ttl04 .ttlBg02::before{
	position:absolute;
	content:"";
	background-color:#aa956c;
	width:8px;
	height:8px;
	bottom:8px;
	left:8px;
}
.ttl04 .ttlBg02::after{
	position:absolute;
	content:"";
	background-color:#aa956c;
	width:8px;
	height:8px;
	bottom:8px;
	right:8px;
}
.ttl05{
	font-size:26px;
	letter-spacing:0.3em;
	line-height:1.5;
	margin-bottom:40px;
	text-align:center;
	font-weight:normal;
}

.ttl06{
	color:#000;
	width:100%;
	margin:0 auto;
	padding-bottom:50px;
}
.ttl06 .jp{
	font-size:27px;
	font-weight:normal;
	letter-spacing:0.1em;
	text-indent:0.1em;
	padding-bottom:10px;
}
.ttl06 .en{
	font-size:11px;
	font-weight:normal;
	letter-spacing:0.1em;
	text-indent:0.1em;
	padding-top:5px;
}

/*link*/
.link01{
	text-align:right;
	position:relative;
	font-size:16px;
	line-height:1.5;
}
.link01::before{
	position:absolute;
	content:"";
	width:25px;
	border-top:1px solid #000;
	left:-30px;
	bottom:2px;
}
.link01::after{
	position:absolute;
	content:"";
	width:10px;
	border-top:1px solid #000;
    transform: rotate(45deg);
	left:-14px;
	bottom:5px;
}


/*下層メインparallax
#########################################*/
/* --- 全体のBOX定義 --- */
.pageMv {
  position:relative;
  width:100%;
  height:400px;
}
.pageMv .bgImg::before{
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-2;
  width:100%;
  height:400px;
  background-size:cover;
  background-position:center center;
}
.pageTtlJp{
	z-index:-1;
	color:#fff;
	position:fixed;
	width:100%;
	max-width:250px;
	left:50%;
	transform:translateX(-50%);
	top:50px;
	text-align:center;
	font-size:30px;
	letter-spacing:0.3em;
	text-indent:0.3em;
	font-weight:normal !important;
	border-bottom:1px solid rgba(255,255,255,0.7);
	padding-bottom:10px;
}
.pageTtlJp::after{
	content:"";
	background-image: url(../images/frame_c03l.png);
	background-size:9px 17px;
	background-repeat:no-repeat;
	background-position:left top;
	width:9px;
	height:17px;
	position: absolute;
	top:38px;
	left:-8px;
}
.pageTtlJp::before{
	content:"";
	background-image: url(../images/frame_c03r.png);
	background-size:9px 17px;
	background-repeat:no-repeat;
	background-position:right top;
	width:9px;
	height:17px;
	position: absolute;
	top:38px;
	right:-8px;
}
.pageTtlEn{
	z-index:-1;
	color:#fff;
	position:fixed;
	width:100%;
	left:50%;
	transform:translateX(-50%);
	top:110px;
	text-align:center;
	font-size:15px;
	letter-spacing:0.1em;
	text-indent:0.1em;
	font-weight:normal !important;
}
.pageTtlCopy{
	z-index:-1;
	color:#fff;
	position:fixed;
	bottom:calc(100vh - 360px);
	padding:0 20px;
	font-size:13px;
	line-height:2;
	overflow: hidden
}


/* for PC*/
@media print, screen and (min-width:768px) {
body{}
.spOnly{display:none;}
.pcOnly{display:block;}
.conFixSP{
	padding-left:0;
	padding-right:0;
}
.conFix{
	max-width:1040px;/*1000px*/
	width: auto !important;
	width: 1040px;
	margin-left:auto !important;
	margin-right:auto !important;
	padding-left:20px;
	padding-right:20px;
}
a:link,
a:visited{}
a:active,
a:not(.disabled):hover{}
a{
	-webkit-transition: .3s;
	transition: .3s;
	}
a:hover{
 	opacity: 0.6;
 	}

/*header
#########################################*/
#header{
	height:170px;
	pointer-events:none;
/*	height:0;*/
	}
#header.hFixed{
/*	height:170px;*/
	position:fixed;
	pointer-events:auto;
}
/*IEだけ*/
@media all and (-ms-high-contrast: none) {
	#header{
		position:fixed;
		pointer-events:auto;
	}
}
/*/IEだけ*/

/*ヘッダーアンカー分調整*/
.anchor{
	margin-top:-170px;
	padding-top:170px;
}
/*ロゴ*/
#hLogo{
	margin-top:40px;
	margin-left:0px;
	}
#hLogo a{
	display:block;
	width:205px;
	height:72px;
	}

#hBtnMenu{
	display:none;
	}

/*nav
#########################################*/
/*gNav*/
#gNav{
	position:static;
	display:block !important;
	width:500px;
	text-align:center;
	background:none;
	float:right;
	text-align:right;
	margin-top:40px;
	border-top:none;
	padding:0;
	overflow:hidden;
	height:130px;
	}
#gNav ul{
	text-align:right;
	vertical-align: top;
	padding:0;
	margin:0;
}
#gNav .nav{
	position:static;
	display:inline-block;
	font-size:14px;
	width:50px;
	margin-right:0;
	padding:0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-align:left;
}
#gNav .nav a{
	display:inline-block;
	padding:0;
	margin:0;
	line-height:50px;
	width:50px;
	color:#000;
	text-align:left;
	height:130px;
	}
#gNav .nav:last-child{
	margin:0 0 0 10px;
}

/*footer
#########################################*/
#footer{
}
#fInstagram{
	padding:30px;
}
#fNav{
	border-bottom:0;
	text-align:left;
}
#fNav li{
	display:inline-block;
	margin-right:20px;
}
#fNav li a{
	display:block;
	text-align:center;
	width:auto;
	line-height:2;
}


/*contents
#########################################*/
/*ttl*/
.ttl04{
	display:block;
	max-height:400px;
	font-size:30px;
	padding:50px 40px;
	margin:0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.ttl04 .sub{
	font-size:18px;
	text-align:right;
}

/*下層メインparallax
#########################################*/
/* --- 全体のBOX定義 --- */
.pageMv {
  height:500px;
}
.pageMv .mvLogo::before{
  height:500px;
}
.pageMv .bgImg::before{
  height:500px;
}
.pageTtlJp{
	width:100%;
	height:auto;
	left:auto;
	right:235px;
	transform:none;
	top:100px;
	text-align:left;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-indent:0;
	font-size:38px;
	border-bottom:0;
	padding-bottom:0;
	border-right:1px solid rgba(255,255,255,0.7);
	padding-right:15px;
}
.pageTtlJp::after{
	content:"";
	background-image: url(../images/frame_c02t.png);
	background-size:17px 9px;
	background-repeat:no-repeat;
	background-position:top right;
	width:17px;
	height:9px;
	position: absolute;
	top:0;
	right:-9px;
	height:100%;
}
.pageTtlJp::before{
	content:"";
	background-image: url(../images/frame_c02b.png);
	background-size:17px 9px;
	background-repeat:no-repeat;
	background-position:bottom right;
	width:17px;
	height:9px;
	position: absolute;
	top:0;
	right:-9px;
	height:100%;
}
.pageTtlEn{
	left:auto;
	right:200px;
	transform:none;
	top:105px;
	text-align:left;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-indent:0;
	letter-spacing: 0.3em;
}
.pageTtlCopy{
	top:200px;
	bottom:auto;
	right:340px;
	width:400px;
	height:250px;
	padding:0;
	font-size:14px;
	line-height:2.5;
	text-align:left;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
