@charset "UTF-8";
@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');
@import url('https://fonts.googleapis.com/css?family=Kalam');

*,:after,:before{margin:0;padding:0;-o-box-sizing:border-box;-ms-box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing: antialiased;}
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
audio,canvas,video{display:inline-block}
a{outline:0}
audio:not([controls]){display:none;height:0}
[hidden]{display:none}
html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
body{margin:0}
a{text-decoration: none;}
a:active,a:hover{outline:0}
h1{font-size:2em}
abbr[title]{border-bottom:1px dotted}
dfn{font-style:italic}
mark{background:#ff0;color:#000}
code,kbd,pre,samp{font-family:monospace,serif;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:-.5em}
sub{bottom:-.25em}
img{border:0}
svg:not(:root){overflow:hidden}
figure{margin:0}
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
legend{border:0;padding:0}
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
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}
button { border:none; background: none; outline:0 }
button:focus { outline: none; }
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}
textarea{overflow:auto;vertical-align:top}
table{border-collapse:collapse;border-spacing:0}
ul,li { list-style: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:after,.cf:before,.clear{content:" ";display:table}
.cf:after,.clear{clear:both}
.cf{*zoom:1}
.table { position: relative; display: table; width: 100%; height: 100%; }
.table-cell { position: relative; display: table-cell; vertical-align: middle; }
.va-top { vertical-align: top }
.va-bottom { vertical-align: bottom }
.ta-center { text-align: center; }
.media-holder{position:relative;width:100%;height:0;padding:0 0 100%;overflow:hidden; }
.media-holder.h16 {padding:0 0 16.66%;}
.media-holder.h30 {padding:0 0 30%;}
.media-holder.h33 {padding:0 0 33%;}
.media-holder.h50 {padding:0 0 50%;}
.media-holder.h56 {padding:0 0 56%;}
.media-holder.h62 {padding:0 0 62%;}
.media-holder.h67 {padding:0 0 67%;}
.media-holder img,.media-holder iframe,.media-holder video {position:absolute;top:0px;left:0px;width:100%;height:100%;overflow:hidden}

body { font-size: 100%; background: #fff; color:#151f55; font-family:'Noto Sans Japanese',Arial,'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Meiryo','メイリオ',sans-serif; -webkit-font-smoothing: antialiased; }
section { position: relative; background-color: #fff; }
h1,h2,h3,h4,h5 { font-weight: 400; }
strong,b,.bold { font-weight: 700; }
a { color:#151f55; }
.kalam { font-family:'Kalam',sans-serif; font-weight: 400 !important; }
.inner { position: relative; width: 90%; max-width: 1080px; margin:0 auto; padding:1px 0; }
.mi-inner { position: relative; width: 80%; max-width: 820px; margin:0 auto; }
.space { display: block; height: 50px; }
.space.s { height: 30px; }
.bgbk { background-color: #191919; color:#fff; }
.pcOnly { display: none; }
@media (min-width: 768px){
	.spOnly { display: none; }
	.mi-inner { width: 70%; }
	.space { height: 70px; }
	.space.s { height: 40px; }
}
@media (min-width: 960px){
	.pcOnly { display: block; }
}
@media (min-width: 1100px){
	.inner { width: 86%; }
	.space { height: 90px; }
	.space.s { height: 50px; }
}

/* loading */
.masksvg { display: block; width: 100%; height: 100%; }
.splash { position: fixed; left: 0; top: 0; z-index: 999; width: 100%; height: 100%; background: #fff; -webkit-transition: all .7s; transition: all .7s; }
.is_splash_start .splash { display: block; opacity: 0 }
.progress-bar { position: fixed; top: 50%; left: 50%; display: block; width: 300px; height: 30px; margin: -15px 0 0 -150px; background-image: url(../img/logo-long-mono.svg); background-size:cover; overflow: hidden; z-index: 100; }
.progress-now { position: absolute; height: 100%; width: 0; top: 0; left: 0; background-color:#fff; background-image: url(../img/logo-long-color.svg); background-position: left top; background-size:300px 30px; }
.is_prepend .progress-now { left: auto; right: 0; background-position: right top; }
.is_loaded .splash { display: none }
@media (min-width: 768px){
	.progress-bar { width: 400px; height: 40px; margin: -20px 0 0 -200px; }
	.progress-now { background-size:400px 40px; }
}

.io { opacity: 0; -webkit-transform:translate3d(0,100px,0) scale(0.97); transform:translate3d(0,100px,0) scale(0.97); -webkit-transition: all 2.8s cubic-bezier(.25,.98,.25,.98); transition: all 2.8s cubic-bezier(.25,.98,.25,.98); }
.io.on { opacity: 1; -webkit-transform: translate3d(0,0,0) scale(1); transform: translate3d(0,0,0) scale(1); }
.io-o { opacity: 0; transition: opacity 2s cubic-bezier(.25,.98,.25,.98); }
.io-o.on { opacity: 1; }
.w-o { padding-right: 0.25em; overflow: hidden; display: inline-block !important; }
.w-o:last-child { padding-right: 0; }
.w-o .o { overflow: hidden; display: inline-block !important; }
.w-o .o .c { overflow: hidden; display: inline-block !important; }
.js-words span, .js-char span { display: inline-block; vertical-align: top; }
.js-b-show .o { opacity: 0; transform: translate(0%, 100%); }
.js-w-show .o { opacity: 0; transform: translate(0%, -100%); }

/* Header */

.pageHeader { position: fixed; width: 100%; padding-left: 20px; padding-right: 20px; margin-top: 20px; left: 0; top: 0; -webkit-box-sizing: border-box; box-sizing: border-box; z-index: 2; }
.pageHeader.is-show .pageHeader-inner { visibility: visible; opacity: 1; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); }
.pageHeader-inner { height: 55px; background-color: #ffffff; border-radius: 10px; overflow: hidden; -webkit-box-shadow: 0px 2px 5px 1px rgba(0, 0, 0, 0.15); box-shadow: 0px 2px 5px 1px rgba(0, 0, 0, 0.15); visibility: hidden; opacity: 0; -webkit-transform: scale(1.1); -ms-transform: scale(1.1); transform: scale(1.1); -webkit-transition: height 0.6s cubic-bezier(0.37, 0.16, 0.12, 1), opacity 1s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 1.2s cubic-bezier(0.37, 0.16, 0.12, 1); transition: height 0.6s cubic-bezier(0.37, 0.16, 0.12, 1), opacity 1s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 1.2s cubic-bezier(0.37, 0.16, 0.12, 1); transition: height 0.6s cubic-bezier(0.37, 0.16, 0.12, 1), transform 1.2s cubic-bezier(0.37, 0.16, 0.12, 1), opacity 1s cubic-bezier(0.37, 0.16, 0.12, 1); transition: height 0.6s cubic-bezier(0.37, 0.16, 0.12, 1), transform 1.2s cubic-bezier(0.37, 0.16, 0.12, 1), opacity 1s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 1.2s cubic-bezier(0.37, 0.16, 0.12, 1); }
.is-navShow .pageHeader-inner { height: 420px; }
.pageHeader-content { position: relative; }
.pageHeader-content:before, .pageHeader-content:after { content: " "; display: table; }
.pageHeader-content:after { clear: both; }
.pageHeader-logo { position: absolute; width: 150px; height: 30px; left: 20px; top: 13px; line-height: 0; cursor: pointer; }
.is-scrolled .pageHeader-logo { cursor: pointer; pointer-events: auto; }
.pageHeader-logo svg { width: 100%; height: 100%; }
.pageNav { margin-top: 80px; margin-bottom: 50px; pointer-events: none; }
.pageNav.is-show { pointer-events: auto; }
.pageNav-list { position: relative; height: 100%; top: 0; }
.pageNav-list li { position: relative; margin-bottom: 20px; font-weight: 500; text-align: center; }
.pageNav-list li a { display: block; font-size: 1rem; }
.pageNav-list li a span { display: block; font-size: .6rem; }
.pageNav-list li a::after { display: none; content: ""; position: absolute; width: 100%; height: 5px; bottom: 0; background-color: #151f55; pointer-events: none; -webkit-transform: translateY(6px); -ms-transform: translateY(6px); transform: translateY(6px); -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.37, 0.16, 0.12, 1); transition: -webkit-transform 0.6s cubic-bezier(0.37, 0.16, 0.12, 1); transition: transform 0.6s cubic-bezier(0.37, 0.16, 0.12, 1); transition: transform 0.6s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 0.6s cubic-bezier(0.37, 0.16, 0.12, 1); }
.no-touch .pageNav-list li a:hover::after { -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
.pageNav-entry { text-align: center; }
.pageNav-entry a { position: relative; display: inline-block; padding-left: 42px; padding-right: 42px; margin-left: auto; margin-right: auto; height: 60px; background-color: #ff5419; color: #ffffff; border-radius: 6px; font-size:1rem; font-weight: 500; line-height: 60px; -webkit-transition: background-color 0.6s cubic-bezier(0.37, 0.16, 0.12, 1); transition: background-color 0.6s cubic-bezier(0.37, 0.16, 0.12, 1); }
.is-entryClose .pageNav-entry a { padding-left: 60px; line-height: 1.4; }
.is-entryClose .pageNav-entry a::after { content: ""; position: absolute; width: 10px; height: 8px; left: auto; right: 14px; top: 10px; margin-top: 0; background-color: transparent; background-image: url("../img/icon_blank.svg"); background-repeat: no-repeat; opacity: 0.2; -webkit-transform: scaleX(1); -ms-transform: scaleX(1); transform: scaleX(1); }
.is-entryClose .pageNav-entry a span { display: block; position: relative; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); text-align: left; }
.pageNav-entry a span::after { content: ""; position: absolute; width: 10px; height: 8px; right: 14px; top: 10px; background-image: url("../img/icon_blank.svg"); background-repeat: no-repeat; opacity: 0.5; }
.is-entryClose .pageNav-entry a span::after { display: none; }
.no-touch .pageNav-entry a:hover { background-color: #d44311; }
.is-entryClose .pageNav-entry a { background-color: #8d8d8d; pointer-events: none; }
.buttonToggle { background: none; border: 0; -webkit-box-sizing: content-box; box-sizing: content-box; color: inherit; cursor: pointer; display: inline-block; line-height: normal; overflow: visible; padding: 0; text-align: center; text-decoration: none; -moz-user-select: none; -ms-user-select: none; -webkit-user-select: none; display: block; position: absolute; width: 85px; height: 35px; right: 11px; top: 10px; background-color: #ff5419; border-radius: 4px; color: #ffffff; text-align: left; outline: none; }
button,input { font: inherit; }
button::-moz-focus-inner, button::-moz-focus-inner,
input::-moz-focus-inner,input::-moz-focus-inner { border: 0; padding: 0; }
button { overflow: visible; }
button,html input[type="button"],
input[type="reset"],input[type="submit"] { -webkit-appearance: button; }
.buttonToggle-txt { margin-left: 15px; font-size: 0.7rem; font-weight: normal; }
.is-navShow .buttonToggle-txt-menu { display: none; }
.buttonToggle-txt-close { display: none; }
.is-navShow .buttonToggle-txt-close { display: block; }
.buttonToggle-icon { position: absolute; width: 14px; height: 14px; right: 10px; top: 11px; }
.buttonToggle-line { position: absolute; width: 14px; height: 2px; left: 0; background-color: #ffffff; -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.52, 0.08, 0.18, 1); transition: -webkit-transform 0.6s cubic-bezier(0.52, 0.08, 0.18, 1); transition: transform 0.6s cubic-bezier(0.52, 0.08, 0.18, 1); transition: transform 0.6s cubic-bezier(0.52, 0.08, 0.18, 1), -webkit-transform 0.6s cubic-bezier(0.52, 0.08, 0.18, 1); }
.buttonToggle-line.line-1 { top: 0; -webkit-transform-origin: left center; -ms-transform-origin: left center; transform-origin: left center; }
.is-navShow .buttonToggle-line.line-1 { -webkit-transform: translate(2px, 1px) rotate(45deg); -ms-transform: translate(2px, 1px) rotate(45deg); transform: translate(2px, 1px) rotate(45deg); }
.buttonToggle-line.line-2 { top: 6px; -webkit-transform-origin: center center; -ms-transform-origin: center center; transform-origin: center center; }
.is-navShow .buttonToggle-line.line-2 { -webkit-transform: scaleX(0); -ms-transform: scaleX(0); transform: scaleX(0); }
.buttonToggle-line.line-3 { top: 12px; -webkit-transform-origin: left center; -ms-transform-origin: left center; transform-origin: left center; }
.is-navShow .buttonToggle-line.line-3 { -webkit-transform: translate(2px, -1px) rotate(-45deg); -ms-transform: translate(2px, -1px) rotate(-45deg); transform: translate(2px, -1px) rotate(-45deg); }
@media (min-width: 768px){
	.pageHeader { padding-left: 3.57143%; padding-right: 3.57143%; margin-top: 30px; }
	.pageHeader-inner { -webkit-box-shadow: 0px 3px 7px 1px rgba(0, 0, 0, 0.15); box-shadow: 0px 3px 7px 1px rgba(0, 0, 0, 0.15); }
	.pageNav { margin-top: 100px; margin-bottom: 80px; }
}
@media (min-width: 960px){
	.pageHeader { padding-left: 3.57143%; padding-right: 3.57143%; }
	.pageHeader-inner { height: 80px; -webkit-box-shadow: 0px 4px 10px 2px rgba(0, 0, 0, 0.15); box-shadow: 0px 4px 10px 2px rgba(0, 0, 0, 0.15); }
	.pageHeader-content { height:80px; }
	.pageHeader-logo { width: 200px; height: 40px; left: 35px; top: 20px; }
	.pageNav { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; position: absolute; height: 100%; right: 35px; margin-top: 0; margin-bottom: 0; top: 0; }
	.pageNav-list li { height: 100%; margin-bottom: 0; display: inline-block; overflow: hidden; line-height: 20px; padding:20px 0; }
	.pageNav-list li a { font-size: 0.9rem;}
	.pageNav-list li a span { font-size: 0.6rem; }
	.pageNav-list li a::after { display: block; }
	.pageNav-list li + li { margin-left: 35px; }
	.pageNav-entry a { font-size: .8rem; height: 40px; line-height: 40px; top: 20px; padding-left: 30px; padding-right: 30px; margin-left: 35px; }
	.pageNav-entry a span::after { right: 10px; top: 8px; }
	.no-touch .pageNav-entry a:hover::before { -webkit-transform: translateX(148px); -ms-transform: translateX(148px); transform: translateX(148px); }
	.buttonToggle { display: none; }
}

/* footer */
@media (min-width: 320px){
	footer { position: relative; width: 100%; display: block; padding:30px 0 50px; }
	.copyright { display: block; margin:0; padding:0; text-align: center; }
	.copyright p { font-size: 12px; line-height: 1; margin-top: 20px; color:#999; }
}
@media (min-width: 768px){
	footer { padding:80px 0 100px; }
}

body { position: fixed; top: 0; left: 0; width: 100%; height: 100%; }
#my-scrollbar { position: fixed; top: 0; right: 0; bottom: 0; left: 0; }
[data-scrollbar],[scrollbar],scrollbar{position:relative;display:block}
[data-scrollbar] .scroll-content,[scrollbar] .scroll-content,scrollbar .scroll-content{width:100%}
[data-scrollbar].sticky .scrollbar-track,[scrollbar].sticky .scrollbar-track,scrollbar.sticky .scrollbar-track{background:rgba(255,255,255,.3)}
[data-scrollbar] .scrollbar-track,[scrollbar] .scrollbar-track,scrollbar .scrollbar-track{position:absolute;z-index:1;-webkit-transition:opacity .5s ease-out,background .5s ease-out;transition:opacity .5s ease,background .5s ease;background:0 0}
[data-scrollbar] .scrollbar-track.show,[data-scrollbar] .scrollbar-track:hover,[scrollbar] .scrollbar-track.show,[scrollbar] .scrollbar-track:hover,scrollbar .scrollbar-track.show,scrollbar .scrollbar-track:hover{opacity:1}
[data-scrollbar] .scrollbar-track:hover,[scrollbar] .scrollbar-track:hover,scrollbar .scrollbar-track:hover{background:rgba(255,255,255,.3)}
[data-scrollbar] .scrollbar-track-x,[scrollbar] .scrollbar-track-x,scrollbar .scrollbar-track-x{bottom:0;left:0;width:100%;height:8px}
[data-scrollbar] .scrollbar-track-y,[scrollbar] .scrollbar-track-y,scrollbar .scrollbar-track-y{top:0;right:0;width:8px;height:100%;}
[data-scrollbar] .scrollbar-thumb,[scrollbar] .scrollbar-thumb,scrollbar .scrollbar-thumb{position:absolute;top:0;left:0;width:8px;height:8px;background:#ff5419;opacity:1;-webkit-transition:opacity 1s cubic-bezier(.215,.61,.355,1) 2s;transition:opacity 1s cubic-bezier(.215,.61,.355,1) 2s;}
.dom-is-loaded [data-scrollbar] .scrollbar-thumb,.dom-is-loaded [scrollbar] .scrollbar-thumb,.dom-is-loaded scrollbar .scrollbar-thumb{opacity:1}
.dom-is-reloaded [data-scrollbar] .scrollbar-thumb,.dom-is-reloaded [scrollbar] .scrollbar-thumb,.dom-is-reloaded scrollbar .scrollbar-thumb{opacity:1}
.dom-is-loading [data-scrollbar] .scrollbar-thumb,.dom-is-loading [scrollbar] .scrollbar-thumb,.dom-is-loading scrollbar .scrollbar-thumb{opacity:1;-webkit-transition-delay:0s;transition-delay:0s}
[data-scrollbar] .overscroll-glow,[scrollbar] .overscroll-glow,scrollbar .overscroll-glow{position:absolute;top:0;left:0;width:100%;height:100%}

@media (min-width: 320px){
	.more-btn { position: relative; display: block; margin:0 auto; }
	.more-btn a { position: relative; display: block; padding:0 25px; width: 100%; text-align: center; border:1px solid #222; background-color: #222; }
	.more-btn span { position: relative; display: block; line-height: 50px; color:#fff; z-index: 2; -webkit-transition:all 350ms cubic-bezier(.666,0,.333,1); transition:all 350ms cubic-bezier(.666,0,.333,1); }
	.more-btn svg { -webkit-transition:all 350ms cubic-bezier(.666,0,.333,1); transition:all 350ms cubic-bezier(.666,0,.333,1); z-index: 3; }
	.hoverbg-btn a { overflow: hidden; }
	.hoverbg-btn a:before,
	.hoverbg-btn a:after { content:""; position: absolute; left:0; top:0; width: 100%; height: 100%; background-color: #fff; -webkit-transition:-webkit-transform 350ms cubic-bezier(.666,0,.333,1); -ms-transition:-ms-transform 350ms cubic-bezier(.666,0,.333,1); transition:transform 350ms cubic-bezier(.666,0,.333,1); -webkit-transform: scaleX(0); -ms-transform: scaleX(0); transform: scaleX(0); -webkit-transform-origin: 100% 0; -ms-transform-origin: 100% 0; transform-origin: 100% 0; }
	.hoverbg-btn a:before { background:#666; -webkit-transition-delay:50ms; transition-delay:50ms; }
	.hoverbg-btn a.active:before,
	.hoverbg-btn a.active:after { -webkit-transform: scaleX(1); -ms-transform: scaleX(1); transform: scaleX(1); -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; }
}
@media (min-width: 768px){
}
@media (min-width: 960px){
	.more-btn a:hover span { color:#fff; }
	.hoverbg-btn a:hover:before,
	.hoverbg-btn a:hover:after { -webkit-transform: scaleX(1); -ms-transform: scaleX(1); transform: scaleX(1); -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; }
	.hoverbg-btn a:hover:before { -webkit-transition-delay:0ms; transition-delay:0ms; }
	.hoverbg-btn a:hover:after { -webkit-transition-delay:50ms; transition-delay:50ms; }
}

/* Home */
@-webkit-keyframes line-repetition { 0% {-webkit-transform: translateY(-10px);transform: translateY(-10px);opacity: 0;} 60% {-webkit-transform: translateY(0px);transform: translateY(0px);opacity: 1;} 100% {-webkit-transform: translateY(3px);transform: translateY(3px);opacity: 0;}}
@keyframes line-repetition { 0% {-webkit-transform: translateY(-10px);transform: translateY(-10px);opacity: 0;} 60% {-webkit-transform: translateY(0px);transform: translateY(0px);opacity: 1;} 100% {-webkit-transform: translateY(3px);transform: translateY(3px);opacity: 0;}}
@media (min-width: 320px){
	.hero { position: relative; width: 100%; height: 100vh; background-color: #000; color:#fff; overflow: hidden; }
	.hero .text { position: absolute; left:5%; top:0; width: 90%; height: 100%; z-index: 20; }
	.hero h1 { position: relative; display: block; font-size: 24px; font-weight:200; margin: 40px 0 20px; }
	.hero h1 span.char { display: block; }
	.hero h1 span.char .w-o { position: relative; }
	.hero h1 span.char .w-o .o { position: relative; }
	.hero h1 span.char .w-o:before { content:""; position: absolute; left:0; bottom:4px; width:0; height: 4px; background: rgba(255,84,25,0.7); }
	.is_loaded .hero h1 span.char:nth-child(1) .w-o:before { width: 98%; -webkit-transition: width 1s .5s cubic-bezier(0.37, 0.16, 0.12, 1); transition: width 1s .5s cubic-bezier(0.37, 0.16, 0.12, 1); }
	.is_loaded .hero h1 span.char:nth-child(2) .w-o:before { width: 98%; -webkit-transition: width 1s .7s cubic-bezier(0.37, 0.16, 0.12, 1); transition: width 1s .7s cubic-bezier(0.37, 0.16, 0.12, 1); }
	.hero p { position: relative; display: block; font-size: 12px; line-height: 1.9; }
	.hero p span.char { display: block; }
	.hero .arrow { position: absolute; display: block; left:0; bottom:30px; width: 30px; height: 30px; }
	.hero .arrow svg { display: block; width: 100%; height: 100%; -webkit-animation-name: line-repetition; animation-name: line-repetition; -webkit-animation-duration: 2.5s; animation-duration: 2.5s; -webkit-animation-timing-function: cubic-bezier(0.37, 0.16, 0.12, 1); animation-timing-function: cubic-bezier(0.37, 0.16, 0.12, 1); -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; }
	.hero .play-mobie { position: absolute; display: block; right:0; bottom:0; opacity: 0; width: 160px; }
	.hero .play-mobie a { color:#fff; display: block; padding:10px; border:1px solid #fff; background-color: rgba(100,100,100,.5); border-radius: 14px; -webkit-transition: background-color 0.6s cubic-bezier(0.37, 0.16, 0.12, 1); transition: background-color 0.6s cubic-bezier(0.37, 0.16, 0.12, 1);}
	.hero .play-mobie span { font-size: 11px; display: block; line-height: 1.4; }
	.hero .play-mobie strong { position: relative; display: block; padding-left: 25px; font-size: 14px; line-height: 20px; margin-top: 5px; }
	.hero .play-mobie strong::before { content:""; position: absolute; left:0; top:3px; width: 16px; height: 16px; background:#fff url(../img/icon_play.svg) 4px center no-repeat; background-size: 10px 10px; border-radius: 50%; }
	.is_loaded .hero .play-mobie { bottom:30px; opacity: 1; -webkit-transition: all 1s .8s cubic-bezier(0.37, 0.16, 0.12, 1); transition: all 1s .8s cubic-bezier(0.37, 0.16, 0.12, 1); }
	#background { position: absolute; z-index: 1; }
	#background-cover { position: absolute; left:0; top:0; width: 100%; height: 100%; background:url(../img/pt.gif) rgba(0,0,0,0.3); z-index: 10; }
	.touch #background-cover { background:url(../img/hero-sp.jpg) center; background-size: cover; }
}
@media (min-width: 360px){
	.hero p { font-size: 13px; }
}
@media (min-width: 768px){
	.hero .text { left:10%; width: 80%; }
	.hero h1 { font-size: 32px; }
	.hero p { font-size: 14px; }
	.hero .arrow { bottom:40px; width: 40px; height: 40px; }
	.hero .play-mobie { right: -30px; width: 260px; }
	.hero .play-mobie a { padding:15px; }
	.hero .play-mobie span { font-size: 12px; }
	.hero .play-mobie strong { font-size: 16px; }
}
@media (min-width: 960px){
	.hero h1 { font-size: 50px; font-weight: 100; }
	.hero h1 span.char .w-o:before { bottom:10px; height: 6px; }
	.hero p { font-size: 17px; font-weight: 300; }
	.is_loaded .hero .play-mobie { bottom:50px; }
	.hero .play-mobie a:hover { background-color:rgba(255,84,25,0.7); }
}
@media (min-width: 1260px){
	.hero .text { left:50%; width:1080px; margin-left: -540px; }
}

@media (min-width: 320px){
	.sec-title { position: relative; margin:0; padding:30px 0; }
	.sec-title.right { text-align: center; padding:30px 0 30px; margin:0; }
	.sec-title.right:before { left:auto; right: 0; top:-1px; width: 0; height: 1px; display: block; }
	.sec-title.center { padding:30px 0 0; margin:0; display: inline-block; }
	.sec-title.center:before { left:auto; right: 0; top:-1px; width: 100%; height: 1px; }
	.sec-title h3 { font-size: 11px; line-height: 1.4; font-weight: 300; display: block; }
	.sec-title h2 { font-size:19px; line-height: 1.4; font-weight: 200; display: block; margin:10px 0 20px; }
	.sec-title p { font-size: 11px; letter-spacing: 1px; line-height: 1.8; }
}
@media (min-width: 360px){
	.sec-title h3 { font-size: 13px;}
	.sec-title h2 { font-size:22px;}
	.sec-title p { font-size: 12px;}
}
@media (min-width: 768px){
	.sec-title.right { text-align: center; padding:30px 0 30px; margin:0; }
	.sec-title.right:before { left:auto; right: 0; top:-1px; width: 0; height: 1px; display: block; }
	.sec-title.center { padding:40px 0 0; }
	.sec-title h2 { font-size:30px; }
	.sec-title h3 { font-size: 14px; }
	.sec-title p { font-size: 13px; }
}
@media (min-width: 960px){
	.sec-title.right { text-align: center; padding:30px 0 30px; margin:0; }
	.sec-title.right:before { left:auto; right: 0; top:-1px; width: 0; height: 1px; display: block; }
	.sec-title.center { padding:60px 0 0; }
	.sec-title { text-align: center; padding:40px 0; }
	.sec-title h2 { font-size:40px; font-weight: 100; }
	.sec-title h3 { font-size: 16px; }
	.sec-title p { font-size: 14px; }
}


@media (min-width: 320px){
	.profile { position: relative; text-align: center; margin-bottom: 50px; padding:20px; background: url(../img/bg-sha.gif); box-shadow:0 0 2px #ff5419; border-radius: 7px; }
	.profile_inner { position: relative; width: 100%; max-width: 980px; margin:0 auto; }
	.profile .prf_title { padding:10px; background: #151f55; color:#fff; border-radius: 7px; }
	.profile .prf_title h2 { font-size: 20px; font-weight: 200; }
	.profile .prf_title h3 { font-size: 14px; }
	.profile .box { position: relative; margin:20px 0 0; padding:20px; background: #fff; border-radius: 7px; -webkit-box-shadow: 0px 2px 5px 1px rgba(0, 0, 0, 0.15); box-shadow: box-shadow: 0px 2px 5px 1px rgba(0, 0, 0, 0.15); }
	.profile .box img { display: block; width: 90%; max-width: 225px; margin:0 auto 20px; }
	.profile .box h4 { font-weight: 600; font-size: 16px; font-weight: 300; margin-bottom: 10px; }
	.profile .box p { font-size: 12px; }
}
@media (min-width: 768px){
	.profile { padding:30px; }
	.profile .boxes { width: 100%; }
	.profile .boxes .box { width: 49%; float: left; }
	.profile .boxes .box:last-child { margin-left:2%; }
	.profile .box p { font-size: 13px; }
}
@media (min-width: 1040px){
	.profile { padding:40px; }
	.profile .prf_title h2 { font-size: 24px; }
	.profile .prf_title h3 { font-size: 15px; }
	.profile .boxes .box { padding:30px; width: 48%; margin-top:30px; }
	.profile .boxes .box:last-child { margin-left:4%; }
	.profile .box img { margin:0; width: 150px; }
	.profile .box .t { position: absolute; right:30px; top:50%; width: 45%; -webkit-transform:translate(0,-50%); -ms-transform:translate(0,-50%); transform:translate(0,-50%); text-align: left; }
	.profile .box h4 { font-size: 19px; }
	.profile .box p { font-size: 14px; }
}

@media (min-width: 320px){
	.contents { position: relative; width: 100%; padding:0 5%; overflow:hidden; }
	.contents .tit { display: block; text-align: center; padding:20px 0; }
	.contents .tit h4 { font-size: 25px; letter-spacing: 2px; font-weight: 100; }
	.contents .tit svg { display: block; width: 26px; height: 30px; margin: 20px auto 20px; }
	.lay { position: relative; width: 100%; -webkit-perspective: 1000px; perspective: 1000px; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-perspective-origin: 50% 50%; perspective-origin: 50% 50%; }
	.lay .img { position: relative; width: 100%; opacity: 0; -webkit-transform: translate3d(-300px, 200px, 300px) rotate3d(1, 1, 0, 45deg); transform: translate3d(-300px, 200px, 300px) rotate3d(1, 1, 0, 45deg); -webkit-transition: opacity 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); transition: opacity 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); transition: transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), opacity 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); transition: transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), opacity 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
	.lay.turn .img { -webkit-transform: translate3d(300px, 200px, 300px) rotate3d(1, -1, 0, 45deg); transform: translate3d(300px, 200px, 300px) rotate3d(1, -1, 0, 45deg); }
	.lay .img span { display: block; width: 100%; height: 0; padding-bottom: 56.25%; background-size:cover; }
	.lay .texts { position: relative; width: 100%; padding:30px 0; opacity: 0; -webkit-transform: translate3d(0px, 200px, 300px); transform: translate3d(0px, 200px, 300px); -webkit-transition: opacity 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); transition: opacity 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); transition: transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), opacity 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); transition: transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), opacity 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
	.lay .texts hr { width: 80px; height: 1px; border:none; background: #ccc; margin-bottom:30px; }
	.lay .texts .num { position: relative; display: block; width: 40px; height: 40px; background: #151f55; color:#fff; font-size: 16px; font-weight: 500; border-radius: 50%; }
	.lay .texts .num span { position: absolute; left:50%; top:50%; -webkit-transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); transform:translate(-50%,-50%); }
	.lay .texts h3 { font-size: 18px; margin:15px 0; }
	.lay .texts p { font-size: 13px; line-height: 1.9; }
	.lay .texts p strong { display: inline-block; font-size: 14px; border-bottom:1px solid rgba(255,84,25,0.7); }
	.lay .texts .box { position: absolute; right: 0; top:-50px; width: 140px; height: 140px; background: url(../img/bg-fuki.png); background-size:cover; color:#fff; text-align: center; }
	.lay .texts .box strong { display: block; font-size: 16px; }
	.lay .texts .box span { display: block; font-size: 14px; }
	.lay.on .texts,
	.lay.on .img { opacity: 1; -webkit-transition: opacity 1s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 1.2s cubic-bezier(0.37, 0.16, 0.12, 1); transition: opacity 1s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 1.2s cubic-bezier(0.37, 0.16, 0.12, 1); transition: transform 1.2s cubic-bezier(0.37, 0.16, 0.12, 1), opacity 1s cubic-bezier(0.37, 0.16, 0.12, 1); transition: transform 1.2s cubic-bezier(0.37, 0.16, 0.12, 1), opacity 1s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 1.2s cubic-bezier(0.37, 0.16, 0.12, 1); -webkit-transform: translate3d(0px, 0px, 1px) rotate3d(0, 0, 0, 0deg); transform: translate3d(0px, 0px, 1px) rotate3d(0, 0, 0, 0deg); }
}
@media (min-width: 768px){
	.contents .tit { padding:40px 0; }
	.contents .tit h4 { font-size: 36px; }
	.lay { margin-bottom: 60px; }
	.lay .img { width: 50%; float: left; }
	.lay .texts { position: absolute; right: 0; top:0; width: 50%; height: 100%; padding:0 30px; }
	.lay.turn .img { float: right; }
	.lay.turn .texts { right: auto; left:0; }
}
@media (min-width: 960px){
	.contents { padding:0 3.57143%; }
	.contents .tit h4 { font-size: 48px; }
	.lay { margin-bottom: 90px; }
	.lay .texts { width: 40%; right: 5%; }
	.lay.turn .texts { right: auto; left:5%; }
	.lay .texts .num { width: 50px; height: 50px; font-size: 20px; }
	.lay .texts .box { right: -80px; width: 200px; height: 200px; }
	.lay .texts .box strong { font-size: 20px; }
	.lay .texts .box span { font-size: 18px; margin-bottom:5px; }
	.lay .texts h3 { font-size: 28px; margin:20px 0; font-weight: 200; }
	.lay .texts p { font-size: 14px; }
	.lay .texts p strong { font-size: 16px; border-bottom:3px solid rgba(255,84,25,0.7); }
}
@media (min-width: 1440px){
	.lay .texts { width: 30%; right:auto; left:55%; }
	.lay.turn .texts { right: 55%; left:auto; }
	.lay .texts .box { right: -120px; top:-90px; width: 240px; height: 240px; }
}

@media (min-width: 320px){
	.bg-navy { position: relative; background: #151f55 url(../img/bg-blue.jpg); color:#fff; margin-top: 40px; padding: 30px 0 30px; }
	.bg-navy::before,
	.bg-navy::after { content:""; position: absolute; left:50%; width: 1px; height: 30px; display: block; }
	.bg-navy::before { top:-30px; background: #151f55; }
	.bg-navy::after { top:0; background: #fff; }
	.flow { position: relative; width: 100%; margin-bottom:30px; }
	.flow .img { position: relative; width:50%; }
	.flow .img span { display: block; width: 100%; height: 0; padding-bottom: 66%; background-size:cover; }
	.flow .texts { position: absolute; left:55%; width: 40%; top:50%; -webkit-transform:translate(0,-50%); -ms-transform:translate(0,-50%); transform:translate(0,-50%); }
	.flow .texts .num { position: relative; display: block; width: 20px; height: 20px; box-shadow: 0 0 0 1px #fff inset; color:#fff; font-size: 12px; font-weight: 600; border-radius: 50%; }
	.flow .texts .num span { position: absolute; left:50%; top:50%; -webkit-transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); transform:translate(-50%,-50%); }
	.flow .texts h5 { font-size: 12px; margin:10px 0 0; }
}
@media (min-width: 768px){
	.flow { width: 32%; float: left; margin-left: 2%; }
	.flow:nth-child(1) { margin-left: 0; }
	.flow .img { width: 100%; }
	.flow .img span { padding-bottom: 56.25%; }
	.flow .texts { position: relative; width: 100%; padding:20px 0 0 30px; left:0%; top:0%; -webkit-transform:translate(0,0%); -ms-transform:translate(0,0%); transform:translate(0,0%);  }
	.flow .texts .num { position: absolute; left:0; top:20px; }
	.flow .texts h5 { font-size: 14px; margin:0; }
}
@media (min-width: 960px){
	.bg-navy .sec-title { text-align: center; }
}
@media (min-width: 320px){
	.app-box { position: relative; margin:40px 0; background:#fff; color:#151f55; border-radius: 10px; padding:20px; }
	.app-box .sec-title p span { display: inline-block; border-bottom: 1px solid rgba(255,84,25,0.7); font-weight: 600; }
	.app-detail { position: relative; display: block; }
	.app-detail .app-1 span { display: block; width: 100%; height: 0; padding-bottom: 50%; background-size:cover; }
	.app-detail .desc { padding:20px 0; max-width: 900px; margin:0 auto; }
	.app-detail .desc p { font-size: 12px; }
}
@media (min-width: 960px){
	.app-detail .desc { padding:30px 0; }
	.app-detail .desc p { font-size: 14px; }
}

@-webkit-keyframes spin {0% {-webkit-transform: rotate(0deg);}100% {-webkit-transform: rotate(360deg);}}
@keyframes spin {0% {transform: rotate(0deg);}100% {transform: rotate(360deg);}}
@media (min-width: 320px){
	.three-wrap { position: relative; overflow:hidden; }
	.three-wrap .sec-title { padding:20px 0; text-align: center; }
	.three { position: relative; width: 100%; height: 0; padding-bottom: 84%; margin: auto; opacity: 0; -webkit-transform: scale(.8); -ms-transform: scale(.8); transform: scale(.8); }
	.three::before {content:"";width: 0px;height: 0px;border-top: none;border-left: 130px solid transparent;border-right: 130px solid transparent;border-bottom: 220px solid #eaeff8; position: absolute;left: 50%;top: 50%; -webkit-transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); transform:translate(-50%,-50%);}
	.three.on { opacity: 1; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); -webkit-transition: all 1s cubic-bezier(0.37, 0.16, 0.12, 1); transition: all 1s cubic-bezier(0.37, 0.16, 0.12, 1); transition: all 1s cubic-bezier(0.37, 0.16, 0.12, 1); }
	.three .icon { display: block; position: absolute; width: 100px; height: 100px; }
	.three .icon span { position: absolute; left:0; top:0; display: block; width: 100%; height: 100%; background-size:cover; }
	.three .icon span.bg { background-image:url(../img/i-bg.png); -webkit-animation: spin 4s linear infinite; animation: spin 4s linear infinite;}
	.three .i-1 { left:50%; top:0; margin-left: -50px; }
	.three .i-2 { left:0; bottom:0; }
	.three .i-3 { right:0; bottom:0; }
}
@media (min-width: 360px){
	.three { width: 300px; padding-bottom: 260px; }
}
@media (min-width: 768px){
	.three-wrap .sec-title { position: absolute; left:50%; top:50%; width: 100%; padding-bottom: 0; -webkit-transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); transform:translate(-50%,-50%); z-index: 2; }
	.three { width: 600px; padding-bottom: 520px; }
	.three::before { border-left: 260px solid transparent;border-right: 260px solid transparent;border-bottom: 440px solid #e0e9fb; }
	.three .icon { width: 150px; height: 150px; }
	.three .i-1 { margin-left: -75px; }
}
@media (min-width: 960px){
	.three-wrap { padding:30px 0; overflow: visible; }
	.three .icon { cursor: pointer; -webkit-transition: -webkit-transform .5s cubic-bezier(0.37, 0.16, 0.12, 1); transition: -webkit-transform .5s cubic-bezier(0.37, 0.16, 0.12, 1); transition: transform .5s cubic-bezier(0.37, 0.16, 0.12, 1); }
	.three .icon:hover { -webkit-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); -webkit-transition: -webkit-transform 1s cubic-bezier(0.37, 0.16, 0.12, 1); transition: -webkit-transform 1s cubic-bezier(0.37, 0.16, 0.12, 1); transition: transform 1s cubic-bezier(0.37, 0.16, 0.12, 1); }
}

@media (min-width: 320px) {
	.base { position: relative; padding:20px; max-width: 900px; margin:0 auto; min-height: 350px; background: url(../img/bg-sha.gif); box-shadow:0 0 2px #ff5419; border-radius: 7px; overflow: visible; }
	#map { width: 90%; max-width: 400px; margin:0 auto; float: right; opacity: .7; }
	#map svg { display: block; width: 100%; height: auto; }
	#map svg path { fill:#ffa88a;stroke:#FFFFFF;stroke-width:1.1;stroke-linejoin:round; -webkit-transition:fill 250ms ease-out; -moz-transition:fill 250ms ease-out; transition:fill 250ms ease-out; }
	#map svg path.hover { fill:#ff5419; cursor: pointer; }
	.base .texts { position: absolute; left:5%; width: 90%; top:50%; -webkit-transform:translate(0,-50%); -ms-transform:translate(0,-50%); transform:translate(0,-50%); }
	.base .texts h3 { font-weight: 400; font-size:18px; margin-bottom:20px; text-shadow: 0 1px 1px #fff, 1px 0 1px #fff; }
	.base .texts p { font-size: 13px; line-height: 1.8; text-shadow: 0 1px 1px #fff, 1px 0 1px #fff; }
}
@media (min-width: 768px){
	.base { height: 300px; }
	.base .texts { width: 360px; }
	#map { position: absolute; right: 0; top:50%; height: 465px; opacity: 1; -webkit-transform:translate(0,-50%); -ms-transform:translate(0,-50%); transform:translate(0,-50%); }
}
@media (min-width: 960px){
	.base .texts { width: 450px; }
	.base .texts h3 { font-size: 22px; }
	.base .texts p { font-size: 14px; }
}


@media (min-width: 320px){
	.movs { position: relative; }
	.mov-col { position: relative; width: 100%; margin-bottom:30px; display: block; }
	.mov-col .img { position: relative; width:100%; height: 0; padding-bottom: 56.25%; overflow: hidden; }
	.mov-col .img span { position: absolute; left:0; top:0; display: block; width: 100%; height: 100%; background-size:cover; -webkit-transition: -webkit-transform .5s cubic-bezier(0.37, 0.16, 0.12, 1); transition: -webkit-transform .5s cubic-bezier(0.37, 0.16, 0.12, 1); transition: transform .5s cubic-bezier(0.37, 0.16, 0.12, 1); }
	.mov-col .img span::before,
	.mov-col .img span::after { content:""; position: absolute; left:50%; top:50%; display: block; -webkit-transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); transform:translate(-50%,-50%); }
	.mov-col .img span::before { width: 50px; height:50px; background: rgba(100,100,100,0.7); border-radius: 50%; }
	.mov-col .img span::after { width: 0; height: 0; border-top: 10px solid transparent;border-bottom: 10px solid transparent;border-left: 16px solid #fff; }
	.mov-col .texts { padding:15px 0 0; }
	.mov-col .texts p { font-size: 13px; }
	.movs .att { text-align: right; }
	.movs .att p { font-size: 11px; }
}
@media (min-width: 768px){
	.mov-col { width: 49%; margin-left: 2%; float: left; }
	.mov-col:first-child { margin-left: 0; }
}
@media (min-width: 960px){
	.mov-col .texts p { font-size: 14px; }
	.mov-col:hover .img span { -webkit-transform: scale(1.07); -ms-transform: scale(1.07); transform: scale(1.07); -webkit-transition: -webkit-transform 1s cubic-bezier(0.37, 0.16, 0.12, 1); transition: -webkit-transform 1s cubic-bezier(0.37, 0.16, 0.12, 1); transition: transform 1s cubic-bezier(0.37, 0.16, 0.12, 1); }
}

.shares { position: relative; display: block; width: 100%; max-width: 450px; margin:0 auto; background: #f3f3f3; -webkit-box-shadow: 0px 4px 10px 2px rgba(0, 0, 0, 0.15); box-shadow: 0px 4px 10px 2px rgba(0, 0, 0, 0.15); border-radius: 10px; padding:10px; }
.shares h4 { text-align: center; font-size: 14px; font-weight: 700; border-bottom: 1px solid #e1e1e1;  padding-bottom: 15px; margin-bottom: 20px; }
.article-share-item { position: relative; width: 33.3333%; padding:0 5px; float: left;text-align: center;cursor: pointer;}
.article-share-item a { position: relative; display: block;}
.article-share-icon { width: 24px;height: 24px; position: absolute; left:3px; top:3px; border-radius: 5px; -moz-transition: background 0.4s;-o-transition: background 0.4s;-webkit-transition: background 0.4s;transition: background 0.4s;}
.article-share-icon img { width: 16px; display: block; margin:4px auto;}
.article-share-text { display: block; font-weight: bold;font-size: 12px;line-height: 30px;color: #fff;background: #444;width: 100%;height: 30px; padding-left: 30px; border-radius: 5px; -moz-transition: background 0.4s;-o-transition: background 0.4s;-webkit-transition: background 0.4s;transition: background 0.4s;}
.article-share-fb .article-share-icon {background: #3b5998;}
.article-share-fb .article-share-text {background: #2e477b;}
.article-share-tw .article-share-icon {background: #00aced;}
.article-share-tw .article-share-text {background: #0096c4;}
.article-share-line .article-share-icon {background: #00C303;}
.article-share-line .article-share-text {background: #0e9610;}
@media all and (min-width: 600px){
	.shares { padding:20px; }
	.shares h4 { font-size: 16px; }
	.article-share-item { padding:0 10px; }
	.article-share-icon { width: 30px;height: 30px; top:5px; left:5px; }
	.article-share-icon img { width: 16px; margin:7px auto;}
	.article-share-text { display: block; font-size: 13px; line-height: 40px; height: 40px; padding-left: 35px; border-radius: 6px; }
	.article-share-fb:hover .article-share-icon {background: #2e477b;}
	.article-share-fb:hover .article-share-text {background: #3b5998;}
	.article-share-tw:hover .article-share-icon {background: #0096c4;}
	.article-share-tw:hover .article-share-text {background: #00aced;}
	.article-share-line:hover .article-share-icon {background: #0e9610;}
	.article-share-line:hover .article-share-text {background: #00C303;}
}

@media (min-width: 320px){
	.large-bnr { position: relative; display: block; }
	.large-bnr .img { position: relative; width: 100%; height: 0; padding-bottom: 30%; overflow: hidden; }
	.large-bnr .img span { position: absolute; left:0; top:0; display: block; width: 100%; height: 100%; background-size:cover; background-position: center; -webkit-transition: -webkit-transform .5s cubic-bezier(0.37, 0.16, 0.12, 1); transition: -webkit-transform .5s cubic-bezier(0.37, 0.16, 0.12, 1); transition: transform .5s cubic-bezier(0.37, 0.16, 0.12, 1); }
	.large-bnr .img .c { position: absolute; right: 10px; bottom:10px; display: inline-block; background: #151f55; color:#fff; border-radius: 4px; padding:2px 10px 4px; box-shadow: 0 0 1px #fff; font-size: 12px; }
	.large-bnr .texts { position: relative; background-color: #ff5419; color:#fff; padding:15px 0; text-align: center; -webkit-transition: background-color 0.6s cubic-bezier(0.37, 0.16, 0.12, 1); transition: background-color 0.6s cubic-bezier(0.37, 0.16, 0.12, 1); }
	.large-bnr .texts h3 { font-size: 12px; }
}
@media (min-width: 768px){
	.large-bnr .img { position: absolute; right: 0; top:0; width: 60%; padding-bottom: 0; height: 100%; }
	.large-bnr .img .c { font-size: 14px; letter-spacing: 1px; right: 20px; bottom:20px; }
	.large-bnr .texts { height: 150px; width:40%; }
	.large-bnr .texts h3 { font-size: 14px; }
}
@media (min-width: 960px){
	.large-bnr .img { width: 70%; }
	.large-bnr .texts { height: 150px; width:30%; }
	.large-bnr .texts h3 { font-size: 14px; }
	.large-bnr:hover .img span { -webkit-transform: scale(1.07); -ms-transform: scale(1.07); transform: scale(1.07); -webkit-transition: -webkit-transform 1s cubic-bezier(0.37, 0.16, 0.12, 1); transition: -webkit-transform 1s cubic-bezier(0.37, 0.16, 0.12, 1); transition: transform 1s cubic-bezier(0.37, 0.16, 0.12, 1); }
	.large-bnr:hover .texts { background-color: #d44311; }
}
@media (min-width: 1200px){
	.large-bnr .texts { height: 200px; }
	.large-bnr .texts h3 { font-size: 16px; }
}
.js-modal-video { cursor: pointer; }
.modal-video { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.9); z-index: 99; overflow: hidden; display: none; }
.modal-video-close-btn { position: absolute; top: 40px; right: 40px; width: 50px; height: 50px; background: #ff5419; border-radius: 50%; cursor: pointer; z-index: 3; }
.modal-video-close-btn-line { display: block; position: absolute; top: 0; left: 0; bottom: 0; right: 0; margin: auto; width: 20px; height: 2px; background: #fff; }
.modal-video-close-btn-line.line-1 { transform: rotate(45deg); }
.modal-video-close-btn-line.line-2 { transform: rotate(-45deg); }
.modal-video-wrap { position: relative; width: 100%; max-width: 62.5vw; height: 100%; margin: 0 auto; padding: 50px; z-index: 1; }
.modal-video-body { display: flex; justify-content: center; align-items: center; align-content: center; position: relative; width: 100%; height: 100%; }
.modal-video-ratio { position: relative; display: block; width: 100%; padding-top: 56.25%; }
.modal-video-iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.modal-video-loader { position: absolute; top: 50%; left: 50%; margin: -25px 0 0 -25px; width: 50px; height: 50px; background: #F0C1B0; border-radius: 50%; z-index: 0; animation: modal-loader 1.2s cubic-bezier(0.215, 0.610, 0.355, 1.000) 0s infinite forwards; }
@media screen and (max-width:740px) {
	.modal-video-wrap { max-width: 100%; padding:0; }
	.modal-video-close-btn { right: 20px; top:20px; width: 40px; height: 40px; }
}
@keyframes modal-loader {
	0% { transform: scale(0); opacity: 1; }
	100% { transform: scale(1); opacity: 0; }
}



/* Trigger text */
.tooltip-item { cursor: pointer;}
/* Tooltip */
.tooltip-content { position: absolute; z-index: 9999; width: 500px; text-align: left; font-size: 0.765em; line-height: 1.4; box-shadow: -5px -5px 15px rgba(48,54,61,0.2); background: #fff; border:5px solid #ff5419; opacity: 0; cursor: default; pointer-events: none; }
.tooltip-effect-1 .tooltip-content { -webkit-transform: translate3d(0,-10px,0); transform: translate3d(0,-10px,0); -webkit-transition: opacity 0.3s, -webkit-transform 0.3s; transition: opacity 0.3s, transform 0.3s; }
.tooltip-effect-2 .tooltip-content { -webkit-transform-origin: 50% calc(100% + 10px); transform-origin: 50% calc(100% + 10px); -webkit-transform: perspective(1000px) rotate3d(1,0,0,45deg); transform: perspective(1000px) rotate3d(1,0,0,45deg); -webkit-transition: opacity 0.2s, -webkit-transform 0.2s; transition: opacity 0.2s, transform 0.2s; }
.tooltip-effect-3 .tooltip-content { -webkit-transform: translate3d(0,10px,0) rotate3d(1,1,0,25deg); transform: translate3d(0,10px,0) rotate3d(1,1,0,25deg); -webkit-transition: opacity 0.3s, -webkit-transform 0.3s; transition: opacity 0.3s, transform 0.3s; }
.tooltip-effect-4 .tooltip-content { -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-transform: scale3d(0.7,0.3,1); transform: scale3d(0.7,0.3,1); -webkit-transition: opacity 0.2s, -webkit-transform 0.2s; transition: opacity 0.2s, transform 0.2s; }
/* Tooltip content*/
.tooltip-content img { position: relative; height: 150px; display: block; float: left; margin-right: 1em; }
.tooltip-text { font-size: 13px; line-height: 1.35; display: block; padding: 1.31em 1.21em 1.21em 0; }
.tooltip-text strong { display: block; font-size: 15px; margin-bottom: 5px; }
.tooltip-text a { font-weight: bold; display: block; margin-top: 5px; text-decoration: underline; }
@media screen and (min-width:960px) {
	.tooltip:hover .tooltip-content { pointer-events: auto; opacity: 1; -webkit-transform: translate3d(0,0,0) rotate3d(0,0,0,0); transform: translate3d(0,0,0) rotate3d(0,0,0,0); }
	.tooltip.tooltip-effect-2:hover .tooltip-content { -webkit-transform: perspective(1000px) rotate3d(1,0,0,0deg); transform: perspective(1000px) rotate3d(1,0,0,0deg); }
	.t-1 .tooltip-content { top:0; left: 50%; margin: 0 0 0 -550px; width: 460px; }
	.t-2 .tooltip-content { bottom:0; left:160px; }
	.t-3 .tooltip-content { bottom:0; right:160px; }
	.tooltip-content::after { content: ''; top: 50%; left: 100%; border: solid transparent; height: 0; width: 0; position: absolute; pointer-events: none; border-color: transparent; border-left-color: #ff5419; border-width: 10px; margin-top: -10px; }
	.t-2 .tooltip-content::after { left:auto; right: 100%; border-left-color: transparent; border-right-color: #ff5419; }
}
@media screen and (max-width:959px) {
	.tooltip-content { width: 100%; left:0%; top:10%; }
	.tooltip-content::after { content:""; position: absolute; right:-10px; top:-10px; width: 20px; height: 20px; background: url(../img/close.png); background-size: cover; }
	.tooltip-content img { height: 100px; }
	.tooltip-text { font-size: 12px; line-height: 1.35; display: block; padding: 1.21em; }
	.tooltip.on .tooltip-content { pointer-events: auto; opacity: 1; -webkit-transform: translate3d(0,0,0) rotate3d(0,0,0,0); transform: translate3d(0,0,0) rotate3d(0,0,0,0); }
	.tooltip.tooltip-effect-2.on .tooltip-content { -webkit-transform: perspective(1000px) rotate3d(1,0,0,0deg); transform: perspective(1000px) rotate3d(1,0,0,0deg); }
}


