/* ---- 以下: nagumo_birthday_addcustom.css を統合（読み込み順を維持するため先頭に配置） ---- */

@charset "utf-8";
html {
	scroll-behavior: smooth;
}
:root {
    --sakamotoColorA: #c74d56;
    --sakamotoColorB: #FFF;
    --sakamotoColorC: #000;
	--sakamotoColorD: #42b1d5;
}
.sp_br , 
.tab_br{
	display: none;
}
.flex-box{
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-align-items: center;
	-webkit-align-items: center;
	align-items: center;
	-ms-justify-content: center;
	-webkit-justify-content: center;
	justify-content: center;
}


/* MV
-------------------------------------*/

#mainimage {
	/* padding-top: 1.875rem; */
	/* padding-bottom: 1.25rem; */
	padding-right: 0px;
	padding-left: 0px;
	background: url(../images/back.jpg) center top / cover no-repeat;
	margin-right: auto;
	margin-left: auto;
	box-sizing: border-box;
	overflow: hidden;
}

#mainimage .mv{
	max-width: 1100px;
	width: 100%;
	margin: 0 auto;
}

#mainimage .mv_logo{
	max-width: 914px;
	width: 100%;
	margin: 2.5rem auto 0;
}

#mainimage .mv_copy{
	font-size: 1rem;
	font-weight: normal;
	line-height: 1;
	letter-spacing: calc((0 / 1000) * 1em);
	text-align: center;
	color : #161616;
	margin-bottom: 0;
}
#nav__menu {
	padding: 2.2rem 1.5rem;
    background: #850100;
}
#nav__menu .flex-box {
	max-width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding: 0;
}
#nav__menu .flex-box li {
	width: calc((100% - 40px) / 3);
    background: #fff;
    text-align: center;
    padding: 10px 0;
    list-style-type: none;
}
#nav__menu .flex-box li a {
	color: #850100;
    font-size: 2.25rem;
    font-weight: 600;
    letter-spacing: calc(80 / 1000 * 1em);
    text-align: center;
    display: block;
}
#nav__menu .flex-box li a:hover {
	text-decoration: none;
	opacity: .8;
}

/*---------------------------------------------------------------------   content02	----*/
#content02{
	padding-top: 6.25rem;
	padding-bottom: 6.25rem;
	padding-right: 0px;
	padding-left: 0px;
	background: url(../images/intro_bk.jpg) center top / cover no-repeat;
	text-align: center;
	position: relative;
	box-sizing: border-box;
}
#content02 .strong{
	font-family: "Noto Sans JP", sans-serif;
	font-size: 36px;
	font-weight: 500;
	letter-spacing: calc(200 / 1000 * 1em);
	margin-bottom: 40px;
}

#content02 .info_title{
	max-width: 425px;
	width: 100%;
	margin: 0 auto 2.5rem;
}

#content02 .info_dayarea{
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
}
.info_txtbox{
	display: flex;
	flex-direction: column;
}
#content02 .info_txtbox:not(:last-child){
	margin-bottom: 2.5rem;
}
#content02 .intro_dayttl{
	height: 3.75rem;
	font-size: 1.75rem;
	font-weight: 500;
	line-height: 3.65rem;
	letter-spacing: calc((80 / 1000) * 1em);
	text-align: center;
	color : #bd1e34;
	display: block;
	box-sizing: border-box;
}
#content02 .intro_dayttl span{
	display: inline-block;
	font-size: 60%;
	font-weight: inherit;
	transform: translateY(-0.15em);
}
#content02 .info_txtbox:nth-child(1) .intro_dayttl{background: #fff;}
#content02 .info_txtbox:nth-child(2) .intro_dayttl{background: #c30a14;}

#content02 .intro_day{
	font-size: 1.75rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: calc((80 / 1000) * 1em);
	text-align: center;
	color : #fff;
	display: inline-block;
	margin: 30px auto;
	position: relative;
}

#content02 .intro_day span{
	font-size: x-large;
}

.intro_day_subtext{
	margin: 0 auto;
	color : #00a6ff;
	font-size: 1.45rem;
	text-decoration: none !important;
}

.intro_day_subtext small{
	font-weight: 500;
}

#content02 .intro_day small{
	font-size: 80%;
	font-weight: inherit;
}
#content02 .intro_day > div{
	width: 100%;
}

#content02 .intro_day > div > div{
	display: inline-block;
}
#content02 .intro_day > div:not(:last-child){
	margin-bottom: 1.5rem;
}

/* #content02 .info_txtbox:first-child .intro_day > div::after{
	content: "";
	background: #398acb;
	width: calc(100% + .5em);
	height: 2px;
	position: absolute;
	bottom: -.85rem;
	left: 50%;
	transform: translateX(-50%);
} */

.limittxt ul , .limittxt li{list-style: none;}
.limittxt ul{
	width: 100%;
	padding: 0 1.875rem;
	margin: 0;
	box-sizing: border-box;
	transition: all .4s;
	background: #ffffff;
}
.limittxt li{
	font-size: 1.3rem;
	line-height: 1.5;
	letter-spacing: calc((80 / 1000) * 1em);
	text-align: left;
	color : #fff;
	width : 100%;
	text-indent: -1rem;
	padding-left: 1rem;
}
/* .limittxt:nth-child(1) li::before{
	content: none;
} */
.limittxt li::before{
	content: "\02022";
	padding-right: .5rem;
}

.limitcolor{
	color: #e70336;
}


#detail{}
.detailtxt{
	display: inline-block;
	max-width: 1000px;
	width : 100%;
	border-radius: 10px;
	box-sizing: content-box;
	overflow: hidden;
}
.detailtxt:nth-child(1) h4{background: #850100;}
.detailtxt:nth-child(2) h4{background: #850100;}

.detailtxt:not(:last-child){
	margin-bottom: 2.5rem;
}


.detailtxt h4{
	font-family: "Noto Sans JP", sans-serif;
	width: 100%;
	font-size: 1.375rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: calc((80 / 1000) * 1em);
	text-align: left;
	color : #fff;
	padding: 1rem 1.875rem 1.25rem;
	box-sizing: border-box;
	display: block;
	margin-bottom: 0;
	cursor: pointer;
	position: relative;
}
.detailtxt h4::after{
	content: "";
	background: url('../images/acc_icon.png') no-repeat;
	background-position: center;
	background-size: 100%;
	width: .8125rem;
	height: .4375rem;
	display: block;
	position: absolute;
	top: 50%;
	right: 1.875rem;
	transform: translateY(-50%) scale(1, -1);
	transition: all .4s;
}

.detailtxt ul , .detailtxt li{list-style: none;}
.detailtxt ul{
	width: 100%;
	padding: 0 1.875rem;
	margin: 0;
	box-sizing: border-box;
	transition: all .4s;
	background: #ffffff;
	border: 1px solid #850100;
	border-radius: 0  0 10px 10px;
}
.detailtxt li{
	font-size: 1rem;
	line-height: 1;
	letter-spacing: calc((80 / 1000) * 1em);
	text-align: left;
	color : #3a3024;
	width : 100%;
	text-indent: -1rem;
	padding-left: 1rem;
	height: 0;
	opacity: 0;
	transition: opacity .2s , all .4s;
}
.detailtxt li a {
	color: #b71c22;
}
.detailtxt:nth-child(1) li::before{
	content: none;
}
.detailtxt li::before{
	content: "\02022";
	padding-right: .5rem;
}
/* .detailtxt:nth-child(2) li::before{
	content: none;
} */
.color-d7281b{color: #d7281b;}


.detailtxt h4.acc_open::after{
	transform: translateY(-50%);
}
.detailtxt h4.acc_open + ul{
	padding: 1.5rem 1.875rem;
}
.detailtxt h4.acc_open + ul > li{
	line-height: 1.6875;
	height: auto;
	opacity: 1;
}


#benefits{
	background:
	url(../images/tokuten_bg-02.png) center top -8.42vw / 100% no-repeat,
	url(../images/content_02_bk.jpg) center top / cover no-repeat;
	padding: 139px 0 108px;
	position: relative;
}
#benefits::before{
	content: "";
	background: url('../images/balloon_left.png') center top / 100% no-repeat;
	width: 24vw;
	height: 36.5vw;
	position: absolute;
	bottom: -20px;
	left: 14.3vw;
}
#benefits::after{
	content: "";
	background: url('../images/balloon_right.png') center top / 100% no-repeat;
	width: 18.5vw;
	height: 40vw;
	position: absolute;
	bottom: 0;
	right: 20.5vw;
}
#benefits .container{
	max-width: 1000px;
	margin: 0 auto;
}
#benefits .container .__ttl{
	max-width: 460px;
	margin: 0 auto 60px;
}
#benefits .container .__img {
	max-width: 380px;
	margin: 0 auto 30px;
}
#benefits .container .__img img{
	width: 100%;
}
#benefits .container .__img figcaption{
	text-align: right;
	padding: 10px 0 0;
}
#benefits .container .__subttl{
	font-size: 1.15rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: calc(80 / 1000 * 1em);
	max-width: 510px;
	margin: 0 auto 30px;
	text-align: center;
	padding: .5rem 0;
	border-radius: 50px;
}
#benefits .container .__subttl#shibuya{background: #ee267e;}
#benefits .container .__subttl#osaka{background: #368045;}
#benefits .container .__subttl#tms{background: #bd1e34;}

#benefits .container .__text{
	font-family: "Noto Sans JP", sans-serif;
	color: #161616;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: calc(80 / 1000 * 1em);
	text-align: center;
}
#benefits .container .__text span {
	font-size: 80%;
}
/*---------------------------------------------------------------------   content03	----*/

#content03{
	padding-top: 6rem;
	/* padding-bottom: 6.25rem; */
	padding-right: 0px;
	padding-left: 0px;
	background: #9b0302 url(../images/item-back.jpg) center top / 100% no-repeat;
	text-align: center;
	position: relative;
}
main > *[id] .container{
	position: relative;
	z-index: 3;
	padding-top: 0!important;
}
main > *[id] .container h2 {
    width: 100%;
    font-size: 3.625rem;
    font-weight: bold;
    line-height: 1;
    color: #ffcf15;
    margin: 0 auto 3.75rem;
    text-align: center;
	display: flex;
	justify-content: space-between;
}
main > *[id] .container h2 span {
    position: relative;
    display: inline-block;
    width: 100px;
    height: 100px;
	display: flex;
	align-items: center;
    text-align: center;
	justify-content: center;
    color: #fff;
    margin-right: 5px;
	padding: 20px;
    font-weight: bold;
}

main > *[id] .container h2 span:nth-of-type(4) {
	margin-right: 0;
}

/* Background colors using pseudo-elements */
main > *[id] .container h2 span::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

/* Background color for odd elements */
main > *[id] .container h2 span::before {
    background-color: #bd1e34; /* Red for odd items */
}
main #content03 .container h2 {
	justify-content: center;
}
main #content03 .container h2 span {
	color: #bd1e34;
}
main #content03 .container h2 span::before {
	background-color: #fff;
}
#content03 .container h2 {
	max-width: 460px;
	margin: 0 auto 60px;
}
/*---------------------------------------------------------------------   content03_tokuten	----*/

#content03 > div > .tokuten{margin-bottom: 6.25rem;}
#content03 .tokuten > .tokuten__img{
	margin-bottom: 3.125rem;
}
#content03 .tokuten .tokuten__ttl{
	max-width: 700px;
	width: 100%;
	margin: 0 auto 1rem;
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: calc((40 / 1000) * 1em);
	text-align: center;
	color : #ffffff;
	padding: .75rem 0 .85rem;
	box-sizing: border-box;
	background: #d68e6a;
	border-radius: 99rem;
}

#content03 .tokuten ul{
	list-style: none;
	margin: 0;
	padding: 0;
}
#content03 .tokuten .tokuten__txt{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5875;
	letter-spacing: calc((80 / 1000) * 1em);
	text-align: center;
	color : #111111;
}

#content03 .tokuten .tokuten__limit{
	margin-top: 1.25rem;
}
#content03 .tokuten .tokuten__limit p{
	font-size: 1.125em;
	font-weight: 700;
	line-height: 1;
	letter-spacing: calc((80 / 1000) * 1rem);
	text-align: center;
	color : #e60012;
}
#content03 .tokuten .tokuten__limit p span::after{
	content: "\03A";
	display: inline-block;
	margin: 0 .25rem;
}


/*---------------------------------------------------------------------   content03_item	----*/

#itemlist .carousel-control-prev-icon {
	background: url('../images/sliderarrow.svg') no-repeat;
	/* max-width : 33px; */
	transform: scale(-1, 1);
	background-size: contain;
	background-position: center;
}
#itemlist .carousel-control-next-icon {
	background: url('../images/sliderarrow.svg') no-repeat;
	/* max-width : 33px; */
	background-size: contain;
	background-position: center;
}


.carousel-inner{
	box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2);
}
.carousel-inner .img-thumbnail {border: none;border-radius: 0;}
.carousel-item{overflow: hidden;}

#itemlist{
	max-width: calc(544px * 2 + 22px);
	width: 100%;
	padding: 0;
}
#itemlist .row{
	width: 100%;
	margin: 0;
	-ms-align-items: inherit;
	-webkit-align-items: inherit;
	align-items: inherit;
	-ms-justify-content: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#itemlist .row > div{
	/* background: #ffffff;
	padding: 1rem; */
	border-radius: 10px;
	box-sizing: border-box;
	max-width: 544px;
}

#itemlist .item__ttl{
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: calc((50 / 1000) * 1rem);
	color: #fff;
	margin-top: 1.5rem;
	margin-bottom: 1rem;
	text-align: left;
	display: flex;
	justify-content: space-between;
}
.itemcategory--ec #itemlist .item__ttl , .itemcategory--ec #itemlist .item__size , .itemcategory--ec #itemlist .item__txt , .itemcategory--ec #itemlist .item__price , .itemcategory--ec #itemlist .formbox > .flex-box span[class^="form__"] , .itemcategory--ec #itemlist .formbox > .flex-box .form__quantity span{
	color: #3E3A39;
}
.itemcategory--ec #itemlist .item__ttl .item__ttltxt span {
	color: #B71C22;
}
.fav{
	width: 10%;
	max-width: 40px;
}


