:root {
--color1: #004da1;
--color2: rgba(0,77,161,.5);
--color3: #00ade7;
--color4: #d94e41;
--color5: #ff6b35;
--color6: #00a17a ;
}
element {
color: var(--color1);
}

.section{
padding: 4rem 0;
}
.roboto{
font-family: 'Roboto Condensed', sans-serif;
}

/********************************

	THEME RESET

********************************/

a{
color: var(--color3);
transition: .3s;
}
a:hover{
text-decoration: none;
}
.bg-light{
background-color: #fff !important;
}

.btn{
}

.btn-primary {
color: #fff !important;
background-color: var(--color3);
border-color: var(--color3);
}
.btn-primary:hover {
color: var(--color3) !important;
background-color: #fff;
border-color: var(--color3);
}
.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.show>.btn-primary.dropdown-toggle {
color: #fff;
background-color: var(--color3);
border-color: var(--color3);
}

.btn-secondary {
color: #fff !important;
background-color: #dc2715;
border-color: #dc2715;
}
.btn-secondary:hover {
color: #dc2715 !important;
background-color: #fff;
border-color: #dc2715;
}
.btn-secondary:not(:disabled):not(.disabled).active,
.btn-secondary:not(:disabled):not(.disabled):active,
.show>.btn-secondary.dropdown-toggle {
color: #fff;
background-color: #dc2715;
border-color: #dc2715;
}

.btn-info {
color: #fff !important;
background-color: var(--color1);
border-color: var(--color1);
}
.btn-info:hover {
color: var(--color1) !important;
background-color: #fff;
border-color: var(--color1);
}
.btn-info:not(:disabled):not(.disabled).active,
.btn-info:not(:disabled):not(.disabled):active,
.show>.btn-info.dropdown-toggle {
color: #fff;
background-color: var(--color1);
border-color: var(--color1);
}

.btn-outline-primary {
color: var(--color3) !important;
background-color: #fff1;
border-color: var(--color3);
}
.btn-outline-primary:hover {
color: #fff !important;
background-color: var(--color3);
border-color: var(--color3);
}
.btn-outline-primary:not(:disabled):not(.disabled).active,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.show>.btn-outline-primary.dropdown-toggle {
color: #fff;
background-color: var(--color3);
border-color: var(--color3);
}

#wrapper-navbar{
position: relative;
z-index: 3;
}

/********************************

	STRUCTURE

********************************/

@media screen and (min-width: 769px) {
/* ガター幅（余白）を調整 */
.row-0 {
margin-left:0px;
margin-right:0px;
}
.row-0>div {
padding-right:0px;
padding-left:0px;
}
.row-10 {
margin-left:-5px;
margin-right:-5px;
}	
.row-10>div {
padding-right:5px;
padding-left:5px;
}
.row-20 {
margin-left:-10px;
margin-right:-10px;
}
.row-20>div {
padding-right:10px;
padding-left:10px;
}
.row-30{
margin-left:-15px;
margin-right:-15px;
}
.row-30>div {
padding-right:15px;
padding-left:15px;
}
.row-40{
margin-left:-20px;
margin-right:-20px;
}
.row-40>div{
padding-right:20px;
padding-left:20px;
}
.row-50{
margin-left:-25px;
margin-right:-25px;
}
.row-50>div{
padding-right:25px;
padding-left:25px;
}
.row-60{
margin-left:-30px;
margin-right:-30px;
}
.row-60>div{
padding-right:30px;
padding-left:30px;
}
}
.center-center {
display: grid;
place-content: center;
gap: 1ch;
}


.sky{
background-color: #ecf4fa;
}

html, body { height: 100%;}
body > #wrapper-footer {
position: sticky;
top: 100vh;
}

/********************************

	NAV

********************************/

.dropdown-item{
transition: .5s;
}
.dropdown-item.active{
background-color: rgba(0,123,255,1);
}
.dropdown-item:hover{
color: #000;
background-color: rgba(0,123,255,.25);
}
.dropdown-item.active{
color: #fff;
}
.dropdown-item.active:hover{
color: #000;
}

