@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Oswald:wght@200..700&display=block');

/*css変数定義*/
:root {
  --bk: #030712;/*黒*/
  --red: #E7000B;/*赤*/
}

body{
	font-family: "Noto Sans JP", sans-serif,"Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3","Yu Gothic", "Yu Gothic medium", "Arial", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	color: var(--bk);
	margin: 0 auto;/*MV中央揃え*/
	overflow-x: hidden;
}

img {
	max-width: 100%;
	height: auto;
}

a{	
	text-decoration: none;
	color: inherit;
}
a:hover{
	color: inherit;
}
a:link, a:visited, a:hover, a:active, a:focus{
	text-decoration: none;
	outline: none;
}

h1,
h2,
h3,
h4,
ul,
ol,
dl,
dt,
dd,
p,
figure{
	margin:0;
	padding:0;
}

ul,
ol{
	list-style-type: none;
}

button:focus {
	outline: none;
}
		

/*---------------------------------
	共通パーツ
----------------------------------*/
.red{
	color: var(--red);
}

/*リスト*/
.dot-list li{
	position: relative;
	padding-left: 15px;
}

/*リストの「・」*/
.dot-list li:before{
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}

@media(min-width: 1200px){
	.container{
		padding-right: 0;
		padding-left: 0;
	}
}


/*  見出し
-------------------------------*/
/*h2ライン*/
.title-line-lg{
	position: relative;
}
.title-line-lg:before{
    content: "";
    position: absolute;
    top: 0;
    right: calc(100% - -10px);
	display: block;
	width: 500px;
	height: 32px;
	background: var(--red);
	clip-path: polygon(0% 0%, 100% 0%, calc(100% - 20px) 100%, 0% 100%);
}

.artist .title-img img,
.faq .title-img img{
	display: block;
}


/*h3*/
.title-md-wrap{
	margin-bottom: 40px;
}
/*h3ライン*/
.title-line-md{
	position: relative;
	width: fit-content;
	margin-left: 91px;
}
.title-line-md:before{
    content: "";
    position: absolute;
    bottom: 0;
    right: calc(100% - -10px);
	display: block;
	width: 81px;
	height: 20px;
	background: var(--red);
	clip-path: polygon(0% 0%, 100% 0%, calc(100% - 11px) 100%, 0% 100%);
}
.title-line-md:after{
    content: "";
    position: absolute;
    bottom: 0;
    left: calc(100% - -10px);
	display: block;
	width: 755px;
	height: 20px;
	background: var(--red);
	clip-path: polygon(11px 0%, 100% 0%,100% 100%, 0% 100%);
}

/*h4*/
.c-title-sm{
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
    font-family: "Oswald", sans-serif;
    font-weight: 900;
    font-size: 18px;
}

/*h4 ライン*/
.title-line-sm{
	border-bottom: solid 1px var(--bk);
    padding-bottom: 5px;
}
.title-line-sm.-white{
	border-color: #fff;
}

@media (max-width:767px) {
	.title-line-lg:before {
		right: inherit;
		left: -15px;
		width: 10px;
		height: 100%;
		clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
	}
	
	/*artist*/
	.artist .title-img img{
		max-width: 80px;
	}	
	
	/*FAQ*/
	.faq .title-img img{
		max-width: 44px;
	}
	
	/*h3*/
	.title-md-wrap{
		margin-bottom: 25px;
	}
	/*h3ライン*/
	.title-line-md{
		margin-left: 0;
	}
	.title-line-md:before{
		bottom: 0;
        right: calc(100% - -5px);
        width: 10px;
        height: 100%;
        clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
	}
	.title-line-md:after{
		bottom: 0;
		left: calc(100% - -5px);
		height: 97%;
		clip-path: polygon(13px 0%, 100% 0%,100% 100%, 0% 100%);
	}
}


/*  ボタン
-------------------------------*/
.wrap-btn{
	text-align: center;
	margin: 0 auto;
}
.btn-design{
    display: block;
    text-decoration: none;
    position: relative;
    border-radius: 100px;
    text-align: center;
    background: var(--red);
    color: #fff;
    font-weight: bold;
    font-size: 18px;
    width: 100%;
    max-width: 786px;
    margin: auto;
    padding: 14px 5rem 14px 3.5rem;
}
.btn-design:hover{
	opacity: 0.7;
	transition: 0.2s;
	text-decoration: none;
	color: #fff;
}
/* 矢印 */
.btn-design:before{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 2.5em;
    transform: translate(0, -50%);
	/*三角*/
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 8px 0 8px;
    border-color: #fff transparent transparent transparent;
}

.btn-design .main-text{
	font-size: 24px;
	margin-left: 10px;
}

