:root {
   --theme-color-red: #cf0027;

   --theme-fontColor-black: #333;

   --content-area-width: 1040px;
   --content-area-sidePadding: clamp(5px, 3%, 20px);

   font-family: "Noto Sans JP", YuGothic, "Yu Gothic", sans-serif;
   font-weight: 500;
   scroll-behavior: smooth;
}

.sp_only {
	display: none;
}

body.fixed {
	overflow: hidden;
}

* {
   margin: 0;
   padding: 0;
   border: 0;
   box-sizing: border-box;
   max-width: 100%;
   color: var(--theme-fontColor-black);
 }

 html {
   font-size: 62.5%;
   scroll-behavior: smooth;
 }

 body {
   font-size: 1.5rem;
   line-height: 1.6;
 }

 img {
   display: block;
   height: auto;f
 }

 p {
   font-size: 1.4rem;
 }

ul {
   display: flex;
   flex-wrap: wrap;
   list-style: none;
 }


 a {
   color: var(--theme-fontColor-black);
   text-decoration: underline;
 }

 a:hover {
   text-decoration: none;
 }
 a:hover img {
	opacity: 0.8;
}

section {
   margin-bottom: 60px;
}

h2 {
   font-size: 2.4rem;
   font-weight: bold;
}

strong {
   font-weight: bold;
   font-size: 1.2em;
}

 /*


 */

header .logo {
   width: 100px;
   height: auto;
}

header .logo-text-1 {
   font-size: 2.6rem;
   font-weight: bold;
   margin-left: 1.0rem;
}

header .logo-text-2 {
   font-size: 1.6rem;
   font-weight: bold;
   margin-left: 1.0rem;
}

header.enHead .logo-text-1 {
   font-size: 2.2rem;
	margin-left: 2.0rem;
	line-height: 1.2;
}
header.enHead .logo-text-2 {
   font-size: 1.6rem;
   margin-left: 2.0rem;
	line-height: 1.2;
}

/*


*/

footer {
   padding: 20px 0;
   background-color: var(--theme-fontColor-black);
}
footer * {
   color: white;
}

footer > *+* {
   margin-top: 40px !important;
}

footer .footer-main-nav ul {
   justify-content: center;
}
footer .footer-main-nav ul li+li {
   margin-left: 20px;
}

footer .footer-main-nav ul a {
   text-decoration: none;
}

footer .logo-footer {
   width: 195px;
   height: auto;
   background: white;
   display: inline;
   border: 5px solid white;
}

footer .logo-base figure {
   display: flex;
   align-items: center;
}

footer a {
   text-decoration: none;
}

footer .logo-base figcaption {
   font-size: 1.8rem;
   font-weight: 500;
   margin-left: 20px;
}

footer.enFooter .logo-base figcaption {
   font-size: 1.3rem;
	line-height: 1.2;
}

footer .footer-sitemap-nav {
   display: flex;
}

footer .footer-sitemap-nav ul {
   flex-direction: column;
}

footer .footer-sitemap-nav > ul+ul {
   margin-left: 20px;
}

figcaption {
   text-align: center;
   line-height: 3.0;
}

/*


*/

.main-menu a {
    color: white;
	text-decoration: none;
}

.w1000 {
    width: 1000px;
    margin: 0 auto;
}

.col2 {
   display: flex;
   justify-content: space-between;
}

.v-align-center {
   display: flex;
   align-items: center;
}

.inline-frame > *{
   display: inline-block;
}

.p-tb-25 {
   padding: 25px 0;
}
.p-tb-90 {
   padding: 90px 0;
}

.no-margin {
   margin: 0 !important;
	padding-bottom: 10px;
}

.ta-center {
   text-align: center;
}

.ta-right {
   text-align: right;
}

/*


*/
.breadcrumb {
   padding: 15px 0;
}

.breadcrumb li {
   font-size: 1.3rem;
}
.breadcrumb li:not(:last-child)::after {
    content: ">";
    margin: 0 0.3rem;
}

/*


*/

.top-vis {
   position: relative;
   margin-bottom: 20px;
}

.top-vis > div {
position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   display: flex;
   justify-content: center;
   flex-direction: column;
}

.top-vis h1,  .top-vis h1 * {
   color: white;
   text-align: center;
   line-height: 1.2;
   filter: drop-shadow(2px 2px 5px rgba(0,0,0,0.5));
}

.top-vis h1 {
   font-size: 3.0rem;
}

.top-vis h1 * {
   font-size: 2.8rem;
}

/*


*/

.thumb-list {
   display: grid;
   grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
   grid-gap: 30px 0;
}

.thumb-list li {
	width: 90%;
	margin: 0 5%;
}

