@charset "UTF-8";

@import url('//fonts.googleapis.com/css?family=Teko');

/* reset
============================================================ */
* { font-style: normal; box-sizing: border-box;}
html { overflow-y: scroll;}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td { margin: 0; padding: 0;}
table { border-collapse: collapse; border-spacing: 0;}
fieldset, img { border: 0;}
img { vertical-align: top;}
address, caption, cite, code, dfn, em, strong, th, var, optgroup { font-style: inherit; font-weight: inherit;}
del, ins { text-decoration: none;}
li { list-style: none;}
caption, th { text-align: left;}
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal;}
q::before, q::after { content: '';}
abbr, acronym { border: 0; font-variant: normal;}
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
sup { top: -.5em;}
sub { bottom: -.25em;}
legend { color: #000;}
input, button, textarea, select, optgroup, option { font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit;}
input { cursor: pointer; -webkit-appearance: none;}
a { outline: 0;}
strong { font-weight: bold;}
b { font-weight: normal;}
hr { display: none;}
/* RESET HTML5 */
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; font: inherit; vertical-align: baseline;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block;}

/* base
   ---------------------------------------------------------------------------------------------------- */
html { position: relative; font-family: Avenir, Verdana, Arial, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'YuGothic', 'Yu Gothic Medium', '游ゴシック Medium', 'Meiryo UI', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; -webkit-text-size-adjust: 100%; letter-spacing: 0.1em;}
body { position: relative; text-align: center; background-color: #ffffff; color: #000000; font-size: 15px; line-height: 1.53;}
input, select, textarea { font-size: 16px;}

a { color: #000000; text-decoration: none; -webkit-touch-callout: none; transition: all .3s cubic-bezier(.4, 0, .2, 1);}
a:hover { transition: all .3s cubic-bezier(.4, 0, .2, 1);}
::-moz-selection,
::selection { color: #fff; background: black;}
a img { vertical-align: top; background-color: rgba(255, 255, 255, .01);}

.noscript-text { padding: 1em;}
#spFlg { display: block; width: 0; height: 0; font-size: 0; line-height: 0;}

@media screen and (min-width: 768px) {
	body { font-size: 16px; line-height: 1.875;}
	#spFlg { display: none;}
}

.hidding{ display:none; }

/* module
   ---------------------------------------------------------------------------------------------------- */
.brpc { display: none;}
.brsp { display: block;}

a.link-txt { position: relative; display: inline-block; color: #0d0d0d;}
a.link-txt::after { position: absolute; bottom: .2em; left: 0; content: ''; width: 100%; height: 1px; background-color: #0d0d0d; opacity: 1; transition: all .3s cubic-bezier(.4, 0, .2, 1);}
a.link-txt:hover::after { opacity: 0;}
a.link-block { display: block; text-decoration: none;}
.tel a { text-decoration: none;}

img { max-width: 100%; height: auto; width/***/: auto;}
.image img,
figure img { width: 100%; height: auto;}
.js-bgimg { background-color: transparent; background-repeat: no-repeat; background-position: 50% 0; background-size: cover;}
.js-bgimg img { display: none;}
.js-bgwrap span { background-color: #0d0d0d;color: #fff;}

.skip { position: absolute; left: -9999px;}
.left { float: left;}
.right { float: right;}
.clear { clear: both;}
.cf::after { display: block; content: ''; clear: both;}
.txtr { text-align: right;}
.txtc { text-align: center;}

.en { font-family: 'Oswald', sans-serif; line-height: .8; letter-spacing: .03em;}
.prag { background-color: #0d0d0d;}

.sp01 { margin-top: .5em;}
.sp02 { margin-top: 1em;}
.sp03 { margin-top: 1.5em;}
.sp04 { margin-top: 2em;}
.sp05 { margin-top: 2.5em;}

@media screen and (min-width: 920px) {
	.brpc { display: block;}
	.brsp { display: none;}
}

/* link
   -------------------------------------------------- */
/* btn */
.works_btn-more .btn-more { text-align: center; margin-top: 3.1em;}
.btn-more a { text-align: center; display: block; border: 1px solid #000000; color: #000000;}
.btn-more a span { display: inline-block; padding-left: 48px; background-image: url(../img/sp/ico_ar_y_b.png), url(../img/sp/ico_ar_y_w.png); background-repeat: no-repeat; background-position: 0 40%; background-size: 38px auto; line-height: 36px;}
.btn-more a span.en { font-size: 146.7%;}
.btn-more a span.ja { font-size: 100%;}
.btn-more a:hover { background-color: #000000; color: #ffffff;}
.btn-more a:hover span { background-image: url(../img/sp/ico_ar_y_b.png);}

.btn-more.c2 a { border-color: #ffffff; color: #ffffff;}
.btn-more.c2 a span { background-image: url(../img/sp/ico_ar_y_w.png), url(../img/sp/ico_ar_y_b.png);}
.btn-more.c2 a:hover { background-color: #ffffff; color: #000000;}
.btn-more.c2 a:hover span { background-image: url(../img/sp/ico_ar_y_w.png);}

.btn-pdf a { text-align: center; display: block; border: 1px solid #000000; color: #000000;}
.btn-pdf a span { display: inline-block; padding-left: 35px; background: url(../img/ico_pdf.png) no-repeat 0 50%; background-size: auto 23px; line-height: 36px; font-weight: bold;}
.btn-pdf a span small { font-size: 80%; font-weight: normal;}
.btn-pdf a:hover { background-color: #000000; color: #ffffff;}

@media screen and (min-width: 768px) {
	.btn-more a { display: inline-block; padding: 0 40px;}
	.btn-more a span { padding-left: 93px; background-image: url(../img/pc/ico_ar_y_b.png), url(../img/pc/ico_ar_y_w.png); background-size: auto; line-height: 46px;}
	.btn-more a span.en { font-size: 200%;}
	.btn-more a span.ja { font-size: 125%;}
	.btn-more a:hover span { background-image: url(../img/pc/ico_ar_y_b.png);}
	
	.btn-more.c2 a span { background-image: url(../img/pc/ico_ar_y_w.png), url(../img/pc/ico_ar_y_b.png);}
	.btn-more.c2 a:hover span { background-image: url(../img/pc/ico_ar_y_w.png);}
	
	.btn-pdf a { display: inline-block; padding: 0 40px;}
}

/* link-tile */
.link-tile { font-size: 0;}
.link-tile li { display: inline-block; letter-spacing: normal; font-size: 15px; width: 50%; margin-top: 6px; padding-left: 6px; vertical-align: top;}
.link-tile li.last511 { width: 100%;}
.link-tile li.works { margin-bottom: 2em;}
.link-tile li a { display: block; position: relative; overflow: hidden; display: block; padding-top: 75.7%;}
.works_list_wrp .link-tile li a { display: block; position: relative; overflow: hidden; display: block; padding-top: 65%;}
.works_list_wrp p {
  margin-top: 0 !important;
  padding: 12px;
  line-height: 1.4;
  font-size: 90%;
}
.link-tile li.last511 a { padding-top: 37.58%;}
.link-tile li a img:hover { box-shadow: inset 0 0 0 2px #fff;}
.link-tile li a::after { z-index: 5; display: block; position: absolute; bottom: 2px; right: 2px; content: ''; width: 10px; height: 10px; background: url(../img/ico_btn.png) no-repeat 100% 100%; background-size: 100% auto;}
.link-tile li a::before {
	background-color: rgba(0,0,0,.5);
}
.link-tile li a .ttl .ja {
	padding: .2em .3em;
}

.link-tile li a::before { z-index: 3; display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; content: ''; width: 100%; height: 100%; transition: all .3s cubic-bezier(.4, 0, .2, 1);}
.link-tile li a img:hover::before { background: rgba(15, 15, 17, 0);}
.link-tile li a .ttl { z-index: 5; text-align: center; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); padding-top: .8em;}
.link-tile li a .ttl::before { position: absolute; top: 0; left: 50%; content: ''; width: 16px; height: 2px; background-color: #0d0d0d; -webkit-transform: translateX(-50%); transform: translateX(-50%); transition: all .3s cubic-bezier(.4, 0, .2, 1);}
.link-tile li a img:hover .ttl::before { width: 100%;}
.link-tile li a .ttl span { white-space: nowrap;}
.link-tile li a .ttl .en { display: block; font-size: 7.55vw; line-height: .828; text-shadow: 1px 1px 2px rgba(0, 0, 0, .8);}
.link-tile li a .ttl .ja { display: inline-block; margin-top: .3em; padding: 0 .2em; font-weight: bold; background-color: #0d0d0d; color: #ffffff;}
.page-works .link-tile { margin-top: 75px;}

@media screen and (max-width: 375px) {
	.link-tile li a img:hover { box-shadow: inset 0 0 0 1px #0d0d0d;}
	.link-tile li a::after { bottom: 1px; right: 1px;}
}
@media screen and (min-width: 768px) {
	.link-tile li { font-size: 16px; width: 33.33%;}
	.link-tile li.last511 { width: 66.66%;}
	.link-tile li.works { width: 24.26392%}
	.link-tile li a .ttl { padding-top: 1.77vw;}
	.link-tile li a .ttl::before { width: 2.54vw;}
	.link-tile li a .ttl .en { font-size: 4.6vw;}
}
@media screen and (min-width: 920px) {
	.link-tile li a img:hover { box-shadow: inset 0 0 0 3px #fff;}
	.link-tile li a::after { bottom: 3px; right: 3px; width: 16px; height: 16px;}
	.link-tile li a .ttl::before { height: 3px;}
	.link-tile li a .ttl .ja { font-size: 112.5%;}
}
@media screen and (min-width: 1200px) {
	.link-tile li a .ttl { padding-top: 23px;}
	.link-tile li a .ttl::before { width: 33px; height: 4px;}
	.link-tile li a .ttl .en { font-size: 60px;}
}

/* list
   -------------------------------------------------- */
.dotlist > li { position: relative; padding-left: 1.2em; margin-top: .3em;}
.dotlist > li:first-child { margin-top: 0;}
.dotlist > li::before { position: absolute; top: .5em; left: 0; content: ''; width: 6px; height: 6px; border: 1px solid #0d0d0d; border-radius: 50%;}

.notelist > li { position: relative; padding-left: 1.2em; font-size: 93%;}
.notelist > li:first-child { margin-top: 0;}
.notelist > li::before { position: absolute; top: 0; left: 0; content: '・';}

.icolist > li { position: relative; padding-left: 1.2em; margin-top: .3em;}
.icolist > li:first-child { margin-top: 0;}
.icolist > li::before { position: absolute; top: .3em; left: 0; content: ''; width: 8px; height: 10px; background: url(../img/ico_title.png) no-repeat 100% 100%; background-size: 100% auto;}

.numlist > li { list-style: decimal outside; margin-top: .3em;}
.numlist > li:first-child { margin-top: 0;}

.linelist > li { margin-top: .3em; color: #000000;}

@media screen and (min-width: 768px) {
/*	.dotlist > li { margin-top: 0;}*/
	.dotlist > li::before { top: .7em;}
	
	.icolist > li { padding-left: 0;}
	.icolist > li::before { top: .5em;}
	
	.linelist > li { position: relative; margin-top: .1em; padding-left: 2em;}
	.linelist > li::before { position: absolute; top: .8em; left: 0; display: block; content: ''; width: 1.5em; height: 1px; background-color: #000000;}
}

/* title
   -------------------------------------------------- */
#titleArea { position: relative;}
#titleArea .inner { padding-top: 25.39vw; padding-bottom: 35px;}
#titleArea .title { position: relative; text-shadow: 1px 1px 2px rgba(0, 0, 0, .4);}
#titleArea .title .en { overflow: hidden; display: block; height: 24.739vw; font-size: 15.1vw; line-height: .82;}
#titleArea .title .ja { display: block; position: relative; margin-top: .2em; font-size: 113.3%; line-height: 1.1; color: #0d0d0d;}
#titleArea .mainvisual { z-index: -1; position: absolute; top: 0; right: 0; width: 100%; height: 40.49vw; background-position: 100% 0; background-size: auto 100%;}

.icottl { position: relative; margin-bottom: 1.6em; padding-left: 1.2em; font-size: 106.7%; line-height: 1.1; color: #0d0d0d;}
.icottl::before { position: absolute; top: .1em; left: 0; content: ''; width: 10px; height: 12px; background: url(../img/ico_title.png) no-repeat 100% 100%; background-size: 100% auto;}

@media screen and (min-width: 768px) {
	#titleArea .inner { padding-top: 165px; height: 430px;}
	#titleArea .title .en { height: 180px; font-size: 688%;}
	#titleArea .title .ja { margin-top: .4em; font-size: 150%;}
	
	.icottl { margin-bottom: 1.2em; padding-left: 1.3em; font-size: 112.5%; -webkit-transform: translateY(-.1em); transform: translateY(-.1em);}
	.icottl::before { width: 12px; height: 14px;}
}
@media screen and (min-width: 920px) {
	#titleArea .inner { height: 468px;}
	#titleArea .mainvisual { height: 408px;}
}

/* contentArea etc
   -------------------------------------------------- */
#contentArea .inner p { margin-top: 1.5em;}
#contentArea .inner h2 + p,
#contentArea .inner .top-lead p:first-child { margin-top: 0;}

.block-line { margin-top: 1.5em; padding-left: 1.46em; border-left: 1px solid #000000;}
.num-wrap { margin-top: 1.8em; padding-left: 2.5em; border-left: 1px solid #000000;}
.activity { margin-top: 1.8em; padding-left: 1.33em; border-left: 1px solid #0d0d0d;}
.activity .ttl { font-size: 106.7%; line-height: 1.1; color: #0d0d0d;}
.activity .dotlist { margin-top: 1.35em;}
.image-set { overflow: hidden; margin-top: 3em;}
.image-set ul { margin-left: -6px; letter-spacing: -.4em; font-size: 0;}
.image-set div + ul { margin-top: 6px;}
.image-set ul li { display: inline-block; letter-spacing: normal; width: 50%; padding-left: 6px;}

.mapwrap { position: relative; width: 100%; padding-top: 65.84%;}
.mapwrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.mapwrap #map { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

@media screen and (min-width: 768px) {
	#contentArea .inner p { margin-top: 1.9em;}
	
	.block-line { margin-top: 1.3em; padding-left: 1.9em;}
	.num-wrap { margin-top: 2em;}
	.activity { margin-top: 3em;}
	.activity .ttl { font-size: 112.5%;}
	.image-set { z-index: -1; position: absolute; top: 0; right: 3.85vw; width: 52.93vw; margin-top: 0;}
	.with-imageset { min-height: 48vw;}
	.with-imageset.set-photo2 { min-height: 15.5vw;}
	
	.mapwrap { padding-top: 46.184%;}
}
@media screen and (min-width: 920px) {
	.num-wrap { padding-left: 3em;}
	.activity { margin-top: 5.8em; padding-left: 1.8em;}
	.image-set { width: 487px;}
	.with-imageset { min-height: 441px;}
	.with-imageset.set-photo2 { min-height: 158px;}
}
@media screen and (min-width: 1200px) {
	.image-set { right: 50px;}
}

/* contact-block */
#contentArea #contact-block { display: inline-block; margin-top: 3em; padding: 1.1em 4.68vw; border: 2px solid #0d0d0d;}
#contentArea #contact-block .ttls { font-size: 106.7%; color: #0d0d0d;}
#contentArea #contact-block p { margin-top: 1em;}

@media screen and (min-width: 768px) {
	#contentArea #contact-block { margin-top: 5.7em; padding: 1.25em 28px 1.2em; border-width: 4px;}
	#contentArea #contact-block .ttls { font-size: 112.5%;}
}

/* pageWrap
   ---------------------------------------------------------------------------------------------------- */
#pWrap {position: relative; padding-bottom: 137px;}
main { overflow: hidden; position: relative; z-index: 1;}
.inner { text-align: left; position: relative; width: 100%; margin-right: auto; margin-left: auto; padding-right: 5.2%; padding-left: 5.2%;}

#overlay { display: none; z-index: 500; position: fixed; top: 0; left: 0; width: 100%; height: 120%; background: #000; opacity: .8;}

@media screen and (min-width: 768px) {
	#pWrap { padding-bottom: 170px;}
	.inner { max-width: 1400px; padding-right: 3.85%; padding-left: 3.85%;}
	.inner.innerB { padding-right: 3.85%; padding-left: 11.574%;}
	.inner.innerC { padding-right: 11.574%; padding-left: 11.574%;}
	
	#contentArea .inner:first-child::before,
	#contentArea .inner.with-mainvisual2::before { position: absolute; top: .5em; left: 3.85vw; display: block; content: ''; width: 3.3vw; height: 3px; background-color: #000000;}
}
@media screen and (min-width: 1200px) {
	.inner { padding-right: 50px; padding-left: 50px;}
	.inner.innerB { padding-right: 50px; padding-left: 150px;}
	.inner.innerC { padding-right: 150px; padding-left: 150px;}
	
	#contentArea .inner:first-child::before,
	#contentArea .inner.with-mainvisual2::before { left: 50px; width: 40px;}
}

/* header
   -------------------------------------------------- */
#hdGlobal .header-inner {height: 90px;}
#topLogo {width: 162px; transition: all .3s cubic-bezier(.4, 0, .2, 1); -weblit-animation: show .5s cubic-bezier(.4, 0, .2, 1); animation: show .5s cubic-bezier(.4, 0, .2, 1);}
#hdBtn { z-index: 50; position: fixed; top: 2.21vw; right: 1.82vw; transition: all .3s cubic-bezier(.4, 0, .2, 1); -weblit-animation: show .5s cubic-bezier(.4, 0, .2, 1); animation: show .5s cubic-bezier(.4, 0, .2, 1);}
#hdBtn.active { z-index: 503;}
#hdBtn a { z-index: 3; position: relative; text-indent: -9999px; display: block; width: 38px; height: 44px; background: url('../img/bg_hd_menu.png') no-repeat 0 0; background-size: 100% auto;}
#hdBtn a::before,
#hdBtn a::after { position: absolute; left: 10px; display: block; content: ''; width: 17px; height: 2px; background-color: #0d0d0d;}
#hdBtn a::before { top: 12px;}
#hdBtn a::after { top: 20px;}
#hdBtn.active a::before,
#hdBtn.active a::after { width: 17px; top: 17px;}
#hdBtn.active a::before { -webkit-transform: rotate(45deg); transform: rotate(45deg);}
#hdBtn.active a::after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}

#hdMenu { display: none; z-index: 500; overflow-y: auto; position: fixed; top: 0; right: 0; bottom: 0; width: 100%; background: #ffffff; -webkit-transform: translateX(100%); transform: translateX(100%); -webkit-animation: header_menu_hide .5s cubic-bezier(.4, 0, .2, 1); animation: header_menu_hide .5s cubic-bezier(.4, 0, .2, 1);}
#hdMenu.active { -webkit-transform: translateX(0%); transform: translateX(0%); -webkit-animation: header_menu_show .5s cubic-bezier(.4, 0, .2, 1); animation: header_menu_show .5s cubic-bezier(.4, 0, .2, 1);}
#hdMenu .nav-inner { text-align: left; display: inline-block; width: auto; padding: 71px 0 1em;}
#hdMenu .nav-inner .en { font-size: 146.7%; line-height: .9;}
#hdMenu .nav-inner .ja { letter-spacing: .1em;}
#hdMenu li a { position: relative; display: inline-block;}
#hdMenu li a::after { position: absolute; bottom: -.4em; left: 0; content: ''; width: 0; height: 3px; background-color: #dada03; transition: all .3s cubic-bezier(.4, 0, .2, 1);}
#hdMenu li span { display: block;}
#hdMenu li a:hover::after { width: 100%;}
#hdMenu li .ja { padding-top: .2em; font-weight: bold;}
#hdMenu .nav-main { position: relative; padding-bottom: 2.65em;}
#hdMenu .nav-main::after { position: absolute; bottom: 0; left: 0; display: block; content: ''; width: 30px; height: 3px; background-color: #000000;}
#hdMenu .nav-main li { margin-top: 1.65em;}
#hdMenu .nav-main li:first-child { margin-top: 0;}
#hdMenu .nav-main li .en { font-size: 233.3%; line-height: .62;}
#hdMenu .nav-main li .ja { color: #0d0d0d;}
#hdMenu .nav-sub { margin-top: 2.6em;}
#hdMenu .nav-sub li { padding-bottom: 1.38em;}
#hdMenu .nav-sub li .ja { font-size: 80%; line-height: 1.66;}
#hdMenu .nav-lang li { display: inline-block;}
#hdMenu .nav-lang li::before { display: inline-block; content: '/'; color: #000000; margin: 0 .6em; font-family: 'Teko', sans-serif; font-size: 100%;}
#hdMenu .nav-lang li:first-child::before { display: none;}
#overlaymenu { z-index: 300; position: fixed; top: 0; right: 0; bottom: 0; left: 0; background: #ffffff; opacity: .6;}

#hdMenu li a.chinese{ color:#b0b0b0; }
#hdMenu li a.chinese::after{ content: none; }

@media only screen and (max-width: 375px) {
	#hdMenu li a::after { height: 2px;}
}
@media screen and (min-width: 768px) {
	#topLogo { top: 20px; left: 20px;}
	#hdBtn { top: 17px; right: 14px;}
	#hdBtn a:hover::before,
	#hdBtn a:hover::after { background-color: #fff;}
	#hdMenu { width: 738px;}
	#hdMenu .nav-inner { padding-top: 91px;}
	#hdMenu .nav-inner .en { font-size: 156.3%;}
	#hdMenu li a::after { bottom: 0;}
	#hdMenu li span { display: inline-block;}
	#hdMenu .nav-main { padding-bottom: 2.6em;}
	#hdMenu .nav-main::after { width: 40px;}
	#hdMenu .nav-main li .en { font-size: 312.5%; line-height: .62;}
	#hdMenu .nav-main li .ja { font-size: 150%; padding-left: .4em;}
	#hdMenu .nav-sub { margin-top: 2.65em;}
	#hdMenu .nav-sub li { padding-bottom: .7em;}
	#hdMenu .nav-sub li .ja { font-size: 87.5%;}
	#hdMenu .nav-lang { margin-top: .15em;}
	#hdMenu .nav-lang li { line-height: 1.1;}
}
#topLogo {
	max-width: 300px;
	margin-left: 15px;
width: 100%;
}


/* footer
   -------------------------------------------------- */
#ftWrap { zoom: 1; position: absolute; left: 0; bottom: 0; width: 100%;}
.is-fixed-ft #ftWrap { position: fixed;}
#ftWrap .inner { padding: 13px 0 11px; background-color: #0d0d0d; color: #000;}

#ftWrap #totop { visibility: hidden; z-index: 30; position: fixed; top: 100%; right: 2.314%; width: 22px;}

#ftWrap .snsLinks { text-align: center;}
#ftWrap .snsLinks ul { letter-spacing: -.4em;}
#ftWrap .snsLinks li { text-align: left; display: inline-block; letter-spacing: normal; margin-left: 7px; vertical-align: top;}
#ftWrap .snsLinks li:first-child { margin-left: 0;}
#ftWrap .snsLinks li a { text-indent: -9999px; display: block; width: 30px; height: 30px; background-repeat: no-repeat; background-position: 0 0; background-size: 100% auto;}
#ftWrap .snsLinks li.tw a { background-image: url(../img/ico_sns_tw.png), url(../img/ico_sns_tw_ov.png);}
#ftWrap .snsLinks li.fb a { background-image: url(../img/ico_sns_fb.png), url(../img/ico_sns_fb_ov.png);}
#ftWrap .snsLinks li.li a { background-image: url(../img/ico_sns_li.png), url(../img/ico_sns_li_ov.png);}
#ftWrap .snsLinks li.tw a:hover { background-image: url(../img/ico_sns_tw_ov.png);}
#ftWrap .snsLinks li.fb a:hover { background-image: url(../img/ico_sns_fb_ov.png);}
#ftWrap .snsLinks li.li a:hover { background-image: url(../img/ico_sns_li_ov.png);}

#ftWrap .copyright { text-align: center; margin-top: .7em;}

@media screen and (min-width: 768px) {
	#ftWrap .inner { max-width: 100%; padding: 0;}
	
	#ftWrap #totop { visibility: visible; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); font-family: 'Teko', sans-serif;}
	#ftWrap #totop a { display: inline-block; width: 22px; padding: 10px .2em 44px 0; background-color: #0d0d0d; background-image: url(../img/pc/ico_totop.png), url(../img/pc/ico_totop_ov.png); background-repeat: no-repeat; background-position: 50% 95%; font-size: 125%; line-height: 1; letter-spacing: .2em; writing-mode: vertical-rl; -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; -webkit-transform: translateY(0); transform: translateY(0);}
	#ftWrap #totop a:hover { background-color: #0d0d0d; background-image: url(../img/pc/ico_totop_ov.png); color: #ffffff;}
	
	#ftWrap .snsLinks { text-align: right; position: absolute; top: 10px; right: 20px;}
	#ftWrap .snsLinks li { margin-left: 6px;}
	#ftWrap .snsLinks li a { width: 28px; height: 28px;}
	
	#ftWrap .copyright { margin-top: 0; font-size: 125%;line-height: 1.5em;}
}
@media screen and (min-width: 920px) {
	#ftWrap .snsLinks li.li { display: none;}
}
@media screen and (min-width: 1200px) {
	#ftWrap #totop { right: 30px;}
}

/* loading-animation
   ---------------------------------------------------------------------------------------------------- */
#lLoading { z-index: 9999; display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; background-color: #ffffff;}
#lLoading .loading-inner { text-align: center; position: fixed; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); height: 16px;}
/*
.loading-animation,
.loading-animation:before,
.loading-animation:after { display: inline-block; width: 15px; height: 15px; background-color: #fff; border-radius: 50%; transform-origin: center center;}
.loading-animation { position: relative; background-color: rgba(255, 255, 255, 1); opacity: 1; -webkit-animation: loading_anime 1s infinite linear; animation: loading_anime 1s infinite linear;}
.loading-animation:before,
.loading-animation:after { position: absolute; top: 0; content: ''; opacity: .25;}
.loading-animation:before { left: 30px; -webkit-animation: loading_anime_before 1s infinite linear; animation: loading_anime_before 1s infinite linear;}
.loading-animation:after { left: -30px; -webkit-animation: loading_anime_after 1s infinite linear; animation: loading_anime_after 1s infinite linear;}
*/
.loading-animation{
	display: block;
	position: relative;
	/*width: 121px; height: 146px;*/
 
    overflow: hidden;
}
.loading-animation{ width: 48px; height: 56px; }
.loading-animation:before,
.loading-animation span:after { position: absolute; bottom: 0; left: 0; content: ''; width: 100%; height: 100%; }
.loading-animation:before{ background:url('../img/sp/loading_sp01.png') no-repeat bottom center; background-size: cover; }
.loading-animation span:after{ background:url('../img/sp/loading_sp02.png') no-repeat bottom center; background-size: cover; -webkit-animation: loading_anime_image 1s infinite linear ; animation: loading_anime_image 1s infinite linear ; }
.loading-animation span{ position: absolute; bottom: 0; left: 0; -webkit-animation: loading_anime_image_mask 1s infinite linear ; animation: loading_anime_image_mask 1s infinite linear ; width: 100%; height: 100%; overflow: hidden; }

.loading-text-animation{
	display: block;
	position: relative;

    height: 17px;
    overflow: hidden;
}
.loading-text-animation{ width: 52px; margin-top: 7px; margin-left: -2px;}
.loading-text-animation:before,
.loading-text-animation span:after { position: absolute; top: 0; content: 'LOADING'; font-family: 'Teko', sans-serif; line-height: 1.1; letter-spacing: .03em; left: 0px; font-size: 1.2rem; text-align: left; }
.loading-text-animation:before{ color:#fff; }
.loading-text-animation span:after{ color:#0d0d0d; -webkit-animation: loading_anime_text 1s infinite linear ; animation: loading_anime_text 1s infinite linear ; }	
.loading-text-animation span{ position: absolute; top: 0; left:0; overflow: hidden; width: 100%; -webkit-animation: loading_anime_text_mask 1s infinite linear ; animation: loading_anime_text_mask 1s infinite linear ; height: 17px; }

@media screen and (min-width: 768px) {
	.loading-animation:before{ background-image:url('../img/pc/loading_pc01.png'); }
	.loading-animation span:after{ background-image:url('../img/pc/loading_pc02.png'); }

	.loading-text-animation{ width: 48px; margin-left: 0px;}
	.loading-text-animation:before,
	.loading-text-animation span:after { font-size: inherit; left: 3px;}

}

/* slick
   ---------------------------------------------------------------------------------------------------- */
.slick-list,
.slick-slider,
.slick-track { position: relative; display: block;}
.slick-loading .slick-slide,
.slick-loading .slick-track { visibility: hidden;}
.slick-slider { box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent;}
.slick-list { overflow: hidden; margin: 0; padding: 0;}
.slick-list:focus { outline: 0;}
.slick-list.dragging { cursor: pointer; cursor: hand;}
.slick-slider .slick-list,
.slick-slider .slick-track { -webkit-transform: translate3d(0,0,0); -moz-transform: translate3d(0,0,0); -ms-transform: translate3d(0,0,0); -o-transform: translate3d(0,0,0); transform: translate3d(0,0,0);}
.slick-track { top: 0; left: 0;}
.slick-track::after,
.slick-track::before { display: table; content: '';}
.slick-track::after { clear: both;}
.slick-slide { display: none; float: left; height: 100%; min-height: 1px; outline: 0;}
[dir=rtl] .slick-slide { float: right;}
.slick-slide img { display: block;}
.slick-slide.slick-loading img { display: none;}
.slick-slide.dragging img { pointer-events: none;}
.slick-initialized .slick-slide { display: block;}
.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent;}
.slick-arrow.slick-hidden { display: none;}

.slick-dots,
.slick-next,
.slick-prev { position: absolute; display: block; padding: 0;}
.slick-dots li button::before,
.slick-next::before,
.slick-prev::before { font-family: slick; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
.slick-loading .slick-list { background: url('../img/loading.gif') no-repeat center center;}
.slick-next,
.slick-prev { font-size: 0; line-height: 0; top: 50%; width: 20px; height: 20px; -webkit-transform: translate(0,-50%); transform: translate(0,-50%); cursor: pointer; color: transparent; border: none; outline: 0; background: 0 0;}
.slick-next:focus,
.slick-next:hover,
.slick-prev:focus,
.slick-prev:hover { color: transparent; outline: 0; background: 0 0;}
.slick-next:focus::before,
.slick-next:hover::before,
.slick-prev:focus::before,
.slick-prev:hover::before { opacity: 1;}
.slick-next.slick-disabled::before,
.slick-prev.slick-disabled::before { opacity: .25;}
.slick-next::before,
.slick-prev::before { font-size: 20px; line-height: 1; opacity: .75; color: #fff;}
.slick-prev { left: -25px;}
[dir=rtl] .slick-prev { right: -25px; left: auto;}
.slick-prev::before { content: '←';}
.slick-next::before,
[dir=rtl] .slick-prev::before { content: '→';}
.slick-next { right: -25px;}
[dir=rtl] .slick-next { right: auto; left: -25px;}
[dir=rtl] .slick-next::before { content: '←';}
.slick-dotted.slick-slider { margin-bottom: 30px;}
.slick-dots { bottom: -25px; width: 100%; margin: 0; list-style: none; text-align: center;}
.slick-dots li { position: relative; display: inline-block; width: 10px; height: 10px; margin: 0 5px; padding: 0; cursor: pointer;}
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 10px; height: 10px; padding: 5px; cursor: pointer; color: transparent; border: 0; outline: 0; background: 0 0;}
.slick-dots li button:focus,
.slick-dots li button:hover { outline: 0;}
.slick-dots li button:focus::before,
.slick-dots li button:hover::before { opacity: 1;}
.slick-dots li button::before { display: block; content: ''; width: 8px; height: 8px; border-radius: 100%; color: #fff;}
.slick-dots li.slick-active button::before { opacity: .75; color: #000;}

/* widget
   ---------------------------------------------------------------------------------------------------- */
.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style]{ max-width: 500px; width: 100% !important;}

/* keyframes
   ---------------------------------------------------------------------------------------------------- */
@-webkit-keyframes header_menu_show {
	0% { -webkit-transform: translateX(100%); transform: translateX(100%);}
	100% { -webkit-transform: translateX(0%); transform: translateX(0%);}
}
@keyframes header_menu_show {
	0% { -webkit-transform: translateX(100%); transform: translateX(100%);}
	100% { -webkit-transform: translateX(0%); transform: translateX(0%);}
}
@-webkit-keyframes header_menu_hide {
	0% { -webkit-transform: translateX(0%); transform: translateX(0%);}
	100% { -webkit-transform: translateX(100%); transform: translateX(100%);}
}
@keyframes header_menu_hide {
	0% { -webkit-transform: translateX(0%); transform: translateX(0%);}
	100% { -webkit-transform: translateX(100%); transform: translateX(100%);}
}

@-webkit-keyframes loading_anime {
	0% { opacity: 1;}
	33% { opacity: .25;}
	66% { opacity: .25;}
	100% { opacity: 1;}
}
@keyframes loading_anime {
	0% { opacity: 1;}
	33% { opacity: .25;}
	66% { opacity: .25;}
	100% { opacity: 1;}
}
@-webkit-keyframes loading_anime_before {
	0% { opacity: .25;}
	33% { opacity: 1;}
	66% { opacity: .25;}
}
@keyframes loading_anime_before {
	0% { opacity: .25;}
	33% { opacity: 1;}
	66% { opacity: .25;}
}
@-webkit-keyframes loading_anime_after {
	33% { opacity: .25;}
	66% { opacity: 1;}
	100% { opacity: .25;}
}
@keyframes loading_anime_after {
	33% { opacity: .25;}
	66% { opacity: 1;}
	100% { opacity: .25;}
}

@-webkit-keyframes spin {
	0% { -webkit-transform: rotate(0deg); transform: rotate(0deg);}
	100% { -webkit-transform: rotate(360deg); transform: rotate(360deg);}
}
@keyframes spin {
	0% { -webkit-transform: rotate(0deg); transform: rotate(0deg);}
	100% { -webkit-transform: rotate(360deg); transform: rotate(360deg);}
}

@-webkit-keyframes fuwafuwa {
	0% { -webkit-transform: translateY(0); transform: translateY(0);}
	30% { -webkit-transform: translateY(-10px); transform: translateY(-10px);}
	100% { -webkit-transform: translateY(0); transform: translateY(0);}
}
@keyframes fuwafuwa {
	0% { -webkit-transform: translateY(0); transform: translateY(0);}
	30% { -webkit-transform: translateY(-10px); transform: translateY(-10px);}
	100% { -webkit-transform: translateY(0); transform: translateY(0);}
}

@-webkit-keyframes fuwafuwa_bg {
	0% { background-position: 55% 95%;}
	30% { background-position: 55% 100%;}
	100% { background-position: 55% 95%;}
}
@keyframes fuwafuwa_bg {
	0% { background-position: 55% 95%;}
	30% { background-position: 55% 100%;}
	100% { background-position: 55% 95%;}
}

@-webkit-keyframes show {
	0% { opacity: 0;}
	100% { opacity: 1;}
}
@keyframes show {
	0% { opacity: 0;}
	100% { opacity: 1;}
}
@-webkit-keyframes hide {
	0% { opacity: 1;}
	100% { opacity: 0;}
}
@keyframes hide {
	0% { opacity: 1;}
	100% { opacity: 0;}
}



@-webkit-keyframes rotate_state_current2next {
	0% { -webkit-transform: rotate(0deg) translateY(-50%); transform: rotate(0deg) translateY(-50%);}
	100% { -webkit-transform: rotate(180deg) translateY(-50%); transform: rotate(180deg) translateY(-50%);}
}
@keyframes rotate_state_current2next {
	0% { -webkit-transform: rotate(0deg) translateY(-50%); transform: rotate(0deg) translateY(-50%);}
	100% { -webkit-transform: rotate(180deg) translateY(-50%); transform: rotate(180deg) translateY(-50%);}
}
@-webkit-keyframes rotate_state_next2current {
	0% { -webkit-transform: rotate(-180deg) translateY(-50%); transform: rotate(-180deg) translateY(-50%);}
	100% { -webkit-transform: rotate(0deg) translateY(-50%); transform: rotate(0deg) translateY(-50%);}
}
@keyframes rotate_state_next2current {
	0% { -webkit-transform: rotate(-180deg) translateY(-50%); transform: rotate(-180deg) translateY(-50%);}
	100% { -webkit-transform: rotate(0deg) translateY(-50%); transform: rotate(0deg) translateY(-50%);}
}

@-webkit-keyframes rotate_state_current2prev {
	0% { -webkit-transform: rotate(0deg) translateY(-50%); transform: rotate(0deg) translateY(-50%);}
	100% { -webkit-transform: rotate(-180deg) translateY(-50%); transform: rotate(-180deg) translateY(-50%);}
}
@keyframes rotate_state_current2prev {
	0% { -webkit-transform: rotate(0deg) translateY(-50%); transform: rotate(0deg) translateY(-50%);}
	100% { -webkit-transform: rotate(-180deg) translateY(-50%); transform: rotate(-180deg) translateY(-50%);}
}
@-webkit-keyframes rotate_state_prev2current {
	0% { -webkit-transform: rotate(180deg) translateY(-50%); transform: rotate(180deg) translateY(-50%);}
	100% { -webkit-transform: rotate(0deg) translateY(-50%); transform: rotate(0deg) translateY(-50%);}
}
@keyframes rotate_state_prev2current {
	0% { -webkit-transform: rotate(180deg) translateY(-50%); transform: rotate(180deg) translateY(-50%);}
	100% { -webkit-transform: rotate(0deg) translateY(-50%); transform: rotate(0deg) translateY(-50%);}
}


@-webkit-keyframes rotate_scroll_current2next {
	0% { -webkit-transform: rotate(0deg) translateY(-50%); transform: rotate(0deg) translateY(-50%);}
	100% { -webkit-transform: rotate(-180deg) translateY(-50%); transform: rotate(-180deg) translateY(-50%);}
}
@keyframes rotate_scroll_current2next {
	0% { -webkit-transform: rotate(0deg) translateY(-50%); transform: rotate(0deg) translateY(-50%);}
	100% { -webkit-transform: rotate(-180deg) translateY(-50%); transform: rotate(-180deg) translateY(-50%);}
}
@-webkit-keyframes rotate_scroll_next2current {
	0% { -webkit-transform: rotate(180deg) translateY(-50%); transform: rotate(180deg) translateY(-50%);}
	100% { -webkit-transform: rotate(0deg) translateY(-50%); transform: rotate(0deg) translateY(-50%);}
}
@keyframes rotate_scroll_next2current {
	0% { -webkit-transform: rotate(180deg) translateY(-50%); transform: rotate(180deg) translateY(-50%);}
	100% { -webkit-transform: rotate(0deg) translateY(-50%); transform: rotate(0deg) translateY(-50%);}
}

@-webkit-keyframes rotate_scroll_current2prev {
	0% { -webkit-transform: rotate(0deg) translateY(-50%); transform: rotate(0deg) translateY(-50%);}
	100% { -webkit-transform: rotate(180deg) translateY(-50%); transform: rotate(180deg) translateY(-50%);}
}
@keyframes rotate_scroll_current2prev {
	0% { -webkit-transform: rotate(0deg) translateY(-50%); transform: rotate(0deg) translateY(-50%);}
	100% { -webkit-transform: rotate(180deg) translateY(-50%); transform: rotate(180deg) translateY(-50%);}
}
@-webkit-keyframes rotate_scroll_prev2current {
	0% { -webkit-transform: rotate(-180deg) translateY(-50%); transform: rotate(-180deg) translateY(-50%);}
	100% { -webkit-transform: rotate(0deg) translateY(-50%); transform: rotate(0deg) translateY(-50%);}
}
@keyframes rotate_scroll_prev2current {
	0% { -webkit-transform: rotate(-180deg) translateY(-50%); transform: rotate(-180deg) translateY(-50%);}
	100% { -webkit-transform: rotate(0deg) translateY(-50%); transform: rotate(0deg) translateY(-50%);}
}

@-webkit-keyframes loading_anime_image_mask{
	0%{ height: 0%; bottom:0%; }
	50%{ height: 100%; bottom:0%; }
	100%{ height: 100%; bottom:100%; }
}
@keyframes loading_anime_image_mask{
	0%{ height: 0%; bottom:0%; }
	50%{ height: 100%; bottom:0%; }
	100%{ height: 100%; bottom:100%; }
}
@-webkit-keyframes loading_anime_image{
	0%{ bottom:0%; }
	50%{ bottom:0%; }
	100%{ bottom:-100%; }
}
@keyframes loading_anime_image{
	0%{ bottom:0%; }
	50%{ bottom:0%; }
	100%{ bottom:-100%; }
}


@-webkit-keyframes loading_anime_text_mask{
	0%{ width: 0%; left:0%; }
	50%{ width: 100%; left:0%; }
	100%{ width: 100%; left:100%; }
}
@keyframes loading_anime_text_mask{
	0%{ width: 0%; left:0%; }
	50%{ width: 100%; left:0%; }
	100%{ width: 100%; left:100%; }
}

@-webkit-keyframes loading_anime_text{
	0%{ margin-left:0%; }
	50%{ margin-left:0%; }
	100%{ margin-left:-100%; }
}
@keyframes loading_anime_text{
	0%{ margin-left:0%; }
	50%{ margin-left:0%; }
	100%{ margin-left:-100%; }
}

#section5 {
	color: #fff;
}
#section5 .btn-more a {
	border: 1px solid #fff;
	color: #fff;
}
.bg2 {
	color: #fff;
}
#section2 .btn-more a span,#section4 .btn-more a span,#section5 .btn-more a span {
	background-image: url(../img/pc/ico_ar_y_w.png), url(../img/pc/ico_ar_y_b.png);
  }
  #section4 .btn-more a {
	border: 1px solid #fff;
	color: #fff;
  }
  .works_list_wrp .btn-more a {
	border: 1px solid #000;
	color: #000;
  }
 body .link-tile li a {
	padding-top: 0;
color: #fff;
  }
 body .slick-dots li button {
	color: #fff;
  }
  .link-tile.slide {
	max-width: 95%;
	margin-right: auto;
	margin-left: auto;
  }
  #section2 {
	background-color: #0d0d0d;
	padding-top: 50px;
	padding-bottom: 50px;
	color: #fff;
  }
  #section2 .btn-more a {
	border: 1px solid #fff;
	color: #fff;
  }
  .slick-initialized .slick-slide {
	padding: 20px;
  }
  .slick-dots li.slick-active button::before {
    opacity: 1;
    color: #fff;
  }

  @media (max-width:768px){
  body #hdWrap::before {
	background-size: 100% 50px;
  }
  body #hdWrap {
	padding-bottom: 40px;
  }

}


		 

  #section99,#section1{
	overflow:hidden;
	position:relative;
	padding-top: 90px;
	}

	
	@media (min-width:768px){
		#section99::before,#section1::before{
	background-size: 90px 100%;
	background-position: 0% 50%;   
	}  
	}
	 
	@media (min-width:1025px){
		#section99::before,#section1::before{ 
	bottom: -0.1vw;
	left: -0.1vw;
	right: -0.1vw;
	top: -0.1vw; 
	background-size: 100% 90px;
	background-position: 50% 0%;  
	background-image: url('data:image/svg+xml;charset=utf8, <svg preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 100"><g fill="%230d0d0d"><g opacity=".3"><path d="M1000 25v-9h-20l20 9zM1000 54V40l-50-24h-31l57 27 24 11zM1000 83V68l-2-1-52-24-57-27h-30l56 27 53 24 32 16zM977 86l-40-19-52-24-57-27h-30l57 27 52 24 40 19h30zM916 86l-39-19-53-24-56-27h-31l57 27 52 24 40 19h30zM856 86l-40-19-52-24-57-27h-30l56 27 53 24 39 19h31zM795 86l-40-19-52-24-57-27h-30l57 27 52 24 40 19h30zM734 86l-39-19-53-24-56-27h-31l57 27 52 24 40 19h30zM674 86l-40-19-52-24-57-27h-30l56 27 53 24 39 19h31zM613 86l-40-19-52-24-57-27h-30l57 27 52 24 40 19h30zM552 86l-39-19-53-24-56-27h-31l57 27 52 24 40 19h30zM492 86l-40-19-52-24-57-27h-30l56 27 53 24 39 19h31zM431 86l-40-19-52-24-57-27h-30l57 27 52 24 40 19h30zM370 86l-39-19-53-24-56-27h-31l57 27 52 24 40 19h30zM310 86l-40-19-52-24-57-27h-30l56 27 53 24 39 19h31zM249 86l-40-19-52-24-57-27H70l57 27 52 24 40 19h30zM188 86l-39-19-53-24-56-27H9h1l56 27 52 24 40 19h30zM128 86L88 67 36 43 0 26v14l5 3 53 24 39 19h31zM67 86L27 67 0 54v15l37 17h30z"/></g><path fill="none" d="M1002 67l-2-1V16H0v51h1002z"/><path d="M0 16V0h1000v16H0zM1000 38V23l-16-7h-31l47 22z"/><path d="M1000 66V52l-20-9-57-27h-30l57 27 50 23zM1000 86v-5l-28-14-53-24-57-27h-30l57 27 52 24 40 19h19zM828 43l-57-27h31l57 27 52 24 40 19h-31l-39-19-53-24zM768 43l-57-27h30l57 27 52 24 40 19h-30l-40-19-52-24zM707 43l-57-27h30l57 27 53 24 39 19h-30l-40-19-52-24zM646 43l-57-27h31l57 27 52 24 40 19h-31l-39-19-53-24zM586 43l-57-27h30l57 27 52 24 40 19h-30l-40-19-52-24zM525 43l-57-27h30l57 27 53 24 39 19h-30l-40-19-52-24zM464 43l-57-27h31l57 27 52 24 40 19h-31l-39-19-53-24zM403 43l-56-27h30l57 27 52 24 40 19h-30l-40-19-53-24zM343 43l-57-27h30l57 27 53 24 39 19h-30l-40-19-52-24zM282 43l-57-27h31l56 27 53 24 40 19h-31l-39-19-53-24zM221 43l-56-27h30l57 27 52 24 40 19h-30l-40-19-53-24zM161 43l-57-27h30l57 27 53 24 39 19h-30l-40-19-52-24zM100 43L43 16h31l56 27 53 24 40 19h-31l-39-19-53-24zM70 43l52 24 40 19h-30L92 67 39 43 0 24v-9h10l3 1v-1 1l57 27zM62 67l39 19H71L31 67 0 53V38l9 5 53 24zM40 86H10L0 81V67h1l39 19z"/><path fill="none" d="M0 16h1000v70H0z"/></g></svg>'); 
	}
	}
	@media (min-width:2100px){
		#section99::before,#section1::before{
	background-size: 100% calc(2vw + 90px);
	}
	}
	 



	 


	 #section1 {
		background-color: #0d0d0d;
	 }


		body .control .status-nav span {
			border: 1px solid #fff;
			padding: .2em .2em 0 .5em;
		}
		 

		#section3 .inner{
			overflow:hidden;
			position:relative;
			}
			#section3 .inner::before{
			content:'';
			font-family:'shape divider from ShapeDividers.com';
			position: absolute;
			bottom: -1px;
			left: -1px;
			right: -1px;
			top: -1px;
			z-index: 3;
			pointer-events: none;
			background-repeat: no-repeat; 
			background-size: 100% 90px;
			background-position: 50% 0%;    
			background-position: 50% 0%;  background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35.28 2.17" preserveAspectRatio="none"><path d="M0 .5c3.07.55 9.27-.42 16.14 0 6.88.4 13.75.57 19.14-.11V0H0z" fill="%230d0d0d"/><path d="M0 1c3.17.8 7.29-.38 10.04-.55 2.75-.17 9.25 1.47 12.67 1.3 3.43-.17 4.65-.84 7.05-.87 2.4-.02 5.52.88 5.52.88V0H0z" opacity=".5" fill="%230d0d0d"/><path d="M0 1.85c2.56-.83 7.68-.3 11.79-.42 4.1-.12 6.86-.61 9.58-.28 2.73.33 5.61 1.17 8.61 1 3-.19 4.73-.82 5.3-.84V.1H0z" opacity=".5" fill="%230d0d0d"/></svg>'); 
			}
			
			@media (min-width:768px){
				#section3 .inner::before{
			background-size: 100% 90px;
			background-position: 50% 0%;   
			}  
			}
			 
			@media (min-width:1025px){
				#section3 .inner::before{ 
			bottom: -0.1vw;
			left: 980px;
			right: -0.1vw;
			top: -0.1vw; 
			background-size: 90px 100%;
			background-position: 0% 50%;  
			background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2.17 35.28" preserveAspectRatio="none"><path d="M.5 35.28C1.04 32.2.07 26 .5 19.13.9 12.26 1.06 5.4.38 0H0v35.28z" fill="%230d0d0d"/><path d="M1 35.28c.8-3.17-.38-7.3-.55-10.04-.17-2.76 1.47-9.25 1.3-12.68C1.58 9.14.91 7.92.88 5.52.86 3.12 1.76 0 1.76 0H0v35.28z" opacity=".5" fill="%230d0d0d"/><path d="M1.85 35.28c-.83-2.57-.3-7.68-.42-11.8-.12-4.1-.61-6.85-.28-9.57.33-2.73 1.17-5.61 1-8.61-.19-3-.82-4.73-.84-5.3H.1v35.28z" opacity=".5" fill="%230d0d0d"/></svg>'); 
			}
			}
			
			body #section3 .inner {
				margin-left: 0;
				max-width: 1100px;
				padding-left: 0;
				padding-right: 120px;
				
			 }
			 body #section3 .inner .bg {
			 background-color: #0d0d0d;
			 padding-left: 200px;
			 }
			 #ftWrap .copyright {
				color: #fff;
			 }
			 #section5 .inner {
				padding-bottom: 60px;
			 }
			 #section6 .inner {
				padding-right: 0;
				padding-left: 0;
				font-size: 0;
			 }
			 #section6 .inner .d_w50 {
				display: inline-block;
				width: 100%;
				font-size: 16px;
				color: #000;
				vertical-align: top;
				padding: 50px 100px;
			 }
			 #section6 .inner .d_w50.blue {
			 background-color: #0d0d0d;
			 color: #fff;
			 }
			 #section6 .d_w50 .title .ja {
				color: #000;
				margin-top: 20px;
margin-bottom: 20px;
			 }
			 #section6 .d_w50.blue .title .ja {
				color: #fff;
			 }
			 .map iframe {
				width: 100%;
				box-shadow: 0 0 10px rgba(0,0,0,.3);
			 }
			 .title .en {
				text-shadow: 0 1px 0 #bbb, 0 2px 0 #b0b0b0, 0 3px 0 #aaa, 0 4px 0 #a0a0a0, 0 5px 0 #888, 0 6px 1px rgba(0, 0, 0, .1), 0 0 5px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .3), 0 3px 5px rgba(0, 0, 0, .2), 0 5px 10px rgba(0, 0, 0, .25), 0 10px 10px rgba(0, 0, 0, .2), 0 20px 20px rgba(0, 0, 0, .15);
			 }
			 .title .en.s_none {
				text-shadow: none;
			 }
			.link-area {
				background-color: #0d0d0d;
				color: #fff;
				letter-spacing: 1px;
				padding-top: 7px;
				padding-bottom: 7px;
			}
			.s_box {
				box-shadow: 0 0 10px rgba(0,0,0,.3);
				max-width: 93%;
				margin-right: auto;
				margin-left: auto;
			}
			.works_list_wrp p.link-box {
				font-size: 1.1em;
				color: #555;
				text-align: left;
			}
			.works_list_wrp p.link-name {
				text-align: right;
				color: #555;
			}
			#section99 .inner.works_list_wrp {
				padding-right: 0;
padding-left: 0;
			}
			.border_box {
				border: 2px solid #fff;
padding: 20px;
			}
			body #section5 .bg {
				padding-right: 20px;
