.pagetitle{position:relative}.pagetitle h1{position:absolute;width:100%;margin:auto;top:62%;text-align:center;font-size:32px;font-weight:bold;color:#fff;text-shadow:0px 0px 10px #2c5833}.pagetitle .mvbg{width:100%;height:100%}.pagetitle .mvbg img{width:100%;height:100%}main{max-width:1272px;margin-left:auto;margin-right:auto;padding-left:32px;padding-right:32px}main section{margin-top:120px}main section:first-of-type{margin-top:64px}main section .section{margin-top:64px}main section .section::after{content:"";display:block;clear:both}main section .icon{text-align:center;margin-bottom:16px}main section .icon img{width:56px;height:56px}main section h2{font-size:20px;font-weight:700;text-align:center;color:#00b900;margin-bottom:24px}main section h3{font-weight:700;font-size:20px;line-height:1.5;color:#2c5833;margin-bottom:16px}main section h3+picture{margin-top:0}main section h3 span{display:inline-block}main section h4{margin-top:32px;margin-bottom:16px;font-size:16px;font-weight:700;color:#333}main section p{font-size:16px;margin-top:1em;word-break:break-all}main section p.lead{font-size:16px;margin-top:24px;margin-bottom:64px}main section a.link{color:#2c5833;text-decoration:underline}main section picture{margin-top:32px;display:block}main section picture img{width:100%}main section picture.pict_s{max-width:392px}main section picture.pict_m{max-width:600px}main section picture.pict_l{max-width:808px;margin-left:calc((100vw - 100%)/2*-1);margin-right:calc((100vw - 100%)/2*-1)}main section table{max-width:100%;margin-top:32px;margin-bottom:32px;display:block;border-top:1px solid #ccc;margin-left:auto;margin-right:auto}main section table .pctcell{display:none !important}main section table tbody{display:block}main section table tr{display:block}main section table th{display:block;max-width:100%;padding:10px 0;border-bottom:1px dotted #ddd}main section table td{display:block;padding:10px 0;border-bottom:1px dotted #ddd}main section table td:last-of-type{border-bottom:1px solid #ccc}main section ul.list,main section ol.list{margin-top:32px;margin-bottom:32px;margin-left:20px}main section ul.list li+li,main section ol.list li+li{margin-top:8px}main section ul.list{list-style-type:disc}main section ul.list li::marker{color:#ddd}main section ol.list{list-style-type:decimal}main section .linkbox{display:flex;flex-direction:column;border-radius:8px;overflow:hidden;border:1px solid #ededed}main section .linkbox picture{margin-top:0}main section .linkbox h3{padding:0 24px;margin-top:16px}main section .linkbox p{padding:0 24px 24px}main section img{width:100%}main section .mt0{margin-top:0 !important}main section .mb0{margin-bottom:0 !important}main section .flexbox{display:flex}main section .tac{text-align:center}main section .btn{border-radius:50px;font-size:20px;margin-top:32px}main section .btn a{display:flex;justify-content:center;align-items:center;width:100%;padding:16px 0}main section .btn.main_btn{background-color:#00b900;color:#fff}main section .btn.main_btn:hover{background-color:#2c5833}main section .btn.sub_btn{border:1px solid #00b900;background-color:#fff;color:#00b900}main section .btn.sub_btn:hover{background-color:#d9f8d9}

/* スマホ：ヘッダー固定分のオフセット */
@media screen and (max-width: 1023px) {
  main {
    padding-top: 80px;
  }
}

@media screen and (min-width: 560px) {
  .pagetitle h1{top:52%;font-size:40px}
  main section:first-of-type{margin-top:80px}
  main section .section{margin-top:80px}
  main section .icon img{width:64px;height:64px}
  main section h2{font-size:32px;margin-bottom:32px}
  main section h3{margin-bottom:24px}
  main section h4{margin-top:40px;margin-bottom:16px}
  main section p.lead{font-size:20px;margin-top:32px;margin-bottom:80px}
  main section picture{margin-top:40px}
  main section picture img{width:100%}
  main section picture.pict_s{max-width:392px}
  main section picture.pict_m{max-width:600px}
  main section picture.pict_l{margin-left:auto;margin-right:auto}
  main section .grid picture{margin-top:0}
  main section .grid .cols>p:first-child{margin-top:0}
  main section .grid .cols>h3:first-child{margin-top:0}
  main section .grid .cols>h4:first-child{margin-top:0}
  main section .grid .cols>ul:first-child{margin-top:0}
  main section table{min-width:70%;display:table;border-top:1px solid #ccc}
  main section table .pctcell{display:table-cell !important}
  main section table tbody{display:table-row-group}
  main section table tr{display:table-row}
  main section table th{width:180px;display:table-cell;padding:16px 12px;border-bottom:1px solid #ccc}
  main section table td{display:table-cell;padding:16px 12px;border-bottom:1px solid #ccc}
  main section table td *:first-child{margin-top:0}
  main section table td *:last-child{margin-bottom:0}
  main section .linkbox{display:flex;flex-direction:row;max-width:1016px;margin-left:auto;margin-right:auto}
  main section .linkbox h3{padding:40px 60px 0}
  main section .linkbox p{padding:24px 32px 0 60px}
  main section .flexbox{display:flex}
  main section .fll{float:left;margin-top:0;margin-right:24px}
  main section .flr{float:right;margin-top:0;margin-left:24px}
  main section .clr::after{content:"";display:block;clear:both}
  main section .tac{text-align:center}
  main section .btn{max-width:392px;margin-left:auto;margin-right:auto}
}

/* ============================================
   CF7 お問い合わせフォーム
   ============================================ */

.wpcf7-form p {
  margin-bottom: 0;
}

.cf7-field {
  margin-bottom: 32px;
}

.cf7-label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #2c5833;
  border-left: 3px solid #00b900;
  padding: 4px 0 4px 10px;
  margin-bottom: 12px;
  line-height: 1.4;
}

.cf7-label .required {
  display: inline-block;
  background: #00b900;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 3px;
  margin-left: 8px;
  vertical-align: middle;
  line-height: 1.6;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
  width: 100%;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 10px 14px;
  font-size: 16px;
  background: #fafafa;
  display: block;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form textarea:focus {
  outline: none;
  border-color: #00b900;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(0, 185, 0, 0.12);
}

.wpcf7-form textarea {
  min-height: 160px;
  resize: vertical;
}

/* ラジオボタン */
.wpcf7-form .wpcf7-radio {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.wpcf7-form .wpcf7-radio .wpcf7-list-item {
  margin: 0;
}

.wpcf7-form .wpcf7-radio .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  cursor: pointer;
  margin: 0;
  padding: 10px 14px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background: #fafafa;
  transition: background 0.2s, border-color 0.2s;
}

.wpcf7-form .wpcf7-radio .wpcf7-list-item label:hover {
  background: #f0fff0;
  border-color: #00b900;
}

.wpcf7-form .wpcf7-radio input[type="radio"] {
  width: 18px;
  height: 18px;
  accent-color: #00b900;
  cursor: pointer;
  flex-shrink: 0;
}

/* 送信ボタン */
.wpcf7-form input[type="submit"] {
  background-color: #00b900;
  color: #fff;
  border: none;
  border-radius: 50px;
  padding: 16px 56px;
  font-size: 16px;
  cursor: pointer;
  display: block;
  margin: 40px auto 0;
  transition: background-color 0.3s;
  letter-spacing: 0.05em;
  width: 100%;
}

.wpcf7-form input[type="submit"]:hover {
  background-color: #2c5833;
}

/* バリデーション */
.wpcf7-form .wpcf7-not-valid-tip {
  color: #d00;
  font-size: 13px;
  margin-top: 6px;
  display: block;
}

.wpcf7-form.invalid .wpcf7-response-output {
  border: 1px solid #d00;
  color: #d00;
  background: #fff5f5;
  padding: 12px 16px;
  border-radius: 4px;
  font-size: 14px;
  margin-top: 24px;
}

.wpcf7-form.sent .wpcf7-response-output {
  border: 1px solid #00b900;
  color: #2c5833;
  background: #f0fff0;
  padding: 12px 16px;
  border-radius: 4px;
  font-size: 14px;
  margin-top: 24px;
}

/* PC：入力フィールドの幅を制限 */
@media screen and (min-width: 560px) {
  .wpcf7-form input[type="text"],
  .wpcf7-form input[type="email"],
  .wpcf7-form input[type="tel"] {
    max-width: 480px;
  }

  .wpcf7-form input[type="submit"] {
    width: auto;
  }
}
