#form_box,
#form_box * {
box-sizing: border-box;
max-width: 100%;
}
#form_box {
font-size: 1.5rem;
}
#form_box select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
#form_box dl:not(:is(.privacypolicy > *)) {
border-radius: 1rem;
border: 1px solid #ccc;
overflow: hidden;
}
#form_box dl:not(:is(.privacypolicy > *)) + dl {
margin-top: 2rem;
}
#form_box dl:not(:is(.privacypolicy > *)) dt,
#form_box dl:not(:is(.privacypolicy > *)) dd {
padding: 1rem;
margin-left: 0 !important;
font-size: .7em;
}
@media only screen and (max-width: 480px) {
#form_box dl:not(:is(.privacypolicy > *)) dt,
#form_box dl:not(:is(.privacypolicy > *)) dd {
padding: 1rem;
margin-left: 0 !important;
font-size: .6em;
}
}
@media only screen and (min-width: 641px) {
#form_box dl:not(:is(.privacypolicy > *)) dt,
#form_box dl:not(:is(.privacypolicy > *)) dd {
display: flex;
justify-content: center;
flex-direction: column;
gap: .5rem;
}
}
#form_box dl:not(:is(.privacypolicy > *)) dd.two-columns {
display: grid;
grid-template: auto / auto;
gap: 1rem;
}
@media only screen and (min-width: 641px) {
#form_box dl:not(:is(.privacypolicy > *)) dd.two-columns {
grid-template: auto / repeat(2, 1fr);
}
}
@media only screen and (min-width: 769px) {
#form_box dl:not(:is(.privacypolicy > *)).dl_f {
display: flex;
justify-content: flex-start;
}
#form_box dl:not(:is(.privacypolicy > *)).dl_f dt {
width: 30%;
flex-shrink: 0;
}
#form_box dl:not(:is(.privacypolicy > *)).dl_f dd {
width: 70%;
flex-grow: 0;
}
}
#form_box dl:not(:is(.privacypolicy > *)) dt {
background:#eee;
}
#form_box dl:not(:is(.privacypolicy > *)) dd {
background: white;
display: flex;
justify-content: center;
flex-direction: column;
gap: .5rem;
}
#form_box dl:not(:is(.privacypolicy > *)) dd.flex-center {
flex-direction: row;
display: flex;
align-items: center;
}
#form_box dl:not(:is(.privacypolicy > *)) dd.nowrap {
flex-wrap: nowrap;
}
#form_box dl:not(:is(.privacypolicy > *)) dd div[data-class="wpcf7cf_group"] {
margin-top: 1rem;
}
#form_box dl:not(:is(.privacypolicy > *)) dd .wpcf7-form-control-wrap {
margin: 0;
}
#form_box .wpcf7-list-item {
margin: 0;
}
#form_box dl:not(:is(.privacypolicy > *)) dd.buttons span.wpcf7-radio,
#form_box dl:not(:is(.privacypolicy > *)) dd.buttons span.wpcf7-checkbox {
display: grid;
grid-template: auto / auto;
gap: 1rem;
}
@media only screen and (min-width: 641px) {
#form_box dl:not(:is(.privacypolicy > *)) dd.buttons.buttons2 span.wpcf7-radio,
#form_box dl:not(:is(.privacypolicy > *)) dd.buttons.buttons2 span.wpcf7-checkbox {
grid-template: auto / repeat(2, 1fr);
}
#form_box dl:not(:is(.privacypolicy > *)) dd.buttons.buttons3 span.wpcf7-radio,
#form_box dl:not(:is(.privacypolicy > *)) dd.buttons.buttons3 span.wpcf7-checkbox {
grid-template: auto / repeat(3, 1fr);
}
#form_box dl:not(:is(.privacypolicy > *)) dd.buttons.buttons2.cardnumber span.last {
grid-column: 1 / 3;
}
}
#form_box label {
display: -webkit-flex;
display: flex;
-webkit-justify-content: center;
justify-content: center;
-webkit-align-items: center;
align-items: center;
gap: .5rem;
font-size: .9em;
padding: 1rem 2rem;
border: 1px solid #ccc;
box-sizing: border-box;
border-radius: 6px;
line-height: 1.3;
color: #555;
cursor: pointer;
box-shadow: 0 0 3px #dedede;
transition: all .3s ease-in-out;
background: linear-gradient(180deg, rgba(255,255,255,1) 66%, rgba(241,241,241,1) 97%);
}
#form_box label:hover {
transition: all .3s ease-in-out;
border-color: #aaa;
box-shadow: inset 0 0 3px #dedede;
background: linear-gradient(0deg, rgba(255,255,255,1) 66%, rgba(241,241,241,1) 97%);
color: #333;
}
#form_box label:has(input:checked),
#form_box label:has(input:checked):hover {
color: white;
background: #999;
font-weight: bold;
border-color: transparent !important;
}
#form_box .w-50 {
width: 50% !important;
}
#form_box .w-100 {
width:100% !important;
}
#form_box input:is([type="button"], [type="text"], [type="search"], [type="tel"], [type="url"], [type="email"], [type="password"], [type="number"]), 
#form_box textarea, #form_box select,
#form_box button {
padding: .5rem;
border: 1px solid #ccc;
width: 100%;
}
#form_box input,
#form_box button,
#form_box select {
margin: 0;
transition: all .2s ease-in-out;
color: #555;
outline: 0;
}
#form_box input:focus,
#form_box select:focus {
border-color: #888 !important;
color: #333;
background: #f8f8f8;
}
#form_box span.birth1 {
display: inline-block;
}
#form_box input.birth {
width: 4rem;
margin-inline: .5rem;
}
#form_box span.birth1 select {
margin-inline: .5rem;
background: white;
}
#form_box span.birth1,
#form_box span.birth3 {
margin-left: -.5rem;
}
#form_box span.birth2 input.birth {
width: 6rem;
}
#form_box input.p-postal-code,
#form_box input.tel {
width: 5rem !important;
margin-inline: .5rem !important;
}
@media only screen and (max-width: 480px) {
#form_box input.p-postal-code,
#form_box input.tel {
width: 4rem;
margin-inline: .4rem;
}
}
#form_box input.ketsuatsu,
#form_box input.tonyo {
width: 4rem !important;
}
#form_box input.tonyo {
margin-right: 4px;
}
#form_box span.zip2 input.p-postal-code {
width: 7rem !important;
}
#form_box  input.shokai {
width: 100%;
margin-right: 4px;
}
#form_box input.smoke {
width: 3rem;
margin-inline: .5rem;
}
#form_box .wpcf7-form-control-wrap:has(input.smoke) {
display: inline;
}
#form_box div[data-class="wpcf7cf_group"]:has(input.smoke) {
text-align: center;
}
#form_box input.birth,
#form_box input.tel,
#form_box input.p-postal-code,
#form_box input.smoke {
text-align: center;
}
#form_box .address-flex {
display: flex;
flex-direction: column;
gap: .5rem;
}
#form_box input[type="radio"],
#form_box input[type="checkbox"] {
display: none;
}
input[type=checkbox]+span {

}
#form_box dl:not(:is(.privacypolicy > *)) dd.dd-tel > div {
display: grid;
grid-template: auto / auto;
gap: .5rem;
}
@media only screen and (min-width: 641px) {
#form_box dl:not(:is(.privacypolicy > *)) dd.dd-tel > div {
grid-template: auto / auto 1fr;
}
}
#form_box input.tel {
margin-inline: .5rem;
}
#form_box dl:not(:is(.privacypolicy > *)) dd.dd-tel > div > span:nth-of-type(odd) {
text-align: left;
}
@media only screen and (max-width: 640px) {
#form_box dl:not(:is(.privacypolicy > *)) dd.dd-tel > div > span:nth-of-type(even) {
/*text-align: center;*/
}
}
@media only screen and (min-width: 641px) {
#form_box dl:not(:is(.privacypolicy > *)) dd.dd-tel > div > span:nth-of-type(odd) {
text-align: right;
display: flex;
justify-content: flex-end;
align-items: center;
}
}
#form_box dl:not(:is(.privacypolicy > *)).required dt::after {
content: "\FF3B\5FC5\9808\FF3D";
font-feature-settings: "palt" 1;
color: red;
font-size: 90%;
padding-inline: .3rem;
}

