@charset "UTF-8";
*, *::before, *::after { box-sizing: border-box; }

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

.fnt-NS7 { font-family: "Noto Sans JP", sans-serif; font-weight: 700; }

.fnt-NS9 { font-family: "Noto Sans JP", sans-serif; font-weight: 900; }

.fnt-Mt9i { font-family: "Montserrat", sans-serif; font-optical-sizing: auto; font-weight: 900; font-style: italic; }

.fnt-CCSO { font-family: "cc-smash-open", sans-serif; font-weight: 400; font-style: normal; }

.fnt-s12 { font-size: 75%; }

.fnt-s14 { font-size: 87.5%; }

.fnt-s16 { font-size: 100%; }

.fnt-s18 { font-size: 112.5%; }

.fnt-s20 { font-size: 125%; }

.fnt-s24 { font-size: 150%; }

.fnt-s32 { font-size: 200%; }

.fnt-s40 { font-size: 250%; }

.fnt-s48 { font-size: 300%; }

.fnt-s56 { font-size: 350%; }

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 .3s; }
a:hover, a:active { opacity: .6; }

#cover { width: 100%; height: 100%; position: fixed; background: #ff0000; 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 { 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(1rem); transition: opacity .8s ease-in, transform .8s ease-out; }
.fadeinS.active, .fadein1.active, .fadein2.active, .fadein3.active, .fadein4.active, .fadein5.active, .fadein6.active, .fadeinF.active { opacity: 1; transform: translateY(0); }

