@charset "UTF-8";
/* 09-custom-3.css — サイト独自の追加（その3）：ハッシュタグ・スマホメニューの下部・スライダー各種（swiper）・特徴（feature）・役員ご挨拶（box-message）・声（box-voice）・背景写真の見出し（parallax-section）・リンクの装飾・スマホのロゴ・ツリーメニュー・表・寄付フォーム（donate_box）
   （もとの style.css を、順番を変えずに分けたもの。上から順に読み込むので、ファイルの順番は変えないこと） */
/* --------- custom --------- */

.new{
  font-size:10px;
  color:#e23737;
  display:inline-block;
  padding:0 8px;
  border: solid 1px #e23737;
  border-radius:2px;
  line-height:1.4;
  top:-2px;
  position:relative;

}

.serif{
  font-family:serif;
}
.hashtag{
  color: #fff;
}
.main .hashtag{
    text-align: center;
    margin: 20px 0 0;
}

.main .hashtag span{
  display:inline-block;
  padding: 1px 14px;
  border-radius:100px;
  color: #00367b;
  font-size:13px;
  background: #e7f3fc;
}

.mobile-navi-sub{
padding:15px 0px 15px 15px;

}
.mobile-navi-sub ul{border-top:solid 1px #e5e6e7;
padding-top:30px;}

.mobile-navi-sub a{
  color:#222;
  font-size:12px;
  padding:5px 0;
  display:inline-block;
}

@media (max-width:768px){
.home h1{
  font-size: 25px; 
}

}

@media (max-width:768px){
  #copyright{
  }

.swiper-container.slide1 {
  height: calc(50vh);
}
	.home-slideshow .slide-title{
	bottom:0px;
	right: 0px;
	width:100%;
	padding-top:50px;
	}
}

h1 span{
  font-size:.7em;
  display:block;
  margin-top:1em;
  font-style: normal;
}

.section-voice .swiper-slide{
   text-align:center;
}

.swiper-button-down.swiper-button-down .mw_wp_form span {}

.tagline {
  color: #222;
  font-size: 13px;
  margin: 0;
  padding: 0px 10px;
  text-align: center;
  line-height: 13px;
  font-weight: bold;
  font-family: serif;
  white-space: nowrap;
}

.home-slideshow .swiper-container {
  height: calc(80vh - 70px);
  margin: 0px;
}
@media (max-width: 479px) {
  .home-slideshow .swiper-container {
  height: calc(70vh - 100px);
}
}

/* ---- 修正箇所ここから ----
   高さをvhで固定してobject-fit:coverでクロップする方式は、画像内の
   キャプション文字が切れてしまうため撤回。高さは元通り画像の縦横比に
   自然に追従させ（height:auto）、バナーの見た目の大きさは
   script3.js側の slidesPerView（左右の隣接スライドをどれだけ見せるか）
   で調整する方式に変更した。 ---- */
.home-slideshow2 .swiper-container {
   height: auto;
   margin: 0px;
   overflow: inherit;
   background: #849bbe;
}
/* ---- 修正箇所ここまで ---- */

.swiper-container.voice {
  height: auto;
  margin: 0px;
  background-size: cover;
}
  .swiper-container.voice h3{
    margin:1em 0 0;
    font-size:17px;
  }
  .swiper-container.voice .name{
    font-size:15px;
    margin:0.5em 0 0;
  }
 .swiper-container.voice .title{
    font-size:13px;
    margin:0em 0;
  }

.swiper-container.testimonials {
  height: calc(60vh - 70px);
  margin: 0px;
  background-size: cover;
}

.swiper-slide {
  overflow: hidden;
}

.home-slideshow2 .slide-inner{
  height:auto;
  position:relative;
}

.home-slideshow2 .swiper-slide{
  background:#00367b;
}
/* ---- 修正箇所ここから：中央以外を暗くする明るさの切り替えを滑らかにフェード ---- */
.home-slideshow2 .swiper-slide .slide-inner{
  opacity:.5;
  transition: opacity 800ms ease;
}
/* ---- 修正箇所ここまで ---- */
.home-slideshow2 .swiper-slide.swiper-slide-active .slide-inner{
  opacity:1;
}

