@charset "utf-8";
/* cyrillic-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu72xKKTU1Kvnz.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu5mxKKTU1Kvnz.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu7mxKKTU1Kvnz.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4WxKKTU1Kvnz.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu7WxKKTU1Kvnz.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu7GxKKTU1Kvnz.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4mxKKTU1Kg.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
* {
    margin: 0;
    padding: 0;
}
html {
    font-size: 62.5%;
}
body {
    position: relative;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    background: #141414;
}
ol,
li {
    list-style: none;
}
img {
    width: 100%;
}
nav {
    position: fixed;
    right: 0;
    height: 100vh;
    display: inline-block;
    width: 15%;
    box-sizing: border-box;
    z-index: 100;
    background: #151515;
    padding: 15px 5px 0;    
}
p.notes,
.plan_box .default{
  font-size: 1.4rem;
}

@media (max-width: 768px) {
  p.notes,
  .plan_box .default{
    font-size: 1rem;
  }
}

.contents {
    display: inline-block;
    width: 85%;
    box-sizing: border-box;
}
.section {
    border: 10px solid #141414;
    border-bottom: none;
    background: #fff;
    box-sizing: border-box;
}
.section:last-of-type {
    border-bottom: 10px solid #141414;
}
.style_wrap{
    position: relative;
    padding: 2%;
}
.roboto {
    font-family: 'Roboto', sans-serif,arial;
}
.pc {
    display: block;
}
.sp {
	display: none ;
}
.pc1000 {
    display: block;
}
.sp1000 {
    display: none;
}

.logo {
    position: absolute;
    width: 16vw;
    z-index: 100;
}

@media (max-width: 1440px) {
    nav {
        width: 20%;
    }
    .contents {
        width: 80%;
    }
}

@media (max-width: 1024px) {
    nav {
        transform: translateX(100%);
        transition: .5s;
        padding-top: 8vw;
    }
    nav.open {
        transform: none;
    }
    .pc1000 {
        display: none;
    }
    .sp1000 {
        display: block;
    }
    .pad {
        padding-bottom: 0;
        border-bottom: 10px solid #141414;
    }
    .contents {
        width: 100vw;
        margin-top: 8vw;
        margin-bottom: 4vw;
    }
    .logo {
        position: fixed;
        width: 15vw;
        padding: 2.5%;
    }
    .sp_header {
        position: fixed;
        background: #141414;
        width: 100vw;
        height: 8vw;
        z-index: 101;
    }
    .section:first-of-type {
        border-top: none;
    }
}

@media (max-width: 768px) {
    .section {
        border-width: 5px;
    }
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
    .pad {
        padding-bottom: 15.5vw;
        border-width: 5px;
    }
    nav {
        width: 50%;
        padding: 7px;
        padding-top: 16vw;
    }
    .logo {
        position: fixed;
        width: 27vw;
        padding: 4.5% 2%;
    }
    .sp_header {
        height: 16vw;
    }
    .contents {
        margin-top: 16vw;
    }
}


/* nav
***********************************************/
.nav_wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    width: 100%;
    font-size: 3rem;
}
.s_menu_wrap {
    position: relative;
}
.s_menu_wrap ol.s_menu_list {
    display: flex;
    position: relative;
    flex-direction: column;
    color: #fff;
    width: 100%;
    transition: 0.5s ease-in-out;
}
.s_menu_wrap ol.s_menu_list a {
    color: #fff;
    text-decoration: none;
}
.s_menu_wrap ol.s_menu_list li.lists {
    margin-top: 5%;
    width: 100%;
    padding-bottom: 5%;
    border-bottom: #fff 1px dotted;
}

.s_menu_wrap ol.s_menu_list li.lists ol {
    display: flex;
    cursor: pointer;
}
.s_menu_wrap li.slash_num {
    font-size: 85%;
    margin: 2% 6% auto 0;
    white-space: nowrap;
}
.s_menu_wrap li.slash_num span {
    display: inline-block;
    transform: rotateZ(470deg);
    transition: transform .5s;
}
.s_menu_wrap li.slash_num span.active {
    transform: none;
}
.s_menu_wrap p.list_name {
    font-size: 60%;
}
.s_menu_wrap .list_items {
    width: 55%;
}
.s_menu_wrap p.list_txt {
    font-size: 40%;
}
.s_menu_bottom_wrap {
    position: relative;
    width: 100%;
    margin-top: 15%;
}
.s_menu_bottom_wrap .menu_border {
    position: absolute;
    width: 78%;
    max-width: 210px;
    margin: 0 auto;
    left: 0;
    right: 0;
    transition: 0.5s ease-in-out;
}
.bottom_menu_list_1,
.bottom_menu_list_2,
.bottom_menu_list_3 {
    width: 100%;
    display: flex;
}
.bottom_menu_list_1 li,
.bottom_menu_list_2 li,
.bottom_menu_list_3 li {
    border: #fff 1px solid;
    line-height: 0;
    padding: 5%;
    width: 50%;
    box-sizing: border-box;
}
.bottom_menu_list_1 > li:nth-child(1),
.bottom_menu_list_2 > li:nth-child(1),
.bottom_menu_list_3 > li:nth-child(1) {
    border-right: none;
}
.bottom_menu_list_2 li,
.bottom_menu_list_3 li {
    border-top: none;
}
  #social_sp {
  display: none;
  }
  #social_pc {
    display: block;
    justify-content: center;
    margin-top: 5%;
    width: 100%;
    font-size: 0;
  }
  #social_pc li.tw {
    display: inline-block;
    width: 50%;
  }
  #social_pc li.fb {
    display: inline-block;
    width: 50%;
  }
