@charset "UTF-8";


/* Zoho用のフォーム（オンライン配信用のコードになります） */
.zf-backgroundBg {
 background: rgba(237, 239, 244, 1);
}

/* リストマーカーを完全に削除 */
ul,
ol,
li {
 list-style: none !important;
 list-style-type: none !important;
 margin: 0;
 padding: 0;
}

ul::before,
ul::after,
ol::before,
ol::after,
li::before,
li::after {
 content: none !important;
}

.zf-tempHeadBdr,
.zf-tempHeadBdr li,
.zf-formContent {
 list-style: none !important;
 list-style-type: none !important;
 margin: 0;
 padding: 0;
}

.zf-templateWidth {
 margin: 0 auto;
 padding: 30px 20px;
 max-width: 800px;
 width: 100%;
 box-sizing: border-box;
}

.zf-templateWrapper {
 background: #fff;
 -webkit-box-shadow: 0px 0px 22px 0px #d8dfed;
 -moz-box-shadow: 0px 0px 22px 0px #d8dfed;
 box-shadow: 0px 0px 22px 0px #d8dfed;
 -webkit-border-radius: 10px;
 -moz-border-radius: 10px;
 border-radius: 10px;
}

.zf-tempHeadContBdr {
 background: #ffffff;
 border-bottom: 1px solid #ced3e0;
 margin: 0;
 padding: 28px 40px;
 -webkit-border-radius: 10px 10px 0 0;
 -moz-border-radius: 10px 10px 0 0;
 border-radius: 10px 10px 0 0;
}

.zf-tempHeadContBdr .zf-frmTitle {
 color: #252c3e;
 margin: 0;
 padding: 0;
 font-size: 33px;
 font-weight: 500;
 text-align: center;
 font-style: normal;
}

.zf-tempHeadContBdr .zf-frmTitle em {
 font-style: normal;
}

.zf-tempHeadContBdr .zf-frmDesc {
 color: #667291;
 font-size: 16px;
 font-weight: 400;
 margin: 0;
 padding-top: 8px;
 text-align: center;
}

.zf-tempFrmWrapper {
 padding: 16px 40px;
 margin: 0;
 box-sizing: border-box;
}

.zf-labelName {
 font-weight: 500;
 font-size: 16px;
 color: #252c3e;
 padding-bottom: 10px;
 display: block;
}

.zf-important {
 color: #ff0000;
 padding: 0;
 font-size: 17px;
 margin-left: 2px;
 font-weight: bold;
}

.zf-tempContDiv input[type="text"],
.zf-tempContDiv input[type="email"],
.zf-tempContDiv textarea,
.zf-tempContDiv .zf-form-sBox {
 background: #fff;
 border: 1px solid rgba(184, 187, 211, 1);
 border-radius: 4px;
 padding: 11px 10px;
 font-size: 15px;
 color: rgb(37, 44, 62);
 width: 100%;
 box-sizing: border-box;
 transition: 0.3s;
}

.zf-tempContDiv input[type="text"]:focus,
.zf-tempContDiv input[type="email"]:focus,
.zf-tempContDiv textarea:focus,
.zf-tempContDiv .zf-form-sBox:focus {
 border: 1px solid #2eb79f;
 box-shadow: 0px 0px 2px 0px #2eb79f;
 outline: none;
}

.zf-tempContDiv textarea {
 min-height: 100px;
 font-family: Arial, Helvetica, sans-serif;
}

/* セッション選択のスタイル - 縦並び */
.zf-oneColumns {
 display: block;
}

.zf-oneColumns span {
 display: block;
}

.zf-oneColumns .zf-tempContDiv span {
 margin: 0 0 16px 0;
 padding: 0;
 width: 100%;
 display: block;
 clear: both;
}

.zf-oneColumns .zf-tempContDiv span:last-child {
 margin-bottom: 0;
}

.zf-oneColumns .zf-tempContDiv span input[type="checkbox"] {
 display: block;
 min-width: 20px;
 width: 20px;
 height: 20px;
 margin: 0;
 padding: 0;
 margin-top: 1px;
 float: left;
 margin-left: 2px;
 -webkit-appearance: none;
 border-radius: 3px;
 border: 1.2px solid #47476b;
 position: relative;
 cursor: pointer;
 background-color: #fff;
}


