@charset "utf-8";

/* ==========================================================================
   common
   ========================================================================== */

.no-desktop {
	display: none;
}

* {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	margin: 0;
	padding: 0;
	font-family: JetstarHappy, JetstarHappyBold, "ヒラギノ角ゴ Pro W3",HiraKakuPro-W3, "メイリオ", "Meiryo", "MS PGothic", "游ゴシック", YuGothic, sans-serif;
	font-size: 15px;
}

.raleway {
	font-family: 'Raleway', sans-serif;
}

a {
	color: #000000;
	text-decoration: none;
}
a:visited {
	text-decoration: none;
}
/*
img {
	max-width: 100%;
}
*/
ul {
	padding: 0;
	margin: 0;
}

li {
	padding: 0;
	margin: 0;
	list-style-type: none;
}

.btn {
	cursor: pointer;
}
.orange {
	color: #fe5815;
}

body {
	color: #000000;
}

.fullWidth {
	width: 100%!important;
}

/* Webfont: JetstarHappy */@font-face {
    font-family: 'JetstarHappy';
    src: url('./fonts/JetstarHappy.eot'); /* IE9 Compat Modes */
    src: url('./fonts/JetstarHappy.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('./fonts/JetstarHappy.woff') format('woff'), /* Modern Browsers */
         url('./fonts/JetstarHappy.ttf') format('truetype'); /* Safari, Android, iOS */
         url('./fonts/JetstarHappy.svg#JetstarHappy') format('svg'), /* Legacy iOS */
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}
/* Webfont: JetstarHappyLIght */@font-face {
    font-family: 'JetstarHappyLIght';
    src: url('./fonts/JetstarHappyLIght.eot'); /* IE9 Compat Modes */
    src: url('./fonts/JetstarHappyLIght.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('./fonts/JetstarHappyLIght.woff') format('woff'), /* Modern Browsers */
         url('./fonts/JetstarHappyLIght.ttf') format('truetype'); /* Safari, Android, iOS */
         url('./fonts/JetstarHappyLIght.svg#JetstarHappyLIght') format('svg'), /* Legacy iOS */
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}
/* Webfont: JetstarHappyHeavy */@font-face {
    font-family: 'JetstarHappyHeavy';
    src: url('./fonts/JetstarHappyHeavy.eot'); /* IE9 Compat Modes */
    src: url('./fonts/JetstarHappyHeavy.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('./fonts/JetstarHappyHeavy.woff') format('woff'), /* Modern Browsers */
         url('./fonts/JetstarHappyHeavy.ttf') format('truetype'); /* Safari, Android, iOS */
         url('./fonts/JetstarHappyHeavy.svg#JetstarHappyHeavy') format('svg'), /* Legacy iOS */
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}
/* Webfont: JetstarHappyBold */@font-face {
    font-family: 'JetstarHappyBold';
    src: url('./fonts/JetstarHappyBold.eot'); /* IE9 Compat Modes */
    src: url('./fonts/JetstarHappyBold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('./fonts/JetstarHappyBold.woff') format('woff'), /* Modern Browsers */
         url('./fonts/JetstarHappyBold.ttf') format('truetype'); /* Safari, Android, iOS */
         url('./fonts/JetstarHappyBold.svg#JetstarHappyBold') format('svg'), /* Legacy iOS */
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

@font-face {
  font-family: 'number';
	src: url('./fonts/JetstarHappyBold.eot'); /* IE9 Compat Modes */
	src: url('./fonts/JetstarHappyBold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('./fonts/JetstarHappyBold.woff') format('woff'), /* Modern Browsers */
	url('./fonts/JetstarHappyBold.ttf') format('truetype'); /* Safari, Android, iOS */
	url('./fonts/JetstarHappyBold.svg#JetstarHappyBold') format('svg'), /* Legacy iOS */
  unicode-range: U+0030-0039;
}
@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?cm2p3s');
  src:  url('fonts/icomoon.eot?cm2p3s#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?cm2p3s') format('truetype'),
    url('fonts/icomoon.woff?cm2p3s') format('woff'),
    url('fonts/icomoon.svg?cm2p3s#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Enable Ligatures ================ */
  letter-spacing: 0;
  -webkit-font-feature-settings: "liga";
  -moz-font-feature-settings: "liga=1";
  -moz-font-feature-settings: "liga";
  -ms-font-feature-settings: "liga" 1;
  font-feature-settings: "liga";
  -webkit-font-variant-ligatures: discretionary-ligatures;
  font-variant-ligatures: discretionary-ligatures;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-cheveron-right:before {
  content: "\e900";
}
.icon-plus:before {
  content: "\e901";
}
.icon-zoom-in:before {
  content: "\e987";
}
.icon-smile:before {
  content: "\e9e1";
}

.icon-plus {
	color: #fe5815;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
	-moz-transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	display: inline-block;
	float: right;
	margin:27px 25px 0 0;
}
.icon-plus.active  {
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
}
.icon-cheveron-right {
	color: #ffffff;
	display: inline-block;
	float: right;
	margin:27px 25px 0 0;
}
/* ==========================================================================
   vi
   ========================================================================== */
#vi {
	width: 100%;
	padding: 0;
	text-align: center;
	font-size: 12px;
	line-height: 0px;
	border-top: 1px solid #fe5815;
	border-bottom: 1px solid #fe5815;
	position: relative;
}

/* slider */
.vi_slider {
	width: 100%;
	height: 300px;
	overflow: hidden;
}


.vi_container {
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.7);
	position: absolute;
	top: 0;
	display: flex;
}
.vi_main {
	min-width: 900px;
	width: 1000px;
	margin: auto;
	display: flex;
	line-height: 0;
	min-height: 300px;
}
.vi_left {
	width: 50%;
	font-size: 12px;
	text-align: center;
	position: relative;
	margin: auto;
}
.vi_left h1 {
	color: #fe5815;
	text-align: center;
	margin: 0 auto 10px;
	font-size: 45px;
	line-height: 50px;
}
.vi_left h2 {
	color: #fe5815;
	text-align: center;
	margin: 0 auto 10px;
	font-size: 26px;
	line-height: 32px;
}

.smile_cam {
	margin: 10px auto;
}
.smile_cam img {
	height: 90px;
}
/* ==========================================================================
   youtube
   ========================================================================== */

.youtube {
	width: 50%;
	text-align: center;
	margin: 0;
	position: relative;
	border: 20px solid #fe5815;
	background: #fe5815;
}

.box_youtube_outer {
		width: 100%;
		max-width: 480px;
		margin: 0 auto;
		position: absolute;
		display: flex;
    top: 0;
    bottom: 0;
}

.box_youtube {
	position: relative;
  width: 100%;
  padding-top: 56.25%;

}

.box_youtube iframe {
	position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* ==========================================================================
   text
   ========================================================================== */
#text {
	max-width: 1000px;
	margin: auto;
	text-align: center;
}
#text div {
	margin: 40px auto;
}
#text .heavy_o {
	font-weight: 600;
	font-size: 24px;
	color: #fe5815;
}
#text .normal {
	/*font-weight: 600;*/
	font-size: 16px;
	line-height: 30px;
}


/* ==========================================================================
   season
   ========================================================================== */
#season {
	width: 100%;
	margin: auto;
	border-top: 1px dashed #aaaaaa;
	/* border-top: 1px solid #000000; */
	border-bottom: 1px solid #999;
	margin-bottom: 10px;
	padding-top: 15px;
}
.season_nav {
	max-width: 1000px;
	margin: auto;
	display: flex;
	position: relative;
	/* padding-top: 15px; */
}
.season_tab {
	width: 25%;
	text-align: center;
	position: relative;
	/* transition: all 0.7s ease; */
}
.season_tab.active {
	cursor: pointer;
}
.season_name.active:hover {
	opacity: 0.6;
}
.season_name {
	width: 100%;
	font-weight: 600;
	font-size: 30px;
	position: relative;
	line-height: 26px;
	margin-bottom: 15px;
	border-right: solid 1px #dddddd;
	/* transition: all 0.7s ease; */
	/* box-sizing: border-box; */
}
.season_term {
	font-size: 16px;
}
.season_term .num {
	font-size: 24px;
}
.season_name .comingsoon {
	position: absolute;
	top: 15px;
	right: 0;
	left: 0;
	font-size: 15px;
	color: #727171;
}
.season_name.spring {
	color: #ff80ab;
	/* color: #fe5815; */
}
.season_name.summer {
	color: #2196f3;
}
.season_name.autumn {
	color: #ff9800;
}
.season_name.winter {
	/*border-right: 0;*/
	color: #217f21;
}
.season_name.on{
	color: #ffffff;
}
.season_btm {
	width: 100%;
	height: 0;
	background-color: none;
	position: absolute;
	top: -15px;
	z-index: -1;
}
.season_btm.on {
	height: 88px;
	width: calc(100% - 1px);
}
.spring.on {
	background-color: #ff80ab;
	/* background-color: #fe5815; */
}
.summer.on {
	background-color: #2196f3;
}
.autumn.on {
	background-color: #ff9800;
}
.winter.on {
	background-color: #217f21;
}

.season_container {
	width: 100%;
	display: none;
}
.season_container.spring {
	background-image: url(../images/bg_spring.png);
	background-size: 1500px auto;
	background-position-y: 30px;
	background-position-x: center;
	background-repeat-y: no-repeat;
}
.season_container.summer {
	background-image: url(../images/bg_summer.png);
	background-size: 1500px auto;
	background-position-y: 30px;
	background-position-x: center;
	background-repeat-y: no-repeat;
}
.season_container.autumn {
	background-image: url(../images/bg_autumn.png);
	background-size: 1500px auto;
	background-position-y: 30px;
	background-position-x: center;
	background-repeat-y: no-repeat;
}

.season_container.winter {
	background-image: url(../images/bg_winter.png);
	background-size: 1500px auto;
	background-position-y: 30px;
	background-position-x: center;
	background-repeat-y: no-repeat;
}

.container_inner {
	max-width: 1000px;
	margin: auto;
	text-align: center;
}
.smile_cam_season {
	width: auto;
	display: inline-block;
  margin: 50px auto 0px
}
.smile_cam_season img {
	width: 50%;
}
.season_title {
	margin: 20px auto;
	font-size: 48px;
	font-weight: 600;
	letter-spacing: 3px;
}
.season_title.spring {
	color: #ff80ab;
}
.season_title.summer {
	color: #2196f3;
}
.season_title.autumn{
	color: #ff9800;
}
.season_title.winter{
	color: #217f21;
}

.season_title span {
	letter-spacing: -20px;
}
.bording_term {
	/*font-weight: bold;*/
	font-size: 16px;
}

.prize {
	display: inline-flex;
	width: auto;
	margin: 60px auto 30px;
	text-align: center;
}
.voucher {
	display: inline-block;
  width: auto;
  padding: 0 30px;
}
.voucher img {
	width: 220px;
}
.prize_text {
	font-size: 24px;
	margin: auto;
	line-height: 32px
}
.prize_text .num {
	font-weight: 600;
	font-size: 32px;
}

.caution_box {
	font-size: 24px;
  font-weight: 600;
  padding: 30px 0 0;
  border-bottom: 5px solid #fe5815;
  margin: 0 auto 40px;
  display: inline-block;
  position: relative;
}
.caution_small {
	font-size: 14px;
	font-weight: 100;
}
.plane {
	position: absolute;
	width: 80px;
	height: 80px;
	right: -90px;
	top: 50px;
}
.plane img {
	width: 100%;
}
.bordingpass_container {
	text-align: center;
	position: relative;
}
.bp_ex {
	font-size: 24px;
	font-weight: 600;
	padding: 0 0 20px;
}
.bordingpass_box {
	display: inline-grid;
	grid-template-columns: 50% 1fr;
	grid-template-rows: 300px 1fr;
	width: 100%;
	border: 1px solid #c9caca;
}
.bp_inner {
	border: 1px solid #c9caca;
}
.bp_inner.grid1 {
	grid-column: 1;
		grid-row: 1;
}
.bp_inner.grid2 {
	grid-column: 2;
		grid-row: 1;
}
.bp_inner.grid3 {
		grid-column: 1;
		grid-row: 2;
}
.bp_inner.grid4 {
	grid-column: 2;
		grid-row: 2;
}
.bp_name {
	color: #fe5815;
	font-size: 19px;
	font-weight: 600;
	border-bottom: 1px solid #c9caca;
	padding: 5px;
}
.bp_image {
	display: inline-flex;
  margin: auto;
}
.bp_image img {
  margin: auto;
	max-width: 80%;
  max-height: 240px;
}
.start_date_container {
	margin: auto;
	position: relative;
}
.start_date {
	font-size: 27px;
	font-weight: 600;
	border-bottom: 5px solid #fe5815;
	display: inline-block;
	position: relative;
	margin: 40px auto 0;
	width: 600px;
}
.jetta {
	width: 100px;
	position: absolute;
	bottom: -30px;
	right: -110px;
	transform: rotate(15deg);
}
.jetta img {
	width: 100%;
}
.garantee {
	text-align: center;
	margin: auto;
	/* display: none; */
}
.garantee span {
	font-size: 18px;
	font-weight: 600;
}
.garantee a {
	color: #fe5815;
	text-decoration: underline;
}

.box-logo-smilestar{
	text-align: center;
	margin-top: 20px;
}

.box-logo-smilestar img{
	width: 100%;
	max-width: 200px;
}

/* ==========================================================================
   overview / block
   ========================================================================== */
#overview {
	max-width: 1000px;
	margin: auto;
}
.block_box {
	width: 100%;
	margin: 40px auto;
}
.block_box a {
	color: #fe5815;
}
.title {
	font-size: 20px;
	font-weight: 600;
	color: #fe5815;
	text-align: left;
	border-bottom: 1px solid #fe5815;
	padding-bottom: 10px;
	margin-bottom: 30px;
}
.inner {
	width: 100%;
	text-align: left;
	font-size: 12px;
}
.inner > div {
	display: flex;
	padding-bottom: 20px;
}
.inner h2 {
	font-size: 16px;
	margin: 20px 0;
	font-weight: normal;
}
.inner > span.link {
	color: #fe5815;
	cursor: pointer;
}
.steps_container {
	width: 100%;
	padding-bottom: 30px !important;
}
.step_box {
	width: 47%;
	height: auto;
	grid-row: 1;
	display: grid;
	grid-template-columns: 50% 1fr;
	grid-template-rows: 40% 1fr;
	position: relative;
}
.arrow_box {
	width: 6%;
	height: auto;
	margin: auto;
	text-align: center;
}
.arrow_box img {
	width: 60%;
}
.step_img {
	grid-row: 1 / 3;
	grid-column: 1;
	width: 100%;
}
.step {
	grid-row: 1;
	grid-column: 2;
	font-size: 28px;
	font-weight: 600;
	padding-left: 10px;
	color: #fe5815;
  position: relative;
  top: 10px;
}
.step span {
	font-size: 47px;
}
.step_text {
	grid-row: 2;
	grid-column: 2;
	height: 50%;
	font-size: 15px;
	/*font-weight: 600;*/
	padding-left: 10px;
}
.step_text a {
	text-decoration: underline;
}
.dot_hr {
	border-bottom: 1px dotted #fe5815;
	margin: 50px 0 30px;
}

