
/*font*/
.akicpn,.tabbottomArea,.calendar_modal,.st2-faq__title-txt,.marquee .track{
  font-family: "M PLUS 2", sans-serif;
}

.ft_dela{
  font-family: "Dela Gothic One", "Mochiy Pop P One", sans-serif;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
  font-style: normal;
}



/*コピペの枠線消す---------------------*/
input[type="button"],input[type="text"],input[type="submit"],input[type="image"],textarea{
    outline: none;
}

/*全体・リセット---------------------*/
header, nav, article, aside, section, footer {
	display:block;
}
.st2-page-title {
    padding: 0.5rem 20px 0;
    margin-bottom: 0.5rem;
}
.st2-page-title__heading__txt {
	font-size: 1.3rem;
	font-weight: normal;
}
.st2-main-container {
	padding-top: 0;
}
.st2-contents-wrapper>div>div {
	padding: 0;
}
h2{
	margin:0;
}
p,ul,li,dl,dt,dd{
	margin: 0;
	padding: 0;
}
ul{
	list-style: none;
}
a:hover  {
	text-decoration: none;
	opacity:0.6;
	transition:0.3s;
}
.red{
	color: #d32f2f;
}
.indent {
	text-align: left;
	padding-left: 1rem;
	text-indent: -1rem;
	display: block;
	font-size: 80%;
}
.shosai .indent {
	font-size: 1.2rem;
}
.box_ind {
	margin:0 2em 2rem;
}
@media (max-width: 1400px) {
	.shosai .indent {
		font-size: 0.85vw;/* 12(px) / 1400(px) * 100vw */
	}

}
@media (max-width: 1024px) {
	.box_ind {
		margin: 0 4rem 2rem;
	}
}

@media (min-width: 737px) {
	.pc_none{
		display:none;
	}
}

@media (max-width: 736px) {
	.st2-page-title {
		padding: 0.5rem 0.5rem 0;
	}
	.st2-page-title__heading__txt {
        margin: 0;
		font-size: 1.0rem;
    }
	.indent {
		margin-bottom: 0.7rem;
	}
	.shosai .indent {
		font-size: 1.0rem;
	}
	.sp_none{
		display:none;
	}
}


/*MVエリア---------------------*/

.hero {
	width: 100%;
	background-color: #ffde00;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.hero .top_contents {
	display: flex;
	justify-content: center;
    align-items: center;
	padding: 0;
	position: relative;
	z-index: 2;
	gap:0 4rem;
    width: 98%;
	margin: 4rem 0;
}
.hero .top_contents >div {
	flex: 1;
}
.hero .top_contents >div:nth-child(1) {
	order: 2;
}
.hero .top_contents >div:nth-child(2) {
	order: 1;
}
.hero .top_contents >div:nth-child(3) {
	order: 3;
}

.hero .top_contents img {
	display: block;
	max-width: 600px;
	height: auto;
	width: 100%;
	margin: 0 auto;
}
.top_box{
	color: #950031;
}
.main_box {
    font-size: 2.5rem;
    font-weight: 800;
    text-align: center;
}
.main_box>span {
    text-align: center;
    border: #950031 9px double;
    border-left: none;
    border-right: none;
    line-height: 1.1;
    display: inline-block;
    color: #950031;
    padding: 1rem 3rem 1.5rem;
	margin-bottom: 2rem;
}
.main_box>span>span{
	font-size: 6rem;
}
.sub_box {
    color: #950031;
    font-size: 2.8rem;
    line-height: 1.4;
    font-weight: 700;
	text-align: center;
}
.sub_box span.bk_box {
    background-color: #950031;
    display: inline-block;
    padding: 0.3rem 1rem;
    color: #fff;
    text-align: center;
}
.top_anc ul{
	width: fit-content;
	margin: 0;
	text-align: left;
}
.top_anc a{
	font-size: 4.0rem;
	color: #950031;
	padding-left: 45px;
	position: relative;
}
.top_anc a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	/* 上・右・下・左の順（右向き三角の場合） */
	border-width: 9px 0 9px 15px; 
	border-color: transparent transparent transparent #950031; /* 色を指定 */
	transition: 0.3s;
	opacity: 1;
}
.top_anc a:hover {
	color: #041684;
	opacity: 1;
}
.top_anc a::before:hover{
	border-color: transparent transparent transparent #041684; /* 色を指定 */
}
.top_anc p{
	font-size: 2.4rem;
	color: #950031;
	margin-top: 5rem;
	font-weight: 600;
}
.marquee {
	overflow: hidden;
	width: 100%;
	background: #950031;
	color: #FFFFFF;
}
.marquee span span {
	color: #ffde00;
}

.track {
	display: flex;
	width: max-content;
	animation: marquee 70s linear infinite;
	font-weight: 700;
}
.track>span {
    flex-shrink: 0;
    padding-right: 40px;
    font-size: 7rem;
}

@keyframes marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@media (max-width: 1500px) {
	.main_box {
		font-size: 1.6vw; /* 25(px) / 1500(px) * 100vw */
	}
	.main_box>span>span{
			font-size: 4vw; /* 60(px) / 1500(px) * 100vw */
	}
	.sub_box {
			font-size: 1.86vw; /* 28(px) / 1500(px) * 100vw */
	}
	.top_anc a{
		font-size: 2.6vw; /* 40(px) / 1500(px) * 100vw */
	}
	.top_anc p{
		font-size: 1.6vw; /* 24(px) / 1500(px) * 100vw */
	}
	.track>span {
		font-size: 4vw; /* 60(px) / 1500(px) * 100vw */
	}
	.top_anc a{
		padding-left: 3vw;
	}
	.top_anc a::before {
		border-width:0.6vw 0 0.6vw 1vw; 
	}
	
}

@media (max-width: 1024px) {
	.hero .top_contents {
		gap:0 3.0vw;
	}
	.main_box>span {
		border-width:7px;
		padding: 0.5rem 2rem 1rem;
		margin-bottom: 1rem;
	}
	.top_anc p {
		margin-top: 2rem;
	}
}

@media (max-width: 736px) {
	.hero {
		display: block;
	}

	.hero .top_contents {
		display:block;
		max-width: 100%;
		height: 100%;
		width: 100%;
		margin: 3rem 0;
		padding-bottom: 1rem;
	}
	.hero .top_contents img {
		width:80%;
		margin: 0 auto 2rem;
	}
	.top_box{
		margin:0 10% 1rem;
	}
	.main_box {
		font-size: 1.8rem;
	}
    .main_box>span {
        margin-bottom: 1rem;
        padding: 0.5rem 0 1rem;
        width: 100%;
    }
	.main_box>span>span{
		font-size:4rem;
	}
	.sub_box {
		font-size: 1.6rem; 
		line-height: 1.6;
	}
	.sub_box span {
		font-size: 2.0rem; 
		padding: 0 2rem;
	}
	.sub_box span.fb {
		background-color: inherit;
		display: inline-block;
		padding:0;
		font-weight: 800;
		color: #950031;
	}
	.top_anc{
		margin: 0 10%;
	}
	.top_anc ul{
		margin: 0 auto;
	}
	.top_anc a {
		position: relative;
		font-size: 2.0rem;
		padding-left: 45px;
	}
	.top_anc a::before {
		content: "";
		position: absolute;
		top: 50%;
		left: -10px;
		transform: translateY(-50%);
		width: 0;
		height: 0;
		border-style: solid;
		/* 上・右・下・左の順（右向き三角の場合） */
		border-width: 6px 0 6px 10px; 
		border-color: transparent transparent transparent #950031; /* 色を指定 */
	}

	.top_anc p {
        font-size: 1.5rem;
        margin:0 auto 3rem;
        text-align: center;
		border: 1px solid #950031;
		padding: 0.5rem;
    }
	.track span {
		padding-right: 20px;
		font-size: 2.5rem;
	}
}


/* スクロールダウンの位置 */
.scroll {
	padding-top: 30px;
    position: relative;
    text-align: center;
    box-sizing: border-box;
    margin: 0 auto;
    display: block;
    font-size: 2.5rem;
    line-height: 1.0;
    color: #950031;
    bottom: 0;
    padding-bottom: 20px;
    background-color: #ffde00;
}
.scroll a {
    color: #950031;
}
/* 矢印のアニメーション部分 */
.scroll::before {
  animation: scroll 2s infinite;
  border-bottom: 3px solid #950031;
  border-left: 3px solid #950031;
  content: "";
  height: 15px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 15px;
}
/* 矢印のアニメーション */
@keyframes scroll {
  0% {
    opacity: 0;
    transform: rotate(-45deg) translate(0, 0);
  }
  40% {
    opacity: 1;
  }
  80% {
    opacity: 0;
    transform: rotate(-45deg) translate(-10px, 10px);
  }
  100% {
    opacity: 0;
  }
}


