@charset "UTF-8";
@import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
/*スタイルリセット*/
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td { margin: 0; padding: 0; font-size: 100%; }

.clear { clear: both; }

li { list-style-type: none; }

input, button, textarea, select { -webkit-appearance: none; -moz-appearance: none; appearance: none; }

/* Hides from IE-mac ¥*/
* html .clearfix { height: 1%; }

/* End hide from IE-mac */
/* 変数
----------------------------------------------- */
/*
$breakpoint-pc:1200px;
$breakpoint-pc2: 1024px;
$breakpoint-tab: 768px;
$breakpoint-mobile: 600px;
$breakpoint-mobiles: 375px;*/
body { font: 13px/1.4 "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif; vertical-align: baseline; font-style: normal; letter-spacing: normal; color: #171616; font-feature-settings: "kern" 1; background: #eff0f4; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* リンク指定
----------------------------------------------- */
a:link { color: #171616; text-decoration: none; }

a:visited { color: #171616; text-decoration: none; opacity: 0.7; }

a:hover { color: #171616; text-decoration: underline; }

a img { border: none; }

.btn_1 { text-align: center; margin: 3.0rem auto; }

.btn_1 a { background: #e5d599; padding: 0.4em 2em; }

.btn_1 a i { padding: 0 0.2em; }

.btn_1 a:link { text-decoration: none; }

.btn_1 a:hover { background: rgba(229, 213, 153, 0.6); }

/* レイアウト & 共有
----------------------------------------------- */
.content { max-width: 1194px; width: 96%; margin: 0 auto; }

@media (max-width: 600px) { .content { width: 92%; } }

main { /*overflow: hidden;*/ }

.en-text { font-family: "Roboto", "Helvetica Neue", "Arial", sans-serif; }

.onlymobile { display: none; }

@media (max-width: 600px) { .onlymobile { display: block; } }

.text-ellipsis-multi { overflow: hidden; transition: max-height 0.5s ease-in-out; cursor: pointer; display: block; position: relative; transition: all 0.5s ease; }

.text-ellipsis-multi::after { font-family: 'FontAwesome'; content: '\f107'; position: absolute; top: calc(100% + 10px); left: 50%; transition: transform 0.3s ease; color: #053d81; font-weight: bold; }

.text-ellipsis-multi.is-collapsed { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; cursor: pointer; text-overflow: clip; margin-bottom: 3.0em; }

.text-ellipsis-multi:not(.is-collapsed) { -webkit-line-clamp: unset; }

.text-ellipsis-multi:not(.is-collapsed)::after { content: '\f106'; transform: translateY(-5px); }

.text-ellipsis-multi.is-expanded { -webkit-line-clamp: none; max-height: 1000px; }

.toggle-icon { text-align: center; padding: 0; cursor: pointer; color: #053d81; font-size: 1.0rem; margin-bottom: 1.0rem; }

.toggle-icon i { transition: transform 0.3s ease; }

.toggle-icon:hover i { transform: translateY(3px); }

/* Header
----------------------------------------------- */
.site-header { margin: 0 auto; padding: 20px 2%; position: absolute; z-index: 2; }

.site-header h1 img { width: 165px; height: auto; }

@media (max-width: 600px) { .site-header h1 img { width: 125px; height: auto; } }

.site-footer { background: #053d81; color: #FFFFFF; padding: 2.0rem 0; }

.site-footer .logo img { width: 140px; height: auto; }

/* HERO
----------------------------------------------- */
.top-content { position: relative; padding-bottom: 0.0rem; }

.top-content .hero-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; background: radial-gradient(circle at var(--grad-x, 5%) var(--grad-y, 0%), #9dc7e3 15%, #e5d599 80%, #eff0f4 100%); }

@property --grad-x { syntax: '<percentage>';
  inherits: false;
  initial-value: 10%; }

@property --grad-y { syntax: '<percentage>';
  inherits: false;
  initial-value: 0%; }

.hero-section { position: relative; width: 100%; height: 90vh; }

.hero-section .hero-sticky { position: relative; width: 100%; height: 100vh; display: flex; align-items: center; justify-content: center; }

.hero-section .hero-content { width: 1080px; margin: auto; text-align: center; position: relative; width: 100%; display: flex; align-items: center; justify-content: center; }

.hero-section .hero-content .text-group { position: relative; width: 90%; max-width: 1080px; height: 100px; margin: 0 auto; font-size: 3.0rem; font-weight: 300; opacity: 0.9; }

.hero-section .hero-content .text-group .line { position: absolute; top: 0; left: 0; width: 100%; text-align: center; opacity: 0; }

.hero-section .hero-content .text-group .line.auto-line { position: relative; opacity: 0.91; }

.hero-section .hero-content .text-group .brand-name { font-family: "Roboto", "Helvetica Neue", "Arial", sans-serif; z-index: 10; font-weight: 500; }

@media (max-width: 600px) { .hero-section .hero-content .text-group { font-size: 1.8rem; } }

/* --------*/
.menu-container { position: fixed; top: 20px; right: 2%; z-index: 2000; }

.menu-toggle { position: relative; z-index: 2001; appearance: none; -webkit-appearance: none; background: transparent; border: 0; padding: 0; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }

.menu-toggle .hamburger { display: inline-block; width: 28px; height: 20px; position: relative; }

.menu-toggle .hamburger span { position: absolute; left: 0; right: 0; height: 2px; background: #171616; display: block; transform-origin: 50% 50%; transition: transform 0.3s ease, opacity 0.2s ease, top 0.3s ease; }

.menu-toggle .hamburger span:nth-child(1) { top: 0; }

.menu-toggle .hamburger span:nth-child(2) { top: 9px; }

.menu-toggle .hamburger span:nth-child(3) { top: 18px; }

.menu-toggle.is-active .hamburger span:nth-child(1) { top: 9px; transform: rotate(45deg); }

.menu-toggle.is-active .hamburger span:nth-child(2) { opacity: 0; }

.menu-toggle.is-active .hamburger span:nth-child(3) { top: 9px; transform: rotate(-45deg); }

.nav-menu { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; background: rgba(239, 240, 244, 0.96); /*transform: translateX(100%); */ opacity: 0; visibility: hidden; transition: transform 0.35s ease, opacity 0.35s ease, visibility 0s linear 0.35s; }

.nav-menu ul { list-style: none; margin: 0; padding: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; width: 90vw; max-width: 560px; }

.nav-menu li + li { margin-top: 2.8rem; }

.nav-menu a { display: inline-block; color: #171616; text-decoration: none; line-height: 0.9em; transition: color 0.3s ease, opacity 0.3s ease, transform 0.3s ease; font-size: 1.6rem; font-weight: 600; }

.nav-menu a:hover, .nav-menu a:focus { text-decoration: none; background: #053d81; color: #FFFFFF; }

@media (max-width: 768px) { .nav-menu a { font-size: 1.5rem; } }

@media (max-width: 600px) { .nav-menu a { font-size: 1.3rem; } }

.nav-menu .small-jp { font-size: 0.86rem; }

.nav-menu.is-open { transform: translateY(0); opacity: 1; visibility: visible; transition: transform 0.35s ease, opacity 0.35s ease; }

body.menu-open { overflow: hidden; }

@media (prefers-reduced-motion: reduce) { .menu-toggle .hamburger span, .nav-menu { transition: none; } }

/* 
----------------------------------------------- */
#what-is .sec-jp, #what-is .sec-en { line-height: 2.1em; }

.content-section { margin: 0 0 6rem 0; }

@media (max-width: 600px) { .content-section { margin: 0 0 0rem 0; } }

.content-section .section-header { margin-bottom: 3.0rem; }

.content-section .section-header h2 { display: inline-block; color: #FFFFFF; font-size: 2.3rem; background: #053d81; line-height: 1.0em; white-space: nowrap; font-weight: 400; }

.content-section .section-header p { color: #053d81; font-size: 1.2rem; font-weight: 500; }

@media (max-width: 600px) { .content-section .section-header h2 { font-size: 2.0rem; }
  .content-section .section-header p { font-size: 1.0rem; } }

.content-section .section-body.fr2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 5rem; }

.content-section .section-body.fr2 p { margin: 0 0 1em 0; }

.content-section .section-body.fr2.mission-value h3 { font-size: 1.16rem; font-weight: 700; margin: 3rem 0 1.2rem 0; border-bottom: 0.5px dashed #171616; padding: 0 0 0.1em; line-height: 1.4em; }

.content-section .section-body.fr2.mission-value h4 { font-weight: 700; line-height: 1.4em; font-size: 1.00rem; }

.content-section .section-body.fr2.mission-value ol { margin-bottom: 6.0rem; }

.content-section .section-body.fr2.mission-value ol li { margin: 0 0 1.6rem 0.2em; /*list-style-type: squarefilled-circled-decimal*/ }

@media (max-width: 600px) { .content-section .section-body.fr2 { grid-template-columns: repeat(1, 1fr); gap: 1.8rem; margin-bottom: 3.0rem; } }

.content-section .sec-jp { font-size: 0.86rem; line-height: 1.8em; }

@media (max-width: 600px) { .content-section .sec-jp { font-size: 0.80rem; } }

.content-section .sec-en { font-size: 0.92rem; font-family: "Roboto", "Helvetica Neue", "Arial", sans-serif; line-height: 1.8em; }

@media (max-width: 600px) { .content-section .sec-en { font-size: 0.88rem; } }

.content-section.section-2 { padding: 6.0rem 0; }

.team-grid .team { margin-bottom: 3.0rem; }

.team-grid .team .profile-header { text-align: center; margin: 0 auto 2rem; }

.team-grid .team .profile-header h3 { font-size: 0.96rem; font-weight: 400; }

.team-grid .team .profile-header h5 { margin-top: 0.6em; font-weight: 400; }

.team-grid .team .profile-photo { border-radius: 50%; display: inline-block; margin: 0 auto; width: 180px; height: auto; }

@media (max-width: 600px) { .team-grid .team .profile-photo { max-width: 100%; height: auto; } }

.team-grid .section-body.fr2 p { margin: 0; }

@media (max-width: 600px) { .team-grid .section-body.fr2 { gap: 0.0rem; } }

.organization { margin: 3.0rem 0; }

.organization th, .organization td { text-align: left; padding: 0.3em; }

@media (max-width: 600px) { .organization th, .organization td { display: block; padding: 0; }
  .organization th { padding: 0 0 0 0; }
  .organization td { padding: 0 0 1.2em 0; line-height: 1.4em; } }

/*# sourceMappingURL=base_v1.2.map */