@charset "UTF-8";
/*
Version: 1.0.0
Creation Date: 2025.5.7
Last Updated: 2025.10.1
*/


/* import
------------------------------------------------------------ */
@import "https://cdn.jsdelivr.net/gh/amcosand/shared@main/2025.css";

@keyframes fadeIn {
from {opacity: 0;}
to {opacity: 1;}
}


/* set
------------------------------------------------------------ */
a:hover {
color: #00d0de;
}


/* common
------------------------------------------------------------ */
/* layout */
#main-area {
flex-basis: 68%;
background: #FFF;
margin-bottom: 3em;
padding: 2em;
border-radius: 1em;
}
.plan-details {
background: rgba(78,164,255,.1);
padding: 1em;
}
.plan-details .blu {
border-bottom: 1px solid;
}
.plan-details li {
margin-bottom: .5em;
}
.plan-details li strong {
width: 7em;
display: inline-block;
}
#main-area > h3 {
border-bottom: 1px solid;
}
#side-area {
flex-basis: 25%;
background: #FFF;
padding: 2em;
border-radius: 1em;
}
#side-area h3 {
border-bottom: 1px solid;
}
#side-area em {
font-style: normal;
}
#side-area ul {
margin-bottom: 3em;
}
#side-area li {
margin: 2em 0;
}
#side-area ul li a {
color: #1d4ea0;
font-size: 1.7rem;
line-height: 1.4;
padding-left: 2.5em;
display: block;
position: relative;
}
#side-area ul li a::before {
content: "\f061";
font-family: 'Font Awesome 6 Free';
font-size: 1.4rem;
font-weight: 900;
position: absolute;
top: 50%;
left: 1em;
transform: translateY(-50%);
}
#side-area ul li a:hover {
color: #00d0de;
}
.team-box figure {
text-align: center;
width: 80%;
margin: 1em auto;
}

/* style */
.en {
font-size: 10rem;
line-height: 1;
white-space: nowrap;
position: absolute;
}
.en.bg_main2 {
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
color: #FFF;
color: transparent;
}

/* color */
.blu {
color: #1d4ea0;
}

/* background */
.bg_blu {
background: #1d4ea0;
}
.bg_main1 {
background: linear-gradient(90deg,rgba(30,80,181,1) 0,rgba(52,122,224,1) 60%, rgba(78,164,255,1) 100%);
}
.bg_main2 {
background: linear-gradient(90deg,rgba(86,185,255,1) 40%,rgba(0,208,222,1) 100%);
}
.bg_gry {
background: #efeeee;
}
.top-lft,
.btm-rgt {
position: relative;
}
.top-lft::before,
.btm-rgt::after {
content: "";
background: #1d4ea0;
clip-path: polygon(0 0, 0 100%, 100% 0);
width: 9vw;
height: 9vw;
position: absolute;
top: 0;
left: 0;
}
.btm-rgt::after {
clip-path: polygon(100% 0, 0 100%, 100% 100%);
top: auto;
left: auto;
bottom: -1px;
right: 0;
}

.bg_wht.box {
border-radius: 1em;
}

/* title */
.ttl_line em {
color: #1d4ea0;
font-size: 3.1rem;
font-style: normal;
display: inline-block;
margin-bottom: 1.8em;
padding-bottom: .2em;
border-bottom: 4px solid #1d4ea0;
}
.bg_blu .ttl_line em {
color: #FFF;
border-bottom: 4px solid #FFF;
}

/* list */
.team_list {
max-width: 1100px;
margin: 0 auto 1em;
display: flex;
align-items: stretch;
gap: 2em 1.2em;
position: relative;
z-index: 1;
}
.team_list::before,
.team_list::after {
width: calc(25% - 1.2em);
}
.team_list li {
flex-basis: calc(25% - 1.2em);
}
.team_list a {
background: #efeeee;
font-size: 1.7rem;
letter-spacing: .05em;
height: 100%;
padding-bottom: 1em;
display: flex;
flex-direction: column;
justify-content: flex-start;
}
.bg_gry .team_list a {
background: #FFF;
}
.team_list div {
background: #1d4ea0;
color: #FFF;
display: inline-block;
width: fit-content;
min-width: 80%;
max-width: 100%;
padding: .4em 1em;
clip-path: polygon(0 0,100% 0,calc(100% - 2vw) 100%,0 100%);
}
.team_list figure {
max-width: calc(200px + 2em);
height: 200px;
margin: 1em auto;
padding: 0 1em;
display: flex;
justify-content: center;
align-items: center;
}
.team_list p {
color: #1d4ea0;
text-align: center;
padding: 0 1em 1em;
}
.team_list a:hover {
color: inherit;
opacity: .7;
}

