@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/***************** 基本設定・全体設定 *****************/
html {
    scroll-behavior: smooth;
    -webkit-scroll-behavior: smooth; /* Safari */
}
body {
    font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-weight: 400;
    overflow-wrap: break-word;
    word-wrap: break-word;
    color: #000;
    font-size: 15px;
}
@media screen and (max-width: 360px) {
    body {
        font-size: 14px;
    }
}
@media screen and (min-width: 600px) {
    body {
        font-size: 16px;
    }
}

a:active,
a:focus,
a:hover,
a:link,
a:visited{
	color: #000;
}

a.active,
a:active,
a:focus,
a:hover {
  text-decoration:underline
}

/***************** 共通パーツ *****************/
.wrap {
    width: 100%;
}

.container {
    width: 100%;
    height: auto;
    padding: 0 15px;
    margin: 0 auto;
}
.container_pad {
    margin: 0 auto;
    padding: 0 20px;
	max-width: 970px;
    width: 100%;
}
.framework {
	border: 2px solid #332f29;
	margin: 0 auto;
	padding: 4px;
	max-width: 1000px;
	width: 100%;
	box-sizing: border-box;
}
.framework__inner {
	border: 1px solid #332f29;
	margin: 0 auto;
	padding: 32px 40px;
	max-width: 1000px;
	width: 100%;
	background-color: rgba(255,255,255,0.90);
	box-sizing: border-box;
}
.framework__title {
	margin: 0 auto 30px;
	padding: 12px 12px;
	background-color: #000;
	box-sizing: border-box;
}

.h2__container {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	max-width: 1000px;
	width: 100%;
	height: 100%;
	background-image: url("../img/h2_bg_img1_pc.png"),url("../img/h2_bg_img2_pc.png");
	background-size: 17.6% auto,17.6% auto;
	background-position: top left,bottom right;
	background-repeat: no-repeat,no-repeat;
}

@media screen and (max-width: 768px) {
	.container_pad {
		padding: 0;
	}
	.framework {
		border-width: 0.3vw;
		margin: 0 auto;
		padding: 0.36%;
		max-width: 100%;
		width: 86%;
	}
	.framework__inner {
		border-width: 0.1vw;
		padding: 3.6vw 4vw;
		max-width: 100%;
		width: 100%;
	}
	.framework__title {
		margin: 0 auto 5vw;
		padding: 2vw 2vw;
	}
	.h2__container {
		max-width: 100%;
		width: 100%;
	}
}
.container_full {
    width: 100%;
}

/* フレックス */
.flex {
    display: flex;
}

/* フレックス+中央ぞろえ */
.flex__center {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ポジションレラティブ */
.relative {
    position: relative;
}

/* 太字 */
.bold {
    font-weight: 800;
}

/* センタリング */
.center {
    text-align: center;
}

/* ボタン */
.button {
	margin: 0 auto;
    padding: 0 25px;
	max-width: 500px;
    width: 100%;
    border-radius: 50px;
    transition: 0.3s;
    background-color: #ff6801;
    pointer-events: auto;
    cursor: pointer;
    -webkit-transition: 0.3s; /* Safari */
	box-sizing: border-box;
	position: relative;
}
.button:after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 0 10px 14px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	top: 0;
	right: 17px;
	bottom: 0;
	margin: auto;
	display: none;
}
.button img {
    margin: 0 auto;
}
.button:hover {
	opacity: 0.8;
}

@media screen and (max-width: 500px) {
	.button:after {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 3vw 0 3vw 4vw;
		border-color: transparent transparent transparent #fff;
		position: absolute;
		top: 0;
		right: 3.4vw;
		bottom: 0;
		margin: auto;
		display: none;
	}
}

/* 背景色 */
.bg_color__navy {
    background-color: #0f0f33;
}
.bg_color__purple {
    background-color: #6c60b2;
}
.bg_color__yellow {
    background-color: #ffffb0;
}
.bg_color__blue {
    background-color: #008cd7;
}
.bg_color__blue2 {
    background-color: #1f2851;
}

/***************** 改行 *****************/
/* pc版のみ改行 */
.pc_only {
    display: block;
}
.sp_only {
    display: none;
}
.pc_view{
    display: block;
}
.sp_view{
    display: none;
}
@media screen and (max-width: 768px) {
    .pc_view {
        display: none;
    }
    .sp_view {
        display: block;
    }	
}
@media screen and (max-width: 768px) {
    .pc_only {
        display: none;
    }
}
/* sp版のみ改行 */
@media screen and (max-width: 768px) {
    .sp_only {
        display: none;
    }
}

/***************** KV *****************/
.kv {
/*
	background-image: url('../img/kv_bg.gif');
	ackground-size: 3.4% auto;
	background-position: top center;
	background-repeat: repeat;
*/
}
.kv__logo {
	margin: 0 auto;
	padding: 15px 0 20px;
	width: 100%;
	background-color: #fff;
}
.kv__logo img {
	margin: 0 auto;
	max-width: 410px;
	width: 100%;
}
.kv__box {
	padding: 30px 0 60px;
	width: 100%;
	background-image: url('../img/kv_bg.gif');
	background-size: 3.4% auto;
	background-position: top center;
	background-repeat: repeat;
}
.kv__logo2 {
	margin: 0 auto;
	padding: 0 0 0 29px;
	max-width: 1000px;
	width: 100%;
    position: relative;
    bottom: -7px;
    z-index: 2;
}
.kv__logo2 img {
	max-width: 393px;
	width: 100%;
}
.kv_box__inner {
	border-top: 3px solid #e6d130;
	border-bottom: 3px solid #e6d130;
	height: 537px;
/*	aspect-ratio: 1400 / 537;*/
	box-sizing: border-box;
	position: relative;
}
.kv_box__inner:before {
	content: "";
	width: 100%;
	height: 537px;
	height: 100%;
/*	aspect-ratio: 1400 / 537;*/
	background: linear-gradient(0deg, rgba(250,207,138,0.70) 0%, rgba(255,165,48,0.00) 100%);
	position: absolute;
}
.kv_box__bg {
	margin: 0 auto;
	width: 100%;
	height: 100%;
	background-image: url("../img/kv_picture__left.png"),url("../img/kv_picture__right.png");
	background-size: 200px,158px;
	background-position: top left,bottom right;
	background-repeat: no-repeat,no-repeat;
	position: absolute;
	top: 0;
	z-index: 2;
}
.kv_picture__character {
	margin: 0 auto;
	max-width: 990px;
	width: 100%;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	z-index: 3;
}
.kv_picture__bg {
	margin: 0 auto;
	max-width: 990px;
	width: 100%;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	z-index: 1;
}
.kv_picture__character img,
.kv_picture__bg img{
	object-fit: contain;
}

/*
.kv__picture {
	margin: 0 auto;
	max-width: 990px;
	width: 100%;
}
*/
.kv_box__sp {
	display: none;
}
@media screen and (max-width: 1160px) and (min-width: 991px) {
    .kv_box__bg {
        margin: 0 auto;
        width: 100%;
        height: 100%;
        background-image: url("../img/kv_picture__left.png"),url("../img/kv_picture__right.png");
        background-size: 17.2vw,13.6vw;
        background-position: top left,bottom right;
        background-repeat: no-repeat,no-repeat;
        position: absolute;
        top: 0;
        z-index: 2;
    }
}
@media screen and (max-width: 990px) {
	.kv__logo2 img {
		max-width: 100%;
		width: 40.9%;
	}
	.kv__box {
		padding: 3vw 0 6vw;
	}
	.kv_box__inner {
		height: auto;
		aspect-ratio: 990 / 537;
	}
    .kv_box__bg {
        margin: 0 auto;
        width: 100%;
        height: 100%;
        background-image: url("../img/kv_picture__left.png"),url("../img/kv_picture__right.png");
        background-size: 17.2vw,13.6vw;
        background-position: top left,bottom right;
        background-repeat: no-repeat,no-repeat;
        position: absolute;
        top: 0;
        z-index: 2;
    }
}
@media screen and (max-width: 768px) {
	.kv {
		background-image: url('../img/kv_bg.gif');
		background-size: 6.8% auto;
		background-position: top center;
		background-repeat: repeat;	
	}
	.kv__box{
		padding: 4vw 0 6vw;
		display: none;
	}
	.kv__logo {
		margin: 0 auto;
		padding: 2.0vw 5% 2.0vw;
		max-width: 100%;
		width: 100%;
	}
	.kv__logo img {
		margin: 0 auto;
		max-width: 100%;
		width: 69.5%;
	}
	.kv__picture {
		border: none;
		margin: 0 auto 10vw;
		max-width: 100%;
		width: 100%;
		box-shadow: none;
		position: relative;
	}
    .kv_box__sp {
        display: block;
		padding: 4vw 0 9vw;
		background-image: url("../img/kv_box__left.png"),url("../img/kv_box__right.png");
		background-size: 25vw,26vw;
		background-position: bottom left,top 5% right;
		background-repeat: no-repeat,no-repeat;
    }
}

