@charset "shift_jis";
/*
 float clear
-----------------*/
.clrF:after{
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}
.clrF{
	/*display:inline-table;*/
	min-height:1%;
}
/* \*/
html .clrF{
	height:1%;
}
.clrF{
	display:block;
}
/*loginBox非表示**********************/
.loginSelect .loginBox2018 li:last-child {
	display:none!important;
}
.loginSelect .loginBox2018 li .box .btn,
.loginSelect .loginBox2018 li .box .pass{
	text-align: center;
}

.kv_note {
  font-size: 14px;
  margin-inline: auto;
  margin-top: 5px;
  padding-left: 1em;
  text-indent: -1em;
  text-align: left;
}

.entryText {
	margin-top: 30px;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
}
.button {
	margin-top: 10px;
	display: block;
	inline-size: fit-content;
	margin-inline: auto;
}

/* 共通パーツ */
.bg01 {
  margin-top: calc((67 / 710) * 100%) ;
  padding: calc((40 / 710) * 100%) 0 calc((60 / 710) * 100%);
  background-color: #fff;
}
.smallText {
  font-size: min( 4vw, 30px);
}
.largeText {
  font-size: min( 7.3333vw, 55px);
}
.bnrBlock01 {
  padding: 0;
  margin: 0;
}

/* entryBlock01 */
.entryBlock01 {
  padding: calc((62 / 750) * 100%) 0 calc((40 / 750) * 100%);
  background: #f2fbfe url(https://images.astyle.jp/images/campaignEntry/all2506_18/anaOpen_bg_001_250701.png) no-repeat top center;
  background-size: contain;
  margin-top: 5%;
}
.entryBlock01Inner {
  width: calc((710 / 750) * 100%);
  margin: calc((60 / 750) * 100%) auto 0;
}

/* courseBlock01 */
.entryCourse01 {
  margin-top: calc((30 / 710) * 100%);
}
.entryCourse01Inner {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}
.courseBlock01 {
  display: flex;
  flex-direction: column;
  box-shadow: 7px 7px 0px 0px #d6e0e4;
}
.courseBlock01 + .courseBlock01 {
  margin-top: calc((40 / 710) * 100%);
}
.courseContent01 {
  padding: 2% 4% 3%;
  background-color: #fff;
  border: 2px solid #063190;
  border-top: none;
  flex: 1 0 auto;
}
.courseText {
  font-size: min( 5.0666vw, 38px);
  color: #063190;
  font-weight: bold;
  line-height: 1.35;
}
.courseText01 {
  margin-top: calc((10 / 710) * 100%);
  font-size: min( 4vw, 27px);
  color: #1b1b1b;
  letter-spacing: -0.05em;
  line-height: 1.5;
}
.notation01 {
  margin-top: calc((21 / 710) * 100%);
  margin-bottom: 55px;
  font-size: min( 3.2vw, 22px);
  line-height: 1.5;
  letter-spacing: -0.025em;
}
.courseImg{
  width: 77%;
  margin-inline: auto;
  margin-top: 3%;
  margin-bottom: 3%;
}

/* entryCourse02 */
.courseContent01 {
  position: relative;
}
.entryCourse02Inner {
  width: calc((630 / 710) * 100%);
  margin: 0 auto;
}
.ticketImg {
  position: absolute;
  width: calc((205 / 710) * 100%);
  top: 8%;
  right: -2%;
  z-index: 1;
}
.courseContent02 {
  margin-top: calc((18 / 710) * 100%);
}
.courseContent02 p {
  color: #1b1b1b;
}
.courseText02 {
  font-size: min( 4.6666vw, 35px);
  letter-spacing: -0.05em;
}
.entryCourse02Inner .h2_ttl01 {
  margin-top: calc((100 / 710) * 100%);
}
.notation02 {
  font-size: min( 2.1333vw, 16px);
  line-height: 1.5;
}
.courseBnr{
  margin-top: 15%;
}
.courseContent02 .courseImg{
  margin-top: 7%;
}

/* productBlock01 */
.productBlock01 {
  margin-top: calc((39 / 710) * 100%);
}
.productList01 {
  width: calc((630 / 710) * 100%);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}
.productItem01 {
  width: calc((100% / 3) - (((30 / 630) * 100%) * 2) / 3);
}
.productItem01:not(:nth-child(3n+1)) {
  margin-left: calc((30 / 630) * 100%);
}
.productItem01:nth-child(n+4) {
  margin-top: calc((60 / 630) * 100%);
}
.productItem01name {
  margin-top: 16px;
  font-size: 12px;
  line-height: 1.429;
  font-weight: bold;
  overflow-wrap: break-word;
}


/* entryMethodBlock01 */
.entryMethodBlock01 {
  margin: calc((40 / 750) * 100%) auto 0;
  width: calc((710 / 750) * 100%);
}

/* entryMethod02 */
.entryMethod02 {
  margin-top: calc((90 / 710) * 100%);
}
.entryText01 {
  margin-top: calc((60 / 710) * 100%);
  font-size: min( 4vw, 30px);
  text-align: center;
  color: #1b1b1b;
  font-weight: bold;
  line-height: 1;
}
.entryBtnBlock01 {
  margin-top: calc((40 / 710) * 100%);
  display: flex;
  flex-direction: column;
}
.entryBtn01 {
  width: calc((670 / 710) * 100%);
  margin: 0 auto;
  box-shadow: 6px 6px 0px 0px #d9d9d9;
  border-radius: 10px;
}
.entryBtn01 + .entryBtn01{
  margin-top: calc((30 / 710) * 100%);
}
.notation02 {
  font-size: min( 2.6666vw, 20px);
  width: calc((670 / 710)* 100%);
  margin-inline: auto;
  margin-top: calc((25 / 710) * 100%);
  color: #1b1b1b;
  line-height: 1.5;
}

