/*Home CSS　Ver.1.0.0 */

/*=================================
ページ設定
=================================*/
/* 2404に消去
#main-content {
	max-width: 2000px;
	padding-right: 90px;
}
#main-sidebar {
	width: 90px;
	height: 100vh;
	background-color: rgba(255, 255, 255, 1.0);
	overflow: hidden;
	position: fixed;
	top: 0;
	right: 0;
}
#main-sidebar.hoverup {
	display: block;
	z-index: 101;
}
.side-menu {
	height: 100vh;
	padding: 0 20px;
}
.online-menu {
	width: 240px;
	height: 75%;
	display: table;
	transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	position: relative;
	right: 94px;
}
.online-menu li {
	display: table-cell;
	line-height: 1.0;
	vertical-align: middle;
}
.online-menu li a {
	text-decoration: underline;
	vertical-align: sub;
}
.sns-menu {
	margin-top: -60px;
	text-align: center;
}
.sns-menu a {
	width: 50%;
	margin-top: 10px;
}
#home .sec {
	padding-right: 0;
}
*/
#home .sec-ps0 {
	padding-left: 0;
}
.home-conte h2 {
	padding: 5px 0 15px;
	border-top: 2px solid rgba(45, 45, 45, 1.0);
}
.sub-conte h2 {
	padding: 0 0 30px;
	font-size: 1.4rem;
	font-weight: 400;
	text-align: center;
}
.home-2col-37 .col-1 {
	width: 26%;
}
.home-2col-37 .col-2 {
	width: 68%;
}
.home-conte .col-1 p {
	font-size: 1.1rem;
	font-size: 400;
}
.home-conte dl dt {
	margin: 5px 0;
	font-weight: 500;
	text-align: center;
}
.home-conte dl dd {
	font-size: 0.85rem;
}
#home .block1 {
	padding: 30px 20px 20px;
	background: linear-gradient(60deg, rgba(84,58,183,1) 0%, rgba(0,172,193,1) 100%);
	/*
	background: linear-gradient(
		135deg,
		rgba(249, 249, 249, 1.0) 0%,
		rgba(246, 246, 246, 1.0) 50%,
		rgba(240, 240, 240, 1.0) 50%,
		rgba(252, 252, 252, 1.0) 100%
	);
	*/
	position: relative;
}
.news-list li {
	border-top: 1px solid rgba(135, 135, 135, 1.0);
}
.news-list li:last-child {
	border-bottom: 1px solid rgba(135, 135, 135, 1.0);
}
.news-list li a {
	padding: 15px 25px 15px 5px;
	line-height: 1.75;
	display: block;
	position: relative;
}
.news-list li a::after {
	font-family: 'Material Icons';
	content: '\e5e1';
	position: absolute;
	top: 50%;
	right: 2px;
	transform: translateY(-50%);
}
.news-list span {
	font-size: 0.6rem;
	line-height: 1.0;
	display: inline-block;
	vertical-align: middle;
}
.news-list .tag {
	min-width: 90px;
	margin-right: 3px;
	padding: 0.5em 1.0em 0.25em;
	font-weight: 400;
	text-align: center;
}
.news-list .tag-topic {
	color: rgba(54, 99, 180, 1.0);
	border: 1px solid rgba(54, 99, 180, 1.0);
}
.news-list .tag-topic::before {
	content: 'TOPIC';
}
.news-list .tag-news {
	color: rgba(195, 42, 54, 1.0);
	border: 1px solid rgba(195, 42, 54, 1.0);
}
.news-list .tag-news::before {
	content: 'NEWS';
}
.news-list .tag-event {
	color: rgba(54, 150, 42, 1.0);
	border: 1px solid rgba(54, 150, 42, 1.0);
}
.news-list .tag-event::before {
	content: 'EVENT';
}
.news-list .tag-lady {
	color: rgba(216, 99, 168, 1.0);
	border: 1px solid rgba(216, 99, 168, 1.0);
}
.news-list .tag-lady::before {
	content: 'CarA';
}
.news-list .tag-important {
	color: rgba(225, 0, 54, 1.0);
	border: 1px solid rgba(225, 0, 54, 1.0);
}
.news-list .tag-important::before {
	content: '重要なお知らせ';
}
.news-list .tag-report {
	color: rgba(135, 24, 105, 1.0);
	border: 1px solid rgba(135, 24, 105, 1.0);
}
.news-list .tag-report::before {
	content: 'REPORT';
}
.news-list .update {
	padding: 0 15px;
	color: rgba(99, 99, 99, 1.0);
}
.news-archive-link {
	padding-right: 25px;
	text-align: right;
}
.news-archive-link a, 
.news-archive-link a:visited {
	margin: 10px 0 0;
}
.news-archive-link a:hover {
	color: rgba(225, 0, 54, 1.0);
}
.news-archive-link a::before {
	font-family: 'Material Icons';
	content: '\e5e1';
	font-size: 0.7em;
	color: rgba(255, 255, 255, 1.0);
}
#topics.sec {
	padding-top: 40px;
	padding-bottom: 80px;
}
#topics.sec-inner {
	/*width: 70%;*/
	margin: 20px auto 0;
}
#topics.home-conte h2 {
	padding: 0 0 15px;
	font-size: 2.8rem;
	font-weight: normal;
	color: #f5695f;
	border-top: none;
}
#topics.home-conte .col-1 {
	padding-top: 55px;
}

