@charset "UTF-8";

body {
	font-family: var(--font-family-text);
}


a {
	display: inline-block;
	color: #001E50;
	text-decoration: none;
}
@media screen and (min-width: 769px) {
  a {
	  position: relative;
	  color: #001E50;
  }

  a:hover {
	  color: rgb(0, 64, 197);
  }

  a.item-bd span {
	  padding-bottom: 2px;
	  border-bottom: 1px solid #001E50;
  }

  a:hover.item-bd span {
	  border-bottom: 1px solid #0040C5;
  }

  .side_nav a,
  .side_nav a:hover {
	  color: #ffffff;
  }
}


.sp-dips {
	display: block;
}
.pc-dips{
	display: none;
}
.txt-b {
	font-weight: 600;
}
.txt-n {
	font-weight: normal;
}
@media screen and (min-width: 769px) {
  .pc-dips{
	  display:block;
  }
  .sp-dips {
	  display: none;
  }
  .fl-l {
	  float: left;
  }
  .fl-r {
	  float: right;
  }
}



/* 上付き・下付き */
sup {
	position: relative;
	font-size: 85%;
	vertical-align: 0;
}
sub {
	position: relative;
	font-size: 85%;
	vertical-align: 0;
}
@media screen and (min-width: 769px) {
  sup {
	  font-size: 65%;
  }
  sub {
	  font-size: 65%;
  }
}



/* 余白 */
.mt-00 {
	margin-top: 0px !important; 
}
.mt-10 {
	margin-top: 10px !important;
}
.mt-20 {
	margin-top: 20px !important;
}
.mt-25 {
	margin-top: 25px !important;
}
.mt-30 {
	margin-top: 30px !important;
}
.mt-40 {
	margin-top: 40px !important;
}
.mt-70 {
	margin-top: 70px !important;
}
.mt-80 {
	margin-top: 80px !important;
}
.mt-100 {
	margin-top: 100px !important;
}
.mt-120 {
	margin-top: 120px !important;
}
.mb-00 {
	margin-bottom: 0px !important;
}
.mb-10 {
	margin-bottom: 10px !important;
}
.mb-20 {
	margin-bottom: 20px !important;
}
.mb-30 {
	margin-bottom: 30px !important;
}
.mb-40 {
	margin-bottom: 40px !important;
}
.mb-100 {
	margin-bottom: 100px !important;
}
.pt-00 {
	padding-top: 0px !important;
}
.pt-10 {
	padding-top: 10px !important;
}
.pt-20 {
	padding-top: 20px !important;
}
.pt-30 {
	padding-top: 30px !important;
}
.pt-40 {
	padding-top: 40px !important;
}
.pb-00 {
	padding-bottom: 0px !important;
}
.pb-10 {
	padding-bottom: 10px !important;
}
.pb-20 {
	padding-bottom: 20px !important;
}
.pb-30 {
	padding-bottom: 30px !important;
}
.pb-40 {
	padding-bottom: 40px !important;
}
@media screen and (min-width: 769px) {
  .mt-00_pc {
	  margin-top: 0px !important;
  }
  .mt-10_pc {
	  margin-top: 10px !important;
  }
  .mt-20_pc {
	  margin-top: 20px !important;
  }
  .mt-25_pc {
	  margin-top: 25px !important;
  }
  .mt-30_pc {
	  margin-top: 30px !important;
  }
  .mt-40_pc {
	  margin-top: 40px !important;
  }
  .mt-70_pc {
	  margin-top: 70px !important;
  }
  .mt-80_pc {
	  margin-top: 80px !important;
  }
  .mt-100_pc {
	  margin-top: 100px !important;
  }
  .mt-120_pc {
	  margin-top: 120px !important;
  }
  .mb-00_pc {
	  margin-bottom: 0px !important;
  }
  .mb-10_pc {
	  margin-bottom: 10px !important;
  }
  .mb-20_pc {
	  margin-bottom: 20px !important;
  }
  .mb-30_pc {
	  margin-bottom: 30px !important;
  }
  .mb-40_pc {
	  margin-bottom: 40px !important;
  }
  .mb-100_pc {
	  margin-bottom: 100px !important;
  }
  .pt-00_pc {
	  padding-top: 0px !important;
  }
  .pt-10_pc {
	  padding-top: 10px !important;
  }
  .pt-20_pc {
	  padding-top: 20px !important;
  }
  .pt-30_pc {
	  padding-top: 30px !important;
  }
  .pt-40_pc {
	  padding-top: 40px !important;
  }
  .pb-00_pc {
	  padding-bottom: 0px !important;
  }
  .pb-10_pc {
	  padding-bottom: 10px !important;
  }
  .pb-20_pc {
	  padding-bottom: 20px !important;
  }
  .pb-30_pc {
	  padding-bottom: 30px !important;
  }
  .pb-40_pc {
	  padding-bottom: 40p !importantx;
  }
}




