/*
 * leather-step-form.css
 * 革サイト本体用ステップ式フォーム(媒体 SP_craftworkers テーマ由来)スタイル。
 * 媒体テーマ assets/css/style.min.css から #step-form 配下にスコープして抽出。
 * - 全セレクタを #step-form 配下にスコープ＝サイト全体に読み込んでも他CSSへ非干渉。
 * - checkbox/radio は媒体の .c-form.c-form--new 名前空間を除去し #step-form 直下に適用。
 * - url() は close ボタンの base64 data-URI のみ＝外部画像依存ゼロ(自己完結)。
 * - rem 基準は common.css の html{font-size:62.5%} に依存(媒体と同条件)。
 * 媒体テーマに無い .intro / .maker-underline は下部に手動定義(要・見た目調整)。
 */

/* ===== ステップフォーム土台 ===== */
#step-form{ } /* 閉じている間は子モーダルが display:none で領域を取らない */
#step-form-ttl{ display:none; } /* 媒体同様に内部見出しは非表示(マークアップ残存時の保険) */

/* ===== intro(媒体テーマ未定義・手動) ===== */
#step-form .intro{ text-align:center; margin-bottom:20px; }
#step-form .intro__logo{ margin-bottom:12px; }
#step-form .intro__logo img{ height:auto; max-width:120px; }
#step-form .intro__ttl{ font-size:2rem; font-weight:bold; color:#6b4423; line-height:1.5; margin-bottom:10px; }
#step-form .intro__content p{ font-size:1.4rem; line-height:1.9; color:#333; }
#step-form .maker-underline{ background:linear-gradient(transparent 60%, #ffe08a 60%); font-weight:bold; }

/* ===== inputField 2カラム(媒体テーマ由来。抽出トークン漏れのため明示追加) ===== */
#step-form .inputField.inputField--cols2{ display:flex; justify-content:space-between; }
#step-form .inputField.inputField--cols2 > *{ width:49%; }

/* ===== ステップ数インジケーター(STEP X / 5 + ステップ名)。進捗バー直上に表示 ===== */
#step-form .lf-step-indicator{ display:flex; align-items:baseline; flex-wrap:wrap; margin-bottom:10px; }
#step-form .lf-step-current{ font-size:1.7rem; font-weight:bold; color:#e8000d; line-height:1.2; letter-spacing:.02em; }
#step-form .lf-step-total{ font-size:1.3rem; font-weight:bold; color:#999; margin-left:2px; }
#step-form .lf-step-name{ font-size:1.3rem; font-weight:bold; color:#333; margin-left:10px; }

/* ===== 媒体テーマ由来(抽出・スコープ済み) ===== */
#step-form .fieldRadio .mwform-radio-field-text {position: relative;
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: bold;
    padding-left: 35px;}
#step-form .fieldRadio .mwform-radio-field-text:before {content: "";
    display: block;
    width: 15px;
    height: 15px;
    background: #fff;
    border: 3px solid #dddddd;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 0;}
#step-form .fieldRadio input:checked~.mwform-radio-field-text:before {background: #ef5153;}
@media only screen and (max-width: 768px) {
  #step-form .fieldRadio .mwform-radio-field-text {padding-left: 25px;}
  #step-form .fieldRadio .mwform-radio-field-text:before {top: 3px;
        border-width: 2px;}
}
#step-form .mwform-radio-field input {display: none;}
#step-form .mwform-radio-field-text {position: relative;
    padding-left: 25px;
    font-size: 1.4rem;
    font-weight: 500;
    padding-right:25px;}
#step-form .mwform-radio-field-text:before {content: '';
    position: absolute;
    width: 15px;
    height: 15px;
    border: 1px solid #000;
    background: #fff;
    border-radius: 50%;
    top: 3px;
    left: 0;}
#step-form .mwform-radio-field-text:after {content: '';
    position: absolute;
    top: 8px;
    left: 5px;
    width: 7px;
    height: 7px;
    background: #000;
    border-radius: 50%;
    opacity: 0;}
