@charset"UTF-8";

/* 
***********************************************************
* Copyright(C) CIDARIO Inc.
* URI:http://cidario.co.jp
* Editor:Hiromi Yoshino
***********************************************************
*/

/* 
========================================================================================================
*/

:root {
  --color-bg-primary: #81e007;
  --color-bg-secondary: #001037;
	--color-bg-white: #FFF;
	--color-bg-red: #f20c0c;
	--color-bg-yellow: #fff000;
  --color-txt-primary: #000;
  --color-txt-secondary: #fff000;
  --color-txt-accent: #81e007;
	--color-txt-white: #FFF;
	--color-txt-red: #f20c0c;
  --font-size-base: 1.6rem;  
	--font-size-md: 1.8rem;
	--font-size-lg: 2.4rem;
	--font-weight-b: 700;
	--font-weight-bk: 900;
	--line-spacing-base: 1.8em;	
	--line-spacing-01: 1.5em;
	--line-spacing-02: 2.0em;
}


/* html body
========================================================================================================
*/

html{
	font-size:62.5%;
}

body{
	font-family: 'Noto Sans JP', sans-serif;
	color: var(--color-txt-primary);
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
	font-size:var(--font-size-base);
}

@media print, screen and (min-width:600px) {
  body{
   font-size:var(--font-size-base);
  }
}

/* header
========================================================================================================
*/

header{	  
	width:100%;
	height: 60px;
	display: grid;
	grid-template-columns: 1fr 60px;
	align-items: center;
  position: fixed;
  top:0;
  left:0;
  z-index: 1000;
}

@media print, screen and (min-width:1050px) {
header{	
	width:100%;
	height: 135px;
	display: grid;
	grid-template-columns: 380px 1fr;
	align-items: center;
	}
}

header h1{
	padding: 5px 0 0 10px;
}

@media print, screen and (min-width:1050px) {
header h1{
	padding: 0 0 0 40px;
	}
}

header h1 img{
	display: block;
	width:100%;
	max-width:220px;
	transition: 0.8s;
}

@media print, screen and (min-width:1050px) {
header h1 img{
	display: block;
	width:100%;
	max-width: 310px;
	}
}

header .global-nav-wrap{

}

header .global-nav{
	width:60px;
	height:60px;
}

@media print, screen and (min-width:1050px) {
header .global-nav{
	width:100%;
	max-width: 650px;
	height: auto;
	display: grid;
	grid-template-columns: auto 80px;
	column-gap: 5px;
	margin: 0 30px 0 auto;
	}
}

header .global-nav dl{
	display: none;
}

@media print, screen and (min-width:1050px) {
 header .global-nav dl{
	height: 80px;
	background: var(--color-bg-red);
	border-top-left-radius:20px;	
	border-bottom-left-radius:20px;
	display: inline-flex;
	align-items: center;
}

 header .global-nav dl dt{	
	width:290px;
	font-size: var(--font-size-md);	
	color: var(--color-txt-white);
	font-weight: var(--font-weight-b);
	text-align: center;
	line-height: 1.5em;
	padding: 0 20px;
 }

 header .global-nav dl dd{	
	display: inline-flex;
	column-gap: 10px;
 }

 header .global-nav dl dd .app01{	
	width:108px;
 }

 header .global-nav dl dd .app02{	
	width:134px;
 }

 header .global-nav dl dd .app01 img,
 header .global-nav dl dd .app02 img{	
	display: block;
	width:100%;
 }
}

header .global-nav .drawer-icon-wrap{
	position: relative;
	background: var(--color-bg-red);
	width: 50px;
	height: 50px;
	margin: 15px 0 0 0;
}

@media print, screen and (min-width:1050px) {
header .global-nav .drawer-icon-wrap{
	position: relative;
	background: var(--color-bg-red);	
	border-top-right-radius:20px;	
	border-bottom-right-radius:20px;
	width: inherit;
	height: inherit;
	margin: 0;
	}
}

/* PC navigation
===================================================================================================
*/

/* ハンバーガーアイコン */

.drawer-icon{  
	position: absolute;
	top:6px;
	left:6px;
	
  display: block;
  width: 40px;
  height: 38px;	
	background: var(--color-bg-red);
  z-index: 502;
  cursor: pointer;
}

@media print, screen and (min-width:1050px) {
.drawer-icon{
  position: absolute;
	top:22px;
	left:20px;
	
  display: block;
  width: 40px;
  height: 38px;
	}
}

.drawer-icon-parts{
	position: relative;
	width:50%;
	margin:5px auto 0 auto;
}

.drawer-icon .drawer-icon-parts span {
  display: block;
  background-color: #FFF; 
	height: 3px;
  transition: all .4s;
}

.drawer-icon .drawer-icon-parts span:nth-of-type(1) { 
	width: 100%; 
	position: absolute;
  left:0;
	top:0;
  animation: menu-bar .75s forwards;
}
.drawer-icon .drawer-icon-parts span:nth-of-type(2) {	
	width: 100%;	
	position: absolute;
  left:0;
  top: 8px;	
  animation: menu-bar .75s forwards;
}

.drawer-icon.active .drawer-icon-parts span:nth-of-type(1) {
  animation: active-menu-bar01 .75s forwards;
}
.drawer-icon.active .drawer-icon-parts span:nth-of-type(2) {  
  animation: active-menu-bar02 .75s forwards;
}

@keyframes menu-bar {
  0% {
    transform: scale(0);
    transform-origin: left;
  }
  100% {
    transform: scale(1);
    transform-origin: left;
  }
}
@keyframes active-menu-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(4px) rotate(0);
  }
  100% {
    transform: translateY(4px) rotate(45deg);
  }
}
@keyframes active-menu-bar02 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-4px) rotate(0);
  }
  100% {
    transform: translateY(-4px) rotate(-45deg);
    width: 100%;
  }
}

span.drawer-icon-text{  
  display: block;
  position: absolute;
  right:0px;
  left:0px;  
	bottom:0px;
  font-size: 1.4rem;
  color: #FFF;
  text-align: center;
}

@media print, screen and (min-width:1100px) {
span.drawer-icon-text{  
  display: block;
  position: absolute;
  right:0px;
  left:0px;
  bottom:0px;
  font-size: 1.4rem;
  color: #FFF;
  text-align: center;
  }
}

.side-navigation{
  display: none;
  position:fixed;
  top:0;
  left:0;
  width:100vw;
  height: 100%;
  background:#001037;
  overflow-y:scroll;
  z-index: 500;
}

.side-navigation figure {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	z-index: 400;
}

.side-navigation figure::before {
	content: "";
	width: 100%;
	height: 100%;
  background:rgba(0,16,55,0.9);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 401;
}

.side-navigation figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

.side-navigation.panelactive{
  display: block;
  background:rgba(0,16,55,0.9);
  z-index: 500;
}

.IsScrollAllowed {
  overflow: hidden;
}

.side-navigation .side-nav-wrap{
	position: relative;
	width:100%;
	height:100%;
	padding: 100px 0 0 0;
	z-index: 500;
}

@media print, screen and (min-width:768px) { 
.side-navigation .side-nav-wrap{
	position: relative;
	width:100%;
	height:100%;
	padding: 180px 0 0 0;
	z-index: 500;
	}
}

.side-navigation .side-nav-wrap nav{
	width:100%;
}

.side-navigation .side-nav-wrap h2{
	width:100%;
	font-size: clamp(2rem, 2.4vw, 2.4rem);
	color: var( --color-txt-secondary);
	font-weight: var(--font-weight-bk);
	line-height: 1.8em;
	text-align: center;
	margin: 0 auto 30px auto;
}

@media print, screen and (min-width:768px) { 
.side-navigation .side-nav-wrap h2{
	font-size: 2.6rem;
	margin: 0 auto 30px auto;
	}
}

.side-navigation ul{
	width:90%;
	display: grid;
	grid-template-columns: 1fr 1fr ;
	grid-template-rows: auto auto;
	column-gap: 30px;
	margin: 0 auto;
}

@media print, screen and (min-width:480px) { 
.side-navigation ul{
	width:90%;
	display: grid;
	grid-template-columns: 1fr 1fr ;
	grid-template-rows: auto auto;
	column-gap: 30px;
	margin: 0 auto;
	}
}

@media print, screen and (min-width:900px) { 
.side-navigation ul{
	width:90%;
	max-width: 1440px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 1fr;
	column-gap: 60px;
	margin: 0 auto;
	}
}


