@charset "UTF-8";
@import url("../css/font.css");


/*common class*/
.flex-wrapper {
position: relative;
display: flex;
flex-wrap: wrap;
}
.aligncenter {
display: block;
margin-right: auto;
margin-left: auto;
}
.alignright {
float: right;
margin-bottom: 20px !important;
margin-left: 20px !important;
}
.alignleft {
float: left;
margin-right: 20px !important;
margin-bottom: 20px !important;
}
.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;
}
h2.wp-block-heading {
font-size:1.6rem;
color:#FC0;
margin-top:2rem;
}
svg.external-link{ width:1.6rem; height:1.6rem; }


/*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: #FC0; 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 {position:relative;
background: rgb(255,250,0);
background: linear-gradient(120deg, rgba(255, 187, 0,1) 30%, rgba(255,250,0,1) 30%);
}
#header #gnavi-pc a {color:#f60;}
#header_inner{
position:relative;
z-index:3;
margin:auto;
transition: .5s;
height:100%;
}
#header h1 {
text-align:center;
display: flex;
justify-content: center;
align-items: center;
letter-spacing: 7px;
}
#header h1 a {width:14vw;
display:flex;
flex-wrap:wrap;
justify-content:center;
align-content:center;
}
#header h1 span {
display:block;
letter-spacing:1px;
}
#header-sns {
top: 3.5em;
right: 2%;
}
#header-sns svg {
width: 2rem;
height: 2rem;
vertical-align: top;
fill:#F60;
}
#header-sns a:hover svg {fill: #111;}


/* page */
#toppage,#page{ 
height:100%;
padding:0;
position:relative;
}


/* parallax */
.parallax_wrapper{
position:relative;
overflow-x: hidden;
overflow-y: auto;
}
.parallax_content{
background-attachment: fixed;
background-position: 50% 50%;
background-size: cover;
background-repeat: no-repeat;
}
.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:#F60;
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 #FC0 solid;
color:#FC0;
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:#FC0;
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:92%;
margin:0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items:stretch;
padding:6rem 0;
overflow-x: hidden;
}
#profile {width:60%; margin:auto;}
#profile h3 {color:#F60;}
#profile h3 span:nth-of-type(1){ display:block;}
#profile h3 span:nth-of-type(2){ display:block; font-size: 6rem; line-height:1; letter-spacing:1px; text-align:center;}
#profile h3 span:nth-of-type(3){ display:block; font-size: 2rem; white-space: nowrap; text-align:center; color:#F60;}
#profile dl{ display: flex; flex-wrap: wrap; margin-top:3rem; width:85%;}
#profile dt,#profile dd {padding: .5em; margin: 0 0 20px 0;}
#profile dt {
width:20%;
background-color: #F60;
color:#fff;
display: flex;
align-items: center;
justify-content: center;
}
#profile dd {
width:75%;
background-color: #FFF;
padding-right: 10%;
}
#prof-image {
    position: absolute;
    height: 100%;
    width: 200px;
    top: 16%;
    left: 44%;
    z-index: 2;
}
#history {
position: relative;
width: 40%;
margin: auto;
left: 0%;
margin:3rem auto 0;
}
#history h3 {color:#F60; margin-bottom:1rem; position: relative; left:-.5em;}

#history .timeline{position: relative;}
#history .card::before {position: absolute; content: ""; width: 7px; height: 7px; background-color: #FFF; border-radius: 7px; box-shadow: 0 0 0 5px #F60; margin-top:-4px; top: 50%; left: 5px;}
#history .card {position: relative; z-index: 1; display: flex; align-items: start; padding: 8px; align-items: stretch;}
#history .card::after {position: absolute; content: ""; width: 0; height: 0; border-top: 10px solid transparent; border-bottom: 10px solid transparent; border-right-width: 12px; border-right-style: solid; left:20px; color: #FFF; top: 50%; margin-top:-10px;z-index:0;}