/* ==========================================================================
   btn
   ========================================================================== */
.btn {
	color: #ffffff;
	font-weight: 600;
	background: #fe5815;
	display: block;
	cursor: pointer;
	height: 80px;
	line-height: 80px;
	font-size: 28px;
	text-align: center;
	max-width: 620px;
	width: 100%;
	margin: auto;
	padding: 0 0 0 60px;
	position: relative;
}


.btn a {
	color: #fff;
	margin: auto 30px auto 0px;
	display: block;
	bottom: -10px;
	position: relative;
}

.btn span {
	font-size: 18px;
	line-height: 0;
}
.btn.summer {
	color: #ffffff;
	background: #2196f3;
	font-size: 28px;
	line-height: 30px;
	margin: 60px auto;
}

.btn.autumn {
	color: #ffffff;
	background: #ff9800;
	font-size: 28px;
	line-height: 30px;
	margin: 60px auto;
}

.btn.winter {
	color: #ffffff;
	background: #217f21;
	font-size: 28px;
	line-height: 30px;
	margin: 60px auto;
}

.btn.finish {
	color: #ffffff;
	background: #ff5115;
	font-size: 24px;
	line-height: 60px;
	margin: 60px auto;
}

.back::before {
	content: " ";
	display: block;
	width: 50px;
	height: 50px;
	position: absolute;
	left: 20px;
	background-image: url(../images/btn-icon.png);
	background-repeat: no-repeat;
	background-position-y: center;
	background-position-x: center;
	margin: auto;
	top: 0;
	bottom: 0;
	background-size: 20%;
	transform: rotate(180deg);
}