#step-form .mwform-radio-field input:checked ~ span::after {opacity: 1;}
#step-form .mwform-radio-field.horizontal-item:not(:first-child) {margin-left: 35px;}
#step-form .mwform-checkbox-field input {display: none;}
#step-form .mwform-checkbox-field-text {position: relative;
    padding-left: 25px;
    font-size: 1.4rem;
    font-weight: 500;
    padding-right:25px;}
#step-form .mwform-checkbox-field-text:before {content: '';
    position: absolute;
    width: 15px;
    height: 15px;
    border: 1px solid #000;
    background: #fff;    
    top: 3px;
    left: 0;}
#step-form .mwform-checkbox-field-text:after {content: '';
    position: absolute;
    width: 5px;
    height: 10px;
    border: 2px solid;
    top: 3px;
    left: 5px;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
    opacity:0;}
#step-form .mwform-checkbox-field input:checked ~ span::after {opacity: 1;}
#step-form .form-layout .mwform-radio-field, #step-form .form-layout .mwform-checkbox-field {width: 33.33%;
    margin-left: 0!important;}
#step-form #row-custom1.form-layout .mwform-checkbox-field {width: auto;}
#step-form #row-custom1.form-layout .mwform-checkbox-field:nth-child(3), #step-form #row-custom1.form-layout .mwform-checkbox-field:nth-child(4) {width: 100%;}
#step-form #row-custom1.form-layout .mwform-checkbox-field:nth-child(2) {margin-left: 45px!important;}
@media screen and (max-width: 768px) {
  #step-form .form-layout .mwform-radio-field, #step-form .form-layout .mwform-checkbox-field {width:100%;}
}
@keyframes mmfadeIn {
    from { opacity: 0; }
      to { opacity: 1; }
}
@keyframes mmfadeOut {
    from { opacity: 1; }
      to { opacity: 0; }
}
@keyframes mmslideIn {
  from { transform: translateY(15%); }
    to { transform: translateY(0); }
}
@keyframes mmslideOut {
    from { transform: translateY(0); }
    to { transform: translateY(-10%); }
}
#step-form .micromodal-slide {display: none;}
#step-form .micromodal-slide.is-open {display: block;}
#step-form .modal__overlay {position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    z-index: 1;
    padding: 20px;
    box-sizing: border-box;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0,0.75);
    text-align: center;
    z-index: 9999;}
#step-form .modal__container {vertical-align: middle;
    position: relative;
    z-index: 2;
    max-width: 600px;
    box-sizing: border-box;
    width: 100%;
    background: #F6F6F4;
    padding: 40px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -o-border-radius: 10px;
    -ms-border-radius: 10px;
    border-radius: 10px;
    -webkit-box-shadow: 0 0 10px #000;
    -moz-box-shadow: 0 0 10px #000;
    -o-box-shadow: 0 0 10px #000;
    -ms-box-shadow: 0 0 10px #000;
    box-shadow: 0 0 10px #000;
    text-align: left;
    display: inline-block;}
