/* setting.scss */
/* base */
/* line 3, ../sass/setting.scss */
.mg_pd_reset, body, #site_header h1, #nav_exterior_links ul, footer, footer #footer_inner p {
  margin: 0;
  padding: 0;
}

/* line 7, ../sass/setting.scss */
.indent-3em {
  padding: 0 0 0 3em;
  text-indent: -3em;
}
.indent-1_5rem {
  padding: 0 0 0 1.5rem;
  text-indent: -1.5rem;
}

/* reset */
a {
  color: #000;
  color: #123;
  transition: color .1s ease-out;
}
a:hover {
  color: #666;
  color: #456;
}
a:after {
  color: #000;
  color: #123;
}

img {
  vertical-align: bottom;
}

a, a img {
  border: none;
  outline: none;
}

html, body {
  height: 100%;
  color: #123;
}
address {
  font-style: normal;
}

/* container */
#container {
  width: 100%;
  min-height: 100%;
  padding: 0;
  font-family: '小塚ゴシック Pro','Kozuka Gothic Pro',Arial,Helvetica,sans-serif,"ヒラギノ角ゴ Pro W3",'メイリオ','Meiryo',"ＭＳ Ｐゴシック",Osaka;
}

/* site header */
#site_header {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  padding: 6px 0;
}
#site_header #area_header_logo_jrp {
  margin: 0;
}
#site_header #area_header_logo_jrp a {
  display: inline-block;
  text-decoration: none;
}
#site_header h1 {
  text-align: center;
}
#site_header h1 span {
  display: inline-block;
}
#site_header h1 span a {
  text-decoration: none;
}
#site_header h1 span a:hover {
  color: #000;
}
#site_header h1 img {
  vertical-align: middle;
}

/* navigation */
#wrapper_navi_mobile {
  align-self: stretch;
}
#nav_global {
  width: 90%;
  margin: 0 auto 8px;
  padding: 0;
}
#nav_global ul {
  list-style-type: none;
  display: table;
  table-layout: fixed;
  width: 100%;
  margin: 0;
  padding: 0;
}
#nav_global ul li {
  display: table-cell;
  text-align: center;
}
#nav_global ul li a {
  display: inline-block;
  vertical-align: middle;
  *vertical-align: auto;
  zoom: 1;
  *display: inline;
  width: 100%;
  height: 2em;
  line-height: 2em;
  background: #ffc3ff;
  background: #e0e662;
  background: linear-gradient(#a6cc2d, #96bc1d);
  color: #333;
  font-size: 1.2em;
  text-decoration: none;
  transition: color .2s ease-out;
}
#nav_global ul li a:hover {
  color: #fefefe;
}

/* contents wrapper */
#wrapper_2deck {
  display: table;
  width: 90%;
  margin: 0 auto;
}
#wrapper_2deck #site_main {
  display: table-cell;
}
#wrapper_2deck #side_bar {
  display: table-cell;
  vertical-align: top;
}
#wrapper_2deck #side_bar #nav_side_bar ul {
  list-style-type: none;
  margin: 0;
}
#wrapper_2deck #side_bar #nav_side_bar ul li {
  margin: 0 0 6px;
}
#wrapper_2deck #side_bar #nav_side_bar ul li a {
  display: -moz-inline-stack;
  display: inline-block;
  vertical-align: middle;
  zoom: 1;
  border: 1px solid #ccc;
}
#wrapper_2deck #side_bar #nav_side_bar ul li a:hover {
  border: 1px solid #ffc3ff;
}
/* site footer */
#site_footer {
  box-sizing: border-box;
  border-top: 1px solid #96bc1d;
  background: linear-gradient(#a6cc2d, #96bc1d);
  font-family: '小塚ゴシック Pro','Kozuka Gothic Pro',Arial,Helvetica,sans-serif,"ヒラギノ角ゴ Pro W3",'メイリオ','Meiryo',"ＭＳ Ｐゴシック",Osaka;
}
#footer_inner {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  width: 90%;
  height: 80%;
  margin: 0 auto;
  padding: 6px 0;
  }
  footer #footer_inner p {
    margin: 0;
  }