.btn-winter-cp{
	max-width: 620px;
	width: 100%;
	margin: 0 auto 30px;
}

.btn-winter-cp2{
	max-width: 1045px;
	width: 100%;
	margin: 0 auto 30px;
}

.btn-winter-cp img{
	width: 100%;
}

.hover_btn:hover{
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)
}

/* ==========================================================================
   bnr
   ========================================================================== */
.bnr {
  display: block;
  cursor: pointer;
  text-align: center;
  max-width: 620px;
  width: 100%;
	margin: 60px auto;
	position: relative;
}
.bnr img {
	width: 100%;
}



/* ==========================================================================
   terms
   ========================================================================== */
#terms {
	max-width: 1000px;
	margin: 30px auto 60px;
}
.clearfix {
    content: " ";
    display: block;
    clear: both;
}
#showTerms_txt {
	color: #fe5815;
	font-weight: 600;
}
#showTerms_txt.active {
	color: #ffffff;
	font-weight: 600;
}
.terms_text label {
  background: #fff;
  display: block;
  cursor: pointer;
  height: 80px;
  line-height: 80px;
  font-size: 28px;
  text-align: center;
  border: solid #fe5815 1px;
  max-width: 620px;
  width: 100%;
	margin: 0 auto;
	padding: 0 0 0 60px;
	position: relative;
	z-index: 1;
}
.terms_text .active{
	background:#fe5815;
	color:#fff;
}
.terms_text .active img{
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}
.layer_onmouse {
	position: absolute;
	width: 100%;
	height: 100%;
	background: #ffffff;
	top: 0;
	left: 0;
	opacity: 0;
}
.terms_text .text_list {
	color: #000000;
	padding: 80px 30px 30px;
	font-size: 12px;
	border: 1px solid #fe5815;
	text-align: left;
	line-height: 1.8;
	display: none;
	background: #ffffff;
	position: relative;
  top: -40px;
}