.thumb-list .imgbox{
    width: 100%;
    background: #eee;
    position: relative;
    overflow: hidden;
	margin-bottom: 10px;
}
.thumb-list .imgbox::before{
    content: "";
    padding-top: 100%;
    display: block;
}
.thumb-list .imgbox img{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
}

.thumb-list h3 {
   font-size: 1.4rem;
   margin-bottom: 10px;
}
.thumb-list p {
   font-size: 1.3rem;
}

.thumb-list a {
   text-decoration: none;
}

/*


*/

.top-nav-frame {
    background: var( --theme-fontColor-black);
    padding: 8px 0;
}

.top-nav-frame li {
   font-size: 1.4rem;
   margin-left: 1rem;
}

.top-nav-frame .home-icon {
   height: 20px;
   width: auto;
   color: white;
}

.enHead .top-nav-frame li {
   font-size: 1.2rem;
   margin-left: 1rem;
}

/*


*/

.searchBox input[type="text"] { 
   background-color:  var( --theme-fontColor-black);
   background-image: url(../img/icons/magnifying-glass-solid-full.svg);
   background-repeat:  no-repeat;
   background-size: 20px;
   background-position: right 10px center;

   border: white 1px solid;
   border-radius: 10px;

   padding: 2px 40px 2px 10px;
   color: white;
}

.searchBox input[type="text"]::placeholder {
	color: #ddd;
}

.lang-select {
   display: block;

   background-color:  var( --theme-fontColor-black);
   background-image: url(../img/icons/globe-solid-full.svg);
   background-repeat:  no-repeat;
   background-size: 20px;
   background-position: left center;

   padding: 2px 0 2px 22px;
   color: white;
   text-decoration: none;

   margin-left: 5px;
}

/*


*/

.list-header {
   border-bottom: 1px solid var(--theme-fontColor-black);
   margin-bottom: 20px;
   display: flex;
   justify-content: space-between;
   align-items: flex-end;
}

.news-list {
   display: block;
}

.news-list li {
   display: grid;
   grid-template-rows: 0.5fr 1fr;
   grid-template-columns: 150px 1fr;
   padding: 10px;
}
.news-date {
   	grid-row: 1 / 3;
	grid-column: 1 / 2;   
    display: flex;
    justify-content: center;
    flex-direction: column;
	font-size: 1.6rem;
}

.news-tags {
	margin-bottom: 10px;
}
.news-tags a {
	background: gray;
	color: white;
	border-radius: 5px;
	padding: 2px 5px;
	text-decoration: none;
	font-size: 1.0rem;
	font-weight: 500;
}

.news-tags a+a {
	margin-left: 0.8rem;
}

.news-title {
	font-size: 1.6rem;
}

.news-list li+li, .article-list li+li {
   border-top: 1px dotted var(--theme-fontColor-black);
}

.news-list li:last-child, .article-list li:last-child {
   border-bottom: 1px solid var(--theme-fontColor-black);
}

.article-list li {
	width: 100%;
	padding: 15px 10px;
}

.article-list li>div:first-child {
	padding-bottom: 10px;
}

.article-list li>div:first-child>* {
	display: inline-block;
	margin-bottom: 0;
}

.article-list .news-tags {
	margin-left: 30px;
}

.article-list .news-excerpt {
	margin-top: 20px;
}

.more-news {
	margin-top: 40px;
	text-align: center;
}

.more-news a {
	color: var(--theme-fontColor-black);
    text-decoration: none;
    border: 1px solid #333;
    padding: 10px 20px;
    border-radius: 50vh;
    margin-top: 20px;
}

.no-entry {
	margin-top: 20px;
}

.pagenation {
   margin-top: 20px;
}

.pagenation ul {
   justify-content: center;
}

.pagenation ul li + li {
   margin-left: 10px;
}

/*


*/

.filters *+* {
   margin-left: 1.4rem;
}

/*


*/

.top-button {
   position: fixed;
   bottom: 40px;
   right: 20px;

   width: 45px;
   height: 45px;
}

.top-button img {
   filter: drop-shadow(2px 2px 5px rgba(0,0,0,0.5));
}


/*
   organization
*/

.greeting_mess {
   display: flex;
   justify-content: space-between;
   margin-bottom: 20px;
}

.greeting_mess p {
   font-size: 1.5rem;
}

.greeting_mess > figure {
   display: block;
   width: 300px;
}

.greeting_mess > div {
   display: block;
   width: 700px;
}

.greeting_mess > dl {
   width: 310px;
}

.greeting_mess > dl dt {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 310px;
   height: 62px;
   filter: drop-shadow(0px 3px 3px rgba(0,0,0,0.5));
   margin-bottom: 20px;
}