#itemlist .item__size{
	font-size: 1rem;
	font-weight:400;
	line-height: 1.5;
	letter-spacing: calc((50 / 1000) * 1rem);
	color: #fff;
	margin-bottom: 1rem;
	text-align: left;
}
#itemlist .item__size span::before{
	content: "\3010";
	display: inline-block;
	margin: 0 0 0.25rem;
}
#itemlist .item__size span::after{
	content: "\3011";
	display: inline-block;
	margin: 0 .25rem 0 0;
}

#itemlist .item__size .item__padding{
	padding-left: 5.5rem;
}
#itemlist .item__size .item__padding::before{
	content: none;
}

#itemlist .item__size .item__padding::after{
	content: none;
}
#itemlist .item__txt{
	font-size: .9rem;
	font-weight:400;
	line-height: 1.5;
	letter-spacing: calc((50 / 1000) * 1rem);
	color: #fff;
	margin-bottom: 1.25rem;
	text-align: left;
}
#itemlist .item__txt_red{
	color: #d7281b;
}
#itemlist .item__price{
	font-size: 1.5rem;
	font-weight:700;
	font-feature-settings: "palt" 1;
	line-height: 1;
	letter-spacing: calc((50 / 1000) * 1rem);
	color: #fff;
	margin-bottom: 2.1875rem;
	text-align: left;
}
#itemlist .item__price span::after{
	content: "\03A";
	display: inline-block;
	margin: 0 .25rem;
	transform: translateY(-5%);
}
#itemlist .item__price small{
	font-size: 80%;
	font-weight: inherit;
}

.formbox{
	width: 100%;
}

.formbox div.flex-box{
	max-width: 100%;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.25rem;
}

.formwname +  input::placeholder{
	color : #000000;
}
.formbox > .flex-box [class^="form__"]{
	margin: 0;
}
.form__quantity span{
	color: #fff;
}
.formbox > .flex-box span[class^="form__"]{
	font-size: 1rem;
	font-weight:400;
	line-height: 1;
	letter-spacing: calc((130 / 1000) * 1rem);
	color: #fff;
	text-align: left;
}
.formbox > .flex-box span[class^="form__"]
.formbox > .flex-box span[class^="form__"]::after{
	content: "\03A";
	display: inline-block;
	margin: 0 .25rem;
}

.formbox div.flex-box .form__select{
	margin: 0;
	margin-right: 1.5625rem;
}
.formbox div.flex-box .form__select select{
	width: 11.4375rem;
	/* appearance: none; */
	border : 1px solid #cccccc;
	padding: .15rem 9px .15rem 0;
	box-sizing: border-box;
	outline: none;
	background: #ffffff;
	font-size: .9375rem;
	color : #000000;
	height: 30px;
}
.formbox div.flex-box .form__quantity input{
	max-width: 3.9375rem;
	width: 100%;
	border : 1px solid #cccccc;
	padding: .15rem 9px;
	box-sizing: border-box;
	outline: none;
	color : #000000;
	height: 30px;
}

.formbox > .form__tokuten {
	margin-bottom: 1.25rem;
}
.formbox > .form__tokuten span.form__tokuten_txt{
	display: block;
	width: 100%;
	text-align: center;
	margin-bottom: .5rem;
}
.formbox > .form__tokuten span.form__tokuten_txt::after{
	content: none;
}
.formbox > .form__tokuten select{
	/* width: 11.4375rem; */
	/* appearance: none; */
	border : 1px solid #cccccc;
	padding: .15rem 9px .15rem 9px;
	box-sizing: border-box;
	outline: none;
	background: #ffffff;
	font-size: .9375rem;
	color : #000000;
	height: 30px;
}

.formbox .form__btn button{
	max-width: 405px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	background: #efc451;
	font-size: 1rem;
	font-weight:400;
	line-height: 1.6;
	letter-spacing: calc((40 / 1000) * 1rem);
	color: #bd1e34;
	padding: 15px;
}

.formbox .form__btn a{
	max-width: 405px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	background: #fff;
	font-size: 1rem;
	font-weight:400;
	line-height: 1.6;
	letter-spacing: calc((40 / 1000) * 1rem);
	color: #000;
	padding: 15px;
}

.formbox .form__btn button i{
	line-height: .5;
	padding-right: 4px;
	/* filter: invert(100); */
}

#itemlist .row:not(:last-child) {
	margin-bottom: 2rem;
}

.bnr_block{
	/*background: url(../images/bnr_background.jpg) center top / 100% repeat;*/
	background: #C31713;
	padding: 6.25rem 1rem 6.25rem;
	box-sizing: border-box;
}

.bnr{
	max-width: 960px;
	margin: 0 auto;
}
.yoyaku_br {
	display: none;
}


#content04{
	padding-top: 6.25rem;
	padding-bottom: 9.375rem;
	box-sizing: border-box;
	background: #ffffff;
}
#content04 .content_box{
	max-width: 1118px;
	width: 100%;
	margin: 0 auto;
}
#content04 .content_box:not(:last-child){
	margin-bottom: 5.25rem;
}
#content04 .container h2.title {
	max-width: 460px;
    margin: 0 auto 60px;
}

/*---------------------------------------------------------------------   content03__ttl	----*/

#content04 .content__ttl{
	font-weight: 600;
	letter-spacing: calc((100 / 1000) * 1em);
	font-size: 3.125rem;
	margin: 0 auto 2.75rem;
}


#content04 .content__ttl_undertxt{
	font-size: 1rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: center;
	color : #000000;
	margin-top: 2rem;
	margin-bottom: 3.5625rem;
}


/*---------------------------------------------------------------------   content03__venue	----*/


#content04 .venueBox{
	-ms-align-items: inherit;
	-webkit-align-items: inherit;
	align-items: inherit;
	-ms-justify-content: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	counter-reset: number 0;
	margin-bottom: 1.875rem;
}
#content04 .venueBox .venue--shibuya .venue__ttl{
	color: var(--sakamotoColorB);
}
#content04 .venueBox .venue--shibuya .venue__undertxt{
	color: var(--sakamotoColorB);
}
#content04 .venue{
	max-width: calc((100% - 20px * 1) / 2);
	width: 100%;
	overflow: hidden;
	text-align: center;
}
#content04 .venue--shibuya{border: 4px solid var(--sakamotoColorA);position: relative;}
/* #content04 .venue--shibuya::before{
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	content: "";
	background: #000000a6;
}
#content04 .venue--shibuya::after{
	content: "終了しました";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 90%;
    font-size: 2rem;
    font-weight: 800;
    transform: translate(-50%, -50%);
	color: #FFF;
} */
#content04 .venue--umeda{border: 4px solid var(--sakamotoColorD);}
#content04 .venue--nagoya{border: 2px solid #4b7dff;}
#content04 .venue__ttl{
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: left;
	color : var(--sakamotoColorC);
	padding: .8125rem 1rem 1.0625rem;
	box-sizing: border-box;
	/* border-radius: .625rem .625rem 0 0; */
}
#content04 .venue--shibuya .venue__ttl{background: var(--sakamotoColorA);}
#content04 .venue--umeda .venue__ttl{background: var(--sakamotoColorD);color: #fff;}
#content04 .venue--nagoya .venue__ttl{background: #4b7dff;}

#content04 .venue__ttl::before {
	counter-increment: number 1;
	content: counter(number) "\2E\00a0";
}
#content04 .venue__undertxt{
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: calc((40 / 1000) * 1em);
	text-align: center;
	color : var(--sakamotoColorC);
	font-feature-settings: "palt" 1;
	padding: .625rem 1.5rem;
	box-sizing: border-box;
	display: inline-block;
	max-width: 500px;
	width: 100%;
	margin: .75rem auto .35rem;
}
#content04 .venue__txt a{color : #000000;}
#content04 .venue--shibuya .venue__undertxt{background: var(--sakamotoColorA);}
#content04 .venue--umeda .venue__undertxt{background: var(--sakamotoColorD);color: #fff;}
#content04 .venue--nagoya .venue__undertxt{background: #4b7dff;}

#content04 .venue__txt {
	font-size: 1rem;
	font-weight: 600;
	font-feature-settings: "palt" 1;
	line-height: 1.5;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: left;
	color : #000000;
	font-feature-settings: "palt" 1;
	padding: 0 0 1.375rem 1rem;
	box-sizing: border-box;
}
#content04 .venue__txt p {
	margin-bottom: 2px;
}
#content04 .venue__txt small{
	font-size: 80%;
	font-weight: inherit;
}

#content04 .venue__txt span::after{
	content: "\03A";
	display: inline-block;
	margin: 0 .25rem;
}
#content04 .venue__txt p .__textindet::after {
	content: none;
}

#content04 .venue__time{
	font-size: .875rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: left;
	color : #000000;
	padding: 0 2.1875rem 1.5625rem;
	box-sizing: border-box;
}
#content04 .venue__time__link{
	color : #d20000;
	position: relative;
}
#content04 .venue__time__link::after{
	content : "";
	position: absolute;
	bottom: -.125rem;
	left: -.125rem;
	width : calc(100% + .25rem);
	height: 1px;
	background: #d20000;
	display: block;
}

#content04 .other__order{
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: center;
	color : #000000;
}


/*---------------------------------------------------------------------   content03__description	----*/


#content04 .descriptionBox{
	padding: 2.1875rem;
	box-sizing: border-box;
	border-radius: .625rem;
	box-shadow: 0 0 6px 0 rgba(0, 0, 0, .2);
}
#content04 .descriptionBox:not(:last-child){
	margin-bottom: 3.875rem;
}
#content04 .description__ttl{
	font-size: 1.375rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: left;
	color : #000000;
	font-feature-settings: "palt" 1;
	margin-bottom: 1.6875rem;
	-ms-justify-content: start;
	-webkit-justify-content: start;
	justify-content: start;
}
#content04 .description__ttl::before{
	content: "";
	width: .5rem;
	height: 2rem;
	background: #000000;
	margin-right: 1.25rem;
	display: inline-block;
}

#content04 .description__txt{
	font-size: .9rem;
	font-weight: 400;
	line-height: 2;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: left;
	color : #000000;
}

#content04 .txt_color--red{color: #d20000;}
#content04 .txt_color--lightblue{color : #1da1f2;}

#content04 .line--under{
	position: relative;
}
#content04 .line--under::after{
	content : "";
	position: absolute;
	bottom: -.125rem;
	left: -.125rem;
	width : calc(100% + .25rem);
	height: 1px;
	display: block;
}
#content04 .txt_color--red.line--under::after{background: #d20000;}
#content04 .txt_color--lightblue.line--under::after{background: #1da1f2;}



/*---------------------------------------------------------------------   content03__description[dl]	----*/

#content04 .descriptionBox dl{
	margin-top: 2rem;
	margin-bottom: 1.875rem;
}
#content04 .descriptionBox dl > .flex-box{
	-ms-justify-content: start;
	-webkit-justify-content: start;
	justify-content: start;
	margin-bottom: .25rem;
}
/* #content04 .descriptionBox dl > .flex-box:nth-child(2){
	margin-bottom: 1rem;
} */
#content04 .descriptionBox dl > .flex-box:last-child{
	margin-bottom: 0;
}
#content04 .descriptionBox dl dt{
	width: 15.5rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: center;
	color : #ffffff;
	background: #000000;
	border-radius: .8125rem;
	margin-right: .8125rem;
	margin-bottom: .5rem;
}
#content04 .descriptionBox dl.limit dt{
	width: auto;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: left;
	color : #000000;
	border-radius: 0;
	background: none;
	margin-right: 0;
}
#content04 .descriptionBox dl.limit dt::after{
	content: "...";
	margin: 0 .15rem;
	display: inline-block;
	font-weight: 400;
}
#content04 .descriptionBox dl dd{
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: left;
	color : #000000;
	margin-bottom: .5rem;
}


/*---------------------------------------------------------------------   content03__lottery	----*/


#content04 .lottery{
	border-radius: .625rem;
	background: #eaeaea;
	overflow: hidden;
}
#content04 .lottery:not(:last-child){
	margin-bottom: 1.875rem;
}

#content04 .lottery__ttl{
	font-size: 1.375rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: left;
	color : #000000;
	font-feature-settings: "palt" 1;
	padding: 1.25rem 2.1875rem;
	box-sizing: border-box;
	position: relative;
}
#content04 .lottery__ttl::after{
	content: "";
	background: url('../images/acc_icon.png') no-repeat;
	background-position: center;
	background-size: 100%;
	width: .8125rem;
	height: .4375rem;
	display: block;
	position: absolute;
	top: 50%;
	right: 1.875rem;
	transform: translateY(-50%) scale(1, -1);
	transition: all .4s;
}
#content04 .lottery__txtBox{
	width: 100%;
	padding: 0 1.875rem;
	margin: 0;
	box-sizing: border-box;
	transition: all .4s;
}
#content04 .lottery__txtBox .lottery__txt{
	font-size: .935rem;
	line-height: 1;
	letter-spacing: calc((80 / 1000) * 1em);
	text-align: left;
	color : #000000;
	width : 100%;
	text-indent: -1rem;
	padding-left: 1rem;
	height: 0;
	opacity: 0;
	transition: opacity .2s , all .4s;
}


#content04 .lottery__txtBox li.lottery__txt::before{
	content: "\02022";
	padding-right: .5rem;
}
#content04 .lottery:first-of-type .lottery__txtBox ul:first-of-type li.lottery__txt::before{
	content: none;
	padding-right: 0;
}

#content04 .lottery__ttl.acc_open::after{
	transform: translateY(-50%);
}
#content04 .lottery__ttl.acc_open + .lottery__txtBox{
	border-top: 1px dotted #000000;
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
}
#content04 .lottery__ttl.acc_open + .lottery__txtBox .lottery__txt{
	line-height: 1.6875;
	height: auto;
	opacity: 1;
}
#content04 .lottery:first-of-type .acc_open + .lottery__txtBox ul:first-of-type{
	margin-bottom: 1.5rem;
}