@media screen and (min-width: 769px) {
.table-bordered th{
width: 1%;
white-space: nowrap;
}
.table-bordered th,
.table-bordered td{
border-color: #ccc;
}
.nav-item,
.nav-link{
position: relative;
}

.dropdown-menu{
top: 90%;
}
.dropdown-menu:before {
content: "";
position: absolute;
top: -10px;
left: 10%;
margin-left: -5px;
border: 5px solid transparent;
border-bottom: 5px solid #e0edff;
}
.dropdown:hover .dropdown-menu {
display: block;
animation: fadeIn 1s ease 0s 1 normal;
-webkit-animation: fadeIn 1s ease 0s 1 normal;
}
@keyframes fadeIn {
0% {opacity: 0;top:-20px;}
100% {opacity: 1;}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0;top:-20px;}
    100% {opacity: 1}
}
}


@media screen and (max-width: 768px){
.toggle {
display: none;
}
.navbar-toggler collapsed{
}
.navbar-toggler{
padding: .2rem;
margin-right: .5rem;
}
.toggle-label {
cursor: pointer;
display: block;
margin: 0;
width: 45px;
height: 45px;
user-select: none;
-webkit-tap-highlight-color: transparent;
}
.toggle-label:active {
  -webkit-tap-highlight-color: transparent;
}
.toggle-label {
  cursor: pointer;
}
.toggle-label .toggle-icon,
.toggle-label .toggle-icon:before,
.toggle-label .toggle-icon:after {
position: relative;
display: block;
top: 50%;
left: 50%;
height: 3px;
width: 32px;
background: #000;
content: '';
transition: all 500ms ease-in-out;
}
.toggle-label .toggle-text {
position: relative;
display: block;
top: calc(100% - 15px);
height: 14px;
font-size: 8px;
font-size: 0.8rem;
color: #50861c;
text-align: center;
}
.toggle-label .toggle-text:before {
position: absolute;
width: 100%;
left: 0;
content: '';
transition: all 500ms ease-in-out;
visibility: visible;
opacity: 1;
}
.toggle-label .toggle-text:after {
position: absolute;
width: 100%;
left: 0;
content: '';
transition: all 500ms ease-in-out;
visibility: hidden;
opacity: 0;
}
.toggle-label .toggle-icon {
transform: translate3d(-50%, 0, 0);
}
.toggle-label .toggle-icon:before {
transform: translate3d(-50%, -12px, 0);
}
.toggle-label .toggle-icon:after {
transform: translate3d(-50%, 6px, 0);
}
.toggle:checked ~ .toggle-label .toggle-icon {
background-color: transparent;
}
.toggle:checked ~ .toggle-label .toggle-icon:before,
.toggle:checked ~ .toggle-label .toggle-icon:after {
top: 0;
}
.toggle:checked ~ .toggle-label .toggle-icon:before {
transform: translateX(-50%) rotate(45deg);
top: 1.5px;
}
.toggle:checked ~ .toggle-label .toggle-icon:after {
transform: translateX(-50%) translateY(-10px) rotate(-45deg);
top: 8.5px;
}
.toggle:checked ~ .toggle-label .toggle-text:before {
visibility: hidden;
opacity: 0;
}
.toggle:checked ~ .toggle-label .toggle-text:after {
visibility: visible;
opacity: 1;
}
.navbar{
padding: 0;
}
nav.fade:not(.show){
opacity: 1;
}
.navbar-brand{
z-index: 3;
}
.navbar-brand img {
padding: .5rem;
}
.nav-item{
padding: .5rem 1rem;
}
.navbar-collapse{
background-color: rgba(0,77,161,.85);
}
.navbar-collapse ul:before{
position: absolute;
top: 0;
left: -80px;
content: "";
display: block;
width: 75%;
height: 100%;
background-color: rgba(255,255,255,.05);
transform: skew(5deg);
z-index: 1;
animation: slideIn 1s ease 0s 1 normal;
-webkit-animation: slideIn 1s ease 0s 1 normal;
}
@keyframes slideIn {
0% {left: -460px;transform: skew(45deg);}
100% {left: -80px;transform: skew(5deg);}
}
@-webkit-keyframes slideIn {
0% {left: -460px;transform: skew(45deg);}
100% {left: -80px;transform: skew(5deg);}
}

.navbar-collapse ul li{
position: relative;
z-index: 3;
}

.navbar-light .navbar-nav .nav-link {
color: rgba(255,255,255,.9);
}
.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link:hover {
color: rgba(255,255,255,1);
}
.navbar-light .navbar-nav .active>.nav-link,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .show>.nav-link {
color: rgba(255,255,255,1);
}
.navbar-light .navbar-toggler {
color: rgba(0,0,0,.5);
border-color: rgba(0,0,0,0);
}
}