.terms_text .text_list > div {
	margin-bottom: 20px;
}

.terms_text .text_list .strong {
	font-weight: bold;
	color: #fe5815;
}

.terms_text .text_list h2 {
	padding: 0px 0 0px 5px;
   font-size: 13px;
   border-left: 3px solid #fe5815;
}

.terms_text .text_list a {
	text-decoration: underline;
	color: #fe5815;
}

.terms_text .text_list ul {
	padding-left: 20px;
}
.terms_text .text_list li {
	list-style-type: none;
	position: relative;
}
.terms_text .text_list li .li_num {
	position: absolute;
	display: inline;
	left: -15px
}
.terms_text .text_list li.roman {
	list-style-type: lower-roman;
}
.terms_text .text_list li.alpha {
	list-style-type: lower-latin;
}

/* ==========================================================================
   search
   ========================================================================== */
#search {
	display: none;
}
/* ==========================================================================
   applicate
   ========================================================================== */
.applicate {
	color: #ffffff;
	font-weight: 600;
	background: #fe5815;
	display: none;
	/*  cursor: pointer;*/
	height: 80px;
	line-height: 80px;
	font-size: 28px;
	text-align: center;
	max-width: 620px;
	width: 100%;
	margin: 60px auto 60px;
	padding: 0 0 0 60px;
	position: relative;
}
.applicate a {
	color: #ffffff;
}
.out_soon {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #eeeeee;
	color: #fe5815;
	font-size: 24px;
	border: 1px solid #fe5815;
}


