@charset "utf-8";

/* var */
:root {
  --c_black: #000000;
  --c_gray: #eeeeee;
  --c_thumb: #f4f4f4;
  --c_white: #ffffff;
  --c_purple: #3E1485;
  --c_red: #e60012;
  --w_line: 1px;
  --w_content: 68.6%;
  --w_side: 31.4%;
  --f_base: "Noto Sans","Noto Sans JP",sans-serif;
  --f_title: "Noto Sans","Noto Sans JP",sans-serif;
  }

/* reset */
* { padding: 0; margin: 0; box-sizing: border-box; }
table { border-collapse: collapse; border-spacing: 0; }
fieldset, img { border: 0; }
address, caption, cite, code, dfn, var { font-style: normal; }
ol, ul { list-style: none; padding:0; margin:0; }
caption, th { text-align: left; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: 500; }
q:before, q:after { content: ''; }
section, article { display: block; }
html,body { overscroll-behavior: none; }
input, textarea, select { display: block; margin: 0; padding: 0; width: auto; border: none; border-radius: 0; -webkit-appearance: none; }
form { margin:0; padding:0; border:0; font-style:normal; font-weight:normal; vertical-align:baseline;}

/* iOS reset */
input[type=text] { border:none; -webkit-border-radius : 0; -webkit-appearance : none; -webkit-tap-highlight-color : var(--c_black); }
input[type="submit"],
input[type="button"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; appearance: button; border: none; box-sizing: border-box; cursor: pointer; }
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration { display: none; }
input[type="submit"]::focus,input[type="button"]::focus { outline-offset: -0.15em; }
select { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; background: transparent; }
button,input[type="submit"] { -webkit-appearance: none; -moz-appearance: none; appearance: none; padding: 0; border: none; background: transparent; }
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration { display: none; }

/* base */
html { position: relative; -webkit-text-size-adjust: 100%; }
body {
  position: relative; -webkit-font-smoothing: antialiased; -webkit-font-feature-settings: 'palt'; font-feature-settings: 'palt';
  word-wrap : break-word; overflow-wrap : break-word; font-kerning: normal; -webkit-font-kerning: normal;
  font-family: var(--f_base);
  line-height: 1.5; letter-spacing: .05em; font-weight: 400;
  background-color: var(--c_white); color: var(--c_black);
  box-sizing: border-box; padding: 0; margin: 0; }
img { vertical-align: bottom; height: auto; max-width: 100%; user-select: none; -webkit-user-select: none; }
::selection { background: var(--c_purple); color: var(--c_white); }
::-moz-selection { background: var(--c_purple); color: var(--c_white); }

@media (prefers-reduced-motion: no-preference) {
  body:not(.home) main { animation: fadeIn 1s ease 0s 1 both; }
}
@keyframes fadeIn { 0% { opacity: 0 } 100% { opacity: 1 } }

/* link */
a[href] { cursor: pointer !important; }
.l-wrap a, .l-wrap h3>span, .l-events__status { transition: background-color .1s ease-in-out, color .1s ease-in-out, border-color .1s ease-in-out; text-decoration: none; }
.l-wrap a:link,.l-wrap a:hover,.l-wrap a:active,.l-wrap a:visited { color:var(--c_purple); font-weight: 500; }

/* u */
.u-pc { display:inline; }
.u-sp { display:none; }
.u-br-pc { display:block; }
.u-br-sp { display:none; }
.u-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); clip-path: inset(50%); border: 0; white-space: nowrap; }
.u-sr-only:focus,
.u-sr-only:focus-visible { position: fixed; top: 8px; left: 8px; width: auto; height: auto; margin: 0; padding: .6em .9em; clip: auto; clip-path: none; white-space: normal; z-index: 10; background: var(--c_purple); color: var(--c_white); border-radius: .25rem; box-shadow: 0 0 0 3px var(--c_white), 0 0 0 5px var(--c_purple); text-decoration: none; font-weight: 500; }
:focus-visible { outline: 2px solid var(--c_purple); outline-offset: 2px; }

/* c */
.c-banner a { display:flex; justify-content: center; align-items: center; border: solid 1px var(--c_purple) }
.c-banner a img { width:100%; }
.c-banner--text a { width:100%; border:solid 1px var(--c_purple); aspect-ratio: 1.91 / 1; display:flex; justify-content: center; align-items: center; background-color: var(--c_dgray); }
.c-banner--text a:hover { background-color: var(--c_purple); color:var(--c_white); }
.c-banner--img a { width:100%; aspect-ratio: 1.91 / 1; display:flex; justify-content: center; align-items: center; }
.c-banner--img a img.cover { object-fit: cover; width:100%; height:100%; }
.c-banner--img a img.contein { object-fit: contein; width:100%; height:100%; }

/* l-wrap */
.l-wrap { position: relative; min-width: 1024px; margin:auto; }
.l-alert,
.l-cover { max-width:none; margin:auto; }
.l-main,
.l-footer { max-width:1440px; margin:auto; }

/* l-alert */
.l-alert { padding:0; position: relative; margin:0.5rem 0 2.5rem 0; }
.l-alert h2 { font-size: 1.2em; line-height: 1; background-color: var(--c_red); color:var(--c_white); text-align: center; padding:.5em; }
.l-alert .l-alert__entrybody { display: block; font-size: 1em; line-height: 1.5; padding:1.5em; color:var(--c_black) !important; border-left:solid 1px var(--c_red); border-right: solid 1px var(--c_red); border-bottom: solid 1px var(--c_red); }
.l-alert .l-alert__entrybody h1 { font-size: 1.4em; line-height: 1.5; font-weight: 500; margin:0.5em 0; }
.l-alert .l-alert__entrybody h2 { font-size: 1.3em; line-height: 1.5; font-weight: 500; margin:0.5em 0; }
.l-alert .l-alert__entrybody h3 { font-size: 1.2em; line-height: 1.5; font-weight: 500; margin:0.5em 0; }
.l-alert .l-alert__entrybody h4 { font-size: 1.1em; line-height: 1.5; font-weight: 500; margin:0.5em 0; }
.l-alert .l-alert__entrybody h5 { font-size: 1em; line-height: 1.5; font-weight: 500; margin:0.5em 0; }
.l-alert .l-alert__entrybody h6 { font-size: 1em; line-height: 1.5; font-weight: 500; margin:0.5em 0; }
.l-alert .l-alert__entrybody p { font-size: 1em; line-height: 1.6; margin: 0.75em 0; text-align: justify; }
.l-alert .l-alert__entrybody>*:first-child { margin-top: 0; }
.l-alert .l-alert__entrybody>*:last-child { margin-bottom: 0; }
.l-alert .l-alert__entrybody a:hover { background-color: var(--c_purple); color:var(--c_white); }