.zf-oneColumns .zf-tempContDiv span input[type="checkbox"]:checked {
 border: 1.2px solid rgba(46, 183, 159, 1);
 box-shadow: 0px 0px 2px 0px rgba(46, 183, 159, 1);
 background-color: rgba(46, 183, 159, 0.1);
}

.zf-oneColumns .zf-tempContDiv span input[type="checkbox"]:checked:before {
 content: " ";
 display: inline-block;
 transform: rotate(45deg);
 height: 10px;
 width: 4px;
 border-bottom: 2px solid rgba(46, 183, 159, 1);
 border-right: 2px solid rgba(46, 183, 159, 1);
 position: absolute;
 top: 2px;
 left: 6px;
}

.zf-oneColumns .zf-tempContDiv span input[type="checkbox"]:disabled {
 opacity: 0.5;
 cursor: not-allowed;
 background-color: #f5f5f5;
}

.zf-oneColumns .zf-tempContDiv span label {
 line-height: 21px;
 display: block;
 margin: 0 0 0 32px;
 padding: 0;
 font-size: 15px;
 color: #47476b;
 cursor: pointer;
}



/* 住所フィールド */
.address_row_1,
.address_row_2,
.address_row_3,
.address_row_4 {
 padding-top: 15px;
}

.address_row_1 {
 padding-top: 0;
}

.address_row_3,
.address_row_4 {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 gap: 0 16px;
}

.address_row_3 span.zf-addresCols,
.address_row_4 span.zf-addresCols {
 width: 48%;
 flex: 1 1 auto;
}

.zf-address .zf-tempContDiv span label {
 display: block;
 color: #252c3e;
 font-size: 13px;
 padding-top: 8px;
 opacity: 0.8;
 font-weight: 500;
}

/* チェックボックス（メルマガ）- チェック状態を明確に */
.zf-decesion .zf-tempContDiv {
 width: 100%;
 margin-top: 4px;
}

.zf-decesion input[type="checkbox"],
.zf-decesion .zf-checkBoxType {
 display: block;
 height: 20px;
 width: 20px;
 margin: 0;
 padding: 0;
 margin-top: 4px;
 float: left;
 margin-left: 2px;
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 border-radius: 3px;
 border: 1.2px solid #47476b;
 cursor: pointer;
 position: relative;
 background-color: #fff;
}

.zf-decesion input[type="checkbox"]:checked,
.zf-decesion .zf-checkBoxType:checked {
 border: 1.2px solid rgba(46, 183, 159, 1);
 box-shadow: 0px 0px 2px 0px rgba(46, 183, 159, 1);
 background-color: rgba(46, 183, 159, 0.1);
}

.zf-decesion input[type="checkbox"]:checked:before,
.zf-decesion .zf-checkBoxType:checked:before {
 content: " ";
 display: inline-block;
 transform: rotate(45deg);
 height: 10px;
 width: 4px;
 border-bottom: 2px solid rgba(46, 183, 159, 1);
 border-right: 2px solid rgba(46, 183, 159, 1);
 position: absolute;
 top: 2px;
 left: 6px;
}

.zf-decesion label {
 display: block;
 margin: 0px 0 0 28px;
 padding-bottom: 0;
 width: 95%;
 float: none;
 line-height: 21px;
 text-align: left;
 font-size: 15px;
 color: #47476b;
}

/* プライバシーポリシー */
.zf-termsContainer {
 margin: 0;
 padding: 0;
}

.zf-termsContainer .zf-termsMsg {
 border: 1px solid #252c3e;
 padding: 12px 10px;
 margin-bottom: 12px;
 border-radius: 4px;
 font-size: 13px;
}

.zf-termsAccept {
 margin-top: 0;
}

.zf-termsAccept input[type="checkbox"],
.zf-termsAccept .zf-checkBoxType {
 display: block;
 height: 20px;
 width: 20px;
 margin: 4px 0 0;
 padding: 0;
 float: left;
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 border-radius: 3px;
 border: 1.2px solid #47476b;
 cursor: pointer;
 position: relative;
 background-color: #fff;
}