/* ==========================================================================
   sns
   ========================================================================== */
#sns {
	width: 100%;
    padding: 30px 0;
    border-top: solid 1px #fe5815;
}
.sns_list {
	max-width: 1000px;
	margin: auto;
	display: none;
}
.sns_icon {
	display: table-cell;
	vertical-align: middle;
	padding: 10px;
}
.sns_icon img {
	max-height: 40px;
}
/* ==========================================================================
   footer
   ========================================================================== */
footer {
	position: relative;
	padding: 20px 0;
	background: #000000;
	color: #ffffff;
	text-align: center;
	font-size: 10px;
}



/* ==========================================================================
   winner
   ========================================================================== */
#winners {
	display: grid;
	grid-template-columns: 20% 20% 20% 20% 20%;
	margin: auto;
}
.win_box {
	width: 100%;
	display: inline-grid;
	padding: 2px;
	position: relative;
	cursor: pointer;
}
.win_box img {
	width: 100%;
	height: auto;
	cursor: pointer;
}

#win_nav {
	border-top: 1px solid #999;
}
.winner_nav {
	max-width: 1000px;
	margin: 0px auto 0px;
	display: flex;
	position: relative;
}
.winner_tab {
	width: 25%;
	text-align: center;
	position: relative;
	color: #eeeeee;
	font-weight: 600;
	font-size: 16px;
	line-height: 26px;
	border-right: solid 1px #dddddd;
	transition: all 0.7s ease;
	margin: 5px 0;
}
.winner_tab:last-child {
	border-right: 0
}
.winner_tab.spring {
	color: #ff80ab;
}
.winner_tab.spring:hover {
	background-color: rgba(255, 128, 171, 0.3);
	cursor: pointer;
}