/*---------------------------------------------------------------------   content03__description[ul]	----*/

#content04 .descriptionBox > ul.flex-box{
	-ms-justify-content: start;
	-webkit-justify-content: start;
	justify-content: start;
	margin-top: 2.25rem;
}
#content04 .descriptionBox > ul.flex-box li{
	position: relative;
}
#content04 .descriptionBox > ul.flex-box li:not(:last-child){
	padding-right: 1.6875rem;
	box-sizing: border-box;
	margin-right: 1.6875rem;
}
#content04 .descriptionBox > ul.flex-box li:not(:last-child)::after{
	content: "";
	width: 1px;
	display: block;
	position: absolute;
	top: 10%;
	bottom: 10%;
	right: 0;
	margin: auto;
	background: #000000;
}

#content04 .descriptionBox > ul.flex-box li a{
	width: 15.625rem;
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.85;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: center;
	color : #ffffff;
	background: #000000;
	border-radius: 1.25rem;
	display: block;
	transition: all .4s;
	position: relative;
}
#content04 .descriptionBox > ul.flex-box li a[target*="_blank"]::after{
	content: "";
	background: url('../images/blank_icon.png') no-repeat;
	background-position: center;
	background-size: 100%;
	width: .875rem;
	height: .6875rem;
	display: block;
	position: absolute;
	top: 50%;
	right: 1.25rem;
	transform: translateY(-50%);
}

.__textindet {
	text-indent: -1em;
	padding-left: 3em;
}

/*---------------------------------------------------------------------   content03__description__visit	----*/

#content04 .descriptionBox .visit{
	margin-top: 2rem;
}
#content04 .descriptionBox .visit li.description__txt::before{
	content: "\02022";
	padding-right: .5rem;
}



@media only screen and (max-width: 1120px) {
	#itemlist{
		max-width: calc(100%);
		padding-right: 1rem;
		padding-left: 1rem;
		box-sizing: border-box;
	}
	#itemlist .row > div {
		max-width: 49%;
	}

}
@media only screen and (max-width: 1000px) {
	.yoyaku_br {
		display: block;
	}


}


@media only screen and (max-width: 1100px) {/*768*/
	#mainimage, .pickupItem__inner__item__txtBox{
		/* padding: 2rem; */
	}
	.img-thumbnail {width: 100%;}

	main > [id] .container{max-width: 100%;}

	.formbox .form__btn button{
		max-width: 100%;
	}
	.formbox .form__btn a {
		max-width: 100%;
	}
	#content02 .intro_day{
		font-size: 1.5rem;
	}


	.content_box .content_boxlist{
		max-width: 90%;
	}

	#mainimage .mv_logo {
		max-width: 75vw;
	}

	/* main > *[id] .container h2{
		max-width: 34vw;
	} */

	/* main > *[id] .container h2 img{
		width: 100%;
	} */
}


@media only screen and (max-width: 900px) {
	#mainimage .mv_img{
		max-width: 100vw;
	}
	#mainimage .prev.slick-arrow::after{
		left: 2vw;
		transform: translateY(-50%);
	}
	#mainimage .next.slick-arrow::after{
		right: 2vw;
		transform: translateY(-50%) scale(-1, 1);
	}

}


@media only screen and (max-width: 767px){
}

@media only screen and (max-width: 767px) {/* 375 */
	/* html{font-size: 50%;} */
	.sp_br{display: block;font-size: 0;}
	.pc_br{display: none;}

	#mainimage {
		padding: 0;
	}
	#mainimage .mv_copy{
		font-size: 3vw;
	}

	#mainimage .mv_logo{
		margin-top: -0.3rem;
	}

	#mainimage .mv_logo img {
		width: 100%;
	}
	#nav__menu {
		padding: 4.5vw 1.5rem;
	}
	#nav__menu .flex-box li a {
		font-size: 4.6vw;
	}

	#itemlist{
		padding: 0;
	}
	#benefits{
		padding: 20vw 0 9.12vw;
		background: url(../images/tokuten_bg-sp.jpg) center top / cover no-repeat;
	}
	#benefits::before,#benefits::after {
		content: none;
	}
	#benefits .container .__ttl, #content03 .container h2 , #content04 .container h2.title{
		max-width: 85%;
		margin: 0 auto 7.8vw;
	}
	#benefits .container .__img {
		max-width: 61%;
	}
	#benefits .container .__img figcaption{
		font-size: 12px;
	}
	#benefits .container .__subttl{
		max-width: 80.9vw;
		font-size: .8rem;
	}
	#benefits .container .__text{
		font-size: .8rem;
		margin-bottom: 0;
	}
	/* #content02 , #content03{
		padding-top: 1rem;
		padding-bottom: 2.5rem;
	} */
	 #content02 {
		padding: 3rem 0;
	 }
	#content03{
		padding-bottom: 0;
	}

	#content02 .info_title{
		margin-bottom: 1.5rem;
	}

	/* #content02 .intro_dayttl {
		margin-bottom: 1rem;
	} */

	.limittxt:nth-child(1) {
		margin-bottom: 1.25rem;
	}

	.detailtxt:nth-child(1) {
		margin-bottom: 1.25rem;
	}


	#content02 .intro_ttl {
		margin: 0 auto 1rem;
	}
	#content02 .strong{
		font-size: 4vw;
		margin-bottom: 5.2vw;
	}
	#content02 .intro_txt {
		font-size: 1rem;
		margin: 0 auto 1rem;
	}
	#content02 .intro_dayttl{
		font-size: 1rem;
		height: 2.75rem;
		line-height: 2.65rem;
	}
	#content02 .intro_day {
		font-size: 1.2rem;
		line-height: 1.5;
	}
	#content02 .intro_day span{
		font-size: medium;
	}
	.intro_day_subtext{
		font-size: 1.1rem;
		line-height: 1.5;
	}
	.intro_day_note_red{
		margin: 0.475rem auto 0;
	}

	#content02 .info_txtbox:first-child .intro_day > div::after {
		bottom: -0.45em;
	}

	.intro_day_note{
		margin-top: .5rem;
	}

	#content02 .intro_day small{
		font-size: 75%;
	}

	.intro_day_note{
		font-size: 72%;
	}
	/* #content02 .info_dayarea{
		margin-bottom: 2rem;
	} */
	#content02 .info_txtbox:not(:last-child){
		margin-bottom: 1.5rem;
	}
	#content02 .info_delivery_txt{
		font-size: 1rem;
	}
	#content02 .info_delivery{
		padding-left: 1rem;
		padding-right: 1rem;
		box-sizing: border-box;
		margin-bottom: 2.5rem;
	}
	#content02 .info_delivery_txt span{
		line-height: 1.35;
	}

	.limittxt ul{
		padding: 0 1rem;
	}
	.limittxt li {
		font-size: 1rem;
		padding-left: 0;
	}


	.detailtxt h4{
		font-size: 1rem;
		padding: .86rem 1rem 1rem;
	}
	.detailtxt h4::after {
		right: 1rem;
	}
	.detailtxt ul{
		padding: 0 1rem;
	}
	.detailtxt li {
		font-size: .75rem;
	}

	.detailtxt h4.acc_open + ul{
		padding: 1rem;
	}
	.title img{
		width: 80%;
	}


	#content03 {
		/* background-size: 250%; */
		padding-top: 2.2rem;
		/* padding-bottom: 1.5rem; */
	}


	main > *[id] .container h2{
		font-size: 9.55vw;
	}
	main > *[id] .container h2 span{
		height: 18.7vw;
		width: 18.7vw;
	}

	main > [id] .container h2  , #content03 .tokuten > .tokuten__img{
		margin-bottom: 2rem;
	}
	
	main > [id] .container h2 img{
		width: 60%;
	}


	#content03 > div > .tokuten {
		margin-bottom: 3.5rem;
	}

	#content03 .tokuten .tokuten__ttl {
		font-size: 1.25rem;
		line-height: 1.35;
	}
	#content03 .tokuten .tokuten__txt {
		font-size: .935rem;
		font-feature-settings: "palt" 1;
	}

#itemlist .row > div{
	max-width: 100%;
}


	#itemlist .item__ttl {
		font-size: 1.1rem;
        
	}
	#itemlist .item__size{
		font-size: .935rem;
	}
	#itemlist .item__size .item__padding{
		padding-left: 5rem;
	}
	#itemlist .item__txt{
		font-size: .935rem;
 
	}
	.formbox > .flex-box span[class^="form__"] {
		font-size: .935rem;
	}



	#content04 {
		padding-top: 2.5rem;
		padding-bottom: 6rem;
	}

	.illust_staff_ttl {
		max-width: 100%;
		font-size: 1.25rem;
		margin-bottom: 1.5rem;
	}



	.illust_direct {
		margin-bottom: 1.5rem;
	}
	.illust_direct p {
		font-size: 1.25rem;
		display: block;
		width: 100%;
	}
	.illust_direct p:not(:last-child) {
		margin-right: 0;
		margin-bottom: .85rem;
	}

	.content_box ul {
		max-width: 100%;
	}

	.chara__name {
	width: calc(100% - 52% - 1rem);
	font-size: .935rem;
	}

	.chara__direct {
		width: calc(100% - 48%);
		font-size: .935rem;
	}

.formbox div.flex-box .form__select{
	margin-right: 0;
	margin-bottom: 1rem;
	width: 100%;
}


#itemlist .item__price{
	font-size: 1.25rem;
	margin-bottom: 1.25rem;
}

#pickupItem {
	padding: 0 1rem;
	box-sizing: border-box;
}

.pickupItem__inner__item {
	padding: 2rem 1rem;
}



.pickupItem__inner__item__imgBox li{
	max-width: calc(100% / 3.25);
}

#pickupItem .pickupItem__inner__item__imgBox li:nth-child(n + 4){
	margin-top: .75rem;
}
	
.pickupItem__inner__item__imgBox li:nth-child(n + 7){
	max-width: calc(100% / 2.35);
}
.pickupItem__inner__item__txtBox{
	padding: 0;
}


#content04 .content_box{
	padding: 0 1rem;
}


.content_box .content_boxlist {
	max-width: inherit;
	width: 100%;
	display: block;
}



#content04::before, #content04::after {
	width: calc(256px * .45);
	height: calc(302px * .65);
}


.pickupItem__inner__item__img__ttl{
	font-size: 1rem;
	line-height: 1.25;
	margin-bottom: .5rem;
}

.pickupItem__inner__item__imgBoxContents{
	margin-bottom: 1.5rem;
}
#pickupItem .pickupItem__inner__item__imgBox li{
	margin: 0 1.5rem;
}
.pickupItem__inner__item__imgBox{
	margin-bottom: 2rem;
}

.bnr_block{
	padding: 2rem 1rem;
}

#content04 {
		padding-top: 3rem;
		padding-bottom: 5rem;
	}
#content04 .container {
	padding: 0;
}
	#content04 .content_box:not(:last-child) {
		margin-bottom: 2.5rem;
}
	#content04 .content__ttl {
		font-size: 8.5vw;
	}

	#content04 .content__ttl_undertxt {
		margin-top: 1.25rem;
		margin-bottom: 2.25rem;
	}

	#content04 .venue{
		max-width: 100%;
	}
	#content04 .venue:not(:last-child){
		margin-bottom: 1.35rem;
	}

	#content04 .venue__undertxt {
		font-size: 1rem;
		padding-left: 3%;
		padding-right: 3%;
		width: 85%;
	}
	#content04 .venueBox {
		padding: 0 0 2rem;
	}
	#content04 #shibuya_lottery .description__ttl {
		font-size: 3.85vw;
		position: relative;
		padding-left: 1em;
	}
	#content04 #shibuya_lottery  + .description .description__ttl {
		font-size: 3.85vw;
		position: relative;
		padding-left: 1em;
	}
	#content04 #shibuya_lottery .lottery__ttl{
		font-size: 3.85vw;
		position: relative;
	}

	#content04 #shibuya_lottery .description__ttl::before , 
	#content04 #shibuya_lottery  + .description .description__ttl::before{
		position: absolute;
		left: 0;
	}
	#content04 #umeda_lottery .description__ttl {
		font-size: 3.85vw;
		position: relative;
		/* padding-left: 1em; */
	}
	#content04 #umeda_lottery .lottery__ttl{
		font-size: 3.85vw;
		position: relative;
	}

	#content04 #umeda_lottery .description__ttl::before , 
	#content04 #umeda_lottery  + .description .description__ttl::before{
		/* position: absolute; */
		left: 0;
	}

	#content04 .content_box.description {
		padding: 0 1rem;
	}
	#content04 .venue__ttl {
		font-size: 1.25rem;
		padding: .8125rem 1rem 1.0625rem;
	}
	#content04 .venue__txt {
		font-size: .875rem;
		padding: 0.5rem 1rem 1rem;
	}
	#content04 .venue__time {
		font-size: .875rem;
		line-height: 1.25;
		padding: 0 1rem 1.25rem;
	}
	#content04 .other__order {
		line-height: 1.5;
	}


	#content04 .descriptionBox {
		padding: 1rem;
	}

	#content04 .description__ttl {
		font-size: 1.125rem;
		line-height: 1.25;
		letter-spacing: calc((0 / 1000) * 1em);
		margin-bottom: 1rem;
	}
		#content04 .description__ttl::before {
			margin-right: .5rem;
	}
	#content04 .description__txt {
		font-size: .75rem;
	}

	#content04 .line--under{
		text-decoration: underline;
	}
	#content04 .line--under::after{
		content: none;
	}


	#content04 .descriptionBox dl {
		margin-top: 1.25rem;
		margin-bottom: 1.25rem;
	}
