body {
    background:white;
}

@media screen and (max-width: 768px) {
    body {
        padding-bottom: 75px;
    }
}

ul {
    margin:0;
    padding: 0;
}

li {
    list-style:none;
}

header {
    height: calc(100vw * 0.45);
    position: relative;
}

#swipe-area {
    height: 100%;
}

#swipe-area .swiper-wrapper .swiper-slide img{
    width: 100vw;
}

@media screen and (max-width:1100px) {
    header {
        height: calc(100vw * 0.6);
    }
    #swipe-area .swiper-wrapper .swiper-slide img {
        width: unset;
        height: 100%;
    }   
}

#navi-screen {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100vw;
    height: 100%;
    background: none;
    padding: 30px;
}

h1.top-logo {
    margin: 0;
    padding: 0;
    display: inline-block;
    width: 30%;
    position: relative;
    top: -3%;
    left: -1%;
}

h1.top-logo img {
    width: 100%;
}


#navi-screen ul{
    margin: 0;
    padding: 0;
    position: absolute;
    top: 0px;
    right: 0px;
    display: flex;
}

#navi-screen ul.pc{
    background: -moz-linear-gradient(left, rgba(191,242,255,0.5) 0%, rgba(180,233,251,0.5) 5%, rgba(83,155,214,0.5) 51%, rgba(191,242,255,0.5) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left, rgba(191,242,255,0.5) 0%,rgba(180,233,251,0.5) 5%,rgba(83,155,214,0.5) 51%,rgba(191,242,255,0.5) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, rgba(191,242,255,0.5) 0%,rgba(180,233,251,0.5) 5%,rgba(83,155,214,0.5) 51%,rgba(191,242,255,0.5) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#80bff2ff', endColorstr='#80bff2ff',GradientType=1 ); 
}

#navi-screen .pc li{
    list-style: none;
    position: relative;
    overflow: hidden;
}

#navi-screen .pc li:before{
    content: '';
    display: inline-block;
    background: #135aaa;
    width: 100%;
    height: 100%;
    position: absolute;
    left: -100%;
    transition: all 0.1s;
    z-index: 0;
}

#navi-screen .pc li:hover:before{
    left:0;
}

#navi-screen ul li:first-child{
    border: none;
}

#navi-screen ul li a{
    width: 100%;
    color: #000000;
    display: inline-flex;
    padding: 5px 20px;
    margin: 0;
    font-size: 1rem;
    font-weight: bold;
    z-index: 1;
    position: relative;
}

#navi-screen ul li:hover a{
    color: #FFFFFF;
}

#navi-screen ul li:last-child a{
    /* margin-right: 0px; */
}

#navi-screen ul li a:hover{
    text-decoration: none;
}

#navi-screen .sp ul{
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    flex-wrap: wrap;
}

#navi-screen .sp ul.pref-area {
    border-top: 1px dotted gray;
    padding: 10px 5px;
}

#navi-screen .sp ul.pref-area:last-child {
    border-bottom: 1px dotted gray;
}

#registerd-wh-count {
    position: absolute;
    right: 30px;
    top: 55px;
    font-size: 1.3rem;
    color: #e0f311;
    text-decoration: none;
    font-weight: bold;
    text-shadow: 0px 0px 3px black;
    font-family: sans-serif, "ＭＳ Ｐゴシック";
}

#registerd-wh-count span{
    font-size: 2.5rem;
    font-family: "Hiragino Kaku Gothic StdN", "Noto Sans JP", "HGP創英角ｺﾞｼｯｸUB";
}

#main-sales-copy {
    position: absolute;
    /* top: 39%; */
    bottom: 34px;
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: calc(100vw - 60px);
}

#main-sales-copy p {
    color: #2f2f2f;
    line-height: 1.2;
    font-size: 2.25rem;
    font-weight: bold;
    margin: 0;
    font-family: "Hiragino Kaku Gothic StdN", "Noto Sans JP", "HGP創英角ｺﾞｼｯｸUB";
	text-shadow: 4px 4px 1px white;
}

