@charset "UTF-8";
@import url("../css/font.css");


/*common class*/
.flex-wrapper {
position: relative;
display: flex;
flex-wrap: wrap;
}
.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.5em;
}
.alignleft {
    float: left;
    margin-right: 1.5%;
    margin-bottom: 1.5em;
}
.alignright {
    float: right;
    margin-left: 1.5%;
    margin-bottom: 1.5em;
}
.alignnone {
    display: block;
    margin-bottom: 1.5em;
}
.size-full {
    display: block;
    width: 100%;
    margin-bottom: 1.5em;
}
.size-medium {
    max-width: 100%;
    width:48%;
    height: auto;
    margin-bottom: 1.5em;
}

.size-thumbnail {
    max-width: 150px;
    height: auto;
    margin-bottom: 1.5em;
}
.entry-content::after {
    content: "";
    display: table;
    clear: both;
}
.wp-caption,
[class*='wp-image'] {
display: block;
max-width: 100% !important;
text-align: center;
}
.wp-caption-text {
margin-top: 0;
}
.img-2X{
width:200%;
height:200%;
}
.flexcenter {
display: flex;
justify-content: center;
flex-wrap:wrap;
}


/*swiper*/
.swiper-initialized .swiper-wrapper{visibility: visible;opacity:1;-webkit-transition: all 0.5s;transition: all 0.5s;}
.swiper-wrapper{user-select: none;-webkit-user-select: none;}
.swiper-initialized .spinner {display:none;}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {margin: 7px;}
.swiper-pagination-bullet {height: 20px;width: 20px;}
.slide-img img{ display: block; }
.swiper-pagination {text-align:left; margin-left:1em;}
.swiper-pagination-bullet {background: rgba(255,255,255,.7); opacity:1; border:3px #f5f5f5 solid;}
.swiper-pagination-bullet-active {background: #2063c7; opacity:1;}
@media screen and (min-width: 961px){
#mainvisual .swiper-slide {margin:0 auto;}
.swiper-button-prev.swiper-button-disabled-user,
.swiper-button-next.swiper-button-disabled-user {opacity: 0.35;cursor: auto;pointer-events: none;}
.swiper-pagination-not-clickable {opacity: 0.5;pointer-events: none;}
}



/* header */
#header {
background: #2063c7;
background: linear-gradient(120deg,rgba(32, 99, 199, 1) 20%, rgba(33, 108, 206, 1) 30%, rgba(0, 145, 255, 1) 30%, rgba(61, 200, 255, 1) 100%);
}
#header a {color:#FFF;}
#header_inner{
position:relative;
z-index:3;
display: flex;
margin:auto;
transition: .5s;
height:100%;
}
#header h1 {
text-align:center;
display: flex;
justify-content: center;
align-items: center;
transition: .5s;
}
#header h1 span {
display:block;
letter-spacing:1px;
}
#header-sns svg {
width: 2rem;
height: 2rem;
vertical-align: top;
fill:#FFF;
}
#header-sns a:hover svg {fill: #0066BB;}


/* page */
#toppage,#page{ 
height:100%;
padding:0;
position:relative;
padding-top:80px;
}


/* parallax */
.parallax_wrapper{
position:relative;
overflow-x: hidden;
overflow-y: auto;
}
.parallax_content{
background-attachment: fixed;
background-position: 30% top;
background-size: cover;
background-repeat: no-repeat;
padding: 0;
}
.img_bg_01.lazyloaded{
background-image: url("../img/bg-aisatsu.jpg");
}
.img_bg_02.lazyloaded{
background-image: url("../img/bg-blog.jpg");
}


/*section-header*/
.section-header {
 position:relative;
}
.section-header h2 {
position: relative;
margin:auto;
font-size: 5vw;
line-height:1.2;
letter-spacing:2px;
color:#2063c7;
text-align:center;
text-shadow:
1px 5px #FFF, 1px -5px #FFF,
-1px 5px #FFF,-1px -5px #FFF,
2px 4px #FFF, 2px -4px #FFF,
-2px 4px #FFF,-2px -4px #FFF,
3px 3px #FFF, 3px -3px #FFF,
-3px 3px #FFF,-3px -3px #FFF,
4px 2px #FFF, 4px -2px #FFF,
-4px 2px #FFF,-4px -2px #FFF,
5px 1px #FFF, 5px -1px #FFF,
-5px 1px #FFF,-5px -1px #FFF;
}
.section-header h2:after {
display: block;
font-size: 1.2rem;
}
.section-header p {
position:relative;
margin: auto ;
}



/*latest_news*/
#latest_news {
width:92%;
height:100%;
margin:0 auto;
padding:3rem;
position:relative;
display:flex;
align-items: stretch;
justify-content: space-between;
}
#latest_news:before {
content:"新着情報";
display:flex;
position:relative;
align-items: center;
justify-content:center;
font-size:3vw;
width:26%;
border:2px #0066DD solid;
color:#0066DD;
z-index:1;
}
#latest_news:after {
content:"";
display:block;
position:absolute;
z-index:0;
width:100%;
height:60%;
background-color:#f2f9ff;
transform: rotate(-16deg)skewX(-16deg)scale(1.4)translate(0vw,30%);
}
#latest_news ul {
position:relative;
width:68%;
z-index:1;
}
#latest_news li {
padding: 1rem;
border-bottom:1px #ccc dotted;
}
#latest_news li:after {
content:"";
display: block;
clear:left;
}
#latest_news li:first-child {
padding-top: 0;
}
#latest_news span {
display: block;
}
#latest_news span:nth-of-type(1) {
color:#aaa;
font-size:85%;
}
#latest_news span:nth-of-type(2) {
}
#latest_news a {
color:#0066DD;
text-decoration:underline;
}
#latest_news a:hover {
font-weight: 800;
}
#latest_news a:hover:after{
width: 100%;
}
#latest_news img {
margin: 0 15px 0 0 !important;
width: 75px;
}