/* [target="_blank"] ｱｲｺﾝ 
-------------------------------------------------------------------------- */
.itemBlank {
	position: relative;
}

.itemBlank span {
	padding-right: 22px;
}

.itemBlank span:after {
	position: absolute;
	content: "";
	width: 24px;
	height: 14px;
	top: 50%;
	right: 0;
	margin-top: -7px;
	background: url(/vwf/image/common/icn_outlink.svg) no-repeat center center;
	background-size: 14px 14px;
	-moz-background-size: 14px 14px;
	-webkit-background-size: 14px 14px;
}
@media screen and (min-width: 769px) {
  .itemBlank {
	  position: relative;
  }
  
  .itemBlank span {
	  padding-right: 30px;
  }

  .itemBlank span:after {
	width: 18px;
	height: 18px;
	margin-top: -10px;
	right: 5px;
	background: url(/vwf/image/common/icn_outlink.svg) no-repeat center center;
	background-size: 13px 13px;
	-moz-background-size: 13px 13px;
	-webkit-background-size: 13px 13px;
  }
}






/* mv
-------------------------------------------------------------------------- */
.mv {
	position: relative;
	width: 100%;
	height: 100vh;
	background-image: url(/vwf/image/legal/img_main.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 44% center;
}

.mv h1 {
	position: absolute;
	top: 64.77832512315271%;
	left: 8%;
	padding-right: 5%;
	font-family: var(--font-family-head);
	font-size: 44px;
	font-weight: bold;
	color: #fff;
	line-height: 1.1;
}

.mv h1 span.txt-b {
	font-weight: 600;
	display: block;
}

.mv h1 span.txt-s {
	display: block;
	font-weight: 200;
}

.mv .scroll-line {
	position: absolute;
	bottom: 10px;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}
.mv .scroll-line .scroll-line_wrap {
	position: relative;
	height: 22px;
	width: 2px;
	border-radius: 3px;
	overflow: hidden;
}
.mv .scroll-line .scroll-line_wrap .scroll-line_wh {
	height: 100%;
	width: 100%;
	background: rgb(255, 255, 255);
	border-radius: 3px;
	animation: 3s cubic-bezier(0.14, 1.12, 0.67, 0.99) 0s infinite normal none running scroll-line;
}
@-webkit-keyframes scroll-line {
	0% {
		-webkit-transform:translateY(-200%);
		-ms-transform:translateY(-200%);
		transform:translateY(-200%);
	}
	50% {
		-webkit-transform:translateY(-100%);
		-ms-transform:translateY(-100%);
		transform:translateY(-100%);
	}
	100% {
		-webkit-transform:translateY(100%);
		-ms-transform:translateY(100%);
		transform:translateY(100%);
	}
}
@keyframes scroll-line {
	0% {
		-webkit-transform:translateY(-200%);
		-ms-transform:translateY(-200%);
		transform:translateY(-200%);
	}
	50% {
		-webkit-transform:translateY(-100%);
		-ms-transform:translateY(-100%);
		transform:translateY(-100%);
	}
	100% {
		-webkit-transform:translateY(100%);
		-ms-transform:translateY(100%);
		transform:translateY(100%);
	}
}

@media screen and (min-width: 769px) {
	.mv {
		position: relative;
		width: 100%;
		height: 100vh;
	}
	.mv h1 {
		top: 44.90740740740741%;
		left: 8.333333333333333%;
		padding-right: 8.5%;
		font-size: 60px;
		line-height: 1.2;
	}
	.mv .scroll-line {
		bottom: 30px;
	}
	.mv .scroll-line .scroll-line_wrap {
		height: 50px;
	}
}
@media screen and (min-width: 1600px) {
	.mv h1 {
		font-size: 76px;
	}
}





/* #root [パンくず] 
------------------------------------------------------------------------------ */
#root {
	width: 100%;
	margin: 15px auto 40px;
}