@media (max-width: 736px) {
	.scroll {
		display: none;
	}
}


/* h2 */
h2{
	font-size: 6.5rem;
	color: #950031;
	text-align: center;
	margin: 0 auto;
	line-height: 1.1;
}
.cont_box.coupon h2{
	color: #fff;
}
h2 img{
	display: block;
	margin: 0 auto 1rem;
}
article h2{
	font-size: 4rem;
	margin: 10rem auto 3rem;
	color: #333333;
	text-align: center;
	line-height: 1.4;
	font-weight: normal;
}
@media (max-width: 1400px) {
	h2{
		font-size: 4.6vw; /* 65(px) / 1400(px) * 100vw */
	}
	article h2{
		font-size: 2.85vw; /* 40(px) / 1400(px) * 100vw */
	}
	h2 img.h2_img_001{
		width:  32.14vw; /* 450(px) / 1400(px) * 100vw */
	}
	h2 img.h2_img_002{
		width:  34.21vw; /* 479(px) / 1400(px) * 100vw */
	}
	h2 img.h2_img_003{
		width:  22.14vw; /* 310(px) / 1400(px) * 100vw */
	}
}

@media (max-width: 736px) {
    h2 {
        font-size: 3.0rem;
    }
	h2 img.h2_img_001{
		width: 70%;
	}
	h2 img.h2_img_002{
		width:  80%;
	}
	h2 img.h2_img_003{
		width:  60%;
	}
	article h2{
		font-size: 1.8rem;
		margin: 8rem auto 3rem;
	}

}

/*スライダー*/
.swiper.swiper-first,
.swiper.swiper-second,
.swiper.swiper-third{
	max-width: 100%;
	padding: 5rem 0 7rem;
}
.swiper.swiper-first{
	margin-bottom: 300px;

}
/*高さ合わせ*/
.swiper-wrapper {
	align-items: stretch;
	padding-bottom: 20px;
}
.swiper-slide {
  height: auto;
  display: flex;
}

.swiper-slide > * {
	width: 83%;
	background-color: #ffde00;
	color: #950031;
	border: 1px solid #950031;
	border-bottom: 5px solid #950031;
	border-radius: 20px;
	box-sizing: border-box;
	margin: 0 auto;
	padding-bottom: 10%;
}
.swiper-second .swiper-slide > * {
	width: 100%;
	background-color: #950031;
	color: #950031;
	border: 1px solid #950031;
	border-radius: 10px;
	box-sizing: border-box;
	margin: 0 auto;
	padding-bottom: 10%;
}
.swiper-third .swiper-slide > * {
	width: 100%;
	background-color: #ffde00;
	color: #041684;
	border: 1px solid #ffde00;
	border-radius: 10px;
	box-sizing: border-box;
	margin: 0 auto;
	padding-bottom: 10%;
}

.swiper-slide-active {
	transform: scale(1.1) !important;
	z-index: 2;
}
.swiper-second .swiper-slide-active,
.swiper-third .swiper-slide-active {
	transform: scale(1.2) !important;
	z-index: 2;
}

/* スライド全体 */
.swiper-slide {
  transition: transform 0.6s;
}
.swiper-button-prev1,
.swiper-button-next1 {
	background-image: none;
}
.swiper-button-prev1::after,
.swiper-button-next1::after {
    font-size: 5rem;
    color: #950031;
}
.swiper-button-prev2:before,
.swiper-button-next2:before{
    content: '';
    width: 40px;
    height: 40px;
    background: #950031;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}
.swiper-button-prev3:before,
.swiper-button-next3:before{
    content: '';
    width: 40px;
    height: 40px;
    background: #ffde00;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

.swiper-button-prev2::after {
	content: "";
    position: absolute;
    top: 50%;
    left: 65%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 15px 10px 0;
    border-color: transparent #fff transparent transparent;
}
.swiper-button-next2::after {
	content: "";
    position: absolute;
    top: 50%;
    left: 83%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 15px;
    border-color: transparent transparent transparent #fff;
}
.swiper-button-prev3::after {
	content: "";
    position: absolute;
    top: 50%;
    left: 65%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 15px 10px 0;
    border-color: transparent #041684 transparent transparent;
}
.swiper-button-next3::after {
	content: "";
    position: absolute;
    top: 50%;
    left: 83%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 15px;
    border-color: transparent transparent transparent #041684;
}

.swiper-button-prev1::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 30px 20px 0;
    border-color: transparent #950031 transparent transparent;
}

.swiper-button-next1::after {
  	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 0 20px 30px; 
	border-color: transparent transparent transparent #950031; /* 色を指定 */
}

.swiper-button-prev {
  left:calc(50% - 16%);
}

.swiper-button-next {
  right: calc(50% - 16%);
}
.swiper-button-prev2,
.swiper-button-prev3{
	left:calc(50% - 14%);
	background-image: none;
}
.swiper-button-next2,
.swiper-button-next3{
  right: calc(50% - 14%);
	background-image: none;
}
.cont_box{
	margin-top: 15rem;
}
.shosai{
	margin:3rem auto 200px;
}
.shosai .swiper-slide h3{
	font-size: 3.5rem;
	background-color: #950031;
	color: #ffde00;
	padding: 3rem 1rem;
	text-align: center;
	margin: 0 auto;
	border-radius: 20px 20px 0 0;
}

.shosai .swiper-slide h3:after{
	content: "";
	border-bottom: 5px dotted #ffde00;
	width: 100px;
	margin: 0 auto;
	display: block;
}
.shosai .swiper-slide h4{
	font-size: 2.2rem;
	padding: 3rem 1rem 0.5rem;
	text-align: center;
	margin: 0 auto;
}
.shosai .swiper-slide h4.yado{
	padding-top:1.5rem;
}

.shosai .swiper-slide table{
    text-align: center;
    margin: 0 auto;
    padding: 0 2rem;
    width: 100%;
}
.shosai .swiper-slide table tr{
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.2;
    vertical-align: bottom;
}
.shosai .swiper-slide table tr th{
	font-size: 1.4rem;
	padding: 0;
}
.shosai .swiper-slide table tr .daikin{
	padding-right: 1rem;
}
.shosai .swiper-slide table tr .fb_coupon{
	font-size: 2.5rem;
	font-weight: 800;
	padding-right: 0.3rem;
}
.shosai .swiper-slide hr{ 
    border: none;
    border-top: dotted 4px;
    margin: 3rem 7% 0;
}
.shosai .swiper-slide .cpn_link {
	text-align: center;
	margin-top: 3rem;
}
.shosai .swiper-slide .cpn_link a{
	position: relative;
	font-size: 1.4rem;
	color: #950031;
	text-decoration: underline;
}
.shosai .swiper-slide .cpn_link .st2-icon-right-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -20px;
    width: 1.2rem;
    height: 1.2rem;
	fill:#950031;
}
.shosai .swiper-slide dl{
	padding: 10% 10% 0 10%;
}
.shosai .swiper-slide dl dt{
	font-size: 2.2rem;
	font-weight: 600;
}
.shosai .swiper-slide dl dd{
	font-size: 1.8rem;
	font-weight: 600;
}
.shosai .swiper-slide dl.products dd{
	text-indent: -1em;
	padding-left: 1em;
}
.shosai .swiper-slide dl.products dd:before{
	content: "・";
}
.shosai .swiper-slide dl dd span{
	display: block;
	font-size: 1.2rem;
}
.shosai_box{
	padding: 0 9%;
    font-weight: 600;
}
@media (max-width: 1600px) {
	.swiper-button-prev1::after{
		border-width:1.25vw 1.875vw 1.25vw 0;
	}
	.swiper-button-next1::after{
		border-width: 1.25vw 0 1.25vw 1.875vw; 
	}
	.swiper-button-prev2:before, .swiper-button-next2:before,
	.swiper-button-prev3:before, .swiper-button-next3:before{
		width: 2.5vw;
		height: 2.5vw;
	}
	.swiper-button-prev2::after,.swiper-button-prev3::after {
		border-width: 0.6vw 0.9vw 0.6vw 0;
		left: 50%;
	}
	.swiper-button-next2::after,.swiper-button-next3::after {
		border-width: 0.6vw 0 0.6vw 0.9vw;
		left: 60%;
	}
	.shosai .swiper-slide table tr{
		font-size: 1.12vw; /* 18(px) / 1600(px) * 100vw */
	}
	.shosai .swiper-slide table tr .fb_coupon{
		font-size: 1.56vw; /* 25(px) / 1600(px) * 100vw */
	}
	.shosai .swiper-slide h4{
		font-size: 1.37vw; /* 22(px) / 1600(px) * 100vw */
	}
}