/*resume*/
#resume{
background-color: #f3f3f3;
background-image: radial-gradient(#FFF 40%, transparent 30%);
background-size: 4px 4px; position:relative;
z-index:1;
}
#resume_inner {
max-width:1280px;
width:86%;
margin:0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items:stretch;
padding:6rem 0;
}
#profile-name {width:40%;}
#profile-name h3 {color:#2063c7; white-space:nowrap;}
#profile-name h3 span:nth-of-type(1){ display:block;}
#profile-name h3 span:nth-of-type(2){ display:block; font-size: 6rem; line-height:1; letter-spacing:1px; text-align:center;}
#profile-name h3 span:nth-of-type(3){ display:block; font-size: 2rem; white-space: nowrap; text-align:center; color:#0066BB;}

#profile {width:60%; margin:auto;}
#profile dl{ display: flex; flex-wrap: wrap; margin-top:3rem;}
#profile dt,#profile dd {padding: .5em; margin: 0 0 20px 0;}
#profile dt {
width:25%;
background-color: #2063c7;
color:#fff;
display: flex;
align-items: center;
justify-content: center;
}
#profile dd {
width:75%;
background-color: #FFF;
}
#prof-image {
height: 100%;
width: 75%;
margin:0 auto;
}

#resume nav { width:100%;overflow:visible;}
#resume nav ul { display:flex; flex-wrap:wrap; justify-content:center; gap:3vw 3%;}
#resume nav li { flex-basis:calc( 94% / 3);}
#resume nav a {display:grid; place-content:center; min-height:150px; background:#FFF;text-align:center; border:5px solid #2063c7;transition: .3s;}
#resume nav a:hover {transform:scale(1.2);}

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

}





/* aisatsu */
#aisatsu .section-header {
padding: 6rem 0 3rem;
}
#aisatsu h2:after{
content:"MESSAGE";
}
#aisatsu .parallax_content{
padding:0 0 10rem;
}
#aisatsu .content {
background-color:rgba(255,255,255,.8);
padding:6vw;
position:relative;
width:70%;
max-width:1280px;
margin:auto;
border-radius:1rem;
font-size:2rem;
line-height:1.8;
font-weight:800;
letter-spacing:1px;
margin-left:auto;
margin-right:15%;
}
#aisatsu .content div {
display:flex;
flex-wrap:wrap;
justify-content:end;
}
#aisatsu .content div span{
display:block;
}
#aisatsu .content div span:nth-of-type(1) {
font-size:1.6rem;
}
#aisatsu .content div span:nth-of-type(2) {
line-height:1;
font-size:4rem;
white-space:nowrap;
}
#aisatsu .content strong {
font-size:120%;
color:#c02;
letter-spacing:0;
}
@media only screen and (max-width: 520px){
#aisatsu .content{width:82%;}
}




/* policy */
#policy {
position:relative;
background: linear-gradient(60deg, rgba(200, 230, 255, 1) 0%, rgba(26, 169, 240, 1) 30%, rgba(0, 145, 255, 1) 30%, rgba(255, 255, 255, 1) 100%);
z-index: 0;
}
#policy .section-header{
position:absolute;
top:13vw;
left:50%;
overflow:visible;
z-index:2;
}
#policy .section-header:after{
content:"VISION";
position:absolute;
top:50%;
left:50%;
font-size:12vw;
color:rgba(66, 135, 245,.7);
z-index:0;
transform: translate(-49%, -25%);
}
#policy .section-header h2 {
line-height:1.2;
z-index:2;
}
#policy .section-header p {
position:relative;
color:#FFF;
margin-top:.5em;
z-index:1;
}
#policy .section-body{padding-top:50vh; padding-bottom:6vw;}
#policy .section-header p{
font-size:2rem;
text-align:center;
}
#policy .content {
max-width:1280px;
margin:0 auto 2vw;
display: flex;
justify-content: center;
align-items: center;
position:relative;
z-index:2;
}
#policy .content:last-child {
margin-bottom:0;
}
#policy .header {
font-size: 2.4rem;
color: #0066BB;
margin-bottom: 1rem;
}
#policy .image {
width: 70%;
order:2;
overflow:visible;
}
#policy .image figure{
background:#fff;
padding:1.5vw;
}
#policy .image img {
width: 100%;
}
#policy:before {
height:500px;
width:100%;
position:absolute;
content:"";
padding-bottom:3rem;
background-image:url("../img/bg-vision.jpg");
background-repeat:no-repeat;
background-size:contain;
padding-top: 37.5%;
z-index:1;
}
#policy:after {
content:"";
height:50vh;
width:100%;
background:#2063c7;
background: linear-gradient(120deg,rgba(26, 169, 240, 1) 0%, rgba(48, 121, 240, 1) 100%);
position:absolute;
transform: rotate(-10deg) skewX(-10deg) scale(1.2) translate(0vw, 30%);
z-index:1;
top:40vh;
left:0;
}
#political-policy {width:92%; max-width:1280px; margin:auto;}
#political-policy ul {display: flex; justify-content: space-between; align-items: center;flex-wrap: wrap; }
#political-policy ul li {width:30.5%; margin:1.5% auto; list-style:none; padding:1.5rem; border-radius:1rem;}
#political-policy ul h3 {color:#FFF; background-color:#2063c7; padding:.5rem 1rem;}
#political-policy ul li p img{width:100%;}
#political-policy ul li p:nth-of-type(1){margin-bottom:1rem;}
@media only screen and (max-width: 960px){
#political-policy {width:92%;}
#political-policy ul li {width:47%; margin:2% auto; }
}