@media (max-width:767px) {
	.btn-design{
		font-size: 16px;
		padding: 10px 2.5rem 10px 2rem;
	}
	.btn-design:before {
		right: 1.5em;
		border-width: 10px 6px 0 6px;
	}
	
	.btn-design .sub-text{
		display: block;
	}
	.btn-design .main-text{
		font-size: 20px;
		margin-left: 0;
	}
}

/*---------------------------------
	共通パーツ　アコーディオン　注意事項
----------------------------------*/
/* 外枠 */
.accordion-note-wrap {
  margin: 20px auto 0;
  border-radius: 5px;
  border: 1px solid var(--bk);
}

/* 外枠 ラジオ注意事項 */
.radio-note-wrap {
  max-width: 960px;
}

/* ボタン */
.accordion-note__btn {
  position: relative;
  width: 100%;
  background: transparent;
  border: none;
  box-shadow: none;
  cursor: pointer;
  padding: 15px 20px;
  text-align: center;
  color: var(--bk);
}

/* ボタン内のテキスト */
.accordion-note__ttl {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 0.05em;
}

/* 右端の「▲」共通設定 */
.accordion-note__btn::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translate(0, -50%); /* rotate(0deg) は初期値なので省略可能 */
  transition: transform 0.3s ease;
  /* 三角形 */
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 8px 12px 8px; /* 上右下(高さ)左 */
  border-color: transparent transparent var(--bk) transparent;
}

/* 閉じている時（.collapsedがついている時）は、下向き「▼」にするために180度回転 */
.accordion-note__btn.collapsed::after {
  transform: translate(0, -50%) rotate(-180deg);
}

/* 開いた時の中身全体 */
.accordion-note__body-inner {
  padding: 5px 20px 15px;
}

.accordion-note-wrap .dot-list li{
	margin-bottom: 5px;
}

/*白の時
------------------------*/
.accordion-note-wrap.-white {
  border-color: #fff;
  color: #fff;
}

/* ボタン内のテキスト */
.-white .accordion-note__btn{
  color: #fff;
}

/* 右端の「▲」共通設定 */
.-white .accordion-note__btn::after {
  border-color: transparent transparent #fff transparent;
}


@media (max-width: 767px) {
	.accordion-note__ttl{
		font-size: 16px;
	}
	/* 右端の「▲」共通設定 */
	.accordion-note__btn::after {
	  border-width: 0 6px 10px 6px; /* 上右下(高さ)左 */
	}
	
	.accordion-note__body-inner {
		padding: 5px 15px 15px;
	}
	.accordion-note-wrap .dot-list li{
		font-size: 15px;
	}
}



/*---------------------------------
	MV
----------------------------------*/
h1.mv-area {
	width: 100%;
	text-align: center;
	margin: auto;
}

h1.mv-area img {
  max-width: 100%;
  object-fit: cover;
  object-position: top center;
  margin: auto;
}

/*---------------------------------
	section about
----------------------------------*/
.period-wrap{
	width: 100%;
	max-width: 1140px;
	margin: 10px 0 30px;
}
.period-wrap dl{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	text-align: center;
	border: solid 1px var(--bk);
	border-right: none;
	border-left: none;
}
.period-wrap .period-wrap__departure{
	border-top: none;
}

.period-wrap dt{
	width: 30%;
	font-size: 18px;
	font-weight: 500;
}
.period-wrap dd{
	position: relative;
	width: 70%;
	font-weight: bold;
	font-size: 24px;
	font-family: "Oswald", sans-serif;
	line-height: 1;
	text-align: left;
	padding: 11px 0;
	padding-left: 210px;
}

/* 縦線 */
.period-wrap dd::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 1px;
	height: 90%;
	background-color: var(--bk);
}
.period-wrap .period-wrap__departure dd::before {
	bottom: inherit;
	top: 0;
}
.period-wrap__monthday{
	font-size: 40px;
	margin-left: 10px;
}
.period-wrap__hyphen{
	font-size: 40px;
	margin-left: 10px;
}

.period-wrap__yobi{
	margin-left: 10px;
	letter-spacing: 0.05rem;
}

/*調整*/
.dep-monthday01 {
	letter-spacing: 0.05rem;
}
.dep-yobi01{
	letter-spacing: 0.15rem;
}

.about__text-wrap{
	margin: 30px auto 0;
}

.about__text-wrap p{
	font-size: 18px;
}

@media (max-width:1199px) {
	.period-wrap dd{
		padding-left: 150px;
	}	
}

@media (max-width:991px) {
	.period-wrap dd{
		padding-left: 80px;
	}	
}