.side-navigation ul li{
	text-align: center;
	padding: 30px 0;
}

@media print, screen and (min-width:768px) { 
.side-navigation ul li{
	padding: 50px 0;
	}
}

.side-navigation ul li:nth-of-type(1),
.side-navigation ul li:nth-of-type(2),
.side-navigation ul li:nth-of-type(3){
	border-bottom: 1px solid #FFF;
}

@media print, screen and (max-width:900px) { 
.side-navigation ul li:nth-of-type(4){
	border-bottom: 1px solid #FFF;
	}
}

.side-navigation ul li a{
	display:inline-flex;
	flex-flow: column wrap;
	align-items: center;
	font-size: clamp(2.0rem,2.4vw,2.4rem);
	color: var(--color-txt-white);
	font-weight: var(--font-weight-bk);
	transition: 0.8s;
}

@media print, screen and (min-width:900px) { 
.side-navigation ul li a{
	display:inline-flex;
	flex-flow: column wrap;
	align-items: center;
	font-size: clamp(3.0rem,3.0vw,3.6rem);
	color: var(--color-txt-white);
	font-weight: var(--font-weight-bk);
	}
}

.side-navigation ul li a span{
	display: block;
	font-size: 1.4rem;
	color: var(--color-txt-accent);
	font-weight: var(--font-weight-bk);
	margin: 0 0 10px 0;
}

@media print, screen and (min-width:900px) { 
.side-navigation ul li a span{
	display: block;
	font-size: 1.6rem;
	color: var(--color-txt-accent);
	font-weight: var(--font-weight-bk);
	margin: 0 0 10px 0;
	}
}

.side-navigation ul li a:hover{
	color: var(--color-txt-accent);
}

.side-navigation p{
	padding: 0 0 40px 0;
	margin:60px auto 0 auto;
}

@media print, screen and (min-width:768px) { 
.side-navigation p{
	margin:8vh auto 0 auto;
	}
}

.side-navigation p a{
	display: flex;
	align-items: center;
	justify-content: center;
	width:80%;
	max-width: 360px;
	height: 80px;
	border-radius: 40px;
	background: var(--color-bg-primary);
	font-size: 2.0rem;
	font-weight: var(--font-weight-bk);
	color: #FFF;
	margin: 0 auto;
	transition: 0.8s;
}

@media print, screen and (min-width:768px) { 
.side-navigation p a{
	width:400px;
	max-width: inherit;
	height: 100px;
	border-radius: 50px;
	background: var(--color-bg-primary);
	font-size: 2.4rem;
	font-weight: var(--font-weight-bk);
	color: #FFF;
	margin: 0 auto;
	transition: 0.8s;
 }
}

.side-navigation p a:hover{
	background: var(--color-bg-red);
}

 /* z-indexの指定 */ 
.drawer-icon{
    z-index: 1003;
  }

.sp-nav{
    z-index: 1002;
  }


/* contents
========================================================================================================
*/

main{

}

.ct-wrap01{
	position: relative;
	width:95%;
	margin: 0 auto;
	z-index: 100;
}

@media print, screen and (min-width:900px) { 
.ct-wrap01{
	width:90%;
	max-width: 1440px;
 }
}

.ct-wrap02{
	position: relative;
	width:100%;
	display: grid;
	grid-template-columns:1fr;
	margin: 0 auto;
	z-index: 100;
}

@media print, screen and (min-width:1050px) {
.ct-wrap02{
	position: relative;
	width:100%;
	display: grid;
	grid-template-columns: 33% 1fr;
	column-gap: 85px;
	margin: 0 auto;
	z-index: 100;
	}
}

/*----------   title ------------*/

h2.title01{
	font-size:clamp(1.8rem,2.6vw,2.4rem);
	text-align: center;
}

@media print, screen and (min-width:900px)  { 
h2.title01{
	font-size:2.4rem;
	}
}

h2.title01 + p{
	font-size:clamp(3rem,4.6vw,4.2rem);
	text-align: center;
	margin: 20px auto 40px auto;
}

@media print, screen and (min-width:900px)  { 
h2.title01 + p{
	font-size:4.8rem;
	text-align: center;
	margin: 30px auto 70px auto;
	}
}

p.title-lead{
	font-size:1.6rem;
	text-align: center;
	line-height: var(--line-spacing-02);
}

@media print, screen and (min-width:900px)  { 
p.title-lead{
	font-size:var(--font-size-md);
	line-height: var(--line-spacing-02);
	}
}

figure.guts-img01{
	display: none;
}

@media print, screen and (min-width:1050px)  {
figure.guts-img01{
	display: block;
	width:20%;
	max-width: 200px;
	position: absolute;
	top: 160px;
	right:50px;
	z-index: 101;
 }
}

figure.guts-img02{
	display: none;
}

@media print, screen and (min-width:1050px)  {
figure.guts-img02{
	display: block;
	width:18%;
  min-width:200px;
	position: absolute;
	top:175px;
	left:10px;	
	z-index: 100;
	}
}

@media print, screen and (min-width:1300px)  { 
figure.guts-img02{	
	display: block;
	width:20%;
	max-width:230px;
	position: absolute;
	top:155px;
	left:50px;	
	z-index: 100;
 }
}

figure.guts-img03{
	display: none;
}

@media print, screen and (min-width:1050px)  { 
figure.guts-img03{
	display: block;
	width:35%;
	max-width:160px;
	position: absolute;
	top:350px;
	left:50%;
	transform: translateX(-50%);
	}
}

figure.guts-img04{
	display: none;
}

@media print, screen and (min-width:1050px)  { 
figure.guts-img04{
	display: block;
	width:15%;
	max-width:140px;
	position: absolute;
	top:110px;
	right:10px;	
	z-index: 100;
	}
}

@media print, screen and (min-width:1300px)  { 
figure.guts-img04{
	display: block;
	width:15%;
	max-width:140px;
	position: absolute;
	top:110px;
	right:50px;
	z-index: 100;
	}
}

figure.guts-img05{
	display: block;
	width:30%;
	max-width:180px;
	margin: 0 auto;
}

@media print, screen and (min-width:1050px)  { 
figure.guts-img05{
	display: block;
	width:35%;
	max-width:180px;
	margin: 0 auto;
	}
}

figure.guts-img01 img,
figure.guts-img02 img,
figure.guts-img03 img,
figure.guts-img04 img,
figure.guts-img05 img{
	display: block;
	width:100%;
}

/*----------   caption  ------------*/

.caption{
	width:100%;
	margin: 30px auto 0 auto;
}

@media print, screen and (min-width:900px) { 
.caption{
	width:100%;
	margin: 40px auto 0 auto;
	}
}

.caption li{
	position: relative;
	font-size: 1.2rem;
	line-height: 1.8em;
	color: #FFF;
	padding: 0 0 0 15px;
}

@media print, screen and (min-width:900px) { 
.caption li{
	font-size: 1.4rem;
 }
}

.caption li::before{
	content: "※";
	position:absolute;
	top:0;
	left:0;
}

.caption li + li{
	margin: 10px 0 0 0;
}

#point img.bg-img,
#insurance img.bg-img,
#faq img.bg-img{
	display: block;
	width: 100%;
}


/*----------   app-link-box  ------------*/

aside.app-link-box{
	position: relative;
	width:95%;
	padding: 40px 0 60px 0;	
	margin: 0 auto;
}

@media print, screen and (min-width:768px){ 
aside.app-link-box{
	padding: 80px 0 100px 0;
 }
}

.app-link-box .link-box{
	position: relative;
	width:100%;
}

.app-link-box .link-box h2{
	width:95%;
	font-size: clamp( 1.8rem, 2.8vw, 2.8rem);
	font-weight: var(--font-weight-bk);
	line-height: var(--line-spacing-base);
	text-align: center;
	margin: 0 auto;
}

@media print, screen and (min-width:900px){ 
.app-link-box .link-box h2{
	font-size: clamp(2.8rem, 3.3vw, 3.6rem);
	}
}

.app-link-box .app-box{
	position: relative;
	width:100%;
	display: grid;
	grid-template-columns: 1fr;
	background: none;
	border-radius: 30px;
	margin: 0 auto;
}

@media print, screen and (min-width:900px) {
.app-link-box .app-box{
	position: relative;
	width:100%;
	max-width: 980px;
	display: grid;
	grid-template-columns: 25% 1fr;
	column-gap: 70px;
	background: none;
	margin: 0 auto;
	}
}

