@charset "utf-8";

/*PCSP共通設定*/
html {scroll-behavior: smooth;}/*smooth scroll*/
a{transition: .3s;}
a:link,
a:visited{color: #0952a4;}
a:hover{opacity: 0.7;}
.search_kokunaiBar .serchBox > ul li.select {background: #039!important;}
.search_kokunaiBar .serchBox > ul {border-bottom: 2px solid #039!important;}


/* ---------- 共通（PC/SP共通のベース） ---------- */

.otb-page {
  /* カラートークン */
  --otb-paper: #f8fdfe;        /* ページ背景（ほぼ白） */
  --otb-ink: #181b1f;          /* 本文テキスト */
  --otb-sky: #e5f5f9;          /* 角島セクション背景（明） */
  --otb-sky-deep: #0091C7;     /* 角島アクセント */
  --otb-beige: #eadcc9;        /* 関門セクション背景（ベージュ） */
  --otb-beige-deep: #d7c4af;   /* 関門背景グラデーション終端 */
  --otb-kanmon-text: #392a1e;  /* 関門本文（ダークブラウン） */
  --otb-kanmon-accent: #734a2e;/* 関門アクセント（キャラメル） */
  --otb-coral: #e6705f;        /* 特典ボックス */
  --otb-navy-dark: #0e2443;    /* 旅行商品タイトルバー（紺） */

  font-family: 'Noto Sans JP', sans-serif;
  color: var(--otb-ink);
  background: #fff;
  width: 100%;
  line-height: 1.6;
}

.otb-page *,
.otb-page *::before,
.otb-page *::after {
  box-sizing: border-box;
}

/*
.otb-page p,
.otb-page h2 {
  margin: 0;
  padding: 0;
}*/

.otb-inner {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  width: 100%;
}

/* --- セクションごとのテーマカラー --- */

.otb-course {
  position: relative;
}

.otb-course--tsunoshima {
  --otb-accent: var(--otb-sky-deep);
  --otb-lead-color: var(--otb-ink);
  --otb-body-color: var(--otb-ink);
  --otb-sub-color: #5e7580;                 /* 行程表の時刻・注記（グレー寄りに調整） */
  --otb-infobox-bg: #fff;
  background: linear-gradient(180deg, var(--otb-sky) 0%, var(--otb-paper) 100%);
}

.otb-course--kanmon {
  --otb-accent: var(--otb-kanmon-accent);
  --otb-lead-color: var(--otb-kanmon-accent);
  --otb-body-color: var(--otb-kanmon-text);
  --otb-sub-color: var(--otb-kanmon-accent); /* 行程表の時刻・注記 */
  --otb-infobox-bg: rgba(255, 255, 255, 0.5);
  background: linear-gradient(180deg, var(--otb-beige) 0%, var(--otb-beige-deep) 100%);
  color: var(--otb-kanmon-text);
}

/* --- 共通パーツ --- */

.otb-intro__text {
  font-weight: 500;
  line-height: 1.75;
}

.otb-chip {
  display: block;
  width: 10em;
  box-sizing: border-boxl;
  background: var(--otb-accent);
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.08em;
  border-radius: 999px;
}

.otb-page h2.otb-heading {
  font-weight: 900;
  color: var(--otb-accent);
  letter-spacing: 0.01em;
  line-height: 1.4;
}

.otb-lead {
  font-weight: 700;
  line-height: 1.6;
  color: var(--otb-lead-color);
}

.otb-body {
  line-height: 1.9;
  color: var(--otb-body-color);
}

.otb-infobox {
  background: var(--otb-infobox-bg);
  border: 1px solid var(--otb-accent);
  /*border-left: 6px solid var(--otb-accent);*/
}

.otb-infobox__label {
  margin-top: 0;
}

.otb-infobox__text {
  line-height: 1.8;
  color: var(--otb-body-color);
}

.otb-label {
  font-weight: 700;
  color: var(--otb-accent);
}

.otb-tag {
  display: inline-block;
  background: var(--otb-accent);
  color: #fff;
  font-weight: 700;
}

/* --- 行程表（タイムライン） --- */

.otb-timeline {
  display: flex;
  align-items: stretch;
  background: #fff;
  border: 1px solid var(--otb-sky);
}

.otb-timeline__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-shrink: 0;
}

.otb-timeline__dot {
  border-radius: 50%;
  background: var(--otb-accent);
}

.otb-timeline__name {
  font-weight: 700;
  line-height: 1.4;
  color: var(--otb-body-color);
}

.otb-timeline__time {
  color: var(--otb-sub-color);
}

.otb-timeline__arrow {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  color: var(--otb-accent);
}

.otb-note {
  color: var(--otb-sub-color);
  line-height: 1.7;
}

/* 文頭記号（※・●）のぶら下げインデント: 折り返し行は記号の後ろに揃える */
.otb-page .otb-note,
.otb-page .otb-perk__text,
.otb-page .otb-perk__note,
.otb-page .otb-card__note {
  padding-left: 1em;
  text-indent: -1em;
}

/* --- 運行時刻表 --- */

.otb-ttwrap {
  overflow-x: auto;
}

.otb-tt {
  display: grid;
  background: #fff;
  overflow: hidden;
}

.otb-tt__head {
  background: var(--otb-accent);
  color: #fff;
  font-weight: 700;
  text-align: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.otb-tt__label {
  background: #ebf3f6;
  color: var(--otb-body-color);
  font-weight: 700;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.3;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.otb-tt__cell {
  position: relative;
  color: var(--otb-body-color);
  text-align: center;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
}

.otb-tt__cell--arr {
  background: #f4f9fb;
}

/* 矢印はセル境界線上（隣の時刻とのちょうど中間）に配置 */
.otb-tt__arrow {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(50%, -50%);
  z-index: 1;
  line-height: 1;
  color: var(--otb-accent);
  font-weight: 700;
}

.otb-tt__cell--arr .otb-tt__arrow {
  right: auto;
  left: 0;
  transform: translate(-50%, -50%);
}

/* --- 限定特典ボックス --- */

.otb-perk {
  background: var(--otb-coral);
  color: #fff;
}

.otb-perk__heading {
  font-weight: 900;
}

.otb-perk__text {
  font-weight: 700;
}

.otb-perk__note {
  color: rgba(255, 255, 255, 0.85);
}

/* --- 旅行商品のご案内（COMING SOON） --- */

.otb-coming {
  background: var(--otb-paper);
}

.otb-coming__bar {
  background: var(--otb-navy-dark);
  color: #fff;
  text-align: center;
  font-weight: 700;
}

.otb-coming__box {
  border: 2px dashed var(--otb-sky-deep);
  text-align: center;
  background: #fff;
}

.otb-coming__text {
  font-weight: 900;
  letter-spacing: 0.08em;
  color: var(--otb-navy-dark);
}

/* --- 見どころ／付近の観光情報カード --- */

.otb-mheading {
  font-weight: 900;
  color: var(--otb-accent);
  text-align: center;
}

.otb-cardgrid {
  display: grid;
}

.otb-card {
  background: #fff;
  border: 1px solid var(--otb-sky);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.otb-card__img {
  width: 100%;
  aspect-ratio: 4 / 3;
  background: #eef4f6;
}

.otb-card__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.otb-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.otb-card__title {
  font-weight: 700;
  color: var(--otb-accent);
  border-bottom: 2px solid var(--otb-sky);
}

.otb-card__text {
  line-height: 1.85;
  color: var(--otb-body-color);
}

.otb-card__note {
  color: var(--otb-sub-color);
}

/* 関門（ベージュ）配色 */
.otb-course--kanmon .otb-card {
  background: rgba(255, 255, 255, 0.55);
  border-color: var(--otb-kanmon-accent);
}

.otb-course--kanmon .otb-card__img {
  background: rgba(255, 255, 255, 0.35);
}

.otb-course--kanmon .otb-card__title {
  border-bottom-color: var(--otb-kanmon-accent);
}

/* --- 旅行商品ラインナップ --- */

.otb-lineup-section {
  --otb-orange: #ea5514;
  background: var(--otb-paper);
}

.otb-lineup-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--otb-navy-dark);
  font-weight: 900;
  line-height: 1.4;
  text-align: center;
}

.otb-lineup-heading::before,
.otb-lineup-heading::after {
  content: "";
  height: 2px;
  background: var(--otb-navy-dark);
}

.otb-lineup-heading__em {
  color: var(--otb-orange);
}

.otb-lineup-card {
  position: relative;
  background: #fff;
  /*background: #f4f4f2;*/
  border: 1px solid var(--otb-sky-deep);
  display: flex;
}

.otb-lineup-card__media {
  overflow: hidden;
  background: #eaeaea;
  border-radius: 8px;
  aspect-ratio: 4 / 3;
}

.otb-lineup-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.otb-lineup-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}

.otb-lineup-card__title {
  font-weight: 900;
  color: var(--otb-navy-dark);
  line-height: 1.5;
}

.otb-lineup-card__text {
  color: #333;
  line-height: 1.8;
}

.otb-page a.otb-lineup-cta {
  position: relative;
  display: block;
  margin-top: auto;
  background: var(--otb-navy-dark);
  color: #fff;
  text-align: center;
  font-weight: 700;
  border-radius: 6px;
}
.otb-page span.otb-lineup-ctc {
  position: relative;
  display: block;
  margin-top: auto;
  background: #aaa;
  color: #fff;
  text-align: center;
  font-weight: 700;
  border-radius: 6px;
}

.otb-lineup-cta::after,
.otb-lineup-ctc::after {
  content: "\203A";
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
  font-weight: 400;
}

/* 特別プラン: バッジ＋サブ見出しバー */
.otb-lineup-badge {
  background: var(--otb-orange);
  color: #fff;
  font-weight: 700;
  text-align: center;
  line-height: 1.35;
  z-index: 2;
}

.otb-lineup-bar {
  background: #BCCAEF;
  /*border: 1px solid var(--otb-navy-dark);*/
  border-radius: 6px;
  /*color: var(--otb-navy-dark);*/
  color: #231815;
  font-weight: 700;
  text-align: center;
}



/*759px以下*/
@media screen and (max-width: 759.9px) {
.spnone{display:none;}
#dirPathBlock,
#anchorLinkBlock {
    font-size: 12px;
    margin: 1%;
}
main h1 {
	font-size: 12px;
	margin: 0 1%;
}
.inner {
	width: 98%;
	margin: 0 1%;
	padding: 5% 0;
}

/*news*/
#newsImportant{
	margin: 5px;
	display:flex;
	font-size: 11px;
}
#newsImportant dt{
	width: 72px;
    height: fit-content;
	background: #e62d2d;
	color: #FFF;
	text-align: center;
	border-radius: 3px;
	margin-top: 2px;
    padding: 3px 0;
}
#newsImportant dd{
	width: 100%;
	padding: 0 10px;
}
#newsImportant li{
	padding: 5px 3px 5px 12px;
	position: relative;
}
#newsImportant li:nth-of-type(n+2){border-top: 1px dotted #ccc;}
#newsImportant li:before{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 6px solid #555555;
	border-right: 0;
    position: absolute;
	top: 7px;
	left: 0;
}