.plan_list {
max-width: 1100px;
margin: 0 auto 1em;
display: flex;
align-items: stretch;
gap: 2em 1.2em;
position: relative;
z-index: 1;
}
.plan_list::before,
.plan_list::after {
width: calc(25% - 1.2em);
}
.plan_list li {
flex-basis: calc(25% - 1.2em);
}
.plan_list a {
background: #FFF;
height: 100%;
padding-bottom: 1em;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.plan_list div:not(.content) {
background: #1d4ea0;
color: #FFF;
font-size: 1.7rem;
letter-spacing: .05em;
padding: .2em 1em;
}
/* トリミングなし
.plan_list figure img {
aspect-ratio: 3 / 2;
aspect-ratio: 16 / 9;
width: 100%;
height: 100%;
object-fit: cover;
}
*/
.plan_list .content {
flex-grow: 1;
display: flex;
flex-direction: column;
justify-content: flex-start;
}
.plan_list h3 {
color: #1d4ea0;
font-size: 1.8rem;
padding: 1em;
}
.plan_list p {
font-size: 1.4rem;
padding: 0 1em 1em;
}
.plan_list h4 {
font-weight: 500;
padding: 0 1em;
}
.plan_list h4 span {
font-size: 2.3rem;
}
.plan_list h4 small {
font-size: 1.3rem;
}
.plan_list h4 em {
font-size: 1.5rem;
font-style: normal;
text-align: center;
display: block;
}
.plan_list a:hover {
color: inherit;
opacity: .7;
}

.report_list {
max-width: 1130px;
}
.report_list li {
height: auto;
}
.report_list li a {
background: #FFF;
font-size: 1.5rem;
letter-spacing: .05em;
height: 100%;
padding-bottom: 1em;
display: block;
}
.report_list figure img {
aspect-ratio: 71 / 50;
aspect-ratio: 16 / 9;
width: 100%;
height: 100%;
object-fit: cover;
}
.report_list time {
color: #595757;
padding: 1em;
display: block;
}
.report_list h3 {
color: #1d4ea0;
font-size: 2.1rem;
padding: 0 .5em;
}
.report_list p {
padding: 1em;
}
.report_list a:hover {
color: inherit;
opacity: .8;
}
.swiper-button-prev,
.swiper-button-next {
width: 30px;
height: 30px;
}
.swiper-button-prev:after,
.swiper-button-next:after {
content: "";
width: 30px;
height: 30px;
border-top: 2px solid #FFF;
border-right: 2px solid #FFF;
transform: rotate(-135deg);
}
.swiper-button-next:after {
transform: rotate(45deg);
}
.report_list.col-4 {
max-width: 1100px;
margin: 0 auto 1em;
display: flex;
align-items: stretch;
gap: 2em 1.2em;
position: relative;
z-index: 1;
}
.report_list.col-4::before,
.report_list.col-4::after {
width: calc(25% - 1.2em);
}
.report_list.col-4 li {
flex-basis: calc(25% - 1.2em);
}

.news_list {
max-width: 800px;
margin: 0 auto;
border-top: 1px solid #c9caca;
}
.news_list li a {
background: rgba(255,255,255,.7);
padding: 1em 2em;
display: block;
border-bottom: 1px solid #c9caca;
}
.news_list time {
color: #1d4ea0;
font-size: 1.5rem;
margin-right: .5em;
}
.cat {
background: #efeeee;
font-size: 1.4rem;
padding: .3em .5em;
border-radius: 3px;
display: inline-block;
}
.bg_gry .cat {
background: #1d4ea0;
color: #FFF;
}
.news_list p {
font-size: 1.8rem;
padding: .5em 0;
}
.news_list a:hover {
background: rgba(78,164,255,.1);
color: inherit;
}
.box .news_list {
max-width: 90%;
border-top: none;
}
.box .news_list li a {
padding: .5em 1em;
}

/* .more */
.more a {
background: #1d4ea0;
color: #FFF;
font-size: 1.7rem;
font-weight: 700;
letter-spacing: .05em;
padding: 1em 4em;
display: inline-block;
border: 2px solid #1d4ea0;
border-radius: .5em;
position: relative;
}
.more a::after {
content: "\f061";
font-family: 'Font Awesome 6 Free';
font-size: 1.4rem;
font-weight: 900;
position: absolute;
top: 50%;
right: 1.5em;
transform: translateY(-50%);
}
.more a:hover {
background: #FFF;
color: #1d4ea0;
}
.more.wht a {
background: #efeeee;
color: #1d4ea0;
border: 2px solid #FFF;
}
.more.wht a:hover {
background: none;
color: #FFF;
}

/* #team-filter */
#team-filter {
margin-bottom: 4em;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: flex-end;
gap: 1em;
}
#team-filter .filter-box {
flex-basis: 33%;
}
.filter-box {
display: flex;
gap: .5em;
}
.filter-box label {
white-space: nowrap;
display: flex;
align-items: center;
gap: .3em;
}
.filter-box select {
min-width: 180px;
padding: .4em .6em;
}
.filter-submit {
background: #1d4ea0;
font-size: 1.7rem;
color: #FFF;
padding: .5em 2em;
display: flex;
align-items: center;
gap: .5em;
border: none;
border-radius: 4px;
cursor: pointer;
}
.filter-submit:hover {
background: #00d0de;
}