.timeline ul{position: relative;}
.timeline ul::after {
  content: "";
  position: absolute;
  left: 7px;
  bottom: 0;
  width:3px;
  height: 100%;
  background: #F60;
  z-index:0;
}
.timeline ul li {

}
.timeline ul li div {
width: 100%;
  display: flex;
  flex-wrap:wrap;
  justify-content: start;
  align-items: center;
  position: relative;
  z-index:1;
  left:20px;
  background:#FFF;
  padding:10px 20px;
  border-radius:5px;
}
.timeline ul li p.img {
display:flex;
}
.timeline ul li p.img img {
width:auto;
max-height:180px;
}
.timeline ul li p.img img:last-child {
margin-left:10px;
}
.timeline time {
  display: block;
  flex-basis:100%;
  font-size: 100%;
  font-weight: bold;
  color: #F60;
}


#resume-bg1 {
    background: linear-gradient(345deg, rgba(245, 227, 66, .95) 15%, rgba(255, 255, 255, 0) 15.1%);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    display: block;
}
#resume-bg2 {
    background: linear-gradient(165deg, rgba(255, 183, 0, .95) 15%, rgba(255, 255, 255, 0) 15.1%);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    display: block;
}


@media only screen and (max-width: 960px){
.timeline time {
 font-size: 115% !important;
 line-height:1.2;
 margin-bottom:3px;
}
.timeline ul li {
margin-bottom:2rem;
}
.timeline ul li div {
width: 100%;
}
.timeline ul li p.img img {
max-height:18vw;
}
.timeline ul li p.img img:last-child {
margin-left: 5px;
}
.timeline time span {
white-space:nowrap;
}
}




#group { border: 3px solid #FC0; background-color: #FFF; }
#group h3 {background-color: #FC0; color: #FFF; font-size:100%; padding:.5rem 0; width: 20%; text-align:center;}
#group ul { margin-left:15px; padding:.5rem 0;}
#group li {list-style:none;}

@media only screen and (max-width: 520px){
#profile,#history {width:100%;}
#history { margin:4vh auto 0;}
}






