@charset "utf-8";

/* font-size */
html {
	font-size: 0.133333333vw;
}
body {
	color: #333;
	font-size: 20rem;
	font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.5;
}
@media screen and (min-width: 751px) {
    html {
		font-size: 1px;
    }
}

/* common */
.all_wrap {
	position: relative;
	width: 100%;
	overflow: hidden;
}
.all_wrap img {
	vertical-align: bottom;
}
.inner {
	padding: 0 4.27vw;
}
.pc_only {
	display: none;
}
.btn{
	display: block;
	position: relative;
	color: #333333;
	font-size: 20rem;
	text-decoration: none;
	letter-spacing: 0.12em;
	width: 53.33vw;
	background-color: #f0f0f0;
	padding: 3.33vw 0;
	border-radius: 5.33vw;
	box-shadow: 0.8vw 0.8vw #d0d0d0;
	margin: 0 auto;
}
.btn::before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 5.33vw;
    width: 1.6vw;
    height: 1.6vw;
    border-top: 0.267vw solid #000;
    border-right: 0.267vw solid #000;
    margin: auto;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media screen and (min-width: 751px) {
	.all_wrap {
		min-width: 1200px;
	}
	.inner {
		width: 1200px;
		padding: 0;
		margin: 0 auto;
	}
	.pc_only {
		display: block;
	}
	.sp_only {
		display: none;
	}
	.btn{
		font-size: 18rem;
		width: 360px;
		padding: 22px 0;
		border-radius: 36px;
		box-shadow: 0 8px #d0d0d0;
	}
	.btn::before{
		right: 30px;
		width: 12px;
		height: 12px;
		border-top: 1px solid #000;
		border-right: 1px solid #000;
	}

	.link_opacity {
		transition: opacity .3s;
	}
	.link_opacity:hover {
		opacity: 0.7;
	}
}

/* header */
.header_logo{
	position: absolute;
	top: 0;
	left: 0;
	width: 28vw;
	z-index: 100;
}
.header_logo img{
	vertical-align: top;
}
.header_menu{
	position: fixed;
	top: 0;
	right: 0;
	width: 12.8vw;
	height: 12.8vw;
	background-color: #6dcfdd;
	border-radius: 0 0 0 1.07vw;
	z-index: 100;
}
.header_menu_line{
	position: absolute;
	right: 3.2vw;
	width:  6.4vw;
	height: 0.27vw;
	background-color: #fff;
	-webkit-transition: transform .3s, opacity .3s;
	transition: transform .3s, opacity .3s;
}
.header_menu_line_1{
	top: 4.27vw;
}
.header_menu_line_2{
	top: 6.27vw;
}
.header_menu_line_3{
	top: 8.27vw;
}
.menu_open .header_menu_line_1 {
	-webkit-transform: translateY(2.13vw) rotate(-33deg);
	transform: translateY(2.13vw) rotate(-33deg);
}
.menu_open .header_menu_line_2 {
	opacity: 0;
}
.menu_open .header_menu_line_3 {
	-webkit-transform: translateY(-2.13vw) rotate(33deg);
	transform: translateY(-2.13vw) rotate(33deg);
}
.hd_nav_wrap {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 90;
}
.menu_open .hd_nav_wrap {
	display: block;
	background-color: #6dcfdd;
}
.hd_nav_scroll {
	height: 100%;
	box-sizing: border-box;
	padding: 14.13vw 0;
	-webkit-overflow-scrolling: touch;
	overflow: auto;
}
.hd_nav_list {
	width: 100%;
}
.hd_nav_link {
	display: block;
	color: #fff;
	font-size: 32rem;
	font-weight: 900;
	text-decoration: none;
	letter-spacing: 0.12em;
	padding: 2.93vw 9.33vw;
	border-bottom: 1px dotted #ddf1f4;
}
@media screen and (min-width: 751px) {
	.header_logo{
		width: 102px;
	}
	.header_menu{
		top: 20px;
		right: 20px;
		width: 80px;
		height: 80px;
		border-radius: 8px;
	}
	.header_menu_line{
		right: 16px;
		width:  48px;
		height: 2px;
	}
	.header_menu_line_1{
		top: 24px;
	}
	.header_menu_line_2{
		top: 39px;
	}
	.header_menu_line_3{
		top: 54px;
	}
	.menu_open .header_menu_line_1 {
		-webkit-transform: translateY(15px) rotate(-33deg);
		transform: translateY(15px) rotate(-33deg);
	}
	.menu_open .header_menu_line_3 {
		-webkit-transform: translateY(-15px) rotate(33deg);
		transform: translateY(-15px) rotate(33deg);
	}
	.hd_nav_scroll {
		padding: 86px 0 40px;
	}
	.hd_nav_link {
		font-size: 24rem;
		text-align: center;
		padding: 25px 0;
		border-bottom: 2px dotted #ddf1f4;
	}
}

/* contents_box */
.contents_box{
	position: relative;
	overflow: hidden;
}
.contents_box_bg_blue{
	background-color: #32b8f6;
}
.contents_box_bg_blue_2{
	background-color: #f2a100;
}
.contents_box_bg_gray{
	background-color: #f0f0f0;
}
.contents_box_bg_white{
	background-color: #fff;
}
.contents_box_name{
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	font-size: 20rem;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.12em;
	width: 26.67vw;
	background-color: #333;
	padding: 1.73vw 0;
	z-index: 1;
}
@media screen and (min-width: 751px) {
	.contents_box_name{
		font-size: 14rem;
		width: 152px;
		padding: 11px 0;
	}
}