.zf-termsAccept input[type="checkbox"]:checked,
.zf-termsAccept .zf-checkBoxType:checked {
 border: 1.2px solid rgba(46, 183, 159, 1);
 box-shadow: 0px 0px 2px 0px rgba(46, 183, 159, 1);
 background-color: rgba(46, 183, 159, 0.1);
}

.zf-termsAccept input[type="checkbox"]:checked:before,
.zf-termsAccept .zf-checkBoxType:checked:before {
 content: " ";
 display: inline-block;
 transform: rotate(45deg);
 height: 10px;
 width: 4px;
 border-bottom: 2px solid rgba(46, 183, 159, 1);
 border-right: 2px solid rgba(46, 183, 159, 1);
 position: absolute;
 top: 2px;
 left: 6px;
}

.zf-termsAccept label {
 display: block;
 margin-left: 30px;
 font-size: 15px;
 color: #252c3e;
}

/* 説明文 */
.zf-instruction {
 color: #465475;
 font-style: normal;
 font-size: 13px;
 padding: 8px 0px 0px 0px;
 font-weight: 500;
 clear: both;
}

/* エラーメッセージ */
.zf-errorMessage {
 font: 15px Arial, Helvetica, sans-serif;
 color: #f41033;
 padding-top: 10px;
}

/* 送信ボタン */
.zf-fmFooter {
 margin: 0;
 padding: 10px 25px 40px 25px;
 text-align: center;
}

.zf-submitColor {
 color: #fff;
 border: 1px solid transparent;
 background: rgba(46, 183, 159, 1);
 border-radius: 150px;
 min-width: 100px;
 font-size: 16px;
 padding: 13px 38px;
 cursor: pointer;
 transition: transform .25s cubic-bezier(0.33, 0.04, 0.63, 0.93);
}

.zf-submitColor:hover {
 transform: scale3d(1.03, 1.03, 1);
}

.zf-clearBoth {
 clear: both;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
 .zf-templateWidth {
  padding: 20px 10px;
 }

 .zf-tempHeadContBdr {
  padding: 20px 20px;
 }

 .zf-tempHeadContBdr .zf-frmTitle {
  font-size: 24px;
 }

 .zf-tempHeadContBdr .zf-frmDesc {
  font-size: 14px;
 }

 .zf-tempFrmWrapper {
  padding: 16px 20px;
 }

 .address_row_3,
 .address_row_4 {
  flex-direction: column;
 }

 .address_row_3 span.zf-addresCols,
 .address_row_4 span.zf-addresCols {
  width: 100%;
 }
}



/* 製麺イベント関連用のフォームになります */

@charset "UTF-8";

/* リストマーカーを完全に削除 */
ul,
ol,
li {
 list-style: none !important;
 list-style-type: none !important;
 margin: 0;
 padding: 0;
}

ul::before,
ul::after,
ol::before,
ol::after,
li::before,
li::after {
 content: none !important;
}

.zf-tempHeadBdr,
.zf-tempHeadBdr li,
.zf-formContent {
 list-style: none !important;
 list-style-type: none !important;
 margin: 0;
 padding: 0;
}

/* Zoho標準スタイルをベースにカスタマイズ */
.zf-backgroundBg {
 background: rgba(237, 239, 244, 1);
}

.zf-templateWidth {
 margin: 0 auto;
 padding: 30px 20px;
 max-width: 800px;
 width: 100%;
 box-sizing: border-box;
}

.zf-templateWrapper {
 background: #fff;
 -webkit-box-shadow: 0px 0px 22px 0px #d8dfed;
 -moz-box-shadow: 0px 0px 22px 0px #d8dfed;
 box-shadow: 0px 0px 22px 0px #d8dfed;
 -webkit-border-radius: 10px;
 -moz-border-radius: 10px;
 border-radius: 10px;
}

.zf-tempHeadContBdr {
 background: #ffffff;
 border-bottom: 1px solid #ced3e0;
 margin: 0;
 padding: 28px 40px;
 -webkit-border-radius: 10px 10px 0 0;
 -moz-border-radius: 10px 10px 0 0;
 border-radius: 10px 10px 0 0;
}

