@charset "utf-8";
/* *************************************
// NORIDOKI用CSS
************************************* */

:root {
    --color-green01: #3db48f;
    --color-green02: #008242;
    --color-orange01: #e97847;

    --color-yellow01: #efcf00;
 
    --color-pink: #FFF1EB;


    --color-text: #000;

    --size-sp-width: 375px;
    --text-edge-color: #fff;
}


body {
    font-family: "Noto Sans JP", sans-serif;
}

img {
    display: block;
    width: 100%;
    height: auto;
}
footer {
  padding-bottom: 70px;
}
#container {
    padding: 0;
}

section > .wrap {
    width: 96%;
}

.noridoki_header {
    padding: 0;
    box-shadow: none;
    background: var(--color-green01);
    height: 80px;
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    z-index: 100;
}

.noridoki_header .logo {
    background: #fff;
    padding: 10px 20px 8px 10%;
    border-radius: 0 100vmax 100vmax 0;
    height: auto;
}

.noridoki_header .logo a {
    color: var(--color-text);
}

.noridoki_header .logo .name {
    line-height: 1;
    margin-left: 10px;
    display: flex;
    align-items: baseline;
    gap: 0 10px;
}
.noridoki_header .logo .name .company {
    font-size: 16px;
}

.noridoki_header .logo .name .shop {
    font-size: 25px;
    font-weight: bold;
    display: flex;
    align-items: baseline;
    gap: 0 5px;
}

.noridoki_header .logo img {
    max-inline-size: none;
    max-block-size: none;
    height: 25px;
    width: auto;
    display: inline-block;
}

@media (max-width: 767px) {
    .noridoki_header {
        padding: 0 20px 0 0;
        height: 70px;
        justify-content: flex-start;
        display: none;
    }
    .noridoki_header .logo {
        padding: 5px 30px;
    }
    .noridoki_header .logo .name {
        flex-wrap: wrap;
        gap: 10px;
        margin: 0;
        flex-direction: column;
    }
    .noridoki_header .logo .name .company {
        font-size: 14px;
    }
    .noridoki_header .logo .name .shop {
        font-size: 20px;
    }
    .noridoki_header .logo img {
        height: 20px;
    }
}


#noridoki_content {
    width: 100%;
    padding-top: 80px;
}

@media (max-width: 767px) {

    #noridoki_content {
        padding-top: 70px;
        padding-top: 0px;
    }

}


#noridoki_inner-content {
    display: grid;
    grid-template-columns: 1fr var(--size-sp-width) 1fr;
    position: relative;
    z-index: 0;
}

#noridoki_inner-content > #noridoki_main {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    background: #fff;
    container-type: inline-size;
}
#noridoki_inner-content > .left {
    width: calc((100% - var(--size-sp-width)) / 2);
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    overflow: hidden;
    display: grid;
    align-items: flex-end;
    z-index: -1;
    background: #edf4f6;
}
#noridoki_inner-content > .left a {
    display: block;
    width: 100%;
    height: 100%;
}
#noridoki_inner-content > .left img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: bottom;
}
#noridoki_inner-content > .right {
    width: calc((100% - var(--size-sp-width)) / 2);
    height: 100%;
    position: relative;
    background: #ffdb00;
    position: fixed;
    top: 0;
    right: 0;
    overflow: hidden;
    display: grid;
    align-items: center;
    z-index: -1;
}
#noridoki_inner-content > .right > img {
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 1029px) {
    #noridoki_inner-content {
        grid-template-columns: var(--size-sp-width) 1fr;
        grid-template-rows: auto;
    }

    #noridoki_inner-content > #noridoki_main {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }

    #noridoki_inner-content > .left {
        height: calc((100vh - 80px) / 2);
        width: calc(100% - var(--size-sp-width));
        top: 80px;
        right: 0;
        left: auto;
        display: block;
    }
    #noridoki_inner-content > .left > img {
        width: 100%;
        height: calc((100vh - 80px) / 2);
        object-fit: contain;
    }

    #noridoki_inner-content > .right {
        height: calc((100vh - 80px) / 2);
        width: calc(100% - var(--size-sp-width));
        top: calc((100vh - 80px) / 2 + 80px);
        right: 0;
        left: auto;
    }
    #noridoki_inner-content > .right > img {
        width: 100%;
        height: calc((100vh - 80px) / 2);
        object-fit: contain;
    }

}


@media (max-width: 767px) {
    #noridoki_main {
        width: 100%;
        box-shadow: none;
    }
    #noridoki_inner-content {
        width: 100%;
        display: block;
    }

    #noridoki_inner-content > .right,
    #noridoki_inner-content > .left {
        display: none;
    }
}

section.selecet_bnr {
    padding: 0;
    overflow: hidden;
}
section.selecet_bnr > img {
  width: 100%;
  display: block;
  height: auto;
  margin-inline: -8px;
  width: calc(100% + 16px );
  max-width: inherit;
}
.store_banner {
    padding: 0;
    margin: 0;
}
.store_banner > img {
    display: block;
    width: 100%;
    height: auto;
}
.store_banner > a > img {
    display: block;
    width: 100%;
    height: auto;
}



#main_visual {
    padding: 0;
    margin: 0;
}
#main_visual > img {
    width: 100%;
    height: auto;
}



#oshi_point h2.title {
    margin: 0 auto 10px;
    width: 320px;
}
#oshi_point h2.title > img {
    width: 100%;
    height: auto;
}

#oshi_point .image {
    max-width: 350px;
}

#oshi_point .image.onayami {
    margin: 30px auto 20px; 
}
#oshi_point .image.credit_card {
    margin: 20px auto 0; 
}

.oshi_point_list {
    display: grid;
    grid-template-columns: 100%;
    gap: 10px 0;
    max-width: 320px;
    margin: auto;
}
.oshi_point_list > .item {
    border: 2px solid #000;
    border-radius: 5px;
    padding: 30px 15px;
    position: relative;
}

.oshi_point_list > .item .point_num {
    background: #000;
    color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    clip-path: polygon(0 0, 0% 100%, 100% 0);
    width: 85px;
    height: 90px;
    padding: 10px 0 0 10px;
}
.oshi_point_list > .item .point_num > .inner {
    text-align: center;
    display: table;
}
.oshi_point_list > .item .point_num .point {
    display: block;
    font-size: 10px;
    line-height: 1.2;
}
.oshi_point_list > .item .point_num .num {
    display: block;
    font-size: 25px;
    font-weight: bold;
    line-height: 1;
}