/***************** KV プレティザー*****************/
.kv_preteaser {
	margin: 0 auto;
	width: 100%;
}
.kv_preteaser__box {
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: url("../img/kv_preteaser_bg_confetti_left1.png"),url("../img/kv_preteaser_bg_confetti_right1.png"),url("../img/kv_preteaser_bg_confetti_right2.png"),url("../img/kv_preteaser_bg_cloud_left1.png"),url("../img/kv_preteaser_bg_cloud_right1.png"), linear-gradient(2deg, #FDFCEB -11.22%, #FFFBED 6.83%, #FF9C9C 109.16%,transparent) ;
	background-size: 150px,134px,119px,134px,103px,100%;
	background-position: top 40% left 0,top 8% right 0,bottom 10% right 0,top 67% left 0,top 36% right 0,top center;
	background-repeat: no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat;
/*	aspect-ratio: 1400 /586;*/
/*	height: 586px;*/
	min-height: calc(100vh - 104px);
}
.kv_preteaser__picture {
	margin: 0 auto;
	max-width: 503px;
	width: 100%;
}
@media screen and (max-width: 768px) {
    .kv_preteaser__box {
        display: flex;
        justify-content: center;
        align-items: center;
        height: auto;
        background-image: url("../img/kv_preteaser_bg_confetti_left1.png"),url("../img/kv_preteaser_bg_confetti_right1.png"),url("../img/kv_preteaser_bg_confetti_right2.png"),url("../img/kv_preteaser_bg_cloud_left1.png"),url("../img/kv_preteaser_bg_cloud_right1.png"), linear-gradient(2deg, #FDFCEB -11.22%, #FFFBED 6.83%, #FF9C9C 109.16%,transparent) ;
        background-size: 24vw,21vw,17vw,12vw,11vw,100%;
        background-position: top 40% left 0,top 8% right 0,bottom 40% right 0,top 67% left 0,top 36% right 0,top center;
        background-repeat: no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat;
		min-height: inherit;
    	aspect-ratio: 750 / 960;
    }
	.kv_preteaser__picture {
		margin: 0 auto;
		max-width: 100%;
		width: 64.2vw;
	}
}



/***************** pagenavi *****************/
.pagenavi {}
.pagenavi__test {
	margin: 0 auto;
	max-width: 590px;
	width: 100%;
	position: relative;
	top: -25px;
}
#pagenavi .box {
	display: flex;
	align-items: center;
	padding: 0 20px;
	width: 100%;
	height: 217px;
	background-image: url("../img/pagenavi_bg_left1.png"),url("../img/pagenavi_bg_left2.png"),url("../img/pagenavi_bg_right.png"),url("../img/pagenavi_bg_confetti_left2.png"),url("../img/pagenavi_bg_confetti_right2.png"),url("../img/pagenavi_bg_pc.png");
/*	background-size: 17%,17%,contain;*/
	background-size: 275px,275px,275px,222px,222px,contain;
	background-position: top left,bottom left,top right,top 3% left 0,top right,top center;
	background-repeat: no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat-x;
/*	background-color: rgba(255,255,0,0.5);*/
}
#pagenavi .box ul {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 880px;
	width: 100%;
	list-style: none;
}
#pagenavi .box ul li {
	width: 32%;
}
#pagenavi .box ul li a:hover{
	opacity: 0.9;
}
/*@media screen and (max-width: 1372px) {
    #pagenavi .box {
		height: auto;
		aspect-ratio: 1400 / 217;
    }
	#pagenavi .box ul {
		max-width: 100%;
		width: 64.14%;
	}
}*/
@media screen and (max-width: 768px) {
    .pagenavi__test {
        margin: 0 auto;
        max-width: 100%;
        width: 88%;
        position: relative;
        top: -3.7vw;
    }
	#pagenavi .box {
        display: flex;
        align-items: center;
        padding: 0;
        width: 100%;
        height: auto;
		aspect-ratio: 750 / 436;
        background-image: url("../img/pagenavi_bg_left1.png"),url("../img/pagenavi_bg_left2.png"),url("../img/pagenavi_bg_right.png"),url("../img/pagenavi_bg_confetti_left2.png"),url("../img/pagenavi_bg_confetti_right2.png"),url("../img/pagenavi_bg.png");
    	background-size: 45%,45%,45%,34%,34%,contain;
        background-position: top 6% left -14%,bottom 0 left -1%,top 12% right -14%,top 62% left -12%,top 29% right -18%,top center;
        background-repeat: no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat-x;
    }
    #pagenavi .box ul {
        display: flex;
        justify-content: space-between;
        margin: 0 auto;
        max-width: 100%;
        width: 79.7%;
        list-style: none;
    }
    #pagenavi .box ul li {
        width: 26.24%;
    }
}

/****************** キャンペーン 告知 ******************/
.campaigninfo {
	background-image: url("../img/campaigninfo_bg_left.png"),url("../img/campaigninfo_bg_right.png"), linear-gradient(2deg, #FDFCEB -11.22%, #FFFBED 6.83%, #FF9C9C 109.16%,transparent) ;
/*	background-image: url("../img/campaigninfo_bg_left.png"),url("../img/campaigninfo_bg_right.png");*/
	background-size: 219px,219px,100%;
/*	background-size: 14%,14%,100%;*/
	background-position: top 62% left 0,top 0 right 0,top center;
	background-repeat: no-repeat,no-repeat;
/*	background: linear-gradient(2deg, #FDFCEB -11.22%, #FFFBED 6.83%, #FF9C9C 109.16%);*/
}
#campaigninfo .box {
	position: relative;
	height: 1221px;
}
.campaigninfo__inner {
	margin: 0 auto;
	padding: 46px 0 102px;
	width: 100%;
	box-sizing: border-box;
	position: absolute;
}
.campaigninfo__inner .figure{
	margin: 0 auto;
	max-width: 1040px;
	width: 100%;
}
.campaigninfo__inner_bg {
	width: 100%;
	height: 100%;
	background-image: url("../img/campaigninfo_bg_confetti_left1.png"),url("../img/campaigninfo_bg_confetti_right1.png"),url("../img/campaigninfo_bg_confetti_right2.png"),url("../img/campaigninfo_bg_confetti_right3.png");
	background-size: 274px,354px,320px,375px;
	background-position: top 33% left 11%,top 7% right 5%,top 39.5% right 4.8%,bottom 11.6% right 7.4%;
	background-repeat: no-repeat,no-repeat,no-repeat,no-repeat;
	position: absolute;
	z-index: 2;
}
@media screen and (max-width: 1400px) {
    .campaigninfo {
        background-image: url("../img/campaigninfo_bg_left.png"),url("../img/campaigninfo_bg_right.png"), linear-gradient(2deg, #FDFCEB -11.22%, #FFFBED 6.83%, #FF9C9C 109.16%,transparent) ;
        background-size: 15.62vw,15.62vw,100%;
        background-position: top 62% left 0,top 0 right 0,top center;
        background-repeat: no-repeat,no-repeat;
    }
 	#campaigninfo .box {
		height: auto;
		position: relative;
		aspect-ratio: 1400 / 1221;
    }
    .campaigninfo__inner {
        padding: 3.3vw 0 0;
        width: 100%;
    }
    .campaigninfo__inner_bg {
        width: 100%;
        height: 100%;
        background-image: url("../img/campaigninfo_bg_confetti_left1.png"),url("../img/campaigninfo_bg_confetti_right1.png"),url("../img/campaigninfo_bg_confetti_right2.png"),url("../img/campaigninfo_bg_confetti_right3.png");
        background-size: 19.4vw,25.3vw,22.9vw,26.8vw;
        background-position: top 34% left 9%,top 7% right 5%,top 39.5% right 4.8%,bottom 11.6% right 7.4%;
        background-repeat: no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat;
        position: absolute;
        z-index: 2;
    }
    .campaigninfo__inner .figure{
        margin: 0 auto;
        max-width: 100%;
        width: 71%;
    }
}
@media screen and (max-width: 768px) {
    .campaigninfo {
        background-image: url("../img/campaigninfo_bg_left.png"),url("../img/campaigninfo_bg_right.png"), linear-gradient(2deg, #FDFCEB -11.22%, #FFFBED 6.83%, #FF9C9C 109.16%,transparent) ;
        background-size: 23.8vw,23.8vw,100%;
        background-position: top 69% left 0,top 0 right 0,top center;
        background-repeat: no-repeat,no-repeat;
    }
 	#campaigninfo .box {
		height: auto;
		position: relative;
		aspect-ratio: 750 / 1291;
    }
    .campaigninfo__inner_bg {
        width: 100%;
        height: 100%;
        background-image: url("../img/campaigninfo_bg_confetti_left1.png"),url("../img/campaigninfo_bg_confetti_right1.png"),url("../img/campaigninfo_bg_confetti_right2.png"),url("../img/campaigninfo_bg_confetti_right3.png");
        background-size: 38.4vw,46.3vw,41.9vw,47.8vw;
        background-position: top 29.6% left -34%,top 1.4% right -46%,top 36.4% right -44.4%,bottom 12.3% right -20.4%,top 38.2% left -2.9%;
        background-repeat: no-repeat,no-repeat,no-repeat,no-repeat;
        position: absolute;
        z-index: 2;
    }
    .campaigninfo__inner .figure{
        margin: 0 auto;
        max-width: 100%;
        width: 100%;
    }
}