#main-sales-copy p strong {
    color: red;
    font-size: 4rem;
    font-style: italic;
    position: relative;
    left: -2px;
}

#main-search-area {
    display: flex;
    background: #36383e;
    border-radius: 100px;
    height: 90px;
    width: 700px;
    position: absolute;
    /* top: calc( 39% + 130px ); */
    bottom: -110px;
    left: 50%;
    transform: translate(-50%, 0%);
}

#main-search-area-sp {
    display: flex;
    height: 75px;
    width: 100vw;
    position: fixed;
    bottom: 0;
    left: 0;
}

#search-conditional,
#search-instant,
#search-conditional-sp,
#search-instant-sp {
    text-decoration: none;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #ffffff;
}

#search-conditional,
#search-instant {
    margin: 8px;
    color: #ffffff;
    border-radius: 40px;
    border: 1px solid #c1c1c1;
}


#search-conditional-sp,
#search-instant-sp {
    border: 1px solid #c1c1c1;
}

#search-conditional:active,
#search-instant:active {
    position: relative;
    top: 1px;
}

#search-conditional,
#search-conditional-sp {
    background: #ff7800;
    background: linear-gradient(0deg, #ab6323 2%, #ff7800 50%, #ff7800 100%);
}

#search-instant,
#search-instant-sp {
    background: #60C23F;
    background: linear-gradient(0deg, #4d8e37 2%, #60C23F 50%, #60C23F 100%);
    color: #ffffff;
}

#search-instant, 
#search-conditional, 
#search-conditional-sp, 
#search-instant-sp {
    width:50%;
}

#search-instant span,
#search-conditional span {
    font-size: 0.88rem;
}

#search-instant-sp span,
#search-conditional-sp span {
    font-size: 0.94rem;
}

#search-instant span.button-text,
#search-instant-sp span.button-text,
#search-conditional span.button-text,
#search-conditional-sp span.button-text {
    font-size: 1.38rem;
    font-weight: bold;
}

@media screen and (max-width:768px) {
    header {
        height: calc(100vw * 1.84);
        z-index: 1000;
        position: relative;
    }
    h1.top-logo {
        width: 48vw;
    	min-width: 180px;
        top: -3vw;
        left: -2vw;
    }
    #registerd-wh-count {
        right: 6%;
        top: 5%;
        font-size: 1rem;
    }
    #registerd-wh-count span {
        font-size: 1.75rem;
    }
    #swipe-area .swiper-wrapper .swiper-slide img {
        width: 100%;
        height: unset;
    }
    #main-sales-copy {
    	display:flex;
        /* top: 24%; */
        top: -7%;
    }
}

main {
    z-index: 10;
    padding-top: 60px;
}

/* search area of area condition */
#search-area {
    background: rgba(255,255,255,0.5);
    position: relative;
    top: 11vh;
    z-index: 10;
}

#search-area .search-panel {
    display: flex;
}

#search-area .search-category {
    margin: 7px;
    padding: 15px;
    position: relative;
    border: 1px solid #d6d6d6;
    box-shadow: 5px 8px 10px -6px rgb(0 0 0 / 60%);
}

.sp .search-category {
    padding: 10px 40px;
}

#search-area .search-category:first-child {
    width: 55%;
    min-width: 590px;
}

#search-area .search-category:nth-child(2) {
    width: 45%;
}

#search-area .search-category h3 {
    position: relative;
    font-size: 1.25rem;
    color: #ffffff;
    background: #222FA6;
    margin-top: -15px;
    margin-left: -15px;
    margin-right: -15px;
    font-weight:normal;
    padding: 5px 15px;
}

@media screen and (max-width:992px) {
    #search-area {
        max-width: 600px;
        margin: auto;
    }
    #search-area .search-panel {
        flex-direction: column;
    } 
    #search-area .search-category:first-child,
    #search-area .search-category:nth-child(2) {
        width: 100%;
    }
    
    #search-area .search-category:nth-child(2) {
        margin-top: 20px;
    }
}