.oshi_point_list > .item .title {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 15px;
}

.oshi_point_list > .item .text {
    text-align: center;
    font-size: 14px;
}

.oshi_point_list > .item .btn {
    margin-top: 20px;
}
.oshi_point_list > .item .btn > a {
    background: url(./images2/icon_modal_open-wh.svg) no-repeat right 15px center #F47B45;
    background-size: 18px;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    margin: 0 auto;
    width: 90%;
    line-height: 36px;
    transition: all .5s;
    display: block;
}

.credit_card_sec {
    padding: 10cqi 0;
}
.credit_card_sec img {
    width: 100%;
    display: block;
}






#noridoki_about {
    background: var(--color-orange01);
    margin-top: 10cqi;
}

#noridoki_about h2.title {
    margin: 0 auto 15px;
    width: 300px;
}

#noridoki_about .image.cycle {
    width: 350px;
    max-width: 100%;
    margin: 0 auto 40px;
}

#noridoki_about .about_text {
    font-size: 12px;
    text-align: center;
    color: #fff;
    margin-bottom: 40px;
}

.about_list {
    display: grid;
    grid-template-columns: 100%;
    gap: 20px 0;
    max-width: 320px;
    margin: auto;
}

.about_list > .item {
    background: #fff;
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
}

.about_list > .item .image > img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.about_list > .item .text {
    padding: 20px 20px 30px;
}

.about_list > .item .text .num {
color: var(--color-orange01);
    display: table;
    margin: 0 auto 15px;
    border-bottom: 1px solid #000;
    font-size: 25px;
    padding: 0px 10px 10px;
    line-height: 1;
}
.about_list > .item h3 {
    text-align: center;
    font-weight: bold;
    font-size: 25px;
    line-height: 1.5;
}
.about_list > .item h3 > span {
    color: var(--color-orange01);
}
.about_list > .item .note {
    text-align: center;
    font-size: 12px;
    margin-top: 20px;
}
.about_list > .item .note:before {
    content: "※";
    display: inline;
}


#noridoki_merit .logo {
    width: 150px;
    margin: 0 auto 20px;
}
#noridoki_merit h2.title {
    margin: 0 auto 15px;
    width: 300px;
}

#noridoki_merit .text_center {
    font-weight: 900;
    text-align: center;
    margin-bottom: 20px;
    line-height: 1.4;
    font-size: 18px;
}

.merit_contents {
    background: var(--color-pink);
    padding: 30px 15px;
}

.merit_contents.wide {
    width: 100%;
    margin-bottom: 30px;
}
.merit_contents.box {
    width: calc(100% - 20px);
    margin-left: 10px;
    margin-right: 10px;
}

.merit_contents .underline {
    text-align: center;
    /*background: linear-gradient(transparent 60%, #f67b3c 40%); */

    text-decoration: underline;
    text-decoration-color: #f67b3c;
    text-decoration-thickness: 0.6em;
    text-decoration-skip-ink: none;
    text-underline-offset: -2px;

    font-weight: 900;
    font-size: 20px;
    display: table;
    letter-spacing: 1px;
    margin: 0 auto 20px;
}

.merit_contents .subtext {
    font-size: 14px;
    text-align: center;
    margin-bottom: 20px;
}

.merit_contents img.merit1_image {
    max-width: 300px;
    margin: 0 auto;
}

.merit_contents.merit2 .subtext {
    text-align: left;
}

.bottomBox {
    display: grid;
    grid-template-columns: 100%;
    gap: 30px 0;
    margin-top: -30px;
}

.gainBox {
    padding: 0 15px;
}
.gainBox img.num {
    width: 50px;
    height: auto;
    margin: auto;
    margin-bottom: 20px;
}
.gainBox .midashi {
    text-align: center;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.5;
    margin-bottom: 20px;
}

.gainBox p.txt {
    font-size: 14px;
}

.gainBox .norikaeImage {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: space-between;
    -ms-flex-pack: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-pack: wrap;
    flex-wrap: wrap;
    max-width: 350px;
    margin-left: auto;
    margin-right: auto;
}

.gainBox .norikaeImage .box {
    width: 100%;
    margin-top: 30px;
    padding: 35px 20px 20px;
    background-color: #FFF1EB;
    border-radius: 10px;
    position: relative;
}
.gainBox .norikaeImage .box.life {
    margin-top: 40px;
}
.gainBox .norikaeImage .box.life:last-child {
    margin-top: 70px;
}
.gainBox .norikaeImage .box.life:first-child::after {
    width: 130px;
    height: 63px;
    background-image: url(./images2/norikae_arrow_sp.svg);
    background-size: 130px 63px;
    margin: 0 auto;
    bottom: -63px;
    left: 0;
    right: 0;
}

.gainBox .norikaeImage .box.car::before {
    content: '';
    display: block;
    background: url(./images2/car_img_yaris.png) no-repeat 50% 50%;
    background-size: 111px auto;
    position: absolute;
    width: 134px;
    height: 70px;
    top: -30px;
    left: 10px;
}

.gainBox .norikaeImage .box:first-child::after {
    content: '';
    display: block;
    position: absolute;
    z-index: 10;
    width: 130px;
    height: 63px;
    margin: auto;
    background-image: url(./images2/norikae_arrow_sp.svg);
    background-size: 130px 63px;
    bottom: -63px;
    right: 25px;
}

.gainBox .norikaeImage .box .dataList {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
    padding: 10px 20px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    line-height: 20px;
    font-weight: bold;
    background: #ffffff;
    border-radius: 10px;
    display: flex;
    flex-wrap: wrap;
}

.gainBox .norikaeImage .box .dataList dt {
    padding: 2px 0;
    width: 110px;
}
.gainBox .norikaeImage .box .dataList dd {
    padding: 2px 0;
    width: calc(100% - 110px);
}