#step-form .modal__overlay:before {content: "";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: -0.05em;}
#step-form .modal__close {position: absolute;
    top: -12.5px;
    right: -12.5px;
    display: block;
    width: 30px;
    height: 30px;
    text-indent: -9999px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAA3hJREFUaAXlm8+K00Acx7MiCIJH/yw+gA9g25O49SL4AO3Bp1jw5NvktC+wF88qevK4BU97EmzxUBCEolK/n5gp3W6TTJPfpNPNF37MNsl85/vN/DaTmU6PknC4K+pniqeKJ3k8UnkvDxXJzzy+q/yaxxeVHxW/FNHjgRSeKt4rFoplzaAuHHDBGR2eS9G54reirsmienDCTRt7xwsp+KAoEmt9nLaGitZxrBbPFNaGfPloGw2t4JVamSt8xYW6Dg1oCYo3Yv+rCGViV160oMkcd8SYKnYV1Nb1aEOjCe6L5ZOiLfF120EjWhuBu3YIZt1NQmujnk5F4MgOpURzLfAwOBSTmzp3fpDxuI/pabxpqOoz2r2HLAb0GMbZKlNV5/Hg9XJypguryA7lPF5KMdTZQzHjqxNPhWhzIuAruOl1eNqKEx1tSh5rfbxdw7mOxCq4qS68ZTjKS1YVvilu559vWvFHhh4rZrdyZ69Vmpgdj8fJbDZLJpNJ0uv1cnr/gjrUhQMuI+ANjyuwftQ0bbL6Erp0mM/ny8Fg4M3LtdRxgMtKl3jwmIHVxYXChFy94/Rmpa/pTbNUhstKV+4Rr8lLQ9KlUvJKLyG8yvQ2s9SBy1Jb7jV5a0yapfF6apaZLjLLcWtd4sNrmJUMHyM+1xibTjH82Zh01TNlhsrOhdKTe00uAzZQmN6+KW+sDa/JD2PSVQ873m29yf+1Q9VDzfEYlHi1G5LKBBWZbtEsHbFwb1oYDwr1ZiF/2bnCSg1OBE/pfr9/bWx26UxJL3ONPISOLKUvQza0LZUxSKyjpdTGa/vDEr25rddbMM0Q3O6Lx3rqFvU+x6UrRKQY7tyrZecmD9FODy8uLizTmilwNj0kraNcAJhOp5aGVwsAGD5VmJBrWWbJSgWT9zrzWepQF47RaGSiKfeGx6Szi3gzmX/HHbihwBser4B9UJYpFBNX4R6vTn3VQnez0SymnrHQMsRYGTr1dSk34ljRqS/EMd2pLQ8YBp3a1PLfcqCpo8gtHkZFHKkTX6fs3MY0blKnth66rKCnU0VRGu37ONrQaA4eZDFtWAu2fXj9zjFkxTBOo8F7t926gTp/83Kyzzcy2kZD6xiqxTYnHLRFm3vHiRSwNSjkz3hoIzo8lCKWUlg/YtGs7tObunDAZfpDLbfEI15zsEIY3U/x/gHHc/G1zltnAgAAAABJRU5ErkJggg==');
    border:none;
    background-color:transparent;
    cursor: pointer;}
#step-form #modal-banner-step .modal__container {padding: 0;}
#step-form .c-percentProgress {display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 30px;}
#step-form .c-percentProgress .line {flex:auto;
    height: 6px;
    background: #E0E0E0;
    position: relative;}
#step-form .c-percentProgress .text {font-size: 1.2rem;
    font-weight: bold;
    margin-left:10px;}
#step-form .c-percentProgress .line small {position: absolute;
    background: #005DC5;
    top: -2px;
    left: 0;
    height: 9px;}
#step-form .c-percentProgress .line .circle {width: 19px;
    height: 19px;
    background: #005DC5;
    display: block;
    border-radius: 50%;
    position: absolute;
    top: -50%;
    right: -9px;}
#step-form .stepform-msg {display: flex;
    align-items: flex-start;
    margin-bottom:20px;}
#step-form .stepform-msg .avatar {flex-basis: 72px;
    margin-right: 15px;
    position: relative;
    flex-shrink: 0;}
#step-form .stepform-msg .msg {border: 2px solid #005DC5;
    background: #FFFFFF;
    border-radius: 5px;
    padding: 0;
    padding: 10px 15px;
    position: relative;
    margin-top:15px;}
#step-form .stepform-msg .msg p {margin: 0;
    font-size: 2rem;
    font-weight: bold;
    color: #000;
    line-height: 1.6;}
#step-form .stepform-msg .msg .desc {font-size: 1.4rem;}
#step-form .stepform-msg .msg:before {content: '';
    width: 10px;
    height: 10px;
    position: absolute;
    border: 2px solid #005DC5;
    border-left:none;
    border-bottom:none;
    border-right-color: transparent;
    top: 27px;
    left: 0px;
    transform: translateX(-100%);
    background: linear-gradient(-135deg, #fff 0px, #fff 5px, #005DC5 5px, #005DC5 7px, transparent 7px, transparent 100%);}
#step-form .stepform-msg .msg:after {content:'';
    position:absolute;
    top: 28px;
    left: -2px;
    width: 2px;
    height: 9px;
    background: #fff;
    z-index:1;
    transform: skewY(45deg);}
