@charset "UTF-8";

/* -------------------------------------------------------

   UTILITY

------------------------------------------------------- */

/*
   テキスト
----------------------------------------*/

/* フォントサイズ */
.fsXL {font-size: 16px;}
.fsL {font-size: 15px;}
.fsS {font-size: 13px;}
.fsXS {font-size: 12px;}
.fsXXS {font-size: 11px;}
@media only screen and (min-width:361px) {
	.fsXL {font-size:1.4em;}
	.fsL {font-size:1.2em;}
	.fsS {font-size:0.9em;}
	.fsXS {font-size:0.8em;}
	.fsXXS {font-size:0.67em;}
}

/* フォントの太さ */
.fwB {font-weight: bold;}
.fwN {font-weight: normal;}

/* テキストカラー */
.white {color : white;}
.black {color: black;}
.gray {color: gray;}
.error {color: #ff0000;}
.dRed {color: #d00e31;} /* docomo red */

/* 行揃え */
.textLeft {text-align: left;}
.textRight {text-align: right;}
.textCenter {text-align: center;}

/* 非表示テキスト */
.invisibleTxt {display: none;}

/* インデント */
.notesIndent{
	text-indent: -1.0em;
	padding: 0px 0px 0px 1em; /* 左一文字分開ける */
	font-size: 16px;
	line-height: 1.4;
}
.txtIndent {
    text-indent: -1em;
    padding-left: 1em;
}
.txtIndent02 {
    text-indent: -2em;
    padding-left: 2em;
}
.txtIndent03 {
    text-indent: -1.5em;
    padding-left: 1.5em;
}
/* 段落 */
.lineSpan{
	margin-bottom: 1em; /* 下一行分開ける */
}


/*
   ブロック
----------------------------------------*/

/* フロート */
.floatLeft {float: left;}
.floatRight {float: right;}
.floatNone {float: none;}

/* clearfix */
/* .cfx {*zoom: 1;} */
.cfx:before,
.cfx:after {
	content: "";
	display: table;
}
.cfx:after {
	clear: both;
}

/* ブロック要素 */
.dBlock {display: block;}


/*
   余白
----------------------------------------*/

/*----------------margin----------------*/
/* px指定 */
.mt0 {margin-top: 0 !important;}
.mt5 {margin-top: 5px !important;}
.mt10 {margin-top: 10px !important;}

.mb0 {margin-bottom: 0 !important;}
.mb5 {margin-bottom: 5px !important;}
.mb10 {margin-bottom: 10px !important;}

.ml0 {margin-left: 0 !important;}
.ml5 {margin-left: 5px !important;}
.ml10 {margin-left: 10px !important;}

.mr0 {margin-right: 0 !important;}
.mr5 {margin-right: 5px !important;}
.mr10 {margin-right: 10px !important;}

/* %指定 */
.mt5p {margin-top: 0.46297% !important;}
.mt10p {margin-top: 0.92593% !important;}
.mt20p {margin-top: 1.85186% !important;}
.mt30p {margin-top: 2.77778% !important;}
.mt40p {margin-top: 3.7038% !important;}
.mt50p {margin-top: 4.62963% !important;}
.mt60p {margin-top: 5.55556% !important;}
.mt70p {margin-top: 6.48149% !important;}

.mb5p {margin-bottom: 0.46297% !important;}
.mb10p {margin-bottom: 0.92593% !important;}
.mb20p {margin-bottom: 1.85186% !important;}
.mb30p {margin-bottom: 2.77778% !important;}
.mb40p {margin-bottom: 3.7038% !important;}
.mb50p {margin-bottom: 4.62963% !important;}
.mb60p {margin-bottom: 5.55556% !important;}
.mb70p {margin-bottom: 6.48149% !important;}

.mr5p {margin-right: 0.46297% !important;}
.mr10p {margin-right: 0.92593% !important;}
.mr20p {margin-right: 1.85186% !important;}
.mr40p {margin-right: 3.7038% !important;}
.mr80p {margin-right: 7.40741% !important;}

.ml5p {margin-left: 0.46297% !important;}
.ml10p {margin-left: 0.92593% !important;}
.ml20p {margin-left: 1.85186% !important;}
.ml40p {margin-left: 3.7038% !important;}
.ml80p {margin-left: 7.40741% !important;}

/*----------------padding---------------*/

/* px指定 */
.pt0 {padding-top: 0 !important;}
.pt5 {padding-top: 5px !important;}
.pt10 {padding-top: 10px !important;}

.pb0 {padding-bottom: 0 !important;}
.pb5 {padding-bottom: 5px !important;}
.pb10 {padding-bottom: 10px !important;}

.pl0 {padding-left: 0 !important;}
.pl5 {padding-left: 5px !important;}
.pl10 {padding-left: 10px !important;}

.pr0 {padding-right: 0 !important;}
.pr5 {padding-right: 5px !important;}
.pr10 {padding-right: 10px !important;}

/* %指定 */
.pt5p {padding-top: 0.46297% !important;}
.pt10p {padding-top: 0.92593% !important;}
.pt20p {padding-top: 1.85186% !important;}
.pt30p {padding-top: 2.77778% !important;}
.pt40p {padding-top: 3.7038% !important;}
.pt50p {padding-top: 4.62963% !important;}
.pt60p {padding-top: 5.55556% !important;}
.pt70p {padding-top: 6.48149% !important;}

.pb5p {padding-bottom: 0.46297% !important;}
.pb10p {padding-bottom: 0.92593% !important;}
.pb20p {padding-bottom: 1.85186% !important;}
.pb30p {padding-bottom: 2.77778% !important;}
.pb40p {padding-bottom: 3.7038% !important;}
.pb50p {padding-bottom: 4.62963% !important;}
.pb60p {padding-bottom: 5.55556% !important;}
.pb70p {padding-bottom: 6.48149% !important;}

.pr5p {padding-right: 0.46297% !important;}
.pr10p {padding-right: 0.92593% !important;}
.pr20p {padding-right: 1.85186% !important;}
.pr40p {padding-right: 3.7038% !important;}
.pr80p {padding-right: 7.40741% !important;}

.pl5p {padding-left: 0.46297% !important;}
.pl10p {padding-left: 0.92593% !important;}
.pl20p {padding-left: 1.85186% !important;}
.pl40p {padding-left: 3.7038% !important;}
.pl80p {padding-left: 7.40741% !important;}

.pl1em{padding-left: 1em;}

/* デバイス表示切り分け */
.pcView {display: none;}
.spView {display: block;}

@media only screen and (min-width:641px) {
	.pcView {display: block;}
	.spView {display: none;}
}


sup {
	font-size: 70%;
	vertical-align: top;
	position: relative;
	top: 0.1em;
}

.dh-Grid{background-color: #ffffff;}
@media screen and (max-width: 767.98px) {
    .dh-Grid {
        padding-left: 0;
        padding-right: 0;
    }
}
/* d払いcommon上書き */
.dh-bread-nav-list{
	background-color: #ffffff;
}
.dh-bread-nav .dh-bread-nav-list{
	padding-left: 8%;
}
@media screen and (min-width: 768px) {
    .dh-bread-nav {
        margin: 0 auto;
    }
}
@media screen and (max-width: 767.98px) {
    .dh-bread-nav {
        margin-top: 0;
        padding-left: 0;
        width: 100%;
    }
}



/* アンカーボタン */
.cont03 .dh-button.dh-button-type2 .button {
    align-items: center;
    background-color: #d4f1f8;
    border: 1px solid #000000;
    border-radius: 144px;
    cursor: pointer;
    display: flex;
    height: 50px;
    justify-content: center;
    position: relative;
    transition: opacity .3s ease-out;
    width: 100%;
	border-bottom: 4px solid #000000;
}
.anchor_area {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    margin: 3.6rem 0 2rem;
    gap: 1rem;
    border-radius: 10px;
}

.cont03 .dh-button.dh-button-type2.anchor_btn {
    flex-basis: 48.5%;

}

.cont03 .dh-button.dh-button-type2.anchor_btn .button {
    padding-left: 20px;
    justify-content: flex-start;
    border-radius: 10px;
    height: 80px;
}

.cont03 .dh-button.dh-button-type2 .button .text {
    line-height:1.2;
}
.cont03 .dh-button.dh-button-type2 .button .text {
    color: #4d4639;
    font-size: 1.8rem;
    font-weight: 700;
}
.cont03 .dh-button.dh-button-type2 .button .icon-right.type-arror-down {
    background: url(/keitai_payment/corporation/schoolfestival/kse_special_package/img/ico_arrow.png) no-repeat 0 0, 100%;
}

@media screen and (max-width: 768px) {
    .anchor_area,
    .area_shop,
    .camp_content,
    .camp_detail,
    .contact_area {
        margin-right: auto !important;
        margin-left: auto !important;
    }

    .cont03 .anchor_area {
        padding: 2rem 1.6rem;
        flex-direction: column;
    }
	.cont03 .dh-button.dh-button-type2.anchor_btn .button {
		padding-left: 20px;
		padding-right: 40px;
		justify-content: flex-start;
		border-radius: 10px;
		height: 80px;
	}
}




  /*  */
.cont01{

}
.contInnerBox{
	max-width: 640px;
	width: 100%;
	background-color: #ffffff;
	border: 1px solid #000000;
	border-radius: 10px;
	box-sizing: border-box;
	padding: 4.5% 4.5% 3%;
	margin-top: 9%;
}
.contInnerTxt{
	padding: 1.5em 0 0;
	font-size: 18px;
	line-height: 1.5;
}
.contInnerTxt .ttl{
	font-size: 28px;
	font-weight: bold;
	margin-bottom: 0.8em;
}

.cont02{
	background-color: #a6edff;
	padding-top: 5.7%;
	padding-bottom: 6.3%;
}
.img02{
	max-width: 624px;
	width: 89.14285%;
	margin: 0 auto;
	padding-bottom: 8.1%;
}
.img03{
	width: 100%;
	margin-bottom: -1.5%;
}
.txtBlock{
	max-width: 620px;
	width: 88.57142%;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.75;
}
.txt01{
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	padding-bottom: 4%;
}
.txt02{
	font-size: 21px;
	font-weight: bold;
	padding-bottom: 4%;
}
@media screen and (max-width: 768px) {
	.txt01{
		font-size: 16px;
	}
	.txt02{
		font-size: 14px;
	}
}
.cont03{
	padding: 0 4.285% 5%;
}

.cont04{
	background-color: #ffdfe1;
	padding-top: 9%;
	padding-bottom: 7%;
}
.cont04Ttl{
	max-width: 620px;
	width: 88.5714%;
	margin: 0 auto;
	padding-bottom: 5.5%;
}
.cpBox01{
    max-width: 620px;
    width: 88.5714%;
    margin: 0 auto 7.5%;
    background-color: #ffffff;
    border: 2px solid #000000;
    border-radius: 10px;
    padding: 3% 4.5% 5%;
    font-size: 24px;
    line-height: 1.5;
	box-shadow: 3px 4px #ff5f6b;
    position: relative;
}
.cpBox01 .ttl{
	font-weight: bold;
	font-size: 28px;
	margin-bottom: 0.5em;
}
.cpBox01 .subTtl{
	font-weight: bold;
	margin-bottom: 0.8em;
}
@media screen and (max-width:768px) {
	.cpBox01{
		font-size: 18px;
	}
	.cpBox01 .ttl{
		font-size: 20px;
	}
	.img06{
		width: 90%;
		margin: 0 auto;
	}

}
.cont05{
	background-color: #f0eeec;
	padding-top: 9%;
	padding-bottom: 7%;
}
.cont05Ttl{
	max-width: 620px;
	width: 88.5714%;
	margin: 0 auto;
	padding-bottom: 0.5%;
}

/* ご注意事項 */
.camp_detail {
    max-width: 700px;
    border-radius: 10px;
    padding: 0 4rem 4rem;
}

.camp_detail_area {
    max-width: 620px;
    background: white;
    margin: 2.4rem auto;
    padding: 1.8rem 0;
    border-radius: 10px;
}

.camp_detail_area * {
    line-height: 1.6;
}

.camp_detail_list:not(:first-child) .camp_detail_area_head {
    margin-top: 2.4rem;
}

.camp_detail_area_head {
    display: flex;
    height: 4rem;
    margin-bottom: 1.2rem;
    color: #3D3D3D;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    align-items: center;
    justify-content: center;
}

.camp_detail_area_head_bg {
    width: 77px;
    height: 40px;
    background: url(../img/camp_detail_area_head_bg.png) no-repeat;
}

.camp_detail_area_head_txt {
    width: 100%;
    height: 40px;
    padding-top: 8px;
    padding-right: 8%;
    background-color: #DBD9D0;
}

.camp_detail_area_contents {
    padding: 0 1.8rem;
}

.camp_detail_area_txt {
    font-size: 1.4rem;
    color: #3D3D3D;
}

ul.camp_detail_area_txt li {
    text-indent: -11px;
    padding-left: 10px;
}

ul.camp_detail_area_txt li:before {
    content: '・';
}

.camp_detail_area_txt_kome {
    margin: 1.2rem 0;
}

.camp_detail_area_txt_kome li {
    padding-left: 10px;
    font-size: 1.2rem;
    text-indent: -11px;
}

.camp_detail_area_txt_kome li:before {
    content: '※' !important;
}

.ul_indent {
    text-indent: 10px;
    padding-left: 10px;
}















/* アコーディオン */
.dh-accordion.-list.-info {
    border-radius: 13px;
    border: none;
}

.dh-accordion.-list.-info .dh-accordion-head {
    padding: 11px 17px 13px;
    background: #DBD9D0;
}

.dh-accordion .dh-accordion-head-title {
    justify-content: center;
}

.dh-accordion.-list.-info .dh-accordion-head-title {
    flex-basis: 100%;
}

.dh-accordion.-list.-info.camp_detail_acc .dh-accordion-body {
    padding: 0;
}

.dh-accordion.-list.-info.camp_detail_acc .dh-accordion-body .camp_detail_area_contents {
    padding-bottom: 1.8rem;
    line-height: 1.5;
}

.dh-accordion.-list.-info.camp_detail_acc .dh-accordion-body-list {
    padding: 1.8rem;
    padding-left: 3.5rem;
}

.dh-accordion.-list.camp_detail_acc .dh-accordion-body-list li:after {
    background: none;
}

.dh-accordion.-list.camp_detail_acc .dh-accordion-body-list .num > li {
    list-style-type: decimal;
    font-size: 1.4rem;
}

ul.gatakana {
    padding: 1rem 0;
    padding-left: 2.3rem;
    font-size: 1.2rem;
}

ul.gatakana li {
    text-indent: -1.8rem;
}

span.gatakana_span {
    display: inline-block !important;
    padding: 0 7.5px !important;
}






.img10{
	max-width: 371px;
	width: 53%;
	margin: 0 auto;
}

.dLBtnArea{
	max-width: 371px;
	width: 53%;
	margin: 0 auto;
	overflow: hidden;
	padding: 4.5% 0 4%;
}

.dLBtnArea li{
	max-width: 161px;
	width: 43.39622%;
	margin-left: 13%;
	float: left;
}
.dLBtnArea li:first-child{
	margin-left: 0;
}



.dh-button.dh-button-round02.appBtn {
    margin: 0;
}
.dh-button.dh-button-round02.moreCpnBtn .link,
.dh-button.dh-button-round02.appBtn .link {
    width: 283px;
    margin: 0 auto;
    background-color: #CC0033;
}




.contact_area {
    max-width: 700px;
    margin: 3.6rem 0;
    border-radius: 10px;
    padding: 3rem 4rem;
}

.contact_ttl {
    font-size: 2.3rem;
    font-weight: bold;
    text-align: center;
}

.contact_inner {
    display: flex;
    margin-top: 2.3rem;
    background: white;
    border-radius: 10px;
    padding: 3rem 0.8rem;
}

/* .contact_flex {
    flex-basis: 50%;
    gap: 4rem;
    display: flex;
    flex-direction: column;
    padding: 0 0.7rem;
} */

/* .contact_flex:not(:last-child) {
    border-right: dotted 2px #D4D2CF;
}
 */
.contact_detail {
    flex-basis: 50%;
    text-align: center;
}

.contact_detail_ttl {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 1.5rem;
    line-height: 1.5;
}

.contact_detail_subttl {
    font-size: 1.4rem;
    color: #C5002A;
    margin-bottom: 0.5rem;
}

.contact_detail_txt {
    margin-top: 1.2rem;
    color: #707070;
    font-size: 1.2rem;
    line-height: 1.5;
}

.btnArea .dh-button.dh-button-type2.shop-top .button {
    margin: 0 auto;
    width: 250px;
}
.only-pc-contact {
    display: block !important;
}
.only-sp-contact {
    display: none !important;
}
/*@media screen and (max-width:768px) {*/
	.only-pc-contact {
        display: none !important;
    }
	.only-sp-contact {
        display: block !important;
    }
    .contact_area {
        margin: 0;
        padding: 3rem 1.6rem;
    }

    .contact_inner {
        flex-direction: column;
        padding: 3rem 0rem;
    }

    .contact_detail {
        margin: 0 1.8rem;
    }

    .contact_detail:not(:first-child) {
        padding-top: 1.4rem;
    }

    .contact_detail:not(:last-child) {
        border-bottom: dotted 2px #D4D2CF;
        padding-bottom: 1.4rem;
    }

    .dh-app-dl .dl-head {
        width: unset;
    }

    .dh-app-dl .dl-body .AppStore,
    .dh-app-dl .dl-head .text {
        margin-bottom: 1.2rem;
    }

    .btnArea .dh-button.dh-button-round02 {
        /* margin-bottom: 7.6vw; */
        margin-top: 0;
    }

/*}*/


.contInnerBox02 {
    background-color: #ffe3e5;
    width: 100%;
    padding: 3% 8.575% 3%;
}

.dh-carousel .dh-carousel-inner{
	background-color: transparent;
}
.dh-carousel.carousel-type4 .dh-carousel-inner{
	background-color: transparent;
}

.dh-carousel.carousel-type4 .dh-carousel-inner .splide .splide__pagination{
	display: flex;
}

.slideBlock{
	width: 80%;
	margin: 0 auto;
}

.floatBnr{
	position: fixed;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	background-color: #ffffff;
	color: white;
	padding: 10px 20px;
	width: 100%;
}
.floatBnrPc{
	max-width: 640px;
	width: 91.42857%;
	margin: 0 auto;
}

footer.dh-footer {
    padding-bottom: 20%;
}


@media screen and (max-width: 767.98px) {
	.contInnerTxt .ttl {
		font-size: 1.8rem;
	}
	.cont04 {
		/* background-image: url(../img/bg04_sp.png);
		background-repeat: no-repeat;
		background-size: cover;
		padding: 3% 4.285% 30%; */
	}
	.cont04Inner::after{
		content: '';
		display: inline-block;
		width: 130px;
        height: 90px;
		background-image: url(../img/poinko.png);
		background-size: contain;
		position: absolute;
		bottom: 0%;
		right: 10%;
	}
	.cont04Inner{
		display: block;
		width: 100%;
		background-color: #fff5d2;
		/* height: 100%; */
		padding: 3% 4.285% 30%;
		background-image: url(../img/bg04_sp.png);
		background-repeat: no-repeat;
		background-size: contain;
		background-position-y: bottom;
		position: relative;
}
}


.cont04 .dh-carousel .dh-carousel-inner .splide:not(.is_top) .splide__slide {
    width: 100% !important;
}

.cont04Inner::after{
    content: '';
    display: inline-block;
    width: 247px;
    height: 159px;
    background-image: url(../img/poinko.png);
	background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0%;
    right: 10%;
}
@media screen and (max-width: 767.98px) {
	.cont04Inner::after{
		content: '';
		display: inline-block;
		width: 130px;
        height: 90px;
		background-image: url(../img/poinko.png);
		background-size: contain;
		position: absolute;
		bottom: 0%;
		right: 10%;
	}
}
.cpBox01 .end::before{
    content: "";
    background-color: rgba(204, 204, 204, 0.8);
    position: absolute;
    width: 93%;
    height: 90%;
    top: 5%;
    left: 3%;
    display: inline-block;
    text-align: center;
}
.cpBox01 .end::after{
    content: "終了しました";
    position: absolute;
    width: 90%;
    height: 90%;
    top: 50%;
    left: 0%;
    display: inline-block;
    text-align: center;
    font-weight: bold;
}