@charset "UTF-8";

img { display: block; width: 100%; }
img {
 image-rendering: -webkit-optimize-contrast;
}
i {
display: inline-block;
line-height: 1;
margin-right: 8px;
width: 12px;
height: 12px;
}
h1, h2, h3, h4, h5, h6 {
font-weight: normal;
}
/*
diplaynone -------------------------------------------
*/

@media print, screen and (min-width:768px) {
    .pc_none {display: none;}
}
@media screen and (max-width:767px) {
    .sp_none {display: none;}
}

/*
Header -------------------------------------------
*/
#header_mainimg_wrap {
position: relative;
}
#header_mainimg_inner {
width: 100%;
background-repeat: no-repeat;
background-position: center bottom;
}
#head_logo, #head_logo a {
display: block;
}
#headlogo_con img {
height: auto;
}
#head_period span {
display: block;
}
#head_x_btn {
position: absolute;
}
#head_x_btn a {
display: flex;
justify-content: center;
align-items: center;
}
#head_x_btn a img {
display: block;
width: 26px;
height: 26px;
}
#head_entry_btn {
position: absolute;
right: 0px;
bottom: 20px;
}
#head_entry_btn a {
display: flex;
justify-content: center;
align-items: center;
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
background-color: var(--clr_yellow);
}
#head_entry_btn a img {
display: block;
}
#header_mainnavi_wrap {
color: #fff;
}
#header_mainnavi_menu {
display: flex;
justify-content: space-between;
}
#header_mainnavi_menu li a {
font-weight:700; 
}
#header_mainnavi_menu li a i {
width: 12px;
height: 12px;
display: block;
}
#header_mainnavi_menu li a i::before {
background-color: #fff;
width: 12px;
}

@media print, screen and (min-width:768px) {
	#header_mainimg_wrap {
	background-image: url("../images/line_w180_h8.svgz"), url("../images/home_back_cloud_left.png"), url("../images/home_back_cloud_right.png"), url("../images/back_green.png");
	background-repeat: repeat-x, no-repeat, no-repeat, repeat;
	background-position: center top, left 26px top 100px, right 26px top 44px ,center center;
	background-size: 180px 8px, 268px 192px, 246px 200px ,480px 480px;
	}
	.top2025 #header_mainimg_inner {
	height: 728px;
	background-image: url("../images/home_main_back.png");
	padding-top: 38px;
	}
	.spot2025 #header_mainimg_inner {
	height: 398px;
	background-image: url("../images/cat_main_back.png");
	padding-top: 38px;
	}
	#headlogo_con {
	width: 480px;
	margin: 98px auto 0;
	}
	#head_period {
	width: 296px;
	margin: 12px auto 0;
	}
	#head_period span {
	margin-left: 32px;
	}
	#head_x_btn {
	left: 24px;
	top: 32px;
	}
	#head_x_btn a {
	width: 60px;
	height: 60px;
	border-radius: 30px;
	background-color: var(--clr_green);
	}
	#head_entry_btn a {
	width: 70px;
	height: 208px;
	}
	#head_entry_btn a img {
	width: 40px;
	height: 167px;
	}
	#header_mainnavi_wrap {
	margin-top: 6px;
	height: 70px;
	background-color: var(--clr_green);
	}
	#header_mainnavi_logo, 
	#header_mainnavi_logo a{
	display: block;
	width: 200px;
	}
	#header_mainnavi_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	}
	#header_mainnavi_menu {
	width: 494px;
	}
	#header_mainnavi_menu li a {
	display: flex;
	align-items: center;
	height: 70px;
	line-height: 1;
	}
}