#step-form .stepform-msg .avatar:after {content: '';
    position: absolute;
    top: 36px;
    right: -15px;
    height: 10px;
    width: 2px;
    background: #005ec5;
    transform: translateX(100%);
    z-index: 2;}
#step-form .c-inputNew {width: 100%;
    height: 50px;
    background: #fff;
    font-size: 1.4rem;
    border: none;
    padding: 0 15px;
    outline: none;}
#step-form .c-inputNew::placeholder {color: #C9C9C9;}
#step-form .c-btn01 {text-align: center;
    width: 250px;
    max-width: 100%;
    display: flex!important;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 50px;
    background: #005dc5;
    color: #fff!important;
    margin: 0 auto;
    transition: all .3s;
    text-decoration: none;
    font-size: 1.4rem;
    border:none;
    outline:none;
    cursor: pointer;}
#step-form .c-btn01:after {content: '';
      width: 100%;
      height: 4px;
      background: #043266;
      position: absolute;
      left: 0;
      bottom: -4px;
      z-index: 0;
      -webkit-transition: all .3s;
      -moz-transition: all .3s;
      -ms-transition: all .3s;
      -o-transition: all .3s;
      transition: all .3s;}
#step-form .c-btn01:hover {transform: translateY(4px);}
#step-form .c-btn01:hover:after {bottom: 0;
      height: 0;}
#step-form .c-btn01 input {position: absolute;
    top: 0;
    left: 0;
    margin: 0 0!important;
    padding: 0 0!important;    
    height: 100%;
    width: 100%;
    z-index:1;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    color:inherit;
    background:inherit;
    outline:none;
    border:none;}
#step-form .c-btn01.c-btn01--gray {background:#888888;
    color:#fff!important;}
#step-form .c-btn01.c-btn01--gray:after {background:#656565;}
#step-form .c-formNew__sub {margin-top:50px;}
#step-form .c-formNew__control {display: flex;
    justify-content: space-between;}
#step-form .c-formNew__control .c-btn01 {width:49%;
    margin:0;}
#step-form .c-formNew__control .c-btn01:only-child {margin:0 auto;}
#step-form .c-optionList {display: flex;
    flex-wrap: wrap;}
#step-form .c-optionList .mwform-checkbox-field, #step-form .c-optionList .mwform-radio-field {width: 32%;
    margin: 0 0 8px;}
#step-form .c-optionList .horizontal-item + .horizontal-item {margin-left:0;}
#step-form .c-optionList .mwform-checkbox-field:not(:nth-child(3n)), #step-form .c-optionList .mwform-radio-field:not(:nth-child(3n)) {margin-right:2%;}
#step-form .c-formNew .mwform-checkbox-field input, #step-form .c-formNew .mwform-radio-field input {display: none;}
#step-form .c-optionList .mwform-checkbox-field label, #step-form .c-optionList .mwform-radio-field label {display: inline-flex;
    height: 100%;
    width: 100%;
    background: #fff;
    border: 1px solid #C6C6C6;
    border-radius: 4px;
    padding: 1px 10px 1px 15px;
    align-items: center;
    min-height: 50px;}
#step-form .c-optionList .mwform-checkbox-field label.is-checked, #step-form .c-optionList .mwform-radio-field label.is-checked {background:#005DC5;
    color:#fff;
    border-color:#005DC5;}
#step-form .c-formNew .mwform-checkbox-field label.is-checked .mwform-checkbox-field-text:before {border-color:#fff;
    background:#005DC5;}
#step-form .c-formNew .mwform-radio-field label.is-checked .mwform-radio-field-text:before {border-color:#fff;
    background:#fff;}
