@charset "utf-8";

/*============================================================

	/top/  ※new-layout

============================================================*/
@media (min-width: 1079px) {
   .toppage_container2 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
   }
}

@media (max-width: 640px) {
   .toppage_container2 {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
   }
}

@media (min-width: 1079px) {
   #layout_column2 #area_content_main2 {
      width: 700px;
   }
}
   
@media (max-width: 640px) {
   #layout_column2 #area_content_main2 {
      width: 100%;
   }
}

@media (min-width: 1079px) {
   #area_content_side2 {
      margin: 1rem 1rem;
      border: solid 1px #c5c5c5;
   }
}

@media (max-width: 640px) {
   #area_content_side2 {
   margin: 1rem 0 0;
   border: solid 1px #c5c5c5;
   }
}

.toppage_container2 ul {
    margin: 0 0 25px;
}

.toppage_container2 ul li {
    padding: 15px;
    border-bottom: dashed 1px #b2b2b2;
    font-size: 116.66%;
}

.toppage_container2 ul li.new {
    position: relative;
    top: 15px;
    margin: 0 0 15px;
    border: solid 2px #0060b0;
   border-radius: 6px;
}

.toppage_container2 ul li.new h3 a {
    color: #0060b0;
    font-weight: bold;
}

/*============================================================

	/projects/  ※new-layout

============================================================*/

.note {
   border: 1px solid #707070;
   padding: 1.25rem 1.25rem 0.5rem;
   border-radius: 0.75rem;
   }
   
.note p {
   font-size: 116.66%;
   margin-bottom: 1rem;
}

.note p span {
   margin-right: 0.4rem;
}

@media (max-width:640px) {
   .mt-1 {
      margin-top: -1rem;
   }
}
   
.projects_general {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-pack: justify;
   -ms-flex-pack: justify;
   justify-content: space-between;
   margin-bottom: 5rem;
}
   
.projects_general:nth-child(odd) {
   -webkit-box-orient: horizontal;
   -webkit-box-direction: reverse;
   -ms-flex-direction: row-reverse;
   flex-direction: row-reverse;
}

.projects_general-text {
   width: 49%;
}
   
.projects_general-img {
	width: 49%;
}

.projects_general-img img {
   display: block;
   width: 100%;
   height: auto;
}

@media screen and (max-width: 640px) {
   .projects_general,
   .projects_general:nth-child(odd)  {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
	}

	.projects_general-text,
	.projects_general-img {
       width: 100%;
	}

	.projects_general-text {
       padding: 1rem 0;
	}
}

/*============================================================

	/presss/  ※External Links

============================================================*/

.update .related-links {
    margin: -15px 0 0;
}

.update .related-links ul {
    padding: 0 2px;
}

.update .related-links ul li {
    margin: 11px 20px 0;
    text-indent: -20px;
}

.update .related-links ul li::before {
   font-family: "Font Awesome 5 Free";
   font-weight: 900;
   content: "\f138";
   color: #0060b0;
}

.update .related-links ul li a {
   margin: 0 0.5rem;
   font-size: 116.66%;
}

.external_link_icon {
   position: relative;
}

.external_link_icon a::after {
   content: '';
   display: inline-block;
   height: 0.75rem;
   width: 1rem;
   border-bottom: 0.0625rem #FDF0E9 solid;
   border-left: 0.0625rem #FDF0E9 solid;
   background-color: rgb(0, 97, 176);
   background-color: #0060b0;
   box-shadow: -0.25rem 0.25rem 0 -0.0625rem #0060b0;
   transition: all 0.3s;
   margin-left: 0.625rem;
}

.external_link_icon_grey {
   position: relative;
}

.external_link_icon_grey a::after {
   content: '';
   display: inline-block;
   height: 0.75rem;
   width: 1rem;
   margin-left: 0.625rem;
   border-bottom: 0.0625rem #FDF0E9 solid;
   border-left: 0.0625rem #FDF0E9 solid;
   background-color: grey;
   box-shadow: -0.25rem 0.25rem 0 -0.0625rem grey;
}