.search-panel-sp {
    width: 100vw;
    height: calc(100vh - 100px);
    background: white;
    position: fixed;
    bottom: -90vh;
    left: 0;
    transition: 0.3s ease;
}
.search-panel-sp.show-panel {
    bottom: 0vh;
}

.search-category-wrap-sp{
    overflow: scroll;
    height: 80vh;
}

.search-panel-sp-title,
#search-area .search-category h3 {
    font-size: 1.25rem;
}

.search-panel-sp-title {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 8vh;
    text-align: center;
    padding: 25px;
    position: relative;
    background: white;
    z-index: 10;
    border-bottom: 1px solid #d8d8d8;
    box-shadow: 2px 2px 2px #eeeeeeee;
    margin-bottom: 2vh;
}

.search-panel-sp-close {
    position: absolute;
    right: 13px;
    font-size: 2.5rem;
    line-height: 1;
    z-index: 11;
    color: #4a4a4a;
    cursor: pointer;
}

#search-area .search-category h3 {
    position: relative;
}

.sp .search-category h3 {
    font-weight: bold;
}

#search-map-01 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -72%);
}

#search-map-02 {
    position: absolute;
    top: 20%;
    left: 11%;
}


.search-category h3 .strong {
    font-size: 1.25rem;
    color: #ffffff;
}

.sp .search-category h3 .strong {
    font-size: inherit;
    font-style: normal;
    color: #ff7800;
    margin-right: 8px;
}

/* map of japan */
#search-map {
    position:relative;
}

.pref-row {
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.pref-group {
    display: flex;
    align-items: flex-start;
}

.pref-group.left {
    justify-content: flex-start;
}

.pref-group.right {
    justify-content: flex-end;
}

#search-map ul {
    position: relative;
    display: block;
    background: white;
    box-shadow: 1px 1px 2px 1px rgba(0,0,0,0.13);
    border-top: solid 3px #1E2FAD;
    padding: 13px 6px 2px;
    width: 130px !important;
    max-width: 130px;
    margin: 0 5px;
}


#search-service li,
#search-map li,
#search-service-sp li,
#search-map-sp li {
    font-size: 0.75rem;
    background: none;
}

.top-pref-input-box .search-list {
    display: flex;
    flex-wrap: wrap;
}
.top-pref-input-box .search-list .form-group{
    width: 43%;
}
.top-pref-input-box .search-list span{
    width: 14%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#search-map li {
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
}

#search-map > li {
    height: 420px;
}

li.pref-one {
    display: inline-flex !important;
    flex-direction: row;
    align-items: center;
    min-height: unset !important;
    margin-right: 2px;
}

.sp li.pref-one {
    width: 100px;
}

#search-map li label,
#search-map li input,
#search-map-sp li label,
#search-map-sp li input
{
    display: inline-block;
    margin: 0;
    padding: 0;
}

#search-map li label,
#search-map-sp li label
{
    margin-left: 6px;
    color: rgb(210, 210, 210);
}


/* search area for service condition */
#search-service {
    position: relative;
}

.search-service-one {
    background: white;
    box-shadow: 1px 1px 2px 1px rgba(0,0,0,0.13);
    margin: 10px 0;
    padding: 15px 15px 8px;
    
}

.sp .search-service-one {
    background: none;
    box-shadow: none;
    margin: 0;
    padding: 10px 5px;
    width: 100%;
    border-top: 1px dotted gray !important;
}

#search-service h4,
#search-service-sp h4 {
    font-size: 1.25rem;
    color: #1e2fad;
}

#search-service ul {
    display: block;
    width: 100%;
}

#search-service ul li,
#search-service-sp ul li {
    margin-right: 25px;
    display: inline-flex;
    align-items: center;
    width: 116px;
}

#search-service li:last-child ul li,
#search-service-sp li:last-child ul li{
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    width: 100%;
}

#search-service label,
#search-service-sp label {
    margin: 0;
    margin-left: 7px;
}