#step-form .c-formNew .mwform-checkbox-field label.is-checked .mwform-checkbox-field-text:after {border-color:#fff;}
#step-form .c-formNew .mwform-checkbox-field-text, #step-form .c-formNew .mwform-radio-field-text {font-size:1.4rem;
    font-weight:500;
    position:relative;
    padding-left:0;
    display: inline-flex;
    align-items: center;
    line-height: 1.28;}
#step-form .c-formNew .mwform-checkbox-field-text:before, #step-form .c-formNew .mwform-radio-field-text:before {content: '';
    width: 15px;
    height: 15px;
    border: 1px solid #000000;
    position: relative;
    background: #fff;
    top: 0;
    left: 0;
    display: inline-block;
    flex-shrink: 0;
    margin-right: 5px;}
#step-form .c-formNew .mwform-radio-field-text:before {border-radius: 50%;}
#step-form .c-formNew .mwform-checkbox-field-text:after {content: '';
    position: absolute;
    top: 50%;
    left: 1px;
    width: 5px;
    height: 9px;
    border: 2px solid #005DC5;
    transform: rotate(45deg) translateY(-50%);
    border-top: none;
    border-left: none;
    opacity: 0;
    margin-top: -3px;}
#step-form .c-formNew .mwform-radio-field-text:after {content:'';
    position:absolute;
    width:9px;
    height:9px;
    background:#005DC5;
    border-radius: 50%;
    top: 50%;
    left: 3px;
    opacity: 0;
    transform:translateY(-50%);}
#step-form .c-formNew .mwform-checkbox-field input:checked ~ span:after {opacity:1;}
#step-form .c-formNew .mwform-radio-field input:checked ~ span:after {opacity:1;}
#step-form .c-formNew .note.note--sm {font-size: 1.2rem;
    margin-top:5px;
    font-weight: 400;}
#step-form .c-formNew .note.note--gray {color:#777777;}
#step-form .c-formNew .note {margin-top:10px;
    font-size: 1.4rem;
    line-height: 1.35;
    font-weight: 500;
    display:block;
    width:100%;}
#step-form .c-textareaNew {width: 100%;
    height: 105px;
    border: none;
    background: #fff;
    font-family: inherit;
    font-size: 1.4rem;
    font-weight: 500;
    padding: 10px 15px;
    outline: none;}
#step-form .c-textareaNew::placeholder {color: #C9C9C9;}
#step-form .c-upload {border: 4px dashed #a9a9a9;
    padding:40px 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;}
#step-form .c-upload__content .upload-button {width: 165px;
    height: 30px;    
    position:relative;
    margin:0 auto;}
#step-form .c-upload__content .upload-button label {position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background: #265cbe;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.4rem;
    font-weight: 500;    
    cursor: pointer;}
#step-form .c-upload__content p {font-size: 1.4rem;
    margin: 0;
    font-weight: bold;
    color: #A1A0A0;}
#step-form .c-upload__photos .photo {display:none;}
#step-form .c-upload__photos input {display: none!important;}
#step-form .c-upload__content .upload-button label .file-input {display: none;}
#step-form .c-upload__content .upload-button label br {display:none;}
#step-form .c-upload__photos {display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width:100%;}
#step-form .c-upload__photos .photo {width: 40%;
    margin: 0 1.5% 3%;
    position: relative;}
#step-form .c-upload__photos .photo .mwform-file-delete {display: none;}
#step-form .c-upload__photos .photo button {height: 18px;
    width: 18px;
    border-radius: 50%;
    font-size: 1.3rem;
    color: #fff;
    background: #a1a1a1;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 7px;
    right: 7px;
    font-weight: bold;
    border:none;
    outline:none;
    cursor: pointer;}
.mw_wp_form.mw_wp_form_confirm #step-form .modal__overlay, #step-form.confirm .modal__overlay {position: static;
    background: transparent;
    box-shadow: none;
    padding:0;}