/* ------------------------------------------
	title
------------------------------------------ */
#title {
display: block;
margin: 0;
padding: 0;
}
#title img {
width: 100%;
}

  .otb-inner {
    max-width: 100%;
    padding: 0 20px;
  }

  .otb-intro {
    padding: 29px 0 17px;
  }

  .otb-intro__text {
    font-size: 16px;
    text-align: center;
  }

  .otb-intro__pic {
	width: 100%;
	margin: 0 auto 0;
  }
  .otb-intro__pic img {
	display: block;
	width: 70%;
	margin-top: 15px;
  }
/* 1枚目：左寄せ */
.otb-intro__pic img:nth-child(1) {
  margin-left: 0;
  margin-right: auto;
}

/* 2枚目：右寄せ */
.otb-intro__pic img:nth-child(2) {
  margin-left: auto;
  margin-right: 0;
}

  .otb-course {
    padding: 40px 0;
  }

  .otb-page p.otb-chip {
    font-size: 11px;
    padding: 4px 12px;
    margin-bottom: 10px;
  }

  .otb-page h2.otb-heading {
    font-size: 24px;
    margin-bottom: 12px;
  }

  .otb-lead {
    font-size: 16px;
    margin-bottom: 13px;
  }

  .otb-body {
    font-size: 13px;
    margin-bottom: 20px;
  }

  .otb-infobox {
    border-radius: 4px;
    padding: 12px 16px;
    margin-bottom: 17px;
  }

  .otb-infobox__text {
    font-size: 15px;
  }

  .otb-label {
    font-size: 16px;
    margin: 14px 0 7px;
  }

  .otb-label.otb-infobox__label {
    margin: 0 0 7px;
  }

  .otb-schedule {
    margin-bottom: 20px;
  }

  .otb-schedule--kanmon {
    margin-bottom: 14px;
  }

  .otb-tag {
    font-size: 13px;
    padding: 3px 10px;
    border-radius: 3px;
    margin-bottom: 9px;
  }

  .otb-timeline {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 4px;
    border-radius: 7px;
    padding: 13px;
  }

  .otb-timeline__step {
    min-width: 69px;
    padding: 3px 4px;
  }

  .otb-timeline__dot {
    width: 7px;
    height: 7px;
    margin-bottom: 4px;
  }

  .otb-timeline__name {
    font-size: 14px;
  }

  .otb-timeline__time {
    font-size: 13px;
    margin-top: 1px;
  }

  .otb-timeline__arrow {
    font-size: 13px;
    padding: 0 1px;
  }

  .otb-note {
    font-size: 13px;
    margin-top: 7px;
  }

  .otb-ttwrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 14px;
    border-radius: 6px;
  }

  .otb-tt {
    grid-template-columns: minmax(79px, 94px) repeat(6, minmax(63px, 1fr));
    min-width: 547px;
    border-radius: 6px;
  }

  .otb-tt__head {
    font-size: 15px;
    padding: 6px 4px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .otb-tt__label {
    font-size: 13px;
    padding: 6px 4px;
  }

  .otb-tt__cell {
    font-size: 14px;
    padding: 6px 3px;
  }

  .otb-tt__arrow {
    font-size: 11px;
  }

  .otb-perk {
    border-radius: 7px;
    padding: 14px 17px;
    margin-top: 9px;
  }

  .otb-perk__heading {
    font-size: 15px;
    margin-bottom: 7px;
  }

  .otb-perk__text {
    font-size: 14px;
    margin-bottom: 4px;
  }

  .otb-perk__note {
    font-size: 13px;
    margin-top: 6px;
  }

  .otb-coming {
    padding: 40px 0 52px;
  }

  .otb-coming__bar {
    font-size: 15px;
    padding: 9px 5px;
    margin-bottom: 14px;
    border-radius: 3px;
  }

  .otb-coming__box {
    border-radius: 7px;
    padding: 43px 0;
  }

  .otb-coming__text {
    font-size: 22px;
  }

  .otb-mheading {
    font-size: 19px;
    margin: 32px 0 16px;
  }

  .otb-cardgrid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .otb-card {
    border-radius: 7px;
  }

  .otb-card__body {
    padding: 14px 15px 16px;
    gap: 8px;
  }

  .otb-card__title {
    font-size: 16px;
    padding-bottom: 7px;
  }

  .otb-card__text {
    font-size: 13px;
  }

  .otb-card__note {
    font-size: 12px;
  }

  .otb-lineup-section {
    padding: 48px 0;
  }

  .otb-lineup-heading {
    gap: 10px;
    font-size: 17px;
    margin: 28px 0 16px;
  }

  .otb-lineup-heading::before,
  .otb-lineup-heading::after {
    flex: 0 0 18px;
  }

  .otb-lineup-card {
    flex-direction: column;
    gap: 12px;
    padding: 14px;
    border-radius: 10px;
    margin-bottom: 18px;
  }

  .otb-lineup-card__body {
    gap: 10px;
  }

  .otb-lineup-card__title {
    font-size: 16px;
    text-align: center;
  }

  .otb-lineup-card__text {
    font-size: 13px;
  }

  .otb-page a.otb-lineup-cta,
  .otb-page span.otb-lineup-ctc {
    padding: 12px 34px;
    font-size: 14px;
  }
  .otb-page span.otb-lineup-ctc {
    font-size: 16px;
  }

  .otb-lineup-cta::after,
  .otb-lineup-ctc::after {
    font-size: 18px;
    right: 16px;
  }
  .otb-lineup-ctc::after {
    font-size: 20px;
  }

  .otb-lineup-badge {
    align-self: center;
    border-radius: 8px;
    padding: 6px 18px;
    font-size: 14px;
    margin-bottom: 2px;
  }

  .otb-lineup-bar {
    padding: 8px 12px;
    font-size: 14px;
  }
}