/***************** キャンペーン1　概要 *****************/
.contents1 {
/*	background-color: #fff;*/
	background-image: url("../img/contents1_bg_left1.png"),url("../img/contents1_bg_left2.png"),url("../img/contents1_bg_left3.png"),url("../img/contents1_bg_right1.png"),url("../img/contents1_bg_right2.png"),url("../img/contents1_bg_right3.png"),url("../img/contents1_bg_right4.png"), linear-gradient(to top, #FFF0E5 0%, #FFC7AB 24.84%, #EEFFDB 49.68%, #F6FCE4 56.64%, #FDFBEB 67.57%, #FFFBED 99.37%,transparent) ;
	background-size: 576px,493px,371px,453px,294px,483px,377px,100%;
	background-position: top 10.4% left 0,top 28.6% left 0,bottom 4% left 0,top 17.4% right 0,top 29.6% right 0,top 44% right 0,bottom 8.5% right 0,top center;
	background-repeat: no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat;
/*	background: linear-gradient(to top, #FFF0E5 0%, #FFC7AB 24.84%, #EEFFDB 49.68%, #F6FCE4 56.64%, #FDFBEB 67.57%, #FFFBED 99.37%);*/
}
#contents1 .box {
	margin: 0 auto;
	padding: 58px 20px 185px;
	max-width: 1000px;
	width: 100%;
	box-sizing: border-box;
}
.h2__contents1 {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 140px;
	background-color: #f75686;
}
#contents1 .h2__container {
	margin: 0 auto;
	max-width: 1000px;
	width: 100%;
	height: 100%;
	position: relative;
}
#contents1 .h2__title{
	margin: auto;
	max-width: 510px;
	width: 100%;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
}
#contents1 .h2__icon {
	max-width: 193px;
	width: 100%;
	position: absolute;
	top: -70px;
	left: 0;
}
#contents1 .h2__title img,
#contents1 .h2__icon img {
	object-fit: contain;
}
.contents1_period__text1 {
	margin: 0 auto 70px;
	max-width: 525px;
	width: 100%;
}
.contents1__course {
	margin: 0 auto;
}
.contents1__course ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 4%; 
	margin: 0 auto;
	list-style: none;
}
.contents1__course ul li {
	width: 48%;
	display: flex;
	flex-direction: column;
}
.contents1__course ul li:nth-child(1),
.contents1__course ul li:nth-child(2) {
	margin: 0 0 0;
}
.contents1__course ul li:nth-child(3),
.contents1__course ul li:nth-child(4) {
	margin: 56px 0 0;
}
.contents1__course ul li img {
	object-fit: contain;
}
.contents1_course__notice {
	margin-top: auto;
}
.contents1_course__notice p {
	padding-left: 1em;
	text-indent: -1em;
}
#contents1 .framework__inner {
	padding: 32px 32px 32px;
}
#contents1 .framework__title {
	margin: 0 auto 54px;
}
.framework_contents1__title1 {
	margin: 0 auto;
	max-width: 136px;
	width: 100%;
}
.contents1_inner_box {
	margin: 0 auto;
	padding: 0 20px;
}
.contents1__text,
.contents1__text2 {
    margin: 0 auto 44px;
	width: 100%;
}
.contents1__text p {
    font-size: 1.4em;
	line-height: 1.8;
    text-align: center;
}
.contents1__text2 p {
    font-size: 1.4em;
	line-height: 1.8;
    text-align: left;
}
.contents1__text2 p sup {
	font-size: 0.6em;
	vertical-align: super;
}
.contents1__subtitle {
	margin: 0 auto 40px;
	max-width: 466px;
	width: 100%;
}
.contents1_subtitle_box {
	display: block;
	margin: 0 auto 33px;
}
.contents1_subtitle_box .text{
	width: 100%;
	font-size: 1.4em;
	line-height: 1.8;
}
.contents1_subtitle_box .figure{
	display: none;
}
.contents1_subtitle_box sup {
	font-size: 0.6em;
	vertical-align: super;
}
.contents1_goods__figure1 {
	margin: 0 auto 30px;
}
.contents1_goods__figure2 {
	margin: 0 auto;
}
.contents1_goods__notice {
	margin: 0 auto 60px;
}
.contents1_subtitle_box_notice {
	margin: 0 auto 33px;
	padding-left: 1em;
	text-indent: -1em;
}
.contents1_goods__notice ul {
	margin: 0 auto;
	list-style: none;
}
.contents1_goods__notice ul li {
	padding-left: 1em;
	text-indent: -1em;
}
.contents1_btn {
	margin: 48px auto 0;
	max-width: 625px;
	width: 100%;
}
.contents1_btn a:hover {
	opacity: 0.9;
}
#contents1 .framework_icon {
	margin: 33px auto 30px;
	padding: 0 0 0;
	max-width: 1000px;
	width: 100%;
	box-sizing: border-box;
}
#contents1 .framework_icon img {
	max-width: 222px;
	width: 100%;
}
@media screen and (max-width: 1400px) {
    .contents1 {
        background-image: url("../img/contents1_bg_left1.png"),url("../img/contents1_bg_left2.png"),url("../img/contents1_bg_left3.png"),url("../img/contents1_bg_right1.png"),url("../img/contents1_bg_right2.png"),url("../img/contents1_bg_right3.png"),url("../img/contents1_bg_right4.png"), linear-gradient(to top, #FFF0E5 0%, #FFC7AB 24.84%, #EEFFDB 49.68%, #F6FCE4 56.64%, #FDFBEB 67.57%, #FFFBED 99.37%,transparent) ;
        background-size: 41vw,35.2vw,26.4vw,32.36vw,20.96vw,34.5vw,26.9vw,100%;
		background-position: top 10.4% left 0,top 28.6% left 0,bottom 4% left 0,top 17.4% right 0,top 29.6% right 0,top 44% right 0,bottom 8.5% right 0,top center;
        background-repeat: no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat;
    }
}
@media screen and (max-width: 768px) {
	.contents1 {
        background-image: url("../img/contents1_bg_left1.png"),url("../img/contents1_bg_left2.png"),url("../img/contents1_bg_left3.png"),url("../img/contents1_bg_right1.png"),url("../img/contents1_bg_right2.png"),url("../img/contents1_bg_right3.png"),url("../img/contents1_bg_right4.png"), linear-gradient(to top, #FFF0E5 0%, #FFC7AB 24.84%, #EEFFDB 49.68%, #F6FCE4 56.64%, #FDFBEB 67.57%, #FFFBED 99.37%,transparent) ;
        background-size: 76vw,68vw,61vw,60vw,44vw,66vw,62vw,100%;
        background-position: top 7.5% left -166%,top 32.98% left -118%,bottom 0.9% left -35%,top 21.7% right -64.4%,top 44.2% right -10%,top 55.6% right -85%,bottom 5.2% right -42%,top center;
        background-repeat: no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat;	
	}
	#contents1 .h2__contents1 {
		height: auto;
		aspect-ratio: 750 / 145;
	}
	#contents1 .h2__container {
		background-image: url("../img/h2_bg_img1.png"),url("../img/h2_bg_img2.png");
		background-size: 14.6% auto,14.6% auto;
	}
    #contents1 .h2__title{
        margin: auto;
        max-width: 100%;
        width: 87.0%;
    }
    #contents1 .h2__icon {
        max-width: 100%;
        width: 25.4%;
        position: absolute;
        top: -9.1vw;
        left: 0;
    }
	#contents1 .box {
		padding: 9vw 0 16vw;
	}
	.contents1_period__text1 {
		margin: 0 auto 8vw;
		max-width: 100%;
		width: 82.82%;
	}
	.contents1__course {
		margin: 0 auto;
		width: 90%;
	}
    .contents1__course ul {
        display: block;
        margin: 0 auto;
        list-style: none;
    }
    .contents1__course ul li {
        width: 100%;
        display: flex;
        flex-direction: column;
    }
    .contents1__course ul li:nth-child(1) {
        margin: 0 0 0;
    }
	.contents1__course ul li:nth-child(2),
    .contents1__course ul li:nth-child(3),
    .contents1__course ul li:nth-child(4) {
        margin: 15vw 0 0;
    }
	.contents1_course__notice {
		margin-top: 2vw;
	}
	.contents1_course__notice p {
		font-size: 2.24vw;
	}
	#contents1 .framework__inner {
		padding: 6vw 6vw 6vw;
	}
	#contents1 .framework__title {
		margin: 0 auto 6vw;
	}
	#contents1 .framework_icon {
		margin: 5vw auto 5vw;
		max-width: 100%;
		width: 90%;
	}
    #contents1 .framework_icon img {
        max-width: 100%;
        width: 32.1%;
    }
	.contents1_period__list {
		margin: 0 auto 9vw;
		max-width: 100%;
		width: 90%;
	}
	#contents1 .framework__title {
		margin: 0 auto 4vw;
	}
	.framework_contents1__title1 {
 	   margin: 0 auto;
	   max-width: 100%;
 	   width: 28.5%;
	}
	.contents1_inner_box {
		margin: 0 auto;
		padding: 0;
	}
	.contents1__text,
	.contents1__text2 {
    	margin: 0 0 6.4vw;	
	}
	.contents1__text p,
	.contents1__text2 p {
    	font-size: 3.8vw;
    	text-align: left;
	}
	.contents1_goods__figure1 {
		margin: 0 auto 5vw;
	}
	.contents1_goods__figure2 {
		margin: 0 auto;
	}
	.contents1_goods__notice {
		margin: 0 auto 7vw;
	}
	.contents1__subtitle {
		margin: 0 auto 40px;
		max-width: 466px;
		width: 100%;
	}
	.contents1_subtitle_box {
		display: flex;
		justify-content: space-between;
	}
	.contents1_subtitle_box .text{
		width: 50%;
		font-size: 3.8vw;
	}
	.contents1_subtitle_box .figure{
		width: 40%;
		display: block;
	}
    .contents1_subtitle_box .figure img {
          object-fit: contain;
    }
	.contents1_subtitle_box_notice {
		margin: 0 auto 6vw;
		font-size: 2.24vw;
	}
	.contents1_goods__notice ul li {
		font-size: 2.4vw;
	}
	.contents1_btn {
		margin: 6vw auto 0;
		max-width: 100%;
		width: 80%;
	}
}