@media (max-width:767px) {
	.period-wrap{
		margin: 0 auto 30px;
	}
	.period-wrap dl{
		flex-wrap: wrap;
	}
	.period-wrap dt{
		width: 100%;
		font-size: 15px;
		padding: 10px 0 0;
	}
	.period-wrap dd{
/*		width: fit-content;*/
		width: 280px;
		font-size: 20px;
		padding: 3px 0 10px;
	}
	
	/* スマホ時は縦線を非表示にする */
	.period-wrap dd::before {
		display: none;
	}
	
	.period-wrap__monthday,.period-wrap__hyphen{
		font-size: 28px;
	}
	.period-wrap__yobi{
		margin-left: 0;
	}
	
	/*調整*/
	.dep-monthday01 {
		letter-spacing: 0.05rem;
	}
	.dep-yobi01{
		letter-spacing: 0.14rem;
	}
	
	.about__text-wrap p{
		font-size: 14px;
	}
}

/*---------------------------------
	special
----------------------------------*/
#special{
	overflow-x: hidden;
	margin-top: 45px;
}

/*ナビ
-------------------------------*/
.nav-wrap{
	margin: 30px auto;
}

/*ボタン*/
.page-nav{
	display: flex;
	justify-content: center;
}

.page-nav__item{
	position: relative;
	width: calc(97% / 3);
	display: flex;
	justify-content: center;
}
.page-nav__item:before{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
	display: block;
	width: 1px;
	height: 100%;
	background: var(--bk);
	transform: rotate(15deg);
}

.page-nav__item:first-of-type:after{
	content: "";
    position: absolute;
    top: 0;
    left: 0;
	display: block;
	width: 1px;
	height: 100%;
	background: var(--bk);
	transform: rotate(15deg);
}


.page-nav__link{
	position: relative;
    display: flex;
    justify-content: center;
	align-items: center;
	padding: 15px 26px 25px;
}

.page-nav__link:hover .page-nav__text{
	color: var(--red);
	transition: 0.2s;
}

/* 矢印 ＞ */
.page-nav__link:before{
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    font-weight: 900;
	font-size: 18px;
	color: var(--red);
}

/*テキスト*/
.page-nav__text{
	font-weight: bold;
	font-size: 20px;
	line-height: 1.2;
	display: block;
	padding-left: 2.5rem;
}

/*数字*/
.page-nav__num{
	position: relative;
}
.page-nav__num:before{
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
	font-weight: bold;
	font-family: "Oswald", sans-serif;
	font-size: 48px;
}
.page-nav__item:nth-of-type(1) .page-nav__num:before{
    content: "1";
}
.page-nav__item:nth-of-type(2) .page-nav__num:before{
    content: "2";
}
.page-nav__item:nth-of-type(3) .page-nav__num:before{
    content: "3";
}


@media (min-width:768px) and (max-width:1200px) {
	.page-nav__link {
		padding: 13px 0 28px;
		transform: scale(0.8);
	}
}

@media (max-width:767px) {
	.nav-wrap{
		margin: 3px auto;
	}
	
	/*ボタン*/
	.page-nav{
		flex-wrap: wrap;
	}
	
	.page-nav__item{
		width: 100%;
		border-bottom: solid 1px var(--bk);
		justify-content: left;
	}
	.page-nav__item:last-of-type{
		border-bottom: none;
	}
	
	.page-nav__item:before,
	.page-nav__item:first-of-type:after{
		display: none;
	}
	
	.page-nav__link{
		width: 100%;
		justify-content: left;
		padding: 10px 0;
	}
	
	.page-nav__link:before {
		bottom: inherit;
		left: inherit;
		right: 0.8rem;
		top: 50%;
		transform: translate(0, -50%);
	}
	
	.page-nav__text{
		font-size: 15px;
		line-height: 1.5;
	}
	
	.page-nav__num:before{
		font-size: 44px;
	}
}

@media (max-width: 370px) {
	.page-nav__text {
		font-size: 14px;
		padding-left: 1.8rem;
	}
	.page-nav__link:before{
		right: 0.5rem;
	}
}


/*---------------------------------
	いってらっしゃいコール
----------------------------------*/
.special-call{
	background: var(--bk);
	padding: 45px 0 50px;
	color: #fff;
}
.special-call__text{
	margin-bottom: 30px;
}
.special-call__lead{
	font-weight: bold;
	font-size: 18px;
	margin-bottom: 30px;
}

.special-call__member{
	margin: 0 auto;
}
.member-list{
	display: flex;
	flex-wrap: wrap;
    width: 100%;
	max-width: 964px;
	margin: 0 auto;
    padding: 20px 0 0;
}

.member-item{
    width: calc(88% / 7);
    margin-right: 2%;
    margin-bottom: 20px;
}
.member-item:nth-of-type(7n){
	margin-right: 0;
}

.member-name{
	font-size: 14px;
	margin-top: 5px;
	text-align: left;
}


/*特典取得方法
--------------------------------*/
.special-call__get{
    padding: 30px 15px 35px;
    margin-top: 10px;
    border: solid 1px #fff;
	border-radius: 5px;
}
.special-call__get-list{
	max-width: 948px;
    margin: auto;
}
.special-call__get-item{
	margin-bottom: 10px;
}
.special-call__get-item:last-of-type{
	margin-bottom: 0;
}