/* l-cover */
.l-cover { padding:1rem; position: relative; margin:0 0 4.75rem 0; opacity: 0; transition: none; }
.l-cover__item { width:100%; height:calc(100vh - 7rem); display: block; overflow: hidden; }
.l-cover__item img { object-fit: cover; width:100%; height:100%; display: block; }
.l-cover__title { position: absolute; left:1rem; right:1rem; bottom:-2rem; margin:auto; max-width: 1440px; }
.l-cover__title .l-cover__scroll { content:""; width:1.25rem; height:1.25rem; position: absolute; left:0; right:0; bottom:-2rem; border-right:solid var(--w_line) var(--c_purple); border-bottom: solid var(--w_line) var(--c_purple); rotate: 45deg; margin:auto; }

/* l-header */
.l-header { display:flex; justify-content: space-between; align-items: center; width: 100%; margin:auto; padding:1.35rem 4rem; position: sticky; top:0; background-color: #fff; transition: transform .25s ease, opacity .25s ease; will-change: transform; z-index: 10; }
.l-header:target { outline: none; }
.l-header.is-hidden { transform: translateY(-100%); pointer-events: none; }
@media screen and (min-width: 1561px) {
  .l-header { padding: 1.25rem calc( (( 100vw - 1440px ) / 2) ); }
}
.l-header__left { width:6.5%; }
.l-header__left .l-header__logo { margin:0; padding:0; }
.l-header__right { width:var(--w_content); display: flex; flex-direction: column; gap:1em 0; }
.l-header__nav--global>ul { width:100%; display:flex; justify-content: space-between; }
.l-header__nav--global>ul>li { position:relative; font-family:var(--f_title); font-size:1.05em; line-height:1; font-weight:500; }
.l-header__nav--global>ul>li.is-current>a { background-color:var(--c_purple); color:var(--c_white); }
.l-header__nav--global>ul>li>ul { display:none; position:absolute; top:110%; left:0; padding-top:0.5em; flex-direction:column; width:auto; min-width:unset; white-space:nowrap; z-index:10; }
.l-header__nav--global>ul>li:nth-child(6)>ul { left:auto; right:0; }
.l-header__nav--global>ul>li:nth-child(7)>ul { left:auto; right:0; }
.l-header__nav--global>ul>li>ul>li { font-size:0.65em; line-height:1.5; display:inline-block; width:auto; white-space:nowrap; border: 1px solid var(--c_purple); border-bottom: none; }
.l-header__nav--global>ul>li>ul>li:last-child { border-bottom: 1px solid var(--c_purple); }
.l-header__nav--global>ul>li>ul>li a { padding:0.5em 1em; display:block; color:inherit; text-decoration:none; background-color: var(--c_white); }
.l-header__nav--global>ul>li>ul>li a:hover { background-color:var(--c_purple); color:var(--c_white); }
.l-header__nav--global>ul>li:hover>ul { display:flex; }
.l-header__nav--sub ul { display:flex; justify-content: flex-end; align-items: center; gap: 0 1.25em; }
.l-header__nav--sub li { font-family: var(--f_title); font-size: 1em; line-height: 1; font-weight: 500; }
.l-header__nav--sub li.l-header__kikin a { padding:0 2em; border:solid 1px var(--c_purple); }
.l-header__nav--sub li.l-header__lang { font-family: var(--f_base); display:flex; align-items: stretch; }
.l-header__nav--sub li.l-header__lang a { display:flex; align-items: center; padding:0.25em 1em; border: solid 1px var(--c_purple); }
.l-header__nav--sub li.l-header__lang a[lang="ja"] { font-size: .85rem; line-height: 1; font-family: "Noto Sans JP",sans-serif; background-color: var(--c_white); color:var(--c_purple); }
.l-header__nav--sub li.l-header__lang a[lang="en"] { font-size: .75rem; line-height: 1; }
.l-header__nav--sub li.is-current a { background-color: var(--c_purple); color:var(--c_white); }
.l-header__nav--sub li.l-header__lang.is-current a { background-color: var(--c_white); color:var(--c_purple); }
.l-header__nav--sub li.l-header__lang a:hover { background-color: var(--c_purple); color:var(--c_white); }
:lang(ja) .l-header__nav--sub li.l-header__lang .l-header__lang-link--ja,
:lang(en) .l-header__nav--sub li.l-header__lang .l-header__lang-link--en { background-color: var(--c_purple); color:var(--c_white); }
.l-header__nav--user .l-header__nav-inner { display: flex; justify-content: space-between; align-items: stretch; position: relative; }
.l-header__nav--user ul { width: 100%; display:flex; justify-content: space-between; }
.l-header__nav--user li { flex: auto; font-family: var(--f_title); font-size: 1.1em; line-height: 1; font-weight: 500; text-align: center; padding:0; border-left:solid var(--w_line) var(--c_purple); }
.l-header__nav--user li:last-child { border-right:solid var(--w_line) var(--c_purple); }
.l-header__nav--user li a { display:block; padding:0.25em 0; white-space: nowrap; }
.l-header__nav--user li.is-current a,
.l-header__nav--user li.is-current:hover a { background-color:var(--c_gray); color:var(--c_purple); }
.l-header__nav--user li:hover a { background-color:var(--c_purple); color:var(--c_white); }
.l-header__nav--user .l-header__search { display:flex; justify-content: flex-end; align-items: center; width:3.5rem; }
.l-header__nav--user .l-header__search #pc_search_keyword { border:none !important; font-family: var(--f_base); position: absolute; top: -0.1rem; right: 3.2rem; width: 0; opacity: 1; padding: .35em 0; font-size: .9em; letter-spacing: .05em; font-weight: 500; line-height: 1; color: var(--c_purple); background-color: var(--c_gray); box-shadow: none; border-color: inherit; transform: translateX(0); transition: width .5s; outline: none; border-radius: 0; }
.l-header__nav--user .l-header__search.is-active #pc_search_keyword { width:calc(100% - 3.2rem ); opacity: 1; padding: .35em .75em; }
.l-header__nav--user .l-header__search #pc_search_keyword::placeholder { font-family: var(--f_base); font-size: .9em; font-weight: 500; line-height: 1; letter-spacing: .05em; color: var(--c_purple); opacity: .5; }
.l-header__nav--user .l-header__search button { width:1.5em; }
.l-header__nav--user .l-header__search form { margin-top:-0.25em; }
.l-header__nav--user .l-header__search label { font-size: 1px; line-height: 1; }
.l-header__nav li a { color: var(--c_purple); }
.l-header__nav li a:hover { background-color:var(--c_purple); color:var(--c_white); text-decoration: none; }
.l-header ul,
.l-header li,
.l-header form { margin:0; }

/* l-notebook */
.l-notebook { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; padding: 1.5rem 2rem; border:solid 1px var(--c_gray); background-color: var(--c_gray); aspect-ratio: 1.91 / 1; }
.l-notebook .l-notebook__thumb { width: 33%; }
.l-notebook .l-notebook__list { width: 50%; }
.l-notebook .l-notebook__list .l-notebook__item { font-size: .75em; line-height: 1.5; color: var(--c_purple); }
.l-notebook .l-notebook__list .l-notebook__item span { font-size: 1.5em; }
.l-notebook .l-notebook__list .l-notebook__item:first-child { margin-bottom: 1rem; }
.l-notebook a { display: inline; border:none; aspect-ratio: auto; }

/* l-main */
.l-main { width: calc(100% - 8rem); margin: 0 auto 3rem auto; }

/* l-hero */
.l-hero { margin:2.5rem 0; }
.l-hero__list { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 2.5rem 2.5rem; }
.l-hero__item:nth-child(1) { grid-column: 1 / span 2; grid-row: 1 / span 2; }
.l-hero__item:nth-child(2) { grid-area: r1; grid-column: 3; grid-row: 1; }
.l-hero__item:nth-child(3) { grid-area: r2; grid-column: 3; grid-row: 2; }
.l-hero__item:nth-child(4) { grid-area: b1; grid-column: 1; grid-row: 3; }
.l-hero__item:nth-child(5) { grid-area: b2; grid-column: 2; grid-row: 3; }
.l-hero__item:nth-child(6) { grid-area: b3; grid-column: 3; grid-row: 3; }

.c-banner--rr { font-family: "Montserrat","Noto Sans","Noto Sans JP",sans-serif; }
.c-banner--rr .c-banner__link { color: var(--c_black) !important; display: flex; justify-content: space-between; align-items: flex-start; position: relative; }
.l-hero__col--left { width: 40%; height:100%; aspect-ratio: 4/5; }
.l-hero__col--right { width: 60%; padding: 3.5rem 2rem 0 3.5rem; display:flex; flex-direction: column; justify-content: flex-start; }
.l-hero__col--right::before { content: ""; position: absolute; bottom: 0; right: 0; width: 3rem; height: 3rem; border-top: 1px solid var(--c_purple); border-left: 1px solid var(--c_purple); transition: background-color .1s ease-in-out, color .1s ease-in-out, border-color .1s ease-in-out; }
.l-hero__col--right::after { content: ""; position: absolute; bottom: 0.75rem; right: 1rem; width: 0.75rem; height: 0.75rem; border-right: 1px solid var(--c_purple); border-bottom: 1px solid var(--c_purple); transform: translate(-50%, -50%) rotate(-45deg); transition: background-color .1s ease-in-out, color .1s ease-in-out, border-color .1s ease-in-out; }
.c-banner--rr .c-banner__link { height:100%; }
.c-banner--rr .l-hero__thumb { height:100%; }
.c-banner--rr .l-hero__thumb img { object-fit: cover; width:100%; height:100%; }
.c-banner--rr .c-banner__link:hover .l-hero__col--right::before { background-color: var(--c_purple); }
.c-banner--rr .c-banner__link:hover .l-hero__col--right::after { border-right: 1px solid var(--c_white); border-bottom: 1px solid var(--c_white); }
.l-hero__title { font-size: 1.75em; line-height: 1; font-weight: 300; }
.l-hero__lead { font-size: 3em; line-height: 1; margin: .5em 0; font-weight: 200; }
html[lang="ja"] .l-hero__lead { font-weight: 100; line-height: 1.1; margin: .5em 0 .25em 0; font-variation-settings: 'wght' 100; }
.l-hero__name { font-size: 1.75em; line-height: 1; margin: .5em 0; font-weight: 300; }
.l-hero__name--ja { font-size: 1.75em; font-weight: 100; margin:0.5em 0 0.75em 0; }
.l-hero__role { font-size: 0.9em; line-height: 1.4; margin: .5em 0 0 0; font-weight: 400; }
.l-hero__role--ja { font-size: 0.9em; line-height: 1.5; font-weight: 300; margin-top:0.75em; font-variation-settings: 'wght' 350; }
.c-banner--rr { --fade-duration: 900ms; --slide-duration: 4500ms; --easing: ease; position: relative; }
.c-banner--rr>div { position: absolute; inset: 0; opacity: 0; transition: opacity var(--fade-duration) var(--easing); pointer-events: none; }
.c-banner--rr>div.is-active { opacity: 1; pointer-events: auto; z-index: 2; }
.c-banner--rr { height: auto; }

@media (prefers-reduced-motion: reduce) {
  .c-banner--rr>div { transition: none; }
}

/* l-carousel */
.l-main__section--carousel { margin:2.5rem 0; }
.l-main__section--carousel .l-carousel { width: 100%; display:flex; flex-wrap: wrap; gap: 2.5rem 2.5rem; margin:0 0 2.5rem 0; }
.l-main__section--carousel .l-carousel.splide__list { flex-wrap: nowrap; gap: 0; }
.l-main__section--carousel .l-carousel .c-banner { width: calc((100% - (2 * 2.5rem)) / 3); }

/* l-main__section */
.l-main__section--carousel,
.l-main__section--featured,
.l-main__section--events,
.l-main__section--jobs,
.l-main__grid { border-bottom:solid 1px var(--c_purple); margin:0 0 3rem 0; padding:0 0 4rem 0; width: 100%; }
.l-main__grid--2col { display:flex; justify-content: space-between; }
.l-main__section--news { flex: 1; padding:0 3rem 0 0; border-right:solid 1px var(--c_purple); }
.l-main__section--press { flex: 1; padding: 0 0 0 3rem; }
.l-main__section--jobs { display:flex; justify-content: space-between; }
.l-main__section--jobs .l-main__section-header { width: 25%; padding-right: 2.75rem; align-items: start; }
.l-main__section-header { display:flex; align-items: center; margin:0 0 2.5em 0; }
.l-main__title { font-family: var(--f_title); font-size: 1.5em; color: var(--c_purple); line-height: 1; font-weight: 500; }
.l-main__cat ul { display:flex; justify-content: space-between; align-items: center; margin:0 0 0 2em; }
.l-main__cat li a { display: block; font-size: 1em; line-height: 1; padding:0 .75em; border-left:solid 1px var(--c_purple); }
.l-main__cat li:last-child a { border-right:solid 1px var(--c_purple); }
.l-main__cat li a:hover { background-color: var(--c_purple); color:var(--c_white); }
.l-main__more { font-size: .95em;  margin: 0 0 0 auto; }
.l-main__more a:hover { background-color: var(--c_purple); color:var(--c_white); }

/* l-news--featured */
.l-news { display:flex; flex-wrap: wrap; justify-content: flex-start; gap:3.5rem 1.5rem; }
.l-news__item { width:calc(50% - .75rem); display:flex; flex-direction: column; justify-content: space-between; }
.l-news__title { font-size: 1.05em; line-height: 1.5; margin:0.75em 0 .75em 0; }
.l-news__text { color:var(--c_black); font-size: 0.85em; line-height: 1.5; margin:0.5em 0 1em 0; }
.l-news__item a:hover .l-news__title .l-news__title__wrap { background-color: var(--c_purple); color:var(--c_white); }
.l-news__thumb { width:100%; aspect-ratio: 1.91 / 1; background-color: var(--c_thumb); }
.l-news__thumb img { object-fit: cover; width:100%; height:100%; mix-blend-mode: darken; }
.l-news__meta { display:flex; align-items: center; gap:0 1em; font-size: .75em; line-height: 1;  }
.l-news__meta .l-news__date { color: var(--c_black); }
.l-news__meta .l-news__category a:hover { background-color: var(--c_purple); color:var(--c_white); }

/* l-news--featured */
.l-news--featured.l-news { display:flex; gap:0 2.5rem; padding:0; margin:0; }
.l-news--featured.l-news.splide__list { flex-wrap: nowrap; gap: 0; }
.l-news--featured .l-news__item { max-width:calc((100% - (2 * 2.5rem)) / 3); display:flex; flex-direction: column; justify-content: space-between; }
.l-news--featured .l-news__thumb { width:100%; aspect-ratio: 1.91 / 1; }
.l-news--featured .l-news__thumb img { object-fit: cover; width:100%; height:100%; }
.l-news--featured .l-news__title { font-size: 1.15em; line-height: 1.5; margin:0.75em 0 0.75em 0; }
.l-news--featured .l-news__title .l-news__status { float: right; margin:0.15em 0 0 2em; font-size: 0.75em; line-height: 1; padding:0.25em; white-space: nowrap; background-color: var(--c_purple); color:var(--c_white); align-self: self-start; }
.l-news--featured .l-news__text { color:var(--c_black); font-size: .9em; line-height: 1.5; margin: .5em 0 1em 0; }
.l-news--featured .l-news__item a:hover .l-news__title .l-news__title__wrap { background-color: var(--c_purple); color:var(--c_white); }
.l-news--featured .l-news__meta { display:flex; align-items: center; gap:0 1em; font-size: .85em; line-height: 1; }
.l-news--featured .l-news__meta .l-news__date { color:var(--c_black); }
.l-news--featured .l-news__meta .l-news__category a:hover { background-color: var(--c_purple); color:var(--c_white); }

/* l-events */
.l-events { display:flex; gap:0 1.5rem; }
.l-events.splide__list { flex-wrap:nowrap; gap:0; }
.l-events__item { max-width: calc((100% - (4 * 1.5rem)) / 5); }
.l-events.splide__list .l-events__item { flex:none; width:100%; }
.l-events__item a { position: relative; padding: 1.25em; display:flex; flex-direction: column; height:100%; border:solid 1px var(--c_gray); background-color:var(--c_gray); }
.l-events__item:hover a { border: solid 1px var(--c_purple); background-color: var(--c_purple); color:var(--c_white); }
.l-events__date { display:flex; flex-direction: column; gap:0 0; }
.l-events__date__start { display:flex; align-items:baseline; gap:0 .25em; }
.l-events__date__end { display:flex; align-items:baseline; gap:0 .25em; }
.l-events__date__end .l-events__day::before { content: "―"; padding:0 0.15em 0 0; }
.l-events__day { font-size:2.4em; font-weight:300; line-height:1; }
.l-events__week { font-size:1em; font-weight:500; line-height:1; }
.l-events__title { font-size:1em; line-height:1.5; margin:1em 0 1em 0; }
.l-events__category { font-size:0.75em; line-height:1.2; margin-top:auto; letter-spacing: 0; }
.l-events__status { position: absolute; top:1.75em; right:1.75em; padding:0.25em; font-size: 0.85em; line-height: 1; background-color: var(--c_purple); color: var(--c_white); }
.l-events__item:hover .l-events__status { background-color: var(--c_white); color: var(--c_purple); }

/* l-jobs */
.l-jobs { display:flex; flex-wrap: nowrap; justify-content: space-between; gap:3rem; width: 75%; }
.l-jobs__item { width:calc(50% - .75rem); padding: 0 0 0 1.5rem; border-left:solid 1px var(--c_purple); }
.l-jobs__title { font-size: 1em; line-height: 1.5; margin:0 0 .75em 0; }
.l-jobs__item a:hover .l-jobs__title .l-jobs__title_wrap { background-color: var(--c_purple); color:var(--c_white); }
.l-jobs__meta { display:flex; align-items: center; gap:0 1em; font-size: .75em; line-height: 1;  }
.l-jobs__meta .l-jobs__date { font-size: 1.2em; color: var(--c_black); }
.l-jobs__meta .l-jobs__category a:hover { background-color: var(--c_purple); color:var(--c_white); }

/* l-slides */
.l-main__section--slide { margin-bottom:2.5rem; }
.l-main__section--slide .l-slides { display:flex; flex-wrap: wrap; gap: 2.5rem 2.5rem; margin:0 0 2.5rem 0; }
.l-main__section--slide .l-slides.splide__list { flex-wrap: nowrap; gap: 0; }
.l-main__section--slide .l-slides .c-banner { max-width: calc((100% - (2 * 2.5rem)) / 3); }

/* l-links */
.l-main__section--links .l-links { display:flex; flex-wrap: wrap; justify-content: space-between; gap: 2.5rem 2.5rem; padding-top:2rem; }
.l-main__section--links .l-links .c-banner { width: calc(33.333% - ( 2.5rem*2/3 )); }
.l-main__section--links .l-links .c-banner.c-banner--text a { aspect-ratio: 7 / 1; }

/* l-footer */
.l-footer { display:flex; flex-direction: column; width:calc(100% - 8rem); padding: 0 0 3rem 0; margin: 0 auto; }
.l-footer__pagetop { width:100%; padding: 1.5rem 0; text-align: right; }
.l-footer__pagetop a { font-size: 0.9em; line-height: 1; display: inline-flex; align-items: center; justify-content: flex-end; gap:0 1em; }
.l-footer__pagetop a::before { content: ""; border-left:solid 1px var(--c_purple); border-top: solid 1px var(--c_purple); width:0.75em; height:0.75em; transform: rotate(45deg); margin-top:0.5em; }
.l-footer__top { padding: 3rem 0 0 0; border-top:solid 1px var(--c_purple); }
.l-footer__nav--main { width:100%; display:flex; gap:0 5rem; }
.l-footer__nav--main li { font-family: var(--f_title); font-size: 1em; line-height: 1.5; margin:0 0 .5em 0; }
.l-footer__nav--main li.is-current a { background-color: var(--c_purple); color:var(--c_white); }
.l-footer__nav--sub { display: flex; justify-content: flex-start; gap:0 5rem; }
.l-footer__sns { display:flex; justify-content: flex-start; align-items: center; gap:0 2rem; }
.l-footer__sns-item--facebook img { height:2.4em; width:auto; }
.l-footer__sns-item--x img { height:2.2em; width:auto; }
.l-footer__sns-item--instagram img { height:2.2em; width:auto; }
.l-footer__sns-item--linkedin img { height:2.2em; width:auto; }
.l-footer__sns-item--youtube img { height:2em; width:auto; }
.l-footer__links { display:flex; justify-content: flex-start; align-items: center; gap:0;  }
.l-footer__links li { font-size: .85em; line-height: 1; padding:0 1.25em 0 0; margin:0 1.25em 0 0; border-right:solid 1px var(--c_purple); }
.l-footer__links li:last-child { border:none; }
.l-footer__links li.is-current a { background-color: var(--c_purple); color:var(--c_white); }
.l-footer__bottom { pointer-events: none; position: relative; display:flex; justify-content: space-between; align-items: center; margin:3rem 0 0 0; padding:0 10rem 0 0; }
.l-footer__bottom a { pointer-events: auto; }
.l-footer__title { font-size: 1em; line-height: 1; font-weight: 500; color:var(--c_purple); }
.l-footer__logo { width:6.5%; position: absolute; right:0; bottom:0.75em; }
.l-footer__logo a { display:block; }
.l-footer__top a:hover:not(.is-icon),
.l-footer__bottom a:hover:not(.is-icon) { background-color: var(--c_purple); color:var(--c_white); }
.l-footer ul { margin:0; }

/* chatbot */
.chatbot { font-family: var(--f_title); position: fixed; right: 2rem; bottom: -10rem; background: var(--c_white); color: var(--c_purple); border: 1px solid var(--c_purple); border-radius: .75rem .75rem 0 .75rem; padding: 1em 1.25em; font-size: 1.2em; font-weight: 500; cursor: pointer; opacity: 0; transition: bottom .25s ease, opacity .25s ease, background-color .25s ease, color .25s ease; z-index: 10; }
.chatbot:hover { background-color: var(--c_purple); color:var(--c_white); }
.chatbot.is-visible { bottom: 2rem; opacity: 1; }

/* splide */
.splide { position:relative; overflow:visible; }
.splide__arrow { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; padding:0; border:none; background:transparent !important; color:var(--c_purple); cursor:pointer; z-index:10; border-radius:0 !important; box-shadow: none; }
.splide__arrow:disabled { opacity:.35; cursor:default; background:transparent !important; }
.l-main__section--featured .splide__arrow { top:8rem; }
.splide__arrow svg { display:none; }
.splide__arrow--prev { left: -2.75rem !important; }
.splide__arrow--next { right: -2.75rem !important; }
.splide__arrow--prev::before { content:""; position:absolute; left:50%; top:50%; width:16px; height:16px; border-left:1px solid currentColor; border-bottom:1px solid currentColor; transform:translate(-50%,-50%) rotate(45deg); background:transparent; }
.splide__arrow--next::before { content:""; position:absolute; left:50%; top:50%; width:16px; height:16px; border-right:1px solid currentColor; border-top:1px solid currentColor; transform:translate(-50%,-50%) rotate(45deg); background:transparent; }

@media (hover: none) and (pointer: coarse) {
  .c-banner--text a:hover,
  .l-main__cat li a:hover,
  .l-main__more a:hover,
  .l-news__item a:hover .l-news__title .l-news__title__wrap,
  .l-news__meta .l-news__category a:hover,
  .l-news__item a:hover .l-news__title .l-news__title__wrap,
  .l-news__meta .l-news__category a:hover,
  .l-jobs__item a:hover .l-jobs__title .l-jobs__title_wrap,
  .l-jobs__meta .l-jobs__category a:hover ,
  .l-footer__top a:hover:not(.is-icon),
  .l-footer__bottom a:hover:not(.is-icon),
  .chatbot:hover { background-color: var(--c_white); color: var(--c_purple); }
  .l-events__item:hover a { border: solid 1px var(--c_gray); background-color: var(--c_gray); color:var(--c_purple); }
  .l-events__item:hover .l-events__status { background-color: var(--c_purple); color: var(--c_white); }
}

/* sp_menu */
#sp_menu { display: none; }

@media screen and (max-width: 600px) {

/* reset */
html,body { overscroll-behavior: auto; }
body { padding: 0 0 0 0 !important; min-width: 0 !important; }

/* u */
.u-pc { display:none; }
.u-sp { display:inline; }
.u-br-pc { display:none; }
.u-br-sp { display:block; }

/* l-wrap */
.l-wrap { min-width: 0; }

/* l-cover */
.l-cover { padding: .6rem; height: calc(100dvh - 8rem); margin:auto 0 auto 0; display:flex; align-items: flex-start; justify-content: center; }
.l-cover__inner { position: relative; margin: 0 auto;  }
.l-cover__item { height: calc(100vh - 12rem); height: calc(100dvh - 12rem); }
.l-cover__title { left:0; right:0; bottom:-1rem; }
.l-cover__title .l-cover__scroll { width:1rem; height:1rem; bottom:-1.5rem; }

/* l-header */
.l-header { align-items: flex-end; padding:1.1rem 0 1.1rem 1.75rem; }
.l-header__left { width:auto; }
.l-header__logo img { width:auto; height:6rem !important; }
.l-header__right { width:auto; margin:0 6rem 0 auto; }
.l-header__nav--global { display: none; }
.l-header__nav--user { display: none; }
.l-header__nav--sub ul { gap: 0 1.15em; margin: .75em 0 1em 0; }
.l-header__nav--sub li { display:none; }
.l-header__nav--sub li.l-header__kikin { display:block; }
.l-header__nav--sub li.l-header__kikin a { font-size: .9em; padding: .1em 1.5em; }
.l-header__nav--sub li.l-header__lang a { padding: .35em .75em; }

/* l-main */
.l-main { width: calc(100% - 4rem); margin: 0 auto 2rem auto; }

/* l-hero */
.l-hero { margin:0.5rem 0 2.5rem 0; }
.l-hero__list { display: flex; flex-direction: column; gap: 1.5rem 0; }
.l-hero__item:nth-child(1) { margin: 0 0 1.25rem 0; }
.c-banner--rr { aspect-ratio: 9/20; }

.c-banner--rr .c-banner__link { flex-direction: column; }
.l-hero__col--left { width: 100%; }
.l-hero__col--right { width: 100%; padding: 0 1.5rem; margin: 2rem auto 1rem auto; aspect-ratio: 55/40; }
.l-hero__title { font-size: 1.6em;  }
.l-hero__lead { font-size: 2.5em; margin: .75em 0; }
.l-hero__name { font-size: 1.6em; }
.l-hero__role { font-size: 0.85em; line-height: 1.2; margin: .5em 0 1em; }

/* l-main__section */
.l-main__section--featured,
.l-main__section--events,
.l-main__section--jobs,
.l-main__section--slide,
.l-main__grid { padding:0 0 2.5rem 0; }
.l-main__grid--2col { flex-direction: column; }
.l-main__section--news { padding: 0 0 4.5rem 0; border-right:none; border-bottom: solid 1px var(--c_purple); }
.l-main__section--press { padding: 1.5rem 0 1.75rem 0; }
.l-main__section--jobs { display:block; padding: 1.5rem 0 5rem 0; }
.l-main__section--jobs .l-main__section-header { width: 100%; padding-right: 0; align-items: center; }

/* l-carousel */
.l-main__section--carousel { padding:0 0 4.5rem 0; }
.l-main__section--carousel .l-carousel .c-banner { max-width:100%; }
.user .l-main__section--carousel { padding: 0 0 0 0; }
.user .l-main__section--carousel .l-carousel { width: 100%; flex-direction: column; gap: 2rem 0; margin:0 0 2.5rem 0; }
.user .l-main__section--carousel .l-carousel.splide__list { flex-wrap: nowrap; gap: 0; }
.user .l-main__section--carousel .l-carousel .c-banner { width: 100%; }

/* l-news */
.l-news { flex-wrap: nowrap; gap:0; }
.l-news__item { max-width: 100%; width:82vw; flex-shrink: 0; }

/* l-featured */
.l-main__section--featured { margin-top: 5rem; padding-bottom:5rem; }
.home .l-news--featured { flex-direction: column; gap:2.5rem 0; padding:0; }
.l-news--featured .l-news__item { width: 100%; max-width:100%; }

/* l-events */
.l-main__section--events { margin-top: 3rem; padding: 0 0 4.5rem 0; }
.l-events__item { max-width:100%; width:40vw; flex-shrink: 0; }
.l-events__item a { padding: 1em 1em; }
.l-events__day { font-size:2em; }
.l-events__category { font-size:0.7em; }
.l-events__status { top:1em; right:1em; font-size: 0.75em; }

/* l-jobs */
.l-jobs { gap:0; width: auto; margin: 0; }
.l-jobs__item { max-width: 100%; width:82vw; flex-shrink: 0; }

/* l-slides */
.l-main__section--slide { margin-top: 2.5rem; }
.l-main__section--slide .l-slides .c-banner { max-width:100%; width:82vw; flex-shrink: 0; }

/* l-links */
.l-main__section--links .l-links { flex-direction: column; gap: 1.25rem 0; padding-top: 0; }
.l-main__section--links .l-links .c-banner { width: 100%; }

/* l-footer */
.l-footer { width: calc(100% - 4rem); padding: 2.5rem 0 0 0; margin: 2rem auto 2rem; }
.l-footer__nav--main { flex-direction: column; gap:1.5rem 0; }
.l-footer__nav--main li { font-size: 1.1em; }
.l-footer__nav--sub { width: 100%; flex-direction: column; gap:3rem 0; margin:0 0 5em 0; }
.l-footer__links { flex-wrap: wrap; gap:1.25em 0;  }
.l-footer__bottom { width:100%; flex-wrap: wrap; align-items: flex-end; padding:0 0 0 0; }
.l-footer__title { order: 2; font-size: 0.9em; }
.l-footer__logo { order: 1; width: auto; position: static;}
.l-footer__logo img { width:auto; height:6rem; }

/* chatbot-btn */
.chatbot { right: 1rem; padding: .75rem 1.25rem; font-size: 1.1em; }
.chatbot.is-visible { bottom: 1rem; }

/* splide */
.splide { margin: 0 -2rem 0 0; }
.splide__arrow { top:auto !important; bottom:-3.25rem !important; width:1.75rem !important; height:1rem !important; }
.l-main__section--featured .splide__arrow { top:auto !important; bottom: -3.5rem !important; }
.splide__arrow--prev { left: 0 !important; }
.splide__arrow--next { right: 2rem !important; }

/* sp_menu */
#sp_menu { display: block; }
.sp_menu { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; height: 100dvh; z-index: 77; padding:2rem; overflow-y: auto; }
.sp_menu .sp_gnav { width: 100%; position: relative; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.sp_menu .sp_gnav .sp_gnav--main { width:100%; padding-top:7rem; }
.sp_menu .sp_gnav .sp_gnav--main>li { width:100%; font-family:var(--f_title); font-size:1.4em; line-height:1.8; margin:0; position:relative; padding:0; }
.sp_menu .sp_gnav .sp_gnav--main>li.has-sub { padding:0 1.8em 0 0; }
.sp_menu .sp_gnav .sp_gnav--main>li.has-sub .toggle-icon { position:absolute; top:0; right:0; width:1.8em; height:1.8em; cursor:pointer; display:block; }
.sp_menu .sp_gnav .sp_gnav--main>li.has-sub .toggle-icon::before { content:""; position:absolute; top:50%; left:50%; width:0.75em; height:1px; background:var(--c_purple); transform:translate(-50%,-50%) rotate(0deg); transform-origin:center; opacity:1; transition:transform 0.5s ease, opacity 0.5s ease; }
.sp_menu .sp_gnav .sp_gnav--main>li.has-sub .toggle-icon::after { content:""; position:absolute; top:50%; left:50%; width:1px; height:0.75em; background:var(--c_purple); transform:translate(-50%,-50%) rotate(0deg); transform-origin:center; opacity:1; transition:transform 0.5s ease, opacity 0.5s ease; }
.sp_menu .sp_gnav .sp_gnav--main>li.is-open .toggle-icon::before { transform:translate(-50%,-50%) rotate(90deg); opacity:0; }
.sp_menu .sp_gnav .sp_gnav--main>li.is-open .toggle-icon::after { transform:translate(-50%,-50%) rotate(90deg); opacity:1; }
.sp_menu .sp_gnav .sp_gnav--main>li>ul { max-height:0; overflow:hidden; transition:max-height 0.75s ease-in-out; will-change:max-height; }
.sp_menu .sp_gnav .sp_gnav--main>li.is-open>ul { max-height:1500px; }
.sp_menu .sp_gnav .sp_gnav--main>li>ul>li { font-size:0.75em; line-height:1; margin:0.75em 0; white-space:normal; word-break:break-word; }
.sp_menu .sp_gnav .sp_gnav--main>li>ul>li:last-child { margin-bottom:2em; }
.sp_menu .sp_gnav .sp_gnav--main>li.has-sub .toggle-icon:focus-visible { outline:2px solid var(--c_purple); outline-offset:2px; }
.sp_menu .sp_gnav .sp_gnav--sub { width:100%; margin:2rem 0; }
.sp_menu .sp_gnav .sp_gnav--sub li { font-family: var(--f_title); font-size: 1.2em; line-height: 1; margin:0 0 1em 0; text-align: right; }
.sp_menu .sp_gnav .sp_gnav--user { width:100%; display: flex; flex-wrap: wrap; gap:1rem 0; margin:0 0 3rem 0; }
.sp_menu .sp_gnav .sp_gnav--user li a { width: 100%; display:block; font-family: var(--f_title); font-size: 1.1em; line-height: 1.5; padding:0; text-align: center; border-left:solid 1px var(--c_purple); }
.sp_menu .sp_gnav .sp_gnav--user li a:hover { background-color: var(--c_purple); color:var(--c_white); }
.sp_menu .sp_gnav .sp_gnav--user li.is-current a,
.sp_menu .sp_gnav .sp_gnav--user li.is-current a:hover { background-color: var(--c_gray); color:var(--c_purple); }
.sp_menu .sp_gnav .sp_gnav--user li:nth-child(1),
.sp_menu .sp_gnav .sp_gnav--user li:nth-child(2),
.sp_menu .sp_gnav .sp_gnav--user li:nth-child(3),
.sp_menu .sp_gnav .sp_gnav--user li:nth-child(4) { width:calc( 100% / 3 ); }
.sp_menu .sp_gnav .sp_gnav--user li:nth-child(5),
.sp_menu .sp_gnav .sp_gnav--user li:nth-child(6),
.sp_menu .sp_gnav .sp_gnav--user li:nth-child(7) { width:calc(( 100% / 3 )*2/3); }
.sp_menu .sp_gnav .sp_gnav--user li:nth-child(3),
.sp_menu .sp_gnav .sp_gnav--user li:nth-child(7) { border-right:solid 1px var(--c_purple); }
.sp_menu .sp_gnav .sp_gnav--tool { width:100%; display:flex; justify-content: space-between; margin:0 0 5rem 0; }
.sp_menu .sp_gnav .sp_gnav--tool li.sp_gnav__kikin a { font-size: 1.1em; padding:0 3.25em; border:solid 1px var(--c_purple); }
.sp_menu .sp_gnav .sp_gnav--tool li.sp_gnav__lang { display:flex; align-items: stretch; }
.sp_menu .sp_gnav .sp_gnav--tool li.sp_gnav__lang a { display:flex; align-items: center; padding:0.25em 1.8em; border: solid 1px var(--c_purple); }
.sp_menu .sp_gnav .sp_gnav--tool li.sp_gnav__lang a:hover { background-color: var(--c_purple); color:var(--c_white); }
.sp_menu .sp_gnav .sp_gnav--tool li.sp_gnav__lang a[lang="ja"] { font-size: 1em; line-height: 1; }
.sp_menu .sp_gnav .sp_gnav--tool li.sp_gnav__lang a[lang="en"] { font-size: .9em; line-height: 1; }
:lang(ja) .sp_menu .sp_gnav .sp_gnav--tool li.sp_gnav__lang .sp_gnav__lang-link--ja,
:lang(en) .sp_menu .sp_gnav .sp_gnav--tool li.sp_gnav__lang .sp_gnav__lang-link--en { background-color: var(--c_purple); color:var(--c_white); }
.menu_overlay { position: fixed; width: 100%; height: 100vh; top: 0; left: 0; background-color: var(--c_white); opacity: 1; z-index: -1; }
.menu_btn { background-color: transparent; width: 5rem; height: 3.35rem; position: fixed; overflow: visible; line-height: 1em; font-size: 1em; cursor: pointer; top: 0; right: 0; z-index: 777; }
.menu_btn .menu_btn_line { position: fixed; background-color: var(--c_purple); overflow: hidden; z-index: 779; width: 2.75rem; height: 1px; right: 1.5rem; }
.menu_btn .menu_btn_line:nth-child(1) { top: 1.5rem; z-index: 2; }
.menu_btn .menu_btn_line:nth-child(2) { top: 2.15rem; z-index: 2; }
.menu_btn .menu_btn_line:nth-child(3) { top: 2.75rem; z-index: 2; }
.search_btn #sp_search_keyword { font-family: var(--f_base); visibility: hidden; opacity: 0; display:block; border:none !important; box-sizing:border-box; border-radius: 0; margin:0; height:auto; position: fixed; left: 2rem; top:3.75rem; width:75vw; transition: all 0.4s ease; z-index: 777; }
.search_btn #sp_search_keyword { padding: .55em .75em; font-size: 16px; -webkit-text-size-adjust: 100%;  letter-spacing: .05em; font-weight: 500; line-height: 1; color: var(--c_purple); background-color: var(--c_gray); box-shadow: none; border-color: inherit; outline: none; }
.search_btn #sp_search_keyword::placeholder { font-family: var(--f_base); font-size: .9em; font-weight: 500; line-height: 1; letter-spacing: .05em; color: var(--c_purple); opacity: .5; }
.search_btn #sp_search_keyword.is-show { visibility:visible; opacity: 1; }
.search_btn button { position: fixed; right: 1.65rem; bottom:1.8rem; width:2.5rem; z-index: 777; }
.btn_wrapper { z-index: 777; position: fixed; }
.btn_wrapper .menu_btn { -webkit-transition: all 400ms ease-out 0ms; -moz-transition: all 400ms ease-out 0ms; -o-transition: all 400ms ease-out 0ms; transition: all 400ms ease-out 0ms; }
.btn_wrapper .menu_btn .menu_btn_line { -webkit-transition: all 400ms ease-out 0ms; -moz-transition: all 400ms ease-out 0ms; -o-transition: all 400ms ease-out 0ms; transition: all 400ms ease-out 0ms; }
.btn_wrapper.clicked::before { content:""; position: fixed; z-index: 77; top:0; left:0; right:0; width:100%; height:8.5rem; background-color: var(--c_white); }
.btn_wrapper.clicked .menu_btn .menu_btn_line:nth-child(1) { -webkit-transform: translateY(0.625rem) rotate(30deg); transform: translateY(0.625rem) rotate(30deg); -webkit-transition: all 400ms ease-out 0ms; -moz-transition: all 400ms ease-out 0ms; -o-transition: all 400ms ease-out 0ms; transition: all 400ms ease-out 0ms; }
.btn_wrapper.clicked .menu_btn .menu_btn_line:nth-child(2) { opacity: 0; -webkit-transition: all 400ms ease-out 0ms; -moz-transition: all 400ms ease-out 0ms; -o-transition: all 400ms ease-out 0ms; transition: all 400ms ease-out 0ms; }
.btn_wrapper.clicked .menu_btn .menu_btn_line:nth-child(3) { -webkit-transform: translateY(-0.625rem) rotate(-30deg); transform: translateY(-0.625rem) rotate(-30deg); -webkit-transition: all 400ms ease-out 0ms; -moz-transition: all 400ms ease-out 0ms; -o-transition: all 400ms ease-out 0ms; transition: all 400ms ease-out 0ms; }

}

/* size */
html,body {
  font-size: clamp(11px, 1.1vw, 17px) !important;
}

@media screen and (max-width: 600px) {
  html,body {
    font-size: clamp(0px, 3.3vw, 100px) !important;
  }
}
