@charset "utf-8";
/* CSS Document */


/* block_title_box
   ================================================================== */
.block_title_box .site_logo{
    margin: 0 0 2vw;
	width: 50vw;
}

.block_title_box p{
	margin: 3vw 0 0;
    font-size: 3.3vw;
}


/* block_title
   ================================================================== */
.block_title{
	margin: 0 0 0;
	position: relative;
}

.block_title > span{
	display: block;
    line-height: 150%;
    letter-spacing: 0.03em;
    font-weight: 700;
}

.block_title .eng{
	padding: 0 0 0 5vw;
    font-size: 6.2vw;
    color: #004CAC;
}

.block_title .eng::before{
    content: "";
    margin: auto;
    background: #FBBC04;
    width: 2vw;
    height: 2vw;
    position: absolute;
    top: 4vw;
    left: 0;
    border-radius: 50px;
}

.block_title .jpn{
	margin: 1vw 0 0;
	padding: 0 0 0 5vw;
    font-size: 3.3vw;
}

.cv .block_title .jpn{
	padding: 0;
    font-size: 3.5vw;
}


/* dot_title
   ================================================================== */
.dot_title{
    font-size: 6vw;
    line-height: 150%;
    font-weight: 700;
    color: #004CAC;
}

.dot_title.f21{
    font-size: 4.8vw;
}

.dot_title span{
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    color: inherit;
}

.dot_title .dot{
	display: inline-block;
    position: relative;
    color: inherit;
    font-family: inherit;
}

.dot_title .dot::before{
    content: "";
    margin: auto;
    background: #004CAC;
    width: 1.2vw;
    height: 1.2vw;
    position: absolute;
    top: -1vw;
    left: 0;
    right: 0;
    border-radius: 50px;
}



/* hash_categories
   ================================================================== */
.hash_categories{
    display: block;
    font-size: 0;
    line-height: 0;
}

.hash_categories > a,
.hash_categories > span{
    margin: 1vw 3vw 0 0;
    display: inline-block;
    font-size: 3.2vw;
    font-weight: 500;
    color: #F39C12;
    letter-spacing: 0.10em;
    line-height: 150%;
}

.hash_categories > a::before,
.hash_categories > span::before{
    content: "#";
}

.hash_categories > a.categories,
.hash_categories > span.categories{
    color: #34A853;
}

.hash_categories > a.tags,
.hash_categories > span.tags{
    color: #004CAC;
}

.hash_categories.mat_0 > a,
.hash_categories.mat_0 > span{
    margin-top: 0;
}


/* cv
   ================================================================== */
.cv{
    margin: 15vw 0 0;
}

.cv .border_box{
    padding: 6vw 5vw;
    border: 2px dashed #004CAC;
    border-radius: 10px;
    position: relative;
}

.cv .photo_box{
    margin: 5vw -9vw 0 0;
}

.cv_1 .cv_2_photo,
.cv_2 .cv_1_photo{
    display: none;
}

.cv .photo_box .photo_inbox{
    position: relative;
}

.cv .photo_box .name{
    font-size: 7vw;
    letter-spacing: 0.05em;
    font-family: 'Oswald';
    position: absolute;
    bottom: -5vw;
    left: 3vw;
}

.cv .site_logo{
    margin: 8vw 0 0;
    width: 50vw;
    line-height: 0;
}

.cv .text_box{
	padding: 0 0 0;
}

.cv .text_box .tel{
    margin: 0 0 0;
}

.cv .text_box .tel a{
    display: flex;
    align-items: baseline;
}

.cv .text_box .tel a span{
    font-size: 8vw;
    display: block;
    line-height: 150%;
    letter-spacing: 0.045em;
    font-weight: 700;
    color: #004CAC;
}

.cv .text_box .tel a .siz_s{
    font-size: 5vw;
    letter-spacing: 0.05em;
}

.cv .text_box .time{
    margin: 0 0 0;
    font-size: 3.5vw;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.cv .text_box .txt{
    margin: 1vw 0 0;
    font-size: 3.5vw;
    font-weight: 500;
}

.cv .btn_flex{
    margin: 3vw 0 0;
}

.cv .cv_buttons{
    display: flex;
}

.cv .cv_buttons > li + li{
    margin-left: 3vw;
}

.cv .sns_btn{
    margin: 3vw 0 0;
}

.cv .hash_categories{
    margin: 3vw 0 0;
}

.cv .line_btn{
    margin: 3vw 0 0;
}

.cv .line_btn a{
    display: inline-block;
    line-height: 0;
}

.cv .line_btn p{
    margin: 1vw 0 0;
    font-size: 3.2vw;
    color: #EA4335;
    font-weight: 500;
}

.cv .rentacar_hiroba_btn{
    margin: 5vw 0 0;
    width: 80vw;
}

.cv .rentacar_hiroba_btn a{
    display: inline-block;
    line-height: 0;
}


/* kv
   ================================================================== */
.kv{
	margin: 0 0 0;
	position: relative;
    line-height: 0;
}

.kv .inner{
	position: relative;
    z-index: 2;
    height: 78vh;
    box-sizing: border-box;
	display: flex;
    align-items: center;
}

.kv .text_box{
    position: absolute;
    bottom: 16vw;
    left: 3vw;
}

.kv .text_box > *:not(.list){
    opacity: 0;
    transform: translateX(-50px);
    transition: .8s;
    font-family: 'Noto Serif JP';
    color: #000;
}

.kv .text_box > *:not(.list).on{
    opacity: 1;
    transform: translateX(0);
}

.kv .list > li{
    opacity: 0;
    transition: .8s;
}

.kv .list > li.on{
    opacity: 1;
}

.kv .catch{
    width: 70vw;
    line-height: 0;
}

.kv .eng{
    margin: 5vw 0 0;
    font-size: 3.0vw;
    line-height: 180%;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.kv .list{
    margin: 5vw 0 0;
}

.kv .list > li + li{
    margin: 2vw 0 0;
}

.kv .list span{
    padding: 2vw 6vw 2vw 0;
    display: inline-flex;
    align-items: center;
    min-width: 58vw;
    height: 10vw;
    font-size: 3.5vw;
    line-height: 150%;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.10em;
    background: #D90000;
    box-sizing: border-box;
    position: relative;
    border-radius: 0 50px 50px 0;
}

.kv .list span:before{
	content: "";
	background: #D90000;
	width: 100vw;
	height: 100%;
	position: absolute;
	top: 0;
	right: 100%;
}

/* anime_line */
.anime_view .anime_line{
    margin: 0;
    position: absolute;
    bottom: 85vw;
    width: 70%;
    z-index: 2;
}

.anime_view .anime_line svg{
    width: 100%;
}

.anime_view .anime_line svg{
    position: relative;
    z-index: 1;
}

.anime_view .anime_line .st1{
    fill: none;
    stroke-width: 5px;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10;
}

.anime_view .anime_line svg.on .st1{
    stroke: rgba(255,255,255,1);
}

.anime_view .anime_line svg{
    opacity: 1;
    transition: opacity 2s;
}

/* kv_fade */
@keyframes zoomUp {
    0% {
        transform: scale(1.15);
        filter: blur(10px);
    }
    50%{
        filter: blur(0);
    }
    100% {
        transform: scale(1);
    }
}

.kv .kv_fade{
    opacity: 0;
    transition: .3s;
    z-index: -1;
}

.kv .kv_fade.swiper-container-fade{
    opacity: 1;
}

.kv .swiper-slide-active .slide-img,
.kv .swiper-slide-duplicate-active .slide-img,
.kv .swiper-slide-prev .slide-img{
    animation: zoomUp 9s cubic-bezier(0.165, 0.84, 0.44, 1) 0s 1 normal both;  
}

.kv .swiper-slide .slide-img{
    min-width: 100vw;
}

.kv .swiper-container{
	position: absolute;
    top: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 100%;
}

.kv .slide-img{
	height: 100%;
}

/* loop_wrap */
.kv .loop_wrap{
    position: absolute;
    bottom: -15vw;
    opacity: 0;
    transition: .8s;
}

.kv .loop_wrap.on{
    opacity: 1;
}

.kv #loopslider{
    visibility: visible;
    opacity: 1;
}

.kv #loopslider li{
	padding-right: 5vw;
    font-size: 30vw;
    letter-spacing: 0.05em;
    color: #000;
    font-weight: 700;
    font-family: 'Oswald';
    line-height: 1;
}