/* topics */
#topics {
background:#ff0;
padding:5vw 10vw;
}
#topics .section-body {
display:flex;
justify-content:space-between;
overflow:visible;
}
#topics .flex-item {flex-basis:46%;}
#topics h3 {margin-bottom:2vw;}
#topics a {transition: .3s;}
#topics .flex-item:nth-of-type(1) svg {fill:#2063c7; width:2.4vw; height:2.4vw;vertical-align:-4px; margin-right:3px;}
#topics .flex-item:nth-of-type(1) a {
display:block; padding:.5em .75em; border-radius:.5em; color:#2063c7; font-size:2.4vw; text-align:center;background:#fff;}
#topics .flex-item:nth-of-type(1) a:hover {transform:scale(1.2);}
#topics .recent-posts-list li {background:#FFF;}
#topics .recent-posts-list a {display:block; font-size:1.5vw; line-height:2; color:#2063c7; padding:0 .5em; margin-bottom:8px;}
#topics .recent-posts-list svg {fill:#2063c7; width:1.5vw; height:1.5vw;vertical-align:-3px; margin-right:2px;}
#topics .recent-posts-list a:hover {transform:translateX(20px);}





/* SNS */
#sns-links{
position:relative;
padding-bottom:6rem;
background:#2063c7;
}
#sns-links .section-header h2 {
z-index:1;
}
#sns-links .section-header{
padding: 6rem 0 3rem;
}
#sns-links .section-header h2:after{
content:"SNS";
}
#sns-links .section-header p {
margin-top:1rem;
text-align: center;
}
#sns-links .section-body {display: flex;flex-wrap: wrap;justify-content: center;
    max-width: 1280px;
    width: 80%;
    margin: 0 auto;
    overflow-x: visible;
    gap:8%;
}
#sns-links li {width:calc(60% / 5); text-align:center; color:#fff; overflow:visible;}
#sns-links li a {display:block; color:#fff;transition: .3s;}
#sns-links li a:hover {transform:scale(1.2);}
#sns-links li svg {display:block; width:100%; fill:#fff;}



/* facebook */
#facebook {
width:100%;
position:relative;
overflow-x: hidden;
background:#eee;
}
#facebook div.wrapper{
width:80%;
max-width:500px;
margin:0 auto;
}
#facebook .wrapper {
position:relative;
height:800px;
max-width:500px;
}
#facebook .section-header{
width:100%;
padding:5rem 0 0;
margin-bottom:1rem;
}
#facebook h3{
font-size:4rem;
line-height:1.6;
color:#2063c7;
text-align:center;
}
#facebook h3 svg{
display: inline-block;
position:static;
width:50px;
height:50px;
margin-right:10px;
vertical-align:-5px;
transform: translate(0%, 0%);
fill:#2063c7;
}
#facebook .section-header p{
text-align:center;
}
#facebook p.follow{
margin:1rem auto 3rem;
text-align:center;
}
#facebook p.follow a {
display:inline-block;
color:#FFF;
background:#2063c7;
padding:.5rem;
}
#facebook p.follow a:hover {
background:#0066BB;
}
#facebook p.follow svg{
display: inline-block;
position:static;
width:2rem;
height:2rem;
margin-left:10px;
margin-right:10px;
vertical-align:-5px;
transform: translate(0%, 0%);
fill:#FFF;
}
#facebook-embed{
position:relative;
width:100%;
max-width: 500px;
margin: 0 auto;
}


/* youtube */
#youtube {
background-color: #DDE6EC;
padding:5vw 10vw;
}
#youtube .section-body {
display:flex;
justify-content:space-between;
overflow:visible;
}
#youtube .flex-item:nth-of-type(1) {flex-basis:38%;}
#youtube .flex-item:nth-of-type(2) {flex-basis:55%;}

#youtube h3 {font-size:4vw; margin-bottom:1vw;}
#youtube h3 svg.icon{
width:60px !important;
height:60px !important;
margin-right:10px;
vertical-align:-10px;
fill:#F00;
}
#youtube p.follow a {
display:inline-block;
color:#FFF;
background:#2063c7;
padding:.5rem;
transition: .3s;
}
#youtube p.follow a:hover {
transform:scale(1.2);
}
#youtube p.follow svg{
display: inline-block;
position:static;
width:2rem;
height:2rem;
margin-left:10px;
margin-right:10px;
vertical-align:-5px;
transform: translate(0%, 0%);
fill:#FFF;
}
#youtube .iframewrapper {
position: relative;
width:100%;
overflow: hidden;
padding-top: calc(56.25%);
}
#youtube .iframewrapper iframe {
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%;
}
.videoInfo p:nth-of-type(1) {
font-size:1.2rem;
padding:0 .5em .1em;
color: #FFF;
background-color: #015;
}




/* アクセス */
#access { 
 background: linear-gradient(180deg, rgba(0, 155, 221,1) 50%, rgba(240,240,240,1) 50.01%);
width:100%;position:relative; overflow: hidden;padding: 0 0 80px;}
#access-wipe {background: #f3f3f3; width: 100%; height: 100%;position: absolute;inset: 0;z-index:0;display:block;}
#access .section-header{
padding: 6rem 0 0;
}
#access .section-header h2{
color:#fff;
text-shadow:none;
}
#access h3 {
color:#fff;
font-size:3.2rem;
text-align:center;
margin-bottom:1rem;
}
#access dl {
color:#fff;
max-width:1280px;
margin:0 auto 3rem;
font-size:2rem;
line-height:2;
text-align:center;
display:flex;
flex-wrap: wrap;
width:60%;
border-top:1px #fff solid;
}
#access dt {
width: 25%;
border-bottom:1px #fff solid;
}
#access dd {
width: 75%;
border-bottom:1px #fff solid;
text-align:left;
}
#googlemap { width:75%; max-width:1280px; margin:0 auto;}
#googlemap iframe {width:100%;}