@media (max-width: 1400px) {
	.shosai .swiper-slide h3{
		font-size: 2.5vw; /* 35(px) / 1400(px) * 100vw */
	}
	.shosai .swiper-slide dl dt{
		font-size: 1.57vw; /* 22(px) / 1400(px) * 100vw */
	}
	.shosai .swiper-slide table tr th,.shosai .swiper-slide .cpn_link a{
		font-size: 1.0vw; /* 14(px) / 1400(px) * 100vw */
	}
	.shosai .swiper-slide dl dd{
		font-size: 1.28vw; /* 18(px) / 1400(px) * 100vw */
	}
	.shosai .swiper-slide table tr.fb_coupon{
		font-size: 1.5vw; /* 25(px) / 1400(px) * 100vw */
	}
	.shosai .swiper-slide dl dd span,.cpn_click button{
		font-size: 1.16vw;/* 12(px) / 1400(px) * 100vw */
	}
}

@media (max-width: 1300px) {
	.shosai .swiper-slide table{
		padding: 0 1rem;
	}
}
@media (max-width: 1024px) {
	.swiper-button-prev2,
	.swiper-button-prev3{
	  left:calc(50% - 15%);
	}
	.swiper-button-next2,
	.swiper-button-next3{
	  right: calc(50% - 15%);
	}
	.swiper-button-prev1 {
		left:calc(50% - 16.5%);
	}

	.swiper-button-next1 {
		right: calc(50% - 16.5%);
	}

}
@media (max-width: 736px) {
	.swiper-slide > * {
		width: 73%;
		padding-bottom: 1rem;
		border-radius: 10px;
	}
	.swiper.swiper-second,
	.swiper.swiper-third {
		padding: 5rem 0;
	}

	.shosai{
		margin:0 auto;
	}
    .shosai .swiper-slide h3 {
        font-size: 2.0rem;
        padding: 1rem 0 2rem;
		border-radius: 10px 10px 0 0;
    }
	.shosai .swiper-slide dl {
		padding: 5% 5% 0 5%;
	}
	.shosai .swiper-slide dl dt,
	.shosai .swiper-slide h4{
		font-size: 1.4rem;
	}
	.shosai .swiper-slide dl dd {
		font-size: 1.2rem;
	}
	.shosai .swiper-slide dl dd span {
		font-size: 1.0rem;
	}
	.swiper-button-prev1::after{
		border-width:15px 20px 15px 0;
	}
	.swiper-button-next1::after{
		border-width: 15px 0 15px 20px; 
	}
	.swiper-button-prev2:before, .swiper-button-next2:before,
	.swiper-button-prev3:before, .swiper-button-next3:before{
		width:40px;
		height: 40px;
	}
    .swiper-button-prev2::after,.swiper-button-prev3::after {
        border-width: 10px 14px 10px 0;
        left: 70%;
    }
	.swiper-button-next2::after,.swiper-button-next3::after {
		border-width:  10px 0 10px 14px;
		left: 80%;
	}
	.swiper-button-prev {
		left:calc(50% - 48%);
	}
	.swiper-button-next {
		right: calc(50% - 48%);
	}
	.swiper-button-prev2,.swiper-button-prev3 {
		left:calc(50% - 48%);
	}
	.swiper-button-next2,.swiper-button-next3 {
		right: calc(50% - 45%);
	}
	.cont_box{
		margin-top: 6rem;
	}
	.shosai .swiper-slide table tr th{
		font-size: 1.1rem;
	}
	.shosai .swiper-slide .cpn_link a,.shosai .swiper-slide table tr{
		font-size: 1.2rem;
	}
	.shosai .swiper-slide table tr .fb_coupon{
		font-size: 1.5rem;
	}
	.shosai .swiper-slide h4{
		padding: 1.5rem 1rem 0.5rem;
	}
	.shosai .swiper-slide .cpn_link {
		margin: 2rem auto 1rem;
	}
	.shosai .swiper-slide .cpn_link .st2-icon-right-arrow {
		right: -30px;
		width: 1.1rem;
		height: 1.1rem;
	}
}

.bk_circle{
	background-color: #950031;
	position: relative;
	z-index: 0;
	overflow-x: clip;
	margin-top:0;
	padding-bottom: 300px;
}
#cpn_plan .bk_circle{
	padding-bottom: 10rem;
}

.circle-bg {
    position: absolute;
    top: -205px;
    left: -130px;
    right: -130px;
    bottom: 0;
    background: #950031;
    border-radius: 1000px 1000px 0 0 / 400px 400px 0 0;
    z-index: -1;
}
#cpn_plan .circle-bg {
    background: #ffde00;
}
#cpn_plan .plan_contents {
    background-color: #ffde00;
}

.cont_box coupon {
  padding: 8rem 0 45rem;
}
.h_catch_box{
	display: flex;
	justify-content: center; /* ボックスを中央寄せ */
	margin-top: 3rem;
}
.h_catch_box p {
	text-align: left;
	font-size: 1.8rem;
	font-weight: 600;
	color: #fff;
	padding: 0 20px;
}
.coupon_anc{
	display: flex;
	justify-content: center;
	gap:4rem;
	margin: 4rem auto 13rem;
}
.coupon_anc li a{
	width: 270px;
	font-size: 4.5rem;
	padding:0.5rem 0 0.5rem;
	box-sizing: border-box;
	display: block;
	position: relative;
	text-align: center;
}
.coupon_anc li a:first-child{
	color: #ffde00;
}
.coupon_anc li:nth-child(2) a{
	color: #7185ff;
}

.coupon_anc svg {
	width: 4rem;
    height: auto;
    padding: 0.5rem 1.0rem;
    border-radius: 50%;
    position: absolute;
    bottom: -60px;
    transform: translateX(-50%);
    left: 50%;
}
.coupon_anc svg:first-child{
	fill:#ffde00;
}
.coupon_anc li:nth-child(2) svg{
	fill: #7185ff;
}
.dpjr_coupon_box{
	background-color: #ffde00;
	border-radius:40px 40px 0 0;
	padding: 10rem 0 20rem;
}
.dpjr_coupon_box .catch,
.yado_coupon_box .catch{
	text-align: center;
	margin: 16rem 0 2rem;
}
.dpjr_coupon_box .st2-tab--changer,
.yado_coupon_box .st2-search--yado{
	margin-top: 4rem;
	padding: 0 20px;
}
.dpjr_coupon_box .st2-tab--changer{
	padding: 0 20px;
}

.dpjr_coupon_box .catch span,
.yado_coupon_box .catch span{
    position: relative;
    padding: 0.5rem 2rem;
    color: #950031;
    font-size: 2.2rem;
    font-weight: bold;
    text-align: center;
	display: inline-block;
}
.yado_coupon_box .catch span{
    color: #ffde00;
}

.dpjr_coupon_box .coupon_shisetsu,
.yado_coupon_box .coupon_shisetsu{
	max-width: 1100px;
    margin: 0 auto;
	padding: 0 20px;
    font-size: 1.4rem;
    margin-top: -2rem;
}
.yado_coupon_box .coupon_shisetsu a{
	color: #fff;
}
.yado_coupon_box .coupon_shisetsu a .st2-icon-pdf{
	fill: #fff;
}
.dpjr_coupon_box .coupon p,
.yado_coupon_box .coupon p{
	text-align: center;
    font-size: 2.0rem;
	color: #960030;
	margin: 1rem 0 0.5rem;
}
.dpjr_coupon_box .coupon p a,
.yado_coupon_box .coupon p a{
	position: relative;
	color: #960030;
	text-decoration: underline;
	text-underline-offset: 5px;
	font-weight: 700;
}
.yado_coupon_box .coupon p a{
	color: #ffde00;
}

.dpjr_coupon_box .coupon p .st2-icon-right-arrow,
.yado_coupon_box .coupon p .st2-icon-right-arrow {
    width: 1.5rem;
    height: 1.5rem;
    fill: #960030;
    position: absolute;
    top: 58%;
    transform: translateY(-50%);
    right: -25px;
}
.yado_coupon_box .coupon p .st2-icon-right-arrow{
	fill:#ffde00;
}