.slide-inner {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-size: cover;
  background-position: center;
}
.slide-inner a{
	display:block;
	height:100%;
	color:#fff;
}
.slide-inner img{
  width:100%;
}
.testimonials .swiper-slide-textbox{display: flex;background: rgb(41 55 68 / 50%);padding:20px;width: 100%;color: #fff;padding: 5% 15%;height: 100%;align-items: center;min-height: 100%;}
.testimonials .swiper-slide-text:before{
  content:'“';
  display:block;
  color:#fff;
  font-size: 70px;
  line-height: 1px;
  margin-top: 30px;
}
.slideshow .swiper-slide-textbox{
  display:flex;
  align-items:center;
  height:100%;
  width:100%;
  justify-content:center;
}
.slideshow .swiper-slide-title{
	font-size: 1.5em;
	margin: 0;
	text-align: left;
	color: #fff;
	font-weight: bold;
}
.testimonials .swiper-slide-text{
  font-family:serif;
  font-size: 18px;
  margin: auto;
  max-width: 700px;
}

.wp-caption-text {
  margin: .5em 0 1.5em;
  line-height: 1.5;
  color: #888;
  font-size: 14px
}

.popular-posts {
}

.wp-caption {
  width: auto !important;
  max-width: 100%;
}

.feature, .feature-right {
  position: relative;
  width: 100%;
  display: flex;
  color: #222;
}
.feature-photo {
  width: 50%;
  z-index:1;
  position:relative;
  overflow:hidden;
}
.feature-photo img {
  width: 100%;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

a.feature:hover img,
a.feature-right:hover img{
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -o-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}

.feature-text {
  position: absolute;
  z-index: 2;
  width: 50%;
  right: 0;
  bottom: 0;
  top: 0;
  display: flex;
}

.feature-text h3{
  margin-top:0;
  border: none;
}

.feature:before,
.feature-right:before{
  content: '';
  background: #fff;
  width: 100%;
  top: 0;
  height: 100%;
  position: absolute;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: bottom left;
  transform-origin: bottom left;
  transition: -webkit-transform .4s 0s ease-out;
  transition: transform .4s 0s ease-out;
  transition: transform .4s 0s ease-out, -webkit-transform .4s 0s ease-out;
  left: 0;
}

.feature:hover:before,
.feature-right:hover:before{
  background:#fff;
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
}

.feature-text h2 {
  margin: 0px 0 10px 0;
  text-align: left;
  font-size: 24px;
  line-height: 1.2;
  font-weight: bold;
  border: none;
  background: none;
  color: #222;
  padding: 0;
}
.feature-text h2 span{ margin-bottom:5px;
display:inline-block;}
.feature-text p {
  margin: 1em 0;
}
.feature-right .feature-text {
  left: 0px;
  right: auto;
  margin-right: 0px;
}
.feature-right .feature-photo {
  margin-left: auto;
}

@media (max-width:1024px) {
  .feature, .feature-right {
    padding: 10px;
    display:block;
  }
  .feature-photo {
    width: 100%;
  }
  .feature-text {
    position: relative;
    width: 100%;
    margin: 0 !important;
  }
  .feature-text h3{
    margin-top:1em;
  }
  .feature-text h3 br{
    display:none;
  }
  .feature-text h2 {margin-top:1em;}
  
}

.box-message, .box-right {
  position: relative;
  display: flex;
  margin: 60px 0;
  justify-content: space-around;
}
.message-photo {
  width: 20%;
  line-height: 1.5;
  position:relative;
}
.message-photo :before{
  display:block;
  content:'';
  height: 94%;
  position:absolute;
  width:1px;
  top:0;
  right: -20%;
}
.message-photo img {
  width: 100%;
}

.message-photo img {
  width: 100%;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.message-text {
  width: 72%;
  right: 0;
  bottom: 0;
  top: 0;
  background: #f6f7f8;
  padding: 40px;
  position:relative;
  border-radius: 6px;
}

.message-text:before{
  content: "";
  position: absolute;
  top: 32%;
  left: -30px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-right: 15px solid #f6f7f8;
  }
.message-text h2{
  margin-top:0;
  background: none;
  color: #222;
  text-align: left;
  padding: 0;
  margin-bottom: 20px;
  font-family: serif;
}
.message-text div{
  padding: 0;
}
.box-message .title1{
  margin: 10px 0 10px 0;
  font-size:13px;
  font-weight:bold;
  border-bottom: solid 2px #0056a0;
}

.box-message p.name{
  margin: 0 0 5px;
  letter-spacing: .2em;
  font-size: 17px;
}
.en .box-message p.name{
  letter-spacing: 0.05em;
}
.box-message .title2{
  margin:0;
  font-size: 13px;
  line-height: 1.3;
}
@media (max-width:768px) {
  .box-message{
    flex-direction:column;
  }
  .message-text{
    width:100%;
  }

  .message-text:before{
  content: "";
  position: absolute;
  top: 0%;
  left: 30px;
  margin-top: -30px;
  border: 15px solid transparent;
  border-bottom: 15px solid #f6f7f8;
  }

.message-photo{
  width:100%;
  display:flex;
  flex-direction:row;
}
.message-photo div{
  width:100%;
}

.message-photo img{
  width: 120px;
  margin: 0 30px 30px 0;
  height: 120px;
}
}

.box-voice {
  position: relative;
  display: flex;
  margin: 60px 0;
  justify-content: space-around;
  color:#222;
}
.voice-photo {
  width: 20%;
  line-height: 1.5;
  position:relative;
  margin-right: 20px;
}
.voice-photo :before{
  display:block;
  content:'';
  height: 94%;
  position:absolute;
  width:1px;
  top:0;
  right: -20%;
}
.voice-photo img {
  width: 100%;
}

.voice-photo img {
  width: 100%;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.voice-meta{
  margin-left: 0px;
  width: 100%;
  position: relative;
}

.voice-text {
  min-width: 100%;
  right: 0;
  bottom: 0;
  top: 0;
  padding: 40px 0px 10px;
  position:relative;
  border-top:solid 1px #ddd;
  border-bottom:solid 1px #ddd;
  margin-bottom: 8px;
}

.voice-text:before{
  display:none;
  }
.voice-text h3{
  margin:0;
  background: none;
  color: #222;
  text-align: left;
  padding: 0;
  font-family: serif;
  border:none;

}

.voice-number{
  position:absolute;
  z-index:1;
  background:#0056a0;
  color:#fff;
  padding:6px 10px;
  line-height:1;
  border-radius:0px 0px 4px 4px;
  font-size: 15px;
  top:0px;
  margin-left: 0px;
  font-weight: bold;
}

.box-voice p.name{
  margin: 0 0 0px;
  letter-spacing: .2em;
  font-size: 17px;
  font-weight: bold;
}
.en .box-voice p.name{
  letter-spacing: 0.05em;
}
.box-voice .title{
  margin:0;
  font-size: 13px;
  line-height: 1.3;
  max-width: 610px;
}

.box-voice .button-line{
  position:absolute;
  right:0;
  bottom: 0;
  font-size: 14px;
  margin:0;
}

@media (max-width:980px) {
.box-voice .title{
  max-width: 440px;
}
}

@media (max-width:768px) {

.voice-photo{
  position:absolute;
  bottom: 30px;
}
  .voice-profile{
    margin-left:100px;
  }
  .box-voice p.name{
    margin-top: 30px;
  }
  .box-voice .button-line{
    position:relative;
    float:right;
    margin-top: 10px;
  }
  .box-voice{
    flex-direction:column;
    padding-bottom: 40px;
  }
  .voice-text{
    width:100%;
    padding: 40px 0px 20px 0;
  }

  .voice-text:before{
  content: "";
  position: absolute;
  top: 0%;
  left: 30px;
  margin-top: -30px;
  border: 15px solid transparent;
  border-bottom: 15px solid #f6f7f8;
  }

.voice-photo{
  width:100%;
  display:flex;
  flex-direction:row;
}

.voice-photo img{
  width: 80px;
  margin: 0 30px 30px 0;
  height: 80px;
}
}

@media (max-width:480px) {
  .box-voice{
    padding-bottom:20px;
  }
}																																																										

.nav-social a:after {
  display: none;
}

.box {
  /* background: #fff; */
  padding: 15px 15px 15px;
  border: solid 1px #e5e6e7;
  margin-bottom: 60px;
  overflow: hidden;
}
.box h2:first-child{
  margin-top: 0!important;
}

.nav-scroll li a.current {
  color: #000;
}
@media (max-width:768px) {

.box {
   padding: 10px;

}
}
.post-content {
  padding: 0;
  z-index: 1;
  overflow: hidden;
  margin-bottom: 0;
}

.parallax-section:before {
  /* content: ""; */
  /* display: block; */
  /* padding-top: 40%; */
}
body .parallax-section-m {
  min-height: 60vh;
}
.parallax-section.parallax-section-s {
  min-height: 45vh;
}
@media (max-width:479px){
  .parallax-section{
    background-position:center!important
  }
}

.bg-dark{
  background:#f5f6f7;
}

.parallax-section {
  position: relative;
  background-size: cover;
  background-position: 0;
  /* text-align: center; */
  overflow: hidden;
  min-height: 350px;
  padding:  0;

} 

.parallax-section.dark:before{
  content:"";
  display:block;
  position:absolute;
  background:rgb(0 0 0 / .2);
  top:0;
  right:0;
  left:0;
  bottom:0;
}
@media(max-width:1280px) {
  .parallax-section {
    min-height: 60vh;
  }
  }
@media(max-width:980px) {
  .parallax-section {
    min-height: 50vh;
  }
  }
 @media(max-width:768px) {
  .parallax-section {
    min-height: 40vh;
  }
  .parallax-section.parallax-section-s {
    min-height: 30vh;
  }
  }

.parallax-section h1 {
  padding: 1em 1.5em;
  font-size: 30px;
  font-weight: 600;
  border-left: none;
  border-right: none;
  color: #fff;
  line-height: 1.5;
  background: none;
  margin: 0px;
  z-index: 100;
  position: relative;
}
@media(max-width:768px){
  .parallax-section h1 {
     margin-top: 0px;
     padding: 0;
  }
}

.parallax-section h2, .section-people h2{
  margin-top:0;
  padding: 0;
  background: no-repeat;
  text-align: left;
  color: #fff;
}
.parallax-section .parallax-inner{
  padding-left:8%;
  padding-right:8%;
  text-align: center;
}
.parallax-section >*{
  color:#fff;
}

h2 span {
  font-size: 18px;
  /* display:block; */
  /* font-weight: 500; */
}

#content a {
  position: relative;
}
a:after {
  content: "";
  transition: all 200ms ease;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
}
#content .share a:after, .mobile-logo a:after {
  display: none;
}
#content a:hover:after, #content a.active:after {
  box-shadow: 0px 0px 0 0px inset #00b9eb;
}
#content a:hover {
  /* color:#fff; */
}
#content .posts a:after, #content .post-thumb a:after {
  display: none;
}