/*top-menu*/
.top-menu-box {
	margin-bottom: 60px;
	padding: 30px;
	align-items: center;
}
.top-menu-box:last-child {
	margin-bottom: 0;
}
.top-menu-box:nth-child(odd) {
	background: linear-gradient(
		75deg,
		rgba(249, 240, 225, 0) 0%,
		rgba(249, 240, 225, 0) 45%,
		rgba(249, 240, 225, 1.0) 60%,
		rgba(249, 240, 225, 1.0) 100%
	);
}
.top-menu-box:nth-child(even) {
	flex-direction:row-reverse;
	background: linear-gradient(
		285deg,
		rgba(249, 240, 225, 0) 0%,
		rgba(249, 240, 225, 0) 45%,
		rgba(249, 240, 225, 1.0) 60%,
		rgba(249, 240, 225, 1.0) 100%
	);
}
.top-menu-box .top-menu-ph {
	width: 65%;
}
.top-menu-box:nth-child(odd) .top-menu-ph {
	padding-left: 5%;
}
.top-menu-box:nth-child(even) .top-menu-ph {
	padding-right: 5%;
}
.top-menu-box .top-menu-ph img {
	box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.4);
}
.top-menu-box .top-menu-txt {
	width: 30%;
	position: relative;
}
.top-menu-box .top-menu-txt p {
	font-size: 1.15rem;
}
.top-menu-box .top-menu-txt a, 
.top-menu-box .top-menu-txt a:visited {
	min-width: 100px;
	padding: 0.5em 1.0em 0.4em;
	text-align: center;
	background-color: rgba(255, 255, 255, 0.8);
	border: 2px solid rgba(77, 77, 77, 1.0);
	border-radius: 5px;
	position: absolute;
	bottom: -90px;
	left: 50%;
	transform: translateX(-50%);
}
.top-menu-box .top-menu-txt a::after {
	font-family: 'Material Icons';
	content: '\e5c8';
	vertical-align: middle;
}
/*top-menu*/

#movie .home-conte ul li {
	width: 48%;
}
#movie .home-conte ul li a {
	display: block;
}
#osusume-conte li {
	width: 32%;
	margin-right: 1.8%; 
	margin-bottom: 20px; 
}
#osusume-conte li:nth-child(3n) {
	margin-right: 0; 
}
.osusume-btn {
	padding: 0.5em;
	font-size: 1.15rem;
	text-align: center;
	color: rgba(77, 77, 77, 1.0);
	border:1px solid rgba(150, 150, 150, 1.0);
	border-radius: 5px;
}
.osusume-btn:hover {
	color: rgba(45, 45, 45, 1.0);
	background-color:rgba(240, 240, 240, 1.0);
	transition: 0.4s ease-in-out;
}
#report a {
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
	display: block;
}
#report a:hover {
	opacity: 0.6;
}
#instagram.sec {
	padding: 120px 0 60px;
} 
#instagram .sec-inner {
	padding: 60px 0;
}
/* Swiperで運営時に使用した
.instagram-gallery-wrap {
	padding: 0 0 30px;
}
#instagram .gallery-item {
	width: 240px;
}
#instagram .gallery-item article h3, 
#instagram .gallery-item article p {
	padding: 0 10px;
}
*/
#instagram #gallery li:first-child {
	margin-left: 25px;
}
.instagram-nav {
	margin-top: 15px;
	text-align: center;
}
.instagram-nav a img {
	width: auto;
	height: 24px;
	margin-right: 3px;
}
#calendar .home-conte {
	width: 70%;
	max-width: 580px;
	margin: 0 auto;
}