/* mv */
.mv{
	position: relative;
}
.mv_fukidashi{
	position: absolute;
}
.mv_fukidashi_anim{
	transform: scale(0, 0);
	transition: transform 0.6s 0s;
}
.loaded .mv_fukidashi_anim{
	transform: scale(1, 1);
}
.loaded .mv_fukidashi_pin_anim{
    animation: pinAnim 5s 0s infinite;
}
@keyframes pinAnim {
    0% {
		transform: translate(0, 5%);
    }
    50% {
		transform: translate(0, -5%);
    }
    100% {
		transform: translate(0, 5%);
    }
}
.mv_fukidashi_1{
    top: 3.2vw;
    left: 53.87vw;
	width: 22vw;
	transform-origin: 5% 100%;
	transition-delay: 1s;
}
.mv_fukidashi_2{
    top: 5.07vw;
    left: 32.27vw;
	width: 18.53vw;
	transform-origin: 70% 100%;
	transition-delay: 1.6s;
}
.mv_fukidashi_3{
    top: 12.8vw;
    left: 7.47vw;
	width: 20.53vw;
	transform-origin: 95% 100%;
	transition-delay: 2s;
}
.mv_fukidashi_4{
    top: 31.73vw;
    left: 3.2vw;
	width: 18.53vw;
	transform-origin: 100% 90%;
	transition-delay: 1.2s;
}
.mv_fukidashi_5{
    top: 49.6vw;
    left: 8.53vw;
	width: 20.53vw;
	transform-origin: 100% 90%;
	transition-delay: 1.8s;
}
.mv_fukidashi_6{
    top: 43.73vw;
    left: 73.33vw;
	width: 22.13vw;
	transform-origin: 0% 90%;
	transition-delay: 1.4s;
}
.mv_fukidashi_7{
    top: 85.87vw;
    left: 4.53vw;
	width: 19.87vw;
}
.mv_fukidashi_8{
    top: 82.67vw;
    left: 20vw;
	width: 19.73vw;
}
.mv_fukidashi_9{
    top: 82.93vw;
    left: 61.33vw;
	width: 19.73vw;
}
.mv_fukidashi_10{
    top: 85.87vw;
    left: 77.6vw;
	width: 19.87vw;
}
.loaded .mv_fukidashi_7{
	animation-delay: -2s;
}
.loaded .mv_fukidashi_9{
	animation-delay: -3.5s;
}
.loaded .mv_fukidashi_10{
	animation-delay: -5.5s;
}
.mv_txt{
	position: absolute;
    top: 27.73vw;
    left: 29.87vw;
	color: #fff;
	font-size: 32rem;
	font-weight: 900;
	text-align: right;
	line-height: 1.63;
	letter-spacing: 0.12em;
	opacity: 0;
	transition: opacity 1.2s 0.4s;
}
.mv_txt span{
	font-size: 36rem;
	line-height: 1.44;
}
.loaded .mv_txt{
	opacity: 1;
}
@media screen and (min-width: 751px) {
	@keyframes pinAnim {
		0% {
			transform: translate(0, 3%);
		}
		50% {
			transform: translate(0, -3%);
		}
		100% {
			transform: translate(0, 3%);
		}
	}
	.mv_fukidashi_1{
		top: 28.3%;
		left: 83.2%;
		width: 12.431%;
		transform-origin: 0% 90%;
	}
	.mv_fukidashi_2{
		top: 10.8%;
		left: 74.8%;
		width: 10.417%;
		transform-origin: 0% 90%;
		transition-delay: 1.4s;
	}
	.mv_fukidashi_3{
		top: 29.9%;
		left: 21%;
		width: 11.528%;
		transform-origin: 100% 90%;
		transition-delay: 1.2s;
	}
	.mv_fukidashi_4{
		top: 29.7%;
		left: 5%;
		width: 10.417%;
		transform-origin: 100% 90%;
		transition-delay: 1.6s;
	}
	.mv_fukidashi_5{
		top: 10.4%;
		left: 12.8%;
		width: 11.528%;
		transform-origin: 100% 90%;
		transition-delay: 2s;
	}
	.mv_fukidashi_6{
		top: 30.1%;
		left: 66.4%;
		width: 12.5%;
		transform-origin: 0% 90%;
		transition-delay: 1.8s;
	}
	.mv_fukidashi_7{
		top: 77.1%;
		left: 14.9%;
		width: 10.348%;
	}
	.mv_fukidashi_8{
		top: 75%;
		left: 30.2%;
		width: 10.278%;
	}
	.mv_fukidashi_9{
		top: 74.8%;
		left: 58%;
		width: 10.278%;
	}
	.mv_fukidashi_10{
		top: 77.1%;
		left: 70.7%;
		width: 10.348%;
	}
	.mv_txt{
		top: 80px;
		left: 0;
		font-size: 40rem;
		text-align: center;
		line-height: 1.6;
		width: 100%;
	}
	.mv_txt span{
		font-size: 42rem;
		line-height: 1.52;
	}
}

