 #mailformWrap #fm_form input.check_policy {
   width: 10%;
 }
 #mailformWrap #fm_form input.check_policy {
   width: 10%;
 }
 #mailformWrap #fm_form input.check_policy {
   width: 10%;
 }
 #mailformWrap #fm_form input.check_policy {
   width: 10%;
 }

 #form_attention {
   margin-bottom: 50px;
 }
 #form_attention .copy {
   font-size: 18px;
 }
 #form_attention .caption {
   font-size: 15px;
   margin: 0 auto 1em;
 }
 #form_attention .note {
   font-family: "FOT-筑紫ゴシック Pro B";
   font-size: 16px;
   color: #c23520;
   letter-spacing: .05em;
   line-height: 2;
   font-weight: 600;
   text-align: center;
   border: 2px solid #c23520;
   border-left: none;
   border-right: none;
   padding: .5em 0em;
 }
 @media only screen and (max-width: 767px) {
   #form_attention {
     width: 86%;
     margin: auto;
     margin-bottom: 30px;
   }
   #form_attention .copy {
     font-size: 16px;
   }
   #form_attention .caption {
     font-size: 14px;
     text-align: justify;
     margin: 0 auto 1em;
   }
   #form_attention .note {
     font-size: 15px;
     padding: .5em 0em;
     text-align: justify;
   }
 }
 @media only screen and (max-width: 767px) {
   #mailformWrap {
     width: 92%;
     margin: auto;
   }
 }
 #mailformWrap #fm_form dl {
   text-align: left;
   display: flex;
   justify-content: space-between;
   flex-wrap: wrap;
 }
 #mailformWrap #fm_form dl dt, #mailformWrap #fm_form dl dd {
   font-family: "FOT-筑紫ゴシック Pr5 M";
   font-size: 16px;
   letter-spacing: .015em;
   line-height: 1.8;
   padding: 20px 0 20px 0px;
   box-sizing: border-box;
 }
 #mailformWrap #fm_form dl dt {
   border-bottom: 2px solid #004f74;
   width: 220px;
   font-family: "FOT-筑紫ゴシック Pro B";
   font-weight: 500;
   display: flex;
   justify-content: space-between;
   flex-wrap: wrap;
   align-items: center;
   padding-left: 15px;
 }
 #mailformWrap #fm_form dl dt span.required {
   background: #c23520;
   color: #fff;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-wrap: wrap;
   font-size: 12px;
   line-height: 1;
   padding: .25em .5em;
   display: inline-flex;
   border-radius: 5px;
 }
 #mailformWrap #fm_form dl dd {
   border-bottom: 2px solid rgba(179, 175, 174, 0.5);
   width: calc(100% - 220px);
   padding-left: 20px;
 }
 #mailformWrap #fm_form dl.sub dt, #mailformWrap #fm_form dl.sub dd {
   font-family: "FOT-筑紫ゴシック Pr5 M";
   font-size: 15px;
   padding: 15px 0 15px 0px;
 }
 #mailformWrap #fm_form dl.sub dt {
   border-bottom: 1px solid rgba(179, 175, 174, 0.5);
   width: 70px;
   padding-left: 0x;
 }
 #mailformWrap #fm_form dl.sub dd {
   border-bottom: 1px solid rgba(179, 175, 174, 0.5);
   width: calc(100% - 70px);
   padding-left: 20px;
 }
 #mailformWrap #fm_form dl.sub:nth-of-type(1) {
   margin-top: -10px;
 }
 #mailformWrap #fm_form dl.sub:last-child {
   margin-bottom: -10px;
 }
 #mailformWrap #fm_form dl.sub:last-child dt, #mailformWrap #fm_form dl.sub:last-child dd {
   border-bottom: none;
 }
 @media only screen and (max-width: 767px) {
   #mailformWrap #fm_form dl dt, #mailformWrap #fm_form dl dd {
     font-size: 14px;
     line-height: 1.8;
     padding: 0;
   }
   #mailformWrap #fm_form dl dt {
     width: 100%;
     padding: 1em 0 .5em;
     padding-right: .25em;
     letter-spacing: .075em;
   }
   #mailformWrap #fm_form dl dt span.required {
     font-size: 12px;
     padding: .25em .5em;
     border-radius: 5px;
   }
   #mailformWrap #fm_form dl dd {
     width: 100%;
     padding: 1em 0 1em;
     border-bottom: none;
   }
   #mailformWrap #fm_form dl.sub dt, #mailformWrap #fm_form dl.sub dd {
     font-size: 14px;
     padding: 10px 0 10px 0px;
   }
   #mailformWrap #fm_form dl.sub dt {
     width: 80px;
     padding-left: 0px;
   }
   #mailformWrap #fm_form dl.sub dd {
     width: calc(100% - 80px);
     padding-left: 0px;
   }
   #mailformWrap #fm_form dl.sub:nth-of-type(1) {
     margin-top: -10px;
   }
   #mailformWrap #fm_form dl.sub:last-child {
     margin-bottom: -10px;
   }
   #mailformWrap #fm_form dl.sub:last-child dt, #mailformWrap #fm_form dl.sub:last-child dd {
     border-bottom: none;
   }
 }
 #mailformWrap #fm_form button, #mailformWrap #fm_form input, #mailformWrap #fm_form select, #mailformWrap #fm_form textarea {
   background: #fff;
   border: none;
   border-radius: 6px;
   outline: 0;
   padding: .75em .75em;
   box-sizing: border-box;
   font-family: "FOT-筑紫ゴシック Pr5 M" !important;
   font-size: 16px;
   letter-spacing: .015em;
   line-height: 1.8;
 }
 #mailformWrap #fm_form.single {
   margin: 0;
 }
 #mailformWrap #fm_form.wide input {
   width: 30rem;
 }
 #mailformWrap #fm_form.narrow input {
   width: 5rem;
 }
 #mailformWrap #fm_form input {
   width: 22rem;
 }
 #mailformWrap #fm_form input:not(:last-child) {
   margin-right: .25em;
 }
 #mailformWrap #fm_form input::placeholder {
   color: #9a9a9a;
 }
 #mailformWrap #fm_form input:focus {
   background: #fff !important;
 }
 #mailformWrap #fm_form input:focus::placeholder {
   opacity: 0;
 }
 #mailformWrap #fm_form input#female, #mailformWrap #fm_form input#male {
   width: auto;
   margin: 0;
   padding: 0;
 }
 #mailformWrap #fm_form select {
   width: 12rem;
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
 }
 #mailformWrap #fm_form textarea {
   width: 100%;
   height: 250px;
 }
 #mailformWrap #fm_form dd.short textarea {
   height: 150px;
 }
 #mailformWrap #fm_form.agree {
   margin: 50px 0 0;
   position: relative;
 }
 #mailformWrap #fm_form.agree p {
   padding: 0 0 10px 0;
   margin: 35px 0 0 0;
   font-size: 12px;
 }
 #mailformWrap #fm_form.agree label {
   font-size: 16px;
   font-weight: 600;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-wrap: wrap;
 }
 #mailformWrap #fm_form.original {
   display: none;
 }
 #mailformWrap #fm_form.check {
   margin: 0;
   padding: 0 0 0 2em;
   position: relative;
   display: block;
 }
 #mailformWrap #fm_form.check::before {
   content: "";
   display: block;
   position: absolute;
   top: .25em;
   left: 0;
   width: 20px;
   height: 20px;
   border: 1px solid #999;
   border-radius: 2px;
   background: #dadada;
 }
 #mailformWrap #fm_form.check + .mfp_err {
   top: 37px;
 }
 #mailformWrap #fm_form .original:checked + .check {
   color: #c23520;
 }
 #mailformWrap #fm_form .original:checked + .check::after {
   content: "";
   display: block;
   position: absolute;
   top: -2px;
   left: 5px;
   width: 10px;
   height: 20px;
   transform: rotate(40deg);
   border-bottom: 3px solid #c23520;
   border-right: 3px solid #c23520;
 }
 @media only screen and (max-width: 767px) {
   #mailformWrap #fm_form button, #mailformWrap #fm_form input, #mailformWrap #fm_form select, #mailformWrap #fm_form textarea {
     border-radius: 6px;
     font-size: 14px;
     padding: .75em .75em;
   }
   #mailformWrap #fm_form.wide input {
     width: 100%;
   }
   #mailformWrap #fm_form.narrow input {
     width: 100%;
   }
   #mailformWrap #fm_form input {
     width: 100%;
   }
   #mailformWrap #fm_form input:not(:last-child) {
     margin-right: 0em;
     margin-bottom: .5em;
   }
   #mailformWrap label {
     width: 100%;
   }
   #mailformWrap #fm_form select {
     width: 100%;
   }
   #mailformWrap #fm_form textarea {
     width: 100%;
     height: 150px;
   }
   #mailformWrap #fm_form dd.short textarea {
     height: 100px;
   }
   #mailformWrap #fm_form.agree {
     margin: 30px 0 0;
   }
   #mailformWrap #fm_form.agree p {
     padding: 0 0 0px 0;
     margin: 35px auto 0;
     font-size: 12px;
     text-align: justify;
     width: 86%;
   }
   #mailformWrap #fm_form.agree label {
     font-size: 16px;
   }
   #mailformWrap #fm_form.original {
     display: none;
   }
   #mailformWrap #fm_form.check {
     padding: 0 0 0 1.75em;
     text-align: left;
     width: 86%;
   }
   #mailformWrap #fm_form.check::before {
     top: .4em;
     left: 0;
     width: 16px;
     height: 16px;
     border-radius: 2px;
   }
   #mailformWrap #fm_form.check + .mfp_err {
     top: auto;
     width: 86%;
     margin-inline: auto;
   }
   #mailformWrap #fm_form .original:checked + .check::after {
     top: 0px;
     left: 5px;
     width: 8px;
     height: 16px;
     border-bottom: 2px solid #c23520;
     border-right: 2px solid #c23520;
   }
 }
 #mailformWrap #fm_form #submit {
   margin: 30px auto 0;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-wrap: wrap;
 }
 #mailformWrap #fm_form #submit li.send {
   display: flex;
   justify-content: center;
   align-items: center;
   flex-wrap: wrap;
   width: 520px;
   height: 80px;
   position: relative;
   cursor: pointer;
   transition: all .4s;
   /*&::before{ content: "送信内容を確認する"; color: $mCW; font-size: 22px; font-weight: 500; letter-spacing: .04em; font-family: $jpG; padding-top: 0; @include center;}*/
 }
 #mailformWrap #fm_form #submit li.send input {
   width: 100% !important;
   height: 100% !important;
   background: #004f74 !important;
   /*background-image:url(../img/form_img/bt_confirm_on.png)!important;*/
   border: none !important;
   margin-right: 0;
   filter: drop-shadow(2.5px 2.5px 8px rgba(0, 0, 0, 0.1));
   color: #f8f7f2;
   opacity: 1;
   cursor: pointer;
   border-radius: 0;
   font-size: 22px;
   font-weight: 500;
   letter-spacing: .04em;
   font-family: "FOT-筑紫ゴシック Pr5 M";
   /*&:hover{ opacity:1; transition: opacity .25s ease-in;}*/
 }
 #mailformWrap #fm_form #submit li.send input.cantclick {
   /* background:url(../img/form_img/bt_confirm_off.png) no-repeat!important; */
   cursor: not-allowed !important;
   opacity: .35;
   pointer-events: none;
 }
 #mailformWrap #fm_form #submit li.send .arw {
   right: 25px;
   transition: all .4s;
 }
 #mailformWrap #fm_form #submit li.send .arw::before, #mailformWrap #fm_form #submit li.send .arw::after {
   width: 3px;
   height: 12px;
 }
 #mailformWrap #fm_form #submit li.send .arw::before {
   top: calc(100% - .025em);
 }
 #mailformWrap #fm_form #submit li.send .arw::after {
   bottom: calc(100% - .025em);
 }
 #mailformWrap #fm_form #submit li.send:hover {
   opacity: .8;
 }
 #mailformWrap #fm_form #submit li.send:hover .arw {
   right: 20px;
 }
 @media only screen and (max-width: 767px) {
   #mailformWrap #fm_form #submit {
     margin: 30px auto 0;
   }
   #mailformWrap #fm_form #submit li.send {
     width: 90%;
     height: 80px;
     margin: auto;
   }
   #mailformWrap #fm_form #submit li.send input {
     filter: drop-shadow(2.5px 2.5px 8px rgba(0, 0, 0, 0.1));
   }
   #mailformWrap #fm_form #submit li.send .arw {
     right: 25px;
     transition: all .4s;
   }
   #mailformWrap #fm_form #submit li.send .arw::before, #mailformWrap #fm_form #submit li.send .arw::after {
     width: 2px;
     height: 10px;
   }
   #mailformWrap #fm_form #submit li.send .arw::before {
     top: calc(100% - .025em);
   }
   #mailformWrap #fm_form #submit li.send .arw::after {
     bottom: calc(100% - .025em);
   }
   #mailformWrap #fm_form #submit li.send:hover .arw {
     right: 20px;
   }
   #mailformWrap #fm_form #submit li.send::before {
     font-size: 20px;
   }
 }
 #mailformWrap #fm_form.thanks {
   min-height: 150px;
   margin: 75px 0 0 0;
   padding: 25px 20px;
   background-image: url(../img/common_img/hr_dot_large.png), url(../img/common_img/hr_dot_large.png);
   background-position: right top, right bottom;
   background-repeat: no-repeat, no-repeat;
 }
 #mailformWrap #fm_form.thanks span {
   font-size: 2.357rem;
   line-height: 2.5rem;
   color: #c7b299;
   font-weight: 700;
   text-align: left !important;
 }
 #mailformWrap #fm_form.mfp_err {
   min-height: 14px;
   text-align: center;
   margin: 0px 0 0 0;
   padding: 0px 0px 0px 16px;
   color: #d85134;
   font-size: 13px;
   line-height: 1.5;
   display: none;
   background-image: url("../../images/common/ic_caution.png");
   background-size: 13px;
   background-repeat: no-repeat;
   background-position: 0 4px;
   position: absolute;
 }
 @media only screen and (max-width: 767px) {
   #mailformWrap #fm_form.mfp_err {
     min-height: 14px;
     text-align: left;
     margin: 3px 0 0 0;
     padding: 0px 0px 0px 16px;
     font-size: 12px;
     background-size: 12px;
     position: relative;
   }
 }
 @media only screen and (max-width: 767px) {
   #errorcntblock {
     top: 88px !important;
     right: 0px !important;
   }
 }
 #form_thanks {
   padding: 50px 0 100px;
 }
 #form_thanks .catch {
   text-align: center;
   letter-spacing: .2em;
   margin-bottom: 1em;
 }
 #form_thanks .en {
   font-size: 22px;
   color: #bcb37a;
   margin-bottom: 1.5em;
 }
 #form_thanks .read {
   text-align: center;
   font-size: 17px;
 }
 #form_thanks .read::before {
   content: "";
   display: block;
   width: 50px;
   height: 1px;
   background: #bcb37a;
   margin: 0 auto 1.5em;
 }
 @media only screen and (max-width: 767px) {
   #form_thanks {
     padding: 20px 10% 0px;
   }
   #form_thanks .catch {
     letter-spacing: .2em;
     margin-bottom: 1em;
   }
   #form_thanks .en {
     font-size: 15.5px;
     margin-bottom: 1.5em;
   }
   #form_thanks .read {
     text-align: justify;
     font-size: 14px;
   }
   #form_thanks .read::before {
     width: 50px;
     height: 1px;
     margin: 0 auto 1.5em;
   }
 }
 /******* 西牟田追加     **********/
 /*.is_err {
    background-color: rgb(255, 225, 225);
}*/
 .is_err .err:not(:empty) {
   color: #A30505;
   position: relative;
   padding-left: 1.6em;
   font-size: 90%;
   margin-top: 5px;
 }
 @keyframes tenmetsu {
   0% {
     opacity: 0.2;
   }
   100% {
     opacity: 1;
   }
 }
 .is_err .err:not(:empty)::before {
   content: "";
   width: 1em;
   height: 1em;
   background-image: url(../img/warning-icon.svg);
   background-size: contain;
   background-repeat: no-repeat;
   display: block;
   position: absolute;
   left: 0;
   top: 2px;
   animation: 0.2s alternate tenmetsu ease-in-out infinite;
 }
 /* フォーカス時（入力時）*/
 .fmry_form input:focus {
   background-color: rgb(255, 245, 214);
   border-color: rgb(255, 153, 0);
 }
 /* 必須項目のブロック */
 .fmry_form_require input, .fmry_form_require select {
   background-color: rgb(255, 238, 238);
 }
 /* エラーがあった場合の入力フィールド */
 #fm_form .fmry_form .error_input {
   border: 2px solid red;
 }
 #fm_form .fmry_form .error_input[type=checkbox] + label, #fm_form .fmry_form .error_input[type=radio] + label {
   background-color: rgb(255, 238, 238);
 }
 #fm_form dt {
   width: 220px;
   float: left;
   letter-spacing: 1px;
   font-weight: bold;
   margin-bottom: 32px;
 }
 #fm_form .required {
   padding: 3px;
   vertical-align: text-bottom;
   color: #FFF;
   background-color: #BE3030;
   font-size: 11px;
   border-radius: 4px;
   margin: 0px 5px;
   float: right;
 }
 #fm_form dd {
   padding: 0 0 30px 250px;
   letter-spacing: 1px;
   margin-bottom: 32px;
   border-bottom: 1px dashed #CCC;
   width: 600px;
 }
 #fm_form input[type=text], #fm_form input[type=number], #fm_form input[type=email], #fm_form input[type=date], #fm_form input[type=tel] {
   padding: 10px;
   border: 1px solid #ccc;
   margin-bottom: 5px;
 }
 #fm_form textarea {
   width: 100%;
   height: 300px;
   padding: 10px;
   border: 1px solid #ccc;
   box-sizing: border-box;
   ;
 }
 .before_text:not(:empty) {
   margin-right: 10px;
 }
 .fm_check_box div span {
   white-space: nowrap;
   margin-right: 10px;
   line-height: 1.8em;
 }
 h2 {
   background: transparent url(../img/h2_02.gif) no-repeat scroll 0% 0%;
   width: 920px;
   height: 40px;
   display: block;
   overflow: hidden;
   margin-bottom: 5px;
   font-size: 16px;
   padding-left: 165px;
   line-height: 40px;
 }
 /*loading*/
 .loadingdiv {
   position: fixed;
   top: 0px;
   left: 0px;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.8);
   z-index: 100;
 }
 .loadingdiv::after {
   content: url(../img/loading.gif);
   position: absolute;
   top: 50%;
   left: 50%;
   -webkit-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
 }
 .uploaded_box {
   margin-top: 10px;
   display: grid;
   grid-template-columns: 33% 33% 33%;
 }
 .uploaded_box > div {
   box-sizing: border-box;
   width: 100%;
   padding: 5px;
   position: relative;
   margin-left: calc(10% / 2);
   margin-top: 10%;
 }
 .uploaded_box > div > img {
   width: 100%;
 }
 .uploaded_box > div > button {
   border: none;
   cursor: pointer;
   outline: none;
   padding: 0;
   appearance: none;
   position: absolute;
   width: 24px;
   height: 24px;
   top: 5px;
   right: 5px;
   background-color: red;
   line-height: 24px;
   text-align: center;
   border-radius: 50%;
 }
 .uploaded_box > div > button::after {
   content: "\2716";
   color: #fff;
   font-size: 18px;
 }
 .ui-datepicker-calendar .fm_sun > a {
   background-color: #ffbebe;
 }
 .ui-datepicker-calendar .fm_sat > a {
   background-color: #b6daff;
 }
 .ui-datepicker-calendar .fm_hol > a {
   background-color: #ffb4b4;
 }
 .ui-datepicker-unselectable.fm_hol > span {
   background-color: #ffb4b4e0;
   border: 1px solid #ffb4b4;
 }
 span.require {
   background: #c23520;
   color: #fff;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-wrap: wrap;
   font-size: 12px;
   line-height: 1;
   padding: .25em .5em;
   display: inline-flex;
   border-radius: 5px;
 }
 #mailformWrap #fm_form .submit li.send button {
   width: 100% !important;
   height: 100% !important;
   background: #004f74 !important;
   /*background-image:url(../img/form_img/bt_confirm_on.png)!important;*/
   border: none !important;
   margin-right: 0;
   filter: drop-shadow(2.5px 2.5px 8px rgba(0, 0, 0, 0.1));
   color: #f8f7f2;
   opacity: 1;
   cursor: pointer;
   border-radius: 0;
   font-size: 22px;
   font-weight: 500;
   letter-spacing: .04em;
   font-family: "FOT-筑紫ゴシック Pr5 M";
   /*&:hover{ opacity:1; transition: opacity .25s ease-in;}*/
 }
 #mailformWrap #fm_form #submit li.send input.cantclick {
   /* background:url(../img/form_img/bt_confirm_off.png) no-repeat!important; */
   cursor: not-allowed !important;
   opacity: .35;
   pointer-events: none;
 }
 #mailformWrap #fm_form .submit li.send {
   /* display: flex;*/
   justify-content: center;
   align-items: center;
   flex-wrap: wrap;
   width: 520px;
   height: 80px;
   position: relative;
   cursor: pointer;
   transition: all .4s;
   margin-top: 30px;
 }
 @media only screen and (max-width: 767px) {
   #mailformWrap #fm_form .submit li.send {
     /* display: flex;*/
     justify-content: center;
     align-items: center;
     flex-wrap: wrap;
     width: 90%;
     height: 80px;
     position: relative;
     cursor: pointer;
     transition: all .4s;
     margin-top: 30px;
   }
   #mailformWrap #fm_form input.check_policy {
     width: 10%;
   }
 }
 #mailformWrap #fm_form .submit li.send02 {
   display: flex; /* ← liにflexを指定！ */
   gap: 20px; /* ボタン間の間隔 */
   justify-content: center; /* （任意）中央寄せ */
 }
 #mailformWrap #fm_form .submit li.send02 button {
   *width: 20%;*/
   height: 100%;
   background: #004f74;
   border: none;
   color: #f8f7f2;
   font-size: 22px;
   font-weight: 500;
   letter-spacing: .04em;
   font-family: "FOT-筑紫ゴシック Pr5 M";
   cursor: pointer;
   border-radius: 0;
   filter: drop-shadow(2.5px 2.5px 8px rgba(0, 0, 0, 0.1));
 }
 #mailformWrap #fm_form .submit li.send .arw {
   right: 25px;
   transition: all .4s;
 }
 .arw {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   z-index: 10;
   line-height: 0;
   height: 0;
 }
 i {
   font-style: normal;
 }
 #contact-attention2 {
   margin-top: 20px;
 }
 #agreebox {
   font-size: 120%;
 }
 /* 年齢欄だけの幅を変更（PC版のみ） */
 @media only screen and (min-width: 768px) {
   #mailformWrap #fm_form dd.fm_num_line input[type="number"] {
     width: 6rem;
   }
 }
 
@media screen and (max-width: 768px) {
  p.err {
    color: #A30505; !important;
  }
}