.yado_coupon_box .coupon p{
	color: #ffde00;
}

.dpjr_coupon_box .coupon p.use_btn a,
.yado_coupon_box .coupon p.use_btn a{
    width: 300px;
    margin: 0 auto;
    background-color: #950031;
    color: #ffde00;
    display: block;
    font-size: 1.8rem;
    text-align: center;
    padding: 0.5rem;
    border-radius: 70px;
	box-sizing: border-box;
}
.yado_coupon_box .coupon p.use_btn a{
    background-color: #ffde00;
    color: #002069;
}


.dpjr_coupon_box .catch span::before,
.dpjr_coupon_box .catch span::after,
.yado_coupon_box .catch span::before,
.yado_coupon_box .catch span::after{
    position: absolute;
    top: -3px;
    width: 10px;
    height: 100%;
    content: '';
    border-top: solid 3px;
    border-bottom: solid 3px;
}
.dpjr_coupon_box .catch span::before,
.yado_coupon_box .catch span::before{
    border-left: solid 3px;
    left: 0;
}

.dpjr_coupon_box .catch span::after,
.yado_coupon_box .catch span::after{
    border-right: solid 3px;
    right: 0;
}
.dpjr_coupon_box .cpn_click .cpn_btm>p,
.yado_coupon_box .cpn_click .cpn_btm>p{
	text-align: center;
	font-size: 1.5rem;
}
.dpjr_coupon_box .cpn_click .cpn_btm>p b,
.yado_coupon_box .cpn_click .cpn_btm>p b{
    font-size: 120%;
}
.dpjr_coupon_box .cpn_top,
.yado_coupon_box .cpn_top{
	font-size: 3.0rem;
	text-align: center;
	line-height: 1.2;
	padding: 0 0 2rem;
	margin-bottom: 2rem;
}
.dpjr_coupon_box .cpn_top .fo_b,
.yado_coupon_box .cpn_top .fo_b{
	font-size: 5.5rem;
}
.dpjr_coupon_box .cpn_btm,
.yado_coupon_box .cpn_btm{
	background-color: #fff;
	border-radius: 9px 9px 0 0;
	padding: 3rem 4% 0;
}
.dpjr_coupon_box .cpn_code_txt,
.yado_coupon_box .cpn_code_txt{
	color: #ffde00;
	text-align: center;
	font-size: 1.6rem;
}
.yado_coupon_box .cpn_code_txt{
	color: #960030;
}

.dpjr_coupon_box .cpn_code input,
.yado_coupon_box .cpn_code input{
    color: #ffde00;
    font-size: 3.5rem;
    line-height: 5rem;
    border: none;
    background: none;
    text-align: center;
    width: 100%;
    padding: 0;
    font-family: "M PLUS 1", sans-serif;
    font-optical-sizing: auto;
    font-weight: 800;
}
.yado_coupon_box .cpn_code input {
    color: #960030;
}

.cpn_click button {
    background: #fff;
    border-radius: 50px;
    box-shadow: 3px 2px 2px 0px rgba(0, 0, 0, 0.15);
    font-feature-settings: "palt";
    color: #960030;
    border: none;
    text-align: center;
    font-size: 1.2rem;
    margin: 1rem auto 0;
    display: block;
    padding: 0.3rem 1.5rem;
}
.shosai .swiper-pagination-bullet.swiper-pagination-bullet-active,
.dpjr_coupon_box .swiper-pagination-bullet.swiper-pagination-bullet-active,
.yado_coupon_box .swiper-pagination-bullet.swiper-pagination-bullet-active{
	background-color: #960030;
    width: 1.5rem;
    height: 1.5rem;
}
.yado_coupon_box .swiper-pagination-bullet.swiper-pagination-bullet-active{
	background-color:#ffde00;
}
.shosai .swiper-pagination-bullet,
.dpjr_coupon_box .swiper-pagination-bullet,
.yado_coupon_box .swiper-pagination-bullet{
	background-color: #ffde00;
	border: 1px solid #960030;
	box-sizing: border-box;
	opacity: 1;
    width: 1.5rem;
    height: 1.5rem;
}
.shosai .swiper-pagination-bullet{
	background-color: #fff;
}
.yado_coupon_box .swiper-pagination-bullet{
	background-color: #002069;
	border: 1px solid #ffde00;
}
.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal{
	bottom: 0;
}

.yado_coupon_box{
	background-color: #002069;
	border-radius:40px 40px 0 0;
	padding:10rem 0;
	margin-top: -5rem;
	box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
}

.dpjr_coupon_box h3,
.yado_coupon_box h3{
	font-size: 3.8rem;
	text-align: center;
	line-height: 1.3;
	margin: 2rem auto -10rem;
}
.dpjr_coupon_box h3 span,
.yado_coupon_box h3 span{
	display: block;
}

.dpjr_coupon_box h3 .fb,
.yado_coupon_box h3 .fb{
	font-size: 7.2rem;
}
.dpjr_coupon_box h3{
	color: #950031;
}
.yado_coupon_box h3{
	color: #ffde00;
}
.check_box{
	margin: 5rem 0 11rem 0;
}
.check_box ul{
	display: flex;
	justify-content: center;
	gap:2rem;
	margin: 0 6%;
	border-left: 5px dotted #950031;
}

.check_box li{
	flex: 1;
	padding: 2rem 2rem 0 0;
    border-right: 5px dotted #950031;
}
.yado_coupon_box .check_box ul,.yado_coupon_box .check_box li{
	border-color:#ffde00;
}

.check_box li:first-child{
	padding: 2rem 2rem 0 2rem;
}

.check_box li h4{
	font-size: 2.0rem;
	font-weight: 800;
	margin: 0 0 1rem 0;
	position: relative;
	padding-left: 2.5rem;
}
.check_box li h4 span{
	position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}

.dpjr_coupon_box .check_box li,
.dpjr_coupon_box .check_box li a{
	color: #950031;
}
.yado_coupon_box .check_box li,
.yado_coupon_box .check_box li a{
	color: #ffde00;
}
.check_box li a{
	display: inline-block;
	font-size: 80%;
	text-decoration: underline;
	position: relative;
	margin-top: 0.5rem;
}
.check_box li a .st2-icon-right-arrow{
	width: 1.2rem;
    height: 1.2rem;
    fill: #960030;
    position: absolute;
    top: 53%;
    transform: translateY(-50%);
    padding-left: 0.5rem;
}
.yado_coupon_box .check_box li a .st2-icon-right-arrow,.yado_coupon_box .check_box a .st2-icon-pdf{
    fill: #ffde00;
}
.dpjr_coupon_box .check_box a .st2-icon-pdf {
    fill: #960030;
}
.check_box li p{
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.4;
	padding: 0 1em;
}
.check_box .indent{
	max-width: 1100px;
    margin: 3rem auto 0;
    font-size: 1.4rem;
	line-height: 1.4;
}
.dpjr_coupon_box .check_box .indent{
	color: #960030;
}
.yado_coupon_box .check_box .indent{
	color: #ffde00;
}