.app-link-box .app-box::before{
	content: "";
	width:90%;
	height:140px;
	background: #EEE;
	border-radius: 20px;
	position: absolute;
	top:50%;
	right:0;
	transform: translateY(-50%);
	z-index: 100;
}

@media print, screen and (min-width:768px) {
.app-link-box .app-box::before{
	content: "";
	width:90%;
	height: 180px;
	border-radius: 30px;
	}
}

@media print, screen and (min-width:900px) {
.app-link-box .app-box::before{
	content: "";
	width:90%;
	height: 280px;
	border-radius: 30px;
	}
}

#flow .app-link-box .app-box::before{
	background: #FFF;
}

.app-link{
	position: relative;
	z-index: 101;
}

.app-link span{
	display: block;
	width: 85%;
	font-family: "source-sans-3", sans-serif;	
	font-size: clamp(4.0rem,6vw,6.0rem);
	font-weight: 900;
	font-style: italic;
	color: var(--color-txt-red);
	text-align: center;
	margin: -5px 0 0 auto;
}

@media print, screen and (min-width:900px) { 
.app-link span{
	display: block;
	width: 80%;
	font-size: 8.0rem;
	text-align: center;
	margin: 0;
	}
}

.app-link h2{
	width: 85%;
	font-size: 1.5rem;
	font-weight: var(--font-weight-bk);	
	text-align: center;
	line-height: 1.5em;
	margin: 10px 0 10px auto;
}

@media print, screen and (min-width:900px) { 
.app-link h2{
	width: 80%;
	font-size: 2.4rem;
	text-align: center;
	margin: 30px 0;
	}
}

.app-link ul{
	width:83%;
	display: grid;
	grid-template-columns: auto auto;
	column-gap: 7px;
	align-items: center;
	justify-content: center;
	margin: 20px 0 40px auto;
}

@media print, screen and (min-width:768px) {
.app-link ul{
	width:83%;
	display: grid;
	grid-template-columns: auto auto;
	column-gap:15px;
	align-items: center;
	justify-content: center;
	margin: 40px 0 40px  auto;
	}
}

@media print, screen and (min-width:900px) {
.app-link ul{
	width:80%;
	display: grid;
	grid-template-columns: 27% 30% auto;
	column-gap: 15px;
	align-items: center;
	margin: 0;
	}
}

.app-link ul li img{
	display: block;
	width: 100%;
}

.app-link ul li.app01 img{
	width: 80%;
}

.app-link ul li.app01{
	display: none;
}

@media print, screen and (min-width:900px) {
.app-link ul li.app01{
	display: block;
	}
}

.app-link ul li.app02{
	width: 105px;
	justify-content: flex-end;
}

.app-link ul li.app03{
	width: 130px;
	justify-content: flex-start;
}

@media print, screen and (min-width:768px) { 
.app-link ul li.app02{
	width: 143px;
	justify-content: flex-end;
}

.app-link ul li.app03{
	width: 180px;
	justify-content: flex-start;
	}
}

@media print, screen and (min-width:1050px) { 
.app-link ul li.app02{
	width: 163px;
	justify-content: flex-end;
}

.app-link ul li.app03{
	width: 200px;
	justify-content: flex-start;
	}
}

.app-box figure{
	display: block;
	position: absolute;
	top:50%;
	left:0;
	transform: translateY(-50%);
	width:20%;	
	z-index: 101;
}

@media print, screen and (min-width:768px) {
.app-box figure{
	position: absolute;
	top:50%;
	left:0;
	transform: translateY(-50%);
	width:25%;	
	}
}

@media print, screen and (min-width:900px) {
.app-box figure{
	position: relative;
	width:250px;	
	}
}

.app-box figure img{
	display: block;
	width: 100%;
}

.btn-box{
	width:100%;
}

.btn-box a{
	display: flex;
	align-items: center;
	justify-content: center;
	width:80%;
	max-width: 300px;
	height: 70px;
	background:var(--color-bg-red) ;
	border-radius: 35px;
	margin:40px auto 0 auto;
	transition: 0.8s;
}

@media print, screen and (min-width:768px) { 
.btn-box a{
	width:100%;
	max-width: 400px;
	height: 100px;
	background:var(--color-bg-red) ;
	border-radius: 50px;
	margin:60px auto 0 auto;
	}
}

.btn-box a span{
	font-size: 1.8rem;
	font-weight: var(--font-weight-bk);
	color: #FFF;
}

@media print, screen and (min-width:768px) { 
.btn-box a span{
	font-size: 2.4rem;
	}
}

.btn-box a:hover{
	background:var(--color-bg-primary);
}


/* top-mv 
-----------------------------------------------------------------------------------------
*/

section#top-mv{
	width:100%;
	background: var(--color-bg-primary);
}

section#top-mv figure.mv-img{
	width:100%;
	height: 85vh;
	position:absolute;
	top:0;
	right: 0;
	z-index: 300;
}

@media print, screen and (min-width:768px) { 
section#top-mv figure.mv-img{
	width:85vw;
	height: 90vh;
	min-height: 700px;
	}
}

section#top-mv figure.mv-img img{
	width:100%;
	height: 100%;
	object-fit: cover;
	object-position: 65% 0;
}

@media print, screen and (min-width:768px) {
section#top-mv figure.mv-img img{
	width:100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	border-bottom-left-radius: 100px;
	}
}

section#top-mv .mv-box{
	position: relative;
	width:100%;
	height: 95vh;
	padding: 20vh 0 0 0;
	z-index: 301;
}

@media print, screen and (min-width:768px) {
section#top-mv .mv-box{
	position: relative;
	width:100%;
	height: inherit;
	padding: 260px 0 0 0;
	z-index: 301;
	}
}

#top-mv .mv-box .mv-lead{
	width:95%;
	display: flex;
	flex-flow: column wrap;
	margin: 0 auto;
}

@media print, screen and (min-width:768px) { 
#top-mv .mv-box .mv-lead{
	width:80%;
	display: flex;
	flex-flow: column wrap;
	margin: 0 auto;
	}
}

#top-mv .mv-box .mv-lead h2{
	width:100%;
}

#top-mv .mv-box .mv-lead h2 span{
	display: inline-block;
	font-size:clamp(3.6rem, 4vw, 6rem);
	color: var( --color-txt-white);
	font-weight:var( --font-weight-bk);
	/*background: linear-gradient(transparent 0%, #FFF 0%);*/
	line-height: 1.3em;
	letter-spacing: 0.05em;
	/*padding: 0 20px;*/
	/*margin: 0 0 10px 0;*/  
	/* 水平2px, 垂直2px, ぼかし4px, 黒色 */
  text-shadow: 4px 4px 20px rgba(0, 0, 0, 0.7);
}

@media print, screen and (min-width:768px) { 
#top-mv .mv-box .mv-lead h2 span{
	font-size:clamp(6rem, 7.5vw, 7.5rem);
	/*background: linear-gradient(transparent 0%, #FFF 0%);	*/
	/*padding: 0 20px;*/
	/*margin: 0 0 20px 0;*/
	}
}

#top-mv .mv-box .mv-lead ul{
	width:100%;
	display: inline-flex;
	flex-flow: row nowrap;
	margin: 30px 0 0 0;
}

@media print, screen and (min-width:768px) { 
#top-mv .mv-box .mv-lead ul{
	width:100%;
	display: inline-flex;
	flex-flow: row nowrap;
	margin: 30px 0 0 0;
	}
}

#top-mv .mv-box .mv-lead ul li{
	height: 34px;
	background: var(--color-bg-yellow);
	border-radius: 17px;
	font-size:1.4rem;
	font-weight: var(--font-weight-bk);	
	letter-spacing: 0.03em;
	padding:0 15px;
	display: flex;
	align-items: center;
}

@media print, screen and (min-width:768px) { 
#top-mv .mv-box .mv-lead ul li{
	height: 60px;
	border-radius: 30px;
	font-size:2.4rem;
	padding:0 30px;
	}
}

@media print, screen and (min-width:1050px) { 
#top-mv .mv-box .mv-lead ul li{
	height: 80px;
	border-radius: 40px;
	font-size: 3.2rem;
	padding:0 40px;
	}
}

section#top-mv .mv-box figure{
	position: absolute;
	bottom:0;
	right: 5%;
	width:90%;
	height: auto;
}