/* download */
.download{
	padding: 4vw 0;
}
.download::before,
.download::after{
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border: 10vw solid transparent;
}
.download::before{
	top: 1.6vw;
	right: 1.6vw;
	border-top: 10vw solid #f2a100;
	border-right: 10vw solid #f2a100;
}
.download::after{
	bottom: 1.6vw;
	left: 1.6vw;
	border-bottom: 10vw solid #f2a100;
	border-left: 10vw solid #f2a100;
}
.download_inner{
	background-color: #fff;
	padding: 8vw 4vw 4.53vw;
}
.download_dec_inner{
	position: relative;
	z-index: 1;
}
.download_ttl{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 28rem;
	font-weight: 900;
	letter-spacing: 0.12em;
}
.download_app_icon{
	width: 14.93vw;
	background-color: #fff;
	border-radius: 2.13vw;
	box-shadow: 0 1.33vw 4vw 0 rgba(0, 0, 0, 0.2);
	margin-right: 3.2vw;
}
.download_app_list{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 3.73vw;
}
.download_app_list_item{
	width: 47.76%;
}
.download_registration_btn{
	display: block;
	position: relative;
	color: #333;
	font-size: 24rem;
	text-align: center;
	text-decoration: none;
	letter-spacing: 0.12em;
	width: 36vw;
	padding: 1.6vw 0;
	border: 1px solid #333;
	margin: 4vw auto 0;
}
.download_registration_btn::before{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 3.33vw;
	width: 1.6vw;
    height: 1.6vw;
    border-bottom: 0.267vw solid #000;
    border-right: 0.267vw solid #000;
	margin: auto;
	-webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
/* download_2 */
.download_2 .download_inner{
	padding: 6.67vw 7.47vw 8.8vw;
}
.download_app_award_icon{
	position: absolute;
    top: -5.07vw;
    right: -1.87vw;
	width: 30.27vw;
}
.download_flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 29.33vw;
}
.download_2 .download_app_icon{
	width: 26.8vw;
}
.download_app_award{
	position: absolute;
	top: 0;
	left: 0;
	width: 46.4vw;
}
.download_app_detail_txt{
	font-size: 32rem;
	font-weight: 900;
	line-height: 1.75;
	letter-spacing: 0.12em;
}
.download_app_detail_txt_small{
	font-size: 28rem;
	line-height: 2;
}
.download_app_detail_txt_color{
	color: #f2a100;
}
@media screen and (min-width: 751px) {
	.download{
		padding: 24px 0;
	}
	.download::before,
	.download::after{
		border: 110px solid transparent;
	}
	.download::before{
		top: 0;
		right: 0;
		border-top: 110px solid #f2a100;
		border-right: 110px solid #f2a100;
	}
	.download::after{
		bottom: 0;
		left: 0;
		border-bottom: 110px solid #f2a100;
		border-left: 110px solid #f2a100;
	}
	.download .inner{
		width: 100%;
		padding: 0 24px;
	}
	.download_inner{
		padding: 38px 0 50px;
	}
	.download_dec_inner{
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.download_app_icon{
		width: 112px;
		border-radius: 16px;
		box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0.2);
		margin-right: 20px;
	}
	.download_app_list{
		justify-content: center;
		margin-top: 0;
		margin-left: 40px;
	}
	.download_app_list_item{
		width: 211px;
	}
	.download_app_list_item + .download_app_list_item{
		margin-left: 38px;
	}
	.download_registration_btn{
		font-size: 18rem;
		width: 270px;
		padding: 10px 0;
		margin: 26px auto 0;
	}
	.download_registration_btn::before{
		right: 25px;
		width: 12px;
		height: 12px;
		border-bottom: 1px solid #000;
		border-right: 1px solid #000;
	}
	/* download_2 */
	.download_2 .download_inner{
		padding: 0 24px;
	}
	.download_2 .download_app_award_icon {
		top: 15px;
		right: -10px;
		width: 188px;
	}
	.download_flex{
		padding: 23px 0 52px;
	}
	.download_2 .download_app_icon{
		width: 191px;
	}
	.download_app_award{
		position: static;
		width: 272px;
	}
	.download_app_detail{
		margin-left: 40px;
	}
	.download_app_detail_txt{
		font-size: 28rem;
		line-height: 1.64;
	}
	.download_app_detail_txt_small{
		font-size: 26rem;
		line-height: 1.77;
	}
}

/* topics */
.topics{
	padding: 11.73vw 0 0.8vw;
}
.topics_swiper_wrap{
	overflow: hidden;
}
.topics-swiper {
	padding: 0 7.47vw 9.33vw;
	overflow: visible;
}
.topics_list > li {
    width: 100%;
}
.swiper-button-next,
.swiper-container-rtl .swiper-button-next,
.swiper-button-prev,
.swiper-container-rtl .swiper-button-prev {
	top: -2px;
	width: 7.47vw;
	height: 100%;
	background: #f0f0f0 url(../images/swiper_arrow_icon.png?v=1) no-repeat center right / 3.07vw auto;
	margin-top: 0;
}
.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
	right: 0;
	background-position: center 42%;
        outline: none;
        border: 0;
}
.swiper-button-next:focus {
	outline:0;
}
.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
	transform: rotate(180deg);
        left: 0;
	background-position: center 58%;
        outline: none;
        border: 0;
}
.swiper-button-prev:focus {
	outline:0;
}
.swiper-pagination{
	bottom: 0;
}
.swiper-pagination-bullet{
	width: 1.6vw;
	height: 1.6vw;
	background-color: #fff;
	opacity: 1;
}
.swiper-pagination-bullet-active{
	background-color: #32b8f6;
}
.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{
	margin: 0 1.6vw;
}
@media screen and (min-width: 751px) {
	.topics{
		padding: 80px 0 35px;
	}
	.topics-swiper{
		padding: 0 100px 60px;
	}
	.topics_list > li {
		width: 480px;
	}
	.swiper-button-next,
	.swiper-container-rtl .swiper-button-prev,
	.swiper-button-prev,
	.swiper-container-rtl .swiper-button-next {
		width: 100px;
		background: #f0f0f0 url(../images/swiper_arrow_icon_pc.png?v=1) no-repeat center right / 23px auto;
	}
	.swiper-button-next,
	.swiper-container-rtl .swiper-button-prev {
		background-position: center 40%;
	}
	.swiper-button-prev,
	.swiper-container-rtl .swiper-button-next {
		background-position: center 60%;
	}
	.swiper-pagination-bullet{
		width: 12px;
		height: 12px;
	}
	.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{
		margin: 0 12px;
	}
}