@media (max-width:991px) {
	.special-call{
		padding: 30px 0 30px;
	}
	
	.special-call__lead{
		margin-bottom: 15px;
	}
	
	.special-call__text p:not(.special-call__lead){
		font-size: 15px;
	}
	
	.member-item:nth-of-type(7n){
		margin-right: inherit;
	}
	.member-item{
		width: calc(90% / 4);
        margin-right: 3.3%;
		margin-bottom: 10px;
	}
	.member-item:nth-of-type(4n){
		margin-right: 0;
	}
	
	/*特典取得方法*/
	.special-call__get{
		margin-top: 20px;
		padding: 20px 15px 25px;
	}
	.special-call__get-item{
		font-size: 15px;
	}
}


/*---------------------------------
	ラジオ
----------------------------------*/
.special-radio{
	padding: 45px 0 60px;
}

.special-radio__text{
	margin-bottom: 30px;
}
.special-radio__lead{
	font-weight: bold;
	font-size: 18px;
	margin-bottom: 15px;
}

.special-radio__member{
	margin: 0 auto;
}
.special-radio__member-list{
	display: flex;
	flex-wrap: wrap;
    width: 100%;
	max-width: 964px;
	margin: 0 auto;
    padding: 20px 0 0;
}

.special-radio__member-item{
    width: calc(74% / 4);
    margin-right: 8.5%;
    margin-bottom: 20px;
}
.special-radio__member-item:nth-of-type(4n){
	margin-right: 0;
}

.special-radio__member-name{
	font-size: 14px;
	margin-top: 5px;
	text-align: left;
}


/*スケジュール全体
--------------------------------*/
.special-radio__schedule{
	margin: 20px auto 0;
}

/* スケジュールリスト
---------------------*/
.schedule-list{
    width: 100%;
    max-width: 960px;
    margin: 20px auto 0;
}

/* 各スケジュール*/
.schedule-item {
  display: flex;
  align-items: center;
  background-color: #F3F4F6;
  border-radius: 6px;
  padding: 10px 20px;
  margin-bottom: 10px;
}

/* 「#1」などの番号*/
.schedule-num {
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  font-size: 22px;
  color: var(--bk);
  text-align: center;
  position: relative;
  width: 150px; /* 幅を固定して縦線を揃える */
  padding-right: 20px;
}

/* 右側の縦線 */
.schedule-num:after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 44px;
  background-color: var(--bk);
}

/* 期間全体 */
.schedule-content {
  display: flex;
  align-items: center;
  flex-grow: 1; /* 残りの横幅をすべて使う */
  padding-left: 90px;
}

/* 各第1弾・第2弾（日付とバッジ） */
.period-group {
  display: flex;
  align-items: center;
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  color: var(--bk);
}

/* グループ間を区切るスラッシュ（/） */
.period-group + .period-group::before {
  content: "";
  display: block;
  width: 1px;
  height: 41px;
  background-color: var(--bk);
  margin: 0 45px 0 25px;
  transform: rotate(15deg);
}

/* 「第1弾」「第2弾」バッジ */
.badge {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 17px;
  font-weight: bold;
  color: var(--bk);
  border: 1px solid var(--bk);
  border-radius: 100px;
  padding: 6px 19px;
  margin-right: 15px;
  background-color: transparent;
  white-space: nowrap; /* 文字の折り返しを防ぐ */
}

/* 日付テキスト */
.time {
  font-size: 24px;
	width: 170px;
}


/*  スケジュール画像
---------------------*/
/* 外枠 */
.all-schedule-wrap {
  max-width: 960px;
  margin: 20px auto 0;
  border: 1px solid var(--bk);
  border-radius: 5px;
}

/* ボタン */
.all-schedule-header button {
  position: relative;
  width: 100%;
  background: transparent;
  border: none;
  box-shadow: none;
  cursor: pointer;
  padding: 15px 20px;
  text-align: center;
}

/* ボタン内のテキスト */
.all-schedule-header .all-schedule-ttl {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: var(--bk);
  letter-spacing: 0.05em;
}

/* 右端の「▲」共通設定 */
.all-schedule-header button::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translate(0, -50%); /* rotate(0deg) は初期値なので省略可能 */
  transition: transform 0.3s ease;
  /* 三角形 */
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 8px 12px 8px; /* 上右下(高さ)左 */
  border-color: transparent transparent var(--bk) transparent;
}

/* 閉じている時（.collapsedがついている時）は、下向き「▼」にするために180度回転 */
.all-schedule-header button.collapsed::after {
  transform: translate(0, -50%) rotate(-180deg);
}

/* 開いた時の中身全体 */
.all-schedule-body-inner {
  padding: 20px;
}

/*画像*/
.special-radio__schedule img{
	margin: 0 auto;
}

