*, *::before, *::after { box-sizing: border-box; }

body { color: #000000; background: #ffffff; font-size: 1.6vw; letter-spacing: .05em; line-height: 1.6; font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-weight: 500; font-style: normal; font-feature-settings: "palt"; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
@media screen and (max-width: 599px) { body { font-size: 3.2vw; } }

_:lang(x)::-ms-backdrop, .selector { font-family: "Segoe UI", Meiryo, sans-serif; }

p { line-height: 1.8; }

img { border: 0; vertical-align: top; }

input, select { position: relative; top: 1px; }

table, th, td { border-collapse: collapse; border-spacing: 0; }

ul, li { list-style: none; }

a:link, a:visited { color: #000000; text-decoration: none; transition: opacity 0.5s; }
a:hover, a:active { opacity: .6; }

#cover { width: 100%; height: 100%; position: fixed; background: #ffffff; top: 0; left: 0; z-index: 10000; }

#loader { opacity: 0; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 300px; height: 250px; }
#loader img { width: 100%; height: auto; }
@media screen and (max-width: 599px) { #loader { width: 210px; height: 175px; } }

#wrapper { overflow: hidden; position: relative; }

#page-top { opacity: 0; position: fixed; bottom: 20px; right: 20px; z-index: 9000; width: 40px; pointer-events: none; }
#page-top img { width: 100%; height: auto; }
#page-top.fade { opacity: 1; transition: opacity .5s; pointer-events: auto; }

.dd599 { display: none; }
@media screen and (max-width: 599px) { .dd599 { display: block !important; } }

@media screen and (max-width: 599px) { .nn599 { display: none !important; } }

.fadeinS, .fadein1, .fadein2, .fadein3, .fadein4, .fadein5, .fadein6, .fadeinF { opacity: 0; transform: translateY(30px); transition: opacity 0.8s cubic-bezier(0.35, 1.76, 0.32, 0.76), transform 0.8s cubic-bezier(0.35, 1.76, 0.32, 0.76); }
.fadeinS.active, .fadein1.active, .fadein2.active, .fadein3.active, .fadein4.active, .fadein5.active, .fadein6.active, .fadeinF.active { opacity: 1; transform: translateY(0); }

.popS { opacity: 0; transform: translateY(30px); transition: opacity 1s cubic-bezier(0.35, 1.76, 0.32, 0.76), transform 1s cubic-bezier(0.35, 1.76, 0.32, 0.76); }
.popS.active { opacity: 1; transform: translateY(0); }

.move { position: relative; animation-name: moveAc; animation-duration: 1s; animation-fill-mode: backwards; animation-iteration-count: infinite; animation-timing-function: linear; }

.move2 { position: relative; animation-name: moveAc2; animation-duration: 2s; animation-fill-mode: backwards; animation-iteration-count: infinite; animation-timing-function: linear; }

.bom1 { position: relative; animation-name: bomAc1; animation-duration: 5s; animation-delay: 3s; animation-fill-mode: both; animation-iteration-count: infinite; animation-timing-function: cubic-bezier(0.35, 1.76, 0.32, 0.76); }

.swing1 { position: relative; animation-name: swing1Ac; animation-duration: 4s; animation-fill-mode: backwards; animation-iteration-count: infinite; animation-timing-function: linear; }

.swing2 { position: relative; animation-name: swing2Ac; animation-duration: 5s; animation-fill-mode: backwards; animation-iteration-count: infinite; animation-timing-function: linear; }

.fuwa { position: absolute; display: block; animation-name: fuwaAc; animation-duration: 2s; animation-fill-mode: backwards; animation-iteration-count: infinite; animation-timing-function: linear; }

#header { position: absolute; z-index: 900; top: 0; left: 0; padding: 1.3em 3% .5em; }
#header h1 { position: relative; width: 8em; }
@media screen and (max-width: 599px) { #header h1 { width: 9em; } }
#header h1 img { width: 100%; height: auto; }

main { position: relative; }
main .bgSct { background: url("../img/top_bg1.webp") no-repeat center bottom/100%; }
@media screen and (max-width: 599px) { main .bgSct { background-size: 290%; background-position: 51% bottom; } }
main section { overflow: hidden; position: relative; }
main section#topMainSct { background: url("../img/top_main_bg.webp") no-repeat center top/100%; padding: 7.3em 2% 7.3em 5%; }
@media screen and (max-width: 599px) { main section#topMainSct { padding: 9.5em 5% 2em; background: url("../img/top_main_bg-sp.webp") no-repeat center top/100%; } }
main section#topMainSct .bg2 { position: absolute; z-index: 1; top: -3em; left: 0; width: 19em; height: auto; }
@media screen and (max-width: 599px) { main section#topMainSct .bg2 { top: -5em; width: 24em; } }
main section#topMainSct .bg3 { position: absolute; z-index: 2; top: 4.5em; left: 0; width: 17em; height: auto; }
@media screen and (max-width: 599px) { main section#topMainSct .bg3 { top: 5.5em; left: -12%; width: 23.5em; } }
main section#topMainSct .txtB { position: relative; z-index: 12; }
@media screen and (max-width: 599px) { main section#topMainSct .txtB { margin-bottom: .5em; } }
main section#topMainSct .txtB .txt { display: block; padding-left: 1.2em; font-weight: 700; letter-spacing: .12em; margin-bottom: .4em; }
main section#topMainSct .txtB .ttl { display: block; width: 29em; }
@media screen and (max-width: 599px) { main section#topMainSct .txtB .ttl { width: 27.8em; } }
main section#topMainSct .txtB .ttl img { width: 100%; height: auto; }
main section#topMainSct .parsonB { position: relative; z-index: 9; display: flex; margin-left: 3.8%; }
@media screen and (max-width: 599px) { main section#topMainSct .parsonB { position: static; margin-bottom: 14.3em; } }
main section#topMainSct .parsonB li { padding: 0 .6em; }
@media screen and (max-width: 599px) { main section#topMainSct .parsonB li { padding: 0; } }
main section#topMainSct .parsonB li img { width: auto; height: 10.5em; }
@media screen and (max-width: 599px) { main section#topMainSct .parsonB li img { height: 14em; } }
@media screen and (max-width: 599px) { main section#topMainSct .parsonB li:nth-child(1) { display: none; }
  main section#topMainSct .parsonB li:nth-child(2) { position: relative; z-index: 10; }
  main section#topMainSct .parsonB li:nth-child(3) { position: absolute; top: 8.5em; right: 3%; } }
main section#topMainSct .ytBtn { position: relative; z-index: 15; display: block; text-align: right; }
@media screen and (max-width: 599px) { main section#topMainSct .ytBtn { text-align: center; } }
main section#topMainSct .ytBtn a { display: inline-block; width: 20.2em; }
@media screen and (max-width: 599px) { main section#topMainSct .ytBtn a { width: 90%; } }
main section#topMainSct .ytBtn a img { width: 100%; height: auto; }
main section#topMainSct .filmB { position: absolute; z-index: 1; left: -2.5%; bottom: 5em; overflow: hidden; width: 105%; transform: rotate(-9.5deg); padding-right: 5%; }
@media screen and (max-width: 599px) { main section#topMainSct .filmB { bottom: 8.2em; transform: rotate(-8.5deg); } }
main section#topMainSct .filmB img { position: relative; display: block; width: 260%; height: auto; right: 174%; animation-name: scrollAni; animation-duration: 40s; animation-fill-mode: backwards; animation-iteration-count: infinite; animation-timing-function: linear; }
@media screen and (max-width: 599px) { main section#topMainSct .filmB img { width: 410%; right: 288%; animation-name: scrollAni-sp; } }
main section#topMainSct .picB { position: absolute; z-index: 11; top: 1em; right: -6%; width: 39em; }
@media screen and (max-width: 599px) { main section#topMainSct .picB { top: 26.3em; right: -13%; width: 32em; } }
main section#topMainSct .picB img { display: block; width: 100%; height: auto; }
main section#topMainSct .picB2 { position: absolute; z-index: 10; top: 1em; right: -6%; width: 39em; }
@media screen and (max-width: 599px) { main section#topMainSct .picB2 { top: 21em; right: -22%; width: 36em; } }
main section#topMainSct .picB2 img { display: block; width: 100%; height: auto; }
main section#topPrologueSct { overflow: hidden; }
main section#topPrologueSct .inner { position: relative; display: flex; flex-wrap: wrap; justify-content: center; padding: 0 8% 2em 12%; }
@media screen and (max-width: 599px) { main section#topPrologueSct .inner { display: block; padding: 1.5em 9% 0; } }
main section#topPrologueSct .inner .ttlB { position: relative; width: 54%; text-align: center; }
@media screen and (max-width: 599px) { main section#topPrologueSct .inner .ttlB { width: 100%; } }
main section#topPrologueSct .inner .ttlB img { position: relative; z-index: 10; width: 25em; height: auto; }
@media screen and (max-width: 599px) { main section#topPrologueSct .inner .ttlB img { width: 84%; } }
main section#topPrologueSct .inner .ttlB img.bg { position: absolute; z-index: 1; top: 0; left: 0; }
@media screen and (max-width: 599px) { main section#topPrologueSct .inner .ttlB img.bg { left: 7%; } }
main section#topPrologueSct .inner .txtB1 { padding-top: 3em; width: 46%; letter-spacing: .1em; margin-bottom: 1.8em; }
@media screen and (max-width: 599px) { main section#topPrologueSct .inner .txtB1 { padding-top: 2em; width: 100%; font-size: 140%; letter-spacing: .2em; } }
main section#topPrologueSct .inner .picB { width: 54%; text-align: center; }
@media screen and (max-width: 599px) { main section#topPrologueSct .inner .picB { width: 100%; margin-bottom: 2.6em; } }
main section#topPrologueSct .inner .picB img { width: 10em; height: auto; }
main section#topPrologueSct .inner .txtB2 { width: 46%; letter-spacing: .1em; }
@media screen and (max-width: 599px) { main section#topPrologueSct .inner .txtB2 { width: 100%; font-size: 140%; letter-spacing: .2em; } }
main section#topPrologueSct .filmB { position: relative; left: -2.6%; overflow: hidden; width: 105%; transform: rotate(9.5deg); padding: 5em 5% 6.4em 0; }
@media screen and (max-width: 599px) { main section#topPrologueSct .filmB { left: -6%; width: 112%; transform: rotate(11.5deg); padding: 8em 12% 6.4em 0; } }
main section#topPrologueSct .filmB img { position: relative; display: block; width: 316%; height: auto; right: 209%; animation-name: scroll2Ani; animation-duration: 40s; animation-fill-mode: backwards; animation-iteration-count: infinite; animation-timing-function: linear; }
@media screen and (max-width: 599px) { main section#topPrologueSct .filmB img { animation-name: scroll2Ani-sp; width: 700%; right: 34%; } }
main section#topSeriesSct { padding: 1em 0 41em; }
@media screen and (max-width: 599px) { main section#topSeriesSct { padding: 1em 0 61em; } }
main section#topSeriesSct .ttlB { position: relative; display: inline-block; padding-right: 6em; margin: 0 0 4em 5%; }
@media screen and (max-width: 599px) { main section#topSeriesSct .ttlB { padding-right: 0; padding-top: 1.5em; margin: 0 0 2em 4%; width: 92%; } }
main section#topSeriesSct .ttlB .ttl { display: block; width: 22em; height: auto; margin-bottom: .7em; }
@media screen and (max-width: 599px) { main section#topSeriesSct .ttlB .ttl { position: relative; z-index: 5; width: 100%; } }
main section#topSeriesSct .ttlB p { display: block; font-size: 80%; line-height: 1.6; letter-spacing: .25em; padding-left: 2.5em; }
@media screen and (max-width: 599px) { main section#topSeriesSct .ttlB p { font-size: 135%; padding: 1em 0 0 6%; width: 96%; } }
main section#topSeriesSct .ttlB .pic { position: absolute; top: 0; right: 0; width: 5em; height: auto; }
@media screen and (max-width: 599px) { main section#topSeriesSct .ttlB .pic { z-index: 1; } }
main section#topSeriesSct .ttlB .pic img { width: 100%; height: auto; }
main section#topSeriesSct .serise { position: absolute; right: -6%; top: 3em; }
@media screen and (max-width: 599px) { main section#topSeriesSct .serise { position: relative; right: inherit; top: inherit; } }
main section#topSeriesSct .serise img { width: 21em; height: auto; }
@media screen and (max-width: 599px) { main section#topSeriesSct .serise img { display: block; width: 80%; margin: 0 auto 2em; } }
main section#topSeriesSct .episodeB { position: relative; padding: 0 5% 2em 6%; display: flex; flex-wrap: wrap; }
@media screen and (max-width: 599px) { main section#topSeriesSct .episodeB { padding: 0 0 2em; } }
main section#topSeriesSct .episodeB li { width: calc(100% / 3); padding-right: 1.5%; margin-bottom: 1.8em; }
@media screen and (max-width: 599px) { main section#topSeriesSct .episodeB li { width: auto; padding: 0 1em; } }
main section#topSeriesSct .episodeB li a { display: block; }
main section#topSeriesSct .episodeB li a.non { pointer-events: none; }
main section#topSeriesSct .episodeB li a img { display: block; width: 100%; height: auto; margin-bottom: .6em; box-shadow: 0.3em 0.3em 0 0 rgba(36, 145, 137, 0.6); }
@media screen and (max-width: 599px) { main section#topSeriesSct .episodeB li a img { margin-bottom: 1em; } }
main section#topSeriesSct .episodeB li a .cp { display: block; text-align: center; font-size: 80%; line-height: 1.4; letter-spacing: .15em; }
@media screen and (max-width: 599px) { main section#topSeriesSct .episodeB li a .cp { font-size: 125%; } }
main section#topSeriesSct .txtE { display: block; margin-left: 59%; font-size: 80%; letter-spacing: .25em; }
@media screen and (max-width: 599px) { main section#topSeriesSct .txtE { margin: 0 auto; text-align: center; font-size: 120%; } }
main section#topFellowSct { background: url("../img/top_bg2.webp") no-repeat center top/100%; top: -17em; margin-bottom: -17em; padding: 13em 6% 11em 10%; }
@media screen and (max-width: 599px) { main section#topFellowSct { background-image: url("../img/top_bg2-sp.webp"); top: -27em; margin-bottom: -27em; padding: 9em 0 8em; } }
main section#topFellowSct .gridBox { grid-template-columns: 44% 38% 18%; display: grid; margin-bottom: 7em; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox { grid-template-columns: 100%; } }
main section#topFellowSct .gridBox .ttl { position: relative; grid-area: 1 / 3 / 4 / 4; padding-top: 2em; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox .ttl { grid-area: 1 / 1 / 2 / 2; padding-top: 0; } }
main section#topFellowSct .gridBox .ttl img { display: block; width: 88%; height: auto; margin-left: 12%; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox .ttl img { margin: 0 auto; } }
main section#topFellowSct .gridBox .ttl .pic { position: absolute; left: 7%; bottom: 5%; width: 5em; height: auto; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox .ttl .pic { z-index: -1; left: inherit; bottom: inherit; top: 6em; right: 27%; width: 6em; } }
main section#topFellowSct .gridBox .ttl .pic img { width: 100%; height: auto; }
main section#topFellowSct .gridBox .ttl .ctb { content: ""; position: absolute; z-index: -1; top: 45%; right: 122%; width: 15em; height: 12em; background: url("../img/top_fellow_character_bg.webp") no-repeat center center/contain; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox .ttl .ctb { top: 22.4em; right: 14%; width: 53%; height: 13.5em; } }
main section#topFellowSct .gridBox .character { position: relative; z-index: 15; grid-area: 2 / 1 / 3 / 3; height: 5.5em; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox .character { grid-area: 2 / 1 / 3 / 2; height: auto; top: -.8em; margin-bottom: -.8em; } }
main section#topFellowSct .gridBox .character .wm { position: absolute; z-index: 25; top: 1em; left: 26.5%; width: 14.8em; height: auto; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox .character .wm { display: none; } }
main section#topFellowSct .gridBox .character .ct { position: absolute; z-index: 20; top: 0; right: 0; width: 22em; height: auto; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox .character .ct { position: relative; display: block; top: inherit; right: inherit; width: 80%; margin: 0 auto; } }
main section#topFellowSct .gridBox .character .ct img { width: 100%; height: auto; }
main section#topFellowSct .gridBox picture { display: block; }
main section#topFellowSct .gridBox .member1 { grid-area: 1 / 1 / 2 / 2; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox .member1 { grid-area: 3 / 1 / 4 / 2; padding-bottom: .5em; } }
main section#topFellowSct .gridBox .member1 .pic { width: 128%; height: auto; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox .member1 .pic { position: relative; left: -3%; width: 100%; } }
main section#topFellowSct .gridBox .member1 .txt { display: block; font-size: 70%; letter-spacing: .15em; line-height: 1.6; padding: .3em 8% 0; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox .member1 .txt { font-size: 130%; letter-spacing: .25em; line-height: 1.8; } }
main section#topFellowSct .gridBox .member2 { grid-area: 1 / 2 / 2 / 3; padding: 1.5em 3% 0 0; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox .member2 { grid-area: 4 / 1 / 5 / 2; padding-bottom: 1em; } }
main section#topFellowSct .gridBox .member2 .pic { width: 100%; height: auto; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox .member2 .pic { position: relative; left: -23%; width: 120%; } }
main section#topFellowSct .gridBox .member2 .txt { display: block; font-size: 70%; letter-spacing: .15em; line-height: 1.6; padding: .8em 8% 0; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox .member2 .txt { font-size: 130%; letter-spacing: .25em; line-height: 1.8; } }
main section#topFellowSct .gridBox .member3 { position: relative; z-index: 10; grid-area: 3 / 1 / 4 / 2; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox .member3 { grid-area: 5 / 1 / 6 / 2; } }
main section#topFellowSct .gridBox .member3 .pic { width: 103%; height: auto; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox .member3 .pic { position: relative; width: 100%; left: 5%; } }
main section#topFellowSct .gridBox .member3 .txt { display: block; font-size: 70%; letter-spacing: .15em; line-height: 1.6; padding: .8em 8% 0; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox .member3 .txt { font-size: 130%; letter-spacing: .25em; line-height: 1.8; } }
main section#topFellowSct .gridBox .member4 { position: relative; z-index: 11; grid-area: 3 / 2 / 4 / 3; padding-top: 4.6em; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox .member4 { grid-area: 6 / 1 / 7 / 2; } }
main section#topFellowSct .gridBox .member4 .pic { position: relative; left: -3%; width: 103%; height: auto; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox .member4 .pic { left: 7%; width: 100%; } }
main section#topFellowSct .gridBox .member4 .txt { display: block; font-size: 70%; letter-spacing: .15em; line-height: 1.6; padding: .8em 8% 0 12%; }
@media screen and (max-width: 599px) { main section#topFellowSct .gridBox .member4 .txt { font-size: 130%; letter-spacing: .25em; line-height: 1.8; } }
main section#topFellowSct .epBox { position: relative; display: block; padding: 6.2em 0 2.5em; margin-bottom: 2em; }
@media screen and (max-width: 599px) { main section#topFellowSct .epBox { padding: 13em 0 3em; margin-bottom: 3em; } }
main section#topFellowSct .epBox .txt2 { position: absolute; z-index: 5; top: 0; left: 3.7%; width: 17.6em; height: auto; }
@media screen and (max-width: 599px) { main section#topFellowSct .epBox .txt2 { left: 1%; width: 22em; } }
main section#topFellowSct .epBox .pic1 { position: relative; z-index: 1; display: block; width: 60%; height: auto; margin: 0 auto; }
@media screen and (max-width: 599px) { main section#topFellowSct .epBox .pic1 { width: 80%; } }
main section#topFellowSct .epBox .txt3 { position: absolute; z-index: 5; bottom: 0; right: 2%; width: 11em; height: auto; }
@media screen and (max-width: 599px) { main section#topFellowSct .epBox .txt3 { width: 15em; right: -2%; } }
main section#topFellowSct .txt4 { display: block; text-align: center; font-weight: 900; }
@media screen and (max-width: 599px) { main section#topFellowSct .txt4 { font-size: 155%; letter-spacing: .15em; } }
main section#topCompanySct { padding: 0 2%; margin-bottom: 1em; }
@media screen and (max-width: 599px) { main section#topCompanySct { padding: 0 4%; } }
main section#topCompanySct .inner { border: 7px solid #000000; border-radius: 3em; padding: 0 6em 3em; background: url("../img/top_company_bg.webp") left top/1em; }
@media screen and (max-width: 599px) { main section#topCompanySct .inner { padding: 0 2% 3em; } }
main section#topCompanySct .inner .bg1 { position: absolute; z-index: 3; top: 1em; left: -3%; width: 82%; }
@media screen and (max-width: 599px) { main section#topCompanySct .inner .bg1 { top: -2.5em; left: -127.5%; width: 250%; } }
main section#topCompanySct .inner .bg1 img { width: 100%; height: auto; }
main section#topCompanySct .inner .bg2 { position: absolute; z-index: 5; top: 18em; left: -3%; width: 78%; }
@media screen and (max-width: 599px) { main section#topCompanySct .inner .bg2 { top: 4em; left: -96%; width: 210%; transform: rotate(10deg); } }
main section#topCompanySct .inner .bg2 img { width: 100%; height: auto; }
main section#topCompanySct .inner .pic3 { position: absolute; z-index: 1; top: 5em; right: -29%; transform: rotate(-9deg); width: 28em; }
@media screen and (max-width: 599px) { main section#topCompanySct .inner .pic3 { top: 71.5em; right: -26%; width: 22em; } }
main section#topCompanySct .inner .pic3 img { width: 100%; height: auto; }
main section#topCompanySct .inner .pic4 { position: absolute; z-index: 2; top: 29em; right: -10%; transform: rotate(-1.8deg); width: 23em; }
@media screen and (max-width: 599px) { main section#topCompanySct .inner .pic4 { top: 74.5em; left: -29%; right: inherit; transform: rotate(6deg); width: 27em; } }
main section#topCompanySct .inner .pic4 img { width: 100%; height: auto; }
main section#topCompanySct .inner .pic1 { position: absolute; z-index: 7; top: 2.5em; left: 54.5%; width: 24.5em; }
@media screen and (max-width: 599px) { main section#topCompanySct .inner .pic1 { top: 33em; left: inherit; right: -16%; width: 20em; } }
main section#topCompanySct .inner .pic1 img { width: 100%; height: auto; }
main section#topCompanySct .inner .pic2 { position: absolute; z-index: 9; top: 20em; left: 54.5%; width: 18.5em; }
@media screen and (max-width: 599px) { main section#topCompanySct .inner .pic2 { top: 35em; left: -20%; width: 23em; } }
main section#topCompanySct .inner .pic2 img { width: 100%; height: auto; }
main section#topCompanySct .inner .txt1 { position: relative; z-index: 100; top: -.5em; left: -22%; margin-bottom: -.5em; display: block; width: 24em; height: auto; }
@media screen and (max-width: 599px) { main section#topCompanySct .inner .txt1 { left: -30.5%; width: 30em; } }
main section#topCompanySct .inner .txt1 img { width: 100%; height: auto; }
main section#topCompanySct .inner .txt2 { position: absolute; z-index: 101; top: 4.7em; left: 24%; display: block; width: 16em; height: auto; }
@media screen and (max-width: 599px) { main section#topCompanySct .inner .txt2 { top: -.3em; left: inherit; right: -8%; width: 17em; } }
main section#topCompanySct .inner .txt3 { position: relative; z-index: 102; display: block; width: 23em; height: auto; margin-bottom: 1em; }
@media screen and (max-width: 599px) { main section#topCompanySct .inner .txt3 { width: 92%; margin: 0 auto 1.5em; } }
main section#topCompanySct .inner .txt4 { position: relative; z-index: 103; display: block; width: 18em; height: auto; margin: 0 0 1.8em 4.5%; }
@media screen and (max-width: 599px) { main section#topCompanySct .inner .txt4 { width: 94%; margin: 0 auto 16em; } }
main section#topCompanySct .inner .inBox { position: relative; z-index: 104; display: inline-block; width: 29em; background: #ffffff; box-shadow: -1em 1em 0 0 rgba(30, 40, 60, 0.6); padding: 2em 3em; font-size: 80%; margin-bottom: 9.5em; }
@media screen and (max-width: 599px) { main section#topCompanySct .inner .inBox { width: 102.5%; font-size: 140%; letter-spacing: .25em; padding: 2em 1.5em; margin-bottom: 16.5em; } }
main section#topCompanySct .inner .txt5 { position: relative; z-index: 105; display: block; width: 33em; height: auto; margin: 0 auto 2.6em; }
@media screen and (max-width: 599px) { main section#topCompanySct .inner .txt5 { width: 80%; margin: 0 auto 3em; } }
main section#topCompanySct .inner .cpPoint { position: relative; margin-bottom: 2em; display: flex; flex-wrap: wrap; justify-content: center; }
@media screen and (max-width: 599px) { main section#topCompanySct .inner .cpPoint { margin-bottom: 2.8em; } }
main section#topCompanySct .inner .cpPoint li { padding: .4em; }
main section#topCompanySct .inner .cpPoint li p { display: block; padding: .1em 2.8em; font-weight: 700; line-height: 1.4; border: 2px solid #000000; box-shadow: 0.3em 0.3em 0 0 rgba(36, 145, 137, 0.6); transform: skewX(-10deg); }
@media screen and (max-width: 599px) { main section#topCompanySct .inner .cpPoint li { max-width: 50%; font-size: 120%; text-align: center; }
  main section#topCompanySct .inner .cpPoint li:nth-child(4) { order: 5; max-width: 100%; }
  main section#topCompanySct .inner .cpPoint li:nth-child(5) { order: 4; }
  main section#topCompanySct .inner .cpPoint li p { padding: .1em 1.5em; } }
main section#topCompanySct .inner .txt6 { display: block; text-align: center; font-weight: 900; margin-bottom: 2em; }
@media screen and (max-width: 599px) { main section#topCompanySct .inner .txt6 { font-size: 135%; margin-bottom: 2.5em; } }
main section#topCompanySct .inner .btn { display: block; text-align: center; }
main section#topCompanySct .inner .btn a { display: inline-block; }
main section#topCompanySct .inner .btn a img { width: 20em; height: auto; }
@media screen and (max-width: 599px) { main section#topCompanySct .inner .btn a img { width: 100%; } }
main section#topProjectSct { padding: 6em 0; }
main section#topProjectSct h3 { position: relative; text-align: center; margin-bottom: 2.5em; }
@media screen and (max-width: 599px) { main section#topProjectSct h3 { margin-bottom: 3.2em; } }
main section#topProjectSct h3 img { display: inline-block; width: 27em; height: auto; }
@media screen and (max-width: 599px) { main section#topProjectSct h3 img { width: 90%; } }
main section#topProjectSct .txt { display: block; text-align: center; font-weight: 700; letter-spacing: .1em; margin-bottom: 4em; }
@media screen and (max-width: 599px) { main section#topProjectSct .txt { width: 84%; margin: 0 auto 3em; text-align: left; font-size: 140%; } }
main section#topProjectSct .year150 { margin: 0 auto; width: 16em; }
@media screen and (max-width: 599px) { main section#topProjectSct .year150 { width: 46%; } }
main section#topProjectSct .year150 img { width: 100%; height: auto; }

@keyframes scrollAni { 0% { right: 174%; }
  100% { right: 1%; } }
@keyframes scrollAni-sp { 0% { right: 288%; }
  100% { right: 15%; } }
@keyframes scroll2Ani { 0% { right: 209%; }
  100% { right: 1%; } }
@keyframes scroll2Ani-sp { 0% { right: 496%; }
  100% { right: 34%; } }
@keyframes moveAc { 0% { transform: rotate(-3deg); }
  50% { transform: rotate(3deg); }
  100% { transform: rotate(-3deg); } }
@keyframes moveAc2 { 0% { top: 0px; }
  60% { top: 0px; }
  70% { top: -2px; }
  80% { top: 2px; }
  90% { top: -2px; }
  100% { top: 0px; } }
@keyframes bomAc1 { 0% { transform: scale(1); }
  83% { transform: scale(1); }
  86% { transform: scale(1.1); }
  89% { transform: scale(1.02); }
  92% { transform: scale(1.13); }
  95% { transform: scale(1); }
  100% { transform: scale(1); } }
@keyframes swing1Ac { 0% { transform: rotate(-3deg); }
  50% { transform: rotate(3deg); }
  100% { transform: rotate(-3deg); } }
@keyframes swing2Ac { 0% { transform: rotate(3deg); }
  50% { transform: rotate(-3deg); }
  100% { transform: rotate(3deg); } }
@keyframes fuwaAc { 0% { top: 0px; }
  50% { top: 5px; }
  100% { top: 0px; } }
#footer { position: relative; padding: 3em 3.5% 2em; background: #f4f4f4 url("../img/top_footer_bg.webp") no-repeat left bottom/contain; }
@media screen and (max-width: 599px) { #footer { background: #f4f4f4 url("../img/top_footer_bg-sp.webp") no-repeat left top/100%; padding: 5.5em 5% 2em; } }
#footer .inner { position: relative; display: flex; justify-content: space-between; align-items: center; margin-bottom: 2em; }
@media screen and (max-width: 599px) { #footer .inner { display: block; } }
#footer .inner .logoB { width: 14em; }
@media screen and (max-width: 599px) { #footer .inner .logoB { display: block; width: 100%; margin: 0 auto .5em; } }
#footer .inner .logoB img { width: 100%; height: auto; }
#footer .inner .ttlB { flex-grow: 2; padding-left: 3%; padding-bottom: .5em; }
@media screen and (max-width: 599px) { #footer .inner .ttlB { padding-left: 5%; margin-bottom: 8em; } }
#footer .inner .ttlB p { font-size: 85%; font-weight: 700; letter-spacing: .25em; }
@media screen and (max-width: 599px) { #footer .inner .ttlB p { font-size: 145%; line-height: 1.5; } }
#footer .inner .fmB { text-align: right; }
@media screen and (max-width: 599px) { #footer .inner .fmB { text-align: center; } }
#footer .inner .fmB a { position: relative; display: block; text-align: right; font-size: 85%; font-weight: 700; padding-right: 1.5em; margin-bottom: .3em; }
@media screen and (max-width: 599px) { #footer .inner .fmB a { font-size: 135%; text-align: center; padding-right: 0; margin-bottom: 1em; } }
#footer .inner .fmB a::after { content: ""; position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 1em; height: 2px; background: #000000; }
@media screen and (max-width: 599px) { #footer .inner .fmB a::after { display: none; } }
#footer .inner .fmB .logo { display: inline-block; width: 8em; height: auto; margin-top: .5em; }
@media screen and (max-width: 599px) { #footer .inner .fmB .logo { width: 50%; margin-top: 1em; } }
#footer .cpr { text-align: center; font-size: 60%; }
@media screen and (max-width: 599px) { #footer .cpr { font-size: 100%; } }
