﻿@charset "utf-8";

/* 基本
----------------------------------------------------------*/
#contents .editor-output h5{
  font-size: 1.8rem;
  font-weight: 700;
}

#contents .underlayer-lead01 {
    font-size: 2.2rem;
}

#contents div.underlayer-frame01 {
    margin: 0 0 80px;
    padding: 20px 20px 0;
    border: 2px solid #e10010;
 
}

#contents p.underlayer-frame01 {
    margin: 20px auto;
    padding: 20px;
    border: 2px solid #e10010;
    display: block;
    width: 80%;
}

figure {
  display: table;
  width: 320px; /* minimum width */
 *width: auto; /* for IE7 and below */
  margin-bottom: 20px;
}

figcaption {
  font-size: 1.2rem;
}

figure.underlayer_banner{
  width:auto;
}

.nobr {
  white-space: nowrap;
}

.noborder td {
  border: none;
}

#contents .editor-output span.underlayer_caution{
  color: #ff0000;
}

#contents .editor-output hr {
  clear: both;
  position: relative;
  margin: 0 0 40px;
  border-bottom: 5px solid #9e9e9e;
  line-height: 1.2;
}

#contents .editor-output hr:after {
  display: block;
  position: absolute;
  bottom: -5px;
  width: 36.364%;
  overflow: hidden;
  border-bottom: 5px solid #e10010;
  line-height: 0;
  content: "";
}

#contents h3.underlayer_simple {
  border: none;
}

#contetns select#productCode{
  padding: 6px 24px 5px 8px;
  border-radius: none;
}

.underlayer_small {
  font-size: 70%;
}

.underlayer_center {
  text-align: center;
}

.qa_title:before {
  content: '';
  display: inline-block;
  width: 200px;
  height: 200px;
  background-image: url(../img/find/for-studen_title.png);
  background-size: contain;
  vertical-align: middle;
}

dl.underlayer_sidebyside{
  clear: both;
  display: block;
}

dl.underlayer_sidebyside dt{
  clear: left;
  float: left;
  width: 100px;
  display: block;
  
}

dl.underlayer_sidebyside dd{
  margin-left: 100px;
}

/*  福祉基金ページの「これまでにご寄付をいただいた企業・団体・個人の皆さま」
----------------------------------------------------------*/

#contents .kikin_csr_member{ 
}

#contents .kikin_csr_member h3{
  font-size: 2rem;
  background: #e10010;
  border: none;
  color: #ffffff;
  padding: 4px 16px;
  text-align: center;
   max-width: 700px;
  margin: 0 auto 10px;
}

#contents .kikin_csr_member h4{
  border-left: none;
  padding-bottom: 4px;
  border-bottom: dashed 1px #e10010;
  font-size: 1.6rem;
  text-align: center;
  max-width: 400px;
  margin: 0 auto 10px;
}
#contents .kikin_csr_member p{
  text-align: center;
  font-size: 2.2rem;
}

#contents .kikin_csr_member p.caution{
  font-size: 1.4rem;
}



/*  テーブル
----------------------------------------------------------*/

#contents .underlayer_table {
  box-sizing: border-box;
  border-right: 1px solid #e0e0e0;
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 30px;
}

#contents .underlayer_table table {
  width: 100%;
  min-width: 840px;
  border-right: none;
  margin-bottom: 0;
} 
table.tr_4561 tr:nth-child(1){
  text-align: center;
  background-color: #F0F0F0;
}
table.td_4561 td:nth-child(1){
  text-align: center;
  vertical-align: middle;
}

/*  ふるサポ　テーブル
----------------------------------------------------------*/

#contents .furusapo_theme_table{
  font-size: 1.2rem;
  
}

#contents .furusapo_theme_table tr td{
  padding: 3px;
  vertical-align: top;
}

/* 余白
----------------------------------------------------------*/

body.page #contents .editor-output h2, body.page #contents .editor-output h3 {
  margin-bottom: 40px;
}