#search-service li:last-child ul li label,
#search-service-sp li:last-child ul lilabel {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 7px;
    margin-right: 0;
    white-space: nowrap
}

#search-area button,
.search-panel-sp button {
    border: none;
    border-radius: 0;
    display: block;
    margin: 70px auto;
    padding: 17px 40px;
    font-size: 1.38rem;
    font-family: "Hiragino Kaku Gothic StdN", "Noto Sans JP", "HGP創英角ｺﾞｼｯｸUB";
}

#search-area button span {
    font-size: 1.2rem;    
}

#sales-copy-area {
    width: 100%;
    margin-top: 200px;
    margin-bottom: 55px;
}

@media screen and (max-width:768px) {
	#sales-copy-area {
	    margin-top: 85px;
	}
}

#sales-copy-area .sales-copy-title {
    margin: auto;
    font-family: "Hiragino Kaku Gothic StdN", "Noto Sans JP", "HGP創英角ｺﾞｼｯｸUB";
    color: #424550;
    font-size: 2.6rem;
    width: 100%;
    text-align: center;
    margin-bottom: 39px;
}

#sales-copy-area .sales-copy-detail {
    width: 100%;
    text-align: center;
}

#sales-copy-area .sales-copy-detail p {
    font-size: 1.2rem;
    font-family: "Hiragino Kaku Gothic StdN", "Noto Sans JP", "HGP創英角ｺﾞｼｯｸUB";
    margin-bottom: 10px;
    color: #424550;
}

/* #schema-image {
    width: 97%;
    display: block;
    margin: 85px -3% 0;
} */

#introduction-video {
	display: flex;
	justify-content: center;
}

#introduction-video .video-wrapper {
    position: relative;
    width: 55vw;
    height: calc(55vw * 0.562);
    box-shadow: 4px 6px 7px #00000096;
    z-index: 100;
}

@media screen and (max-width: 768px) {
	#introduction-video .video-wrapper {
	    position: relative;
	    width: 80vw;
	    height: calc(80vw * 0.562);
	    box-shadow: 4px 6px 7px #00000096;
	    z-index: 100;
}
}

#introduction-video .yt-play-button,
#introduction-video .video-service {
	width: 100%;
	height: 100%;
    position: absolute;
}

#introduction-video .yt-play-button{
	display:flex;
    justify-content: center;
    align-items: center;
}

#introduction-video .yt-play-button button{
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    border: none;
}

#introduction-video .yt-play-button .button-yt-play {
    width: 7.6rem;
    height: 7.6rem;
}


#conversion-area {
    background: orange;
    width: 100vw;
    margin: 60px 0 200px;
    padding-bottom: 4vw;
    position: relative;
}

#conversion-area #read-text {
    display: block;
    padding-top: 50px;
    margin: auto;
    width: 42vw;
    min-width: 750px;
    position: relative;
}

#conversion-area #read-text strong {
    font-family: "Hiragino Kaku Gothic StdN", "Noto Sans JP", "HGP創英角ｺﾞｼｯｸUB";
    font-size: 3.5rem;
    color: white;
    font-style: italic;
    display: block;
    position: relative;
    
}

#conversion-area #read-text strong:nth-child(1) {
    left: 0;
    
}

#conversion-area #read-text strong:nth-child(2) {
    right: 0;
    text-align: right;
    
}

#conversion-area .inqure-button {
    position: relative;
    z-index: 100;
    display: flex;
    justify-content: center;
    margin: 20px auto;
}

#conversion-area .inqure-button li {
    margin: 1%;
}

#conversion-area .inqure-button li a {
    position: relative;
    background: #5c9217;
    color: #ffffff;
    border-radius: 50px;
    width: 100%;
    height: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    padding: 20px 36px;
    text-decoration: none;
    box-shadow: 0px 0px 8px #FFFFFF80;
    overflow: hidden;
}

.inqure-button span {
    display: flex;
    align-items: center;
    line-height: 1;
}