.mw_wp_form.mw_wp_form_confirm #step-form .modal__overlay:before, #step-form.confirm .modal__overlay:before {display: none;}
.mw_wp_form.mw_wp_form_confirm #step-form .modal__container, #step-form.confirm .modal__container {box-shadow: none;
    margin: 0;
    max-width: 100%;
    padding: 0;}
.mw_wp_form.mw_wp_form_confirm #step-form .modal__close, #step-form.confirm .modal__close {display: none;}
.mw_wp_form.mw_wp_form_confirm #step-form .modal:not(:last-child), #step-form.confirm .modal:not(:last-child) {padding-bottom: 25px;}
.mw_wp_form.mw_wp_form_confirm #step-form .c-percentProgress, #step-form.confirm .c-percentProgress {display:none;}
.mw_wp_form.mw_wp_form_confirm #step-form .stepform-msg, #step-form.confirm .stepform-msg {display:none;}
.mw_wp_form.mw_wp_form_confirm #step-form .c-formNew__sub, #step-form.confirm .c-formNew__sub {display:none;}
.mw_wp_form.mw_wp_form_confirm #step-form .c-formNew .note, #step-form.confirm .c-formNew .note {display:none;}
#step-form .c-formNew .head {font-size: 1.8rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    margin-bottom: 5px;}
#step-form .c-formNew .head .lbl {font-size: 1.2rem;
    color: #fff; 
    min-width: 43px;
    text-align: center;
    padding: 0 5px;
    border-radius: 4px;
    display: inline-block;
    margin-left: 14px;
    background:#dc0000;}
#step-form .c-formNew .head .lbl.option {background: #a9a9a9;}
#step-form .c-formNew .head {display:none;}
.mw_wp_form.mw_wp_form_confirm #step-form .c-formNew .head, #step-form.confirm .c-formNew .head {display:block;}
.mw_wp_form.mw_wp_form_confirm #step-form .c-upload, #step-form.confirm .c-upload {border: none;
    display: block;
    padding: 0;}
.mw_wp_form.mw_wp_form_confirm #step-form .c-upload__photos, #step-form.confirm .c-upload__photos {justify-content: flex-start;}
.mw_wp_form.mw_wp_form_confirm #step-form .c-upload__photos .photo, #step-form.confirm .c-upload__photos .photo {display:block;
    width:18%;
    margin:0 0 2.5%;}
.mw_wp_form.mw_wp_form_confirm #step-form .c-upload__photos .photo:not(.photo--image), #step-form.confirm .c-upload__photos .photo:not(.photo--image) {display:none;}
.mw_wp_form.mw_wp_form_confirm #step-form .c-upload__photos .photo:not(:nth-child(5n)), #step-form.confirm .c-upload__photos .photo:not(:nth-child(5n)) {margin-right:2.5%;}
@media screen and (max-width: 768px) {
  .mw_wp_form.mw_wp_form_confirm #step-form .c-upload__photos, #step-form.confirm .c-upload__photos {margin-left:-2.5%;
        justify-content: center;}
  .mw_wp_form.mw_wp_form_confirm #step-form .c-upload__photos .photo, #step-form.confirm .c-upload__photos .photo {width:28%;
        margin: 0 2.5% 2.5%!important;}
}
.mw_wp_form.mw_wp_form_confirm #step-form .c-upload__content, #step-form.confirm .c-upload__content {display: none;}
.mw_wp_form.mw_wp_form_confirm #step-form .c-upload__photos .photo button, #step-form.confirm .c-upload__photos .photo button {display: none;}
#step-form-control .submitBtn .c-btn01 {margin:0 15px 20px;}
@media screen and (max-width: 768px) {
  #step-form .modal__container {padding: 30px 20px;}
  #step-form .c-percentProgress .line {flex-basis: 85%;}
  #step-form .stepform-msg .msg p {font-size: 1.6rem;}
  #step-form .c-formNew__control {flex-direction: column-reverse;}
  #step-form .c-formNew__control .c-btn01 {width: 100%;}
  #step-form .c-formNew__control .c-btn01:not(:first-child) {margin-bottom: 17px;}
  #step-form .modal__overlay:before {display:none;}
  #step-form .modal__overlay {display:inline-flex;}
  #step-form .modal__container {margin: auto 0;}
  #step-form .c-optionList {flex-direction: column;}
  #step-form .c-optionList .mwform-checkbox-field, #step-form .c-optionList .mwform-radio-field {width:100%;}
  #step-form .stepform-msg .msg .desc {font-size: 1.2rem;}
  #step-form-control .submitBtn .c-btn01 {width: 100%;}
  #step-form-control .submitBtn .c-btn01:not(:first-child) {margin-bottom: 17px;}
}
@media screen and (max-width: 768px) {
  #step-form .c-optionList .mwform-checkbox-field, #step-form .c-optionList .mwform-radio-field {margin-bottom: 6px;}
  #step-form .c-optionList .mwform-checkbox-field label, #step-form .c-optionList .mwform-radio-field label {min-height: 40px;}
}
#step-form #modal-3 .c-formNew__sub {margin-top: 22px;}
#step-form .c-formTable .head {flex-basis: 200px;
    background: #EFEFEF;
    font-weight: bold;
    flex-shrink: 0;}