.greeting_mess > dl dt span {
   font-size: 1.6rem;
   font-weight: bold;
}

.greeting_mess > dl dd {
   padding: 10px;
   font-size: 1.5rem;
}

.greeting_mess > dl:nth-child(1) dt {
   background: url(../img/organization/hashira_1.png) no-repeat;
}

.greeting_mess > dl:nth-child(2) dt {
   background: url(../img/organization/hashira_2.png) no-repeat;
}

.greeting_mess > dl:nth-child(3) dt {
   background: url(../img/organization/hashira_3.png) no-repeat;
}

.greeting_mess > dl dd ul {
   margin-top: 20px;
}

.greeting_mess > dl dd li {
   display: block;
   width: 100%;
   padding: 10px;
   border-radius: 10px;
   margin-top: 10px;
   font-size: 1.2rem;
   text-align: center;
}

.greeting_mess > dl:nth-child(1) dd li {
   background-color: #D9F2DD;
}

.greeting_mess > dl:nth-child(2) dd li {
   background-color: #D2F3F8;
}

.greeting_mess > dl:nth-child(3) dd li {
   background-color: #F2F5CC;
}

.photo_greeting img {
   width: 270px;
   height: auto;
}

.organization > *:nth-child(1) {
  width: 250px;
}

.organization > *:nth-child(2) {
   width: 700px;
}

.organization table caption {
   font-size: 3.0rem;
   font-weight: bold;
   text-align: center;
   caption-side: top;
}

.organization table th {
   width: 300px;
}

.organization table th,
.organization table td {
   font-size: 2.0rem;
   font-weight: normal;
   padding: 15px;
   vertical-align: top;
   text-align: left;
}

.groupList li+li {
	margin-top: 0.5em;
}

/*
   groups
*/

.group_list {
   display: flex;
   justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
}

.group_list .group_vis {
   width: 220px;
   height: auto;
}

.group_list .group_discription {
   width: 700px;
}

.group_discription > * + * {
   margin-top: 20px;
}

.group_list p {
   font-size: 1.5rem;
}

.group_list p.p_title {
   font-size: 1.8rem;
   font-weight: bold;
}

.group_discription > div > * {
   display: inline-block;
   vertical-align: top;
}

.group_discription > div > img {
   width: 122px;
   margin-right: 20px;
}

.group_discription > div > p {
   width: 550px;
}

/*
   results
*/

.results_categories {
   display: grid;
   grid-template-columns: 1fr 1fr;
   grid-gap: 20px;
}

.results_categories li a {
   display: grid;
   grid-template-columns: 123px 312px 55px;
   height: 80px;
   border: 1px solid #707070;
   background: #ffffff;
   text-decoration: none;
}

.results_categories li a:hover {
   background: #eeeeee;
}

.results_categories>li>a>* {
   display: flex;
   justify-content: center;
   align-items: center;
}

.results_categories>li>a>*:nth-child(2) {
   border-left: 1px solid #707070;
   border-right: 1px solid #707070;
	padding: 0 10px;
}

.results_categories>li>a>*:nth-child(3) {
   background: #333333;
}

.results_categories>li:nth-child(1)>a>*:first-child {
   background: url(/assets/img/results/press_bg.png) no-repeat;
}
.results_categories>li:nth-child(2)>a>*:first-child {
   background: url(/assets/img/results/papaer_bg.png) no-repeat;
}
.results_categories>li:nth-child(3)>a>*:first-child {
   background: url(/assets/img/results/prize_bg.png) no-repeat;
}
.results_categories>li:nth-child(4)>a>*:first-child {
   background: url(/assets/img/results/presentation_bg.png) no-repeat;
}

.triangle {
  background: #fff;
  height: calc(tan(60deg) * 15px / 2);
  width: 15px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.recruit_categories {
   display: grid;
   grid-template-columns: 1fr 1fr;
   grid-gap: 20px;
}

.recruit_categories>li>a {
   display: grid;
   grid-template-columns: 437px 55px;
   height: 120px;
   border: 1px solid #707070;
   background: #ffffff;
   text-decoration: none;
}
.recruit_categories>li>a:hover {
   background: #eeeeee;
}

.recruit_categories>li>a>* {
   display: flex;
   justify-content: center;
   align-items: center;
	padding: 10px;
}
.recruit_categories>li>a>*:last-child {
   background: #333333;
}
.recruit_categories>li>a>div span {
   font-weight: bold;
}

/*
	POST ARCHIVE
*/

.post_archive, .post_archive_list {
	margin: 40px 0;
}

.post_archive > *+*, .post_archive_list > *+* {
	margin-top: 20px;
}

.post_archive_list ul {
	flex-direction: column;
	gap: 20px;
}