@media screen and (max-width: 480px) {
	.contents1 {
        background-image: url("../img/contents1_bg_left1.png"),url("../img/contents1_bg_left2.png"),url("../img/contents1_bg_left3.png"),url("../img/contents1_bg_right1.png"),url("../img/contents1_bg_right2.png"),url("../img/contents1_bg_right3.png"),url("../img/contents1_bg_right4.png"), linear-gradient(to top, #FFF0E5 0%, #FFC7AB 24.84%, #EEFFDB 49.68%, #F6FCE4 56.64%, #FDFBEB 67.57%, #FFFBED 99.37%,transparent) ;
        background-size: 76vw,68vw,61vw,60vw,44vw,66vw,62vw,100%;
        background-position: top 7.2% left -166%,top 31.98% left -118%,bottom 0.9% left -35%,top 21.5% right -64.4%,top 43.2% right -10%,top 55.1% right -85%,bottom 4.8% right -42%,top center;
        background-repeat: no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat;	
	}
	.contents1_course__notice p {
		font-size: 3.2vw;
	}
	.contents1_subtitle_box_notice {
		font-size: 3.2vw;
	}
	.contents1_goods__notice ul li {
		font-size: 3.2vw;
	}
}






.button__type {
    display: block;
	border: 5px solid rgba(255,255,255,1.00);
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: auto;
	box-shadow: 0 0 8px rgba(255,255,255,0.80);
	box-sizing: border-box;
}
.button__type a {
    padding: 30px 80px;
}

@media screen and (max-width: 768px) {
	.button__type {
		border-width: 0.6vw;
		max-width: 100%;
		width: 100%;
	}
	.button__type a {
    	padding: 3.6vw 12vw;	
	}
}
/***************** キャンペーン2　概要 *****************/
/* レシートX応募開始 対応 *//*
.contents2 {
	padding: 0 0 120px;
	background-image: url('../img/contents2_bg_left1.png'),url('../img/contents2_bg_right1.png'),url('../img/contents2_bg_right2.png'),linear-gradient(to bottom, #FFFBED 0%, #FDFBEB 25%, #F6FCE4 37%, #EEFFDB 50%, #F6DAC8 57%, #FFB7B7 68%, #EE99F0 100%,transparent);
	background-size: 472px,405px,492px,100%;
	background-position: top 7.4% left 0,top 47.6% right 0,bottom 2% right 0,top center;
	background-repeat: no-repeat,no-repeat,no-repeat,repeat;
}
*/
/*1つ目の飾りあり*//*
.contents2 {
	padding: 0 0 120px;
	background-image: url('../img/contents2_bg_left1.png'),url('../img/contents2_bg_right1.png'),url('../img/contents2_bg_right2.png'),linear-gradient(to bottom, #FFFBED 0%, #FDFBEB 25%, #F6FCE4 37%, #EEFFDB 50%, #F6DAC8 57%, #FFB7B7 68%, #EE99F0 100%,transparent);
	background-size: 472px,405px,492px,100%;
	background-position: top 7.4% left 0,top 42.6% right 0,bottom 2% right 0,top center;
	background-repeat: no-repeat,no-repeat,no-repeat,repeat;
}
*/

.contents2 {
	padding: 0 0 120px;
	background-image:url('../img/contents2_bg_right1.png'),url('../img/contents2_bg_right2.png'),linear-gradient(to bottom, #FFFBED 0%, #FDFBEB 25%, #F6FCE4 37%, #EEFFDB 50%, #F6DAC8 57%, #FFB7B7 68%, #EE99F0 100%,transparent);
	background-size: 405px,492px,100%;
	background-position: top 42.6% right 0,bottom 2% right 0,top center;
	background-repeat: no-repeat,no-repeat,repeat;
}
.h2__contents2 {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 140px;
	background-color: #f75686;
}
#contents2 .h2__container {
	margin: 0 auto;
	max-width: 1000px;
	width: 100%;
	height: 100%;
	position: relative;
}
#contents2 .h2__title{
	margin: auto;
	max-width: 510px;
	width: 100%;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
}
#contents2 .h2__icon {
	max-width: 193px;
	width: 100%;
	position: absolute;
	top: -70px;
	left: 0;
}
#contents2 .h2__title img,
#contents2 .h2__icon img {
	object-fit: contain;
}
#contents2 .box {
	padding: 56px 20px 0;
}
.contents2_period__text1 {
	margin: 0 auto 80px;
	max-width: 525px;
	width: 100%;
}
.contents2_period__list {
	margin: 0 auto 80px;
	max-width: 834px;
	width: 100%;
}
.contents2_period__box {
	margin: 0 auto 80px;
	max-width: 834px;
	width: 100%;
}
.contents2_period_box__title {
	margin: 80px auto 0;
}
.contents2_period_box__title:first-of-type {
	margin: 0 auto;
}
.contents2_period_box__text {
	margin: 40px auto 0;
	max-width: 660px;
	width: 100%;
}
.contents2_period_box__figure {
	margin: 60px auto 0;
	width: 100%;
	
}
#contents2 .framework__inner {
	padding: 32px 32px 68px;
}
#contents2 .framework__title {
	margin: 0 auto 54px;
}
.framework_contents2__title1 {
	margin: 0 auto;
	max-width: 136px;
	width: 100%;
}
.accordion_box {
	display: none;
}

