@charset "UTF-8";
/* CSS Document */

body{
    margin: 0;
    width: auto;
    
}

/*---------- header ----------*/
#header{
	width:100%;
	overflow:hidden;
    margin-bottom: 2vw;
}

.headerTitle{
    padding-left: 5vw;
    width: 100%;
}

.headerTitle img{
    width: 19.5%;
}

.headerTitle img:first-child{
    padding-right: 30vw;
}

.g_floating{
    width:90%;
	display: flex;
    padding: 0 5vw 0;
    margin: 0;
    align-items: center;
    background: #D9ECFF;
    background: linear-gradient(0deg,rgba(217, 236, 255, 1) 0%, rgba(255, 255, 255, 1) 85%);
}

.g_floating li{
    width: 100%;
    height: auto;
    padding: 1.5vw 1vw;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 1.25vw;
    text-wrap: nowrap;
    text-align: center;
    border-left: #000 0.25vw solid;
    border-image: linear-gradient(to bottom, #fff, #1277FF)1;
}
.g_floating li:last-child{
    border-right: #000 0.25vw solid;
    border-image: linear-gradient(to bottom, #fff, #1277FF)1;
}

.g_floating li:hover {
	filter:alpha(opacity=75); /*IE*/
	-moz-opacity:0.75; /*FF*/
	opacity:0.75;
}

.g_floating a{
    color: #858585;
    text-decoration: none;
}

.g_floating a:visited{
    color: #858585;
    border: none;
    text-decoration: none;
}

ul {
	list-style:none;
}


/*---------- top ----------*/
#top{
    overflow:hidden;
}

.topImage{
    text-align: center;
}

#top img{
    width: 90%;
    aspect-ratio: 18/9;
    object-fit: cover;
    justify-content: center;
}

#top .wrap01{
    position: relative;
}
#top .wrap02{
    position: absolute;
    top: 1.5vw;
}

.circle{
    position: absolute;
    top: -0.5vw;
    left: 10vw;
    width: 12.5vw;
    height:12.5vw;
    border-radius:50%;
    background:#FFD800;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index: 1;
}

.circle p{
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    font-size: 3vw;
    line-height: 1.25em;
    letter-spacing: 0.2em;
}

.topCopy{
    position: absolute;
    top: 7.5vw;
    left: 10vw;
}
.topCopy h1{
    font-family: "Zen Maru Gothic", sans-serif;
    color: #fff;
    font-size: 6vw;
    margin-bottom: -3vw;
    text-wrap: nowrap;
}
.topCopy p{
    color: #fff;
    font-size: 2vw;
    
}
.skew {
    display     : inline-block;
    transform   : skewY(-8deg);      
}

.shippori-mincho-bold{
    font-family: "Shippori Mincho", serif;
}

.topWindow{
    position: absolute;
    top: 25vw;
    left: 2.5vw;
    background-color: #fff;
    width: 35vw;
    padding: 1vw 1vw 0;
    opacity: 0.8;
    margin-left: 10vw;
    border-radius: 2vw;
    text-align: center;
}

.topWindow > p:first-child{
    background-color: #FF0000;
    color: #fff;
    width: 95%;
    margin: auto;
}

.topWindow > .flexContainer{
    color: #FF0000;
    font-weight: 600;
    justify-content: center;
    align-items: center;
    margin: -1.5vw;
}

.topWindow > .flexContainer h1{
    color: #FF0000;
    font-family: "Jost", sans-serif;
    font-weight: 600;
    font-size: 7vw;
    margin: 0 0.5vw;
}
.topWindow > .flexContainer p{
    margin: 0vw auto 0;
    font-family: "Murecho", sans-serif;
    font-weight: 700;
}
.topWindow > .flexContainer p:nth-of-type(2){
    
    font-size: 3vw;
}

.topWindow > p:last-child{
    color: #000;
    font-size: 1vw;
    margin-top: -1vw;
}