@media (max-width:991px) {
	.special-radio{
		padding: 30px 0 40px;
	}
	.special-radio__text p:not(.special-radio__lead){
		font-size: 15px;
	}
	
	.special-radio__member-list{
		padding: 20px 0 10px;
	}
	.special-radio__member-item {
        width: calc(90% / 4);
        margin-right: 3.3%;
        margin-bottom: 10px;
    }
	
	/* スケジュールリスト*/
	.schedule-num {
		width: 50px;
		padding-right: 15px;
	}
	.schedule-content {
		padding-left: 20px;
	}
	
	/* グループ間を区切るスラッシュ（/） */
	.period-group + .period-group::before {
	  margin: 0 25px 0 10px;
	}
	.time{
		width:fit-contents;
	}
}

@media (max-width: 767px) {
/* スケジュールリスト
---------------------*/
	.schedule-item {
		padding: 14px 15px;
	}

	.schedule-num {
		width: 40px;
		font-size: 20px;
		padding-right: 15px;
	}
	/* 右側の縦線 */
	.schedule-num:after {
		height: 90px;
	}
	
	.schedule-content {
		display: block; /* 縦並び */
		padding-left: 15px;
	}

	.period-group {
		margin-bottom: 5px;
	}

	.period-group:last-child {
		margin-bottom: 0;
	}

	/* スマホの時はスラッシュを消す */
	.period-group + .period-group::before {
		display: none;
	}
	
	/* 「第1弾」「第2弾」バッジ */
	.badge {
		font-size: 16px;
		padding: 6px 19px;
	}
	
	/*スケジュール画像--------------*/
	.all-schedule-header .all-schedule-ttl{
		font-size: 16px;
	}
	/* 右端の「▲」共通設定 */
	.all-schedule-header button::after {
	  border-width: 0 6px 10px 6px; /* 上右下(高さ)左 */
	}
}

@media (max-width: 370px) {
	.time {
		font-size: 18px;
		width: fit-content;
	}
	.badge {
        font-size: 16px;
        padding: 5px 15px;
    }
}


/*---------------------------------
	グッズ
----------------------------------*/
.special-goods{
	background: var(--bk);
	color: #fff;
	padding: 45px 0 60px;
}

.special-goods__lead{
	font-weight: bold;
	font-size: 18px;
	margin-bottom: 15px;
}

.special-goods__howto{
	display: flex;
	justify-content: center;
	margin: 40px auto 50px;
}

.special-goods__howto-text{
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
    padding: 30px 50px;
    margin-left: 40px;
    width: 100%;
	max-width: 738px;
}

/*ステップ*/
.special-goods__step{
	margin-top: 45px;
}

.special-goods__step-item{
    margin-bottom: 45px;
}
.special-goods__step-item:last-of-type{
    margin-bottom: 0;
}

/*数字*/
.step-num{
	position: relative;
	padding-left: 60px;
}
.step-num:before{
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
	font-weight: 500;
	font-family: "Oswald", sans-serif;
	font-size: 32px;
}
.special-goods__step-item:nth-of-type(1).step-num:before{
    content: "1";
}
.special-goods__step-item:nth-of-type(2).step-num:before{
    content: "2";
}
.special-goods__step-item:nth-of-type(3).step-num:before{
    content: "3";
}

@media (max-width:991px) {
	.special-goods{
		padding: 30px 0 30px;
	}
	.special-goods__text p:not(.special-goods__lead){
		font-size: 15px;
	}
	
	.special-goods__howto{
		flex-wrap: wrap;
		margin: 20px auto 20px;
	}
	
	.special-goods__howto-img{
		max-width: 240px;
	}

	.special-goods__howto-text{
		padding: 20px 10px 30px;
		margin-left: 0;
		margin-top: 20px;
		font-size: 15px;
	}

	/*ステップ*/
	.special-goods__step{
		margin-top: 20px;
	}

	.special-goods__step-item{
		margin-bottom: 20px;
	}
	/*数字*/
	.step-num{
		padding-left: 30px;
	}
}


/*---------------------------------
	予約
----------------------------------*/	
.reservation{
	padding: 70px 0 0;
}

@media (max-width:768px) {
	.reservation{
		padding: 30px 0 0;
	}
}


/*  注意事項
------------------*/	
.note{
	background: var(--bk);
	color: #fff;
	padding: 60px 0;
	margin-top: 60px;
}

.note-wrap{
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
	padding: 30px 60px 50px;
}

.note__lead{
	font-weight: bold;
	font-size: 18px;
	margin-bottom: 20px;
}

.note__list-item{
	margin-bottom: 15px;
}
.note__list-item:last-of-type{
	margin-bottom: 0;
}

@media (max-width:768px) {
	.note{
		padding: 40px 0;
		margin-top: 40px;
	}
	.note-wrap{
		padding: 20px 0 20px;
	}
	.note__list-item{
		font-size: 15px;
	}
}


