@charset "UTF-8";
body {
 font-size: 16px;
 font-family: 'Inter', '游ゴシック体', 'YuGothic', '游ゴシック', 'Yu Gothic', 'メイリオ', 'Noto Sans JP', sans-serif;
 color: #333;
}
*, *:before, *:after {
 box-sizing: border-box;
 margin: 0;
 padding: 0;
}
* {
 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
 -webkit-box-shadow: none;
 box-shadow: none;
 outline: none;
}
h1, h2, h3, h4, h5 {
 font-feature-settings: "palt";
}
html {
 -webkit-text-size-adjust: 100%;
}
body {
 line-height: 1.8;
 margin: 0;
 overflow-x: hidden;
 color: #222;
}
body, #wrapper {
 display: flex;
 flex-direction: column;
 min-height: 100vh;
}
footer {
 margin-top: auto;
}
a {
 text-decoration: none;
 -webkit-transition: all .3s ease-out;
 -moz-transition: all .3s ease-out;
 -ms-transition: all .3s ease-out;
 transition: all .3s ease-out;
}
table {
 width: 100%;
}
br.sp {
 display: none;
}
img {
 max-width: 100% !important;
 height: auto;
 vertical-align: bottom;
 -ms-interpolation-mode: bicubic;
}
main {
 padding: 40px 0 80px 0;
}
#print-footer {
 display: none;
}
@media print, screen and (max-width: 640px) {
 main {
  padding: 0px 0 80px 0;
 }
 td, th {
  display: block;
 }
 .formtable tr {
  display: flex;
  flex-direction: column;
 }
 table.formtable th, table.formtable td {
  width: 100%;
 }
 .header-wrapper .sitelink {
  display: none;
 }
 .header-info > div {
  text-align: center;
 }
 .header-info > div p:last-child {
  display: none;
 }
 .footer-info .footer-logo img {
  height: auto;
  width: 180px;
  margin-top: 15px;
 }
 .footer-info p:first-child img {
  height: auto;
  width: 280px;
 }
}
@media print, screen and (max-width: 768px) {
 br.sp {
  display: inline;
 }
}
.bw {
 width: 100%;
 padding: 0 20px;
}
@media print, screen and (min-width: 641px) {
 .bw {
  width: 100%;
  padding: 0 5%;
 }
 br.pc {
  display: none;
 }
}
@media print, screen and (min-width: 1025px) /*小型PC*/ {
 .bw {
  width: 100%;
  max-width: 960px;
  margin: auto;
  padding: 0;
 }
 .header-info > div p:last-child {
  display: inline;
 }
}
.header-wrapper {
 padding: 8px 0;
 background: #fff;
 position: relative;
 z-index: 3;
 box-shadow: 0 2px 5px rgba(0, 0, 0, 0.07);
}
.header-info > div p:first-child img {
 width: 160px;
 height: auto;
}
.notice {
 font-size: .85em;
 line-height: 1.5;
}
#footer-wrapper {
 padding: 20px 0;
 background: #008742;
 text-align: center;
}
h1 {
 text-align: center;
	padding: 30px 0;
}
h1 img {
	width: 300px;
	height:auto;
}
@media print, screen and (max-width: 640px){
h1 {
 text-align: center;
	padding: 20px 0;
}
h1 img {
	width: 210px;
	height:auto;
}
}
p.notice {
 margin: 0 0 .5em 0;
 text-indent: -1em;
 margin-left: 1em;
}
ul.notice li {
 font-size: .85rem;
 margin-bottom: .3em;
 text-indent: -1.3em;
 margin-left: 1.3em;
}
ul.notice li::before {
 content: '※ ';
 display: inline;
 width: 1.3em;
}
input, button, textarea, select {
 font-size: 1em;
 color: #222;
}
::placeholder {
 color: #ccc;
}
input:-webkit-autofill {
 -webkit-box-shadow: 0 0 0 1000px white inset !important;
}
input, button, textarea, select {
 font-family: 'Inter', '游ゴシック体', 'YuGothic', '游ゴシック', 'Yu Gothic', 'メイリオ', 'Noto Sans JP', sans-serif;
}
input[type="text"], input[type="tel"], input[type="email"] {
 line-height: 1;
}
input[type="text"], input[type="tel"], input[type="email"], textarea {
 margin: 0;
 background: #fff;
 border-radius: 5px;
 outline: none;
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 border: 1px solid #ddd;
 -webkit-transition: all .2s;
 transition: all .2s;
 padding: 0.9285714286em 0.7857142857em;
 width: 100%;
}
textarea {
 padding: 0em 0.7857142857em;
 width: 100%;
 min-height: 3em;
 word-break: break-all;
}
input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus, textarea:focus, select:focus {
 border: 1px solid #167300;
}
input[type="text"].isFormError, input[type="tel"].isFormError, input[type="email"].isFormError {
 border: 1px solid #167300;
}
input[type="button"], input[type="submit"] {
 color: #fff;
 letter-spacing: .2em;
 background: rgba(15, 31, 25, 1);
 border: none;
 -webkit-transition: all .3s;
 transition: all .3s;
 padding: 15px 30px;
 border-radius: 0;
 text-decoration: none;
 cursor: pointer;
 margin-top: 50px;
 margin-right: auto;
 margin-left: auto;
 font-size: 1.1em;
 margin-bottom: 30px;
}
input[type="button"]:hover, input[type="submit"]:hover {
 background: #019377;
}
input[type=radio] {
 display: none; /* ラジオボタンを非表示にする */
}
label {
 position: relative;
 padding: 0 0 0 30px;
 display: inline-block;
}
label:after, label:before {
 position: absolute;
 content: "";
 display: block;
 -webkit-transition: all .3s ease-out;
 -moz-transition: all .3s ease-out;
 -ms-transition: all .3s ease-out;
 transition: all .3s ease-out;
}
label:after {
 left: 0px;
 top: 3px;
 width: 22px; /* ボックスの横幅を指定する */
 height: 22px; /* ボックスの高さを指定する */
 border: 3px solid #bbb; /* ボックスの境界線を実線で指定する */
 border-radius: 50%; /* ボックスの角丸を指定する */
 z-index: 1;
}
label span {
 display: inline-block;
 padding-right: .7em;
}
table.formtable, table.formtable td, table.formtable th {
 border-collapse: collapse;
}
table.formtable {
 margin-top: 10px;
 border-bottom: 1px solid #e5decf;
}
table.formtable td {
 padding: 0 1.5em 1.5em;
}
table.formtable th {
 font-size: 1em;
 text-align: left;
 font-weight: bold;
 vertical-align: top;
 padding: 1em 1.5em .5em 1.5em;
 border-top: 1px solid #e5decf;
 color: #167300;
}
table.formtable .reqired th {
 position: relative;
}
table.formtable.kakunin th, table.formtable.kakunin td {
 vertical-align: middle;
}
table.formtable.kakunin td {
 color: #333;
}
.reqired th span.req {
 position: absolute;
 right: 2em;
 top: 50%;
 display: inline-block;
 background: #f25a7c;
 font-weight: normal;
 font-size: .65em;
 line-height: 1;
 color: #fff;
 padding: 5px 7px;
 z-index: 0;
 letter-spacing: .2em;
 transform: translateY(-10px);
}
@media print, screen and (max-width: 767px) {
 .reqired th span.req {
  position: relative;
  margin-left: 1em;
  right: auto;
  top: auto;
  transform: translateY(-3px);
 }
}
th.reqired span {
 display: block;
 padding-right: 3.5em;
}
table.formtable .reqired th.noreqth:before {
 display: none;
}
p.area {
 padding: .7em 0;
}
.code-phone {
 font-weight: bold;
 line-height: 1;
 margin-bottom: .5em;
 color: #167300;
 position: relative;
}
@media print, screen and (max-width: 767px) {
 .code-phone {
  position: relative;
  padding-left: 1em;
 }
 .code-phone::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: #28890c;
  border-radius: 8px;
  position: absolute;
  left: 0;
  top: calc(50% - 4px);
 }
}
/*見出し*/
.instruction {
 margin: 10px auto 0;
 padding: 10px 0;
}
.instruction h2 {
 padding: 1em;
}
@media (min-width: 768px) {
 .instruction h2 {
  padding: 1em 0;
 }
}
h2.kakuninPage {
 font-size: 1.1em;
 padding-bottom: 1em;
}
.areainfo {
 border: 4px solid #fff3cf;
 background: #fff3cf;
 margin-top: 1em;
 padding: 1em 1.5em;
 font-size: .92em;
	text-align: center;
}
.areainfo > p:first-child > span {
 display: block;
}
.areainfo > p:first-child > span > span {
 display: inline-block;
}
.areainfo a {
 font-weight: bold;
 color: #ff5a24;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
	display: inline-block;
	margin-top: .7em;
}
.areainfo a span {
	display: inline-block;
	padding: 5px 1.5em;
	border:3px solid #ff8a1e;
	border-radius: 20px;
}
.areainfo a i {
 margin-right: .5em;
 font-size: 1.4em;
 vertical-align: middle;
 border: none;
}
#btn {
 padding: 0 1.5em;
 margin: 40px 0 30px 0;
 text-align: center;
}
button {
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
}
button.submit, button.submit2, button.backbtn {
 font-size: 1em;
 font-weight: bold;
 letter-spacing: .2em;
 color: #ffffff;
 padding: 20px 15px 23px 15px;
 background: #299510;
 border: none;
 -moz-border-radius: 10px;
 -webkit-border-radius: 10px;
 border-radius: 5px;
	width: 80%;
}