.external_link_icon_grey span {
   color: grey;
   font-weight: bold;
   font-size: 0.8rem;
   margin-left: 0.25rem;
}



/*============================================================

	/projects/  ※Add CSS

============================================================*/

.float_left {
   margin-bottom: 1rem;
}

.projects_clearfix {
   clear: both;
}

@media (min-width:767px) {
   .float_left {
      float: left;
      margin-right: 1rem;
   }
}
/*============================================================

	/about/donations/

============================================================*/

.cf:after {
   content: "";
   clear: both;
   display: block;
}

.float_l {
   float: left;
   margin: 0 20px 20px 0;
}

.sp_none {
   display: block;
}

h3.align_title {
   min-height: 46px;
}

.elem_text_list_note th.single {
   padding: 0 10px 1em 0 !important;
}

.border {
   border: 2px solid #e0e0e0;
   border-radius: 15px;
   padding: 30px 30px 10px;
   margin-bottom: 20px;
}


/* 寄附金ボタン
----------------------------------------------------------- */
p.button.donate {
   width: 300px;
   margin: 5px auto 20px;
}


/* /about/donations/type/index_j.html */
.button.donate.type {
   width: 95%;
   margin: 0 auto 20px;
   display: table;
   text-align: left;
}

.button.donate.type.specific {
   background-image: linear-gradient(left, rgb(255, 255, 255) 0%, rgb(218, 227, 243) 100%);
   background-image: -o-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(218, 227, 243) 100%);
   background-image: -moz-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(218, 227, 243) 100%);
   background-image: -webkit-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(218, 227, 243) 100%);
   background-image: -ms-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(218, 227, 243) 100%);
   background-image: -webkit-gradient( linear, left top, right top, color-stop(0, rgb(255, 255, 255)), color-stop(1, rgb(218, 227, 243)));
}

.button.donate.type.personally {
   background-image: linear-gradient(left, rgb(255, 255, 255) 0%, rgb(255, 230, 153) 100%);
   background-image: -o-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(255, 230, 153) 100%);
   background-image: -moz-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(255, 230, 153) 100%);
   background-image: -webkit-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(255, 230, 153) 100%);
   background-image: -ms-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(255, 230, 153) 100%);
   background-image: -webkit-gradient( linear, left top, right top, color-stop(0, rgb(255, 255, 255)), color-stop(1, rgb(255, 230, 153)));
}

.button.donate.type.general {
   background-image: linear-gradient(left, rgb(255, 255, 255) 0%, rgb(197, 224, 180) 100%);
   background-image: -o-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(197, 224, 180) 100%);
   background-image: -moz-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(197, 224, 180) 100%);
   background-image: -webkit-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(197, 224, 180) 100%);
   background-image: -ms-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(197, 224, 180) 100%);
   background-image: -webkit-gradient( linear, left top, right top, color-stop(0, rgb(255, 255, 255)), color-stop(1, rgb(197, 224, 180)));
}

.button.donate.type a {
   background: transparent url(/common/images/content_images/arrow/down_01.png) no-repeat 0 0.3em;
   display: block;
}

.button.donate.type span {
   display: table-cell;
}

.button.donate.type span:first-child {
   width: 130px;
}

.button.donate.type .lead {
   border-left: 1px solid #dbdbdb;
   padding: 0 20px;
   vertical-align: middle;
}
/* End */

/* テキスト2行揃えボタン */
button.vertical_mid {
   width: 100%;
   height: 82px;
   padding: 13px 1em;
   border: solid 1px #dbdbdb;
   background: url(/common/images/module_parts/component/gradation_01.gif) repeat-y 100% 0;
   background-color: #fff;
   background-image: linear-gradient(left, rgb(255, 255, 255) 0%, rgb(242, 242, 242) 100%);
   background-image: -o-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(242, 242, 242) 100%);
   background-image: -moz-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(242, 242, 242) 100%);
   background-image: -webkit-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(242, 242, 242) 100%);
   background-image: -ms-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(242, 242, 242) 100%);
   background-image: -webkit-gradient( linear, left top, right top, color-stop(0, rgb(255, 255, 255)), color-stop(1, rgb(242, 242, 242)));
   text-align: center;
}