.gainBox .fukidashi {
    display: inline-block;
    width: 100%;
    position: relative;
    top: -50px;
    padding: 10px 5px;
    font-size: 16px;
    line-height: 1.6;
}
.gainBox .fukidashi .txt {
    font-weight: 700;
    text-align: center;
    position: relative;
    z-index: 5;
}
.gainBox .fukidashi .bg1, 
.gainBox .fukidashi .bg2 {
    display: block;
    width: 100%;
    height: 100%;
    border: 2px solid #0A0E1F;
    border-radius: 13px;
    position: absolute;
}
.gainBox .fukidashi .bg1 {
    background: #ffffff;
    top: 0;
    left: 0;
    z-index: 2;
}
.gainBox .fukidashi .bg2 {
    background: #0A0E1F;
    bottom: -3px;
    right: -3px;
    z-index: 1;
}

.gainBox .fukidashi .bg1::before,
.gainBox .fukidashi .bg1::after,
.gainBox .fukidashi .bg2::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    position: absolute;
}
.gainBox .fukidashi .bg1::before {
    border-width: 8px 4px 0 4px;
    border-color: #ffffff transparent transparent transparent;
    bottom: -8px;
    right: 40px;
    z-index: 2;
}
.gainBox .fukidashi .bg1::after {
    border-width: 10px 6px 0 6px;
    border-color: #0A0E1F transparent transparent transparent;
    bottom: -10px;
    right: 38px;
    z-index: 1;
}
.gainBox .fukidashi .bg2::after {
    border-width: 10px 6px 0 6px;
    border-color: #0A0E1F transparent transparent transparent;
    bottom: -10px;
    right: 38px;
    z-index: 1;
}

.gainBox .norikaeImage .box.life .imageBox {
    margin: -20px 0 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.gainBox .norikaeImage .box.life .imageBox .carimage {
    width: 68%;
}
.gainBox .norikaeImage .box.life .imageBox .carimage img {
    width: 100%;
    max-width: 232px;
}
.gainBox .norikaeImage .box.life .imageBox .carimage .carname {
    margin-bottom: 15px;
    font-size: 20px;
    line-height: 1.4em;
    font-weight: 700;
    text-align: center;
}
.gainBox .norikaeImage .box.life .imageBox .family {
    width: 32%;
    max-width: 109px;
    padding-top: 10px;
}
.gainBox .norikaeImage .box.life .imageBox .family img {
    width: 100%;
    height: auto;
}

.tasukatta {
    background: var(--color-green02);
    padding: 20px 15px 50px;
}

.tasukatta .text1 {
    color: #fff;
    text-align: center;
    font-weight: 900;
    font-size: 15px;
    line-height: 1.4;
    margin-bottom: 10px;
}

.tasukatta .box {
    background: #fff;
    padding: 20px 10px;
    border-radius: 15px;
}

.tasukatta .box > img {
    width: 100%;
    display: block;
    height: auto;
}



#debut {
    background: var(--color-yellow01);
}
#debut > .inner {
    max-width: 375px;
    margin: auto;
}

#debut h2.title {
    position: relative;
    background: #fff;
    aspect-ratio: 2 / 1;
    border-radius: 100vmax 100vmax 0 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 280px;
    margin: auto;
}  
#debut h2.title img.txt {
    width: 90%;
    height: 75%;
    margin-bottom: 10px;
    object-fit: contain;
}
#debut h2.title img.pencal {
    position: absolute;
    width: 95px;
    height: 100px;
    left: 77%;
    bottom: -22px;
    z-index: 0;
}


.debut_list {
    display: grid;
    grid-template-columns: 100%;
    width: calc(100% - 30px);
    margin-left: auto;
    gap: 20px 0;
    z-index: 2;
    position: relative;
    max-width: 100%;
}

.debut_list > .item {
    width: 100%;
}
.debut_list > .item > img {
    width: 100%;
}


#noridoki_flow {
    background: var(--color-green01);
}

#noridoki_flow h2.title {
    width: 300px;
    margin: 0 auto 20px;
}

.noridoki_flow_list {
    display: grid;
    grid-template-columns: 100%;
    gap: 30px 0;
    width: 340px;
    margin: auto;
}
.noridoki_flow_list > .item .title {
    position: relative;
    background: #fff;
    padding: 10px;
}
.noridoki_flow_list > .item .title img {
    height: 20px;
    width: auto;
    display: block;
    margin: 0 auto;
}

.noridoki_flow_list > .item .title > span.num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5em;
    height: 1.5em;
    background: var(--color-green01);
    color: #fff;
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    border-radius: 50%;
    font-weight: normal;
}

.noridoki_flow_list > .item .image > img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.noridoki_flow_list > .item .fukidashi {
    color: #fff;
    display: table;
    position: relative;
    margin: 10px auto 15px;
    padding: 0 10px;
    line-height: 1;
}
.noridoki_flow_list > .item .fukidashi:before {
    content: "";
    display: block;
    width: 1px;
    height: 90%;
    background: #fff;
    position: absolute;
    left: 0;
    bottom: 0;
    transform: rotate(-25deg);
}
.noridoki_flow_list > .item .fukidashi:after {
    content: "";
    display: block;
    width: 1px;
    height: 90%;
    background: #fff;
    position: absolute;
    right: 0;
    bottom: 0;
    transform: rotate(25deg);
}

.noridoki_flow_list > .item .text {
    color: #fff;
    font-size: 14px;
    line-height: 1.5;
}




.faq {
    padding-top: 20px;
    padding-bottom: 20px;
    overflow: hidden;
}
.faq h2 {
    width: 80%;
    margin: 0 auto;
}

.faq .faq_list {
    display: grid;
    grid-template-columns: 100%;
    gap: 20px 0;
}
.faq .faq_list > .item {
    width: 90%;
    margin: 0 auto;
    border: 2px solid var(--color-green01);
    display: flex;
    min-height: 70px;
    border-radius: 15px;
    flex-wrap: wrap;
}