.wpcf7-form-control-wrap:has(*:is(.tel,.birth,.p-postal-code)) {
display: inline-block;
}

#form_box h2.border {
text-align: center;
font-size: 1.2rem;
margin-block: 2rem;
}
#form_box h2.border span {
display: inline-block;
padding: 0 !important;
}

#form_box .wpcf7 .ajax-loader {
display: block;
}

#form_box input[type="submit"],
#form_box input[type="button"],
#form_box button {
color:white;
}
.wpcf7-submit, .wpcf7-back, .wpcf7-confirm, #form_box button, #form_box input[type="button"] {
margin: 0 10px;
text-align: center;
display: inline-block;
min-width: 220px;
padding: 15px 20px;
-webkit-transition: all .3s;
transition: all .3s;
border: none;
background-color: #8a8a8a;
color: #fff;
line-height: 1.4;
font-size: 1.6rem;
cursor: pointer;
}
.wpcf7-submit:focus, .wpcf7-back:focus, .wpcf7-confirm:focus, #form_box button:focus, #form_box input[type="button"]:focus {
color: white;
background-color: #777;
}
#confirmation-screen, #thanks-screen {
display: none;
}
.wpcf7 .ajax-loader {
display: none !important;
}
.text-center {
margin-top: 1rem;
text-align: center;
}

