@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:500&subset=japanese');
@charset "utf-8";
html,body,section,nav,article,aside,h1,h2,h3,h4,h5,h6,header,footer,address,
p,hr,pre,blockquote,ol,ul,li,dl,dt,dd,figure,figcaption,div,
a,em,strong,small,s,cite,q,dfn,abbr,time,code,var,samp,kbd,sub,sup,i,b,mark,ruby,rt,rp,span,ins,del,
img,iframe,embed,object,video,audio,canvas,
table,caption,tbody,thead,tfoot,tr,th,td,
form,fieldset,legend,label,
details,summary,command,menu{ margin:0; padding:0; font-size:100%; font:inherit; border:0; vertical-align:baseline;}
article,aside,canvas,figcaption,figure,footer,header,nav,section { display:block;}

html			{ overflow-y:scroll;}
body			{ position:relative; width:100%; min-width:320px; color:#222; font-size:18px; line-height:1; text-align:center; background-color:#fff; font-family:YuGothic,'Hiragino Kaku Gothic Pro','Hiragino Sans','メイリオ',Meiryo,sans-serif; -webkit-text-size-adjust:100%; font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; -webkit-font-smoothing:antialiased; -webkit-transition:background-color 300ms; transition:background-color 300ms;}
img				{ vertical-align:bottom;}
img.fit			{ display:block; width:100%; height:auto;}
img.max			{ display:block; max-width:100%; height:auto; margin:0 auto;}
a				{ text-decoration:none; -webkit-tap-highlight-color:transparent;}
.opacity		{ -webkit-transition:opacity 300ms ease-in-out 0s; transition:opacity 300ms ease-in-out 0s;}
.opacity.hover	{ opacity:0.6;}
ul				{ list-style:none;}
.title,
.mincho			{ font-family:'Noto Serif JP', YuMincho, 'Hiragino Mincho Pro', 'Yu Mincho Demibold', 'Yu Mincho Medium', '游明朝 Medium', 'Yu Mincho', '游明朝', '游明朝体', 'メイリオ', Meiryo, serif;}

/* HEADER
--------------------------------*/
#header_nav							{ width:100%; color:#fff; overflow:hidden;}
#header_nav a						{ display:block; color:#fff; text-decoration:none; white-space:nowrap; -webkit-transition:color 300ms; transition:color 300ms;}

#gnav								{ position:fixed; z-index:100; width:100%; height:60px; top:0; left:0; background:#000; display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex; -webkit-justify-content:center; justify-content:center; -webkit-align-items:center; align-items:center; -webkit-transition:padding 300ms; transition:padding 300ms;}
#gnav.open							{ padding:0 0 40px 0;}
#gnav>li							{ padding:0 25px;}
#gnav a								{ position:relative;}
#gnav>li:first-child a span:first-child
									{ display:none;}
#gnav a.hover,
#gnav a.ctgcurrent					{ color:#ff6600;}
#gnav a.current						{ color:#ff6600; cursor:default;}
#gnav a.parent::after				{ position:absolute; content:'∨'; bottom:-14px; left:50%; margin:0 0 0 -7px; font-size:14px; -webkit-transition:scale(1,0.5); transform:scale(1,0.5); -webkit-transition:transform 300ms; transition:transform 300ms;}
#gnav .open a.parent::after			{ -webkit-transition:scale(1.0,0.5) rotateX(180deg); transform:translate(0,7px) scale(1.0,0.5) rotateX(180deg);}
#gnav a[target]						{ padding:0 12px 0 0;}
#gnav a[target]::before,
#gnav a[target]::after				{ position:absolute; content:''; width:11px; height:8px;}
#gnav a[target]::before				{ top:1px; right:-2px; border:solid 2px #fff; border-top:none; border-right:none; -webkit-box-sizing:border-box; box-sizing:border-box; -webkit-transition:border-color 300ms; transition:border-color 300ms}
#gnav a[target]::after				{ top:-2px; right:-5px; background:#fff; -webkit-transition:background-color 300ms; transition:background-color 300ms}
#gnav a[target].hover::before		{ border-color:#ff6600;}
#gnav a[target].hover::after		{ background-color:#ff6600;}
#gnav .cnav							{ opacity:0; z-index:98; position:absolute; width:100%; height:0; top:60px; left:0; background:#000; display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex; -webkit-justify-content:center; justify-content:center; -webkit-align-items:center; align-items:center; -webkit-transition:height 300ms,opacity 300ms; transition:height 300ms,opacity 300ms; overflow:hidden;}
#gnav .open .cnav					{ opacity:1; z-index:99; height:40px;}
#gnav .cnav li						{ padding:0 12px 10px;}
#gnav .cnav a						{}
#gnav .open .cnav a					{}

#menu,
#header_nav #menuBtn				{ display:none;}
@media (min-width:761px) and (max-width:1260px){
	#gnav>li						{ padding:0 calc(2.004vw + -0.25px);}
}
@media screen and (max-width:760px){
	#gnav							{ display:none;}

	#menu							{ position:fixed; display:block; z-index:100; right:0; width:100%; max-height:100vh; padding:0 0 4px 0; -webkit-box-sizing:border-box; box-sizing:border-box; background:rgba(0,0,0,0.8); -webkit-transform:translate(101%,0); transform:translate(101%,0); -webkit-transition:transform 300ms; transition:transform 300ms;}
	body.open #menu					{ -webkit-transform:translate(0,0); transform:translate(0,0);}

	#menu li						{ position:relative; -webkit-box-sizing:border-box; box-sizing:border-box;}
	#menu>li::after					{ position:absolute; content:''; bottom:0; left:0; width:100%; height:1px; background:rgba(255,255,255,0.6);}
	#menu>li:first-child a			{ height:51px; min-height:51px; max-height:51px;}
	#menu>li:first-child a span:nth-child(2)
									{ display:none;}

	#menu a							{ position:relative; width:100%; height:50px; min-height:28px; max-height:10.8vh; max-height:calc(12.5vh - 6.25px); font-size:15px; white-space:nowrap; display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex; -webkit-justify-content:center; justify-content:center; -webkit-align-items:center; align-items:center;}
	#menu a.hover					{ color:#ff6600;}
	#menu a.parent					{ display:none;}
	#menu a span					{ display:inline-block;}

	#menu .cnav						{ display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap;}
	#menu .cnav li					{ width:50%;}
	#menu .cnav li::before					{ position:absolute; content:''; top:0; left:0; width:100%; height:1px; background:rgba(255,255,255,0.3); background-size:4px 1px !important; background:-webkit-linear-gradient(left, rgba(255,255,255,0.3), rgba(255,255,255,0.3) 50%, transparent 50%, transparent); background:linear-gradient(to right, rgba(255,255,255,0.3), rgba(255,255,255,0.3) 50%, transparent 50%, transparent);}
	#menu .cnav li:nth-child(even)::after	{ position:absolute; content:''; top:0; left:0; width:1px; height:100%; background:rgba(255,255,255,0.3); background-size:1px 4px !important; background:-webkit-linear-gradient(top, rgba(255,255,255,0.3), rgba(255,255,255,0.3) 50%, transparent 50%, transparent); background:linear-gradient(to bottom, rgba(255,255,255,0.3), rgba(255,255,255,0.3) 50%, transparent 50%, transparent);}
	#menu .cnav li:nth-child(1)::before,
	#menu .cnav li:nth-child(2)::before		{ content:none;}

	#menu a[target] span					{ position:relative; padding:0 12px;}
	#menu a[target] span::before,
	#menu a[target] span::after				{ position:absolute; content:''; width:11px; height:8px;}
	#menu a[target] span::before			{ top:1px; right:-2px; border:solid 2px #fff; border-top:none; border-right:none; -webkit-box-sizing:border-box; box-sizing:border-box; -webkit-transition:border-color 300ms; transition:border-color 300ms}
	#menu a[target] span::after				{ top:-2px; right:-5px; background:#fff; -webkit-transition:background-color 300ms; transition:background-color 300ms}
	#menu a[target].hover span::before		{ border-color:#ff6600;}
	#menu a[target].hover span::after		{ background-color:#ff6600;}

	#header_nav #menuBtn			{ position:fixed; z-index:110; top:0; right:0; width:50px; height:50px; background:rgba(0,0,0,0.75); cursor:pointer; display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex; -webkit-justify-content:center; justify-content:center; -webkit-align-items:center; align-items:center;}
	#menuBtn span					{ position:relative; display:block; width:50%; height:1px; background:#fff;}
	#menuBtn span::after,
	#menuBtn span::before			{ position:absolute; content:''; width:100%; height:1px; top:0; left:0; background:#fff;}
	#menuBtn span::after			{ -webkit-transform:translate(0,7px) rotate(0); transform:translate(0,7px) rotate(0);}
	#menuBtn span::before			{ -webkit-transform:translate(0,-7px) rotate(0); transform:translate(0,-7px) rotate(0);}
	.open #header_nav #menuBtn		{ background:rgba(0,0,0,1);}
	.open #menuBtn span				{ height:0;}
	.open #menuBtn span::after		{ -webkit-transform:translate(0,0) rotate(45deg); transform:translate(0,0) rotate(45deg);}
	.open #menuBtn span::before		{ -webkit-transform:translate(0,0) rotate(-45deg); transform:translate(0,0) rotate(-45deg);}
}
@media screen and (max-width:375px){
	#header_nav::after				{ height:46px;}
	#header_nav #menuBtn			{ width:46px; height:46px;}
	#menu a							{ height:46px;}
	#menu>li:first-child a			{ height:47px; min-height:47px; max-height:47px;}
}

/* FOOTER
--------------------------------*/
#footer								{ padding:0 60px; font-size:14px; color:#fff; background:#cc6600;}
#footer>div							{ max-width:1140px; margin:0 auto; padding:55px 0 45px;}

#fnav								{ max-width:1140px; text-align:left;}
#fnav>li							{ padding:0 0 15px 0;}
#fnav ul							{ display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex; -webkit-justify-content:flex-start; justify-content:flex-start; -webkit-flex-wrap:wrap; flex-wrap:wrap;}
#fnav ul li							{ padding:0 20px 15px 0;}
#fnav a								{ position:relative; display:block;}
#fnav a span						{ position:relative; display:inline-block; color:#fff; white-space:nowrap;}
#fnav a span::after					{ position:absolute; content:'';  bottom:-2px;; left:50%; width:100%; height:1px; background:#fff; -webkit-transform:translate(-50%,0); transform:translate(-50%,0); -webkit-transition:opacity 300ms, transform 300ms; transition:opacity 300ms, transform 300ms;}
#fnav a.hover span::after			{ opacity:0.8; -webkit-transform:translate(-50%,0) scale(1,3); transform:translate(-50%,0) scale(1,3);}
#fnav a[target]						{ padding:0 9px 0 0;}
#fnav a[target]::before,
#fnav a[target]::after				{ position:absolute; content:''; width:10px; height:7px;}
#fnav a[target]::before				{ top:-1px; right:-3px; border:solid 1px #fff; border-top:none; border-right:none; -webkit-box-sizing:border-box; box-sizing:border-box;}
#fnav a[target]::after				{ top:-3px; right:-5px; background:#fff;}

#fnav div							{ padding:10px 0 0; line-height:1.5;}
#fnav dl							{ padding:5px 0 0; display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex; -webkit-justify-content:flex-start; justify-content:flex-start; -webkit-align-items:center; align-items:center;}
#fnav dd img						{ display:block; -webkit-backface-visibility:hidden;}
#fnav dd a							{ padding:0 9px 0 0;}
#fnav dd a::before,
#fnav dd a::after					{ position:absolute; content:''; width:10px; height:7px;}
#fnav dd a::before					{ top:2px; right:-3px; border:solid 1px #fff; border-top:none; border-right:none; -webkit-box-sizing:border-box; box-sizing:border-box;}
#fnav dd a::after					{ top:0; right:-5px; background:#fff;}
#fnav dd a span::after				{ bottom:1px;}
#fnav dd.hover span::after			{ opacity:0.8; -webkit-transform:translate(-50%,0) scale(1,3); transform:translate(-50%,0) scale(1,3);}
#fnav dd a span::before				{ position:absolute; content:''; width:8px; height:8px; top:-5px; right:-13px; border:solid 1px #cc6600; border-top:none; border-right:none; -webkit-transform:rotate(45deg); transform:rotate(-45deg); z-index:10;}
#fnav div i							{ display:block; padding:5px 0 0;}
#fnav div i span					{ display:inline-block;}
#fnav div i em						{ font-weight:bold;}

#copy								{ max-width:1140px; padding:50px 0 0; text-align:left; font-family:Arial;}

@media (min-width:761px) and (max-width:1260px){
	#footer							{ padding:0 calc(4.008vw + 9.5px);}
}
@media screen and (max-width:760px){
	#footer							{ padding:0 25px; padding:0 calc(3.409vw + 14.09px);}
}

/* MAIN
--------------------------------*/
#wrapper							{ position:relative; opacity:0; -webkit-animation:wrapperShow 0.8s ease-in-out 0.2s 1 normal forwards; animation:wrapperShow 0.8s ease-in-out 0.2s 1 normal forwards;}
#wrapper.finish						{ opacity:1; -webkit-animation:none; animation:none;}
@-webkit-keyframes wrapperShow		{ 0%{ opacity:0;} 100%{ opacity:1;}}
@keyframes wrapperShow				{ 0%{ opacity:0;} 100%{ opacity:1;}}

#main								{ width:100%; padding:60px 0 0 0; overflow:hidden;}
@media screen and (max-width:760px){
	#main							{ padding:0;}
}

/* TOP
--------------------------------*/
#top01								{ position:relative; width:100%; height:0; padding:58.565% 0 0;}
#top01 h1							{ position:absolute; z-index:20; top:0; left:36.5%; height:100%; color:#fff; -webkit-writing-mode:vertical-rl; -ms-writing-mode:tb-rl; writing-mode:vertical-rl;}
#top01 h1 span						{ position:relative; display:block;}
#top01 h1>span						{ height:100%; line-height:1.25; white-space:nowrap;}
#top01 span.h11						{ font-size:4.83vw; text-indent:-1.2em; letter-spacing:0.152em; text-shadow:2px 2px 3px #000;}
#top01 span.h12						{ font-size:4.39vw; text-indent: 4.8em; letter-spacing:0.167em; text-shadow:2px 2px 2px #000;}
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){
	#top01 span.h11					{ text-shadow:-2px 2px 3px #000;}
	#top01 span.h12					{ text-shadow:-2px 2px 2px #000;}
}
#top01 ul							{ position:absolute; z-index:10; top:0; left:0; width:100%;}
#top01 li							{ position:absolute; top:0; left:0; width:100%; overflow:hidden;}
#top01 ul li:nth-child(2)			{ display:none;}
.even #top01 ul li:nth-child(1)		{ display:none;}
.even #top01 ul li:nth-child(2)		{ display:block;}
#top01 li img						{ position:relative; display:block; width:100%; height:auto;}
#top01 li a							{ position:absolute; bottom:10%; right:24%; padding:0 0 0 1.0em; font-size:20px; color:#fff; text-shadow:2px 2px 3px rgba(0,0,0,1); letter-spacing:1px; -webkit-transition:color 300ms; transition:color 300ms;}
#top01 li a::after					{ position:absolute; content:'▶'; top:50%; left:0; font-size:0.6em; text-shadow:2px 2px 2px rgba(0,0,0,0.6); -webkit-transform:translate(0,-50%); transform:translate(0,-50%);}
.even #top01 li a					{ text-shadow:2px 2px 4px #000;}
#top01 li a.hover					{ color:#ff6600;}
@media (max-width:1260px){
	#top01 span.h11					{ text-indent:calc(-7.769vw + 24.86px);}
	#top01 span.h12					{ text-indent:calc(16.543vw + 57.06px);}
}
@media (min-width:761px) and (max-width:1260px){
	#top01 span.h11					{ font-size:calc(3.779vw + 13.24px);}
	#top01 span.h12					{ font-size:calc(3.47vw + 11.6px);}
	#top01 li a						{ font-size:calc(0.802vw + 9.9px);}
}
@media screen and (max-width:760px){
	#top01							{ padding:calc(47.89% + 81px) 0 0;}
	#top01 h1						{ left:calc(47.134vw + -80.83px);}
	#top01 span.h11					{ font-size:24px; font-size:calc(4.091vw + 10.91px); text-shadow:2px 2px 3px #000;}
	#top01 span.h12					{ font-size:20px; font-size:calc(4.091vw + 6.91px); text-shadow:2px 2px 2px #000;}
	#top01 li img					{ width:calc(81.82% + 138.2px); left:calc(18.18% + -138.2px);}
	#top01 li a						{ right:30px; right:calc(34.636vw + -80.84px); font-size:15px;}
}
@media screen and (max-width:760px) and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){
	#top01 span.h11					{ text-shadow:-2px 2px 3px #000;}
	#top01 span.h12					{ text-shadow:-2px 2px 2px #000;}
}