#header { position: fixed; z-index: 900; display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 2em 3% 1em; mix-blend-mode: difference; }
@media screen and (max-width: 599px) { #header { overflow: hidden; } }
#header h1 { position: relative; }
@media screen and (max-width: 599px) { #header h1 { display: none; } }
#header h1 span { display: block; text-align: center; font-size: 200%; line-height: .7; }
#header h1 span:first-child { color: #ffe7b8; }
#header h1 span:last-child { color: #ffffff; }
#header nav .gMenu { position: relative; }
@media screen and (max-width: 599px) { #header nav .gMenu { position: fixed; display: block; top: 0; left: 0; width: 100%; margin: 0 auto; z-index: 999; opacity: 0; height: 0; max-height: 0; overflow: hidden; transition: max-height 0s, opacity .4s; }
  #header nav .gMenu.active { opacity: 1; height: 100%; max-height: 100%; background: rgba(255, 255, 255, 0.6); } }
#header nav .gMenu ul { position: relative; display: flex; width: 100%; }
@media screen and (max-width: 599px) { #header nav .gMenu ul { display: block; text-align: center; left: 50%; top: 50%; transform: translateX(-50%) translateY(-70%); } }
#header nav .gMenu ul li { padding: 0 0 0 1.6em; }
@media screen and (max-width: 599px) { #header nav .gMenu ul li { flex: none; width: 100%; padding: 0 0 2em 0; } }
#header nav .gMenu ul li a { display: block; color: #ffe7b8; font-size: 150%; }
@media screen and (max-width: 599px) { #header nav .gMenu ul li a { color: #000000; font-size: 400%; } }
#header nav .menu-trigger { display: none; }
@media screen and (max-width: 599px) { #header nav .menu-trigger { display: inline-block; transition: all .4s; position: fixed; z-index: 9999; width: 3em; height: 1.2em; top: 2.5em; right: 5%; }
  #header nav .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box; position: absolute; width: 100%; height: 3px; background-color: #ffffff; border-radius: 2px; }
  #header nav .menu-trigger span:nth-of-type(1) { top: 0; }
  #header nav .menu-trigger span:nth-of-type(2) { bottom: 0; } }
@media screen and (max-width: 599px) { #header nav .menu-trigger.active span { background-color: #000000; }
  #header nav .menu-trigger.active span:nth-of-type(1) { transform: translateY(0.45em) rotate(-45deg); }
  #header nav .menu-trigger.active span:nth-of-type(2) { transform: translateY(-0.45em) rotate(45deg); } }

main section { position: relative; }
main section#topMainSct { position: 1; background: #ff0000; }
main section#topMainSct .bgPic { display: block; width: 100%; height: auto; }
main section#topMainSct .txtB { position: absolute; left: 9%; top: 50%; transform: translateY(-45%); }
@media screen and (max-width: 599px) { main section#topMainSct .txtB { top: 5em; transform: none; left: 5%; width: 90%; } }
main section#topMainSct .txtB .en { display: block; white-space: nowrap; text-align: center; background: #ff0000; padding: 2em 1.3em 1.3em; }
main section#topMainSct .txtB .en span { display: block; font-size: 750%; line-height: .67; mix-blend-mode: difference; }
main section#topMainSct .txtB .en span:first-child { color: #ffe7b8; }
main section#topMainSct .txtB .en span:last-child { color: #ffffff; }
main section#topMainSct .txtB .jp { display: block; text-align: center; color: #ffffff; }
@media screen and (max-width: 599px) { main section#topMainSct .txtB .jp { margin-bottom: 41em; } }
main section#topMainSct .txtB .topicB { position: relative; padding: 0 7%; text-align: right; }
@media screen and (max-width: 599px) { main section#topMainSct .txtB .topicB { position: absolute; left: 0; bottom: 0; width: 100%; padding: 0 4%; } }
main section#topMainSct .txtB .topicB .head { position: relative; z-index: 0; right: -1em; margin-bottom: -1.3em; display: inline-block; padding: 1.5em .8em 1.7em 1em; background: url("../img/bg_fukidashi.svg") no-repeat center center/contain; font-size: 150%; line-height: 1; }
@media screen and (max-width: 599px) { main section#topMainSct .txtB .topicB .head { font-size: 170%; } }
main section#topMainSct .txtB .topicB .messege { position: relative; z-index: 5; text-align: left; background: #ffffff; width: 100%; max-width: 31vw; padding: .8em 1.3em; border-radius: .8em; line-height: 1.5; }
@media screen and (max-width: 599px) { main section#topMainSct .txtB .topicB .messege { font-size: 125%; max-width: none; } }
main section#topContentsSct { z-index: 2; background: #ffe7b8; }
main section#topContentsSct .mediaSlider { position: relative; top: -4.5em; margin-bottom: -1em; }
main section#topContentsSct .mediaSlider ul li { padding: .3em; }
main section#topContentsSct .mediaSlider ul li a { display: block; background: #ffffff; padding: 1.8em 2em 1em; border-radius: .8em; box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.1); }
main section#topContentsSct .mediaSlider ul li .hash { display: block; margin-bottom: .2em; }
main section#topContentsSct .mediaSlider ul li .ttl { display: block; font-weight: 700; line-height: 1.3; margin-bottom: .4em; }
main section#topContentsSct .mediaSlider ul li .txt { display: block; font-size: 80%; line-height: 1.4; margin-bottom: .8em; }
main section#topContentsSct .mediaSlider ul li img { display: block; width: 100%; height: auto; margin: .8em 0; }
main section#topContentsSct .mediaSlider ul li .date { display: block; text-align: center; }
main section#topContentsSct .mediaSlider ul li.slick-slide a { transform: scale(0.8); transition: all 1s; }
main section#topContentsSct .mediaSlider ul li.slick-current a { transform: scale(1); transition: all 1s; }
main section#topContentsSct .mediaSlider .prev { position: absolute; z-index: 50; left: 5vw; top: 40%; cursor: pointer; width: 3em; height: 3em; padding: .4em; background: #000000; border-radius: 50%; box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.3); }
main section#topContentsSct .mediaSlider .prev img { display: block; width: 100%; height: auto; }
main section#topContentsSct .mediaSlider .prev:hover { background: #ff0000; }
main section#topContentsSct .mediaSlider .next { position: absolute; z-index: 50; right: 5vw; top: 40%; cursor: pointer; width: 3em; height: 3em; padding: .4em; background: #000000; border-radius: 50%; box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.3); }
main section#topContentsSct .mediaSlider .next img { display: block; width: 100%; height: auto; }
main section#topContentsSct .mediaSlider .next:hover { background: #ff0000; }
main section#topContentsSct .check { display: block; padding-top: 1.8em; text-align: center; }
@media screen and (max-width: 599px) { main section#topContentsSct .check { font-size: 150%; } }
main section#topContentsSct .inner { position: relative; margin: 0 5%; padding-bottom: 5em; background: url("../img/icn_line.svg") repeat-x left bottom/auto 6px; display: flex; }
@media screen and (max-width: 599px) { main section#topContentsSct .inner { margin: 0; display: block; } }
main section#topContentsSct .inner .imgB { position: relative; width: 52%; }
@media screen and (max-width: 599px) { main section#topContentsSct .inner .imgB { position: absolute; width: 100%; top: 6em; left: 0; } }
main section#topContentsSct .inner .imgB img { width: 100%; height: auto; }
main section#topContentsSct .inner .imgB .head { position: absolute; top: 2.4em; left: 0; width: 90%; text-align: center; font-weight: 700; letter-spacing: .05em; line-height: 1.2; }
@media screen and (max-width: 599px) { main section#topContentsSct .inner .imgB .head { top: 2.2em; width: 99%; font-size: 200%; } }
main section#topContentsSct .inner .imgB .head span { display: inline-block; font-size: 200%; letter-spacing: .02em; }
main section#topContentsSct .inner .txtB { position: relative; width: 48%; padding: 1em 0 1em 4%; }
@media screen and (max-width: 599px) { main section#topContentsSct .inner .txtB { width: 100%; padding: 3em 5% 1em; } }
main section#topContentsSct .inner .txtB .ttl { display: block; margin-bottom: .5em; }
@media screen and (max-width: 599px) { main section#topContentsSct .inner .txtB .ttl { text-align: center; margin-bottom: 12.5em; } }
main section#topContentsSct .inner .txtB .txt { display: block; line-height: 1.5; padding-right: 5em; margin-bottom: 3em; }
@media screen and (max-width: 599px) { main section#topContentsSct .inner .txtB .txt { font-size: 150%; padding: 0 3%; margin-bottom: 4em; } }
main section#topContentsSct .inner .txtB .btn { position: relative; display: flex; justify-content: space-between; }
@media screen and (max-width: 599px) { main section#topContentsSct .inner .txtB .btn { padding: 0 3%; justify-content: center; flex-wrap: wrap; } }
main section#topContentsSct .inner .txtB .btn a { display: inline-block; background: #ffffff url("../img/icn_lens.svg") no-repeat 93% center/auto 70%; width: 16.6em; font-weight: 700; padding: .7em 1em .7em 0; border-radius: .8em; text-align: center; }
@media screen and (max-width: 599px) { main section#topContentsSct .inner .txtB .btn a { width: 84%; font-size: 175%; margin-bottom: 1em; } }
main section#topContentsSct .inner .txtB .btn a span { display: inline-block; }
main section#topContentsSct .inner .txtB .btn a span::before { content: "▶︎"; font-size: 90%; color: #0021e0; }
main section#topProfileSct { background: #ffe7b8; padding: 7em 5%; display: flex; justify-content: space-between; }
@media screen and (max-width: 599px) { main section#topProfileSct { display: block; padding: 7em 0 12em; } }
main section#topProfileSct .picB { position: relative; width: 52%; padding: 1em .5em; }
@media screen and (max-width: 599px) { main section#topProfileSct .picB { position: absolute; top: inherit; left: 0; width: 100%; padding: 1em 6% 6em; margin-top: 8em; } }
main section#topProfileSct .picB .pic { position: relative; display: block; object-fit: cover; object-position: center top; width: 51%; height: 27.5vw; overflow: hidden; border-radius: .8em; box-shadow: 1px 1px 8px 1px rgba(0, 0, 0, 0.3); }
@media screen and (max-width: 599px) { main section#topProfileSct .picB .pic { width: 100%; height: 130vw; } }
main section#topProfileSct .picB .name { position: absolute; top: 2em; right: 2%; width: 52%; height: auto; }
@media screen and (max-width: 599px) { main section#topProfileSct .picB .name { top: inherit; right: inherit; bottom: 0; left: 1%; width: 77%; } }
main section#topProfileSct .picB .name img { width: 100%; height: auto; }
main section#topProfileSct .picB .en { position: absolute; right: 0; top: 18em; }
@media screen and (max-width: 599px) { main section#topProfileSct .picB .en { top: inherit; bottom: 3.7em; right: 2%; } }
main section#topProfileSct .picB .en span { display: block; text-align: center; color: #ff0000; font-size: 320%; line-height: .7; }
@media screen and (max-width: 599px) { main section#topProfileSct .picB .en span { font-size: 436%; } }
main section#topProfileSct .txtB { width: 42%; }
@media screen and (max-width: 599px) { main section#topProfileSct .txtB { width: 100%; padding: 0 8%; } }
main section#topProfileSct .txtB .ttl { display: block; margin-bottom: .2em; }
@media screen and (max-width: 599px) { main section#topProfileSct .txtB .ttl { text-align: center; margin-bottom: 19em; } }
main section#topProfileSct .txtB .list li { display: flex; align-items: center; padding-bottom: .3em; }
@media screen and (max-width: 599px) { main section#topProfileSct .txtB .list li { padding-bottom: 1em; } }
main section#topProfileSct .txtB .list li .year { padding-right: 1em; white-space: nowrap; }
@media screen and (max-width: 599px) { main section#topProfileSct .txtB .list li .year { font-size: 250%; padding-right: .6em; } }
main section#topProfileSct .txtB .list li .txt { position: relative; line-height: 1.5; padding-left: 1em; }
@media screen and (max-width: 599px) { main section#topProfileSct .txtB .list li .txt { font-size: 150%; line-height: 1.4; } }
main section#topProfileSct .txtB .list li .txt::before { content: "▶︎"; font-size: 90%; position: absolute; left: 0; top: 0; }
main section#topSnsSct { z-index: 5; background: #000000 url("../img/top_sns_pic.webp") no-repeat right bottom/auto 95%; color: #ffffff; padding: 6em 0 7em; }
@media screen and (max-width: 599px) { main section#topSnsSct { padding: 13.5em 0 26em; background-size: 70% auto; } }
main section#topSnsSct .ttl { text-align: center; margin-bottom: .2em; }
@media screen and (max-width: 599px) { main section#topSnsSct .ttl { margin-bottom: 1em; } }
main section#topSnsSct .btn { position: relative; text-align: center; }
@media screen and (max-width: 599px) { main section#topSnsSct .btn { padding: 0 7%; } }
main section#topSnsSct .btn a { display: inline-block; background: #ffffff url("../img/icn_lens.svg") no-repeat 93% center/auto 70%; width: 19em; font-weight: 700; padding: .9em 0 .7em 0; border-radius: .8em; text-align: center; }
@media screen and (max-width: 599px) { main section#topSnsSct .btn a { width: 84%; font-size: 175%; } }
main section#topSnsSct .btn a span { display: inline-block; line-height: 1.2; }
main section#topSnsSct .btn a span::before { content: ""; position: absolute; left: 50%; top: 50%; transform: translateX(-3.8em) translateY(-50%); width: 1.4em; height: 1.4em; background: url("../img/icn_insta.webp") no-repeat center center/contain; }
main section#topContactSct { padding: 4.5em 0 5em; background: #ffe7b8; text-align: center; }
@media screen and (max-width: 599px) { main section#topContactSct { padding: 5.5em 0 6em; } }
@media screen and (max-width: 599px) { main section#topContactSct .ttl { margin-bottom: .5em; } }
main section#topContactSct .txt { display: block; margin-bottom: 2em; }
@media screen and (max-width: 599px) { main section#topContactSct .txt { font-size: 150%; margin-bottom: 1.8em; } }
main section#topContactSct .btn { position: relative; text-align: center; }
@media screen and (max-width: 599px) { main section#topContactSct .btn { padding: 0 7%; } }
main section#topContactSct .btn a { display: inline-block; background: #ffffff url("../img/icn_lens.svg") no-repeat 93% center/auto 70%; width: 18em; font-weight: 700; padding: .7em 1em .7em 0; border-radius: .8em; text-align: center; }
@media screen and (max-width: 599px) { main section#topContactSct .btn a { width: 84%; font-size: 175%; } }
main section#topContactSct .btn a span { display: inline-block; }
main section#topContactSct .btn a span::before { content: "▶︎"; font-size: 90%; color: #0021e0; }
main .illst { position: absolute; z-index: 10; mix-blend-mode: difference; left: 10%; margin-top: 5em; width: 20vw; height: auto; }
@media screen and (max-width: 599px) { main .illst { left: 25%; margin-top: -4em; width: 50%; } }
main .illst img { width: 100%; height: auto; }

#footer { position: relative; padding: 6em 7%; background: #000000 url("../img/top_footer_pic.webp") no-repeat 42% 1.2em/42vw; color: #ffffff; }
@media screen and (max-width: 599px) { #footer { padding: 6em 7% 3em; background-size: 93%; background-position: -5em bottom; } }
#footer .inner { display: flex; justify-content: space-between; flex-wrap: wrap; }
@media screen and (max-width: 599px) { #footer .inner { display: block; } }
#footer .inner .site { order: 1; width: 50%; margin-bottom: 3em; }
@media screen and (max-width: 599px) { #footer .inner .site { width: 100%; } }
#footer .inner .site .title { display: inline-block; }
@media screen and (max-width: 599px) { #footer .inner .site .title { display: block; } }
#footer .inner .site .title .en { display: block; text-align: center; font-size: 500%; line-height: .7; }
@media screen and (max-width: 599px) { #footer .inner .site .title .en { font-size: 760%; } }
#footer .inner .site .title .en:first-child { color: #ffe7b8; }
#footer .inner .site .title .en:last-child { color: #ffffff; }
#footer .inner .site .title .jp { display: block; text-align: center; font-weight: 700; padding-top: 1em; }
@media screen and (max-width: 599px) { #footer .inner .site .title .jp { font-size: 150%; } }
#footer .inner .menu { order: 2; width: 50%; text-align: right; margin-bottom: 1em; }
@media screen and (max-width: 599px) { #footer .inner .menu { width: 100%; font-size: 300%; margin-bottom: .5em; } }
#footer .inner .menu ul { display: inline-block; }
#footer .inner .menu ul li { text-align: center; margin-bottom: .1em; }
#footer .inner .menu ul li a { color: #ffe7b8; }
#footer .inner .sns { order: 4; width: 50%; text-align: right; padding: 3em 2% 0 0; }
@media screen and (max-width: 599px) { #footer .inner .sns { width: 100%; padding: 1em 2% 3em 0; } }
#footer .inner .sns a { display: inline-block; width: 3em; }
@media screen and (max-width: 599px) { #footer .inner .sns a { width: 5em; } }
#footer .inner .sns a img { width: 100%; height: auto; }
#footer .inner .cpr { order: 3; width: 50%; padding-left: 2%; }
@media screen and (max-width: 599px) { #footer .inner .cpr { width: 100%; padding-left: 0; text-align: center; } }