.faq .faq_list > .item .title {
    padding: 10px 20px;
    border-radius: 0 100vmax 100vmax 0;
    margin-left: calc((100vw - 100%) / 2 * -1);
    padding-left: calc((100vw - 100%) / 2 );
    margin-top: -10px;
    background: var(--color-green01);
    align-self: flex-start;
}
.faq .faq_list > .item .title > img {
    display: block;
    width: 40px;
    height: 40px;
    overflow: hidden;
}
.faq .faq_list > .item .question {
    padding: 10px 55px 10px 10px;
    font-size: 13px;
    line-height: 1.5;
    flex: 1;
    display: grid;
    align-items: center;
    font-weight: 900;
    position: relative;
    cursor: pointer;
    min-height: 60px;
    color: var(--color-green01);
}
.faq .faq_list > .item .question:before {
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    top: 50%;
    right: 10px;
    background-image: url(./images2/icon_check.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transform: translateY(-50%);
}
.faq .faq_list > .item .question.open:before {
    background-image: url(./images2/icon_open.svg);
    background-size: 30px;
}


.faq .faq_list > .item .answer {
    width: 100%;
    padding: 0px 15px 15px;
    line-height: 1.5;
    font-size: 14px;
    text-align: justify;
    border-radius: 0 0 10px 10px;
    background: var(--color-green01);
}

.faq .faq_list > .item .answer .answer_title {
    display: flex;
    gap: 0 20px;
    padding: 15px 0;
}
.faq .faq_list > .item .answer .answer_title .image {
    width: 40px;
    min-width: 40px;
}
.faq .faq_list > .item .answer .answer_title .image > img {
    width: 40px;
}
.faq .faq_list > .item .answer .answer_title .text {
    color: #fff;
    font-size: 13px;
    align-self: center;
}



.faq .faq_list > .item .answer ul {
    margin: 0.8em 0;
}

.faq .faq_list > .item .answer ul > li {
    display: flex;
}
.faq .faq_list > .item .answer ul > li:before {
    content: "●";
    display: inline-block;
}

.faq .faq_image {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-top: -30px;
}

.faq .faq_image > img {
    width: 100%;
    display: block;
}


.contact_form {
    background: #ffe7ff;
    padding: 30px 0;
}
.contact_form .contact_title {
    width: 80%;
    margin: 0 auto 10px;
}
.contact_form .contact_title > img {
    width: 100%;
}
.contact_form table {
    width: 90%;
    margin: 0 auto;
}

.wpcf7 form.sent .wpcf7-response-output {
	text-align: center;
	color: #000;
	background: #fff;
	border: 2px double var(--sevenmax-subcolor);
	padding: 0.5em 1em;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	border: none;
	text-align: center;
	color: #ff6d00;
	background: #C00;
	color: #FFF;
}

.wpcf7-not-valid-tip {
	background: #C00;
	color: #FFF;
	text-align: center;
	padding-inline: 1em;
}
table.mail_form .wpcf7-list-item:has(input[type="checkbox"][value="来店予約"]) {
	display: none;
}
.visit_on table.mail_form .wpcf7-list-item:has(input[type="checkbox"][value="来店予約"]) {
	display: inherit;
}
table.mail_form tr.postcode,
table.mail_form tr.car_info,
table.mail_form tr.desired,
table.mail_form tr.contact_kind ~ tr.desired {
	display: none;
}
.wpcf7-form tr.contact_kind:has(input[type="radio"][value="お見積り希望"]:checked) ~ tr.car_info,
.wpcf7-form tr.contact_kind:has(input[type="radio"][value="仮審査希望"]:checked) ~ tr.car_info,
.wpcf7-form tr.contact_kind:has(input[type="checkbox"][value="お見積り希望"]:checked) ~ tr.car_info,
.wpcf7-form tr.contact_kind:has(input[type="checkbox"][value="仮審査希望"]:checked) ~ tr.car_info {
	/* display: table-row; */
    display: block;
}
.wpcf7-form tr.contact_kind:has(input[type="radio"][value="仮審査希望"]:checked) ~ tr.postcode,
.wpcf7-form tr.contact_kind:has(input[type="checkbox"][value="仮審査希望"]:checked) ~ tr.postcode {
	/* display: table-row; */
    display: block;
}

.wpcf7-form tr.contact_kind:has(input[type="radio"][value="来店予約"]:checked) ~ tr.desired,
.wpcf7-form tr.contact_kind:has(input[type="checkbox"][value="来店予約"]:checked) ~ tr.desired {
	/* display: table-row; */
    display: block;
}
table.mail_form tr.desired td .input_label {
	display: flex;
	gap: 1em;
}
.wpcf7-form #desired_note,
table.mail_form tr.desired td .note {
	color: #c00;
	background: #fff;
	display: block;
	padding: 5px 15px;
	width: fit-content;
	line-height: 1.5;
	border: 2px solid;
	border-radius: 5px;
	margin-top: 10px;
}
.wpcf7-form #desired_note {
	margin-inline: auto;
	padding: 5px 25px;
}
.wpcf7-form #desired_note a {
	color: inherit;
}
table.mail_form tr.desired td input {
	min-width: 140px;
    min-height: 44px;
    font-size: min(16px, calc(16vw / 400 * 100));
}
table.mail_form tr.desired td select {
    min-height: 44px;
    font-size: min(16px, calc(16vw / 400 * 100));

}
table.mail_form span.wpcf7-list-item {
  font-size: 3.6cqi;
}

/*テーブル*/
table.two_column {
    border: none;
}
table.two_column tbody tr {
    border: none!important;
    margin-bottom: 15px;
    display: block;
}
table.two_column tbody th {
    display: block;
    border: none;
    width: 100%;
    padding: 0 0 5px;
    margin: 0;
}
table.two_column tbody th span.required2 {
    display: inline-block;
    margin-left: 0.5rem;
    padding: 0 0.4rem;
    border-radius: 0.2rem;
    font-size: 0.75rem;
    white-space: nowrap;
    color: white;
    background: #ff0000;
}

table.two_column tbody th span.required_b {
    display: inline-block;
    margin-left: 0.5rem;
    padding: 0 0.4rem;
    border-radius: 0.2rem;
    font-size: 0.75rem;
    white-space: nowrap;
    color: white;
    background: #333;
}

table.two_column tbody th span.small {
    font-size: 7.5px;
}

table.two_column tbody td {
    display: block;
    border: none;
    width: 100%;
    padding: 0;
    margin: 0;

}

table.mail_form tr th.required:after {
    background: #ff0000;
}

input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], select, textarea, .field {
    background: #fff;
    border: 1px solid #000;
    border-radius: 5px;
}
/* date input を包んでるwrap(span) */
.wpcf7-form-control-wrap:has(> input[type="date"]) {
  position: relative;
  display: block;
}