.swiper-second .swiper-slide,
.swiper-third .swiper-slide{
	width: 18.5%;
	margin: 0 3%;
	transition: .3s;
}
/*使い方と注意事項*/
.use_box,.cau_box{
	margin: 10rem auto;
	padding: 0 20px;
    box-sizing: border-box;
}
.cau_box h3,
.use_box h3{
	color: #fff;
	font-size: 2.5rem;
	margin: 0 auto 2rem;
	text-align: center;
}
.cau_box .st2-accordion--more__body[aria-hidden=true]::after,
.use_box .st2-accordion--more__body[aria-hidden=true]::after{
    background: linear-gradient(0deg, #950031, rgba(255, 255, 255, 0) 100%);
}
.cau_box .st2-accordion--more__body p,
.use_box .st2-accordion--more__body li{
	color: #fff;
	font-size: 1.6rem;
	margin-bottom: 1.5rem;
}


.st2-accordion--more__title-txt{
	color: #fff;
}
.st2-accordion--more__title-icon{
	fill:#fff;
}

.use_box ul>li{
	text-indent: -1em;
	padding-left: 1em;
}
.use_box ul>li:before{
  content: "●";
  color: #fff;
  font-size: 8px;
  margin-right: 1em;
}
.use_box ol>li{
	text-indent: 0;
	padding-left: 0;
}

.use_box .link_area{
	text-indent: 0;
}
.use_box a,.cau_box a{
	color: #fff;
	fill:#fff;
}
.use_box a .st2-icon-pdf{
	fill:#fff;
	width: 1.1rem;
}
.use_box a:before,
.cau_box a:before{
	content: "▶";
	color: #fff;
	font-size: 8px;
	margin-right: 1em;
	text-decoration:none;
}
@media (max-width: 1600px) {
	.dpjr_coupon_box .cpn_top .fo_b, .yado_coupon_box .cpn_top .fo_b {
		font-size: 3.1vw; /* 55(px) / 1400(px) * 100vw */
	}
	.dpjr_coupon_box .cpn_code input, .yado_coupon_box .cpn_code input {
		font-size: 2.2vw; /* 35(px) / 1400(px) * 100vw */
	}
	.cpn_click button {
		font-size: 0.7vw; /* 12(px) / 1400(px) * 100vw */
	}

}


@media (max-width: 1400px) {
	.h_catch_box p,.check_box li p {
		font-size: 1.28vw; /* 18(px) / 1400(px) * 100vw */
	}
	.coupon_anc li a{
		font-size: 3.21vw; /* 45(px) / 1400(px) * 100vw */
	}
	.dpjr_coupon_box h3,
	.yado_coupon_box h3{
		font-size: 2.5vw; /* 35(px) / 1400(px) * 100vw */
	}
	.dpjr_coupon_box h3 .fb,
	.yado_coupon_box h3 .fb{
		font-size: 5.35vw;/* 75(px) / 1400(px) * 100vw */
	}
	.dpjr_coupon_box .catch span, .yado_coupon_box .catch span {
		font-size: 1.57vw; /* 22(px) / 1400(px) * 100vw */
	}
	.dpjr_coupon_box .cpn_click .cpn_btm>p, .yado_coupon_box .cpn_click .cpn_btm>p,.check_box .indent {
		font-size: 1.07vw; /* 15(px) / 1400(px) * 100vw */
	}
	.dpjr_coupon_box .cpn_top, .yado_coupon_box .cpn_top {
		font-size: 1.9vw; /* 30(px) / 1400(px) * 100vw */
	}
	.dpjr_coupon_box .cpn_code_txt, .yado_coupon_box .cpn_code_txt,
	.cau_box .st2-accordion--more__body p, .use_box .st2-accordion--more__body li{
		font-size: 1.14vw; /* 16(px) / 1400(px) * 100vw */
	}
	.dpjr_coupon_box .coupon p, .yado_coupon_box .coupon p,.check_box li h4 {
		font-size: 1.42vw; /* 20(px) / 1400(px) * 100vw */
	}
	.dpjr_coupon_box .coupon ul a,.yado_coupon_box .coupon p.use_btn a {
		font-size: 1.28vw; /* 18(px) / 1400(px) * 100vw */
	}
	.cau_box h3, .use_box h3 {
		font-size: 1.78vw; /* 25(px) / 1400(px) * 100vw */
	}
}

@media (max-width: 1024px) {
	.circle-bg {
		top: -95px;
	}
	.swiper.swiper-first {
		margin-bottom: 0;
	}
	.bk_circle {
		padding-bottom: 70px;
	}
	#cpn_plan .bk_circle {
		padding-bottom: 3rem;
	}
	.yado_coupon_box {
		padding: 5rem 0;
	}
	.dpjr_coupon_box {
		padding: 5rem 0 20rem;
	}
	.swiper-second .swiper-slide > * {
		border-radius: 7px;
	}
    .dpjr_coupon_box .cpn_code input, .yado_coupon_box .cpn_code input {
        font-size: 2.0vw;
		line-height: 1.0;
    }
	.dpjr_coupon_box .cpn_btm, .yado_coupon_box .cpn_btm {
		border-radius: 7px 7px 0 0;
		padding: 1rem 4% 0;
	}
	.cpn_click button {
		padding: 0.3rem 1rem;
	}
	.dpjr_coupon_box .cpn_top, .yado_coupon_box .cpn_top {
		padding: 0 0 1rem;
		margin-bottom: 1rem;
	}
	.dpjr_coupon_box .catch, .yado_coupon_box .catch {
		margin: 6rem 0 0rem;
	}
	.dpjr_coupon_box h3, .yado_coupon_box h3 {
		margin: 2rem auto -2rem;
	}
	.st2-tab--changer[data-style="1"] .st2-tab--changer__item-txt, .st2-tab--changer[data-style="1"] .st2-tab--api__item-txt, .st2-tab--api[data-style="1"] .st2-tab--changer__item-txt, .st2-tab--api[data-style="1"] .st2-tab--api__item-txt {
        font-size: 1.2rem;
    }
	.dpjr_coupon_box .coupon p, .yado_coupon_box .coupon p, .check_box li h4 {
        font-size: 1.2rem;
    }
}

@media (max-width: 736px) {
	.swiper-second .swiper-slide,
	.swiper-third .swiper-slide{
		width: 60%;
		margin: 0 6%;
	}
	.swiper.swiper-first {
		margin-bottom: 12rem;
	}

	.coupon_anc {
		gap: 1rem;
		margin: 1rem 4% 8rem;
	}
	.coupon_anc li {
		flex: 1;
	}
	.h_catch_box p {
		font-size: 1.2rem;
		padding: 0 4%;
	}
	.coupon_anc li a {
		font-size: 2.5rem;
		width: 90%;
		margin: 0 auto;
	}
	.dpjr_coupon_box .cpn_btm,
	.yado_coupon_box .cpn_btm{
		padding: 1.5rem 3% 0;
	}
	.bk_circle{
		padding-bottom: 11rem;
	}

	.circle-bg {
		top: -90px;
	}
	#cpn_plan .bk_circle{
		padding-bottom: 1px;
	}
	.coupon_anc svg {
		width: 2.4rem;
	}
	.dpjr_coupon_box,.yado_coupon_box {
		border-radius: 20px 20px 0 0;
		padding: 5rem 0 10rem;
	}
	.dpjr_coupon_box h3, .yado_coupon_box h3 {
        font-size: 1.8rem;
        margin: 0 5% -4rem;
		line-height: 1.2;
    }
	.dpjr_coupon_box h3 .fb, .yado_coupon_box h3 .fb {
		font-size: 3.2rem;
		line-height: 1.1;
	}
	.dpjr_coupon_box .catch span, .yado_coupon_box .catch span {
		font-size: 1.5rem;
        margin: 0 2%;
        line-height: 1.4;
	}
	.dpjr_coupon_box .catch,
	.yado_coupon_box .catch{
		margin: 8rem 0 0;
	}
	.dpjr_coupon_box .cpn_top, .yado_coupon_box .cpn_top {
        font-size: 2.2rem;
		padding: 0 0 1.5rem;
		margin-bottom: 1.5rem;
		line-height: 1.1;
    }
	.dpjr_coupon_box .cpn_top .fo_b, .yado_coupon_box .cpn_top .fo_b {
        font-size: 3rem;
    }
	.dpjr_coupon_box .cpn_click .cpn_btm>p, .yado_coupon_box .cpn_click .cpn_btm>p,.dpjr_coupon_box .cpn_code_txt, .yado_coupon_box .cpn_code_txt, .cau_box .st2-accordion--more__body p, .use_box .st2-accordion--more__body li {
        font-size: 1.2rem;
		line-height: 1.4;
    }
	.use_box .st2-accordion--more__body li {
        font-size: 1.2rem;
		line-height: 1.6;
    }
	.use_box ol>li {
		margin-bottom: 0.5rem;
	}
	.dpjr_coupon_box .cpn_code input, .yado_coupon_box .cpn_code input {
		font-size: 2.1rem;
		line-height: 1.0
	}
	.shosai .swiper-pagination-bullet,.shosai .swiper-pagination-bullet.swiper-pagination-bullet-active,.dpjr_coupon_box .swiper-pagination-bullet.swiper-pagination-bullet-active, .yado_coupon_box .swiper-pagination-bullet.swiper-pagination-bullet-active,.dpjr_coupon_box .swiper-pagination-bullet, .yado_coupon_box .swiper-pagination-bullet {
		width: 1.2rem;
		height: 1.2rem;
	}
	.cpn_click button {
		font-size: 80%;
		margin: 0.5rem auto 0;
		padding: 0.3rem 0.5rem;
		color: #960030 !important;
	}
	.yado_coupon_box .cpn_click button {
		color: #041684 !important;
	}
	.dpjr_coupon_box .coupon_shisetsu,
	.yado_coupon_box .coupon_shisetsu{
		font-size: 1.2rem;
	}
	.dpjr_coupon_box .coupon p.use_btn a,.yado_coupon_box .coupon p.use_btn a {
		font-size:1.2rem;
		width: 70%;
	}
	.dpjr_coupon_box .coupon p, .yado_coupon_box .coupon p {
        font-size: 1.5rem;
		margin-top: 3rem;
    }
	.dpjr_coupon_box .coupon .use_btn.bt_c,.yado_coupon_box .coupon .use_btn.bt_c{
		margin-top:1rem;
	}
	.cau_box h3, .use_box h3 {
        font-size: 1.8rem;
		line-height: 1.4;
    }
	.use_box,.cau_box{
		padding: 0 6%;
		margin: 8rem auto;
	}
	.cau_box{
		margin-top: 6rem;
	}
	.st2-api__accordion--more__title, .st2-accordion--more__title,.check_box .indent {
		font-size: 1.0rem;
	}
	.dpjr_coupon_box .coupon p .st2-icon-right-arrow, .yado_coupon_box .coupon p .st2-icon-right-arrow {
		width: 1.1rem;
		height: 1.1rem;
	}
	.check_box{
		margin:2rem 0 6rem 0;
	}
	.check_box ul{
		display: block;
		margin: 0 4%;
		border-left:none;
	}
	.check_box li,
	.check_box li:first-child{
		padding: 2rem 0;
		border-bottom: 5px dotted #950031;
		border-right: none;
	}
	.yado_coupon_box .check_box li,
	.yado_coupon_box .check_box li:first-child{
		border-color: #ffde00;
	}
	.check_box li h4 {
        font-size: 1.4rem;
        padding-left: 2.2rem;
	}
	.check_box li p {
        font-size: 1.2rem;
    }
	.check_box li a {
		font-size: 100%;
	}
	.check_box li a .st2-icon-right-arrow {
		width: 1.0rem;
		height: 1.0rem;
	}
	.check_box .indent{
		margin: 2rem 4% 0;
        line-height: 1.6;
	}
}