#contents .editor-output h2, #contents .editor-output h3 {
  margin-bottom: 40px;
}

/*#contents .editor-output .cmn-content01{
	margin-bottom: 60px;
}*/


.underlayer_section {
  margin-bottom: 80px;
}

body.page #contents .editor-output .cmn-lead01 {
  margin: 40px auto;
}

#contents .editor-output .cmn-lead01 {
  margin: 40px auto;
}

.underlayer_indent {
  padding: 0 50px;
}

@media print, screen and (max-width: 959px) {

.underlayer_indent {
  padding: 0 15px;
}
}

/* nav
----------------------------------------------------------*/

.underlayer_nav {
  margin-bottom: 4rem;
}

.underlayer_nav ul {
  display: flex;
  -webkit-flex-wrap: wrap; /* Safari */
  flex-wrap: wrap;
}

.underlayer_nav ul li {
  list-style-type: none;
  background-color: #fff;
  color: #000;
  line-height: 1;
  margin-bottom: 2rem;
  padding: 0 1rem;
}

.underlayer_nav ul li + li {
  border-left: 1px solid #000;
}

/* 画像内のテキスト
----------------------------------------------------------*/

.underlayer_image_text {
  position: relative;
  margin-bottom: 40px;
}

.underlayer_image_text div {
  position: absolute;
  top: 2rem;
  left: 2rem;
  font-weight: bold;
  color: #fff;
  background-color: rgba(0,0,0,0.3);
  padding: 1rem
}

 @media print, screen and (max-width: 599px) {
	 .underlayer_image_text div {
  top: 0;
  left: 0;
  font-weight: normal;
	font-size: 1.2rem;
  padding: 1rem
}
	 
}


/* ボタン
----------------------------------------------------------*/

.underlayer_btn_l {
  width: 30%;
  font-size: 24px;
  font-weight: bold;
  text-decoration: none;
  display: block;
  text-align: center;
  margin: 0 auto 40px;
  padding: 8px 0 10px;
  color: #fff;
  background-color: #e10010;
  border-radius: 3px;
}

.underlayer_btn_30 {
  width: 30%;
  font-size: 1.8rem;
  font-weight: bold;
  text-decoration: none;
  display: block;
  text-align: center;
  margin: 0 auto 4.0rem;
  padding: 0.6rem;
  color: #fff;
  background-color: #e10010;
  border-radius: 3px;
}

.underlayer_btn_40 {
  width: 40%;
  font-size: 1.8rem;
  font-weight: bold;
  text-decoration: none;
  display: block;
  text-align: center;
  margin: 0 auto 4.0rem;
  padding: 0.6rem;
  color: #fff;
  background-color: #e10010;
  border-radius: 3px;
}

.underlayer_btn_60 {
  width: 60%;
  font-size: 1.8rem;
  font-weight: bold;
  text-decoration: none;
  display: block;
  text-align: center;
  margin: 0 auto 4.0rem;
  padding: 0.6rem;
  color: #fff;
  background-color: #e10010;
  border-radius: 3px;
}

.underlayer_btn_80 {
  width: 80%;
  font-size: 2.0rem;
  font-weight: bold;
  text-decoration: none;
  display: block;
  text-align: center;
  margin: 0 auto 4.0rem;
  padding: 0.8rem;
  color: #fff;
  background-color: #e10010;
  border-radius: 3px;
}

.underlayer_btn_100 {
  width: 100%;
  font-size: 2.4rem;
  font-weight: bold;
  text-decoration: none;
  display: block;
  text-align: center;
  margin: 0 auto 40px;
  padding: 8px 0 10px;
  color: #fff;
  background-color: #e10010;
  border-radius: 3px;
}

.underlayer_col .underlayer_btn_100, .underlayer_col .underlayer_btn_80, .underlayer_col .underlayer_btn_60, .underlayer_col .underlayer_btn_40, .underlayer_col .underlayer_btn_30 {
  margin-top: auto;
}