@media print, screen and (min-width:768px) { 
section#top-mv .mv-box figure{
	position: relative;	
	bottom:inherit;
	right:inherit;
	width:90%;
	height: auto;
	margin: 40px auto 0 auto;
	}
}

section#top-mv .mv-box figure img{
	display: block;
	width:90%;
	min-width: 320px;
	max-width: 400px;
	margin: 0 0 0 auto;
}

@media print, screen and (min-width:768px) { 
section#top-mv .mv-box figure img{
	display: block;
	width:70%;
	max-width:900px;
	margin: 0 0 0 auto;
	}
}


/* point
-----------------------------------------------------------------------------------------
*/

#point{
	position: relative;
	width:100%;
	background:var(--color-bg-primary);
	padding: 60px 0 0 0;
}

@media print, screen and (min-width:900px) {
#point{
	position: relative;
	width:100%;
	background:var(--color-bg-primary);
	padding: 160px 0 0 0;
	}
}

@media print, screen and (min-width:1050px) {
#point{
	position: relative;
	width:100%;
	background:var(--color-bg-primary);
	padding: 0;
	}
}

#point .bg-text{
	width:100%;	
	position: absolute;
	top:-80px;
	left:0;
}

@media print, screen and (min-width:768px) {
#point .bg-text{
	width:100%;	
	position: absolute;
	top: -100px;
	left:0;
	}
}

@media print, screen and (min-width:1050px) {
#point .bg-text{
	width:100%;	
	position: absolute;
	top: -300px;
	left:0;
	}
}

#point .bg-text img{
	display: block;
	width:100%;
	object-fit: contain;
}

#point h2{
	position: relative;
	background-color:transparent;
	font-size:clamp(3rem,4.6vw,4.2rem);
	font-weight: var(--font-weight-bk);
	color: var(--color-txt-white);
	text-align: center;
}

@media print, screen and (min-width:900px) {
#point h2{
	font-size: 4.8rem;
 }
}

#point h2 span{
	display: block;
	font-size:clamp(1.8rem,2.6vw,2.4rem);
	margin: 0 0 10px 0;
}

@media print, screen and (min-width:900px) {
#point h2 span{
	font-size: 2.4rem;
	margin: 0 0 10px 0;
	}
}

#point h2 + p{
	width:90%;
	font-size: 1.6rem;
	color: var(--color-txt-white);
	line-height: var(--line-spacing-02);
	text-align: center;
	margin:40px auto 0 auto;
}

@media print, screen and (min-width:900px) {
#point h2 + p{
	width:90%;
	font-size: var(--font-size-md);
	margin:40px auto 0 auto;
	}
}

.point-wrap{
	position: relative;
	width:100%;
	display: grid;
	grid-template-columns:1fr;
	grid-template-rows: auto auto auto;
	grid-gap:160px 0;
	margin:160px auto 60px auto;
}

@media print, screen and (min-width:900px)  { 
.point-wrap{
	width:100%;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;	
	grid-template-rows: auto;
	grid-gap: 0 40px;
	margin:220px auto 0 auto;
	}
}

.point-box{
	position: relative;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	grid-gap: 0 0;
}

.point-box .point-txt{
	grid-column: 1/2;
	grid-row: 2/3;
	background: #FFF;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	padding:0 20px 20px 20px;
}

@media print, screen and (min-width:900px) { 
.point-box .point-txt{
	border-bottom-left-radius: 30px;
	border-bottom-right-radius: 30px;
	padding:0 40px 30px 40px;
	}
}

.point-box::before{
	content: "";
	width:120px;
	height: 120px;
	position: absolute;
	top:-130px;
	left:50%;
	transform: translateX(-50%);
}

@media print, screen and (min-width:900px)  { 
.point-box::before{
	content: "";
	width:120px;
	height: 120px;
	position: absolute;
	top:-140px;
	left:50%;
	transform: translateX(-50%);
	}
}

.point-box:nth-of-type(1)::before{
	background: url("../../images/rentashare/rentashare10.png") no-repeat 0 0;
	background-size: 100%;
}

.point-box:nth-of-type(2)::before{
	background: url("../../images/rentashare/rentashare11.png") no-repeat 0 0;
	background-size: 100%;
}

.point-box:nth-of-type(3)::before{
	background: url("../../images/rentashare/rentashare12.png") no-repeat 0 0;
	background-size: 100%;
}

.point-box figure{
	grid-column: 1/2;
	grid-row: 1/2;
}

.point-box figure img{
	display: block;
	width:100%;
	height: inherit;	
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

@media print, screen and (min-width:900px) { 
.point-box figure img{
	display: block;
	width:100%;
	height: inherit;	
	border-top-left-radius: 30px;
	border-top-right-radius: 30px;
	}
}

.point-box .point-txt h3{
	font-size: 2rem;
	font-weight: var(--font-weight-bk);
	line-height: var(--line-spacing-01);
	text-align: center;
	margin:30px 0 20px 0;
}

@media print, screen and (min-width:900px)  { 
.point-box .point-txt h3{
	font-size: 2.2rem;
	font-weight: var(--font-weight-bk);
	line-height: var(--line-spacing-01);
	text-align: center;
	margin:40px 0 30px 0;
	}
}

.point-box .point-txt p{
	font-size: 1.4rem;
	line-height: var(--line-spacing-base);
}

@media print, screen and (min-width:900px)  {
.point-box .point-txt p{	
	font-size: 1.6rem;
	}
}

/* price
-----------------------------------------------------------------------------------------
*/

#price{
	position: relative;
	width:100%;
	background:url("../../images/rentashare/bg01.jpg") no-repeat 0 0;
	background-size: cover;
	padding: 60px 0;
}

@media print, screen and (min-width:768px) { 
#price{
	padding: 140px 0;
	}
}

#price h2,
#price h2 + p{
	color: var(--color-txt-secondary);
	font-weight: var(--font-weight-bk);
}

#price h2 + p + p{
	color: var(--color-txt-white);
	text-align: center;
}

.plice-list-wrap{
	width:100%;
	margin: 0 auto;
}

.plan-tab-list{
	width:90%;
	max-width: 400px;
	display: grid;
	grid-template-columns: 1fr 1fr;	
	margin:40px auto 0 auto;
}

@media print, screen and (min-width:768px) { 
.plan-tab-list{
	margin:60px auto 0 auto;
	}
}

.plan-tab-list li{
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: 1px solid #FFF;
	padding: 20px 0;
	transition: 1s;
	cursor: pointer;
}

.tab-content{
	position: relative;
	margin: 30px auto 0 auto;
	z-index: 101;
}

@media print, screen and (min-width:900px) { 
.tab-content{
	margin: 70px auto 0 auto;
	}
}

.tab-panel {
  display: none;
}

.tab-panel.active {
  display: block;
}

.plan-tab-list li span{
	font-size: var(--font-size-md);
	color: var(--color-txt-white);
}

.plan-tab-list li.tab-item.active{
	border-bottom: 1px solid #81e007;
}

.plan-tab-list li.tab-item.active span{
	color: var(--color-txt-accent);
}


.plice-list{
	width:100%;	
	background: #FFF;
	border-radius: 20px;
}

@media print, screen and (min-width:900px) { 
.plice-list{
	border-radius: 40px;
	}
}

.plice-list dl{
	width:100%;
	height: 120px;
	display: grid;
	grid-template-columns: 25% 1fr;
}

.plice-list dl.list-head{
	width:100%;
	height: 80px;
	display: grid;
	grid-template-columns: 25% 1fr;
	column-gap: 1px;
}

@media print, screen and (min-width:900px) {
.plice-list dl.list-head{
	width:100%;
	height: 120px;
	}
}

.plice-list dl dt{
	background: #EEE;
}

.plice-list dl dt span{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80%;
	height: 120px;
	font-size: clamp(1.8rem,2.2vw,2.2rem);
	font-weight:var(--font-weight-b);
	margin: 0 auto;
}

@media print, screen and (min-width:900px) { 
.plice-list dl dt span{
	width: 80%;
	height: 120px;
	font-size: 2.4rem;
	}
}

.plice-list dl dt span::after{	
	content: "";
	width: 100%;
	height: 2px;
	background: #FFF;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.plice-list dl:last-of-type dt span::after{	
  display: none;
}

.plice-list dl dd{
	background: #FFF;
}

.plice-list dl dd ul{	
	display: grid;	
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 120px;
	align-items: stretch;
	justify-content: center;
}

.plice-list dl dd ul li{
	position: relative;
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
}