@media print, screen and (min-width: 768px){
	button.submit, button.submit2, button.backbtn {
 width: 100%;
	}
}
button.backbtn {
	font-size:.92em;
	background: #e0dbd2;
	color:#333;
	letter-spacing: 0.05em;
	padding: .7em;
	margin: 1em auto;
}
button.submit i, button.submit2 i {
 margin-left: .3em;
 transform: scale(1.1);
}
button.backbtn i {
 margin-right: .3em;
 transform: scale(1.1);
}
.kakuninSubmit {
 display: flex;
}
.kakuninSubmit span {
 width: 50%;
}
.kakuninSubmit span:first-child {
 padding-right: 1.5em;
}
.code {
 letter-spacing: .15em;
}
.thanks p {
 padding: 0 7%;
}
input.phone {
 width: 4.5em;
}
input.your_name, input.friend_name {
 max-width: 20em;
}
@media print, screen and (min-width: 641px) /*SPヨコ*/ {
 #header img {
  width: auto;
  height: 64px;
 }
 #header .sitelink {
  position: absolute;
  bottom: -2.8em;
  right: 0;
  text-align: right;
  width: 100%;
 }
 #header .sitelink a {
  display: inline-block;
  font-size: .8em;
  padding: 3px 1.2em;
  color: #fff;
  background: #008742;
  border-radius: 18px;
 }
 #header .sitelink a i {
  margin-left: .5em;
 }
 .header-wrapper {
  padding: 15px 0;
 }
 .header-info > div {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
 }
 #footer-wrapper {
  padding: 30px;
 }
 .footer-info {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: center;
  width: auto;
 }
 .footer-info p {
  padding: 0 30px 0 0;
 }
 .footer-info p:first-child {
  padding: 0 0 0 30px;
  border-left: 1px solid rgba(255, 255, 255, 0.7);
 }
 input.coopcode {
  max-width: 10em;
 }
 table.formtable th, table.formtable td {
  padding: 1.5em 0;
  border-top: 1px solid #e5decf;
 }
 table.formtable .reqired th {
  padding: 1.5em 3.5em 1.5em 0;
  width: 12em;
  vertical-align: middle;
 }
 table.formtable .reqired th.noreqth {
  padding: 1.5em;
 }
 .friendsHead {
  border-right: 1px solid #ddd;
  white-space: nowrap;
 }
 .friendsSub {
  width: 13em;
 }
 .kakunin th.headth {
  width: 15em;
 }
 .contactIntro {
  font-size: 1.2em;
 }
 .contactNum {
  font-size: 3em;
  line-height: 1;
 }
 button.submit, button.backbtn {
  width: 260px;
 }
 .kakuninSubmit {
  display: flex;
  justify-content: center;
 }
 .kakuninSubmit span {
  width: auto;
 }
 .kakuninSubmit span:first-child {
  padding-right: 2em;
  width: auto;
 }
 button.submit i, button.submit2 i {
  margin-left: .7em;
  font-size: 1.2em;
 }
 .kakuninSubmit {
  display: flex;
  justify-content: center;
 }
 .kakuninSubmit span {
  width: auto;
 }
 .kakuninSubmit span:first-child {
  padding-right: 2em;
  width: auto;
 }
 button.submit i, button.submit2 i {
  margin-left: .7em;
  font-size: 1.2em;
 }
 .kakuninSubmit {
  display: flex;
  justify-content: center;
 }
 .kakuninSubmit span {
  width: auto;
 }
 .kakuninSubmit span:first-child {
  padding-right: 2em;
  width: auto;
 }
 button.submit i, button.submit2 i {
  margin-left: .7em;
  font-size: 1.2em;
 }
 .kakuninSubmit {
  display: flex;
  justify-content: center;
 }
 .kakuninSubmit span {
  width: auto;
 }
 .kakuninSubmit span:first-child {
  padding-right: 2em;
  width: auto;
 }
 button.submit i, button.submit2 i {
  margin-left: .7em;
  font-size: 1.2em;
 }
 .kakuninSubmit {
  display: flex;
  justify-content: center;
 }
 .kakuninSubmit span {
  width: auto;
 }
 .kakuninSubmit span:first-child {
  padding-right: 2em;
  width: auto;
 }
 button.submit i, button.submit2 i {
  margin-left: .7em;
  font-size: 1.2em;
 }
}
th.reqired span {
 padding-left: 0;
 padding-right: 3.5em;
}
.kakuninSubmit {
 display: flex;
 justify-content: center;
}
.kakuninSubmit span {
 width: auto;
}
.kakuninSubmit span:first-child {
 padding-right: 1em;
 width: auto;
}
button.submit i, button.submit2 i {
 margin-left: .7em;
 font-size: 1.2em;
}
button.backbtn i {
 margin-right: .7em;
 font-size: 1.2em;
}
.thanks p {
 padding: 0 7%;
 text-align: center;
}
@media print, screen and (min-width: 768px) {
 main {
  padding: 0px 0 80px 0;
 }
 input.phone {
  width: 6em;
 }
 .friendsHead {
  padding: 1.5em;
  border-right: 1px solid #ddd;
 }
 .footer-info p:first-child img {
  width: 357px;
  height: auto;
 }
 .footer-info p:last-child img {
  width: 260px;
  height: auto;
 }
}
@media print, screen and (min-width: 960px) {
 .areaDiv {
  display: flex;
  align-items: center;
 }
 .areaDiv input[type="text"] {
  width: 15em;
 }
 .areaDiv p {
  padding-left: 1em;
 }
}
@media print, screen and (min-width: 1025px) {
	 .areainfo a:hover span {
			background: #ffb03b;
			color:#fff;
	border:3px solid #ffb03b;
 }
 button:hover {
  transform: translate3d(0, 2px, 0);
  background: #8cc63f;
  cursor: pointer;
 }
	 button.backbtn:hover {
  background: #eae6e0;
 }
 #header .sitelink a:hover {
  background: #49AA46;
 }
}
.formbg {
 background: #f7f5f2;
 color: #167300;
 padding: 60px 0 20px 0;
 /*color: #63391c;*/
}
.form-box {
 padding: 0 0 20px 0;
 max-width: 740px;
 margin: auto;
}

