@charset "UTF-8";
/*============================================================================================================
	base
============================================================================================================*/
body { color: #000; -webkit-text-size-adjust: 100%; line-height: 2.57; }

div, h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, th, td, section, article, header, footer, main, nav, span, a { box-sizing: border-box; }

a { color: inherit; text-decoration: none; }

img { width: 100%; max-width: 100%; height: auto; vertical-align: bottom; }

h1, h2, h3, h4, h5, h6 { line-height: 1.5; font-weight: normal; margin: 0; word-wrap: break-word; }

p, li, td, th, dt, dd { font-size: 14px; margin: 0; word-wrap: break-word; }

table { width: 100%; border-collapse: collapse; table-layout: fixed; }

th, td { text-align: left; font-weight: normal; vertical-align: top; }

ul, ol, dl { padding: 0; margin: 0; }

li { list-style: none; }

.cf:after { content: ""; display: block; clear: both; }

@media screen and (min-width: 768px) { .sp { display: none !important; } }
@media screen and (max-width: 767px) { .pc { display: none !important; } }
/*------------------------------------------
	font
------------------------------------------*/
body { font-family: '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'ヒラギノ角ゴ ProN W3', 'メイリオ', Meiryo, sans-serif; }

@font-face { font-family: 'Ogg'; src: url("../font/Ogg-Regular.ttf") format("truetype"), url("../font/Ogg-Regular.woff") format("woff"), url("../font/Ogg-Regular.woff2") format("woff2"); }
.f-en { font-family: 'Ogg', serif; }

/*------------------------------------------
	frame
------------------------------------------*/
/*------------------------------------------
	hover
------------------------------------------*/
@media screen and (min-width: 768px) { a { transition: all 0.3s ease; }
  a:hover { opacity: .7; } }
/*============================================================================================================
	.l-header
============================================================================================================*/
.l-header { overflow: hidden; position: relative; padding: 4%; margin-bottom: 240px; }
.l-header:before { position: absolute; z-index: -1; bottom: 0; left: 8%; content: ""; display: block; width: 81.5%; height: 83.5%; background: #F6F4F8; }
.l-header-txtBox { position: absolute; z-index: 2; top: 43%; right: 5.3%; }
.l-header__tit { margin-bottom: 2.9vw; font-size: 7.2vw; line-height: 1.1; }
.l-header__txt { font-size: .82vw; line-height: 2.3vw; }
.l-header__txt span { display: block; }
.l-header-imgBox { width: 72.7%; }
@media screen and (max-width: 767px) { .l-header { margin-bottom: 68px; padding: 45px; }
  .l-header:before { width: 55%; height: 80%; bottom: auto; top: 0; left: 0; }
  .l-header-movieBox { margin: 0 auto 40px; }
  .l-header-movieBox video { width: 100%; display: block; }
  .l-header-txtBox { position: static; }
  .l-header__tit { margin-bottom: 30px; font-size: 50px; }
  .l-header__txt { font-size: 12px; line-height: 2.5; } }
.l-header__scroll { width: 16px; line-height: 16px; height: 154px; font-size: 10px; text-align: center; position: absolute; right: 16px; bottom: 24.5%; }
.l-header__scroll span { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }
.l-header__scroll:before { content: ""; width: 1px; height: 105px; background: #000; position: absolute; left: 0; right: 0; margin: auto; -webkit-animation: arrow 3s infinite; animation: arrow 3s infinite; }
@media screen and (max-width: 360px) { .l-header { padding: 25px; }
  .l-header__txt { font-size: 11px; }
  .l-header__scroll { right: 5px; } }
@media screen and (max-width: 375px) and (max-height: 700px) { .l-header-movieBox { margin-bottom: 10px; } }

@-webkit-keyframes arrow { 0%, 100% { height: 0; bottom: 105px; }
  35% { height: 105px; bottom: 0; }
  70% { height: 0; bottom: 0; } }
@keyframes arrow { 0%, 100% { height: 0; bottom: 105px; }
  35% { height: 105px; bottom: 0; }
  70% { height: 0; bottom: 0; } }
/*------------------------------------------
	load
------------------------------------------*/
.js-header:before { opacity: 0; transition: opacity 1.5s ease-in-out; }
.js-header.in-view:before { opacity: 1; }

@media screen and (min-width: 768px) { .js-mv-img { position: relative; opacity: 0; left: -50px; transition: opacity 1.5s ease-in-out, left 1.5s ease-in-out; }
  .js-mv-img.in-view { opacity: 1; left: 0; } }

.js-mv-tit { position: relative; opacity: 0; top: -50px; transition: opacity 1.5s ease-in-out, top 1.5s ease-in-out; }
.js-mv-tit.in-view { opacity: 1; top: 0; }

.js-mv-txt { opacity: 0; transition: opacity 2s ease-in-out, top 1.5s ease-in-out; }
.js-mv-txt.in-view { opacity: 1; }
@media screen and (min-width: 768px) { .js-mv-txt { position: relative; top: -50px; }
  .js-mv-txt.in-view { top: 0; }
  .js-mv-txt + .js-mv-txt { transition-delay: .2s; }
  .js-mv-txt + .js-mv-txt + .js-mv-txt { transition-delay: .4s; }
  .js-mv-txt + .js-mv-txt + .js-mv-txt + .js-mv-txt { transition-delay: .6s; } }

.js-mv-movie { opacity: 0; transition: opacity 1.5s ease-in-out; }
.js-mv-movie.in-view { opacity: 1; }

/*============================================================================================================
	.l-footer
============================================================================================================*/
.l-footer { padding: 80px 10px; background: #000; }
.l-footer-inner { width: 100%; max-width: 1260px; margin: 0 auto; display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; }
.l-footer__logo { width: 339px; margin-right: 10px; }
.l-footer__logo a, .l-footer__logo img { display: block; }
.l-footer__copyright { margin: 0 0 0 auto; color: #fff; font-size: 13px; letter-spacing: .1em; line-height: 1.4; }
@media screen and (max-width: 767px) { .l-footer { padding: 60px 20px; }
  .l-footer-inner { display: block; }
  .l-footer__logo { width: 220px; margin: 0 auto 37px; }
  .l-footer__copyright { text-align: center; font-size: 10px; letter-spacing: 0; } }

/*============================================================================================================
	.l-contents (common)
============================================================================================================*/
/*==========================================
	.l-main
==========================================*/
/*============================================================================================================
	js
============================================================================================================*/
/*------------------------------------------
	scrool action
------------------------------------------*/
.js-view { transition: opacity 1.5s ease, transform 1.5s ease; }
.js-view + .js-view { transition-delay: .1s; }
.js-view + .js-view + .js-view { transition-delay: .2s; }
.js-view + .js-view + .js-view + .js-view { transition-delay: .3s; }
.js-view.is-fadeIn { opacity: 0; }
.js-view.is-fadeIn.is-scrollin { opacity: 1; }
.js-view.is-fadeUp { transform: translate(0, 100px); }
.js-view.is-fadeUp.is-scrollin { transform: translate(0, 0); }
@media screen and (max-width: 767px) { .js-view.is-fadeUp { transform: translate(0, 40px); } }
.js-view.is-slideIn { transform: translateX(-50px); }
.js-view.is-slideIn.is-scrollin { transform: translate(0, 0); }
.js-view.is-slideIn-rev { transform: translateX(50px); }
.js-view.is-slideIn-rev.is-scrollin { transform: translate(0, 0); }
@media screen and (max-width: 767px) { .js-view.is-sp-off { opacity: 1; transform: none; } }

/*============================================================================================================
	page
============================================================================================================*/
/*============================================================================================================
	home
============================================================================================================*/
/*------------------------------------------
	.homeStyle
------------------------------------------*/
.homeStyle { overflow: hidden; position: relative; display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; padding-bottom: 240px; }
.homeStyle__tit { position: absolute; z-index: 2; display: table; padding: 40px 0; font-size: 2.2vw; line-height: 1.1; }
.homeStyle__tit-num { position: relative; display: inline-block; margin: 0 0 0 47px; font-size: 9.2vw; }
.homeStyle__tit-num:before { position: absolute; top: 0; bottom: 0; left: -16px; margin: auto; content: ""; display: block; width: 1px; height: calc(100% + 80px); background: #000; transform: rotate(14deg); }
.homeStyle:nth-of-type(odd) .homeStyle__tit { top: 0; right: 4%; }
.homeStyle:nth-of-type(even) .homeStyle__tit { top: 0; left: 4%; }
@media screen and (min-width: 1921px) { .homeStyle__tit { font-size: 40px; }
  .homeStyle__tit-num { font-size: 180px; } }
@media screen and (max-width: 767px) { .homeStyle { display: block; padding-bottom: 0; margin-bottom: 120px; }
  .homeStyle__tit { position: static; margin-bottom: 60px; padding: 3% 0; font-size: 12px; }
  .homeStyle__tit-num { margin-left: 15px; font-size: 53px; }
  .homeStyle__tit-num:before { left: -5px; height: calc(100% + 25px); }
  .homeStyle:nth-of-type(odd) .homeStyle__tit { margin-right: 45px; margin-left: auto; }
  .homeStyle:nth-of-type(even) .homeStyle__tit { margin-left: 45px; } }
@media screen and (max-width: 360px) { .homeStyle:nth-of-type(odd) .homeStyle__tit { margin-right: 25px; }
  .homeStyle:nth-of-type(even) .homeStyle__tit { margin-left: 25px; } }

.homeStyle-detail { width: 46.5%; max-width: 720px; }
.homeStyle-detail-titBox { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; margin: 0 auto 50px; }
.homeStyle-detail__tit { margin-right: 20px; font-size: 40px; flex-shrink: 0; }
.homeStyle-detail__txt { max-width: 500px; font-size: 17px; line-height: 2.12; }
.homeStyle-detail-data { display: flex; justify-content: space-between; align-items: flex-start; }
.homeStyle-detail-data__item { width: 47%; }
.homeStyle-detail-data__tit { background: #000; color: #fff; text-align: center; line-height: 2.2; }
.homeStyle-detail-data__tit.is-purple { background: #F6F4F8; color: #000; }
.homeStyle-detail-data table { table-layout: auto; }
.homeStyle-detail-data tr { border-bottom: 1px solid #000; }
.homeStyle-detail-data th, .homeStyle-detail-data td { padding-top: 25px; padding-bottom: 3px; line-height: 1.8; vertical-align: bottom; }
.homeStyle-detail-data th { width: 70%; }
.homeStyle-detail-data td { padding-left: 10px; text-align: right; }
@media screen and (min-width: 768px) and (max-width: 1000px) { .homeStyle-detail__txt { font-size: 15px; }
  .homeStyle-detail-data th, .homeStyle-detail-data td { font-size: 12px; } }
@media screen and (max-width: 767px) { .homeStyle-detail { width: calc(100% - 90px); max-width: none; margin: 65px auto 0 !important; }
  .homeStyle-detail-titBox { display: block; margin-bottom: 40px; }
  .homeStyle-detail__tit { margin: 0 auto 20px; font-size: 24px; }
  .homeStyle-detail__txt { max-width: none; font-size: 14px; line-height: 2.57; }
  .homeStyle-detail-data { display: block; }
  .homeStyle-detail-data__item { width: 100%; display: flex; justify-content: space-between; align-items: flex-start; margin: 0 auto 25px; }
  .homeStyle-detail-data__item:last-of-type { margin-bottom: 0; }
  .homeStyle-detail-data__tit { margin-top: 10px; padding: 10px 1px; font-size: 12px; letter-spacing: .2em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }
  .homeStyle-detail-data table { width: calc(100% - 60px); }
  .homeStyle-detail-data th, .homeStyle-detail-data td { padding-top: 25px; padding-bottom: 1px; }
  .homeStyle-detail-data td { min-width: 80px; } }
@media screen and (max-width: 360px) { .homeStyle-detail { width: calc(100% - 50px); }
  .homeStyle-detail-data table { width: calc(100% - 45px); } }

/*	.style01
------------------------------------------*/
@media screen and (min-width: 768px) { .style01 { padding-right: 8.5%; padding-left: 10.5%; }
  .style01 .homeStyle-imgBox { width: 46.3%; }
  .style01 .homeStyle-imgBox.is-two { margin: 27% 0 0 auto; }
  .style01 .homeStyle-detail { margin-top: -19%; } }
@media screen and (min-width: 768px) and (max-width: 1000px) { .style01 { padding-left: 4%; padding-right: 4%; } }
@media screen and (max-width: 767px) { .style01 .homeStyle__tit { margin-bottom: 40px; }
  .style01 .homeStyle-imgBox { width: 70%; }
  .style01 .homeStyle-imgBox.is-two { margin: 40px 45px 0 auto; } }
@media screen and (max-width: 360px) { .style01 .homeStyle-imgBox.is-two { margin-right: 25px; } }

/*	.style02
------------------------------------------*/
@media screen and (min-width: 768px) { .style02 { padding-left: 4%; flex-direction: row-reverse; }
  .style02 .homeStyle-imgBox.is-one { width: 59.7%; margin: 75px 0 0 auto; }
  .style02 .homeStyle-imgBox.is-two { width: 34.8%; margin: 29% auto 0 0; }
  .style02 .homeStyle-detail { margin: -31% 11% 0 auto; } }
@media screen and (max-width: 767px) { .style02 .homeStyle__tit { margin-bottom: 40px; }
  .style02 .homeStyle-imgBox.is-one { width: 89%; margin: 0 0 0 auto; }
  .style02 .homeStyle-imgBox.is-two { width: 70%; margin: 40px auto 0 0; } }

/*	.style03
------------------------------------------*/
@media screen and (min-width: 768px) { .style03 { padding-right: 4%; padding-left: 10.4%; }
  .style03 .homeStyle-imgBox { width: 43.81%; }
  .style03 .homeStyle-imgBox.is-one { margin: 17.6% auto 0 6%; }
  .style03 .homeStyle-imgBox.is-two { margin: 42% 0 0 auto; }
  .style03 .homeStyle-detail { margin-top: -17.5%; } }
@media screen and (min-width: 768px) and (max-width: 1000px) { .style03 { padding-left: 4%; } }
@media screen and (max-width: 767px) { .style03 .homeStyle-imgBox.is-one { width: 70%; margin: 0 auto 0 45px; }
  .style03 .homeStyle-imgBox.is-two { width: 70%; margin: 40px 0 0 auto; } }
@media screen and (max-width: 360px) { .style03 .homeStyle-imgBox.is-one { margin-left: 25px; } }

/*	.style04
------------------------------------------*/
@media screen and (min-width: 768px) { .style04 { padding-right: 10.5%; padding-left: 4%; flex-direction: row-reverse; }
  .style04 .homeStyle-imgBox { width: 43.87%; }
  .style04 .homeStyle-imgBox.is-one { margin: 17.6% auto 0 0; }
  .style04 .homeStyle-imgBox.is-two { margin: 42% auto 0 0; }
  .style04 .homeStyle-detail { margin: -17% 0 0 auto; } }
@media screen and (min-width: 768px) and (max-width: 1000px) { .style04 { padding-right: 4%; } }
@media screen and (max-width: 767px) { .style04 .homeStyle-imgBox.is-one { width: 70%; margin: 0 45px 0 auto; }
  .style04 .homeStyle-imgBox.is-two { width: 70%; margin: 40px auto 0 0; } }
@media screen and (max-width: 360px) { .style04 .homeStyle-imgBox.is-one { margin-right: 25px; } }

/*	.style05
------------------------------------------*/
@media screen and (min-width: 768px) { .style05 .homeStyle-imgBox.is-one { width: 61.5%; margin: 175px auto 0 0; }
  .style05 .homeStyle-imgBox.is-two { width: 33.35%; margin: 28% 0 0 auto; }
  .style05 .homeStyle-detail { margin: -22% auto 0 10.5%; } }
@media screen and (max-width: 1300px) { .style05 .homeStyle-detail { margin-top: -13%; } }
@media screen and (min-width: 768px) and (max-width: 1000px) { .style05 .homeStyle-detail { margin-left: 4%; } }
@media screen and (max-width: 767px) { .style05 .homeStyle-imgBox.is-one { width: 89%; margin: 0 auto 0 0; }
  .style05 .homeStyle-imgBox.is-two { width: 70%; margin: 40px 0 0 auto; } }

/*	.style06
------------------------------------------*/
@media screen and (min-width: 768px) { .style06 { padding-right: 10.5%; padding-left: 8.5%; flex-direction: row-reverse; }
  .style06 .homeStyle-imgBox { width: 46.3%; }
  .style06 .homeStyle-imgBox.is-one { margin: 18.5% 0 0 auto; }
  .style06 .homeStyle-imgBox.is-two { margin: 44% auto 0 0; }
  .style06 .homeStyle-detail { margin-top: -18%; } }
@media screen and (min-width: 768px) and (max-width: 1000px) { .style06 { padding-right: 4%; padding-left: 4%; } }
@media screen and (max-width: 767px) { .style06 .homeStyle-imgBox { width: 70%; }
  .style06 .homeStyle-imgBox.is-one { margin: 0 0 0 auto; }
  .style06 .homeStyle-imgBox.is-two { margin: 40px auto 0 45px; } }
@media screen and (max-width: 360px) { .style06 .homeStyle-imgBox.is-two { margin-left: 25px; } }

/*------------------------------------------
	.homeMore
------------------------------------------*/
.homeMore { margin-bottom: 185px; padding: 40px 20px; }
.homeMore__tit { margin-bottom: 60px; text-align: center; font-size: 46px; }
.homeMore__txt { font-size: 21px; line-height: 2.3; text-align: center; }
.homeMore__txt + .homeMore__txt { margin-top: 55px; }
@media screen and (max-width: 767px) { .homeMore { margin-bottom: 110px; }
  .homeMore__tit { margin-bottom: 50px; font-size: 36px; }
  .homeMore__txt { font-size: 14px; line-height: 2.57; }
  .homeMore__txt + .homeMore__txt { margin-top: 40px; } }

/*------------------------------------------
	.homePhoto
------------------------------------------*/
.homePhoto { position: relative; padding: 185px 0; }
.homePhoto:before { position: absolute; z-index: -1; top: 0; left: 0; content: ""; display: block; width: 60%; height: 83.5%; background: #F6F4F8; }
.homePhoto__tit { margin-bottom: 115px; font-size: 76px; text-align: center; line-height: 1.1; }
.homePhoto-movieBox { width: 100%; max-width: 1280px; margin: 0 auto 200px; }
.homePhoto-movieBox video { display: block; width: 100%; }
.homePhoto-imgWrap { margin: 0 auto 190px; }
.homePhoto__txt { font-size: 16px; text-align: center; }
@media screen and (min-width: 768px) { .homePhoto-imgWrap { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; }
  .homePhoto-imgBox.is-one { width: 61.46%; }
  .homePhoto-imgBox.is-two { width: 33.34%; margin: 13% 0 0 auto; }
  .homePhoto-imgBox.is-three { width: 37.5%; margin: -12% auto 0 2%; }
  .homePhoto-imgBox.is-four { width: 55.21%; margin: 13.8% 0 0 auto; }
  .homePhoto-imgBox.is-five { width: 69.28%; margin: 10.3% 5.2% 0 auto; } }
@media screen and (max-width: 767px) { .homePhoto { overflow: hidden; padding: 0 0 50px; }
  .homePhoto:before { top: 60px; height: calc(100% - 400px); }
  .homePhoto__tit { position: absolute; z-index: 2; top: 0; left: -11px; font-size: 50px; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }
  .homePhoto-movieBox { width: calc(100% - 75px); margin: 0 0 60px auto; }
  .homePhoto-imgWrap { margin-bottom: 45px; }
  .homePhoto-imgBox.is-one { width: 78.1%; margin: 0 auto 60px 25px; }
  .homePhoto-imgBox.is-two { width: 72.3%; margin: 0 0 60px auto; }
  .homePhoto-imgBox.is-three { width: 89.2%; margin: 0 auto 60px 0; }
  .homePhoto-imgBox.is-four { width: 89.2%; margin: 0 0 60px auto; }
  .homePhoto-imgBox.is-five { width: 94%; }
  .homePhoto__txt { width: calc(100% - 90px); margin: 0 auto; font-size: 12px; text-align: left; line-height: 2.5; } }
@media screen and (max-width: 360px) { .homePhoto__txt { width: calc(100% - 50px); } }

/*------------------------------------------
	.homeLink
------------------------------------------*/
.homeLink { display: flex; margin: 0 auto 100px; border-top: 1px solid #000; border-bottom: 1px solid #000; }
.homeLink__item { width: 50%; border-right: 1px solid #000; text-align: center; }
.homeLink__item:last-of-type { border-right: none; }
.homeLink__item a { display: flex; justify-content: center; align-content: center; flex-wrap: wrap; height: 260px; }
.homeLink__en { width: 100%; display: block; font-size: 76px; line-height: 1.4; }
.homeLink__ja { width: 100%; display: block; font-size: 14px; line-height: 1.4; }
@media screen and (min-width: 768px) { .homeLink__item a:hover { opacity: 1; background: #000; color: #fff; } }
@media screen and (min-width: 768px) and (max-width: 1000px) { .homeLink__en { font-size: 60px; } }
@media screen and (max-width: 767px) { .homeLink { display: block; width: calc(100% - 90px); margin: 0 auto 80px; border: none; }
  .homeLink__item { width: 100%; margin-bottom: 24px; border: none; color: #fff; }
  .homeLink__item:last-of-type { margin-bottom: 0; }
  .homeLink__item a { height: 76px; padding: 0 30px; display: flex; justify-content: space-between; align-items: center; background: #000; }
  .homeLink__en { width: auto; font-size: 22px; }
  .homeLink__ja { width: auto; font-size: 14px; } }
@media screen and (max-width: 360px) { .homeLink { width: calc(100% - 50px); } }

/*# sourceMappingURL=style.css.map */
