@charset "utf-8";

@media screen and (max-width: 768px) {

footer .copy {font-size: 10px;}

.footer_content {
    text-align: center;
    padding: 1em;
}
.address_bloc .logo {
    width: 100px;
    margin: 0 auto 1em;
}
.address_bloc address {
    font-size: 3vw;
}

.thanks .detail h1 {
    font-size: 6vw;
}
.thanks .detail h1 + p {
    font-size: 4vw;
}
/*
.result_data {
    overflow-x: auto;
    white-space: nowrap;
}
*/
.price_table {

}

header.flex {
    align-items: center;
    justify-content: center;
    padding: 0.5em;
}
header .logo {
    max-width: 200px;
    width: 30%;
}
header .mark {
    margin-right: 0;
}
header .mark ul li {
    width: 36px;
}
header .util {
    display: none;
}

.mv_bottom {
    padding: 1em;
}
.mv_bottom p {
    font-size: 4vw;
}

.mv_content {
    position: relative;
    background-size: 50%;
}
.mv_figure {
    position: absolute;
    right: -2%;
    bottom: 0;
    width: 56%;
}
.mv_bloc {
    position: relative;
    z-index: 3;
    padding: 1em;
    width: 100%;
    flex: none;
}

.mv_bloc .catch {
    width: 80%;
    gap: 0.5em;
    align-items: center;
    justify-content: flex-start;
}
.mv_bloc .catch span {
    font-size: 6vw;
}
.mv_bloc .catch img {
    width: 64%;
}

.mv_bloc h1 {
    width: 80%;
    margin-bottom: 0.5em;
}
.mv_bloc h2 {
    text-align: left;
    margin-bottom: 0.5em;
}
.mv_bloc h2 span em {
    font-size: 3vw;
    line-height: 1.4em;
    background: rgb(0 0 0 / 84%);
}
.mv_bloc ul {
    width: 90%;
    gap: 0.5em;
}
.mv_bloc ul li {
    width: calc(100% / 3 - 0.5em);
}
.btxt {
    font-size: 2vw;
}


.trouble {
    padding: 1em 1em 0;
}
.trouble h2 {
    font-size: 6vw;
}
/*
.trouble_bloc figure {
    padding: 0 18.5vw 0 15vw;
}

.trouble_bloc ul li:nth-child(1) {
    max-width: 272px;
    width: 32%;
    top: -1em;
    left: 0;
}
.trouble_bloc ul li:nth-child(2) {
    max-width: 295px;
    width: 34%;
    top: 4em;
}
.trouble_bloc ul li:nth-child(3) {
    max-width: 270px;
    width: 32%;
    top: -1em;
}
.trouble_bloc ul li:nth-child(4) {
    max-width: 289px;
    width: 32%;
    top: 4em;
}
*/
.trouble_bloc figure {
    padding: 0 10.5vw 0 6vw;
}
.trouble_bloc ul {
    position: relative;
    /* height: 10em; */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5em;
}
.trouble_bloc ul li:nth-child(1) {
    position: static;
    max-width: 272px;
    width: 47%;
    top: -1em;
    left: 0;
}
.trouble_bloc ul li:nth-child(2) {
    position:static;
    max-width: 295px;
    width: 50%;
    top: 4em;
}
.trouble_bloc ul li:nth-child(3) {
    position:static;
    max-width: 270px;
    width: 47%;
    top: -1em;
}
.trouble_bloc ul li:nth-child(4) {
    position:static;
    max-width: 289px;
    width: 50%;
    top: 4em;
}






.issue_title {
    padding: 1em;
}
.issue_title h2 {
    font-size: 4vw;
}
.issue_title:after {
    border-width: 10px 15px 0 15px;
    bottom: -0.5em;
}
.issue_content {
    padding: 2em 1em;
}
.issue_bloc {
    gap: 1em;
}
.issue_item {
    width: 100%;
    border: solid 2px #c7230f;
}
.issue_item .title i {
    max-width: 114px;
    width: 16%;
}
.issue_item .title h3 {
    font-size: 5vw;
}
.issue_item .box {
    align-items: center;
    justify-content: space-between;
}
.issue_item .box figure {
    max-width: 200px;
    width: 36%;
}
.issue_item .box p {
font-size: 3.5vw;
}

.resolution_title {
    padding: 1em 2em;
}

.wrapper {
    padding: 2em 1em;
}

.resolution_bloc {
    padding: 1em;
}

.resolution_item figure {
    width: 100%;
}
.resolution_item {
    gap: 1em;
}
.resolution_item .box .title i {
    max-width: 134px;
    width: 16%;
}
.resolution_item .box .title h3 {
    font-size: 5vw;
}
.resolution_item .box p {
    font-size: 4vw;
}

.achieve_mv {
    background-size: 50%;
}
.achieve_mv .inner {
    position: relative;
}
.achieve_mv .inner figure {
    position: absolute;
    margin: 0;
    width: 36%;
    bottom: 0;
    right: 0;
}
.achieve_mv_bloc {
    position: relative;
    z-index: 2;
    width: 66%;
    padding: 1em;
}
.achieve_mv_bloc h2 span + span {
    margin-top: 0.5em;
}

.achieve_band {
    padding: 1em;
}
.achieve_band p {
    font-size: 4.5vw;
}
.achieve_bloc {
    gap: 1em;
}
.achieve_item {
    width: 100%;
}


.achieve_item h3 {
    padding: 0.5em;
}
.achieve_item h3 img {
    display: block;
    height: 20px;
    margin: 0 auto;
}
.achieve_item .box p {
    font-size: 4vw;
}

.achieve_item .box .detail figure {
    width: 40%;
}

.achieve_item .box .detail .cell dl {
    font-size: 3vw;
}
.achieve_item .box .detail .cell dl dd span {
    font-size: 4vw;
}

.achieve_item .box .detail .cell dl:first-child dd {
    font-size: 4vw;
}

.free h2 {
    padding: 0 2em;
    margin-bottom: 1em;
}
.free_content {
    padding: 1em;
}
.free_bloc {
    align-items: flex-start;
    justify-content: center;
    gap: 1em;
}
.free_item {
    max-width: none;
    width: calc(100% / 2 - 0.5em);
}
.free_item .box h3 {
    margin-bottom: 0.5em;
}
.free_item .box p {
    font-size: 3vw;
}

.announce_01 {
    padding: 0;
}
.announce_02 {
    padding: 0;
}

.forte h2 {
    font-size: 5vw;
}
.forte p {
    font-size: 3vw;
}
.result h2 {
    padding: 0 1em;
    margin-bottom: 1em;
}
.result_content {
    padding: 1em;
}
.result_bloc {
    gap: 1em;
    margin-bottom: 1em;
}
.result_item {
    flex: auto;
    width: 100%;
}
.result_item .meta {
    width: 100%;
    margin-bottom: 1em;
}
.result_item .meta i {
    max-width: 161px;
    width: 20%;
}
.result_item .meta .item_ttl h3 {
    font-size: 5vw;
}
.result_item .meta .item_ttl p {
    font-size: 4vw;
}
.result_comparison {
    width: 100%;
}
.comparison_upper .difference {
    gap: 0;
    padding: 0.5em;
}
.comparison_upper .difference .txt {
    display: block;
    width: 100%;
    font-size: 4vw;
}
.comparison_upper .difference .price {
    width: 100%;
    font-size: 4vw;
}
.comparison_upper .difference .price em {
    font-size: 7vw;
}
.comparison_upper > p {
    font-size: 3vw;
}
.comparison_bloc h4 {
    padding: 0 4em;
}



.comparison_table tr:last-child td span em {
    font-size: 7vw;
}
.comparison_table th span {
    font-size: 4vw;
}
.comparison_table td span em {
    font-size: 5vw;
}
.comparison_table tr:last-child th {
    border-top: solid 5px #e12b19;
    border-bottom: solid 5px #e12b19;
    border-left: solid 5px #e12b19;
}
.comparison_table tr:last-child td {
    border-top: solid 5px #e12b19;
    border-bottom: solid 5px #e12b19;
    border-right: solid 5px #e12b19;
}

.price_table th img {
    height: 20px;
}

.price_table th {
    font-size: 3vw;
    padding: 0.5em;
}
.price_table td {
    padding: 0.5em;
}

.d1 {
    width: auto;
}
.d2 {
    width: auto;
}
.d3 {
    width: auto;
}


.d1 em {
    font-size: 2vw;
    margin-bottom: 0.5em;
}
.d1 span {
    font-size: 2vw;
}
.d2 dl {
    gap: 0.1em;
}
.d2 dl + dl {
    margin-top: 0.2em;
}
.d2 dl dt {
    font-size: 2vw;
}
.d2 dl dd {
    font-size: 1vw;
}
.d2 dl dd em {
    font-size: 2vw;
}

.d3 span {
    font-size: 1vw;
}
.d3 span em {
    font-size: 3vw;
}

.price_table th:nth-of-type(3) {
    border-left: solid 5px #e12b19;
    border-right: solid 5px #e12b19;
}
.price_table td:nth-of-type(3) {
    border-left: solid 5px #e12b19;
    border-right: solid 5px #e12b19;
}

.price_table tr:first-child th:nth-of-type(3) {
    border-top: solid 5px #e12b19;
}
.price_table tr:last-child td:nth-of-type(3) {
    border-bottom: solid 5px #e12b19;
}

.wrapper > .inner > * + * {
    margin-top: 2em;
}
.banner {
    margin-top: 1em!important;
}
.cap {
    text-align: left;
    font-size: 13px;
}
.cv {
    border-top: solid 6px #c7240f;
    border-bottom: solid 6px #c7240f;
    padding: 1em;
    margin-top: 1em!important;
}
.cv h2 {
    margin-bottom: 1em;
}
.cv_bloc {
    border: solid 2px #e12b19;
    padding: 1em;
}
.cv_bloc h3 {
    padding: 0 1em;
    margin-top: -1.7em;
}
.cv_tel_txt p {
    font-size: 4vw;
}
.cv_tel_txt span {
    font-size: 6vw;
}

.cv_tel {
    border: solid 2px #e12b19;
    padding: 0.5em;
}
.cv_tel .tel {
    margin-bottom: 0.2em;
}
.cv_tel .tel i {
    max-width: 45px;
    width: 30px;
}
.cv_tel .tel a {
    font-size: 8vw;
}
.cv_tel_bloc {
    gap: 1em;
}
.cv_tel p {
    font-size: 2vw;
}

.cv_btn_bloc ul li {
    width: calc(100% / 2 - 0.5em);
}
.cv_btn_bloc ul li a span {
    font-size: 3vw;
    width: 100%;
}

.cv_btn_bloc ul li a.mail i {
    width: 30px;
}
.cv_btn_bloc ul li a.line i {
    width: 30px;
}
.cv_btn_bloc ul li a {
    padding: 0.5em;
    gap: 0.2em;
}

.brand {
    padding: 1em;
}
.brand h2 {
    padding: 0 3em;
}
.brand_bloc ul li {
    width: calc(100% / 3 - 2em);
}

.safe h2 {
    padding: 0.5em 2em;
}
.safe h2 img {
    display: block;
}
.safe_content {
    padding: 1em;
}

.safe_bloc h3 {
    font-size: 4vw;
}
.safe_bloc h3 em {
    font-size: 4vw;
    line-height: 1;
    vertical-align: initial;
}

.safe_bloc ul li:before {
    width: 40px;
    height: 30px;
}
.safe_bloc ul li {
    background-size: cover;
    padding-left: 3.5em;
    height: 68px;
}
.safe_bloc ul li span {
    font-size: 4vw;
    line-height: 1em;
}
.safe_bloc ul {
    gap: 0.5em;
}
.safe_bloc {
    margin-bottom: 2em;
}

.attention_bloc {
    padding: 1em;
}
.attention_bloc i {
    width: 2em;
    margin: -2em auto 0.5em;
}
.attention_bloc h3 {
    font-size: 3vw;
    margin-bottom: 1em;
}
.attention_bloc ul li {
    padding: 0.5em;
}
.attention_bloc ul li span {
    display: inline-block;
    font-size: 4vw;
    line-height: 1.4em;
}

.reason h2 {
    padding: 0 1em;
    margin-bottom: 1em;
}
.reason_bloc {
    padding: 1em;
    gap: 1em;
}
.reason_item .box .txt {
    font-size: 3vw;
}
.reason_item .box h3 {
    margin-bottom: 0.5em;
}
.reason_item {
    width: calc(100% / 2 - 0.5em);
}

.sub_wrapper {
    padding: 1em;
}

.flow h2 {
    padding: 0 4em;
    margin-bottom: 1em;
}
.flow_item {
    max-width: none;
    position: relative;
}
.flow_item .cell {

}
.flow_item h3 {
    width: 24%;
    margin: 0;
    position: absolute;
    top: 0.5em;
    left: 0.5em;
}
.flow_item .cell p {
    font-size: 4vw;
}
.flow_bloc {
    gap: 1em;
}
.flow_item .cell figure {

}
.flow_item .cell figure img {
    width: 100%;
}
.flow_item + .flow_item {
    margin-top: 1em;
}

.area h2 {
    padding: 0 4em;
    margin-bottom: 1em;
}
.area_bloc {
    gap: 1em;
}


.area_box {
    width: 100%;
}
.area_bloc figure {
    width: 60%;
    margin: 0 auto;
}
.area_box dl dt {
    font-size: 4vw;
}
.area_box dl dd {
    font-size: 3vw;
}

.cm .inner {
    padding: 1em;
    position: relative;
}

.cm .inner figure {
    width: 27%;
    position: absolute;
    bottom: 0;
    right: 0.5em;
}
.cm_bloc {
    position: relative;
    z-index: 2;
}
.cm_bloc p {
    margin-bottom: 1em;
}

.cm_bloc ul li {
    width: calc(100% / 3 - 0.5em);
}
.cm_bloc ul {
    width: 80%;
    gap: 0.5em;
}
.cm_bloc h2 {
    width: 70%;
    padding: 0 1em;
    margin-bottom: 1em;
}
.cm {
    background-size: 50%;
}

.member h2 {
    padding: 0 4em;
    margin-bottom: 1em;
}
.member_bloc {
    padding: 1em;
}

.member_item figure {
    width: 100%;
}
.member_item {
    gap: 1em;
}


.member_box .cell p {
    font-size: 3vw;
}
.member_box .cell .en {
    margin-bottom: 0.5em;
}
.member_box .cell .en img {
    height: 16px;
    display: block;
}
.member_box h3 {
    width: 1.5em;
}


.voice h2 {
    padding: 0 4em;
    margin-bottom: 1em;
}

.voice_bloc {
    padding: 1em;
}
.voice_item + .voice_item {
    margin-top: 2em;
}
.voice_item {
    gap: 1em;
}
.voice_item figure {
    width: 100%;
    text-align: center;
}
.voice_box {
    flex: auto;
    width: 100%;
}
.voice_meta p {
    font-size: 4vw;
}
.voice_meta h3 {
    font-size: 5vw;
}
.voice_txt p {
    font-size: 3vw;
}


.faq h2 {
    padding: 0 4em;
    margin-bottom: 1em;
}
.faq_bloc {
    padding: 1em;
}

.faq_bloc dl dt span {
    display: inline-block;
    font-size: 4vw;
    line-height: 1.4em;
}
.faq_bloc dl dt {
    padding: 0.8em 2em 0.8em 3em;
}
.faq_bloc dl dd {
    font-size: 4vw;
    line-height: 1.4em;
    padding: 1em 1em 1em 3em;
}

.faq_bloc dl dt:after {
    font-size: 1em;
}


.faq_bloc dl dt:before {
    width: 18px;
    height: 23px;
    left: 0.6em;
}
.faq_bloc dl dd:before {
    width: 18px;
    height: 20px;
    left: 0.7em;
}
.faq_bloc dl dt {
    padding: 0.8em 2em 0.8em 3em;
}
.faq_bloc dl + dl {
    margin-top: 1em;
}

.contact {
    padding: 2em 1em;
}
.contact_upper {
    margin-bottom: 1em;
}
.contact_upper h2 {
    padding: 0 4em;
    margin-bottom: 1em;
}
.contact_upper p {
    font-size: 3vw;
}

.contact_privacy {
    font-size: 3vw;
}

.btn_bloc button {
    font-size: 4vw;
}



#top {
    
}
.fix_banner {
    position: fixed;
    width: 100%;
    bottom: 0;
    left: 0;
    background: #fff;
    z-index:10000;
}
body.thanks_body.piano .fix_banner {
    display: none!important;
}
.fix_banner .util {
    align-items: stretch;
    justify-content: space-between;
}