@media screen and (max-width:767px) {
	#header_mainimg_wrap {
	background-image: url("../images/line_w180_h8.svgz");
	background-repeat: repeat-x;
	background-position: center top;
	background-size: 180px 8px;
	background-color: var(--clr_green);
	}
	.top2025 #header_mainimg_inner {
	background-image: url("../images/home_main_back_sp.png");
	background-size: 767px 500px;
	}
	.top2025 #headlogo_con {
	padding: 34px 0px 500px;
	}
	.spot2025 #headlogo_con {
	padding: 34px 0px 0px;
	}
	 #head_catch {
	display: block;
	}
	#head_logo, #head_catch {
	padding: 0 20px;
	}
	#head_logo a, #head_catch img {
	display: block;
	max-width: 400px;
	margin: 0 auto 12px;
	}
	#head_period {
	background-color: var(--clr_yellowgreen);
	padding: 10px 0;
	}
	#head_period span {
	width: 220px;
	margin: 0 auto;
	}
	#head_x_btn {
	right: 0px;
	bottom: 190px;
	}
	#head_x_btn a {
	width: 52px;
	height: 52px;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	background-color: var(--clr_yellowgreen);
	}
	#head_entry_btn a {
	width: 52px;
	height: 164px;
	}
	#head_entry_btn a img {
	width: 32px;
	height: 142px;
	}
	#header_mainnavi_wrap {
	background-image: url("../images/back_green.png");
	background-repeat: repeat;
	padding: 26px 0 16px;
	}
	#header_mainnavi_menu {
	max-width: 500px;
	margin: 0 auto;
	flex-wrap: wrap;
	}
	#header_mainnavi_menu li {
	width: calc((100% - 6px) / 2);
	margin-bottom: 10px;
	}
	#header_mainnavi_menu li a {
	display: block;
	background-color: var(--clr_green);
	border:solid 2px #fff;
	line-height: 1;
	padding: 15px 0 16px;
	text-align: center;
	border-radius: 25px;
	}
	#header_mainnavi_menu li a i {
	display: none;
	}
}



/*
Footer -------------------------------------------
*/

#footer {
background-image: url("../images/line_w180_h8.svgz");
background-repeat: repeat-x;
background-position: center top;
background-size: 180px 8px;
}
#footer_inner {
max-width: 538px;
padding-left: clamp(20px, 3%, 30px);
padding-right: clamp(20px, 3%, 30px);
margin: 0 auto;
text-align: center;
}
#footer_inner span {
display: block;
}
.footer_link {
display: flex;
justify-content: space-between;
}
.footer_link li {
width: calc((100% - 10px) / 2);
}
.footer_link li a {
display: block;
}
.footer_link li a img {
height: auto;
}
.footer_name_con {
margin-bottom: 14px;
font-size: 1.4rem;
line-height: 1.5;
}
.footer_name_con span {
font-weight: 700;
font-size: 1.6rem;
color: var(--clr_green);
margin-bottom: 8px;
}
.footer_copy {
font-size: 1.3rem;
letter-spacing: 0.03em;
margin-top: 20px;
}
#go_pagetop {
display: block;
position: fixed;
background-color: var(--clr_green);
z-index: 20;
transition: all 0.5s;
opacity: 0.5;
padding: 10px;
}
#go_pagetop:hover{
opacity: 1;
}

@media print, screen and (min-width:768px) {
	#go_pagetop {
	width: 70px;
	height: 70px;
	border-radius: 35px;
	right: 30px;
	bottom: -80px;
	}
	#go_pagetop.scrollon{
	bottom: 30px;
	}
}
@media screen and (max-width:767px) {
	#go_pagetop {
	width: 60px;
	height: 60px;
	border-radius: 30px;
	right: 15px;
	bottom: -80px;
	}
	#go_pagetop.scrollon{
	bottom: 15px;
	}
}

/*
Main -------------------------------------------
*/
main {display: block;}
.section_padding {
padding-top: clamp(46px, 6%, 60px);
padding-bottom: clamp(46px, 6%, 60px);
}
.width_contents {
width: auto;
max-width: 1060px;
padding-left: clamp(20px, 3%, 30px);
padding-right: clamp(20px, 3%, 30px);
margin: auto;
}
.contents_box {
margin-bottom: clamp(40px, 5%, 50px);
}

/*
Contents Parts -------------------------------------------
*/
#entry-now {
display: flex;
padding-top: clamp(40px, 5%, 50px);
margin-bottom: 20px;
}
.entry_btn_qr img {
height: auto;
}




.section_title {
max-width: 386px;
margin-left: auto;
margin-right: auto;
margin-bottom: clamp(20px, 4%, 40px);
}
.section_title img {
height: auto;
}
.section_title-txt {
text-align: center;
margin-bottom: 36px;
}
.note_txt {
display: block;
font-size: 1.4rem;
letter-spacing: 0em;
}
.text_red {
color: var(--clr_red);
}
.text_green {
color: var(--clr_green);
}
.heading_green,
.terms__heading {
display: block;
color: var(--clr_green);
font-size: 1.5rem;
font-weight: 700;
margin-bottom: 10px;
}
.btn01 {
display: block;
font-size: clamp(1.6rem, 2vw, 2.0rem);
font-weight: 700;
background-color: var(--clr_green);
color:#fff;
text-align: center;
line-height: 1;
padding: 15px 0 16px;
border-radius: 5px;
}