/* app */
.app{
	padding: 5.87vw 0 0;
	border-top: 1px solid #333;
}
.app_ttl{
	font-size: 32rem;
	font-weight: 900;
	letter-spacing: 0.12em;
}
.app_ttl span{
	color: #2772ba;
}
.app_img_wrap{
	position: relative;
	margin-top: -5.07vw;
}
.app_img_txt{
	position: absolute;
	font-size: 24rem;
	text-align: center;
	letter-spacing: 0.08em;
}
.app_img_txt span{
	font-size: 28rem;
	font-weight: 900;
	line-height: 1.23;
	letter-spacing: 0.12em;
}
.app_img_txt_1{
    top: 13.33vw;
    left: 3.47vw;
}
.app_img_txt_2{
    top: 31.47vw;
    left: 46.67vw;
}
.app_img_icon_1{
	position: absolute;
    top: 8vw;
    left: 82.67vw;
	width: 2.53vw;
}
.app_img_icon_2{
	position: absolute;
    top: 41.07vw;
    left: 3.2vw;
	width: 5.73vw;
}
/* app_catch */
.app_catch{
	background: url(../images/app_catch_bg.jpg) no-repeat center top / 100% auto;
	padding: 7.2vw 0 2.13vw;
}
.app_catch_inner{
	display: flex;
	justify-content: center;
	align-items: center;
}
.app_catch_app_icon{
	width: 16.13vw;
}
.app_catch_txt{
	font-size: 32rem;
	font-weight: 900;
	line-height: 1.3125;
	letter-spacing: 0.12em;
	margin-left: 2.4vw;
}
.app_catch_txt span{
	color: #2772ba;
}
@media screen and (min-width: 751px) {
	.app{
		padding: 64px 0 0;
		overflow: hidden;
	}
	.app .inner{
		width: 1120px;
	}
	.app_img_wrap{
		margin-top: -3px;
	}
	.app_img_txt{
		font-size: 18rem;
		line-height: 1.67;
	}
	.app_img_txt span{
		font-size: 26rem;
		line-height: 1.31;
	}
	.app_img_txt_1{
		top: 90px;
		left: 50%;
		margin-left: -309px;
	}
	.app_img_txt_2{
		top: 40px;
		left: 50%;
		margin-left: 40px;
	}
	.app_img_icon_1{
		top: 97px;
		left: 1093px;
		width: 21px;
	}
	.app_img_icon_2{
		top: 95px;
		left: -13px;
		width: 46px;
	}
	/* app_catch */
	.app_catch{
		position: relative;
		background: none;
		padding: 50px 0 28px;
		border-top: 1px solid #333;
	}
	.app_catch::before{
		content: "";
		position: absolute;
		top: -1px;
		left: 0;
		width: 100%;
		height: 59px;
		background: url(../images/app_catch_bg_pc.jpg) no-repeat center top / 131px auto;
	}
	.app_catch_app_icon{
		width: 121px;
	}
	.app_catch_txt{
		margin-left: 20px;
	}
}