.fix_banner .util .btn_bloc {
    width: 40%;
}
.fix_banner .util .btn_bloc ul {

}
.fix_banner .util .btn_bloc ul li {
    width: 50%;
}
.fix_banner .util .btn_bloc ul li a {
    color: #fff;
    display: block;
    text-decoration: none;
    padding: 0.5em;
}
.fix_banner .util .btn_bloc ul li a i {
    display: inline-block;
    width: 6vw;
    margin-bottom: 0.1em;
}
.fix_banner .util .btn_bloc ul li a p {
    display: block;
    font-size: 2vw;
}
.fix_banner .util .btn_bloc ul li a p em {
    font-size: 3vw;
    font-weight: 900;
}

.fix_banner .util .btn_bloc ul li a.mail {
    background: #c7240f;
}
.fix_banner .util .btn_bloc ul li a.line {
    background: #12a73b;
}

.fix_banner .util .tel_bloc {
    width: 60%;
    padding: 0.8em 0.5em 0.5em;
    border: solid 2px #c7240f;
    box-sizing: border-box;
}
.fix_banner .util .tel_bloc p {
    font-size: 3vw;
    line-height: 1em;
    font-weight: 900;
    margin-bottom: 0.2em;
}
.fix_banner .util .tel_bloc p em {
    color: #e22c1a;
}
.fix_banner .util .tel_bloc .tel {
    align-items: center;
    justify-content: center;
    gap: 0.2em;
}
.fix_banner .util .tel_bloc .tel i {
    display: inline-block;
    width: 6vw;
}
.fix_banner .util .tel_bloc .tel i img {
    display:block;
}
.fix_banner .util .tel_bloc .tel a {
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    font-size: 5vw;
    line-height: 1;
}
.fix_banner .util .tel_bloc .tel a em {
    font-size: 6vw;
    line-height: 1;
}


