@charset "UTF-8";/*----------------------------------------------------------更新日：2024年9月12日=PC(960以上)=PC & タブレット(960以下)=スマホ(768px以下)-------------------------------------------------------------*//*==================================================================  Page common style===================================================================*//* #main, #side------------------------------------------------------------*/#title {  margin-bottom: 1em;  padding:0.5em 1em 1.5em;  background: #0076b3;  background: #0d031e;background: -moz-linear-gradient(left,  #0d031e 0%, #125e8e 35%, #125e8e 65%, #0d031e 100%);background: -webkit-linear-gradient(left,  #0d031e 0%,#125e8e 35%,#125e8e 65%,#0d031e 100%);background: linear-gradient(to right,  #0d031e 0%,#125e8e 35%,#125e8e 65%,#0d031e 100%);filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0d031e', endColorstr='#0d031e',GradientType=1 );  line-height: 1.6;  text-align: center;  font-size: 2em;  color: #FFF;}@media only screen and (max-width:960px) {}@media only screen and (max-width:768px) {  #title {    font-size: 1.6em;  }}/*==================================================================  Movie  (/en/vp-motion/movie)===================================================================*/#movie .inner:not(:last-of-type) { margin-bottom: 2em; }#movie .headline1 {	margin-top: 2em;}#movie .flex {	flex-wrap: wrap;	justify-content: space-between;}#movie .box {	width: 50%;  max-width: 460px;	margin-bottom: 1.5em;}#movie .box h3 {	margin-bottom: 0;	font-size: 1.2em;}@media only screen and (max-width:768px) {	#movie .box {		width: 100%;		max-width: none;	}	#movie .box:not(:last-of-type) {		margin-bottom: 2em;	}	#movie .box h3 {		font-size: 1em;	}}/*==================================================================  Analysis  (/vp-motion/analysis)===================================================================*/#analysis .topTxt{	margin-bottom: 2em;}#analysis .typeBox{	margin-bottom: 4em;}#analysis .typeBox .title{	color: #FFF;	font-size: 1.2em;	font-weight: bold;	padding: 0.4em 1em;	text-align: center;	background-color: #102e53;}#analysis .typeBox .picmovie {	display: flex;	justify-content: space-between;	align-items: flex-start;	flex-wrap: wrap;}#analysis .typeBox .picmovie li {	width: calc(50% - 1em);}#analysis .typeBox .flex{	justify-content: space-between;	align-items: flex-start;	flex-wrap: wrap;}#analysis .typeBox .flex .box {	width: calc(33.3333% - 1em);	margin: 1em 0 0;}#analysis .typeBox .flex.col2 .box {	width: calc(50% - 1em);	max-width: 450px;}#analysis .typeBox .flex dt {	margin-bottom: 0.5em;	text-align: center;	font-size: 1.2em;	font-weight: 500;	background: #0076b3;	color: #fff;}#analysis .typeBox .flex dd {	margin: 1em 0 0;}#analysis .typeBox .moviePv{	max-width: 640px;	margin: 2em auto;}#analysis .typeBox .moviePv.typeA{	max-width: 640px;	margin: 2em auto 0;}#analysis .addFunc {	margin: 3em 0;	border: 1px solid #ccc;	padding: 2em;}#analysis .addFunc h3 {	margin: 0 0 .5em;	text-align: center;	font-size: 1.4em;	font-weight: 500;	color: #006db2;}#analysis .addFunc .graphBox{	margin-bottom: 2em;}#analysis .typeBox p.pic {	margin: 2em 0;	text-align: center;}#analysis .typeBox .captxt {	line-height: 1.6;	text-align: center;	margin: 0.5em 0 0;}#analysis .vpmMerit {	background-color: #edf9ff;	padding: 1.5em 2em;	display: flex;	flex-direction: column;	align-items: center;}#analysis .vpmMerit h3 {	color: #006db2;	font-weight: bold;	text-align: center;}#analysis .vpmMerit h3 span {	border-bottom: 1px solid #006db2;	padding-bottom: 0.2em;}#analysis .vpmMerit .list {	margin-bottom: 0;}#analysis .vpmMerit .list li {	margin-bottom: 0;	padding-left: 1.5em;	text-indent: -1.5em;}#analysis .vpmMerit .list li:before {	content: "●";	margin-right: .5em;	color: #0076b3;}#analysis .typeBox .headline1 img {	margin-right: .5em;	vertical-align: middle;	transform: translate(0, -1px);}@media only screen and (max-width:768px) {	#analysis .typeBox .flex {		display: block;	}	#analysis .typeBox .picmovie li,	#analysis .typeBox .flex .box,	#analysis .typeBox .flex.col2 .box{		width: 100%;		max-width: none;		margin: 1em 0 0;	}	#analysis .addFunc {		padding: 1.5em;	}	#analysis .addFunc h3 {		font-size: 1.3em;	}	#analysis .vpmMerit {		padding: 1.5em 1.5em;	}	#analysis .btn{		margin: 1em auto;	}}/*==================================================================  FAQ  (/vp-motion/FAQ)===================================================================*/#faq .inner:not(:last-of-type) { margin-bottom: 2em; }#faq .headline2 { font-size: 1.4em; }#faq dt {  position: relative;  margin-bottom: 1em;  padding:1em 2.5em 1em 3.5em;	padding-left: 2.5em;  border: 1px solid #CCC;  font-weight: bold;  cursor: pointer;  transition: 0.2s;  counter-increment: qa;}#faq dt:hover { opacity: 0.6; }#faq dt:before {  /*content: "Q" counter(qa) ".";*/	content: "Q.";  position: absolute;  top: 0.35em;  left: 0.5em;  font-size: 1.4em;  font-weight: bold;  color: #AAA;}#faq dt:after {  display: block;  content: "";  position: absolute;  top: calc(50% - 0.3em);  right: 1em;  width: 0.6em;  height: 0.6em;  border-right: 2px solid;  border-bottom: 2px solid;  transform-origin: center;  transform:rotate(45deg);}#faq dt.active,#faq dt.active:before {  color: #0076b3;}#faq dt.active:after {  transform:rotate(225deg);}#faq dd {  display: none;  margin:0 1em 2em;}#faq dd ul,#faq dd ol { margin-top: 1em; }@media only screen and (max-width:960px) {}@media only screen and (max-width:768px) {  #faq dd {    margin:0 0 1em 1em;  }  #faq dd ul,  #faq dd ol { padding-left: 0; }}/*==================================================================  Contact  (/vp-motion/contact)  (/vp-motion/thanks)===================================================================*/#contact th { font-weight:500; }#contact.thanks { min-height: 35vh; }#contact img.mail {  height: 1em;  vertical-align: middle;}#contact .required,#contact .any {  min-width: 60px;}#contact .cautionBox { margin-top: 2em; }@media only screen and (max-width:960px) {}@media only screen and (max-width:768px) {  #contact { margin-bottom:0; }  #contact.thanks {    min-height: 0;    margin-bottom: 3em;  }}/*==================================================================  Policy  (/en/privacy)  (/en/privacy-gdpr)===================================================================*/#policy {  margin:2em 0;}#policy a:not(:hover) {  border-bottom: 1px solid;  color: #033d83;}#policy > ol > li { margin-bottom: 2em; }#policy ol ul,#policy ol ol { padding-left: 1em; }#policy dt {  margin-bottom: 0;  font-weight: bold;}#policy dd { margin-left: 0; }#policy table {  table-layout: fixed;  width: 100%;}#policy th,#policy td {  padding: 1em;  border: 1px solid #CCC;  vertical-align: top;  font-size: 0.875em;}#policy th { background: #EEE; }@media only screen and (max-width:960px) {}@media only screen and (max-width:768px) {  #policy { margin-bottom:0; }  #policy > ol { padding-left: 1em; }  #policy th,  #policy td {    padding: 0.5em;    font-size: 0.8em;  }}/*==================================================================  Agreement  (/en/agreement)===================================================================*/#agreement .topTxt {	margin-bottom: 40px;}#agreement .topTxt p {	margin-bottom: 1em;}#agreement .agList {	padding-left: 1.5em;}#agreement .agList li {	text-indent: 0;	margin-bottom: 3em;	list-style: outside decimal;}#agreement .agList li::marker {	font-weight: 900;}#agreement .agList dt {	font-weight: 700;	margin-bottom: 1em;}#agreement .agList dd {	margin-inline-start:10px;}#agreement .agList dd p {	margin-bottom: 1em;}#agreement .subhead {	font-weight: 700;	margin-bottom: 0.5em;}#agreement .innerList{	list-style: disc;/*	margin-left: 1.5em;*/	margin-bottom: 1.5em;}#agreement .innerList li {margin-bottom: 1.5em;}#agreement .bracketList{	counter-reset: number;	margin-left: 1.5em;}#agreement .bracketList li{	list-style-type:none;	counter-increment: cnt;	position: relative;}/*英語ベースCSSで数値調整検討*/#agreement .bracketList.numNormal li {margin-bottom: 1em;}#agreement .bracketList.alpha li {margin-bottom: 0.5em;}#agreement .bracketList.roman li {margin-bottom: 1em;}/*日本語表記はこっちが良いかも#agreement .bracketList.numNormal li {margin-bottom: 0.5em;}#agreement .bracketList.alpha li {margin-bottom: 0.2em;}#agreement .bracketList.roman li {margin-bottom: 0.5em;}*/#agreement .bracketList li:before{	counter-increment: number;	content: "(" counter(number) ")";	display: inline-block;	margin-left: -3.5em;	width: 3.2em;	text-align: right;	position: absolute;	top: 0;	left: 0;}#agreement .bracketList.roman li:before{	content: "(" counter(number,lower-roman) ")";}#agreement .bracketList.alpha li:before{	content: "(" counter(number,lower-alpha) ")";}#agreement .bracketList.asterisk li:before{	content: "*";	font-size: 1.4em;}/* Colorboxの背景（オーバーレイ）を黒の半透明にする */#cboxOverlay {    background: #000 !important;    opacity: 0.8 !important;}/* 白い枠や斜線の原因となる背景画像を消す */#colorbox, #cboxWrapper, #cboxContent {    background: none !important;    border: none !important;    overflow: visible !important;}/* 動画を入れるエリアを真っ黒にする */#cboxLoadedContent {    background: #000 !important;    padding: 0 !important;    border: none !important;}/* 閉じるボタンなどを非表示にする（元のサイトがjsでfalseにしている場合） */#cboxClose, #cboxLoadingGraphic {    display: none !important;}/* Colorboxのラッパー自体を最初から透明・背景なしに固定 */#colorbox, #cboxWrapper, #cboxContent, #cboxLoadedContent {    background: transparent !important; /* 背景を透明に固定 */    border: none !important;    box-shadow: none !important;    overflow: visible !important;}/* 一瞬映る「斜線」や「白枠」の正体であるボーダー画像を強制排除 */#cboxTopLeft, #cboxTopCenter, #cboxTopRight, #cboxMiddleLeft, #cboxMiddleRight, #cboxBottomLeft, #cboxBottomCenter, #cboxBottomRight {    background: none !important;}/* 動画を表示するメインエリアの設定 */#cboxLoadedContent {    background: #000 !important; /* ここだけ黒にする */}/* ローディング画像（ぐるぐる）がチラつく場合は消す */#cboxLoadingOverlay, #cboxLoadingGraphic {    display: none !important;}