/* area */
.area{
	padding: 9.6vw 0 8.53vw;
}
.area_ttl{
	color: #2772ba;
	font-size: 32rem;
	font-weight: 900;
	text-align: center;
	line-height: 1.875;
	letter-spacing: 0.12em;
	margin-bottom: 3.47vw;
}
.area_list_item + .area_list_item{
	margin-top: -1px;
}
.area_list_item > label {
    cursor: pointer;
}
.accordion_ttl,
.accordion_subttl,
.accordion_contents {
    display: none;
}
.accordion_ttl_txt {
	position: relative;
	font-size: 28rem;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.12em;
	background-color: #f0f0f0;
	padding: 2.13vw 0;
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
    cursor: pointer;
}
.accordion_ttl_txt:before,
.accordion_ttl_txt:after,
.accordion_subttl_txt:before,
.accordion_subttl_txt:after {
    content: '';
	position: absolute;
	background-color: #000;
}
.accordion_ttl_txt:before,
.accordion_subttl_txt:before {
	top: 5.33vw;
	right: 4.27vw;
	width: 2.8vw;
	height: 1px;
}
.accordion_ttl_txt:after,
.accordion_subttl_txt:after {
	top: 4vw;
	right: 5.53vw;
	width: 1px;
	height: 2.8vw;
}
.accordion_ttl:checked + .accordion_ttl_txt:after,
.accordion_subttl:checked + .accordion_subttl_txt:after {
	opacity: 0;
}
.accordion_subttl_txt{
	position: relative;
	font-size: 24rem;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.12em;
	padding: 2.53vw 0;
	border-bottom: 1px dotted #333;
}
.accordion_subttl_txt:before {
	top: 4.93vw;
}
.accordion_subttl_txt:after {
	top: 3.6vw;
}
.accordion_contents_inner {
    padding: 1.33vw 0 2.67vw;
}
.accordion_contents_border{
	border-bottom: 1px solid #333;
}
.area_service_list{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.area_service_list_item{
	margin: 1.33vw 1.1vw;
}
.area_service_icon_go{
	width: 16.8vw;
}
.area_service_icon_sharemobi{
	width: 15.47vw;
}
.area_service_icon_japantaxi{
	width: 14.67vw;
}
.area_service_icon_toyotarent{
	width: 20.8vw;
}
.area_service_icon_nissanrentacar{
	width: 9.87vw;
}
.area_service_icon_baybike{
	width: 23.87vw;
}
.area_service_icon_mov{
	width: 8vw;
}
.area_service_icon_kotsu{
	width: 23.0666vw;
}
.area_service_icon_rakumo{
	width: 21.47vw;
}
.area_service_icon_akippa{
	width: 16.53vw;
}
.area_service_icon_jrkyushu{
	width: 11.2vw;
}
.area_service_icon_jrkyushu_link{
	width: 15.47vw;
}
.area_service_icon_toyotashare{
	width: 18.3vw;
}
.area_service_icon_nishitetsu{
	width: 15.2vw;
}
.area_service_icon_nishitetsu_link{
	width: 19.2vw;
}
.area_service_icon_highwaybus{
	width: 39.47vw;
}
.area_service_icon_merchari{
	width: 10.5333vw;
}
.area_service_icon_daiichi{
	width: 10.53vw;
}
.area_service_icon_ana{
	width: 18.67vw;
}
.area_service_icon_pippa{
	width: 18.93vw;
}
.area_service_icon_miyakoh{
	width: 23.47vw;
}
.area_service_icon_suido{
	width: 22.5333vw;
}
.area_service_icon_momo{
	width: 20.533vw;
}
.area_service_icon_shouwa {
	width: 39.47vw;
}
.area_service_icon_toyama_railway {
	width: 14.67vw;
	max-width: 100px;
}
.area_service_icon_toyama_local_railway {
	width: 39.47vw;
	max-width: 250px;
}
.area_service_icon_shouwa img,
.area_service_icon_toyama_railway img,
.area_service_icon_toyama_local_railway img {
	width: 100%;
}
.area_service_txt{
	font-size: 20rem;
	text-align: right;
	margin-top: 1.33vw;
}
/* area_correspondence */
.area_correspondence{
	padding: 3.33vw 4vw;
	border: 1px solid #32b8f6;
	margin-top: 11.47vw;
}
.area_correspondence_list{
	display: flex;
	font-size: 24rem;
	align-items: center;
	text-align: center;
}
.area_correspondence_list_ttl{
	color: #2772ba;
	font-weight: 700;
	letter-spacing: 0.12em;
	width: 100%;
}
.area_correspondence_list_txt{
	letter-spacing: 0.08em;
	width: 67%;
}
@media screen and (min-width: 751px) {
	.area{
		padding: 64px 0 110px;
	}
	.area .inner{
		width: 1120px;
	}
	.area_ttl{
		font-size: 32rem;
		margin-bottom: 27px;
	}
	.accordion_ttl_txt {
		font-size: 24rem;
		padding: 16px 0;
	}
	.accordion_ttl_txt:before,
	.accordion_subttl_txt:before {
		top: 35px;
		right: 100px;
		width: 17px;
	}
	.accordion_ttl_txt:after,
	.accordion_subttl_txt:after {
		top: 27px;
		right: 108px;
		height: 17px;
	}
	.accordion_subttl_txt{
		font-size: 20rem;
		padding: 15px 0;
		cursor: pointer;
	}
	.accordion_subttl_txt:before {
		top: 34px;
	}
	.accordion_subttl_txt:after {
		top: 26px;
	}
	.accordion_contents_inner {
		padding: 10px 0 20px;
	}
	.area_service_list {
		flex-wrap: nowrap;
	}
	.area_service_list_item{
		margin: 10px;
		width: auto;
	}
	.area_service_txt{
		font-size: 16rem;
		margin-top: 10px;
	}
	.area_service_icon_shouwa img{
		width: 200px;
	}
	/* area_correspondence */
	.area_correspondence{
		padding: 25px 0;
		margin-top: 60px;
	}
	.area_correspondence_list{
		justify-content: center;
		font-size: 24rem;
	}
	.area_correspondence_list_ttl,
	.area_correspondence_list_txt{
		width: auto;
	}
	.area_correspondence_list_txt{
		margin-left: 30px
	}
	/* .area_service_icon_toyama_railway {
		width: 9vw;
	}
	.area_service_icon_toyama_local_railway {
		width: 25vw;
	} */
}

/* detail */
.detail{
	background: #32b8f6 url(../images/detail_bg.jpg?v=1) no-repeat center top / 100% auto;
	padding: 16vw 0 4vw;
}
.detail .contents_box_name{
	top: 4.27vw;
}
.detail_point_list_item{
	background-color: #fff;
	padding: 8vw 6.67vw 8vw 8.67vw;
	border-radius: 4.27vw;
	box-shadow: 0 1.33vw 5.33vw 0 rgba(0, 0, 0, 0.2);
}
.detail_point_list_item + .detail_point_list_item{
	margin-top: 4.27vw;
}
.detail_point_ttl{
	font-size: 28rem;
	font-weight: 700;
	letter-spacing: 0.12em;
}
.detail_point_number{
	display: inline-block;
	position: relative;
	color: #fff;
	font-size: 20rem;
	text-align: center;
	line-height: 1;
	width: 19.07vw;
	background: url(../images/detail_point_number_bg.png?v=1) no-repeat center / cover;
	padding: 0.8vw 0;
	margin-right: 1.87vw;
}
.detail_point_subttl{
	color: #2772ba;
	font-size: 36rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	margin-top: 2.67vw;
}
.detail_point_contents{
	position: relative;
	padding: 0;
}
.detail_point_bg{
	position: absolute;
	top: 0;
	left: 33vw;
	width: 47.2vw;
}
.detail_point_contents_inner{
	position: relative;
}
.detail_point_area_wrap{
	margin-top: 2.93vw;
}
.detail_point_area{
	color: #fff;
	font-size: 20rem;
	text-align: center;
	line-height: 1.22;
	letter-spacing: 0.12em;
	width: 21.33vw;
	background-color: #32b8f6;
	padding: 1.07vw 0;
	border-radius: 2.67vw;
}
.detail_point_area_long{
	width: 27.33vw;
}
.detail_point_area_icon{
	position: relative;
	width: 29.87vw;
	padding-right: 2.67vw;
}
.detail_point_area_icon::before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 3.2vw;
    width: 1.6vw;
    height: 1.6vw;
    border-bottom: 0.267vw solid #fff;
    border-right: 0.267vw solid #fff;
    margin: auto;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.detail_point_area_link{
	display: inline-block;
	color: #fff;
	text-decoration: none;
}
.detail_point_txt{
	font-size: 24rem;
	line-height: 1.67;
	letter-spacing: 0.08em;
    margin-top: 0.8vw;
}
.detail_point_img_1,
.detail_point_img_2,
.detail_point_img_3{
	position: relative;
}
.detail_point_img_1{
    width: 47.33vw;
    margin-top: 22.67vw;
}
.detail_point_img_2{
    width: 42.67vw;
    margin-top: 21.07vw;
}
.detail_point_img_3{
    width: 50.93vw;
    margin-top: 16vw;
    margin-left: -3.47vw;
}
.detail_point_img_txt{
	position: absolute;
    top: 2.13vw;
	color: #2772ba;
	text-align: center;
	font-size: 28rem;
	font-weight: 700;
	line-height: 1.43;
	letter-spacing: 0.08em;
}
.detail_point_img_1 .detail_point_img_txt{
    left: 4.8vw;
}
.detail_point_img_2 .detail_point_img_txt{
    left: 2.93vw;
}
.detail_point_img_3 .detail_point_img_txt{
    left: 6.67vw;
    letter-spacing: 0.04em;
}
.detail_point_notes{
	font-size: 20rem;
	line-height: 1.3;
	letter-spacing: 0.08em;
	margin-top: 4vw;
}
.detail_point_notes_link{
	color: #333;
	text-decoration: underline;
}
.detail_point_more_list{
	margin-top: 2vw;
}
.detail_sub_ttl{
	color: #2772ba;
	font-size: 28rem;
	font-weight: 900;
	text-align: center;
	letter-spacing: 0.12em;
	background: url(../images/detail_sub_ttl_bg.png?v=1) no-repeat center bottom / 48.93vw auto;
	padding: 2.13vw 0 4.93vw;
	margin-top: 8.8vw;
}
.detail_point_inner_ttl{
	font-size: 28rem;
	font-weight: 900;
	letter-spacing: 0.12em;
}
.detail_more_list_item{
	display: flex;
	justify-content: space-between;
}
.detail_more_list_item + .detail_more_list_item{
	margin-top: 6.67vw;
}
.detail_more_img{
	width: 45%;
}
.detail_more_txt_wrap{
	width: 46%;
}
.detail_more_ttl{
	color: #2772ba;
	font-size: 28rem;
	font-weight: 900;
	line-height: 1.43;
	letter-spacing: 0.12em;
}
@media screen and (min-width: 751px) {
	.detail{
		position: relative;
		background-image: none;
		padding: 112px 0 80px;
		border-top: 1px solid #333;
		overflow: visible;
	}
	.detail::before{
		content: "";
		position: absolute;
		top: -1px;
		left: 0;
		width: 100%;
		height: 41px;
		background: url(../images/detail_bg_pc.jpg?v=1) no-repeat center top / 130px auto;
	}
	.detail .contents_box_name{
		top: 32px;
	}
	.detail .inner{
		width: 1120px;
	}
	.detail_point_list_item{
		padding: 75px 80px 62px;
		border-radius: 32px;
		box-shadow: 0px 10px 40px 0px rgba(0, 0, 0, 0.2);
	}
	.detail_point_list_item + .detail_point_list_item{
		margin-top: 32px;
	}
	.detail_point_ttl {
		font-size: 24rem;
	}
	.detail_point_number{
		font-size: 16rem;
		width: 130px;
		background: url(../images/detail_point_number_bg_pc.png) no-repeat center / cover;
		padding:7px 0;
		margin-right: 15px;
	}
	.detail_point_subttl{
		line-height: 1.33;
		letter-spacing: 0.12em;
		margin-top: 32px;
	}
	.detail_point_bg{
		top: auto;
		bottom: -53px;
		left: 671px;
		width: 331px;
	}
	.detail_point_area_wrap{
		margin-top: 26px;
	}
	.detail_point_area{
		font-size: 18rem;
		width: 160px;
		padding: 10px 0;
		border-radius: 20px;
	}
	.detail_point_area_long{
		width: 200px;
	}
	.detail_point_area_icon{
		width: 224px;
		padding-right: 25px;
	}
	.detail_point_area_icon::before{
		bottom: auto;
		top: 12px;
		right: 25px;
		width: 12px;
		height: 12px;
		border-bottom: 1px solid #fff;
		border-right: 1px solid #fff;
	}
	.detail_point_txt{
		font-size: 20rem;
		width: 670px;
		margin-top: 14px;
	}
	.detail_point_img_1,
	.detail_point_img_2,
	.detail_point_img_3,
	.detail_point_img_1 img,
	.detail_point_img_2 img,
	.detail_point_img_3 img{
		width: auto;
	}
	.detail_point_img_1{
		margin-top: 22px;
	}
	.detail_point_img_2{
		margin-top: 27px;
	}
	.detail_point_img_3{
		margin-top: 93px;
		margin-left: -17px;
	}
	.detail_point_img_txt{
		font-size: 24rem;
		line-height: 1.67;
	}
	.detail_point_img_1 .detail_point_img_txt{
		top: 22px;
		left: 334px;
	}
	.detail_point_img_2 .detail_point_img_txt{
		top: 22px;
		left: 297px;
	}
	.detail_point_img_3 .detail_point_img_txt{
		top: 22px;
		left: 366px;
		letter-spacing: 0.08em;
	}
	.detail_point_notes{
		font-size: 16rem;
		margin-top: 60px;
	}
	.detail_point_more_list{
		margin-top: 28px;
	}
	.detail_sub_ttl{
		font-size: 24rem;
		background: url(../images/detail_sub_ttl_bg_pc.png?v=1) no-repeat center top / 385px auto;
		padding: 25px 0 50px;
		margin-top: 65px;
	}
	.detail_more_list{
		display: flex;
		justify-content: space-between;
	}
	.detail_more_list_item{
		display: block;
		width: 280px;
		margin-top: 0;
	}
	.detail_more_list_item + .detail_more_list_item{
		margin-top: 0;
	}
	.detail_more_list_item .detail_point_area_wrap{
		margin-top: 18px;
	}
	.detail_more_img,
	.detail_more_txt_wrap{
		width: 100%;
	}
	.detail_more_img img{
		display: block;
		width: auto;
		margin: 0 auto;
	}
	.detail_more_ttl{
		font-size: 24rem;
		line-height: 1.44;
		margin-top: 40px;
	}
	.detail_more_list_item:nth-child(3) .detail_more_ttl{
		margin-top: 30px;
	}
	.detail_more_list_item .detail_point_txt {
		font-size: 18rem;
		width: 100%;
	}
}

/* registration */
.registration{
	padding: 10.67vw 0 8vw;
}
.registration_ttl{
	color: #fff;
	font-size: 32rem;
	font-weight: 900;
	text-align: center;
	letter-spacing: 0.04em;
	background: url(../images/registration_ttl_bg.png?v=1) no-repeat center bottom / 84.4vw auto;
	padding-bottom: 5.87vw;
	margin-bottom: 1.6vw;
}
.registration_ttl span{
	font-size: 36rem;
	line-height: 1.33;
}
.registration_txt{
	color: #fff;
	font-size: 24rem;
	text-align: center;
	letter-spacing: 0.08em;
}
.registration_img{
	display: block;
	width: 81.198%;
	margin: 4vw auto 0;
}
.registration_notes{
	color: #fff;
	font-size: 20rem;
	line-height: 1.3;
	letter-spacing: 0.08em;
	margin-top: -4vw;
}
@media screen and (min-width: 751px) {
	.registration{
		padding: 77px 0 33px;
	}
	.registration .inner{
		position: relative;
		width: 1200px;
	}
	.registration_inner{
		position: absolute;
		top: -12px;
		left: 522px;
	}
	.registration_ttl{
		font-size: 28rem;
		line-height: 1.36;
		letter-spacing: 0.08em;
		background: url(../images/registration_ttl_bg_pc.png?v=2) no-repeat center bottom / 571px auto;
		padding-bottom: 67px;
		margin-bottom: 20px;
	}
	.registration_ttl span{
		font-size: 36rem;
		line-height: 1.75;
		letter-spacing: 0.12em;
	}
	.registration_txt{
		font-size: 20rem;
	}
	.registration_img{
		width: 935px;
		margin: 0 auto;
	}
	.registration_notes{
		font-size: 16rem;
		text-align: center;
		line-height: 1.5;
		margin-top: 204px;
	}
}

/* voice */
.voice{
	padding: 9.6vw 0 8.27vw;
}
.voice_ttl{
	color: #2772ba;
	font-size: 36rem;
	font-weight: 900;
	text-align: center;
	margin-bottom: 5.33vw;
}
.voice_list_item{
	position: relative;
	background-color: #fff;
	padding: 3.2vw;
	border-radius: 1.33vw 1.33vw 0 1.33vw;
	box-shadow: 0 1.33vw 5.33vw 0 rgba(0, 0, 0, 0.2);
}
.voice_list_item + .voice_list_item{
	margin-top: 5.33vw;
}
.voice_list_item::before{
	content: "";
	position: absolute;
	top: 100%;
	right: 0;
	border: 2.13vw solid transparent;
	border-top: 2.13vw solid #fff;
	border-right: 2.13vw solid #fff;
}
.voice_list_item_inner{
	position: relative;
	padding: 1.07vw 2.13vw;
}
.voice_list_item_inner::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	border: 3.2vw solid transparent;
	border-top: 3.2vw solid #32b8f6;
	border-left: 3.2vw solid #32b8f6;
}
.voice_list_item_txt{
	position: relative;
	font-size: 24rem;
	text-align: justify;
	letter-spacing: 0.04em;
}
.voice_list_item_txt_color{
	color: #2772ba;
}
.voice_list_item_txt_name{
	display: inline-block;
	margin-top: 1.33vw;
}
@media screen and (min-width: 751px) {
	.voice{
		padding: 70px 0 112px;
	}
	.voice .inner{
		width: 1200px;
	}
	.voice_ttl{
		font-size: 32rem;
		margin-bottom: 38px;
	}
	.voice_list{
		display: flex;
		justify-content: space-between;
	}
	.voice_list_item{
		width: 30%;
		padding: 24px;
		border-radius: 20px 20px 0 20px;
		box-shadow: 0 10px 40px 0 rgba(0, 0, 0, 0.2);
	}
	.voice_list_item + .voice_list_item{
		margin-top: 0;
	}
	.voice_list_item::before{
		border: 16px solid transparent;
		border-top: 16px solid #fff;
		border-right: 16px solid #fff;
	}
	.voice_list_item_inner{
		padding: 10px;
	}
	.voice_list_item_inner::before{
		border: 24px solid transparent;
		border-top: 24px solid #32b8f6;
		border-left: 24px solid #32b8f6;
	}
	.voice_list_item_txt{
		font-size: 18rem;
	}
	.voice_list_item_txt_name{
		margin-top: 25px;
	}
}