/* 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:5rem;
position:relative;
width:65%;
max-width:1280px;
margin:auto;
border-radius:1rem;
font-size:2rem;
line-height:2;
font-weight:800;
letter-spacing:2px;
margin-left:auto;
}
#aisatsu .content div {
display:flex;
flex-flow: row wrap;
width:12.25em;
margin-top:3rem;
margin-left:auto;
margin-right:0;
}
#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:before {
content:"";
background:#F60;
height:500px;
width:100%;
position:absolute;
transform: rotate(335deg)skewX(-25deg)scale(1.4)translate(0vw,30%);
z-index:0;
}
#policy:after {
content:"";
background:#FC0;
height:500px;
width:100%;
position:absolute;
transform: rotate(15deg) skewX(15deg) scale(1.3) translate(-2vw, -50%);
z-index:0;
bottom: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:#F60; padding:.5rem 1rem;}
#political-policy ul li p img{width:100%;}
#political-policy ul li p:nth-of-type(1){margin-bottom:1rem;}
#policy .section-header h2 {
line-height:1.2;
z-index:2;
}
#policy .section-header{
position:absolute;
top:13vw;
left:50%;
overflow:visible;
z-index:2;
}
#policy .section-header:after{
content:"VISION";
position:absolute;
top:0%;
left:50%;
font-size:12vw;
color:rgba(255,255,255,.3);
z-index:1;
transform: translate(-50%, -70%);
}
#policy .section-header p {
color:#FFF;
margin-top:.5em;
}
@media only screen and (max-width: 960px){
#political-policy {width:92%;}
#political-policy ul li {width:47%; margin:2% auto; }
}
.content-wrap{margin-top:2rem;}
.slide-button {font-weight:800; padding:.3rem; text-align:center; background-color:#FC0; color:#FFF; margin-top:1.5rem;}


/* support */
#messages {
background-color:#FC0;
padding:6rem 0;
}
#messages-header {
border-radius: 0;
display: flex;
flex-wrap: wrap;
justify-content: center;
margin:0 auto 3rem;
position: relative;
max-width:1280px;
overflow:visible;
}
#messages-header h3 {
font-size:3.4rem;
color:#F60;
    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;
}
#messages-header h3 span {
display:block;
font-size:1.4rem;
}
#messages-header figure {
width: 10%;
margin-right:3%;
}
#messages-header img {
animation: furifuri 1s linear infinite;
transform-origin:left center;
}
#messages-contents ul{
display:flex;
}
#messages-contents ul > li{
width:33%;
}
#messages-contents li.introtype-card {
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	align-items:stretch;
	background:#fff;
}
#messages-contents li.introtype-card.wide {
width:50%;
}
#messages-contents li.introtype-card p.image {
flex-basis:45%;
margin:0;
padding:1rem 1rem 1rem 1rem;
max-width:200px;
}
#messages-contents li.introtype-card p.text {
flex-basis:55%;
padding:3rem 2rem 3rem 0;
}
#messages-contents li.introtype-card span.name {
display:block;
}
#messages-contents li.introtype-card span.name {
font-size:2.4rem;
font-weight:800;
margin-bottom:1rem;
}
#messages-contents li.introtype-card span.intro {
display:block;
font-size:1.4rem;
line-height:1.6;
}
#messages-contents li.introtype-card.wide {
width:45% !important;
}
#messages-contents li.introtype-card.wide p.image {
flex-basis:35%;
}
#messages-contents li.introtype-card.wide p.text {
flex-basis:65%;
}
#messages-contents dl {
display: flex;
flex-wrap: wrap;
line-height:1.4;
}
#messages-contents dt,#messages-contents dd{
padding:.8rem 1rem;
}
#messages-contents dt {
white-space: nowrap;
font-weight:800;
width: 30%;
margin-bottom:5px;
background:#f5f5f5;
min-width: 0;
}
#messages-contents dd {
width: 70%;
margin-bottom:5px;
background:#f5f5f5;
min-width: 0;
}
#messages-contents dt:last-of-type,
#messages-contents dd:last-of-type {
margin-bottom:0;
}
#messages-contents dt:nth-of-type(odd) {
background:#EEE;
}
#messages-contents dd:nth-of-type(odd) {
background:#EEE;
}
@keyframes furifuri {
	0% {transform: rotate(-5deg);}
	50% {transform: rotate(5deg);}
	100% {transform: rotate(-5deg);}
}





/* SNS */
#sns-links{
position:relative;
padding-bottom:6rem;
background:#F60;
}
#sns-links .section-header h2 {
z-index:1;
color: #FFF;
text-shadow: none;
}
#sns-links .section-header{
padding: 6rem 0 3rem;
}
#sns-links .section-header p {
margin-top:1rem;
text-align: center;
color: #FFF;
font-size:110%;
}
#sns-links .section-body {display: flex;flex-wrap: wrap;justify-content: center;
    max-width: 1280px;
    width: 92%;
    margin: 0 auto;
    overflow-x: hidden;
}
#sns-links li {width:calc((100% - 100px) / 5); text-align:center; color:#fff;}
#sns-links li a {color:#fff;}
#sns-links li a:hover {color:#FC0;}
#sns-links li svg {display:block; width:100%; height:calc(100vw / 10); fill:#fff;}
#sns-links li a:hover svg {fill:#FC0;}