#form_box.confirm span:has(span.cf7msm-ro:empty) {
display: none;
}

#form_box.confirm dl dd {
display: flex;
justify-content: center;
align-items: flex-start;
}
#form_box.confirm dl dd div {
text-align: left;
display: block;
width: 100%;
margin: 0;
}
#form_box.confirm dl dd.dd-tel {
justify-content: center;
align-items: flex-start;
}
@media only screen and (min-width: 641px) {
#form_box.confirm dl dd.dd-tel {
display: grid;
grid-template: auto auto / auto auto;
justify-content: start;
}
#form_box.confirm dl dd.dd-tel > span:nth-of-type(odd) {
text-align: right;
}
}

#form_box .wpcf7-form-control-wrap {
display: inline-block;
}

#form_box .wpcf7-spinner {
display: none !important;
}


#form_box .adjusted-error .wpcf7-not-valid-tip {
display: none;
}
#form_box .adjusted-error .error-message {
color: red;
display: none;
}
#form_box .adjusted-error:has(.wpcf7-not-valid-tip) .error-message {
display: block;
}
#form_box span.withblank {
display: block;
}
#form_box span.withblank:has(span.blank:empty),
#form_box dl:has(.conf-address:empty),
#form_box dl:has(.shinsatsu-number:empty) {
display: none;
}
#form_box span.block {
display: block;
}

#form_box .wpcf7-not-valid-tip + .wpcf7-not-valid-tip {
display: none;
}

#form_box .postal-code-comment {
display: block;
font-size: .7em;
margin-top: 4px;
}
#form_box .postal-code-comment.mt-0 {
margin-top: 0 !important;
}

#form_box .privacypolicy {
font-feature-settings: "palt" 1;
padding: 2.4rem;
border: 1px solid #ccc;
background: white;
margin-block: 3rem;
border-radius: 1rem;
counter-reset: number 0;
}
#form_box .privacypolicy h3 {
font-size: 150%;
text-align: center;
margin-bottom: 2rem;
}
#form_box .privacypolicy p:not(:first-of-type),
#form_box .privacypolicy dl {
margin-top: 1rem;
margin-left: 0 !important;
}
#form_box .privacypolicy dl dt {
padding: .5rem 1.5rem;
margin-bottom: 1rem
}