/* #search-form */
#search-form {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 1em;
}
.fixed-top {
padding: .5rem 1rem;
position: fixed;
top: 0;
left: 0;
box-shadow: 0 3px 10px rgba(0,0,0,.2);
z-index: 11;
}
#search-form p {
font-size: 1.8rem;
font-weight: 700;
white-space: nowrap;
}
#search-form .filter-box {
background: #FFF;
color: #000;
padding: .3em 1em;
border: 1px solid #CCC;
border-radius: 100vh;
position: relative;
}
#search-form .filter-box + .filter-box {
margin-left: 1em;
}
#search-form .filter-box + .filter-box::before {
content: "×";
color: #FFF;
font-size: 2.4rem;
position: absolute;
top: 50%;
left: -1.2em;
transform: translateY(-50%);
}
#search-form .filter-box label {
cursor: default;
}
#search-form .filter-box select {
min-width: inherit;
height: inherit;
padding: .8rem 0;
border: none;
}
.search-submit {
background: #727171;
font-size: 1.7rem;
color: #FFF;
padding: 1rem 2rem;
display: flex;
align-items: center;
gap: .5em;
border: 1px solid #CCC;
border-radius: 100vh;
cursor: pointer;
}

.fixed-top #search-form .filter-box select {
padding: .2rem 0;
}
.fixed-top .search-submit {
padding: .4rem 2rem;
}

@media screen and (max-width: 1320px) {
#search-form .filter-box label span {
display: none;
}
}

/* #pagetop */
#pagetop {
right: 1em;
bottom: 1em;
z-index: 10;
}
#pagetop a {
background: linear-gradient(to top, rgba(30,80,181,1) 0%, rgba(52,122,224,1) 60%, rgba(78,164,255,1) 100%);
width: 55px;
height: 55px;
}
#pagetop a:hover {
background: linear-gradient(rgba(86,185,255,1) 40%, rgba(0,208,222,1) 100%);
}
#pagetop a::before {
width: 18px;
height: 18px;
border-top: 1px solid #FFF;
border-right: 1px solid #FFF;
right: 18px;
}

/* #post s_link */
#post_link li a,
#posts_link li a,
#posts_link li.active {
color: #1d4ea0;
border: 1px solid #1d4ea0;
}
#post_link li.active a:hover,
#posts_link li a:hover,
#posts_link li.active {
background: #1d4ea0;
color: #FFF;
}
#post_link li a:hover,
#posts_link li.prev a:hover,
#posts_link li.next a:hover {
color: #00d0de;
}
#post_link {
margin-bottom: 0;
padding: 1.5em 0;
justify-content: center;
border-top: 1px solid #1d4ea0;
}
#post_link li {
padding: 0 1.5em;
position: relative;
}
#post_link .next::before {
content: "";
background: #1d4ea0;
width: 1px;
height: 70%;
position: absolute;
top: 15%;
left: 0;
}


/* header
------------------------------------------------------------ */
@media screen and (max-width: 1270px) {
header section {
flex-direction: column;
}
header h1 {
margin-right: auto;
}
}

#shutter,
#triple,
#search-btn,
header #search {
display: none;
}


/* footer
------------------------------------------------------------ */
footer li a {
padding: 0 1em;
}
footer li:not(:first-child) a {
border-left: .25px solid #FFF;
}
footer nav p {
border-top: .25px solid #FFF;
}


/* main
------------------------------------------------------------ */
/* #main */
#main h1 {
background: linear-gradient(180deg, rgba(30,80,181,1) 0%, rgba(52,122,224,1) 60%, rgba(78,164,255,1) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
color: #1d4ea0;
color: transparent;
font-size: 3.9rem;
letter-spacing: .1em;
filter: drop-shadow(0 0 2px #FFF) drop-shadow(0 0 4px #FFF);
position: absolute;
top: 2em;
left: 1em;
}

/* #search */
#search {
padding: 2em 1em;
}
#search.fixed-top {
padding: 1em;
}