/* concept */
.concept{
	padding: 9.33vw 0 7.47vw;
}
.concept_ttl{
	color: #fff;
	font-size: 32rem;
	font-weight: 900;
	text-align: center;
	line-height: 1.875;
	letter-spacing: 0.12em;
	background: url(../images/concept_ttl_bg.png) no-repeat center bottom / 76.53vw auto;
	padding-bottom: 4.8vw;
	margin-bottom: 5.33vw;
}
.concept_movie iframe{
	width: 100%;
	height: 54.93vw;
	box-shadow: 0 1.33vw 5.33vw 0 rgba(0, 0, 0, 0.2);
}
.concept_txt{
	color: #fff;
	font-size: 24rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.67;
	letter-spacing: 0.12em;
	width: 104%;
	margin-top: 3.47vw;
	margin-left: -2%;
}
@media screen and (min-width: 751px) {
	.concept{
		padding: 70px 0 73px;
	}
	.concept_ttl{
		font-size: 32rem;
		line-height: 1.6;
		background: url(../images/concept_ttl_bg_pc.png) no-repeat center bottom / 959px auto;
		padding-bottom: 60px;
		margin-bottom: 40px;
	}
	.concept_movie{
		width: 1000px;
		margin: 0 auto;
	}
	.concept_movie iframe{
		height: 600px;
		box-shadow: 0 10px 40px 0 rgba(0, 0, 0, 0.2);
	}
	.concept_txt{
		font-size: 20rem;
		line-height: 1.7;
		letter-spacing: 0.08em;
		width: 100%;
		margin-top: 27px;
		margin-left: 0;
	}
}