padding-left: 20px;
padding-top: 20px;
padding-bottom: 20px;
			}
			.border_box {
				padding: 60px;
			}
			.link-tile li a .ttl .en {
				line-height: 1.1;
				margin-bottom: 15px;
				text-shadow: 0 1px 0 #bbb, 0 2px 0 #b0b0b0, 0 3px 0 #aaa, 0 4px 0 #a0a0a0, 0 5px 0 #888, 0 6px 1px rgba(0, 0, 0, .1), 0 0 5px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .3), 0 3px 5px rgba(0, 0, 0, .2), 0 5px 10px rgba(0, 0, 0, .25), 0 10px 10px rgba(0, 0, 0, .2), 0 20px 20px rgba(0, 0, 0, .15);
			}
			body .slick-dots li button::before {
				opacity: .5;
				color: #fff;
				font-size: 10px;
			}
			body .slick-dots li.slick-active button::before {
				opacity: 1;
				color: #fff;
			
			}

.section4wrap {
	animation: bgiLoop 100s linear infinite;
background-repeat: repeat !important;
}
@keyframes bgiLoop {
    0% { background-position: 0 0;}
  100% { background-position: -2000px 2000px;}
}
#section7 .title {
	text-align: center;
	margin-bottom: 60px;
}
#section7 .title .inner {
	padding-right: 0;
	padding-left: 0;
}
.list {
	font-size: 0;
}
.list li {
	font-size: 16px;
	display: inline-block;
	width: 24.9221287654321%;
	text-align: center;
	padding-right: 30px;
	padding-left: 30px;
	vertical-align: top;
	margin-bottom: 50px;
}
.list li img {
	display: block;
	margin-bottom: 10px;
	border: 1px solid #ccc;
	box-shadow: 0 0 10px rgba(0,0,0,.3);
}
body #section7 .title .en {
	height: 120px;
}
body #section7 .inner {
	padding-right: 5vw;
	padding-left: 5vw;
}