iframe {
}
.mobile-logo {
  padding: 10px 0;
  text-align: center;
  z-index: 1000;
  position: relative;
  display: block;
  margin: auto;
  display:flex;
  justify-content:space-between;
  height: 60px;
}
.mobile-logo a{
  display:inline-block;
  margin: auto;
  position: absolute;
  width: 100px;
  margin-left: -50px;
  left: 50%;
}
.mobile-logo img {
  margin: 0px auto;
  width: 90px;
}
.mobile-logo .tagline{
  position:absolute;
  left: 10px;
  top: 50%;
  margin-top: -.5em;
  font-size: 11px;
}
@media (max-width: 980px){

  .mobile-logo .alt-logo{
  right: 10px;
  left: auto;
  }
}
@media (max-width: 980px) {
  .mobile-logo{
    flex-direction:column;
    height:80px;
  }
.mobile-logo a{ position:static;
margin:0 auto 10px;}
.mobile-logo .alt-logo{position:absolute;margin:0;top: 20px;}

  .mobile-logo .tagline{
    position:static;
  }
}

.treemenu .hitarea {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
}
.treemenu li li .hitarea:before {
  content: "+";
  display: block;
  width: 16px;
  height: 16px;
  padding: 0 0 0;
  line-height: 18px;
  text-align: center;
  border-radius: 50px;
  -moz-border-radius: 50x;
  -khtml-border-radius: 50px;
  -webkit-border-radius: 50px;
  left: -10px;
  top: 7px;
  color: #0cc;
  position: absolute;
  border: solid 1px #0cc
}
.treemenu li li.collapsable .hitarea:before {
  background: #0cc;
  color: #fff;
  content: "-";
  line-height: 16px;
}
.treemenu .hitarea:hover {
  cursor: pointer;
}