@media (hover: none) and (pointer: coarse){
  .wpcf7-form-control-wrap:has(> input[type="date"]) > input[type="date"]{
    width: 100%;
    box-sizing: border-box;
    font-size: 16px;
    padding-right: 44px;
  }

  .wpcf7-form-control-wrap:has(> input[type="date"])::after{
    content:"";
    position:absolute;
    right:12px;
    top:50%;
    width:20px;
    height:20px;
    transform:translateY(-50%);
    background: no-repeat center / contain url("./images2/calendar_icon.svg");
    pointer-events:none;
  }

  /* WebKit系の標準アイコンが出る環境だけ“見た目だけ”消す */
  .wpcf7-form-control-wrap:has(> input[type="date"]) > input[type="date"]::-webkit-calendar-picker-indicator{
    opacity: 0;
    position: absolute;
    right: 0;
    width: 44px;
    height: 100%;
    cursor: pointer;
  }
}

form .btn001 {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    margin-bottom: 0;
}

.wpcf7 form .wpcf7-response-output {
    line-height: 1.5;
    font-size: 12px;
    color: #ff0000;
    border: none;
    border-radius: 10px;
    text-align: center;
}


.contact_form .policy {
    font-size: 12px;
    text-align: center;
}

.contact_form .policy a {
    color: #ff0000;
    text-decoration: underline;
}


.contact_form .btn001 input[type="submit"] {
    background: #ff0000;
    border: 4px double #fff;
    font-weight: 900;
    width: 80%;
    padding: 5px 20px;
    text-align: center;
    font-size: 20px;
}


.request_form {
    background: #e0f3ed;
    padding: 30px 0;
}
.request_form .request_title {
    width: 80%;
    margin: 0 auto 10px;
}
.request_form .request_title > img {
    width: 100%;
}



.shop_info {
    padding: 30px 0;
    max-width: 100%;
}
.shop_info > .inner {
    width: 90%;
    margin: auto; 
}


.shop_info .name {
    text-align: center;
    max-width: 300px;
    margin: 0 auto 15px;
}
.shop_info .name > img {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    height: auto;
    object-fit: contain;
}




/* .shop_info .name > span {
    letter-spacing: -5px;
    margin: 0 0.3em;
} */

.shop_info .shop_image {
    width: 100%;
    margin-bottom: 10px;
}
.shop_info .shop_image > img {
    aspect-ratio: 3 / 2;
    display: block;
    width: 100%;
    height: auto;
}

.shop_info .text {
    text-align: center;
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 30px;
}

.shop_info .tel {
    color: #d7403a;
    /* font-size: 35px; */
    font-size: 8cqi;
    font-weight: 900;
    margin-bottom: 15px;
}
.shop_info .tel span {
    font-size: 50%;
}

.shop_info .address {
    display: flex;
    gap: 0 5px;
    flex-wrap: wrap;
    justify-content: center;
}
.shop_info .address > span:first-child {
    white-space: nowrap;
}
.shop_info .googlemap {
    width: 100%;
    margin-bottom: 30px;
}
.shop_info .googlemap > iframe {
    width: 100%;
    aspect-ratio: 3 / 2;
    display: block;
    height: auto;
}

.shop_info .shop_image > div {
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}



.bottom_contact {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ffff00;
    padding: 5px 0;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    gap: 1vw;
    padding-inline: 1vw;
    @media screen and (min-width: 992px) {
        background: none;
        right: -50px;
        left: inherit;
        bottom: 10%;
        display: block;
        width: 200px;
        transform: scale(1.5);
        transform-origin: right;
    }
    @media (min-width: 992px) and (max-width: 1365px) and (hover: none) and (pointer: coarse) {
        display: none;
    }
}
@media screen and (max-width: 767px) {
    .bottom_contact:not(:has(> a:nth-child(3))) {
        gap: 4vw;
        padding-inline: 4vw;
        letter-spacing: 0.1em;
    }
}
.bottom_contact > a {
    display: block;
    position: relative;
    color: #ffff00;
    flex: 1;
    background-image: url('./images2/fix_bg_l.png'),url('./images2/fix_bg_r.png');
    background-size: 15px 50px;
    background-repeat: no-repeat;
    background-position: left center, right 0 center;
    @media screen and (min-width: 768px) {
        margin-bottom: 15px;
    }
}
.bottom_contact > a.line {
    color: #00a73c;
}
.bottom_contact > a:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 15px;
    width: calc(100% - 30px);
    height: 100%;
    background-image: url('./images2/fix_bg_c.png');
    background-size: 100% 50px;
}
.bottom_contact > a > img {
    width: 100%;
    height: 50px;
    width: auto;
    display: block;
    position: relative;
}

.bottom_contact > a > span {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 3.2cqi;
    font-weight: bold;
    width: 100%;
    height: 100%;
    display: grid;
    align-content: center;
    justify-content: center;
    padding-left: 5%;
    line-height: 1;
}

.bottom_contact > a span.txt {
    font-size: 70%;
    display: block;
    text-align: center;
    line-height: 1;
}

.contact_form {
    background: #ffe7ff;
    padding: 30px 0;
}
.contact_form .contact_title {
    width: 80%;
    margin: 0 auto 10px;
}
.contact_form .contact_title > img {
    width: 100%;
}
.contact_form table {
    width: 90%;
    margin: 0 auto;
}

/*テーブル*/
table.two_column {
    border: none;
}
table.two_column tbody tr {
    border: none!important;
    margin-bottom: 15px;
    display: block;
}
table.two_column tbody th {
    display: block;
    border: none;
    width: 100%;
    padding: 0 0 5px;
    margin: 0;
}
table.two_column tbody th span.required2 {
    display: inline-block;
    margin-left: 0.5rem;
    padding: 0 0.4rem;
    border-radius: 0.2rem;
    font-size: 0.75rem;
    white-space: nowrap;
    color: white;
    background: #ff0000;
}

table.two_column tbody th span.required_b {
    display: inline-block;
    margin-left: 0.5rem;
    padding: 0 0.4rem;
    border-radius: 0.2rem;
    font-size: 0.75rem;
    white-space: nowrap;
    color: white;
    background: #333;
}

table.two_column tbody th span.small {
    font-size: 7.5px;
}

table.two_column tbody td {
    display: block;
    border: none;
    width: 100%;
    padding: 0;
    margin: 0;

}
table.mail_form span.wpcf7-list-item {
    font-size: 3.6cqi
}
table.mail_form tr th.required:after {
    background: #ff0000;
}