.zf-tempHeadContBdr .zf-frmTitle {
 color: #252c3e;
 margin: 0;
 padding: 0;
 font-size: 33px;
 font-weight: 500;
 text-align: center;
 font-style: normal;
}

.zf-tempHeadContBdr .zf-frmTitle em {
 font-style: normal;
}

.zf-tempHeadContBdr .zf-frmDesc {
 color: #667291;
 font-size: 16px;
 font-weight: 400;
 margin: 0;
 padding-top: 8px;
 text-align: center;
}

.zf-subContWrap {
 padding: 16px 0;
}

.zf-tempFrmWrapper {
 padding: 16px 40px;
 margin: 0;
 box-sizing: border-box;
}

.zf-labelName {
 font-weight: 500;
 font-size: 16px;
 color: #252c3e;
 padding-bottom: 10px;
 display: block;
}

.zf-important {
 color: #ff0000;
 padding: 0;
 font-size: 17px;
 margin-left: 2px;
 font-weight: bold;
}

.zf-tempContDiv input[type="text"],
.zf-tempContDiv input[type="email"],
.zf-tempContDiv textarea,
.zf-tempContDiv .zf-form-sBox {
 background: #fff;
 border: 1px solid rgba(184, 187, 211, 1);
 border-radius: 4px;
 padding: 11px 10px;
 font-size: 15px;
 color: rgb(37, 44, 62);
 width: 100%;
 box-sizing: border-box;
 transition: 0.3s;
}

.zf-tempContDiv input[type="text"]:focus,
.zf-tempContDiv input[type="email"]:focus,
.zf-tempContDiv textarea:focus,
.zf-tempContDiv .zf-form-sBox:focus {
 border: 1px solid #2eb79f;
 box-shadow: 0px 0px 2px 0px #2eb79f;
 outline: none;
}

.zf-tempContDiv textarea {
 min-height: 100px;
 font-family: Arial, Helvetica, sans-serif;
}

/* セッション選択のスタイル - 縦並び */
.zf-oneColumns {
 display: block;
 width: 100%;
}

.zf-oneColumns .zf-tempContDiv span {
 margin: 0 0 16px 0;
 padding: 0;
 width: 100%;
 display: block;
 clear: both;
 float: none;
}

.zf-oneColumns span {
 display: block;
}

.zf-oneColumns .zf-tempContDiv span:last-child {
 margin-bottom: 0;
}

.zf-oneColumns .zf-tempContDiv span input[type="checkbox"] {
 display: block;
 min-width: 20px;
 width: 20px;
 height: 20px;
 margin: 0;
 padding: 0;
 margin-top: 1px;
 float: left;
 margin-left: 2px;
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 border-radius: 3px;
 border: 1.2px solid #47476b;
 position: relative;
 cursor: pointer;
 background-color: #fff;
}

.zf-oneColumns .zf-tempContDiv span input[type="checkbox"]:checked {
 border: 1.2px solid rgba(46, 183, 159, 1);
 box-shadow: 0px 0px 2px 0px rgba(46, 183, 159, 1);
 background-color: rgba(46, 183, 159, 0.1);
}

.zf-oneColumns .zf-tempContDiv span input[type="checkbox"]:checked:before {
 content: " ";
 display: inline-block;
 transform: rotate(45deg);
 height: 10px;
 width: 4px;
 border-bottom: 2px solid rgba(46, 183, 159, 1);
 border-right: 2px solid rgba(46, 183, 159, 1);
 position: absolute;
 top: 2px;
 left: 6px;
}

.zf-oneColumns .zf-tempContDiv span input[type="checkbox"]:disabled {
 opacity: 0.5;
 cursor: not-allowed;
 background-color: #f5f5f5;
}

.zf-oneColumns .zf-tempContDiv span label {
 line-height: 21px;
 display: block;
 margin: 0 0 0 32px;
 padding: 0;
 font-size: 15px;
 color: #47476b;
 cursor: pointer;
 width: auto;
 float: none;
}