#top02								{ padding:0 60px;}
#top02 ul							{ max-width:1140px; margin:0 auto; padding:60px 0; display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex; -webkit-justify-content:space-between; justify-content:space-between;}
#top02 li							{ max-width:120px;}
#top02 a							{ position:relative; display:block; width:100%; padding:3px; -webkit-box-sizing:border-box; box-sizing:border-box; background-color:#000; -webkit-border-radius:4px; border-radius:4px; -webkit-transition:background-color 300ms ease-in-out 0s; transition:background-color 300ms ease-in-out 0s;}
#top02 a.hover						{ background-color:#ff6600;}
#top02 a picture					{ display:block; -webkit-transition:opacity 300ms ease-in-out 0s; transition:opacity 300ms ease-in-out 0s;}
#top02 a.hover picture				{ opacity:0.9;}
#top02 a img						{ display:block; max-width:100%; height:auto; min-height:297px;}
#top02 a em							{ position:absolute; display:block; height:100%; top:0; left:50%; margin:0 0 0 -0.5em; padding:38px 0 0; font-size:31px; color:#000; text-align:left; letter-spacing:6px; -webkit-box-sizing:border-box; box-sizing:border-box;}
#top02 div a:nth-child(1)			{ display:none;}
.even #top02 div a:nth-child(1)		{ display:block;}
.even #top02 div a:nth-child(2)		{ display:none;}