/* #about */
#about {
background: url("img/about_bg.jpg") no-repeat bottom right/cover;
}
#about::before {
content: "";
background: url("img/about.png") no-repeat center/contain;
width: 720px;
max-width: 50%;
height: 720px;
position: absolute;
top: 75%;
left: -25%;
z-index: 1;
}
#about h2 {
padding: 0 2em;
}
#about div.flex div.left {
order: -1;
}

/* #sponsor */
#sponsor {
background: url("img/sponsor_bg.jpg") no-repeat center/cover;
}
#sponsor::before {
content: "";
background: url("img/sponsor.png") no-repeat center/contain;
width: 620px;
max-width: 45%;
height: 620px;
position: absolute;
top: -23%;
right: -23%;
z-index: 1;
}
#sponsor .en {
position: static;
}

/* #recruiting */
#recruiting .en {
top: 1em;
right: 0;
}

/* #team_list */
#team_list .en {
top: 2em;
left: 0;
}

/* #plan_list */
#plan_list .en {
top: 2em;
right: 0;
}

/* #report_list */
#report_list::before {
content: "";
background: url("img/report.png") no-repeat center/contain;
width: 550px;
max-width: 40%;
height: 550px;
position: absolute;
top: -33%;
left: -20%;
}
#report_list .en {
right: -.2em;
bottom: 1em;
}

/* #news_list */
#news_list::before {
content: "";
background: url("img/news.png") no-repeat center/contain;
width: 550px;
max-width: 40%;
height: 550px;
position: absolute;
right: -20%;
bottom: -30%;
z-index: 1;
}
#news_list .en {
top: .3em;
left: 0;
}

/* #faq */
#faq::before {
content: "";
background: url("img/faq_bg.png") no-repeat center right/cover;
width: 90%;
height: calc(100% - 10em);
border-radius: 100vh 0 0 100vh;
position: absolute;
top: 5em;
right: 0;
z-index: 1;
}
#faq .en {
top: .4em;
left: 1em;
}
#faq div.wht {
width: 500px;
max-width: 100%;
margin-left: auto;
padding: 4em 0;
}
#faq div.wht:hover {
opacity: .7;
}





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

/* set
------------------------------------------------------------ */
* {
letter-spacing: normal !important;
}
html {
font-size: 60%;
}

/* common
------------------------------------------------------------ */
/* style */
.en {
font-size: 6rem;
}
.smd-v-rl {
writing-mode: horizontal-tb;
}

/* main
------------------------------------------------------------ */
/* #about */
#about h2 {
padding: 0 1em;
}

/* #team_list */
#team_list .en {
top: -.1em;
left: .3em;
}

/* #plan_list */
#plan_list .en {
top: -.1em;
right: .3em;
}

/* #news_list */
#news_list .en {
top: -.1em;
left: .3em;
}

/* #faq */
#faq .en {
top: .8em;
left: 2em;
}

}


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

/* set
------------------------------------------------------------ */
html {
font-size: 50%;
}

/* common
------------------------------------------------------------ */
/* list */
.team_list {
gap: 1.5em 1em;
}
.team_list::before,
.team_list::after {
width: calc(25% - 1em);
}
.team_list li {
flex-basis: calc(25% - 1em);
}
.team_list figure {
max-width: calc(130px + 2em);
height: 130px;
}

.plan_list {
gap: 1.5em 1em;
}
.plan_list::before,
.plan_list::after {
width: calc(33% - 1em);
}
.plan_list li {
flex-basis: calc(33% - 1em);
}

.report_list.col-4 {
gap: 1.5em 1em;
}
.report_list.col-4::before,
.report_list.col-4::after {
width: calc(33% - 1em);
}
.report_list.col-4 li {
flex-basis: calc(33% - 1em);
}

/* #team-filter */
#team-filter .filter-box {
flex-basis: calc(50% - .5em);
}


/* header
------------------------------------------------------------ */
header nav {
display: none;
}

/* .active */
header nav.active {
width: 90%;
display: block;
position: fixed;
top: calc(60px + 3em);
left: 50%;
transform: translateX(-50%);
animation: fadeIn 1s .5s forwards;
opacity: 0;
z-index: 13;
}
header nav.active ul {
font-size: 2.5rem;
text-align: center;
display: block;
}
header nav.active li a {
color: #1d4ea0;
padding: 1em;
border-bottom: 1px solid #1d4ea0;
display: block;
}