#form_box .privacypolicy dl dt {
background: #eee;
border-radius: .5rem;
font-weight: bold;
}
#form_box .privacypolicy p,
#form_box .privacypolicy dl dd {
text-align: justify;
margin-left: 0 !important;
}
#form_box .privacypolicy dl dt::before {
counter-increment: number 1;
content: counter(number) ".";
margin-right: 4px;
}
#form_box .privacypolicy dl dd:not(:last-of-type) {
margin-bottom: 2rem;
margin-left: 0 !important;
}
#form_box .inline-block {
display: inline-block;
}


#form_box span.wpcf7-form-control-wrap[data-name="birth3"] input,
#form_box input[name="tel1-1"],
#form_box input[name="tel2-1"],
#form_box input[name="tel3-1"],
#form_box input[name="tel4-1"] {
margin-left: 0 !important;
}


#form_box [data-class="wpcf7cf_group"] input {
width: 100%;
margin-top: 8px;
}
#form_box [data-class="wpcf7cf_group"] .wpcf7-form-control-wrap:not(:has(input[name="zip1"])):not(:has(input[name="zip2"])) {
width: 100%;
}

#form_box .privacypolicy {
font-size: .7em;
}

#form_box input.wpcf7-form-control.wpcf7-previous {
margin-left: auto !important;
width: 220px !important;
margin-right: auto;
}

@media only screen and (max-width: 480px) {
#form_box dl:not(:is(.privacypolicy > *)) dd:has(input.shokai) {
justify-content: flex-start;
}
#form_box span[data-name="shokai"] {
width: 90%;
}
#form_box span:has(span[data-name="shokai"]) {
width: max-content;
display: flex;
justify-content: flex-start;
align-items: center;
gap: 4px;
}
}

#wpadminbar {
display: none !important;
}



@media only screen and (min-width: 481px) {
#form_box .sp {
display: none;
}
}


@media only screen and (max-width: 480px) {
input {
border-radius: 0;
line-height: normal;
}
}
#form_box [data-class="wpcf7cf_group"] .wpcf7-form-control-wrap[data-name="ketsuatsu-max"],
#form_box [data-class="wpcf7cf_group"] .wpcf7-form-control-wrap[data-name="ketsuatsu-min"],
#form_box [data-class="wpcf7cf_group"] .wpcf7-form-control-wrap[data-name="HbA1c"] {
width: max-content;
}
#form_box [data-class="wpcf7cf_group"] .wpcf7-form-control-wrap[data-name="disease-past"] {
margin-top: 4px;
}

.grecaptcha-badge {
margin-bottom:0;
bottom: 110px !important;
}
@media only screen and (max-width: 480px) {
.grecaptcha-badge {
bottom: 160px !important;
}
}


#form_box label:has(.checkmust) {
display: flex;
justify-content: center;
align-items: center;
gap: 8px;
/* border: 3px solid red; */
background: transparent !important;
font-weight: bold;
color: red;
width: max-content;
margin: auto;
box-shadow: none !important;
border: 0 !important;
padding: 0 !important;
}
#form_box label:has(.checkmust):hover {
opacity: .8;
color: red !important;
background: transparent !important;
}

#form_box label:has(.checkmust:checked) {
color: #067D3A !important;
}

#form_box label:has(.checkmust:checked):hover {
color: #067D3A !important;
}

#form_box label input[type="checkbox"].checkmust {
  appearance: none;
  position: relative;
  width: 20px;
  height: 20px;
  border: 2px solid red !important;
	box-sizing: border-box;
  border-radius: 2px;
  cursor: pointer;
	display: block;
	background: white;
}

#form_box label input[type="checkbox"].checkmust:checked {
  background-color: #067D3A !important;
	border-color: #067D3A !important;
}

#form_box label input[type="checkbox"].checkmust:checked::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 1px;
  width: 12px;
  height: 6px;
  border-bottom: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  transform: rotate(-45deg);
}

span.inline-block {
color: inherit;
font-size: inherit;
font-family: inherit;
display: inline-block;
}

p.introduce.last {
font-size: 15px;
margin-bottom: 0;
}


#form_box [data-class="wpcf7cf_group"] .wpcf7-form-control-wrap:has(span[data-name="HbA1c"]) {
width: max-content !important;
}