@charset "utf-8";
/* CSS Document */

:root{
  --green:#0d5a47; --green2:#14785d; --pale:#eef8f4;
  --red:#d9302b; --gold:#d7b04c; --ink:#17312a; --line:#d8e5e0;
}
*{box-sizing:border-box}
body{
  /*margin:0;*/
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic","YuGothic","Noto Sans JP",sans-serif;
  color:var(--ink); background:#f8fbfa; line-height:1.75;
}
.wrap{max-width:1000px;margin:auto;padding:0 28px}

/*追加記述*/
#partner-form { margin-top:52px; text-align:left;}
.pageback { margin:0 auto;}
.pageback a { display:inline-block; height:24px; padding-left:30px; color:#21725D; font-size:16px; font-weight:bold; line-height:24px; background:url(../img/pageback-icon.png) center left no-repeat; background-size:24px 24px;}
.pageback a:hover { opacity:0.7;}

.hero{
  position:relative;overflow:hidden;
  padding:78px 0 72px;
  background:
    radial-gradient(circle at 82% 10%,rgba(91,181,214,.22),transparent 24%),
    radial-gradient(circle at 15% 20%,rgba(74,173,135,.18),transparent 28%),
    linear-gradient(180deg,#fbfdff 0%,#f0f8f5 100%);
}
.hero:after{
  content:"";position:absolute;left:-8%;bottom:-70px;width:120%;height:155px;
  background:linear-gradient(100deg,var(--green),var(--green2));transform:rotate(-3deg)
}
.hero .wrap{position:relative;z-index:2}
.kicker{font-size:15px;font-weight:900;color:var(--green);letter-spacing:.12em}
.hero h1{font-size:48px;line-height:1.28;margin:10px 0 18px}
.hero h1 em{font-style:normal;color:var(--red)}
.hero p{font-size:19px;max-width:780px;margin:0}
.limit{
  display:inline-block;margin-top:26px;padding:10px 18px;border-radius:999px;
  background:#fff6d8;border:1px solid #e6c86c;color:#5c4820;font-weight:800
}
.flow{
  background:#fff;padding:34px 0;border-bottom:1px solid #e5eeea
}
.flow-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.flow-card{
  background:var(--pale);border-radius:16px;padding:17px 18px;font-weight:800;
  display:flex;align-items:center;gap:11px
}
.no{
  width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  background:var(--green);color:#fff;font-size:13px
}
/*main{padding:68px 0 40px;}*/
/*追加記述*/
#main-area{padding:70px 0;}

.intro{
  text-align:center;margin-bottom:38px
}
.intro h2{font-size:34px;margin:0 0 10px}
.intro p{margin:0;color:#526761}
.formbox{
  background:#fff;border-radius:24px;padding:42px;
  box-shadow:0 18px 55px rgba(20,70,55,.09);
  border:1px solid #e5eeea
}
.section-title{
  margin:0 0 22px;padding-bottom:12px;border-bottom:3px solid var(--green);
  font-size:22px;color:var(--green);
/*追加記述*/
text-align:left;
}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px;
/*追加記述*/
text-align:left;
}
.field{margin-bottom:22px;
/*追加記述*/
text-align:left;
}
.field.full{grid-column:1/-1}
label{display:block;font-weight:800;margin-bottom:8px}
.req{
  display:inline-block;margin-left:8px;padding:2px 7px;border-radius:4px;
  background:var(--red);color:white;font-size:11px;vertical-align:2px
}
.opt{
  display:inline-block;margin-left:8px;padding:2px 7px;border-radius:4px;
  background:#e8efec;color:#60736d;font-size:11px;vertical-align:2px
}
input,select,textarea{
  width:100%;border:1px solid #cadbd5;border-radius:10px;background:#fff;
  padding:13px 14px;font-size:16px;font-family:inherit;color:#20372f;outline:none
}
textarea{min-height:130px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(20,120,93,.10)}
.help{font-size:12px;color:#74857f;margin-top:5px}
.radio-row,.check-row{display:flex;flex-wrap:wrap;gap:10px 18px}
.choice{
  background:#f7faf9;border:1px solid #dce8e4;border-radius:9px;padding:9px 12px
}
.choice input{width:auto;margin-right:7px}
.divider{height:1px;background:#e4ece9;margin:34px 0}
.note-box{
  background:#fff8e5;border-left:5px solid var(--gold);padding:18px 20px;margin:28px 0;
  border-radius:8px;
/*追加記述*/
text-align:left;
}
.privacy{
  background:#f4f8f6;border-radius:12px;padding:18px 20px;font-size:14px;
/*追加記述*/
text-align:left;
}
.submit{
  display:block;width:min(620px,100%);margin:34px auto 0;border:0;cursor:pointer;
  background:linear-gradient(180deg,#ef473e,#ca231f);color:white;
  font-size:21px;font-weight:900;padding:18px 24px;border-radius:999px;
  box-shadow:0 12px 30px rgba(183,32,29,.22)
}
.subnote{text-align:center;font-size:12px;color:#73827d;margin-top:12px}
.contact{
  margin-top:34px;text-align:center;color:#526761
}
/*追加記述*/
footer{ background:#FFFFFF;}
@media(max-width:720px){
  .hero h1{font-size:37px}
  .flow-row,.grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .formbox{padding:26px 20px}
}