#content04 .descriptionBox dl > .flex-box{
	margin-bottom: .5rem;
}
	#content04 .descriptionBox dl.limit dt {
		font-size: .875rem;
		line-height: 1.8;
		margin-bottom: .25rem;
	}
	#content04 .descriptionBox dl dd {
		font-size: .875rem;
	}


	#content04 .lottery__ttl {
		font-size: 1.25rem;
		padding: 1.25rem 1rem;
	}
	#content04 .lottery__ttl::after {
		right: 1rem;
	}
	#content04 .lottery__txtBox {
		padding: 0 1rem;
	}
	#content04 .lottery__txtBox .lottery__txt {
		font-size: .75rem;
		text-indent: 0rem;
		padding-left: 0rem;
	}
	#content04 .lottery:not(:last-child) {
		margin-bottom: 1rem;
	}
	#content04 .lottery__txtBox li.lottery__txt {
		text-indent: -1rem;
		padding-left: 1rem;
	}

	#content04 .descriptionBox > ul.flex-box li {
		margin-left: 0!important;
		margin-right: 0!important;
		max-width: 100%;
		width: 100%;
		padding-right: 0!important;
	}
	#content04 .descriptionBox > ul.flex-box li:not(:last-child){
		margin-bottom: .875rem;
	}

	#content04 .descriptionBox > ul.flex-box li a {
		font-size: 3.8vw;
		padding: .5rem;
	}

	#content04 .descriptionBox > ul.flex-box li::after ,
	#content04 .descriptionBox > ul.flex-box li:not(:last-child)::after{
		content: none;
	}

	#content04 .descriptionBox .visit {
		margin-top: 1.25rem;
	}
	#content04 .descriptionBox dl.limit dt{
		width: 100%;
		margin-left: 0;
	}
	#content04 .descriptionBox dl.limit dt::after{
		content: none;
	}


	#content04 .descriptionBox > ul.flex-box {
		margin-top: 2rem;
	}




	#content04 .newinfo__txt{
		font-size: .875rem;
	}

	#content04 .newinfo__button{
		padding-left: 1rem;
		padding-right: 1rem;
		box-sizing: border-box;
	}
	#content04 .newinfo__button a{
		font-size: 1.25rem;
		border-radius: 0.625rem;
		padding: 1.5rem 0 1.65rem;
	}

	#content03 .container h2 {
		margin: 0 auto 7.8vw;
	}
	.venue--shibuya .__textindet {
		text-indent:unset;
		padding-left: unset;
	}

}


@media only screen and (max-width: 450px) {
	#content02 .intro_ttl img{
		width: 100%;
	}
}

/* ---- 以下: 元 addcustom.css ---- */

@charset "utf-8";

html{
	color:#000;
	background:#FFF;
	scroll-behavior: smooth;
}

/* ----------------- CLEAR FIX ------------------ */

:root{
	--sakamotoColorA: #3e3a39;
	--sakamotoColorB: #FFF;
	--sakamotoColorC: #000;
	--sakamotoColorD: #c74d56;
	--sakamotoColorE: #42b1d5;
}

.clearfix:after{
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

 /* for IE 7*/
.clearfix{
	display: inline-block;
	min-height:1%;
}

 /* Hides from IE-mac */
* html .clearfix {
	height: 1%;
	width: 100%;
}

.clearfix {
	display: block;
	overflow:hidden;
}

main *[id] div,
main *[id] dl,
main *[id] dt,
main *[id] dd,
main *[id] ul,
main *[id] ol,
main *[id] li,
main *[id] h1,
main *[id] h2,
main *[id] h3,
main *[id] h4,
main *[id] h5,
main *[id] h6,
main *[id] pre,
main *[id] code,
main *[id] form,
main *[id] fieldset,
main *[id] legend,
main *[id] input,
main *[id] iframe,
main *[id] textarea,
main *[id] p,
main *[id] figure,
main *[id] blockquote,
main *[id] th,
main *[id] td {
	margin:0;
	padding:0;
}
main *[id] table {
	border-collapse:collapse;
	border-spacing:0;
}
main *[id] fieldset,
main *[id] img {
	border:0;
	vertical-align:top;
}

main *[id] address,
main *[id] caption,
main *[id] cite,
main *[id] code,
main *[id] dfn,
main *[id] em,
main *[id] strong,
main *[id] th,
main *[id] var {
	font-style:normal;
	font-weight:normal;
}

main *[id] ol,
main *[id] ul {
	list-style:none;
}

main *[id] caption,
main *[id] th {
	text-align:left;
}
main *[id] h1,
main *[id] h2,
main *[id] h3,
main *[id] h4,
main *[id] h5,
main *[id] h6 {
	font-size:100%;
	font-weight:normal;
}
main *[id] q:before,
main *[id] q:after {
	content:'';
}
main *[id] abbr,
main *[id] acronym {
	border:0;
	font-variant:normal;
}

main *[id] sup {
	vertical-align:text-top;
}
main *[id] sub {
	vertical-align:text-bottom;
}
main *[id] input,
main *[id] textarea,
main *[id] select {
font-family:inherit;
font-size:inherit;
font-weight:inherit;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
/*to enable resizing for IE*/
main *[id] input,
main *[id] textarea,
main *[id] select {
	font-size:100%;
}

main *[id] legend {
	color:#000;
}

main *[id] img {
	max-width: 100%;
	width: 100%;
}

main *[id] a{
	text-decoration: none;
}
main *[id] a:hover{
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}


/*----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/



.sp_br , .smp_br , .sp_img{
	display: none;
}
.pc_br{
	display: block;
}
.flex-box{
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-align-items: center;
	-webkit-align-items: center;
	align-items: center;
	-ms-justify-content: center;
	-webkit-justify-content: center;
	justify-content: center;
}
*[id^="content"] .container{
	margin: 0 auto;
}



/* MV
-------------------------------------*/

#mainimage {
	padding: 0;
	margin-right: auto;
	margin-left: auto;
	/* background: #01a1d3;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: auto; */
}
#mainimage .mv{
	box-sizing: border-box;
	max-width: 100%;
	width: 100%;
	margin: 0 auto;
	position: relative;
	background: url(../images/mv_back.jpg) center top / cover no-repeat;
}
#mainimage .mv_img{
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding: 1.25rem 1rem;
}
#mainimage .event_logo{
	max-width: 884px;
	width: 100%;
	margin: 0 auto 4rem;
}
#mainimage .event_date{
	max-width: calc(450px + 490px + (7px * 2));
	width: 100%;
	margin: 0 auto 2.8125rem;
}
#mainimage .event_date figure:nth-child(1){max-width: 450px;margin-right: 7px;}
#mainimage .event_date figure:nth-child(2){max-width: 490px;margin-left: 7px;}

#mainimage .event_date img{max-width: 100%; width: 100%;}
#mainimage .mv_copy{
	width: 100%;
	margin: auto;
}
#mainimage .mv_copy p{
	clip-path: polygon(0 100%, 0 100%, 0 100%, 0% 100%);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: calc((10 / 1000) * 1em);
	text-align: center;
	color : #282828;
	/* text-shadow:
	2px 2px 0 #ffffff,
	-2px -2px 0 #ffffff,
	-2px 2px 0 #ffffff,
	2px -2px 0 #ffffff,
	0px 2px 0 #ffffff,
	0 -2px 0 #ffffff,
	-2px 0 0 #ffffff,
	2px 0 0 #ffffff; */
}


/*---------------------------------------------------------------------   content__all	----*/

*[id^="content"] .content__ttl{
	text-align: center;
	display: block;
	margin-bottom: 3.5625rem;
}
*[id^="content"] .content__ttl span{
	font-size: 2.625rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: calc((140 / 1000) * 1em);
	text-align: center;
	color : #ffffff;
	display: inline-block;
	position: relative;
	z-index: 2;
}
*[id^="content"] .content__ttl span::after{
	content: "";
	background: url('../images/ttl_icon.png') no-repeat;
	background-position: center;
	background-size: 100%;
	width: 3.625rem;
	height: 5.3125rem;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(-75% , -25%);
	z-index: -1;
}

/* *[id^="content"] > div[id^="content"]:not(:last-child){
	margin-bottom: 3.9375rem;
} */

*[id^="content"] .container{
	max-width: none;
	width: 100%;
	margin: auto;
}

/*---------------------------------------------------------------------   content01	----*/
#content01{
	/* padding-top: 2.625rem; */
	/* padding-bottom: 7.125rem; */
	box-sizing: border-box;
	/* background: #fff; */
}


/*---------------------------------------------------------------------   content01__nav	----*/


#nav__menu{
	padding: 3rem 0;
	box-sizing: border-box;
	background: var(--sakamotoColorA);
}

#nav__menu ul{
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	-ms-justify-content: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	transform: translateX(11px);
	flex-wrap: nowrap;
}

#nav__menu .flex-box li {
	width: calc((100% - 40px) / 3);
	background: #fff;
	text-align: center;
	padding: 10px 0;
	list-style-type: none;
}

#nav__menu .flex-box li a {
	color: var(--sakamotoColorA);
	font-size: 2.25rem;
	font-weight: 600;
	letter-spacing: calc(80 / 1000 * 1em);
	text-align: center;
	display: block;
}


#nav__menu p{
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: calc((100 / 1000)* 1em);
	text-align: center;
	color: #fff;
	margin-top: 2rem;
}

#nav__menu p a{
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 5px;
}

main > *[id] .container h2 {
	width: 100%;
	font-size: 3.625rem;
	font-weight: bold;
	line-height: 1;
	color: #ffcf15;
	margin: 0 auto 3.75rem;
	text-align: center;
	display: flex;
	justify-content: center;
}
main > *[id] .container h2 span {
	position: relative;
	display: inline-block;
	width: 100px;
	height: 100px;
	display: flex;
	align-items: center;
	text-align: center;
	justify-content: center;
	color: #fff;
	margin-right: 5px;
	padding: 20px;
	font-weight: bold;
	background: #fff;
}

main > *[id] #content_goods .container h2 span {
	color: var(--sakamotoColorA);
	background: #fff;
}

/*---------------------------------------------------------------------   __ttl（購入特典・商品一覧タイトル / LP-READYver.jpg準拠のタイル型見出し）	----*/

.container h2.__ttl {
	max-width: none;
	width: auto;
	margin: 0 auto 2.75rem;
	display: flex;
	justify-content: center;
	gap: .1875rem;
}
main .container h2.__ttl span {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.85em !important;
	height: 1.85em !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 3.25rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	background: none !important;
	z-index: 1;
}
.container h2.__ttl span::before {
	content: "";
	position: absolute;
	inset: 0;
	transform: skewX(-6deg);
	z-index: -1;
}
.container h2.__ttl span i {
	display: inline-block;
	font-style: normal;
	transform: skewX(-10deg);
	transform-origin: 50% 50%;
}
#benefits .container h2.__ttl span {
	color: #ffd93c;
}
#benefits .container h2.__ttl span::before {
	background: var(--sakamotoColorA);
}
#content03 .container h2.__ttl span {
	color: var(--sakamotoColorA);
}
#content03 .container h2.__ttl span::before {
	background: #ffd93c;
}

/*---------------------------------------------------------------------   benefits	----*/

#benefits{
	padding: 6.25rem 1rem 8.375rem;
	margin-bottom: 0;
	box-sizing: border-box;
	background: url(../images/special_back.jpg) center top / cover no-repeat;
}

#benefits .tokuten .tokuten__img{
	max-width: 1200px;
	width: 100%;
	margin: 0 auto 1.6875rem;
}
#benefits .tokuten .tokuten__box {
    display: flex;
    flex-wrap: wrap; /* ラップして次の行に配置する */
    gap: 10px; /* アイテム間のスペース */
    justify-content: center;
	max-width: 1200px;
	margin: 0 auto;
}

#benefits .tokuten .tokuten__box li {
    flex: 0 1 calc(33.33% - 10px); /* 3カラムの幅を設定 */
    box-sizing: border-box; /* パディングやボーダーを含めた幅計算 */
}

@media (min-width: 768px) {
    #benefits .tokuten .tokuten__box li {
        flex: 0 1 calc(20% - 10px); /* デスクトップでは5カラム */
    }
}


#benefits .tokuten .tokuten__ttl{
	max-width: 33rem;
	width: 100%;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: calc((40 / 1000) * 1em);
	text-align: center;
	color : var(--sakamotoColorB);
	padding: .5625rem;
	box-sizing: border-box;
	border-radius: 1.25rem;
	background: var(--sakamotoColorA);
	margin: 0 auto;
	margin-bottom: 1.25rem;
}

#benefits .tokuten .tokuten__txt{
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.6875;
	letter-spacing: calc((80 / 1000) * 1em);
	text-align: center;
	color : #111111;
}

#benefits .tokuten .tokuten_Xcontainer{
	max-width: 880px;
	margin: 60px auto 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
@media only screen and (max-width: 1024px){
	#benefits .tokuten .tokuten_Xcontainer{
		max-width: 85.9vw;
        gap: 6.25vw;
		margin-top: 5.85vw;
	}

}

/*---------------------------------------------------------------------   content_goods	----*/

#content_goods{
	padding: 8.375rem 0 9rem;
	margin-bottom: 0;
	box-sizing: border-box;
	background: var(--sakamotoColorA);
}

#content_goods .content__ttl{
	max-width: 250px;
	width: 100%;
	margin: 0 auto 2.75rem;
}

#content_goods .content_goods_Box:not(:last-child){
	margin-bottom: 1.25rem;
}

#content_goods .content_goods_Box_list{
	max-width: 1500px;
	width: 100%;
	margin: 0 auto;
	/* -ms-justify-content: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between; */
	-ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

@media only screen and (max-width: 767px){
	#content_goods .content_goods_Box_list{
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
}

#content_goods .content_goods_Box_list[data-column="2"]{gap: 1.25rem;}
#content_goods .content_goods_Box_list[data-column="3"]{gap: .4375rem;}

#content_goods .content_goods_Box_listitem{
	border-radius: 1.25rem;
	box-sizing: border-box;
	/* box-shadow: 0 0 10px 0px #addbd866; */
}