.cstm-box-angle-bracket {
   --x-gradient: linear-gradient(90deg, #fff 0 100%);
    --y-gradient: linear-gradient(#fff 0 10vw, transparent 0 32.5vw, #fff 32.5vw); /*縦調整*/
    position: relative;
    
    left: 7vw;
    padding: 21vw ;
    width: 44vw;
    background-image:
        var(--x-gradient),
        var(--y-gradient),
        var(--x-gradient),
        var(--y-gradient);
    background-repeat: no-repeat;
    background-size: 100% 0.15vw, 0.15vw 100%, 100% 0.15vw, 0.15vw 100%;
    background-position: top, right, bottom, left;
    text-align: center;
}

.decoration01, .decoration02{
    position: absolute;
    top: 18.5vw;
    left: -3vw;
    margin: auto 0;
}

.decoration01 p,.decoration02 p{
    font-family: "Jost", sans-serif;
    font-weight: 400;
    font-size: 1.25vw;
    color: #fff;
}

.decoration01 p{
    transform: rotate(-90deg);
}

.decoration02 p{
    transform: rotate(90deg);
    margin-left: 85.5vw;
    white-space: pre;
}

/*---------- about ----------*/
#about{
    padding-top: 0;
}

.aboutImage{
    width: 70%;
    border-radius: 45%;
    object-fit: cover;
    position: relative;
    top: 10vw;
    left: 5vw;
}

.aboutTitle{
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700; 
    font-size: 2.5vw;
    writing-mode: vertical-rl;
    color: #1A6AE5;
    background-color: #E9F3FF;
    height: fit-content;
    padding: 1.5vw 0vw;
    margin: 0.25vw;
    z-index: 1;
}

.aboutContents01{
    justify-content: center;
}

.aboutTitle01{
    margin-top: -50vw;
}

.aboutText01{
    width: 40%;
    z-index: 1;
    margin: -51vw -20vw 0 2vw;
}

.aboutText01 > div:nth-child(2){
    border: #000 0.1vw solid;
    border-radius: 3vw;
    padding: 1vw 2vw;
}

.aboutTitle02{
    margin: -5vw 20vw 0 0 ;
    justify-content: right;
}

.aboutText02{
    width: 50%;
    z-index: 1;
    margin: -12.5vw 0 0 15vw;
    text-align: right;
    
}


/*---------- feeGuide ----------*/
#feeGuide .block-blue{
    padding: 1.5vw 3vw;
}

.caption-en{
    color: #1A6AE5;
    font-family: "Jost", sans-serif;
    font-weight: 400;
    font-size: 1.5vw;
    letter-spacing: 0.15vw;
}

.sectionBorder{
    border: #1A6AE5 0.1vw solid;
    width: 10vw;
    margin: 3vw auto;
}

.caption-jp{
    color: #1A6AE5;
    margin-bottom: 5vw;
}

#feeGuide > .wrap01 > div >p:first-child{
    color: #1A6AE5;
    text-align: left;
    font-size: 1.75vw;
    margin-top: 0;
}

#feeGuide > .wrap01 > div:nth-of-type(2) >p:nth-of-type(2){
    width: 60%;
}

#feeGuide > .wrap01 > div > div:nth-of-type(2) > div {
    align-items: center;
    gap: 3vw;
}

.imgGradation img{
    object-fit: cover;
    object-position: 90% 90%;
    aspect-ratio: 1/1;
    width: 25vw;
}

.imgGradation{
    position: relative;
    margin: auto 0;
}

.imgGradation::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(90deg, #ffffff, 20%, transparent);
}

#feeGuide .block-blue .flexContainer{
    justify-content: center;
    gap: 3vw;
}


.subSectionBorder{
    border: #1A6AE5 0.1vw solid;
    margin-top: 2vw;
}

.transportImgM{
    height: 7.5vw;
}

.transportImgL{
    height: 6.5vw;
}

.transport  > .flexContainer{
    gap: 3vw;
}