button.vertical_mid span {
   padding: 0 0 0 20px;
   background: url(/common/images/content_images/arrow/right_01.png) no-repeat 0 45%;
   color: #161c28;
   text-decoration: none;
   font-weight: bold;
   font-size: 120%;
}
/* End */


/* タブ切り替え
----------------------------------------------------------- */
.tab_wrap {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
   margin: 40px 0;
}

.tab_wrap:after {
   content: '';
   width: 100%;
   height: 10px;
   background: transparent url(/common/images/module_parts/tabs/bg_tabs.gif) repeat-x 0 100%;
   display: block;
   order: -1;
}

.tab_label {
   width: 300px;
   background: #fff url(/common/images/module_parts/tabs/bg_li.gif) repeat-x 0 100%;
   white-space: nowrap;
   text-align: center;
   order: -1;
   position: relative;
   z-index: 1;
   cursor: pointer;
   -webkit-box-flex: initial;
   -ms-flex: initial;
   flex: initial;
   padding: 15px;
   border: solid 1px #dbdbdb;
   border-bottom: none;
   border-radius: 6px 6px 0 0;
   margin-left: 10px;
}

.tab_label span.text {
   padding: 0.25em 0 0.25em 20px;
   background: url(/common/images/content_images/arrow/right_01.png) no-repeat 0 50%;
   vertical-align: middle;
   letter-spacing: normal;
   font-size: 180%;
}

.tab_content {
   width: 100%;
   height: 0;
   overflow: hidden;
   opacity: 0;
}

.tab_switch:checked + .tab_label {
   background: #005ead;
   color: #fff;
}

.tab_switch:checked + .tab_label span.text {
   background: url(/common/images/content_images/arrow/right_02.png) no-repeat 0 50%;
   color: #fff;
}

.tab_switch:checked + .tab_label + .tab_content {
   height: auto;
   overflow: visible;
   padding: 15px;
   opacity: 1;
   transition: .7s opacity;
}

.tab_switch {
   display: none;
}

/* タブ内、2カラム */
.tab_content .elem_content_divide .elem_content_divide_col2.elem_content_divide_pad .elem_content_divide_pad {
   margin: 0 0 0 -4.082%;
}

.tab_content .elem_content_divide .elem_content_divide_col2 .divide_block {
   width: 46.078%;
   margin-left: 3.922%;
}
/* End */

.tab_content .divide_block .elem_pic .elem_pic img {
   max-width: 100%;
}

/* タブ内、続きを読む非表示 */
.grad_trigger,
.grad_btn {
   display: none;
}
/* End */

/* 職員インタビュー */
.interview_name {
   font-weight: bold;
   font-size: 133.33% !important;
}

.interview_name,
.interview_note {
   margin-top: 0 !important;
}

.interview_q {
   font-weight: bold;
   font-size: 133.33% !important;
   line-height: 1.3;
   color: #005ead;
   text-indent: -1em;
   padding-left: 1em;
}
/* End */


/* アコーディオンメニュー（JS）
----------------------------------------------------------- */
.js_a_nav.btn {
   width: 100%;
   margin: 0 auto 4px;
   display: table;
   text-align: left;
   cursor: pointer;
   margin: 0 0 5px;
   padding: 13px 1em;
   border: solid 1px #dbdbdb;
   background: url(/common/images/module_parts/component/gradation_01.gif) repeat-y 100% 0;
   background-color: #fff;
   background-image: linear-gradient(left, rgb(255, 255, 255) 0%, rgb(242, 242, 242) 100%);
   background-image: -o-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(242, 242, 242) 100%);
   background-image: -moz-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(242, 242, 242) 100%);
   background-image: -webkit-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(242, 242, 242) 100%);
   background-image: -ms-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(242, 242, 242) 100%);
   background-image: -webkit-gradient( linear, left top, right top, color-stop(0, rgb(255, 255, 255)), color-stop(1, rgb(242, 242, 242)));
}
   