/*---------------------------------
	アーティスト
----------------------------------*/	
.artist{
	padding: 70px 0 65px;
}

.artist__intro{
	margin-top: 50px;
}

.artist__intro-img img{
    margin: auto;
}

.artist__intro-text{
    margin-top: 30px;
}

.artist__intro-text p{
	font-size: 15px;
	margin-bottom: 30px;
}
.artist__intro-text p:last-of-type{
	margin-bottom: 0;
}

@media (max-width:991px) {
	.artist{
		padding: 40px 0;
	}
	
	.artist__intro{
		margin-top: 25px;
	}

	.artist__intro-text{
		margin-top: 20px;
	}
	
	.artist__intro-text p{
		font-size: 14px;
		margin-bottom: 25px;
	}

}

/*---------------------------------
	faq
----------------------------------*/	
.faq{
	background: var(--bk);
	color: #fff;
	padding: 65px 0 70px;
}

/*よくある質問 共通
---------------------*/
#faq-accordion {
    max-width: 1140px;
	margin: 20px auto 0;
}

/*角丸*/
#faq-accordion .card,
#faq-accordion .card-header,
#faq-accordion .card-header button{
	border-radius: 0px;
}

/*カード全体*/
#faq-accordion .card{
	background-color: transparent;
	border-top: solid 1px #fff;
	padding: 0 20px;
}

#faq-accordion .card:last-of-type{
	border-bottom: solid 1px #fff;
}


/*質問番号　質問・回答 共通*/
#faq-accordion .num-label{
	display: inline-block;
	width: fit-content;
	padding: 0;
	background: transparent;
	color: #fff;
	font-family: "Oswald", sans-serif;
	font-size: 18px;
	line-height: 1;
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	margin-right: 0;
	text-align: left;
}


/*質問
---------------------*/
#faq-accordion .card-header button{
	position: relative;
	width: 100%;
	text-align: left;
	cursor: pointer;
	background: transparent;
	box-shadow: none;
	border: none;
	padding: 15px 40px;
}

/*右端アイコン*/
#faq-accordion .card-header button:before{
	content: "";
    display: block;
    position: absolute;
    top: 52%;
    right: 10px;
    transform: translate(0, -50%) rotate(0deg);
    transition: transform 0.3s ease;
	/* 三角形 */
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 8px 0 8px; /* 上(高さ)右下左 */
    border-color: #fff transparent transparent transparent;
}

/* 開いてる時（上向きにする） */
#faq-accordion .card-header button:not(.collapsed):before {
    transform: translate(0, -50%) rotate(180deg);
}

/*質問テキスト*/
#faq-accordion .card-header .faq-ttl{
	display: block;
	font-weight: bold;
	font-size: 18px;
	margin-left: 0;
	color: #fff;
}


/*回答
---------------------*/
#faq-accordion .card-body{
	position: relative;
    padding: 15px 20px;
    background: #fff;
    font-weight: bold;
	margin-bottom: 20px;
}

/*回答番号*/
#faq-accordion .card-body .num-label{
	top: 25px;
}

#faq-accordion .card-body p{
	font-size: 16px;
	line-height: 1.6;
	text-align: left;
	margin-left: 0;
    color: var(--bk);
	word-break: break-all;/*英語改行OKにする*/
}

@media (max-width:767px) {
	.faq{
		padding: 40px 0 60px;
	}
	
	#faq-accordion{
		margin-top: 20px;
	}
	
	/*各FAQ*/
	#faq-accordion .card{
		padding: 0 5px;
	}
	
	/*質問*/
	#faq-accordion .card-header button{
		padding: 10px 20px 10px 25px;
	}
	/*右端の▼*/
	#faq-accordion .card-header button:before{
		right: 0;
		border-width: 10px 6px 0 6px; /* 上(高さ)右下左 */
	}
	
	/*質問番号*/
	#faq-accordion .num-label{
		font-size: 16px;
		transform: translate(0px, 0px);
    	top: 15px;
	}
	/*質問テキスト*/
	#faq-accordion .card-header .faq-ttl{
		font-size: 16px;
	}

	/*回答*/
	#faq-accordion .card-body{
		margin-bottom: 15px;
	}
	
	/*回答テキスト*/
	#faq-accordion .card-body p{
		font-size: 14px;
	}

}




/*---------------------------------
	固定ボタン
----------------------------------*/
/* 元の状態 */
.follow-btn {
  position: relative;
  text-align: center;
  margin: 30px 0;
  width: 100%;
}

/*固定*/
.follow-btn.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  margin: 0;
  padding: 10px 15px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

	
/*-------------------------------------------------
	バス検索フォーム　
--------------------------------------------------*/
/*PC*/
#Bussearch {
	padding: 40px 0 0;
}

