@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600&family=M+PLUS+2:wght@400;500;700;800&family=Noto+Sans+JP:wght@500;600&display=swap');
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/css/yakuhanjp.min.css');

#funderfulHeader li, #funderfulHeader p, #contentMain .contact-note {
	font-family: YakuHanJP, 'M PLUS Rounded 1c', sans-serif;
	transform: rotate(0.03deg);
	letter-spacing: .05em;
}
#header.vendor {
	margin-bottom: 0;
}
#footer.local-footer {
	position: relative;
}
.footer-note {
	position: relative;
	background: #fff;
	padding: .1px 0 25px;
}
.sec-special li, .sec-special p, .sec-special dt, .sec-special dd, .sec-special th, .sec-special td, .sec-special .-ti01, .sec-special .-ti02, .sec-special .-ti03, .sec-special .-ti04, .sec-special .-ti05, .sec-special .-lead1, .sec-special .-lead2, .sec-special .-btn {
  font-family: YakuHanJP, "M PLUS 2", sans-serif;
  font-family: "M PLUS 2", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
	transform: rotate(0.03deg);
}
.sec-special .tx-thin {
  font-family: YakuHanJP, "M PLUS 2", sans-serif;
  display: inline-block;
}
/*.sec-special p .tx-thin {
  margin-right: -.5em;
}*/
.sec-special .-ti01, .sec-special .-ti02, .sec-special .-ti03, .sec-special .-ti04, .sec-special .-ti05 {
  letter-spacing: 0.04em;
}
.sec-special li::first-letter {
  font-family: "M PLUS 2", sans-serif;
}
/* CSS Document */
body {
	min-width: 320px;
}
@media screen and (min-width: 768px) {
	.pc{
		display: block;
	}
	.spn{
		display: none !important;
	}
	#funderfulHeader {
		font-size: 16px;
	}
}
@media screen and (max-width: 767px) {
  .pc{
    display: none !important;
  }
  .spn{
    display: block;
  }
	#funderfulHeader {
		font-size: 13px;
	}
  .sec-special .tx-thin {
    display: initial;
  }
}
/*--- font ---*/
.sec-special {
	font-size: 16px;
	line-height: 1.8;
}
.contact-note{
	font-size: 13px;
	margin-top:45px;
}
	
/*--- layout ---*/
.sec-special .note-list > li {
font-size:14px;
list-style:none;
text-indent: -1em;
padding-left: 1em;
margin:0;}
.sec-special .note-list-m > li {
    text-indent: -1em;
    margin-left: 1em;}
.sec-special .note-list > li:first-letter,
.sec-special .note-list-m > li:first-letter {
  font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
	letter-spacing: normal;
}
@media screen and (max-width: 767px) {
	.sec-special {
		font-size: 14px;
		font-size: calc(100vw * 14 / 375);
	}
	.note-list > li {
		font-size:12px;
		line-height: 1.75;
	}
	.sec-special .note-list > li {
		font-size:12px;
		font-size:calc(100vw * 12 / 375);
	}
}

/*------------------------------------------------------------

   funderfulHeader

--------------------------------------------------------------*/
#funderfulHeader {
	background: #ffffff;
	position: absolute;
	display: flex;
	width: 100%;
	min-width: 320px;
	height: 75px;
	top:0;
	left: 0;
	z-index: 800;
}
#funderfulHeader .content-inner {
	max-width: 1050px;
	display: flex;
	align-items: center;
	padding: 0 25px;
}
/*------------------------------------ media */
@media screen and ( min-width: 768px ){
	#funderfulHeader {
		width: 100%;
		height: 80px;
	}
}
@media screen and ( max-width: 767px ){
	#funderfulHeader .content-inner {
		padding: 0 25px;
	}
}

/*------------------------------------------------------------

   open / close

--------------------------------------------------------------*/
body.openNav {
	-webkit-overflow-scrolling: auto;
	-ms-overflow-x: hidden;
	    overflow-x: hidden;
}
body.openNav {
	-webkit-overflow-scrolling: hidden;
	-ms-overflow: hidden;
			overflow: hidden;
	height: 100vh;
}
body.body_pc.openNav .wrap,
body.body_pc.openNav.onScroll #funderfulHeader {
    overflow-y:scroll;
}

body.openNav #header.vendor {
  z-index: 100;
}


body.openOpening {
	-webkit-overflow-scrolling: hidden;
	-ms-overflow: hidden;
	overflow: hidden;
	overflow-y:scroll;
	height: 100%;
}
body.body_pc.openOpening .wrap {
    height: 100vh;
	min-height: 100vh;
	min-height: 100lvh;
	-webkit-overflow-scrolling: hidden;
	-ms-overflow: hidden;
	overflow: hidden;
}

#nav-20th .menuBtn-20th,
#nav-20th .menuBtn2-20th {
	display: block;
	right: var(--scrollbar);
}
body.openNav .menuBtn-20th,
body.openNav .menuBtn2-20th {
	right: var(--scrollbar);
}
#nav-20th.close {
	top: 130%;
}
#nav-20th.close .menuBtn-20th,
#nav-20th.close .menuBtn2-20th {
	display: none;
}
body.openNav #nav-20th {
	-webkit-overflow-scrolling: touch;
	    overflow-y: scroll;
	height: 100%;
}

/* siteLogo
--------------------------------------------------------------*/
.siteLogo {
	margin: auto 0;
}
.siteLogo > span,
.siteLogo > a {
	width: 212px;
	height: 46px;
	display: block;
	background: 50% 50% no-repeat;
	background-image: url(../../../../fanclub/assets/images/logo01.svg);
	background-size: contain;
	text-indent: -9999em;
}
@media screen and ( max-width: 767px ){
	.siteLogo > span,
	.siteLogo > a {
		width: 120px;
		height: 26px;
	}
}
@media screen and (max-width: 365px) {
	.siteLogo > span,
	.siteLogo > a {
		width: 100px;
	}
}