input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], select, textarea, .field {
    background: #fff;
    border: 1px solid #000;
    border-radius: 5px;
}

form .btn001 {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    margin-bottom: 0;
}

.wpcf7 form .wpcf7-response-output {
    line-height: 1.5;
    font-size: 12px;
    color: #ff0000;
    border: none;
    border-radius: 10px;
    text-align: center;
}


.contact_form .policy {
    font-size: 12px;
    text-align: center;
}

.contact_form .policy a {
    color: #ff0000;
    text-decoration: underline;
}


.contact_form .btn001 input[type="submit"] {
    background: #ff0000;
    border: 4px double #fff;
    font-weight: 900;
    width: 80%;
    padding: 5px 20px;
    text-align: center;
    font-size: 20px;
}



.request_form {
    background: #e0f3ed;
    padding: 30px 0;
}
.request_form .request_title {
    width: 80%;
    margin: 0 auto 10px;
}
.request_form .request_title > img {
    width: 100%;
}
.request_form table {
    width: 90%;
    margin: 0 auto;
}


.request_form .policy {
    font-size: 12px;
    text-align: center;
}

.request_form .policy a {
    color: #ff0000;
    text-decoration: underline;
}

.request_form .btn001 input[type="submit"] {
    background: var(--color-green01);
    border: 4px double #fff;
    font-weight: 900;
    width: 80%;
    padding: 5px 20px;
    text-align: center;
    font-size: 20px;
}


.shop_info {
    padding: 30px 0;
}
.shop_info > .inner {
    width: 90%;
    margin: auto; 
}
.shop_info .name > img {
    max-width: 100%;
    width: auto;
    margin: 0 auto;
    height: 40px;
    object-fit: contain;
}
.joycal_logo img {
  display: block;
  width: 60cqi;
  margin-inline: auto;
  margin: 0 auto 0.2em;
}
.shop_info .name {
    /* font-size: 32px; */
    font-size: 7.2cqi;
    font-weight: 900;
    color: #e50113;
    filter: drop-shadow(0px 0px 1px #000) drop-shadow(3px 3px 0px #000);
    font-style: italic;

    text-shadow: 
    var(--text-edge-color) 2px 0px,  var(--text-edge-color) -2px 0px,
    var(--text-edge-color) 0px -2px, var(--text-edge-color) 0px 2px,
    var(--text-edge-color) 2px 2px , var(--text-edge-color) -2px 2px,
    var(--text-edge-color) 2px -2px, var(--text-edge-color) -2px -2px,
    var(--text-edge-color) 1px 2px,  var(--text-edge-color) -1px 2px,
    var(--text-edge-color) 1px -2px, var(--text-edge-color) -1px -2px,
    var(--text-edge-color) 2px 1px,  var(--text-edge-color) -2px 1px,
    var(--text-edge-color) 2px -1px, var(--text-edge-color) -2px -1px;

    display: flex;
    justify-content: center;
    gap: 0 8px;
}
.shop_info .company {
    text-align: center;
    margin-block: -8px 1em;
    font-size: 3.6cqi;
    font-weight: bold;
    color: #444;
}
.shop_info .company.sub {
    margin-top: 1em;
    margin-bottom: 0em;
    font-size: 5cqi;
}
.shop_info .name .name_inner {
    filter: drop-shadow(0px 0px 1px #fef04d) drop-shadow(1px 1px 0px #fef04d);
}

/* .shop_info .name > span {
    letter-spacing: -5px;
    margin: 0 0.3em;
} */

.shop_info .shop_image {
    width: 100%;
    margin-bottom: 10px;
}
.shop_info .shop_image > img {
    aspect-ratio: 8 / 5;
    display: block;
    width: 100%;
    height: auto;
	object-fit: cover;
}

.shop_info .address {
    display: flex;
    gap: 0 5px;
    flex-wrap: wrap;
    justify-content: center;
}
.shop_info .address > span:first-child {
    white-space: nowrap;
}
.shop_info .googlemap {
    width: 100%;
    margin-bottom: 30px;
}
.shop_info .googlemap > iframe {
    width: 100%;
    aspect-ratio: 3 / 2;
    display: block;
    height: auto;
}

.shop_info .image_area {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.shop_info .image_area > img {
    display: block;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    width: 100%;
    height: auto;
}

.shop_info .image_area > img:first-child {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    width: 100%;
    height: auto;
}




/* 車種一覧 */
#noridoki_lineup {
    /* background-color: var(--color-orange01); */
    background-color:#1a2829;
}
.noridoki_car_list {
	/* padding: 25px; */
}
.noridoki_car_item {
	text-align: center;
	border: solid 1px #ccc;
	margin: 10px;
	container-type: inline-size;
	max-width: 500px;
	background: #fff;
    border-radius: 10px;
    /* width: 100%; */
}
.noridoki_car_item a {
	display: block;
	padding: 6cqi 12cqi;
	color: inherit;
	text-decoration: none;
    @media (min-width: 768px) {
        pointer-events: none;
    }
}
.noridoki_car_item h3 {
	font-weight: bold;
	font-size: 5.4cqi;
	margin: 1em 0;
}
.noridoki_car_item h3 .maker {
	display: block;
	font-size: 76%;
	font-weight: normal;
}
.noridoki_car_item .car_img {
	width: 100%;
	aspect-ratio: 40 / 19;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}
.noridoki_car_item .grade {
	font-size: 4.6cqi;
	margin: 0 auto 0.5em;
}
.noridoki_car_item .grade .note {
	font-size: 56%;
	margin-left: 0.5em;
}
.noridoki_car_item .price_label {
	width: 100px;
	margin: 0 auto 1em;
	background: var(--color-orange01);
	color: #fff;
	font-size: 14px;
}
.noridoki_car_item .price {
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1.2;
	font-weight: bold;
}
.noridoki_car_item .price p {
	margin: 0;
}
.noridoki_car_item .price .num {
	font-size: 40px;
}
.noridoki_car_item .price .unit {
	display: inline-flex;
	flex-direction: column-reverse;
	line-height: 1;
	margin: 0 5px;
	font-size: 20px;
}
.noridoki_car_item .price .unit .tax {
	font-size: 50%;
	margin-bottom: 0.2em;
}
.noridoki_car_item .total_price {
	font-size: 14px;
	white-space: nowrap;
}
.noridoki_car_item .total_price .num {
	font-size: 18px;
	margin: 0 0.1em;
}
.noridoki_car_item .credit_card {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 3cqi -6cqi;
	padding: 3cqi 0;
	border-bottom: 1px dotted #CCB;
}
.noridoki_car_item .credit_card .txt_credit_ok {
	background: #f2d100;
	display: inline-block;
	margin-right: 0.5em;
	font-size: min(3cqi, 12px);
	padding: 0.25em 0.8em;
	line-height: 1.4;
	font-weight: bold;
	color: #000;	
}
.noridoki_car_item .credit_card img {
	height: min(8cqi, 35px);
	margin: 0 1cqi;
    width: auto;
}
.noridoki_car_item .car_btn {
	font-size: min(4.5cqi, 16px);
	color: #fff;
	background: #000;
	border-radius: 5px;
	width: fit-content;
	margin: 0.5em auto;
	padding: 0.2em 2em;
	white-space: nowrap;
    @media (min-width: 768px) {
        cursor: pointer;
        pointer-events: auto;
    }
}
a.noridoki_btn01.carlist {
    margin-inline: auto;
    display: block;
    background: #fff;
    border: 2px solid;
    color: #000;
    font-weight: 800;
    padding: 0.4em 1em;
    width: 80%;
    text-align: center;
    border-radius: 100vh;
    box-shadow: 2px 2px 0 #000;
    letter-spacing: 0.1em;
}
/* @media (width >= 768px) {
	#noridoki_shop_slider_wrap {
		margin-top: -5vw;
	}
	.noridoki_car_list {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.noridoki_car_item {
		margin: 10px;
		flex-basis: calc(100% / 2 - 20px);
	}
}
@media (width >= 1030px) {
	.noridoki_car_item {
		flex-basis: calc(100% / 3 - 20px);
	}
} */


.pointBox {
	background:#FFF1EB;
	margin:auto;
	position:fixed;
	top:0;
	bottom:-2500px;
	right:0;
	left:0;
	z-index:10000;
	box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.2);
	border-radius:10px;
	transition: all .8s ease 0s;
	opacity:0;
}
.pointBox.view {
	top:0;
	left:0;
	right:0;
	bottom:0;
	opacity:1;
	display:block;
}
.pointBox .inner {
	overflow:scroll;
}

.pointBox::after {
	content:"";
	display:block;
	width:60px;
	height:60px;
	margin:0 auto;
	border-radius:60px;
	background-color:#0A0E1F;
	background-repeat:no-repeat;
	background-position:50% 50%;
	background-size:32px auto;
	position:absolute;
	top:-30px;
	left:0;
	right:0;
}
.pointBox#point1::after {
	background-image:url(./images2/point1.svg);
}
.pointBox#point2::after {
	background-image:url(./images2/point2.svg);
}
.pointBox#point3::after {
	background-image:url(./images2/point3.svg);
}