#content_goods .content_goods_Box_listitem_txtContents{
	height: 1px;
	clip-path: polygon(0 100%, 0 100%, 0 100%, 0% 100%);
}

#content_goods .__goodslist {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1rem;
}
#content_goods .__goodslist li {
	width: calc((100% - 20px) / 2);
}
#content_goods .__goodslist li:nth-of-type(n+1) {
	margin-bottom: 30px;
}
#content_goods .__goodslist li:nth-of-type(n+3) {
	margin-top: .25rem;
}
/*---------------------------------------------------------------------   content_speed	----*/

#content_speed{
	padding: 8.375rem 0 9rem;
	margin-bottom: 0;
	box-sizing: border-box;
	background: url(../images/speed_background.png) center top / 100% repeat;
	/* background-blend-mode: soft-light; */
}

#content_speed .content__ttl{
	max-width: 770px;
	width: 100%;
	margin: 0 auto 2.75rem;
}

#content_speed .content_speed_Box:not(:last-child){
	margin-bottom: 1.25rem;
}

#content_speed .content_speed_Box_list{
	max-width: 1500px;
	width: 100%;
	margin: 0 auto;
	/* -ms-justify-content: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between; */
	-ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

@media only screen and (max-width: 767px){
	#content_speed .content_speed_Box_list{
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
}

/* #content_speed .content_speed_Box_list[data-column="2"]{gap: 1.25rem;} */

#content_speed .content_speed_Box_listitem{
	border-radius: 1.25rem;
	box-sizing: border-box;
}

#content_speed .content_speed_Box_listitem_txtContents{
	height: 1px;
	clip-path: polygon(0 100%, 0 100%, 0 100%, 0% 100%);
}



#animejapan{
	background: #e5f1f7;
	padding: 70px 0;
}
#animejapan .container{
	max-width: 800px;
	margin: 0 auto;
}
#animejapan .container .container_ttl{
	max-width: 580px;
	margin: 0 auto;
}
#animejapan .container .container_logo{
    display: flex;
    max-width: 750px;
    margin: 0 auto 15px;
    justify-content: space-between;
	align-items: center;
}
#animejapan .container .container_logo li{
	width: calc((100% - 15px) / 2);
}
#animejapan .container .container_strong{
	margin: 20px auto 30px;
	max-width: 768px;
}
#animejapan .container .container_bigsite{
	text-align: center;
	font-weight: 600;
	font-size: 1.5rem;
	letter-spacing: calc(80/1000*1em);
}
#animejapan .container .container_booth{
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: center;
	margin: 8px 0 15px;
}
#animejapan .container .container_booth .__number{
	color: #fff;
	font-size: 1.2rem;
	background: #0074af;
	padding: .2rem;
	font-weight: 600;
}
#animejapan .container .container_booth .__place{
	font-size: 1.2rem;
	letter-spacing: calc(80/1000*1em);
	font-weight: 700;
}
#animejapan .container .container_popupImg{
	max-width: 750px;
	margin: 0 auto;
}
#animejapan .container .container_shop{
	max-width: 550px;
	margin: 0 auto;
	text-align: left;
	font-size: 20px;
	letter-spacing: calc(80/1000*1em);
	font-weight: 800;
	margin: 15px auto 0;
}
#animejapan .container .container_shop small{
	font-weight: 600;
}
#animejapan .container .container_welcome{
	color: #c20813;
	text-align: center;
	font-size: 30px;
	margin: 40px 0;
}
#animejapan .container .container_btn{
	max-width: 680px;
	margin: 0 auto;
}


@media only screen and (max-width: 767px) {
	#animejapan{
		padding: 10vw 0;
	}
	#animejapan .container .container_ttl{
		max-width: 75.6vw;
	}
	#animejapan .container .container_strong{
		max-width: 90.1vw;
	}
	#animejapan .container .container_bigsite{
		font-size: 3.12vw;
	}
	#animejapan .container .container_booth .__place{
		font-size: 2.5vw;
	}
	#animejapan .container .container_booth .__number{
		font-size: 2.8vw;
	}
	#animejapan .container .container_popupImg{
		max-width: 97.7vw;
	}
	#animejapan .container .container_shop{
		max-width: 90.7vw;
		font-size: 3.1vw;
	}
	#animejapan .container .container_welcome{
		font-size: 3.91vw;
		margin: 20px 0 20px;
	}
	#animejapan .container .container_btn{
		max-width: 88.6vw;
	}
	#animejapan .container .container_logo{
		max-width: 97.7vw;
	}
}












/*---------------------------------------------------------------------   content03	----*/

#content04{
	padding-top: 6.25rem;
	padding-bottom: 9.375rem;
	box-sizing: border-box;
	background: #ffffff;
}
#content04 .content_box{
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}
#content04 .content_box:not(:last-child){
	margin-bottom: 5.25rem;
}

/*---------------------------------------------------------------------   content03__ttl	----*/

#content04 .content__ttl{
	font-family: "Zen Old Mincho", serif;
	font-weight: 600;
	letter-spacing: calc((100 / 1000) * 1em);
	font-size: 3.125rem;
	margin: 0 auto 2.75rem;
}

#content04 .content__ttl_undertxt{
	font-size: 1rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: center;
	color : #000000;
	margin-top: 2rem;
	margin-bottom: 3.5625rem;
}


/*---------------------------------------------------------------------   content03__venue	----*/


#content04 .venueBox{
	-ms-align-items: inherit;
	-webkit-align-items: inherit;
	align-items: inherit;
	-ms-justify-content: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	counter-reset: number 0;
	margin-bottom: 1.875rem;
}
#content04 .venueBox .venue--shibuya .venue__ttl{
	color: var(--sakamotoColorB);
}
#content04 .venueBox .venue--shibuya .venue__undertxt{
	color: var(--sakamotoColorB);
}
#content04 .venue{
	max-width: calc((100% - 20px * 1) / 2);
	width: 100%;
	overflow: hidden;
	text-align: center;
}
#content04 .venue--shibuya{border: 4px solid var(--sakamotoColorD);position: relative;}
/* #content04 .venue--shibuya::before{
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	content: "";
	background: #000000a6;
}
#content04 .venue--shibuya::after{
	content: "終了しました";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 90%;
    font-size: 2rem;
    font-weight: 800;
    transform: translate(-50%, -50%);
	color: #FFF;
} */
#content04 .venue--umeda{border: 4px solid var(--sakamotoColorE);}
#content04 .venue--nagoya{border: 2px solid #4b7dff;}
#content04 .venue__ttl{
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: left;
	color : var(--sakamotoColorC);
	padding: .8125rem 1rem 1.0625rem;
	box-sizing: border-box;
	/* border-radius: .625rem .625rem 0 0; */
}
#content04 .venue--shibuya .venue__ttl{background: var(--sakamotoColorD);}
#content04 .venue--umeda .venue__ttl{background: var(--sakamotoColorE);color: #fff;}
#content04 .venue--nagoya .venue__ttl{background: #4b7dff;}

#content04 .venue__ttl::before {
	counter-increment: number 1;
	content: counter(number) "\2E\00a0";
}
#content04 .venue__undertxt{
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: calc((40 / 1000) * 1em);
	text-align: center;
	color : var(--sakamotoColorC);
	font-feature-settings: "palt" 1;
	padding: .625rem 1.5rem;
	box-sizing: border-box;
	display: inline-block;
	max-width: 500px;
	width: 100%;
	margin: .75rem auto .35rem;
}
#content04 .venue__txt a{color : #000000;}
#content04 .venue--shibuya .venue__undertxt{background: var(--sakamotoColorD);}
#content04 .venue--umeda .venue__undertxt{background: var(--sakamotoColorE);color: #fff;}
#content04 .venue--nagoya .venue__undertxt{background: #4b7dff;}

#content04 .venue__txt {
	font-size: 1rem;
	font-weight: 600;
	font-feature-settings: "palt" 1;
	line-height: 1.5;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: left;
	color : #000000;
	font-feature-settings: "palt" 1;
	padding: 0 0 1.375rem 1rem;
	box-sizing: border-box;
}

#content04 .venue__txt small{
	font-size: 80%;
	font-weight: inherit;
}

#content04 .venue__txt span::after{
	content: "\03A";
	display: inline-block;
	margin: 0 .25rem;
}
#content04 .venue__time{
	font-size: .875rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: left;
	color : #000000;
	padding: 0 2.1875rem 1.5625rem;
	box-sizing: border-box;
}
#content04 .venue__time__link{
	color : #d20000;
	position: relative;
}
#content04 .venue__time__link::after{
	content : "";
	position: absolute;
	bottom: -.125rem;
	left: -.125rem;
	width : calc(100% + .25rem);
	height: 1px;
	background: #d20000;
	display: block;
}

#content04 .other__order{
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: center;
	color : #000000;
}


/*---------------------------------------------------------------------   content03__description	----*/


#content04 .descriptionBox{
	padding: 2.1875rem;
	box-sizing: border-box;
	border-radius: .625rem;
	box-shadow: 0 0 6px 0 rgba(0, 0, 0, .2);
}
#content04 .descriptionBox:not(:last-child){
	margin-bottom: 3.875rem;
}
#content04 .description__ttl{
	font-size: 1.375rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: left;
	color : #000000;
	font-feature-settings: "palt" 1;
	margin-bottom: 1.6875rem;
	-ms-justify-content: start;
	-webkit-justify-content: start;
	justify-content: start;
}
#content04 .description__ttl::before{
	content: "";
	width: .5rem;
	height: 2rem;
	background: #000000;
	margin-right: 1.25rem;
	display: inline-block;
}

#content04 .description__txt{
	font-size: .9rem;
	font-weight: 400;
	line-height: 2;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: left;
	color : #000000;
}

#content04 .txt_color--red{color: #d20000;}
#content04 .txt_color--lightblue{color : #1da1f2;}

#content04 .line--under{
	position: relative;
}
#content04 .line--under::after{
	content : "";
	position: absolute;
	bottom: -.125rem;
	left: -.125rem;
	width : calc(100% + .25rem);
	height: 1px;
	display: block;
}
#content04 .txt_color--red.line--under::after{background: #d20000;}
#content04 .txt_color--lightblue.line--under::after{background: #1da1f2;}



/*---------------------------------------------------------------------   content03__description[dl]	----*/

#content04 .descriptionBox dl{
	margin-top: 2rem;
	margin-bottom: 1.875rem;
}
#content04 .descriptionBox dl > .flex-box{
	-ms-justify-content: start;
	-webkit-justify-content: start;
	justify-content: start;
	margin-bottom: .25rem;
}
/* #content04 .descriptionBox dl > .flex-box:nth-child(2){
	margin-bottom: 1rem;
} */
#content04 .descriptionBox dl > .flex-box:last-child{
	margin-bottom: 0;
}
#content04 .descriptionBox dl dt{
	width: 15.5rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: center;
	color : #ffffff;
	background: #000000;
	border-radius: .8125rem;
	margin-right: .8125rem;
	margin-bottom: .5rem;
}
#content04 .descriptionBox dl.limit dt{
	width: auto;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: left;
	color : #000000;
	border-radius: 0;
	background: none;
	margin-right: 0;
}
#content04 .descriptionBox dl.limit dt::after{
	content: "...";
	margin: 0 .15rem;
	display: inline-block;
	font-weight: 400;
}
#content04 .descriptionBox dl dd{
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: left;
	color : #000000;
	margin-bottom: .5rem;
}


/*---------------------------------------------------------------------   content03__lottery	----*/


#content04 .lottery{
	border-radius: .625rem;
	background: #eaeaea;
	overflow: hidden;
}
#content04 .lottery:not(:last-child){
	margin-bottom: 1.875rem;
}

#content04 .lottery__ttl{
	font-size: 1.375rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: left;
	color : #000000;
	font-feature-settings: "palt" 1;
	padding: 1.25rem 2.1875rem;
	box-sizing: border-box;
	position: relative;
}
#content04 .lottery__ttl::after{
	content: "";
	background: url('../images/acc_icon.png') no-repeat;
	background-position: center;
	background-size: 100%;
	width: .8125rem;
	height: .4375rem;
	display: block;
	position: absolute;
	top: 50%;
	right: 1.875rem;
	transform: translateY(-50%) scale(1, -1);
	transition: all .4s;
}
#content04 .lottery__txtBox{
	width: 100%;
	padding: 0 1.875rem;
	margin: 0;
	box-sizing: border-box;
	transition: all .4s;
}
#content04 .lottery__txtBox .lottery__txt{
	font-size: .935rem;
	line-height: 1;
	letter-spacing: calc((80 / 1000) * 1em);
	text-align: left;
	color : #000000;
	width : 100%;
	text-indent: -1rem;
	padding-left: 1rem;
	height: 0;
	opacity: 0;
	transition: opacity .2s , all .4s;
}


#content04 .lottery__txtBox li.lottery__txt::before{
	content: "\02022";
	padding-right: .5rem;
}
#content04 .lottery:first-of-type .lottery__txtBox ul:first-of-type li.lottery__txt::before{
	content: none;
	padding-right: 0;
}

#content04 .lottery__ttl.acc_open::after{
	transform: translateY(-50%);
}
#content04 .lottery__ttl.acc_open + .lottery__txtBox{
	border-top: 1px dotted #000000;
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
}
#content04 .lottery__ttl.acc_open + .lottery__txtBox .lottery__txt{
	line-height: 1.6875;
	height: auto;
	opacity: 1;
}
#content04 .lottery:first-of-type .acc_open + .lottery__txtBox ul:first-of-type{
	margin-bottom: 1.5rem;
}

/*---------------------------------------------------------------------   content03__description[ul]	----*/

#content04 .descriptionBox > ul.flex-box{
	-ms-justify-content: start;
	-webkit-justify-content: start;
	justify-content: start;
	margin-top: 2.25rem;
}
#content04 .descriptionBox > ul.flex-box li{
	position: relative;
}
#content04 .descriptionBox > ul.flex-box li:not(:last-child){
	padding-right: 1.6875rem;
	box-sizing: border-box;
	margin-right: 1.6875rem;
}
#content04 .descriptionBox > ul.flex-box li:not(:last-child)::after{
	content: "";
	width: 1px;
	display: block;
	position: absolute;
	top: 10%;
	bottom: 10%;
	right: 0;
	margin: auto;
	background: #000000;
}