@media (min-width:761px){
	#top02 a em						{ -webkit-writing-mode:vertical-rl; -ms-writing-mode:tb-rl; writing-mode:vertical-rl;}
}
@media (min-width:761px) and (max-width:1260px){
	#top02							{ padding:0 calc(4.008vw + 9.5px);}
	#top02 ul						{ padding:calc(4.008vw + 9.5px) 0;}
	#top02 li						{ width:calc(8.016vw + 19px);}
	#top02 a em						{ padding:calc(1.628vw + 11.63px) 0 0; font-size:2.5833vw; letter-spacing:0.1935em;}
}
@media (max-width:960px){
	#top02 a						{ padding:2px;}
}
@media screen and (min-width:414px) and (max-width:760px){
	#top02 a						{ margin:calc(-4.335vw + 17.95px) 0;}
	#top02 a em						{}
}
@media screen and (max-width:760px){
	#top02							{ padding:0;}
	#top02 ul						{ padding:0; display:block;}
	#top02 li						{ max-width:100%; max-height:122px; overflow:hidden;}
	#top02 a						{ padding:0; -webkit-border-radius:0; border-radius:0;}
	#top02 a img					{ width:100%; min-height:0;}
	#top02 a em						{ width:100%; height:auto; top:50%; left:0; margin:0; padding:0; font-size:20px; font-size:calc(2.273vw + 12.73px); text-align:center; letter-spacing:6px; -webkit-transform:translate(0,-50%); transform:translate(0,-50%); text-shadow:2px -2px 2px rgba(255,255,255,0.4);}
}

