* {
	line-height: normal;
}


#system {
	padding:0px;
	margin: 20px auto 10px auto;
	width:98%;
	min-height:640px;
}

#toparea{
	text-align:left;
	font-size:14px;
	line-height:18px;
	color:#000;
	margin: 0px auto 20px auto;
}

.shopimg{
	background: url(system/sekitei-shop.png) 0px -25px;
	background-repeat: no-repeat;
	background-position: right;
	width:96%;
	margin: 0px auto 0px auto;
}

.shop{
	/*text-shadow: 0 1px 1px #000;*/
	width:100%;
	text-align:left;
	color:#fff;
	margin: 0px auto 0px 0px;
}
.shop .box{
	font-size:5.2vw;
	color: #133b7f;
	margin: 0px auto 10px auto;
	border-bottom:1px #133b7f dashed;
}
.shop .box .txt{
	font-size:4.2vw;
	color:#333;
}
.pricetop{
	background: url(system/systembg_01.png) no-repeat top center;
	width:100%;
	margin: 0px 0px 0px 0px;
  -webkit-background-size: 100% auto;
  -moz-background-size: 100% auto;
  -ms-background-size: 100% auto;
  -o-background-size: 100% auto;
  background-size: 100% auto;
}
.pricebottom{
	background: url(system/systembg_02.png) no-repeat bottom center;
	width:100%;
	margin: 0px 0px 0px 0px;
  -webkit-background-size: 100% auto;
  -moz-background-size: 100% auto;
  -ms-background-size: 100% auto;
  -o-background-size: 100% auto;
  background-size: 100% auto;
}
.pricetop .pricebottom .pricebox{
	width:86%;
	margin: 10.2vw auto 36px auto;
}

.notice01 {
	margin-top:0;
	padding: 0 4px; 
	font-size: 3.75vw;
	font-weight:bold;
	color: #c00;
}



.priceboxL{
	float:left;
	width:30%;
	margin: 0px 0px 0px 0px;
	text-align: left;
}
.priceboxL .type{
	font-weight: bold;
	margin: 6.4vw 0px 0px 0px;
	text-align: left;
	font-size: 4.4vw;
	line-height:6.4vw;
	color: #000;
	height:6.4vw;
}
.titlesub2{
	font-weight: bold;
	width:270px;
	margin: 0px 0px 0px px;
	text-align: left;
	font-size: 14px;
	line-height:18px;
	color: #000;
}
.titlesub3{
	font-weight: bold;
	width:270px;
	margin: 0px 0px 0px px;
	text-align: left;
	font-size: 14px;
	line-height:18px;
	color: #086A08;
}
.titlesub{
	width:270px;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	text-align: center;
	font-size: 20px;
	color: #C69A44;
}

.priceboxR{
	float:right;
	width:100%;
	margin: 0px 0px 2vw 0px;
	text-align: right;
}
.priceboxR .min{
	float:left;
	width:30%;
	margin: 2.2vw 0px 0px 0px;
	text-align: right;
	font-size: 12.2vw;
	color: #000;
}
.priceboxR .cash{
	float:right;
	width:70%;
	margin: 2.2vw 0px 0px 0px;
	text-align: right;
	font-size: 12.2vw;
	color: #000;
}
.priceboxR .min .mark,
.priceboxR .cash .mark{
	font-size: 4.2vw;
}