a.underlayer_btn_l:visited, a.underlayer_btn_100:visited, a.underlayer_btn_80:visited, a.underlayer_btn_60:visited, a.underlayer_btn_40:visited, a.underlayer_btn_30:visited {
  color: #fff;
}

/* アコーディオン
----------------------------------------------------------*/

.acd_menu {
  border-style: solid;
  border-color: #aaa;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}

.acd_menu_head {
  padding: 20px;
  margin-bottom: 20px;
  border-radius: 1rem;
  background: #efefef;
  border: 4px solid #fff;
  color: #000;
  font-weight: bold;
  font-size: 2.2rem;
  cursor: pointer;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.acd_menu_head:hover {
  border: 4px solid #e10010;
  color: #e10010;
}

.acd_menu_body {
  height: 0;
  padding: 0 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}

.acd_menu_body p {
  margin: 10px 0;
}

.acd_menu:last-child .acd_menu_head {
/*border-bottom: none;*/
}

/* カラム
----------------------------------------------------------*/

.underlayer_row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 30px;
}

.csr_row{
  align-items: flex-end;
}

.underlayer_col {
  display: flex;
  flex-flow: column;
}

.underlayer_col50 {
  position: relative;
  width: calc((100% - 24px) / 2);
  min-height: 47px;
  margin: 0 8px 8px 0;
}

.underlayer_col33 {
  position: relative;
  width: calc((100% - 24px) / 3);
  margin: 0 8px 8px 0;
}

.underlayer_col66 {
  position: relative;
 width: calc(((100% - 24px) / 3) * 2);
  min-height: 47px;
  margin: 0 8px 8px 0;
}

.underlayer_col25 {
  position: relative;
  width: calc((100% - 32px) / 4);
  min-height: 47px;
  margin: 0 8px 8px 0;
}

.underlayer_col75 {
  position: relative;
 width: calc(((100% - 24px) / 4) * 3);
  min-height: 47px;
  margin: 0 0 8px 8px;
}

.underlayer_label {
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  margin: 4px;
  padding: 8px 16px;
  color: #000;
  white-space: nowrap;
  display: inline-block;
  background-color: #fff2f3;
  border-radius: 4px;
  border: solid 2px #e10010; 
}

 @media print, screen and (max-width: 599px) {
 .underlayer_col50,  .underlayer_col33,  .underlayer_col66,  .underlayer_col25,  .underlayer_col75 {
 width: 100%;
 margin: 0 0 8px;
}
}

/* 日本地図
----------------------------------------------------------*/

#contents table#japan-map {
    width: 100%;
    border-collapse: separate;
    border-spacing: 2px;
		border: none;
}

#contents table#japan-map tr td{
	border-width: 0;
	vertical-align: middle;
	padding: 0;
}

#contents table#japan-map tr td.pref {
    background: rgba(251,205,206,0.7);
    font-size: 1.4rem;
    text-align: center;
    
    border-radius: 5px;
		/*border:2px solid #e10010;*/
}

#contents table#japan-map tr td.pref a {
    display: inline-block;
    text-decoration: none;
    color: #000;
		width:100%;
		height:100%;
		font-weight: bold;
		cursor: hand;
		line-height: 4rem;
		vertical-align: middle;
}

#contents table#japan-map tr td.pref a#hokkaido{
  line-height: 10rem;
}

#contents table#japan-map tr td.pref a:hover{
	color: #e10010;
}

#japan-list{
  display: none;
}

 @media print, screen and (max-width: 599px) {
	 #contents table#japan-map{
		 display: none;
	 }
  #japan-list{
     display: block;
  }
   
   #contents #japan-list table{
     width: 100%;
   }
   
   #contents #japan-list table th{
     background: #dedede;
   }
   
   #contents #japan-list table td a{
      display: inline-block;
      text-decoration: none;
      color: #000;
      font-weight: bold;
      cursor: hand;
      line-height: 2rem;
     background: rgba(251,205,206,0.7);
     padding: 0.8rem;
     margin: 0.4rem;
     border-radius: 0.4rem;
  }
}