@media print, screen and (min-width:768px) {
	#entry-now {
	justify-content: space-between;
	align-items: center;
	}
	.entry_btn_qr_note {
	width: calc(100% - 260px);
	}
	.entry_btn_qr {
	width: 220px;
	}
	.entry_btn_qr img {
	width: 220px;
	}
}
@media screen and (max-width:767px) {
	#entry-now {
	flex-direction: column;
	align-items: center;
	}
	.entry_btn_qr {
	margin-bottom: 20px;
	}
	.entry_btn_qr a {
	display: block;
	}
	.entry_btn_qr {
	width: 200px;
	}
	.entry_btn_qr img {
	width: 200px;
	}
}
/* entry_point-rule ------------*/
.entry_point-rule_con {
display: flex;
margin-bottom: 30px;
}
.entry_point-rule {
border:solid 1px var(--clr_green);
border-radius: 5px;
background-color: #fdfada;
position: relative;
}
.entry_point-rule-plus {
display: block;
position: absolute;
margin-right: 0;
}
.entry_point-rule-head {
display: flex;
justify-content: center;
align-items: center;
border-bottom: dotted 1px var(--clr_green);
padding-bottom: 10px;
}
.entry_point-rule-req {
color: #fff;
background-color: var(--clr_green);
font-weight: 700;
letter-spacing: 0em;
text-align: center;
line-height: 1;
}
.entry_point-rule-txt {
font-weight: 700;
color: var(--clr_green);
line-height: 1.5;
}
.entry_point-rule-sub {
display: block;
text-align: center;
font-size: 1.4rem;
letter-spacing: 0.03em;
padding-top: 8px;
line-height: 1.4;
}
#entry_point-rule_1 .entry_point-rule-head {
margin-top: 10px;
}
#entry_point-rule_2 .entry_point-rule-txt span {
letter-spacing: 0em;
line-height: 1;
}
@media print, screen and (min-width:768px) {
	.entry_point-rule_con {
	justify-content: space-between;
	}
	.entry_point-rule {
	width: calc((100% - 50px) / 2);
	padding: 14px 20px 20px;
	}
	.entry_point-rule-plus {
	width: 32px;
	height: 32px;
	right: -41px;
	top: 50%;
	transform: translateY(-50%) rotate(-90deg);
	-webkit-transform: translateY(-50%) rotate(-90deg);
	-ms-transform: translateY(-50%) rotate(-90deg);
	}
	.entry_point-rule-req {
	width: 50px;
	height: 50px;
	border-radius: 25px;
	padding-top: 17px;
	margin-right: 10px;
	}
	.entry_point-rule-txt {
	font-size: 1.7rem;
	letter-spacing: 0.03em;
	}
	.entry_point-rule-mark {
	width: 50px;
	height: 50px;
	margin-right: 10px;
	}
	#entry_point-rule_2 .entry_point-rule-txt span:last-child {
	font-size: 2.0rem;
	}
	#entry_point-rule_2 .entry_point-rule-txt span:first-child {
	font-size: 3.2rem;
	}
}
@media screen and (max-width:767px) {
	.entry_point-rule_con {
	flex-direction: column;
	}
	.entry_point-rule {
	padding: 10px 15px 15px;
	}
	.entry_point-rule:first-child {
	margin-bottom: 40px;
	}
	.entry_point-rule-plus {
	width: 28px;
	height: 28px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	bottom: -34px;
	}
	.entry_point-rule-req {
	font-size: 1.4rem;
	width: 46px;
	height: 46px;
	border-radius: 23px;
	padding-top: 16px;
	margin-right: 5px;
	}
	.entry_point-rule-txt {
	font-size: 1.5rem;
	letter-spacing: 0em;
	}
	.entry_point-rule-sub {
	letter-spacing: 0em;
	}
	.entry_point-rule-mark {
	width: 44px;
	height: 44px;
	margin-right: 5px;
	}
	#entry_point-rule_2 .entry_point-rule-txt span:last-child {
	font-size: 1.7rem;
	}
	#entry_point-rule_2 .entry_point-rule-txt span:first-child {
	font-size: 2.8rem;
	}
}