@charset "UTF-8";
/*
Version: 1.1.1
Creation Date: 2024.8.5
Last Updated: 2025.9.5
*/


/* import
------------------------------------------------------------ */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600&family=Noto+Sans+JP:wght@100..900&display=swap');
@import "https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css";


/* set
------------------------------------------------------------ */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
-webkit-text-size-adjust: 100%;
font-family: "Noto Sans JP", sans-serif;
color: #000;
font-size: 16px;
line-height: 1.8;
}
ul {
list-style: none;
}
img {
vertical-align: middle;
max-width: 100%;
height: auto;
}
a {
color: inherit;
}
a:hover {
text-decoration: none;
}
a:hover img {
opacity: .7;
}
:hover {
transition: .3s;
}
.smp {
display: none;
}

/* common
------------------------------------------------------------ */
main {
overflow: hidden;
}
article {
background: #F3F2F1;
margin: 3em 0;
}
section {
width: 1000px;
max-width: 92%;
margin: 0 auto;
padding: 4em 0;
}
h3 {
margin-bottom: 2em;
display: inline-block;
position: relative;
z-index: 1;
}
h3 span {
font-family: "Barlow Condensed", sans-serif;
color: #1A1A7C;
font-size: 73px;
font-weight: 600;
line-height: 1;
display: block;
}
h3 strong {
color: #1A1A7C;
font-size: 22px;
font-weight: 700;
letter-spacing: .05em;
}
h3 div {
font-family: "Barlow Condensed", sans-serif;
color: #E6E6E6;
font-size: 175px;
font-weight: 600;
line-height: 1;
position: absolute;
top: 45%;
left: -5%;
transform: translateY(-50%);
z-index: -1;
}

/* #thumb */
#thumb {
font-size: 13px;
letter-spacing: .08rem;
color: #666;
padding: 2em 0;
}

/* .list */
.list {
text-align: left;
margin: 2em 0;
border-top: 1px solid #C9CACA;
}
.list li a {
text-decoration: none;
display: flex;
flex-wrap: wrap;
align-items: flex-start;
padding: .8em 1em;
border-bottom: 1px solid #C9CACA;
}
.list li a:hover {
background: rgba(255,255,255,.7);
}
.list li a time {
flex-basis: 15%;
font-weight: bold;
display: block;
}
.list li a p {
flex-basis: 85%;
}
.list li a p span {
background: #333;
color: #FFF;
font-size: 13px;
letter-spacing: .5px;
margin-right: 1em;
padding: 0 10px;
display: inline-block;
}

/* .more */
.more {
text-align: right;
}
.more a {
color: #1A1A7C;
font-weight: bold;
text-decoration: none;
display: inline-block;
position: relative;
transition: all 0.2s ease-in;
}
.more a:hover {
color: #999;
}
.more a::before,
.more a::after {
content: "";
background: #1A1A7C;
height: 1px;
display: block;
position: absolute;
bottom: 0;
transition: all 0.2s ease-in;
}
.more a::before {
width: 12px;
right: -1em;
bottom: 4px;
transform: rotate(35deg);
}
.more a::after {
width: calc(100% + 1em);
left: 0;
}
.more a:hover::before {
right: -1.5em;
}
.more a:hover::after {
width: calc(100% + 1.5em);
}

.is-type-video .wp-block-embed__wrapper {
width: 100%;
padding-top: 56.25%;
position: relative;
}
.is-type-video .wp-block-embed__wrapper iframe {
width: 100%;
height: 100%;
position: absolute;
top: 0;
right: 0;
}

/* #post s_link */
#post_link,
#posts_link {
margin: 3em auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#posts_link {
justify-content: center;
}
#post_link li a,
#posts_link li a,
#posts_link li.active {
text-decoration: none;
background: #FFF;
color: #333;
width: 40px;
height: 40px;
margin: 5px;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid #333;
}
#post_link li.active a:hover,
#posts_link li a:hover,
#posts_link li.active {
background: #333;
color: #FFF;
opacity: 1;
}
#post_link li:not(.active) a,
#posts_link li.prev a,
#posts_link li.next a {
background: none !important;
width: auto !important;
border: none !important;
}
#post_link li.active a {
width: auto !important;
padding: 0 20px;
}
#post_link li a:hover,
#posts_link li.prev a:hover,
#posts_link li.next a:hover {
color: #999;
}


