@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Montserrat:700&display=swap');
@import url('https://fonts.googleapis.com/css?family=Oswald:500&display=swap');

/**** general ****/
* {
	-webkit-box-sizing: inherit;
	box-sizing: inherit;
	background-repeat: no-repeat;
}

html {font-size:62.5%}

body {
    font-size: 10px;
    font-size: 1.0rem;
    line-height: 1;
    width: 100%;
    height: 100%;
}

html, body {
	color: #333;
	letter-spacing: 0.1em;
	font-family: -apple-system, blinkMacSystemFont, "Helvetica Neue", "Segoe UI", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "メイリオ", Meiryo, sans-serif;
}

.wrap .wrap_inner{
	max-width: 980px;
	margin: 0 auto;
}

.sp_only {
	display: none;
}
@media screen and (max-width: 768px) {
	img {
		max-width: 100%
	}
	
	.wrap .wrap_inner{
		max-width: 100%;
		padding: 0 16px;
		box-sizing: border-box;
	}
	.sp_only {
		display: block;
	}
	.pc_only {
		display: none;
	}
	.header img {
		border: none;
		vertical-align: top;
		width: 100%;
	}
}

/* text */
.bold {
    font-weight: bold;
}
.text_small {
    font-size: 1.6rem;
    line-height: 1.6;
    margin-bottom: 40px;
    text-align: center;
}
a.text_link {
    color: #333;
    -webkit-transition: all 0.5s;
	transition: all 0.5s;
}
a.text_link:hover {
    opacity: 0.8;
}
@media screen and (max-width: 768px) {
    .text_small {
        font-size: 1.2rem;
        margin-bottom: 20px;
    }
}