/* #shutter */
#shutter {
display: block;
background: #efeeee;
width: 100%;
height: 100svh;
position: fixed;
top: -100svh;
right: 0;
z-index: 12;
transition: all .6s;
}
#shutter.active {
top: 0;
}

/* Triple Menu */
#triple {
display: block;
background: linear-gradient(rgba(30,80,181,1) 0,rgba(52,122,224,1) 60%, rgba(78,164,255,1) 100%);
width: 55px;
height: 55px;
padding: 18px 12px 0;
top: 5px;
right: 5px;
z-index: 14;
}
#triple.open {
background: linear-gradient(rgba(86,185,255,1) 40%, rgba(0,208,222,1) 100%);
}
#triple.open span:nth-child(1) {
transform: translateY(9px) rotate(-135deg);
}
#triple.open span:nth-child(3) {
transform: translateY(-9px) rotate(135deg);
}

/* Search */
#search-btn {
display: flex;
justify-content: center;
align-items: center;
background: #efeeee;
font-size: 2em;
color: #1e50b5;
width: 55px;
height: 55px;
position: fixed;
top: 5px;
right: 65px;
z-index: 14;
}
header #search {
font-size: 120%;
display: block;
width: 100%;
height: 100svh;
padding-top: calc(60px + 3em);
position: fixed;
top: -100svh;
left: 0;
z-index: 12;
transition: all .2s;
}
header #search.active {
top: 0;
}
header #search-form {
display: block;
text-align: center;
}
header #search-form p {
font-size: 2.5rem;
}
header #search-form .filter-box {
background: none;
color: #FFF;
margin-top: 1em;

border: none;
border-radius: 0;
}
header #search-form .filter-box select {
padding: 2rem;
}
header #search-form .filter-box + .filter-box {
margin-left: 0;
}
header #search-form .filter-box + .filter-box::before {
display: none;
}
header #search-form .filter-box label span {
display: inline-block;
}
header .search-submit {
font-size: 2.3rem;
margin: 2em auto;
}

/* main
------------------------------------------------------------ */
/* #search */
#search {
display: none;
}

/* #about */
#about::before {
top: 60%;
}

/* #recruiting */
#recruiting figure {
max-width: 80%;
margin: 0 auto;
}

/* #faq */
#faq div.wht {
width: 400px;
}

}


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

/* set
------------------------------------------------------------ */
html {
font-size: 43%;
}
body::before {
display: none;
}

/* common
------------------------------------------------------------ */
/* list */
.team_list {
gap: 1em .5em;
}
.team_list::before,
.team_list::after {
width: calc(33% - .5em);
}
.team_list li {
flex-basis: calc(33% - .5em);
}
.team_list div {
font-size: 1.3rem;
padding: .2em 1em;
}
.team_list figure {
max-width: calc(80px + 2em);
height: 80px;
padding: 0 .5em;
}
.team_list p {
text-align: left;
padding: 0 .5em;
}

.plan_list {
gap: 1em .5em;
}
.plan_list::before,
.plan_list::after {
width: calc(50% - .5em);
}
.plan_list li {
flex-basis: calc(50% - .5em);
}

.report_list {
max-width: 80%;
}

.report_list.col-4 {
gap: 1em .5em;
}
.report_list.col-4::before,
.report_list.col-4t::after {
width: calc(50% - .5em);
}
.report_list.col-4 li {
flex-basis: calc(50% - .5em);
}

/* #team-filter */
.filter-box {
flex-direction: column;
}
.filter-box select {
min-width: 100px;
}

/* header
------------------------------------------------------------ */
header h1 img {
max-width: calc(100% - 80px);
}

/* main
------------------------------------------------------------ */
/* #main */
#main h1 {
top: 1em;
left: .2em;
}
#main div img {
aspect-ratio: 1 / 1;
object-fit: cover;
}

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

/* #about */
#about {
background: url("img/about_bg.jpg") no-repeat center/cover;
}
#about::before {
display: none
}
#about h2 {
padding: 0 0 1em;
}
#about h3 {
font-size: 3.3rem;
margin-bottom: .5em;
}
#about p {
line-height: 1.6;
margin-bottom: 3em;
}

/* #recruiting */
#recruiting h2 {
font-size: 5rem;
margin-top: 0;
}

/* #report_list */
#report_list::before {
height: 200px;
top: -10%;
}
#report_list .en {
bottom: auto;
top: -.1em;
}

/* #faq */
#faq div.wht {
width: 280px;
}

}