@charset "utf-8";
/*
Theme Name: contact-form-common-style
Author: airily
Version: 1.0
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-weight: inherit;
    font-style: inherit;
    font-size: 100%;
    font-family: inherit;
    vertical-align: baseline;
}

:focus {
    outline: 0;
}

a,
a:link,
a:visited,
a:hover,
a:active {
    text-decoration: none
}

table {
    border-collapse: separate;
    border-spacing: 0;
}

th,
td {
    text-align: left;
    font-weight: normal;
}

img,
iframe {
    border: none;
    text-decoration: none;
}

/*ol, ul{list-style:none;}*/
input,
textarea,
select,
button {
    font-size: 100%;
    font-family: inherit;
}

select {
    margin: inherit;
}

hr {
    margin: 0;
    padding: 0;
    border: 0;
    color: #000;
    background-color: #000;
    height: 1px
}


.mb10,
h1.mb10,
h2.mb10,
h3.mb10,
h4.mb10,
p.mb10,
table.mb10,
th.mb10,
td.mb10,
ul.mb10,
li.mb10 {
    margin-bottom: 10px;
}

.mb15,
h1.mb15,
h2.mb15,
h3.mb15,
h4.mb15,
p.mb15,
table.mb15,
th.mb15,
td.mb15,
ul.mb15,
li.mb15 {
    margin-bottom: 15px;
}

.mb20,
h1.mb20,
h2.mb20,
h3.mb20,
h4.mb20,
p.mb20,
table.mb20,
th.mb20,
td.mb20,
ul.mb20,
li.mb20 {
    margin-bottom: 20px;
}

.mb25,
h1.mb25,
h2.mb25,
h3.mb25,
h4.mb25,
p.mb25,
table.mb25,
th.mb25,
td.mb25,
ul.mb25,
li.mb25 {
    margin-bottom: 25px;
}

.mb30,
h1.mb30,
h2.mb30,
h3.mb30,
h4.mb30,
p.mb30,
table.mb30,
th.mb30,
td.mb30,
ul.mb30,
li.mb30 {
    margin-bottom: 30px;
}

.mb40,
h1.mb40,
h2.mb40,
h3.mb40,
h4.mb40,
p.mb40,
table.mb40,
th.mb40,
td.mb40,
ul.mb40,
li.mb40 {
    margin-bottom: 40px;
}


/*************************

*************************/
.clearfix {
    zoom: 1;
}

.clearfix:after {
    content: " ";
    display: block;
    clear: both;
    font-size: 1px;
    height: 0;
    visibility: hidden;
}

/*************************

*************************/
body {
    font-family: "メイリオ", Meiryo, Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    line-height: 1.61;
    border: none;
}

form {
    padding: 2%;
    /*font-size: 13px;*/
}

form:after {
    content: " ";
    display: block;
    clear: both;
    font-size: 1px;
    height: 0;
    visibility: hidden;
}

form dl {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    font-size: 13px;
    align-items: center;
}

form dl:last-of-type {
    align-items: flex-start;
}

form dl:last-of-type dt {
    padding-top: 25px;
}

form dt {
    width: 27%;
    padding-bottom: 10px;
}

form dd {
    width: 73%;
    padding-bottom: 10px;
}

@media only screen and (max-width: 767px) {
    form dl {
        display: block;
    }

    form dt,
    form dd {
        width: 100%;
    }
}


dd input,
dd textarea {
    width: 95%;
}

input[type="date"] {
    width: 60%;
    max-width: 300px;
}

input[type="submit"] {
    max-width: 100px;
    cursor: pointer;
}

form p {
    text-align: left;
}

form p.tac {
    text-align: center;
}

p.grtxt {
    color: rgb(127, 127, 127);
}

.mb-10:first-child {
    margin-bottom: 10px;
}

.width50 {
    margin: 0 10px 0 10px;

}

.width50 span input {
    width: 50px;
    height: 16px;
    margin: 0;
}

.flex {
    display: flex;
}


span.wpcf7-list-item {
    display: block !important;
}

span.wpcf7-list-item input {
    width: auto;
}

.radio .wpcf7-list-item.first {
    margin-bottom: 10px;
}

.mas {
    align-items: center;
    margin-left: 20px;
}

dd.tmt_weekly span.wpcf7-form-control.wpcf7-checkbox {
    display: flex;
}

@media screen and (max-width: 767px) {
    dd.tmt_weekly .wpcf7-list-item {
        margin: 0 0 0 0.2em;
    }
}

/*202512*/
/* iPhone のズーム防止：すべてのフォーム要素を16px固定 */
/*@media only screen and (max-width: 599px) {*/
@media only screen and (max-width: 767px) {

    /* CF7 入力欄すべて */
    .wpcf7 input,
    .wpcf7 textarea,
    .wpcf7 select,
    form dl {
        font-size: 16px !important;
    }

    form p {
        font-size: 16px !important;
    }

    input,
    textarea,
    select {
        min-height: 40px;
        /* Android拡大防止 */
        touch-action: manipulation;
    }
}

/* 追加：ズーム防止（2025対応） */
input,
textarea,
select {
    font-size: 16px !important;
    min-height: 40px;
    /* ← Android の拡大防止 */
    touch-action: manipulation;
}

.inner {
    width: 90%;
    max-width: 850px;
    margin: 5rem auto 5rem;
}

.inner .txt {
    text-align: center;
    margin-bottom: 5rem;
}

@media only screen and (max-width: 767px) {
    .inner {
        padding-left: 20px;
        padding-right: 20px;
    }
    .inner .txt {
    text-align: left;
    }
}