/* twitter */
#twitter {
width:50%;
position:relative;
overflow-x: hidden;
margin:0 auto;
padding-top: 5rem;
}
#twitter .whatsnew-title {
background:#F60;
color:#FFF;
padding:1rem 2rem;
font-size:125%;
font-weight: bold;
display:flex;
justify-content: space-between;
border-radius:1rem  1rem 0 0;
}
#twitter .whatsnew-title a{
display:inline-block;
color:#F60;
background:#FFF;
padding:.35rem 1rem;
border-radius:1.6rem;
font-size:1.6rem;
}
#twitter .whatsnew-title a:hover {
background:#FC0;
color:#FFF;
}
#twitter .whatsnew-title svg{
display: inline-block;
position:static;
width:1.4rem;
height:1.4rem;
margin-left:3px;
vertical-align:0px;
transform: translate(0%, 0%);
fill:#F60;
}
#twitter .whatsnew-title a:hover svg{
fill:#FFF;
}
#twitter-embed{
position:relative;
width:100%;
min-height:100vh;
margin: 0 auto 5rem;
border-left:1px #eee solid;
border-right:1px #eee solid;
border-bottom:1px #eee solid;
border-radius:0 0 1rem 1rem;
}




/* アクセス */
#access { 
 background: linear-gradient(180deg, #F60 50%, rgba(240,240,240,1) 50.01%);
width:100%;position:relative; overflow: hidden;padding: 0 0 30px;}
#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;
text-align:center;
display:flex;
flex-wrap: wrap;
width:60%;
border-top:1px #fff solid;
}
#access dt {
line-height:1.3;
width: 25%;
border-bottom:1px #fff solid;
padding:.75rem 0;
}
#access dd {
line-height:1.3;
width: 75%;
border-bottom:1px #fff solid;
text-align:left;
padding:.75rem 0;
}
#access a {
position:relative;
color:#FFF;
display:inline-block;
}
#access a::after {
display: block;
position: absolute;
content: '';
width: 0%;
height: 2px;
margin: -3px 0 0;
background-color:#FFF;
transition: all .3s ease-out;
}
#access a:hover:after {width:100%;}
#googlemap { width:75%; max-width:1280px; margin:0 auto;}
#googlemap iframe {width:100%;}


/* リンクバナー */
#link_banners {
position:relative;
display: flex;
background: #F3F3F3;
align-items: center;
justify-content: center;
}
#link_banners img {
vertical-align:top;
}
#link_banners .row_inner {
transition: 450ms all;
max-height: 100%;
white-space: nowrap;
z-index:1;
position:relative;
padding:20px;
min-height:128px;
}
#link_banners .tile {
position: relative;
display: inline-block;
width: 240px;
margin-right: 20px;
font-size: 1.4rem;
cursor: pointer;
transition: 450ms all;
transform-origin: center center;
}
#link_banners .tile:last-child {
margin-right: 0;
}
#link_banners .tile_img {
width: 240px;
height: 120px;
object-fit: cover;
}
#link_banners .tile_details {
position: absolute;
inset:0;
opacity: 0;
background: #FC0;
}
#link_banners .tile_details:before {
position: absolute;
top: 40%;
left: 50%;
transform: translate(-50%, -50%);
color:#FFF;
content: 'クリックすると以下のサイトを\A新規ウインドウで開きます';
white-space: pre;
font-size: 1rem;
text-align: center;
border:1px #FFF solid;
padding:.35em 1em;
}
#link_banners .tile:hover .tile_details {
opacity: 1;
}
#link_banners .tile_title {
position: relative;
font-size: 1.2rem;
width:100%;
bottom:20%;
padding: 0 10px;
color:#FFF;
text-align:center;
top:65%;
}
#link_banners .tile_title svg {
vertical-align:-1px;
width:12px;
height:12px;
fill:#fff;
}
#link_banners .row_inner:hover .tile {
opacity: 0.75;
}
#link_banners .row_inner:hover .tile:hover {
transform: scale(1.1);
opacity: 1;
z-index: 5;
}


/* footer */
#footer {
background-color: #F60;
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: #FC0;
flex-basis: 55%;
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: center;
width: 30%;
margin:0 auto;
max-width:240px;
}
#footer-logo ul li {
flex-basis:calc(50% / 2);
max-width:calc(50% / 2);
text-align:center;
margin:0 auto;
}
#footer-logo li a {
display:block
}
#footer-logo svg {
width: 100%;
height: 50px;
vertical-align: top;
fill: #FFF;
}
#footer-logo li a:hover svg {
fill: #FC0;
}