@media screen and (max-width: 1400px) {
/*1つ目の飾りあり*//*
	.contents2 {
        padding: 0 0 120px;
        background-image: url('../img/contents2_bg_left1.png'),url('../img/contents2_bg_right1.png'),url('../img/contents2_bg_right2.png'),linear-gradient(to bottom, #FFFBED 0%, #FDFBEB 25%, #F6FCE4 37%, #EEFFDB 50%, #F6DAC8 57%, #FFB7B7 68%, #EE99F0 100%,transparent);
        background-size: 33.6vw,28.9vw,35.1vw,100%;
        background-position: top 7.4% left 0,top 43.6% right 0,bottom 2% right 0,top center;
        background-repeat: no-repeat,no-repeat,no-repeat,repeat;
    }
*/
	.contents2 {
        padding: 0 0 120px;
        background-image: url('../img/contents2_bg_right1.png'),url('../img/contents2_bg_right2.png'),linear-gradient(to bottom, #FFFBED 0%, #FDFBEB 25%, #F6FCE4 37%, #EEFFDB 50%, #F6DAC8 57%, #FFB7B7 68%, #EE99F0 100%,transparent);
        background-size: 28.9vw,35.1vw,100%;
        background-position: top 43.6% right 0,bottom 2% right 0,top center;
        background-repeat: no-repeat,no-repeat,repeat;
    }
}
@media screen and (max-width: 768px) {
/* X応募第2〜4弾開始 対応 *//*
 .contents2 {
        padding: 0 0 14vw;
        background-image: url('../img/contents2_bg_left1.png'),url('../img/contents2_bg_right1.png'),url('../img/contents2_bg_right2.png'),linear-gradient(to bottom, #FFFBED 0%, #FDFBEB 25%, #F6FCE4 37%, #EEFFDB 50%, #F6DAC8 57%, #FFB7B7 68%, #EE99F0 100%,transparent);
        background-size: 60.4vw,55vw,56vw,100%;
        background-position: top 7.6% left -44%,top 42.1% right -54%,bottom 1.6% right -57%,top center;
        background-repeat: no-repeat,no-repeat,no-repeat,repeat;
    }
*/
/* レシートX応募開始 対応 *//*
    .contents2 {
        padding: 0 0 14vw;
        background-image: url('../img/contents2_bg_left1.png'),url('../img/contents2_bg_right1.png'),url('../img/contents2_bg_right2.png'),linear-gradient(to bottom, #FFFBED 0%, #FDFBEB 25%, #F6FCE4 37%, #EEFFDB 50%, #F6DAC8 57%, #FFB7B7 68%, #EE99F0 100%,transparent);
        background-size: 58.4vw,55vw,56vw,100%;
        background-position: top 7.2% left -40%,top 57.4% right -54%,bottom 1.6% right -57%,top center;
        background-repeat: no-repeat,no-repeat,no-repeat,repeat;
    }
*/
/*1つ目の飾りあり*//*
    .contents2 {
        padding: 0 0 14vw;
        background-image: url('../img/contents2_bg_left1.png'),url('../img/contents2_bg_right1.png'),url('../img/contents2_bg_right2.png'),linear-gradient(to bottom, #FFFBED 0%, #FDFBEB 25%, #F6FCE4 37%, #EEFFDB 50%, #F6DAC8 57%, #FFB7B7 68%, #EE99F0 100%,transparent);
        background-size: 58.4vw,55vw,56vw,100%;
        background-position: top 7.2% left -40%,top 55.1% right -54%,bottom 1.6% right -57%,top center;
        background-repeat: no-repeat,no-repeat,no-repeat,repeat;
    }
*/
    .contents2 {
        padding: 0 0 14vw;
        background-image: url('../img/contents2_bg_right1.png'),url('../img/contents2_bg_right2.png'),linear-gradient(to bottom, #FFFBED 0%, #FDFBEB 25%, #F6FCE4 37%, #EEFFDB 50%, #F6DAC8 57%, #FFB7B7 68%, #EE99F0 100%,transparent);
        background-size: 55vw,56vw,100%;
        background-position: top 55.1% right -54%,bottom 1.6% right -57%,top center;
        background-repeat: no-repeat,no-repeat,repeat;
    }
	#contents2 .h2__contents2 {
		height: auto;
		aspect-ratio: 750 / 145;
	}
	#contents2 .h2__container {
		background-image: url("../img/h2_bg_img1.png"),url("../img/h2_bg_img2.png");
		background-size: 14.6% auto,14.6% auto;
	}
    #contents2 .h2__title{
        margin: auto;
        max-width: 100%;
        width: 70.6%;
    }
    #contents2 .h2__icon {
        max-width: 100%;
        width: 25.4%;
        position: absolute;
        top: -9.1vw;
        left: 0;
    }
	#contents2 .box {
		padding: 7vw 0 0;
	}
	.contents2_period__text1 {
		margin: 0 auto 16vw;
		max-width: 100%;/*525px*/
		width: 75.6%;
	}
	.contents2_period__list {
		margin: 0 auto 9vw;
		max-width: 100%;
		width: 90%;
	}
/* X応募第2〜4弾開始 対応時 *//*
	.contents2_period__box {
		display: none;/
	}
*/
	.contents2_period__box {
		margin: 0 auto 9vw;
		max-width: 100%;
		width: 90%;
	}
    .contents2_period_box__title {
        margin: 13vw auto 0;
		width: 90%;
    }
    .contents2_period_box__title:first-of-type {
        margin: 0 auto;
    }
    .contents2_period_box__text {
        margin: 6vw auto 0;
        max-width: 100%;/*660px*/
        width: 80%;
    }
    .contents2_period_box__text:last-of-type {
        margin: 6vw auto 14vw;
        max-width: 100%;
        width: 80%;
    }
    .contents2_period_box__figure {
        margin: 8vw auto 0;
        width: 100%;
    }
	#contents2 .framework__inner {
		padding: 6vw 6vw 13vw;
	}
	#contents2 .framework__title {
		margin: 0 auto 6vw;
	}
	.framework_contents2__title1 {
 	   margin: 0 auto;
	   max-width: 100%;
 	   width: 28.5%;
	}
	/*アコーディオン*/
    .accordion_box {
		display: block;
		margin: 0 auto 8vw;
	}
    .accordion_box dl {
        margin: 0 auto;
        max-width: 1000px;
        width: 100%;
    }
    .accordion_box dt {
        padding: 3vw;
        color: #fff;
        cursor: pointer;
        background: linear-gradient(to bottom, #fe6665 0%, #f77896 100%);
        position: relative;
    }

    /* 開閉ボタンの＋－アイコン（擬似要素） */
    .accordion_box dt:after {
        content: '+';
        content: "";
        border-top: 2px solid  #fff;
        border-right: 2px solid #fff;
        width: 3vw;
        height: 3vw;
        position: absolute;
        top: 44%;
        right: 3%;
        transform: rotate(-45deg);
    }
    .accordion_box dt.is_open:after {
    /*	content: '-';*/
        content: "";
        transform: rotate(135deg);
    }

    .accordion_box dt img {
		margin: 0 auto;
		width: 24%;
	}

    /* 初期状態は非表示 */
    .accordion_box dd {
        display: none;
        margin: 0;
        padding: 4vw 5% 10vw;
    }

    /* デフォルトで開いている状態のクラス */
    .accordion_box dd.is_open {
        display: block;
    }
}
@media screen and (max-width: 480px) {
    .contents2 {
        padding: 0 0 14vw;
        background-image: url('../img/contents2_bg_left1.png'),url('../img/contents2_bg_right1.png'),url('../img/contents2_bg_right2.png'),linear-gradient(to bottom, #FFFBED 0%, #FDFBEB 25%, #F6FCE4 37%, #EEFFDB 50%, #F6DAC8 57%, #FFB7B7 68%, #EE99F0 100%,transparent);
        background-size: 58.4vw,55vw,56vw,100%;
        background-position: top 6.2% left -40%,top 49.1% right -54%,bottom 3.2% right -57%,top center;
        background-repeat: no-repeat,no-repeat,no-repeat,repeat;
    }
}


.h2_contents2__inner {
	margin: 0 auto;
	padding: 0 20px;
	max-width: 780px;
	width: 100%;
	box-sizing: border-box;
	position: relative;
	z-index: 2;
}

.contents2__text {
}
.contents2__text p {
    margin: 0 0 44px;
    font-size: 1.4em;
    text-align: center;
}
.goods__attention img{
	margin: 0 auto;
	max-width: 100%;
}
.contents2__title {
	margin: 0 auto 0;
	width: 20%;
	position: relative;
	z-index: 3;
}
#contents2 .framework_icon {
	margin: 22px auto 0;
	padding: 0 0 0 22px;
	max-width: 1000px;
	width: 100%;
	box-sizing: border-box;
}
#contents2 .framework_icon img{
	max-width: 225px;
	width: 100%;
}
@media screen and (max-width: 768px) {
	#contents2 .framework_icon {
		margin: -4vw auto 0;
		max-width: 100%;
		width: 90%;
	}
    #contents2 .framework_icon img{
        max-width: 100%;
        width: 34.3%;
    }
    .contents2__text p {
        margin: 0 0 8vw;
        font-size: 3.6vw;
        text-align: center;
    }
}
.period__contents {
    margin: 54px auto 54px;
	max-width: 888px;
 }