/* リンクバナー */
#link_banners {
position:relative;
min-height:120px;
background: #F3F3F3;
}
#link_banners .animate {
transition: 450ms all;
max-height: 100%;
z-index:3;
position:relative;
padding:2vw 5vw;
}
#link_banners ul {
display: flex;
flex-wrap:wrap;
align-items: center;
justify-content: center;
gap:1rem;
}
#link_banners ul li {display: block;}
#link_banners a { display:block;background:#fff; padding:1rem 1.25rem; border-radius:5px;transition: .3s all; color: #2063c7;}
#link_banners a:hover {transform:scale(1.2);background:#2063c7;color:#fff;}
#link_banners a svg {width:1.6rem;height:1.6rem; vertical-align: -2px; fill:#2063c7;}
#link_banners a:hover svg { fill:#fff;}

/* footer */
#footer {
background-color: #2063c7;
position:relative;
overflow: hidden;
}

/* フッターメニュー */
#footer-menu-wrapper{
display: flex;
flex-wrap:wrap;
width: 92%;
max-width: 1280px;
margin: auto;
padding: 60px 0;
position: relative;
z-index: 1;
}
#footer-menu {
color: #FFF;
flex-basis: 45%;
order: 2;
height: 13em;
display: flex;
justify-content: start;
flex-flow: column wrap;
}
#footer-menu li{
line-height:1.6;
min-width:33%;
margin-bottom:1rem;
}
#footer-menu a{
color:#FFF;
}

/* フッターロゴ */
#footer-logo {
flex-basis:40%;
position: relative;
order: 1;
margin-right:2%;
}
#footer-logo p.name {
color:#FFF;
font-size:5rem;
font-weight: 800;
text-align: center;
letter-spacing: 2px;
line-height:1.6;
margin-bottom:20px;
margin-right:-2px;
}
#footer-logo p span {
display:block;
font-size:2.1rem;
line-height:1;
}
#footer-logo ul{
display: flex;
justify-content: space-between;
width: 60%;
margin:0 auto 40px;
max-width:240px;
}
#footer-logo ul li {
flex-basis:calc(100% / 5);
text-align:center;
}
#footer-logo li a {
display:block
}
#footer-logo svg {
width: 100%;
height: 50px;
vertical-align: top;
fill: #FFF;
}

#footer-menu-wrapper > ul a {
position: relative;
white-space: nowrap;
}
#footer-menu-wrapper > ul a:hover {
font-weight:800;
}
#footer-menu-wrapper > ul a:after {
display: block;
position: absolute;
content: '';
width: 0%;
height: 2px;
margin: -3px 0 0;
background-color: #FFF;
transition: all .3s ease-out;
}
#footer-menu-wrapper > ul a:hover:after {width:100%;}
#footer-logo a:hover svg {fill: #0066FF;}
#footer-bg1 {
 background: linear-gradient(165deg, rgba(0, 60, 170, .8) 25%, rgba(0, 0, 0, 0) 25.1%);
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 0;
display:block;
}
#footer-bg2 {
background: linear-gradient(240deg, rgba(0, 85, 187,.5) 20%, rgba(0, 85, 187, 0) 20.1%);
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 0;
display:block;
}
#footer-bg3 {
background: linear-gradient(165deg, rgba(0, 179, 255, .4) 70%, rgba(255, 255, 255, 0) 70.1%);
opacity:.8;
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 0;
display:block;
}
#footer-bg4 {
background: linear-gradient(35deg, rgba(0, 179, 255, .4) 30%, rgba(255, 255, 255, 0) 30.1%);
opacity:.8;
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 0;
display:block;
}


/* コピーライト */
#copyright {
color:#FFF;
width:100%;
text-align:center;
flex-basis:100%;
}
#copyright p{font-size: 1.2rem; line-height:1.8; margin-bottom:0;}
#copyright p:nth-of-type(2){font-size: 1rem; color:#39E;}
#copyright p:nth-of-type(2) a {color:#0066BB;}

/*breadcrumb*/
#top_breadcrumb {margin-top: 80px;}
.breadcrumb {background:#DDD; font-size:1.4rem; padding:.5rem 0;}
.breadcrumb ol { max-width:1280px; width:92%; margin:auto; display:flex; flex-wrap:wrap;}
.breadcrumb li a { display:block; }
.breadcrumb li a:hover { text-decoration:underline; }
.breadcrumb li a:after { content:"\02192"; display:inline-block; padding:0 .5rem; }

/*body*/
#body {
position:relative;
margin-top: 0;
background:#eee;
padding-bottom: 30px;
}


#body .header h1 {font-size:4vw; line-height:1; color:#2063c7;}
#body .header h1 a { color:#2063c7; font-size:4rem; line-height:1; padding:1rem 0 0; vertical-align:bottom;}
#body .header p {color:#FFF; display:inline-block; margin:0 0 0 12px; font-size:1.4rem; border-top:2px #fff solid; border-bottom:2px #fff solid;}