.entryMethod03 {
  margin-top: calc((80 / 710) * 100%);
}
.textImg02 {
  margin-top: calc((40 / 710) * 100%);
}

/* bannerWrap */
.bannerWrap .bannerList {
	width: calc((690 / 710) * 100%);
	margin: calc((40 / 710) * 100%) auto 0;
	display: flex;
	flex-wrap: wrap;
}
.bannerWrap .bannerList .bannerItem {
  width: calc(50% - calc((25 / 690) * 100%) / 2);
}
.bannerWrap .bannerList .bannerItem:not(:nth-child(2n+1)) {
  margin-left: calc((25 / 690) * 100%);
}
.bannerWrap .bannerList .bannerItem:nth-child(n+3) {
  margin-top: calc((25 / 690) * 100%);
}

/* infoBlockA01 */
.infoBlockA01 {
  margin-top: calc((60 / 710) * 100%);
}
.infoBlockA01 .textBlock01{
	margin: 0 0 10px;
}
.infoBlockA01 .textBlock01 .textA01{
	font-size: min( 4vw, 30px);
	font-weight: bold;
	line-height: 1.5;
}
.infoBlockA01 .headingBlockB01 {
	padding: 3% 0;
	text-align: center;
	font-size: min( 3.7333vw, 28px);
	color: #2d2c2c;
	background: #e4e4e4;
	border: solid 1px #dedede;
	border-bottom: none;
}
.infoBlockA01 .headingBlockB01 h2 {
	font-weight: bold;
}
.infoBlockA01 table.cpn{
	border-collapse: collapse;
	text-align: left;
	line-height: 1.5;
	border: 1px solid #ccc;
	border-top: none;
}
.infoBlockA01 table.cpn tbody th{
	width: calc((96 / 709) * 100%);
	padding:9px 0;
	vertical-align: top;
	text-align:center;
	font-size: min( 2.9322vw, 22px);
	font-weight: bold;
	background:#fff;
	border: 1px solid #dedede;
	border-top:none;
}
.infoBlockA01 table.cpn tbody td{
	padding: 1%;
	font-size: min( 2.9322vw, 22px);
	color: #333;
	border-bottom: 1px solid #ccc;
  vertical-align: middle;
}
.infoBlockA01 table.cpn td ul:first-child{
	margin: 0 0 5%;
}
.infoBlockA01 table.cpn td ul li{
	margin: 0 0 3px;
	padding:0;
	font-size: min( 2.9322vw, 22px);
	line-height:1.4;
	text-indent:inherit;
	letter-spacing: 0.04em;
}
.infoBlockA01 table.cpn td ul li.txt01{
	font-weight: bold;
}


/* 250701up */
.btnblock01Btn{
  margin-top: 50px;
  text-align: center;
}
.btnblock01Note{
  margin: 30px 50px;
  font-size: 18px;
}
.entryBlock01 .textImg01{
  text-align: center;
}
.courseText04{
  margin-top: 2%;
  font-size: min( 4vw, 30px);
  color: #eb4555;
  letter-spacing: initial;
}
.entryMethod01 .textImg01{
  width: 73%;
  margin: 6% auto;
}

/* termsBlock */
.termsBlock {
  margin-top: 10%;
  background-color: #eaf6fc;
  padding: 7% 4%;
  font-size: min( 3.2vw, 16px);
  text-align: left;
  line-height: 1.5;
}
.termsBlock .termsTtl {
  margin-bottom: 4%;
  font-size: min( 6.2vw, 32px);
  font-weight: bold;
  color: #0a3091;
  text-align: center;
}
.termsBlock .termsSubTtl {
  margin-bottom: 5%;
  padding-bottom: 6%;
  font-size: min( 4.2vw, 26px);
  font-weight: bold;
  color: #1b1b1b;
  text-align: center;
  border-bottom: 2px solid #0a3091;
}
.textGroup {
  margin-bottom: 18px;
}
.textGroup:last-child {
  margin-bottom: 0;
}
.textGroup .textGroupTitle {
  margin-bottom: 2px;
  font-weight: bold;
}
.clBlue {
  color: #193b95;
}
.bold {
  font-weight: bold;
}
.indent {
  text-indent: -1em;
  padding-left: 1em;
}
.textGroup a.cledLink {
  display: inline;
}

.btnBlockA01.active{
display: none !important;
}
.accordionA01BtnShow.btnBlockA01{
display: block;
}
.accordionA01BtnShow.btnBlockA01.active{
display: none;
}
.accordionA01BtnShow {
  margin-top: 30px;
}

.cpnBlock{
margin: 60px 0;
padding: 30px 0;
border: solid 1px #0a3091;
}
.cpnTxt01{
font-size: 22px;
font-weight: bold;
text-align: center;
}
.cpnCodeTtl{
margin: 30px 0 10px;
font-size: 16px;
text-align: center;
font-weight: bold;
}
.cpnCode{
font-size: 50px;
text-align: center;
font-weight: bold;
}

#CONTENT.system a.cledLink:link, #CONTENT.system a.cledLink:visited {
  text-decoration: underline;
  color: #002596;
}


/* 完了ページ */
div#entry_form #kv p.kv_txt, div#entry_form #kv p.kv_code {
  padding: 30px 0 60px;
}
.complete_banner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.complete_banner li {
  width: 210px;
}
.complete_banner li:nth-child(n+4) {
  margin-top: 25px;
}
.complete_banner li img {
  width: 100%;
  height: auto;
}