/*  全画面幅共通
--------------------------------------*/
.new-bussearch {
	position: relative;/* カレンダー位置調整用 */
}
.new-bussearch .row-bussearch-box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.new-bussearch .col-search {
	display: flex;
	align-items: center;
	position: relative;
}
.new-bussearch .col-reverse{
	z-index: 10;
}
.new-bussearch .col-reverse button {
	background: none;
}
.new-bussearch .search-itemselect {
	width: 100%;
}

.new-bussearch .col-search .form-control {
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	text-overflow: ellipsis;
	width: 100%;
	border-radius: 100px;
	line-height: 1;
	color: var(--bk);
	background: #fff;
	border: 2px solid var(--bk);
}
.new-bussearch .col-search .form-control:last-of-type {
	margin-top: 0;
}

/* 検索ボタン */
.new-bussearch .btn-search {
	display: inline-block;
	font-weight: bold;
	background: var(--red);
	color: #fff;
	border-radius: 100px;
	width: 100%;
	margin: 0 auto;
}
.new-bussearch .btn-search:hover {
	opacity: 0.5;
}

/*  PC（992px以上）
--------------------------------------*/
.new-bussearch .row-bussearch-box {
	margin-top: 0;
}
.new-bussearch .col-search {
	width: calc(33.333% - 21.333px);/* 3列横並び */
	padding: 0;
}
.new-bussearch .col-dep {
	order: 1;
}
.new-bussearch .col-reverse {
	order: 2;
	width: 60px;
	margin-bottom: 10px;
	text-align: center;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.new-bussearch .col-reverse img {
	width: 100%;
	max-width: 60px;
}
.new-bussearch .col-arrive {
	order: 3;
	margin-top: 0;
}
.new-bussearch .col-search.col-depday {
	order: 4;
	width: calc(33.333% - 21.333px);
	margin-top: 0;
	display: flex;
	align-items: flex-start;
	padding-left: 10px;
}
.new-bussearch .col-search.col-searchbtn {
	order: 7;
	width: 100%;
	text-align: center;
}
.new-bussearch .btn-search {
	font-size: 22px;
	padding: 25px 5px;
	margin-top: 15px;
	max-width: 562px;
}
	
.new-bussearch .col-search .form-control {
	font-size: 18px;
	height: 70px;
	padding: 5px 40px 5px 20px;
	margin-bottom: 10px;
}

/*  Tablet（画面幅991px以下）
--------------------------------------*/
@media (max-width: 991px) {
	/* 発着地を縦並び（幅100%）に変更 */
	.new-bussearch .col-search.col-dep,
	.new-bussearch .col-search.col-arrive {
		width: 100%;
	}
	.new-bussearch .col-search.col-depday {
		width: 100%;
		padding-left: 0;
	}

	/* 検索ボタン */
	.new-bussearch .col-search.col-searchbtn {
		margin-top: 0;
	}

	/* 逆区間ボタン */
	.new-bussearch .col-reverse {
		position: absolute;
		top: 80px;
		right: 10px;
		transform: translate(0, -50%);
		justify-content: right;
		margin-bottom: 0;
	}
	.new-bussearch .col-reverse img {
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	/* 地域選択アクティブ時 */
	.new-bussearch .area-select-active + .col-reverse {
		top: 160px;
	}
}


/*  スマホ（画面幅767px以下）
--------------------------------------*/
@media (max-width: 767px) {
	#Bussearch {
        padding: 20px 0 0;
    }
	
	.new-bussearch .col-search .form-control {
		font-size: 16px;
		height: 56px;
		padding: 5px 5px 5px 20px;
		margin-bottom: 10px;
	}
	.new-bussearch .btn-search {
		font-size: 16px;
		padding: 16px 5px;
		margin-top: 10px;
	}

	/* 逆区間ボタン */
	.new-bussearch .col-reverse {
		top: 60px;
	}
	/* 地域選択アクティブ時 */
	.new-bussearch .area-select-active+.col-reverse {
		top: 130px;
	}
}
	
/*  カレンダー関連css
--------------------------------------*/
.datepicker-dropdown {
	opacity: 1 !important;
	/*カレンダー表示*/
	width: fit-content !important;
	padding: 4px !important;
	z-index: 1;
}

/*日付中央*/
.datepicker-days td {
	text-align: center !important;
}

/*クリック不可部分、文字色グレー*/
.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
	background: 0 0;
	color: #999;
	cursor: default;
}

input.datepicker,
.datepicker tbody td:hover {
	cursor: pointer;
}

.table-condensed thead tr:nth-child(2) {
	background: #ddd;
	border: 1px solid #d3d3d3;
	cursor: default !important;
}

.table-condensed thead tr:nth-child(2) th:hover {
	background: #fee6ee !important;
}

.table-condensed {
	font-size: 15px;
	border: 1px solid #d3d3d3;
}

