@charset "utf-8";

/*--------------------------------------
header
---------------------------------------*/
.home .header .mainv {
	height: 100vh;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
@media screen and (max-width:575.98px) {
	.home .header-logo {
		position: absolute;
		top: 10px;
		left: 10px;
	}
	.home .header-logo img {
		width: 60%;
	}
	.home .header .mainv {
		height: 100vh;
	}
}
.home .header .mainv img {
	width: 60%;
	margin: 0 auto;
	display: block;
}
@media screen and (max-width:767.98px) {
	.home .header .mainv img {
		width: 60%;
	}
}
@media screen and (max-width:575.98px) {
	.home .header .mainv img {
		width: 80%;
	}
}
.home .header .scroll a {
	display: block;
	width: 75px;
	height: 75px;
	text-align: center;
	text-decoration: none;
	background: rgba(0, 0, 0, 0.3);
	border: 1px solid #fff;
	border-radius: 50%;
	color: #fff;
	font-size: 1.3rem;
	line-height: 60px;
}
.home .header .scroll a:hover {
	background: rgba(0, 0, 0, 0);
}
.home .header .arrow-down::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 20px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateX(-50%) rotate(135deg);
}
.home .bg-slider {
	height: 100vh;
	background-position:center center;
	background-size: cover;
}

/*--------------------------------------
main
---------------------------------------*/