@media screen and (max-width: 414px) {
.navbar-brand {
max-width: 300px;
}
}
@media screen and (max-width: 375px) {
.navbar-brand {
max-width: 280px;
}
}
@media screen and (max-width: 320px) {
.navbar-brand {
max-width: 240px;
}
}

.nav-link{
transition: .3s;
}


/********************************

	FRONT SLIDER

********************************/

.sky,
.river,
.rain,
.ocean{
background-position: center center;
background-size: cover;
}
.front_mv{
position: relative;
}
.mv_overlay{
position: absolute;
left: 0;
bottom: 30px;
}
.mv_overlay img:nth-of-type(1){
display: block;
margin: 0 0 2rem;
max-width: 50vw;
}
.mv_overlay img:nth-of-type(2){
display: block;
margin: 0 auto;
max-width: 30vw;
}
.front_mv .n2_clear{
margin-left: 25vw;
}
@media(max-width:768px){
.mv_overlay{
bottom: 0;
}
.mv_overlay img:nth-of-type(2){
display: none;
}
}



.slider-info{
position: absolute;
right: 0;
top: 0;
display: block;
background-color: #fff;
width: 300px;
max-width: 100%;
height: 88px;
z-index: 99;
}


.fcvc {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}



.slider-wrap{
transform-origin:center center;
animation:show 1s both;
}
@keyframes show {
0% {
transform:scale(0);
opacity:0;
}
100% {
transform:scale(1);
opacity:1;
}
}

.slider-wrap{
position:relative;
border:30px solid #fff;
}

.slider-wrap .btn {
  display: inline-block;
  padding: 13px 20px;
  color: #fff;
  text-decoration: none;
  position: relative;
  background: transparent;
  border: 1px solid #e1e1e1;
  font: 12px/1.2 "Oswald", sans-serif;
  letter-spacing: 0.4em;
  text-align: center;
  text-indent: 2px;
  text-transform: uppercase;
  transition: color 0.1s linear 0.05s;
}
.slider-wrap .btn::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: #e1e1e1;
  z-index: 1;
  opacity: 0;
  transition: height 0.2s ease, top 0.2s ease, opacity 0s linear 0.2s;
}
.slider-wrap .btn::after {
  transition: border 0.1s linear 0.05s;
}
.slider-wrap .btn .btn-inner {
  position: relative;
  z-index: 2;
}
.slider-wrap .btn:hover {
  color: #373737;
  transition: color 0.1s linear 0s;
}
.slider-wrap .btn:hover::before {
  top: 0;
  height: 100%;
  opacity: 1;
  transition: height 0.2s ease, top 0.2s ease, opacity 0s linear 0s;
}
.slider-wrap .btn:hover::after {
  border-color: #373737;
  transition: border 0.1s linear 0s;
}