.winner_tab.summer {
	color: #2196f3;
}
.winner_tab.summer:hover {
	background-color: rgba(33, 150, 243, 0.3);
	cursor: pointer;
}

.winner_tab.autumn {
	color: #ff9800;
}
.winner_tab.autumn:hover {
	background-color: rgba(255, 152, 0, 0.3);
	cursor: pointer;
}

.winner_tab.winter {
	color: #217f21;
}
.winner_tab.winter:hover {
	background-color: rgba(33, 127, 33, 0.3);
	cursor: pointer;
}

.winner_tab.wintertxt {
	color: #217f21;
	background: #fff;
}

.open_overlay {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.5);
	border: 1px dashed #fe5815;
	text-align: center;
	margin: auto;
	opacity: 0;
	transition: all ease 0.5s;
	display: flex;
}
.open_overlay:hover {
	opacity: 1;
}
.overlay_inner {
	background-color: #ffffff;
	border: 1px solid #fe5815;
	margin: auto;
	border-radius: 5px;
	padding: 10px;
	display: inline-block;
	color: #fe5815;
	font-size: 18px;
}
/* ==========================================================================
   modal
   ========================================================================== */
.remodal {
	border-radius: 5px;
	padding-top: 40px;
}
.modal-close {
	position: absolute;
	right: 5px;
	top: 5px;
}
.modal-inner {
	text-align: left;
}
.img {
	/* box-shadow: 2px 2px 5px; */
}
.img img {
	display: block;
	max-width: 500px;
	max-height: 500px;
	width: auto;
	height: auto;
	margin: auto;
	display: block;
	box-shadow: 2px 2px 5px;
}

@media only screen and (min-width: 601px) and (max-width: 900px) {
	.no-tablet {
		display: none;
	}
	.show-tablet {
		display: block;
	}
	.vi_main {
		min-height: unset;
	}
	.vi_slider {
		height: unset;
	}

	.vi_left {
		width: 100%;
	}
	#youtube_mobile {
		text-align: center;
		min-height: 270px;
		background: #fe5815;
	}
	.youtube {
		min-height: 250px;
    margin: auto;
    width: 600px;
	}
	.box_youtube_outer {
		display: unset;
		position: relative;
	}


}