#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: #FC0;}

#footer-bg1 {
 background: linear-gradient(165deg, rgba(255, 100, 0, 1) 25%, rgba(255, 196, 0, .4) 25.1%);
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 0;
display:block;
}
#footer-bg2 {
background: linear-gradient(240deg, rgba(255, 162, 0,.7) 20%, rgba(255, 162, 0, 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(255, 100, 0, .6) 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(255, 166, 0, .6) 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:#FC0;}
#copyright p:nth-of-type(2) a {color:#FC0;}

/*breadcrumb*/
.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:before{
display: block;
position: absolute;
inset: 0;
padding:0;
width: 100%;
height: 12vw;
background-color: #F60;
z-index:0;
content: "RYO TERUI";
font-size:8vw;
line-height:1;
font-family:Arial,sans-serif;
font-weight:900;
letter-spacing:-0.25vw;
color:rgba(255,200,0,.2);
text-align:center;
vertical-align:top;
}

#body .header { max-width:1280px; width:92%; margin:0 auto; position: relative; z-index:1; display:flex;align-items: center; padding:2rem 0; top:6vw; }
#body .header h1 {font-size:3vw; margin-top:1vw; line-height:1; color:#F60;}
#body .header h1 a { color:#F60; 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;
border-radius: 2rem;
overflow: hidden;
top:6vw;
width:92%;
max-width:1280px;
}
#body #mainvisual .mv-img{
position: relative;
top:0;
left:o;
}
#body #mainvisual .mv-img img{
object-fit: cover;
}
#mainvisual #topmv-bg1 {
background: #F60;
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: #F60;
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%);
}
#page-contents{
width:92%;
margin: 1rem auto 0;
max-width: 1280px;
position: relative;
top:6vw;
padding-bottom:6vw;
}
#body .section-header {
padding: 0;
margin-bottom:2rem;
}
#body .section-header h2 {
font-size:4rem;
}



/* page > reports */

#body.page-reports #page-contents {
width:92%;
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:#F60; 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: #F60;
}

#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: #F60;
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: #F60;
}
#article.search h3 a:after {
display: block;
position: absolute;
content: '';
width: 0%;
height: 2px;
margin: 0;
bottom: 0px;
background-color: #F60;
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 */
.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:65%;
width:65%;
font-size:1.8rem;
}
#page-contents.layout-1column #article {
position: relative;
z-index:1;
flex-basis:100%;
width:100%;
font-size:1.8rem;
}
#article #post {
background:#FFF;
padding:3rem;
border-radius:2rem;
}
#article #post .title a{
color:#F60;
}
#article #post .postdate {
font-size:1.2rem;
background:#F60;
color:#FFF;
padding:.25rem 1rem;
margin-bottom:2.5rem;
}
#article #post img {
width:48.5%;
height:100%;
margin:1rem auto 0;
min-width:240px;
}
#article #post.news-leaflet p a {
display:block;
background: #FC0;
color:#FFF;
text-align:center;
border-radius:1rem;
padding:1rem;
font-size:125%;
}