#body #mainvisual {
position: relative;
margin: 0 auto;
overflow: hidden;
width:100%;
background-color: #FF0;
}
#body #mainvisual .mv-img{
position: relative;
bottom:0;
left:0;
width:60%;
margin:0 auto;
}
#body #mainvisual .mv-img{
position: relative;
top:0;
left:0;
}
#body #mainvisual .mv-img img{
object-fit: contain;
}
#mainvisual #topmv-bg1 {
background: #2063c7;
width: 48%;
height: 45%;
position: absolute;
top: 0;
left: 0;
z-index: 0;
display:block;
transform: skewX(340deg) rotate(340deg) translateX(0%) translateY(15%) !important;
}
#mainvisual #topmv-bg2 {
background: #2063c7;
width: 48%;
height: 75%;
position: absolute;
top: 0;
left: 0;
z-index: 0;
display:block;
transform: skewX(340deg) rotate(340deg) translateX(100%) translateY(68%) !important;
}
#mainvisual #topmv-bg3 {
width: 35%;
height: 100%;
position: absolute;
top: 10%;
left: 0%;
z-index: 0;
display: block;
transform: translateX(20%) !important;
}
#mainvisual #topmv-bg4 {
width: 65%;
max-width:800px;
height: auto;
max-height:810px;
position: absolute;
bottom: 0;
left: 50%;
z-index: 1;
display:block;
transform: translateX(-50%) !important;
overflow-y: hidden;
}
#body #mainvisual .mv-name p {
font-size:6vw;
text-align:center;
}
#body #mainvisual .mv-name{
position: absolute;
top: 50%;
right: 28%;
width: 17%;
transform: translateY(-50%);
}
#body.page .header {
width:86%;
max-width:1280px;
margin:0 auto;
text-align:center;
padding:1.75vw 0 0;
}
#page-contents{
width:86%;
margin: 0 auto;
max-width: 1280px;
position: relative;
top:2vw;
padding-bottom:2vw;
}
#body .section-header {
padding: 0;
margin-bottom:2rem;
}
#body .section-header h2 {
font-size:4rem;
}



/* page > profile */
.profile-section-header.flex {display:flex; justify-content:space-between; background: #2063c7; background: linear-gradient(270deg,rgba(32, 99, 199, 1) 0%, rgba(61, 200, 255, 1) 100%);}
.profile-section-header a {color:#2063c7;text-decoration:underline;}
.profile-section-header div {flex-basis:50%; display:grid; place-content:center;}
.profile-section-header div h2 {font-size:4.5vw;}
.profile-section-header div p {color:#FFF; width:75%; margin:0 auto;}
.profile-section-header p {flex-basis:50%;}

.profile-container {
    max-width: 1280px;
    margin: 40px auto;
    padding: 0 8vw;
}
.profile-container section {
    margin-bottom: 50px;
}
.history-details h3 {
    color: #005bac;
    border-bottom: 2px solid #005bac;
    padding-bottom: 10px;
    margin-bottom: 20px;
    font-weight: bold;
}
.history-details h3 {
    font-size: 22px;
    margin-top: 40px;
}
.section-header h2 {margin-bottom:2vw;}
.section-header p {
    text-align: center;
    font-size: 18px;
}
.roles {
    background-color: #f8f9fa;
    border-left: 5px solid #005bac;
    padding: 20px;
    margin: 30px 0;
    border-radius: 4px;
}
.roles strong {
    color: #005bac;
    font-size: 1.1em;
}
.profile-img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    display: block;
}
.flex-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
    align-items: flex-start;
}
.flex-1 { flex: 1; min-width: 280px; }
.flex-2 { flex: 2; min-width: 300px; }
.image-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); 
    gap: 15px;
    margin: 20px 0;
}
.text-center { text-align: center; }

.summary-table {
    overflow-x: auto;
    margin-top: 30px;
}
.summary-table table {
    width: 100%;
    border-collapse: collapse;
    background-color: #fff;
    border: 1px solid #ddd;
}
.summary-table th {
    background-color: #ededed;
    color: #333;
    width: 25%;
    padding: 15px;
    text-align: left;
    vertical-align: top;
    font-weight: bold;
    border: 1px solid #ddd;
}
.summary-table td {
    padding: 15px;
    vertical-align: top;
    border: 1px solid #ddd;
}
.influence-item {
    display: flex;
    gap: 15px;
}
.influence-img {
    width: 100px;
    flex-shrink: 0;
}
.influence-text p {
    margin: 0;
}
.influence-thought {
    margin-top: 10px !important;
}
.profile-container .flex-wrapper {gap:2rem}
.profile-container .flex-wrapper p {width:31%;}


/* --- レスポンシブ (スマホ対応) --- */
@media screen and (max-width: 768px) {
    .profile-container {
        margin: 20px auto;
    }
    .summary-table th, 
    .summary-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
    .summary-table th {
        border-bottom: none;
    }
    .influence-item {
        flex-direction: column;
    }
    .flex-row {
        flex-direction: column;
    }
.image-grid {
        grid-template-columns: 1fr;
    }
.profile-container .flex-wrapper p {width:100%;}

}


/* page > reports */

#body.page-reports #page-contents {
width:86%;
max-width:1280px;
justify-content: space-between;
padding-bottom:30px;
}

#page-contents .section {
/* flex-basis:calc((100% - 30px) / 2); */
flex-basis:100%;
padding:4rem 3rem 3rem;
background-color:#FFF;
border-radius:2rem;
}
#page-contents .section .section-header p {
width:100%;
text-align:center;
}

#body.page-reports #blog a {display:block; padding:.5rem 1rem;background: #f8f8f8;position: relative;}
#body.page-reports #blog a:hover {background-color:#2063c7; color:#FFF;font-weight: 800;}
#body.page-reports #blog a::after {
content: "\300B";
position: absolute;
top:0;
right: 0;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
width: 1.5em;
}
#body.page-reports #blog a:hover::after {
right: -5px;
transition: .4s;
}
#body.page-reports #blog li {
margin-bottom: 5px;
}

#body.page-reports #twitter h2 svg,#body.page-reports #facebook h2 svg {
display: inline-block;
position: static;
width: 40px;
height: 40px;
margin-right: 10px;
vertical-align: -5px;
fill: #2063c7;
}