/* 応募方法 */
.apply__method__title {
    display: inline-block;
    margin: 0 0 5px;
	max-width: 270px;
}
@media screen and (max-width: 768px) {
	.apply__method__title {
		margin: 0 0 0.3vw;
		max-width: 100%;
		width: 68.4%;
	}
}

.apply__method {
	margin: 0 auto 60px;
	padding: 0;
	max-width: 1000px;
	width: 100%;
}
.apply_step {
	display: flex;
	justify-content: space-between;
	width: 100%;
	list-style: none;
}
.apply_step li {
	width: 48%;
}
.apply_step li img {
	margin: 0 0 30px;
	object-fit: contain;
}
.apply_step li a {
	color: #e31b1d;
	text-decoration: none!important;
}

.apply_method__inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px dashed #0091d2;
	padding: 33px 0 36px; 
}
.apply_method__inner:last-of-type{
	border-bottom: none;
	margin: 0 0 0;
	padding-bottom: 0;
}
.apply_method__icon{
	width: 14.6%;
}
.apply_method__text{
	width: 80%;
}
.apply__method p{
	font-size: 1.4em;
	font-weight: 700;
/*	overflow-wrap: anywhere;*/
}
.apply__method p span{
	color: #e31b1d;
}
.apply__method p a{
	text-decoration: underline;
}
.apply__method p a:hover{
	text-decoration: none;
}
.apply__method .small{
	font-size: 14px;
}

.padding_top {
    padding-top: 50px;
}
.padding_left {
    padding-left: 50px;
}
.padding_right {
    padding-right: 40px;
}
.padding_bottom {
    padding-bottom: 50px !important;
}
.notice {
    margin-top: 44px;
    margin-bottom: 44px;
	font-size: 1.4em;
    line-height: 1.6;
}
@media screen and (max-width: 768px) {
	.apply__method {
    	margin: 0 auto 8vw;
		padding: 5vw 6vw 0;
		max-width: 100%;
    	width: 100%;
    	font-size: 0.95em;
    	line-height: 1.3;
    	letter-spacing: -0.04em;
		border-radius: 3.4vw;
	}
	.apply_method__inner{
		padding: 5vw 0 5.3vw;
	}
	.apply_step {
		display: block;
	}
	.apply_step li {
		width: 100%;
	}
	.apply_step li + li {
		margin: 6vw 0 0;
	}
	.apply__method p{
		font-size: 3.6vw;
		line-height: 1.48;
	}
	.apply__method .small{
		margin: 1.6vw 0 0;
		font-size: 1.8vw;
	}
	.apply__method tr td {
    	padding-bottom: 15px;
	}
	.apply__method tr td:first-child {
    	width: 17%;
    	padding-right: 4%;
	}
	.notice {
    	margin-top: 7vw;
    	margin-bottom: 7vw;
		font-size: 3.4vw;
	}
}

.chance-application {
	margin: 0 auto 63px;
}
.application-heading {
	border-top: 2px solid #332f29;
	border-right: 2px solid #332f29;
	border-left: 2px solid #332f29;
	margin: 0 auto;
	padding: 23px 23px 23px;
	max-width: 700px;
	width: 100%;
	background-color: #fff;
	box-sizing: border-box;
}
.application-heading .heading-wrapper {
	display: block;
	margin: 0 auto;
    max-width: 216px;
}
.application-content {
	border: 2px solid #332f29;
	border-top: 0;
/*	border-right: 0;*/
	margin: 0 auto;
	max-width: 700px;
	width: 100%;
    height: 700px;
	overflow:hidden;
	box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
	.application-heading {
		padding: 6vw 4vw 3vw;
	}
	.application-content {
		width: 100%;
		height: 40.6rem;
    	margin: 0 auto 1rem;
	}
	.application-heading .heading-wrapper {
	    max-width: 100%;
		width: 52.9%;
	}
    .chance-application {
        margin: 0 auto 9vw;
    }
}
.application-content-inner {
    padding: 24px 24px;
}
.chance-information {
    max-width: 1000px;
    margin: 0 auto;
}
.card-common {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 45px 45px 41px;
    border-radius: 45px;
  }
.information-heading {
    max-width: 781px;
    margin-bottom: 25px;
}
.chance-information {
    max-width: 1000px;
    margin: 0 auto;
}
.chance-information span,
.chance-information a {
  display: block;
}
.information-phone,
.information-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
.information-time {
  border-bottom: 0.02rem solid #000;
}
.application-content {
  background-color: #fff;
}
.application-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.application-item {
  margin-bottom: 20px;
}
.application-item:last-child {
  margin-bottom: 0;
}
.application-title {
  margin-bottom: 10px;
  text-align: center;
}
.application-text {}
.application-text ul{
	list-style: none;
}
.application-text ul li{
	padding-left: 1em;
	text-indent: -1em;
}
.chance-modal {
  cursor: pointer;
}

.mCSB_scrollTools .mCSB_dragger {
	height: 72px!important;
}

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #332f29 !important;
  border-radius: 0!important;
}

.mCSB_scrollTools .mCSB_draggerRail {
  display: none;
}

.mCSB_scrollTools {
  opacity: 1 !important;
  background: #fff;
}

@media print, (min-width: 768px) {
	.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    	width: 10px !important;
  	}
  	.mCSB_scrollTools {
    	width: 10px !important;
  	}
}
@media only screen and (max-width: 768px) {
  	.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
		width: 100% !important;
  	}
  	.mCSB_inside > .mCSB_container{
  		margin-right: 5%!important;
  	}
	.mCSB_scrollTools {
		width: 1.5% !important;
  	}
	.application-content-inner {
  		padding: 2vw 2vw 4vw 4vw;
	}
	.application-title {
		font-size: 3.0vw;	
	}
	.application-text {
		font-size: 3.0vw;
	}
}

.button__type2 {
    display: block;
	border: 5px solid rgba(255,255,255,1.00);
    margin: 0 auto;
    padding: 0;
    margin-top: 0;
    width: 100%;
    height: auto;
	box-shadow: 0 0 8px rgba(255,255,255,0.80);
	box-sizing: border-box;
/*	box-shadow: 4px 12px 0px -4px #ffcdac;*/
}
.button__type2 a {
    padding: 15px 80px;
} 

.coming_soon_1 {
	display: flex;
	justify-content: center;
	align-items: center;
    height: 30vh;
    margin: 50px 20px 0;
    padding: 0 50px;
    max-width: 1000px;
	border-radius: 20px;
	background-color: #fff;
}
.coming_soon_1 img{
	max-width: 300px;
}



/* ボタン */
.button__blue2 {
	width: 64%;
	margin-bottom: 40px;
	margin-top: 40px;
	box-shadow: 4px 12px 0px -4px #ffcdac;
 }
 .button__blue2 img {
 	width: 100%;
}
@media screen and (max-width: 768px) {
	.button__type2 {
 	   margin: 0 auto 0;
	   max-width: 100%;
 	   width: 100%;
	   border-radius: 100px;
	   border-width: 0.7vw;
	}
    .button__type2 a {
        padding: 3.8vw 9.6vw;
    } 

	.button__type2 img {
	}
}

