@charset "UTF-8";
/* CSS Document */
:root{
	--orange-color-primary: #E07900;
	--green-color-primary: #42A500;
	--white-color-primary: #FFFFFF;
	--inner-width: 61.1458vw;
}

.g-pass_cta_button{
	position: relative;
	z-index: 1;
}
/* ボタンの波紋 */
.g-pass_cta_button::before,
.g-pass_cta_button::after {
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 31.0417vw;
    height: 6.9792vw;
    border-radius: 0.5208vw;
    background: rgb(224,121,0);
    background: linear-gradient(225deg, rgba(224,121,0,1) 0%, rgba(224,86,0,1) 100%);
	pointer-events: none;
	animation: pulsate 2s linear infinite;
	opacity: 0.4;
}

.g-pass_cta_button::after {
  animation-delay: 0.7s;
}

/* ボタンの波紋が広がっていくアニメーション */
@keyframes pulsate {
  0% {
    transform: scale(0.7);
    opacity: 0.4;
	  width: 31.0417vw;
  }

  100% {
    transform: scale(1.3);
    opacity: 0;
	  width: 31.0417vw;
  }
}

.g-pass_cta_button_item{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 29.8438vw;
	height: 5.7813vw;
	margin: 0.59895vw auto;
	border-radius: 0.5208vw;
	box-shadow: 0 3px 16px rgba(0,0,0,0.16);
	background: rgb(224,121,0);
	background: linear-gradient(225deg, rgba(224,121,0,1) 0%, rgba(224,86,0,1) 100%);
	color: var( --white-color-primary );
	font-weight: 700;
	font-family: heisei-maru-gothic-std;
	letter-spacing: 0.1em;
	text-align: center;
	transition: box-shadow 0.3s ease;
}

.g-pass_cta_button_item .font_big{
	font-size: 1.5104vw;
	margin-top: 0.3125vw;
}

.g-pass_cta_button_item .font_small{
	font-size: 0.9896vw;
}

.g-pass_cta_button_item:hover{
	text-decoration: none;
	color: var( --white-color-primary );
	box-shadow: 0 3px 16px rgba(0,0,0,0.0);
}

.g-pass_wrapper{
	position: relative;
    padding-top: 3.5938vw;
}