#hdWrap{
	overflow: hidden;
	position: relative;
	background-color: #fff;
	padding-bottom: 10px;
	padding-top: 10px;
	}
	#hdWrap::before{
	content:'';
	font-family:'shape divider from ShapeDividers.com';
	position: absolute;
	bottom: -1px;
	left: -1px;
	right: -1px;
	top: -1px;
	z-index: 3;
	pointer-events: none;
	background-repeat: no-repeat; 
	background-size: 100% 90px;
	background-position: 50% 100%;    
	}
	
	@media (min-width:768px){
		#hdWrap::before{
	background-size: 100% 90px;
	background-position: 50% 100%;   
	}  
	}
	 
	@media (min-width:1025px){
		#hdWrap::before{ 
	bottom: -0.1vw;
	left: -0.1vw;
	right: -0.1vw;
	top: -0.1vw; 
	background-size: 100% 90px;
	background-position: 50% 100%;  
	}
	}
	@media (min-width:2100px){
		#hdWrap::before{
	background-size: 100% calc(2vw + 90px);
	}
	}
	.menu a i {
		margin-right: 5px;
		}
		
		
		.menu a {
		  text-decoration: none;
		  color: #fff;
		}
		
		.menu ul {
		list-style: none;
		font-size: 16px;
		margin: 0;
		padding: 0;
		color: #fff;
		}
		
		.menu {
		  -webkit-transition: ease .5s;
		  transition: ease .5s;
		  z-index: 100;
		position: absolute;
		top: 0;
		left: -400px;
		height: 100vh;
		padding: 4em 3em 3em;
		background-color: #000;
		z-index: 20;
		position: fixed;
		max-width: 400px;
		}
		
		.menu ul li {
			padding: 1em 0em;
		border-bottom: 1px solid #fff;
		max-width: 350px;
		width: 100%;
		text-align: left;
		}
		
		.menu.open {
		  display: block;
		  overflow-y: auto;
		  -webkit-overflow-scrolling: touch;
		left: 0;
		z-index: 99999;
		}
		
		.drawers {
			position: absolute;
			right: 5px;
			top: 15px;
			overflow: hidden;
		}
		
		.drawer {
		  display: flex;
		  align-items: center;
		  justify-content: space-between;
		  flex-direction: row;
		  position: relative;
		  height: 70px;
		  padding: 0 1em;
		}
		
		/* タブレット以下のサイズで表示 */
		
		@media (max-width: 768px) {
		  .drawers {
			display: block;
		  }
		  .drawer {
			height: 60px;
		  }
		}
		
		.navbar_toggle {
		  z-index: 999;
		cursor: pointer;
		}
		
		.navbar_toggle_icon {
		  position: relative;
		  display: block;
		  height: 2px;
		  width: 30px;
		  background: #fff;
		  -webkit-transition: ease .5s;
		  transition: ease .5s;
		  margin-right: auto;
margin-left: auto;
		}
		
		.navbar_toggle_icon:nth-child(1) {
		  top: 0;
		}
		
		.navbar_toggle_icon:nth-child(2) {
		  margin: 8px auto;
		}
		
		.navbar_toggle_icon:nth-child(3) {
		  top: 0;
		}
		
		/*ハンバーガーメニューの開閉*/
		.navbar_toggle.open .navbar_toggle_icon:nth-child(1) {
		  top: 10px;
		  -webkit-transform: rotate(45deg);
		  transform: rotate(45deg);
		}
		
		.navbar_toggle.open .navbar_toggle_icon:nth-child(2) {
		  -webkit-transform: translateY(-50%);
		  transform: translateY(-50%);
		  opacity: 0;
		}
		
		.navbar_toggle.open .navbar_toggle_icon:nth-child(3) {
		  top: -10px;
		  -webkit-transform: rotate(-45deg);
		  transform: rotate(-45deg);
		}
		
		.navbar_toggle {
			margin: 0 0 0 auto;
			background-color: #221717;
			color: #fff;
			padding: 13px 10px 1px;
			border-radius: 5px;
		}
		.navbar_toggle_text {
			font-size: .8em;
			display: block;
			margin-top: 3px;
		}

		.description {
			margin-top: 50px;
			margin-bottom: 50px;
			max-width: 500px;
			margin-right: auto;
			margin-left: auto;
			}





			@media (max-width:1500px){
				body #section99 {
					padding-top: 50px;
					padding-bottom: 30px;

				}
				body #section1 {
					padding-top: 0;
				}
				body #section1 .bg-movie {
					max-width: 100%;
				}
				body #section1 .movie-btn {
					bottom: 35%;
				}
				body #section1 .bg-movie-wrapper {
					max-height: 100%;
				}
				html body section#section99 .title .en,html body section#section2 .title .en {
					height: auto;
					margin-bottom: 20px;
				  }
			body #section3 .inner {
				margin-left: 0;
				max-width: 1100px;
				padding-left: 0;
				padding-right: 0;
				margin-top: 50px;
			}
			body #section3 .inner .bg {
				background-color: #0d0d0d;
				padding-left: 15px;
				padding-right: 15px;
			  }
			  body .control .title .en {
				height: auto;
				line-height: 1.2em;
				text-align: center;
				margin-bottom: 20px;
			  }
			  body .title .ja {
				text-align: center;
			  }
			  .border_box {
				background-color: #0d0d0d;
			  }
			  .border_box {
				padding: 40px 20px;
			  }
			  body #section5 .bg {
				padding-right: 0;
				padding-left: 0;
				padding-top: 0;
				padding-bottom: 0;
			  }
			  body #section5 .title .en {
				height: auto;
				margin-bottom: 20px;
				text-align: center;
			  }
			  body .control .image {
				text-align: center;
				margin: 2.7em 0 0;
			  }
			  body #section6 .inner .d_w50 {
				width: 100%;
				padding-right: 20px;
				padding-left: 20px;
			  }
			  body #section6 .title .en {
				height: auto;
				margin-bottom: 20px;
			  }
			  body #section6 .inner .d_w50.white_p {
				background-color: #fff;
			  }
			  #section6 .inner {
				padding-bottom: 0;
			  }
			  .iso-area {
				background-color: #0d0d0d;
				color: #fff;
				padding-top: 10px;
				padding-bottom: 10px;
			  }
			  body #pWrap {
				padding-bottom: 46px;
			  }
			  body #section5 .inner {
				padding-right: 10px;
				padding-left: 10px;				
			  }
			  body #section2 {
				padding-top: 0;
				padding-bottom: 50px;
			  }