/*760px以上*/
@media screen and (min-width: 760px),print {
.pcnone{display:none;}
#dirPathBlock,
#anchorLinkBlock{
	width: 100%;
	max-width:1080px;
	min-width:760px;
	margin: auto;
}

/*panlist&back*/
#dirPathBlock,
#anchorLinkBlock {
	width: 100%;
	margin: 0 auto;
	display: block;
	font-size: 12px;
}
main h1 {
	font-size: 12px;
    width: 100%;
	max-width:1080px;
	min-width:760px;
    margin: 0 auto 5px;
}
.inner {
	width: 100%;
	max-width:1080px;
	min-width:760px;
	margin: auto;
	padding: 25px 0;
}

/*news*/
#newsImportant{
	width: 100%;
	max-width:1080px;
	min-width:760px;
	margin: 5px auto;
	display: flex;
	font-size: 12px;
}
#newsImportant dt{
	width: 72px;
    height: fit-content;
	background: #e62d2d;
	color: #FFF;
	text-align: center;
	border-radius: 3px;
	margin-top: 1px;
	padding: 3px 0;
}
#newsImportant dd{
	width: 100%;
	padding: 0 10px;
}
#newsImportant li{
	padding: 3px 3px 3px 12px;
	position: relative;
}
#newsImportant li:nth-of-type(n+2){border-top: 1px dotted #ccc;}
#newsImportant li:before{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 6px solid #555;
	border-right: 0;
    position: absolute;
	top: 7px;
	left: 0;
}

