@charset "UTF-8";/*----------------------------------------------------------更新日：2024年1月24日=PC(960以上)=PC & タブレット(960以下)=スマホ(768px以下)-------------------------------------------------------------*//*==================================================================	layout setting===================================================================*//* Wordpress ui fixed */#wpadminbar {	position: fixed !important;	top: auto !important;	bottom: 0 !important;}@media only screen and (max-width:768px) {}/*------------------------------------------	Common setting------------------------------------------*/:root {  --main-gradient:linear-gradient(130deg, #071e82 0%, #3eb634 100%);  --btn-gradient:linear-gradient(130deg, #021B79 0%, #00B4DB 50%, #009E60 100%);  --primary-color: #021260; /* Deep Blue/Black */  --accent-color: #0ea5e9; /* Tech Blue/Cyan */  --bg-light: #f8fafc;  --text-color: #000000;  --white: #ffffff;  --max-width: 960px;}html,body { width: 100%; }body {  overflow-x: hidden;  display: flex;  position: relative;  flex-direction: column;  min-height: 100vh;  background: #FFF;	font-family:"Noto Sans JP", "Noto Sans Japanese", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;	line-height: 1.8;	font-size: 16px;	color: #000;}.pc { display: block; }.sp { display: none; }@media only screen and (max-width:960px) {  body { font-size: 1.67vw; }}@media only screen and (max-width:768px) {	body { font-size: 4vw; }	.pc { display: none !important; }	.sp { display: block !important; }}/*a:not(:hover) { color: #033d83; }*/a, button, img {  text-decoration: none;  -webkit-touch-callout:none;  -webkit-tap-highlight-color:rgba(0,0,0,0);	transition: 0.2s;  color: inherit;}a, button, label { cursor: pointer; }input, textarea, select, button {  outline: none;  font-size: inherit;  font-family: inherit;  font-weight: inherit;}img {  width: auto;  max-width: 100%;  height: auto;  vertical-align:bottom;}.flex { display: flex; }.youtube {  position: relative;  width: 100%;  height: 0;  padding-top: 56.25%;}.youtube iframe {  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;}.new {  display: inline-block;  padding: 0 0.25em;  background: #ebf400;  line-height: 1.2;  font-size: 0.8em;  font-weight: bold;  color: #006db2;}.line {  background:linear-gradient(transparent 70%, #FFFA81 70%);  font-weight: 500;  color: #029492;}/*------------------------------------------	#wrap------------------------------------------*/#wrap {  flex-grow:1;	position: relative;}.baseWidth {	max-width: 960px;	margin: 0 auto;}/*------------------------------------------	#header------------------------------------------*/#header {	position: relative;  top: 0;  left: 0;  width: 100%;	background: #FFF;  transition: 0.2s;	z-index: 100;}#header * {  margin: 0;  padding: 0;  text-decoration: none;}#header .inner {  display: flex;  justify-content: space-between;  align-items: center;  height: 80px;  padding: 0 1em 0 50px;  transition: 0.2s;}#hLogo img {  width: 160px;  vertical-align: middle;}#mainNav {  display: flex;  justify-content: flex-end;  align-items: center;}#mainNav li { position: relative; }#mainNav li:not(.child li) { margin-left: 2em; }#mainNav .new {  margin-right: 0.25em;  padding: 0 0.25em;}#mainNav a {  font-weight: 500;}#mainNav a.contact {  display: block;  padding: 0.5em 1em;  background: var(--btn-gradient);  color: #FFF !important;	border-radius: 999px;}#mainNav .child {  display: none;  position: absolute;  left: 50%;  width: max-content;  background: #033d83;  transform: translate(-50%);}#mainNav .child li:not(:last-of-type) { border-bottom:1px solid rgba(0,0,0,0.3); }#mainNav .child a {  display: flex;  justify-content: space-between;  align-items: center;  padding: 0.5em 1em;  font-size: 0.875em;  font-weight: normal;  color: #FFF !important;}#mainNav .child span {  display: inline-block;  margin-left: 1em;  padding: 0.1em 0.5em;  background: #FFF;  border-radius: 3px;  line-height: 1.2;  font-size: 0.8em;  font-weight: bold;  color: #033d83;}#mainNav li:hover .child { display: block; }#mainNav .child a:hover {  background: rgba(0,0,0,0.4);}#header.fixed {  position: fixed;  background: #FFF !important;  box-shadow: 0 0 6px 0 rgba(0,0,0,0.5);  top: 0;  left: 0;  width: 100%;  z-index: 9999;  animation: headerSlideDown 0.4s ease-out forwards;  box-shadow: 0 0 6px 0 rgba(0,0,0,0.5);}/* アニメーションの動きの定義 */@keyframes headerSlideDown {  0% {    transform: translateY(-100%); /* 画面の真上に隠しておく */    opacity: 0;  }  100% {    transform: translateY(0);     /* 定位置（0）に降りてくる */    opacity: 1;  }}#header.fixed #mainNav a { color: inherit; }#header.fixed a.contact {  padding-top: 0.5em;  padding-bottom: 0.5em;}#header.fixed .inner { height: 60px; }#header.fixed #hLogo img {  width: 140px;}@media only screen and (max-width:1200px) {  #header .inner {    padding-left: 2em;  }  #hLogo img {  width: 14vw; }  #header.fixed #hLogo img { width: 14vw; }  #header { font-size: 1.4vw; }}@media only screen and (max-width:768px) {  #header {    background: #FFF !important;    font-size: 1em;  }	#header .inner {    justify-content: center;    height: 14vw !important;    padding-right: 2em;  }  #hLogo {    margin-left:0;    background: none !important;  }  #hLogo img {    display: block;    width: 30vw !important;    opacity: 1 !important;  }  #header nav {    position: absolute;    top: 0;    left: 0;  }  #spMenu {    display: flex;    flex-direction: column;    justify-content:center;    align-items: center;    position: relative;    width: 14vw;    height: 14vw;    background: #033d83;    background: #FFF;  }    #spMenu span,	#spMenu:before,	#spMenu:after {		content: "";		display: inline-block;		position: absolute;		width: 8vw;		height: 2px;		background: #033d83;    background: #000;		transition: 0.2s;	}	#spMenu:before { top: 30%; }	#spMenu:after { bottom: 30%; }		#spMenu.open { background:#888; }	#spMenu.open:before,	#spMenu.open:after {		top: auto;		bottom:auto;		background: #FFF;	}	#spMenu.open:before { transform: rotate(45deg); }	#spMenu.open:after { transform: rotate(-45deg); }	#spMenu.open span { opacity: 0; }    #gNav {    overflow: auto;    display: block;    position: absolute;    top: 14vw;    left: -100vw;    width: 100vw;    height: calc(100vh - 14vw);    background: #010a1e;    opacity: 0;    z-index: -100;    transition: 0.2s;  }  #spMenu.open + #gNav {    left: 0;    opacity: 1;    z-index: 1;  }  #mainNav {    display: block;  }  #mainNav li,  #mainNav li:not(.child li) {    margin-left: 0;    border-bottom: 1px solid #15213b;  }  #mainNav a,  #mainNav .toggle {    display: block;    position: relative;    margin: 0;    padding: 2vw 4vw !important;    background: none !important;    font-size: 1em !important;    font-weight: 500;    color: #FFF !important;  }  #mainNav a:after,  #mainNav .toggle:after {    display: block;    position: absolute;    top: 50%;    right: 4vw;    content: "";    width: 2.4vw;    height: 2.4vw;    border-top: 2px solid #FFF;    border-right: 2px solid #FFF;    transform:translateY(-50%) rotate(45deg);  }  #mainNav .toggle:after {    transform:translateY(-50%) rotate(135deg);  }  #mainNav .toggle.active { background: rgba(255,255,255,0.1) !important; }  #mainNav .toggle.active:after {    transform:translateY(-50%) rotate(-45deg);  }  #mainNav .child {    display: none;    position:static;    width: auto;    background: #343B4B;    transform: translate(0);    opacity: 1;    z-index: 1;  }  #mainNav li:hover .child { display:none; }  #mainNav .child a {    display: flex;    justify-content: flex-start;    font-weight: bold;  }  #mainNav .child span { color:#343B4B; }  #hSns {    display: flex;    justify-content: center;    margin: 2em 0;  }  #hSns a {    display: flex;    justify-content: center;    align-items: center;    width: 2em;    height: 2em;    margin:0 0.5em;    border-radius: 50%;    font-size: 1.4em;    color: #FFF;  }  #hSns .blog a {    padding: 0 1em 0 26px;    background:#444 url("../img/global/icon_blog_dark.png") no-repeat 0% 50%;    background-size: contain;    font-size: 14px;    font-style: italic;  }  #hSns .fb a { background: #4267b2; }  #hSns .tw a { background: #1da1f2; }  #hSns .insta a {    background: #ffdd83;    background: -moz-linear-gradient(45deg,  #ffdd83 0%, #f26939 34%, #cf2e92 67%, #4c64d3 100%);    background: -webkit-linear-gradient(45deg,  #ffdd83 0%,#f26939 34%,#cf2e92 67%,#4c64d3 100%);    background: linear-gradient(45deg,  #ffdd83 0%,#f26939 34%,#cf2e92 67%,#4c64d3 100%);    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffdd83', endColorstr='#4c64d3',GradientType=1 );  }  #hSns .yt a { background: #e72a20; }  #hSns .linkedIn a { background: #0e76a8; }}/*------------------------------------------	.breadcrumbs------------------------------------------*/.breadcrumbs,.breadcrumbs a {	white-space: nowrap;	color: rgba(255,255,255,0.4);}.breadcrumbs .current-item {	color: rgba(255,255,255,0.3);}.breadcrumbs {	display: flex;  flex-wrap: wrap;	align-items: center;	width:100%;  padding: 0.5em 50px;  font-size: 0.875em;}.breadcrumbs {  position: absolute;  background: 0 0;  z-index: 10;}.breadcrumbs > span + span:before {	content: "\0bb";	margin: 0 0.5em;}.breadcrumbs a { border-bottom: 1px solid; }.breadcrumbs a:hover { border-bottom: 0; }@media only screen and (max-width:1200px) {	.breadcrumbs {    padding-left: 2em;    padding-right: 2em;  }}@media only screen and (max-width:960px) {  .breadcrumbs {    font-size: 0.6em;  }}@media only screen and (max-width:768px) {  .breadcrumbs {    padding-left: 1em;    padding-right: 1em;  }}/*------------------------------------------	Main section------------------------------------------*/article h1,article h2,article h3,article h4,article p,article ul,article li {  margin: 0 0 1em;  padding: 0;  list-style: none;}article h1,article h2,article h3,article h4 { font-weight: 500; }.sec {  position: relative;  margin: 0 auto;  z-index: 1;}.sec header {	display: flex;	justify-content: center;}.sec header h2 {	margin: 0;	padding: 1em 0 0;	line-height: 1.6;	text-align: center;	color: #021260;	font-size: 2em;	font-weight: 700;}#scene .sec header h2 {    color: var(--white);}.sec header h2:after {	content: "";	display: block;	width: 100px;	height: 6px;	margin: 0.4em auto 1.5em;	background: #00abbd;	background: var(--main-gradient);}.sec header span {	position: absolute;	color: var(--accent-color);	font-size: 16px;	font-weight: 700;	font-family: 'Roboto';	letter-spacing: 2px;}.sec header span:before {	content: '';	position: absolute;	bottom: 50%;	left: -1.2em;	width: 0.5em;	height: 2px;	margin-top: -6px;	background-color: var(--accent-color);}.sec header span:after {	content: '';	position: absolute;	bottom: 50%;	right: -1em;	width: 0.5em;	height: 2px;	margin-top: -6px;	background-color: var(--accent-color);}.sec .headline1,.sec .headline2 {  position: relative;  margin-bottom: 1em;  color: #164fa4;}.sec .headline1 {  padding: 0.5em 1em;  border: 1px solid #029492;  text-align: center;  font-size: 1.4em;}.sec .headline2 {  font-size: 1.2em;}.sec sup,.sec sub { font-size: 0.6em; }.caution,.cautionBox { color: #C00; }.cautionBox {	display: flex;	justify-content: center;	padding: 2em 1em 2em 2em;	border: 1px solid #C00;}.cautionBox ul { margin-bottom: 0; }.cautionBox li {	margin-bottom: 0;	text-indent: -1em;}.cautionBox li:before { content: "※"; }.dl-link {	display: block;	width: max-content;	margin: 0 auto;	font-size: 1.2em;	font-weight: bold;	color: inherit;}.dl-link:not(:hover) {	text-decoration: underline;	color: #029492;}/* スマホ用 (768px以下) */@media (max-width: 768px) {  .sec {    margin: 0 1em;  }  .sec header h2 {    padding-top: 1em;    font-size: 1.4em;  }	.sec header span {		font-size: 0.8em;	}  .sec .headline1,  .sec .headline2 { line-height: 1.6; }  .sec .headline1 { font-size: 1.2em; }	.cautionBox {		padding-top: 1em;		padding-bottom: 1em;	}	.dl-link {		font-size: 1em;	}}/* module parts------------------------------------------------------------*/.overflow { overflow: auto; }.overflowX { overflow-x: auto; }.overflowY { overflow-y: auto; }.flex { display: flex; }.center { text-align: center; }.left { text-align: left; }.right { text-align: right; }.decimal,.decimal li { list-style:decimal; }.alpha { list-style: lower-alpha; }.roman { list-style: lower-roman; }.pre {  padding: 1em;  background: #555;  border-radius: 10px;  white-space: pre-wrap;  font-size: 0.875em;  color: #FFF;}a.txtLink:not(:hover) {  border-bottom: 1px solid;  color: #029492;}.spStyle { display: none; }.pcStyle { display: block; }@media only screen and (max-width:768px) {	.spStyle { display:block; }	.pcStyle { display: none; }}.f10 { font-size:77%; }.f11 { font-size:85%; }.f12 { font-size:93%; }/*------------------------------------------	#footer bottomBan------------------------------------------*/.bottomBan {	position: fixed;	right: -150px;	bottom: 20px;	z-index: 100;	transition: 0.5s;}.bottomBan a {	overflow: hidden;	display: block;	width: 140px;	height: 140px;	background: url("../img/sale/ban_10off_arrow.webp")no-repeat;	background-size: contain;	text-indent: -9999px;}.bottomBan a:hover {	opacity: 0.7;}.bottomBan.active { 	right: 10px; 	opacity: 1;}.menuOpen .bottomBan { display: none !important; }@media only screen and (max-width:990px) {	.bottomBan { /*		display: none; */		bottom: 10px;	}	.bottomBan a {		width: 22vw;		height: 22vw;		max-width: 120px;	}}.bottomBan.active {  animation: poyopoyo 2s ease-out infinite;  opacity: 1;}@keyframes poyopoyo {  0%, 40%, 60%, 80% {    transform: scale(1.0);  }  50%, 70% {    transform: scale(0.95);  }}