@charset "UTF-8";
/*
Theme Name:campaign-revive
Theme URI: 
Author:nagata_k
Author URI: 
Description:整体Revive
*/
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
  margin:0;
  padding:0;
}

body {
  font-size:10px;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  line-height:1.6em;
  letter-spacing:0.5em;
}

* {
  outline:none!important;
}

table {
  border-collapse:collapse;
  border-spacing:0;
  font-size:inherit;
  font:100%;
}

fieldset {
  border:0;
  vertical-align:bottom;
}

img {
  border:0;
  vertical-align:bottom;
  line-height:0;
}

address,
caption,
cite,
code,
dfn,
th,
var {
  font-style:normal;
  font-weight:normal;
}

em {
  font-style:normal;
}

strong {
  font-weight:normal;
}

ol,
ul {
  list-style:none;
}

caption,
th {
  text-align:left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size:100%;
}

q:before,
q:after {
  content:'';
}

abbr,
acronym {
  border:0;
}

textarea {
  font-size:100%;
}

hr {
  height:1px;
  margin:0 auto;
  padding:0;
  background-color:#FFF;
  border:0;
  color:#FFF;
}

html {
  font-size:62.5%;
}

body {
  font-size:1.6em;
}

input[type="button"],
input[type="submit"],
input[type="email"],
input[type="text"],
input[type="tel"] {
  border-radius:0;
  -webkit-box-sizing:content-box;
  -webkit-appearance:button;
  appearance:button;
  border:none;
  box-sizing:border-box;
  cursor:pointer;
}

textarea,
button {
  border-radius:0;
  -webkit-box-sizing:content-box;
  -webkit-appearance:button;
  appearance:button;
  border:none;
  box-sizing:border-box;
  cursor:pointer;
}

select {
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
}

input[type="checkbox"],
input[type="radio"] {
  cursor:pointer;
}

br.sp {
  display:none!important;
}

br.tb {
  display:none!important;
}

br.pc {
  display:block!important;
}

@media only screen and (max-width:1500px){
  html {
    font-size: calc(100vw * 16 / 1500);
  }
  html .pc_non {
    display:none!important;
  }
}
@media only screen and (max-width:1080px){
  html {
    font-size:calc(100vw * 18 / 1080);
  }
  .tb_non {
    display:none!important;
  }
  br.sp {
    display:none!important;
  }
  br.tb {
    display:block!important;
  }
  br.pc {
    display:none!important;
  }
}
@media only screen and (max-width:600px) {
  html {
    font-size:calc(100vw * 16 / 600);
  }
  .sp_non {
    display:none!important;
  }
  br.sp {
    display:block!important;
  }
  br.tb {
    display:none!important;
  }
  br.pc {
    display:none!important;
  }
}
* {
  margin:0;
  padding:0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family:"Radio Canada","Noto Sans JP";
}
html {
  overflow:auto;
}
body {
  font-family:"Radio Canada","Noto Sans JP";
  font-weight:700;
  line-height:1.8em;
  letter-spacing:0.025em;
  background-color: #FFF;
  color:#231815;
  overflow:hidden;
  word-wrap:break-word;
  -webkit-animation:fadeIn 2.0s ease 0s 1 normal;
  animation:fadeIn 2.0s ease 0s 1 normal;
}


.header {
  width:100%;
}
.header .logo {
  width:40%;
  margin:3rem auto;
}


#topContent section {
  margin:5rem 0 0;
}
#topContent section ul.list {
  width:80%;
  max-width:120rem;
  margin:5rem auto 0;
}
#topContent section ul.list li {
  padding-left:1em;
  font-size:1.8rem;
  text-indent:-1em;
}

section h2 {
  position:relative;
  padding:2rem 0;
  font-size:2.2rem;
  font-weight:700;
  text-align:center;
  background-color:#2CA339;
  color:#FFF;
}

section h2:after {
  position:absolute;
  bottom:-24px;
  left:50%;
  margin-left:-20px;
  border-top: 24px solid #2CA339;
  border-right: 24px solid transparent;
  border-left: 24px solid transparent;
  content: '';
 
  
}