/* .headMenu
--------------------------------------------------------------*/
#funderfulHeader .headMenu {
	position: relative;
	display: flex;
	margin: 0 0 0 auto;
}
#funderfulHeader .headMenu li {
	margin-left: 7px;
}
#funderfulHeader .headMenu li a,
#funderfulHeader .headMenu li.btn-shinki > span {
	font-size: 20px;
	font-weight: bold;
	/*width: 69px;*/
	height: 2.07em;
	border-radius: 9999em;
	background: #fff;
	border: 2px solid #222222;
	color: #222222;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	padding: .2em .7em;
	white-space: nowrap;
}
.body_pc #funderfulHeader .headMenu li a:hover {
	opacity: .7;
}
#funderfulHeader .headMenu li.btn-shinki a {
	background-color: #FEC411;
}
#funderfulHeader .headMenu li.btn-shinki > span {
	background-color: #DDDDDD !important;
	border-color: #AAAAAA !important;
	color: #AAAAAA !important;
}

.status-login #funderfulHeader {
	border-bottom: none;
}
@media screen and (max-width: 767px) {
	#funderfulHeader .headMenu li a,
	#funderfulHeader .headMenu li.btn-shinki > span {
		font-size: 13px;
		height: auto;
		line-height: 1.2;
	}
}
@media screen and (max-width: 365px) {
	#funderfulHeader .headMenu li a,
	#funderfulHeader .headMenu li.btn-shinki > span {
		font-size: 11px;
		padding: .2em .4em;
	}
}

/*------------------------------------------------------------

   content

--------------------------------------------------------------*/
#contentMain {
	/*min-height: 100vh;*/
	padding: 80px 0 0;
	position: relative;
}
#contentMain * {
	box-sizing: border-box;}
#contentMain img {
	vertical-align: top;
	max-width: 100%;
	height:auto;}
.content-title .-wide {
    margin-top: 67px !important;
}
.content-inner {
	width: 100%;
	max-width: 768px;
	margin: 0 auto;
	padding: .1px 20px;
	position: relative;
	text-align: left;
}
@media screen and (max-width: 767px) {
	#contentMain {
		padding-top: 75px;
	}
  .content-title .-wide {
    margin: calc(80/750*100vw) calc(-30/750*100vw) .6em !important;
  }
	.content-inner {
		padding: .1px 30px;
	}
}


.sec-follow {
	background: #fff4dd;
	color: #000000;
	position: relative;
}
.sec-follow .content-inner {
	max-width: 1200px;
	padding: 100px 50px 75px;
}
.sec-sns {
}
.sec-sns .snsBtn {
	display: table;
	margin: 0 auto 35px;
}
.sec-sns .snsBtn li {
	display: inline-block;
	margin: 0;
}
.sec-sns .snsBtn li {
	width: 68px;
}
.sec-sns .snsBtn li + li{
  margin-left: 16px;
}
.sec-sns .snsCap {
	display: table;
	text-align: left;
	margin: 0 auto;
}
.sec-sns .snsCap h3 {
	margin: 0;
	font-size: 16px;
	font-weight: normal;
	margin-bottom: 1.5em;
	text-align: center;
}
.sec-sns .snsCap li{
	font-size: 14px;
	padding-left: 1em;
	text-indent: -1em;
}
@media screen and (max-width: 767px) {
	.sec-follow {
		color: #5b2e1a;
	}
	.sec-follow .content-inner {
		padding: calc( 100vw * 35 / 375 ) calc( 100vw * 20 / 375 ) calc( 100vw * 45 / 375 );
	}
	.sec-sns .snsBtn {
		margin-bottom: calc( 100vw * 30 / 375 );
	}
	.sec-sns .snsBtn li {
		width: calc( 100vw * 48 / 375 );
	}
	.sec-sns .snsBtn li + li{
		margin-left: calc( 100vw * 15 / 375 );
	}
	.sec-sns .snsCap h3 {
		font-size: calc( 100vw * 12.5 / 375 );
	}
	.sec-sns .snsCap li {
		font-size: calc( 100vw * 12 / 375 );
	}
}


#content-main.sp-content {
	background: #e85d26;
	color: #fff;
	z-index: 0;
  position: relative;
}
#main-back {
	position: fixed;
	width: 100%;
	height: 130%;
	min-height: 100vh;
	min-height: 100lvh;
	z-index: -1;
	font-language-override: 0;
	pointer-events: none;
	left: 0;
	top: 0;
}
#main-back::before {
	content: "";
	vertical-align: top;
	z-index: 0;
	position: absolute;
	width: 100%;
	height: 130%;
	min-height: 100vh;
	min-height: 100lvh;
	top: 0;
	left: 0;
	background: #e85d26 50% 0;
	background-size: cover;
}
#main-back .background {
	vertical-align: top;
	z-index: 5;
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	pointer-events: none;
}
#particles-js {
	min-width: 1110px;
	width: 153%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}
@media screen and (min-width: 768px) {
	#main-back::before {
		background-image: url("../../images/main_bg01.webp");
	}
}
@media screen and (max-width: 767px) {
	#main-back::before {
		background-image: url("../../images/main_bg01_sp.webp");
		background-position: 50% 0;
	}
}