/* ------------------------------------------
	title
------------------------------------------ */
#title{
margin: 0;
padding: 0;
text-align: center;
}
#title img {
width: 100%;
margin: 0;
padding: 0;
text-align: center;
}

  .otb-inner {
    max-width: 1080px;
    padding: 0 56px;
  }

  .otb-intro {
    padding: 40px 0 24px;
  }

  .otb-intro__text {
    font-size: 22px;
    text-align: center;
  }

  .otb-intro__pic {
	display: flex;
	justify-content: space-between;
	width: 85%;
	margin: 15px auto 0;
  }
  .otb-intro__pic img {
	display: block;
	width: 45%;
  }

  .otb-course {
    padding: 56px 0;
  }

  .otb-page p.otb-chip {
    font-size: 15px;
    padding: 6px 16px;
    margin-bottom: 14px;
	text-align: center;
  }

  .otb-page h2.otb-heading {
    font-size: 34px;
    margin-bottom: 16px;
  }

  .otb-lead {
    font-size: 22px;
    margin-bottom: 18px;
  }

  .otb-body {
    font-size: 17px;
    margin-bottom: 28px;
  }

  .otb-infobox {
    border-radius: 6px;
    padding: 16px 22px;
    margin-bottom: 24px;
  }

  .otb-infobox__text {
    font-size: 17px;
  }

  .otb-label {
    font-size: 18px;
    margin: 20px 0 10px;
  }
  .otb-label.otb-infobox__label {
    margin: 0 0 10px;
  }

  .otb-schedule {
    margin-bottom: 28px;
  }

  .otb-schedule--kanmon {
    margin-bottom: 20px;
  }

  .otb-tag {
    font-size: 16px;
    padding: 4px 14px;
    border-radius: 4px;
    margin-bottom: 12px;
  }

  .otb-timeline {
    flex-wrap: wrap;
    gap: 6px;
    border-radius: 10px;
    padding: 18px;
  }

  .otb-timeline__step {
    min-width: 96px;
    padding: 4px 6px;
  }

  .otb-timeline__dot {
    width: 10px;
    height: 10px;
    margin-bottom: 6px;
  }

  .otb-timeline__name {
    font-size: 14.5px;
  }

  .otb-timeline__time {
    font-size: 13px;
    margin-top: 2px;
  }

  .otb-timeline__arrow {
    font-size: 16px;
    padding: 0 2px;
  }

  .otb-note {
    font-size: 14px;
    margin-top: 5px;
  }

  .otb-ttwrap {
    margin-bottom: 20px;
    border-radius: 8px;
  }

  .otb-tt {
    grid-template-columns: minmax(110px, 130px) repeat(6, minmax(88px, 1fr));
    min-width: 100%;
    border-radius: 8px;
  }

  .otb-tt__head {
    font-size: 15px;
    padding: 8px 6px;
  }

  .otb-tt__label {
    font-size: 14px;
    padding: 8px 6px;
  }

  .otb-tt__cell {
    font-size: 15px;
    padding: 8px 4px;
  }

  .otb-tt__arrow {
    font-size: 13px;
  }

  .otb-perk {
    border-radius: 10px;
    padding: 20px 24px;
    margin-top: 12px;
  }

  .otb-perk__heading {
    font-size: 19px;
    margin-bottom: 10px;
  }

  .otb-perk__text {
    font-size: 16px;
    margin-bottom: 6px;
  }

  .otb-perk__note {
    font-size: 13px;
    margin-top: 8px;
  }

  .otb-coming {
    padding: 56px 0 72px;
  }

  .otb-coming__bar {
    font-size: 18px;
    padding: 12px 0;
    margin-bottom: 20px;
    border-radius: 4px;
  }

  .otb-coming__box {
    border-radius: 10px;
    padding: 60px 0;
  }

  .otb-coming__text {
    font-size: 30px;
  }

  .otb-mheading {
    font-size: 26px;
    margin: 48px 0 24px;
  }

  .otb-cardgrid {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }

  .otb-card {
    border-radius: 10px;
  }

  .otb-card__body {
    padding: 18px 20px 22px;
    gap: 10px;
  }

  .otb-card__title {
    font-size: 19px;
    padding-bottom: 8px;
  }

  .otb-card__text {
    font-size: 14.5px;
  }

  .otb-card__note {
    font-size: 12.5px;
  }

  .otb-lineup-section {
    padding: 64px 0;
  }

  .otb-lineup-heading {
    gap: 18px;
    font-size: 26px;
    margin: 40px 0 24px;
  }

  .otb-lineup-heading::before,
  .otb-lineup-heading::after {
    flex: 0 0 44px;
  }

  .otb-lineup-card {
    flex-direction: row-reverse;
    align-items: stretch;
    gap: 24px;
    padding: 24px;
    border-radius: 12px;
    margin-bottom: 24px;
  }

  .otb-lineup-card__media {
    flex: 0 0 40%;
    align-self: flex-start;
  }

  .otb-lineup-card__body {
    gap: 14px;
  }

  .otb-lineup-card__title {
    font-size: 21px;
  }

  .otb-lineup-card__text {
    font-size: 15px;
  }

  .otb-page a.otb-lineup-cta,
  .otb-page span.otb-lineup-ctc {
    padding: 14px 44px;
    font-size: 16px;
  }
  .otb-page span.otb-lineup-ctc {
    font-size: 18px;
  }

  .otb-lineup-cta::after,
  .otb-lineup-ctc::after {
    font-size: 20px;
    right: 20px;
  }
  .otb-lineup-ctc::after {
    font-size: 22px;
  }

  .otb-lineup-badge {
    position: absolute;
    top: -12px;
    left: -12px;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
  }

  .otb-lineup-bar {
    margin-left: 78px;
    padding: 9px 16px;
    font-size: 16px;
  }



}