/*=================================
Swiper設定
=================================*/
.slide-media img, .thumb-media img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
/*
.swiper-btn-prev, 
.swiper-btn-next {
	display: grid;
	place-content: center;
	width: 48px;
	height: 48px;
	cursor: pointer;
	transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
	border: 1px solid rgba(77, 77, 77, 1.0);
	border-radius: 5%;
}
.swiper-btn-prev::after, 
.swiper-btn-next::after {
	width: 1.2rem;
	height: 1.2rem;
	content: "";
	border: solid rgba(77, 77, 77, 1.0);
	border-width: 3px 3px 0 0;
}
.swiper-btn-prev::after {
	margin-left: 0.4rem;
	transform: rotate(-135deg);
}
.swiper-btn-next::after {
	margin-right: 0.4rem;
	transform: rotate(45deg);
}
*/
.l-inner {
	position: relative;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 10rem;
}
.slide-media, 
.thumb-media {
	position: relative;
	overflow: hidden;
}
.slide-media img, 
.thumb-media img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
#swiper-1 .swiper-pagination-bullet {
	background: unset;
	/*background-color: rgba(120, 120, 120, 0.6);*/
	background-color: rgba(234, 234, 234, 0.6);
}
#swiper-1 .swiper-pagination-bullet-active {
	background: unset;
	background-color: rgba(250, 220, 12, 1.0);
	/*background-color: rgba(255, 255, 255, 1.0);*/
}
#swiper-1 .swiper-button-prev, 
#swiper-1 .swiper-button-next {
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.9);
	color: rgba(255, 255, 255, 1.0);
}
#swiper-2 .swiper-button-prev, 
#swiper-2 .swiper-button-next {
	display: grid;
	place-content: center;
	width: 2.8rem;
	height: 2.8rem;
	cursor: pointer;
	-webkit-transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
	transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
	left: 0;
}
#swiper-2 .swiper-button-disabled {
	pointer-events: none;
	opacity: 0;
}
#swiper-2 .swiper-button-prev::before, 
#swiper-2 .swiper-button-next::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: "";
	border-radius: 50%;
	-webkit-transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
	transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
}
#swiper-2 .swiper-button-prev::after, 
#swiper-2 .swiper-button-next::after {
	width: 0.85rem;
	height: 0.85rem;
	content: "";
	border: solid rgba(255, 255, 255, 1.0);
	border-width: 3px 3px 0 0;
}
#swiper-2 .swiper-button-prev::after {
	margin-left: 0.4rem;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
#swiper-2 .swiper-button-next::after {
	margin-right: 0.4rem;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#swiper-2.card02 .swiper-pagination {
	position: relative;
}
#swiper-2.card02 .swiper-pagination span {
	border-radius: 0;
}

.swiper article h3 {
	margin: 5px 0 3px;
	font-size: 17px;
	font-weight: 500;
	text-align: center;
}
.swiper article p {
	font-size: 0.85rem;
}



/*=================================
スライド（splide）設定
=================================*/
.splide__pagination {
	font-size: 0;
}
.splide__arrow--prev, 
.splide__arrow--next {
	display: grid;
	place-content: center;
	width: 48px;
	height: 48px;
	cursor: pointer;
	transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
	border: 1px solid rgba(77, 77, 77, 1.0);
	border-radius: 5%;
}
.splide__arrow:disabled {
	pointer-events: none;
	opacity: 0;
}
.splide__arrow>svg {
	display: none;
}
.splide__arrow--prev::after, 
.splide__arrow--next::after {
	width: 1.2rem;
	height: 1.2rem;
	content: "";
	border: solid rgba(77, 77, 77, 1.0);
	border-width: 3px 3px 0 0;
}
.splide__arrow--prev::after {
	margin-left: 0.4rem;
	transform: rotate(-135deg);
}
.splide__arrow--next::after {
	margin-right: 0.4rem;
	transform: rotate(45deg);
}

/*--- ▼▼▼ここから mv01固有▼▼▼ ---*/
#splide-1 {
	position: relative;
	z-index: 10;
}
.mv01 .splide__pagination {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 1.0rem;;
	height: max-content;
	margin: auto;
	padding: 10px;
	background-color: rgba(0, 0, 0, 0.5);
	border-radius: 5px;
	display: flex;
	flex-direction: column;
}
.mv01 .splide__pagination__page {
	display: block;
	width: 7px;
	height: 2rem;
	cursor: pointer;
	transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
	background-color: rgba(210, 210, 210, 1.0);
}
.mv01 .splide__pagination__page.is-active {
	background-color: rgba(0, 114, 186, 1.0);
}
.mv01 .splide__pagination>li:not(:first-child) {
	margin-top: 15px;
}
/*--- ▲▲▲ここまで mv01固有▲▲▲ ---*/

