@charset "UTF-8";
*{-o-box-sizing:border-box;-ms-box-sizing:border-box;-webkit-box-sizing:border-box}
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section,summary{display:block}
audio,canvas,video{display:inline-block}
audio:not([controls]){display:none;height:0}
[hidden]{display:none}
html{font-family: book antiqua, palatino;}
body{margin:0;background-color: #111;}
a:focus{outline:thin dotted}
a:active,a:hover{outline:0}
h1{font-size:2em}
abbr[title]{border-bottom:1px dotted}
b,strong{font-weight:bold}
dfn{font-style:italic}
mark{background:#ff0;color:#000}
code,kbd,pre,samp{font-family: book antiqua, palatino;font-size:1em}
pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}
q{quotes:"\201C" "\201D" "\2018" "\2019"}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sup{top:-0.5em}
sub{bottom:-0.25em}
img{border:0}
svg:not(:root){overflow:hidden}
figure{margin:0}
fieldset{border:1px solid silver;margin:0 2px;padding:0.35em 0.625em 0.75em}
legend{border:0;padding:0}
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0;outline: none;}
button,input{line-height:normal}
button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}
button[disabled],html input[disabled]{cursor:default}
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
textarea{overflow:auto;vertical-align:top}
table{border-collapse:collapse;border-spacing:0}
ul,li { margin:0; padding:0; list-style-type:none; }
* { -moz-box-sizing:border-box; box-sizing:border-box; margin:0; padding:0; text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; -webkit-tap-highlight-color:transparent; }
.cf:before, .cf:after {content:""; display:table; }
.cf:after {clear:both; }
.cf {zoom:1; }
.fl {float: left; overflow: hidden;}
.fr {float: right !important; overflow: hidden;}
.ta-center { text-align: center; }
.table{ width:100%; height:100%; display:table; }
* html div.table { position: relative; }  
*+html div.table { position: relative; }
.table-cell{ vertical-align:middle; display:table-cell; }
* html .table-cell { position: absolute; }  
*+html .table-cell { position: absolute; }
*::selection { background: #ea4d57; }
*::-moz-selection { background: #ea4d57; }

body{ color:#fff; line-height: 1.7; font-family: book antiqua, palatino;}
a { color:#fff; outline:0 none; text-decoration:none; }
a:focus { outline:none; }
section { display: block; width: 100%; overflow: hidden; }
.sans-serif { font-family: book antiqua, palatino;}
h1,h2,h3,h4,h5{margin:0;font-weight:400;}
@media (min-width: 320px){
	h1,
	h2 { font-size: 30px; letter-spacing: -0.5px; }
	h3 { font-size: 14px; line-height: 1.5; }
	h4 { font-size: 10px; font-weight: 700; }
	p { font-size: 12px; }
}
@media (min-width: 768px){
	h1,
	h2 { font-size: 40px; letter-spacing: -1px; }
	h3 { font-size: 16px; }
	h4 { font-size: 11px; }
}
@media (min-width: 960px){
	h1,
	h2 { font-size: 56px; letter-spacing: -1.5px; }
	h3 { font-size: 18px; }
	p { font-size: 13px; }
}

/*///////////////////////////////////////////
Common Style
///////////////////////////////////////////*/
/* 初期状態：薄く */
body {
  opacity: 1;
}

/* 非ホーム専用：loaded でフェードイン */
body:not(.home) {
  opacity: 0;
  transition: opacity 2s ease;
}

/* 非ホームで loaded が付いたら表示 */
body:not(.home).loaded {
  opacity: 1;
}

body.loaded .loader {
  pointer-events: none;
}

.loader {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: #111;
  z-index: 9999;
  opacity: 1;
  display: block;
}

.loader .loading,
.loader .loading-end {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 200px;
  aspect-ratio: 276 / 200;
  transform: translate(-50%, -50%);
  background-repeat: no-repeat;
  background-size: contain;
}

.loader .loading-end {
  opacity: 0;
  filter: blur(30px);
  transform: translate(-50%, -50%) scale(1.06);
}

@media (max-width: 768px) {
  .loader .loading,
  .loader .loading-end {
    width: 33vw;
  }
}




.bg-lightgray { background-color: #f6f6f6; }
.section-inner { position: relative; margin:0 auto; width: 100%; max-width: 1180px; padding:0 20px; }
.section-inner.nopd { padding:0; }
.space { height: 40px; }
@media (min-width: 960px){
	.section-inner { padding:0 30px; }
	.space { height: 80px; }
}
@media (min-width: 320px){
	.sec-text { display: block; text-align: center; max-width: 800px; margin:0 auto; }
	.sec-text.wide { display: block; text-align: center; max-width: 100%; margin:40px auto; }
	.sec-text p { font-size: 12px; }
	.arrow-more { position: relative; display: inline-block; font-size: 11px; font-weight: 700; padding:0 20px 0 0; -webkit-transition:all 333ms ease; -moz-transition:all 333ms ease; transition:all 333ms ease; }
	.arrow-more svg { position: absolute; right: 0; top:4px; width: 13px; height: 10px; }
	.view-all { display: block; text-align: center; margin:0 0 50px; }
	.box-link span { position: relative; display: inline-block; font-size: 12px; line-height: 21px; font-weight: 700; letter-spacing: 1px; padding:5px 25px 4px; color:#fff; background-color: #c42026; border-radius: 20px; -webkit-transition: all .4s cubic-bezier(.19,1,.22,1); -moz-transition: all .4s cubic-bezier(.19,1,.22,1); transition: all .4s cubic-bezier(.19,1,.22,1); }
	.box-link span .arrow { position: absolute; left: 2px; top:2px; opacity: 0; width: 26px; height: 26px; background-color: #fff; border-radius: 50%; -webkit-transform: scale3d(0,0,0); -moz-transform: scale3d(0,0,0); transform: scale3d(0,0,0); -webkit-transition: all .4s cubic-bezier(.19,1,.22,1); -moz-transition: all .4s cubic-bezier(.19,1,.22,1); transition: all .4s cubic-bezier(.19,1,.22,1); }
	.box-link span .arrow svg { position: absolute; left:50%; top:50%; width: 10px; height: 10px; margin: -5px 0 0 -5px; fill:#c42026; }
	.media-holder { position: relative; width: 100%; height: 0; padding: 0 0 100%; overflow: hidden; }
	.media-holder.h67 { padding: 0 0 66.6666%; }
	.media-holder.h56 { padding: 0 0 56%; }
	.media-holder.h50 { padding: 0 0 50%; }
	.media-holder.h33 { padding: 0 0 33.3333%; }
	.media-holder img,
	.media-holder iframe { position: absolute; left:0; top:0; width: 100%; height: 100%; }
}
@media (min-width: 768px){
	.sec-text p { font-size: 14px; }
	.view-all { margin:0 0 80px; }
}
@media (min-width: 960px){
	.sec-text p { font-size: 18px; }
	.sec-text.wide { margin:60px auto; }
	.sec-text.wide p { font-size: 14px; margin:10px 0; font-weight: 300; }
	.arrow-more { font-size: 12px; }
	.view-all { margin:0 0 100px; }
	.box-link span:hover { background-color: #f24b51; padding-left: 50px; }
	.box-link span:hover .arrow { opacity: 1; -webkit-transform: none; -moz-transform: none; transform: none; }
}

a.scroll-down div { display: none; text-align: center; font-size: 11px; color:#fff; text-transform: uppercase; letter-spacing: 1px; }
a.scroll-down span { position: absolute; bottom: 0; left: 50%; width: 20px; height: 33px; margin-left: -10px; border: 2px solid #fff; border-radius: 33px; box-sizing: border-box; }
a.scroll-down span::before { position: absolute; top: 6px; left: 50%; content: ''; width: 2px; height: 4px; margin-left: -1px; background-color: #fff; border-radius: 100%; -webkit-animation: sdb 1.4s infinite; animation: sdb 1.4s infinite; box-sizing: border-box; }
@-webkit-keyframes sdb { 0% { -webkit-transform: translate(0, 0); opacity: 0; } 40% { opacity: 1;} 80% { -webkit-transform: translate(0, 15px); opacity: 0; } 100% { opacity: 0; } }
@keyframes sdb { 0% { transform: translate(0, 0); opacity: 0; } 40% { opacity: 1;} 80% {transform: translate(0, 15px); opacity: 0; } 100% { opacity: 0; } }
@media (min-width: 960px){
	a.scroll-down div { display: block; }
	a.scroll-down span { width: 22px; height: 36px; margin-left: -11px; border-radius: 36px; }
	a.scroll-down span::before { top:8px; }
}


.inputWrap { display: block; width: 100%; }
.inputWrap input { display: block; width: 58%; line-height: 20px; padding:5px 10px; font-size: 12px; border:1px solid #eee; border-radius: 2px; float: left; }
.inputWrap button { display: block; width: 40%; line-height: 20px; padding:5px 10px; background-color:#bc1f29; color:#fff; border:none; border-radius: 2px; float: right; -webkit-transition:all 333ms ease; -moz-transition:all 333ms ease; transition:all 333ms ease; }
.inputWrap button span { font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: 1px; }
.inputWrap button:hover { background-color: #f24b51; }

/* Header */
@media (min-width: 320px){
	header { position: fixed; top:0; left:0; display: block; width: 100%; height: 85px; z-index: 900; -webkit-transition: height 666ms cubic-bezier(1,0,0,1); -ms-transition: height 666ms cubic-bezier(1,0,0,1); transition: height 666ms cubic-bezier(1,0,0,1); border-bottom: 0px none rgba(0, 0, 0, 0%);
    background-color: rgba(1, 1, 1, 0.8);
    box-shadow: 0px 5px 10px 0px rgba(33, 32, 52, 0.13);}
	header .section-inner { height: 100%; }
	header .logo { position: absolute;  width: 100px; height: 56px; z-index: 2; top:19px; left:5%; }
	header .logo svg { width: 100%; height: 100%; }
    header .logo img { width: 100%; height: 100%; }
	header .NavHolder { position:absolute; top: 105px; left: 0; right: 0; bottom: 0; overflow-y: scroll; -webkit-overflow-scrolling: touch; -ms-transform:translate(-100%,0); -webkit-transform:translate3d(-100%,0,0); transform:translate3d(-100%,0,0); -webkit-transition:margin 666ms cubic-bezier(.666,0,.333,1),-webkit-transform 666ms cubic-bezier(.666,0,.333,1); transition:margin 666ms cubic-bezier(.666,0,.333,1),transform 666ms cubic-bezier(.666,0,.333,1); }
    header .NavHolder::-webkit-scrollbar {width: 5px;}
    header .NavHolder::-webkit-scrollbar-thumb {background:#fff;border-radius: 10px;}
    header .NavHolder::-webkit-scrollbar-track {background:rgb(1,1,1,0.3);}     
	header .NavHolder .mainNav { display:block; margin:0; padding:0; position: absolute; left:0; top:50px; width: 90%; height: 100%; position: absolute;
    top: 50%;left: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); margin-top: 40px;}
	header .NavHolder .mainNav .navlist { padding:20px 50px; }
	header .NavHolder .mainNav .navlist li { position: relative; display: block;  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; opacity: 0; -webkit-transition:opacity .45s ease-in-out;-moz-transition:opacity .45s ease-in-out;-ms-transition:opacity .45s ease-in-out;-o-transition:opacity .45s ease-in-out;transition:opacity .45s ease-in-out; }
	header .NavHolder .mainNav .navlist li a { display:block; position:relative; text-align:left; font-size:15px; font-weight: 300; overflow:hidden; margin:0; padding:14px 0; letter-spacing:.4px; width:100%; text-transform: uppercase; -webkit-transition:color .25s ease-in-out;-moz-transition:color .25s ease-in-out;-ms-transition:color .25s ease-in-out;-o-transition:color .25s ease-in-out;transition:color .25s ease-in-out; color:#fff;}
	header .NavHolder .mainNav .navlist li.active>a { color: #c42026; }
	header .NavHolder .mainNav .navlist li.sp { background-color: #888; margin-top: 40px; }
	header .NavHolder .mainNav .navlist li.sp a { text-align: center; color:#fff; }
	header .NavHolder .mainNav .navlist li.drop ul { display: none; position: relative; padding-left: 20px; }
	header .NavHolder .mainNav .navlist li.drop>a { padding-right: 15px; }
	header .NavHolder .mainNav .navlist li.drop>a svg { position: absolute; display: block; top:50%; right: 0; margin-top: -5px; width: 10px; height: 10px; fill:#fff; -webkit-transition:all 250ms ease-out;-moz-transition:all 250ms ease-out;-ms-transition:all 250ms ease-out;-o-transition:all 250ms ease-out;transition:all 250ms ease-out; }
	header .NavHolder .mainNav .navlist li.showdrop>a svg { -webkit-transform:rotate(180deg); -ms-transform:rotate(180deg); transform:rotate(180deg); fill:#fff; }
	header .NavHolder .mainNav .navlist li.showdrop ul { display: block; }
	header .NavHolder .mainNav .navlist li.showdrop ul li { border-top: 1px dashed #666; border-bottom: none; display: block; }
	header .NavHolder .mainNav .navlist li.showdrop ul li a { font-size: 12px; font-weight: 400; }
	header .NavHolder .mainNav .navlist li.showdrop ul li a svg { position: absolute; display: block; top:50%; right: 0; margin-top: -5px; width: 10px; height: 10px; fill:#333; }
	header .NavHolder .mainNav .lang { display: block; text-align: center; margin-top: 20px; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; opacity: 0; -webkit-transition:opacity .45s ease-in-out;-moz-transition:opacity .45s ease-in-out;-ms-transition:opacity .45s ease-in-out;-o-transition:opacity .45s ease-in-out;transition:opacity .45s ease-in-out; }
	header .NavHolder .mainNav .lang li { display: inline-block; }
	header .NavHolder .mainNav .lang li:first-child { margin-right:10px; padding-right: 10px; border-right: 1px solid #ccc; }
	header .NavHolder .mainNav .lang li a { display: block; font-size: 11px; line-height: 1; letter-spacing: 1px; text-transform: uppercase; -webkit-transition:color .25s ease-in-out;-moz-transition:color .25s ease-in-out;-ms-transition:color .25s ease-in-out;-o-transition:color .25s ease-in-out;transition:color .25s ease-in-out; }
	header .NavHolder .mainNav .lang li a.active { color:#900; font-weight: 700; }
	.show header { height: 100%; background: rgba(1, 1, 1, 0.9);padding: 0;}
	.show header .NavHolder { -ms-transform:translate(0%,0); -webkit-transform:translate3d(0%,0,0); transform:translate3d(0%,0,0); background:rgb(20,20,20,0.9);top: 85px;}
	.show header .NavHolder .mainNav .navlist li { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; opacity: 1; }
	.show header .NavHolder .mainNav .navlist li:nth-child(1) { transition-delay:.45s;-webkit-transition-delay:.45s }
	.show header .NavHolder .mainNav .navlist li:nth-child(2) { transition-delay:.5s;-webkit-transition-delay:.5s }
	.show header .NavHolder .mainNav .navlist li:nth-child(3) { transition-delay:.55s;-webkit-transition-delay:.55s }
	.show header .NavHolder .mainNav .navlist li:nth-child(4) {transition-delay:.6s;-webkit-transition-delay:.6s }
	.show header .NavHolder .mainNav .navlist li:nth-child(5) { transition-delay:.65s;-webkit-transition-delay:.65s }
	.show header .NavHolder .mainNav .navlist li:nth-child(5) { transition-delay:.65s;-webkit-transition-delay:.65s }
	.show header .NavHolder .mainNav .navlist li:nth-child(6) { transition-delay:.7s;-webkit-transition-delay:.7s }
	.show header .NavHolder .mainNav .navlist li:nth-child(7) { transition-delay:.75s;-webkit-transition-delay:.75s }
	.show header .NavHolder .mainNav .navlist li:nth-child(8) { transition-delay:.8s;-webkit-transition-delay:.8s }
	.show header .NavHolder .mainNav .navlist li:nth-child(9) { transition-delay:.85s;-webkit-transition-delay:.85s }
	.show header .NavHolder .mainNav .lang { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; opacity: 1; transition-delay:.85s;-webkit-transition-delay:.85s }
	.show .section-inner{max-width: none;}
	header .nav-trigger { cursor:pointer;position:absolute; top:40px; right:20px; width:25px; height:15px; -webkit-transform:translate(0,-50%); -ms-transform:translate(0,-50%); transform:translate(0,-50%);}
	header .nav-trigger .pcOnly{display:none;}
	header .nav-trigger .hamburger {  }
	header .nav-trigger span { color: #fff;}
	.header-after { position: fixed; display: block; height: 85px; width: 100%; z-index: 899; background: none;}
	header .nav-trigger .hamburger .line { position:absolute; top:4px; left:0; width:100%; height:100%; margin-top:0; -ms-transform:translate(0,0%); -webkit-transform:translate3d(0,0%,0); transform:translate3d(0,0%,0); -webkit-transition:width 222ms cubic-bezier(.215,.61,.355,1)444ms,margin-top 222ms cubic-bezier(.215,.61,.355,1)222ms,-webkit-transform 222ms cubic-bezier(.215,.61,.355,1)222ms; transition:width 222ms cubic-bezier(.215,.61,.355,1)444ms,margin-top 222ms cubic-bezier(.215,.61,.355,1)222ms,transform 222ms cubic-bezier(.215,.61,.355,1)222ms; }
	header .nav-trigger .hamburger .line span { position:absolute; top:0; left:0; width:100%; height:2px; background-color:#fff; -ms-transform:rotate(0); -webkit-transform:rotate(0)translate3d(0,0,0); transform:rotate(0)translate3d(0,0,0); -webkit-transition:-webkit-transform 222ms cubic-bezier(.215,.61,.355,1); transition:transform 222ms cubic-bezier(.215,.61,.355,1); }
	header .nav-trigger .hamburger .line:nth-child(2) { width:100%; margin-top:-1px; -ms-transform:translate(0,50%); -webkit-transform:translate3d(0,50%,0); transform:translate3d(0,50%,0); }
	header .nav-trigger .hamburger .line:nth-child(3) { width:100%; margin-top:-2px; -ms-transform:translate(0,100%); -webkit-transform:translate3d(0,100%,0); transform:translate3d(0,100%,0); }
	header .nav-trigger .hamburger .line:nth-child(3) span { visibility:visible; -webkit-transition:visibility linear 222ms; transition:visibility linear 222ms; }
	.show header .nav-trigger { cursor:pointer;position:absolute; top:40px; right:20px;  -webkit-transform:translate(0,-50%); -ms-transform:translate(0,-50%); transform:translate(0,-50%);}
	.show header .nav-trigger .hamburger .line { margin-top:-1px; width:100%; -ms-transform:translate(0,50%); -webkit-transform:translate3d(0,50%,0); transform:translate3d(0,50%,0); -webkit-transition:width 222ms cubic-bezier(.215,.61,.355,1),margin-top 222ms cubic-bezier(.215,.61,.355,1)222ms,-webkit-transform 222ms cubic-bezier(.215,.61,.355,1)222ms; transition:width 222ms cubic-bezier(.215,.61,.355,1),margin-top 222ms cubic-bezier(.215,.61,.355,1)222ms,transform 222ms cubic-bezier(.215,.61,.355,1)222ms; }
	.show header .nav-trigger .hamburger .line span {  -webkit-transition:-webkit-transform 222ms cubic-bezier(.215,.61,.355,1)444ms; transition:transform 222ms cubic-bezier(.215,.61,.355,1)444ms; }
	.show header .nav-trigger .hamburger .line:nth-child(2) span { -ms-transform:rotate(45deg); -webkit-transform:rotate(45deg)translate3d(0,0,0); transform:rotate(45deg)translate3d(0,0,0); }
	.show header .nav-trigger .hamburger .line:nth-child(3) span { -ms-transform:rotate(-45deg); -webkit-transform:rotate(-45deg)translate3d(0,0,0); transform:rotate(-45deg)translate3d(0,0,0); }
	.show header .nav-trigger .hamburger .line:nth-child(4) span { visibility:hidden; -webkit-transition:visibility linear 444ms; transition:visibility linear 444ms; }
	header .NavHolder .mainNav #manu li a{border-bottom: 1px solid rgba(255,255,255,0.1);}
}
@media (min-width: 768px){
	header .nav-trigger { cursor:pointer;position:absolute; top:40px; left:50%; width:100px; -webkit-transform:translate(0,-50%); -ms-transform:translate(0,-50%); transform:translate(0,-50%); margin-left: -50px;}
	header .NavHolder .mainNav { width: 50%; }
	header .nav-trigger .pcOnly{display:block;text-align: center;}
	header .nav-trigger .hamburger .line{/*display:none;*/ width:20px !important; right:-5px; left: inherit;}
	header .nav-trigger .hamburger .line span{background:
	#ccc;}
	header .NavHolder .mainNav .navlist li a:hover { color:rgb(255,255,255,0.5); }
	header .NavHolder .mainNav .lang li a:hover { color:#999; }
}




/* Footer */

@media (min-width: 320px){
	footer { position:relative; width:100%;  margin: 0 auto; padding:60px 0; z-index: 90; }
	footer .logo { position: relative; margin:0; width: 100px; height: 22px; display: block; z-index: 2; }
	footer .logo svg { width: 100%; height: 100%; display: block; fill: #fff;}
	footer .foot-bottom { display: block; margin-top: 30px; }
	footer .foot-bottom p.copy { font-size: 12px; line-height: 40px; float: left; }
}
@media (min-width: 960px){
	footer { padding:80px 0; }
	footer .logo { width: 136px; height: 30px; }
	footer .foot-nav .col { float: left; width: 33.3333%; border: none; padding:30px; }
	footer .foot-nav .col:first-child { padding-left: 0; }
	footer .foot-nav .col:last-child { padding-right: 0 }
	footer .foot-nav .b-1,
	footer .foot-nav .b-2 { position: absolute; width: 1px; height: 96%; top:2%; background-color: #eee; }
	footer .foot-nav .b-1 { left:33.3333%; }
	footer .foot-nav .b-2 { left:66.6666%; }
	footer .foot-nav .col h3 { font-size: 18px; }
	footer .foot-bottom p.copy { font-size: 13px; line-height: 42px; }
}

@media (min-width: 320px){
	.signp { position: relative; display: block; width: 100%; padding:40px 20px; background-color: #000; color:#fff; text-align: center; }
	.signp .signup-form { display: block; margin: 30px auto 0; max-width: 320px; }
	.signup-form a { display: block; width: 180px; font-weight: 700; font-size: 13px; text-align: center; padding:8px; margin:0 auto; background-color: #bc1f29; color:#fff; -webkit-transition: all 333ms ease; -moz-transition: all 333ms ease; transition: all 333ms ease;}
	.foot-nav .signup-form { display: block; margin: 15px auto 0; }
	.foot-nav .signup-form a { margin:0; }
}
@media (min-width: 960px){
	.signp { padding:70px 30px; }
	.signp .signup-form { margin-top: 50px; }
	.signup-form a { font-size: 14px; }
	.signup-form a:hover { background-color: #f24b51; }
}