.treemenu li.collapsable h3, .treemenu li:hover h3 {
  background: #eae7e2; /* color:#fff; */
}
.treemenu li li.collapsable {
  background: #fff;
}

table {
  overflow-x: scroll;
  background: #f6f7f8;
  margin: 0;
  width: 100%;
  line-height: 1.5;
  /* font-size: .85rem; */
  /* border-top: solid 1px #332a2a!important; */
  margin-bottom: 3rem;
  border: solid 1px #d5d6d7 !important;
}
table.show {
  display: table !important;
}
th {
  border-bottom: solid 1px #ddd;
  padding: 20px;
  width: 33%;
  font-weight:
  bold;
  background: #fff;
}
td {
  border-bottom: solid 1px #ddd;
  padding: 20px 20px;
  vertical-align: middle !important;
  background: #fff;
}
.donate_box td:first-child {
  /* padding-left:1em; */
}
.donate_box td:last-child {}
.donate_box tr:last-child th, tr:last-child td {
  /* border-bottom:none; */
}

.notice{display:inline-block;
font-size:13px;
color:#ea5147;}

.notice2{
  margin-top:20px;
  display:inline-block;
  font-size:13px;
}
.inputBtn{
  text-align:center;
  margin-bottom:60px;
}

.regist_box{
  text-align:center;
  background: #f6f7f8;
  padding: 40px 0;
}
.donate_box label{
  margin-bottom:10px;
  display:inline-block;
}