body #section6 .inner {
				padding-bottom: 0;
			  }
			  body .description {
				margin-bottom: 20px;
			  }
			  #ftWrap .inner {
				padding: 13px 0 20px;
			  }
			  .menu {
			  width: 75%;
			  padding-right: 30px;
			  padding-left: 30px;
			  }
			  .menu ul li {
				width: 100%;
			  }
			  .menu .center {
				margin-bottom: 30px;
			  }
			  body .link-tile li a .ttl .en {
				font-size: 3em;
			  }
			  .border_box .text a {
				color: #fff;
			  }
			  .link-tile li a .ttl .ja {
				font-size: 18px;
				padding: 5px 10px;
			  }
			  .slick-slide img {
				margin-right: auto;
margin-left: auto;
			  }
			  #section1 .bg-movie-wrapper::before {
				padding-top: 55%;
			  }
			  #section3 .inner::before {
				display: none;
			  }


			}
			@media (min-width:1500px){
			.ip_only {
				display: none !important;
			}
		}
		@media (max-width:1501px){
			.pc_only {
				display: none !important;
			}
		}


		.text_box {
			background-color: #0d0d0d;
		}
		.text_box .inner {
			padding-right: 0;
			padding-left: 0;
			max-width: 1200px;
			color: #fff;
			padding-top: 70px;
			padding-bottom: 70px;
			position: relative;
		}

		.text_box .inner img {
			display: block;
			max-width: 750px;
			margin-right: auto;
			margin-left: auto;
			width: 100%;
		}
		.text_box .inner h3.ttl {
			font-size: 4.5em;
			border-bottom: 2px solid;
			margin-bottom: 30px;
			line-height: .9em;
			padding-bottom: 7px;
		}
		.text_box .inner h3.ttl span.ja {
			font-size: .45em;
		}
		.text_box .inner h3.ttl span.en {
			text-shadow: 0 1px 0 #bbb, 0 2px 0 #b0b0b0, 0 3px 0 #aaa, 0 4px 0 #a0a0a0, 0 5px 0 #888, 0 6px 1px rgba(0, 0, 0, .1), 0 0 5px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .3), 0 3px 5px rgba(0, 0, 0, .2), 0 5px 10px rgba(0, 0, 0, .25), 0 10px 10px rgba(0, 0, 0, .2), 0 20px 20px rgba(0, 0, 0, .15);
		}
		.text_box .inner p {
			line-height: 1.5em;
			margin-bottom: 20px;
			z-index: 999;
position: relative;
		}
		.img_list {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			justify-content: space-between;
			max-width: 500px;
			margin-left: auto;
			margin-top: 30px;
		}
		.img_list li {
			width: calc(50% - 3px);
		}
		.img_list li:first-child {
			width: 100%;
		}
		.text_box .inner .img_list li img {
			max-width: 100%;
			width: auto;
			margin-bottom: 6px;
		}
		.page_b#ftWrap .inner {
			background-color: #fff;