#blog-index .parallax_content {
padding: 0 0 10rem;
}
#ameblo {
max-width:800px;
margin-left:8%;
margin-right:auto;
}
#ameblo li {
margin-bottom: 5px;
background: #f8f8f8;
}
#ameblo a {
display: flex;
line-height: 1;
position: relative;
background: #f8f8f8;
align-items: center;
justify-content: center;
}
#ameblo a:hover {
background: #2063c7;
color:#fff;
font-weight: 800;
}
#ameblo a::after {
content: "\300B";
position: absolute;
right: 0;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
width: 1.5em;
}
#ameblo a:hover::after {
right: -5px;
transition: .4s;
}
#ameblo span {
display: inline-flex;
padding: 0 .75rem;
border-right: 1px #FFF solid;
line-height: 1.1;
align-items: center;
}
#ameblo span::after {
content: "";
height: 2.5em;
vertical-align: -.85rem;
display: inline-block;
}
#ameblo .date {
flex-basis: 20ex;
justify-content: start;
padding: 0 1rem;
}
#ameblo .category {
flex-basis: 13%;
justify-content: center;
}
#ameblo .description {
flex-basis: 70%;
justify-content: start;
}
#ameblo span:last-child {
border-right: none;
}

/*search-result*/
#body.search #article{
width:100%;
}
#article.search .search-result{
background: #FFF;
padding: 2rem3rem;
border-radius: 1.5rem;
margin-bottom: 30px;
}
#article.search li{
background:#FFF;
padding: 2rem 3rem;
border-radius:1.5rem;
margin-bottom:30px;
position:relative;
}
#article.search li:last-child{
margin-bottom:0;
}
#article.search h3 a{
display: inline-block;
position: relative;
color: #2063c7;
}
#article.search h3 a:after {
display: block;
position: absolute;
content: '';
width: 0%;
height: 2px;
margin: 0;
bottom: 0px;
background-color: #2063c7;
transition: all .3s ease-out;
}
#article.search h3 a:hover:after {
width:100%;
}
#article.search p {
font-size:92%;
}
#article.search p:nth-of-type(1) {
margin-bottom:.5rem;
}


/* post > blog */
#body.single-common #article {font-size:clamp(1.6rem,1.6vw,2.4rem);}

.layout-2column {
display:flex;
justify-content: space-between;
align-items: flex-start;
width:92%;
max-width:1280px;
margin:0 auto;
}
#article {
position: relative;
z-index:1;
flex-basis:70%;
width:70%;
font-size:clamp(1.6rem,1.4vw,2.4rem);
}
#page-contents.layout-1column #article {
position: relative;
z-index:1;
flex-basis:100%;
width:100%;
font-size:clamp(1.6rem,1.4vw,2.4rem);
}
#article #post {
background:#FFF;
padding:3rem;
border-radius:2rem;
font-weight:100;
}
#article #post h2,#article #post h3,#article #post h4,#article #post h5,#article #post h6 {
line-height:1.2;
color:#2063c7;
margin-bottom:.5em;
}
#article #post h2 {font-size:150%;}
#article #post h3 {font-size:120%; margin-top:2vw;}
#article #post h4 {font-size:120%; margin-top:2vw;}
#article #post h5 {font-size:120%; margin-top:2vw;}
#article #post h6 {font-size:120%; margin-top:2vw;}
#article #post .youtube {position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%;}
#article #post iframe {position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important;}


#article #post .title a{
color:#2063c7;
font-size:3vw;
line-height:1.2;
}
#article #post .postdate {
font-size:1.2rem;
background: #2063C7;
background: linear-gradient(90deg, rgba(32, 99, 199, 1) 0%, rgba(0, 166, 255, 1) 50%, rgba(0, 166, 255, 0) 100%);
color:#FFF;
padding:.25rem 1rem;
margin-bottom:2.5rem;
}
#article #post img {
max-width: 100%;
}

#article .post-navigation {
display:flex; justify-content:space-between; margin-top:2vw;
}
#article .post-navigation div {
flex-basis:48%;

}
#article .post-navigation a {
display:block;
background:#2063C7;
color:#FFF;
font-size:85%;
transition:.1s;
border-radius:1rem;
padding:.5rem 1rem;
}
#article .post-navigation .prev a:hover {
transform:translateX(-2vw);
}
#article .post-navigation .next a:hover {
transform:translateX(2vw);
}
#article .post-navigation a span.title {
  display:block;
  text-align:center;
  border-top: 1px rgba(255,255,255,.5) solid;
}
#article .post-navigation .next span:nth-of-type(1){
  display: block;
  text-align:right;
}

#article.archive li{
background:#FFF;
padding: 2rem;
border-radius:1.5rem;
margin-bottom:30px;
position:relative;
display:flex;
justify-content:space-between;
align-items: start;
border-left:2rem solid #2063c7;
}
#article.archive li:last-child{
margin-bottom:0;
}
#article.archive h3 a{
display: inline-block;
position: relative;
color: #2063c7;
line-height:1.4;
}
#article.archive h3 a:after {
display: block;
position: absolute;
content: '';
width: 0%;
height: 2px;
margin: 0;
bottom: 0px;
background-color: #2063c7;
transition: all .3s ease-out;
}
#article.archive h3 a:hover:after {
width:100%;
}
#article.archive p.postdate {
font-size:75%;
padding-left:.5em;
color:#FFF;
background: #2063c7;
background: linear-gradient(90deg, rgba(32, 99, 199, 1) 0%, rgba(0, 166, 255, 1) 50%, rgba(0, 166, 255, 0) 100%);
}
#article.archive p.description {
font-size:85%;
}
#article.archive p.img {
flex-basis:22%;
}
#article.archive div {
flex-basis:75%;
}
#article.archive p.img img {
max-width:none;
}
.category-leaflet #article.archive{
width:100%;
}
.category-leaflet #article.archive ul{
display:flex;
flex-wrap:wrap;
justify-content: start;
}
.category-leaflet #article.archive li{
background:transparent;
padding: 0;
border-radius:0;
margin-bottom:25px;
margin-right:25px;
position:relative;
flex-basis:calc((100% - 75px) / 4);
}
.category-leaflet #article.archive li:nth-of-type(4n){
margin-right:0;
}
.category-leaflet #article.archive li:before{
content: none;
}
.category-leaflet #article.archive li a{
display:block;
background:#fff;
border-radius:1rem;
overflow:hidden;
transition:.5s all;
}
.category-leaflet #article.archive li a p.image{
overflow:hidden;
}
.category-leaflet #article.archive li a:hover{
color:#2063c7;
}
.category-leaflet #article.archive li a img{
transition:.5s all;
}
.category-leaflet #article.archive li a:hover img{
transform:scale(1.2);
}
.category-leaflet #article.archive li h3{
line-height:1.3;
position: relative;
margin-bottom:.5rem;
padding: 0 1.5rem;
}
.category-leaflet #article.archive li h3:after {
display: block;
position: absolute;
content: '';
width: 0%;
height: 2px;
margin: 0;
bottom: -2px;
background-color: #2063c7;
transition: all .3s ease-out;
}
.category-leaflet #article.archive li a:hover h3:after {
width: 100%;
}
.category-leaflet #article.archive li p:nth-of-type(2) {
padding: 0 1.5rem 1.5rem;
}