/*============================
 mainvisual
============================*/
.g-pass_mainVisual{
	height: 43.1771vw;
	position: relative;
	background-image: url("../image/g-pass-campaign/mainvisual_bg.webp");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.g-pass_mainVisual_text{
	position: absolute;
	top: 6.7271vw;
	left: 10.0604vw;
	opacity: 0;
}

.g-pass_mainVisual_text_main{
	position: relative;
	margin-bottom: 2.2396vw;
}

.g-pass_mainVisual_text_main img{
	width: 41.9271vw;
}

.g-pass_mainVisual_text_main_hangaku{
	position: absolute;
	top: 3.2938vw;
	left: 26.7917vw;
}

.g-pass_mainVisual_text_main_hangaku img{
	width: 7.2vw;
}

.g-pass_mainVisual_text_period{
	display: -webkit-inline-flex;
	display: -moz-inline-flex;
	display: -ms-inline-flex;
	display: -o-inline-flex;
	display: inline-flex;
	flex-direction: column;
	margin-left: 0.9417vw;
}

.g-pass_mainVisual_text_period_heading{
	display: inline-block;
	width: 7.1875vw;
	height: 1.9271vw;
	margin: 0;
	border-radius: 0.5208vw;
	background-color: var( --orange-color-primary );
	color: var( --white-color-primary );
	font-size: 0.8854vw;
	font-weight: 700;
	text-align: center;
	line-height: 1.875vw;
}

.g-pass_mainVisual_text_period_item{
	display: inline-block;
	margin: 0;
	padding: 0.4688vw 1.25vw;
	border-radius: 0.5208vw;
	background-color: var( --white-color-primary );
}

.g-pass_mainVisual_text_period_item_start,
.g-pass_mainVisual_text_period_item_end{
	font-size: 1.4583vw;
	font-weight: 700;
}

.g-pass_mainVisual_text_period_item_start{
	position: relative;
	padding-right: 1.9271vw;
}

.g-pass_mainVisual_text_period_item_start::before{
	content:"";
	display: inline-block;
	position: absolute;
    top: 50%;
    right: 0.3125vw;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	width: 0.9375vw;
	height: 0.7813vw;
	background-image: url("../image/g-pass-campaign/g-pass_mainVisual_text_period_item_arrow.svg");
	background-size: contain;
	background-repeat: no-repeat;
}

.g-pass_mainVisual_text_period_item_start span,
.g-pass_mainVisual_text_period_item_end span{
	margin: 0 0.2604vw;
	font-size: 0.8333vw;
}

.g-pass_mainVisual_text_period_item_start span:last-of-type,
.g-pass_mainVisual_text_period_item_end span:last-of-type{
	margin: 0 0 0 0.2604vw;
}

.g-pass_mainVisual_image{
	position: absolute;
	right: 0;
	bottom: 0;
	opacity:0;
}

.g-pass_mainVisual_image img{
	width: 45.2604vw;
}

.g-pass_mainVisual_sponser{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	grid-row-gap: 0.5208vw;
	flex-direction: column;
	position: absolute;
	right: 1.5625vw;
	bottom: 1.875vw;
}

.g-pass_mainVisual_sponser_item img{
	width: 12.7604vw;
}

.g-pass_mainVisual_other_company{
	position: absolute;
	z-index: 1;
    left: 50%;
	bottom: -2.7604vw;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.g-pass_mainVisual_other_company img{
	height: 6.6146vw;
}

/*============================
 description
============================*/

.g-pass_description{
	position: relative;
	padding: 7.2396vw 0 11.4063vw;
	background: rgb(60,158,0);
	background: linear-gradient(180deg, rgba(60,158,0,1) 0%, rgba(9,118,0,1) 100%);
}

.g-pass_description_bg{
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url("../image/g-pass-campaign/description_bg.webp");
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
	mix-blend-mode: multiply;
	opacity: 0.18;
}

.g-pass_inner{
	width: var( --inner-width );
	margin: 0 auto;
}

.g-pass_description_content{
	position: relative;
	margin: 14.6354vw 0 3.4896vw;
	padding-top: 4.1667vw;
	padding: 4.1667vw 3.4375vw 2.5521vw 3.4375vw;
	border-radius: 1.8229vw;
	background-color: var( --white-color-primary );
}

.g-pass_description_content:before{
	content:"";
	display: inline-block;
	position: absolute;
	top: -14.6354vw;
	left: 0;
	width: 100%;
	height: 14.6354vw;
	background-image: url("../image/g-pass-campaign/description_top_image.webp");
	background-size: 100%;
	background-position: top center;
	background-repeat: no-repeat;
}

.g-pass_description_heading{
	position: absolute;
    top: -2.4479vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	width: 34.375vw;
	height: 6.6146vw;
	border-radius: 1.25vw;
	background-color: var( --green-color-primary );
	color: var( --white-color-primary );
	font-size: 1.7188vw;
	font-family: heisei-maru-gothic-std;
	line-height: 6.9271vw;
	letter-spacing: 0.005em;
	text-align: center;
}

.g-pass_description_heading::before{
	content:"期間限定";
	display: inline-block;
	position: absolute;
    top: -1.7188vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	width: 9.1146vw;
	height: 2.5vw;
	margin: 0;
	border-radius: 0.5208vw;
	background-color: var( --orange-color-primary );
	color: var( --white-color-primary );
	font-size: 1.0938vw;
	font-weight: 700;
	text-align: center;
	line-height: 2.7083vw;
}

.g-pass_description_text{
	text-align: center;
	font-family: heisei-maru-gothic-std;
}

.g-pass_description_text_logo{
	margin: 3.2292vw 0 3.4896vw;
}

.g-pass_description_text_logo img{
	width: 41.0417vw;
}

.g-pass_description_text_main{
	margin-bottom: 2.1354vw;
}

.g-pass_description_text_main_item{
	margin-bottom: 1.0417vw;
	font-size: 1.1458vw;
	font-weight: 700;
	letter-spacing: 0.08em;
	vertical-align: bottom;
}

.g-pass_description_text_main_item:last-child{
	margin-bottom: 0;
}

.g-pass_description_text_main_item .font_org{
	margin: 0 0.4167vw 0 0.3125vw;
	color: var( --orange-color-primary );
	font-size: 1.3542vw;
}

.g-pass_description_text_main_item .bg_org{
	display: inline-block;
	padding: 0.8333vw 1.6146vw 0.5729vw;
	border-radius: 0.7813vw;
	background-color: var( --orange-color-primary );
	color: var( --white-color-primary );
	font-size: 1.3542vw;
}

.g-pass_description_text_main_item .bg_grn{
	display: inline-block;
	margin-right: 0.5729vw;
	padding: 0.8333vw 1.6146vw 0.5729vw;
	border-radius: 0.7813vw;
	background-color: var( --green-color-primary );
	color: var( --white-color-primary );
	font-size: 1.3542vw;
}

.g-pass_description_period{
	display: -webkit-inline-flex;
	display: -moz-inline-flex;
	display: -ms-inline-flex;
	display: -o-inline-flex;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	margin-bottom: 2.4479vw;
	text-align: center;
}

.g-pass_description_period_heading{
	display: inline-block;
	width: 7.1875vw;
	height: 1.9271vw;
	margin-bottom: 0.3906vw;
	border-radius: 0.5208vw;
	background-color: #484848;
	color: var( --white-color-primary );
	font-size: 0.8854vw;
	font-weight: 700;
	font-family: heisei-maru-gothic-std;
	line-height: 2.1875vw;
	text-align: center;
}

.g-pass_description_period_item{
	display: inline-block;
	margin: 0;
	border-radius: 0.5208vw;
	background-color: var( --white-color-primary );
}

.g-pass_description_period_item_start,
.g-pass_description_period_item_end{
	font-size: 1.4583vw;
	font-weight: 700;
}

.g-pass_description_period_item_start{
	position: relative;
	padding-right: 1.9271vw;
}

.g-pass_description_period_item_start::before{
	content:
	"";
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 0px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: 0.9375vw;
	height: 0.7813vw;
	background-image: url("../image/g-pass-campaign/g-pass_mainVisual_text_period_item_arrow.svg");
	background-size: contain;
	background-repeat: no-repeat;
}

.g-pass_description_period_item_start span,
.g-pass_description_period_item_end span{
	margin: 0 0.2604vw;
	font-size: 0.8333vw;
}

.g-pass_description_period_item_start span:last-of-type,
.g-pass_description_period_item_end span:last-of-type{
	margin: 0 0 0 0.2604vw;
}

.g-pass_description_list{
	overflow: hidden;
	margin: 2.7083vw 0 0.5208vw;
	border-radius: 0.4167vw;
	background-color: rgba( 242,242,242,0.33 );
}

.g-pass_description_list_item{
	display: grid;
	grid-template-columns: 16.0938vw auto;
	grid-template-rows: 3.125vw;
	align-items: center;
	border-bottom: solid 1px #E3E3E3;
}

.g-pass_description_list_item:last-child{
	grid-template-rows: 100%;
	border: none;
}

.g-pass_description_list_title{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 16.0938vw;
	height: 100%;
	background-color: var( --green-color-primary );
	color: var( --white-color-primary );
	font-size: 1.0417vw;
	line-height: 3.125vw;
	text-align: center;
}

.g-pass_description_list_data{
	width: auto;
	height: 100%;
	margin: 0;
	padding-left: 1.6146vw;
	color: #000000;
	font-size: 0.9896vw;
	font-weight: 700;
	line-height: 3.125vw;
}

.g-pass_description_list_item:last-child .g-pass_description_list_data{
	padding: 1.5625vw 0 1.5625vw 1.6146vw;
}

.g-pass_description_list_item:last-child .g-pass_description_list_data img{
	width: 24.4271vw;
	margin-top: 1.0417vw;
}

.g-pass_description_note{
	margin-bottom: 0;
	font-size: 0.8854vw;
	line-height: 1.4em;
}

.g-pass_description_bottom_text{
	margin-bottom: 0;
	color: var( --white-color-primary );
	font-size: 2.1875vw;
	font-weight: 700;
	font-family: heisei-maru-gothic-std;
	line-height: 1.47em;
	letter-spacing: 0.1em;
	text-align: center;
}

.g-pass_description_scroll{
	position: absolute;
	bottom: calc( 1.25vw + 5.7292vw);
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	text-align: center;
}

.g-pass_description_scroll::before{
	content: "";
	position: absolute;
	top: calc( 1.25vw + 2.5vw );
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	width: 0.1563vw;
	height: 5.7292vw;
	background-color: rgba( 255,255,255,0.20 );
}

.g-pass_description_scroll::after {
    content: "";
    position: absolute;
    top: calc( 1.25vw + 2.5vw + 4.1667vw);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 0.1563vw;
    height: 1.5625vw;
    animation: scrollmove 1.4s ease-in-out infinite;
    background-color: var( --white-color-primary );
    opacity: 1;
}

@keyframes scrollmove{
	0%{
		top: calc( 1.25vw + 2.5vw);
		height: 0;
		opacity: 0;
	}
	30%{
		height: 1.5625vw;
		opacity: 1;
	}
	50%{
		height: 2vw;
		opacity: 1;
		
	}
	100%{  
		top: calc( 1.25vw + 2.5vw + 4.1667vw);
		opacity: 0;
	}
}

.g-pass_description_scroll_text{
	display: inline-block;
	color: var( --white-color-primary );
	font-size: 0.625vw;
	font-weight: 700;
}

.g-pass_description_scroll img{
	margin-top: -0.3125vw;
}

.g-pass_comparison{
	padding: 4.7396vw 0 2.5vw;
	background-color: #F9F9F3;
}

.g-pass_comparison_content{
	margin-bottom: 4.375vw;
	padding-top: 4.1146vw;
	padding: 4.1667vw 2.9688vw 3.0208vw;
	border-radius: 1.8229vw;
	background-color: var( --white-color-primary );
}

.g-pass_pass_comparison_heading{
	margin-bottom: 2.2917vw;
	font-size: 1.9271vw;
	font-weight: 700;
	font-family: heisei-maru-gothic-std;
	letter-spacing: 0.1em;
	text-align: center;
}

.g-pass_comparison_table{
	margin-bottom: 3.0729vw;
}

.g-pass_comparison_table img{
	width: 100%;
}

.g-pass_pass_comparison_text{
	margin-bottom: 2.6042vw;
	font-size: 1.4063vw;
	font-weight: 700;
	font-family: heisei-maru-gothic-std;
	line-height: 1.51em;
	letter-spacing: 0.1em;
	text-align: center;
}

.g-pass_pass_comparison_list{
	position: relative;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	margin-bottom: 2.6042vw;
	padding: 3.125vw 3.6458vw;
	border-radius: 0.7813vw;
	background-color: #F9F9F3;
	list-style: none;
}

.g-pass_pass_comparison_item{
	z-index: 1;
	text-align: center;
}

.g-pass_pass_comparison_item_image{
	position: relative;
	width: 8.9063vw;
	margin: 0 auto 1.4063vw;
}

.g-pass_pass_comparison_item_image::before{
	content:"";
	display: inline-block;
	z-index: -1;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	width: 9.9479vw;
	height: 9.9479vw;
	border-radius: 50%;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
}

.g-pass_pass_comparison_item:nth-of-type(1) .g-pass_pass_comparison_item_image::before{
	background-color: var( --green-color-primary );
}

.g-pass_pass_comparison_item:nth-of-type(2) .g-pass_pass_comparison_item_image::before{
	background-color: #079AAE;
}

.g-pass_pass_comparison_item:nth-of-type(3) .g-pass_pass_comparison_item_image::before{
	background-color: var( --orange-color-primary );
}

.g-pass_pass_comparison_item_image img{
	width: 100%;
	filter: drop-shadow( 0 3px 6px rgba(0,0,0,0.16) );
}

.g-pass_pass_comparison_item_text p{
	font-weight: 700;
	font-family: heisei-maru-gothic-std;
	letter-spacing: 0.005em;
}

.g-pass_pass_comparison_item_text_small{
	margin-bottom: 0.3125vw;
	font-size: 0.9375vw;
}

.g-pass_pass_comparison_item:nth-of-type(1) .g-pass_pass_comparison_item_text_small{
	color: var( --green-color-primary );
}

.g-pass_pass_comparison_item:nth-of-type(2) .g-pass_pass_comparison_item_text_small{
	color: #079AAE;
}

.g-pass_pass_comparison_item:nth-of-type(3) .g-pass_pass_comparison_item_text_small{
	color: var( --orange-color-primary );
}

.g-pass_pass_comparison_item_text_big{
	margin-bottom: 0;
	color: #333333;
	font-size: 1.4583vw;
}

.g-pass_pass_comparison_item_text_big span.strikethrough{
	text-decoration: line-through;
}

.g-pass_pass_comparison_item:nth-of-type(1) .g-pass_pass_comparison_item_text_big span.color{
	color: var( --green-color-primary );
}

.g-pass_pass_comparison_item:nth-of-type(2) .g-pass_pass_comparison_item_text_big span.color{
	color: #079AAE;
}

.g-pass_pass_comparison_item:nth-of-type(3) .g-pass_pass_comparison_item_text_big span.color{
	color: var( --orange-color-primary );
}

.g-pass_comparison_swiper_outer{

	position: relative;
}

.swiper-wrapper{
	padding-bottom: calc( 0.8333vw + 2.7083vw);
}

.g-pass_comparison_slider_heading{
	margin-bottom: 2.3958vw;
	text-align: center;
}

.g-pass_comparison_slider_heading img{
	width: 43.5938vw;
}

.g-pass_comparison_slider_item{
	overflow: hidden;
	width: 100%;
	border-radius: 0.5208vw;
}

.g-pass_comparison_slider_item_image{
	position: relative;
}

.g-pass_comparison_slider_item_image img{
	width: 100%;
}

.g-pass_comparison_slider_item_image_text{
	position: absolute;
	top: 0.7292vw;
	left: 0.8333vw;
	height: 2.2917vw;
	padding: 0 0.9896vw;
	border-radius: 1.1458vw;
	/*background-color: var( --green-color-primary );*/
	background-color: #2e2e2e;
	color: var( --white-color-primary );
	font-size: 0.9896vw;
	font-weight: 700;
	line-height: 2.1875vw;
}

.g-pass_comparison_slider_item_price{
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	margin-bottom: 0;
}

.g-pass_comparison_slider_item_price_title{
	width: 5.7813vw;
	height: 2.2396vw;
	color: var( --white-color-primary );
	font-size: 0.8854vw;
	line-height: 2.0833vw;
	text-align: center;
}

.g-pass_comparison_slider_item_price_title:nth-of-type(1){
	background-color: #6C6C6C;
}

.g-pass_comparison_slider_item_price_title:nth-of-type(2){
	background-color: var( --green-color-primary );
}

.g-pass_comparison_slider_item_price_data{
	margin-bottom: 0;
	background-color: var( --white-color-primary );
	font-size: 1.1458vw;
	font-weight: 700;
	line-height: 1.9833vw;
	text-align: center;
	vertical-align: bottom;
}

.g-pass_comparison_slider_item_price_data:nth-of-type(1){
	position: relative;
}

.g-pass_comparison_slider_item_price_data:nth-of-type(1)::before{
	content:"";
	display: inline-block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #E3E3E3;
}

.g-pass_comparison_slider_item_price_data:nth-of-type(1) .font_small{
	margin-left: 0.1563vw;
	font-size: 0.7292vw;
}

.g-pass_comparison_slider_item_price_data:nth-of-type(2){
	color: var( --green-color-primary );
	font-size: 1.4583vw;
}

.g-pass_comparison_slider_item_price_data:nth-of-type(2) .font_small{
	margin-left: 0.1563vw;
	font-size: 0.8854vw;
}

div.swiper-button-next,
div.swiper-button-prev{
	width: 3.125vw;
	height: 3.125vw;
	margin-top: calc(0px - (3.125vw / 2));
}

div.swiper-button-next,
div.swiper-rtl div.swiper-button-prev{
	right: 1.1458vw;
}

div.swiper-button-prev,
div.swiper-rtl div.swiper-button-next{
	left: 1.1458vw;
}

div.swiper-button-prev:after,
div.swiper-rtl div.swiper-button-next:after,
div.swiper-button-next:after,
div.swiper-rtl div.swiper-button-prev:after{
    content:"";
	display: inline-block;
	width: 3.125vw;
	height: 3.125vw;
	background-image: url("../image/g-pass-campaign/g-pass_comparison_slider_arrow.svg");
	background-size: contain;
	background-repeat: no-repeat;
}

div.swiper-button-next:after,
div.swiper-rtl .swiper-button-prev:after {
	transform: rotate(180deg);
}

div.swiper-horizontal>.swiper-pagination-bullets,
div.swiper-pagination-bullets.swiper-pagination-horizontal,
div.swiper-pagination-custom,
div.swiper-pagination-fraction{
	bottom: 0;
	line-height: 0;
}

div.swiper-pagination-bullet {
    width: 0.8333vw;
    height: 0.8333vw;
    border-radius: 50%;
    background-color: #B7B7B7;
    opacity: 1;
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{
	margin: 0 0.4167vw;
}

.swiper-pagination-bullet-active{
	background-color: var( --green-color-primary );
}

/*============================
 flow
============================*/

.g-pass_flow{
	position: relative;
	padding: 3.0208vw 0 3.9583vw;
	background: rgb(60,158,0);
	background: linear-gradient(180deg, rgba(60,158,0,1) 0%, rgba(9,118,0,1) 100%);
}

.g-pass_flow_bg{
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url("../image/g-pass-campaign/description_bg.webp");
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
	mix-blend-mode: multiply;
	opacity: 0.18;
}

.g-pass_flow_content{
	position: relative;
	z-index: 1;
}

.g-pass_flow_heading{
	margin-bottom: 2.7083vw;
	text-align: center;
}

.g-pass_flow_heading img{
	width: 31.4063vw;
}

.g-pass_flow_list{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	margin-bottom: 3.6458vw;
	padding: 0;
	list-style: none;
}

.g-pass_flow_item{
	position: relative;
	opacity: 0;
}

.g-pass_flow_item::before{
	content:"";
	display: inline-block;
	position: absolute;
    top: calc( 50% + 0.625vw );
    right: calc( -1.4063vw - 1.4063vw );
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	width: 1.4063vw;
	height: 1.1979vw;
	background-image: url("../image/g-pass-campaign/g-pass_flow_item_arrow.svg");
	background-size: 1.4063vw 1.1979vw;
}

.g-pass_flow_item:last-of-type::before{
	display: none;
}

.g-pass_flow_item img{
	width: 17.6563vw;
	filter: drop-shadow( 0 3px 6px rgba(0,0,0,0.16) );
}

/*============================
 faq
============================*/

.g-pass_faq{
	padding: 4.5313vw 0 9.4792vw;
	background-color: #F9F9F3;
}

.g-pass_faq_heading{
	margin-bottom: 3.2813vw;
	text-align: center;
}

.g-pass_faq_heading img{
	width: 15.3646vw;
}

.g-pass_faq_accordion{
	position: relative;
	padding: 1.3542vw 0 1.3542vw 3.6979vw;
	border-bottom: solid 1px #EBEBEB;
	color: #252525;
}

.g-pass_faq_accordion:before,
.g-pass_faq_accordion:after{
	content: '';
	display: inline-block;
	position: absolute;
	top: calc( 1.3542vw + 0.8333vw );
    right: 1.5625vw;
	width: 1.9271vw;
	height: 2px;
	background-color: #252525;
	background-position: center center;
	transition: transform 0.3s, background-color 0.3s;
}

.g-pass_faq_accordion::before{
    transform: rotate(90deg);
}

.g-pass_faq_accordion:hover::before,
.g-pass_faq_accordion:hover::after{
	background-color: var( --green-color-primary );
}

.g-pass_faq_accordion:first-of-type{
	border-top: solid 1px #EBEBEB;
}

.g-pass_faq_accordion_question{
	position: relative;
	cursor: pointer;
	transition: margin 0.3s ease, color 0.3s;
}

.g-pass_faq_accordion_question:hover{
	color: var( --green-color-primary );
}

.g-pass_faq_accordion_question::before{
	content:"";
	display: inline-block;
	position: absolute;
    top: 50%;
    left: calc( -1.1979vw - 1.25vw );
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	width: 1.1979vw;
	height: 0.8854vw;
	background-image: url("../image/g-pass-campaign/g-pass_faq_accordion_question_q.svg");
	background-size: contain;
	background-repeat: no-repeat;
}

.g-pass_faq_accordion_question_text{
	margin-bottom: 0;
	font-size: 1.1979vw;
	font-weight: 700;
}

.g-pass_faq_accordion_answer{
	display: none;
}

.g-pass_faq_accordion_answer_text{
	margin: 0;
	font-size: 1.0417vw;
	line-height: 1.6em;
}

.g-pass_faq_accordion.answer_open::before,
.g-pass_faq_accordion.answer_open::after{
	background-color: var( --green-color-primary );
}

.g-pass_faq_accordion.answer_open::before{
	transform: rotate(0);
}

.g-pass_faq_accordion.answer_open .g-pass_faq_accordion_question{
	margin-bottom: 1.0417vw;
}

/*============================
 company
============================*/

.g-pass_company .g-pass_inner{
	width: 100%;
}

.g-pass_company_content{
	position: relative;
}

.g-pass_company_heading{
	position: absolute;
	z-index: 1;
	top: -4.0625vw;
	width: 100%;
	margin-bottom: 0;
	text-align: center;
}

.g-pass_company_heading img{
	width: 38.6458vw;
}

.g-pass_company_imgae_list{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}

.g-pass_company_imgae_item{
	width: calc( 100% / 6 );
	opacity:0;
}

.g-pass_company_imgae_item img{
	width: 100%;
}

.g-pass_company_catchcopy{
	margin-bottom: 0;
	padding: 2.0833vw 0;
	background-color: var( --green-color-primary );
	text-align: center;
}

.g-pass_company_catchcopy img{
	width: 48.6979vw;
}

.g-pass_store{
	position: relative;
	padding: 4.1667vw 0;
	background-image: url("../image/g-pass-campaign/store_bg.webp");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.g-pass_store_content{
	padding: 2.5vw 3.0208vw 2.7604vw;
	border-radius: 1.8229vw;
	background-color: var( --white-color-primary );
}

.g-pass_store_heading{
	margin-bottom: 1.875vw;
	text-align: center;
}

.g-pass_store_heading img{
	width: 27.3438vw;
}

.g-pass_store_list{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	margin-bottom: 2.3958vw;
}

.g-pass_store_item{
	overflow: hidden;
	border-radius: 0.7813vw;
	background-color: #F9F9F3;
	font-family: heisei-maru-gothic-std;
}

.g-pass_store_image{
	position: relative;
	margin-bottom: 1.7708vw;
}

.g-pass_store_image img{
	width: 26.5104vw;
}

.g-pass_store_name{
	position: relative;
    z-index: 1;
    width: 18.6458vw;
	height: 2.5vw;
    margin: -1.25vw auto 0;
    border-radius: 0.5208vw;
    background-color: var( --green-color-primary );
    color: var( --white-color-primary );
    font-size: 0.9896vw;
    line-height: 2.9vw;
    text-align: center;
}

.g-pass_store_access{
	padding: 0 1.875vw 1.3542vw;
}

.g-pass_store_access_address{
	margin-bottom: 0.4167vw;
	font-size: 0.8333vw;
	font-weight: 700;
	line-height: 1.37em;
}

.g-pass_store_access_tel{
	color: var( --green-color-primary );
	text-decoration: underline;
}

.g-pass_store_access_heading{
	display: inline-block;
	width: calc( 5.4688vw * 1.2 );
	height: calc( 1.5104vw * 1.2 );
	margin-bottom: -0.1042vw;
	border-radius: calc( 0.2083vw * 1.2 );
	background-color: #745121;
	color: var( --white-color-primary );
	font-size: calc( 0.625vw * 1.2 );
	line-height: calc( 1.6667vw * 1.2 );
	letter-spacing: 0.1em;
	text-align: center;
	transform: scale(0.8);
	transform-origin: top left;
}

.g-pass_store_access_description{
	margin-bottom: 1.25vw;
	font-size: 0.8333vw;
	font-weight: 700;
}

.g-pass_store_access_map{
	position: relative;
	width: 100%;
	padding-top: 47.477%;
}

.g-pass_store_access_map iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.g-pass_store_content .g-pass_cta_button_item {
    margin-top: 0;
    margin-bottom: 0;
    box-shadow: none;
}

.g-pass_store_content .g-pass_cta_button_item::before{
	display: none;
}

.g-pass_contact{
	position: relative;
	padding: 5.3646vw 0;
	background: rgb(60,158,0);
	background: linear-gradient(180deg, rgba(60,158,0,1) 0%, rgba(9,118,0,1) 100%);
}

.g-pass_contact_bg{
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url("../image/g-pass-campaign/description_bg.webp");
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
	mix-blend-mode: multiply;
	opacity: 0.18;
}

.g-pass_contact_content_banner{
	position: relative;
	z-index: 1;
}

.g-pass_contact_content_banner img{
	width: 100%;
}

/*============================
 アニメーション
============================*/
.fadeIn{
	animation-name:fadeInAnime;
	animation-duration:0.7s;
	animation-fill-mode:forwards;
	opacity:0;
}
@keyframes fadeInAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.spinIn{
	animation-name:spinInAnime;
	animation-duration:0.7s;
	animation-fill-mode:forwards;
	right: -50px;
	bottom: 0;
	transform: rotate(30deg);
	transform-origin: bottom left;
	opacity:0;
}
@keyframes spinInAnime{
	from {
		right: -50px;
		transform: rotate(30deg);
		opacity: 0;
	}
	to {
		right: 0;
		transform: rotate(0);
		opacity: 1;
	}
}

.fadeUp{
	animation-name:fadeUpAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	opacity: 0;
}
@keyframes fadeUpAnime{
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.fadeUpSlow{
	animation-name:fadeUpSlowAnime;
	animation-duration: 1s;
	animation-fill-mode:forwards;
	opacity: 0;
}
@keyframes fadeUpSlowAnime{
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.fadeDownSlow{
	animation-name: fadeDownSlowAnime;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes fadeDownSlowAnime{
	from {
		opacity: 0;
		transform: translateY(-100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}