@media screen and (min-width: 769px), print {
  img {
    width: 100%;
    height: auto;
  }
  body {
    background: url(../img/bg.png) center/100% 100% no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    background-attachment: fixed;
  }
  .container {
    overflow: hidden;
    max-width: 466px;
    margin: 0 auto;
  }
  .show_sp {
    display: none !important;
  }
  .row {
    max-width: 466px;
    width: 100%;
    margin: 0 auto;
    padding-left: 15.5px;
    padding-right: 15.5px;
  }
  .header {
    text-align: center;
    padding: 21.7px 0;
    background-color: #fff;
  }
  .header img {
    display: inline-block;
    width: 318.68px;
  }
  .cta_fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 99;
    background-color: #fff;
    padding: 6.2px;
    font-size: 0;
  }
  .cta_fixed .cta_fixed_tt {
    text-align: center;
    margin-bottom: -27.9px;
  }
  .cta_fixed .cta_fixed_tt img {
    width: 386.26px;
  }
  .cta_fixed ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .cta_fixed ul li {
    width: -webkit-calc((100% - 6.2px) / 2);
    width: -moz-calc((100% - 6.2px) / 2);
    width: calc((100% - 6.2px) / 2);
  }
  .cta_fixed ul li a {
    display: block;
  }
  .cta_fixed ul .cta_fixed_tel {
    position: relative;
  }
  .cta_fixed ul .cta_fixed_tel span {
    position: absolute;
    font-size: 25.42px;
    font-weight: 900;
    line-height: 1;
    top: 21.7px;
    left: 37.2px;
  }
  .footer {
    background-color: #333;
    padding: 9.3px;
  }
  .footer p {
    font-size: 9.3px;
    text-align: center;
    color: #fff;
    font-weight: 500;
  }
  .box_l {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    width: -webkit-calc(50% - 233px);
    width: -moz-calc(50% - 233px);
    width: calc(50% - 233px);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100vh;
    text-align: center;
  }
  .box_l_inner {
    height: 367px;
    padding-left: 10px;
    padding-right: 10px;
    width: 100%;
  }
  .box_l .box_ctn {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 100%;
  }
  .box_l .box_l_logo {
    display: inline-block;
    width: 352px;
    width: 58.66667%;
    margin-bottom: 2.33333%;
  }
  .box_l .fig {
    display: inline-block;
    width: 83.33333%;
    max-width: 100%;
    margin-bottom: 14px;
  }
  .box_l .cta_pc {
    position: relative;
    width: 531px;
    display: inline-block;
    max-width: 100%;
  }
  .box_l .cta_pc ul {
    width: 100%;
    position: absolute;
    bottom: 10px;
    left: 0;
  }
  .box_l .cta_pc ul li {
    text-align: center;
  }
  .box_l .cta_pc ul li + li {
    margin-top: 5px;
  }
  .box_l .cta_pc ul li a {
    display: inline-block;
    width: 343px;
    -webkit-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    transition: opacity 0.3s;
    max-width: 65%;
  }
  .box_l .cta_pc ul li a:hover img {
    opacity: 1;
  }
  .box_l .cta_pc ul li .cta_tel_pc {
    position: relative;
  }
  .box_l .cta_pc ul li .cta_tel_pc span {
    font-size: 34px;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
       -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
  }
}

@media screen and (min-width: 769px) and (max-width: 1480px) and (min-width: 769px) {
  .box_l .cta_pc ul li .cta_tel_pc span {
    font-size: -webkit-calc(min(1.6vw, 26px));
    font-size: -moz-calc(min(1.6vw, 26px));
    font-size: calc(min(1.6vw, 26px));
  }
}

@media only screen and (min-width: 769px) and (max-width: 900px) {
  .box_l .cta_pc ul li .cta_tel_pc span {
    font-size: -webkit-calc(min(1vw, 16px));
    font-size: -moz-calc(min(1vw, 16px));
    font-size: calc(min(1vw, 16px));
  }
}