/* LINE無し版 */
body.piano-02 .fix_banner .util .btn_bloc ul,
body.piano-02 .fix_banner .util .btn_bloc ul li,
body.piano-02 .fix_banner .util .btn_bloc ul li a,
body.furniture-02 .fix_banner .util .btn_bloc ul,
body.furniture-02 .fix_banner .util .btn_bloc ul li,
body.furniture-02 .fix_banner .util .btn_bloc ul li a,
body.doll-02 .fix_banner .util .btn_bloc ul,
body.doll-02 .fix_banner .util .btn_bloc ul li,
body.doll-02 .fix_banner .util .btn_bloc ul li a,
body.health_equipment-02 .fix_banner .util .btn_bloc ul,
body.health_equipment-02 .fix_banner .util .btn_bloc ul li,
body.health_equipment-02 .fix_banner .util .btn_bloc ul li a {
    height: 100%;
}
body.piano-02 .fix_banner .util .btn_bloc ul li a p,
body.furniture-02 .fix_banner .util .btn_bloc ul li a p,
body.doll-02 .fix_banner .util .btn_bloc ul li a p,
body.health_equipment-02 .fix_banner .util .btn_bloc ul li a p {
    font-size: 3.5vw;
}
body.piano-02 .fix_banner .util .btn_bloc ul li a i img,
body.furniture-02 .fix_banner .util .btn_bloc ul li a i img,
body.doll-02 .fix_banner .util .btn_bloc ul li a i img,
body.health_equipment-02 .fix_banner .util .btn_bloc ul li a i img {
    display: block;
}
body.piano-02 .fix_banner .util .btn_bloc ul li:nth-child(1),
body.furniture-02 .fix_banner .util .btn_bloc ul li:nth-child(1),
body.doll-02 .fix_banner .util .btn_bloc ul li:nth-child(1),
body.health_equipment-02 .fix_banner .util .btn_bloc ul li:nth-child(1) {
    width: 100%;
}
body.piano-02 .fix_banner .util .btn_bloc ul li:nth-child(1) a,
body.furniture-02 .fix_banner .util .btn_bloc ul li:nth-child(1) a,
body.doll-02 .fix_banner .util .btn_bloc ul li:nth-child(1) a,
body.health_equipment-02 .fix_banner .util .btn_bloc ul li:nth-child(1) a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
body.piano-02 .fix_banner .util .btn_bloc ul li:nth-child(1) a i,
body.furniture-02 .fix_banner .util .btn_bloc ul li:nth-child(1) a i,
body.doll-02 .fix_banner .util .btn_bloc ul li:nth-child(1) a i,
body.health_equipment-02 .fix_banner .util .btn_bloc ul li:nth-child(1) a i {
    margin: 0 .5em 0 0;
}
body.piano-02 .fix_banner .util .btn_bloc ul li:nth-child(2),
body.furniture-02 .fix_banner .util .btn_bloc ul li:nth-child(2),
body.doll-02 .fix_banner .util .btn_bloc ul li:nth-child(2),
body.health_equipment-02 .fix_banner .util .btn_bloc ul li:nth-child(2) {
    display: none;
}

}