/* 住所フィールド */
.address_row_1,
.address_row_2,
.address_row_3,
.address_row_4 {
 padding-top: 15px;
}

.address_row_1 {
 padding-top: 0;
}

.address_row_3,
.address_row_4 {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 gap: 0 16px;
}

.address_row_3 span.zf-addresCols,
.address_row_4 span.zf-addresCols {
 width: 48%;
 flex: 1 1 auto;
}

.zf-address .zf-tempContDiv span label {
 display: block;
 color: #252c3e;
 font-size: 13px;
 padding-top: 8px;
 opacity: 0.8;
 font-weight: 500;
}

/* チェックボックス（メルマガ）- チェック状態を明確に */
.zf-decesion .zf-tempContDiv {
 width: 100%;
 margin-top: 4px;
}

.zf-decesion input[type="checkbox"],
.zf-decesion .zf-checkBoxType {
 display: block;
 height: 20px;
 width: 20px;
 margin: 0;
 padding: 0;
 margin-top: 4px;
 float: left;
 margin-left: 2px;
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 border-radius: 3px;
 border: 1.2px solid #47476b;
 cursor: pointer;
 position: relative;
 background-color: #fff;
}

.zf-decesion input[type="checkbox"]:checked,
.zf-decesion .zf-checkBoxType:checked {
 border: 1.2px solid rgba(46, 183, 159, 1);
 box-shadow: 0px 0px 2px 0px rgba(46, 183, 159, 1);
 background-color: rgba(46, 183, 159, 0.1);
}

.zf-decesion input[type="checkbox"]:checked:before,
.zf-decesion .zf-checkBoxType:checked:before {
 content: " ";
 display: inline-block;
 transform: rotate(45deg);
 height: 10px;
 width: 4px;
 border-bottom: 2px solid rgba(46, 183, 159, 1);
 border-right: 2px solid rgba(46, 183, 159, 1);
 position: absolute;
 top: 2px;
 left: 6px;
}

.zf-decesion label {
 display: block;
 margin: 0px 0 0 28px;
 padding-bottom: 0;
 width: 95%;
 float: none;
 line-height: 21px;
 text-align: left;
 font-size: 15px;
 color: #47476b;
}

/* プライバシーポリシー */
.zf-termsContainer {
 margin: 0;
 padding: 0;
}

.zf-termsContainer .zf-termsMsg {
 border: 1px solid #252c3e;
 padding: 12px 10px;
 margin-bottom: 12px;
 border-radius: 4px;
 font-size: 13px;
}

.zf-termsAccept {
 margin-top: 0;
}

.zf-termsAccept input[type="checkbox"],
.zf-termsAccept .zf-checkBoxType {
 display: block;
 height: 20px;
 width: 20px;
 margin: 4px 0 0;
 padding: 0;
 float: left;
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 border-radius: 3px;
 border: 1.2px solid #47476b;
 cursor: pointer;
 position: relative;
 background-color: #fff;
}

.zf-termsAccept input[type="checkbox"]:checked,
.zf-termsAccept .zf-checkBoxType:checked {
 border: 1.2px solid rgba(46, 183, 159, 1);
 box-shadow: 0px 0px 2px 0px rgba(46, 183, 159, 1);
 background-color: rgba(46, 183, 159, 0.1);
}

.zf-termsAccept input[type="checkbox"]:checked:before,
.zf-termsAccept .zf-checkBoxType:checked:before {
 content: " ";
 display: inline-block;
 transform: rotate(45deg);
 height: 10px;
 width: 4px;
 border-bottom: 2px solid rgba(46, 183, 159, 1);
 border-right: 2px solid rgba(46, 183, 159, 1);
 position: absolute;
 top: 2px;
 left: 6px;
}

.zf-termsAccept label {
 display: block;
 margin-left: 30px;
 font-size: 15px;
 color: #252c3e;
}

/* 説明文 */
.zf-instruction {
 color: #465475;
 font-style: normal;
 font-size: 13px;
 padding: 8px 0px 0px 0px;
 font-weight: 500;
 clear: both;
}

/* エラーメッセージ */
.zf-errorMessage {
 font: 15px Arial, Helvetica, sans-serif;
 color: #f41033;
 padding-top: 10px;
}