.js_a_nav.btn span {
   background: transparent url(/common/images/content_images/arrow/down_01.png) no-repeat 0 0.3em;
   display: block;
   padding: 0 0 0 20px;
   color: #161c28;
   text-decoration: none;
   font-weight: bold;
   font-size: 133.33%;
}
   
.js_a_nav.active.btn span {
   background: transparent url(/common/images/content_images/arrow/up_01.png) no-repeat 0 0.3em;
}
   
.js_a_detail {
   padding: 2em;
}


/* 寄附金ページ（名前順リスト）
----------------------------------------------------------- */
.original_list_dot_none {
   margin: 0 auto 45px;
}
   
.original_list_dot_none ul {
   margin: 0 0 0 -2rem;
}

.original_list_dot_none li {
   padding: 10px 0 0 0;
   font-size: 116.66%;
   display: inline-block;
   width: calc(20% - 1rem);
   margin-left: 2rem;
}


/* 複数行で桁数を揃えるリスト
----------------------------------------------------------- */
.elem_text_list_note.original_list_adj_number th,
.elem_text_list_note.original_list_adj_number td {
   width: auto;
}

.elem_text_list_note.original_list_adj_number td {
   text-align: right;
}
   
.elem_text_list_note.original_list_adj_number td.unit {
   text-align: left;
}


@media (min-width: 1025px) {
   /* タブ内、3カラム */
   .tab_content .elem_content_divide .elem_content_divide_col3 .divide_block {
      width: 290px;
   }
   /* End */
}
@media (max-width: 1024px) and (min-width: 569px) {
/* 寄附金ボタン
----------------------------------------------------------- */
   p.button.donate {
      width: 70%;
   }
}


@media (max-width: 725px) and (min-width: 641px) {
/* 寄附金ボタン
----------------------------------------------------------- */
   button.vertical_mid {
      height: 100px;
   }
}


@media (max-width: 640px) and (min-width: 415px) {
/* 寄附金ボタン
----------------------------------------------------------- */
   /* テキスト2行揃えボタン */
   p.button.donate {
      width: 46.078%;
   }
   /* End */
}


@media (max-width: 679px) {
/* タブ切り替え→アコーディオンメニュー変換
----------------------------------------------------------- */
   .tab_wrap {
      display: block;
   }

   .tab_wrap:after {
      background: none;
   }

   .tab_label {
      width: 100%;
      margin: 0 0 -1px;
      padding: 10px .5em;
      border: 1px solid rgba(0, 0, 0, .2);
      cursor: pointer;
      display: block;
      text-align: left;
   }

   .tab_label:before {
      margin-right: .2em;
      display: inline-block;
      transform: rotate(-90deg);
   }

   .tab_switch:checked + .tab_label:before {
      transform: rotate(0);
   }

   .tab_label span.text {
      background: transparent url(/common/images/content_images/arrow/down_01.png) no-repeat 0;
   }

   .tab_content {
      height: 0;
      padding: 0 15px;
      overflow: hidden;
      opacity: 0;
   }

   .tab_switch:checked + .tab_label {
      background: #005ead;
   }

   .tab_switch:checked + .tab_label span.text {
      background: transparent url(/common/images/content_images/arrow/up_02.png) no-repeat 0;
   }

   .tab_switch:checked + .tab_label + .tab_content {
      height: auto;
      overflow: auto;
      margin-bottom: -1px;
      padding: 15px 15px 55px;
      opacity: 1;
      transition: .7s;
   }

   .tab_switch {
      display: none;
   }
   
   /* タブ内、2カラム */
   .tab_content .elem_content_divide .elem_content_divide_col2.elem_content_divide_pad .elem_content_divide_pad {
      margin-left: 0;
   }

   .tab_content .elem_content_divide .elem_content_divide_col2 .divide_block {
      width: 100%;
      margin-left: 0;
   }
   /* End */
   
   /* タブ内、続きを読む */
   .grad_wrap {
      position: relative;
   }

   .grad_btn {
      display: block;
      z-index: 2;
      position: absolute;
      right: 0;
      bottom: 20px;
      left: 0;
      width: 148px;
      margin: auto;
      padding: .5em 0;
      border-radius: 2px;
      background: #f3f4ec;
      color: #0060b0;
      font-size: 116.66%;
      text-align: center;
      cursor: pointer;
      transition: .2s ease;
      box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
   }

   .grad_btn::after {
      content: "続きを読む";
   }

   .grad_btn .fa {
      margin-right: .5em;
   }

   .grad_trigger:checked ~ .grad_btn .fa {
      transform: rotate(180deg);
   }

   .grad_btn .fa-chevron-down:before {
      content: "\f078";
   }

   .grad_item {
      position: relative;
      overflow: hidden;
      height: 130px;
   }

   .grad_item::before {
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 80px;
      background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
      background: linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
      content: "";
   }

   .grad_trigger {
      display: none;
   }

   .grad_trigger:checked ~ .grad_btn::after {
      content: "閉じる"
   }

   .grad_trigger:checked ~ .grad_item {
      height: auto;
   }

   .grad_trigger:checked ~ .grad_item::before {
      display: none;
   }
   /* End */
}