/* 太い赤枠
----------------------------------------------------------*/

.underlayer_red_frame{
  border: 4px solid #e10010;
  padding: 20px 20px 0;
  margin-bottom: 30px;
}

/* コンテンツバナー3分割
----------------------------------------------------------*/

#contents .underlayer_bnr03 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 30px;
    line-height: 1.3;
}
#contents .underlayer_bnr03 > .card {
    position: relative;
    width: calc((100% - 24px) / 3);
    min-height: 147px;
    margin: 0 8px 8px 0;
}
@media print, screen and (min-width: 960px) {
    #contents .underlayer_bnr03 > .card:nth-of-type(4n) {
        margin-right: 0;
    }
}
#contents .underlayer_bnr03 > .card > a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 8px;
    background: #f3f3f3 50% 50% no-repeat;
    background-size: 68.367% auto;
    color: #858585;
    text-decoration: none;
}
#contents .underlayer_bnr03 > .card.card02 > a {
    background-image: url("/assets/img/cmn-local-nav-bg01-01.png");
}
#contents .underlayer_bnr03 > .card.card03 > a {
    background-image: url("/assets/img/cmn-local-nav-bg01-04.png");
}
#contents .underlayer_bnr03 > .card.card04 > a {
    background-image: url("/assets/img/cmn-local-nav-bg01-03.png");
}
#contents .underlayer_bnr03 > .card > a:hover {
    opacity: .7;
}
#contents .underlayer_bnr03 > .card > a > .inner {
    width: 100%;
    text-align: center;
}
#contents .underlayer_bnr03 > .card > a > .inner .title {
    display: block;
    font-size: 1.8rem;
    font-weight: bold;
}
#contents .underlayer_bnr03 > .card > a > .inner .text {
    display: block;
    margin: 12px 0 0;
    font-size: 1.2rem;
}

#contents .underlayer_bnr03 > .card01 {
    background: #f3f3f3;
}
#contents .underlayer_bnr03 > .card01 > .donate {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 8px;
    background: #f3f3f3 50% 50% no-repeat;
    background-size: auto 76.2%;
    color: #858585;
    text-decoration: none;
}
#contents .underlayer_bnr03 > .card01 > .donate .inner {
    padding: 8px;
}
#contents .underlayer_bnr03 > .card01 > .donate .inner .title {
    margin: 0 0 4px;
    color: #868686;
    font-size: 1.8rem;
    text-align: center;
}
#contents .underlayer_bnr03 > .card01 > .donate .inner select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    width: 98%;
    margin: 0 auto 10px;
    padding: 8px 24px 6px 10px;
    border: 1px solid #868686;
    border-radius: 0;
    background: #ffffff url("/assets/img/underlayer_bnr03-donate-selector-arrow01.png") calc(100% - 6px) 50% no-repeat;
    background-size: 16px 16px;
    color: #b4b4b5;
    font-size: 1.1rem;
    cursor: pointer;
}
#contents .underlayer_bnr03 > .card01 > .donate .inner select::-ms-expand {
    display: none;
}
#contents .underlayer_bnr03 > .card01 > .donate .inner .btn {
    text-align: center;
    line-height: 1.1;
}
#contents .underlayer_bnr03 > .card01 > .donate .inner .btn a {
    display: inline-block;
    min-width: 80.578%;
    color: #ffffff;
    padding: 12px 50px 8px 20px;
    border-radius: 22px;
    background: #888888;
    background: url("/assets/img/cmn-btn01-bg02.png") calc(100% - 6px) 50% no-repeat, linear-gradient(90deg, #e10010, #f08087);
    background-size: auto 75%, 100%;
    font-size: 2.2rem;
    text-decoration: none;
    letter-spacing: 0.05em;
}
@media print, screen and (max-width: 959px) {
    #contents .underlayer_bnr03 > .card {
        width: calc((100% - 16px) / 3);
    }
    #contents .underlayer_bnr03 > .card:nth-of-type(3n) {
        margin-right: 0;
    }
    #contents .underlayer_bnr03 > .card > a > .inner .title {
        font-size: 1.6rem;
    }
    #contents .underlayer_bnr03 > .card > a > .inner .text {
        margin: 8px 0 0;
    }
    #contents .underlayer_bnr03 > .card01 > .donate .inner .title {
        font-size: 1.6rem;
    }
    #contents .underlayer_bnr03 > .card01 > .donate .inner .btn a {
        font-size: 1.8rem;
    }
}
@media print, screen and (max-width: 599px) {
    #contents .underlayer_bnr03 > .card {
        width: calc((100% - 8px) / 2);
    }
    #contents .underlayer_bnr03 > .card:nth-of-type(3n) {
        margin-right: 8px;
    }
    #contents .underlayer_bnr03 > .card:nth-of-type(2n) {
        margin-right: 0;
    }
}

