@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;500;600;700&family=Noto+Sans+JP:wght@300;400;500;700;900&family=Public+Sans:wght@300;400;500;600;700;800;900&display=swap');
@import url('https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css');

.system_operation_block {bottom: 0;font-size:10px;}

/*Remodal*/
html.remodal-is-locked {overflow: hidden;touch-action: none;}
.remodal,[data-remodal-id] {display: none;}
.remodal-overlay {position: fixed;z-index: 9999;top: -5000px;right: -5000px;bottom: -5000px;left: -5000px;display: none;}
.remodal-wrapper {position: fixed;z-index: 10000;top: 0;right: 0;bottom: 0;left: 0;display: none;overflow: auto;text-align: center;-webkit-overflow-scrolling: touch;}
.remodal-wrapper:after {display: inline-block;height: 100%;margin-left: -0.05em;content: "";}
.remodal-overlay,
.remodal-wrapper {backface-visibility: hidden;}
.remodal {position: relative;outline: none;text-size-adjust: 100%;}
.remodal-is-initialized {display: inline-block;}

.remodal-bg.remodal-is-opening,
.remodal-bg.remodal-is-opened {filter: blur(3px);}
.remodal-overlay {background: rgba(43, 46, 56, 0.9);}
.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {animation-duration: 0s;animation-fill-mode: forwards;}
.remodal-overlay.remodal-is-opening {animation-name: remodal-overlay-opening-keyframes;}
.remodal-overlay.remodal-is-closing {animation-name: remodal-overlay-closing-keyframes;}
.remodal-wrapper {padding: 10px 10px 0;}
.remodal {box-sizing: border-box;width: 100%;margin-bottom: 10px;padding: 35px;transform: translate3d(0, 0, 0);color: #2b2e38;background: #fff;}
.remodal.remodal-is-opening,
.remodal.remodal-is-closing {animation-duration: 0.3s;animation-fill-mode: forwards;}
.remodal.remodal-is-opening {animation-name: remodal-opening-keyframes;}
.remodal.remodal-is-closing {animation-name: remodal-closing-keyframes;}
.remodal,
.remodal-wrapper:after {vertical-align: middle;}
.remodal-close {position: absolute;top: 0;left: 0;display: block;overflow: visible;width: 35px;height: 35px;margin: 0;padding: 0;cursor: pointer;transition: color 0.2s;text-decoration: none;color: #95979c;border: 0;outline: 0;background: transparent;}
.remodal-close:hover,
.remodal-close:focus {color: #2b2e38;}
.remodal-close:before {font-family: Arial, "Helvetica CY", "Nimbus Sans L", sans-serif !important;font-size: 25px;line-height: 35px;position: absolute;top: 0;left: 0;display: block;width: 35px;content: "\00d7";text-align: center;}
.remodal-confirm,
.remodal-cancel {font: inherit;display: inline-block;overflow: visible;min-width: 110px;margin: 0;padding: 12px 0;cursor: pointer;transition: background 0.2s;text-align: center;vertical-align: middle;text-decoration: none;border: 0;outline: 0;}
.remodal-confirm {color: #fff;background: #81c784;}
.remodal-confirm:hover,
.remodal-confirm:focus {background: #66bb6a;}
.remodal-cancel {color: #fff;background: #e57373;}
.remodal-cancel:hover,
.remodal-cancel:focus {background: #ef5350;}
.remodal-confirm::-moz-focus-inner,
.remodal-cancel::-moz-focus-inner,
.remodal-close::-moz-focus-inner {padding: 0;border: 0;}

@keyframes remodal-opening-keyframes {
	from {transform: scale(1.05);opacity: 0;}
	to {transform: none;opacity: 1;}
}
@keyframes remodal-closing-keyframes {
	from {transform: scale(1);opacity: 1;}
	to {transform: scale(0.95);opacity: 0;}
}
@keyframes remodal-overlay-opening-keyframes {
	from {opacity: 0;}
	to {opacity: 1;}
}
@keyframes remodal-overlay-closing-keyframes {
	from {opacity: 1;}
	to {opacity: 0;}
}
@media only screen and (min-width: 641px) {
	.remodal {max-width: 700px;}
}

body {margin:0;padding:0;font-family: 'Public Sans' , 'Noto Sans JP', sans-serif;overflow-x: hidden;-webkit-text-size-adjust: 100%;word-wrap: break-word;-ms-overflow-style: none; scrollbar-width: none;}
body::-webkit-scrollbar { display:none;}

ol,ul,li {list-style:none;margin:0;padding:0;}
dl,dt,dd {margin:0;padding:0;}
h1,h2,h3,h4,h5,h6 {font-size:100%;font-weight:normal;margin:0;padding:0;}
p {margin:0;padding:0;}
a , a img { overflow: hidden; color:#627fd2;text-decoration:none;border:none;-webkit-transition: all 0.2s;-moz-transition: all 0.2s;-ms-transition: all 0.2s;-o-transition: all 0.2s;transition: all 0.2s;}
a:hover,a:active {opacity:1;border:none;outline:none;}
a:hover img , a:active img {opacity:1;border:none;outline:none;}
b {font-weight:500;}
pre {font-family: 'Public Sans' , 'Noto Sans JP', sans-serif;font-weight:300;font-size: 1em;white-space: pre-wrap;margin: 0;}

h1 {font-weight:normal;}
h2 {font-weight:normal;}
h3 {font-weight:400;}
img {max-width: 100%;height: auto;display:block;pointer-events: none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-touch-callout:none;-moz-user-select:none;touch-callout:none;user-select:none;}
* {box-sizing:border-box;outline:none;}
main:after,
article:after,
section:after,
div:after,
ul:after,
li:after,
dl:after {
  content: "";
  display: block;
  clear: both;
}

.pc {display:none;}

body {font-size:3.6vw;line-height:1.6;color:#fff;display: block;background-color:#000;}

.home {height:100vh;}
.home #wrap {height: 100%;position: relative;}
.main_top {display: flex;height: 100%;width: 100%;justify-content: center;align-items: center;}
.main_top .top_logo {width: 90%;position: relative;line-height: 1;padding: 0 6%;z-index: 1;display:none;}
.main_top .top_logo.disp {display:block;}
.main_top .top_logo .penetrate {width:100%;position:absolute;left: 0;top: 22.4%;z-index:-1;}
.main_top .top_logo .penetrate span {display: block;background: #aaa;padding-top: 16.3%;}
.top_bg {position: fixed;z-index: -2;top: 0;right: 0;left: 0;bottom: 0;overflow: hidden;opacity: .5;}
.top_bg video {position: absolute;z-index: -1;   top: 50%;left: 50%;transform: translate(-50%, -50%);/*width: 177.77777778vh;height: 56.25vw;*/min-height: 150%;min-width: 150%;opacity: .5;}
.top_bg:before {content:"";position:absolute;top:0;left:0;right:0;width:100%;height:100%;display:block;background:url(../images/bg_cover.png) no-repeat center;background-size:cover;}
.top_bg.filter_on:before {display:none;}
.top_bg.filter_on .filter {position:absolute;top:0;left:0;right:0;width:100%;height:100%;display:block;background:url(../images/bg_cover.png) no-repeat center;background-size:cover;z-index:1;}

.menu_on body {height:100%;overflow: hidden;}
.menu_on #wrap {position:relative;width: calc(100% + 20px);height: calc(100% + 20px);top: 0;left: 0;margin: -10px;display: block;-webkit-filter: blur(10px);filter: blur(10px);}

.gnavi {display:none;overflow: auto;height:100%;background:rgba(0,0,0,.8); position:fixed;top:0;left:0;width:100%;z-index:9500;-webkit-overflow-scrolling: touch;}
.gnavi h3 {max-width: 480px;margin: 0 auto;}
.gnavi_in {padding:70px 4% 0;margin: 0 auto;}
.gnavi_wrap {margin: 0 0 2em 0;}
.gnavi_wrap li {opacity:0;transition : opacity .5s ease-out;}
.gnavi_wrap li.on {opacity:1;}
.gnavi_wrap li a {display: inline-block;font-family: 'Public Sans', sans-serif;font-weight:800;font-size: 2.5em;text-align: left;color: #fff;line-height: 1.1;padding: 0.1em 0;}
.gnavi_wrap li.active a:after {content:"";border:solid #fff;border-width:2px 0 0 0;width:100%;display:block;}
.gnavi_wrap li a[href=""] {color:#555;pointer-events:none;opacity:.8;}
.gnavi_footer {border-top: 1px solid #fff;padding: 2.5em 5%;}
.gnavi_footer > div {display: flex;flex-wrap: wrap;align-items: end;justify-content: center;}
.gnavi_footer .logo {width: 8em;padding-right: 1em;line-height: 1;}
.gnavi_footer .logo svg {fill: #fff;width: 100%;}
.gnavi_footer .copyright {text-align: left;font-size: .7em;width: calc(100% - 12em);color:#666;}

.gnavi_banner {margin-bottom: 3em;}
.gnavi_banner h3 {font-family: 'Public Sans', sans-serif;font-weight: 600;max-width: none;font-size: 1.3em;margin-bottom:.5em;}
.gnavi_banner h3:before {content:"";border:solid #fff;border-width:1px 0 0 0;width:1em;display:inline-block;vertical-align:middle;margin-right:.2em;}
.gnavi_bnrlist {display: flex;flex-wrap: wrap;width: 102%;margin-left: -1%;}
.gnavi_bnrlist li {width: 50%;padding: 1%;}
.gnavi_bnrlist li a {display: block;border: 1px solid #444;}

.menu-trigger,
.menu-trigger span {display: inline-block;transition: all .2s;box-sizing: border-box;}
.menu-trigger {width: 85px;height: 55px;position: relative;cursor:pointer;}
.menu-trigger span {position: absolute;right:0;left: 0;margin: 0 auto;width: 50px;height: 1px;background-color: #fff;border-radius:0;}
.menu-trigger span:nth-of-type(1) {top: 18px;}
.menu-trigger span:nth-of-type(2) {top: 29px;}
.menu-trigger.active {background:none;}
.menu-trigger.active span:nth-of-type(1) {-webkit-transform: translateY(6px) rotate(-20deg);transform: translateY(6px) rotate(-20deg);}
.menu-trigger.active span:nth-of-type(2) {webkit-transform: translateY(-6px) rotate(20deg);transform: translateY(-6px) rotate(20deg);}

.fix_menu {display:block;position:fixed;top:10px;right:0;width: 85px;height: 55px;text-align: center;z-index:100;}
.menu_on .fix_menu {z-index:9600;}

.translate {width: 60%;max-width: 170px;}
.translate .goog-te-gadget img {display: inline-block;}
.goog-te-gadget img {display:inline-block;}
.goog-te-menu-frame {-moz-box-shadow:none !important;-webkit-box-shadow:none !important;box-shadow:none !important;}
.goog-te-gadget .goog-te-combo {border: 1px solid #ddd;outline:none;margin: 0 !important;width: 100%;font-size: 1em;}
.goog-te-gadget .goog-te-combo {display: block;width: 100%;padding: .3em .8em;font-size: 1.2em;line-height: 1.5;color: #333;background-color: #fff;background-image: none;background-clip: padding-box;border: 1px solid rgba(0, 0, 0, 0.15);border-radius: 5px;outline:none;height: calc(2.5em - 2px);margin-bottom:.5em;}
.goog-te-gadget .goog-te-combo option {background-color: transparent;}
.goog-te-banner-frame {display:none !important;}

.sns_icon {font-size: 1em;margin-bottom: 2.5em;padding-left: 0.2em;}
.sns_icon li {display: inline-block;vertical-align: middle;width: 1em;margin-right: 1.5em;font-size: 1.2em;}
.sns_icon li a {display:block;}
.sns_icon li.yt {width:1.1em;}
.sns_icon li.x , .sns_icon li.tiktok {width:.9em;}
.sns_icon li a svg {fill:#fff;display: block;width: 100%;}

.header_in {width: calc(94% - 80px);position: absolute;top: 12px;left: 4%;z-index: 10;}
.header_in .sns_icon {margin-bottom: 0;padding-left: 0.2em;margin-top: .8em;}
.header_in .sns_icon li {margin: 0 0.8em 0 0;}
.header_in .header_logo {max-width: 70px;position: absolute;right: 0;width: 35%;top:12px;}

.translation {position: fixed;top: 15px;right: 1em;width: 5em;font-weight: 500;font-size: 15px;z-index:20;}
.translation .active {border-bottom:1px solid #fff;padding: 0 .1em .2em;position:relative;cursor:pointer;}
.translation .active:after {content:"\f3d0";font-family:'ionicons';position:absolute;right:.2em;top: 50%;-webkit-transform: translateY(-50%);transform: translateY(-50%);}
.translation .active.open:after {content:"\f3d8";}
.translation ul {display:none;}
.translation li a {color: #fff;background: #222;display: block;line-height: 2.5;border-bottom: 1px solid #333;padding: 0 0 0 0.8em;font-size: .95em;}

.inview {opacity: 0;transform: translate(0, 0) ;transition : all 500ms ease-in;}
.inview.in {opacity: 1;transform: translate(0, 0) ;}
.fade {opacity: 0;transition : opacity 500ms ease-in;}
.fade.in {opacity: 1;}
.fadein > * {opacity: 0;transition : opacity 500ms ease-in;}
.fadein > *.in {opacity: 1;}
.slideup {transform: translate(0, 30px) ;transition : all .2s ease-out;opacity:0;}
.slideup.in {transform: translate(0, 0) ;opacity:1;}
 
.footer {padding:0 4%;margin-top: 3em;font-family: 'Public Sans', sans-serif;}
.footer .copyright {font-size:.8em;text-align:center;padding-bottom:4em;padding-top: 5em;position: relative;}
.footer .copyright a {display: block;color: #fff;position: absolute;top: 0;left: 0;right: 0;font-size: 1.2em;}

.remodal-wrapper {padding: 0;}
.remodal-overlay {background:rgba(0,0,0,.8);}
.remodal {padding:0 4%;background:none;max-width: 960px;overflow: hidden;transform:none;}
.remodal-close {top: 2.5%;left: 2%;}
.remodal_in {margin:0;padding:0;text-align:left;background:none;color:#fff;position: relative;}

.close_btn {position: fixed;right: 3%;top: 20px;z-index: 1;border: none;background: none;outline: none;cursor: pointer;width: 40px;height: 30px;padding: 0;}
.close_btn span {position: absolute;right:0;top:0;margin: 0 auto;width: 40px;height: 1px;background-color: #fff;border-radius:0;}
.close_btn span:nth-of-type(1) {-webkit-transform: translateY(15px) rotate(-45deg);transform: translateY(15px) rotate(-45deg);}
.close_btn span:nth-of-type(2) {webkit-transform: translateY(15px) rotate(45deg);transform: translateY(15px) rotate(45deg);width: 40px;}

.movie_box {padding-top: 56.25%;position:relative;}
.movie_box > div {width: 100%; height: 100%; position: absolute; top: 0px; bottom: 0px; right: 0px; left: 0px;}
.bc-player-default_default.vjs-native .vjs-big-play-button {display:block;}
.bc-player-default_default.vjs-has-started .vjs-big-play-button {display: none;}
.bc-player-default_default, .bc-player-default_default *, .bc-player-default_default :after, .bc-player-default_default :before {font-size:1em;}
.bc-player-default_default .vjs-big-play-button , .bc-player-default_default.vjs-mouse .vjs-big-play-button {background-color: rgb(217 195 173 / 80%);border-radius: 50%;cursor: pointer;height: 3em;position:absolute;top: 50%;left: 50%;transform: translateY(-50%) translateX(-50%);-webkit-transform: translateY(-50%) translateX(-50%);width: 3em;}
.bc-player-default_default .vjs-big-play-button:before {content: '\e001';color: #fff;display: block;font-family: VideoJS;font-size: 1em;line-height: 1em;margin: 0 auto;opacity: 1;text-align: center;width: 1em;position:absolute;top: 50%;left: 50%;transform: translateY(-50%) translateX(-50%);-webkit-transform: translateY(-50%) translateX(-50%);padding-left:.2em;}
.bc-player-default_default .vjs-control-bar {height: 3em;line-height: 3em;}
.bc-player-default_default .vjs-control {width: 3em;height: 3em;}
.bc-player-default_default .vjs-control:before {display: block;font-family: VideoJS;font-size: 1em;line-height: 1em;margin: 0 auto;opacity: .8;position: relative;text-align: center;top: 1em;width: 1em;}
.bc-player-default_default .vjs-progress-holder {padding: 1.2em 0 0;width: 100%;}
.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {opacity:1 !important;}
.bc-player-default_default .vjs-menu.vjs-contextmenu-ui-menu {display:none;}

.movie_player > div {position: relative;padding-bottom: 56.25%;height: 0;overflow: hidden;}
.movie_player > div iframe {position: absolute;top: 0;left: 0;width: 100%;height: 100%;border: none;}
.movie_modal {padding:0;margin: 0;}
.mv_play_top {position: absolute;bottom: 5%;left:5%;display: flex;align-items: center;z-index: 10;}
.mv_play_top .playbtn {width: 4em;height: 4em;}
.mv_play_top .playbtn a {border: 1px solid #fff;width: 100%;height: 100%;border-radius: 50%;display: flex;justify-content: center;align-items: center;}
.mv_play_top .playbtn a:after {content:"";width: 0;height: 0;border-style: solid;border-width: 1em 0 1em 1.6em;border-color: transparent transparent transparent #fff;margin-left: 0.2em;}
.mv_play_top p {font-size: .7em;/*width: 15em;*/margin-left: 1em;}
.mv_play_top .playicon {width: 3em;}
.mv_play_top .playicon a {display: block;}

.fixed_banner {position: absolute;bottom: 5%;right: 5%;width: 35%;}
.fixed_banner a {display: block;border: 1px solid #666;}

.top_footer {padding: 3em 0;}
.top_footer .copyright{font-size: .7em;text-align: center;color: #999;}
.top_footer .footer_banner {padding: 0 5%;}
.top_footer .bnr_list {display:flex;flex-wrap:wrap;justify-content: center;width: 104%;margin-left: -2%;margin-bottom: 3em;}
.top_footer .bnr_list li {width:50%;padding:2%;}
.top_footer .bnr_list li a {display:block;border:1px solid #555;}

.top_footer.fv {padding: 0;position: absolute;bottom: 3%;text-align: center;left: 0;width: 100%;}
.top_footer.fv .footer_banner {padding: 0;position: absolute;bottom: calc(3% + 2em);width: 40%;right: 3.5%;max-width: 180px;}
.top_footer.fv .bnr_list {width: 100%;justify-content: flex-end; margin-left: 0;margin-bottom: 0;}
.top_footer.fv .bnr_list li {width: 33.33%;padding: 1.5%;}
.top_footer.fv .bnr_list li a {border: 1px solid #333;border-radius: 50%;}

@media screen and (min-width:568px) {
body {font-size:2.2vw;}
}

@media screen and (min-width:768px) {
.pc {display:block;}
.sp {display:none;}

body {font-size:14px;}
.home {height:100vh !important;}
.main_top .top_logo {width: 80%;}
.main_top .top_logo .penetrate span {padding-top: 16%;}

.gnavi_in {padding: 5em 5% 0;position:relative;}
.gnavi_wrap {font-size: 1.4em;margin-bottom: 1.5em;}
.gnavi_banner {margin-bottom: 0;position: absolute;bottom: 3%;right: 5%;width: 25%;max-width: 300px;}
.gnavi_banner h3 {font-size: 1.5em;}
.gnavi_bnrlist {width: 100%;margin-left: 0;}
.gnavi_bnrlist li {width: 100%;padding: 1em 0 0;}
.gnavi_footer .copyright {width: auto;}

.header_in {width: calc(96% - 100px);top: 25px;}
.header_in .header_logo {max-width: 80px;top: -4px;}
.header_in > div {display: flex;align-items: flex-start;}
.header_in .sns_icon {font-size:1.1em;margin: 0;}

.fixed_banner {width: 20%;max-width: 250px;right:50px;}

.top_footer .bnr_list {width: 102%;margin-left: -1%;}
.top_footer .bnr_list li { width: 33.33%;padding: 0 1%;}
.footer .copyright {font-size: .8em;}
}

@media screen and (min-width:1024px) {
.top_footer .footer_banner {padding: 0;max-width: 640px;margin: 0 auto;}

}
@media screen and (min-width:1025px) {
.gnavi {font-size: 1.5vh;}
.gnavi_footer {position: absolute;width: 100%;left:0;bottom: 0;}
.gnavi_wrap li a:after {content: "";border: solid #fff;border-width: 2px 0 0 0;width: 0;display: block;transition : all .5s ease-in;}
.gnavi_wrap li a:hover:after {width:100%;}
.gnavi_wrap li a[href=""]:hover:after {width:0;}
}

@media screen and (min-width:1200px) {
body {font-size:15px;}
.main_top .top_logo {padding: 0 70px;max-width:960px;}
.main_top .top_logo .penetrate {top: 64px;}
.main_top .top_logo .penetrate span {padding-top: 154px;}
.mv_play_top {bottom: 5%;left: 50px;}
.mv_play_top .playbtn {width: 5em;height: 5em;}
.mv_play_top p {font-size: .8em; width: auto;margin-left: 2em;}
.mv_play_top p br {display: none;}
.mv_play_top .playicon {width:3.5em;}

.fix_menu {right:35px;}
.gnavi_in {display: flex;flex-direction: row-reverse;}
.gnavi_wrap {width:25em;}
.gnavi_banner {bottom: 3em;left: 5%;right:auto;width: 20em}

.header_in {width: calc(100% - 200px);left: 50px;z-index: 10;}

.remodal {padding:0;}
.close_btn {right: 30px;top: 30px;transform: scale(1.3);}

.footer { padding-bottom: 0;margin-top: 8em;}

.top_footer.fv {bottom: 2%;}
.top_footer.fv .footer_banner {max-width:250px;right: 40px;}
}

@media screen and (min-width:1600px) {
body {font-size: 16px;}
}

@media screen and (max-height:900px) and (min-width:1024px) {
}