#root ul {
	width: 84%;
	margin: 0 auto;
	display: flex;
	display: -webkit-flex;
	display: -ms-flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

#root li {
	position: relative;
	padding-right: 20px;
	font-size: 12px;
	font-weight: 600;
	color: #3C484D;
	line-height: 1.7;
}

#root li a {
	position: relative;
	display: initial;
	font-size: 12px;
	font-weight: normal;
	color: rgb(0, 30, 80);
	padding-bottom: 1px;
	text-decoration: none;
	border-bottom: 1px solid currentcolor;
}

#root li:after {
	position: absolute;
	content: "";
	top: 50%;
	margin-top: -4px;
	right: 5px;
	width: 0px;
	height: 0px;
	border-left: 5px solid rgb(0, 30, 80);
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
}

#root li:last-child:after {
	display: none;
}
@media screen and (min-width: 769px) {
  #root {
	  margin: 15px auto 80px;
  }
  
  #root ul {
	  max-width: 1600px;
	  width: 84%;
	  margin: 0 auto;
  }
  
  #root li {
	  font-size: 14px;
	  padding-right: 20px;
  }
  
  #root li a {
	  position: relative;
	  font-size: 14px;
	  color: rgb(0, 30, 80);
	  padding-bottom: 2px;
	  text-decoration: none;
	  border-bottom: 1px solid currentcolor;
  }
  
  #root li:after {
	  position: absolute;
	  content: "";
	  top: 50%;
	  margin-top: -4px;
	  right: 5px;
	  width: 0px;
	  height: 0px;
	  border-left: 5px solid rgb(0, 30, 80);
	  border-top: 4px solid transparent;
	  border-bottom: 4px solid transparent;
  }
}
@media screen and (min-width: 1600px) {
  #root li {
	  font-size: 16px;
  }

  #root li a {
	  font-size: 16px;
  }
}



/* main_copy
------------------------------------------------------------------------------ */
#finance .main_copy {
	display: block !important;
	width: 84% !important;
	margin: 40px auto 0 !important;
	/* 念のため、親要素の溢れを防止 */
	box-sizing: border-box !important;
}

.main_copy .ttl {
	font-size: 25px;
	font-weight: bold;
	line-height: 1.84;
	text-align: left;
}

.main_copy .txt {
	margin-top: 30px;
	font-size: 16px;
	line-height: 1.875;
	text-align: left;
}

.main_copy .note {
	margin-top: 30px;
}

.main_copy .note li {
	font-size: 13px;
	color: #6A767D;
	line-height: 1.923076923076923;
}
@media screen and (min-width: 769px) {
	.main_copy {
		max-width: 1600px;
		width: 84%;
		margin: 80px auto 0;
	}

	.main_copy .ttl {
		font-size: 48px;
		line-height: 1.363636363636364;
	}

	.main_copy .txt {
		margin-top: 20px;
		font-size: 16px;
		line-height: 1.875;
	}
	.main_copy .note li {
		line-height: 1.923076923076923;
		text-align: center;
	}
}
@media screen and (min-width: 1600px) {
	.main_copy .ttl {
		font-size: 24px;
	}

	.main_copy .txt {
		font-size: 20px;
		line-height: 1.5;
	}
}




/* list_aera
------------------------------------------------------------------------------ */
.intro_area {
	width: 84%;
	margin: 0 auto 100px;
}

.intro_area p {
	margin-bottom: 40px;
	font-size: 16px;
}

.intro_area ul.date {
	text-align: right;
	margin-bottom: 40px;
}

.intro_area ul.date li{
	font-size: 13px;
	line-height: 1.8;
}

.intro_area ul.brandList {
	margin-bottom: 40px;
}