@media (max-height: 768px) {
    .s_menu_wrap ol.s_menu_list li.lists {
      margin-top: 3%;
      padding-bottom: 3%;
  }
    .s_menu_wrap li.slash_num {
      font-size: 100%;
  }

  .s_menu_wrap p.list_name {
      font-size: 60%;
      margin-bottom: 2%;
  }
  .s_menu_wrap .list_items {
      width: 70%;
  }
  .s_menu_wrap p.list_txt {
      font-size: 50%;
      line-height: 1.4;
  }
  .s_menu_wrap ol.s_menu_list {
    font-size: 2.5rem;
  }
  .b_menu_list_wrap{
    display: flex;
    justify-content: center;
    width: 100%;
    align-items: end;
  }
  .s_menu_bottom_wrap {
      margin-top: 5%;
  }
  .s_menu_bottom_wrap .menu_border {
      width: 100%;
      max-width: 240px;
  }
  .bottom_menu_list_1,
  .bottom_menu_list_2,
  .bottom_menu_list_3 {
    display: block;
    width:80%;
  }
  .bottom_menu_list_1 li,
  .bottom_menu_list_2 li,
  .bottom_menu_list_3 li {
      width: 100%;
      padding: 0;
  }
  .bottom_menu_list_1 li p,
  .bottom_menu_list_2 li p,
  .bottom_menu_list_3 li p {
    padding: 8%;
  }
.bottom_menu_list_2 > li:nth-child(1),
.bottom_menu_list_3 > li:nth-child(1) {
    border-top: #fff 1px solid;
}
.bottom_menu_list_1 > li:nth-child(2),
.bottom_menu_list_2 > li:nth-child(2){
    border-top: none;
    border-right: none;
}

.bottom_menu_list_3 >li:nth-child(1) {
    border-right: #fff 1px solid;
    padding-bottom: 1px;
}
.bottom_menu_list_3 >li:nth-child(2) {
    border-right: #fff 1px solid;
    padding-bottom: 1px;
}

}
@media (max-width: 768px) {
.s_menu_wrap ol.s_menu_list li.lists {
    margin-top: 4%;
    width: 100%;
    padding-bottom: 4%;
    border-bottom: #fff 1px dotted;
}
.s_menu_wrap .list_items {
    width: 70%;
}
    .s_menu_bottom_wrap.pc {
        display: none;
    }
    .s_menu_wrap li.slash_num {
        font-size: 100%;
        margin: 2% 5% auto 0;
    }
    .s_menu_wrap p.list_name{
        font-size: 70%;
    }    
    .s_menu_wrap p.list_txt{
        font-size: 55%;
    }    
    .footer_nav.sp {
        position: fixed;
        width: 100%;
        bottom: 0;
        background: #141414;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 100;
    }
    .footer_btn {
        border-right: #fff solid 1px;
        padding: 2% 3%;
    }
    .footer_btn:last-of-type {
        border-right: none;
    }
    #social_pc {
    display: none;
    }
    #social_sp {
    display: block;
    height: auto;
    font-size: 0;
    margin: 10% 0 0 5%;
    }
    #social_sp li.tw {
      margin-bottom: 5%;
    }
  .pagetop_btn{
    position: fixed;
    transition: 1s ease-in-out;
    bottom: 0;
    right: 2%;
    transform: translateY(100px);
    z-index: 9999;
    width: 12%;
  }
  .pagetop_btn.active{
    transform: translateY(-10vh);
  }
}
@media (max-width: 375px) {
  .s_menu_wrap ol.s_menu_list li.lists {
    margin-top: 5%;
    width: 100%;
    padding-bottom: 5%;
    border-bottom: #fff 1px dotted;
}
    .s_menu_wrap li.slash_num {
        font-size: 68%;
    }
    .s_menu_wrap p.list_name{
        font-size: 50%;
    }    
    .s_menu_wrap p.list_txt{
        font-size: 40%;
    }    
    #social_sp {
    margin: 25% 0 0 5%;
    }
  .pagetop_btn{
    width: 16%;
  }
}
@media (max-width: 320px) {
    .s_menu_wrap li.slash_num {
        font-size: 55%;
    }
    .s_menu_wrap p.list_txt {
        font-size: 35%;
    }
    #social_sp {
    margin: 12% 0 0 5%;
    }
    #social_sp li.tw {
      margin-bottom: 5%;
    }
}
/* fv
***********************************************/
.fv_wrap {
    position: relative;
}
.fv_logo {
    position: absolute;
    top: 10%;
    left: 0;
    right: 0;
    text-align: center;
    z-index: 10;
    opacity: 0;
    animation: fade_in 1s 1s forwards;
}
.fv_logo img {
    width: 40%;
}
@keyframes fade_in {
    100% {
        opacity: 1;
    }
}
.fv_car {
    display: flex;
    justify-content: center;
    overflow: hidden;
    height: 45vw;
}
.fv_car.sp {
    display: none;
}
.fv_car_wrap {
    width: 50%;
    position: relative;
    cursor: pointer;
}
.fv_copy {
    position: absolute;
    top: 30%;
    width: 28%;
    left: -1.5%;
    z-index: 10;
    animation: slide_in .5s 1.4s forwards;
    transform: translateX(-100%);
}
.fv_copy.copy01 {
    left: 10%;
    animation: slide_in .5s 1.2s forwards;
}
.pc .fv_copy.copy01:after {
    content: "";
    display: inline-block;
    position: absolute;
    background: url(../img/fv_btn_left.png) no-repeat;
    width: 24%;
    height: 32%;
    background-size: contain;
    right: 0;
    bottom: 8px;
    top: 0;
    margin: auto;
}
.pc .fv_copy.copy02:after {
    content: "";
    display: inline-block;
    position: absolute;
    background: url(../img/fv_btn_right.png) no-repeat;
    width: 17%;
    height: 32%;
    background-size: contain;
    right: 0;
    bottom: 4px;
    top: 0;
    margin: auto;
}
@keyframes slide_in {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: skewX(27.5deg);
    }
}
.fv_img {
    position: relative;
    width: 90vw;
    overflow: hidden;
    animation: skew1 .2s 1s forwards;
}
@keyframes skew1 {
    100% {
        transform: skewX(-27.5deg);
    }
}
.fv_img::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    background: #141414;
    animation: height0 .5s .5s forwards;
}
@keyframes height0 {
    100% {
        height: 0;
    }
}
.fv_img.red {
    margin-left: 45%;
    transition: .5s;
}
.fv_img.white {
    margin-left: -35%;
    transition: .5s;
}
.fv_img > img {
    width: 90vw;
    animation: skew2 .2s 1s forwards;
}
@keyframes skew2 {
    0% {
        transform: skewX(0deg);
    }
    100% {
        transform: skewX(27.5deg);
    }
}
.fv_car_wrap:nth-child(1) .fv_img {
    margin-left: -15vw;
}
.fv_car_wrap:nth-child(2) .fv_img > img {
    margin-left: -15vw;
}
.fv_car_wrap:nth-child(1) .fv_img::after {
    bottom: 0;
}
.fv_car_wrap:nth-child(2) .fv_img::after {
    top: 0;
}
.fv_price {
    position: absolute;
    width: 80%;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(20,20,20,.7);
    padding: 2% 5%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
}
.fv_price_top {
    width: 30%;
    padding-right: 10%;
}
.fv_price_bottom {
    width: 30%;
    padding-right: 5%;
}
.fv_price_btn {
    width: 25%;
}
.fv_bottom {
    padding: 5% 10%;
}
.cv_ttl {
    width: 69%;
    margin-bottom: 1%;
}
.cv_btn_wrap {
    display: flex;
    align-items: center;
}
.cv_btn_wrap.sp {
    display: none;
}
.cv_btn {
    width: 30%;
    margin-right: 2%;
}
.cv_btn_bk_wrap {
    width: 40%;
}
@media (max-width: 1024px) {
    .fv_car {
        height: 50vw;
    }
    .fv_img > img {
        width: 100vw;
    }
}
@media (max-width: 768px) {
    .fv_logo {
        top: 7%;
    }
    .fv_logo img {
        width: 77%;
    }
    .fv_car.pc {
        display: none;
    }
    .fv_car.sp {
        display: block;
        position: relative;
        height: auto;
    }
    .fv_copy {
        position: absolute;
        top: 55%;
        width: 51%;
        left: 0;
        z-index: 10;
        transform: translateX(-100%);
        animation: slide_in .5s .4s forwards;
    }
    .fv_copy.copy01 {
        left: 0;
        top: 22%;
        width: 46%;
        animation: slide_in .5s .2s forwards;
    }
    @keyframes slide_in {
        0% {
            transform: translateX(-100%);
        }
        100% {
            transform: none;
        }
    }
    .fv_price {
        top: 90%;
        bottom: auto;
        padding: 4% 5%;
        flex-wrap: wrap;
    }
    .fv_price_top {
        width: 100%;
        padding-right: 0%;
        margin-bottom: 4%;
    }
    .fv_price_bottom {
        width: 60%;
        padding-right: 5%;
    }
    .fv_price_btn {
        width: 35%;
    }
    .fv_bottom {
        padding: 26% 5% 5%;
    }
    .cv_ttl {
        width: 100%;
        margin-bottom: 1%;
    }
    .cv_btn_wrap.pc {
        display: none;
    }
    .cv_btn_wrap.sp {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .cv_btn {
        width: 32%;
        margin-right: 0;
    }
    .cv_btn_bk_wrap {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }
    .cv_btn_bk {
        width: 49%;
    }
}

/* sec01
***********************************************/
.chr_ttl {
    width: 80%;
    margin-bottom: 80px;
}
.chr_red {
    margin-bottom: 80px;
}
.chr_white {
    margin-bottom: 40px;
}
.chr_wrap {
    width: 87%;
    margin: 0 auto;
}
.chr_wrap li{
    position: relative;
    overflow: hidden;
    transition: all 0.4s ease, z-index 0s;
    cursor: pointer;
    box-sizing: border-box;
}
.chr_wrap li img{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: auto;
    max-width: 160%;
    min-width: 100%;
    min-height: 100%;
}
.chr_wrap li.a{
    position: absolute;
    transform-origin: top left;
    border-bottom: #fff 2.5px solid;
    border-right: #fff 2.5px solid;
    top: 0;
    left: 0%;
    height: 100%;
}
.chr_wrap li.a.open{
    width: 38%;
    height: 170%;
    border-bottom: #fff 5px solid;
    border-right: #fff 5px solid;
}

.chr_wrap li.b{
    position: absolute;
    transform-origin: top;
    border-bottom: #fff 2.5px solid;
    border-left: #fff 2.5px solid;
    border-right: #fff 2.5px solid;
    top: 0;
    left: 22.66%;
    height: 100%;
}
.chr_wrap li.b.open{
    width: 38%;
    height: 170%;
    border-bottom: #fff 5px solid;
    border-left: #fff 5px solid;
    border-right: #fff 5px solid;
}

.chr_wrap li.c{
position: absolute;
    transform-origin: top right;
    border-bottom: #fff 2.5px solid;
    border-right: #fff 2.5px solid;
    border-left: #fff 2.5px solid;
    top: 0;
    right: 32%;
    height: 100%;
}
.chr_wrap li.c.open{
    width: 38%;
    height: 170%;
    border-bottom: #fff 5px solid;
    border-right: #fff 5px solid;
    border-left: #fff 5px solid;
}

.top_wrap .chr_txt_box{
  position: absolute;
  text-align: center;
  background: gray;
  width: 32%;
  height: 100%;
  font-size: 2rem;
  border-left: #fff 2.5px solid;
  border-bottom: #fff 2.5px solid;
  right: 0;
  top: 0;
}
.top_wrap .chr_txt_box span{
color: #fff;
font-size: 1.2vw;
margin-top: 12%;
text-align: left;
display: inline-block;
}
.chr_white .chr_txt_box span{
margin-top: 16.5%;
}

.chr_wrap li.d{
    position: absolute;
    width: 50%;
    height: 100%;
    border-top: #fff 2.5px solid;
    border-right: #fff 2.5px solid;
    bottom: 0;
    left: 0;
}
.chr_wrap li.d.open{
    width: 68%;
    height: 150%;
    border-top: #fff 5px solid;
    border-right: #fff 5px solid;    
}
.chr_wrap li.d img{
    width: 120%;
}

.chr_wrap li.e{
    width: 25%;
    height: 100%;
    border-top: #fff 2.5px solid;
    border-left: #fff 2.5px solid;
    border-right: #fff 2.5px solid;
    transform-origin: bottom right;
    display: flex;
    position: absolute;
    right: 25%;
}
.chr_wrap li.e.open{
    width: 42%;
    border-top: #fff 2.5px solid;
    border-left: #fff 5px solid;
    border-right: #fff 5px solid;    
}
.chr_wrap li.e img{
max-width: none;
height: 120%;
}

.chr_wrap li.f{
    border-top: #fff 2.5px solid;
    border-left: #fff 2.5px solid;
    border-bottom: #fff 2.5px solid;
    transform-origin: top right;
    height: 50%;
    right: 0;
    position: absolute;
}
.chr_wrap li.f.open{
    width: 33.3%;
    height: 100%;
    border-top: #fff 5px solid;
    border-left: #fff 5px solid;
    border-bottom: #fff 5px solid;    
}
.chr_wrap li.f img{
width: 120%;
}

.chr_wrap li.g{
border-top: #fff 2.5px solid;
    border-left: #fff 2.5px solid;
    transform-origin: bottom right;
    bottom: 0;
    height: 50%;
    position: absolute;
    bottom: 0;
    right: 0;
}
.chr_wrap li.g.open{
display: flex;
    width: 33.3%;
    height: 100%;
border-top: #fff 5px solid;
    border-left: #fff 5px solid;
}
.chr_wrap li.g img{
width: 120%;
}

.chr_wrap li.open img{
padding:0;
}
.top_wrap {
position: relative;
display: flex;
margin-top: 5px;
height: 10.8vw;
}
.chr_img_1 {
 line-height: 0;
}
.top_wrap li {
width: 22.66%;
overflow: hidden;
}
.chr_wrap .num01::before,
.chr_wrap .num02::before,
.chr_wrap .num03::before,
.chr_wrap .num04::before {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    z-index: 1;
    position: absolute;
}
.chr_wrap .num01::before {
    background: url(../img/c-hr01_num_1.png) bottom left no-repeat;
}
.chr_wrap .num02::before {
    background: url(../img/c-hr01_num_2.png) bottom left no-repeat;
}
.chr_wrap .num03::before {
    background: url(../img/c-hr01_num_3.png) bottom left no-repeat;
}
.chr_wrap .num04::before {
    background: url(../img/c-hr02_num_4.png) bottom left no-repeat;
}
.chr_wrap .num01::before,
.chr_wrap .num02::before,
.chr_wrap .num03::before,
.chr_wrap .num04::before {
    background-size: 1vw;
}
.chr_wrap .num01::after,
.chr_wrap .num02::after,
.chr_wrap .num03::after,
.chr_wrap .num04::after {
    display: block;
    content: "";
    background: url(../img/c-hr_plus.png) bottom right no-repeat;
    background-size: 1.5vw;
    width: 100%;
    height: 100%;
    z-index: 1;
    position: absolute;
}

.down_wrap {
display: flex;
height: 16.8vw;
position: relative;
}
.down_wrap li {
width: 25%;
overflow: hidden;
}
.down_wrap .column {
display: flex;
flex-direction: column;
width: 25%;
}
.down_wrap .column li {
width: 100%;
height: 8.8vw;
overflow: hidden;
}
.chr_red p.notes{
width: 87%;
margin: 2% auto 0;
}
.chr_white p.notes{
width: 87%;
margin: 2% auto 0;
}
@media (max-width: 1024px) {
    .chr_wrap .num01::before,
    .chr_wrap .num02::before,
    .chr_wrap .num03::before,
    .chr_wrap .num04::before {
        background-size: 1.5vw;
    }
    .chr_wrap .num01::after,
    .chr_wrap .num02::after,
    .chr_wrap .num03::after,
    .chr_wrap .num04::after {
        background-size: 2vw;
    }
}
@media (max-width: 768px) {
    .style_wrap {
        padding: 10% 0 0;
    }
    .chr_ttl {
        width: 100%;
        margin-bottom: 30px;
    }
    .chr_img_1 {
    margin-top: 5%;
    }
    .chr_red{
    position: relative;
    margin-top: 0;
    height: auto;
    }
    .chr_red .chr_wrap,
    .chr_white .chr_wrap {
    position: relative;
    height: auto;
    width: 100%;
    }
    .chr_red p.notes {
        width: 96%;
    }
    .chr_red {
        margin-bottom: 60px;
    }
    .chr_white {
        margin-bottom: 0;
        padding-bottom: 60px;
    }
    .chr_red .chr_wrap li,
    .chr_white .chr_wrap li {
    overflow: hidden;
    box-sizing: border-box;
    }
    .top_wrap {
    display: flex;
    flex-direction: row;
    margin-left: 0;
    top:0;
    height: 18vw;
    }
    .top_wrap li{
    width: 33.3%;
    height: auto;
    }
    
    .down_wrap {
    position: relative;
    top: 0;
    display: flex;
    margin-left: 0;
    width: 100%;
    height: 30vw;
    }
    .down_wrap li {
    width: 100%;
    height: auto;
    overflow: hidden;
    }
    .down_wrap li:nth-child(1){
    width: 100%;
    height: auto;
    }
.chr_wrap li img {
  max-width: 120%;
}

.chr_wrap li.a{
    position: absolute;
    transform-origin: top left;
    border-bottom: #fff 2.5px solid;
    border-right: #fff 2.5px solid;
    top: 0;
    left: 0%;
    height: 100%;
}
.chr_wrap li.a.open{
    width: 54%;
    height: 220%;
    border-bottom: #fff 5px solid;
    border-right: #fff 5px solid;
}

.chr_wrap li.b{
    position: absolute;
    transform-origin: top;
    border-bottom: #fff 2.5px solid;
    border-left: #fff 2.5px solid;
    border-right: #fff 2.5px solid;
    top: 0;
    left: 33.3%;
    height: 100%;
}
.chr_wrap li.b.open{
    width: 54%;
    height: 220%;
    border-bottom: #fff 5px solid;
    border-left: #fff 5px solid;
    border-right: #fff 5px solid;
}

.chr_wrap li.c{
    border-right: 0;
    right: 0;
}
.chr_wrap li.c.open{
    width: 54%;
    height: 220%;
    border-bottom: #fff 5px solid;
    border-right: 0;
    border-left: #fff 5px solid;
}
.chr_wrap li.d{
    position: absolute;
    width: 100%;
    height: 100%;
    border-right: 0;
    border-bottom: #fff 2.5px solid;
}
.chr_wrap li.d.open{
    width: 100%;
    height: 162%;
    border-right: 0;    
    border-bottom: #fff 5px solid;
}
.chr_wrap li.d img{
    width: 120%;
}
.column {
    position: relative;
    top: 0;
    display: flex;
    margin-left: 0;
    width: 100%;
    height: 18vw;
}
.chr_wrap li.e{
    position: absolute;
    transform-origin: top left;
    border-top: #fff 2.5px solid;
    border-left: 0;
    left: 0;
    bottom: 0;
    width: 33.3%;
    height: 100%;
}
.chr_wrap li.e.open{
    width: 67%;
    height: 220%;
    border-top: #fff 5px solid;
    border-left: 0;
}

.chr_wrap li.f{
    position: absolute;
    transform-origin: top;
    border-top: #fff 2.5px solid;
    border-right: #fff 2.5px solid;
    border-bottom: 0;
    left: 33.3%;
    bottom: 0;
    width: 33.3%;
    height: 100%;
}
.chr_wrap li.f img{
    top: 70%;
}
.chr_wrap li.f.open{
    width: 60%;
    height: 220%;
    border-top: #fff 5px solid;
    border-right: #fff 5px solid;
    border-bottom: 0;
}

.chr_wrap li.g{
    border-right: 0;
    right: 0;
    bottom: 0;
    width: 33.3%;
    height: 100%;
    border-top: #fff 2.5px solid;
}
.chr_wrap li.g.open{
    width: 54%;
    height: 220%;
    border-top: #fff 5px solid;
    border-right: 0;
}

.chr_wrap li.open img{
  padding:0 0 2%;
}
    .chr_wrap .num01::before,
    .chr_wrap .num02::before,
    .chr_wrap .num03::before,
    .chr_wrap .num04::before {
        background-size: 4.5vw;
    }
    .chr_wrap .num01::after,
    .chr_wrap .num02::after,
    .chr_wrap .num03::after,
    .chr_wrap .num04::after {
        background-size: 5.5vw;
    }
}

/* sec02
***********************************************/
.connected_wrap {
  position: relative;
  background: #fff;
}
.connected_wrap .connected_contents h3 {
	color: #35424d;
	text-align: center;
	margin-top: 4%;
	margin-bottom: 2%;
	font-size: 2vw;
}

.connected_wrap .connected_contents .point {
  font-size: 0;
  line-height: 1;
}

.connected_wrap .connected_bottom .notes {
	padding: 1.5% 6% 4% 6%;
}
.chr_ttl2 {
	width: 80%;
	margin-bottom: 80px;
	padding: 2% 2% 0;
}
@media (max-width: 768px) {
    .connected_wrap {
        padding: 10% 0;
    }
.connected_wrap .connected_contents h3 {
	margin-top: 15%;
	font-size: 5vw;
	margin-bottom: 5%;
  }
.chr_ttl2.sp {
	width: auto;
	margin-bottom: 10%;
}

}

.connected_wrap .connected_contents {
  margin-top: 2%;
}

/* sec03
***********************************************/
.color_wrap {
    position: relative;
    background: #fff;
    padding: 2%;
    overflow: hidden;
}
.color_top {
position: relative;
height: 40vw;
margin-top: 2%;
}

.color_ttl_wrap {
position: absolute;
display: flex;
width: 93%;
height: 6%;
left: 3%;
top: -1vw;
align-items: center;
}
.color_ttl {
    width: 40%;
    margin-right: 2%;
}
.color_name {
    position: relative;
    width: 68%;
    height: 60%;
    top: -10%;
}
.color_name_item {
    position: absolute;
    top: 50%;
    left: 0;
    height: 100%;
    margin: auto;
    padding: 2%;
    opacity: 0;
    transform: translate(-10%,-50%);
    transition: .3s ease;
}
.color_name_item.active {
    opacity: 1;
    transform: translate(0,-50%);
}
.color_name_item img {
    width: auto;
    max-height: 100%;
}

.colorvari_wrap {
display: flex;
justify-content: center;
background: #f4f4f4;
width: 85%;
height: 80%;
margin: 0 auto;
}
.color_car_box {
    width: 70%;
    height: 100%;;
}
.color_car {
    position: relative;
    width: 100%;
    height: 100%;
}
.color_car_item {
    position: absolute;
    width: 90%;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    opacity: 0;
    transition: 1s ease;
}
.color_car_item.active {
    opacity: 1;
}
.color_car_nav {
    position: relative;
    width: 30%;
    height: 83.5%;
    margin: 4%;
    background: #fff;
}
.color_mono_wrap,
.color_two_wrap {
    position: absolute;
    width: 80%;
    left: 0;
    right: 0;
    margin: auto;
}
.color_mono_wrap {
    top: 5%;
}
.color_two_wrap {
    bottom: 5%;
}
.color_mono_ttl {
    width: 80%;
    margin-bottom: 5%;
}
.color_two_ttl {
    width: 70%;
    margin-bottom: 5%;
}
.color_mono_btn,
.color_two_btn {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.color_mono_btn {
    margin-bottom: 30%;
}
.color_block {
    width: 22%;
    margin-left: 4%;
    cursor: pointer;
}
.color_block:nth-child(1),
.color_block:nth-child(5) {
    margin-left: 0;
}
.color_block:nth-child(5),
.color_block:nth-child(6),
.color_block:nth-child(7),
.color_block:nth-child(8) {
    margin-top: 4%;
}

.grade_bg {
position: relative;
background: url('../img/sec3_grade_bg.jpg') no-repeat #dce1e4 bottom;background-size: cover;
width: 100%;
padding-bottom: 30%;
}

.grade_bg .grade_ttl {
display: inline-block;
margin: 0 auto;
padding: 8% 0 5%;
width: 100%;
}
.grade_bg .grade_ttl p {
display: inline-block;
}
.grade_bg .grade_ttl p img {
width: 90%;
}
.grade_bg .grade_ttl .left_txt {
margin-left: 5%;
width: 30%;
}

.grade_bg .grade_ttl .right_txt {
display: inline-block;
font-size: 1.7rem;
width: 60%;
}
.grade_bg .grade_lineup {
text-align: center;
}
.grade_bg .grade_lineup img {
width: 80%;
}
.grade_bg .grade_lineup p.notes {
margin-top: 1%;
text-align: justify;
padding: 0 10%;
}
.grade_bg .spec_wrap {
width: 80%;
margin: 0 auto;
}
.grade_bg .spec_wrap .spec_btn {
line-height: 0;
display: flex;
justify-content: space-between;
align-items: flex-end;
}
.grade_bg .spec_wrap .btn_01,
.grade_bg .spec_wrap .btn_02 {
width: 45%;
box-sizing: border-box;
cursor: pointer;
}
.grade_bg .spec_wrap .btn_01.active,
.grade_bg .spec_wrap .btn_02.active {
width: 53%;
box-sizing: border-box;
}
.grade_bg .spec_wrap .btn_02.active {
margin-right: 0;
margin-left: 2%;
}
@media (max-width: 1024px) {
    .colorvari_wrap {
        height: 95%;
    }
}
@media screen and (max-width: 768px) {
    .color_wrap {
        padding: 10% 2% 10%;
    }
    .color_top {
        height: auto;
    }
    .color_ttl_wrap {
        position: inherit;
        display: block;
        width: 100%;
        left: 0;
        top: 0;
    }
    .color_ttl {
        width: 75%;
        margin: 10% auto 6%;
    }
    .color_name {
        width: 100%;
        height: 3vw;
        top: 0;
    }
    .color_name_item {
        top: 0;
        width: 0;
        left: 0;
        right: 0;
        margin: auto;
        padding: 1%;
        opacity: 0;
        transform: none;
        text-align: center;
    }
    .color_name_item.active {
        transform: none;
    }
    .color_name_item img {
        transition: .3s ease;
        transform: translateX(-60%);
    }
    .color_name_item.active img {
        transform: translateX(-50%);
    }
    .colorvari_wrap {
        display: block;
        background: #f4f4f4;
        width: 96%;
        height: 115vw;
        margin: 0 auto;
    }
    .color_car_box {
        width: 100%;
        height: 60%;
    }
    .color_car {
        position: relative;
        width: 100%;
        height: 100%;
    }
    .color_car_nav {
        position: relative;
        width: 100%;
        height: 40%;
        margin: 0;
        background: #fff;
        padding-top: 5%;
    }
    .color_mono_wrap, .color_two_wrap {
        position: inherit;
        width: 100%
    }
    .color_mono_ttl {
        width: 40%;
        margin: 0 auto 3%;
    }
    .color_block:nth-child(5) {
        margin-left: 4%;
    }
    .color_block:nth-child(5),
    .color_block:nth-child(6),
    .color_block:nth-child(7),
    .color_block:nth-child(8) {
        margin-top: 0;
    }
    .color_mono_btn, .color_two_btn {
        flex-wrap: nowrap;
    }
    .color_mono_btn {
        margin-bottom: 10%;
    }
    .color_two_ttl {
        width: 35%;
        margin: 0 auto 3%;
    }
    .grade_bg {
        background-size: contain;
    }
    .grade_bg .grade_ttl p {
      text-align: center;
    }
    .grade_bg .grade_ttl p img {
      width: 65%;
    }
    .grade_bg .grade_ttl .left_txt {
      margin-left: 0;
      width: 100%;
    }
    .grade_bg .grade_ttl .right_txt {
      margin-top: 5%;
      display: inline-block;
      width: 100%;
      text-align: left;
      padding: 4%;
      box-sizing: border-box;
    }
    .grade_bg .grade_lineup img {
      width: 100%;
    }
    .grade_bg .spec_wrap {
        width: 94%;
    }
    .grade_bg .grade_lineup p.notes {
        padding: 0 3%;
    }
  }

/* sec04
***********************************************/
.safety_wrap {
	position: relative;
	background: #fff;
}
.safety_wrap .wrapper {
	position: relative;
}
.safety_wrap .safety_top {
	width: 100%;
	margin-top: 2%;
  line-height: 0;
}
.safety_wrap .safety_contents {
	background-color: #dce1e3;
	width: 100%;
	position: relative;
}
.safety_wrap .safety_contents .contents_wrap {
	padding-bottom: 9%;
	width: 90%;
	margin: 0 auto;
	padding-top: 3%;
}
.safety_wrap .safety_contents .contents_wrap ol {
	display: flex;
	width: 100%;
	justify-content: space-evenly;
}
.safety_wrap .safety_contents .contents_wrap ol li {
	padding: 1.5% 1% 0.5%;
	width: 25%;
}
.safety_wrap .safety_contents .contents_wrap p.notes {
	text-align: justify;
	padding: 0 1%;
	margin-top: 1%;
}
.safety_wrap .safety_bottom {
	position: relative;
	background: url("../img/sec4_sapocar_01.jpg") no-repeat;
	background-size: contain;
	width: 100%;
	padding-top: 19.5%;
}
.safety_wrap .safety_bottom .sapocar_box {
	position: absolute;
	text-align: center;
	width: 34%;
	top: 7%;
	right: 0;
}
.safety_wrap .safety_bottom .sapocar_box .imgbox {
	width: 45%;
	margin: 0 auto 3%;
}
.safety_wrap .safety_bottom .sapocar_box .txt_box {
	font-weight: 600;
	font-size: 1vw;
}
.safety_wrap .safety_bottom .sapocar_box p.notes {
	padding: 0;
	margin-top: 2%;
}
.slide_wrap {
	margin: 0 auto 50px;
}
.slide_wrap img {
	width: 100%;
}
@media screen and (max-width:768px) {
    .safety_wrap {
        padding: 10% 0 0;
    }
.safety_wrap .safety_contents .content_wrap {
	padding-top: 0;
}
.safety_wrap .safety_contents .content_wrap p.notes {
	margin-top: 15%;
}
.safety_wrap .safety_contents .contents_wrap p.notes {
	margin-top: 15%;
}
.safety_wrap .wrapper {
	position: static;
}
.safety_wrap .safety_bottom {
    font-size: 0;
    background: none;
    padding: 0;
}
}
/* sec05
***********************************************/
.price_wrap .price_contents {
	margin-bottom: 5%;
}
.price_ttl {
	background-color: #000000;
	color: #FFFFFF;
	text-align: center;
	margin-top: 0;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 5%;
	padding: 10px 0;
	width: 80%;
	font-size: 2vw;
}
.price_wrap .price_contents .plan_box {
	display: flex;
}
.price_wrap .plan_box .zanka ,.price_wrap .plan_box .zanka2{
	width: 48%;
	padding-left: 2%;
}
.price_wrap .plan_box .zanka2 {
	padding-right: 0;
	padding-left: 5%;
}
.price_wrap .plan_box .zanka2 .pic {
	margin-right: -10px;
}
.price_wrap .price_contents .wrapper {
	margin: 0 auto;
	width: 80%;
}
.plan_box .zanka .name {
	margin-bottom: 8%;
}
.plan_box .zanka2 h4  {
	text-align: center;
	margin: 8% 0 2%;
	font-size: 1.3vw;
}
.plan_box .zanka2 table  {
	border-collapse: collapse;
	width: 97%;
	margin-left: 3%;
}
.plan_box .zanka2 table th {
	width: 50%;
	text-align: left;
	background-color: #dbe0e3;
}
.plan_box table th, .plan_box table td {
	padding-top: 10px;
	padding-right: 0;
	padding-left: 5%;
	padding-bottom: 10px;
	border-bottom: 1px solid #c9c9c9;
	font-size: 1vw;
	font-weight: bold;
	white-space: nowrap;
}
.plan_box table .pta {
	background-color: #b8c6c9;
	border: 1px solid #c9c9c9;
}
.plan_box table .pta th {
	background-color: #b8c6c9;
}
.plan_box table .ptb {
	background-color: #000000;
}
.plan_box table .ptb th {
	background-color: #000000;
	color: #FFFFFF;
	text-align: center;
}
.plan_box table .incl_total {
	font-size: 1.3vw;
}
.price_wrap .price_bottom .price_bottom_ttl {
	width: 92%;
	margin-left: auto;
}
.price_wrap .price_bottom_wrap {
	background-color: #ecedef;
	width: 86%;
	padding-top: 2%;
	padding-right: 3%;
	padding-left: 3%;
	padding-bottom: 4%;
	margin-left: auto;
	margin-bottom: 5%;
	position: relative
}
.price_wrap .price_bottom_wrap:before{
	position: absolute;
	content:"";
    top:-11%;
    left:-4.5%;
    width: 9%;
	height: 111%;
	transform: skew(-25deg);
	background: #ecedef;
}
.price_bottom_base {
	display: flex;
}
.footer_btns1 {
	display: flex;
	justify-content: space-between;
	width: 72%;
}
.footer_btns2 {
	width: 28%;
}
.footer_btns1 li{
	margin-right: 2%;
	width: 32%;
	position: relative;
}
.footer_btns2 li:last-child {
	margin-top: 3.4%;
}
@media screen and (max-width:768px) {
    .price_wrap {
        padding: 10% 0 0;
    }
.price_wrap .price_contents .plan_box {
	display: block;
}
.price_ttl   {
	width: 90%;
	font-size: 4vw;
	margin-bottom: 8%;
}
.price_wrap .price_contents .wrapper {
	width: 90%;
}
.price_wrap .plan_box .zanka, .price_wrap .plan_box .zanka2 {
	padding: 0;
	width: 100%;
}
.price_wrap .plan_box .zanka {
	margin: 0 auto;
	width: 85%;
}
.price_wrap .plan_box .zanka2 .pic {
	margin: 0;
}
.plan_box .zanka2 table {
	margin: 0 auto 5%;
	width: 90%;
}
.plan_box .zanka2 h4  {
	margin: 8% 0 1%;
	font-size: 3.2vw;
}
.plan_box table th, .plan_box table td {
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 2.9vw;
}
.plan_box table .incl_total {
	font-size: 3.5vw;
}
.plan_box .zanka2 .default.sp {
	margin-top: 0;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 15%;
	width: 90%;
}
.price_wrap .price_bottom .price_bottom_ttl  {
	width: 100%;
}
.price_wrap .price_bottom_wrap {
	width: auto;
	padding: 3% 4% 5%;
	margin-top: 1%;
	margin-bottom: 1%;
}
.price_bottom_base {
	display: block;
}
.price_wrap .price_bottom_wrap:before{
	display: none;
}
.footer_btns1 {
	width: 100%;
	margin-bottom: 2%;
}
.footer_btns1 li{
	margin-right: 0;
}
.footer_btns2 {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.footer_btns2 li:last-child {
	margin-top: 0;
	margin-left: 2%;
}
.footer_btns2 li{
	width: 100%;
}
}
/* footer
***********************************************/
footer {
	background-color: #141414;
	padding-right: 0;
	padding-left: 0;
	padding-bottom: 3%;
	text-align: center;
	color: #FFFFFF;
	padding-top: 2%;
  font-size: 1.4rem;
}
@media screen and (max-width:768px) {
  footer{
  font-size: 1rem;
  }
}