/* header
------------------------------------------------------------ */
header {
/*background: rgba(26,26,124,.3) url("img/header.jpg") no-repeat center bottom/cover;*/
/*background-blend-mode: multiply;*/
/*height: 70svh;*/
position: relative;
}
header #logo {
max-width: 15%;
position: absolute;
top: 8%;
left: 5%;
z-index: 2;
}
header h1 {
max-width: 50%;
position: absolute;
bottom: 5%;
right: 5%;
z-index: 2;
}
#archive header,
#single header {
background: rgba(26,26,124,.3) url("img/header.jpg") no-repeat center top 60%/cover;
background-blend-mode: multiply;
height: 40svh;
}
#archive header h1,
#archive header .swiper,
#single header h1,
#single header .swiper {
display: none;
}
nav {
background: #FFF;
width: 300px;
display: block;
position: fixed;
top: 0;
right: -300px;
bottom: 0;
overflow-x: hidden;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
transition: .5s;
z-index: 3;
}
.open nav {
right: 0;
}
nav div {
padding: 25px;
}
nav div ul li {
margin: 0;
border-bottom: 1px solid #E6E6E6;
position: relative;
}
nav div ul li a {
font-family: "Barlow Condensed", sans-serif;
color: #1A1A7C;
font-size: 25px;
text-decoration: none;
padding: 1em;
display: block;
transition-duration: .2s;
}
nav div ul li a:hover {
background: #E4E4E4;
}
@keyframes equalizer01 {
0% {width: 70%;}
10% {width: 50%;}
20% {width: 100%;}
30% {width: 10%;}
40% {width: 50%;}
50% {width: 70%;}
60% {width: 50%;}
70% {width: 10%;}
80% {width: 100%;}
90% {width: 10%;}
100% {width: 70%;}
}
@keyframes equalizer02 {
0% {width: 30%;}
10% {width: 20%;}
20% {width: 40%;}
30% {width: 10%;}
40% {width: 20%;}
50% {width: 30%;}
60% {width: 20%;}
70% {width: 10%;}
80% {width: 40%;}
90% {width: 10%;}
100% {width: 30%;}
}
#btn {
width: 80px;
height: 30px;
position: fixed;
top: 5%;
right: 5%;
transform: translate(0,0);
transition: all .5s;
z-index: 3;
cursor: pointer;
}
.open #btn {
right: 330px;
}
#btn span {
background: #E6E6E6;
width: 30px;
height: 2px;
display: block;
position: absolute;
right: 0;
transition: all .5s;
}
#btn span:nth-child(1) {
width: 60px;
top: 5px;
animation: equalizer01 7000ms infinite;
}
#btn span:nth-child(2) {
width: 30px;
top: 15px;
animation: equalizer02 5000ms infinite;
animation-delay: 0.33s;
}
#btn span:nth-child(3) {
width: 20px;
top: 25px;
animation: equalizer02 5000ms infinite;
}
.open #btn span {
background: #FFF;
width: 30px;
}
.open #btn span:nth-child(1) {
transform: translate(0,10px) rotate(-45deg);
animation: unset;
}
.open #btn span:nth-child(2) {
opacity: 0;
animation: unset;
}
.open #btn span:nth-child(3) {
transform: translate(0,-10px) rotate(45deg);
animation: unset;
}
#mask {
display: none;
}
.open #mask {
background: #000;
width: 100%;
height: 100%;
display: block;
position: fixed;
top: 0;
left: 0;
z-index: 2;
opacity: .8;
cursor: pointer;
transition: all .5s;
}


/* main
------------------------------------------------------------ */
#pers .swiper-wrapper {
transition-timing-function: linear !important;
}

#about {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
#about > div {
flex-basis: 35%;
margin-bottom: 2em;
}
#about p {
font-size: 14px;
}
#about figure {
flex-basis: 60%;
text-align: center;
}

#outlook {
padding: 4em 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
#outlook figure {
flex-basis: 42%;
}
#outlook section {
flex-basis: 48%;
padding: 0;
}
#outlook section > div {
max-width: 560px;
margin-top: 2em;
}
#outlook h3 div {
color: #FFF;
}
#outlook h4 {
color: #1A1A7C;
font-size: 35px;
font-weight: 700;
letter-spacing: .05em;
margin: -.5em 0 .5em;
}
#outlook p {
font-size: 14px;
}

/* #movie（非表示） */
#movie {
display: none;
width: 100%;
padding-top: 56.25%;
position: relative;
}
#movie iframe {
width: 100%;
height: 100%;
position: absolute;
top: 0;
right: 0;
}
video {
max-width: 100%;
vertical-align: bottom;
}

#news {
text-align: center;
}
#news h3 {
text-align: center;
}
#news h3 div {
color: #FFF;
left: 50%;
transform: translate(-50%,-50%);
}