.intro_area ul.brandList li{
	font-size: 16px;
	line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .intro_area {
	  max-width: 800px;
	  width: 84%;
	  margin: 0 auto 100px;
  }

  .intro_area p {
	  font-size: 16px;
	  line-height: 1.7;
  }
  
  .intro_area ul.date {
	  margin-bottom: 50px;
  }
  
  .intro_area ul.date li{
	  font-size: 16px;
	  line-height: 1.7;
  }

  .intro_area ul.brandList {
	  margin-bottom: 50px;
  }

  .intro_area ul.brandList li{
	  font-size: 16px;
	  line-height: 1.7;
  }
}
@media screen and (min-width: 1600px) {
  .intro_area p {
	  font-size: 20px;
	  line-height: 1.6;
  }

  .intro_area ul.date li{
	  font-size: 20px;
	  line-height: 1.6;
  }

  .intro_area ul.brandList li{
	  font-size: 20px;
	  line-height: 1.6;
  }
}



/* section
------------------------------------------------------------------------------ */
.section {
	width: 84%;
	margin: 0 auto 50px;
	/*border-bottom: 1px solid #000000;*/
}

.section h3 {
	position: relative;
	padding-bottom: 8px;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 600;
	cursor: pointer;
}

.section h3 span {
	display: block; 
	width: 88%;
}

.section .is-open:before {
	position: absolute;
	content: "";
	width: 17px;
	height: 9px;
	top: 50%;
	right: 5px;
	margin-top: -6px;
	background: url(/vwf/image/common/icn_arr_open.svg) no-repeat center top;
	background-size: 17px auto;
}

.section .is-open.active:before {
	position: absolute;
	content: "";
	width: 17px;
	height: 9px;
	top: 50%;
	right: 5px;
	margin-top: -6px;
	background: url(/vwf/image/common/icn_arr_close.svg) no-repeat center top;
	background-size: 17px auto;
}

.section .content {
	/*display: none;*/
	margin-top: 10px;
	padding-bottom: 20px;
}

.section .content .txt {
	margin-bottom: 10px;
	font-size: 16px;
	line-height: 1.8;
}

.section .list_parentheses {
	margin-bottom: 10px;
}

.section .list_parentheses li {
    text-indent: -1.4em;
    padding-left: 1.4em;
    font-size: 16px;
    line-height: 1.8;
    list-style-type: none;
    list-style-position: inside;
    counter-increment: cnt;
}

.section .list_parentheses li a {
    text-indent: 0;
    padding-left: 0;
}

.section .list_parentheses li:before {
    display: marker;
    content: "(" counter(cnt) ") ";
}

.section .list_parentheses.itemNumber {
  margin: 0;
  padding: 0;
}

.section .list_parentheses.itemNumber li:before {
  display: marker;
  content: "(11) ";
}

.section .list-link {
	margin-bottom: 10px;
}

.section .list-link li {
    font-size: 16px;
    line-height: 1.8;
}

.section .alert {
	padding: 10px 10px 0px 10px;
	border: 1px solid #DFE4E8;
}

.section .tel {
	text-indent: 0;
	text-decoration: none;
}

.section .content .table-block h4 {
	margin-bottom: 10px;
	font-size: 16px;
	font-weight: bold;
}

.section .content .table-block dl {
	margin-bottom: 20px;
	border-bottom: 1px solid #000000;
}

.section .content .table-block dl dt {
	position: relative;
	padding-bottom: 5px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
}

.section .content .table-block dl dd {
	/*display: none;*/
	margin-top: 10px;
	font-size: 16px;
	padding-bottom: 30px;
}

.section .content .table-block dl dd ul li {
	font-size: 16px;
	line-height: 1.8;
	text-indent: -1em;
	padding-left: 1em;
}