#top03								{ margin:1px 0; padding:0 60px; color:#fff; background:#000;}
#top03>div							{ max-width:1140px; margin:0 auto; padding:70px 0; display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex; -webkit-justify-content:space-between; justify-content:space-between;}
#top031								{ width:50%; text-align:left; display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex; -webkit-justify-content:flex-start; justify-content:flex-start; -webkit-align-items:center; align-items:center;}
#top031 div:nth-child(1)			{ width:43.86%; padding:0 7.3% 0 0;}
#top031 div:nth-child(1) img		{ display:block; max-width:100%; height:auto;}
#top031 div:nth-child(2)			{ white-space:nowrap;}
#top031 h2							{ padding:0 0 8%; font-size:38px; letter-spacing:0.1em;}
#top031 li							{ padding:10% 0 0 0;}
#top031 a							{ position:relative; display:inline-block; padding:0 0 0.41em 0; font-size:24px; color:#fff; -webkit-transition:color 300ms; transition:color 300ms;}
#top031 a::after					{ position:absolute; content:''; bottom:0; left:0; width:100%; height:1px; background-size:4px 1px !important; background:#fff; background:-webkit-linear-gradient(left, #fff, #fff 50%, transparent 50%, transparent); background:linear-gradient(to right, #fff, #fff 50%, transparent 50%, transparent);}
#top031 a.hover						{ color:#ff6600;}
#top031 a.hover::after				{ background:#ff6600; background:-webkit-linear-gradient(left, #ff6600 #ff6600 50%, transparent 50%, transparent); background:linear-gradient(to right, #ff6600, #ff6600 50%, transparent 50%, transparent);}
#top032								{ width:43.86%;}
#top032 a							{ display:block; position:relative; padding:1px; background-color:#a6a6a6; -webkit-border-radius:1px; border-radius:1px; -webkit-transition:background-color 300ms ease-in-out 0s; transition:background-color 300ms ease-in-out 0s;}
#top032 a img						{ display:block; max-width:100%; height:auto;}
#top032 a.hover						{ background-color:#ff6600;}
#top032 a span						{ display:block; -webkit-transition:opacity 300ms ease-in-out 0s; transition:opacity 300ms ease-in-out 0s;}
#top032 a.hover span				{ opacity:0.95;}
#top032 a em						{ position:absolute; display:block; top:14.6%; left:10.6%; width:31.6%;}
@media (min-width:761px) and (max-width:1260px){
	#top03							{ padding:0 calc(4.008vw + 9.5px);}
	#top031 h2						{ font-size:3.0159vw;}
	#top031 a						{ font-size:1.9048vw;}
}
@media screen and (max-width:760px){
	#top03							{ padding:0 25px; padding:0 calc(3.409vw + 14.09px);}
	#top03>div						{ display:block; max-width:627px; padding:9.21% 0; padding:calc(6.818vw + 18.18px) 0;}
	#top031							{ width:auto;}
	#top031 div:nth-child(1)		{ width:40%; max-width:250px;}
	#top031 h2						{ padding:0 0 8%; font-size:5vw;}
	#top031 li						{ padding:calc(3.92vw + -7.55px) 0 0 0;}
	#top031 a						{ padding:0 0 calc(1.1vw + 1.48px) 0; font-size:3.16vw; font-size:calc(2.727vw + 3.27px);}

	#top032							{ width:auto; padding:9.21% 0 0; padding:calc(6.818vw + 18.18px) 0 0;}
	#top032 a span					{ overflow:hidden;}
	#top032 a img					{ width:100%; margin:-8% 0 -18%;}
	#top032 a em					{ top:25%; left:8%; max-width:158px;}
}
@media screen and (max-width:414px){
	#top031 a::after				{ background-size:3px 1px !important; background:-webkit-linear-gradient(left, #fff, #fff 33.33%, transparent 33.33%, transparent); background:linear-gradient(to right, #fff, #fff 33.33%, transparent 33.33%, transparent);}
}