/*モジュール---------------------*/
.st2-tab--changer[data-style="1"] .st2-tab--changer__body{
	padding-top: 0;
}
.el-webconnect-module,
.st2-search-kokunaidp{
	margin-top: 0;
}
.el-webconnect-module__inner{
	box-shadow: none;
}
.el-webconnect-module .fw-top .fw-search-top__body>dl[class^=fw-search-top__item--]>dt.fw-search-top__item-label{
	text-align: left;
}
.el-webconnect-module .fw-top .fw-static--top {
    text-align: left;
    font-size: 1.2rem;
}
.st2-tab--changer[data-color="1"] .st2-tab--changer__item[aria-selected=true] .st2-tab--changer__container{
    background: #fff;
    opacity: 1;
    cursor: default;
}
.st2-tab--changer[data-color="1"] .st2-tab--changer__container{
	border: 2px solid #fff;
    border-bottom: none;
	background-color: #ffffffc2;
}
.st2-tab--changer[data-style="1"] .st2-tab--changer__item[aria-selected=true] .st2-tab--changer__item-txt,
.st2-tab--changer[data-style="1"] .st2-tab--changer__item-txt{
	color: #950031;
	font-weight: 600;
}
.st2-tab--changer[data-color="1"] .st2-tab--changer__switcher .st2-icon-bottom-arrow{
	fill:#950031;
}
.st2-tab--changer[data-color="1"] .st2-tab--changer__switcher{
	border-bottom: 5px solid #fff;
}
.st2-tab--changer__item {
	width: 50%;
}
.st2-search-kokunaidp__title,
.st2-search-kokunaidp__heading,
.st2-search-kokunaidp__input-radio,
.st2-search-kokunaidp__input-checkbox{
	color: #333;
}
@media (min-width: 737px) {
}

@media (max-width: 736px) {
	.st2-search-kokunaidp {
		margin: 0;
	}
	.el-webconnect-module .fw-top .fw-static--top {
		font-size: 1.0rem;
	}
	.st2-tab--changer[data-style="1"] .st2-tab--changer__item-txt	{
		font-size: 1.2rem;
	}
	.el-webconnect-module {
		margin: 0;
	}
}

/*プラン*/

.plan_box{
    padding: 5rem;
    background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
    background-size: 20px 20px;
    background-repeat: repeat;
    background-color: #fff;
    background-position: center center;
    max-width: 1300px;
    width: 80%;
    margin: 5rem auto 10rem;
}
.plan_box .catch{
	text-align: center;
	color: #950031;
	font-size: 3.0rem;
	margin-bottom: 2rem;
	font-weight: 700;
}
.plan_box .catch .underline {
    background: linear-gradient(transparent 70%, #fff835 70%);
    padding: 0 0.8rem;
	display: inline-block;
}

.st2-divide-api[data-column="3"] .st2-divide-api__item{
    margin: 0;
    width: 33.333%;
}
.st2-divide-api>div{
	background-color: #fff;
    padding: 0 1rem 2rem;
    box-sizing: border-box;
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.25);
}
.st2-divide-api[data-column="3"]>div>div>div>div {
    margin: 1rem 0 0 0;
}
.st2-divide-api[data-border] .st2-divide-api__item {
    border-right: 2px solid #d3d3d3;
    border-top: none;
    border-bottom: none;
    border-left: none;
    margin-top: 2rem;
    background: none;
    padding: 0 1rem;
}
.st2-divide-api[data-border] .st2-divide-api__item:nth-child(3n) {
    border-right: none;
}

.bnr{
	text-align: center;
	margin-top: 6rem;
}
.bnr .com{
    color: #950031;
    font-size: 2.5rem;
    line-height: 1.4;
    font-weight: 800;
    margin-bottom: 1rem;
}
.bnr .com span {
    font-size: 1.4rem;
	color: #CC0000;
    font-weight: 500;
    margin-top: 1rem;
}
.bnr a{
	text-align: center;
	margin: 0 auto;
}
.bnr span{
	display: block;
	font-size: 1.2rem;
}

@media (max-width: 1400px) {
	.plan_box .catch {
		font-size: 2.14vw; /* 30(px) / 1400(px) * 100vw */
	}
	.bnr .com {
		font-size: 1.78vw; /* 25(px) / 1400(px) * 100vw */
	}
	.bnr span,.bnr .com span {
		font-size: 1vw; /* 14(px) / 1400(px) * 100vw */
	}

}
@media (max-width:1024px) {
    .bnr span, .bnr .com span {
        font-size: 1.1rem;
    }
    .bnr span, .bnr .img {
		max-width: 90%;
		margin: 0 auto;
	}
}
@media (max-width: 736px) {
	.plan_box{
		margin: 5rem 6% 10rem;
        width: 88%;
        padding: 0;
		background: none;
	}
    .plan_box .catch {
        font-size: 1.8rem;
        line-height: 1.4;
    }
	.st2-divide-api[data-column="3"]>div>div>div>div, .dpplanInner .st2-divide-layout[data-column="3"]>div>div>div>div {
			padding-left: 0;
	}
	.st2-api__title__sub-upper p,.st2-api__list--label[data-type=accessNode] .st2-api__list--label__item .st2-api__list--label__item-txt>div>span {
		font-size: 1.0rem;
	}
	.st2-divide-api[data-column="3"] .st2-divide-api__item:first-child{
		padding-top: 2rem;
	}
	.st2-api__list--label .st2-icon-train {
		width: 1.5rem;
		height: 1.5rem;
	}
	.st2-api__list--label[data-type=accessNode] .st2-api__list--label__item .st2-api__list--label__item-txt {
		padding: 0 0 0 0.5rem;
	}
	.st2-api__paragraph p {
        font-size: 1.1rem;
        line-height: 1.6;
    }
	.st2-divide-api[data-column="3"] .st2-divide-api__item{
		margin: 0;
		width: 100%;
		padding-bottom: 2rem;
	}
	.st2-divide-api>div{
		padding: 0;
	}
	.st2-divide-api[data-border] .st2-divide-api__item{
		border-right: none;
		border-top: none;
		border-bottom:3px solid #d3d3d3;
		border-left: none;
		margin: 3rem auto;
	}
	.st2-divide-api[data-border] .st2-divide-api__item:nth-child(3n), .dpplanInner .st2-divide-layout[data-border] .st2-divide-layout__item:nth-child(3n) {
        border-right: none;
        border-bottom: none;
		margin-bottom: 0;
    }
	.st2-divide-api .st2-api__link__body {
		padding: 1rem;
		width: auto;
	}
	.st2-api__accordion--more__body>div, .st2-accordion--more__body>div {
		padding-bottom: 0;
	}
	.bnr {
		margin: 3rem auto 2rem;
	}
    .bnr .com {
        font-size: 1.4rem;
    }
	.bnr span, .bnr .img {
		max-width:100%;
	}

	.bnr p {
		margin: 0.5rem 0;
	}
    .bnr span {
        font-size: 80%;
		text-align: left;
    }
	.bnr .com span {
		font-size: 1.0rem;
	}
	.plan_box .catch .underline {
		background: linear-gradient(transparent 70%, #ffffff 70%);
	}

}
/*FAQ---------------------*/
.st2-faq__title-txt,
.st2-faq__title-txt::before{
	font-weight: 700;
	top: 0;
}
.st2-faq__title {
	font-size: 1.8rem;
}

.st2-faq__body{
	font-weight: 500;
	font-size: 1.6rem;
}
.st2-faq__body ul{
    padding-left: 1em;
}

@media (max-width: 736px) {
	#faq{
		width: 90%;
		margin: 0 auto;
	}
    .st2-faq__title {
        padding: 0.5rem 2.5rem 0.5rem 2.0rem;
        font-size: 1.2rem;
    }
    .st2-faq__title-txt::before {
        top: -3px;
        left: -2rem;
        font-size: 1.6rem;
    }
	.st2-faq__container .st2-paragraph p{
        font-size: 1.1rem;
    }
	.st2-faq__body::before {
		left: 0;
		font-size: 1.8rem;
		line-height: 1;
	}
	
	
}