color: #0d0d0d;
padding-bottom: 15px;
		}
		.page_b#ftWrap .copyright {
			color: #0d0d0d;
		  }
		  .mainimg_back {
			position: absolute;
			right: 0;
			top: -5px;
		  }
.main_text {
	min-height: 500px;
	padding-top: 15px;
	position: relative;
}

.text_box .inner p span {
	position: relative;
	background-color: rgba(18, 49, 132,.8);
	line-height: 1.8em;
}
@media (max-width:1000px){
	.text_box .inner h3.ttl span.en {
		line-height: 1.2em;
	}
	.text_box .inner {
		padding-right: 15px;
		padding-left: 15px;
	}
	.mainimg_back {
		position: relative;
		right: 0;
		top: 0;
		max-width: 100%;
	}
	.mainimg_back {
		margin-bottom: 15px;
	}
	.main_text {
		padding-top: 0;
	}
	.text_box .inner {
		padding-top: 30px;
		padding-bottom: 50px;
	}
	.text_box .inner h3.ttl {
		font-size: 2.8em;
	}

}
#topLogo.pc_only {
	max-width: 440px;
}


@media (max-width:801px){
	.pc_only {
		display: none;
	}
	}
	@media (min-width:800px){
	.ip_only {
		display: none;
	}
	.header-inner {
		display: flex;
		align-items: center;
		}
	}
	.s_box img {
		max-height: 206px;
	}
	.s_box {
		text-align: center;
	}