/* news */
.news{
	padding: 8.8vw 0 8vw;
}
.news_ttl{
	color: #2772ba;
	font-size: 32rem;
	font-weight: 900;
	text-align: center;
	letter-spacing: 0.12em;
}
.news_list_item + .news_list_item{
	border-top: 1px dotted #333;
}
.news_list_item a{
	display: block;
	color: #333;
	font-size: 20rem;
	text-decoration: none;
	letter-spacing: 0.08em;
	padding: 2.93vw 0 4vw;
}
.news_list_item_date{
	margin-bottom: 1.33vw;
}
.news_scroll_area{
	position: relative;
	width: 100%;
	height: 44.67vw;
	padding-right: 7.47vw;
}
.ps__rail-y,
.ps:hover > .ps__rail-x,
.ps:hover > .ps__rail-y,
.ps--focus > .ps__rail-x,
.ps--focus > .ps__rail-y,
.ps--scrolling-x > .ps__rail-x,
.ps--scrolling-y > .ps__rail-y {
    opacity: 1;
}
.ps--active-x > .ps__rail-x,
.ps--active-y > .ps__rail-y {
	width: 2.67vw;
	background-color: #f0f0f0;
    border-radius: 1.33vw;
}
.ps__thumb-y {
    right: 0;
	width: 2.67vw;
    background-color: #32b8f6;
    border-radius: 1.33vw;
}
@media screen and (min-width: 751px) {
	.news{
		padding: 66px 0 80px;
	}
	.news .inner{
		width: 1000px;
	}
	.news_ttl{
		font-size: 32rem;
		margin-bottom: 5px;
	}
	.news_list_item a{
		font-size: 16rem;
		padding: 34px 0;
	}
	.news_list_item a:hover{
		text-decoration: underline;
	}
	.news_list_item_date{
		margin-bottom: 10px;
	}
	.news_scroll_area{
		height: 340px;
		padding-right: 60px;
	}
	.ps--active-x > .ps__rail-x,
	.ps--active-y > .ps__rail-y {
		width: 16px;
		border-radius: 8px;
	}
	.ps__thumb-y {
		width: 16px;
		border-radius: 8px;
	}
}