.table-condensed th,
.table-condensed td {
	padding: 7px !important;
	border-radius: 0;
}

.table-condensed td.day.active,
.table-condensed td.day.focused,
.table-condensed td.day:hover {
	border-radius: 0px;
}

.table-condensed td.day:hover {
	background: #fee6ee !important;
}

.datepicker table tr td.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active:hover {
	border-color: rgba(0, 0, 0, .1) rgba(0, 0, 0, .1) rgba(0, 0, 0, .1);
}

.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active:hover {
	color: #333 !important;
}

.datepicker-days .table-condensed thead tr:last-child th {
	background: #f4f4f4;
	border: 1px solid #d3d3d3;
}

.datepicker-days td:last-child {
	color: #006699;
	background: #e8f2fa;
}

.datepicker-days td:first-child {
	color: #ff384c;
	background: #ffeefd;
}

.datepicker-days td {
	border: 1px solid #d3d3d3;
}

.datepicker table tr td span {
	height: 40px;
	line-height: 40px;
}

.datepicker td.holiday {
	color: #ff384c;
	background: #ffeefd;
}

/*---------------------------------
	特典
----------------------------------*/
.viewing{
	margin: 40px auto 70px;
}

/*見出し*/
.viewing__title-lg-wrap{
	margin-bottom: 20px;
}
.viewing__title-lg-wrap .title-text{
    font-family: "Oswald", sans-serif;
    font-weight: bold;
    line-height: 1;
    font-size: 40px;
}
.viewing__title-lg-wrap .title-line-lg:before {
    top: 5px;
}


/*期間*/
.viewing__period{
	width: 100%;
	max-width: 1140px;
	margin: 10px 0 30px;
}

.c-period{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	text-align: center;
	border: solid 1px var(--bk);
	border-right: none;
	border-left: none;
}

.c-period__title{
	width: 30%;
	font-size: 18px;
	font-weight: 500;
}
.c-period__content{
	position: relative;
	width: 70%;
	font-weight: bold;
	font-size: 30px;
	font-family: "Oswald", sans-serif;
	line-height: 1;
	text-align: center;
	padding: 11px 0;
}

/* 縦線 */
.c-period__content::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0px, -50%);
    width: 1px;
    height: 80%;
    background-color: var(--bk);
}

.c-period__date,
.c-period__time,
.c-period__hyphen{
	font-size: 34px;
	margin-left: 15px;
}
.c-period__hyphen{
	font-size: 40px;
}
.c-period__time{
	margin-left: 10px;
}

/*動画
-----------------------*/
.viewing__video{
	text-align: center;
}
.viewing__video iframe{
    width: 100%;
    max-width: 562px;
    height: 327px;
}

/*時限設定*/
.expired-text{
    text-align: center;
    background: #eee;
    padding: 20px;
    margin: 0 auto 20px;
}

/*テキストリンク
-----------------------*/
.viewing__link-wrap{
	text-align: right;
	margin-top: 10px;
}

a.viewing__text-link{
	position: relative;
	text-decoration: underline;
	font-size: 18px;
	padding-right: 1.3rem;
}

a.viewing__text-link:hover{
	opacity: 0.7;
	transition: 0.2s;
}

/* 矢印 ＞ */
.viewing__text-link:before{
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0, -50%);
    font-weight: 900;
	font-size: 18px;
	color: var(--bk);
}

@media (max-width:767px) {
	.viewing{
		margin: 20px auto 40px;
	}
	
	/*見出し*/
	.viewing__title-lg-wrap{
		margin-bottom: 15px;
	}
	.viewing__title-lg-wrap .title-text{
		font-size: 28px;
	}
	.viewing__title-lg-wrap .title-line-lg:before {
		top: 10px;
		height: 25px;
	}
	
	/*期間*/
	.viewing__period{
		margin: 0 auto 15px;
	}
	.c-period{
		flex-wrap: wrap;
	}
	.c-period__title{
		width: 100%;
		font-size: 15px;
		padding: 8px 0 0;
	}
	.c-period__content{
		width: 100%;
		font-size: 18px;
		padding: 3px 0 10px;
	}
	
	/* 縦線 */
	.c-period__content::before {
		display: none;
	}
	
	.c-period__date,
	.c-period__time,
	.c-period__hyphen{
		font-size: 24px;
		margin-left: 6px;
	}
	
	/*テキストリンク
	-----------------------*/
	a.viewing__text-link{
		font-size: 15px;
		padding-right: 0.8rem;
	}
	/* 矢印 ＞ */
	.viewing__text-link:before{
		top: 54%;
		font-size: 15px;
	}
}

/*動画　高さ調整*/
@media (min-width:500px) and (max-width:767px){
	.viewing__video iframe{
		height: 300px;
	}
}

@media (max-width:499px){
	.viewing__video iframe{
		height: 230px;
	}
}