.thanks {
	margin-top: 50px;
}
.thanks_title {
	font-weight: 700;
	font-size: 1.8em;
	margin-bottom: 15px;
}
.thanks_text {
	font-size: 18px;
}
.thanks_link a {
	display: block;
	margin-top: 30px;
	padding: 10px;
	background-color: #333;
	color: #fff;
	max-width: 200px;
	margin-right: auto;
	margin-left: auto;
}

.btn-success:hover {
	background-color: #333;
	border-color: #333;
}
.col-sm-offset-4
{
    margin-left: auto;
    margin-right: auto;
    display: block;
}
.form-horizontal .form-group
{
  min-height: 0;
  text-align: center;
  line-height: 1em;
  margin-top: 30px;
}
.col-sm-offset-4
{
  margin-left: auto;
  margin-right: auto;
  display: block;
  width: 100%;
}
.btn-lg.btn-success
{
	color: #fff;
	background-color: #333;
	border-color: #333;
	padding: 20px;
	max-width: 500px;
	margin-right: auto;
	margin-left: auto;
}
.comit-thanks {
	max-width: 700px;
	margin-right: auto;
	margin-left: auto;
	margin-top: 80px;
}
.comit-thanks h2 b {
	display: block;
	font-size: 2em;
	margin-bottom: 20px;
	font-family: 'Oswald', sans-serif;
	letter-spacing: 0.05em;
	font-weight: 500;
}
.comit-thanks h2 {
	font-size: 1.3em;
	margin-bottom: 20px;
}
.col-md-3
{
	width: 100%;
	text-align: left;
	padding-right: 0;
	padding-left: 0;
	position: relative;
	display: flex;
	justify-content: left;
	align-items: center;
	margin-bottom: 8px;
	padding-left: 5px;
	font-weight: 600;
}
.row
{
	margin-right: 0;
	margin-left: 0;
	margin-bottom: 40px;
}
.col-md-9
{
    width: 100%;
	padding-right: 0;
	padding-left: 0;
  }
  .label-danger {
	background-color: #fff;
	color: #0d0d0d;
	border: 1px solid #0d0d0d;
	border-radius: 0;
	font-size: 15px;
	padding-top: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 5px;
	font-weight: 600;
	margin-left: 15px;
  }