.plice-list dl dd ul li p{
	font-size: clamp(1.8rem,2.2vw,2.2rem);
	font-weight:var(--font-weight-b);
}

@media print, screen and (min-width:900px) { 
.plice-list dl dd ul li p{
	font-size: 2.4rem;
	}
}

.plice-list dl dd ul li p span{
	font-size: 1.4rem;
}

@media print, screen and (min-width:900px) { 
.plice-list dl dd ul li p span{
	font-size: 1.8rem;
	}
}

.plice-list dl dd ul li p + p{
	font-size: 1.1rem;
	margin: 5px 0 0 0;
}

@media print, screen and (min-width:900px) { 
.plice-list dl dd ul li p + p{
	font-size: 1.4rem;
	}
}

.plice-list dl dd ul li::after{	
	content: "";
	width: 80%;
	height: 2px;
	background: #EEE;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.plice-list dl:last-of-type dd ul li::after,
.plice-list dl.list-head dd ul li::after{	
	display: none;
}

.plice-list .list-head dt{
	display: flex;
	flex-flow: column wrap;
	align-items: center;
	justify-content: center;
	font-size: clamp(1.4rem,1.8vw,2.0rem);
	color: #FFF;
	font-weight: var(--font-weight-b);
}

@media print, screen and (min-width:900px) { 
.plice-list .list-head dt{
	font-size: 2.2rem;
	}
}

.plice-list .list-head dd{
	font-size: clamp(1.4rem,1.8vw,2.0rem);
	color: #FFF;
	font-weight: var(--font-weight-b);
	background-color: transparent;
}

@media print, screen and (min-width:900px) { 
.plice-list .list-head dd{
	font-size: 2.2rem;
	}
}

.plice-list .list-head dd ul{	
	display: grid;	
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 80px;
	align-items: stretch;
	justify-content: center;
	column-gap: 1px;
	background: #FFF;
	border-top-right-radius: 20px;
}

@media print, screen and (min-width:900px) { 
.plice-list .list-head dd ul{	
	display: grid;	
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 120px;
	align-items: stretch;
	justify-content: center;
	column-gap: 1px;
	background: #FFF;
	border-top-right-radius: 40px;
	}
}

.plice-list .list-head dd ul li span{
	display: block;
	font-size: 1.4rem;
	margin: 3px 0 0 0;
}

.tab-content .plice-list .list-head dt{
	background: var(--color-bg-primary);
	border-top-left-radius: 20px;
}

@media print, screen and (min-width:900px) { 
.tab-content .plice-list .list-head dt{
	border-top-left-radius: 40px;
	}
}

.tab-content .plice-list .list-head dd ul li{
	background: var(--color-bg-primary);
}

.tab-content .list-head dd ul li:last-of-type{
	border-top-right-radius: 20px;
}

@media print, screen and (min-width:900px) {
.tab-content .list-head dd ul li:last-of-type{
	border-top-right-radius: 40px;
	}
}

.plice-list dl:last-of-type dt {
	border-bottom-left-radius: 20px;
}

.plice-list dl:last-of-type dd{
	border-bottom-right-radius: 20px;
}

@media print, screen and (min-width:900px) {
.plice-list dl:last-of-type dt {
	border-bottom-left-radius: 40px;
}

.plice-list dl:last-of-type dd{
	border-bottom-right-radius: 40px;
	}
}


/* mid-mv
-----------------------------------------------------------------------------------------
*/

.mid-mv{
	position: relative;
	width:100%;
}

.mid-mv figure.mid-mv-img{
	width:100%;
}

.mid-mv figure.mid-mv-img img{
	display: block;
	width:100%;
	height: 100%;
	min-height: 280px;
	object-fit: cover;
}

.mid-mv .mv-box{
	width:100%;
	height: 100%;
	position: absolute;
	top:0;
	left:0;
}

.mid-mv .mv-box.right h2 {
	position: absolute;
	top:40%;	
	right:2.5%;	
	transform: translateY(-50%);
}

@media print, screen and (min-width:900px) {
.mid-mv .mv-box.right h2 {
	position: absolute;
	top:50%;
	right: 10%;
	transform: translateY(-50%);
	}
}

.mid-mv .mv-box.left h2 {
	position: absolute;
	top:70%;	
	left:2.5%;	
	transform: translateY(-50%);
	z-index: 102;
}

@media print, screen and (min-width:768px) {
.mid-mv .mv-box.left h2 {
	position: absolute;
	top:70%;	
	left:2.5%;	
	transform: translateY(-50%);
	}
}

@media print, screen and (min-width:900px) {
.mid-mv .mv-box.left h2 {
	position: absolute;
	top:70%;
	left:5%;
	transform: translateY(-50%);
	}
}

.mid-mv .mv-box h2 span {
	display: inline-block;
	font-size: clamp(1.6rem, 3vw, 3rem);
	color: var(--color-txt-primary);
	font-weight: var(--font-weight-bk);
	background: linear-gradient(transparent 0%, #FFF 0%);
	line-height: 2em;
	padding: 0 10px;
	margin: 0 0 7px 0;
}

@media print, screen and (min-width:900px) {
.mid-mv .mv-box h2 span {
	display: inline-block;
	font-size: clamp(3.0rem, 3vw, 4.8rem);
	color: var(--color-txt-primary);
	font-weight: var(--font-weight-bk);
	background: linear-gradient(transparent 0%, #FFF 0%);
	line-height: 2em;
	padding: 0 20px;
	margin: 0 0 20px 0;
	}
}

.mid-mv .mv-box figure {
	width: 60%;
	height: auto;
	margin: 40px auto 0 auto;
	position: absolute;
	bottom:-80px;
	right: 5%;	
	z-index: 101;
}

@media print, screen and (min-width:900px) {
.mid-mv .mv-box figure {
	width: 60%;
	height: auto;
	margin: 40px auto 0 auto;
	position: absolute;
	bottom: -200px;
	right: 5%;	
	z-index: 101;
	}
}

.mid-mv .mv-box figure img {
	display: block;
	width: 100%;
	max-width: 700px;
	margin: 0 0 0 auto;
}


/* insurance
-----------------------------------------------------------------------------------------
*/

#insurance{
	position: relative;
	width:100%;
	background:var(--color-bg-primary);
	padding: 120px 0 0 0;
}

@media print, screen and (min-width:900px) { 
#insurance{
	padding: 260px 0 0 0;
	}
}

#insurance .ct-wrap01{
	margin: 0 auto 40px auto;
}

#insurance .bg-text{
	width:100%;	
	position: absolute;
	top: 0;
	left:0;
}

#insurance .bg-text img{
	display: block;
	width:100%;
	object-fit: contain;
}

#insurance h2,
#insurance h2 + p{
	color: var(--color-txt-white);
	font-weight: var(--font-weight-bk);
}

#insurance h2 + p + p{
	color: var(--color-txt-white);
	text-align: center;
}

.insurance-list{
	position: relative;
	width:100%;
	margin: 40px 0 0 0;
}

@media print, screen and (min-width:768px) { 
.insurance-list{
	width:100%;
	margin: 80px 0 0 0;
	}
}

.insurance-list dl{
	width:100%;
	height: 100px;
	display: grid;
	grid-template-columns: 1fr 2fr;
}

@media print, screen and (min-width:900px) { 
.insurance-list dl{
	width:100%;
	height: 120px;
	display: grid;
	grid-template-columns: 1fr 2fr;
	}
}

.insurance-list dl dt{
	background: #EEE;
}

.insurance-list  dl dt span {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80%;
  height: 100px;
	font-size: clamp(1.4rem, 1.8vw, 2.0rem);
  font-weight: var(--font-weight-b);
	margin: 0 auto;
}

@media print, screen and (min-width:900px) { 
.insurance-list  dl dt span {
  width: 80%;
  height: 120px;
  font-size: 2.4rem;
  font-weight: var(--font-weight-b);
	}
}

.insurance-list dl dd{
	background: #FFF;
}

.insurance-list dl dd ul{
	display: grid;
	grid-template-columns: 1fr 1fr;	
	grid-template-rows: 100px;
}

@media print, screen and (min-width:900px) { 
.insurance-list dl dd ul{
	display: grid;
	grid-template-columns: 1fr 1fr;	
	grid-template-rows: 120px;
	}
}

.insurance-list dl dd ul li{
	position: relative;
	height: 100%;
	display: flex;
	flex-flow: column wrap;
	align-items: center;
	justify-content: center;
	font-size: clamp(1.6rem, 1.8vw, 2.0rem);
	font-weight: var(--font-weight-b);
}