/*--------------------------------------
transport
---------------------------------------*/
.home .transport .main-heading{
	margin-bottom: 60px;
}
.home .transport-block li {
	width: calc(100% / 3);
}
.home .transport-block__image {
	position: relative;
	margin-bottom: 20px;
	text-align: center;
}
.home .transport-block__icon img {
	display: block;
	position: absolute;
	top: -40px;
	left: -11px;
}
.home .transport-block li:nth-child(3) .transport-block__icon img {
	display: block;
	position: absolute;
	top: -40px;
	left: -11px;
}
.home .transport-block .transport-block__text {
	font-weight: 700;
}
.home .transport-block .transport-block__text span {
	display: block;
	font-size: 1.4rem;
}
@media screen and (max-width:767.98px) {
	.home .transport-block li {
		width:100%;
	}
	.home .transport-block li:not(:last-child) {
		margin-bottom: 36px;
	}
	.home .transport-block__icon img {
		display: block;
		position: absolute;
		top: -34px;
		left: -11px;
	}
	.home .transport-block li:nth-child(3) .transport-block__icon img {
		display: block;
		position: absolute;
		top: -30px;
		left: -11px;
	}
}
/*--------------------------------------
ticket
---------------------------------------*/
@media screen and (max-width:979px) {
	.home .ticket .ticket-block .flex {
		display: block;
	}
}
.home .ticket-block__item {
  height: 100%;
	padding: 82px 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

@media screen and (max-width:1074px) {
	.home .ticket-block__item {
		padding: 50px 0;
	}
}
@media screen and (max-width:1050px) {
	.home .ticket-block__item {
		padding: 43.5px;
	}
}
@media screen and (max-width:768px) {
	.home .ticket-block__item {
		padding: 26px 0;
	}
}
.home .ticket-block .bg-free-ticket .inner,
.home .ticket-block .bg-free-pass .inner{
	width: 433px;
	margin: 0;
	padding-right: 27px;
}
.home .ticket-block .ticket-block__image .inner{
	width: 547px;
	margin: 0;
}
@media screen and (max-width:979px) {
	.home .ticket-block .bg-free-ticket .inner,
	.home .ticket-block .bg-free-pass .inner{
		width: 100%;
	}
	.home .ticket-block .ticket-block__image .inner{
		width: 100%;
	}
}
.home .ticket-block__sub-ttl {
	margin-bottom: 30px;
	font-size: 2.8rem;
	font-weight: 700;
}
@media screen and (max-width:320px) {
	.home .ticket-block__sub-ttl {
		font-size: 2.2rem;;
	}
}
.home .ticket-block__sub-ttl img {
	margin-bottom: 4px;
	display: block;
}
@media screen and (max-width:979px) {
	.home .ticket-block__sub-ttl img {
		width: 60%;
	}
}
@media screen and (max-width:767.98px) {
	.home .ticket-block__sub-ttl img {
		width: 100%;
	}
}
.home .ticket-block .flex-block:not(:last-child)  {
	width: 47%;
}
.home .ticket-block .flex-block {
	background: #fffad9;
	width: 53%;
}
@media screen and (max-width:979px) {
	.home .ticket-block .flex-block:not(:last-child)  {
		width: 100%;
	}
	.home .ticket-block .flex-block {
		width: 100%;
	}
}
.home .ticket-block .bg-free-ticket {
	position: relative;
	max-width: 100%;
	background: #9cdcdb;
}
.home .ticket-block .bg-free-pass {
	position: relative;
	max-width: 100%;
	background: #cab5e5;
}
.home .ticket-block .bg-free-ticket:after {
	content: "";
	position: absolute;
	top: 45%;
	right: -20px;
	width: 0;
	height: 0;
	border-left: 20px solid #9cdcdb;
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
}
.home .ticket-block .bg-free-pass:after {
	content: "";
	position: absolute;
	top: 45%;
	right: -20px;
	width: 0;
	height: 0;
	border-left: 20px solid #cab5e5;
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
}
.home .ticket-block__route-map {
 	margin-bottom: 40px;
}
.home .ticket-block__text {
	margin-bottom: 20px;
	line-height: 2.0;
}
.home .flex-block:nth-child(2) .ticket-block__text {
	line-height: 1.6;
	padding-left:1em;
	text-indent:-1em;
}
@media screen and (max-width:320px) {
	.home .ticket-block__text {
			line-height: 1.2;
	}
}
.home .ticket-block .btn {
	display: inline-block;
	width: 190px;
	padding: 10px 0;
	background: rgba(255, 255, 255, 1);
	text-align: center;
	font-weight: 700;
}
.home .ticket-block .btn:hover {
	color:#3eaa43;
}
.home .ticket-block .furano .btn {
	color: #05b8b4;
}
.home .ticket-block .lavender .btn {
	color: #9c6dda;
}
.home .ticket-block__item .arrow-right::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
	width: 10px;
	height: 10px;
	margin-top: -6px;
  border-top: 2px solid #3eaa43;
  border-right: 2px solid #3eaa43;
	transform: translateX(-50%) rotate(45deg);
}
.home .ticket-block .furano .arrow-right::before {
	content: "";
	border-top: 2px solid #05b8b4;
	border-right: 2px solid #05b8b4;
}
.home .ticket-block .lavender .arrow-right::before {
	content: "";
	border-top: 2px solid #9c6dda;
	border-right: 2px solid #9c6dda;
}
.home .ticket-block__image .inner {
	padding: 40px 0 40px 40px;
}
@media screen and (max-width:1199.98px) {
	.home .ticket-block__image img {
		display: block;
		width: 100%;
		margin: 0 auto;
	}
	.home .ticket-block__image .inner {
		padding: 40px;
	}
}
@media screen and (max-width:768px) {
	.home .ticket-block__image .inner {
		padding: 6%;
	}
}
.home .ticket-block__image .ticket-block__sub-ttl {
	margin-bottom: 29px;
	background: #fff;
	border-top: 2px solid #44a635;
	border-bottom: 2px solid #44a635;
	font-size: 2.8rem;
	text-align: center;
	color: #44a635;
}
@media screen and (max-width:320px) {
	.home .ticket-block__image .ticket-block__sub-ttl {
		font-size: 2.2rem;
	}
}
/*--------------------------------------
course
---------------------------------------*/
.home .course-block .form-block {
	margin-bottom: 25px;
}
.home .course-block .area {
	font-size: 1.9rem;
}
.home .form-block .flex {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.home .form-block .flex-item{
  width: 78%;
}
.home .form-block .flex-item:first-child {
  width: 19%;
}
.home .form-block .flex img {
	width: 92%;
}
.flex-item .row > [class*=col-] {
    padding: 0 4px;
}
@media screen and (max-width:1199.98px) {
	.home .form-block .flex-item{
		width: 100%;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	.home .form-block .flex-item:first-child {
		width: 100%;
    margin-bottom: 40px;
	}
	.home .form-block .flex img {
		width: 60%;
	}
}
@media screen and (max-width:767.98px) {
		.home .course-block .form-block .flex  {
			-webkit-box-pack: center;
			-ms-flex-pack: center;
			justify-content: center;
		}
}
.home .course-block .period {
	margin-bottom: 45px;
	padding-bottom: 35px;
	position: relative;
	border-bottom: 1px solid #808080;
}
.home .course-block .period:after {
	content: "";
	position: absolute;
	bottom: -20px;
	left: 48.8%;
	width: 0;
	height: 0;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
	border-top: 19px solid #808080;
}
@media screen and (max-width:767.98px) {
	.home .course-block .period:after {
		content: "";
		position: absolute;
		bottom: -20px;
		left: 47%;
		width: 0;
		height: 0;
		border-left: 12px solid transparent;
		border-right: 12px solid transparent;
		border-top: 19px solid #808080;
	}
}
.home .course-block__sub-ttl {
	margin-bottom: 20px;
	padding: 10px 0;
	background: #808080;
	text-align: center;
	color: #fff;
}
.home .course-block__list-ttl {
	position: relative;
	max-width: 100%;
	font-size: 1.9rem;
	font-weight: 700;
}
.home .course-block .balloon {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 100%;
	padding: 10px;
	border-right: 1px solid #808080;
	text-align: center;
}
.home .course-block .balloon:before,
.home .course-block .balloon:after {
	content: "";
	position: absolute;
	right: -12%;
}
.home .course-block .balloon:before {
	border: 10px solid transparent;
	border-left: 12px solid #808080;
}
.home .course-block .balloon:after {
	border: 11px solid transparent;
	border-left: 13px solid #fff;
}
.home .course-block .balloon p {
	margin: 0 auto;
}
@media screen and (max-width:1199.98px) {
	.home .course-block .balloon:before,
	.home .course-block .balloon:after {
		content: "";
		position: absolute;
		right: -14%;
	}
}
@media screen and (max-width:1146px) {
	.home .course-block .balloon:before,
	.home .course-block .balloon:after {
		content: "";
		position: absolute;
		right: -15%;
	}
}
@media screen and (max-width:1057px) {
	.home .course-block .balloon:before,
	.home .course-block .balloon:after {
		content: "";
		position: absolute;
		right: -16%;
	}
}
@media screen and (max-width:1199.98px) {
	.home .course-block .balloon {
		margin-bottom: 30px;
		border-right: none;
		border-bottom: solid 1px #525252;
	}
	.home .course-block .balloon:before,
	.home .course-block .balloon:after {
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
		right: inherit;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
	.home .course-block .balloon:before {
		border: solid 11px transparent;
		border-top: solid 11px #525252;
	}
	.home .course-block .balloon:after {
		border: solid 15px transparent;
		border-top: solid 15px #fff;
		margin-top: -5px;
	}
}
/**********チェックボックス**********/
.home .course .form-check {
	position: relative;
}
@media screen and (max-width:767.98px) {
.home .course .form-check {
		margin-bottom: 30px;
		text-align: center;
	}
}
.home .course .form-check-input {
	position: absolute;
	margin-top: 0.3rem;
	margin-left: -1.25rem;
}
.home .form-check-inline .form-check-input {
	position: static;
	margin-top: 0;
	margin-right: 0.3125rem;
	margin-left: 0;
}
.home .form-check-input {
	display: none;
}
.home .checkbox-parts {
	position: relative;
	border: 1px solid #808080;
	padding: 8px 40px;
	border-radius: 5px;
}
.home .checkbox-parts::before {
	content: "";
	display: block;
	position: absolute;
	top: 8px;
	left: 20px;
	width: 16px;
	height: 16px;
	margin-top: 4px;
	background: #fff;
	border: 1px solid #cbcbcb;
	border-radius: 3px;
}
.home .form-check-input:checked + .checkbox-parts::after {
	content: "";
	display: block;
	position: absolute;
	top: 8px;
	left: 25px;
	width: 6px;
	height: 12px;
	margin-top: 4px;
	transform: rotate(40deg);
	border-bottom: 3px solid #44a635;
	border-right: 3px solid #44a635;
}
.home .period .checkbox-parts {
	padding: 34px 8px 8px 8px;
	background: #05b8b4;
	border-radius: 5px;
	border: none;
	color: #fff;
}
.home .period .form-check-input:disabled ~ .checkbox-parts {
	background: #bfbfbf;
}
.home .period .checkbox-parts::before {
	content: "";
	display: block;
	position: absolute;
	top: 8%;
	left: 42%;
	width: 16px;
	height: 16px;
	margin: 0 auto;
	border: 1px solid #cbcbcb;
	border-radius: 3px;
}
.home .period .form-check-input:checked + .checkbox-parts::after {
	content: "";
	display: block;
	position: absolute;
	top: 6%;
	left: 46%;
	width: 6px;
	height: 12px;
	margin-top: 4px;
	transform: rotate(40deg);
	border-bottom: 3px solid #44a635;
	border-right: 3px solid #44a635;
}
@media screen and (max-width:767.98px) {
	.home .period .checkbox-parts::before {
		content: "";
		display: block;
		position: absolute;
		top: 8%;
		left: 45%;
		width: 16px;
		height: 16px;
	}
	.home .period .form-check-input:checked + .checkbox-parts::after {
		content: "";
		position: absolute;
		top: 5%;
		left: 47%;
	}
}
@media screen and (max-width:576px) {
	.home .period .checkbox-parts::before {
		content: "";
		left: 45%;
	}
}
.home .checkbox-date {
	display: block;
	padding-bottom: 6px;
	margin-bottom: 8px;
	border-bottom: 1px solid #fff;
	font-size: 1.7rem;
	font-weight: 700;
	text-align: center;
}
.home .course-list {
	margin-bottom: 55px;
}
@media screen and (max-width:767.98px) {
	.home .course-list {
		margin-bottom: 0;
	}
}
.home .course-list__item {
	margin-bottom: 18px;
	padding: 6%;
	background: #fffad9;
	border: 1px solid #808080;
}
.home .course-list__item__title {
	margin-bottom: 12px;
	font-size: 1.8rem;
	font-weight: 700;
	color: #44a635;
}
.home .course-list__tag .tag {
	display: inline-block;
	margin-bottom: 4px;
	padding: 2px 4px;
	font-size: 1.4rem;
	font-weight: 500;
	color: #fff;
}
.home .course-list__tag .tag:last-child {
	margin-bottom: 10px;
}
.home .course-list__tag .furano {
	background: #05b8b4;
}
.home .course-list__tag .lavender {
	background: #c94d93;
}
.home .course-list__image {
	margin-bottom: 10px;
}
.home .course-list__text {
	margin-bottom: 10px;
}
.home .course-list__item .btn {
	display: block;
	padding: 8px;
	background: #44a635;
	text-align: center;
	font-weight: 700;
	font-size: 1.8rem;
	color: #fff;
}
@media screen and (max-width:767.98px) {
	.home .course-list__item .btn {
		padding: 8px;
	}
}
.home .course-list__item .arrow-right::before {
	content: "";
	display: block;
	position: absolute;
	top: 55%;
	right: 15px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateX(-50%) rotate(45deg);
}

.home .course-block h3.sub-heading{
   margin-bottom: 30px;
    font-size: 1.6rem;
    color: #000;
    text-align: center;
}


/*--------------------------------------
train
---------------------------------------*/
.home .train {
	padding-top: 50px;
	padding-bottom: 65px;
}
@media screen and (max-width:767.98px) {
	.home .train {
		margin-top: 30px;
		padding-bottom: 48px;
	}
}
.home .train .main-ttl {
	padding-top: 38px;
}
.home .train-block__item {
	width: 94%;
	margin: 0 auto;
}
@media screen and (max-width:767.98px) {
	.home .train-block__item {
		width: 100%;
	}
}
.home .train-block__ttl {
	margin-bottom: 30px;
	font-size: 2.8rem;
	font-weight: 700;
}
@media screen and (max-width:320px) {
	.home .train-block__ttl {
		margin-bottom: 30px;
		font-size: 2.2rem;
		font-weight: 700;
	}
}
@media screen and (max-width:979px) {
	.home .train-block__ttl {
		margin-bottom: 20px;
	}
}
.home .train-block__ttl span {
	display: block;
	margin-bottom: 10px;
	font-size: 1.6rem;
	color: #000;
}
.home .train-block__ttl span.reserved{
	display: block;
	margin-top: 5px;
	font-size: 1.4rem;
	font-weight: normal;
}
.home .train-block__image {
	position: relative;
	margin-bottom: 20px;
}
.home .train-block__icon img {
	display: block;
	position: absolute;
	top: -20px;
	left: -11px;
}
.home .train-block .btn {
	display: block;
	width: 235px;
	margin: 0 auto;
	padding: 10px 0;
	text-align: center;
	font-weight: 700;
	color: #fff;
}
.home .train-block .arrow-right::before {
	content: "";
	display: block;
	position: absolute;
	top: 55%;
	right: 15px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateX(-50%) rotate(45deg);
}
@media print {
	.home .bg-slider{
		height: 950px;
	}
	.home .header .mainv{
		height: 800px;
	}
	.home .header .scroll a {
		position: absolute;
		top:760px;
		left: 47%;
		text-align: center;
	}
	.home .ticket-block .inner {
		width: 100%;
		margin: 0;
		box-sizing: border-box;
	}
	.home .ticket-block__image {
		width: 90%;
	}
	.home .course-list__item {
    margin-bottom: 18px;
    padding: 14px!important;
    background: #fffad9;
    border: 1px solid #808080;
	}
	.home .course-list__item__title {
		font-size: 2.0rem!important;
	}
}

/*--------------------------------------
audio
---------------------------------------*/

.trbg {
    background-color: rgba(0,160,173,0.1);
	margin: 30px auto;
	padding: 30px 0;;
}
.trbg .color-blue {
    color: #00A0AD;
}

.trbg .appbox {
    background-color: #ffffff;
    padding: 20px;
    margin: 20px auto;
    max-width: 840px;
}
.trbg .appbox-list {
    padding: 0;
    margin: 10px 0 0 0;
    display: flex;
}
.trbg .appbox-list li {
    list-style: none;
    padding-right: 10px;
}
@media (max-width: 768px){
	.trbg .appbox-list {
    margin: 10px 0 20px 0;
	}
}

.trbg-container {
    margin-right: auto;
    margin-left: auto;
    padding-right: 15px;
    padding-left: 15px;
}
@media (min-width: 768px){
	.trbg-container {
		margin: 0 auto;
	}
}

/* 2026.4追加 */
.mc-seasontitle {
	color: #364e96;
	border: solid 3px #364e96;
	padding: 0.5em;
	border-radius: 0.5em;
	font-size: 2.0rem;
    text-align: center;
    display: block;
    margin: 30px auto 20px;
    max-width: 800px;
}
.home .ticket-block .bg-free-ticket .inner .faq{
	background-color: #fff;
	border-radius: 0.5em;
	padding: 20px;
	margin-top: 30px;
}
.home .ticket-block .bg-free-ticket .inner .faq .question{
	font-size: 2.0rem;
	color: #CD559D;
	font-weight: bold;
	padding-bottom: 2px;
	border-bottom: solid 2px #CD559D;
	margin-bottom: 5px;
}
.marker-yellow {
    background-color: #f3f59d;
}