.pointBox::before {
	content:"";
	display:none;
	width:206px;
	height:206px;
	background-repeat:no-repeat;
	background-position:50% 50%;
	background-size:206px auto;
	position:absolute;
	top:-20px;
	right:-20px;
	z-index:100;
}
.pointBox#point1::before {
	background-image:url(./images2/icon_low1.svg);
}
.pointBox#point2::before {
	background-image:url(./images2/icon_low2.svg);
}
.pointBox#point3::before {
	background-image:url(./images2/icon_low3.svg);
}


.pointBox .pointTTL {
	margin-bottom:20px;
	padding:10px 0;
	text-align:center;
}
.pointBox .pointTTL span {
	display:inline-block;
	padding:0 0 15px;
	font-size: 20px;
	line-height:1.6em;
	letter-spacing:0.05em;
	font-weight:900;
	border-bottom:3px solid #F47B45;
}
.pointBox .leadTxt {
	margin-bottom:30px;
	font-size: 16px;
	line-height:1.8em;
	font-weight:700;
	text-align:center;
}

.pointBox .pointDetailList {
	width:100%;
	margin:0 auto;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.pointBox .pointDetailList li{
	width:100%;
	padding:15px;
	background:#ffffff;
	border-radius:10px;
	border:1px solid #DEDAC8;
	position:relative;
}


.pointBox .pointDetailList li::after{
	content: '';
	display:block;
	margin:0 auto;
	background-repeat:no-repeat;
	background-position:50% 65%;
	position:absolute;
	top:0;
	left:0;
	right:0;
}

#point1 .pointDetailList li{
	padding-top:140px;
}
#point1 .pointDetailList li::after{
	width:140px;
	height:140px;
}
#point1 .pointDetailList li:nth-child(1)::after{
	background-image:url(./images2/icon_point1_1.svg);
	background-size:116px auto;
}
#point1 .pointDetailList li:nth-child(2)::after{
	background-image:url(./images2/icon_point1_2.svg);
	background-size:100px auto;
}

#point2 .pointDetailList li{
	padding-top:120px;
}
#point2 .pointDetailList li::after{
	width:120px;
	height:120px;
}
#point2 .pointDetailList li:nth-child(1)::after{
	background-image:url(./images2/icon_point2_1.svg);
	background-size:90px auto;
}
#point2 .pointDetailList li:nth-child(2)::after{
	background-image:url(./images2/icon_point2_2.svg);
	background-size:90px auto;
}
#point2 .pointDetailList li:nth-child(3)::after{
	background-image:url(./images2/icon_point2_3.svg);
	background-size:70px auto;
}

#point3 .pointDetailList li{
	padding-top:200px;
}
#point3 .pointDetailList li::after{
	width:350px;
	height:200px;
}
#point3 .pointDetailList li:nth-child(1)::after{
	background-image:url(./images2/icon_point3_1.svg);
	background-size:300px auto;
}
#point3 .pointDetailList li:nth-child(2)::after{
	background-image:url(./images2/icon_point3_2.svg);
	background-size:300px auto;
}

.pointBox .pointDetailList li .icon{
	margin-bottom:20px;
	text-align:center;
}