/* under_kv
   ================================================================== */
.under_kv{
	margin: 0 0 10vw;
	position: relative;
    line-height: 0;
    animation: fade_in 1s linear 0s 1 normal both;  
}

/* fade_in */
@keyframes fade_in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.under_kv .photo{
    height: 60vw;
}

.under_kv .photo img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.under_kv .inner{
	width: 100%;
	height: 100%;
	position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

.under_kv .inbox{
	width: 100%;
	height: 100%;
	position: relative;
}

.under_kv .page_title{
    font-size: 11vw;
    left: 0;
    bottom: -8vw;
    position: absolute;
    letter-spacing: 0.05em;
	font-family: 'Oswald';
}


/* message_block
   ================================================================== */
.message_block{
    padding: 0 0 0;
}

.message_block .flex{
    margin: 6vw 0 0;
}

.message_block .flex p{
    font-size: 3.5vw;
}

.message_block .text_box{
    padding: 6vw 0 0;
}

.message_block .photo{
    width: 60vw;
}

/* ceo */
.ceo{
    margin-top: 8vw;
    display: flex;
    justify-content: flex-end;
}

.ceo h3{
    width: 46vw;
    line-height: 0;
}

.ceo h3 img{
    width: 100%;
}


/* about_shop
   ================================================================== */
.about_shop{
	padding: 15vw 0 0;
	position: relative;
}

.about_shop .design_table{
	margin-top: 10vw;
}


/* design_table
   ================================================================== */
.design_table{
	width: 100%;
	box-sizing: border-box;
}

.design_table th,
.design_table td{
	width: 100%;
	display: block;
	font-weight: 500;
	border-bottom: none;
	box-sizing: border-box;
}

.design_table th,
.design_table td,
.design_table td p{
    font-size: 3.5vw;
    letter-spacing: 0.1em;
	line-height: 170%;
    font-weight: 500;
}

.design_table td a{
    font-size: inherit;
}

.design_table tr:nth-child(2n+2){
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

.design_table tr:first-child{
	border-top: 1px solid #ddd;
}

.design_table tr:last-child{
	border-bottom: 1px solid #ddd;
}

.design_table th{
	padding: 5vw;
	font-weight: 700;
}

.design_table td{
	padding: 0 5vw;
}

.design_table td .border{
	padding: 5vw 0;
	border-top: 1px solid #ddd;
}

.design_table td .box + .box{
	margin-top: 5vw;
    padding-top: 5vw;
    border-top: 1px dashed #ddd;
}

.design_table td .ttl + p{
	margin: 1vw 0 0;
}

.design_table td .border.block{
	display: block;
}

.design_table td iframe{
	margin: 4vw 0 0;
    width: 100%;
    height: 80vw;
}


/* shops_guide
   ================================================================== */
.shops_guide{
    position: relative;
}

.shops_guide .search_block{
    margin: 8vw 0 0;
}

.shops_guide .search_results{
    margin: 6vw 0 0;
}

.shops_guide .search_results h3{
    font-size: 3.4vw;
    font-weight: 500;
}


/* property_selecter
   ================================================================== */
.property_selecter{
	margin: 0 0 0;
	position: relative;
}

.property_selecter .flex{
	display: flex;
    justify-content: flex-end;
    align-items: center;
}

.property_selecter select{
	padding: 10px;
    font-size: 16px;
    text-align: left;
    background: #FAF8F8;
    border: 1px solid #ddd;
    border-radius: 0;
    box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: none;
	background-repeat: no-repeat;
}

.property_selecter .icon{
    margin: 0 10px;
    width: 10px;
	line-height: 0;
}

.property_selecter button{
    margin: 0 0 0 10px;
    padding: 0;
    width: 25px;
    line-height: 0;
    background: none;
    border: none;
    cursor: pointer;
}

.property_selecter button img{
    width: 100%;
}


/* shops_guide_list
   ================================================================== */
.shops_guide_list{
    margin: 10vw 0 0;
}

.shops_guide_list > li{
    padding: 5vw 5vw;
    border: 1px solid #ddd;
}

.shops_guide_list > li + li{
    margin-top: 5vw;
}

.shops_guide_list .hash_categories{
    margin-bottom: 3vw;
}

.shops_guide_list .hash_categories > span{
    margin-bottom: 0;
}

.shops_guide_list .hash_categories + .photo{
    margin-top: 0;
}

.shops_guide_list .photo{
    margin: 3vw 0 0;
    width: 70vw;
}

.shops_guide_list .photo a{
    height: 35vw;
    display: block;
    line-height: 0;
    border-radius: 5px;
    overflow: hidden;
}

.shops_guide_list .photo a img{
    object-fit: cover;
    display: block;
    aspect-ratio: 200 / 100;
	width: 100%;
	height: 100%;
}

.shops_guide_list .shop_ttl{
    margin: 3vw 0 0;
    font-size: 3.6vw;
    font-weight: 700;
}

.shops_guide_list .add{
    margin: 2vw 0 0;
    font-size: 3.4vw;
    font-weight: 500;
}

.shops_guide_list .btn_list{
    margin: 4vw 0 0;
    display: flex;
}

.shops_guide_list .btn_list > li + li{
    margin-left: 2vw;
}

.shops_guide_list .btn_list .sns_icon{
    width: 10vw;
    line-height: 0;
}

.shops_guide_list .btn_list .sns_icon a{
    display: block;
    line-height: 0;
}


/* movie_block
   ================================================================== */
.movie_block{
	padding: 25vw 0 10vw;
}

.movie_block .flex{
	position: relative;
}

.movie_block .video_box{
    line-height: 0;
	position: relative;
}

.movie_block .video_box video{
    width: 100%;
    position: relative;
    z-index: 1;
}

.movie_block .video_box .tree{
    width: 20vw;
    top: -16vw;
    right: -3vw;
    position: absolute;
}

.movie_block .okinawa_box{
    margin: 6vw auto 0;
    padding: 0 0 6vw;
    width: 45vw;
    line-height: 0;
    position: relative;
}

.movie_block .okinawa_box .duck{
    width: 30vw;
    bottom: 0;
    right: -16vw;
    position: absolute;
}


/* photo_band
   ================================================================== */
.photo_band{
    height: 80vw;
	line-height: 0;
}

.photo_band img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}


/* photos_block
   ================================================================== */
.photos_block .inner{
	margin-top: -11vw;
}

.photos_block .slider_wrap{
    padding: 0 0 20vw;
    position: relative;
}

.photos_block .site_logo{
    position: absolute;
    top: 47vw;
    left: 40vw;
    width: 50vw;
}

.photos_block #photos_loop{
    visibility: visible;
    opacity: 1;
}

.photos_block #photos_loop li{
    margin-left: -1vw;
    width: 120vw;
    line-height: 0;
}

/* first_big_slider */
.first_big_slider{
	margin: 0 0 0 !important;
    width: 40vw;
    height: 46vw;
	position: relative;
    box-sizing: border-box;
    overflow: inherit !important;
}

.first_big_slider{
    opacity: 0;
    transition: .3s;
}

.first_big_slider.swiper-container-horizontal{
    opacity: 1;
}

.first_big_slider .swiper-wrapper{
	line-height: 0;
}

.first_big_slider .swiper-slide{
    margin-top: 10vw;
    transition: .2s;
    box-sizing: border-box;
}

.first_big_slider .swiper-slide-active{
    margin-top: 0;
    width: 70vw !important;
    z-index: 1;
}

.first_big_slider .thm{
	padding: 2vw;
	padding-right: 0;
    background: #fff;
    box-sizing: border-box;
    line-height: 0;
}

.first_big_slider .swiper-slide-active .thm{
	padding-right: 2vw;
}

.first_big_slider .swiper-slide-prev .thm{
	padding-right: 0;
}

.first_big_slider .swiper-slide-next .thm{
	padding-left: 0;
}