/* 送信ボタン */
.zf-fmFooter {
 margin: 0;
 padding: 10px 25px 40px 25px;
 text-align: center;
}

.zf-submitColor {
 color: #fff;
 border: 1px solid transparent;
 background: rgba(46, 183, 159, 1);
 border-radius: 150px;
 min-width: 100px;
 font-size: 16px;
 padding: 13px 38px;
 cursor: pointer;
 transition: transform .25s cubic-bezier(0.33, 0.04, 0.63, 0.93);
}

.zf-submitColor:hover {
 transform: scale3d(1.03, 1.03, 1);
}

.zf-clearBoth {
 clear: both;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
 .zf-templateWidth {
  padding: 20px 10px;
 }

 .zf-tempHeadContBdr {
  padding: 20px 20px;
 }

 .zf-tempHeadContBdr .zf-frmTitle {
  font-size: 24px;
 }

 .zf-tempHeadContBdr .zf-frmDesc {
  font-size: 14px;
 }

 .zf-tempFrmWrapper {
  padding: 16px 20px;
 }

 .address_row_3,
 .address_row_4 {
  flex-direction: column;
 }

 .address_row_3 span.zf-addresCols,
 .address_row_4 span.zf-addresCols {
  width: 100%;
 }
}
























/* 自家製麺の採算計算フォーム */
/* 計算用フォーム */

.noodle-calculator {
 max-width: 980px;
 margin: 0 auto;
 padding: 20px;
 background: #fff;
 border-radius: 12px;
 box-shadow: 0 4px 18px rgba(0, 0, 0, .08)
}

.section-title {
 border-left: 5px solid #DC2928;
 padding-left: 10px;
 font-size: 1.2em;
 font-weight: 700;
 margin: 25px 0 15px
}

.result-container {
 margin-top: 30px;
 padding: 24px;
 border: 2px solid #DC2928;
 border-radius: 12px;
 background: #f9f9f9
}

.cost-comparison {
 display: flex;
 gap: 20px;
 margin: 20px 0;
 flex-wrap: wrap
}

.cost-box {
 border: 1px solid #e5e5e5;
 box-shadow: 3px 2px 10px rgba(0, 0, 0, .06);
 padding: 16px;
 text-align: center;
 flex: 1;
 min-width: 220px;
 border-radius: 10px;
 background: #fff
}

.cost-value {
 font-size: 1.85em;
 font-weight: 700;
 color: #DC2928
}