.inqure-button span.sup {
    font-size: 0.9rem;
}
.inqure-button span.sup-inner {
    display: block;
}
.inqure-button span.sup-head {
	font-size: 1.6rem;
    margin-top: 5px;
}

@media screen and (max-width: 768px) {
    #conversion-area .inqure-button li a {
        margin: auto;
        max-width: 350px;
        height: 5.3rem;
    }
}


#conversion-area .inqure-button li a:hover {
    top: -2px;
}

#conversion-area .inqure-button li a:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0%;
    height: 0%;
    transform: translate(-50%, -50%);
    transition: 0.8s ease;
    border-radius: 50%;
}

#conversion-area .inqure-button li a:hover:before {
    width: 100%;
    height: 100%;
    background: #FFFFFF24;
    border-radius: 0%;
}

#conversion-area .inqure-button li a:active {
    top: 1px;
}

#conversion-area .inqure-button li a img{
    display: inline-block;
    height: 35px;
    margin-right: 10px;
}

@media screen and (max-width: 576px) {
    #conversion-area .inqure-button li a {
        width: 85%;
    }
    
    #conversion-area .inqure-button li a img {
        width: 12vw;
        height: auto;
    }
}

#conversion-area .sales-copy-sup {
    width: 635px;
    margin: auto;
    background: white;
    border: solid black 3px;
    border-radius: 18px;
    font-size: 1.56rem;
    padding: 18px 83px 23px 23px;
    position: absolute;
    left: 50%;
    bottom: -36px;
    transform: translate(-50%, 0);
    font-family: "Hiragino Kaku Gothic StdN", "Noto Sans JP", "HGP創英角ｺﾞｼｯｸUB";
    z-index: 100;
}

#conversion-area .sales-copy-sup strong{
    text-shadow: #c7c7c6 3px 0 7px;
    color: red;
    font-size: 4rem;
    font-style: italic;
    position: absolute;
    top: -13px;
    right: 14px;
}

#conversion-area-bg {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#conversion-area-bg img:first-child {
    width: 24vw;
    max-width: 300px;
    position: absolute;
    bottom: 0;
}


#conversion-area-bg img:last-child {
    width: 17vw;
    max-width: 400px;
    position: absolute;
    bottom: 0;
    right: 0;
}


@media screen and (max-width:992px) {
    #conversion-area-bg img:first-child {
        width: 35vw;
    }
    #conversion-area-bg img:last-child {
        width: 26vw;
    }
    #conversion-area .inqure-button {
        position: absolute;
        bottom: 0;
        width: 100%;
    }
    #conversion-area .sales-copy-sup {
        bottom: -100px;
    }
    
    
    
    #conversion-area .inqure-button {
    	position: relative;
    	flex-direction: column;
	}
	#conversion-area .inqure-button li a {
	    margin: auto;
	    max-width: 350px;
	    height: 5.3rem;
	}
	.top-pref-input-box .search-list span{
		font-size: 1rem;
	}
	
	#conversion-area #read-text strong {
	    font-size: 2.7rem;
	    text-align: center !important;
	}
}

@media screen and (max-width:768px) {
    #conversion-area #read-text {
        width: 90vw;
        min-width: unset;
    }
    #conversion-area #read-text strong {
        font-size: 2.2rem;
        text-align: center !important;
    }
    #conversion-area .inqure-button {
        position: relative;
        flex-direction: column;
        padding-bottom: 120px;
    }
    #conversion-area .sales-copy-sup {
        max-width: 480px;
        font-size: 1.45rem;
    }
    #sp-menu-close {
    	font-size: 3rem;
	}
}

@media screen and (max-width: 576px) {
    #conversion-area .sales-copy-sup {
        width: 340px;
        font-size: 1.1rem;
    }
    #conversion-area .sales-copy-sup strong {
        font-size: 3.5rem;
        top: -7px;
    }
}


.form-check-input{
    position: inherit;
    margin-top: 0;
    margin-left: 0;
}

.form-text-input {
	display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 0.75rem;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