#article.archive li{
background:#FFF;
padding: 3rem 2rem 3rem 5rem;
border-radius:1.5rem;
margin-bottom:30px;
position:relative;
display:flex;
align-items: center;
}
#article.archive li:last-child{
margin-bottom:0;
}
#article.archive li:before{
position: absolute;
background: #F60;
content: "";
display: block;
width: 8px;
height: 80%;
top: 50%;
left: 2rem;
transform: translateY(-50%);
}
#article.archive h3 a{
display: inline-block;
position: relative;
color: #F60;
line-height:1.4;
}
#article.archive h3 a:after {
display: block;
position: absolute;
content: '';
width: 0%;
height: 2px;
margin: 0;
bottom: 0px;
background-color: #F60;
transition: all .3s ease-out;
}
#article.archive h3 a:hover:after {
width:100%;
}
#article.archive p {
font-size:92%;
}
#article.archive p:nth-of-type(1) {
font-size: 1.2rem;
background: #F60;
padding-left:1rem;
color: #FFF;
margin-bottom: 1rem;
}
#article.archive p.img {
max-width:150px;
flex-basis:30%;
margin:0 2.5% 0 0;
background: transparent;
padding:0;
}
#article.archive div {
flex-basis:100%;
}
.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:#F60;
}
.category-leaflet #article.archive li a img{
transition:.5s all;
}
.category-leaflet #article.archive li a:hover img{
transform:scale(1.2,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: #F60;
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(35% - 30px);
width: calc(35% - 30px);
padding: 3rem 1.5rem;
background:#FFF;
border-radius:2rem;
border-top:2rem #FC0 solid;
border-bottom:2rem #FC0 solid;
}
#sidebar h3 {
background: none;
font-size: 16px;
letter-spacing: 2px;
display: inline-block;
position: relative;
width: 100%;
padding: 0;
text-align: center;
color: #FC0;
margin-top:3rem;
}
#sidebar h3::before,
#sidebar h3::after {
content: "";
position: absolute;
top: 50%;
width: 28%;
border-top: 3px solid #FC0;
}
#sidebar h3::before {
left: 0;
}
#sidebar h3::after {
right: 0;
}
#sidebar ul.wp-block-latest-posts li a{
line-height:1.1;
}
#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:75%;
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:#F60;
margin-right: 10px;
width: 21px;
height: 21px;
vertical-align:middle;
}
#sidebar #profile svg {
position: static;
width: 100%;
height: 100%;
fill: #FC0;
}

/*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:#F60;
color:#FFF;
}
.nav-links a:hover{
color:#F60;
}
.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:#FC0; 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;
}
.wp-block-archives-list li {
flex-basis:33.3%;
text-align:center;
}
.wp-block-archives-list li a {
font-size:120%;
}


/*前後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:#F60; color:#FFF; padding:1rem 2rem; border-radius:10px;}
.newer,.older { font-size:1.2rem; color:#F60; 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:#F60;
width:50%;
}
#policy-contents .content .header {
font-size:2.4rem;
color:#F60;
width:50%;
margin-bottom:1rem;
}
#policy-contents .content .body {
font-size:1.6rem;
width:50%;
}
#policy-contents .content .image {
background:#fff;
width:50%;
}


/*policy*/
#policy {
position:relative;
background: #f5f5f5;
padding-bottom:5rem;
background-image:url("../img/bg-vision.jpg");
background-repeat:no-repeat;
background-size:contain;
padding-top: 42%;
overflow:hidden;
}
#policy .section-header p{
font-size:2rem;
text-align:center;
color:#F60;
position:relative;
z-index:2;
}
#policy .section-body{
}
#policy .no {
font: 900 7vw/1 "Arial",sans-serif; 
letter-spacing: -.5rem;
color: #F60;
}
#policy .no span {
font-size:60%;
margin-right:.5rem
}
#policy .content {
max-width:1280px;
margin:3rem auto 0;
padding: 0 5rem;
display: flex;
justify-content: center;
align-items: start;
}
#policy .content:nth-of-type(5) .body {
margin-top:-5vw;
}
#policy .body {
font-size: 1.6rem;
width: 70%;
background:rgba(255,255,255,.9);
padding:3rem 8rem 3rem 3rem;
order:1;
z-index:1;
}
#policy .body h4 {
    line-height:1.2;
    color: #F60;
}
#policy .body li {
margin-bottom:2rem;
}
#policy .body li.animate__animated {overflow: visible;}
#policy .body li:last-child {
margin-bottom:0;
}
#policy #link-vtr {
margin:0 auto;
padding: 0 6rem;
position:relative;
top:-10vw;
}
#policy #link-vtr a{ display:block;width: 55%;}
#policy #link-vtr a:hover img{
transform: scale(105%);
}