.slideshow {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 60vh;
  z-index: 1;
}
.slideshow .slideshow-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.slideshow .slides {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.slideshow .slide {
  display: none;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.slideshow .slide.is-active {
  display: block;
}
.slideshow .slide.is-loaded {
  opacity: 1;
}
.slideshow .slide .caption {
  padding: 0 100px;
}
.slideshow .slide .image-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  z-index: 1;
  background-size: cover;
  image-rendering: optimizeQuality;
}
.slideshow .slide .image-container::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.15);
}
.slideshow .slide .image {
  width: 100%;
  width: 100%;
  object-fit: cover;
  height: 100%;
}
.slideshow .slide-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  color: #fff;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.slideshow .slide .title {
  margin: 0 auto 15px;
  max-width: 1000px;
  font: 300 50px/1.2 "Oswald", sans-serif;
  letter-spacing: 0.35em;
  text-transform: uppercase;
}
.slideshow .slide .text {
  margin: 0 auto;
  max-width: 1000px;
  font-size: 18px;
  line-height: 1.4;
}
.slideshow .slide .btn {
  margin: 15px 0 0;
  border-color: #fff;
}
.slideshow .slide .btn::before {
  background: #fff;
}
.slideshow .pagination {
  position: absolute;
  bottom: 35px;
  left: 0;
  width: 100%;
  height: 12px;
  cursor: default;
  z-index: 2;
  text-align: center;
display: inherit;
}
.slideshow .pagination .item {
  display: inline-block;
  padding: 15px 5px;
  position: relative;
  width: 46px;
  height: 32px;
  cursor: pointer;
  text-indent: -999em;
  z-index: 1;
}
.slideshow .pagination .item + .page {
  margin-left: -2px;
}
.slideshow .pagination .item::before {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
  left: 5px;
  width: 36px;
  height: 2px;
  background: rgba(255, 255, 255, 0.5);
  transition: background 0.2s ease;
}
.slideshow .pagination .item::after {
  width: 0;
  background: #fff;
  z-index: 2;
  transition: width 0.2s ease;
}
.slideshow .pagination .item:hover::before, .slideshow .pagination .item.is-active::before {
  background-color: #fff;
}
/**.slideshow .arrows .arrow {
  margin: -33px 0 0;
  padding: 20px;
  position: absolute;
  top: 50%;
  cursor: pointer;
  z-index: 3;
}**/

.slideshow .arrows{
position: absolute;
left: 0;
bottom: 0;
width: 80px;
overflow: hidden;
z-index: 99;
}

.slideshow .arrows .prev {
  left: 30px;
}
.slideshow .arrows .prev:hover .svg {
  left: -10px;
}
.slideshow .arrows .next {
  right: 30px;
}
.slideshow .arrows .next:hover .svg {
  left: 10px;
}
.slideshow .arrows .svg {
  position: relative;
  left: 0;
  width: 14px;
  height: 26px;
  fill: #fff;
  transition: left 0.2s ease;
}
.slideshow .arrows .prev{
position: relative;
left: 0;
}
.slideshow .arrows .prev,
.slideshow .arrows .next{
width: 50%;
height: 40px;
display: block;
float: left;
text-align: center;
line-height: 40px;
cursor: pointer;
transition: .3s all ease;
background: white;
}
.slideshow .arrows .prev svg,
.slideshow .arrows .next svg{
fill:#000;
width: 5px;
height: 10px;
}

.slideshow .arrows .prev:after{
position: absolute;
display: block;
content: "";
right: 0;
top: 25%;
width: 1px;
height: 50%;
background-color: rgba(0,0,0,.2);
}


@media screen and (max-width: 414px) {
.navbar-brand img {
max-width: 100%;
}
.slideshow .pagination .item {
width: 30px;
}
.slideshow .pagination .item::before {
width: 30px;
}
.slider-info{
color: #fff;
background-color: rgba(0,77,161,.5);
}
.slider-info a{
color: #fff;
}

}


.slider-ctr {
width: 1110px;
height: 600px;
top: 50%;
left: 50%;
margin-left: -555px;
box-sizing: border-box;
overflow: hidden;
}
.slider-ctr:after {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
pointer-events: none;
z-index: 9;
}

.slider-control {
position: absolute;
left: 0;
bottom: 0;
width: 80px;
overflow: hidden;
z-index: 99;
}
.slider-control .control {
width: 50%;
height: 40px;
display: block;
float: left;
text-align: center;
line-height: 40px;
cursor: pointer;
transition: .3s all ease;
background: white;
}
.slider-control .control .icon {
font-size: .5rem;
pointer-events: none;
transition: .3s all ease;
}
.slider-control .control.disabled {
pointer-events: none;
background: #ddd;
}
.slider-control .control.disabled .icon {
opacity: .5;
}