@media only screen and (max-width:600px) {
	body {
		overflow-x: hidden;
	}
	.no-mobile {
		display: none;
	}
	.show-mobile {
	display: block;
	}

	#vi {
		padding: 0;
	}
	.vi_slider {
		height: 280px;
	}
	.vi_main {
	    margin: auto;
	    min-height: unset;
	    min-width: 100%;
	}
	.vi_left {
		width: 100%;
	}
	.vi_left h1 {
		font-size: 40px;
	}
	.smile_cam img {
		height: 70px;
	}

	/* ==========================================================================
	   youtube
	   ========================================================================== */
	.youtube {
		width: 100%;
	}
	.box_youtube_outer {
		position: relative;
	}
  .box_youtube {
  	margin: 10px 0;
  }

	/* ==========================================================================
	   text
	   ========================================================================== */
	#text div {
		margin: 40px auto;
	}
	#text .heavy_o {
		font-size: 22px;
	}
	#text .normal {
		font-size: 16px;
	}

	.winner_tab {
		font-size: 12px;
	}
	.winner_tab::after {
		content: ">";
		position: absolute;
		width: 10px;
		height: 10px;
		right: 7px;
	}

	.winner_tab.wintertxt::after {
		content: "";
		position: absolute;
		width: 10px;
		height: 10px;
		right: 7px;
	}

	/* ==========================================================================
   season
   ========================================================================== */
  .season_nav {
  	/* padding-top: 10px; */
  }
	.season_name {
		font-size: 18px;
		line-height: 22px;
	}
	.season_name .comingsoon {
		font-size: 12px;
	}
	.season_name.active:hover {
		opacity: 1;
	}
	.season_btm.on {
		height: 77px;
	}
	.season_container.spring {
    background-image: url(../images/bg_spring.png);
    background-size: 130% auto;
    background-position-y: 10px;
    background-position-x: center;
    background-repeat: no-repeat;
 }
	.season_container.summer {
    background-image: url(../images/bg_summer.png);
    background-size: 130% auto;
    background-position-y: 10px;
    background-position-x: center;
    background-repeat: no-repeat;
 }
 .season_container.autumn {
 	background-image: url(../images/bg_autumn.png);
 	background-size: 130% auto;
 	background-position-y: 10px;
 	background-position-x: center;
 	background-repeat: no-repeat;
 }

 .season_container.winter {
 	background-image: url(../images/bg_winter.png);
 	background-size: 130% auto;
 	background-position-y: 10px;
 	background-position-x: center;
 	background-repeat: no-repeat;
 }

  .season_title {
  	font-size: 26px;
  	letter-spacing: 0;
  }
  .season_title span {
		letter-spacing: -10px;
	}
	.smile_cam_pink img {
		width: 45%;
	}

	.season_term {
		font-size: 12px;
	}
	.season_term .num {
		font-size: 14px;
	}
	.prize {
		display: block;
		margin: 20px auto;
	}
	.voucher {
		width: 100%;
		text-align: center;
		margin: 30px auto 10px;
	}
	.voucher img {
		width: 150px;
	}
	.prize_text {
		font-size: 18px;
		line-height: 22px;
	}
	.prize_text .num {
		font-size: 22px;
	}

	.bordingpass_box {
		grid-template-columns: 100% 1fr;
    width: 90%;
	}
	.bp_inner.grid1 {
		grid-column: 1;
		grid-row: 1;
	}
	.bp_inner.grid2 {
		grid-column: 1;
		grid-row: 2;
	}
	.bp_inner.grid3 {
		grid-column: 1;
		grid-row: 3;
	}
	.bp_inner.grid4 {
		grid-column: 1;
		grid-row: 4;
	}
	.bp_image img {
		max-width: 90%;
	}
	.bp_ex {
		font-size: 18px;
	}
	.start_date_sp {
		font-size: 18px;
		border-bottom: 5px solid #fe5815;
		display: table;
		position: relative;
		margin: 40px auto 0;
	}
	.start_date_sp:last-child {
		margin: 0 auto 40px;
	}
	.jetta {
		width: 60px;
		bottom: -5px;
		right: -105px;
	}
	/* ==========================================================================
	   overview / block
	   ========================================================================== */
	.block_box {
		width: 100%;
		margin: auto;
		padding: 20px 10px 10px;
	}
	.title {
		margin-bottom: 10px;
	}
	.inner > div {
		display: block;
		padding-bottom: 10px !important;
	}
	.inner h2 {
		text-align: center;
	}
	#overview h2 {
		text-align: left;
		margin: 10px 0;
	}
	.step_box {
		width: 100%;
		grid-template-columns: 30% 1fr;
		grid-template-rows: 50% 1fr;
		margin-bottom: 20px;
	}
	.step {
		top: 0;
		grid-column: 1;
		grid-row: 2;
		text-align: center;
	}
	.step_img {
		grid-row: 1;
		grid-column: 1 / 3;
		width: 50%;
		margin: 0 auto 20px;
	}
	.step_text {
		grid-row: 2;
		grid-column: 2;
	}
	.arrow_box {
		width: 15%;
		margin-bottom: 20px;
		transform: rotate(90deg);
	}
	.dot_hr {
		margin: 30px 10px 10px;
	}

	.caution_box {
		font-size: 16px;
		left: -20px;
		border-bottom: 4px solid #fe5815;
	}
	.caution_small {
		font-size: 12px;
	}
	.plane {
		height: auto;
		width: 40px;
		top: 73px;
		right: -45px;
	}

	/* ==========================================================================
   terms
   ========================================================================== */
  #terms {
  	width: 90%;
  	margin-bottom: 30px;
  }
	#showTerms_txt {
		color: #fe5815;
		font-weight: 600;
		font-size: 18px;
	}

	.terms_text label {
		cursor: pointer;
		height: 60px;
		line-height: 50px;
		font-size: 30px;
		margin:0 auto 0;
		padding:0;
	}

	.icon-plus {
		 font-size:18px;
		 margin: 20px 20px 0 0;
	}
	.icon-cheveron-right {
		 font-size:25px;
		 margin: 18px 20px 0 0;
	}

	.terms_text .text_list {
		margin: 0 0;
		top: 0;
		padding: 10px;
	}


	/* ==========================================================================
   btn
   ========================================================================== */
  .btn {
  	width: 90%;
  	font-size: 18px;
  	margin:0 auto 30px;
		padding:0;
		height: 60px;
		line-height: 60px;
  }

  .btn a {
  	margin: auto 0 auto 20px;
  }

  .btn span {
	font-size: 12px;
	line-height: 0;
	}

	.btn.summer {
		font-size: 16px;
		line-height: 20px;
		margin: 30px auto;
	}

	.btn.autumn {
		font-size: 16px;
		line-height: 20px;
		margin: 30px auto;
	}

	.btn.winter {
		font-size: 16px;
		line-height: 20px;
		margin: 30px auto;
	}

	.btn.finish {
		font-size: 16px;
		line-height: 40px;
		margin: 30px auto;
	}


	.back::before {
		width: 20px;
		height: 20px;
		left: 10px;
		background-size: auto;
		transform: rotate(180deg);
	}

	.btn-winter-inner{
		padding: 0 20px;
	}
	.btn-winter-cp{
		margin: 0 auto 30px;
	}
	/* ==========================================================================
   bnr
   ========================================================================== */
  .bnr {
  	width: 100%;
  	margin: 30px auto 0;
  }


	/* ==========================================================================
   applicate
   ========================================================================== */
  .applicate {
  	width: 90%;
  	font-size: 18px;
  	margin:0 auto 30px;
		padding: 0 0 0 35px;
		height: 60px;
		line-height: 60px;
  }
  .out_soon {
  	font-size: 18px;
  }

	/* ==========================================================================
   sns
   ========================================================================== */
   #sns {
   		padding: 12px 0 5px;
   }
   .sns_icon {
   		padding: 10px 5px;
   }
	.sns_icon img {
		height: 40px;
	}
	/* ==========================================================================
	  footer
	========================================================================== */
	footer {
		text-align: left;
	    padding: 20px 20px 10px
	}

	/* ==========================================================================
	  footer
	========================================================================== */
	#winners {
		display: grid;
		grid-template-columns: 50% 50%;
		margin: 10px;
	}
	.img img {
		display: block;
		max-width: 100%;
		max-height: 300px;
		width: auto;
		height: auto;
		margin: auto;
		display: block;
		box-shadow: 2px 2px 5px;
	}

}

