@charset "UTF-8";/*----------------------------------------------------------更新日：2024年7月31日=PC(960以上)=PC & タブレット(960以下)=スマホ(768px以下)-------------------------------------------------------------*//*==================================================================	layout setting===================================================================*//* Wordpress ui fixed */#wpadminbar {	position: fixed !important;	top: auto !important;	bottom: 0 !important;}/*------------------------------------------	Common setting------------------------------------------*/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: 18px;	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);  color: inherit;}a, button {	transition: 0.2s;}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%;  aspect-ratio: 16 / 9;}.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: fixed;  top: 0;  left: 0;  width: 100%;  background: rgba(255, 255, 255, 0.7);   z-index: 9999;  transition: 0.2s;}#header.fixed {  background: rgba(255, 255, 255, 1) !important;   box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);}#header * {	margin: 0;	padding: 0;	text-decoration: none;}#header .inner {	display: flex;	justify-content: center;	align-items: center;	height: 70px;	padding: 0 1em 0 1.5em;/*	border: 1px solid #f69;*/}/*#header .hLogo {	margin-right: 1em;}*/#header .hLogo img {	width: 60px;	vertical-align: middle;}#mainNav {	display: flex;	justify-content: space-between;	align-items: center;	width: 90vw;	max-width: 960px;}#mainNav li { position: relative; }/*#mainNav li:not(.child li) { margin: 0 2vw; }*/#mainNav .new {  margin-right: 0.25em;  padding: 0 0.25em;}#mainNav a {	font-size: 0.9em;  font-weight: 700;	position: relative;	display: inline-block;	text-decoration: none;}#mainNav a:hover {	opacity: 0.6;}#mainNav .hLogo a:hover {	opacity: 1;}#mainNav .toggle { display: none; }#mainNav .child {	display: none;  position: absolute;	bottom: 0;  left: 50%;  width: max-content;	background:rgba(251, 16, 88, 1);	transform: translate(-50%,100%);	transition: 0.2s;}#mainNav .child li:not(:last-of-type) { border-bottom:1px solid rgba(0,0,0,0.2); }#mainNav .child a {  display: flex;  justify-content: space-between;  align-items: center;  padding: 0.25em 1em;  font-weight: normal;  color: #FFF;}#mainNav li:hover .child { display: block; }#mainNav .child a:hover {  background: rgba(0,0,0,0.3);}@media only screen and (max-width:960px) {  #header { font-size: 1.4vw; }}@media only screen and (max-width:768px) {  #header {    background: #FFF !important;    font-size: 1em;  }	#header .inner {		justify-content: space-between;		height: 14vw !important;		padding: 0 1em 0;		box-shadow: 0px 1px 7px rgba(0,0,0,.1);  }  #header .hLogo {    margin-left:0;    background: none !important;  }  #header .hLogo img {    display: block;    width: 15vw !important;    opacity: 1 !important;  }  #header nav {    position: absolute;    top: 0;    right: 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: #000000;	}	#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;    right:0;    width: 100vw;    height: calc(100vh - 14vw);    background: rgba(255,255,255,1);    opacity: 0;    z-index: -100;    transition: 0.2s;		transform: translateX(100%);  }  #spMenu.open + #gNav {    opacity: 1;    z-index: 1;		transform: translateX(0%);  }  #mainNav {    display: block;		width: 100%;  }  #mainNav li,  #mainNav li:not(.child li) {    margin: 0;    border-bottom: 1px solid #CCC;  }  #mainNav a,  #mainNav .toggle {    display: block;    position: relative;    margin: 0;    padding: 3vw 4vw !important;    font-size: 1em !important;		font-weight: 700 !important;    color: #000;  }	#mainNav a:before {		display: none;	}  #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 #000;    border-right: 2px solid #000;    transform:translateY(-50%) rotate(45deg);  }  #mainNav .toggle:after {    transform:translateY(-50%) rotate(135deg);  }  #mainNav .toggle.active { background: #DDD!important; }  #mainNav .toggle.active:after {    transform:translateY(-50%) rotate(-45deg);  }  #mainNav .child {    display: none;    position:static;    width: auto;    background: #FFF;    transform: translate(0);    opacity: 1;    z-index: 1;  }  #mainNav li:hover .child { display:none; }  #mainNav .child a {    display: flex;    justify-content: flex-start;		background:rgba(251, 16, 88, 1);		color: #FFF;  }	#mainNav .child a:after {		border-color: #FFF;	}  #mainNav .child span { color:#343B4B; }}/*------------------------------------------	.breadcrumbs------------------------------------------*/.breadcrumbs,.breadcrumbs a {	white-space: nowrap;	color: rgba(255,255,255,0.5);}.breadcrumbs .current-item {	color: rgba(255,255,255,0.5);}.breadcrumbs {	display: flex;  flex-wrap: wrap;	align-items: center;	position: absolute;	left: 50%;  background: none;  z-index: 10;	width:100%;	max-width: 960px;  padding: 70px 0;  font-size: 0.8em;	transform: translateX(-50%);}.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:960px) {  .breadcrumbs {		padding-left: 1em;    padding-right: 1em;    font-size: 0.6em;  }}@media only screen and (max-width:768px) {  .breadcrumbs {    padding-left: 1em;    padding-right: 1em;  }}/* 下層ページ専用：異常な余白を徹底排除 */body:not(.home) #main {    margin-top: 0 !important;    padding-top: 0 !important;}body:not(.home) .breadcrumbs {    /* パンくずはwrapのpadding-topによって、自動的にヘッダーのすぐ下に配置されます */    margin: 0 !important;    padding: 10px 20px; /* パンくず自体の高さ調整のみ */    z-index: 5;    position: absolute;}/* タイトルエリアの上の隙間も詰める */body:not(.home) #title {    margin-top: 10px !important;}/*------------------------------------------	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;/*  max-width: 960px;*/  margin: 0 auto;	padding: 4em 0;  z-index: 1;}.sec .innerBox{	max-width: 960px;	margin: 0 auto;/*	border: 1px solid #F69;*/}.sec header {	display: flex;	justify-content: center;/*	margin-top: 3em;*/}.sec header h2 {	margin: 0;	padding: 0 0 1em;	line-height: 1.6;	text-align: center;	color: #000000;	font-size: 2em;	font-weight: 700;}.sec header.fcw h2{	color: #FFFFFF;}.sec header.fcw span:after{	background-color: #FFFFFF;}.sec .headline1,.sec .headline2 {  position: relative;  margin-bottom: 1em;  color: #164fa4;}.sec .headline1 {  padding: 0.5em 1em;  border: 1px solid #f20c88;  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: "※"; }.btn {  display: flex;  justify-content: center;  align-items: center;  width: max-content;  max-width: 100%;	min-width: 220px;  height: 70px;  padding: 0 1em;/*  border-radius: 50px;*//*  background: #0fcee6;*/	background: #FFF linear-gradient(110deg, rgba(2, 25, 100, 1), rgba(251, 16, 88, 1));  font-size: 20px;	font-weight: 700;	position: relative;	overflow: hidden;/*	transition: 0.3s;*/}.btn span {	position: relative;	z-index: 3;	color: #FFF;	font-size: 1.25em;}.btn.type2{	background: #FFF linear-gradient(110deg, rgba(31, 57, 190, 1), rgba(0, 108, 26, 1));}/*.btn:hover span{  color:#FFF;}.btn:hover {}*/.btn::before {  content: '';  position: absolute;  left: 0;  bottom: -130%;  background:#f20c88;  width:120%;  height: 120%;/*  transform: skewX(-25deg);*/}.btn.type2::before {	background-color: #203ed4;/*	background-color: #007e1e;*/}.btn:hover::before {  animation: skewanime .3s forwards;}@keyframes skewanime {  100% {    bottom:-10%;  }}.btn .fa {	margin-left: 0.5em;}@media only screen and (max-width:960px) {  .sec {/*    margin: 0 0 3em;*/		padding: 2em 1em;  }}@media only screen and (max-width:768px) {  .sec header h2 {/*    padding-top: 1.6em;*/    font-size: 1.8em;  }/*	.sec header h2:after{		width: 80px;		height: 4px;	}*//*  .sec header h2 br { display: none; }*/  .sec .headline1,  .sec .headline2 { line-height: 1.6; }  .sec .headline1 { font-size: 1.2em; }	.cautionBox {		padding-top: 1em;		padding-bottom: 1em;	}  .btn {		min-width: 60vw;    padding: 0 1em;/*    height: 3em;    font-size: 1.2em;*/  }}/* 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: #f20c88;}a:not(:hover) span.txtLink02 {  border-bottom: 1px solid;  color: #f20c88;}.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);  }}