/*--- ▼▼▼ここから splide-2固有▼▼▼ ---*/
#splide-2 .splide-controller {
	margin-bottom: 10px;
	padding-right: 30px;
	display: flex;
	gap: 1.6rem;
	align-items: flex-end;
}
#splide-2 .splide__pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 1.2rem 0.8rem;
	margin: 0 0 0 auto;
	text-align: center;
}
#splide-2 .splide__pagination li {
	font-size: 0;/* liタグの下にある余白を消すため */
}
#splide-2 .splide__pagination__page {
	width: 1.6rem;
	height: 3px;
	cursor: pointer;
	transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
	vertical-align: top;
	background-color: rgba(180, 180, 180, 1.0);
}
#splide-2 .splide__pagination__page.is-active {
	width: 4rem;
	background-color: rgba(0, 114, 186, 1.0);
}
#splide-2 .splide__arrows {
	display: flex;
	gap: 1.6rem;
}
#splide-2 .splide__arrow--prev, 
#splide-2.splide__arrow--next {
	position: relative;
	flex-shrink: 0;
	margin: 0;
}
#splide-2 .splide__arrow:disabled {
	pointer-events: none;
	opacity: 0.35;
}
/*--- ▲▲▲ここまで splide-2固有▲▲▲ ---*/

/*--- ▼▼▼ここから card05固有▼▼▼ ---*/
.slide-media,
    .thumb-media {
      position: relative;
      overflow: hidden;
    }

    .slide-media img,
    .thumb-media img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .splide {
      z-index: 0;
    }

    /* 前へ / 次へボタン */
    .splide__arrow--prev,
    .splide__arrow--next {
      display: grid;
      place-content: center;
      width: 6.4rem;
      height: 6.4rem;
      cursor: pointer;
      transition: var(--transition);
      background-color: var(--color-theme-darken);
      border-radius: 50%;
    }

    .splide__arrow--prev::after,
    .splide__arrow--next::after {
      width: 1.2rem;
      height: 1.2rem;
      content: "";
      border: solid var(--color-gray);
      border-width: 3px 3px 0 0;
    }

    .splide__arrow--prev::after {
      margin-left: 0.4rem;
      transform: rotate(-135deg);
    }

    .splide__arrow--next::after {
      margin-right: 0.4rem;
      transform: rotate(45deg);
    }

    .splide__arrow:disabled {
      pointer-events: none;
      opacity: 0;
    }

    .splide__arrow:focus-visible {
      outline: 3px solid rgba(180, 233, 0, 0.8);
      outline-offset: 3px;
      z-index: 1;
      transition: none;
    }

    .splide__pagination {
      font-size: 0;
    }

    .splide__pagination__page:focus-visible {
      outline: 3px solid rgba(180, 233, 0, 0.8);
      outline-offset: 3px;
      z-index: 1;
      transition: none;
    }

    .splide__slide:focus-visible {
      outline: 3px solid rgba(180, 233, 0, 0.8);
      outline-offset: 3px;
      z-index: 1;
      transition: none;
    }

    .splide-wrapper {
      position: relative;
    }

    .splide__arrow>svg {
      display: none;
    }
.card05 {
	overflow: hidden;
}
.card05 .splide__track {
	overflow: visible;
}
.card05 .splide__slide {
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
}
.card05 .slide {
	overflow: hidden;
	border-radius: 4px;
}
.card05 .slide-media {
	padding-top: 62.5%;
}
.card05 .slide-media img {
	height: calc(100% + 16px);
	-webkit-transform: translateY(-16px);
	transform: translateY(-16px);
}
.card05 .slide-content {
	padding: 3.2rem;
}
/*--- ▲▲▲ここまで card05固有▲▲▲ ---*/

.b-shadow {
	box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.6);
}