.form-control {
	height: auto;
	min-height: 55px;
	border: 1px solid #aaa;
	box-shadow: none;
}
.error {
	text-align: left;
	margin-bottom: 10px;
	margin-top: 5px;
}
@media screen and (max-width: 1200px) {
.comit-thanks {
	margin-top: 0;
	padding-top: 40px;
	padding-right: 15px;
	padding-left: 15px;
	padding-bottom: 50px;
}
.thanks_title {
	font-size: 1.5em;
}
.thanks_text
{
  font-size: 16px;
  text-align: left;
}
.thanks {
	padding-right: 15px;
	padding-left: 15px;
}
.thanks_link a {
	text-align: center;
}



}
textarea.form-control {
	min-height: 150px;
	padding: 15px;
}
.table_box_title {
	font-weight: 500;
	font-size: 30px;
	margin-bottom: 15px;
}
.table_box {
	max-width: 800px;
	margin-right: auto;
	margin-left: auto;
	margin-top: 3em;
	margin-bottom: 1em;
	padding-right: 5px;
	padding-left: 5px;
}
.table_box table {
	width: 100%;
	max-width: 800px;
	margin-right: auto;
	margin-left: auto;
	text-align: left;
}
.table_box table th,.table_box table td {
	padding: 15px;
	border: 1px solid #ccc;
}
@media screen and (max-width: 920px) {
	.link-tile li {
		width: 49.8%;
	}
	.table_box {
		margin-top: 1em;
		margin-bottom: 1em;
	}


}