.c60{
	float:right;
	width:200px;
	height:18px;
	margin: -5px -8px 0px 0px;
	text-align: center;
	font-size: 12px;
	line-height: 18px;
	color: #c00;
	background: #eee;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}
.priceSS{
	width:90%;
	height:12.4vw;
	margin: 0vw auto 0px auto;
	text-align: center;
	font-size: 5.2vw;
	line-height: 6.2vw;
	color: #2f1903;
	background: #e0c639;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

.net{
	float:right;
	padding: 2px 4px 2px 4px;
	width:260px;
	margin: -5px auto 0px auto;
	text-align: left;
	font-size: 12px;
	line-height: 16px;
	color: #eee;
	background: #666;
}
.pricebt{
	float:left;
	width:80px;
	height:40px;
	padding: 10px 0px 0px 0px;
	margin:10px auto 0px 5px;
	text-align: center;
	font-size: 12px;
	line-height: 16px;
	border: 2px solid #3dc507;
	color: #fff;
	background: #1a5004;
	background: -moz-linear-gradient(top, #589e3c,#589e3c 50%,#1a5004 50%,#1a5004);
	background: -webkit-gradient(linear, left top, left bottom, from(#589e3c),color-stop(0.5, #589e3c),color-stop(0.5, #1a5004),to(#1a5004));
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}
.pricebt .link{
	color: #fff;
	display:block;
	width:80px;
	height:50px;
}

.pricebt  a.link:LINK,
.pricebt  a.link:VISITED,
.pricebt  a.link:ACTIVE,
.pricebt  a.link:HOVER {text-decoration: none;}







.dashed{
	width:230px;
	border-bottom:1px #999 dashed;
	margin: 0px auto 10px auto;
	clear:both;
	display:block;
	height:10px;
	font-size:1px;
	line-height:1px;
}








#ekimae {
	background:#fff;
	padding:0px;
	margin: 20px auto 10px auto;
	width:98%;
	border:1px solid #999;
	-webkit-box-shadow: 0px 1px 2px rgba(0,0,0,.2);
	-moz-box-shadow: 0px 1px 2px rgba(0,0,0,.2);
	box-shadow: 0px 1px 2px rgba(0,0,0,.2);
	-webkit-border-radius:4px;
	-moz-border-radius:4px;
	border-radius:4px;
	text-align:left;
}
#ekimae .title {
	text-align:center;
	background:#666;
	padding:0px;
	margin: 0px 0px 0px 0px;
	color:#fff;
	font-size: 6.2vw;
	line-height:8.2vw;
}



@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap');
 
  .price-section {
    font-family: 'A-OTF リュウミン Pro', 'Ryumin', 'A-OTF-RyuminPro-L', 'Yu Mincho', 'YuMincho', '游明朝', 'Hiragino Mincho ProN', 'HiraMinProN-W3', 'Noto Serif JP', serif;
    width: 100%;
    max-width: 650px;
    margin: 0 auto;
    padding: clamp(30px, 8vw, 10px) clamp(20px, 6vw, 48px) clamp(24px, 8vw, 5px);
    box-sizing: border-box;
    background-image: url('../../system/img/price_bg.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
  }

  .price-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(245, 238, 228, 0.4);
  }

  .price-section * {
    box-sizing: border-box;
  }

  /* ---- タイトル ---- */
  .ps-title {
    font-size: 42px;
    font-weight: bold;
    color: #2a2a2a;
    text-align: center;
    letter-spacing: 0.15em;
    margin: 0 0 10px;
    line-height: 1.2;
    position: relative;
  }

  /* ---- コースバッジ ---- */
  .ps-badge {
    display: block;
    width: fit-content;
    margin: 0 auto 14px;
    background-color: #1e2d5a;
    color: #ffffff;
    font-size: clamp(14px, 3.5vw, 18px);
    letter-spacing: 0.2em;
    padding: 7px 32px;
    border-radius: 4px;
    font-weight: 400;
    position: relative;
  }

  /* ---- サブテキスト ---- */
  .ps-sub {
    text-align: center;
    font-size: 18px;
	line-height: 1.2;
    color: #5a5045;
    letter-spacing: 0.1em;
    margin: 0 0 12px 0;
    position: relative;
  }

  /* ========================================
     カードブロック（タグが上端に重なる）
  ======================================== */
  .ps-block {
    position: relative;
    margin-bottom: clamp(16px, 4vw, 5px);
  }

  .ps-block:last-of-type {
    margin-bottom: 10px;
  }

  /* 時間帯タグ：カード上端に半分かかる */
  .ps-time-tag {
    display: block;
    width:280px;
    margin: 0 auto;
    background: rgba(185, 173, 155, 0.55);
    color: #4a4035;
    font-size: 20px;
    letter-spacing: 0.15em;
    padding: 5px 20px;
    border-radius: 3px;
    position: relative;
	text-align: center;
    z-index: 2;
    /* タグの高さの半分だけ下にずらしてカードに重ねる */
    transform: translateY(50%);
  }

  /* 白いカード本体 */
  .ps-card {
    background: rgba(255, 255, 255, 0.82);
    border-radius: 6px;
    padding: clamp(24px, 5vw, 32px) clamp(16px, 5vw, 40px) clamp(5px, 4vw, 10px);
    position: relative;
    z-index: 1;
    width:94%;
    margin:0 auto;
  }

  /* タグ付きカードはpaddingTopを増やしてタグ分の重なりを吸収 */
  .ps-block--tagged .ps-card {
    padding-top: clamp(28px, 6vw, 38px);
  }

  /* ---- 料金行 ---- */
  .ps-row {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 2px;
    padding: clamp(10px, 2.2vw, 8px) 0;
  }

  .ps-row + .ps-row {
    border-top: 1px solid rgba(180, 165, 145, 0.3);
  }

  .ps-duration {
    font-size: 32px;
	font-weight: bold;
    color: #1e2d5a;
    letter-spacing: 0.03em;
    min-width: clamp(64px, 15vw, 88px);
    text-align: right;
  }

  .ps-duration span {
    font-size: clamp(13px, 3vw, 17px);
  }

  .ps-label {
    font-size: 16px;
	font-weight: bold;
    color: #2a2a2a;
    letter-spacing: 0.05em;
    white-space: nowrap;
    line-height: 1;
    align-self: flex-end;
    padding-bottom: 12px;
  }

  .ps-amount {
    font-size: 39px;
    font-weight: 700;
    color: #1e2d5a;
    letter-spacing: 0.02em;
    line-height: 1;
  }

  .ps-yen {
    font-size: 22px;
	font-weight: bold;
    color: #1e2d5a;
    font-weight: 400;
    align-self: flex-end;
    padding-bottom:6px;
  }

  


  .yasuragi-section {
    font-family: 'A-OTF リュウミン Pro', 'Ryumin', 'A-OTF-RyuminPro-L', 'Yu Mincho', 'YuMincho', '游明朝', 'Hiragino Mincho ProN', 'HiraMinProN-W3', 'Noto Serif JP', serif;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    padding: clamp(30px, 8vw, 10px) clamp(20px, 6vw, 48px) clamp(24px, 8vw, 5px);
    box-sizing: border-box;	
	background-image: url('../../system/img/yasuragi_price_bg.png');
	background-color: rgba(255, 255, 255, 0.5); /* 白を40%被せて透過っぽく見せる */
	background-blend-mode: lighten; /* 画像を明るくして馴染ませる */
	background-size: cover;	
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
  }

  .yasuragi-section * {
    box-sizing: border-box;
  }

  /* ---- タイトルエリア ---- */
  .ys-title-wrap {
    text-align: center;
    margin-bottom: clamp(28px, 6vw, 2px);
    position: relative;
  }

  .ys-script {
    font-family: 'Kunstler Script', 'KunstlerScript', 'Great Vibes', cursive;
    font-size: clamp(24px, 4.2vw, 24px);
    color: #3a5a2a;
    letter-spacing: 0.04em;
    display: block;
    margin-bottom: 2px;
    font-weight: 400;
    font-style: italic;
  }

  .ys-title-ja {
    font-size: 36px;
    color: #1e2d10;
    letter-spacing: 0.15em;
    font-weight: 400;
    margin: 0;
    line-height: 1.2;
  }
  .ys-title-ja span{
	font-size: 30px;
  }

  /* ========================================
     カードブロック共通（タグがカード上端に重なる）
  ======================================== */
  .ys-block {
    position: relative;
    margin-bottom: clamp(16px, 4vw, 5px);
  }

  .ys-block:last-of-type {
    margin-bottom: 10px;
  }

  /* セクションタグ：カード上端に半分かかる */
  .ys-tag {
    display: block;
    width: fit-content;
    margin: 0 auto;
    background: rgba(185, 175, 158, 0.55);
    color: #2a2a2a;
    font-size: clamp(18px, 4.5vw, 26px);
    letter-spacing: 0.2em;
    padding: 7px 36px;
    border-radius: 4px;
    position: relative;
    z-index: 2;
    transform: translateY(50%);
    font-weight: 400;
  }

  /* 2輪車コースタグは少し小さめ */
  .ys-tag--sm {
    font-size: 24px;
    letter-spacing: 0.15em;
    padding: 7px 28px;
    background: rgba(225, 50, 175, 0.45);
  }

  /* カード本体 */
  .ys-card {
    border-radius: 6px;
    padding: clamp(24px, 5vw, 32px) clamp(16px, 5vw, 40px) clamp(5px, 4vw, 10px);
    position: relative;
    z-index: 1;
  }

  .ys-card--white {
    background: rgba(255, 255, 255, 0.82);
  }

  .ys-card--gray {
    background: rgba(247, 129, 226, 0.25);
  }

  /* ---- オールタイムラベル ---- */
  .ys-alltime {
    text-align: center;
    font-size: 24px;
    color: #3a3a3a;
    letter-spacing: 0.12em;
    margin: 0 0 6px;
  }
  .ys-alltime_2rin {
    text-align: center;
    font-size: 18px;
    color: #3a3a3a;
    letter-spacing: 0.12em;
    margin: 8px 0 0 0;
  }

  /* ---- 料金行 ---- */
  .ys-row {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 2px;
    padding: clamp(9px, 2vw, 13px) 0;
  }

  .ys-row + .ys-row {
    border-top: 1px solid rgba(180, 165, 145, 0.3);
  }

  .ys-duration {
	font-size: 32px;
    font-weight: bold;
    color: #1e2d5a;
    letter-spacing: 0.03em;
    min-width: clamp(68px, 16vw, 96px);
    text-align: right;
  }

  .ys-duration_2rin {
	font-size: 30px;
    font-weight: bold;
    color: #1e2d5a;
    letter-spacing: 0.03em;
    min-width: clamp(68px, 16vw, 96px);
    text-align: right;
  }

  .ys-duration span,.ys-duration_2rin span {
    font-size: clamp(14px, 3.2vw, 19px);
  }

  .ys-label {
    font-size: 14px;
	font-weight: bold;
    color: #2a2a2a;
    letter-spacing: 0.05em;
    white-space: nowrap;
    line-height: 1;
    align-self: flex-end;
    padding-bottom: 12px;
  }

  .ys-amount {
    font-size: 39px;
    font-weight: 700;
    color: #1e2d5a;
    letter-spacing: 0.02em;
    line-height: 1;
  }

  .ys-amount_2rin {
    font-size: 36px;
    font-weight: 700;
    color: #1e2d5a;
    letter-spacing: 0.02em;
    line-height: 1;
  }
  .ys-yen {
    font-size: 22px;
	font-weight: bold;
    color: #1e2d5a;
    font-weight: 400;
    align-self: flex-end;
    padding-bottom: 6px;
  }

  /* ---- 2輪車コース：会員様以外の小さい行 ---- */
  .ys-row--sm .ys-member-prefix {
    font-size: 14px;
	font-weight: bold;
    color: #2a2a2a;
    white-space: nowrap;
    align-self: flex-end;
    padding-bottom: 8px;
    letter-spacing: 0.05em;
  }

    .ys-row.ys-row--sm {
    gap: 2px;
  }

  .ys-row--sm .ys-duration_2rin {
    font-size: 24px;
    min-width: auto;
  }

  .ys-row--sm .ys-duration_2rin span {
    font-size: clamp(11px, 2.5vw, 14px)!important;
    padding-bottom: 4px!important;
  }

  .ys-row--sm .ys-label {
    font-size: 16px;
    padding-bottom: 9px;
  }

  .ys-row--sm .ys-amount_2rin {
    font-size: 30px;
  }

  .ys-row--sm .ys-yen {
    font-size: clamp(13px, 3.2vw, 19px);
    padding-bottom: 7px;
	margin-left: 0px;
  }

  /* ---- CTAボタン ---- */
  .ys-cta {
    display: block;
    width: 100%;
    margin-top: clamp(20px, 5vw, 32px);
    padding: clamp(14px, 3.5vw, 20px) 24px;
    background-color: #1e2d5a;
    color: #ffffff;
    text-align: center;
    font-size: clamp(16px, 4vw, 22px);
    letter-spacing: 0.15em;
    border-radius: 5px;
    text-decoration: none;
    font-family: inherit;
    font-weight: 400;
    cursor: pointer;
    border: none;
    position: relative;
    transition: opacity 0.2s;
  }
  .ys-cta.ui-link{
	color: #fff;
  }
  .ys-cta.ui-link:hover{
	color: #ffccff;
  }

  .ys-cta:hover {
    opacity: 0.85;
  }