#policy .header {
font-size: 2.1rem;
line-height:1.2;
color: #FC0;
margin-bottom: 2rem;
}
#policy .image {
width: 28%;
order:2;
margin-left:-5%;
overflow:visible;
z-index:2;
}
#policy .image figure{
background:#fff;
padding:10px;
}
#policy .image figure:nth-of-type(1) {
transform: translate(-2rem,-3rem) rotate(-1deg);
}
#policy .image figure:nth-of-type(2) {
transform: translate(2rem,-5rem) rotate(1deg);
}
#policy .image figure:nth-of-type(3) {
transform: translate(0rem,-6rem) rotate(-1deg);
}
#policy .image img {
width: 100%;
}
#policy .content:nth-of-type(even) .body {
margin-right:-5%;
order:2;
padding: 3rem 3rem 3rem 8rem;
}
#policy .content:nth-of-type(even) .image {
margin-right:-3%;
}
.page-privacy-policy #privacy-policy.section {
background:rgba(255,255,255,.6);
padding:5rem;
max-width:1280px;
margin:0 auto 5rem;
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:#F60;
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:#F60; 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:#F60;}

#support-link.body{padding:0;width: 100%; background:transparent; margin-top:30px; }
#support-link a { width:60%; margin:0 auto; display:block; background-color:#F60; 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:#F60;}
#support-link a span {white-space:nowrap;}

/*page-top*/
#page-top {
display:none;
position: fixed;
z-index:10;
right: 15px;
bottom: 15px;
background: #F60;
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: #F60;
}
#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:#F60;
display:flex;
justify-content:center;
align-items: center;
padding:1rem 0;
margin:0;
}
#share p {
font-weight:800;
color:#FFF;
margin:0 2rem 0 0;
}
#share ul {
display:flex;
}
#share li {
margin:0 2%;
}
#share li a {
display:block;
background:#FFF;
color:#FFF;
padding:.2rem 1rem;
border-radius:.5rem;
font-size:1.2rem;
font-weight:800;
white-space: nowrap;
}
#share svg {
width: 1.3rem;
height: 1.3rem;
vertical-align:-1.5px;
margin-right:5px;
fill:#fff;
}
#share li.twitter a{
background:#111111;
}
#share li.facebook a{
background:#3b5998;
}
#share li.line a{
background:#00B900;
}
#share a#copyhref{
background:#FFF;
color:#F60;
}
#share.layout-inpost {
display:block;
max-width:auto;
margin:0 auto;
padding:1rem 1rem 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:#FC0;
display:flex;
justify-content:center;
align-items: center;
padding:1rem 0;
}
#follow p {
font-weight:800;
color:#FFF;
margin: 0 2rem 0 0;
}
#follow ul {
display:flex;
}
#follow li {
margin-right:10px;
}
#follow li a {
display:block;
background:#F60;
color:#fff;
padding:0.2rem 1rem;
border-radius:.5rem;
font-size:1.2rem;
font-weight:800;
white-space:nowrap;
}
#follow svg {
width: 1.3rem;
height: 1.3rem;
vertical-align:-1.5px;
margin-right:5px;
fill:#fff;
}
#follow li.twitter a{
background:#111111;
}
#follow li.facebook a{
background:#3b5998;
}
#follow li.youtube a {
background: #c4302b;
}
#follow li.line a{
background:#00B900;
}
#follow li.instagram a{
background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%);
}
#follow.home {
display:flex;
justify-content:center;
align-content:center;
flex-wrap:wrap;
width:100%;
margin:0 auto;
background: #F60;
margin-top: 0;
padding: 2rem;
border-radius: 0;
border: none;
}
#follow.home p {
flex-basis:25%;
padding:0;
text-align:center;
line-height:1.4;
border:1px #fff solid;
margin-right:3%;
}
#follow.home span {
position: absolute;
top:50%;
left:50%;
transform: translate(-50%,-50%);
white-space:nowrap;
}
#follow.home ul {
flex-basis:50%;
padding:0;
}

/*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%;}