#content04 .descriptionBox > ul.flex-box li a{
	width: 15.625rem;
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.85;
	letter-spacing: calc((20 / 1000) * 1em);
	text-align: center;
	color : #ffffff;
	background: #000000;
	border-radius: 1.25rem;
	display: block;
	transition: all .4s;
	position: relative;
}
#content04 .descriptionBox > ul.flex-box li a[target*="_blank"]::after{
	content: "";
	background: url('../images/blank_icon.png') no-repeat;
	background-position: center;
	background-size: 100%;
	width: .875rem;
	height: .6875rem;
	display: block;
	position: absolute;
	top: 50%;
	right: 1.25rem;
	transform: translateY(-50%);
}


/*---------------------------------------------------------------------   content03__description__visit	----*/

#content04 .descriptionBox .visit{
	margin-top: 2rem;
}
#content04 .descriptionBox .visit li.description__txt::before{
	content: "\02022";
	padding-right: .5rem;
}

footer {
	background: var(--sakamotoColorA);
}






@media only screen {
	/* 元は (max-width: 1500px) だったが、この開きに対応する閉じ括弧が元ファイルに無く、
	   ここから先の広い範囲（.detailtxt 等）が1500px以下でしか効かなくなっていたため、
	   常に真になる条件に変更して復旧（内部の入れ子メディアクエリはそのまま機能する） */
	#content_goods .content_goods_Box_list ,
	#content_speed .content_speed_Box_list{
		padding: 0 2%;
		box-sizing: border-box;
	}

	#content_goods .content_goods_Box_listitem_txtContents{
		width: 1px;
	}

	/* #content_goods .content_goods_Box [data-column="2"] .content_goods_Box_listitem:nth-child(1){
		max-width: 36vw;
		width: 100%;
	} */
	/* #content_goods .content_goods_Box [data-column="2"] .content_goods_Box_listitem:nth-child(2){
		max-width: 55vw;
		width: 100%;
	} */

	/* #content_goods .content_goods_Box [data-column="3"] .content_goods_Box_listitem{
		max-width: 29.8vw;
		width: 100%;
	} */

	/* #content_goods .content_goods_Box:not(:nth-child(2)) [data-column="2"] .content_goods_Box_listitem:nth-child(1){
		max-width: 45vw;
		width: 100%;
	} */
	/* #content_goods .content_goods_Box:not(:nth-child(2)) [data-column="2"] .content_goods_Box_listitem:nth-child(2){
		max-width: 45vw;
		width: 100%;
	} */


	#mainimage .mv_logo{
		max-width: 25vw;
	}

	#mainimage .event_logo{
		max-width: 46vw;
		margin-bottom: 2rem;
	}

	#mainimage .event_date figure:nth-child(1){max-width: 30vw;}
	#mainimage .event_date figure:nth-child(2){max-width: 31vw;}





























@media only screen and (max-width: 1200px) {/* 1100pxまで */

	/* #nav__menu , *[id^="content"] .container{
		padding-left: 1rem;
		padding-right: 1rem;
		box-sizing: border-box;
	} */

	*[id^="content"] > #content_goods .item__listBox:nth-of-type(1) .item__list li:nth-child(1) ,
	*[id^="content"] > #content_goods .item__listBox:nth-of-type(3) .item__list li:nth-child(2){
		max-width: calc(429px * .95);
	}

	*[id^="content"] > #content_goods .item__listBox:nth-of-type(1) .item__list li:nth-child(2) ,
	*[id^="content"] > #content_goods .item__listBox:nth-of-type(3) .item__list li:nth-child(1){
		max-width: calc(679px * .95);
	}

	*[id^="content"] > #content_goods .item__listBox:nth-of-type(2) .item__list li{
		max-width: calc(367px * .95);
	}

	*[id^="content"] > #content_goods .item__listBox:nth-of-type(4) .item__list li{
		max-width: calc(554px * .95);
	}
	*[id^="content"] > div[id^="content"] .item__list li:last-child{transform: none;}

	*[id^="content"] > #content_goods .item__list li {
		padding: 1.5rem 1rem 1.25rem;
	}
	*[id^="content"] > div[id^="content"] .item__img{
		margin-bottom: .5rem;
	}

	*[id^="content"] > #content_speed .item__listBox:nth-of-type(1) .item__list li{
		max-width: calc(549px * .95);
		padding-bottom: 1rem;
	}


	*[id^="content"] > #content_speed .item__listBox:not(:nth-of-type(1)) .item__list li{
		max-width: calc(1110px * .98);
		padding-bottom: 1rem;
	}

	*[id^="content"] > #content_speed [class^="item__name"]{
		margin-bottom: 1.5rem;
	}

	#content_goods .content_goods_Box_list, #content_speed .content_speed_Box_list{
		padding: 0;
	}

}


@media only screen and (max-width: 1100px) {/* 1000pxまで */

	*[id^="content"] > #content_goods .item__list li{
		padding: 1.25rem 1rem;
	}
	*[id^="content"] > #content_goods .item__listBox:nth-of-type(1) .item__list li:nth-child(1) ,
	*[id^="content"] > #content_goods .item__listBox:nth-of-type(3) .item__list li:nth-child(2){
		max-width: calc(429px * .86);
	}

	*[id^="content"] > #content_goods .item__listBox:nth-of-type(1) .item__list li:nth-child(2) ,
	*[id^="content"] > #content_goods .item__listBox:nth-of-type(3) .item__list li:nth-child(1){
		max-width: calc(679px * .86);
	}

	*[id^="content"] > #content_goods .item__listBox:nth-of-type(2) .item__list li{
		max-width: calc(367px * .86);
	}

	*[id^="content"] > #content_goods .item__listBox:nth-of-type(4) .item__list li{
		max-width: calc(554px * .86);
	}

	*[id^="content"] > div[id^="content"] .item__img img{
		max-width: 90%;
		width: 100%;
	}
	*[id^="content"] > div[id^="content"] .item__listBox:nth-of-type(1) .item__list li:nth-child(2) .item__img img{
		max-width: 80%;
	}

	*[id^="content"] > div[id^="content"] .item__listBox:nth-of-type(2) .item__list li:nth-child(1) .item__img img{
		max-width: 58%;
	}
	*[id^="content"] > div[id^="content"] .item__listBox:nth-of-type(2) .item__list li:nth-child(n + 2) .item__img img{
		max-width: 73%;
	}

	/* *[id^="content"] > div[id^="content"] .item__listBox:nth-of-type(3) .item__list li:nth-child(1) .item__img img{
		max-width: 89%;
	} */

	*[id^="content"] > div[id^="content"] .item__listBox:nth-of-type(3) .item__list li:nth-child(2) .item__img img{
		max-width: 64%;
	}

	*[id^="content"] > div[id^="content"] .item__listBox:nth-of-type(4) .item__list li .item__img img{
		max-width: 52.5%;
	}

	*[id^="content"] > div[id^="content"] [class^="item__name02"]{
		font-size: 1.125rem;
	}

	*[id^="content"] > div[id^="content"] .item__caution:empty{
		height: 0;
	}



	*[id^="content"] > #content_speed .item__listBox:nth-of-type(1) .item__list li{
		max-width: calc(549px * .87);
		padding-bottom: 1rem;
	}


	*[id^="content"] > #content_speed .item__listBox:not(:nth-of-type(1)) .item__list li{
		max-width: calc(1110px * .9);
		padding-bottom: 1rem;
	}

	*[id^="content"] > #content_speed .item__listBox:nth-of-type(1) .item__list li:nth-child(1) .item__img img{
		max-width: 76%;
	}
	*[id^="content"] > #content_speed .item__listBox:nth-of-type(1) .item__list li:nth-child(2) .item__img img{
		max-width: 90%;
	}

	*[id^="content"] > #content_speed .item__listBox:not(:nth-of-type(1)) .item__img img{
		max-width: 70%;
	}

	*[id^="content"] > #content_speed .item__listBox:nth-of-type(3) .item__img img{
		max-width: 60%;
	}

	#content04 .venue__undertxt {
		font-size: 1rem;
	}
	#content04 .venue__txt{
		font-size: .875rem;
	}

	#nav__menu ul {transform: translateX(11px) scale(.9);}


}

@media only screen and (max-width: 1000px) {/* 820pxまで */
	.smp_br{
		display: block;
	}
	.container h2.__ttl span {
		font-size: 2.5rem;
	}
	*[id^="content"] > #content_goods .item__list li{
		padding: 1rem;
	}
	*[id^="content"] > #content_goods .item__listBox:nth-of-type(1) .item__list li:nth-child(1) ,
	*[id^="content"] > #content_goods .item__listBox:nth-of-type(3) .item__list li:nth-child(2){
		max-width: calc(100vw * .36);
		height: 31vw;
	}

	*[id^="content"] > #content_goods .item__listBox:nth-of-type(1) .item__list li:nth-child(2) ,
	*[id^="content"] > #content_goods .item__listBox:nth-of-type(3) .item__list li:nth-child(1){
		max-width: calc(100vw * .57);
		height: 31vw;
	}

	*[id^="content"] > #content_goods .item__listBox:nth-of-type(2) .item__list li{
		max-width: calc(100vw * .31);
		height: 31vw;
	}

	*[id^="content"] > #content_goods .item__listBox:nth-of-type(4) .item__list li{
		max-width: calc(100vw * .47);
		height: 34vw;
	}

	*[id^="content"] > div[id^="content"] [class^="item__name"]{
		font-size: 2vw;
		margin-bottom: .75rem;
	}
	*[id^="content"] > div[id^="content"] [class^="item__name02"]{
		font-size: 1.7vw;
	}
	*[id^="content"] > div[id^="content"] .item__price {
		font-size: .75rem;
	}
	*[id^="content"] > div[id^="content"] .item__caution {
		font-size: .5rem;
	}

	*[id^="content"] > #content_speed .item__listBox:nth-of-type(1) .item__list li{
		max-width: calc(100vw * .47);
		height: 44vw;
	}


	*[id^="content"] > #content_speed .item__listBox:not(:nth-of-type(1)) .item__list li{
		max-width: calc(1110px * .9);
		height: 35vw;
	}

	*[id^="content"] > #content_speed [class^="item__name"]{
		margin: 1rem .75rem;
	}


	*[id^="content"] > #content_speed .item__listBox:nth-of-type(2) .item__list li .item__caution {
		margin-right: 7rem;
	}

	*[id^="content"] > #content_speed .item__listBox:nth-of-type(3) .item__list li .item__caution {
		margin-right: 9.3rem;
	}

	*[id^="content"] > #content_speed .item__listBox:nth-of-type(4) .item__list li .item__caution {
		margin-right: 7rem;
	}

	#content04 .venue__undertxt {
		font-size: .8rem;
	}


	#content04 .venue__txt{
		font-size: .75rem;
		padding: 0 0 1rem calc(.75rem + .625rem);
	}

	#content04 .lottery__txtBox .lottery__txt{
		font-size: .875rem;
	}


	#content04 .descriptionBox > ul.flex-box li a {
		width: 100%;
		font-size: .875rem;
		padding: 0.3rem 2.5rem;
	}

	#content04 .descriptionBox > ul.flex-box li:not(:last-child) {
	padding-right: 1rem;
	margin-right: 1rem;
	}

	#nav__menu ul {
		transform: translateX(11px) scale(.85);
	}


	/* #content_goods .content_goods_Box [data-column="2"] .content_goods_Box_listitem:nth-child(1){
		max-width: 35.5vw;
		width: 100%;
	}
	#content_goods .content_goods_Box [data-column="3"] .content_goods_Box_listitem{
		max-width: 30vw;
		width: 100%;
	}

	#content_goods .content_goods_Box:not(:nth-child(2)) [data-column="2"] .content_goods_Box_listitem:nth-child(2){
		max-width: 36vw;
		width: 100%;
	}

	#content_goods .content_goods_Box:nth-last-child(2) [data-column="2"] .content_goods_Box_listitem:nth-child(1) , 
	#content_goods .content_goods_Box:nth-last-child(2) [data-column="2"] .content_goods_Box_listitem:nth-child(2) , 
	
	#content_speed .content_speed_Box:nth-child(2) [data-column="2"] .content_speed_Box_listitem:nth-child(1) , 
	#content_speed .content_speed_Box:nth-child(2) [data-column="2"] .content_speed_Box_listitem:nth-child(2){
		max-width: 46.5vw;
		width: 100%;
	} */

	#content04 .description__ttl {
		font-size: 1.2rem;
	}
}

