#feeGuide > .wrap02 > div > p:first-of-type {
    font-size: 1.35vw;
}

#feeGuide > .wrap02 .block-blue .flexContainer{
    align-items: center;
    gap: 3vw;
}

#feeGuide > .wrap02 .block-blue .flexContainer > h4{
    color: #1A6AE5;
}

#feeGuide > .wrap02 .block-blue .block-white{
    width: 80%;
    gap: 0;
    padding: 2vw 3vw;
    margin-bottom: 1vw;
}

#feeGuide > .wrap02 .block-blue .block-white div{
    width: 40%;
}

#feeGuide > .wrap02 .block-blue .block-white div:first-of-type{
    border-right: #8CB5F2 0.25vw solid;
    padding: 2vw;
    padding-left: 0;
    margin-right: 2vw;
}

#feeGuide > .wrap02 .block-blue .block-white p{
    margin: 0;
}

.slash {
    font-size: 2vw;
    letter-spacing: 0.15vw;
    align-items: center; 
    display: flex; 
    justify-content: center; 
}
.slash::before,
.slash::after {
  background-color: #000;
  border-radius: 1vw;
  content: "";
  height: 0.25vw;
  width: 3vw;
}
.slash::before {
  margin-right: 10px;
  transform: rotate(60deg);
}
.slash::after {
  margin-left: 10px;
  transform: rotate(-60deg);
}

.tellUs h2{
    font-family: "Jost", sans-serif;
    letter-spacing: 0.25vw;
}

.tellUs .annotation{
    text-align: left;
    margin-top: -0.5vw;
}

.tellUs .flexContainer{
    background-color: #FF0000;
    border-radius: 1vw;
    padding: 0.5vw 1.5vw;
    color: #fff;
    width: fit-content;
    margin: 1vw auto;
    gap: 2vw;
    align-items: center;
}

/*---------- otherService ----------*/
#otherService .block-blue{
    padding: 3vw 0 1vw;
}

#otherService h3{
    text-align: left;
    margin-left: 3vw;
    margin-bottom: -2vw;
}

.otherServiceContents{
    gap: 1vw;
    width: 80%;
    margin: 0 auto 1vw;
}

.otherServiceContents > div{
    flex: 1;
}

.otherServiceContents .block-white{
    padding: 2vw 3vw;
}


.otherServiceContents p{
    text-align: left;
    margin: 3vw;
}

.otherServiceContents .contents02 .coverText{
    text-align: center;
    background-color: #E9F3FF;
    z-index: 5;
}

.area{
   border: #000 0.15vw solid;
   margin: 0 auto 2vw;
   width: fit-content;
}
.area p{
   text-align: center;
   margin: 2vw;
}

.area::before{
content: "ご安置可能な地域";
font-family: "Zen Maru Gothic", sans-serif;
font-size: 1.5vw;
color: #000;
position: absolute; 
width: fit-content;
padding: 0vw 2vw;
margin-top: -1.5vw;
margin-left: -8vw;
background-color: #E9F3FF;
}

.contents02 .price{
    text-wrap: nowrap;
    letter-spacing: 0.15vw;
    font-size: 4vw;
}

.contents02 .annotation{
    margin-top: -1vw;
}

.contents03 > div > div > h4{
    text-align: left;
    margin-left: 3vw;
}

.contents03 img{
    aspect-ratio: 1/1;
    object-fit: cover;
    width: 22.5vw;
}

.contents03 .flexContainer{
    gap: 1vw;
    justify-content: center;
}

.contents03 .block-white{
    width: 80%;
    height: 5vw;
}

.contents03 .priceTable{
    width: 50%;
    text-wrap: nowrap;
}

.contents03 .priceTable p{
    text-align: center;
    margin: 0;
}

.contents03 .priceTable div div:nth-child(2){
    padding: 0 2vw;
    margin: 0 1vw;
    border-left: #1A6AE5 0.1vw solid;
    border-right: #1A6AE5 0.1vw solid;
}