.slide {
margin: 0;
padding: 0;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
transition: 0.45s all cubic-bezier(0.65, 0.05, 0.36, 1);
-webkit-clip-path: inset(0 0 0 0);
clip-path: inset(0 0 0 0);
}
.slide:before {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0, 0, 0, 0.125);
}
.slide.slide-on {
-webkit-clip-path: inset(0 100% 0 0);
clip-path: inset(0 100% 0 0);
}
.slide.text-on .title {
transition: 0.3s all cubic-bezier(0.65, 0.05, 0.36, 1) 0.45s;
-webkit-clip-path: inset(0 0 0 0);
clip-path: inset(0 0 0 0);
}
.slide.text-on .author {
transition: 0.3s all cubic-bezier(0.65, 0.05, 0.36, 1) 0.6s;
-webkit-clip-path: inset(0 0 0 0);
clip-path: inset(0 0 0 0);
}
.slide img {
  display: block;
width: 100%;
max-width: 100%;
height: auto;
}
.slide figcaption {
position: absolute;
top: 40%;
left: 0;
right: 0;
text-align: center;
}
.slide .title {
font-size: 50px;
margin-bottom: 2px;
color: white;
transition: 0.3s all cubic-bezier(0.65, 0.05, 0.36, 1) 0.45s;
-webkit-clip-path: inset(100% 0 0 0);
clip-path: inset(100% 0 0 0);
font-weight: 700;
letter-spacing: 10px;
text-transform: uppercase;
position: relative;
}
.slide .author {
font-size: 16px;
color: white;
opacity: .8;
transition: 0.3s all cubic-bezier(0.65, 0.05, 0.36, 1) 0.45s;
-webkit-clip-path: inset(0 100% 0 0);
clip-path: inset(0 100% 0 0);
font-weight: 700;
letter-spacing: 3px;
position: relative;
z-index: 9;
}




/********************************

	FOOTER

********************************/
#wrapper-footer{
margin-top: 8rem;
position: relative;
color: rgba(255,255,255,.9);
background-color: var(--color1);
}
#wrapper-footer:before{
position: absolute;
right: 0;
top: -28px;
content: "";
display: block;
width: 50%;
height: 30px;
background-color: var(--color1);
}
#wrapper-footer:after{
position: absolute;
right: 0;
left: 0;
text-align: center;
margin: 0 auto;
top: -60px;
content: "";
display: block;
width: 50px;
height: 50px;
background-color: #fff;
transform: rotate(45deg);
}
#wrapper-footer a{
color: rgba(255,255,255,.9);
}
#menu-footer-nav{
margin:0 0 2rem;
padding:0;
list-style: none;
display:flex;
justify-content: flex-end;
}
#menu-footer-nav li{
padding: 0 .75rem;
font-size: .812rem;
}
#menu-footer-nav li:not(:last-child) {
border-right: 1px solid rgba(255,255,255,.5);
}
#menu-footer-nav li a{
padding: .2rem;
}
.footer-info {
margin-bottom:4rem;
}

.footer-info h3{
font-size: 1.5rem;
}
.footer-info h3 span{
font-size: 1.125rem;
letter-spacing: .25rem;
}


.footer-info .col-md-9 h3{
margin-bottom: 1rem;
}
.footer-info .col-md-9 p{
font-size: .875rem;
line-height: 2;
letter-spacing: .2rem;
}
.copyright{
font-size: .875rem;
letter-spacing: .2rem;
color: rgba(255,255,255,.5);
text-align: center;
}

/********************************

	FRONT PAGE

********************************/

.home .section-blog{
position: relative;
}
.home .section-blog:after{
content: "";
position: absolute;
z-index: -1;
left: 0;
bottom: 0;
display: block;
width: 100%;
height: calc(100% - 150px);
background-color: #ecf4fa;
}

.home .section-blog figure{
position: relative;
background-color: #fff;
overflow: hidden;
}
.home .section-blog .mask{
margin: 0 auto 1rem;
overflow: hidden;
aspect-ratio: 16 / 9;
}
.home .section-blog figure img.wp-post-image{
display: block;
margin: 0;
padding: 0;
aspect-ratio: 16 / 9;
overflow: hidden;
background-color: #fafafa;
transition: .3s ease-in;
}
.home .section-blog figure img.wp-post-image:hover{
transform: scale(1.2) rotate(-3deg);
}
.home .section-blog figure .newbadge{
position: absolute;
left: 0;
top: 0;
}
.home .section-blog figure dt{
margin-bottom: 1rem;
}
.home .section-blog figure dd{
font-size: .75rem;
}
.home .section-blog figcaption{
margin: 0;
padding: 0 .5rem;
}