@media screen and (min-width: 1200px) {

  .otb-course::before,
  .otb-course::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 0;
    width: calc((100% - 1080px) / 2);
    background-repeat: repeat-y;
    background-size: 110px auto;
    pointer-events: none;
  }

  .otb-course::before { left: 0; background-position: left top; }
  .otb-course::after { right: 0; background-position: right top; }

  .otb-course--tsunoshima::before,
  .otb-course--tsunoshima::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22110%22 height=%22320%22 viewBox=%220 0 110 320%22%3E%3Cpath d=%22M25.0,0 L26.4,8 L27.8,16 L29.1,24 L30.3,32 L31.4,40 L32.3,48 L33.0,56 L33.6,64 L33.9,72 L34.0,80 L33.9,88 L33.6,96 L33.0,104 L32.3,112 L31.4,120 L30.3,128 L29.1,136 L27.8,144 L26.4,152 L25.0,160 L23.6,168 L22.2,176 L20.9,184 L19.7,192 L18.6,200 L17.7,208 L17.0,216 L16.4,224 L16.1,232 L16.0,240 L16.1,248 L16.4,256 L17.0,264 L17.7,272 L18.6,280 L19.7,288 L20.9,296 L22.2,304 L23.6,312 L25.0,320%22 fill=%22none%22 stroke=%22%2354adc1%22 stroke-opacity=%220.32%22 stroke-width=%221.3%22 stroke-linecap=%22round%22/%3E%3Cpath d=%22M62.8,0 L62.0,8 L61.0,16 L59.9,24 L58.6,32 L57.3,40 L55.9,48 L54.5,56 L53.1,64 L51.7,72 L50.5,80 L49.3,88 L48.3,96 L47.4,104 L46.8,112 L46.3,120 L46.0,128 L46.0,136 L46.2,144 L46.6,152 L47.2,160 L48.0,168 L49.0,176 L50.1,184 L51.4,192 L52.7,200 L54.1,208 L55.5,216 L56.9,224 L58.3,232 L59.5,240 L60.7,248 L61.7,256 L62.6,264 L63.2,272 L63.7,280 L64.0,288 L64.0,296 L63.8,304 L63.4,312 L62.8,320%22 fill=%22none%22 stroke=%22%2354adc1%22 stroke-opacity=%220.32%22 stroke-width=%221.3%22 stroke-linecap=%22round%22/%3E%3Cpath d=%22M77.2,0 L76.6,8 L76.2,16 L76.0,24 L76.1,32 L76.3,40 L76.8,48 L77.5,56 L78.4,64 L79.4,72 L80.6,80 L81.9,88 L83.2,96 L84.6,104 L86.0,112 L87.4,120 L88.8,128 L90.0,136 L91.1,144 L92.1,152 L92.8,160 L93.4,168 L93.8,176 L94.0,184 L93.9,192 L93.7,200 L93.2,208 L92.5,216 L91.6,224 L90.6,232 L89.4,240 L88.1,248 L86.8,256 L85.4,264 L84.0,272 L82.6,280 L81.2,288 L80.0,296 L78.9,304 L77.9,312 L77.2,320%22 fill=%22none%22 stroke=%22%2354adc1%22 stroke-opacity=%220.32%22 stroke-width=%221.3%22 stroke-linecap=%22round%22/%3E%3C/svg%3E");
  }

  .otb-course--kanmon::before,
  .otb-course--kanmon::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22110%22 height=%22320%22 viewBox=%220 0 110 320%22%3E%3Cpath d=%22M25.0,0 L26.4,8 L27.8,16 L29.1,24 L30.3,32 L31.4,40 L32.3,48 L33.0,56 L33.6,64 L33.9,72 L34.0,80 L33.9,88 L33.6,96 L33.0,104 L32.3,112 L31.4,120 L30.3,128 L29.1,136 L27.8,144 L26.4,152 L25.0,160 L23.6,168 L22.2,176 L20.9,184 L19.7,192 L18.6,200 L17.7,208 L17.0,216 L16.4,224 L16.1,232 L16.0,240 L16.1,248 L16.4,256 L17.0,264 L17.7,272 L18.6,280 L19.7,288 L20.9,296 L22.2,304 L23.6,312 L25.0,320%22 fill=%22none%22 stroke=%22%23734a2e%22 stroke-opacity=%220.3%22 stroke-width=%221.3%22 stroke-linecap=%22round%22/%3E%3Cpath d=%22M62.8,0 L62.0,8 L61.0,16 L59.9,24 L58.6,32 L57.3,40 L55.9,48 L54.5,56 L53.1,64 L51.7,72 L50.5,80 L49.3,88 L48.3,96 L47.4,104 L46.8,112 L46.3,120 L46.0,128 L46.0,136 L46.2,144 L46.6,152 L47.2,160 L48.0,168 L49.0,176 L50.1,184 L51.4,192 L52.7,200 L54.1,208 L55.5,216 L56.9,224 L58.3,232 L59.5,240 L60.7,248 L61.7,256 L62.6,264 L63.2,272 L63.7,280 L64.0,288 L64.0,296 L63.8,304 L63.4,312 L62.8,320%22 fill=%22none%22 stroke=%22%23734a2e%22 stroke-opacity=%220.3%22 stroke-width=%221.3%22 stroke-linecap=%22round%22/%3E%3Cpath d=%22M77.2,0 L76.6,8 L76.2,16 L76.0,24 L76.1,32 L76.3,40 L76.8,48 L77.5,56 L78.4,64 L79.4,72 L80.6,80 L81.9,88 L83.2,96 L84.6,104 L86.0,112 L87.4,120 L88.8,128 L90.0,136 L91.1,144 L92.1,152 L92.8,160 L93.4,168 L93.8,176 L94.0,184 L93.9,192 L93.7,200 L93.2,208 L92.5,216 L91.6,224 L90.6,232 L89.4,240 L88.1,248 L86.8,256 L85.4,264 L84.0,272 L82.6,280 L81.2,288 L80.0,296 L78.9,304 L77.9,312 L77.2,320%22 fill=%22none%22 stroke=%22%23734a2e%22 stroke-opacity=%220.3%22 stroke-width=%221.3%22 stroke-linecap=%22round%22/%3E%3C/svg%3E");
  }
}