.form-box.publishcode {
 padding: 20px 7% 50px;
}
@media (min-width: 768px) {
 .form-box {
  padding: 20px 7%;
  max-width: 960px;
  margin: auto;
 }
	.form-box.publishcode {
 padding: 40px 7% 80px;
}
}
aside {
 padding: 20px 7%;
 max-width: 960px;
 margin: auto;
}
@media print, screen and (max-width: 767px) {
 aside {
  padding: 40px 1.5em 0;
 }
}
/*ステップバー*/
.multi-steps {
 max-width: 640px;
 margin: 0 auto 0 auto;
}
.multi-steps > li.is-active ~ li:before, .multi-steps > li.is-active:before {
 content: counter(stepNum);
 font-family: inherit;
 font-weight: 700;
 position: relative;
 z-index: 2;
}
.multi-steps > li.is-active ~ li:after, .multi-steps > li.is-active:after {
 background-color: #e0dbd2;
}
.multi-steps {
 display: table;
 table-layout: fixed;
 width: 90%;
}
.multi-steps > li {
 counter-increment: stepNum;
 text-align: center;
 display: table-cell;
 position: relative;
 color: #299510;
 margin: 0;
}
.multi-steps > li:before {
 content: "✓";
 display: block;
 margin: 0 auto 10px;
 background-color: #299510;
 color: #fff;
 width: 32px !important;
 height: 32px !important;
 line-height: 32px !important;
 text-align: center;
 font-weight: bold;
 border-radius: 50%;
 position: relative;
 z-index: 5;
}
.multi-steps > li:after {
 content: "";
 height: 2px;
 width: 100%;
 background-color: #299510;
 position: absolute;
 top: 16px;
 left: 50%;
 z-index: 1;
}
.multi-steps > li:last-child:after {
 display: none;
}
.multi-steps > li.is-active:before {
 background-color: #299510;
}
.multi-steps > li.is-active ~ li {
 color: #808080;
}
.multi-steps > li.is-active ~ li:before {
 background-color: #e0dbd2;
 border-color: #e0dbd2;
}
.multi-steps > li span {
 font-size: 0.75em;
 font-weight: bold;
 display: block;
 line-height: 1.4;
}
.ul-align-center {
 display: flex;
 align-items: center;
 flex-direction: column;
 margin-bottom: 30px;
}
/*印刷用スタイル*/
@media print {
 #footer {
  display: none;
 }
 #print-footer {
  padding: 30px 0;
  border-top: 1px solid #ddd;
  display: block;
 }
 #print-footer > div {
  display: flex;
  justify-content: center;
  align-items: center;
 }
 #print-footer > div > div {
  padding-right: 20px;
  text-align: center;
 }
 #print-footer > div > div:last-child {
  padding-right: 0px;
  padding-left: 20px;
 }
 #print-footer img {
  width: 260px;
  height: auto;
 }
 #print-footer .telhead {
  margin-bottom: .5em;
  padding: 0px 1.5em;
  line-height: 32px;
  color: #008742;
  font-weight: bold;
  border: 1px solid #008742;
  border-radius: 16px;
  display: inline-block;
  font-size: .95em;
 }
 #print-footer .telinfo {
  font-size: 2.7em;
  font-weight: 600;
  letter-spacing: 2px;
  line-height: 1;
 }
 #print-footer .telinfo i {
  transform: scale(1, -1) rotate(-225deg);
  margin-right: .3em;
  vertical-align: text-top;
 }
 #print-footer .teltime {
  font-size: .85em;
  margin-top: .5em;
 }
}
/*レスポンシブ表示非表示切り替え*/
@media (max-width: 640px) {
 .tb-only {
  display: none !important
 }
}
@media (min-width: 641px) {
 .sp-only {
  display: none !important;
 }
 .tb-only {
  display: inline
 }
}
@media (min-width: 1024px) {
 .sptb-only, .tb-only {
  display: none !important;
 }
}
@media (max-width: 641px) {
 .pctb-only {
  display: none !important;
 }
}
@media (max-width: 1023px) {
 .pc-only {
  display: none !important;
 }
}
@media (max-width: 1239px) {
 .pcwide-only {
  display: none !important;
 }
}
input.parsley-error {
 box-shadow: 0 0 0 1px #ff4c65;
 border: 1px solid #ff4c65 !important;
}
.parsley-errors-list {
 padding: 5px 0 0 0;
}
.parsley-errors-list li {
 color: #e03551;
 font-size: .93em;
}
#error-phone .parsley-errors-list {
 padding: 0 0 0 0;
}
.sendbtn {
 display: block;
 line-height: 36px;
 font-size: 1em;
 text-align: center;
 font-weight: bold;
 letter-spacing: .2em;
 color: #ffffff;
 padding: 15px;
 background: #00b900;
 border: none;
 -moz-border-radius: 10px;
 -webkit-border-radius: 10px;
 border-radius: 5px;
 width: 100%;
 margin: 20px 0 0 0;
}
.sendbtn img {
 width: 36px;
 height: auto;
 margin-right: 10px;
 vertical-align: middle;
}
@media print, screen and (min-width: 1025px){
.sendbtn:hover {
  background: #6cd31c;
}
}
.copy_alert {
 display: none;
 color: #e03551;
 font-size: .9em;
	font-weight: bold;
}
.codeURL {
	text-align: center;
 margin: 10px 0 25px 0;
}
.codeURL .copybtn {
 width: 6.5em;
 text-align: center;
	margin: 0 auto;
}
p.btn {
 font-size: .9em;
 color: #fff;
 background: #299510;
 border-radius: 5px;
 -webkit-transition: all .2s;
 transition: all .2s;
 padding: 0em 1em;
 line-height: 3.2em;
 width: 100%;
 font-weight: bold;
}
@media print, screen and (min-width: 1025px){
	p.btn:hover {
  background: #6cd31c;
		cursor: pointer;
	}
}
@media print, screen and (min-width: 480px) {
 .codeURL {
  display: flex;
  justify-content: space-between;
 }
 .codeURL > div:first-child {
  flex: 1;
 }
 .codeURL .copybtn {
  width: 6.5em;
  padding: 0 0 0 1em;
  text-align: center;
 }
 .mail-line-btn {
  display: flex;
  justify-content: space-between;
 }
 .mail-line-btn > div {
  width: 48%;
 }
}
.invitationcode {
 text-align: center;
 padding: 1em 0 2em;
}
.invitationcode h2 {
 font-weight: bold;
 font-size: 1.2em;
}
.invitationcode > div {
 margin: 10px 0 0 0;
}
.invitationcode > div span {
 display: inline-block;
 background: #fff;
 color: #222;
 font-size: 1.5em;
 padding: 0 2em;
 line-height: 2.4em;
 font-weight: bold;
 letter-spacing: 0.05em;
}
.notfound {
	background: #ffebee;
 color: #D60033;
	padding: 15px 20px;
	border:1px solid #D60033;
	text-align: center;
}
@media print, screen and (max-width: 767px) {
.notfound {
	margin: 0 6%;
}
}
.notfound .notfoundicon {
	fill: #D60033;
	padding-bottom: 7px;
}
.notfound .notfoundicon svg {
	width: 60px;
	height:60px;
}
.notfound .message {
	font-weight: bold;
	line-height: 1.5;
}
.notfound .message span {
	font-size:.85em;
	display: block;
	padding: 5px 0 0 0;
	font-weight: normal;
}
@media print, screen and (min-width: 768px) {
	.notfound .message {
		font-size:1.1em;
	}
	.notfound .message span {
	font-size:.82em;
	}
}
@media print, screen and (min-width: 1024px) {
	.notfound {
		display: flex;
		align-items: center;
	}
	.notfound .notfoundicon {
		padding-right: 20px;
		border-right: 1px solid #D60033;
		padding-bottom: 0;
	}
	.notfound .message {
		padding-left: 20px;
		text-align: left;
	}
}