@media only screen and (max-width: 820px) {/* 768pxまで */
	.smp_br{
		display: block;
	}
	*[id^="content"] > #content_goods .item__list li{
		padding: 1rem;
	}
	*[id^="content"] > #content_goods .item__listBox:nth-of-type(1) .item__list li:nth-child(1) ,
	*[id^="content"] > #content_goods .item__listBox:nth-of-type(3) .item__list li:nth-child(2){
		max-width: calc(429px * .66);
		height: auto;
	}

	*[id^="content"] > #content_goods .item__listBox:nth-of-type(1) .item__list li:nth-child(2) ,
	*[id^="content"] > #content_goods .item__listBox:nth-of-type(3) .item__list li:nth-child(1){
		max-width: calc(679px * .66);
		height: auto;
	}

	*[id^="content"] > #content_goods .item__listBox:nth-of-type(2) .item__list li{
		max-width: calc(367px * .66);
		height: auto;
	}

	*[id^="content"] > #content_goods .item__listBox:nth-of-type(4) .item__list li{
		max-width: calc(554px * .66);
		height: auto;
	}

	*[id^="content"] > div[id^="content"] [class^="item__name"]{
		font-size: 2vw;
		margin-bottom: .75rem;
	}
	*[id^="content"] > div[id^="content"] [class^="item__name02"]{
		font-size: 1.7vw;
	}
	*[id^="content"] > div[id^="content"] .item__price {
		font-size: .75rem;
	}
	*[id^="content"] > div[id^="content"] .item__caution {
		font-size: .5rem;
	}

	*[id^="content"] > #content_speed .item__listBox:nth-of-type(1) .item__list li{
		max-width: calc(549px * .66);
		height: auto;
	}


	*[id^="content"] > #content_speed .item__listBox:not(:nth-of-type(1)) .item__list li{
		max-width: calc(1110px * .9);
		height: auto;
	}

	*[id^="content"] > #content_speed [class^="item__name"]{
		margin: 1rem .75rem;
	}


	*[id^="content"] > #content_speed .item__listBox:nth-of-type(2) .item__list li .item__caution {
		margin-right: 7rem;
	}

	*[id^="content"] > #content_speed .item__listBox:nth-of-type(3) .item__list li .item__caution {
		margin-right: 9.3rem;
	}

	*[id^="content"] > #content_speed .item__listBox:nth-of-type(4) .item__list li .item__caution {
		margin-right: 7rem;
	}


	#content_goods .content_goods_Box [data-column="2"] .content_goods_Box_listitem:nth-child(1){
		max-width: 35vw;
		width: 100%;
	}
	#content_goods .content_goods_Box:not(:nth-child(2)) [data-column="2"] .content_goods_Box_listitem:nth-child(2){
		max-width: 45vw;
		width: 100%;
	}

	#content_goods .content_goods_Box:nth-last-child(2) [data-column="2"] .content_goods_Box_listitem:nth-child(1) , 
	#content_goods .content_goods_Box:nth-last-child(2) [data-column="2"] .content_goods_Box_listitem:nth-child(2) , 
	
	#content_speed .content_speed_Box:nth-child(2) [data-column="2"] .content_speed_Box_listitem:nth-child(1) , 
	#content_speed .content_speed_Box:nth-child(2) [data-column="2"] .content_speed_Box_listitem:nth-child(2){
		max-width: 45vw;
		width: 100%;
	}

	#mainimage .mv_logo{
		top: 2rem;
	}

	#mainimage .event_date {
		max-width: calc(450px + 490px + (7px * 2));
		width: 100%;
		margin: 0px auto 1rem;
	}
}























@media only screen and (max-width: 767px) {/* 375pxまで */
	*[id^="content"] > div[id^="content"] .item__list .item__detail {
		margin-right: 0;
	}
	.sp_br , .sp_img{display: block;}
	.pc_br{display: none;}

	#mainimage .mv_logo {
		top: 1rem;
	}
	
	#mainimage .mv__positon{
		bottom: .5rem;
	}
	#mainimage .event_date figure{
		max-width: calc((100% - (5rem * 1)) / 2)!important;
	}

	#mainimage .event_logo {
		max-width: 56vw;
		margin-bottom: .5rem;
	}

	#mainimage .mv_copy p{
		font-size: .625rem;
		text-shadow:
		1px 1px 0 #ffffff,
		-1px -1px 0 #ffffff,
		-1px 1px 0 #ffffff,
		1px -1px 0 #ffffff,
		0px 1px 0 #ffffff,
		0 -1px 0 #ffffff,
		-1px 0 0 #ffffff,
		1px 0 0 #ffffff;
	}


	#nav__menu{
		padding-top: 2rem;
		padding-bottom: 2rem;
	}

	*[id^="content"] > div[id^="content"] {
		margin-top: 0;
	}

	#nav__menu ul{
		-ms-align-items: inherit;
		-webkit-align-items: inherit;
		align-items: inherit;
	}

	#nav__menu li{
		max-width: 48%;
		margin: 0 auto;
	}

	#nav__menu li:not(:last-child){
		margin-bottom: 0;
	}

	/* #nav__menu li a {
		font-size: 3.08vw;
		text-align: center;
	} */


	#nav__menu li::before {
		width: calc(23.8125rem * .45);
		height: calc(9rem * .45);
	}

	#nav__menu ul{
		transform: none;
	}


	#benefits {
		padding-top: 3rem;
		padding-bottom: 3rem;

	}

	.container h2.__ttl {
		gap: .125rem;
		margin-bottom: 1.75rem;
	}
	.container h2.__ttl span {
		font-size: 1.4rem;
	}


	.smp_br , .pc_img{display: none;}




	*[id^="content"] > div[id^="content"]:not(:last-child) {
		margin-bottom: 0;
	}

	*[id^="content"] .content__ttl span {
		font-size: 2rem;
	}
	*[id^="content"] .content__ttl span::after {
		width: calc(3.625rem * .8);
		height: calc(5.3125rem * .8);
	}
	*[id^="content"] .content__ttl {
		margin-bottom: 2.5rem;
	}
	#benefits .content__ttl {
		margin-bottom: 2rem;
	}

	#benefits .content__ttl img{width: 70%;}


	#benefits .tokuten .tokuten__ttl{
		font-size: .8rem;
		line-height: 1.5;
	}
	#benefits .tokuten .tokuten__txt{
		font-size: .85rem;
	}

	main *[id^="content"] > *:is(#content_goods , #content_speed) .item__listBox .item__list li{
		max-width: 100%!important;
		background: url(../images/item__01_l.png) center top / 100% no-repeat!important;
	}

	*[id^="content"] > div[id^="content"] [class^="item__name"] {
		font-size: 4.65vw;
		/* margin-bottom: 0.75rem; */
		margin-bottom: 0;
	}
	*[id^="content"] > div[id^="content"] .item__img img {
		max-width: 75%!important;
		width: 100%!important;
		margin: 0 auto;
	}

	*[id^="content"] > #content_goods .item__listBox:nth-of-type(2) .item__list li:nth-child(1) .item__img img ,
	*[id^="content"] > #content_goods .item__listBox:nth-of-type(2) .item__list li:nth-child(2) .item__img img{
		max-width: 70%!important;
	}

	*[id^="content"] > #content_speed .item__img img {
		max-width: 64%!important;
		width: 100%!important;
		margin: 0 auto;
	}

	*[id^="content"] > div[id^="content"] .item__img{
		text-align: center;
		margin-bottom: 0;
	}
	*[id^="content"] > div[id^="content"] .item__caution:empty {
		height: calc(0.2rem + 0.6875rem);
	}
/*
	*[id^="content"] > div[id^="content"] .item__listBox:nth-of-type(2) .item__list li:nth-child(1) .item__img img{
		max-width: 66%!important;
	}

	*[id^="content"] > div[id^="content"] .item__listBox:nth-of-type(2) .item__list li:nth-child(2) .item__img img{
		max-width: 83%!important;
	}

	*[id^="content"] > div[id^="content"] .item__listBox:nth-of-type(2) .item__list li:nth-child(3) .item__img img{
		max-width: 75%!important;
	}

	*[id^="content"] > div[id^="content"] .item__listBox:nth-of-type(3) .item__list li:nth-child(2) .item__img img ,
	*[id^="content"] > div[id^="content"] .item__listBox:nth-of-type(4) .item__list li:nth-child(2) .item__img img{
		max-width: 72%!important;
	}

	*[id^="content"] > div[id^="content"] .item__listBox:nth-of-type(4) .item__list li:nth-child(1) .item__img img{
		max-width: 66%!important;
	} */

	*[id^="content"] > div[id^="content"] .item__price {
		font-size: .875rem;
	}
	*[id^="content"] > div[id^="content"] .item__caution {
		font-size: .75rem;
	}
	#content_goods {
		padding: 3rem 1rem;
		background-size: 100%,110%;
		background-position: center top,left top -0.5%;
	}

	#content_goods .content__ttl img , 
	#content_speed .content__ttl img{
		width: 75%;
	}
	
	#content04 .content__ttl img{
		width: 80%;
	}

	#content_goods .content_goods_Box [data-column] .content_goods_Box_listitem , 
	#content_speed .content_speed_Box [data-column] .content_speed_Box_listitem{
		max-width: 100%!important;
		width: 100%;
	}















	#content_speed , #content_birthday{
		padding-top: 3rem;
		padding-bottom: 3rem;
		background-position: right top, left top 1rem, center top;
    background-size: 50%, 35%, 100%;
	}

	/* *[id^="content"] > #content_speed .item__listBox:nth-of-type(2) .item__list li,
	*[id^="content"] > #content_speed .item__listBox:nth-of-type(3) .item__list li,
	*[id^="content"] > #content_speed .item__listBox:nth-of-type(4) .item__list li{
		background: url(../images/item__01_ss.png) center top / 100% no-repeat!important;
		height: 59vw;
		padding-top: .5rem;
	}

	*[id^="content"] > #content_speed .item__listBox:nth-of-type(1) .item__list li:nth-child(1) .item__img img{
		max-width: 66%!important;
	}
	*[id^="content"] > #content_speed .item__listBox:nth-of-type(1) .item__list li:nth-child(2) .item__img img{
		max-width: 81.5%!important;
	}
	*[id^="content"] > #content_speed .item__listBox:nth-of-type(2) .item__list li .item__img img{
		max-width: 86%!important;
	}

	*[id^="content"] > #content_speed .item__listBox:nth-of-type(3) .item__list li .item__img img{
		max-width: 86%!important;
	}

	*[id^="content"] > #content_speed .item__listBox:nth-of-type(4) .item__list li .item__img img{
		max-width: 86%!important;
	} */
	*[id^="content"] > #content_speed .item__caution{
		margin-bottom: 0;
	}

	*[id^="content"] > #content_speed .item__listBox:not(:nth-of-type(1)) [class^="item__name"] {
		padding: 0.75rem 0;
		display: block;
		font-size: 4.2vw;
	}

	*[id^="content"] > #content_speed .item__listBox:last-of-type [class^="item__name"] {
			font-size: 3.5vw;
	}

	*[id^="content"] > #content_speed .item__listBox .item__list li .item__caution {
		margin-right: 1.5rem!important;
	}

	*[id^="content"] > div[id^="content"] .item__list li {
		max-width: calc((100% - (.625rem)) / 2);
	}
	*[id^="content"] > div[id^="content"] .item__list li:not(:nth-child(4n)):not(:last-child) {
		margin-right: 0;
	}
	*[id^="content"] > div[id^="content"] .item__list li:nth-child(n + 5) {
		margin-top: 0;
	}

	*[id^="content"] > div[id^="content"] .item__list li:not(:nth-child(2n)):not(:last-child) {
		margin-right: 0;
	}
	*[id^="content"] > div[id^="content"] .item__list li:nth-child(n + 2) {
		margin-top: .625rem;
	}
	*[id^="content"] > div[id^="content"] .item__list .item__ttl{
		font-size: 1rem;
		line-height: 1.5;
	}


	#content_speed .content__ttl_undertxt {
		font-size: 1.25rem;
		margin-bottom: 2.5rem;

	}

	#content_birthday .birthday .birthday__txt {
		font-size: .875em;
	}


	#content04 {
		padding: 3rem 1rem 5rem;
	}

	#content04 .content_box:not(:last-child) {
		margin-bottom: 2.5rem;
}
	#content04 .content__ttl {
		font-size: 8.5vw;
	}

	#content04 .content__ttl_undertxt {
		margin-top: 1.25rem;
		margin-bottom: 2.25rem;
	}

	#content04 .venue{
		max-width: 100%;
	}
	#content04 .venue:not(:last-child){
		margin-bottom: 1.35rem;
	}

	#content04 .venue__undertxt {
		font-size: 1rem;
		padding-left: 3%;
		padding-right: 3%;
		width: 85%;
	}
	#content04 .venueBox {
		margin-bottom: 2rem;
		padding: 0 0 2rem;
	}
	#content04 #shibuya_lottery .description__ttl {
		font-size: 3.85vw;
		position: relative;
		padding-left: 1em;
	}
	#content04 #shibuya_lottery  + .description .description__ttl {
		font-size: 3.85vw;
		position: relative;
		padding-left: 1em;
	}
	#content04 #shibuya_lottery .lottery__ttl{
		font-size: 3.85vw;
		position: relative;
	}

	#content04 #shibuya_lottery .description__ttl::before , 
	#content04 #shibuya_lottery  + .description .description__ttl::before{
		position: absolute;
		left: 0;
	}
	#content04 #umeda_lottery .description__ttl {
		font-size: 3.85vw;
		position: relative;
		/* padding-left: 1em; */
	}
	#content04 #umeda_lottery .lottery__ttl{
		font-size: 3.85vw;
		position: relative;
	}

	#content04 #umeda_lottery .description__ttl::before , 
	#content04 #umeda_lottery  + .description .description__ttl::before{
		/* position: absolute; */
		left: 0;
	}


















	#content04 .venue__ttl {
		font-size: 1.25rem;
		padding: .8125rem 1rem 1.0625rem;
	}
	#content04 .venue__txt {
		font-size: .875rem;
		padding: 0.5rem 1rem 1rem;
	}
	#content04 .venue__time {
		font-size: .875rem;
		line-height: 1.25;
		padding: 0 1rem 1.25rem;
	}
	#content04 .other__order {
		line-height: 1.5;
	}


	#content04 .descriptionBox {
		padding: 1rem;
	}

	#content04 .description__ttl {
		font-size: 1.125rem;
		line-height: 1.25;
		letter-spacing: calc((0 / 1000) * 1em);
		margin-bottom: 1rem;
	}
		#content04 .description__ttl::before {
			margin-right: .5rem;
	}
	#content04 .description__txt {
		font-size: .75rem;
	}

	#content04 .line--under{
		text-decoration: underline;
	}
	#content04 .line--under::after{
		content: none;
	}


	#content04 .descriptionBox dl {
		margin-top: 1.25rem;
		margin-bottom: 1.25rem;
	}