@media screen and (min-width: 769px), print {
  .box_r {
    width: 100%;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 99;
    width: -webkit-calc(50% - 233px);
    width: -moz-calc(50% - 233px);
    width: calc(50% - 233px);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
       -moz-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: end;
       -moz-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    height: 100vh;
  }
  .box_r figure {
    max-width: 90%;
    width: 639px;
  }
  main {
    background-color: #fff;
  }
  .p_top .mv figure img, .p_top .mv picture img {
    display: block;
    width: 100%;
    height: auto;
  }
  .p_top .cta_wr {
    background: url(../img/cta_bg.png) center bottom no-repeat;
    -moz-background-size: 100% auto;
         background-size: 100% auto;
    padding-bottom: 74.4px;
    margin-top: -198.4px;
    position: relative;
    z-index: 2;
  }
  .p_top .cta_wr.st2 {
    padding: 74.4px 0 68.2px;
    margin-top: 0;
    background: none;
  }
  .p_top .cta {
    position: relative;
  }
  .p_top .cta .cta_btn {
    position: absolute;
    left: 50%;
    bottom: 210.8px;
    -webkit-transform: translateX(-50%);
       -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100%;
    width: 406.72px;
  }
  .p_top .cta .cta_btn a {
    display: block;
    -webkit-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .p_top .cta .cta_btn a + a {
    margin-top: 12.4px;
  }
  .p_top .cta .cta_btn a:hover img, .p_top .cta .cta_btn a:hover span {
    opacity: 1;
  }
  .p_top .cta .cta_btn .cta_tel {
    position: relative;
  }
  .p_top .cta .cta_btn .cta_tel span {
    position: absolute;
    top: 24.8px;
    left: 68.82px;
    color: #333;
    font-size: 43.4px;
    font-weight: 900;
    line-height: 1;
  }
  .p_top .blk01 {
    background: url(../img/blk01_bg.png) repeat-y;
    -moz-background-size: 100% auto;
         background-size: 100% auto;
    text-align: center;
    padding: 74.4px 0 99.2px;
    margin-top: -124px;
  }
  .p_top .blk01 h2 {
    text-align: center;
    position: relative;
    z-index: 3;
    margin-bottom: 6.2px;
  }
  .p_top .blk01 h2 img {
    width: 355.88px;
  }
  .p_top .blk01 .fig1 {
    display: inline-block;
    margin-left: 32.86px;
    width: 419.12px;
  }
  .p_top .blk01 .fig2 {
    display: inline-block;
    width: 410.44px;
    margin-top: 102.92px;
  }
  .p_top .blk02 {
    margin-top: -54.56px;
    margin-left: -29.14px;
    margin-right: -14.88px;
  }
  .p_top .blk03 {
    padding: 40.3px 0;
  }
  .p_top .blk03 h2 {
    position: relative;
    text-align: center;
    margin-bottom: 62px;
  }
  .p_top .blk03 h2 img {
    width: 399.9px;
    display: inline-block;
  }
  .p_top .blk03 ul li + li {
    margin-top: 24.8px;
  }
  .p_top .blk04 h2 {
    line-height: 0;
  }
  .p_top .blk04 ul {
    background-color: #1695D4;
    padding: 0 21.7px;
  }
  .p_top .blk04 ul li figure {
    position: relative;
    -webkit-transform: translateZ(0);
       -moz-transform: translateZ(0);
            transform: translateZ(0);
  }
  .p_top .blk04 ul li figure figcaption {
    position: absolute;
    text-align: right;
  }
  .p_top .blk04 ul li figure figcaption.st1 {
    font-size: 165.54px;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    bottom: 0px;
    left: 159.34px;
  }
  .p_top .blk04 ul li figure figcaption.st2 {
    font-size: 102.92px;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    bottom: 9.3px;
    left: 86.8px;
  }
  .p_top .blk04 ul li figure figcaption.st3 {
    font-size: 165.54px;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    bottom: 31px;
    left: 173.6px;
  }
  .p_top .blk04 ul li figure figcaption.st4 {
    font-size: 165.54px;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    bottom: 0px;
    left: 167.4px;
  }
  .p_top .blk04 ul li p {
    font-size: 18.6px;
    line-height: 37.2px;
    color: #fff;
    font-weight: 500;
    margin-top: 18.6px;
  }
  .p_top .blk04 ul li + li {
    margin-top: 55.8px;
  }
  .p_top .blk05 {
    padding-bottom: 124px;
    text-align: center;
    background: url(../img/blk05_bg.png) center bottom no-repeat;
    -moz-background-size: 100% auto;
         background-size: 100% auto;
    position: relative;
    -webkit-transform: translateZ(0);
       -moz-transform: translateZ(0);
            transform: translateZ(0);
  }
  .p_top .blk05::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 50%;
    background: #1695D4;
    display: block;
    z-index: -1;
  }
  .p_top .blk05 ul {
    background-color: #FFF000;
    padding-top: 31px;
  }
  .p_top .blk05 ul li {
    text-align: center;
  }
  .p_top .blk05 ul li:not(:last-child) {
    margin-bottom: 37.2px;
  }
  .p_top .blk05 ul li img {
    display: inline-block;
    width: 406.72px;
  }
  .p_top .blk05 figure {
    margin-top: 68.2px;
  }
  .p_top .blk06 h2 {
    margin-bottom: 12.4px;
    margin-left: -31px;
    margin-right: -12.4px;
  }
  .p_top .blk07 {
    background: url(../img/blk01_bg.png) center/100% 100% no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    padding: 49.6px 0;
    text-align: center;
  }
  .p_top .blk07 figure {
    display: inline-block;
    width: 411.68px;
  }
  .p_top .blk07 h2 {
    margin-bottom: 6.2px;
    text-align: center;
    margin-bottom: 40.3px;
  }
  .p_top .blk07 h2 img {
    display: inline-block;
    width: 298.22px;
  }
  .p_top .blk08 {
    padding: 62px 0;
  }
  .p_top .blk08 h2 {
    text-align: center;
    margin-bottom: 43.4px;
  }
  .p_top .blk08 h2 img {
    width: 267.84px;
  }
  .p_top .blk08 .qa_list {
    margin-top: 27.28px;
  }
  .p_top .blk08 .qa_list dl + dl {
    margin-top: 17.36px;
  }
  .p_top .blk08 .qa_list dl dt {
    font-size: 21.7px;
    line-height: 1.28571;
    font-weight: bold;
    border: 1.86px solid #1695D4;
    padding: 12.4px 62px;
    margin-left: 15.5px;
    position: relative;
    cursor: pointer;
    -webkit-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    transition: opacity 0.3s;
    min-height: 84.32px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p_top .blk08 .qa_list dl dt:hover {
    opacity: 0.7;
  }
  .p_top .blk08 .qa_list dl dt::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -15.5px;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 71.3px;
    height: 55.8px;
    background: url(../img/ic_q.png) center/100% 100% no-repeat;
    display: block;
  }
  .p_top .blk08 .qa_list dl dt i {
    position: absolute;
    width: 23.56px;
    height: 23.56px;
    right: 12.4px;
    top: 50%;
    margin-top: -11.16px;
    display: block;
  }
  .p_top .blk08 .qa_list dl dt i:before, .p_top .blk08 .qa_list dl dt i:after {
    content: "";
    position: absolute;
    background-color: #333;
    -webkit-transition: -webkit-transform 0.25s ease-out;
    transition: -webkit-transform 0.25s ease-out;
    -moz-transition: transform 0.25s ease-out, -moz-transform 0.25s ease-out;
    transition: transform 0.25s ease-out;
    transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out, -moz-transform 0.25s ease-out;
  }
  .p_top .blk08 .qa_list dl dt i:before {
    top: 0;
    left: 50%;
    width: 2px;
    height: 100%;
    margin-left: -1px;
  }
  .p_top .blk08 .qa_list dl dt i:after {
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    margin-top: -1px;
  }
  .p_top .blk08 .qa_list dl dt.is_active i:before {
    -webkit-transform: rotate(90deg);
       -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  .p_top .blk08 .qa_list dl dd {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.3s ease-out;
    -moz-transition: max-height 0.3s ease-out;
    transition: max-height 0.3s ease-out;
    font-size: 18.6px;
    line-height: 2;
    font-weight: 500;
  }
  .p_top .blk08 .qa_list dl dd .accCt {
    padding-left: 77.5px;
    position: relative;
    padding-top: 18.6px;
  }
  .p_top .blk08 .qa_list dl dd .accCt::before {
    content: "";
    position: absolute;
    top: 18.6px;
    left: 0;
    width: 71.3px;
    height: 55.8px;
    background: url(../img/ic_a.png) center/100% 100% no-repeat;
    display: block;
  }
  .p_top .blk09 {
    padding: 27.9px 0 80.6px;
    background-color: #FCFBE6;
    text-align: center;
  }
  .p_top .blk09 .row {
    padding-left: 31px;
    padding-right: 31px;
  }
  .p_top .blk09 h2 {
    text-align: center;
    margin-bottom: 18.6px;
  }
  .p_top .blk09 h2 img {
    display: inline-block;
    width: 287.68px;
  }
  .p_top .blk09 .blk09_list {
    margin-top: 18.6px;
    text-align: left;
    display: -ms-grid;
    display: grid;
    gap: 18.6px;
    -ms-grid-columns: (minmax(0, 1fr))[4];
        grid-template-columns: repeat(4, minmax(0, 1fr));
    font-size: 17.36px;
    line-height: 1.76667;
    font-weight: 500;
  }
  .p_top .contact {
    padding: 62px 0 155px;
    background-color: #FFF000;
  }
  .p_top .contact .row {
    padding: 0 31px;
  }
  .p_top .contact h2 {
    margin: 0 -31px 62px;
  }
  .p_top .blk10 {
    background-color: #F4F4EC;
    padding: 80.6px 0 62px;
  }
  .p_top .blk10 .row {
    padding-left: 27.9px;
    padding-right: 27.9px;
  }
  .p_top .blk10 .dlist {
    margin-top: 37.2px;
    color: #000;
    font-size: 15.5px;
    line-height: 2.48;
    font-weight: 500;
  }
  .p_top .blk10 .dlist dl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p_top .blk10 .dlist dl dt {
    width: 137.02px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .p_top .blk10 .dlist dl dd {
    width: 100%;
  }
  .p_top .blk10 .videoArea {
    margin-top: 68.2px;
  }
  .p_top .blk10 .videoArea h3 {
    margin-bottom: 18.6px;
    background-color: #1695D4;
    color: #fff;
    font-weight: bold;
    font-size: 41.54px;
    font-weight: bold;
    text-align: center;
    line-height: 1.2;
  }
  .p_top .blk10 .videoArea .videoWr {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
  }
  .p_top .blk10 .videoArea .videoWr iframe, .p_top .blk10 .videoArea .videoWr video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .p_top .form .f_txtError {
    font-size: 8.68px;
    margin-bottom: 2.48px;
    color: #f00;
  }
  .p_top .form button {
    padding: 0;
    outline: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: 0;
    cursor: pointer;
    display: block;
    margin: 0 auto;
    max-width: 100%;
    background-color: transparent;
    margin-top: 86.8px;
  }
  .p_top .form > dl + dl {
    margin-top: 24.8px;
  }
  .p_top .form > dl dt {
    font-weight: bold;
    font-size: 24.8px;
    margin-bottom: 9.3px;
  }
  .p_top .form > dl dd {
    width: 100%;
  }
  .p_top .form > dl dd input {
    width: 100%;
    padding: 0 11.16px;
    outline: none;
    font-size: -webkit-calc(max(3.86473vw, px(16)));
    font-size: -moz-calc(max(3.86473vw, px(16)));
    font-size: calc(max(3.86473vw, px(16)));
    color: #000;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    height: 49.6px;
    background: #fff;
    border: 0;
    -moz-border-radius: 0;
         border-radius: 0;
  }
  .p_top .form > dl dd input::-webkit-input-placeholder {
    color: #D0D0D0;
    font-weight: 500;
  }
  .p_top .form > dl dd input::-moz-placeholder {
    color: #D0D0D0;
    font-weight: 500;
  }
  .p_top .form > dl dd input:-ms-input-placeholder {
    color: #D0D0D0;
    font-weight: 500;
  }
  .p_top .form > dl dd input::placeholder {
    color: #D0D0D0;
    font-weight: 500;
  }
  .p_top .form > dl dd textarea {
    width: 100%;
    padding: 6.2px 11.16px;
    outline: none;
    font-size: -webkit-calc(max(3.86473vw, px(16)));
    font-size: -moz-calc(max(3.86473vw, px(16)));
    font-size: calc(max(3.86473vw, px(16)));
    color: #000;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    height: 148.8px;
    background: #fff;
    border: 0;
    -moz-border-radius: 0;
         border-radius: 0;
  }
  .p_top .form > dl dd textarea::-webkit-input-placeholder {
    color: #D0D0D0;
    font-weight: 500;
    opacity: 1;
  }
  .p_top .form > dl dd textarea::-moz-placeholder {
    color: #D0D0D0;
    font-weight: 500;
    opacity: 1;
  }
  .p_top .form > dl dd textarea:-ms-input-placeholder {
    color: #D0D0D0;
    font-weight: 500;
    opacity: 1;
  }
  .p_top .form > dl dd textarea::placeholder {
    color: #D0D0D0;
    font-weight: 500;
    opacity: 1;
  }
  .thanks {
    text-align: center;
    padding-bottom: 260.4px;
    position: relative;
  }
  .thanks::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 104.78px;
    background: url(../img/thanks_bg.png) center/100% 100% no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    display: block;
  }
  .thanks h2 {
    text-align: center;
    margin-bottom: 21.7px;
  }
  .thanks h2 img {
    display: inline-block;
    width: 436.48px;
  }
  .thanks p {
    font-size: 18.6px;
    line-height: 2;
    color: #004097;
    text-align: left;
    font-weight: 500;
    padding-left: 24.8px;
    padding-right: 24.8px;
  }
  .thanks .thanks_tel {
    position: relative;
    display: block;
    margin-top: 62px;
    -webkit-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .thanks .thanks_tel:hover {
    opacity: 1;
  }
  .thanks .thanks_tel:hover span, .thanks .thanks_tel:hover img {
    opacity: 1;
  }
  .thanks .thanks_tel span {
    position: absolute;
    top: 28.52px;
    left: 88.04px;
    color: #004097;
    font-weight: 900;
    font-size: 37.82px;
  }
}

@media screen and (max-width: 768px) {
  img {
    width: 100%;
    height: auto;
  }
  .container {
    overflow: hidden;
    max-width: 102.4vw;
    margin: 0 auto;
  }
  .show_pc {
    display: none !important;
  }
  .row {
    padding-left: 3.33333vw;
    padding-right: 3.33333vw;
  }
  .inner {
    padding-left: 3.33333vw;
    padding-right: 3.33333vw;
  }
  .header {
    text-align: center;
    padding: 4.66667vw 0;
  }
  .header img {
    display: inline-block;
    width: 68.53333vw;
  }
  .cta_fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 99;
    background-color: #fff;
    padding: 1.33333vw;
    font-size: 0;
  }
  .cta_fixed .cta_fixed_tt {
    text-align: center;
    margin-bottom: -6vw;
  }
  .cta_fixed .cta_fixed_tt img {
    width: 83.06667vw;
  }
  .cta_fixed ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .cta_fixed ul li {
    width: -webkit-calc((100% - 1.33333vw) / 2);
    width: -moz-calc((100% - 1.33333vw) / 2);
    width: calc((100% - 1.33333vw) / 2);
  }
  .cta_fixed ul li a {
    display: block;
  }
  .cta_fixed ul .cta_fixed_tel {
    position: relative;
  }
  .cta_fixed ul .cta_fixed_tel span {
    position: absolute;
    font-size: 5.46667vw;
    font-weight: 900;
    line-height: 1;
    top: 4.66667vw;
    left: 8vw;
  }
  .footer {
    background-color: #333;
    padding: 2vw;
  }
  .footer p {
    font-size: 2vw;
    text-align: center;
    color: #fff;
    font-weight: 500;
  }
  .p_top .footer {
    padding-bottom: 29.33333vw;
  }
  .p_top .mv figure img, .p_top .mv picture img {
    display: block;
    width: 100%;
    height: auto;
  }
  .p_top .cta_wr {
    background: url(../img/cta_bg.png) center bottom no-repeat;
    -moz-background-size: 100% auto;
         background-size: 100% auto;
    padding-bottom: 16vw;
    margin-top: -42.66667vw;
    position: relative;
    z-index: 2;
  }
  .p_top .cta_wr.st2 {
    padding: 16vw 0 14.66667vw;
    margin-top: 0;
    background: none;
  }
  .p_top .cta {
    position: relative;
  }
  .p_top .cta .cta_btn {
    position: absolute;
    left: 50%;
    bottom: 45.33333vw;
    -webkit-transform: translateX(-50%);
       -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100%;
    width: 87.46667vw;
  }
  .p_top .cta .cta_btn a {
    display: block;
  }
  .p_top .cta .cta_btn a + a {
    margin-top: 2.66667vw;
  }
  .p_top .cta .cta_btn .cta_tel {
    position: relative;
  }
  .p_top .cta .cta_btn .cta_tel span {
    position: absolute;
    top: 5.33333vw;
    left: 14.8vw;
    color: #333;
    font-size: 9.33333vw;
    font-weight: 900;
    line-height: 1;
  }
  .p_top .blk01 {
    background: url(../img/blk01_bg.png) repeat-y;
    -moz-background-size: 100% auto;
         background-size: 100% auto;
    text-align: center;
    padding: 16vw 0 21.33333vw;
    margin-top: -26.66667vw;
  }
  .p_top .blk01 h2 {
    text-align: center;
    position: relative;
    z-index: 3;
    margin-bottom: 1.33333vw;
  }
  .p_top .blk01 h2 img {
    width: 76.53333vw;
  }
  .p_top .blk01 .fig1 {
    display: inline-block;
    margin-left: 7.06667vw;
    width: 90.13333vw;
  }
  .p_top .blk01 .fig2 {
    display: inline-block;
    width: 88.26667vw;
    margin-top: 22.13333vw;
  }
  .p_top .blk02 {
    margin-top: -11.73333vw;
    margin-left: -6.26667vw;
    margin-right: -3.2vw;
  }
  .p_top .blk03 {
    padding: 8.66667vw 0;
  }
  .p_top .blk03 h2 {
    position: relative;
    text-align: center;
    margin-bottom: 13.33333vw;
  }
  .p_top .blk03 h2 img {
    width: 86vw;
    display: inline-block;
  }
  .p_top .blk03 ul li + li {
    margin-top: 5.33333vw;
  }
  .p_top .blk04 h2 {
    line-height: 0;
  }
  .p_top .blk04 ul {
    background-color: #1695D4;
    padding: 0 4.66667vw;
  }
  .p_top .blk04 ul li figure {
    position: relative;
    -webkit-transform: translateZ(0);
       -moz-transform: translateZ(0);
            transform: translateZ(0);
  }
  .p_top .blk04 ul li figure figcaption {
    position: absolute;
    text-align: right;
  }
  .p_top .blk04 ul li figure figcaption.st1 {
    font-size: 35.6vw;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    bottom: 0vw;
    left: 34.26667vw;
  }
  .p_top .blk04 ul li figure figcaption.st2 {
    font-size: 22.13333vw;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    bottom: 2vw;
    left: 18.66667vw;
  }
  .p_top .blk04 ul li figure figcaption.st3 {
    font-size: 35.6vw;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    bottom: 6.66667vw;
    left: 37.33333vw;
  }
  .p_top .blk04 ul li figure figcaption.st4 {
    font-size: 35.6vw;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    bottom: 0vw;
    left: 36vw;
  }
  .p_top .blk04 ul li p {
    font-size: 4vw;
    line-height: 8vw;
    color: #fff;
    font-weight: 500;
    margin-top: 4vw;
  }
  .p_top .blk04 ul li + li {
    margin-top: 12vw;
  }
  .p_top .blk05 {
    padding-bottom: 26.66667vw;
    text-align: center;
    background: url(../img/blk05_bg.png) center bottom no-repeat;
    -moz-background-size: 100% auto;
         background-size: 100% auto;
    -webkit-transform: translateZ(0);
       -moz-transform: translateZ(0);
            transform: translateZ(0);
  }
  .p_top .blk05::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 50%;
    background: #1695D4;
    display: block;
    z-index: -1;
  }
  .p_top .blk05 ul {
    background-color: #FFF000;
    padding-top: 6.66667vw;
  }
  .p_top .blk05 ul li {
    text-align: center;
  }
  .p_top .blk05 ul li:not(:last-child) {
    margin-bottom: 8vw;
  }
  .p_top .blk05 ul li img {
    display: inline-block;
    width: 87.46667vw;
  }
  .p_top .blk05 figure {
    margin-top: 14.66667vw;
  }
  .p_top .blk06 h2 {
    margin-bottom: 2.66667vw;
    margin-left: -6.66667vw;
    margin-right: -2.66667vw;
  }
  .p_top .blk07 {
    background: url(../img/blk01_bg.png) center/100% 100% no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    padding: 10.66667vw 0;
    text-align: center;
  }
  .p_top .blk07 figure {
    display: inline-block;
    width: 88.53333vw;
  }
  .p_top .blk07 h2 {
    margin-bottom: 1.33333vw;
    text-align: center;
    margin-bottom: 8.66667vw;
  }
  .p_top .blk07 h2 img {
    display: inline-block;
    width: 64.13333vw;
  }
  .p_top .blk08 {
    padding: 13.33333vw 0;
  }
  .p_top .blk08 h2 {
    text-align: center;
    margin-bottom: 9.33333vw;
  }
  .p_top .blk08 h2 img {
    width: 57.6vw;
  }
  .p_top .blk08 .qa_list {
    margin-top: 5.86667vw;
  }
  .p_top .blk08 .qa_list dl + dl {
    margin-top: 3.73333vw;
  }
  .p_top .blk08 .qa_list dl dt {
    font-size: 4.66667vw;
    line-height: 1.28571;
    font-weight: bold;
    border: 0.4vw solid #1695D4;
    padding: 2.66667vw 13.33333vw;
    margin-left: 3.33333vw;
    position: relative;
    min-height: 18.13333vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p_top .blk08 .qa_list dl dt::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -3.33333vw;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 15.33333vw;
    height: 12vw;
    background: url(../img/ic_q.png) center/100% 100% no-repeat;
    display: block;
  }
  .p_top .blk08 .qa_list dl dt i {
    position: absolute;
    width: 5.06667vw;
    height: 5.06667vw;
    right: 2.66667vw;
    top: 50%;
    margin-top: -2.4vw;
    display: block;
  }
  .p_top .blk08 .qa_list dl dt i:before, .p_top .blk08 .qa_list dl dt i:after {
    content: "";
    position: absolute;
    background-color: #333;
    -webkit-transition: -webkit-transform 0.25s ease-out;
    transition: -webkit-transform 0.25s ease-out;
    -moz-transition: transform 0.25s ease-out, -moz-transform 0.25s ease-out;
    transition: transform 0.25s ease-out;
    transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out, -moz-transform 0.25s ease-out;
  }
  .p_top .blk08 .qa_list dl dt i:before {
    top: 0;
    left: 50%;
    width: 0.53333vw;
    height: 100%;
    margin-left: -0.26667vw;
  }
  .p_top .blk08 .qa_list dl dt i:after {
    top: 50%;
    left: 0;
    width: 100%;
    height: 0.53333vw;
    margin-top: -0.26667vw;
  }
  .p_top .blk08 .qa_list dl dt.is_active i:before {
    -webkit-transform: rotate(90deg);
       -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  .p_top .blk08 .qa_list dl dd {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.3s ease-out;
    -moz-transition: max-height 0.3s ease-out;
    transition: max-height 0.3s ease-out;
    font-size: 4vw;
    line-height: 2;
    font-weight: 500;
  }
  .p_top .blk08 .qa_list dl dd .accCt {
    padding-left: 16.66667vw;
    position: relative;
    padding-top: 4vw;
  }
  .p_top .blk08 .qa_list dl dd .accCt::before {
    content: "";
    position: absolute;
    top: 4vw;
    left: 0;
    width: 15.33333vw;
    height: 12vw;
    background: url(../img/ic_a.png) center/100% 100% no-repeat;
    display: block;
  }
  .p_top .blk09 {
    padding: 6vw 0 17.33333vw;
    background-color: #FCFBE6;
    text-align: center;
  }
  .p_top .blk09 .row {
    padding-left: 6.66667vw;
    padding-right: 6.66667vw;
  }
  .p_top .blk09 h2 {
    text-align: center;
    margin-bottom: 4vw;
  }
  .p_top .blk09 h2 img {
    display: inline-block;
    width: 61.86667vw;
  }
  .p_top .blk09 .blk09_list {
    margin-top: 4vw;
    text-align: left;
    display: -ms-grid;
    display: grid;
    gap: 4vw;
    -ms-grid-columns: (minmax(0, 1fr))[4];
        grid-template-columns: repeat(4, minmax(0, 1fr));
    font-size: 3.73333vw;
    line-height: 1.76667;
    font-weight: 500;
  }
  .p_top .contact {
    padding: 13.33333vw 0 33.33333vw;
    background-color: #FFF000;
  }
  .p_top .contact .row {
    padding: 0 6.66667vw;
  }
  .p_top .contact h2 {
    margin: 0 -6.66667vw 13.33333vw;
  }
  .p_top .blk10 {
    background-color: #F4F4EC;
    padding: 17.33333vw 0 13.33333vw;
  }
  .p_top .blk10 .row {
    padding-left: 6vw;
    padding-right: 6vw;
  }
  .p_top .blk10 .dlist {
    margin-top: 8vw;
    color: #000;
    font-size: 3.33333vw;
    line-height: 2.48;
    font-weight: 500;
  }
  .p_top .blk10 .dlist dl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p_top .blk10 .dlist dl dt {
    width: 29.46667vw;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .p_top .blk10 .dlist dl dd {
    width: 100%;
  }
  .p_top .blk10 .videoArea {
    margin-top: 14.66667vw;
  }
  .p_top .blk10 .videoArea h3 {
    margin-bottom: 4vw;
    background-color: #1695D4;
    color: #fff;
    font-weight: bold;
    font-size: 8.93333vw;
    font-weight: bold;
    text-align: center;
    line-height: 1.2;
  }
  .p_top .blk10 .videoArea .videoWr {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
  }
  .p_top .blk10 .videoArea .videoWr iframe, .p_top .blk10 .videoArea .videoWr video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .p_top .form .f_txtError {
    font-size: 1.86667vw;
    margin-bottom: 0.53333vw;
    color: #f00;
  }
  .p_top .form button {
    padding: 0;
    outline: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: 0;
    cursor: pointer;
    display: block;
    margin: 0 auto;
    max-width: 100%;
    background-color: transparent;
    margin-top: 18.66667vw;
  }
  .p_top .form > dl + dl {
    margin-top: 5.33333vw;
  }
  .p_top .form > dl dt {
    font-weight: bold;
    font-size: 5.33333vw;
    margin-bottom: 2vw;
  }
  .p_top .form > dl dd {
    width: 100%;
  }
  .p_top .form > dl dd input {
    width: 100%;
    padding: 0 2.4vw;
    outline: none;
    font-size: -webkit-calc(max(4.2vw, 16px));
    font-size: -moz-calc(max(4.2vw, 16px));
    font-size: calc(max(4.2vw, 16px));
    color: #000;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    height: 10.66667vw;
    background: #fff;
    border: 0;
    -moz-border-radius: 0;
         border-radius: 0;
  }
  .p_top .form > dl dd input::-webkit-input-placeholder {
    color: #D0D0D0;
    font-weight: 500;
  }
  .p_top .form > dl dd input::-moz-placeholder {
    color: #D0D0D0;
    font-weight: 500;
  }
  .p_top .form > dl dd input:-ms-input-placeholder {
    color: #D0D0D0;
    font-weight: 500;
  }
  .p_top .form > dl dd input::placeholder {
    color: #D0D0D0;
    font-weight: 500;
  }
  .p_top .form > dl dd textarea {
    width: 100%;
    padding: 1.33333vw 2.4vw;
    outline: none;
    font-size: -webkit-calc(max(4.2vw, 16px));
    font-size: -moz-calc(max(4.2vw, 16px));
    font-size: calc(max(4.2vw, 16px));
    color: #000;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    height: 32vw;
    background: #fff;
    border: 0;
    -moz-border-radius: 0;
         border-radius: 0;
  }
  .p_top .form > dl dd textarea::-webkit-input-placeholder {
    color: #D0D0D0;
    font-weight: 500;
    opacity: 1;
  }
  .p_top .form > dl dd textarea::-moz-placeholder {
    color: #D0D0D0;
    font-weight: 500;
    opacity: 1;
  }
  .p_top .form > dl dd textarea:-ms-input-placeholder {
    color: #D0D0D0;
    font-weight: 500;
    opacity: 1;
  }
  .p_top .form > dl dd textarea::placeholder {
    color: #D0D0D0;
    font-weight: 500;
    opacity: 1;
  }
  .thanks {
    text-align: center;
    padding-bottom: 56vw;
    position: relative;
  }
  .thanks::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 22.53333vw;
    background: url(../img/thanks_bg.png) center/100% 100% no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    display: block;
  }
  .thanks h2 {
    text-align: center;
    margin-bottom: 4.66667vw;
  }
  .thanks h2 img {
    display: inline-block;
    width: 93.86667vw;
  }
  .thanks p {
    font-size: 4vw;
    line-height: 2;
    color: #004097;
    text-align: left;
    font-weight: 500;
    padding-left: 5.33333vw;
    padding-right: 5.33333vw;
  }
  .thanks .thanks_tel {
    position: relative;
    display: block;
    margin-top: 13.33333vw;
  }
  .thanks .thanks_tel span {
    position: absolute;
    top: 6.13333vw;
    left: 18.93333vw;
    color: #004097;
    font-weight: 900;
    font-size: 9.46667vw;
  }
}

.error {
  display: block;
  width: 100%;
  color: #ff0000;
}