#sidebar {
flex-basis: calc(29% - 1%);
width: calc(29% - 1%);
padding: 3rem 1.5rem;
background:#FFF;
border-radius:2rem;
border-top:2rem #2063c7 solid;
border-bottom:2rem #2063c7 solid;
}
#sidebar h3 {
background: none;
font-size: 16px;
letter-spacing: 2px;
display: inline-block;
position: relative;
width: 100%;
padding: 0;
text-align: center;
color: #2063c7;
margin-top:3rem;
}
#sidebar h3::before,
#sidebar h3::after {
content: "";
position: absolute;
top: 50%;
width: 28%;
border-top: 3px solid #2063c7;
}
#sidebar h3::before {
left: 0;
}
#sidebar h3::after {
right: 0;
}
#sidebar ul.wp-block-latest-posts li a{
line-height:1.1;
}
#sidebar a:hover{
color:#2063c7;
text-decoration:underline;
}
#sidebar ul.wp-block-latest-posts li {
padding:.5rem 0;
}
#sidebar ul.wp-block-latest-posts li:nth-of-type(even) {
background: #f2f9ff;
}
#sidebar a.tag-cloud-link{
display:inline-block;
margin:0 1rem;
white-space:nowrap;
}
#sidebar #profile .avatar {
width:100%;
margin:auto;
max-width:300px;
}
#sidebar #profile h2 {
font-size:1.8rem;
padding:1rem 0;
text-align:center;
}
#sidebar #profile {
font-size:1.4rem;
width:100%;
}
#sidebar #profile table td:nth-of-type(1) {
white-space:nowrap;
background:#eee;
padding:.5rem 1rem;
text-align:center;
}
#sidebar #profile table td:nth-of-type(2) {
padding-left:1rem;
}
#sidebar #profile table td:nth-of-type(2) a {
display: inline-block;
color:#2063c7;
margin-right: 10px;
width: 21px;
height: 21px;
vertical-align:middle;
}
#sidebar #profile svg {
position: static;
width: 100%;
height: 100%;
fill: #2063c7;
}

/*pagenation*/
.pagination {
margin:50px auto 0;
}
.nav-links{
display:flex;
justify-content:center;
align-items: center;
font-size:125%;
font-weight:800;
}
.nav-links a,
.nav-links span {
display:block;
background:#FFF;
text-align:center;
margin:0 .25em;
padding:0 .5em;
border-radius:50%;
}
.nav-links span.current{
background:#2063c7;
color:#FFF;
}
.nav-links a:hover{
color:#2063c7;
}
.nav-links a.prev,
.nav-links a.next {
font-size:80%;
border-radius:1.6rem;
padding:0.3rem 1.5rem;
position:relative;
}



#sidebar form {display:flex; flex-wrap:wrap;justify-content: space-between;}
#sidebar label {width:100%;}
.wp-block-search__inside-wrapper {width:100%;display:flex; justify-content: space-between;}
#sidebar input {width:78%;}
#sidebar button { display:block;width:18%; background:#2063c7; color:#FFF; cursor:pointer;}
#sidebar button svg { fill: #FFF;}
#sidebar .wp-block-search {
border: solid 1px #aaa;
width: 100%;
position: relative;
transition: all 0.3s ease-out;
margin-top:5px;
}
#sidebar .wp-block-search label {
position: absolute;
left: 10px;
top: 50%;
transform: translateY(-50%);
display: block;
margin: 0;
font-weight: 500;
z-index: 1;
color: #aaa;
font-size: 1.6rem;
line-height: 1;
}
#sidebar .wp-block-search input {
background-color: transparent;
padding: .5rem;
border: none;
border-radius: 0;
box-shadow: none;
height: auto;
position: relative;
z-index: 2;
font-size: 18px;
}
.wp-block-archives-list {
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}
.wp-block-archives-list li {
flex-basis:48%;
}



/*前後5記事を表示*/
.prevnext10 {margin-top:2em;}
.prevnext10 li { margin-top:10px;font-size:1.3rem; background:#FFF; padding:1rem 2rem; border-radius:10px;}
.prevnext10 li a {display:block;}
.prevnext10 li a span.title {font-size:1.6rem; display:block;}
.currentPost {background:#2063c7; color:#FFF; padding:1rem 2rem; border-radius:10px;}
.newer,.older { font-size:1.2rem; color:#2063c7; text-align:center; margin:0;}
.newer {margin-top:10px;}

/*page-policy*/
#policy-contents {
max-width:1280px;
padding:0 6rem;
margin:0 auto;
position: relative;
z-index:1;
}

#policy-contents .description {
background:#f5f5f5;
padding:3rem 4rem;
font-size:2.4rem;
}
#policy-contents .content {
background:#f5f5f5;
padding:3rem 4rem;
display:flex;
flex-wrap:wrap;
}
#policy-contents .content .no {
font:900 7rem/1 "Arial",sans-serif;
letter-spacing:-.5rem;
color:#2063c7;
width:50%;
}
#policy-contents .content .header {
font-size:2.4rem;
color:#2063c7;
width:50%;
margin-bottom:1rem;
}
#policy-contents .content .body {
font-size:1.6rem;
width:50%;
}
#policy-contents .content .image {
background:#fff;
width:50%;
}