.sec-special .sec-info{
	margin-top: 5em;
	margin-bottom: 0;
	font-size: 15px;
}
.sec-special .tx-att {
	color:#d00303 !important;}
.sec-special .tx-att2 {
	color:#fc671f !important;}
.sec-special .tx-att3 {
	color:#ffee2b !important;}
.sec-special .tx-att4 {
	color:#297b6b !important;}
.sec-special .tx-en {
	font-family: YakuHanJP, "Oswald", "M PLUS 2", sans-serif;
  font-optical-sizing: auto;
	vertical-align: baseline;
}
.sec-special img.tx-img {
	max-width: none !important;
  height: 1em !important;
}
.sec-special .-label {
	width: fit-content;
	min-width: 412px;
	height: 40px;
	border-radius: 9999em;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.9;
	background: #733b24;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 30px auto;
	letter-spacing: 0.04em;
}
.sec-special .-btn {
	border-radius: 9999em;
	background-color: #d00303;
    background-image: url(../../images/btn_bg02l.png), url(../../images/btn_bg02r.png);
    background-size: auto 90%;
    background-position: 0 0, 100% 80%;
	background-repeat: no-repeat;
	font-size: 30px;
	font-weight: 800;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff !important;
		width: 430px;
		height: 100px;
	margin: 17px auto 0;
	position: relative;
	overflow: hidden;
	letter-spacing: normal;
}
.sec-special a.-btn:after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 26px;
  background: url("../../images/arrow01.svg") no-repeat 0 0;
	background-size: contain;
	vertical-align: middle;
	margin-top: .2em;
	margin-left: .5em;
	margin-right: -.5em;
	transform: rotate(180deg)
}
.sec-special a.-btn:hover {
	opacity: .8;
}
@media screen and (max-width: 767px) {
	.sec-special .-label {
		min-width: calc(100vw * 490 / 750);
		height: calc(100vw * 54 / 750);
		font-size: calc(100vw * 13 / 375);
		margin: calc(100vw * 15 / 375) auto;
		padding-bottom: .1em
	}
	.sec-special .-btn {
		max-width: 100%;
		font-size: calc(100vw * 34 / 750);
		width: calc(100vw * 610 / 750);
		height: calc(100vw * 140 / 750);
		margin: calc(100vw * 50 / 750) auto 0;
		padding-bottom: calc(100vw * 6 / 750);
	}
	.sec-special a.-btn:after {
		width: calc(100vw * 15 / 750);
		height: calc(100vw * 29 / 750);
	}
}
.sec-special {
	font-size: 16px;
	line-height: 1.8;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
	.sec-special::after {
		background-size: 100% auto;
	}
}
.sec-special .content-inner {
	max-width: 1100px;
	padding: 0 50px 100px;
}
.sec-special .content-inner .-logo {
	text-align: center;
	margin-bottom: 5.1em;
}
.sec-special .-note {
	font-size: 20px;
	font-weight: 600;
	display: inline-block;
    margin-top: .7em;
}
.sec-special .-tx-bg {
	display: inline-block;
	position: relative;
	background: linear-gradient(107deg, #ffee2b 0%, #fff297 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
	letter-spacing: normal;
}
.sec-special .-mv {
  max-width: 975px;
	border: 5px solid #ffca5e;
  box-shadow: 0 0 2em #ae4517;
  margin: 60px auto 83px;
  background: #fff;
}
.sec-special .slick-dots {
  line-height: 1;
  bottom: -40px;
  left: 0;
}
.sec-special .slick-dots li {
  background: #dad9d9;
  width: 10px;
  height: 10px;
  margin: 0 5px;
  opacity: 1;
}
.sec-special li.slick-active {
  background: #fb9133;
}
.sec-special .slick-arrow {
    border-radius: 50%;
    width: 47px;
    height: 47px;
    margin: 0;
  transform: translateY(-50%);
}
/*.sec-special .slick-arrow.slick-disabled {
  opacity: 0;
}*/
.sec-special .slick-arrow:before {
    width: 100%;
    height: 100%;
    background: url(../images/icon_arrow01.svg) 50% 50% no-repeat;
    background-size: contain;
}
.sec-special .slick-prev {
    left: 0;
}
.sec-special .slick-next {
    right: 0;
}
.sec-special .slider-text .slick-dots {
  top: 460px;
  bottom: auto !important;
}
.sec-special .slider-text .slick-arrow {
  top: 235px;
}
.sec-special .slider-text .-frame01 {
  margin: 2.5em 0 0;
}
.sec-special .-lead1 {
	font-size: 26px;
	font-weight: 900;
	letter-spacing: normal;
	text-align: center;
  line-height: 36px;
  margin: 0 -1em 96px;
}
.sec-special .-lead1 .-fs-l {
	font-size: 120%;
}
.sec-special .sec-flow {
	/*font-size: 18px;*/
  font-weight: 500;
  line-height: 1.77;
  border: 5px solid #fff;
	border-radius: 30px;
	max-width: 950px;
	background: #fff;
	color: #5b2e1a;
	text-align: left;
	margin: 0 auto;
	padding: 0 40px 95px;
  overflow: clip;
}
.sec-special .sec-flow .-detail-ttl {
  max-width: 750px;
	font-size: 32px;
  display: flex;
	min-height: calc(62/32*1em);
  margin: 0 0 .8em -.1em;
  padding: calc(16/32*1em) 0 0;
  position: relative;
}
.sec-special .sec-flow .-detail-ttl p {
  font-size: calc(29/32*1em);
  position: relative;
  margin-top: .1em;
  padding-left: calc(48/29*1em);
}
.sec-special .sec-flow .-detail-ttl img {
  margin: auto;
}
.sec-special .sec-flow .-detail-ttl p::before {
	content: "";
	width: calc(18/29*1em);
	height: calc(4/29*1em);
	background: #febe37;
	display: inline-block;
  position: absolute;
  top: .5em;
  left: calc(15/29*1em);
}
.sec-special .sec-flow .-detail-txt {
  max-width: 750px;
  margin: 180px 0 0 85px;
	/*background: url("../images/bg05.png") 27px 0 repeat-y;
  background-repeat: no-repeat space;*/
  position: relative;
}
.sec-special .sec-flow .-detail-txt::before {
	content: "";
	width: 16px;
	height: 100%;
	background: url("../images/bg05.png") 50% 0 repeat-y;
  background-repeat: no-repeat round;
	background-size: 100% auto;
	display: block;
  position: absolute;
  top: 100px;
  left: -51px;
  transform: translateX(-50%);
}
.sec-special .sec-flow .-detail-txt::after {
	content: "";
	width: 62px;
	height: 95px;
	background: url("../images/bg04.png") 50% 0 no-repeat;
	background-size: 100% auto;
	display: block;
  position: absolute;
  top: 0;
  left: -85px;
}
.sec-special .sec-flow .-detail-txt.-first {
  margin-top: 40px;
}
.sec-special .sec-flow .-detail-txt.-last {
	margin-top: 115px;
}
.sec-special .sec-flow .-detail-txt.-last::before {
	display: none;
}
.sec-special .sec-flow .-detail-txt.-last::after {
	height: 62px;
}
.sec-special .sec-flow .slick-dots {
  bottom: -35px;
}
.sec-special .sec-flow .slick-dots li {
  width: 8px;
  height: 8px;
  margin: 0 4px;
}
.sec-special .-img01 {
  max-width: 750px;
  margin: 1.3em auto 30px;
  padding: 0 30px;
}
.sec-special .-img02 {
  max-width: 634px;
  margin: 25px auto 110px;
  padding: 0 57px;
}
.sec-special .-img02:last-of-type {
  margin-bottom: 45px;
}
.sec-special .-img02 .slick-arrow {
  top: 170px;
}
/*.sec-special .-img02 .slick-prev {
    left: -57px;
}
.sec-special .-img02 .slick-next {
    right: -57px;
}*/
.sec-special .-img03 {
  /*max-width: 720px;*/
  margin: 1.5em 0;
  margin: 22px 0;
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
}
/*.sec-special .-img03::after {
  content: "";
  clear: both;
  display: block;
  height: 0px;
}*/
.sec-special .-img03 > div {
  /*width: calc(430/750*100%);*/
  /*width: 430px;*/
  position: relative;
  /*float: left;*/
}
.sec-special .-img03 > div.-bg-star::after {
	content: "";
	width: 104px;
	height: 50px;
	background: url("../images/bg08b.png") 50% 50% no-repeat;
	background-size: contain;
	display: block;
  position: absolute;
  bottom: 70px;
  left: calc(100% + 1.2em);
}
.sec-special .-img03 > div:first-of-type {
  z-index: 1;
}
.sec-special .-img03 > div:last-of-type.-bg-star::after {
  bottom: 0;
}
.sec-special .-img03 > div.-frame01 {
  max-width: 300px;
  margin-top: 0;
  padding: 20px 20px;
}
.sec-special .-img03 > div.-right {
  /*float: right;*/
  margin-left: auto;
}
.sec-special .-img03 > div.-right.-bg-star::after {
  left: auto;
  right: calc(100% + 1.2em);
  transform: scale(-1,1);
}
.sec-special .flow_im04 .-right {
  margin-top: -60px;
  margin-right: 30px;
}
.sec-special .flow_im07 .-right:not(.-frame01) {
  margin-right: 60px;
}
.sec-special .flow_im07 .-left {
  margin-top: -48px;
}
.sec-special .flow_im07 .-left.-bg-star::after {
  display: none;
}
.sec-special .flow_im08 .-left {
  margin-top: -127px;
}
.sec-special .flow_im09 .-right {
  margin-right: 30px;
  margin-top: -60px;
}
.sec-special .flow_im09 .-frame01.-left {
  margin-bottom: 36px;
}
.sec-special .flow_im09 .-frame01.-right {
  margin-right: 0;
}
.sec-special .flow_im09 .-right2 {
  margin-right: 0;
  margin-top: 42px;
  z-index: 1;
}
.sec-special .flow_im09 .-left2 {
  margin-top: -16px;
}
.sec-special .flow_im11 .-right {
  margin-top: -33px;
}
.sec-special .flow_im12 .-right {
  margin-top: -218px;
}
.sec-special .flow_im12 .-right.-bg-star::after {
  top: 4px;
  bottom: auto;
}
.sec-special .flow_im15 .-right {
  margin-right: 30px;
  margin-top: -60px;
}
.sec-special .flow_im17 .-right {
  margin-top: -60px;
}
.sec-special .flow_im18 .-right {
  margin-top: -60px;
}
.sec-special .-img03 + .-text {
  margin-top: 40px;
}
.sec-special .flow_im02 {
  display: flex;
  flex-wrap: wrap;
  margin: -5px 0 -10px;
  /*font-size: min(16/1200*100vw,16px)*/
}
.sec-special .flow_im02 .-layout1 {
  width: 214px;
  width: calc(214/590*100%);
  margin-top: 10px;
  margin-right: -10px;
}
.sec-special .flow_im02 .-layout2 {
  width: 376px;
  width: calc(376/590*100%);
  margin-top: auto;
  margin-left: auto;
}
.sec-special .flow_im02 .-layout3 {
  width: 100%;
  position: relative;
  margin-top: calc(-15/461*100%);
}
.sec-special .flow_im11_03 {
  float: left;
  margin: -150px 0 0 0;
}
.sec-special .-text1 {
  font-size: 18px;
}

.sec-special .-ti01 {
  min-height: calc(93/32*1em);
	font-size: 32px;
  background: #e73002 linear-gradient(0deg, #fd5d00, #d10603);
	color: #fff;
	margin: 0 -40px 1.2em;
  padding: .5em;
	text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sec-special .-ti02 {
	font-size: 32px;
}
.sec-special .-ti03 {
  border-image: url(../images/bg02.png) 30 / 30px / 0 round;
	font-size: 24px;
	font-weight: 700;
	color: #fff;
	margin: calc(80/24*1em) 0 1em;
  padding: calc(7.5/24*1em);
  position: relative;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
  letter-spacing: 0.02em;
}
.sec-special .-ti03:first-of-type {
  margin-top: 0;
}
.sec-special .-ti03 .-bg{
  width: 100%;
  background: #fd9936 linear-gradient(90deg, #fd9936, #d00303 50%, #fd9936);
  min-height: calc(44/24*1em);
  padding: .32em .3em .32em .2em;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: end;
}
.sec-special .-ti03 .-bg::before,
.sec-special .-ti03 .-bg::after {
	content: "";
	width: calc(23/24*1em);
	height: calc(25/24*1em);
	min-width: calc(23/24*1em);
	min-height: calc(25/24*1em);
	background: url("../images/bg06.png") 50% 50% no-repeat;
	background-size: contain;
	display: inline-block;
  margin: auto .4em .1em;
}
.sec-special .-ti03 .-bg::after {
  transform: scale(-1,1);
}
.sec-special .-ti03 .-sub {
  display: inline-block;
  font-size: calc(16/24*1em);
  margin: .3em 0;
}
.sec-special .-ti03 .-sub + br + .-icon {
  margin-bottom: .2em;
}
.sec-special .-ti04 {
	font-size: 24px;
  font-weight: 600;
  background: #297b6b;
	background: url("../images/bg07.png") 100% 50% no-repeat;
  background-size: cover;
  color: #fff;
  margin: 0 -1em 1em -40px;
  padding: .37em 3.8em .37em .8em;
  display: table;
  position: relative;
  line-height: 1.33;
  letter-spacing: 0.02em;
}
.sec-special .-ti04::after {
	content: "";
	width: calc(66/24*1em);
	height: calc(31/24*1em);
	background: url("../images/bg08.png") 0% 50% no-repeat;
	background-size: contain;
	display: inline-block;
  position: absolute;
  transform: translateX(10%);
}
.sec-special .-ti05 {
	font-size: 28px;
  font-weight: 800;
	margin: 90px auto 30px;
  text-align: center;
  letter-spacing: 0.04em;
  line-height: 1.65;
}
.sec-special .-ti05 .-sub {
	font-size: 22px;
  vertical-align: baseline;
}
.sec-special .-ti05 .-sub .-fs-s {
	font-size: 85%;
  vertical-align: baseline;
}
.sec-special .-ti05::after {
	content: "";
  width: 558px;
  height: 4px;
  background: #d00303;
  display: block;
  margin: .35em auto 0;
}
.sec-special .-frame01 {
  background:  url(../images/bg01.png) 50% 50% no-repeat;
  background-size: 2em;
  min-height: calc(131/16*1em);
  border-image: url(../images/bg01.png) 30 fill / 30px / 0 round;
  margin: 2em 0 0;
  padding: 22px 20px;
  display: flex;
  align-items: center;
  position: relative;
}
.sec-special .-frame01 .-text {
  position: relative;
  z-index: 1;
}
.sec-special .-frame01.-bg-star {
  min-height: calc(152/16*1em);
}
.sec-special .-frame01.-bg-star::after {
	content: "";
	width: 73px;
	height: 35px;
	background: url("../images/bg08b.png") 50% 50% no-repeat;
	background-size: contain;
	display: block;
  position: absolute;
  bottom: 7px;
  right: 5px;
  z-index: 0;
}
.sec-special .-frame02 {
  max-width: 650px;
  border-radius: 20px;
  background: #e1eeeb;
  padding: 26px 30px 40px;
  margin: 80px auto 0;
}
.sec-special .-frame02 .-text {
  position: relative;
  z-index: 1;
}
.sec-special .-frame02 .-img01.slider-text .-frame01 {
  padding: 5px 20px;
}
.sec-special .-frame02 .-img02 {
  max-width: 614px;
}
.sec-special .-frame02 .-img02.slider-sp {
  /*margin-bottom: 30px;*/
  margin-bottom: 15px;
}
.sec-special .-frame02 .-img02 + .-img02 {
  margin-top: 40px;
}
.sec-special .-frame02 .-img02 + .-frame01 {
  margin-top: 50px;
}
.sec-special .-frame02 .-img02 .slick-arrow {
  top: 170px;
}
.sec-special .-frame02 .-img02.slider-text {
  margin-bottom: 0;
}
.sec-special .-frame02 .-img02.slider-text .slick-dots {
  top: 345px;
  bottom: auto;
}
.sec-special .-frame02 .-img02.slider-text .-frame01 {
  margin: 48px 0 0;
  padding: 5px 20px;
}
.sec-special .-frame02 .-img03 {
  margin-bottom: 0;
}
.sec-special .-frame02 .-img02 + .-img03 {
  margin-top: 58px;
}
.sec-special .-frame02 .-img03 + .-frame01 {
  margin-top: 20px;
  padding: 23px 20px;
}
.sec-special .-frame03 {
  max-width: 750px;
  font-size: 18px;
  line-height: 32px;
  border-image: url(../images/bg03.png) 30 fill / 30px / 0 round;
  margin: 70px auto 0;
    padding: 93px 30px;
  display: flex;
  align-items: center;
  position: relative;
}
.sec-special .-frame03::before,
.sec-special .-frame03::after {
	content: "";
	width: 97px;
	height: 45px;
	background: url("../images/bg09.png") 50% 50% no-repeat;
	background-size: contain;
	display: inline-block;
  position: absolute;
  z-index: 0;
}
.sec-special .-frame03::before {
  top: 16px;
  left: 16px;
}
.sec-special .-frame03::after {
  bottom: 16px;
  right: 16px;
  transform: rotate(180deg);
}
.sec-special .-frame03 .-fs-l {
  font-size: 120%;
}
.sec-special .-link {
	margin: 100px auto 0;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.sec-special {
		font-size: calc(26/750*100vw);
	}
	.sec-special .content-inner {
		padding: 0 calc(50/750*100vw) calc(100/750*100vw);
	}
	.sec-special .content-inner .-logo {
		margin: 0 calc(100vw* 73 / 375) 3.6em;
	}
  .sec-special .-mv {
    border-width: calc(5/750*100vw);
    margin: calc(-25/750*100vw) calc(15/750*100vw) calc(100/750*100vw);
  }
  .sec-special .slick-dots {
    bottom: calc(-55/750*100vw);;
  }
  .sec-special .slick-dots li {
    width: calc(12/750*100vw);
    height: calc(12/750*100vw);
    margin: 0 calc(6/750*100vw);
  }
  .sec-special .slick-arrow {
      width: calc(52/750*100vw);
      height: calc(52/750*100vw);
  }
  .sec-special .slick-prev {
      left: calc(-30/750*100vw);
  }
  .sec-special .slick-next {
      right: calc(-30/750*100vw);
  }
  .sec-special .slider-text .slick-dots {
    top: calc(365/750*100vw);
  }
  .sec-special .slider-text .slick-arrow {
    top: calc(170/750*100vw);
  }
  .sec-special .slider-text .-frame01 {
    margin: 1.8em 0 0;
  }
	.sec-special .-note {
		font-size: calc( 100vw * 11.5 / 375 );
		margin-top: .5em;
	}
	.sec-special .-lead1 {
		font-size: calc(28/750*100vw);
    line-height: calc(46/28*1em);
    margin: 0 -1em calc(90/28*1em);
	}
  .sec-special .sec-flow {
    border-width: calc(8/750*100vw);
    border-radius: calc(30/750*100vw);
    margin: 0 calc(-20/750*100vw);
    padding: 0 0 calc(92/750*100vw);
  }
  .sec-special .sec-flow .-detail-ttl {
    font-size: calc(36/750*100vw);
    display: flex;
    min-height: calc(62/36*1em);
    margin: 0 0 .7em .6em;
    padding: calc(24/36*1em) 0 0;
    position: relative;
  }
  .sec-special .sec-flow .-detail-ttl p {
    font-size: calc(32/36*1em);
    padding-left: calc(48/32*1em);
    line-height: 1.4;
  }
  .sec-special .sec-flow .-detail-txt {
    max-width: calc(570/750*100vw);
    margin: calc(200/750*100vw) 0 0 calc(73/750*100vw);
  }
  .sec-special .sec-flow .-detail-txt::before {
    width: calc(19/750*100vw);
    top: calc(121/750*100vw);
    left: calc(-30/750*100vw);
  }
  .sec-special .sec-flow .-detail-txt::after {
    width: calc(74/750*100vw);
    height: calc(115/750*100vw);
    left: calc(-70/750*100vw)
  }
  .sec-special .sec-flow .-detail-txt.-first {
    margin-top: calc(24/36*1em);
  }
  .sec-special .sec-flow .-detail-txt.-last {
    margin-top: calc(180/36*1em);
  }
  .sec-special .sec-flow .-detail-txt.-last::after {
    height: calc(74/750*100vw);
  }
  .sec-special .sec-flow .slick-dots {
    bottom: calc(-47/750*100vw);
  }
  .sec-special .sec-flow .slick-dots li {
    width: calc(12/750*100vw);
    height: calc(12/750*100vw);
    margin: 0 calc(6/750*100vw);
  }
  .sec-special .-img01 {
    max-width: calc(530/750*100vw);
    margin: calc(30/750*100vw) auto calc(30/750*100vw);
    padding: 0;
  }
  .sec-special .-img01.slider-sp:not(.slick-dotted) {
    max-width: calc(570/750*100vw);
  }
  .sec-special .-img02 {
    max-width: calc(530/750*100vw);
    margin: calc(30/750*100vw) auto calc(130/750*100vw);
    padding: 0;
  }
  .sec-special .-img02:last-of-type {
    margin-bottom: calc(45/750*100vw);
  }
  .sec-special .-img02 .slick-arrow {
    top: calc(170/750*100vw);
  }
  .sec-special .-img02 .slick-prev {
      left: calc(-30/750*100vw);
  }
  .sec-special .-img02 .slick-next {
      right: calc(-30/750*100vw);
  }
  .sec-special .-img03 {
    /*max-width: 720px;*/
    margin: calc(30/750*100vw) 0;
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
  }
  .sec-special .-img03 > div {
    width: calc(440/750*100vw);
  }
  .sec-special .-img03 > div.-bg-star::after {
    content: "";
    width: calc(109/750*100vw);
    height: calc(52/750*100vw);
    bottom: calc(46/750*100vw);
    left: calc(100% + .8em);
  }
  .sec-special .-img03 > div:first-of-type {
    z-index: 1;
  }
  .sec-special .-img03 > div:last-of-type.-bg-star::after {
    bottom: 0;
  }
  .sec-special .-img03 > div.-frame01 {
    width: 100%;
    max-width: none;
    margin-top: calc(20/750*100vw);
    padding: .7em .8em;
  }
  .sec-special .-img03 > div.-right {
    margin-left: auto;
  }
  .sec-special .-img03 > div.-right.-bg-star::after {
    left: auto;
    right: calc(100% + .5em);
  }
  .sec-special .flow_im04 .-right {
    margin-top: calc(-36/750*100vw);
    margin-right: 0;
  }
  .sec-special .flow_im07 .-right:not(.-frame01) {
    margin-right: 0;
  }
  .sec-special .flow_im07 .-right.-bg-star::after {
    bottom: calc(58 / 750 * 100vw);
    right: calc(100% + .8em) !important;
  }
  .sec-special .flow_im07 .-left {
    margin-top: calc(-46/750*100vw);
  }
  .sec-special .flow_im07 .-left.-bg-star::after {
    display: block;
    bottom: 0;
  }
  .sec-special .flow_im08 .-left {
    margin-top: calc(-30/750*100vw);
  }
  .sec-special .flow_im09 .-left.-bg-star::after {
    bottom: calc(58/750*100vw);
  }
  .sec-special .flow_im09 .-right {
    margin-right: 0;
    margin-top: calc(-46/750*100vw);
  }
  .sec-special .flow_im09 .-right.-bg-star::after {
    bottom: 0;
    right: calc(100% + .8em) !important;
  }
  .sec-special .flow_im09 .-right2 {
    margin-top: calc(34/750*100vw);
  }
  .sec-special .flow_im09 .-left2 {
    margin-top: calc(-26/750*100vw);
  }
  .sec-special .flow_im11 .-right {
    margin-top: calc(-30/750*100vw);
  }
  .sec-special .flow_im12 {
    margin-bottom: 0;
  }
  .sec-special .flow_im12 .-left.-bg-star::after {
    bottom: calc(54/750*100vw);
  }
  .sec-special .flow_im12 .-right {
    margin-top: calc(-46/750*100vw);
  }
  .sec-special .flow_im12 .-right.-bg-star::after {
    top: auto;
    bottom: 0;
    right: calc(100% + .8em) !important;
  }
  .sec-special .flow_im12 + .-frame01 {
    margin-top: calc(20/750*100vw);
  }
  .sec-special .flow_im15 .-left.-bg-star::after {
    bottom: calc(56/750*100vw);
  }
  .sec-special .flow_im15 .-right {
    margin-right: 0;
    margin-top: calc(-46/750*100vw);
  }
  .sec-special .flow_im15 .-right.-bg-star::after {
    right: calc(100% + .8em) !important;
  }
  .sec-special .flow_im17 {
    margin-bottom: 0;
  }
  .sec-special .flow_im17 .-left.-bg-star::after {
    bottom: calc(56/750*100vw);
  }
  .sec-special .flow_im17 .-right {
    margin-top: calc(-16/750*100vw);
  }
  .sec-special .flow_im17 .-right.-bg-star::after {
    right: calc(100% + .8em) !important;
  }
  .sec-special .flow_im17 + .-frame01 {
    margin-top: calc(20/750*100vw);
  }
  .sec-special .flow_im18 .-right {
    margin-top: calc(-30/750*100vw);
  }
  .sec-special .flow_im19 .-frame01.-bg-star {
    min-height: calc(360 / 26 * 1em);
    align-items: flex-start;
  }
  .sec-special .-img03 + .-text {
    margin-top: calc(95/750*100vw);
  }
  .sec-special .flow_im02 {
    margin: -.2em 0 0;
  }
  .sec-special .flow_im02 .-layout1 {
    width: 100%;
    margin: 0;
  }
  .sec-special .flow_im02 .-layout2 {
    width: calc(376/590*100%);
    margin-top: -1.3em;
    margin-left: auto;
  }
  .sec-special .flow_im02 .-layout3 {
    width: 100%;
    position: relative;
    margin-top: calc(-15/461*100%);
  }
  .sec-special .flow_im02 .-layout3 a {
    padding-bottom: .5em;
  }
  .sec-special .flow_im11_03 {
    width: calc(205/750*100vw);
    margin-top: calc(-130/750*100vw);
  }
  .sec-special .-text1 {
    font-size: calc(26/750*100vw);
    margin-right: -.1em;
  }

  .sec-special .-ti01 {
    min-height: calc(94/32*1em);
    font-size: calc(32/750*100vw);
    margin: 0 0 .6em;
  }
  .sec-special .-ti02 {
    font-size: calc(36/750*100vw);
    line-height: 1.4;
  }
  .sec-special .-ti03 {
    border-image: url(../images/bg02.png) 30 / 20px / 0 round;
    font-size: calc(30/750*100vw);
    margin: calc(100/30*1em) 0 1em;
    padding: calc(7.5/30*1em);
  }
  .sec-special .-ti03:first-of-type {
    margin-top: 0;
  }
  .sec-special .-ti03 .-bg{
    min-height: calc(44/30*1em);
    padding: .55em .3em .55em .2em;
  }
  .sec-special .-ti03 .-bg::before,
  .sec-special .-ti03 .-bg::after {
    margin: auto .3em .1em;
  }
  .sec-special .-ti03 .-sub {
    display: inline-block;
    font-size: calc(24/30*1em);
    margin: .3em -5em;
  }
  .sec-special .-ti03 .-sub + br + .-icon {
    margin-bottom: .2em;
  }
  .sec-special .-ti04 {
    background-size: auto 100%;
    font-size: calc(30/750*100vw);
    display: block;
    margin: 0 0 .7em calc(-40/750*100vw);
    padding: .5em 0 .5em 1.4em;
    line-height: 1.2;
  }
  .sec-special .-ti04::after {
    width: calc(94/30*1em);
    height: calc(44/30*1em);
  }
  .sec-special .-ti05 {
    font-size: calc(36/750*100vw);
    margin: calc(90/36*1em) auto calc(30/36*1em);
    line-height: 1.4;
  }
  .sec-special .-ti05 .-sub {
    font-size: calc(28/750*100vw);
    display: block;
  }
  .sec-special .-ti05::after {
    width: calc(574/36*1em);
    height: calc(4/36*1em);
    margin: .35em auto 0;
  }
  .sec-special .-frame01 {
    min-height: calc(270/26*1em);
    border-image: url(../images/bg01.png) 40 fill / 30px / 0 round;
    margin: 2em 0 0;
    padding: .7em .8em;
    display: flex;
    align-items: center;
    position: relative;
    line-height: 1.77;
  }
  .sec-special .-frame01.-bg-star {
    min-height: calc(313/26*1em);
  }
  .sec-special .-frame01.-bg-star::after {
    width: calc(88/750*100vw);
    height: calc(42/750*100vw);
    bottom: calc(10/750*100vw);
    right: calc(10/750*100vw);
  }
  .sec-special .-frame02 {
    border-radius: calc(20/750*100vw);
    padding: calc(40/750*100vw) calc(30/750*100vw) calc(40/750*100vw);
    margin: calc(100/750*100vw) 0 0 calc(10/750*100vw);
  }
  .sec-special .-frame02 .-img01.slider-text .-frame01 {
    padding: .5em .8em;
  }
  .sec-special .-frame02 .-img02 {
    max-width: none;
  }
  .sec-special .-frame02 .-img02.slider-sp {
    max-width: calc(480/750*100vw);
    margin-bottom: calc(20/750*100vw);
  }
  .sec-special .-frame02 .-img02.slider-sp:not(.slick-dotted) {
    max-width: calc(500/750*100vw);
  }
  .sec-special .-frame02 .-img02 + .-img02 {
    margin-top: calc(50/750*100vw);
  }
  .sec-special .-frame02 .-img02 + .-frame01 {
    margin-top: calc(50/750*100vw);
  }
  .sec-special .-frame02 .-img02 .slick-arrow {
    top: calc(158/750*100vw);
  }
  .sec-special .-frame02 .-img02.slider-text {
    margin-bottom: 0;
  }
  .sec-special .-frame02 .-img02.slider-text .slick-dots {
    top: calc(332/750*100vw);
  }
  .sec-special .-frame02 .-img02.slider-text .-frame01 {
    margin: calc(52/750*100vw) 0 0;
    padding: .7em .8em;
  }
  .sec-special .-frame02 .-img03 {
    margin: calc(20 / 750 * 100vw) 0 0;
  }
  .sec-special .-frame02 .-img03 > div {
    width: calc(380/750*100vw);
  }
  .sec-special .-frame02 .-img02 + .-img03 {
    margin-top: calc(62/750*100vw);
  }
  .sec-special .-frame02 .-img03 + .-frame01 {
    margin-top: calc(60/750*100vw);
    padding: .7em .8em;
  }
  .sec-special .-frame03 {
    max-width: none;
    font-size: calc(26/750*100vw);
    line-height: calc(46/26*1em);
    border-image: url(../images/bg03.png) 40 fill / 30px / 0 round;
    margin: calc(75/750*100vw) calc(15/750*100vw) 0;
    padding: calc(90/750*100vw) calc(24/750*100vw);
  }
  .sec-special .-frame03::before,
  .sec-special .-frame03::after {
    width: calc(116/750*100vw);
    height: calc(53/750*100vw);
  }
  .sec-special .-frame03::before {
    top: calc(16/750*100vw);
    left: calc(17/750*100vw);
  }
  .sec-special .-frame03::after {
    bottom: calc(16/750*100vw);
    right: calc(17/750*100vw);
  }
  .sec-special .-link {
    margin: calc(100/750*100vw) auto 0;
    text-align: center;
  }
}

/*--- modal ---*/
body.lock {
    overflow:hidden;
}
body.body_pc.lock .wrap,
body.body_pc.lock.onScroll #funderfulHeader {
    overflow-y:scroll;
}
body.body_pc.lock .wrap::-webkit-scrollbar,
body.body_pc.lock.onScroll #funderfulHeader::-webkit-scrollbar {
    width: auto; }
body.lock #header.vendor {
  z-index: 100;
}
.modal-overlay {
  display:none;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-color:rgba(0,0,0,0.6);
  z-index:1000;
}
.modal-wrap {
  z-index:2000;
  display:none;
  position:fixed;
  top:50%;
  left:0;
  width:100%;
  max-height:100vh;
  overflow:auto;
	text-align: center;
	padding: 30px 15px 125px;
	box-sizing: border-box;
  transform: translateY(-50%);
}
.modal-wrap .modal-content {
	display: block;
}
.modal-content {
	position: relative;
	display: none;
	background: #fff;
	max-width: 1200px;
	margin: auto;
	text-align: left;
}
.modal-close {
	border-radius: 50%;
	background: #fff url("../images/icon_close.svg") 50% 50% no-repeat;
	background-size: calc(37/80*1em) auto;
  font-size: 80px;
	width: 1em;
	height: 1em;
  cursor:pointer;
	left: 50%;
	display:block;
	position: absolute;
  transform: translateX(-50%) translateY(37.5%);
}
.modal-open {
  position: relative;
  display: block;
}
.modal-open::after {
	content: "";
	border-radius: 50%;
	background: rgba(255,255,255,0.70) url("../images/icon_modal.svg") 50% 50% no-repeat;
	background-size: calc(39/65*1em) auto;
  font-size: 65px;
	width: 1em;
	height: 1em;
  cursor:pointer;
	left: 0;
  bottom: 0;
	display:block;
	position: absolute;
}
@media screen and (max-width: 767px) {
  .modal-wrap {
    padding: calc(30/750*100vw) calc(30/750*100vw) calc(150/750*100vw);
  }
  .modal-close {
    font-size: calc(80/750*100vw);
  }
  .modal-open::after {
    font-size: calc(65/750*100vw);
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .sec-special .flow_im02 .-layout1 .pc {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1040px) {
  .sec-special .-img03 > div.-frame01 {
    max-width: none;
    margin-top: 20px;
  }
  .sec-special .-lead1 .spn {
    display: block !important;
  }
  .sec-special .-img03 .pc {
    display: none;
  }
  .sec-special .-img03 .spn {
    display: block !important;
  }
  .sec-special .flow_im04 .-right {
    margin-top: -30px;
  }
  .sec-special .flow_im09 .-right.-bg-star {
    margin-top: -30px;
  }
  .sec-special .flow_im11 .-right {
    margin-top: -16px;
  }
  .sec-special .-frame02 .-img03 + .-frame01 {
    margin-top: 50px;
  }
  .sec-special .flow_im12 .-right {
    margin-top: -30px;
  }
  .sec-special .flow_im15 .-right {
    margin-top: -30px;
  }
  .sec-special .flow_im17 .-right {
    margin-top: -15px;
  }
  .sec-special .flow_im18 .-right {
    margin-top: -30px;
  }
}
@media screen and (min-width: 768px) and (max-width: 900px) {
  .sec-special .flow_im08 .-left {
    margin-top: -30px;
  }
}
@media screen and (min-width: 768px) and (max-width: 980px) {
  .sec-special .-ti03 .spn {
    display: block !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 940px) {
  .sec-special .flow_im02 .-layout1 {
    width: auto;
  }
}



/*.sec-special::before {
	content: "";
	width: 100%;
	background: 50% 0 no-repeat;
	opacity: .3;
	pointer-events: none;
	z-index: 50;
	position: absolute;
	    height: 100%;
	left: 0;
	top: 0;
}
@media screen and (min-width: 768px) {
	.sec-special::before {
		background-image: url("../images/_pc.jpg");
    background-position: 50% -30px;
    background-position: 50% 0;
	}
}
@media screen and (max-width: 767px) {
	.sec-special::before {
		background-image: url("../images/_sp.jpg");
		background-size: 100% auto;
    background-position: 50% calc(-353/750*100vw);
    background-position: 50% calc(-365/750*100vw);
    background-position: 50% calc(-195/715*100vw);
    background-position: 50% calc(-393/750*100vw);
	}
}*/