@media print, screen and (min-width:900px) { 
.insurance-list dl dd ul li{
	font-size: 2.4rem;
	font-weight: var(--font-weight-b);
	}
}

.insurance-list dl dd ul li.row{
	display: flex;
	flex-flow: column wrap;
	align-items: center;
	justify-content: center;
	column-gap: 0;
	grid-row-gap: 10px;
}

@media print, screen and (min-width:900px) { 
.insurance-list dl dd ul li.row{
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	column-gap: 40px;	
	grid-row-gap: 0;
	}
}

.insurance-list dl dd ul li p{
	text-align: center;
}

.insurance-list dl dd ul li span{
	display: block;
	font-size: 1.1rem;
}

@media print, screen and (min-width:900px) { 
.insurance-list dl dd ul li span{
	font-size: 1.4rem;
	}
}

.insurance-list dl dd ul li::after{	
	content: "";
	width: 80%;
	height: 2px;
	background: #EEE;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.insurance-list dl:last-of-type dd ul li::after,
.insurance-list dl.list-head dd ul li::after{	
	display: none;
}

.insurance-list .list-head dt,
.insurance-list .list-head dd{
	background: var(--color-bg-secondary);
}

.insurance-list .list-head dt{	
	display: flex;
	align-items: center;
	justify-content: center;
	border-top-left-radius:20px;
}

@media print, screen and (min-width:900px) {
.insurance-list .list-head dt{	
	border-top-left-radius: 40px;
	}
}

.insurance-list .list-head dd:last-of-type{
	border-top-right-radius: 20px;
}

@media print, screen and (min-width:900px) {
.insurance-list .list-head dd:last-of-type{
	border-top-right-radius: 40px;
	}
}

.insurance-list .list-head dt,
.insurance-list .list-head dd{
	font-size: clamp(1.8rem,2.2vw,2.2rem);
	color: var(--color-txt-white);
	font-weight: var(--font-weight-b);
}

@media print, screen and (min-width:900px) {
.insurance-list .list-head dt,
.insurance-list .list-head dd{
	font-size: 2.4rem;
	color: var(--color-txt-white);
	font-weight: var(--font-weight-b);
	}
}

.insurance-list dl:last-of-type dt{
	border-bottom-left-radius: 20px;
}

.insurance-list dl:last-of-type dd{
	border-bottom-right-radius: 20px;
}

@media print, screen and (min-width:900px) {
.insurance-list dl:last-of-type dt{
	border-bottom-left-radius: 40px;
}

.insurance-list dl:last-of-type dd{
	border-bottom-right-radius: 40px;
	}
}

/* flow
-----------------------------------------------------------------------------------------
*/

#flow{
	position: relative;
	width:100%;
	background:url("../../images/rentashare/bg01.jpg") no-repeat 0 0;
	background-size: cover;
	padding: 60px 0 0 0;
}

@media print, screen and (min-width:768px) {
#flow{
	position: relative;
	width:100%;
	background:url("../../images/rentashare/bg01.jpg") no-repeat 0 0;
	background-size: cover;
	padding: 140px 0 0 0;
	}
}

#flow .flow-wrap01 h2{
	color: var(--color-txt-secondary);
	font-weight: var(--font-weight-b);
}

@media print, screen and (min-width:1050px) {
#flow .flow-wrap01 h2{
	font-size: 2.8rem;
	font-weight: var(--font-weight-bk);
	letter-spacing: 0.05em;
	color: #000;
	writing-mode: vertical-rl;
	position: absolute;
	top:100px;
	left:50%;
	transform: translateX(-50%);
	}
}

.flow-wrap01{
	position: relative;
}

.flow-wrap01 figure.flow-img{
	display: none;
	width:100%;
}

@media print, screen and (min-width:1050px) {
.flow-wrap01 figure.flow-img{
	display: block;
	}

.flow-wrap01 figure.flow-img img{
	display: block;
	width:100%;
	min-height: 1200px;
	object-fit: cover;
	object-position: 70% 100%;
	border-top-right-radius: 60px;
	border-bottom-right-radius: 60px;
 }
}

.flow-wrap02{
	padding: 20px 0 0 0;
}

@media print, screen and (min-width:900px) {
.flow-wrap02{
	padding: 40px 0 0 0;
	}
}

.flow-wrap02 p.lead-txt{
	font-size:clamp(3rem,4.6vw,4.2rem);
	font-weight:var(--font-weight-bk) ;
	color: var(--color-txt-secondary);
	line-height: var(--line-spacing-01);
	text-align: center;
}

@media print, screen and (min-width:1050px) {
.flow-wrap02 p.lead-txt{
	font-size: 4.8rem;
	text-align: left;
	}
}

.flow-list{
	position: relative;
	width:90%;
	counter-reset: number 0;
	margin: 40px auto 0 auto;
}

@media print, screen and (min-width:1050px) {
.flow-list{
	position: relative;
	width:90%;
	counter-reset: number 0;
	margin: 80px 0 0 0;
	}
}

.flow-list li dl{
	position: relative;
}

.flow-list li dl::after{
	content: "";
	width: 1px;
	height: 100%;
	background: var(--color-bg-primary);
	position: absolute;
	top:0;
	left:25px;
	z-index: 100;
}

@media print, screen and (min-width:900px) {
.flow-list li dl::after{
	content: "";
	width: 1px;
	height: 100%;
	background: var(--color-bg-primary);
	position: absolute;
	top:0;
	left:35px;
	z-index: 100;
 }
}

.flow-list li:last-of-type dl::after{
	display: none;
}

.flow-list li dl dt{
	position: relative;
	font-size:1.8rem;
	font-weight:var(--font-weight-b) ;
	color: var(--color-txt-accent);
	padding: 10px 0 0 70px;
	margin: 0 0 20px 0;
	z-index: 101;
}

@media print, screen and (min-width:900px) {
.flow-list li dl dt{
	position: relative;
	font-size: 2.4rem;
	font-weight:var(--font-weight-b) ;
	color: var(--color-txt-accent);
	padding: 15px 0 0 120px;
	margin: 0 0 20px 0;
	z-index: 101;
	}
}

.flow-list li dl dt::before{
	counter-increment: number 1;
	content: counter(number);
	width:50px;
	height: 50px;
	border-radius: 50%;
	background: var(--color-bg-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Times New Roman", Times, "serif";
	font-size: 3rem;
	color: #FFF;
	font-weight: normal;
	position: absolute;
	top:0;
	left:0;
}

@media print, screen and (min-width:900px) {
.flow-list li dl dt::before{
	width:70px;
	height: 70px;
	border-radius: 50%;
	font-size: 4.1rem;
	}
}

.flow-list li dl dd{
	font-size: 1.4rem;
	color: #FFF;
	line-height: var(--line-spacing-02);
	padding: 0 0 40px 70px;
}

@media print, screen and (min-width:900px) {
.flow-list li dl dd{
	font-size: 1.6rem;
	color: #FFF;
	line-height: var(--line-spacing-02);
	padding: 0 0 60px 120px;
	}
}

.flow-list li dl dd ul.flow-box01,
.flow-list li dl dd ul.flow-box02{
	width:100%;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	border: 1px solid #FFF;
	padding: 20px;
	margin: 30px auto 0 auto;
}

@media print, screen and (min-width:900px) {
.flow-list li dl dd ul.flow-box01,
.flow-list li dl dd ul.flow-box02{
	width:100%;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	border: 1px solid #FFF;
	padding: 20px;
	margin: 40px auto 0 auto;
	}
}

.flow-list li dl dd ul.flow-box01 li.app01{
	display: none;
}

@media print, screen and (min-width:900px) {
.flow-list li dl dd ul.flow-box01 li.app01{
	display: block;
	width:90px;
	margin: 0 40px 0 0;
	}
}

.flow-list li dl dd ul.flow-box01 li.app02{
	width:105px;
	margin: 0 10px 0 0;
}

@media print, screen and (min-width:768px) {
.flow-list li dl dd ul.flow-box01 li.app02{
	width:136px;
	margin: 0 15px 0 0;
	}
}

.flow-list li dl dd ul.flow-box01 li.app03{
	width:130px;
}

@media print, screen and (min-width:768px) {
.flow-list li dl dd ul.flow-box01 li.app03{
	width:167px;
	}
}

.flow-list li dl dd ul.flow-box02 li{
	width:200px;
}

@media print, screen and (min-width:768px) {
.flow-list li dl dd ul.flow-box02 li{
	width:260px;
	}
}

.flow-list li dl dd ul.flow-box01 li img,
.flow-list li dl dd ul.flow-box02 li img{
	display: block;
	width:100%;
}


/* faq
-----------------------------------------------------------------------------------------
*/

#faq{
	position: relative;
	width:100%;
	background:var(--color-bg-primary);
	padding: 80px 0 0 0;
}