/* CONTENTS
--------------------------------*/
#title								{ position:relative;}
#title img							{ position:relative; display:block; width:100%; height:auto;}
#title h1							{ position:absolute; top:0; left:36%; height:100%; color:#fff; -webkit-writing-mode:vertical-rl; -ms-writing-mode:tb-rl; writing-mode:vertical-rl;}
#title h1 span						{ position:relative; display:block;}
#title h1>span						{ line-height:1.25; white-space:nowrap;}
#title span.h11						{ text-shadow:2px 2px 3px #000; height:88%; font-size:72px; font-size:5.271vw; letter-spacing:0.152em;}
#title span.h12						{ text-shadow:2px 2px 2px #000; height:88%; font-size:60px; font-size:4.392vw; letter-spacing:0.167em; text-align:right;}
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){
	#title span.h11					{ text-shadow:-2px 2px 3px #000;}
	#title span.h12					{ text-shadow:-2px 2px 2px #000;}
}
@media screen and (max-width:760px){
	#title img						{ width:calc(86.36% + 103.6px); left:50%; -webkit-transform:translate(-50%,0); transform:translate(-50%,0);}
	#title span.h11					{ text-shadow:2px 2px 3px #000; height:90%; font-size:20px; font-size:calc(4.552vw + 5.46px);}
	#title span.h12					{ text-shadow:2px 2px 2px #000; height:90%; font-size:16.7px; font-size:calc(3.793vw + 4.55px); padding:0 2px 0 0;}
}
@media screen and (max-width:760px) and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){
	#title span.h11					{ text-shadow:-2px 2px 3px #000;}
	#title span.h12					{ text-shadow:-2px 2px 2px #000;}
}