/* footer */
.footer{
	text-align: center;
	padding: 8.4vw 0 22.67vw;
	border-top: 1px solid #333;
}
.footer_logo{
	display: block;
	width: 54.67vw;
	margin: 0 auto 5.33vw;
}
.footer_nav_list{
	display: flex;
	justify-content: center;
	margin: 8vw 0 6.67vw;
}
.footer_nav_list_item{
	position: relative;
}
.footer_nav_list_item + .footer_nav_list_item{
	padding-left: 2.67vw;
	margin-left: 2.67vw;
}
.footer_nav_list_item + .footer_nav_list_item::before{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 0.267vw;
	height: 2.67vw;
	background-color: #333;
	margin: auto;
}
.footer_nav_list_item a{
	color: #333;
	text-decoration: none;
}
.footer_copy{
	font-size: 20rem;
}
@media screen and (min-width: 751px) {
	.footer{
		padding: 80px 0 180px;
	}
	.footer_logo{
		width: 323px;
		margin: 0 auto 39px;
	}
	.footer_nav_list{
		margin: 97px 0 27px;
	}
	.footer_nav_list_item{
		font-size: 18rem;
	}
	.footer_nav_list_item + .footer_nav_list_item{
		padding-left: 20px;
		margin-left: 20px;
	}
	.footer_nav_list_item + .footer_nav_list_item::before{
		width: 1px;
		height: 18px;
	}
	.footer_nav_list_item a:hover{
		text-decoration: underline;
	}
	.footer_copy{
		font-size: 18rem;
	}
}

.fix_bnr{
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 10px 0;
	background-color: #fff;
	border: 0.53vw solid #f2a100;
	z-index: 10;
}
.fix_bnr::before,
.fix_bnr::after{
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border: 5.33vw solid transparent;
}
.fix_bnr::before{
	top: 0;
	right: 0;
	border-top: 5.33vw solid #f2a100;
	border-right: 5.33vw solid #f2a100;
}
.fix_bnr::after{
	bottom: 0;
	left: 0;
	border-bottom: 5.33vw solid #f2a100;
	border-left: 5.33vw solid #f2a100;
}
.fix_bnr_inner{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 10;
}
.fix_bnr_txt{
	font-size: 28rem;
	font-weight: 900;
	line-height: 1.43;
	letter-spacing: 0.12em;
	width: 31.33vw;
}
.fix_bnr .download_app_list{
	width: 60vw;
	margin: 0;
}
@media screen and (min-width: 751px) {
	.fix_bnr{
		padding: 20px 0;
		border: 4px solid #f2a100;
	}
	.fix_bnr::before,
	.fix_bnr::after{
		border: 37px solid transparent;
	}
	.fix_bnr::before{
		border-top: 37px solid #f2a100;
		border-right: 37px solid #f2a100;
	}
	.fix_bnr::after{
		border-bottom: 37px solid #f2a100;
		border-left: 37px solid #f2a100;
	}
	.fix_bnr_txt{
		font-size: 26rem;
		width: 335px;
	}
	.fix_bnr .download_app_list{
		width: 330px;
	}
}

/* animation */
/* common */
.waypoint_anim_fade{
	opacity: 0;
    transition: opacity 0.6s 0.2s;
}
.waypoint_anim_fade.animated{
	opacity: 1;
}
.waypoint_anim_fadeup{
	transform: translateY(4vw);
	opacity: 0;
    transition: opacity 0.6s 0.2s, transform 0.6s 0.2s;
}
.waypoint_anim_fadeup.animated{
	transform: translateY(0);
	opacity: 1;
}
@media screen and (min-width: 751px) {
	.waypoint_anim_fadeup{
		transform: translateY(20px);
	}
}
/* voice */
@media screen and (min-width: 751px) {
	.voice_list_item:nth-child(2){
		transition: opacity 0.6s 0.5s, transform 0.6s 0.5s;
	}
	.voice_list_item:nth-child(3){
		transition: opacity 0.6s 0.8s, transform 0.6s 0.8s;
	}
}
.loaded .animation_rotate {
    animation: animationRotate 1.6s 0s infinite steps(1);
}
.loaded .animation_rotate_delay {
	animation-delay: 0.8s;
}
@keyframes animationRotate {
    0% {
		transform: rotate(10deg);
    }
    50% {
		transform: rotate(-10deg);
    }
    100% {
		transform: rotate(10deg);
    }
}