/*関連---------------------*/
.st2-color-layout[data-color="1"]>div>div {
	padding: 6rem 0 7rem;
}
#other .st2-heading-lv2 {
    margin: 10rem auto 2rem;
}
#other hr{
	border-style: dashed;
	border-color: #950031;
	margin: 7rem auto 4rem;
	max-width: 1300px;
}
#other h2 span{
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    text-align: center;
    display: block;
    margin-bottom: 2rem;
    font-size: 4rem;
	color: #333;
	letter-spacing: inherit;
}
#other .st2-catch{
	margin: 0;
}
#other .st2-catch[data-style="1"][data-color="2"] p{
	color: #03287c;
	font-size: 2.8rem;
	font-weight: 700;
	font-style: normal;
}
#other .st2-divide-layout>div>div>div>div{
	align-items: center;
	justify-content: center;
}
#other .this-only-non-affiliation{
	margin-top: 10rem;
}

#other .st2-pic-block__container-wrapper .st2-pic-block__pic-caption--over p{
	font-weight: normal;
}

@media (max-width:1400px) {
	#other h2 span{
        font-size: 2.85vw;
	}
}

@media (max-width:1024px) {
	#other{
		padding: 0 20px;
	}
}

@media (max-width: 736px) {
	#other h2 span{
		font-size: 1.8rem;
		padding-left: 0;
	}
	#other .st2-paragraph p{
		font-size: 1.0rem;
		margin-bottom: 0.5rem;
	}
	.st2-color-layout[data-color="1"]>div>div {
		padding-bottom: 4rem;
	}
	.st2-color-layout {
		margin: 0;
	}
	#other{
		padding: 0 2.989%;
	}
	#other .st2-pic-block__container-wrapper .st2-pic-block__pic-caption--over p {
		font-size: 1.0rem;
		font-weight: normal;
	}
	#other hr{
		margin: 3rem auto 2rem;
	}
	#other .st2-catch[data-style="1"][data-color="2"] p{
		font-size: 1.8rem;
	}
	#other .st2-pic-block {
		margin-bottom: 0.5rem;
	}
	.st2-divide-layout[data-sp-column="2"]>div>div>div>div {
		gap: 0;
		margin-left: -2%;
	}
	#other .st2-divide-layout[data-sp-column="2"] .st2-divide-layout__item{
		margin: 0.3rem 0 0 2%;
	}
	.st2-divide-layout[data-sp-column="2"] .st2-divide-layout__item {
        width: calc((100% - 4%) / 2);
        height: auto;
    }
	#other .st2-heading-lv2 {
		margin: 7rem auto 2rem;
	}
	#other .this-only-non-affiliation{
		margin-top:0;
	}

}

/*追従---------------------*/
.fix {
	display: none;
	position: fixed;
	bottom: 0;
	width: 100%;
	z-index: 1000;
	background: rgb(255 222 0 / 55%);
}
.fix.tabbottomArea ul{
	position: relative;
	display: flex;
    text-align: center;
    margin: 0 auto;
    max-width: 1100px;
}
.fix.tabbottomArea ul li{
	list-style: none;
	flex: 1;
	margin: 0 1rem;
}
.fix.tabbottomArea ul li a{
	background-color: #950031;
    padding:0.5rem 0;
    font-size: 2.2rem;
    color: #ffde00;
    display: block;
    box-sizing: border-box;
    border-radius: 50px;
    margin: 1rem 0;
}

.st2-site-footer__page-to-top.this-active a {
	bottom: 8rem;
}
.fixbtn {
    position: fixed;
    bottom: 16rem;
    right: 5%;
    width: 120px;
    z-index: 100;
}
@media (max-width:1400px) {
	.fixbtn {
		width: 8.57vw; /* 120(px) / 1400(px) * 100vw */
	}
	.fix.tabbottomArea ul li a{
		font-size: 1.57vw; /* 22(px) / 1400(px) * 100vw */
	}
}

@media (max-width:1300px) {

.st2-site-footer__page-to-top.this-active a {
	bottom: 8rem;
}

}

@media screen and (max-width:736px) {
	.fix {
		display: block;
	}

	.fix.tabbottomArea li {
		width:100%;
		margin: 0 auto;
	}

}
@media (max-width: 736px) {
	.fix.tabbottomArea ul{
		width: 98%;
		gap: 0 1%;
	}
	.fix.tabbottomArea ul li{
		margin: 0 auto;

	}

	.fix.tabbottomArea ul li a {
        padding: 0.5rem 0 0.6rem 0;
        font-size: 1.5rem;
        line-height: 1.1;
        border-radius: 10px;
        margin: 1rem 0;
    }
	.fixbtn {
        width: 30%;
        bottom: 14rem;
		right: 3%;
	}

}

/*モーダル---------------------*/
.howto_modal .modal,
.calendar_modal .modal{
	display: none;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 2000;
}
.howto_modal .modal__bg,
.calendar_modal .modal__bg{
	background: rgba(0,0,0,0.8);
	height: 100vh;
	position: absolute;
	width: 100%;
}
.howto_modal .modal__content{
	background: #cdfbff;
	left: 50%;
	padding: 15px;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 45%;
    font-size: 1.3rem;
}
.howto_modal .modal__content div {
	display: inline-block;
	width: 48%;
	vertical-align: top;
	margin: 0.5rem 0.8%;
}
.howto_modal .modal h6{
	background: #115f82;
	padding: 0.5rem 1rem;
	font-size: 1.5rem;
	display: inline-block;
	margin: 0;
	color: #fff;
}
.howto_modal .modal img {
	border: 1px solid #115f82;
}
.howto_modal .modal__content div p{
	margin: 0.5rem;
}
.howto_modal .js-modal-close {
	text-align: center;
	display: block;
	font-size: 1.5rem;
}
.howto_modal .js-modal-close span {
	border: 1px solid #0b499d;
	padding: 0.2rem 1rem;
	font-size: 1.3rem;
}
.howto_modal h5{
	font-size: 1.8rem;	
}
/*カレンダー*/

.calendar_contents{
	display: flex;
	font-family: "M PLUS 1p", sans-serif;
	font-weight:500;
	font-style: normal;
	gap:1rem;
}
.calendar_modal .modal__content{
	background-color: #fff;
	max-width: 1250px;
	margin: 0 auto;
	width: 90%;
	padding:1rem 3rem;
	box-sizing: border-box;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
    font-size: 1.3rem;
	border-radius: 20px;
}
.calendar_modal .sp_close{
	position: absolute;
    top: 0;
    right: 2%;
    color: #333333;
    font-size: 3.5rem;
}
.calendar_box{
	flex:1;
}
.calendar{
	display:grid;
	grid-template-columns: repeat(7, 1fr);
	position: relative;
	gap:6px 2px;
}
.calendar_modal h5{
	text-align: center;
	font-size: 3.5rem;
	color: #960030;
	margin: 0;
}
.calendar_modal h5 img{
	display: block;
    text-align: center;
    margin: 2rem auto -1rem;
    max-width: 300px;
    width: 100%;
}
.calendar_modal .cal_akicpn{
	color: #960030;
	text-align: center;
	margin: -1rem auto 2rem;
	display: block;
}
.calendar_modal .cal_akicpn:before{
    content: "";
    display: inline-block;

    width: 2rem;
    margin-right: 1rem;
    height: 1rem;
    background-color: #ffe0ea;
}
.calendar_box .month{
	text-align: center;
    font-size: 2.5rem;
    color: #ffde00;
    background-color: #960030;
    border-radius: 50px;
    display: table;
    padding: 0 1.5rem 0.4rem;
    line-height: 1.3;
    margin: 0 auto 1rem;
}
.calendar_box .month span{
	font-size: 80%;
}