.is-active {
	display: block;
}



@media only screen and (min-width:600px) {

	.winnerbtn{
			height: 26px;
			margin-top: 14px;
			margin-bottom: 10px;
			color: #fff;
	}

	.winner_tab .season_btm.on {
		height: 26px;
		width: calc(100% - 1px);
	}

	.winner_tab .season_name{
		width: 100%;
		font-weight: 600;
		font-size: 16px;
		position: relative;
		line-height: 26px;
		margin-bottom: 0;
		border-right: solid 0 #dddddd;
		/* transition: all 0.7s ease; */
		/* box-sizing: border-box; */
		display: block;
	}

	.winner_tab .season_name.summer:hover{
		background: red;
	}

	.winner_tab .season_name {

	}

	.winner_tab.spring {
		/*color: #ff80ab;*/
		color: #fff;
		background: #ff80ab;
	}
	.winner_tab .season_name.spring:hover {
		background-color: rgba(255, 128, 171, 0.3);
		cursor: pointer;
		transition: all 0.7s ease;
	}

	.winner_tab.summer {
		/*color: #2196f3;*/
		color: #fff;
		background: #2196f3;
	}

	.winner_tab.autumn {
		color: #fff;
		background: #ff9800;
	}

	.winner_tab.winter {
		color: #fff;
		background: #217f21;
	}

	.winner_tab .season_name.summer:hover {
		background-color: rgba(33, 150, 243, 0.3);
		cursor: pointer;
		transition: all 0.7s ease;
	}

	.winner_tab a.spring,
	.winner_tab a.summer,
	.winner_tab a.autumn,
	.winner_tab a.winter{
		color: #fff;
	}

}