#topContent_mc {
  width:100%;
}
#topContent_mc h1 {
  font-size:3.2rem;
  font-weight:700;
  line-height:1.4em;
  text-align:center;
}
#topContent_mc p {
  font-size:1.8rem;
  line-height:1em;
  text-align:center;
}
@media (max-width:1080px){
  #topContent_mc p {
    margin:1rem 0 0;
  }
}
@media (max-width:600px){
  #topContent_mc h1 {
    font-size:4.2rem;
    line-height:1.25em;
  }
  #topContent_mc p {
    margin:1rem 0 0;
    font-size:1.8rem;
    line-height:1em;
    text-align:center;
  }
}

#topContent_participation h3 {
  margin:5rem 0 0;
  font-size:2.2rem;
  line-height:1.25em;
  text-align:center;
}
#topContent_participation h4 {
  margin:1rem 0 0;
  font-size:1.6rem;
  font-weight:500;
  line-height:1em;
  text-align:center;
}
#topContent_participation p {
  width:80%;
  max-width:120rem;
  margin:3rem auto;
  padding:1.5rem;
  font-size:1.4rem;
  line-height:1.25em;
  background-color:#E6E6E6;
}


#topContent_participation a {
  width:80%;
  max-width:120rem;
  margin:0 auto;
  padding:2rem 0;
  font-size:2rem;
  text-align:center;
  text-decoration:none;
  background-color:#2CA339;
  border-radius:5rem;
  color:#FFF;
  display:block;
}

#topContent_participation .wrap_loan-01 ul {
  width:80%;
  max-width:120rem;
  margin:3rem auto 0;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:space-between;
}
#topContent_participation .wrap_loan-01 ul li {
  width:calc((100% - 2rem)/4);
  height:auto;
}
#topContent_participation .wrap_loan-01 ul li img {
  width:100%;
  height:auto;
}
#topContent_participation ul.pay {
  width:80%;
  max-width:120rem;
  margin:3rem auto 0;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:space-between;
}
#topContent_participation ul.pay li {
  width:calc((100% - 2rem)/2);
  height:auto;
}
#topContent_participation ul.pay li img {
  width:100%;
  height:auto;
}
#topContent_participation .wrap_loan-02 h4 {
  margin:1.5rem 0 0;
  font-size:1.6rem;
  line-height:1em;
  text-align:center;
}
#topContent_participation .wrap_loan-02 h5 {
  width:80%;
  max-width:120rem;
  margin:1.5rem auto 0;
  padding:1rem;
  font-size:1.4rem;
  line-height:1em;
  text-align:center;
  background-color:#2CA339;
  color:#FFF;
}
#topContent_participation .wrap_loan-02 ul {
  width:calc(80% + 3rem);
  max-width:120rem;
  margin:1.5rem auto 0;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:space-between;
}
#topContent_participation .wrap_loan-02 ul li {
  width:calc((100% - 4rem)/9);
  padding:0.5rem 0;
  font-size:1.6rem;
  line-height:1em;
  text-align:center;
  background-color:#FF9000;
  color:#FFF;
}
@media (max-width:1080px){
  #topContent_participation .wrap_loan-02 ul li {
    font-size:1.4rem;
  }
}
@media (max-width:600px){
  #topContent_participation .wrap_loan-02 ul li {
    font-size:1.4rem;
  }
}
#topContent_support {
  text-align:center;
}
#topContent_support h3 {
  margin:5rem 0 0;
  font-size:2.2rem;
  line-height:1.25em;
  text-align:center;
}

#topContent_support .dl_wrap {
  width:80%;
  max-width:120rem;
  margin:3rem auto;
  padding:1.5rem;
  font-size:1.4rem;
  line-height:1.25em;
  background-color:#E6E6E6;
}
#topContent_support .dl_wrap dl {
  width:100%;
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
  justify-content:space-between;
}
#topContent_support .dl_wrap dl:first-child {
  margin:0 0 1rem;
}
#topContent_support .dl_wrap dl dt {
  width:20%;
  min-height:3rem;
  background-color:#000;
  color:#FFF;
  display:flex;
  justify-content:center;
  align-items:center;
}
#topContent_support .dl_wrap dl dd {
  width:75%;
  text-align:left;
  display:flex;
  align-items:center;
}
#topContent_support .js-modal-open {
  font-size:1.6rem;
  line-height:1em;
  color:#2CA339;
}
#footer {
  position:relative;
  width:100%;
}
#footer .logo {
  width:30rem;
  margin:3rem auto 1rem;
  padding:0 3rem 0 0;
}
@media (max-width:1080px){
  #footer .logo {
    width:30%;
    margin:3rem auto 1rem;
  }
}
#footer .copy {
  margin:0 0 3rem;
  font-size:1.2rem;
  line-height:1em;
  text-align:center;
}
#footer #pagetop {
  position:absolute;
  right:5%;
  bottom:0;
  width:5rem;
  height:5rem;
}
br.sp {
  display:none;
}
br.tb {
  display:none;
}
@media (max-width:600px){
  br.sp {
    display:block;
  }
}
@media (max-width:1080px){
  br.tb {
    display:block;
  }
}