.first_big_slider .thm img{
	width: 100%;
}

/* swiper_arrow_btn */
.swiper_arrow_btn .arrows{
    width: 18vw;
    display: flex;
    justify-content: space-between;
}

.swiper_arrow_btn .arrows .swiper-button-prev,
.swiper_arrow_btn .arrows .swiper-button-next{
    margin: 0 0 0 2vw;
    position: relative;
	width: 8vw;
    height: 8vw;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100%;
    top: 0;
    opacity: 1 !important;
}

.swiper_arrow_btn .arrows .swiper-button-prev{
	background-image: url("../images/common/slider_prev.svg");
    left: 0;
}

.swiper_arrow_btn .arrows .swiper-button-next{
	background-image: url("../images/common/slider_next.svg");
    right: 0;
}

/* OFF */
.swiper_arrow_btn .arrows .swiper-button-prev.swiper-button-disabled{
	background-image: url("../images/common/slider_prev_off.svg");
}

.swiper_arrow_btn .arrows .swiper-button-next.swiper-button-disabled{
	background-image: url("../images/common/slider_next_off.svg");
}


/* photo_slider_wrap
   ================================================================== */
.photo_slider_wrap{
    margin: 0;
    padding: 2vw;
    width: 90vw;
    box-sizing: border-box;
    background: #fff;
    position: relative;
}

.photo_slider_wrap .photo_slider{
    width: 100%;
}

.photo_slider_wrap .photo_slider .swiper-slide{
    line-height: 0;
}

.photo_slider_wrap .photo_slider .swiper-slide img{
    width: 100%;
}

/* swiper-pagination */
.photo_slider_wrap .swiper-pagination{
    margin-top: 0;
    padding: 3vw 0 5vw;
    bottom: auto !important;
    position: absolute;
    top: 103%;
    left: 78%;
    background: #fff;
    border-top: 2px solid #222;
    text-align: center;
    display: block;
    transform: rotate(-45deg);
    transform-origin: left top;
    width: 30vw;
}

.photo_slider_wrap .swiper-pagination-bullet{
    margin: 0 2vw 0 0 !important;
    width: 2vw;
    height: 2vw;
    display: inline-block;
    border-radius: 100%;
    background: #ddd;
    opacity: 1;
    box-sizing: border-box;
}

.photo_slider_wrap .swiper-pagination-bullet-active{
    background: #004CAC;
}


/* photo_title_section
   ================================================================== */
.photo_title_section{
    margin: 0;
}

.photo_title_section .pc_flex{
    margin-top: -15vw;
}

.photo_title_section .bottom_text_box{
    padding: 5vw 0 0;
    position: relative;
    z-index: 10;
}

.photo_title_section .bottom_text_box p{
    margin: 4vw 0 0;
}


/* index_about
   ================================================================== */
.index_about{
    margin: 0;
}

/* index_about_top */
.index_about_top{
    padding: 15vw 0;
    background: #F2F8FB;
}

.index_about_top .dot_title + p{
    margin: 4vw 0 0;
}

.index_about_top p{
    margin: 3vw 0 0;
}

.index_about_top .btn_arrow_light{
    margin: 6vw 0 0;
}

/* about_loop_block */
.about_loop_block{
    padding: 3vw 0;
    background: #004CAC;
}

.about_loop_block #about_loop{
    visibility: visible;
    opacity: 1;
}

.about_loop_block #about_loop li{
    margin-right: 5vw;
    font-size: 3.5vw;
    color: #fff;
    line-height: 150%;
}


/* index_easy
   ================================================================== */
.index_easy{
    margin: 15vw 0 0;
}


/* faq
   ================================================================== */
.faq{
    padding: 15vw 0 0;
}

.faq .oc_list{
    margin: 8vw 0 0;
}


/* oc_list
   ================================================================== */
.oc_list > dl{
	margin: 0 0 0;
}

.oc_list > dl:first-child{
	margin: 0 0 0;
}

.oc_list > dl:last-child{
    border-bottom: 1px solid #004CAC;
}

.oc_list > dl dt{
	padding: 4vw 8vw 4vw 3vw;
	font-size: 3.6vw;
	line-height: 150%;
	letter-spacing: 0.10em;
	font-weight: 700;
    background: #F2F8FB;
    border-top: 1px solid #004CAC;
    color: #222;
	position: relative;
    cursor: pointer;
    transition: .3s;
}