.post-meta{
display: grid;
grid-template-columns: 48px 1fr;
gap: 20px;
}
.home .section-blog figure .post-meta img.avatar {
margin-bottom: 0;
border-radius: 50%;
max-width: 48px;
}
.nicename{
font-family: 'Roboto Condensed', sans-serif;
font-size: 1.125rem;
font-weight: 700;
text-transform: uppercase;
display: grid;
align-items: center;
}

.recent-news{
margin: 0;
padding: 0;
list-style: none;
}
.recent-news li{
padding: .5rem 0;
position: relative;
}
.recent-news li:not(:last-child) {
border-bottom: 1px dotted #999;
}
.recent-news li span.news-date{
position: absolute;
right: 0;
font-size: .875rem;
letter-spacing: .1rem;
font-family: 'Roboto Condensed', sans-serif;
}
.recent-news li span.newbadge{
position: absolute;
left: -2rem;
}

.home .section-space{}
.home .section-space figure img.wp-post-image{
margin-bottom: 2rem;
}
.home .section-space dl{}
.home .section-space dt{
position: relative;
margin: 0 0 1.5rem;
font-size: 1.25rem;
letter-spacing: .1rem;
}
.home .section-space dt:before{
position: absolute;
display: block;
content: "";
width: 40px;
height: 1px;
left: 0;
bottom: -.5rem;
background-color: var(--color1);
}
.home .section-space dt:after{
position: absolute;
display: block;
content: "";
width: 20px;
height: 1px;
left: 0;
bottom: -.75rem;
background-color: var(--color1);
}

.home .section-space dd{
line-height: 1.75;
text-align: justify;
}


/********************************

	PAGE

********************************/

.h1-before{
margin-bottom: 2rem;
background-image: radial-gradient(circle at 85% 1%, hsla(190,0%,93%,0.05) 0%, hsla(190,0%,93%,0.05) 96%,transparent 96%, transparent 100%),radial-gradient(circle at 14% 15%, hsla(190,0%,93%,0.05) 0%, hsla(190,0%,93%,0.05) 1%,transparent 1%, transparent 100%),radial-gradient(circle at 60% 90%, hsla(190,0%,93%,0.05) 0%, hsla(190,0%,93%,0.05) 20%,transparent 20%, transparent 100%),radial-gradient(circle at 79% 7%, hsla(190,0%,93%,0.05) 0%, hsla(190,0%,93%,0.05) 78%,transparent 78%, transparent 100%),radial-gradient(circle at 55% 65%, hsla(190,0%,93%,0.05) 0%, hsla(190,0%,93%,0.05) 52%,transparent 52%, transparent 100%),linear-gradient(135deg, rgb(37, 56, 222),rgb(96, 189, 244));
min-height:1px;
}
.h1-after{
background-image: radial-gradient(circle at 85% 1%, hsla(190,0%,93%,0.05) 0%, hsla(190,0%,93%,0.05) 96%,transparent 96%, transparent 100%),radial-gradient(circle at 14% 15%, hsla(190,0%,93%,0.05) 0%, hsla(190,0%,93%,0.05) 1%,transparent 1%, transparent 100%),radial-gradient(circle at 60% 90%, hsla(190,0%,93%,0.05) 0%, hsla(190,0%,93%,0.05) 20%,transparent 20%, transparent 100%),radial-gradient(circle at 79% 7%, hsla(190,0%,93%,0.05) 0%, hsla(190,0%,93%,0.05) 78%,transparent 78%, transparent 100%),radial-gradient(circle at 55% 65%, hsla(190,0%,93%,0.05) 0%, hsla(190,0%,93%,0.05) 52%,transparent 52%, transparent 100%),linear-gradient(135deg, rgb(37, 56, 222),rgb(96, 189, 244));
min-height:1px;
}

.page h1{
font-size: 4rem;
line-height: .75;
font-family: 'Roboto Condensed', sans-serif;
}
.page h1 span{
padding-left: .5rem;
position: relative;
font-size: 1.25rem;
font-weight: 700;
letter-spacing: .5rem;
color: var(--color1);
}
.page h1 span:before,
.page h1 span:after{
position: absolute;
top: 50%;
content: "";
display: block;
width: 2rem;
height: 1px;
background-color: #333;
}
.page h1 span:before{
left: -3rem
}
.page h1 span:after{
right: -3rem;
}