.page-privacy-policy #privacy-policy.section {
background:rgba(255,255,255,.6);
padding:5rem;
max-width:1280px;
margin:0 auto;
line-height:2;
}
.page-privacy-policy #privacy-policy .section-header p{
font-size:125%;
text-align:left !important;
}
.page-privacy-policy #privacy-policy h3{
color:#2063c7;
margin-top:.15em;
margin-bottom:.15em;
}
.page-privacy-policy #privacy-policy p {
margin-bottom:1.5em;
}
#policy #leaflet-link.body{padding:0;width: 100%; background:transparent;}
#leaflet-link a { width:60%; margin:0 auto; display:block; background-color:#2063c7; color:#fff; transition:.5s all; font-size:2.4rem; font-weight:800;padding: 2rem;text-align:center;}
#leaflet-link a:hover { background-color:#fff; color:#2063c7;}


#support-link.body{padding:0;width: 100%; background:transparent; margin-top:30px; }
#support-link a { width:60%; margin:0 auto; display:block; background-color:#2063c7; color:#fff; transition:.5s all; font-size:2.4rem; font-weight:800;padding: 2rem;text-align:center;border:2px #fff solid;}
#support-link a:hover { background-color:#fff; color:#2063c7;}
#support-link a span {white-space:nowrap;}

/*page-top*/
#page-top {
display:none;
position: fixed;
z-index:100;
right: 15px;
bottom: 15px;
background: #2063c7;
padding: 10px;
border-radius: 50%;
box-shadow: 0 0 5px rgba(0,0,0,.5);
width:50px;
height:50px;
}
#page-top:hover {
background: #fff;
}
#page-top span {
position: relative;
display:block;
opacity: 0;
animation-iteration-count: infinite;
animation-duration: 2.0s;
animation-name: scroll;
}
#page-top span::before,#page-top span::after{
position: absolute;
display:block;
content: "";
border-bottom:3px solid #FFF;
left:0;
top:50%;
width:50%;
transform: rotate(-45deg) translateX(25%);
}
#page-top:hover span::before,#page-top:hover span::after {
border-color: #2063c7;
}
#page-top span::after {
left:auto;
right:0;
transform: rotate(45deg) translateX(-25%);
}
#page-top span:nth-of-type(1) { animation-delay:.5s; top: 10px; }
#page-top span:nth-of-type(2) { animation-delay: .2s; top: 20px; }


/*share*/
#share {
background:#f2f9ff;
display:flex;
justify-content:center;
align-items: center;
padding:1rem 0;
margin:0;
border-top:1px #fff solid;
}
#share p {
font-weight:800;
color:#2063c7;
margin:0 2rem 0 0;
}
#share ul {
display:flex;
}
#share li {
margin:0 2%;
display:grid; place-content:center;
}
#share li a {
display:block;
padding:0 1rem;
border-radius:.5rem;
font-weight:800;
white-space: nowrap;
}
#share svg {
width: 3rem;
height: 3rem;
vertical-align:middle;
margin-right:5px;
}
#share li.x svg{fill:#111;}
#share li.facebook svg{fill:#3b5998;}
#share li.line svg{fill:#00B900;}
#share li.copyhref a {background:#2063c7; color:#FFF; font-size:1.3rem; padding:.3rem .75rem;}
#share.layout-inpost {
display:block;
max-width:auto;
margin:0 auto;
padding:1rem 0 2rem;
}
#share.layout-inpost p {
text-align: center;
width: 100%;
flex-basis: 100%;
margin: 0;
}
#share.layout-inpost ul {
width: 100%;
flex-basis: 100%;
justify-content: center;
}
#share.layout-inpost li a {
display: inline-block;
font-size: 1.3rem;
padding: 2px 8px;
width: 100%;
margin: 0;
}



/*follow*/
#follow {
background:#f2f9ff;
display:flex;
justify-content:center;
align-items: center;
padding:1rem 0;
border-top:1px #fff solid;
}
#follow p {
font-weight:800;
color:#2063c7;
margin: 0 2rem 0 0;
}
#follow ul {
display:flex;
}
#follow li {
width:25%;
margin-right:10px;
}
#follow li a {
display:block;
color:#fff;
padding:0 .5rem;
white-space:nowrap;
}
#follow svg {
width: 3rem;
height: 3rem;
vertical-align:-1px;
margin-right:5px;
fill:#2063c7;
}

/*modal-window*/
.modal-open{ cursor: pointer; text-decoration:underline;}
.modal-container{
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
text-align: center;
background: rgba(0,0,0,50%);
padding: 40px 20px;
overflow: auto;
opacity: 0;
visibility: hidden;
transition: .3s;
box-sizing: border-box;
z-index:101;
}
.modal-container:before{
content: "";
display: inline-block;
vertical-align: middle;
height: 100%;
}
.modal-container.active{
opacity: 1;
visibility: visible;
}
.modal-body{
position: relative;
display: inline-block;
vertical-align: middle;
max-width: 500px;
width: 90%;
}
.modal-close{
position: absolute;
display: flex;
align-items: center;
justify-content: center;
top: -40px;
right: -40px;
width: 40px;
height: 40px;
font-size: 40px;
color: #fff;
cursor: pointer;
}
.modal-content{
background: #fff;
text-align: left;
padding: 30px;
height: 525px;
}
.modal-content iframe{ width: 100%; border: none; height: 100%;}