/***************** 告知情報 *****************/
.announcement {
	background-image: url('../img/announcement_bg_left.png'), linear-gradient(to bottom, #DE9EF7 0%, #FFF8E3 50%, #DEFDDC 100%,transparent) ;
	background-size: 380px,100%;
	background-position: bottom 1.8% left 0,top center;
	background-repeat: no-repeat,repeat;
/*	background: linear-gradient(to bottom, #DE9EF7 0%, #FFF8E3 50%, #DEFDDC 100%);*/
}
#announcement .h2__container {
	margin: 0 auto;
	max-width: 1000px;
	width: 100%;
	height: 100%;
	position: relative;
}
#announcement .h2__announcement {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 140px;
	background-color: #f75686;
}
#announcement .h2__title{
	margin: auto;
	max-width: 211px;
	width: 100%;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
}
#announcement .h2__icon {
	max-width: 193px;
	width: 100%;
	position: absolute;
	top: -70px;
	left: 0;
}
#announcement .h2__title img,
#announcement .h2__icon img {
	object-fit: contain;
}
#announcement .framework__inner {
	padding: 32px 32px 68px;
}
#announcement .framework__title {
	margin: 0 auto 54px;
}
.framework_announcement__title1 {
	margin: 0 auto;
	max-width: 158px;
	width: 100%;
}
#announcement .box {
	padding: 80px 20px 130px;
}
.announcement__inner {
	margin: 0 auto 0;
	max-width: 880px;
	width: 100%;
}
.announcement__text1 {
	margin: 0 auto 45px;
}
.announcement__text2 {
	margin: 0 auto 70px;
}
.announcement__text1 p,
.announcement__text2 p {
	font-size: 1.4em;
	font-weight: 600;
	line-height: 1.8;
}
.announcement__text1 p span,
.announcement__text2 p span {
	color: #e31b1d;
}
.announcement_list__title {
	margin: 0 auto 30px;
}
.announcement_list__title:nth-child(2) {
	margin: 0 auto 58px;
}
.announcement_list__text {
	margin: 0 auto 52px;
}
.announcement_list__text p {
	margin: 0 auto;
	font-size: 1.4em;
	font-weight: 600;
	text-align: center;
}
.announcement_list__inner {
	margin: 0 auto 0;
}
.announcement_list__inner ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 auto;
	list-style: none;
	gap: 4%;
}
.announcement_list__inner ul li {
	margin: 0 0 50px;
	width: 48%;
}
.announcement_list__inner ul li:last-of-type {
	margin: 0;
}
.announcement_list__inner .figure {
	margin: 0 0 10px;
}
.announcement_list__inner img {
	object-fit: contain;
}
.announcement_list__inner p,
.announcement_list__figure p{
	font-size: 1.2em;
}
.announcement_list__figure {
	margin: 0 auto;
}
.announcement_list__notice {
	margin: 40px auto 0;
	list-style: none;
}
.announcement_list__notice li {
	font-size: 1.0em;
	padding-left: 1em;
	text-indent: -1em;
}

@media screen and (max-width: 1400px) {
    .announcement {
        background-image: url('../img/announcement_bg_left.png'), linear-gradient(to bottom, #DE9EF7 0%, #FFF8E3 50%, #DEFDDC 100%,transparent) ;
        background-size: 27.1vw,100%;
        background-position: bottom 1.8% left 0,top center;
        background-repeat: no-repeat,repeat;
    }
}
@media screen and (max-width: 768px) {
    .announcement {
        background-image: url('../img/announcement_bg_left.png'), linear-gradient(to bottom, #DE9EF7 0%, #FFF8E3 50%, #DEFDDC 100%,transparent) ;
        background-size: 44vw,100%;
        background-position: bottom 0.8% left -26%,top center;
        background-repeat: no-repeat,repeat;
    /*	background: linear-gradient(to bottom, #DE9EF7 0%, #FFF8E3 50%, #DEFDDC 100%);*/
    }
	#announcement .box {
		padding: 7vw 0 14vw;
	}
	#announcement .h2__announcement {
		height: auto;
		aspect-ratio: 750 / 144;
	}
	#announcement .h2__container {
		max-width: 100%;
		background-image: url("../img/h2_bg_img1.png"),url("../img/h2_bg_img2.png");
		background-size: 14.6% auto,14.6% auto;
	}
	#announcement .h2__title {
		max-width: 100%;
		width: 29.3%;	
	}
	#announcement .h2__icon {
		max-width: 100%;
		width: 28%;
		top: -9.1vw;
	}
	#announcement .framework__inner {
		padding: 6vw 6vw 13vw;
	}
	#announcement .framework__title {
		margin: 0 auto 5vw;
	}
	.framework_announcement__title1 {
 	   margin: 0 auto;
	   max-width: 100%;
 	   width: 35.2%;
	}
	.announcement__text1 {
		margin: 0 0 6vw;
	}
	.announcement__text2 {
		margin: 0 0 10vw;
	}
	.announcement__text1 p,
	.announcement__text2 p {
		font-size: 3.6vw;
	}
	.announcement_list__title {
		margin: 0 auto 6vw;
	}
	.announcement_list__title:nth-child(2) {
		margin: 0 auto 6vw;
	}
	.announcement_list__text {
		margin: 0 auto 6vw;
	}
	.announcement_list__text p {
		margin: 0 auto;
		font-size: 3.2vw;
	}
    .announcement_list__inner {
        margin: 0 auto 7vw;
    }
	.announcement_list__inner ul {
		display: block;
	}
	.announcement_list__inner ul li {
		margin: 0 0 7vw;
		width: 100%;
	}
	.announcement_list__inner p,
	.announcement_list__figure p{
		font-size: 3.2vw;
	}
	.announcement_list__notice {
		margin: 9vw auto 0;
	}
	.announcement_list__notice li {
		font-size: 2.24vw;
	}
}
@media screen and (max-width: 480px) {
	.announcement_list__text p {
		margin: 0 auto;
		font-size: 3.3vw;
	}
	.announcement_list__inner p,
	.announcement_list__figure p{
		font-size: 3.6vw;
	}
	.announcement_list__notice li {
		font-size: 3.2vw;
	}
}

/***************** 作品紹介 *****************/
.about {
	background: linear-gradient(to bottom, #C7FFD7 0%, #8CE7F5 100%);
}
.h2__about {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 140px;
	background-color: #f75686;
}
#about .h2__container {
	margin: 0 auto;
	max-width: 1000px;
	width: 100%;
}
#about .h2__title{
	margin: 0 auto;
	max-width: 215px;
	width: 100%;
}
#about .framework__inner {
	padding: 32px 40px 70px;
}
.framework_about__title1 {
	margin: 0 auto;
	max-width: 326px;
	width: 100%;
}
#about .box {
	padding: 80px 20px 130px;
}
.about__inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0 auto;
	width: 97.2%;
}
.about__inner img {
	object-fit: contain;
}
.about__picture {
	width: 44.8%;
}
.about__text {
	width: 52.0%;
}
.about__text p {
	font-size: 1.4em;
	font-weight: 600;
	line-height: 1.8;
	color: #474747;
}
.about__button {
	margin: 70px auto 0;
	width: 58.3%;
}
.about__button a:hover {
	opacity: 0.7;
}

@media screen and (max-width: 1000px) {
	.about__text p {
		font-size: 2.24vw;
	}
}

@media screen and (max-width: 768px) {
	#about .box {
		padding: 7vw 0 14vw;
	}
	#about .h2__about {
		height: auto;
		aspect-ratio: 750 / 144;
	}
	#about .h2__container {
		max-width: 100%;
		background-image: url("../img/h2_bg_img1.png"),url("../img/h2_bg_img2.png");
		background-size: 14.6% auto,14.6% auto;

	}
	#about .h2__title {
		max-width: 100%;
		width: 30.2%;	
	}
	#about .framework__inner {
		padding: 6vw 6vw 13vw;
	}
	.framework_about__title1 {
 	   margin: 0 auto;
	   max-width: 100%;
 	   width: 68.1%;
	}
	.about__inner {
		display: block;
		margin: 0 auto;
		width: 100%;
	}
	.about__picture {
		width: 100%;
	}
	.about__text {
		margin: 6vw auto 0;
		width: 100%;
	}
	.about__text p {
		font-size: 3.4vw;
	}
	.about__button {
		margin: 8vw auto 0;
		width: 90%;
	}
}
@media screen and (max-width: 480px) {
	.about__text p {
		font-size: 3.8vw;
	}
}

/***************** お問い合わせ *****************/
.contact {
	padding: 0 0 55px;

/*
	background-image: url("../img/contact_bg_pc.jpg");
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
*/
	background: linear-gradient(to bottom, #8CE7F5 0%, #F0FFD4 50%, #F75686 100%);
}
#contact .h2__contact {
	height: 140px;
	background-color: #f75686;
}
#contact .h2__container {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	max-width: 1000px;
	width: 100%;
	height: 100%;
	background-image: url("../img/h2_bg_img1_pc.png"),url("../img/h2_bg_img2_pc.png");
	background-size: 17.6% auto,17.6% auto;
	background-position: top left,bottom right;
	background-repeat: no-repeat,no-repeat;
}
#contact .h2__title{
	margin: 0 auto;
	max-width: 378px;
	width: 100%;
}
#contact .framework {
	max-width: 760px;
	width: 100%;
}
#contact .framework__inner {
	padding: 32px 40px 80px;
}
.framework_contact__title1 {
	margin: 0 auto;
	max-width: 426px;
	width: 100%;
}
#contact .framework_icon {
	margin: -55px auto 0;
	max-width: 760px;
	width: 100%;
/*
	position: relative;
	z-index: 2;
*/
}
@media screen and (max-width: 768px) {
	#contact .h2__contact {
		height: auto;
		aspect-ratio: 750 / 144;
	}
	#contact .h2__container {
		max-width: 100%;
		width: 100%;
		background-image: url("../img/h2_bg_img1.png"),url("../img/h2_bg_img2.png");
		background-size: 14.6% auto,14.6% auto;
	}
	#contact .h2__title {
		max-width: 100%;
		width: 55.6%;
	}
	#contact .framework {
		width: 90%;
	}
	#contact .framework__inner {
		padding: 3.6vw 4vw 13vw;
	}
	.framework_contact__title1 {
 	   margin: 0 auto;
	   max-width: 100%;
 	   width: 92.6%;
	}
	#contact .framework_icon {
		margin: -8vw auto 0;
		max-width: 100%;
		width: 90%;
	}
}