.wpcf7 input[type=submit] {
color: #fff;
background-color: var(--color3);
border-color: var(--color3);
}
.wpcf7 input:hover[type=submit] {
color: var(--color3);
text-decoration: none;
background-color: #fff;
border-color: var(--color3);
}


.kanjuku-headquarters{
position: absolute;
right: 0;
bottom: 0;
}

/********************************

	FLOW

********************************/
.flow{}
.flow .section .col-md-3 h3{
font-family: 'Roboto Condensed', sans-serif;
}
.flow .section .col-md-9 dl{
padding: 1rem;
font-size: 1rem;
line-height: 1.75;
border: 1px solid var(--color1);
}
.flow .section .col-md-9 dt{
margin-bottom: 1rem;
font-size: 1.25rem;
}

/********************************

	FAQ

********************************/

.fee .section table{
margin: 0 0 1rem;
width: 100%;
}
.fee .section th,
.fee .section td{
padding: .5rem 2rem;
font-size: 1.125rem;
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
width: 50%;
}
.fee .section th{
background-color: rgba(0,0,0,.025);
}

.faq .section dl{}
.faq .section dt{
margin: 0;
padding: 1rem;
font-size: 1.125rem;
letter-spacing: .1rem;
color: var(--color1);
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
}
.faq .section dd{
margin: 0 0 3rem;
padding: 1rem;
line-height: 2;
letter-spacing: .1rem;
}

/********************************

	RECRUIT

********************************/
.recruit .section .lead{
font-weight: 700;
}
.recruit .section table{
margin: 0 0 1rem;
width: 100%;
}
.recruit .section th,
.recruit .section td{
padding: .5rem 2rem;
font-size: 1.125rem;
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
}
.recruit .section th{
background-color: rgba(0,0,0,.025);
width: 1%;
white-space: nowrap;
}


/********************************

	PRIVACY

********************************/
.privacy-policy .section dl{}
.privacy-policy .section dt{
margin: 0;
padding: 1rem;
background-color: rgba(0,0,0,.025);
}
.privacy-policy .section dd{
margin-bottom: 3rem;
padding: 1rem;
}


/********************************

	WIDGET

********************************/
.widget-area{}
.widget-area .widget{
margin-bottom: 3rem;
}
.widget-area .widget .widget-title{
position: relative;
margin-bottom: 1rem;
padding-bottom: 1rem;
font-size: 1.5rem;
font-family: 'Roboto Condensed', sans-serif;
font-weight: 700;
}
.widget-area .widget .widget-title:before{
position: absolute;
content: "";
left: 0;
bottom: 0;
width: 100%;
height: 1px;
background-color: var(--color3);
}
.widget-area .widget .widget-title:after{
position: absolute;
content: "";
left: 0;
bottom: 0;
width: 40px;
height: 3px;
background-color: var(--color3);
}

.widget-area .widget .rpwe-block h3{
font-size: 1rem !important;
font-weight: 500;
}
.widget-area .widget .rpwe-time{
font-size: .75rem;
font-weight: 700;
letter-spacing: .1rem;
color: #666;
}

/********************************

ARCHIVE AND SINGLE

********************************/
.archive{}
.archive .site-main .page-header{
margin-bottom: 1.5rem;
}
.archive .site-main .page-header h1.page-title{
font-size: .875rem;
text-align: center;
display: block;
border: 1px solid #333;
padding: .5rem;
}
.archive .site-main .page-header span{
font-size: 1.25rem;
}
.archive .site-main .hentry{
padding: 1rem;
}
.archive .site-main .hentry{
margin-bottom: 1.5rem;
padding: 1rem;
background-color: #fafafa;
}
.archive .site-main .hentry h2.entry-title{
font-size: 1.125rem;
}


.single{}
.single .site-main .entry-header{
margin: 0 0 1.5rem;
padding: 1.5rem 0;
border-color: var(--color3);
border-style: solid;
border-width: 1px 0;
}
.single .site-main .entry-header h1{
margin-bottom: 1rem;
font-size: 1.5rem;
}

.posted-on a{
pointer-events: none;
color: inherit;
color: #333;
}