#content04 .descriptionBox dl > .flex-box{
	margin-bottom: .5rem;
}
	#content04 .descriptionBox dl.limit dt {
		font-size: .875rem;
		line-height: 1.8;
		margin-bottom: .25rem;
	}
	#content04 .descriptionBox dl dd {
		font-size: .875rem;
	}


	#content04 .lottery__ttl {
		font-size: 1.25rem;
		padding: 1.25rem 1rem;
	}
	#content04 .lottery__ttl::after {
		right: 1rem;
	}
	#content04 .lottery__txtBox {
		padding: 0 1rem;
	}
	#content04 .lottery__txtBox .lottery__txt {
		font-size: .75rem;
		text-indent: 0rem;
		padding-left: 0rem;
	}
	#content04 .lottery:not(:last-child) {
		margin-bottom: 1rem;
	}
	#content04 .lottery__txtBox li.lottery__txt {
		text-indent: -1rem;
		padding-left: 1rem;
	}

	#content04 .descriptionBox > ul.flex-box li {
		margin-left: 0!important;
		margin-right: 0!important;
		max-width: 100%;
		width: 100%;
		padding-right: 0!important;
	}
	#content04 .descriptionBox > ul.flex-box li:not(:last-child){
		margin-bottom: .875rem;
	}

	#content04 .descriptionBox > ul.flex-box li a {
		font-size: 3.8vw;
		padding: .5rem;
	}

	#content04 .descriptionBox > ul.flex-box li::after ,
	#content04 .descriptionBox > ul.flex-box li:not(:last-child)::after{
		content: none;
	}

	#content04 .descriptionBox .visit {
		margin-top: 1.25rem;
	}
	#content04 .descriptionBox dl.limit dt{
		width: 100%;
		margin-left: 0;
	}
	#content04 .descriptionBox dl.limit dt::after{
		content: none;
	}


	#content04 .descriptionBox > ul.flex-box {
		margin-top: 2rem;
	}




	#content04 .newinfo__txt{
		font-size: .875rem;
	}

	#content04 .newinfo__button{
		padding-left: 1rem;
		padding-right: 1rem;
		box-sizing: border-box;
	}
	#content04 .newinfo__button a{
		font-size: 1.25rem;
		border-radius: 0.625rem;
		padding: 1.5rem 0 1.65rem;
	}

	#nav__menu {
		padding: 4.5vw 1.5rem;
	}
	#nav__menu p{
		font-size: 2.08vw;
		margin-top: 2rem;
	}
}
@media only screen and (max-width: 900px) {
	#nav__menu li a{
		font-size: 4.6vw;
	}
}

.content_limited{
	background: #9ed8f6;
}
.content_limited .content_limited_box{
	max-width: 1200px;
    padding: 15px 0;
    margin: 0 auto;
    display: flex;
    justify-content: space-evenly;
}
.content_limited .content_limited_box li{
	width: calc((100% - 15px) / 2);
}

/* @media only screen and (max-width: 767px) {
	.content_limited .content_limited_box{
		padding: 13vw 0;
	}
} */


#info_content{
	padding-top: 9.375rem;
	padding-bottom: 9.375rem;
	box-sizing: border-box;
	background: url(../images/background01.jpg) center / 100% no-repeat;
	text-align: center;
	position: relative;
}

#info_content .info_title{
    color: #df1f51;
    font-size: 2.25rem;
	font-weight: 600;
    letter-spacing: calc(90 / 1000 * 1rem);
    max-width: 674px;
    width: 100%;
    margin: 3.5rem auto 2rem;
}
#info_content .info_title span{
	font-size: 80%;
}
#info_content .info_dayarea{
	max-width: 1000px;
	width: 100%;
	margin: 0 auto 2.5rem;
}
#info_content .info_txtbox:not(:last-child){
	margin-bottom: 2.5rem;
}
#info_content .intro_dayttl{
	height: 3.75rem;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 3.5rem;
	letter-spacing: calc((80 / 1000) * 1em);
	text-align: center;
	color : #ffffff;
	display: block;
	box-sizing: border-box;
	margin-bottom: 1.5rem;
}
#info_content .info_txtbox:nth-child(1) .intro_dayttl{background: var(--sakamotoColorA);}

#info_content .intro_day{
	font-size: 1.75rem;
	font-weight: bold;
	font-feature-settings: "palt" 1;
	line-height: 1;
	letter-spacing: calc((80 / 1000) * 1em);
	text-align: center;
	color : var(--sakamotoColorA);
	display: inline-block;
	margin: 0 auto;
}

#info_content .intro_day span{
	font-size: 80%;
	font-weight: inherit;
	line-height: 1;
	letter-spacing: calc((80 / 1000) * 1em);
	text-align: center;
	color : inherit;
	display: block;
	margin: .875rem auto 0;
}


#info_content .intro_day span.txt-small{
	font-size: 80%;
	display: inline-block;
	margin: 0;
	/* transform: translateY(-15%); */
}


#info_content .intro_txt{
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: calc((140 / 1000) * 1em);
	text-align: center;
	color : #ffffff;
	margin: 0 auto 1.75rem;
}

#detail{
	margin-bottom: 0;
	padding-left: 15px;
	padding-right: 15px;
	flex-direction: column;
}
.detailtxt{
	display: inline-block;
	max-width: 1000px;
	width : 100%;
	margin: 0;
	border-radius: 10px;
	box-sizing: content-box;
	overflow: hidden;
}
.detailtxt:not(:last-child){
	margin-bottom: 2.5rem;
}
.detailtxt h4{
	width: 100%;
	font-size: 1.375rem !important;
	font-weight: 500 !important;
	line-height: 1;
	letter-spacing: calc((80 / 1000) * 1em);
	text-align: left;
	color:#ffffff;
    padding: 1rem 1.875rem 1.25rem !important;
	box-sizing: border-box;
	background-color: var(--sakamotoColorA);
	display: block;
	margin-bottom: 0;
	cursor: pointer;
	position: relative;
}
.detailtxt h4::after{
	content: "";
	background: url('../images/acc_icon.png') no-repeat;
	background-position: center;
	background-size: 100%;
	width: .8125rem;
	height: .4375rem;
	display: block;
	position: absolute;
	top: 50%;
	right: 1.875rem;
	transform: translateY(-50%) scale(1, -1);
	transition: all .4s;
	filter: invert(100%);
}

.detailtxt ul , .detailtxt li{list-style: none;}
.detailtxt ul{
	width: 100%;
	padding: 0 1.875rem;
	margin: 0;
	box-sizing: border-box;
	transition: all .4s;
	background: #fafafa;
	border: 1px solid #dddddd;
	border-top: none;
}

.detailtxt li{
	font-size: 1rem;
	line-height: 1;
	letter-spacing: calc((80 / 1000) * 1em);
	text-align: left;
	color : #000000;
	width : 100%;
	text-indent: -1rem;
	padding-left: 1rem;
	height: 0;
	opacity: 0;
	transition: opacity .2s , all .4s;
}
.detailtxt li::before{
	content: "\02022";
	padding-right: .5rem;
}
.color-463f8c{color: #df1f51;}


.detailtxt h4.acc_open::after{
	transform: translateY(-50%);
}
.detailtxt h4.acc_open + ul{
	padding: 1.5rem 1.875rem;
}
.detailtxt h4.acc_open + ul > li{
	line-height: 1.6875;
	height: auto;
	opacity: 1;
}
@media only screen and (max-width: 767px){
	#info_content{
		padding: 2.25rem 15px;
	}
	#info_content .info_title{
		font-size: 4.69vw;
		margin: 2rem 0;
	}
	#info_content .intro_dayttl{
		font-size: 1.25rem;
	}
	#info_content .intro_day{
		font-size: 1.2rem;
        line-height: 1.5;
        text-align: left;
	}
	.detailtxt h4{
		font-size: 1.125rem !important;
        padding: .86rem 1rem 1rem !important;
	}
	.detailtxt li{
		font-size: .9rem;
	}
	#mainimage .mv_img {
		padding: 0;
	}
	#content_goods .__goodslist {
		flex-direction: column;
		padding: 0;
	}
	#content_goods .__goodslist li {
		width: 100%;
	}
	#nav__menu .flex-box li a {
		font-size: 4.6vw;
	}
	main > *[id] .container h2 {
		font-size: 9.55vw;
		margin: 0 auto 7.8vw;
	}
	main > *[id] .container h2 span {
		height: 18.7vw;
        width: 18.7vw;
	}
	.container .__ttl {
		max-width: 85%;
	}
}
}
/* ↑ 元ファイルの@media only screen and (max-width: 1500px)（1204行目付近）が閉じられておらず、
   ここまでの内容が全てそのメディアクエリ内に入ってしまっていたための閉じ括弧を追加 */

/*---------------------------------------------------------------------   content02 / content03（自サイトの配色に合わせた上書き）	----*/

#content02{
	background: url(../images/item_back.jpg) repeat;
}
#content02 .strong{
	color: var(--sakamotoColorA);
}
#content02 .intro_dayttl{
	color: #ffffff;
}
#content02 .info_txtbox:nth-child(1) .intro_dayttl,
#content02 .info_txtbox:nth-child(2) .intro_dayttl{
	background: var(--sakamotoColorA);
}
#content02 .info_txtbox:nth-child(1) .intro_dayttl {
	background: #ffd93c;
	color: var(--sakamotoColorA);
}
#content02 .intro_day{
	color: var(--sakamotoColorA);
}
#content02 .intro_day span{
	color: #ffffff;
}
.detailtxt:nth-child(1) h4,
.detailtxt:nth-child(2) h4{
	background: var(--sakamotoColorA);
}
.detailtxt ul{
	background: #ffffff;
	border: 1px solid var(--sakamotoColorA);
	border-top: none;
}
.detailtxt li{
	color: #231815;
}
.detailtxt li a{
	color: #b71c22;
}
/* main [id] 向けのリセット（margin:0;padding:0;font-size:100%）がクラス1つ+要素のセレクタより
   詳細度で勝ってしまうため、#detail を付けて確実に上書きされるようにする */
#detail .detailtxt h4{
	font-size: 1.375rem !important;
	padding: 1rem 1.875rem 1.25rem !important;
}
#detail .detailtxt ul{
	padding: 0 1.875rem !important;
	margin: 0 !important;
}
#detail .detailtxt h4.acc_open + ul{
	padding: 1.5rem 1.875rem !important;
}
#detail .detailtxt li{
	padding-left: 1rem !important;
}
@media only screen and (max-width: 767px){
	/* SPでの余白感を参考ページ通りにするためのSP専用値（上のPC用!importantを上書き） */
	#detail .detailtxt h4{
		font-size: 1rem !important;
		padding: .86rem 1rem 1rem !important;
	}
	#detail .detailtxt ul{
		padding: 0 1rem !important;
	}
	#detail .detailtxt h4.acc_open + ul{
		padding: 1rem !important;
	}
}

#content03{
	background: url(../images/item_back.jpg) repeat;
}
main #content03 .container h2 span{
	color: var(--sakamotoColorA);
}

/*---------------------------------------------------------------------   itemcategory（EC限定商品・通常販売商品）	----*/

.itemcategory{
	max-width: 1200px;
	margin: 0 auto !important;
	padding: 3.75rem 2.5rem 4.5rem !important;
	box-sizing: border-box;
	overflow: hidden;
}
.itemcategory:not(:last-child){
	margin-bottom: 3rem !important;
}
.itemcategory__ttl{
	max-width: none;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.25rem;
	font-size: 3.75rem !important;
	font-weight: 900 !important;
	font-style: italic;
	letter-spacing: calc((60 / 1000) * 1em);
	text-align: center;
	margin: 0 auto 3rem !important;
}
.itemcategory__ttl::before,
.itemcategory__ttl::after{
	content: "";
	display: block;
	height: 2px;
	flex: 1 1 auto;
	max-width: 340px;
}
.itemcategory--ec{
	background-color: #f8d33c;
	background-image: url(../images/ec-item-back.jpg);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 100%;
}
.itemcategory--ec .itemcategory__ttl{
	color: var(--sakamotoColorA);
}
.itemcategory--ec .itemcategory__ttl::before,
.itemcategory--ec .itemcategory__ttl::after{
	background: var(--sakamotoColorA);
}
.itemcategory--normal{
	background-color: #0e9eda;
	background-image: url(../images/normal-item-back.jpg);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 100%;
}
.itemcategory--normal .itemcategory__ttl{
	color: #fff;
	text-shadow: 0 0 6px rgba(8, 82, 150, 0.8);
}
.itemcategory--normal .itemcategory__ttl::before,
.itemcategory--normal .itemcategory__ttl::after{
	background: #fff;
}
@media only screen and (max-width: 1000px){
	.itemcategory{
		max-width: none;
		margin-left: .625rem !important;
		margin-right: .625rem !important;
	}
	.itemcategory__ttl{
		font-size: 2.75rem !important;
	}
}
@media only screen and (max-width: 767px){
	.itemcategory{
		padding: 2.5rem 1.25rem 3rem !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.itemcategory:not(:last-child){
		margin-bottom: 2rem !important;
	}
	.itemcategory__ttl{
		gap: .625rem;
		font-size: 2rem !important;
		margin-bottom: 1.75rem !important;
	}
	.itemcategory__ttl::before,
	.itemcategory__ttl::after{
		max-width: 15vw;
	}
}

#content03 .bnr_block{
	background: #c6c7c6;
	padding: 6.25rem 1rem 6.25rem;
	box-sizing: border-box;
}
#content03 .bnr{
	max-width: 960px;
	margin: 0 auto;
}
/* main [id] div のリセットでBootstrapグリッドの左右ガター(15px)が消えてしまい、
   商品カードの文字が画面端に張り付いていたため、#itemlist 内のカラムだけ復元する */
#itemlist .row > [class*="col-"]{
	padding-left: 15px !important;
	padding-right: 15px !important;
}

#itemlist .item__type{
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: calc((50 / 1000) * 1rem);
	color: #fff;
	margin-bottom: .75rem;
	text-align: left;
}

.formbox .form__btn:not(:last-child){
	margin-bottom: .75rem;
}
.formbox .form__btn button{
	background: #b71c22;
	color: #fff;
}