/* モーダル */


.modal {
  position:fixed;
  top:50%;
  left:50%;
  z-index:9999;
  width:100%;
  height:100vh;
  display:none;
  transform:translate(-50%,-50%);
  -webkit-transform:translate(-50%,-50%);
  -ms-transform:translate(-50%,-50%);
}
.modal .modal-bg {
  position:absolute;
  width:100%;
  height:100vh;
  background-color:rgba(45,32,34,0.8);
}
.modal .modal-content {
  position:absolute;
  top:50%;
  left:50%;
  width:80%;
  height:60%;
  padding:5rem;
  text-align:center;
  background-color:#D3CBBC;
  border-radius:1rem;
  transform:translate(-50%,-50%);
  overflow:scroll;
}
@media (max-width:1080px){
  .modal .modal-content {
    width:70%;
    padding:3rem;
  }
}
.modal .modal-content .data {
  margin:0 auto 3rem;
  text-align:left;
  color:#231815;
}
.modal .modal-content .data h4 {
  margin:0 0 3rem;
  font-size:2.2rem;
  line-height:1em;
}
@media (max-width:600px){
  .modal .modal-content .data h4 {
    margin:0 0 1.5rem;
    font-size:1.8rem;
    line-height:1em;
  }
}
.modal .modal-content .data .data_content .tableData {
  width:100%;
}
.modal .modal-content .data .data_content .tableData tr {
  border-bottom:1px solid #231815;
}
.modal .modal-content .data .data_content .tableData tr:first-child {
  border-top:2px solid #231815;
  border-bottom:1px solid #231815;
}
.modal .modal-content .data .data_content .tableData tr:last-child {
  border-top:1px solid #231815;
  border-bottom:2px solid #231815;
}
.modal .modal-content .data .data_content .tableData th {
  width:40%;
  padding:1rem 0;
  font-size:1.4rem;
  line-height:1em;
}
.modal .modal-content .data .data_content .tableData td {
  width:60%;
  padding:1rem 0;
  font-size:1.4rem;
  font-weight:normal;
  line-height:1.25em;
}
.modal .modal-content .data .data_content .tableData td a {
  color:#2CA339;
}
@media (max-width:1080px){
  .modal .modal-content .data .data_content .tableData th {
    width:40%;
    padding:1rem 0;
    font-size:1.2rem;
    line-height:1.25em;
  }
  .modal .modal-content .data .data_content .tableData td {
    width:60%;
    padding:1rem 0;
    font-size:1.2rem;
    font-weight:normal;
    line-height:1.25em;
  }
}
@media (max-width:600px){
  .modal .modal-content .data .data_content .tableData th {
    width:40%;
    padding:1rem 0;
    font-size:1rem;
    line-height:1.25em;
  }
  .modal .modal-content .data .data_content .tableData td {
    width:60%;
    padding:1rem 0;
    font-size:1rem;
    font-weight:normal;
    line-height:1.25em;
  }
}
.modal .modal-content a.js-modal-close {
  margin:0 auto;
  padding:0 5rem 0.25rem;
  font-size:1.4rem;
  text-decoration:none;
  border:2px solid #2CA339;
  border-radius:3rem;
  color:#2CA339;
  display:inline-block;
}



a.more, div.more {
  width:25rem;
  margin:3.5rem auto 0;
  padding:1.75rem 0 2rem;
  font-size:1.8rem;
  font-weight:900;
  text-align:center;
  text-decoration:none;
  line-height: 1em;
  background-color:#2CA339;
  border-radius:15rem;
  color:#FFF;
  transition: all 0.3s ease;
  display: block;
}