.single .site-main .entry-content{
margin-bottom: 4rem;
}

/********************************

	RWD

********************************/

@media screen and (max-width: 428px) {
.section {
padding: 2rem 0;
}
.dropdown-menu{
display: block;
background-color: transparent;
}
.dropdown-menu:before{
display: none !important;
}
.dropdown-item {
display: block;
width: 100%;
padding: .25rem 1.5rem;
clear: both;
font-weight: 400;
color: #fff;
text-align: inherit;
white-space: nowrap;
background-color: transparent;
border: 0;
}
.dropdown-item:hover {
color: #fff;
background-color: rgba(0,0,0,.025);
}
.dropdown-menu.show{
z-index: 9;
}
.home .section.sky .col-6 figcaption h4{
font-size: 1rem;
}
.recent-news{
padding: 0 0 0 2rem;
}
.widget-area{
margin-top: 4rem;
padding-top: 2rem;
background-color: #ecf4fa;
}
.footer-info p{
margin-bottom: 3rem;
}
.kanjuku-headquarters{
position: relative;
}
.kanjuku-headquarters img{
margin-bottom: 3rem;
}
}
@media screen and (max-width: 414px) {
#menu-footer-nav li {
padding: 0 .75rem;
font-size: .812rem;
}
}
@media screen and (max-width: 375px) {
#menu-footer-nav li {
padding: 0 .1rem;
font-size: .75rem;
}
}
@media screen and (max-width: 320px) {
#menu-footer-nav li {
padding: 0 .1rem;
font-size: .75rem;
font-feature-settings:"palt";
}
}


.covid-19{}
.covid-19 .section{}
.covid-19 .section dl{
margin: 0 0 4rem;
padding: 1rem;
border: 1px solid var(--color1);
}
.covid-19 .section dt{
margin: 0 0 1rem;
padding: .5rem;
font-size: 1.5rem;
color: var(--color1);
}
.covid-19 .section dd{
margin: 0 0 2rem;
padding: 0 .5rem;
}
.covid-19 .section dd dl{
margin: 0;
padding: 0;
border: none;
}

.covid-19 .section dd dt{
margin: 0 0 .5rem;
padding: 0;
font-size: 1.25rem;
color: inherit;
}
.covid-19 .section dd dd{
margin: 0 ;
padding: 0;
}

.ul_wish{
margin: 1rem 0 0;
padding: 1rem 1rem 1rem 2rem;
border: 5px solid var(--color1);
}
.ul_wish li{
margin: 0;
padding: .25rem 0;
font-size: 1.125rem;
font-weight: 500;
}
.ul_wish li:not(:last-child) {
border-bottom: 1px dotted var(--color1);
}

.section_teacher{
position: relative;
background-color: #fafafa;
}
.section_teacher h2{
position: relative;
margin: 0 auto 3rem;
text-align: center;
}
.col-teacher{
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 60px 30px;
}
.col-teacher article img{
display: block;
margin: 0 auto 2rem;
border-radius: 50%;
}
.col-teacher article p{
font-size: .937rem;
line-height: 1.7;
letter-spacing: .1em;
text-align: justify;
}
.col-teacher article p:first-of-type{
margin: 0 auto 1rem;
font-size: 1.125rem;
font-weight: 600;
line-height: 1;
text-align: center;
}

.dl_parking{
padding: 1rem;
border: 1px solid var(--color1);
}
.dl_parking dt{
margin: 0 0 1rem;
padding: 0;
font-size: 1.25rem;
}
.dl_parking dt span{
display: block;
margin: 0;
padding: 0;
font-size: 1rem;
color: var(--color1);
}
.dl_parking dd{
margin: 0;
padding: 0;
font-size: 1rem;
}
.dl_parking dd span{
display: block;
margin: .5rem 0 0;
padding: 0;
font-size: .937rem;
color: var(--color1);
}

.section_free-seminar{
color: #fff;
background-color: var(--color1);
}
.section_free-seminar h2{
position: relative;
}
.section_free-seminar h2 span{
position: relative;
display: inline-block;
margin: 0 0 0 1em;
padding: .5rem;
font-size: 1.125rem;
line-height: 1;
border: 1px solid #fff;
transform: translateY(-10px) rotate(-5deg);
}