/* メインナビ3分割
----------------------------------------------------------*/
   
#contents .underlayer_main_nav {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 40px;
    line-height: 1.3;
}
#contents .underlayer_main_nav .card {
    position: relative;
    width: calc((100% - 24px) / 3);
    margin: 0 8px 8px 0;
}
#contents .underlayer_main_nav .card:before {
    display: block;
    padding: 100% 0 0;
    content: "";
}
@media print, screen and (min-width: 960px) {
    #contents .underlayer_main_nav .card:nth-of-type(4n) {
        margin-right: 0;
    }
}
#contents .underlayer_main_nav .card a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 61.22% 10px 10px;
    background: #9e9e9e 50% 15% no-repeat;
    background-size: auto 48.30%;
    color: #ffffff;
    text-decoration: none;
}
#contents .underlayer_main_nav .card.card01 a {
    background-image: url("/assets/img/home-main-nav01-bg01-03.png");
}
#contents .underlayer_main_nav .card.card02 a {
    background-image: url("/assets/img/home-main-nav01-bg01-05.png");
}
#contents .underlayer_main_nav .card.card03 a {
    background-image: url("/assets/img/home-main-nav01-bg01-08.png");
  
}

#contents .underlayer_main_nav .card a:hover {
    background-color: #e10010;
}
#contents .underlayer_main_nav .card a .title {
    display: block;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
}
#contents .underlayer_main_nav .card a .text {
    display: block;
    margin: 10px 0 0;
    font-size: 1.2rem;
    text-align: center;
}
@media print, screen and (max-width: 959px) {
    #contents .underlayer_main_nav .card {
        width: calc((100% - 16px) / 3);
    }
    #contents .underlayer_main_nav .card:nth-of-type(3n) {
        margin-right: 0;
    }
    #contents .underlayer_main_nav .card a {
        padding: 56% 10px 10px;
        background: #9e9e9e 50% 15% no-repeat;
        background-size: auto 42%;
    }
    #contents .underlayer_main_nav .card a .title {
        font-size: 1.6rem;
    }
    #contents .underlayer_main_nav .card a .text {
        margin: 5px 0 0;
    }
}
@media print, screen and (max-width: 599px) {
    #contents .underlayer_main_nav .card {
        width: calc((100% - 8px) / 2);
    }
    #contents .underlayer_main_nav .card:nth-of-type(3n) {
        margin-right: 8px;
    }
    #contents .underlayer_main_nav .card:nth-of-type(2n) {
        margin-right: 0;
    }
}

#contents .editor-output .furusapo_item{
  color: #999;
  margin-right: 1rem;
}

#contents .editor-output .frusapo_item_group{
  font-size: 1.6rem;
}

@media print, screen and (max-width: 599px) {
  #contents .editor-output .frusapo_item_group::after{
    content: "\A" ;
    white-space: pre;
  }
}

#contents .editor-output .furusapo_hr{
  margin-bottom: 20px;
}

#contents .editor-output h2.furusapo_h2{
  font-size: 2.4rem;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

#contents .editor-output .furusapo_img{
  margin-bottom: 30px;
  margin-top: 40px;
  text-align: center;
}