@media print, screen and (min-width:900px) {
#faq{
	position: relative;
	width:100%;
	background:var(--color-bg-primary);
	padding: 260px 0 0 0;
	}
}

#faq .ct-wrap01{
	margin: 0 auto;
}

#faq .bg-text{
	width:100%;	
	position: absolute;
	top: 0;
	left:0;
}

#faq .bg-text img{
	display: block;
	width:100%;
	object-fit: contain;
}

#faq h2,
#faq h2 + p{
	color: var(--color-txt-white);
	font-weight: var(--font-weight-bk);
}

.faq-list-wrap{
	position: relative;
	width:100%;
	margin: 0 0 60px 0;
}

.faq-tab-list{
	position: relative;
	display:flex;
	flex-flow: row wrap;
	justify-content: center;
	column-gap: 10px;
	grid-row-gap: 10px;
	margin: 0 auto;
	z-index: 101;
}

@media print, screen and (min-width:900px) {
.faq-tab-list{
	display:flex;
	flex-flow: row wrap;
	justify-content: center;
	column-gap: 10px;	
	grid-row-gap: 0px;
	margin: 0 auto;
	}
}

.faq-tab-list li{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--color-bg-primary);
	height: 30px;
	border: 1px solid #FFF;
	border-radius: 15px;
	padding: 0 30px;
	transition: 0.8s;
	cursor: pointer;
}

@media print, screen and (min-width:768px) {
.faq-tab-list li{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	border: 1px solid #FFF;
	border-radius: 20px;
	padding: 0 30px;
	transition: 0.8s;
	cursor: pointer;
	}
}

.faq-tab-list li span{
	font-size: 1.4rem;
	color: #FFF;
	font-weight: var(--font-weight-b);
}

@media print, screen and (min-width:768px) {
.faq-tab-list li span{
	font-size: 1.6rem;
	color: #FFF;
	font-weight: var(--font-weight-b);
	}
}

.faq-tab-list li:hover{
	background: var(--color-bg-red);
	border: 1px solid #f20c0c;
}

.faq-tab-list li.tab-item.active{
	background: var(--color-bg-red);
	border: 1px solid #f20c0c;
}

.faq-tab-content{
	margin: 30px 0 0 0;
}

@media print, screen and (min-width:768px) {
.faq-tab-content{
	margin: 60px 0 0 0;
	}
}

.faq-list{
	width:100%;	
}

.faq-list-box{
	background: var(--color-bg-secondary);
	transition: 0.8s;
}

.faq-list-box:first-of-type{
	border-top-left-radius: 20px;	
	border-top-right-radius: 20px;
}

.faq-list-box:last-of-type{
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
}

@media print, screen and (min-width:768px) {
.faq-list-box:first-of-type{
	border-top-left-radius: 40px;	
	border-top-right-radius: 40px;
}

.faq-list-box:last-of-type{
	border-bottom-left-radius: 40px;
	border-bottom-right-radius: 40px;
	}
}

.faq-list-box.active{
	background: #FFF;	
}

.faq-list dl dt{
	position: relative;
	height: 80px;
	border-top: 1px solid #81e007;
	display: flex;
	align-items: center;
	font-size: 1.6rem;
	line-height: 1.5em;
	color: #FFF;
	font-weight: var(--font-weight-bk);
	padding: 0 60px 0 50px;  
	transition: .8s;
	cursor: pointer;
}

@media print, screen and (min-width:768px) {
.faq-list dl dt{
	height: 120px;
	font-size: 2.4rem;
	padding: 0 100px 0 120px;
	}
}

.faq-list dl dt:hover{
	background: #FFF;
	color: #000;
}

.faq-list dl dt:first-of-type{
	border-top: none;	
}

.faq-list dl:first-of-type dt{
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
}

.faq-list dl:last-of-type dt{
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
}

@media print, screen and (min-width:768px) {
.faq-list dl:first-of-type dt{
	border-top-left-radius: 40px;
	border-top-right-radius: 40px;
}

.faq-list dl:last-of-type dt{
	border-bottom-left-radius: 40px;
	border-bottom-right-radius: 40px;
	}
}

.faq-list dl dt span{
	font-family: "Bahnschrift", sans-serif;
	font-size: 3rem;
	color: var(--color-txt-accent);
	position: absolute;
	top:50%;
	left:15px;
	transform: translateY(-50%);
	transition: .8s;
}

@media print, screen and (min-width:768px) {
.faq-list dl dt span{
	font-size: 6.4rem;
	position: absolute;
	top:50%;
	left:40px;
	transform: translateY(-50%);
	}
}

.faq-list dl dt:hover span{
	color:#000;
}

.faq-list dl dt::before,
.faq-list dl dt::after{
  content: "";
  width:20px;
  height: 2px;
  background: #FFF;
  position: absolute;
  top:50%;
  right: 15px;
  transition: .8s;
}

.faq-list dl dt::before{
  transform: rotate(90deg);
}

@media print, screen and (min-width:600px) {
.faq-list dl dt::before,
.faq-list dl dt::after{
   content: "";
   width:30px;
   height: 2px;
   position: absolute;
   top:50%;
   right: 30px;
 }
}

@media print, screen and (min-width:1050px) {
.faq-list dl dt::before,
.faq-list dl dt::after{
   content: "";
   width:40px;
   height: 2px;
   position: absolute;
   top:50%;
   right: 40px;
 }
}

.faq-list dl dt:hover::before,
.faq-list dl dt:hover::after{
  background: #000;
}

.faq-list dl.active dt{
	color:#000;
}

.faq-list dl.active dt span{
	color:#000;
}

.faq-list dl.active dt:before{
	transform: rotate(0deg);
	background: #000;
}

.faq-list dl.active dt:after{
	background-color: transparent;
}

.faq-list dl dd{
	display: none;
	position: relative;	
	padding: 0 60px 20px 50px;
	cursor: pointer;
}

@media print, screen and (min-width:768px) {
.faq-list dl dd{
	display: none;
	position: relative;	
	padding: 0 120px 40px 120px;
	cursor: pointer;
	}
}

.faq-list dl dd p{
	font-size: 1.4rem;
	line-height: var(--line-spacing-02);
}

@media print, screen and (min-width:768px) {
.faq-list dl dd p{
	font-size: 1.6rem;
	line-height: var(--line-spacing-02);
	}
}

.faq-list dl dd ul{
	margin: 20px 0;
}

.faq-list dl dd ul li{
	position: relative;
	font-size: 1.4rem;
	line-height: var(--line-spacing-base);
	padding: 0 0 0 20px;
}

@media print, screen and (min-width:768px) {
.faq-list dl dd ul li{
	position: relative;	
	font-size: 1.6rem;
	padding: 0 0 0 20px;
 }
}

.faq-list dl dd ul li::before{
	content: "・";
	position: absolute;
	top:0;
	left:0;
}

.faq-list dl dd ul.cap li{
	position: relative;
	font-size: 1.2rem;	
	line-height: var(--line-spacing-base);
	padding: 0 0 0 20px;
}

@media print, screen and (min-width:768px) {
.faq-list dl dd ul.cap li{
	font-size: 1.6rem;	

 }
}

.faq-list dl dd ul li + li{
	margin: 5px 0 0 0;
}

.faq-list dl dd ul.cap li + li{
	margin: 5px 0 0 0;
}

.faq-list dl dd ul.cap li::before{
	content: "※";
	position: absolute;
	top:0;
	left:0;
}

.faq-list dl dd ul.cap li dl dt{
	font-size:1.6rem;
	font-weight: 700;
}

.faq-list dl dd table{
	width: 100%;
  table-layout: fixed;
	margin: 20px 0;
}

@media print, screen and (min-width:768px) {
.faq-list dl dd table{
  table-layout: fixed;
	max-width: 870px;
	margin: 40px 0;
	}
}

.faq-list dl dd table tr{
	height: 70px;
}

.faq-list dl dd table th{
	background: #EEE;	
	font-weight: var(--font-weight-b);
}