.section							{ margin:0 auto; padding:50px 25px 30px;}
.section h2.title					{ padding:0 0 60px 0; font-size:30px; letter-spacing:0.2em;}
.section h2.title span				{ letter-spacing:1px; padding:0 0.2em 0 0;}
@media screen and (max-width:760px){
	.section						{ padding:30px 15px; padding:calc(4.545vw + 15.45px) calc(2.273vw + 7.73px) 30px; font-size:14px; font-size:calc(0.909vw + 11.09px);}
	.section h2.title				{ padding:0 0 40px 0; padding:0 0 calc(4.545vw + 25.45px) 0; font-size:20px; font-size:calc(2.273vw + 12.73px);}
}

.protect span						{ position:relative; display:inline-block;}
.protect span:not(.overtxt),
.protect span img					{ position:relative; pointer-events:none; -webkit-touch-callout:none; -webkit-user-select:none; -moz-touch-callout:none; -moz-user-select:none; touch-callout:none; user-select:none;}
.protect span::after				{ position:absolute; content:''; top:0; left:0; width:100%; height:100%;}

nav.ctgnav							{ padding:30px 0;}
nav.ctgnav li						{ padding:10px 0 0 0;}
nav.ctgnav a						{ position:relative; display:inline-block; padding:8px 0; color:#000;  line-height:1 !important; letter-spacing:0.2em; -webkit-transition:color 300ms; transition:color 300ms;}
nav.ctgnav a::after					{ position:absolute; content:''; bottom:0; left:0; width:100%; height:1px; background-size:4px 1px !important; background:#000; background:-webkit-linear-gradient(left, #000, #000 50%, transparent 50%, transparent); background:linear-gradient(to right, #000, #000 50%, transparent 50%, transparent);}
nav.ctgnav a.hover					{ color:#ff6600;}
nav.ctgnav a.hover::after			{ background:#ff6600; background:-webkit-linear-gradient(left, #ff6600 #ff6600 50%, transparent 50%, transparent); background:linear-gradient(to right, #ff6600, #ff6600 50%, transparent 50%, transparent);}
@media screen and (max-width:414px){
	nav.ctgnav						{ padding:calc(15.957vw + -36.06px) 0;}
	nav.ctgnav a::after				{ background-size:3px 1px !important; background:-webkit-linear-gradient(left, #000, #000 33.33%, transparent 33.33%, transparent); background:linear-gradient(to right, #000, #000 33.33%, transparent 33.33%, transparent);}
}


.onebox								{ width:100%; overflow:hidden;}
.onebox img							{ display:block; width:100%; height:auto; margin:0 auto; -webkit-backface-visibility:hidden; -webkit-transition:width 200ms; transition:width 200ms;}
.onebox+.expansion					{}
.one1800 img						{ max-width:1800px;}
@media screen and (max-width:1000px){
	.scx .one1800					{ padding:0 0 5px 0; overflow-x:auto;}
	.scx .one1800 img				{ width:1350px;}
	.one1800+.expansion				{ visibility:visible;}
}
.one2400 img						{ max-width:2400px;}
@media screen and (max-width:1300px){
	.scx .one2400					{ padding:0 0 5px 0; overflow-x:auto;}
	.scx .one2400 img				{ width:1800px;}
	.one2400+.expansion				{ visibility:visible;}
}
.expansion							{ visibility:hidden; position:relative; display:inline-block; margin:0 auto; padding:10px 0 15px;}
.expansion a						{ display:inline-block; vertical-align:top;}
.expansion a::after					{ position:absolute; content:'横スクロール'; bottom:0; left:50%; padding:3px 0 0 0; font-size:12px; color:#888; white-space:nowrap; -webkit-transform:translate(-50%,0); transform:translate(-50%,0); -webkit-transition:color 300ms; transition:color 300ms;}
.expansion svg						{ display:block; width:40px; height:40px; margin:0 auto;}
.expansion svg circle				{ fill:none; stroke:#888; stroke-miterlimit:10; stroke-width:12px; -webkit-transition:stroke 300ms; transition:stroke 300ms;}
.expansion svg line					{ fill:#888; stroke:#888; stroke-linecap:round; stroke-linejoin:round; stroke-width:12px; -webkit-transition:fill 300ms, stroke 300ms; transition:fill 300ms, stroke 300ms;}
.expansion a svg:nth-child(1)		{}
.expansion a svg:nth-child(2)		{ display:none;}
.expansion a.hover::after			{ color:#ff6600;}
.expansion a.hover circle			{ stroke:#ff6600;}
.expansion a.hover line				{ fill:#ff6600; stroke:#ff6600;}
.scx .expansion a::after			{ content:none;}
.scx .expansion a svg:nth-child(1)	{ display:none;}
.scx .expansion a svg:nth-child(2)	{ display:inline;}
@media screen and (max-width:760px){
	.expansion svg					{ width:calc(1.818vw + 26.18px); height:calc(1.818vw + 26.18px);}
}


/* TREASURED
--------------------------------*/
#treasured01							{ max-width:973px; margin:0 auto; padding:0 50px 0;}
#treasured01 li							{ padding:0 0 80px 0; display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex; -webkit-justify-content:space-between; justify-content:space-between;}
#treasured01 div						{ width:47.276%;}
#treasured01 li:nth-child(1) div		{ width:100%;}
#treasured01 img						{ display:block; max-width:100%; height:auto; -webkit-backface-visibility:hidden;}
#treasured01 b							{ display:block; padding:10px 0 0 0.5em; text-align:left; letter-spacing:2px;}
@media (max-width:1170px){
	#treasured01						{ padding:0 calc(5.882vw + -18.82px) 0;}
	#treasured01 li						{ padding:0 0 calc(9.412vw + -30.12px) 0;}
}
@media screen and (max-width:760px){
	#treasured01 li						{ display:block; padding:0;}
	#treasured01 div					{ width:100%; max-width:460px; margin:0 auto; padding:0 0 34px 0; padding:0 0 calc(10.714vw + -4.29px)}
	#treasured01 li:nth-child(1) div	{ max-width:100%;}
}


/* FUJIARTMUSEUM
--------------------------------*/
#fuji>div								{ padding:0 0 60px 0;}
#fuji p									{ padding:30px 0 50px; font-size:26px; line-height:1.2; letter-spacing:0.1em;}
#fuji p span							{ display:inline-block;}
@media screen and (max-width:760px){
	#fuji>div							{ padding:0 0 calc(6.818vw + 8.18px) 0;}
	#fuji p								{ padding:calc(6.818vw + -21.82px) 0 calc(4.545vw + 15.45px); font-size:16px; font-size:calc(2.273vw + 8.73px);}
}



/* PRINT HIDDEN
--------------------------------*/
@media print{
	body							{ width:1000px; -webkit-transform:scale(0.8); transform:scale(0.8); -webkit-transform-origin:0 0; transform-origin:0 0;}

}





