@charset "UTF-8";
/*----------------------------
  共通
-----------------------------*/
body {
    font-family: "Noto Sans JP", sans-serif !important;
}
.header {
    position: sticky !important;
}
main {
    padding-top: 0 !important;
}
.sp {
    display: none;
}
a[href^="tel:"] {
    pointer-events: none;
    color: #303030;
}
/* ====== トップ画面 ====== */
section {
    min-width: 1140px;
}
.mv_block {
    max-width: 1230px;
    min-width: 1140px;
    width: 100%;
    margin: 0 auto 50px;
    text-align: center;
    height: 268px;
    display: flex;
    flex-flow: wrap;
    justify-content: space-around;
    align-items: center;
    background-image: url(../img/bg-mv_pc.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: auto 100%;
}
.mv_block.ota {
    background-image: url(../img/bg-mv02_pc.png);
}
.mv_block h1 {
    line-height: 1;
    font-size: 40px;
    font-weight: bold;
    color: #525252;
    background-color: rgba(255, 255, 255, 0.7);
    padding: 45px 85px;
}
.fm_block {
    max-width: 1140px;
    margin: 0 auto 100px;
    padding: 0 20px;
}
.fm_block p {
    font-size: 21px;
    font-weight: 500;
    margin-bottom: 20px;
    line-height: 1.5;
}
.fm_block p:nth-child(2) {
    margin-bottom: 15px;
}
.fm_block p:nth-child(2) span {
    display: inline-block;
}
.fm_block p.sm {
    font-size: 18px;
    margin-bottom: 45px;
}
.fm_block.thx p {
    margin-bottom: 0;
}
span.hiss {
    color: #fff;
    background: #2e3795;
    padding: 2px 10px 5px;
    font-weight: normal;
    font-size: 16px;
    display: inline-block;
    line-height: 1;
    border-radius: 3px;
    float: right;
}
form {
    text-align: center;
}
.tbl-r02 {
    width: 100%;
    margin-bottom: 45px;
}
.tbl-r02, .tbl-r02 td, .tbl-r02 th {
    border: 1px #b3b2b3 solid;
    text-align: left;
}
.tbl-r02 th {
    line-height: 1.5;
    background-color: #e8e8e8;
    width: 300px;
    text-align: left;
    padding: 15px 20px !important;
    font-size: 19px;
    color: #000;
    font-weight: bold;
}
.tbl-r02 th.pp01 {
    text-align: center;
}
.tbl-r02 td {
    background: #fff;
    padding: 15px;
    line-height: 2;
    font-size: 19px;
}
.tbl-r02 td span {
    display: inline-block;
}
.tbl-r02 td span.txt.bx {
    display: block;
}
.tbl-r02 td span.txt.bx.ctn {
    font-size: 17px;
    font-weight: 500;
    line-height: 1.3;
    margin-top: -1px;
    margin-bottom: 3px;
}
.tbl-r02 td a {
    color: #2e3795;
    text-decoration: underline;
}
.tbl-r02 td a:hover {
    opacity: 0.8;
}
.tbl-r02 td.pp02 {
    text-align: center;
}
.tbl-r02 td.pp02 p {
    padding: 0;
    margin-bottom: 10px;
    font-size: 21px;
}
.tbl-r02 td.pp02 label {
    font-size: 21px;
    display: inline-block;
    vertical-align: top;
    padding-right: 0;
}
input[type="submit"],
input#form-submit {
    width: 225px;
    height: 80px;
    background-color: #ff7600;
    outline: none;
    border: none;
    border-radius: 10px;
    color: #fff;
    font-size: 24px;
    background-image: url(../img/btn_org.png);
    background-size: 100% auto;
    background-position: top 5px left 0;
    background-repeat: no-repeat;
    padding: 0 25px 0 0;
}
input[type="submit"]:hover,
input#form-submit:hover {
    opacity: 0.8;
}
.fm_block.cfm .btn input[type="submit"] {
    display: block;
}
.fm_block.cfm .btn input[type="submit"]:last-child {
    background-color: #999999;
    background-image: url(../img/btn_grey.png);
    margin-top: 20px;
}
input[type="reset"], input[type="button"] {
    padding: 5px 30px;
    font-size: 18px;
    line-height: 1;
    display: block;
    margin: 0 auto;
}
.tbl-r02 td select.w01 {
    width: 200px;
    background-color: #fff !important;
}
.tbl-r02 td input[type="tel"].w02, .tbl-r02 td input[type="text"].w02 {
    width: 100px;
}
.tbl-r02 td input[type="email"], .tbl-r02 td input[type="text"], .tbl-r02 td textarea, .tbl-r02 td select {
    border: 2px solid #b8b8b8;
    padding: 8px;
    line-height: 1.5;
}
.tbl-r02 td input[type="email"]:focus, .tbl-r02 td input[type="text"]:focus, .tbl-r02 td textarea:focus, .tbl-r02 td select:focus {
    border: 2px solid #000;
    border-radius: 0;
    outline: none;
}
/* ====== チェックボックス ====== */
.tbl-r02 td input[type="checkbox"] {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.tbl-r02 td input[type="checkbox"] {
    cursor: pointer;
    padding-left: 35px;
    vertical-align: middle;
    position: relative;
}
.tbl-r02 td input[type="checkbox"]::before, .tbl-r02 td input[type="checkbox"]::after {
    content: "";
    display: block;
    position: absolute;
}
.tbl-r02 td input[type="checkbox"]::before {
    background-color: #fff;
    border-radius: 0%;
    border: 2px solid #b8b8b8;
    width: 24px;
    height: 24px;
    transform: translateY(-50%);
    top: 50%;
    left: 5px;
}
.tbl-r02 td input[type="checkbox"]::after {
    border-bottom: 4px solid #2e3795;
    border-left: 4px solid #2e3795;
    opacity: 0;
    height: 10px;
    width: 15px;
    transform: rotate(-45deg);
    top: -8px;
    left: 10px;
}
.tbl-r02 td input[type="checkbox"]:checked::after {
    opacity: 1;
}
.tbl-r02 td label {
    padding-right: 5px;
}
.tbl-r02 + p {
    margin-bottom: 60px;
    text-align: left;
}
.tbl-r02 + p.ota {
    text-align: center;
}
.tbl-r02 + p a {
    color: #000;
    text-decoration: underline;
}
/* ====== 不備画面 ====== */
.fm_block.err p:first-child {
    color: #dc3232;
    margin-bottom: 40px;
    font-weight: bold;
}
.fm_block.err p.ctn {
    color: #dc3232;
    padding-top: 5px;
    margin-bottom: -5px;
    font-weight: bold;
}
.fm_block.err p.ctn span {
    display: inline-block;
}
.fm_block.err .tbl-r02 td span.txt + p.ctn {
    padding-top: 0;
}
.fm_block.err .tbl-r02 td.pp02 p {
    color: #282828;
    font-weight: normal;
    margin-bottom: 10px;
}
.fm_block.err .tbl-r02 td.pp02 p.ctn {
    color: #dc3232;
    font-weight: bold;
    text-align: center;
    margin-bottom: 5px;
    padding-top: 0;
}
/* ====== 確認画面 ====== */
.fm_block.cfm p:first-child {
    margin-bottom: 40px;
}
.fm_block.cfm .tbl-r02 td {
    line-height: 1.5;
    padding: 20px 15px;
}
.fm_block.cfm .tbl-r02 tr:last-child td {
    padding: 20px 15px 25px;
}
/*----------------------------
  レスポンシブ
-----------------------------*/
@media screen and (max-width: 820px) {
    .tbl-r02 th, .tbl-r02 td {
        border: none;
        display: block;
        width: 100%;
    }
    .tbl-r02 th {
        padding: 10px;
    }
    .tbl-r02 td {
        padding: 10px 0 25px;
    }
    a[href^="tel:"] {
        pointer-events: auto;
        text-decoration: underline !important;
    }
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
    section {
        min-width: auto;
    }
    .mv_block {
        max-width: none;
        min-width: auto;
        margin: 0 auto 40px;
        height: 243px;
        background-image: url(../img/bg-mv_sp.png);
        background-size: 100% 243px;
    }
    .mv_block.ota {
        background-image: url(../img/bg-mv02_sp.png);
    }
    .mv_block h1 {
        font-size: 6.5vw;
        color: #fff;
        padding: 0;
        background: none;
    }
    .tbl-r02, .tbl-r02 td, .tbl-r02 th {
        border: none;
    }
    .tbl-r02 th {
        font-size: 24px;
        line-height: 1.2;
        padding: 11px 20px 13px !important;
    }
    .tbl-r02 td {
        font-size: 22px;
    }
    .tbl-r02 td span.txt {
        display: block;
        line-height: 1.3;
        padding-top: 8px;
    }
    .tbl-r02 td input[type="email"], .tbl-r02 td input[type="text"], .tbl-r02 td textarea {
        width: 100%;
    }
    .tbl-r02 td select.w01 {
        width: 250px;
    }
    .tbl-r02 td input[type="checkbox"] {
        padding-left: 40px;
    }
    .tbl-r02 td input[type="checkbox"]::before {
        width: 32px;
        height: 32px;
    }
    .tbl-r02 td input[type="checkbox"]::after {
        border-bottom: 5px solid #2e3795;
        border-left: 5px solid #2e3795;
        height: 15px;
        width: 20px;
        top: -11px;
        left: 11px;
    }
    .tbl-r02 td.pp02 label {
        vertical-align: inherit;
    }
    span.hiss {
        font-size: 21px;
        line-height: 1;
        padding: 5px 10px 6px;
    }
    .tbl-r02 td input[type="tel"].w02, .tbl-r02 td input[type="text"].w02 {
        width: 25%;
    }
    .fm_block p {
        font-size: 24px;
    }
    .fm_block p:nth-child(2) {
        font-size: 25px;
    }
    .fm_block p.sm {
        font-size: 22px;
    }
    .tbl-r02 {
        margin-bottom: 25px;
    }
    .tbl-r02 th.pp01 {
        text-align: left;
    }
    .tbl-r02 th.pp01 span.box {
        display: inline-block;
        width: calc(100% - 82px);
    }
    .tbl-r02 th.pp01 span.box span {
        display: inline-block;
    }
    .tbl-r02 td.pp02 p {
        font-size: 22px;
        text-align: left;
    }
    .tbl-r02 td.pp02 p br {
        display: none;
    }
    .tbl-r02 td.pp02 label {
        vertical-align: top;
        font-size: 24px;
        padding-left: 5px;
    }
    .tbl-r02 + p {
        margin-bottom: 50px;
        text-align: left;
        font-size: 22px;
    }
    .fm_block.err p.ctn {
        font-size: 24px;
    }
    .fm_block.err .tbl-r02 td.pp02 p.ctn {
        margin-bottom: 0;
        padding-top: 5px;
    }
    .fm_block.cfm .tbl-r02 td, .fm_block.cfm .tbl-r02 tr:last-child td {
        line-height: 1.5;
        padding: 10px 20px 30px;
    }
    .tbl-r02 + p.ota {
        text-align: left;
    }
}
@media screen and (max-width: 750px) {
    .mv_block {
        background-size: auto 100%;
    }
}
@media screen and (max-width: 668px) {
    .fm_block p {
        font-size: 22px;
    }
    .fm_block p:nth-child(2) {
        font-size: 23px;
    }
    .fm_block p.sm {
        font-size: 19px;
    }
    .fm_block.err p.ctn {
        font-size: 22px;
    }
}
@media screen and (max-width: 640px) {
    input[type="reset"], input[type="button"] {
        font-size: 16px;
    }
}
@media screen and (max-width: 568px) {
    .mv_block h1 {
        font-size: 7.5vw;
    }
    .fm_block p {
        font-size: 21px;
    }
    .fm_block p:nth-child(2) {
        font-size: 22px;
    }
    .tbl-r02 td.pp02 p {
        font-size: 21px;
    }
    .tbl-r02 + p {
        font-size: 21px;
    }
    .tbl-r02 td {
        font-size: 21px;
    }
    .fm_block.err p.ctn {
        font-size: 21px;
    }
}
@media screen and (max-width: 430px) {
    .tbl-r02 td {
        font-size: 18px;
    }
    input[type="reset"], input[type="button"] {
        font-size: 15px;
    }
    .fm_block {
        margin: 0 auto 60px;
    }
    .fm_block p {
        font-size: 18px;
    }
    .fm_block p:nth-child(2) {
        font-size: 20px;
    }
    .fm_block p.sm {
        font-size: 16px;
    }
    .tbl-r02 th {
        font-size: 20px;
        padding: 10px 15px 12px !important;
    }
    span.hiss {
        font-size: 18px;
        padding: 2px 10px 5px;
    }
    .tbl-r02 td.pp02 p {
        font-size: 18px;
        margin-bottom: 15px;
    }
    .tbl-r02 td.pp02 label {
        font-size: 20px;
    }
    .tbl-r02 {
        margin-bottom: 0;
    }
    .tbl-r02 + p {
        font-size: 18px;
        margin-bottom: 35px;
    }
    .fm_block.err p.ctn {
        font-size: 18px;
    }
    .fm_block.err .tbl-r02 td.pp02 p {
        margin-bottom: 15px;
    }
    .fm_block.cfm .tbl-r02 td, .fm_block.cfm .tbl-r02 tr:last-child td {
        padding: 10px 15px 30px;
    }
    input[type="submit"],
    input#form-submit {
        height: 70px;
        background-position: top 0 left 0;
    }
    .mv_block.ota h1 {
        font-size: 9vw;
    }
}
@media screen and (max-width: 390px) {
    .mv_block {
        height: 200px;
        margin: 0 auto 30px;
    }
    .fm_block p.sm {
        margin-bottom: 35px;
    }
    .tbl-r02 td.pp02 p {
        font-size: 16px;
    }
    .tbl-r02 + p {
        font-size: 16px;
        margin-bottom: 25px;
    }
    .fm_block.err p:first-child, .fm_block.cfm p:first-child {
        margin-bottom: 30px;
    }
}
@media screen and (max-width: 375px) {
    .fm_block p {
        margin-bottom: 10px;
    }
    .fm_block p:nth-child(2) {
        margin-bottom: 10px;
    }
    .tbl-r02 th {
        font-size: 18px;
        padding: 10px 10px 12px !important;
    }
    span.hiss {
        font-size: 16px;
        padding: 3px 10px 5px;
    }
    .tbl-r02 td span.txt {
        font-size: 16px;
    }
    .tbl-r02 td span.txt.bx.ctn {
        font-size: 15px;
    }
    .tbl-r02 + p {
        margin-bottom: 30px;
    }
    .tbl-r02 td.pp02 label {
        font-size: 19px;
        padding-left: 3px;
    }
    .fm_block.cfm .tbl-r02 td, .fm_block.cfm .tbl-r02 tr:last-child td {
        padding: 8px 10px 20px;
    }
    .fm_block.cfm .btn {
        margin-top: 15px;
    }
    input[type="submit"],
    input#form-submit {
        width: 200px;
        background-position: top 5px left 0;
        padding: 0 20px 0 0;
    }
}
@media screen and (max-width: 320px) {
    .mv_block {
        height: 180px;
    }
}
@media screen and (max-width: 280px) {
    .fm_block {
        padding: 0 10px;
    }
    .fm_block p {
        font-size: 16px;
    }
    .fm_block p:nth-child(2) {
        font-size: 17px;
    }
    .tbl-r02 th.pp01 span.box {
        width: calc(100% - 62px);
    }
    .fm_block.err p.ctn {
        font-size: 16px;
    }
}