#contact .box {
    margin: 0 auto;
	padding: 80px 20px 47px;
    width: 100%;
}
.contact__title {
	display: flex;
	justify-content: center;
	align-items: center;
	border-top: 2px solid;
	border-bottom: 2px solid;
	border-image: linear-gradient(to right, #4ea2fa, #0b5bd8) 1;
    margin: 0 auto 60px;
	padding: 20px;
    width: 100%;
	background-color: #fff;
}
.contact__title h2 {
	margin: 0 auto;
	max-width: 167px;
}
.contact__text{
	margin: 0 auto 36px;
	max-width: 670px;
	width: 100%;
}
.contact__picture{}
.contact__picture .pc_view{
    display: block;
}
.contact__picture .sp_view{
    display: none;
}
.contact__pr{
	display: flex;
	justify-content: space-between;
	margin: 35px auto 0;
	max-width: 470px;
	width: 100%;
}
.contact__pr div {
	width: 42%;
}
.contact__pr__text {
	margin: 35px auto 0;
	max-width: 380px;
	width: 100%;
}
.contact__container {
	margin: 64px auto 0;
    padding: 40px 26px 40px;
	max-width: 700px;
    width: 100%;
    color: #000;
	border-radius: 18px;
    background: linear-gradient(to bottom, rgb(0, 145, 210), rgb(139, 235, 255));
	box-sizing: border-box;
}
.contact__container p {
    text-align: center;
	color: #3e3a39;
}
.contact__container p a{
	color: #3e3a39;
}
.contact_container__title {
	margin: -57px auto 17px;
	max-width: 456px;
	width: 100%;
}
.contact__number {
    margin: 0 auto 54px;
	max-width: 660px;
    width: 100%;
}
.contact_hp {
    margin: 0 auto 65px;
	max-width: 660px;
    width: 100%;
}
.contact_hp__title {
	margin: 0 auto 33px;
}
.contact_hp__text {
	margin: 0 auto 65px;
	max-width: 508px;
	width: 100%;
}
/*
.link {
    color: #ffffb0;
    font-size: 1.2em;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 4px;
}
*/
.sns__title {
	margin: 0 auto 33px;
}
.sns{
	margin: 40px auto 0;
	font-size: 1.4em;
    font-weight: 600;
}
.sns_inner {
    margin: 0 auto;
    align-items: center;
    justify-content: space-between;
    max-width: 448px;
    width: 100%;
}
.sns_inner ul {
	display: flex;
	justify-content: space-between;
	max-width: 237px;
	width: 100%;
	list-style: none;
}
.sns_inner ul li {
    max-width: 64px;
    width: 100%;
}
/*
.sns a {
    max-width: 64px;
    width: 13%;
}
*/
/* ボタン */
.contact__button {
    display: block;
	border: 5px solid rgba(255,255,255,1.00);
    margin: 0 auto;
    padding: 0;
    margin-top: 40px;
    width: 100%;
    height: auto;
	box-shadow: 0 0 8px rgba(255,255,255,0.80);
	box-sizing: border-box;
}
.contact__button a {
    padding: 20px 80px;
}
.contact__button:after {
	display: none;
}

@media screen and (max-width: 768px) {
	.contact {
/*
		background-image: url("../img/contact_bg.jpg");
		background-size: cover;
		background-position: top center;
		background-repeat: no-repeat;
		
*/
	padding: 0;
	}
	.contact__title {
    	margin: 0 auto 8vw;
		padding: 20px;
    	width: 100%;
	}
	.contact__title h2{
		max-width: 100%;
		width: 34%;
	}
	.contact__text{
		margin: 0 auto 5vw;
		max-width: 100%;
		width: 90%;
	}
	#contact .box {
		padding: 7vw 0 7vw;
	}
	.contact__picture{
/*
		margin: 0 auto;
		width: 90%;
*/
	}
    .contact_hp__text {
        margin: 0 auto 7vw;
        max-width: 100%;
        width: 70.3%;
    }
	.contact__picture .pc_view{
		display: none;
	}
	.contact__picture .sp_view{
		display: block;
	}
	.sp__picture{
		margin: 0 auto;
		width: 70%;
	}
	.sp__picture2{
		margin: 0 auto;
		width: 100%;
	}
	.contact__pr{
		margin: 4vw auto 0;
		max-width: 100%;
		width: 64%;
}
	.contact__pr__text{
		margin: 6vw auto 0;
		max-width: 100%;
		width: 46%;
	}
	.contact__container {
		margin: 7vw auto 0;
    	padding: 5vw 4vw 5vw;
		max-width: 100%;
    	width: 90%;
    	color: #000;
		border-radius: 3vw;
 		background: linear-gradient(to bottom, rgb(0, 145, 210), rgb(139, 235, 255));
		box-sizing: border-box;
	}
	.contact_container__title {
		margin: -8.3vw auto 17px;
		max-width: 456px;
		width: 100%;
	}
	.contact__container p {
		font-size: 3.4vw;
		color: #3e3a39;
	}
	.contact__number {
    	width: 94%;
	}
	.number {
    	font-size: 2em;
    	font-weight: 700;
	}
	.contact_hp {
 		margin: 0 auto 6vw;
		max-width: 100%;
    	width: 94%;
	}
	.sns {
    	width: 100%;
    	color: #000;
    	font-size: 1.2em;
	}
	.sns {
		margin: 0 auto 0;
		max-width: 100%;
    	width: 94%;
    	font-size: 3.6vw;
	}
	.sns__title {
		margin: 0 auto 5vw;
		max-width: 100%;
    	width: 100%;
	}
	.sns_inner {
		flex-direction: column;
		margin: 0 auto;
    	max-width: 100%;
		width: 80%;
	}
	.sns_inner p {
		font-size: 4.0vw;
	}
    .sns_inner ul {
        display: flex;
        justify-content: space-between;
		margin: 3vw auto 0;
        max-width: 100%;
        width: 63.9%;
        list-style: none;
    }
    .sns_inner ul li {
        max-width: 100%;
        width: 10.4vw;
    }
	.contact__button {
    	margin-top: 10vw;
	    padding: 0 0;
		max-width: 100%;
	    width: 90%;
		border-radius: 100px;
		border-width: 0.7vw;
	}
	.contact__button a{
	    padding: 4.6vw 8.2vw;
	}
}

/***************** フッター *****************/
.footer {
/*    background: #f5f3f0;*/
	background: linear-gradient(to bottom, rgb(255, 255, 255), rgb(245,243,240));
    color: #000;
	font-size: 1em;
    padding: 40px 0;
}
.footer a {
	color: #000;
}
.footer__nav {
    margin: 0 auto;
	max-width: 450px;
}
.footer__nav ul {
    justify-content: space-between;
    align-items: center;
}
.footer__nav ul li {
    list-style-type: none;
}
.copyright {
    text-align: center;
    margin-top: 0;
	font-size: 1em;
}

@media screen and (max-width: 768px) {
	.footer {
    	font-size: 0.8em;
		padding: 4vw 0;
	}
	.footer__nav {
	    width: 75%;
	    max-width: 600px;
	}

	.copyright {
    	font-size: 3.4vw;
	}
}

.button_box {
	display: none;
	width: 205px;
	position: fixed;
	right: 14px;
	bottom: 8vh;
	z-index: 200;
}
.button_box ul{
	list-style: none;
}
.button_box ul li {
	margin: 0 auto;
	width: 70.8%;
}
.button_box ul li + li{
	margin: 30px auto 0;
	width: 100%;
}
.button_box img {
	width: 100%;
}
@media screen and (max-width: 768px) {
	.button_box {
		width: 20%;
	}
	.button_box img {
		width: 100%;
	}
	.button_box ul li + li{
		margin: 4vw auto 0;
	}
}
@media screen and (max-width: 480px) {
	.button_box {
		width: 32%;
	}
}


.scroll_action{
	opacity: 0;
	-webkit-transform: translate3d(0, 50px, 0);
	transform: translate3d(0, 50px, 0);
	-webkit-transform: translate3d(0, 50px, 0);
	transform: translate3d(0, 50px, 0);
	transition: .8s;
}

.scroll_action.ok{
	opacity: 1;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	animation-duration: 1s;
	animation-timing-function: ease-in-out;
}