/* section heading */
.area_section2 {
  margin: 0 auto 70px;
}
.area_section_bt2px {
  margin: 0 auto 70px;
  border-top: 2px solid #aaa;
}
.area_section_bt1pxdot {
  margin: 0 auto 70px;
  border-top: 1px dotted #aaa;
}
.heading_border {
  display: flex;
  align-items: center;
  height: 3rem;
  margin: 0 0 32px;
  background: linear-gradient(#fff 48%, #aaa 48%, #aaa 52%, #fff 52%);
}
.heading_border .label_heading_border {
  display: flex;
  align-items: center;
  padding: 0 20px 0 0;
  background-color: #fff;
  text-decoration: none;
}
.heading_border img {
  margin: 0 18px 0 0;
}
.heading_bot_green {
  position: relative;
  display: flex;
  flex-direction: column;
}
.heading_bot_green::after {
  position: absolute;
  left: -3px;
  z-index: -10;
  content: "";
  border-bottom: 2px solid rgba(168, 205, 45, .7);
}
.heading_bot_green span {
  line-height: 2em;
}
/* list */
.list_normal, .ul_normal {
  line-height: 1.5;
}
.list_normal li, .ul_normal li {
  margin: 0 0 8px;
}

.li_mp_reset {
  list-style-type: none;
}
.li_mp_reset li {
  margin: 0;
  padding: 0;
}
.ol_r_num_w,
.ol_r_num_b_2x {
  counter-reset: r_num;
  list-style: none;
}
.ol_r_num_w > li,
.ol_r_num_b_2x > li {
  position: relative;
  line-height: 1.5;
}
.ol_r_num_w > li::before,
.ol_r_num_b_2x > li::before{
  content: counter(r_num);
  counter-increment: r_num;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}
.ol_r_num_w > li {
  padding-left: 2rem;
}
.ol_r_num_w > li::before {
  top: 8px;
  top: 0.25em;
  left: 0;
  width: 1rem;
  height: 1rem;
  border: 1px solid #123;
}
.ol_r_num_b_2x > li {
  padding-left: 3rem;
  font-weight: 600;
}
.ol_r_num_b_2x > li::before{
  top: -3px;
  left: 0;
  width: 2rem;
  height: 2rem;
  background-color: #123;
  background: linear-gradient(#a6cc2d, #96bc1d);
  color: #fff;
}
.list_decimal_large {
  list-style: none;
}
.list_decimal_large > li {
  position: relative;
  padding-left: 2rem;
}
.list_decimal_large > li::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 1rem;
  height: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: #123;
  background: linear-gradient(#e60080, #d60070);
  background: linear-gradient(#a6cc2d, #96bc1d);
}
/* smile */
.list_smile {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.list_smile li {
  position: relative;
  margin: 0 0 12px;
  padding-left: 2.5rem;
  /*line-height: 1.5;*/
}
.list_smile li::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 2rem;
  height: 2rem;
  content: "\0263A";
  font-size: 2rem;
  line-height: 0.6;
}

.dl_1deck, .dl_1deck_bold {
  margin: 0 0 24px;
}

.dl_1deck_bold dt {
  margin: 0 0 10px;
  font-weight: 600;
}

.dl_2deck, .dl_2deck_bold {
  display: flex;
  margin: 0 0 12px;
  padding: 0 0 12px;
  line-height: 1.5;
}
.dl_2deck dt, .dl_2deck_bold dt {
  margin: 0 1rem 0 0;
}
.dl_2deck dd, .dl_2deck_bold dd {
  margin: 0;
}
.dl_2deck_label {
  display: inline-block;
  padding: 2px;
}
.dl_2deck dd ul, .dl_2deck_bold dd ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.dl_2deck dd ul li, .dl_2deck_bold dd ul li {
  margin: 0 0 6px;
}

.dl_2deck_bold dt {
  font-weight: 600;
}
.dl_2deck_bold dd dl {
  margin: 0 0 6px;
}
.dl_2deck_bold dd dl dt {
  font-weight: 500;
}
/* utility */
.w_60per {
  width: 60%;
}

.w_80per {
  width: 80%;
}

.mb_6px {
  margin-bottom: 6px;
}
.mb_10px {
  margin-bottom: 10px;
}
.mb_12px {
  margin-bottom: 12px;
}

.mb_18px {
  margin-bottom: 18px;
}

.mb_24px {
  margin-bottom: 24px;
}

.pt_1rem {
  padding-top: 1rem;
}
.pt_2rem {
  padding-top: 2rem;
}
.pd_1em {
  padding: 1em;
}

.prl_1em {
  padding: 0 1em;
}

.border_1px_sol_black {
  border: 1px solid #000;
}

.border_rd_3px {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
}

.fw_500 {
  font-weight: 500;
}
.txt_indent-1em {
  padding: 0 0 0 1em;
  text-indent: -1em;
}

.txt_indent-2em {
  padding: 0 0 0 2em;
  text-indent: -2em;
}

/* responsive */
@media screen and (min-width: 960px) {
  #site_header,
  #nav_global,
  #wrapper_1deck {
    min-width: 960px;
  }
}
@media screen and (min-width: 768px) {
  .mobile_max767 {
    display: none;
  }
  #container {
    margin: -5em auto 0;
  }
  #container_inner {
    padding: 5em 0 0;
  }
  /* contents wrapper */
  #wrapper_1deck {
    width: 90%;
    margin: 0 auto;
  }
  /* site header */
  #site_header {
    align-items: center;
    width: 90%;
  }
  #site_header h1 {
    font-size: 1.8rem;
  }  
  /* icon ham */
  #icon_ham {
    display: none;
    }
  /* nav_global */
  #nav_global_mobile {
    display: none;
  }
  #nav_exterior_links {
    height: 100%;
  }
  #nav_exterior_links ul {
    list-style-type: none;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height:  100%;
    padding: 0.6rem 0;
    box-sizing: border-box;
  }
  /* for IE11 https://qiita.com/feo52/items/932f57f9760d2b743d39 */
  _::-ms-backdrop, _:-ms-lang(x), #nav_exterior_links ul  {
    justify-content: space-around;
  }
  #nav_exterior_links ul li {
    line-height: 1.5;
  }
  #nav_exterior_links .link_button_style {
    text-align: center;
    }
  #nav_exterior_links .link_button_style a {
    display: inline-block;
    vertical-align: middle;
    width: 5rem;
    padding: 2px 12px;
    border-radius: 12px;
    background: linear-gradient(rgb(230, 0, 128), rgb(214, 0, 112));
    color: #fff;
    text-decoration: none;
  }
  #nav_exterior_links .link_button_style a:hover {
    background: linear-gradient(#f61090, #e61080);
  }
  #nav_exterior_links .link_button_style .no_link {
    display: inline-block;
    vertical-align: middle;
    width: 5rem;
    padding: 2px 12px;
    border-radius: 12px;
    background: linear-gradient(rgb(230, 0, 128), rgb(214, 0, 112));
    color: #c6c5c5;
    text-decoration: none;
  }
  .nav_global_mobile_sns a {
    display: flex;
    text-decoration: none;
  }
  .nav_global_mobile_sns a img {
    margin: 0 5px 0 0;
  }
  .nav_global_mobile_sns a span {
    flex-grow: 2;
    border-bottom: 1px solid transparent;
  }
  .nav_global_mobile_sns a:hover span {
    border-bottom: 1px solid #f61090;
  }
  .nav_current, #nav_global ul li .nav_current {
    background: linear-gradient(#e60080, #d60070);
    color: #fff;
  }
  .nav_current:hover, #nav_global ul li .nav_current:hover {
    color: #fff;
  }
  /* parts */
  .heading_bot_green::after {
    min-width: 20rem;
  }
  h2.heading_bot_green::after {
    bottom: 14px;
  }
  h3.heading_bot_green::after {
    bottom: 11px;
  }  
  /* footer */
  #site_footer {
    height: 5em;
  }
}
@media screen and (max-width: 767px) {
  .pc_min768 {
    display: none;
  }
  body {
    display: flex;
    flex-direction: column;
  }
  #container {
    flex: 1 0 auto;
  }
  /* site header */
  #site_header {
    flex-direction: column;
    margin: 0 0 8px;
    padding: 0 34px 0 27px;
    box-sizing: border-box;
    border-bottom: 8px solid #e60080;
  }
  #site_header h1 {
    padding: 0 0 8px;
    font-size: 1.5rem;
    text-align: center;
    line-height: 1.5;
  }
  /* navigation */
  #wrapper_navi_mobile {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 300;
  }
  .navi_open#wrapper_navi_mobile {
    width: 100%;
    height: 100%;
    background: #fff;
  }
  .navi_close#wrapper_navi_mobile {
    height: 0;
  }
  .navi_open#wrapper_navi_mobile,
  .navi_close#wrapper_navi_mobile {
    transition: height .3s ease;
  }
  /* icon_ham static style */
  #icon_ham {
    position: absolute;
    top: 6px;
    right: 8px;
    z-index: 1000;
    width: 36px;
    height: 32px;
    margin: 0;
    padding: 5px;
    background: rgba(255, 255, 255, .7);
    border-radius: 3px;
    cursor: pointer;
    }
  .navi_open #icon_ham {
    border: 1px solid #e60080;
  }    
    #icon_ham span {
      transition: all .1s ease;
      cursor: pointer;
    }
    #icon_ham span,
    #icon_ham span::before,
    #icon_ham span::after {
      display: block;
      height: 4px;
      border-radius: 2px;
    }
    #icon_ham span::before,
    #icon_ham span::after {
      position: absolute;
      width: 36px;
      content: "";
    }
  /* icon ham dynamic style */
  #icon_ham {
    display: block;
    }
    .navi_open #icon_ham span,
    .navi_open #icon_ham span::before,
    .navi_open #icon_ham span::after {
      background: #707070;
      background: #e60080;
    }
    .navi_close #icon_ham span,
    .navi_close #icon_ham span::before,
    .navi_close #icon_ham span::after {
      background: #707070;
      background: #96bc1d;
      background: #e60080;
    }
    .navi_open #icon_ham span {
      background: transparent;
    }
    .navi_open #icon_ham span::before {
      top: 19px;
      transform: rotate(225deg);
      transition-property: top, transform;
      transition-duration: 0.2s, 0.2s;
      transition-delay: 0s, 0.2s;
    }
    .navi_open #icon_ham span::after {
      bottom: 19px;
      transform: rotate(315deg);
      transition-property: bottom, transform;
      transition-duration: 0.2s, 0.2s;
      transition-delay: 0s, 0.2s;
    }
    .navi_close #icon_ham span {
      transition-property: background-color;
      transition-duration: 0.2s;
      transition-delay: 0.2s;
    }
    .navi_close #icon_ham span::before {
      top: 19px;
      transition-property: top, transform;
      transition-duration: 0.2s, 0.2s;
      transition-delay: 0.2s, 0s;
    }
    .navi_close #icon_ham span::after {
      bottom: 5px;
      transition-property: bottom, transform;
      transition-duration: 0.2s, 0.2s;
      transition-delay: 0.2s, 0s;
    }
  .navi_close #nav_global_mobile,
  .navi_close #nav_exterior_links {
    display: none;
  }
  #nav_global {
    display: none;
  }
  /* navi mobile */
  #nav_global_mobile ul,
  #nav_exterior_links ul {
    list-style-type: none;
    box-sizing: border-box;
  }
  #nav_global_mobile ul {
    margin: 24px 0 0;
    padding: 8vw 8vw 0;
  }
  #nav_exterior_links ul {
    padding: 0 8vw;
  }
  #nav_global_mobile ul li,
  #nav_exterior_links ul li {
    margin: 0 0 12px;
    padding: 12px auto;
  }
  #nav_global_mobile ul a,
  #nav_exterior_links ul a {
    display: block;
    border-bottom: 1px solid #96bc1d;
    text-decoration: none;
    text-shadow: #fafafa 1 0 0;
  }
  #wrapper_navi_mobile .no_link {
    color: #827f7f;
  }
  #nav_exterior_links #nav_contribution {
    margin: 0 0 48px;
  }
  #nav_exterior_links .nav_global_mobile_sns a {
    display: flex;
    align-items: center;
    padding: 0 0 3px;
  }
  #nav_exterior_links .nav_global_mobile_sns span {
    display: inline-block;
    padding: 0 6px;
  }
  /* parts */
  .area_section2 {
    margin: 3vw;
  }
  .heading_bot_green::after {
    min-width: 60vw;
  }
  h2.heading_bot_green::after {
    bottom: 13px;
  }
  h3.heading_bot_green::after {
    bottom: 7px;
  }  
  .ol_r_num_b_2x {
    padding-left: 0;
  }
  .list_decimal_large {
    padding-left: 0;
  }
}