.contents04 .flexContainer{
    gap: 1vw;
    justify-content: center;
}

.contents04 img{
    aspect-ratio: 1/1;
    object-fit: cover;
    width: 17.5vw;
}

.contents05 img{
    aspect-ratio: 24/9;
    object-fit: cover;
    width: 90%;
    object-position: 0% 100%;
}

.contents06 img{
    aspect-ratio: 20/9;
    object-fit: cover;
    width: 90%;
}

/*---------- vehicleLineup ----------*/
#vehicleLineup .block-white{
    justify-content: center;
    width: 90%;
    align-items: center;
}

#vehicleLineup .block-white h3{
    text-align: left;
    padding-bottom: 2vw;
    border-bottom: #000 0.1vw solid;
}

#vehicleLineup .block-white img{
    width: 40vw;
}


/*---------- customerVoice ----------*/

.balloon {
  position: relative;
  display: inline-block;
  background: #fff;
  border-radius: 1vw;
  margin: 2vw;
}

.balloon::after {
  content: "";
  position: absolute;
  top: 0;
  left: 17.5%;
  border-style: solid;
  border-width: 0 1vw 2vw 1vw;
  border-color: transparent transparent #fff;
  translate: -50% -100%;
}

.balloon p{
    margin: 1.5vw 2.5vw;
    text-align: left;
    width: 30vw;
}

.balloon h3{
    margin: 2.5vw;
    text-align: left;
}



#customerVoice .flexContainer{
    margin: 2vw 3vw 0;
    gap: 1vw;
}

#customerVoice .flexContainer h3{
    letter-spacing: 0;
    margin-bottom: -1vw;
}

.userInfo{
    text-align: left;
    margin-top: 1vw;
    margin-left: 2vw;
}

.userInfo .textbg-blue{
    margin-left: 0;
}

#customerVoice img{
    width: 10vw;
}


/*---------- Q&A ----------*/
#QandA .block-white{
    width: 60vw;
    text-align: left;
}

#QandA .block-white .flexContainer:first-child{
    margin-bottom: 2vw;
}

.flexStart{
    align-items: flex-start;
}



#QandA .block-white .flexContainer{
    align-items: center;
}

.question-blue{
    font-family: "Jost", sans-serif;
    font-size: 3.5vw;
    background-color: #1A6AE5;
    padding: 0 1vw;
    border-radius: 30vw;
    color: #fff;
    margin-right: 2vw;
}

.question-red{
    font-family: "Jost", sans-serif;
    font-size: 3.5vw;
    background-color: #fff;
    padding: 0 1vw;
    border-radius: 30vw;
    color: #FF0000;
    margin-right: 2vw;
}

/*---------- companyInformation ----------*/

#companyInformation table {
    border-collapse: collapse;
}

#companyInformation td, 
#companyInformation th {
    border-bottom: #B6B6B6 0.2vw solid;
    padding: 4vw;
    text-align: left;
}


/*---------- contactUs ----------*/

#contactUs h3{
    background-color: #8CB5F2;
}


/*---------- footer ----------*/

#footer{
    width: 100%;
    padding: 3vw 0;
    background-image: linear-gradient(0deg, #0138b2 39%, #457eff);
    overflow: hidden;
}

.footerTitle{
    padding-left: 5vw;
    margin-bottom: 1vw;
    width: 100%;
}

.footerTitle img:first-child{
    width: 19.5%;
    padding-right: 35vw;
}

.footerTitle img:nth-child(2){
    width: 35vw;
    background-color: a;
}

#footer #gnavi{
    width: 100%;
}

#footer .g_floating{
    background: transparent;
    margin-top: 2vw;
}

#footer .g_floating li{
    border-left: #fff 0.15vw solid;
    border-image: none;
}
#footer .g_floating li:first-child{
    border-left: none;
}

#footer .g_floating li:last-child{
    border-right: none;
}

#footer .g_floating a{
    color: #fff;
}

#footer .g_floating a:visited{
    color: #fff;
}