.oc_list > dl dt::after{
	content: "";
    margin: auto;
    background-image: url("../images/common/icon_minus.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100%;
	width: 3vw;
	height: 3vw;
	position: absolute;
	right: 3vw;
	top: 0;
    bottom: 0;
}

.oc_list > dl dt.active{
    background: #fff;
}

.oc_list > dl dt.active::after{
	background-image: url("../images/common/icon_plus.svg");
}

.oc_list > dl dd{
	padding: 4vw 3vw 5vw;
    position: relative;
}

.oc_list > dl dd p{
	font-size: 3.5vw;
	line-height: 170%;
}

.oc_list > dl dd p + p{
	margin-top: 3vw;
}

.oc_list > dl dd p.f14{
	font-size: 3.4vw;
    line-height: 160%;
}

.oc_list > dl dd p.medium{
	font-weight: 500;
}

.oc_list > dl dd a{
	font-size: inherit;
}


/* voices
   ================================================================== */
.voices{
    padding: 15vw 0 0;
}


/* voices_slider
   ================================================================== */
.voices .slider_wrap{
	margin: 8vw 0 0;
}

.voices_slider{
	margin: 0 0 0 !important;
    width: 80vw;
	position: relative;
    overflow: inherit !important;
}

.voices_slider{
    opacity: 0;
    transition: .3s;
}

.voices_slider.swiper-container-horizontal{
    opacity: 1;
}

.voices_slider .swiper-wrapper{
	line-height: 0;
}

.voices_slider .swiper-slide{
	padding: 4vw 4vw 7vw;
    background: #fff;
    border: 3px solid #eee;
    border-radius: 15px;
    box-sizing: border-box;
}

.voices_slider .arrows{
	margin-top: 4vw;
}

.voices_slider .pr_box{
	display: flex;
    align-items: center;
}

.voices_slider .thum{
	width: 12vw;
    line-height: 0;
}

.voices_slider .right{
    padding: 0 0 1vw 4vw;
	width: calc(100% - 12vw);
    box-sizing: border-box;
}

.voices_slider .name{
	font-size: 3.5vw;
    font-weight: 700;
}

.voices_slider .star{
	margin: 1vw 0 0;
    line-height: 0;
    display: flex;
}

.voices_slider .star img{
	margin-right: 1vw;
    width: 3vw;
}

.voices_slider .text_box{
	margin: 3vw 0 0;
}

.voices_slider .text_box .ttl{
    margin: 0 0 3vw;
    font-size: 3.7vw;
    font-weight: 700;
	color: #004CAC;
}

.voices_slider .text_box p{
	color: #222;
}


/* price_block
   ================================================================== */
.price_block{
    padding: 15vw 0 0;
}

.car_list{
    margin: 10vw 0 0;
}

.car_list > li{
    margin: 10vw 0 0;
}

.car_list_ttl > span{
    padding: 2vw 6vw 2vw 0;
    display: inline-flex;
    align-items: center;
    height: 10vw;
    font-size: 3.6vw;
    line-height: 150%;
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.05em;
    background: #004CAC;
    box-sizing: border-box;
    border-radius: 0 50px 50px 0;
    position: relative;
}

.car_list_ttl > span:before{
	content: "";
	background: #004CAC;
	width: 100vw;
	height: 100%;
	position: absolute;
	top: 0;
	right: 100%;
}

.car_list .swiper-container{
    margin: 6vw 0 0;
}

.car_list_buttons{
    margin: 6vw 0 0;
}

.car_list_buttons > div + div{
    margin: 4vw 0 0;
}


/* car_list_slider
   ================================================================== */
.car_list_slider{
    width: 60vw;
	position: relative;
    overflow: inherit !important;
}

.car_list_slider{
    opacity: 0;
    transition: .3s;
}

.car_list_slider.swiper-container-horizontal{
    opacity: 1;
}

.car_list_slider .swiper-wrapper{
	line-height: 0;
}

/* car_list_card */
.car_list_card{
    display: block;
}

.car_list_card .cl_tag{
    margin: 0 0 -3px;
}

.car_list_card .cl_tag > span{
    padding: 0 6vw;
    display: inline-flex;
    align-items: center;
    height: 6vw;
    font-size: 3.0vw;
    line-height: 150%;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.05em;
    background: #004CAC;
    box-sizing: border-box;
    border-radius: 10px 10px 0 0;
    position: relative;
}

.car_list_card .cl_tag > span.smoking_ok{
    padding: 0 4vw;
    margin-left: 2vw;
    background: #222;
}

.car_list_card .cl_box{
    padding: 0 0 15vw;
    display: block;
    border: 3px solid #222;
    border-radius: 0 15px 0 0;
    background-image: url("../images/car_list/catch.svg");
	background-repeat: no-repeat;
	background-position: -2px 101%;
	background-size: 102%;
}

.car_list_card .thm{
    padding: 3vw 3vw 0;
    line-height: 0;
}

.car_list_card .cl_explanation{
    padding: 1vw 3vw 2vw;
    min-height: 40vw;
    box-sizing: border-box;
}

.car_list_card .cl_explanation .cl_ttl{
    font-size: 3.9vw;
    font-weight: 900;
    letter-spacing: 0.05em;
}

.car_list_card .cl_explanation .cl_color{
    margin: 2vw 0 0;
}

.car_list_card .cl_explanation .cl_color > span{
    padding: 0 3vw;
    font-size: 2.8vw;
    min-width: 20vw;
    height: 6vw;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    letter-spacing: 0.05em;
    background: #AA3941;
    color: #fff;
    box-sizing: border-box;
}

.car_list_card .cl_explanation .cl_color.pink > span{
    background: #E1466E;
}

.car_list_card .cl_explanation .cl_color.red > span{
    background: #D90000;
}

.car_list_card .cl_explanation .cl_color.blue > span{
    background: #2F6CB1;
}

.car_list_card .cl_explanation .cl_color.white > span{
    background: #D1D0C6;
}

.car_list_card .cl_explanation .cl_color.green > span{
    background: #338787;
}

.car_list_card .cl_explanation .cl_color.brown > span{
    background: #4C3628;
}

.car_list_card .cl_explanation .cl_color.yellow > span{
    background: #DCCD2B;
}

.car_list_card .cl_explanation .txt{
    margin: 2vw 0 0;
    font-size: 3.0vw;
    line-height: 150%;
    font-weight: 500;
    letter-spacing: 0.10em;
}

.car_list_card .cl_explanation .cl_ttl + .txt{
    margin-top: 3vw;
}

.car_list_card .cl_price_box{
    margin: 0 0 0;
}

.car_list_card .cl_price_box .cl_price_ttl{
    margin: 0 0 0 -3px;
    display: flex;
    align-items: center;
}

.car_list_card .cl_price_box .cl_price_ttl .time{
    padding: 0 4vw;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 6vw;
    font-size: 3.3vw;
    line-height: 150%;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.05em;
    background: #EE1C1C;
    box-sizing: border-box;
    border-radius: 0 15px 15px 0;
    position: relative;
}

.car_list_card .cl_price_box .cl_price_ttl .ttl{
    padding: 0 0 0 3vw;
    font-size: 5vw;
    line-height: 150%;
    font-weight: 700;
    color: #EE1C1C;
    letter-spacing: 0.03em;
    font-family: 'Oswald';
}

.car_list_card .cl_price{
    padding: 2vw 3vw 0;
    display: flex;
    align-items: baseline;
}

.car_list_card .cl_price *{
    color: #EE1C1C;
    line-height: 1;
    display: block;
}

.car_list_card .cl_price .yen{
    font-size: 7vw;
    font-weight: 800;
    font-family: 'Noto Sans JP';
}

.car_list_card .cl_price .number{
    margin: 0 2vw;
    font-size: 9vw;
    font-weight: 800;
    letter-spacing: 0.015em;
    font-family: 'Noto Sans JP';
    position: relative;
}

.car_list_card .cl_price .number .tax{
    font-size: 3vw;
    font-weight: 700;
    letter-spacing: 0.1em;
    position: absolute;
    right: 0;
    bottom: -4vw;
}

.car_list_card .cl_price .more{
    font-size: 6.5vw;
    font-weight: 900;
    font-family: 'Noto Sans JP';
    position: relative;
    top: -1vw;
}


@media screen and (min-width : 500px){


    /* block_title_box
       ================================================================== */
    .block_title_box .site_logo{
        margin: 0 0 1.0vw;
        width: 26.0vw;
    }

    .block_title_box p{
        margin: 1.5vw 0 0;
        font-size: 1.4vw;
        line-height: 2.4vw;
    }


    /* block_title
       ================================================================== */
    .block_title .eng{
        padding: 0 0 0 2.3vw;
        font-size: 2.8vw;
    }

    .block_title .eng::before{
        width: .8vw;
        height: .8vw;
        top: 2.0vw;
    }

    .block_title .jpn{
        margin: .2vw 0 0;
        padding: 0 0 0 2.3vw;
        font-size: 1.4vw;
    }

    .cv .block_title .jpn{
        font-size: 1.6vw;
    }


    /* dot_title
       ================================================================== */
    .dot_title{
        font-size: 3.1vw;
        line-height: 4.5vw;
    }

    .dot_title.f21{
        font-size: 2.1vw;
        line-height: 4.1vw;
    }

    .dot_title .dot::before{
        width: .6vw;
        height: .6vw;
        top: -.6vw;
    }


    /* hash_categories
       ================================================================== */
    .hash_categories{
        display: block;
    }

    .hash_categories > a,
    .hash_categories > span{
        margin: 1.0vw 1.0vw 0 0;
        font-size: 1.4vw;
        transition: .3s;
    }

    .hash_categories > a:hover{
        opacity: .5;
    }


    /* cv
       ================================================================== */
    .cv{
        margin: 10.0vw 0 0;
    }

    .cv .border_box{
        padding: 4.3vw 5.0vw 5.5vw;
    }

    .cv .photo_box{
        margin: 0;
        width: 53.0vw;
        position: absolute;
        top: 7.0vw;
        left: 45.0vw;
    }

    .cv .photo_box .name{
        font-size: 4.0vw;
        bottom: -2.5vw;
        left: 2.0vw;
    }

    .cv .site_logo{
        margin: 1.5vw 0 0;
        width: 26.0vw;
    }

    .cv .text_box{
        padding: 0 0 0;
    }

    .cv .text_box .tel{
        margin: 0 0 0;
    }

    .cv .text_box .tel a span{
        font-size: 4.2vw;
    }

    .cv .text_box .tel a .siz_s{
        font-size: 2.5vw;
    }

    .cv .text_box .time{
        margin: 0 0 0;
        font-size: 1.5vw;
    }

    .cv .text_box .txt{
        margin: 1.2vw 0 0;
        font-size: 1.5vw;
        line-height: 2.5vw;
    }

    .cv .btn_flex{
        margin: 1.4vw 0 0;
        display: flex;
        align-items: center;
    }

    .cv .cv_buttons{
        display: flex;
    }

    .cv .cv_buttons > li + li{
        margin-left: 1.0vw;
    }

    .cv .sns_btn{
        margin: 0 0 0 1.6vw;
    }

    .cv .hash_categories{
        margin: 1.0vw 0 0;
    }

    .cv .line_btn{
        margin: 1.0vw 0 0;
        width: 38.0vw;
    }

    .cv .line_btn p{
        margin: .5vw 0 0;
        font-size: 1.4vw;
    }

    .cv .rentacar_hiroba_btn{
        margin: 2.0vw 0 0;
        width: 30.0vw;
    }


    /* kv
       ================================================================== */
    .kv{
        margin: 0 0 0;
    }

    .kv .inner{
        height: 95vh;
        min-height: 780px;
    }

    .kv .text_box{
        bottom: 14.7vw;
        left: 4.0vw;
    }

    .kv .catch{
        width: 39.0vw;
    }

    .kv .eng{
        margin: 2.0vw 0 0;
        font-size: 1.4vw;
        line-height: 2.3vw;
    }

    .kv .list{
        margin: 2.5vw 0 0;
    }

    .kv .list > li + li{
        margin: 1.0vw 0 0;
    }

    .kv .list span{
        padding: .5vw 2.0vw .5vw 1.6vw;
        min-width: 30.0vw;
        height: 5.0vw;
        font-size: 1.8vw;
    }

    /* anime_line */
    .anime_view .anime_line{
        top: auto;
        bottom: 49.0vw;
        left: 8.5vw;
        width: 46.4vw;
    }

    /* loop_wrap */
    .kv .loop_wrap{
        bottom: -8.0vw;
    }

    .kv #loopslider li{
        padding-right: 6.0vw;
        font-size: 18.0vw;
    }
        

    /* under_kv
       ================================================================== */
    .under_kv{
        margin: 0 0 8.3vw;
    }

    .under_kv .photo{
        height: 50.0vw;
    }

    .under_kv .page_title{
        font-size: 10.0vw;
        bottom: -7.3vw;
    }


    /* message_block
       ================================================================== */
    .message_block{
        padding: 0 0 0;
    }

    .message_block .flex{
        margin: 4.0vw 0 0;
        padding: 1.6vw 0 0 32.0vw;
        min-height: 37.0vw;
        position: relative;
        box-sizing: border-box;
    }

    .message_block .flex p{
        font-size: 1.5vw;
        line-height: 3.0vw;
    }

    .message_block .text_box{
        padding: 0 0 0;
    }

    .message_block .photo{
        width: 28.0vw;
        position: absolute;
        top: 0;
        left: 0;
    }

    /* ceo */
    .ceo{
        margin-top: 3.5vw;
    }

    .ceo h3{
        width: 20.8vw;
    }


    /* about_shop
       ================================================================== */
    .about_shop{
        padding: 10.0vw 0 0;
    }

    .about_shop .design_table{
        margin-top: 4.0vw;
    }


	/* design_table
	   ================================================================== */
	.design_table{
		width: 100%;
		box-sizing: border-box;
	}
	
	.design_table th,
	.design_table td{
		width: auto;
		display: table-cell;
		vertical-align: middle;
		box-sizing: border-box;
	}
	
	.design_table th,
	.design_table td,
    .design_table td p{
        font-size: 1.5vw;
        line-height: 2.7vw;
    }

	.design_table th{
		padding: 0 2vw 0 5vw;
		width: 23%;
	}
	
	.design_table .col th{
		padding: 2vw 2vw 2vw 5vw;
	}
	
	.design_table .title_top th{
		padding-top: 2vw;
		vertical-align: top;
	}
	
	.design_table td{
		padding: 2.5vw 0;
	}

	.design_table td .border{
		padding: 0 2vw 0 5vw;
		border-top: none;
		border-left: 1px solid #ddd;
		min-height: 3vw;
		display: flex;
		align-items: center;
        box-sizing: border-box;
	}

	.design_table td .border.box_in{
		display: block;
	}

    .design_table td .box{
    	margin-right: -2.0vw;
    }

    .design_table td .box + .box{
    	margin-top: 1.5vw;
        padding-top: 1.5vw;
    }
    
    .design_table td .ttl + p{
    	margin: .7vw 0 0;
    }

    .design_table td iframe{
        margin: 2.5vw 0 2.9vw;
        height: 33.7vw;
    }


    /* shops_guide
       ================================================================== */
    .shops_guide .search_block{
        margin: 4.0vw 0 0;
        position: relative;
    }

    .shops_guide .property_selecter{
        position: absolute;
        top: 0;
        right: 0;
    }

    .shops_guide .search_results{
        margin: 0 0 0;
        padding: .8vw 0 0;
        width: 50%;
    }

    .shops_guide .search_results h3{
        font-size: 1.7vw;
    }


    /* property_selecter
       ================================================================== */
    .property_selecter{
    	margin: 0 0 0;
    }
    
    .property_selecter .flex{
        padding: 0 0 0;
    	display: flex;
        justify-content: flex-end;
        align-items: center;
    }
    
    .property_selecter select{
    	padding: 1.1vw 2.0vw;
        font-size: 16px;
    }
    
    .property_selecter select.category{
    	min-width: 14.0vw;
    }
    
    .property_selecter select.tag{
    	min-width: 16.0vw;
    }
    
    .property_selecter .icon{
        margin: 0 1.5vw;
        width: 1.5vw;
    }
    
    .property_selecter button{
        margin: 0 0 0 1.5vw;
        width: 2.0vw;
        transition: .3s;
    }
    
    .property_selecter button:hover{
        opacity: .5;
    }


    /* shops_guide_list
       ================================================================== */
    .shops_guide_list{
        margin: 3.2vw 0 0;
    }

    .shops_guide_list > li{
        padding: 2.5vw 3.0vw 3.0vw;
    }

    .shops_guide_list > li + li{
        margin-top: 2.0vw;
    }

    .shops_guide_list .hash_categories{
        margin-bottom: .8vw;
    }

    .shops_guide_list .photo{
        margin: .8vw 0 0;
        width: 20.0vw;
    }

    .shops_guide_list .photo a{
        height: 10.0vw;
    }

    .shops_guide_list .photo a img{
        transition: .3s;
    }

    .shops_guide_list .photo a:hover img{
        transform: scale(1.05);
    }

    .shops_guide_list .shop_ttl{
        margin: .7vw 0 0;
        font-size: 1.6vw;
        line-height: 2.5vw;
    }

    .shops_guide_list .add{
        margin: .5vw 0 0;
        font-size: 1.4vw;
        line-height: 2.3vw;
    }

    .shops_guide_list .btn_list{
        margin: 1.2vw 0 0;
    }

    .shops_guide_list .btn_list > li + li{
        margin-left: 1.0vw;
    }

    .shops_guide_list .btn_list .sns_icon{
        width: 3.5vw;
    }


    /* movie_block
       ================================================================== */
    .movie_block{
        padding: 10.8vw 0 6.8vw;
    }

    .movie_block .flex{
        display: flex;
    }

    .movie_block .video_box{
        padding: 2.7vw 0 0;
        width: 60.0vw;
    }

    .movie_block .video_box .tree{
        width: 12.1vw;
        top: -5.8vw;
        right: -10.1vw;
    }

    .movie_block .okinawa_box{
        margin: 0;
        padding: 0 7.0vw 8.9vw 8.6vw;
        width: calc(100% - 60.0vw);
        box-sizing: border-box;
    }

    .movie_block .okinawa_box .duck{
        width: 12.8vw;
        bottom: 2.5vw;
        right: 0
    }


    /* photo_band
       ================================================================== */
    .photo_band{
        height: 42.0vw;
    }


    /* photos_block
       ================================================================== */
    .photos_block .inner{
        margin-top: -6.7vw;
    }

    .photos_block .slider_wrap{
        padding: 0 0 6.0vw;
    }

    .photos_block .site_logo{
        top: 24.5vw;
        left: 53.5vw;
        width: 26.0vw;
    }

    .photos_block #photos_loop li{
        margin-left: -.1vw;
        width: 81.2vw;
    }

    /* first_big_slider */
    .first_big_slider{
        width: 23.0vw;
        height: 32.0vw;
    }

    .first_big_slider .swiper-slide{
        margin-top: 6.7vw;
    }

    .first_big_slider .swiper-slide-active{
        margin-top: 0;
        width: 50.0vw !important;
    }

    .first_big_slider .thm{
        padding: 1.0vw;
        padding-right: 0;
    }

    .first_big_slider .swiper-slide-active .thm{
        padding-right: 1.0vw;
    }

    .first_big_slider .swiper-slide-prev .thm{
        padding-right: 0;
    }

    .first_big_slider .swiper-slide-next .thm{
        padding-left: 0;
    }

    /* swiper_arrow_btn */
    .swiper_arrow_btn .arrows{
        width: 8.0vw;
    }

    .swiper_arrow_btn .arrows .swiper-button-prev,
    .swiper_arrow_btn .arrows .swiper-button-next{
        margin: .5vw 0 0 1.0vw;
        width: 3.0vw;
        height: 3.0vw;
    }


    /* photo_slider_wrap
       ================================================================== */
    .photo_slider_wrap{
        padding: 1.0vw;
        width: 45.0vw;
        height: 29.0vw;
    }

    /* swiper-pagination */
    .photo_slider_wrap .swiper-pagination{
        padding: 2.0vw 0 3.0vw;
        top: 103%;
        left: 80%;
        width: 14.0vw;
    }

    .photo_slider_wrap .swiper-pagination-bullet{
        margin: 0 1.0vw 0 0 !important;
        width: 1.0vw;
        height: 1.0vw;
    }


    /* photo_title_section
       ================================================================== */
    .photo_title_section{
        margin: 0 0 1.0vw;
    }

    .photo_title_section .pc_flex{
        margin-top: -5.0vw;
        padding: 0 0 0 2.0vw;
        display: flex;
    }

    .photo_title_section.reverse .pc_flex{
        padding: 0 3.0vw 0 0;
        flex-direction: row-reverse;
    }

    .photo_title_section .bottom_text_box{
        padding: 10.7vw 0 0 4.0vw;
        width: calc(100% - 45.0vw);
        box-sizing: border-box;
    }

    .photo_title_section.reverse .bottom_text_box{
        padding: 10.7vw 2.0vw 0 2.0vw;
    }

    .photo_title_section .bottom_text_box p{
        margin: 1.5vw 0 0;
    }


    /* index_about
       ================================================================== */
    .index_about{
        margin: 0;
    }

    /* index_about_top */
    .index_about_top{
        padding: 5.2vw 0 6.0vw;
    }

    .index_about_top .dot_title + p{
        margin: 2.5vw 0 0;
    }

    .index_about_top p{
        margin: 2.0vw 0 0;
    }

    .index_about_top .btn_arrow_light{
        margin: 2.5vw 0 0;
    }

    /* about_loop_block */
    .about_loop_block{
        padding: 1.4vw 0;
    }

    .about_loop_block #about_loop li{
        margin-right: 2.0vw;
        font-size: 1.5vw;
    }


    /* index_easy
       ================================================================== */
    .index_easy{
        margin: 10.0vw 0 0;
    }
  

    /* oc_list
       ================================================================== */
    .oc_list > dl dt{
        padding: 1.8vw 5.0vw 1.8vw 2.5vw;
        font-size: 1.6vw;
    }

    .oc_list > dl dt:hover{
        background: rgba(239,248,254,.5);
    }

    .oc_list > dl dt::after{
        width: 1.2vw;
        height: 1.2vw;
        right: 2.1vw;
    }

    .oc_list > dl dd{
        padding: 2.5vw 2.5vw 2.8vw;
    }

    .oc_list > dl dd p{
        font-size: 1.5vw;
        line-height: 2.8vw;
    }

    .oc_list > dl dd p + p{
        margin-top: 1.5vw;
    }

    .oc_list > dl dd p.f14{
        font-size: 1.4vw;
        line-height: 2.3vw;
    }


    /* faq
       ================================================================== */
    .faq{
        padding: 10.0vw 0 0;
    }

    .faq .oc_list{
        margin: 3.5vw 0 0;
    }


    /* voices
       ================================================================== */
    .voices{
        padding: 10.0vw 0 0;
    }


    /* voices_slider
       ================================================================== */
    .voices .slider_wrap{
        margin: 4.0vw 0 0;
    }

    .voices_slider{
        width: 60.0vw;
    }

    .voices_slider .swiper-slide{
        padding: 3.0vw;
    }

    .voices_slider .arrows{
        margin-top: 2.0vw;
    }

    .voices_slider .thum{
        width: 6.0vw;
    }

    .voices_slider .right{
        padding: 0 0 .5vw 2.0vw;
        width: calc(100% - 6.0vw);
        box-sizing: border-box;
    }

    .voices_slider .name{
        font-size: 1.5vw;
    }

    .voices_slider .star{
        margin: .5vw 0 0;
    }

    .voices_slider .star img{
        margin-right: .3vw;
        width: 1.5vw;
    }

    .voices_slider .text_box{
        margin: 1.7vw 0 0;
    }

    .voices_slider .text_box .ttl{
        margin: 0 0 1.5vw;
        font-size: 1.7vw;
        line-height: 2.5vw;
    }

    .voices_slider .text_box p{
        line-height: 2.5vw;
    }


    /* price_block
       ================================================================== */
    .price_block{
        padding: 10.0vw 0 0;
    }

    .car_list{
        margin: 3.5vw 0 0;
    }

    .car_list > li{
        margin: 0 0 0;
    }

    .car_list > li + li{
        margin: 4.0vw 0 0;
    }

    .car_list_ttl > span{
        padding: .5vw 2.5vw .5vw 0;
        height: 4.5vw;
        font-size: 1.6vw;
    }

    .car_list .swiper-container{
        margin: 3.0vw 0 0;
    }

    .car_list_buttons{
        margin: 3.0vw 0 0;
        display: flex;
    }

    .car_list_buttons > div + div{
        margin: 0 0 0 1.5vw;
    }


    /* car_list_slider
       ================================================================== */
    .car_list_slider{
        width: 66.0vw;
    }

    /* car_list_card */
    .car_list_card .cl_tag{
        margin: 0 0 -3px;
    }

    .car_list_card .cl_tag > span{
        padding: 0 2.8vw;
        height: 2.8vw;
        font-size: 1.3vw;
    }

    .car_list_card .cl_tag > span.smoking_ok{
        padding: 0 1.7vw;
        margin-left: 1.0vw;
    }

    .car_list_card .cl_box{
        padding: 0 0 7.2vw;
    }

    .car_list_card .thm{
        padding: 1.7vw 1.7vw 0;
    }

    .car_list_card .cl_explanation{
        padding: 1.8vw 1.7vw 1.0vw;
        min-height: 16.0vw;
    }

    .car_list_card .cl_explanation .cl_ttl{
        font-size: 2.0vw;
        line-height: 2.7vw;
    }

    .car_list_card .cl_explanation .cl_color{
        margin: .8vw 0 0;
    }

    .car_list_card .cl_explanation .cl_color > span{
        padding: 0 1.0vw;
        font-size: 1.2vw;
        min-width: 10.0vw;
        height: 2.8vw;
    }

    .car_list_card .cl_explanation .txt{
        margin: 1.0vw 0 0;
        font-size: 1.3vw;
        line-height: 2.0vw;
    }

    .car_list_card .cl_explanation .cl_ttl + .txt{
        margin-top: 1.5vw;
    }

    .car_list_card .cl_price_box{
        margin: 0 0 0;
    }

    .car_list_card .cl_price_box .cl_price_ttl{
        margin: 0 0 0 -3px;
    }

    .car_list_card .cl_price_box .cl_price_ttl .time{
        padding: 0 1.0vw;
        width: 7.5vw;
        height: 2.8vw;
        font-size: 1.4vw;
    }

    .car_list_card .cl_price_box .cl_price_ttl .ttl{
        padding: 0 0 0 1.0vw;
        font-size: 2.0vw;
    }

    .car_list_card .cl_price{
        padding: .5vw 1.7vw 0;
    }

    .car_list_card .cl_price .yen{
        font-size: 3.5vw;
    }

    .car_list_card .cl_price .number{
        margin: 0 .7vw 0 .9vw;
        font-size: 4.5vw;
    }

    .car_list_card .cl_price .number .tax{
        font-size: 1.3vw;
        bottom: -2.0vw;
    }

    .car_list_card .cl_price .more{
        font-size: 3.0vw;
        top: -.5vw;
    }

    
}
@media screen and (min-width : 1040px){


    /* block_title_box
       ================================================================== */
    .block_title_box .site_logo{
        margin: 0 0 10px;
        width: 260px;
    }

    .block_title_box p{
        margin: 15px 0 0;
        font-size: 14px;
        line-height: 24px;
    }


    /* block_title
       ================================================================== */
    .block_title .eng{
        padding: 0 0 0 23px;
        font-size: 28px;
    }

    .block_title .eng::before{
        width: 8px;
        height: 8px;
        top: 20px;
    }

    .block_title .jpn{
        margin: 2px 0 0;
        padding: 0 0 0 23px;
        font-size: 14px;
    }

    .cv .block_title .jpn{
        font-size: 16px;
    }


    /* dot_title
       ================================================================== */
    .dot_title{
        font-size: 31px;
        line-height: 45px;
    }

    .dot_title.f21{
        font-size: 21px;
        line-height: 41px;
    }

    .dot_title .dot::before{
        width: 6px;
        height: 6px;
        top: -6px;
    }


    /* hash_categories
       ================================================================== */
    .hash_categories{
        display: block;
    }

    .hash_categories > a,
    .hash_categories > span{
        margin: 10px 10px 0 0;
        font-size: 14px;
    }


    /* cv
       ================================================================== */
    .cv{
        margin: 100px 0 0;
    }

    .cv .border_box{
        padding: 43px 50px 55px;
    }

    .cv .photo_box{
        margin: 0;
        width: 600px;
        position: absolute;
        top: 70px;
        left: 583px;
    }

    .cv .photo_box .name{
        font-size: 40px;
        bottom: -25px;
        left: 20px;
    }

    .cv .site_logo{
        margin: 15px 0 0;
        width: 260px;
    }

    .cv .text_box{
        padding: 0 0 0;
    }

    .cv .text_box .tel{
        margin: 0 0 0;
    }

    .cv .text_box .tel a span{
        font-size: 42px;
    }

    .cv .text_box .tel a .siz_s{
        font-size: 25px;
    }

    .cv .text_box .time{
        margin: 0 0 0;
        font-size: 15px;
    }

    .cv .text_box .txt{
        margin: 12px 0 0;
        font-size: 15px;
        line-height: 25px;
    }

    .cv .btn_flex{
        margin: 14px 0 0;
        display: flex;
        align-items: center;
    }

    .cv .cv_buttons{
        display: flex;
    }

    .cv .cv_buttons > li + li{
        margin-left: 10px;
    }

    .cv .sns_btn{
        margin: 0 0 0 16px;
    }

    .cv .hash_categories{
        margin: 10px 0 0;
    }

    .cv .line_btn{
        margin: 10px 0 0;
        width: 380px;
    }

    .cv .line_btn p{
        margin: 5px 0 0;
        font-size: 14px;
    }

    .cv .rentacar_hiroba_btn{
        margin: 20px 0 0;
        width: 300px;
    }


    /* kv
       ================================================================== */
    .kv{
        margin: 0 0 0;
    }

    .kv .inner{
        height: 95vh;
    }

    .kv .text_box{
        bottom: 147px;
        left: 0;
    }

    .kv .catch{
        width: 390px;
    }

    .kv .eng{
        margin: 20px 0 0;
        font-size: 14px;
        line-height: 23px;
    }

    .kv .list{
        margin: 25px 0 0;
    }

    .kv .list > li + li{
        margin: 10px 0 0;
    }

    .kv .list span{
        padding: 5px 20px 5px 16px;
        min-width: 300px;
        height: 50px;
        font-size: 18px;
    }

    /* anime_line */
    .anime_view .anime_line{
        top: auto;
        bottom: 490px;
        left: 85px;
        width: 464px;
    }

    /* loop_wrap */
    .kv .loop_wrap{
        bottom: -80px;
    }

    .kv #loopslider li{
        padding-right: 60px;
        font-size: 180px;
    }
    

    /* under_kv
       ================================================================== */
    .under_kv{
        margin: 0 0 83px;
    }

    .under_kv .photo{
        height: 500px;
    }

    .under_kv .page_title{
        font-size: 100px;
        bottom: -73px;
    }


    /* message_block
       ================================================================== */
    .message_block{
        padding: 0 0 0;
    }

    .message_block .flex{
        margin: 40px 0 0;
        padding: 16px 0 0 320px;
        min-height: 370px;
    }

    .message_block .flex p{
        font-size: 15px;
        line-height: 30px;
    }

    .message_block .text_box{
        padding: 0 0 0;
    }

    .message_block .photo{
        width: 280px;
    }

    /* ceo */
    .ceo{
        margin-top: 35px;
    }

    .ceo h3{
        width: 208px;
    }


    /* about_shop
       ================================================================== */
    .about_shop{
        padding: 100px 0 0;
    }

    .about_shop .design_table{
        margin-top: 40px;
    }
	  

	/* design_table
	   ================================================================== */
	.design_table th,
	.design_table td,
    .design_table td p{
        font-size: 15px;
        line-height: 27px;
	}

	.design_table th{
		padding: 0 10px 0 50px;
		width: 23%;
	}
		
	.design_table .title_top th{
		padding-top: 25px;
	}

	.design_table td{
		padding: 25px 0;
	}

	.design_table td .border{
		padding: 0 20px 0 50px;
        min-height: 30px;
	}

    .design_table td .box{
    	margin-right: -20px;
    }

    .design_table td .box + .box{
    	margin-top: 15px;
        padding-top: 15px;
    }
    
    .design_table td .ttl + p{
    	margin: 7px 0 0;
    }

	.design_table td a:hover{
		text-decoration: underline;
	}

    .design_table td iframe{
        margin: 25px 0 29px;
        height: 337px;
    }


    /* shops_guide
       ================================================================== */
    .shops_guide .search_block{
        margin: 40px 0 0;
        position: relative;
    }

    .shops_guide .property_selecter{
        position: absolute;
        top: 0;
        right: 0;
    }

    .shops_guide .search_results{
        margin: 0 0 0;
        padding: 8px 0 0;
        width: 58%;
    }

    .shops_guide .search_results h3{
        font-size: 17px;
    }


    /* property_selecter
       ================================================================== */
    .property_selecter{
    	margin: 0 0 0;
    }
    
    .property_selecter .flex{
        padding: 0 0 0;
    	display: flex;
        justify-content: flex-end;
        align-items: center;
    }
    
    .property_selecter select{
    	padding: 11px 20px;
        font-size: 14px;
    }
    
    .property_selecter select.category{
    	min-width: 140px;
    }
    
    .property_selecter select.tag{
    	min-width: 160px;
    }
    
    .property_selecter .icon{
        margin: 0 15px;
        width: 15px;
    }
    
    .property_selecter button{
        margin: 0 0 0 15px;
        width: 20px;
    }


    /* shops_guide_list
       ================================================================== */
    .shops_guide_list{
        margin: 32px 0 0;
    }

    .shops_guide_list > li{
        padding: 25px 30px 30px;
    }

    .shops_guide_list > li + li{
        margin-top: 20px;
    }

    .shops_guide_list .hash_categories{
        margin-bottom: 8px;
    }

    .shops_guide_list .photo{
        margin: 8px 0 0;
        width: 200px;
    }

    .shops_guide_list .photo a{
        height: 100px;
    }

    .shops_guide_list .shop_ttl{
        margin: 7px 0 0;
        font-size: 16px;
        line-height: 25px;
    }

    .shops_guide_list .add{
        margin: 5px 0 0;
        font-size: 14px;
        line-height: 23px;
    }

    .shops_guide_list .btn_list{
        margin: 12px 0 0;
    }

    .shops_guide_list .btn_list > li + li{
        margin-left: 10px;
    }

    .shops_guide_list .btn_list .sns_icon{
        width: 35px;
    }


    /* movie_block
       ================================================================== */
    .movie_block{
        padding: 108px 0 68px;
    }

    .movie_block .flex{
        display: flex;
    }

    .movie_block .video_box{
        padding: 27px 0 0;
        width: 600px;
    }

    .movie_block .video_box .tree{
        width: 121px;
        top: -58px;
        right: -101px;
    }

    .movie_block .okinawa_box{
        margin: 0;
        padding: 0 70px 89px 116px;
        width: calc(100% - 600px);
        box-sizing: border-box;
    }

    .movie_block .okinawa_box .duck{
        width: 128px;
        bottom: 25px;
        right: 0
    }


    /* photo_band
       ================================================================== */
    .photo_band{
        height: 420px;
    }


    /* photos_block
       ================================================================== */
    .photos_block .inner{
        margin-top: -67px;
    }

    .photos_block .slider_wrap{
        padding: 0 0 60px;
    }

    .photos_block .site_logo{
        top: 245px;
        left: 535px;
        width: 260px;
    }

    .photos_block #photos_loop li{
        margin-left: -1px;
        width: 812px;
    }

    /* first_big_slider */
    .first_big_slider{
        width: 230px;
        height: 320px;
    }

    .first_big_slider .swiper-slide{
        margin-top: 67px;
    }

    .first_big_slider .swiper-slide-active{
        margin-top: 0;
        width: 500px !important;
    }

    .first_big_slider .thm{
        padding: 10px;
        padding-right: 0;
    }

    .first_big_slider .swiper-slide-active .thm{
        padding-right: 10px;
    }

    .first_big_slider .swiper-slide-prev .thm{
        padding-right: 0;
    }

    .first_big_slider .swiper-slide-next .thm{
        padding-left: 0;
    }

    /* swiper_arrow_btn */
    .swiper_arrow_btn .arrows{
        width: 80px;
    }

    .swiper_arrow_btn .arrows .swiper-button-prev,
    .swiper_arrow_btn .arrows .swiper-button-next{
        margin: 5px 0 0 10px;
        width: 30px;
        height: 30px;
    }


    /* photo_slider_wrap
       ================================================================== */
    .photo_slider_wrap{
        padding: 10px;
        width: 450px;
        height: 290px;
    }

    /* swiper-pagination */
    .photo_slider_wrap .swiper-pagination{
        padding: 20px 0 30px;
        top: 103%;
        left: 80%;
        width: 140px;
    }

    .photo_slider_wrap .swiper-pagination-bullet{
        margin: 0 10px 0 0 !important;
        width: 10px;
        height: 10px;
    }


    /* photo_title_section
       ================================================================== */
    .photo_title_section{
        margin: 0 0 10px;
    }

    .photo_title_section .pc_flex{
        margin-top: -50px;
        padding: 0 0 0 20px;
        display: flex;
    }

    .photo_title_section.reverse .pc_flex{
        padding: 0 30px 0 0;
        flex-direction: row-reverse;
    }

    .photo_title_section .bottom_text_box{
        padding: 107px 0 0 80px;
        width: calc(100% - 450px);
        box-sizing: border-box;
        z-index: 1;
    }

    .photo_title_section.reverse .bottom_text_box{
        padding: 107px 20px 0 50px;
    }

    .photo_title_section .bottom_text_box p{
        margin: 15px 0 0;
    }


    /* index_about
       ================================================================== */
    .index_about{
        margin: 0;
    }

    /* index_about_top */
    .index_about_top{
        padding: 52px 0 60px;
    }

    .index_about_top .dot_title + p{
        margin: 25px 0 0;
    }

    .index_about_top p{
        margin: 20px 0 0;
    }

    .index_about_top .btn_arrow_light{
        margin: 25px 0 0;
    }

    /* about_loop_block */
    .about_loop_block{
        padding: 14px 0;
    }

    .about_loop_block #about_loop li{
        margin-right: 20px;
        font-size: 15px;
    }


    /* index_easy
       ================================================================== */
    .index_easy{
        margin: 100px 0 0;
    }
  
    
    /* oc_list
       ================================================================== */
    .oc_list > dl dt{
        padding: 18px 50px 18px 25px;
        font-size: 16px;
    }

    .oc_list > dl dt::after{
        width: 12px;
        height: 12px;
        right: 21px;
    }

    .oc_list > dl dd{
        padding: 20px 25px 25px;
    }

    .oc_list > dl dd p{
        font-size: 15px;
        line-height: 28px;
    }

    .oc_list > dl dd p + p{
        margin-top: 15px;
    }

    .oc_list > dl dd p.f14{
        font-size: 14px;
        line-height: 23px;
    }


    /* faq
       ================================================================== */
    .faq{
        padding: 100px 0 0;
    }

    .faq .oc_list{
        margin: 35px 0 0;
    }


    /* voices
       ================================================================== */
    .voices{
        padding: 100px 0 0;
    }


    /* voices_slider
       ================================================================== */
    .voices .slider_wrap{
        margin: 40px 0 0;
    }

    .voices_slider{
        width: 600px;
    }

    .voices_slider .swiper-slide{
        padding: 30px;
    }

    .voices_slider .arrows{
        margin-top: 20px;
    }

    .voices_slider .thum{
        width: 60px;
    }

    .voices_slider .right{
        padding: 0 0 5px 20px;
        width: calc(100% - 60px);
        box-sizing: border-box;
    }

    .voices_slider .name{
        font-size: 15px;
    }

    .voices_slider .star{
        margin: 5px 0 0;
    }

    .voices_slider .star img{
        margin-right: 3px;
        width: 15px;
    }

    .voices_slider .text_box{
        margin: 17px 0 0;
    }

    .voices_slider .text_box .ttl{
        margin: 0 0 15px;
        font-size: 17px;
        line-height: 25px;
    }

    .voices_slider .text_box p{
        line-height: 25px;
    }


    /* price_block
       ================================================================== */
    .price_block{
        padding: 100px 0 0;
    }

    .car_list{
        margin: 35px 0 0;
    }

    .car_list > li{
        margin: 0 0 0;
    }

    .car_list > li + li{
        margin: 40px 0 0;
    }

    .car_list_ttl > span{
        padding: 5px 25px 5px 0;
        height: 45px;
        font-size: 16px;
    }

    .car_list .swiper-container{
        margin: 30px 0 0;
    }

    .car_list_buttons{
        margin: 30px 0 0;
        display: flex;
    }

    .car_list_buttons > div + div{
        margin: 0 0 0 15px;
    }


    /* car_list_slider
       ================================================================== */
    .car_list_slider{
        width: 660px;
    }

    /* car_list_card */
    .car_list_card .cl_tag{
        margin: 0 0 -3px;
    }

    .car_list_card .cl_tag > span{
        padding: 0 28px;
        height: 28px;
        font-size: 13px;
    }

    .car_list_card .cl_tag > span.smoking_ok{
        padding: 0 17px;
        margin-left: 10px;
    }

    .car_list_card .cl_box{
        padding: 0 0 72px;
    }

    .car_list_card .thm{
        padding: 17px 17px 0;
    }

    .car_list_card .cl_explanation{
        padding: 18px 17px 10px;
        min-height: 160px;
    }

    .car_list_card .cl_explanation .cl_ttl{
        font-size: 20px;
        line-height: 27px;
    }

    .car_list_card .cl_explanation .cl_color{
        margin: 8px 0 0;
    }

    .car_list_card .cl_explanation .cl_color > span{
        padding: 0 10px;
        font-size: 12px;
        min-width: 100px;
        height: 28px;
    }

    .car_list_card .cl_explanation .txt{
        margin: 10px 0 0;
        font-size: 13px;
        line-height: 20px;
    }

    .car_list_card .cl_explanation .cl_ttl + .txt{
        margin-top: 15px;
    }

    .car_list_card .cl_price_box{
        margin: 0 0 0;
    }

    .car_list_card .cl_price_box .cl_price_ttl{
        margin: 0 0 0 -3px;
    }

    .car_list_card .cl_price_box .cl_price_ttl .time{
        padding: 0 10px;
        width: 75px;
        height: 28px;
        font-size: 14px;
    }

    .car_list_card .cl_price_box .cl_price_ttl .ttl{
        padding: 0 0 0 10px;
        font-size: 20px;
    }

    .car_list_card .cl_price{
        padding: 5px 17px 0;
    }

    .car_list_card .cl_price .yen{
        font-size: 35px;
    }

    .car_list_card .cl_price .number{
        margin: 0 7px 0 9px;
        font-size: 45px;
    }

    .car_list_card .cl_price .number .tax{
        font-size: 13px;
        bottom: -20px;
    }

    .car_list_card .cl_price .more{
        font-size: 30px;
        top: -5px;
    }
    

}