.highlight {
 background: linear-gradient(transparent 0%, #f6ff5f 0%);
 font-size: 1.6em;
 font-weight: 700;
 padding: 3px 6px;
 border-radius: 4px
}

.info-table {
 width: 100%;
 border-collapse: collapse;
 margin: 16px 0
}

.info-table th,
.info-table td {
 padding: 10px 12px;
 border: 1px solid #eee;
 text-align: left
}

.info-table th {
 background: #fafafa;
 font-weight: 700;
 width: 34%
}

.grid-machines {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
 gap: 14px;
 padding: 12px 4px
}

.fade {
 opacity: 0;
 transform: translateY(10px);
 animation: fadeInUp .6s ease forwards
}

.fade-delay-1 {
 animation-delay: .15s
}

.fade-delay-2 {
 animation-delay: .3s
}

.fade-delay-3 {
 animation-delay: .45s
}

.fade-delay-4 {
 animation-delay: .6s
}

@keyframes fadeInUp {
 from {
  opacity: 0;
  transform: translateY(20px)
 }

 to {
  opacity: 1;
  transform: translateY(0)
 }
}

@media (max-width:768px) {
 .cost-comparison {
  flex-direction: column
 }
}





/* 自家製麺の採算計算フォーム関連 */




/* Zoho Form CSS 統合版 */
.zf-backgroundBg {
 background: rgba(237, 239, 244, 1);
}

.zf-templateWidth {
 margin: 0 auto;
 padding: 30px 20px;
 max-width: 800px;
 width: 100%;
 box-sizing: border-box;
}

.zf-templateWrapper {
 background: #fff;
 box-shadow: 0px 0px 22px 0px #d8dfed;
 border-radius: 10px;
}

.zf-tempHeadContBdr {
 background: #ffffff;
 border-bottom: 1px solid #ced3e0;
 margin: 0;
 padding: 28px 40px;
 border-radius: 10px 10px 0 0;
}

.zf-tempHeadContBdr .zf-frmTitle {
 color: #252c3e;
 margin: 0;
 padding: 0;
 font-size: 33px;
 font-weight: 500;
 text-align: center;
}

.zf-tempHeadContBdr .zf-frmDesc {
 color: #667291;
 font-size: 18px;
 font-weight: 400;
 margin: 0;
 padding-top: 8px;
 text-align: center;
}

.zf-subContWrap {
 padding: 16px 0 16px 0;
}

.zf-tempFrmWrapper {
 padding: 16px 40px 16px 40px;
 margin: 0;
 box-sizing: border-box;
}

.zf-tempFrmWrapper .zf-labelName {
 font-weight: 500;
 font-size: 16px;
 color: #252c3e;
 display: block;
 padding-bottom: 10px;
}

.zf-tempFrmWrapper .zf-tempContDiv {
 margin: 0;
 padding: 0;
}

.zf-tempContDiv input[type="text"],
.zf-tempContDiv textarea {
 background: #fff;
 border: 1px solid rgba(184, 187, 211, 1);
 border-radius: 4px;
 padding: 11px 10px 10px 10px;
 font-size: 15px;
 color: rgb(37, 44, 62);
 height: 40px;
 transition: 0.3s;
 width: 100%;
 box-sizing: border-box;
}

.zf-tempContDiv input[type="text"]:focus,
.zf-tempContDiv textarea:focus {
 border: 1px solid #2eb79f;
 box-shadow: 0px 0px 2px 0px #2eb79f;
 outline: none;
}

.zf-tempContDiv textarea {
 min-height: 100px;
 height: 100px;
 font-family: Arial, Helvetica, sans-serif;
 padding: 10px;
}

.zf-form-sBox {
 padding: 9px 10px 10px 5px;
 background: #fff;
 border: 1px solid rgba(184, 187, 211, 1);
 border-radius: 4px;
 font-size: 16px;
 height: 40px;
 transition: 0.3s;
 color: rgba(37, 44, 62, 1);
 width: 100%;
 box-sizing: border-box;
}

.zf-form-sBox:focus {
 border: 1px solid #2eb79f;
 box-shadow: 0px 0px 2px 0px #2eb79f;
 outline: none;
}

.zf-important {
 color: #ff0000 !important;
 padding: 0;
 font-size: 17px !important;
 margin-left: 2px;
 font-weight: bold;
}

.zf-instruction {
 color: #465475;
 font-style: normal;
 font-size: 13px;
 padding: 8px 0px 0px 0px;
 font-weight: 500;
}

.zf-errorMessage {
 font: 15px Arial, Helvetica, sans-serif;
 color: #f41033;
 padding-top: 10px;
 display: none;
}

/* 住所フィールド */
.zf-address .zf-tempContDiv span {
 display: block;
 padding-top: 15px;
}

.zf-address .address_row_1 .zf-addresCols {
 padding-top: 0;
}

.address_row_3,
.address_row_4 {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 gap: 0 16px;
}

.address_row_3 span.zf-addresCols,
.address_row_4 span.zf-addresCols {
 width: 47%;
 flex: 1 1 auto;
}

/* グリッドレイアウト */
.zfgrid_Wrapper {
 padding: 0 40px 0 40px;
 margin: 0;
 box-sizing: border-box;
}

.zftwoColumn {
 display: flex;
 flex-wrap: wrap;
 gap: 16px;
}

.zftwoColumn .zfCol {
 flex: 1 1;
 max-width: calc(50% - 8px);
 min-width: 280px;
}

.zfthreeColumn {
 display: flex;
 flex-wrap: wrap;
 gap: 16px;
}

.zfthreeColumn .zfCol {
 flex: 1 1;
 max-width: calc(33.333% - 11px);
 min-width: 200px;
}

/* ラジオボタン */
.zf-radio {
 padding: 16px 40px;
}

.zf-sideBySide .zf-tempContDiv span {
 margin: 0 4% 16px 0;
 padding: 0;
 width: auto;
 float: left;
 display: block;
}

.zf-tempContDiv input[type="radio"] {
 -webkit-appearance: none;
 border: 1.2px solid #47476b;
 border-radius: 50%;
 width: 20px;
 height: 20px;
 margin-top: 1px;
 float: left;
 margin-left: 1px;
 cursor: pointer;
}

.zf-tempContDiv input[type="radio"]:checked {
 border: 1.2px solid rgba(46, 183, 159, 1);
 box-shadow: 0px 0px 0px 0.5px rgba(46, 183, 159, 1);
}

.zf-tempContDiv input[type="radio"]:checked:before {
 content: '';
 display: block;
 width: 12px;
 height: 12px;
 border-radius: 50%;
 margin-top: 3px;
 margin-left: 3px;
 background: rgba(46, 183, 159, 1);
}

.zf-sideBySide .zf-tempContDiv span label {
 line-height: 21px;
 display: block;
 padding: 0 0 0 32px;
 cursor: pointer;
 font-size: 15px;
 color: #47476b;
}

/* チェックボックス */
.zf-tempContDiv input[type="checkbox"] {
 -webkit-appearance: none;
 border-radius: 3px;
 border: 1.2px solid #47476b;
 width: 20px;
 height: 20px;
 cursor: pointer;
 position: relative;
}

.zf-tempContDiv input[type="checkbox"]:checked {
 border: 1.2px solid rgba(46, 183, 159, 1);
 box-shadow: 0px 0px 2px 0px rgba(46, 183, 159, 1);
}

.zf-tempContDiv input[type="checkbox"]:checked:before {
 content: " ";
 display: inline-block;
 transform: rotate(45deg);
 height: 10px;
 width: 4px;
 border-bottom: 2px solid rgba(46, 183, 159, 1);
 border-right: 2px solid rgba(46, 183, 159, 1);
 position: absolute;
 top: -2px;
 left: 6px;
}

.zf-decesion input[type="checkbox"] {
 display: block;
 margin: 0;
 float: left;
 margin-top: 4px;
}

.zf-decesion label {
 display: block;
 margin: 0px 0 0 28px !important;
 padding-bottom: 0 !important;
 line-height: 21px !important;
}

/* プライバシーポリシー */
.zf-termsContainer .zf-termsMsg {
 border: 1px solid #252c3e;
 max-height: 250px;
 overflow-y: auto;
 padding: 12px 10px 12px;
 margin-bottom: 12px;
 border-radius: 4px;
 font-size: 13px;
}

.zf-termsAccept {
 margin-top: 0 !important;
}

.zf-termsAccept input[type="checkbox"] {
 margin-top: 0 !important;
 float: left;
}

.zf-termsAccept label {
 margin-left: 30px;
 font-size: 15px;
 display: block;
 color: #252c3e;
}

/* 送信ボタン */
.zf-fmFooter {
 margin: 0;
 padding: 10px 25px 40px 25px;
 text-align: center;
}

.zf-submitColor {
 color: #fff;
 border: 1px solid transparent;
 background: rgba(46, 183, 159, 1);
 border-radius: 150px;
 min-width: 100px;
 font-size: 16px;
 padding: 13px 38px;
 cursor: pointer;
 transition: transform .25s;
}

.zf-submitColor:hover {
 transform: scale(1.03);
}

.zf-clearBoth {
 clear: both;
}

/* レスポンシブ */
@media (max-width: 768px) {
 .zftwoColumn {
  flex-direction: column;
  gap: 0;
 }

 .zftwoColumn .zfCol {
  max-width: 100%;
 }

 .zf-tempFrmWrapper,
 .zfgrid_Wrapper,
 .zf-radio {
  padding: 16px 20px;
 }

 .zf-tempHeadContBdr {
  padding: 20px;
 }

 .address_row_3,
 .address_row_4 {
  flex-direction: column;
 }

 .address_row_3 span.zf-addresCols,
 .address_row_4 span.zf-addresCols {
  width: 100%;
 }
}