.pointBox .pointDetailList li .midashi{
	margin-bottom:20px;
	font-size:20px;
	line-height:1.5em;
	font-weight:700;
	text-align:center;
}
.ttl-kazari {
	display:block;
	text-align:center;
}
.ttl-kazari span {
	display:inline-block;
	padding:0 40px;
	font-size:18px;
	font-weight:700;
	letter-spacing:0.1em;
	text-align:center;
	position:relative;
}
.ttl-kazari span.s {
	font-size:18px;
}
.ttl-kazari span::before,
.ttl-kazari span::after{
	content: '';
	display:block;
	width:20px;
	height:15px;
	background-image:url(./images2/ttl_kazari.svg);
	background-repeat:no-repeat;
	background-position:50% 50%;
	background-size:17px auto;
	margin:auto 0;
	position:absolute;
	top:0;
	bottom:0;
}
.ttl-kazari span::before{
	left:0;
}
.ttl-kazari span::after{
	right:0;
	transform: scale(-1, 1);
}
#overray {
    display: none;
}
.pointBox.view ~ #overray {
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
    position: fixed;
    top: 0px;
    bottom: 0px;
    right: 0px;
    left: 0px;
    z-index: 9999;
}
#modalClose {
    display: none;
}
.pointBox.view ~ #modalClose {
    display: block;
    width: 54px;
    height: 54px;
    text-align: center;
    cursor: pointer;
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 10000;
    transition: all 0.5s ease;
}
#modalClose span {
  display: block;
  width: 42px;
  height: 2px;
  margin: 0 auto;
  padding: 0;
  background-color: #ffffff;
  position: absolute;
  left: 0;
  right: 0;
  top: 26px;
  transition: all 0.5s ease;
}
#modalClose span:nth-child(1) {
  transform: rotate(315deg);
}
#modalClose span:nth-child(2) {
  transform: rotate(-315deg);
}
/*-------------------------------
	Display：←767px
-------------------------------*/
@media print, screen and (max-width: 767px){

	.pointBox .pointDetailList {
  		-ms-flex-wrap: wrap;
  		flex-wrap: wrap;
	}
	.pointBox .pointDetailList li{
		padding:20px;
		margin-bottom:20px;
	}
	.pointBox .pointDetailList li:last-child{
		margin-bottom:0;
	}
	
	#point3 .pointDetailList li{
		padding-top:150px;
	}
	#point3 .pointDetailList li::after{
		width:280px;
		height:150px;
	}
	#point3 .pointDetailList li:nth-child(1)::after{
		background-size:280px auto;
	}
	#point3 .pointDetailList li:nth-child(2)::after{
		background-size:280px auto;
	}
	
}

/*-------------------------------
	Display：←559px 
-------------------------------*/
@media print, screen and (max-width: 559px){

	.pointBox {
		width:90%;
		height:90%;
		max-height:480px;
	}
	.pointBox .inner {
		width:100%;
		height:100%;
		padding:35px 20px;
	}

}

/*-------------------------------
	Display：560px →
-------------------------------*/
@media print, screen and (min-width: 560px){

	.pointBox {
		width:540px;
		height:100%;
		max-height:480px;
	}
	.pointBox .inner {
		width:100%;
		height:100%;
		padding:35px 20px;
	}

}

/*-------------------------------
	Display：768px →
-------------------------------*/
@media print, screen and (min-width: 768px){

	.pointBox {
		width:700px;
		height:100%;
		max-height:700px;
	}
	.pointBox .inner {
		width:100%;
		height:100%;
		padding:35px 20px;
	}

	.pointBox .pointDetailList.c2 {
		width:95%;
		max-width:960px;
	}
	.pointBox .pointDetailList.c3 {
		width:95%;
		max-width:1000px;
	}
	.pointBox .inner{
		padding-top:70px;
	}
	.pointBox::after {
		width:88px;
		height:88px;
		background-size:44px auto;
		border-radius:88px;
		top:-44px;
	}
	.pointBox::before {
		display:block;
	}
	.pointBox .pointTTL {
		margin-bottom:30px;
	}
	.pointBox .pointTTL span {
		padding:0 0 20px;
		font-size:28px;
	}
	.pointBox .leadTxt {
		margin-bottom:40px;
		font-size:18px;
	}
	.pointBox .pointDetailList li{
		padding:35px;
	}
	.pointBox .pointDetailList.c2 li{
		width:48.5%;
	}
	.pointBox .pointDetailList.c3 li{
		width:32.33%;
	}
}


/*-------------------------------
	Display：960px →
-------------------------------*/
@media print, screen and (min-width: 960px){

	.pointBox {
		width:840px;
		height:500px;
	}
	.pointBox .inner {
		width:100%;
		height:100%;
		padding:35px 20px;
	}

}
/* 改行===============================*/
.br320{
	display: none;
}
.br375{
	display: none;
}
.brPad{
	display: none;
}
.brPc{
	display: none;
}
@media print, screen and (max-width: 320px){
	.br320{
		display: block;
	}
}
@media print, screen and (max-width: 375px){
	.br375{
		display: block;
	}
}
@media print, screen and (min-width: 768px){
	.br375{
		display: none;
	}
	.brPad{
		display: block;
	}
}
@media print, screen and (min-width: 960px) {
	.brPad{
		display: none;
	}
	.brPc{
		display: inline;
	}
}
.noridoki_youtube {
    background: #e87847;
}
.noridoki_youtube > .wrap {
    padding: 1em 0;
}
.noridoki_youtube .youtube_wrap {
    border-radius: 5px;
}
.noridoki_youtube .youtube_wrap iframe {
    display: block;
}

.upflier_wrap {
	margin-top: 5cqi;
}
.upflier_wrap h2 {
	background-color: #047bc0;
	text-align: center;
	font-size: 5.7cqi;
	font-weight: bold;
	color: #FFF;
	position: relative;
	margin-bottom: 1em;
	width: 80%;
	display: table;
	margin-left: auto;
	margin-right: auto;
}
.upflier_wrap h2:after {
	content: '';
	position: absolute;
	border: 10px solid transparent;
	border-top-color: #CCC;
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%);
	border-top-color: #047bc0;
}
.upflier_wrap .flier_link a {
	display: block;
    width: 95%;
	max-width: 600px;
	margin-inline: auto;
}
.upflier_wrap .flier_link a img {
	display: block;
	width: 100%;
}

@media (width >= 1200px) {
	.upflier_wrap h2 {
		/* font-size: 2cqi; */
		padding: 0.25em;
	}
}