@charset "utf-8";
/*============================================================

	/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%;
   }
}
   