.faq-list dl dd table th.cell01{
	position: relative;
	text-align: center;
}

.faq-list dl dd table th.cell01::after{
	content: "";
	width:80%;
	height: 2px;
	background: #FFF;
	position: absolute;
	top: 0;
	left:50%;
	transform: translateX(-50%);
}

.faq-list dl dd table td{
	position: relative;
	text-align: center;
	font-weight: var(--font-weight-b);
}

.faq-list dl dd table td::after{
	content: "";
	width:80%;
	height: 2px;
	background: #EEE;
	position: absolute;
	bottom: 0;
	left:50%;
	transform: translateX(-50%);
}

.faq-list dl dd table th{
	font-size: 1.2rem;
}

.faq-list dl dd table td{
	font-size: 1.4rem;
}

.faq-list dl dd table td span{
	display: block;
	font-size: 1.2rem;
	margin: 3px 0 0 0;
}

@media print, screen and (min-width:768px) {
.faq-list dl dd table th,
.faq-list dl dd table td{
	font-size: 1.6rem;
	}
	
.faq-list dl dd table td span{
	display: inline-block;	
	font-size: 1.6rem;	
	margin: 0;
 }
}

/* station
-----------------------------------------------------------------------------------------
*/

#station{
	position: relative;
	width:100%;
	background:url("../../images/rentashare/bg01.jpg") no-repeat 0 0;
	background-size: cover;
	padding: 60px 0 30px 0;
}

@media print, screen and (min-width:768px) {
#station{
	position: relative;
	width:100%;
	background:url("../../images/rentashare/bg01.jpg") no-repeat 0 0;
	background-size: cover;
	padding: 140px 0 80px 0;
	}
}

#station h2{
	font-size:clamp(2.4rem,4.2vw,4.2rem);
	color: #FFF;
	font-weight: var(--font-weight-bk);
	text-align: center;
}

@media print, screen and (min-width:900px) {
#station h2{
	font-size: 4.8rem;
	}
}

.station-list{
	border-bottom: 1px solid #FFF;
	margin: 40px auto;
}

@media print, screen and (min-width:900px) {
.station-list{
	margin: 80px auto;
	}
}

.station-list-box{
	display: grid;
	grid-template-columns: 1fr;
	border-top: 1px solid #FFF;
	color: #FFF;
}

@media print, screen and (min-width:1050px) {
.station-list-box{
	display: grid;
	grid-template-columns: 18% 1fr;
	border-top: 1px solid #FFF;
	color: #FFF;
	}
}

.station-list-box h3{
	font-size:2.0rem;
	font-weight: var( --font-weight-bk );
	text-align: center;
	padding:40px 0 30px 0;
}

@media print, screen and (min-width:1050px) {
.station-list-box h3{
	font-size:2.0rem;
	text-align: center;
	padding: 30px 0 0 0;
	}
}

.station-list-box ul li + li{
  border-top: 1px dashed #FFF;
}

.station-list-box ul li dl{
	display: grid;
	grid-template-columns: auto;        
	grid-template-rows: auto;
}

@media print, screen and (min-width:900px) {
.station-list-box ul li dl{
	display: grid;
	grid-template-columns: 38% auto;        
	grid-template-rows: auto;
	}
}

.station-list-box ul li dl dt{
	font-size: 1.8rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	font-weight: var(	--font-weight-bk );
	padding: 30px 20px 0 20px;
}

@media print, screen and (min-width:900px) {
.station-list-box ul li dl dt{
	font-size: 2.0rem;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	}
}

.station-list-box ul li dl dd{
	display: grid;
	grid-template-columns: auto 60px;
	grid-template-rows: auto;
	align-items: flex-start;
	grid-gap: 0 20px;
	padding: 20px 20px 30px 20px;
}

@media print, screen and (min-width:900px) {
.station-list-box ul li dl dd{
	display: grid;
	grid-template-columns: auto 100px;
	grid-template-rows: auto;
	align-items: center;
	grid-gap: 0;
	padding: 20px;
	}
}

.station-list-box ul li dl dd p{
	font-size: 1.3rem;
}

@media print, screen and (min-width:900px) {
.station-list-box ul li dl dd p{
	font-size: 1.4rem;
	}
}

.station-list-box ul li dl dd p + p{
	margin: 10px 0 0 0;
}

.station-list-box ul li dl dd a.btn-detail{
	width: 60px;
	height: 24px;
	background: var(--color-bg-primary);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2rem;
	margin: 0;
	transition: 0.8s;
}

@media print, screen and (min-width:900px) {
.station-list-box ul li dl dd a.btn-detail{
	width: 80px;
	height: 30px;
	background: var(--color-bg-primary);
	border-radius: 15px;
	}
}

.station-list-box ul li dl dd a.btn-detail:hover{
	background: var(--color-bg-red);
}

.station-list-box ul li dl dd p.access{
	position: relative;
	padding: 0 0 0 20px;
}

.station-list-box ul li dl dd p.access::before{
	content: "";
	width: 12px;
	height: 16px;
	background: url("../../images/rentashare/rentashare14.png") no-repeat 0 0;
	background-size: 100%;
	position: absolute;
	top:2px;
	left:0;
}

.station-text{
	font-size: clamp(2.0rem,4.8vw,4.8rem);
	font-weight: var(--font-weight-bk);
	line-height: var(--line-spacing-base);
	color: var(--color-txt-secondary);
	text-align: center;
	margin: 30px auto 0 auto;
}

@media print, screen and (min-width:900px) {
.station-text{
	font-size: 4.8rem;
	font-weight: var(--font-weight-bk);
	line-height: var(--line-spacing-base);
	color: var(--color-txt-secondary);
	text-align: center;
	margin: 60px auto 0 auto;
	}
}


/* footer
========================================================================================================
*/

footer{
  width:100%;
  background:var(--color-bg-primary);
  padding: 120px 0 20px 0;
  margin: 0;
}

@media print, screen and (min-width:900px) {
footer{
  padding: 200px 0 20px 0;
  margin: 0;
	}
}

footer h2{
  width:105px;
	height: 24px;
	border-radius: 12px;
  background:#FFF;
	font-size:1.4rem;
	color: var(--color-txt-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}

@media print, screen and (min-width:768px) {
footer h2{
  width:125px;
	height: 30px;
	border-radius: 15px;
	font-size:1.6rem;
	}
}

footer dl{
  width:90%;
	margin: 0 auto;
}

footer dl dt{
  width:200px;
	margin: 20px auto 10px auto;
}

@media print, screen and (min-width:768px) {
footer dl dt{
  width:280px;
	margin: 40px auto 30px auto;
	}
}

footer dl dt img{
	display: block;
	width:100%;
}

footer dl dd{
	text-align: center;
}

footer dl dd address{
	font-size: 1.2rem;
	font-style: normal;
	color: #FFF;
}

@media print, screen and (min-width:768px) {
footer dl dd address{
	font-size: 1.4rem;
	font-style: normal;
	color: #FFF;
	}
}

footer dl dd a{
	display: flex;
	align-items: center;
	justify-content: center;
	width:90px;
	height: 24px;
	border: 1px solid #FFF;
	font-size: 1.2rem;
	color: #FFF;
	margin: 20px auto 0 auto;
	transition: 0.8s;
}

@media print, screen and (min-width:768px) {
footer dl dd a{
	width:100px;
	height: 30px;
	font-size: 1.4rem;
	margin: 30px auto 0 auto;
	}
}

footer dl dd a:hover{
	background: #FFF;
	color: var(--color-txt-accent);
}

footer ul.sns{
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	column-gap: 20px;
	margin: 50px auto;
}

footer ul.sns li img{
	display: block;
	width:25px;
}

.copy{
	display: block;
	font-size: 1.2rem;
	color: #FFF;
	text-align: center;
}

@media print, screen and (min-width:768px) {
.copy{
	font-size: 1.4rem;
	}
}

/*-- 900以下 非表示--*/
@media only screen and (max-width:900px) { 
  .sm-hide{
	  display:none;	
   }
}

/*-- 768以下 非表示--*/
@media only screen and (max-width:768px) { 
  .sm-hide2{
	  display:none;	
   }
}

/*-- 900以上 非表示--*/
@media print, screen and (min-width:900px) {
  .lg-hide{
    display:none;	
  }
}

/*-- 768以上 非表示--*/
@media print, screen and (min-width:768px) {
  .lg-hide2{
	 display:none;	
  }
}