@media screen and (min-width: 769px) {
  .section {
	  /*max-width: 800px;*/
	  width: 84%;
	  margin: 0 auto 50px;
  }

  .section h3 {
	  padding-bottom: 10px;
	  font-size: 16px;
  }

  .section .is-open:before {
	  position: absolute;
	  content: "";
	  width: 34px;
	  height: 18px;
	  top: 50%;
	  right: 5px;
	  margin-top: -12px;
	  background: url(/vwf/image/common/icn_arr_open.svg) no-repeat center top;
	  background-size: 34px auto;
  }
  
  .section .is-open.active:before {
	  position: absolute;
	  content: "";
	  width: 34px;
	  height: 18px;
	  top: 50%;
	  right: 5px;
	  margin-top: -12px;
	  background: url(/vwf/image/common/icn_arr_close.svg) no-repeat center top;
	  background-size: 34px auto;
  }

  .section .content {
	  margin-top: 10px;
	  padding-bottom: 50px;
  }
  
  .section .content p.txt {
	  margin-bottom: 20px;
	  font-size: 16px;
	  line-height: 1.8;
  }

  .section .content p.txt:last-child {
	  margin-bottom: 0px;
  }
  
  .section .list_parentheses {
	  margin-bottom: 20px;
  }
  
  .section .list_parentheses li {
	  text-indent: -1.4em;
	  padding-left: 1.4em;
	  font-size: 16px;
  }
  
  .section .list_parentheses.itemNumber li {
	  text-indent: -1.95em;
	  padding-left: 1.95em;
  }
  
  .section .list-link {
	  margin-bottom: 20px;
  }
  
  .section .list-link li {
	  font-size: 16px;
	  line-height: 1.9;
  }
  
  .section .alert {
	  padding: 20px 20px 10px 20px;
  }
  
  .section.box-l {
	  position: relative;
	  max-width: 1600px;
	  width: 84%;
	  margin: 0 auto 50px;
	  border-bottom: none;
  }

  .section.box-l:after {
	  position: absolute;
	  content: "";
	  bottom: 0;
	  left: 0;
	  right: 0;
	  margin: 0 auto;
	  max-width: 800px;
	  width: 84%;
	  height: 1px;
	  border-bottom: 1px solid #000000;
  }

  .section.box-l h3 {
	  max-width: 800px;
	  width: 100%;
	  margin: 0 auto;
	  font-size: 16px;
  }
  
  .section.box-l dl dt {
	  max-width: 800px;
	  width: 100%;
	  margin: 0 auto;
	  font-size: 16px;
  }
  
  .section.box-l dl dd {
	  max-width: 800px;
	  width: 100%;
	  margin: 0 auto;
	  font-size: 16px;
  }
  
  .section.box-l p.txt {
	  max-width: 800px;
	  width: 100%;
	  margin: 0 auto 20px;
	  font-size: 16px;
  }
  
  .section.box-l table.table {
	  width: 100%;
	  margin: 0 auto 50px;
  }
  
  .section.box-l table.table th {
	  width: 25%;
	  padding-bottom: 20px;
	  font-size: 16px;
	  font-weight: 600;
  }
  
  .section.box-l table.table td {
	  position: relative;
	  width: 25%;
	  padding: 15px;
	  font-size: 16px;
	  font-weight: normal;
	  vertical-align: top;
	  border-top: 2px solid #000000;
	  border-right: 1px solid #DFE4E8;
	  border-bottom: 1px solid #DFE4E8;
  }
  .section.box-l table.table td:nth-of-type(1) {
	  font-weight: 600;
  }
  
  .section.box-l table.table td:nth-of-type(1):after {
	  position: absolute;
	  content: "";
	  display: block;
	  top: 0;
	  right: 0px;
	  width: 2px;
	  height: 100%;
	  padding-right: 2px;
	  border-right: 2px solid #000000;
	  z-index: 1;
  }
    
  .section.box-l table.table td:nth-of-type(4) {
	  border-right: none;
  }

  .section.box-l table.table td li {
	text-indent: -1em;
	padding-left: 1em;
  }
}
@media screen and (min-width: 1600px) {
  .section h3 {
	  font-size: 20px;
  }
  .section .content p.txt {
	  font-size: 20px;
  }
  .section .list_parentheses li {
	  font-size: 20px;
  }
  .section .list-link li {
	  font-size: 20px;
  }
  .section.box-l h3 {
	  font-size: 20px;
  }
  .section.box-l table.table th {
	  font-size: 20px;
  }
 
  .section.box-l table.table td {
	  font-size: 20px;
  }
  .section.box-l dl dt {
	  font-size: 20px;
  }
  
  .section.box-l dl dd {
	  font-size: 20px;
  }

  .section.box-l p.txt {
	  font-size: 20px;
  }
} 