#step-form .c-formTable .row:not(:last-child) {border-bottom: 1px solid #F6F6F4;}
#step-form .c-formTable .row {display: flex;}
#step-form .c-formTable .row > * {padding: 20px;}
#step-form .c-photoGallery {display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: -3%;}
#step-form .c-photoGallery .photo {width: 48.5%;
    margin-bottom: 3%;}
#step-form .c-formTable .row dd {flex:auto;
    background:#fff;}
#step-form .c-formTable .row dd .note {color: #E00000;
    margin: 1rem 0;
    line-height: 1.5;}
@media screen and (max-width: 768px) {
  #step-form .c-formTable .head {font-size: 14px;}
  #step-form .c-formTable .row > * {padding: 10px;
        flex-basis: 120px;}
  #step-form .c-formTable .row dd {flex: auto;}
  #step-form .c-formTable dd {font-size: 14px;}
  #step-form .c-formTable .row .photo {width: 100%;
        margin-bottom: 15px;}
  #step-form .c-photoGallery {margin-bottom: -15px;}
}
#step-form .c-formNew__policy {margin-top: 25px;}
#step-form .c-formNew__policy-box {border: 1px solid #D9D9D9;
    background: #fff;
    height: 140px;
    overflow-y: auto;
    padding: 15px;}
#step-form .c-formNew__policy-box p {margin: 0;
    font-size: 14px;
    line-height: calc(19/14);}
#step-form .c-formNew__policy-checkbox {text-align: center;
    font-size: 14px;
    margin-top: 15px;}
#step-form .c-formNew__policy .mwform-checkbox-field-text:before {background: #fff!important;
    border-color: #181818!important;}
#step-form .c-formNew__policy .mwform-checkbox-field-text:after {border-color: #181818!important;
    margin-top: -2px!important;
    left: 1.5px!important;}
#step-form .c-formNew__control #exec_step.c-btn01 {display: none!important;}
#step-form .c-formNew__policy-head {text-align: center;
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 15px;}
#step-form .c-formNew__policy-content {display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 20px;}
#step-form .c-formNew__policy-content dd {font-size: 14px;
    margin: 0;
    line-height: calc(19/14);}
#step-form .c-formNew__policy-content dt {margin: 0;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;}
#step-form .c-formNew__policy-content dd ol {background: transparent;
    padding: 0;
    font-size: inherit;
    margin: 0;
    padding-left: 15px;
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 10px;}
#step-form .c-formNew__policy-content dd ol li {font-size: inherit;
    padding: 0;
    color: inherit;
    line-height: inherit;}
#step-form .c-formNew__policy-content dd ul {background: transparent;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 8px;}
#step-form .c-formNew__policy-content dd > ol ul, #step-form .c-formNew__policy-content dd > ul ol {padding-left: 10px;
    margin-top: 6px;}