#overview table {
width: 100%;
margin: 2em 0;
border-collapse: collapse;
border-bottom: 1px solid #C9CACA;
}
#overview tr {
border-top: 1px solid #C9CACA;
}
#overview th {
background: #F5F4F4;
font-weight: normal;
vertical-align: top;
text-align: left;
white-space: nowrap;
/*width: 20%;*/
padding: 1.5em 3em;
padding: 1.5em 2em;
}
#overview td {
padding: 1.5em;
padding: 1.5em 1em;
position: relative;
vertical-align: top;
}
#overview td:before {
content: "";
background: #1A1A7C;
width: 1px;
height: 90%;
position: absolute;
top: 5%;
left: 0;
}
#overview ol {
margin-left: 1em;
}
#overview ol li {
padding-left: .5em;
}

#partner {
text-align: center;
margin-bottom: 0;
}
#partner h3 {
text-align: center;
}
#partner h3 div {
color: #FFF;
left: 50%;
transform: translate(-50%,-50%);
}
#partner figure {
background: #FFF;
text-align: left;
margin: 2em auto;
padding: 1.5em 3em;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
#partner figure div {
flex-basis: 18%;
text-align: center;
}
#partner figcaption {
flex-basis: 80%;
}
#partner figure h4 {
font-size: 19px;
font-weight: 700;
margin-bottom: .5em;
}
#partner figure p {
font-size: 15px;
font-weight: 500;
}

#partner ul {
margin: 2em auto;
display: flex;
justify-content: center;
gap: 3em;
}
#partner ul li {
background: #FFF;
padding: 1.5em 3em;
}


/* archive
------------------------------------------------------------ */
#archive #news {
margin: 0;
}

/* single
------------------------------------------------------------ */
#single #post {
padding-top: 0;
}
#single #post time {
color: #999;
font-size: 14px;
}
#single .post {
margin: 2em 0;
padding: 2em 0;
border-top: 1px solid #C9CACA;
border-bottom: 1px solid #C9CACA;
}


/* footer
------------------------------------------------------------ */
footer {
background: rgba(26,26,124,.5) url("img/footer.jpg") no-repeat center bottom 20%/cover;
background-blend-mode: multiply;
text-align: center;
padding: 8em 4% 2em;
}
footer h1 {
max-width: 60%;
margin: 0 auto;
}
footer strong {
font-size: 15px;
font-weight: 500;
display: block;
}
footer p {
color: #FFF;
font-size: 14px;
margin-top: 5em;
}

#pagetop a {
text-decoration: none;
}
#pagetop {
display: none;
color: #E6E6E6;
font-size: 90%;
font-weight: 700;
height: 50px;
padding: 0 0 0 35px;
border-top: solid 1px;
position: fixed;
right: 2%;
bottom: 3%;
transform: rotate(90deg);
}
#pagetop::before {
content: "";
width: 15px;
border-top: solid 1px;
position: absolute;
top: -1px;
left: 0;
transform: rotate(35deg);
transform-origin: left top;
}





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

/* main
------------------------------------------------------------ */
#outlook h4 {
font-size: 30px;
}

}


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

/* common
------------------------------------------------------------ */
article {
margin: 1.5em 0;
}
section {
padding: 2em 0;
}

/* .more */
.more {
text-align: center;
}

/* header
------------------------------------------------------------ */
header #logo {
max-width: 20%;
}
#archive header,
#single header {
height: 25svh;
}

/* main
------------------------------------------------------------ */
#about {
display: block;
}

#outlook {
padding: 0 0 2em;
display: block;
}

}


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

/* set
------------------------------------------------------------ */
.smp {
display: block;
}

/* common
------------------------------------------------------------ */
h3 div {
font-size: 120px;
}

/* #thumb */
#thumb {
font-size: 11px;
letter-spacing: 0;
padding: 1em 0;
}

/* .list */
.list {
margin-top: 0;
}
.list li a {
display: block;
}

/* header
------------------------------------------------------------ */
header {
/*height: 50svh;*/
}
header #logo {
max-width: 30%;
}
#archive header,
#single header {
height: 20svh;
}
#btn {
width: 60px;
}

/* main
------------------------------------------------------------ */
#outlook h4 {
font-size: 20px;
}

#overview table {
font-size: 15px;
margin: 1em 0;
}
#overview th {
width: 100%;
padding: .5em 1em;
display: block;
border-bottom: 1px solid #C9CACA;
}
#overview td {
padding: 1em .5em;
display: block;
}
#overview td:before {
display: none;
}

#partner figure {
padding: 1em;
display: block;
}

#partner ul {
display: block;
}
#partner ul li {
margin-bottom: 2em;
padding: 1em;
}

/* single
------------------------------------------------------------ */
#single #post time {
font-size: 12px;
}
#single .post {
margin: 1em 0;
padding: 1em 0;
}

/* footer
------------------------------------------------------------ */
footer {
padding: 4em 4% 2em;
}
footer strong {
font-size: 12px;
}
footer p {
font-size: 10px;
}

}