@media (max-width:568px) {
/* スマホ時、センター寄せ画像のクレジット位置
----------------------------------------------------------- */
   .credit_sp {
      width: 100%!important;
   }
}


@media (max-width: 414px) {
   .float_l {
         float: none;
         margin: 0 auto 20px;
      }
      
   .sp_none {
      display: none;
   }
   
   h3.align_title {
      min-height: auto;
   }

   
/* 寄附金ボタン
----------------------------------------------------------- */
   p.button.donate {
      width: 90%;
   }
   
   /* テキスト2行揃えボタン */
   button.vertical_mid {
      height: auto;
   }
   /* End */
   

/* 寄附金ページ（名前順リスト）
----------------------------------------------------------- */
   .original_list_dot_none li {
      display: block;
      width: 100%;
   }
}
/* Youtube ifream
----------------------------------------------------------- */
.youtube {
position: relative;
width: 90%;
padding-top: 56.25%;
}

.youtube iframe {
position: absolute;
top: 0;
right: 0;
width: 90% !important;
height: 90% !important;
}

@media screen and (max-width: 1024px) {
   .youtube {
      width: 100%!important;
   }
   
   .youtube iframe {
      width: 100%!important;
      height: 100%!important;
   }
}

/* 2020年11月～追記　タブ・ボタンのCSS調整
----------------------------------------------------------- */

/* pタグのpadding領域を0にする */
.reset2020 p.button {
  padding: 0;
}

.reset2020 p.button a {
  padding: 13px 0 13px 0px;
  background: none;
  display: block;
  position: relative;
}

 /* 青いボタン画像をaタグからaタグの疑似要素に変更 */
 .reset2020 p.button a::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f138";
    color: #0060b0;
    margin-right: 0.5rem;
 }
   
 /* ホバー時アニメーション */
 .reset2020 p.button a:hover {
   opacity: 0.6;
 }
 
 .reset2020 .tab_label {
    width: 29%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 150%;
 }
 
 .reset2020 .tab_label span.text {
   white-space: normal;
 }
 
@media screen and (max-width: 767px) {
   .reset2020 .tab_label {
      width: 100%;
      justify-content: left;
   }
}

 

/* For iPad (portrait) */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) {
   .reset2020 .tab_label {
      width: 31.5%;
      font-size: 100%;
   }   
}

 

/* For iPad (landscape) */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) {
   .reset2020 .tab_label {
      width: 32%;
      font-size: 100%;
   }   
}
   