#contents .editor-output .furusapo_img img{
  margin: 0 auto;
  max-width: 100%;
}

.furusapo_grid {
  /*display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  grid-gap: 30px;*/
  display: flex;
  flex-wrap: wrap;
  margin-top: 40px;
}

.furusapo_grid img{
  border: 1px solid #ccc;
  margin-bottom: 1rem;
  width:100%;
  max-height: 240px;
  max-width: 360px;
}

#contents .furusapo_grid p.furusapo_group{
  font-weight: bold;
  line-height: 1.6;
}

#contents .furusapo_grid p.prefectural{
  margin-bottom: 4px;
  line-height: 1;
}

#contents .furusapo_grid p.furusapo_title{
  line-height: 1.6;
  font-weight: bold;
  color: #e10010;
}

.furusapo_grid .furusapo_card{
  position: relative;
  width: 25%;
  padding: 0 15px 30px;
}

@media print, screen and (max-width: 599px) {
  .furusapo_grid .furusapo_card{
  width: 50%;
    padding: 0 10px 30px;
}
}

.furusapo_grid a{
  text-decoration: none;
  font-weight: bold;
}

.furusapo_grid a:hover{
  text-decoration: underline;
}

@media print, screen and (max-width: 599px) {
    .furusapo_grid {
/*      grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
      grid-gap: 20px;*/
    }
}

.furusapo_theme_cards{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.furusapo_theme_card{
  width: 25%;
  position: relative;
}

.furusapo_theme_card a{
  display: block;
    position: absolute;
    top: 0;
    left: 0;
    height:100%; 
    width: 100%; 
}

.furusapo_theme_card:hover {
    opacity:0.7;
    zoom:1;/*IE*/
  text-decoration: underline;
}

.furusapo_theme_card p{
  text-align: center;
  color: #e10010;
}



@media print, screen and (max-width: 599px) {
  .furusapo_theme_card{
  width: 50%;
}
}

/* 募金達成率の表示
----------------------------------------------- */

#contents p.target_amount{
  margin-bottom: 10px;
}

#contents p.reached_amount{
  margin-bottom: 5px;
}

.bar_base{
  max-width: 500px;
  width: 100%;
  margin: 0 0 30px;
  padding: 0;
  background: #ccc;
  border-radius: 2.4rem;
}

.bar{
  width: 100%;
  margin: 0;
  padding: 0;
  animation: bar-animation 1 2s;
  background: linear-gradient(90deg, #f08087, #e10010);
  border-radius: 2.4rem;
}

.bar_text{
  top: 0;
  line-height: 1.4rem;
  position: relative;
  color: #000;
  font-size: 1.4rem;
  margin-left: 1rem;
}

.bar_base_s{
  max-width: 400px;
  width: 100%;
  margin: 0 0 30px;
  padding: 0;
  background: #ccc;
  border-radius: 1rem;
  line-height: 1rem;
}

.bar_s{
  width: 100%;
  height: 1rem;
  margin: 0;
  padding: 0;
  animation: bar-animation 1 2s;
  background: linear-gradient(90deg, #f08087, #e10010);
  border-radius: 1rem;
}

@keyframes bar-animation{
  0%{
    width:0;
  }
  100%{
    width:100%;
  }
}


/* テーブル
----------------------------------------------- */
#contents table.kouza th {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
	}
#contents table.kouza td {
    display: table-cell;
    word-break: keep-all;
}
#contents table.kouza td.center {
    display: table-cell;
    vertical-align: middle;
    word-break: keep-all;
}
#contents table.kouza caption {
    text-align: left;
    caption-side: bottom;
    padding: 5px 10px 15px;
    margin-left: 12px;
    text-indent: -12px;
    font-size: 14px;
}

@media print, screen and (max-width: 599px) {
  table.kouza td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  table.kouza {
  border-collapse: collapse;
  }
    table.kouza td,   table.kouza th {
    padding: 10px;
  }
    table.kouza th {
    background-color: #eee;
  }
}