/*=================================
タブレット設定（768px〜1024px）
=================================*/
@media only screen and (max-width: 1024px) {

	.home-2col-37 .col-1, 
	.home-2col-37 .col-2 {
		width: 100%;
	}
	.home-2col-37 .col-1 {
		margin-bottom: 30px;
	}
	#information .update {
		padding: 10px 0 5px;
		display: block;
	}
	.top-menu-box .top-menu-txt h2 {
		font-size: 1.25rem;
		text-align: center;
	}
	.top-menu-box .top-menu-txt p {
		font-size: 1.0rem;
	}
	.top-menu-box .top-menu-txt a, 
	.top-menu-box .top-menu-txt a:visited {
		bottom: -60px;
	}
	#instagram .sec {
		padding-left: 0;
	}
	/*== ここからSwiper設定 ==========*/
	.card02 .swiper-pagination {
		gap: 1.0rem 0.5rem;
	}
	.card02 .swiper-pagination-bullet {
		width: 0.8rem;
	}
	.card02 .swiper-pagination-bullet-active {
		width: 1.8rem;
	}
	.card02 .swiper-controller {
		padding-right: 0;
		gap: 0.8rem;
	}
	.swiper-button-prev, 
	.swiper-button-next {
		/*width: 2rem;*/
		display: none;
	}
	.swiper article h3 {
		padding: 0 10px;
		font-size: 15px;
		font-weight: bold;
	}
	.swiper article p {
		padding: 0 10px;
		font-size: 12px;
		line-height: 1.4;
	}
	/*== ここまでSwiper設定 ==========*/
	
	#home .block1 {
		margin-top: -7px;
	}

}


/*=================================
スマホ設定（〜767px）
=================================*/
@media only screen and (max-width: 767px) {

	#countup1, #splash_mess, #splash_gogo {
		top: 45%;
	}
	#splash .btn-scroll-wrap {
		bottom: 94px;
	}
	#splash .btn-scroll {
		bottom: 100px;
	}
	#countup1 .count-up {
		font-size: 100px;
	}
	#countup1 {
		width: 100%;
	}
	#splash_mess, 
	#splash_gogo {
		width: 80%;
	}
	#splash_logo img, 
	#splash_gogo img {
		width: 100%;
	}
	#home .block1 {
		padding: 60px 15px;
	}
	#topics.sec-inner {
		width: 100%;
	}
	#information .tag {
		min-width: 80px;
		padding: 0.4em 0.75em 0.2em;
	}
	.swiper article h3 {
		padding: 0 5px;
		font-size: 13px;
	}

	/* ここからtop-menu --------------*/
	#menu.sec {
		padding-left: 0;
		padding-right: 0;
		padding-bottom: 80px;
	}
	.top-menu-box {
		margin-bottom: 120px;
		padding: 30px 0;
	}
	.top-menu-box:nth-child(odd) {
		background: linear-gradient(
			90deg,
			rgba(249, 240, 225, 0) 0%,
			rgba(249, 240, 225, 0) 5%,
			rgba(249, 240, 225, 1.0) 15%,
			rgba(249, 240, 225, 1.0) 100%
		);
	}
	.top-menu-box:nth-child(even) {
		background: linear-gradient(
			270deg,
			rgba(249, 240, 225, 0) 0%,
			rgba(249, 240, 225, 0) 5%,
			rgba(249, 240, 225, 1.0) 15%,
			rgba(249, 240, 225, 1.0) 100%
		);
	}
	.top-menu-box .top-menu-ph {
		width: 90%;
		position: relative;
		top: -60px;
	}
	.top-menu-box .top-menu-txt {
		width: 100%;
		margin-top: -50px;
		padding: 0 15%;
	}
	.top-menu-box .top-menu-txt a, 
	.top-menu-box .top-menu-txt a:visited {
		bottom: -50px;
	}
	/* ここまでtop-menu --------------*/

	#movie .home-conte ul li {
		width: 100%;
		margin-bottom: 30px;
		display: block;
	}
	#instagram .card03 .swiper-button-prev, 
	#instagram .card03 .swiper-button-next {
		display: none;
	}
	#calendar .home-conte {
		width: 100%;
	}

	/*--- ▼▼▼ここから splide card05固有▼▼▼ ---*/
	.mv01 .splide__pagination {
		width: 65%;
		height: auto;
		top: auto;
		bottom: -18px;
		left: 50%;
		transform: translateX(-50%);
		padding: 5px 10px;
		border-radius: 3px;
		flex-direction: unset;
		display: block;
		text-align: center;
	}
	.mv01 .splide__pagination__page {
		display: block;
		width: 1.4rem;
		height: 6px;
		margin: 0 3px;
		cursor: pointer;
		transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
		background-color: rgba(210, 210, 210, 1.0);
	}
	.mv01 .splide__pagination>li:not(:first-child) {
		margin-top: 0;
	}
	/*--- ▲▲▲ここまで splide card05固有▲▲▲ ---*/

}