.week{
	text-align: center;
	font-weight: bold;
	padding: 0;
	background-color: #e3e3e3;
}
.day{
	min-height: 50px;
	background-color: #ffe0ea;
	text-align: center;
	position: relative;
}
.yadonohi,.thanksw{
	display: block;
	position: absolute;
	height: 20px;
	padding: 0;
	text-decoration: none;
	font-size: 1.2rem;
	text-align: center;
	color: #fff;
}
.yadonohi{
	background-color: #ff9000;
	z-index: 2;
}
.thanksw {
	background-color: #de0000;
	z-index: 3;
}

.yadonohi a,
.thanksw a{
	color: #fff;
	text-decoration: none;
	display: block;
}
.yadonohi span,
.thanksw span{
	font-size: 80%;
	background-color: #fff;
	border-radius: 30px;
	text-align: center;
	padding: 0 0.5rem;
	margin-right: 0.5rem;
}
.yadonohi span{
	color: #de6800;
}
.thanksw span{
	color: #de0000;
}

.yadonohi.first{
	width: 28.3%;
	top: 16%;
	right: 0;
}
.yadonohi.second{
	width: 100%;
	top: 31.5%;
	left: 0;
}
.yadonohi.third{
	width: 71%;
	top: 47%;
	left: 0;
}
.aug .thanksw.first{
	width: 28.3%;
	top: 47%;
	right: 0;
}
.aug .thanksw.second{
	width: 100%;
	top: 62.5%;
	left: 0;
}
.aug .thanksw.third{
    width: 71%;
    top: 77.8%;
    left: 0;
}
.sep .thanksw.first{
	width: 28.3%;
	top: 37%;
	right: 0;
}
.sep .thanksw.second{
	width: 100%;
	top: 55.7%;
	left: 0;
}
.sep .thanksw.third{
    width: 71%;
    top: 74%;
    left: 0;
}
.oct .thanksw.first{
	width: 28.3%;
	top: 37%;
	right: 0;
}
.oct .thanksw.second{
	width: 100%;
	top: 55.7%;
	left: 0;
}
.oct .thanksw.third{
    width: 71%;
    top: 74%;
    left: 0;
}
.day.past .date{
	opacity: 0.5;
}
.empty{
	border: none;
	background-color: #fff;
}
.hol{
	color: #d00;
}
.sat{
	color:#06c;
}

.bt_cam{
    color: #960030;
    font-size: 1.4rem;
    text-align: center;
    margin-top: 0.5rem;
}
.bt_cam p a{
    color: #fff;
    display: block;
    background-color: #960030;
    padding: 1rem;
    max-width: 290px;
    width: 100%;
    border-radius: 50px;
    margin: 0.5rem auto;
}
.bt_cam p a:hover{
	text-decoration: none;
}

@media (max-width:736px) {
	.howto_modal .modal__content div {
		width: 47%;
	}
}


@media screen and (min-width:737px) {
	.howto_modal .js-modal-close.pc_close {
		display:none;
	}
}

@media screen and (max-width:736px) {
	.howto_modal .modal__content{
		width: 80%;
		padding: 10px;
		height: 77%;
		overflow: scroll;
	}
	.howto_modal .modal__content div {
		width: 86%;

		display: block;
		margin: 2rem auto;
	}
	.howto_modal .js-modal-close {
	}
	.howto_modal .js-modal-close span{
		border-color: #fff;
		color: #fff;
		position: absolute;
		top: 30px;
		right: 30px;
	}
	.howto_modal .js-modal-close.sp_close {
		display:none;
	}
	.howto_modal .modal__content div p {
		font-size: 1.1rem;
	}
	.howto_modal h5{
		margin-top: 1rem;
		text-align: center;
		font-size: 1.4rem;	
	}
	.calendar {
		gap: 8px 2px;
	}
	.calendar_contents{
		display: block;
	}
	.calendar_modal .modal__content {
        padding: 2rem 1rem;
        font-size: 1.0rem;
        top: 20px;
        transform: translate(-50%, 0%);
		overflow: scroll;
        height: 96vh;
    }
	.calendar_modal .cal_akicpn {
		margin: -1rem auto 0rem;
	}
	.calendar_modal h5 {
		font-size: 1.6rem;
		margin: 0 0 0.5rem 0;
	}
	.calendar_modal h5 img {
		margin: 0 auto;
	}
	.calendar_box .month {
		font-size: 1.6rem;
		padding: 0 1.5rem 0.3rem;
		margin: 1.8rem auto 1rem;
	}
	.yadonohi, .thanksw {
		height: 26px;
		padding: 0;
		font-size: 90%;
	}
	.bt_cam {
		font-size: 1.1rem;
		margin-top: 0.5rem;
		margin-top: 2rem;
	}
	.bt_cam p a {
		padding: 0.5rem;
	}
}




/*お申込み---------------------------*/
.ap {
	padding: 5%;
	display: -webkit-box;
	display: -ms-flexbox;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.ap>div {
	width: 50%;
    padding: .5rem;
    box-sizing: border-box;
}
.ap>div a {
    width: 100%;
    padding: .5rem 0;
    box-sizing: border-box;
    font-size: 1.4rem;
	font-weight: 600;
    color: #950031;
    height: 100%;
    fill: #950031;
    transition: all .3s;
}
.ap>div a:hover {
    transition: opacity .5s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.ap>div a span {
    font-size: 1.2rem;
}
.ap p {
    margin: 0 auto;
    padding: 0 1rem 1rem 1rem;
}
.ap svg {
    vertical-align: top;
    width: 65%;
    margin: 0 auto;
    display: block;
    /* text-align: center; */
}
.ap>div p.ap_txt {
    font-size: 1.3rem;
    background-color: #950031;
    border-radius: 3px;
    text-align: center;
    color: #fff;
    line-height: 1.4;
    padding: 0.7rem 0.2rem;
    margin-top: -1.5rem;
}
.area_blk dd p.p_ano {
	width: 90%;
	margin: 1rem auto 0;
}
@media (max-width: 1400px){
	.ap>div p.ap_txt {
		font-size: 0.92vw; /* 13(px) / 1400(px) * 100vw */
	}
}

@media (max-width: 1024px){
	.ap>div a {
		font-size: 1.4rem;
	}
	.ap>div p.ap_txt {
		margin: 0 0 0 .5rem !important;
	}

}

@media screen and (max-width:736px) {
	.ap {
		padding: 0 5%;
		display: block;
	}
    .ap p {
        padding: 0;
        border: 1px solid #950031;
        text-align: center;
		border-radius: 0;
		flex: 1;
    }
    .ap p svg {
		width: 70px;
		height: 100%;
		margin: 0 auto;
    }
	.ap>div {
		display: block;
		width: 100%;
		box-sizing: border-box;
		margin: 1rem auto;
		padding: 0;
	}
	.ap>div a {
		padding: 0;
		display: flex;
	}
	.ap>div p.ap_txt {
		font-size: 1.0rem;
        line-height: 1.3rem;
		margin: 0 !important;
		border-radius: 0;
		display: flex;
        justify-content: center;
        align-items: center;
	}
	.calendar_modal .sp_close {
		top: -20px;
		right: 4%;
	}
}

.st2-site-footer__page-to-top a{
	z-index: 1000;
}



/*フェードアップ---------------------*/
.fadeUpTrigger{
	opacity: 0;
}
.fadeUp {
	animation-name: fadeUpAnime;
	animation-duration:1.5s;
	animation-fill-mode:forwards;
	opacity: 0;
}

@keyframes fadeUpAnime{
from {
	opacity: 0;
	transform: translateY(200px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}


@media (min-width: 737px) {
}
@media (max-width:1024px) {
}
@media (max-width:736px) {
}