/* color */
.white {color: #FFFFFF;}
.color01 {color: #142933;}
.color02 {color: #CCCCCC;}
.color03 {color: #29663D;}
.color04 {color: #B32424;}
.color05 {color: #CCA329;}
.color06 {color: #6BB383;}
.color07 {color: #1F4D2E;}


/**** mainvisual ****/
.mainvisual {
	position: relative;
	background: #142933;
	text-align: center;
	line-height: 0;
	margin-top: 65px;
}
.mainvisual .pc_mv {
	position: relative;
	z-index: 5;
}
.mainvisual .pc_mv img {
	width: 100%;
}
.mainvisual .sp_mv img {
	display: none;
}
.snowStage {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
}
.snow {
	position: absolute;
	border-radius: 100px;
	background: #fff;
}
.snow1 {
	width: 7px;
	height: 7px;
}
.snow2 {
	width: 9px;
	height: 9px;
}
.snow3 {
	width: 11px;
	height: 11px;
}
.snow4 {
	width: 13px;
	height: 13px;
}
.snow5 {
	width: 15px;
	height: 15px;
}
@media screen and (max-width: 768px) {
	.mainvisual {
		margin-top: 65px;
	}
	.mainvisual .wrap_inner {
		padding: 0;
	}
	.mainvisual .sp_mv {
		position: relative;
		z-index: 5;
	}
	.mainvisual .sp_mv img {
		display: block;
	}
	.mainvisual .pc_mv img {
		display: none;
	}
	.snow1 {
		width: 4px;
		height: 4px;
	}
	.snow2 {
		width: 5px;
		height: 5px;
	}
	.snow3 {
		width: 6px;
		height: 6px;
	}
	.snow4 {
		width: 7px;
		height: 7px;
	}
	.snow5 {
		width: 8px;
		height: 8px;
	}
}


/* section01 */
.section01 {
	background: #29663D;
	padding: 62px;
}
@media screen and (max-width: 768px) {
	.section01 {
		padding: 31px 0;
	}
}


/* announce */
.announce {
	width: 65%;
	margin-bottom: 50px;
	padding: 40px;
	background: #CCA329;
	text-align: center;
	margin: 0 auto;
	border-radius: 24px;
	box-shadow: 0 8px 40px rgba(0,0,0,0.2);
	font-weight: bold;
}
.head01 {
	font-size: 32px;
	margin-bottom: 20px;
}
.txt01, .txt03 {
	font-size: 24px;
}
.txt02 {
	margin: 20px 0;
	font-size: 27px;
	font-weight: bold;
}
.txt02 span {
	font-size: 40px;
    font-weight: bold;
}

@media screen and (max-width: 375px) {
	.head01 {
		font-size: 20px !important;
	}
	.txt01, .txt03 {
		font-size: 14px !important;
	}
	.txt02 span {
		font-size: 24px !important;
	}
}

@media screen and (max-width: 768px) {
	.announce {
		width: 100%;
		margin-bottom: 30px;
		padding: 20px;
		box-shadow: 0 4px 20px rgba(0,0,0,0.2);
		border-radius: 12px;
	}
	.head01 {
		font-size: 20px;
		margin-bottom: 12px;
	}
	.txt01, .txt03 {
		font-size: 14px;
		line-height: 2;
	}
	.txt02 {
		margin: 5px 0;
		font-size: 16px;
	}
	.txt02 span {
		font-size: 22px;
	}
}


/* lineup */
.lineup {
	text-align: center;
	margin: 50px 0;
}
.head02 {
	position: relative;
    color: #CCA329;
    font-family: Montserrat;
    font-size: 40px;
    font-weight: bold;
    text-align: center;
	letter-spacing: 1.6px;
}
.head02:before {
    position: absolute;
    left: 8%;
    top: 48%;
    content: "";
    height: 10px;
    width: 28%;
    border-top: solid 4px #CCA329;
}
.head02:after {
    position: absolute;
    right: 8%;
    top: 48%;
    content: "";
    height: 10px;
    width: 28%;
    border-top: solid 4px #CCA329;
}

@media screen and (max-width: 768px) {
	.lineup {
		margin: 0 0 20px;
	}
	.spn01 {
		font-size: 13px;
	}
	.head02 {
		font-size: 36px;
	}
	.head02:before {
		position: absolute;
		left: 0;
		top: 48%;
		content: "";
		height: 10px;
		width: 30%;
		border-top: solid 2px #CCA329;
	}
	.head02:after {
		position: absolute;
		right: 0;
		top: 48%;
		content: "";
		height: 10px;
		width: 30%;
		border-top: solid 2px #CCA329;
	}
}
@media screen and (max-width: 500px) {
	.head02 {
		font-size: 24px;
	}
}


/* anchor */
.anchor {
	margin: 0 8%;
}
.anchor::after {
	content: "";
	clear: both;
	display: table;
}
.anchor li {
	float: left;
	width: 25%;
	text-align: center;
	box-sizing: border-box;
}
.anchor li a {
	display: block;
	padding: 0 10%;
	text-decoration: none;
	margin-bottom: 10%;
}
.anchor li img {
	width: 100%;
	margin: 0 0 16px;
}
.txt04 {
	font-size: 18px;
	/* font-family: Montserrat; */
	font-weight: bold;
	line-height: 1.2;
}
@media screen and (max-width: 768px) {
	.txt04 {
		font-size: 16px;
	}
	.anchor {
		margin: 0;
	}
	.anchor li {
		/* margin-bottom: 3%; */
	}
	.anchor li img {
		margin: 0 0 8px;
	}
}
@media screen and (max-width: 500px) {
	.txt04 {
		font-size: 12px !important;
		letter-spacing: 0;
	}
}
@media screen and (max-width: 375px) {
	.txt04 {
		font-size: 10px !important;
	}
}


/* Section02 */
.section02 {
	background: #1F4D2E;
	padding: 64px 0 80px;
}
@media screen and (max-width: 768px) {
	.section02 {
		padding: 40px 0 48px;
	}
	.section02 h2 {
		font-size: 16px !important;
		font-weight: 600;
	}
	.txt05 {
		font-size: 24px !important;
		line-height: 2;
		font-weight: 600;
	}
}
.itemList::after {
	content: "";
	clear: both;
	display: table;
}
.section02 h2 {
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	/* line-height: 2; */
}
.txt05 {
	font-size: 40px;
	text-align: center;
	font-weight: bold;
	line-height: 2;
}
.items {
	margin-top: 38px;
}
.itemList li {
	width: 50%;
	float: left;
	box-sizing: border-box;
	display: inline;
	text-align: center;	
}
.itemList li:nth-child(odd) {
	padding-right: 12px;
}
.item_img {
	background: #fff;
	padding: 10%;
}
.item_img img {
	/* height: 250px; */
	width: 80%;
	/* max-width: 250px; */
}
@media screen and (max-width: 768px) {
	.items {
		margin-top: 15px;
	}
	.itemList {
		margin-bottom: 16px;
	}
	.itemList li:nth-child(odd) {
		padding-right: 8px;
	}
	.item_img img {
		/* height: auto; */
		width: 100%;
	}
}
.itemList li:nth-child(even) {
	padding-left: 12px;
}
@media screen and (max-width: 768px) {
	.itemList li:nth-child(even) {
		padding-left: 8px;
	}
	.itemList li {
		display: inline;
		float: left;
		width: 50%;
		box-sizing: border-box;
	}	
}
.itemList a {
	display: block;
	text-decoration: none;
	box-shadow: 0 8px 40px rgba(0,0,0,0.2);
	overflow: hidden;
	border-radius: 24px;
}
@media screen and (max-width: 768px) {
	.itemList a {
		box-shadow: 0 4px 20px rgba(0,0,0,0.2);
		border-radius: 12px;
	}
}
.bgRed {
	background: #B32424;
	overflow: hidden;
	padding: 5% 0px 5% 5%;
}
.itemDetails {
	float: left;
	font-size: 18px;
	font-weight: bold;
	text-align: left;
	line-height: 1.2;
	width: 49%;
}
.itemPrice {
	float: right;
	font-size: 14px;
	font-weight: bold;
	width: 49%;
}
.itemPrice span {
	font-size: 38px;
}
@media screen and (max-width: 768px) {
	.bgRed {
		padding: 8%;
	}
	.itemDetails {
		width: 100%;
		font-size: 12px;
	}
	.itemPrice {
		width: 100%;
		font-size: 7px;
		text-align: right;
		margin-top: 4%;
	}
	.itemPrice span {
		font-size: 18px;
	}

}
.link01 {
	display: block;
	margin: 30px auto 0;
	padding: 30px;
	max-width: 520px;
	border-radius: 12px;
	color: #fff;
	background-color: #CCA329;
	font-weight: 600;
	font-size: 20px;
	box-sizing: border-box;
	text-align: center;
	text-decoration: none;
	transition: all 0.5s;
	box-shadow: 0 8px 40px rgba(0,0,0,0.2);
}
.link01 span {
	background: url('../image/icon_arrowRight_white01.png') no-repeat center right;
	display: block;
	letter-spacing: 2px;
	
}
	@media screen and (max-width: 768px) {
		.link01 {
			margin: 0 auto;
			padding: 20px;
			max-width: 348px;
			font-size: 14px;
		}
}


/* Section03, Section05, Section07 & Section09*/
.section03, .section05, .section07, .section09 {
	background: #29663D;
	padding: 64px 0 80px;
}
.section03 h2, .section05 h2, .section07 h2, .section09 h2 {
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	/* line-height: 2; */
}
@media screen and (max-width: 375px) {
	.section03 h2, .section05 h2, .section07 h2, .section09 h2 {
		font-size: 16px;
	}
}
@media screen and (max-width: 768px) {
	.section03, .section05, .section07, .section09 {
		padding: 42px 0 40px;
	}
}


/* Section04, Section06 & Section08*/
.section04, .section06, .section08 {
	background: #1F4D2E;
	padding: 64px 0 80px;
}
.section04 h2, .section06 h2, .section08 h2 {
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	/* line-height: 2; */
}
@media screen and (max-width: 375px) {
	.section04 h2, .section06 h2, .section08 h2 {
		font-size: 16px;
	}
}
@media screen and (max-width: 768px) {
	.section04, .section06, .section08 {
		padding: 42px 0 40px;
	}
}


/* Section10 */
.section10 {
	background: url('../image/bg_pattern.png') no-repeat center center;
	padding: 48px 48px 64px;
}
.section10 h2 {
	text-align: center;
	font-size: 45px;
	margin-bottom: 20px;
	font-weight: bold;
	font-family: Montserrat;
}
.txt06 {
	text-align: center;
	margin-bottom: 20px;
	font-size: 30px;
	font-weight: bold;
}
.txt07 {
	text-align: center;
	font-size: 15px;
	font-weight: bold;
}
@media screen and (max-width: 375px) {
	.section10 h2 {
		font-size: 32px;
	}
	.txt06 {
		font-size: 25px;
	}
	.txt07 {
		font-size: 14px;
	}
}
@media screen and (max-width: 768px) {
	.section10 {
		padding: 40px 0 48px;
	}
	.txt07 {
		margin-bottom: 25px;
	}
}














/* TCAP 11/15/19 */
#header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	background: #000;
	text-align: center;
	height: 65px;
}
#header .logo img {
	width: 128px;
}
#header .logo {
	display: inline-block;
	width: 128px;
	margin-top: 14px;
	line-height: 0;
}

#back_to_top a {
    display: block;
    position: fixed;
    right: 40px;
    bottom: 40px;
    width: 60px;
    height: 60px;
    background-color: #333;
    border-radius: 50px;
    z-index: 999;
}
#back_to_top a:after {
    position: absolute;
    top: 25px;
    left: 25px;
    display: inline-block;
    border: solid #fff;
    border-width: 2px 0 0 2px;
    display: inline-block;
    padding: 5px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    content: "";
}
.footerArea {
    padding: 30px 0;
    background: #000;
    font-size: 12px;
    color: #fff;
    text-align: center;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
#back_to_top a {
    right: 20px;
    bottom: 20px;
    width: 35px;
    height: 35px;
}
#back_to_top a:after {
    top: 14px;
    left: 14px;
    padding: 3px;
}
.footerArea {
    padding: 15px 0;
    font-size: 8px;
}

}


/* ScrollMagic */
.digit {
	opacity: 0;
	-webkit-transform: scale(0.9);
		 -moz-transform: scale(0.9);
			-ms-transform: scale(0.9);
			 -o-transform: scale(0.9);
					transform: scale(0.9);
	-webkit-transition: all 0.25s ease-in-out;
		 -moz-transition: all 0.25s ease-in-out;
			-ms-transition: all 0.25s ease-in-out;
			 -o-transition: all 0.25s ease-in-out;
					transition: all 0.25s ease-in-out;
}
.digit.visible {
	opacity: 1;
	-webkit-transform: none;
		 -moz-transform: none;
			-ms-transform: none;
			 -o-transform: none;
					transform: none;
}