@charset "utf-8";

/***** contents *****/
.pagettl { padding:.5em; font-size:1.5em; text-align:center; background-color:var(--color-gry1); }

#pan { max-width:1100px; margin:0 auto 1em; font-size:.8em; font-weight:400; }
#pan > ul { padding-block:.75em 1em; display:flex; overflow-x:auto; white-space:nowrap; }
#pan > ul > li + li::before { content:'\03e'; margin-inline:.5em; }

.page-nav { margin-bottom:2em;
  display:grid; grid-template-columns: repeat(2, 1fr); gap:2vw 3vw; }
  .page-nav .btn-basic { width:100%; }
  .page-nav .btn-basic::after { transform:translateY(-40%) rotate(90deg); }

.tab-nav { display: grid; grid-template-columns: repeat(auto-fit,minmax(30%,1fr)); max-width: 870px; margin-inline: auto; border: 1px solid var(--color-base); border-radius: 5px;}
.tab-nav li { min-width: 30%;}
.tab-nav li:not(.current):not(:first-child):not(.current + li) { border-left: 1px solid var(--color-gry2);}
.tab-nav li:first-child a { border-radius: 4px 0 0 4px;}
.tab-nav li:last-child a { border-radius: 0 4px 4px 0;}
.tab-nav li a { display:block; padding:.5em 1em; text-align:center;}
.tab-nav li a:hover { background-color: var(--color-gry1);}
.tab-nav li.current a { color: var(--color-wht); background:var(--color-base); }


/* ページ内リンク */
.local-nav { display: grid; grid-template-columns: repeat(auto-fit,minmax(0,max-content)); justify-content: center; margin-bottom:45px; border-bottom:1px solid var(--color-gry2);}
.local-nav a { position:relative; display:block; padding:.5em 1.9em .7em 1.2em; font-weight:bold; text-decoration:none; }
.local-nav a:before { content:""; position:absolute; top:1em; right:.4em; display:block; width:.6rem; height:.6rem; background: url(../img/common/arrow-down-red.svg) no-repeat center / contain;}
.local-nav a::after { content: ""; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); display: block; width: 100%; height: 2px; background-color: var(--color-sub1); opacity: 0; transition: all .3s;}
.local-nav a:hover { color: var(--color-base);}
.local-nav a:hover::after { opacity: 1;}

/* title(車検・鈑金) */
.ttl-discount { font-size:1.6em; text-align:center; color:var(--color-sub1); font-weight:900; }
.ttl-discount em { font-size:2em; font-weight:900; }
.ttl-discount .num { font-family:Impact,Helvetica,sans-serif; }
.ttl-discount .baloon {
  display:inline-block; margin-bottom:.2em; padding:.2em 2em; font-size:1.1rem;
  color:#fff; font-weight:700; background-color:var(--color-sub3);
  border-radius:1em; position:relative; }
  .ttl-discount .baloon::after {
    content:''; display:block;
    position:absolute; top:100%; left:50%; z-index:1;
    width:.6em; height:.4em; transform:translateX(-50%);
    background-color:var(--color-sub3);
    clip-path: polygon(0 0, 50% 100%, 100% 0);
  }


/* table */
.tbl { width: 100%; border-collapse: separate; border-spacing: 10px;}
.tbl td { border-bottom: 1px solid var(--color-gry1);}
.tbl :where(th,td) { padding-block: .7em .9em; font-size: .95em;}
.tbl th { width:20%; background-color: var(--color-gry1);}
.tbl td { padding-inline: .7em;}
.bg-gry .tbl th, .tbl thead th { color: var(--color-wht); background-color: var(--color-gry4);}

.tbl-data	{ width: 100%; border: 1px solid var(--color-gry4);}
.tbl-data thead { color: var(--color-wht); background-color: var(--color-gry4);}
.tbl-data tbody { font-size: .95em; background-color: var(--color-gry1);}
.tbl-data tbody tr:not(:first-child) { border-bottom: 1px solid var(--color-gry2);}
.tbl-data tbody tr td { padding: 1em .5em;}
.tbl-data tbody tr td:not([rowspan="3"]) { border-right: 1px solid var(--color-gry2);}

/* 買取ページtable */
#kaitori .hikaku { margin-block: 4em 0; }
#kaitori .hikaku .tbl { border-spacing: 2px; }
#kaitori .hikaku .tbl td { border-bottom: 1px solid var(--color-gry1); background-color: var(--color-wht); }
#kaitori .hikaku .tbl thead th { background-color: var(--color-base); }
#kaitori .hikaku .tbl thead th.bg-red { background-color: var(--color-red); }
#kaitori .hikaku .tbl td.bg-red2 { background-color: #ffe8ea; }




/* dl */
.dl-def { display:grid; grid-template-columns:minmax(20%,6em) 1fr; gap:7px 0; }
.dl-def > dt { display:grid; align-items:center; padding:.5em; background-color:var(--color-gry1); }
.dl-def > dd { padding:.5em .7em; border-bottom:1px solid var(--color-gry1); }

/* pagination ページ送り ------------- */
.pagination{ margin:1em 0 30px auto; text-align:center; }
.pagination a, .pagination span { display:inline-block; margin:3px; width:34px; line-height:32px; text-align:center; background-color:#fff; border-radius: 3px; }
.pagination a{ text-decoration:none; background-color:#FFF; border:1px solid var(--color-sub1); }
.pagination a:hover{ background-color:var(--color-gry1); border:1px solid var(--color-sub1); }
.pagination span.current{ color:#FFF; background-color:var(--color-sub1); border:1px solid var(--color-sub1); }
.pagination span.disabled { border:1px solid var(--color-gry2); color:var(--color-gry2); }


/* form */
.date-saturday .ui-state-default, .saturday { color:#0af !important; }
.date-holiday .ui-state-default, .holiday { color:#f55 !important; }

.form-notice { padding:.5em 1em; font-weight:bold; color:#fff; background-color:#f22; }

form .ttl-sec { margin-bottom: 1.4em;}
form .tbl { margin-top: 2em;}
form .tbl th {position: relative;}
form th::after { content: '\4EFB\610F'; position: absolute; top: 50%; right: 1em; transform: translateY(-50%); align-self: center; padding: .3em .5em .4em; font-size: .75em; color: var(--color-wht); line-height: 1; white-space: nowrap; background-color: var(--color-gry3);}
form th.required::after { content: '\5FC5\9808'; color: var(--color-wht); background-color: var(--color-sub1);}
form .confirm th::after { display:none; }

.privacy-txt { margin:2em 0; padding: 1em; color: var(--color-sub1); background-color: var(--color-gry1);}

#privacy .txt { margin:0; text-indent:1em; }
#privacy .houshin { margin-top:0px; }
#privacy .houshin dt {font-weight:bold; }
#privacy .houshin dd { margin-bottom:40px; margin-left:20px; }
.houshin_box { margin-top:20px; }
.houshin_box h4 { margin-bottom:5px; }
#privacy .list li { padding:0.2em 1em; }
#privacy .houshin_box .list li { padding:0.2em 1em; }
#privacy .houshin_box .disc li { padding:0.2em 0em; }


/* 選ばれる理由 */
.dl-reason { border-inline:1px solid var(--color-gry2); }
.dl-reason dt { padding:.75em; font-size:1.1em; border-bottom:1px solid var(--color-gry2); position:relative; cursor:pointer; }
.dl-reason dt.is-open { border-color:var(--color-sub1); }
.dl-reason dt::after { right:.5em; }
.dl-reason dd { display:none; padding:1em; color:var(--color-base); border-bottom:1px solid var(--color-gry2); }

/* 汎用boxリスト */
.box-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 1.2em; }
.box-list.col3 { grid-template-columns: repeat(3,1fr);}
.box-list > li { display: grid; grid-template-rows: subgrid; grid-row: span 2; row-gap: 1em; border: 1px solid var(--color-gry2); border-radius: 6px;}
.box-list.row3 > li { grid-row: span 3;}
.box-list.row4 > li { grid-row: span 4;}
.bg-gry .box-list > li { border-color: #ccc; background-color: var(--color-wht);}
.box-list > li .ttl { padding: .5em; font-size: 1.25em; color: var(--color-wht); text-align: center; background-color: var(--color-base); border-radius: 5px 5px 0 0;}
.box-list > li .ttl ~ * { padding-inline: 1em;}
.box-list > li > :last-child { padding-bottom:1.3rem;}
:where(.box-list,.label-list) .txt { margin-block: unset;}

/* カウントのラベル付き（選ばれる理由・お約束など）リスト */
.label-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 1.2em; padding-left: unset; counter-reset: label-num;}
.label-list.col3 { grid-template-columns: repeat(3,1fr);}
.label-list > li {  padding: 3em 1em 1em; border: 1px solid var(--color-gry2); border-radius: 6px; counter-increment: label-num; position: relative; list-style: none;}
.bg-gry .label-list > li { border-color: #ccc; background-color: var(--color-wht);}
.label-list > li:has(hgroup) { display: grid; grid-template-rows: subgrid; grid-row: span 2; row-gap: .7em;}
.label-list .label { position: absolute; top: 0; left: 0; padding: .2em .5em; width: 100%; font-size: .9em; font-weight: 700; font-family:'Helvetica','Arial',sans-serif; text-align: center; color: var(--color-wht); background-color: var(--color-base); border-radius: 5px 5px 0 0;}
.label-list .label::after { content: counter(label-num, decimal-leading-zero); margin-left: .2em; font-size: 1.2em;}
.label-list [class$="-txt"],.label-list hgroup > *,.label-list .ttl { margin-block: unset; text-align: center;  line-height: 1.4;}
.label-list .main-txt,.label-list .main-ttl,.label-list .ttl { font-size: 1.7em; color: var(--color-sub1); font-weight: 800;}
.label-list .sub-txt,.label-list .sub-ttl { font-size: 1.12em; font-weight: 600;}

/* 流れ */
.label-list.flow { grid-template-columns: 1fr; row-gap: 2em;}
.label-list.flow > li { display: grid; grid-template-columns: 20% 1fr; gap: .5em 1.5em; align-items: center; position: relative;}
.label-list.flow > li:not(:last-child)::before { content: ''; position: absolute; bottom: -1.5em; left: 50%; transform: translateX(-50%); width: 1em; height: 1em; background: url(../img/common/arrow-down-red.svg) no-repeat center / contain; }
.label-list.flow .img-wrap { text-align: center;}
.label-list.flow img { max-width: 100px;}
.label-list.flow .ttl { margin-bottom: .4em; padding-bottom: .3em; font-size: 1.4em; text-align: start; border-bottom: 1px solid var(--color-gry1);}

/* ドロップダウンリスト */
.dd-list { display: grid; row-gap: 1.7em;}
.dd-list .img-wrap-box { margin-top: 1em;}

/* 背景付きbox */
.txt-box.bg-gry { padding: 1em;}

.txt-box.bg-gry.has-ttl  { margin-top: 2em; padding: 1.5em 1.3em 1.2em; position: relative;}
.txt-box.bg-gry .ttl,.txt-box.bg-gry .ttl-step { position: absolute; top: -1em; padding-inline: 1em; font-size: 1em; background-color: var(--color-wht); border: 1px solid var(--color-gry3); border-radius: 2em;}

.bbox { width:min(100%,500px); margin-inline:auto; padding-inline:2em; border:2px solid var(--color-gry4); }
  .bbox label { margin:.3em 0; }
.bbox.bg-crm { border-color:var(--color-sub3); }

/* pictureタグでだし分け用 */
.bnr-wrap { display: grid; justify-content: center;}

/* テキスト+画像横並びbox */
.img-wrap-box { display: grid; grid-template-columns: 30% 1fr; grid-template-areas: "img txt"; gap: 1em 2em;}
.img-wrap-box .img { grid-area: img;}
.img-wrap-box .txt { margin-block: unset;}

/* テキスト+小さい画像横並びbox */
.s-img-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 1em;}
.s-img-list > li { display: grid; grid-template-columns: 1fr 20%; gap: 1em; padding: 1em; border: 1px solid var(--color-gry2); border-radius: 10px;}
.s-img-list .txt { margin-block: unset;}


/* FAQ・買取に必要なもの、など */
.drawer > div:not(:last-child) { margin-bottom: 1.5em; }
.drawer :is(dt,dd) { position: relative; border-radius: 5px;}
.drawer :is(dt,dd)::before {
  position: absolute; top: .25em; left: .65em; font-size: 1.4em;  line-height: 1.5; text-align: center; }
:is(.open) dt{ border-radius: 5px 5px 0 0;}
.drawer dt { padding: .5em .5em .5em 2.5em; font-size: 1.12em; font-weight: 600; color: #fff; background: var(--color-base); cursor: pointer;}
.drawer.faq > div{ border: 1px solid #ccc; border-radius: 5px; background-color: var(--color-wht);}
.drawer.faq dt { color: var(--color-text); background-color: var(--color-wht);}
.drawer.faq dt::before { content: 'Q'; color: var(--color-red); font-family:'Helvetica','Arial',sans-serif;}
.drawer dt span { position: absolute; top: 50%; right: 1.3em; translate: 0 -50%; width:
1em; height: 1em;}
.drawer dt span::before,
.drawer dt span::after { content: ''; position: absolute; top: 50%; left: 50%; translate:-50% -50%; width: 100%; height: 2px; background: #fff; }
.drawer dt span::after { rotate:90deg; transition: all .3s;}
.drawer.faq dt span::before,
.drawer.faq dt span::after { background: var(--color-base);}

.drawer > div.open dt span::after,.drawer.open dt span::after { rotate:180deg;}
.drawer dd { padding: 1.5em 2em 1.5em; background: var(--color-gry1);}
.drawer.faq dd { margin: .3em 1em 1em 2.7em; padding: .7em 3em; padding-right: .7em; background-color: var(--color-gry0); border-radius: 3px; }
.drawer.faq dd::before { content: 'A'; top: .33em; left: .9em; font-weight: bold; font-family: 'Helvetica','Arial',sans-serif;}
.drawer dd figure { width: 40%; margin-top: 2em;}
.drawer dd figure.size-w { width: 80%;}
.drawer dd figure figcaption { margin-top: .5em;}

/* 初めての方へ */
#guide  .btn-def.wide { display: grid; align-items: center; width: 100%; height: 100%; line-height: 1.4;}
#guide .box-list .list-num { display: grid; row-gap: .7em; padding-right: 2em;}
#guide .box-list .list-num .num-ttl { margin-bottom: .2em; font-size: 1.12em; color: var(--color-sub3); font-weight: 800; line-height: 1.3;}
#guide .flow .note dt { margin-bottom: .3em;}
#guide .items-per-step { display: grid; gap: .7em 1.5em;}
#guide .items-per-step >li:not(:last-child) { position: relative;}
#guide .items-per-step >li:not(:last-child)::before { content: ''; position: absolute; top: 50%; right: -1.07em; transform: translateY(-50%); width: .5em; height: .7em; background-color: var(--color-gry3); clip-path: polygon(100% 50%, 0 0, 0 100%);}
#guide .items-per-step .ttl-step { width: max-content; left: 50%; transform: translateX(-50%); line-height: 1.7;}
#guide .items-per-step :where(.disc,.txt) { font-size: .9em;}

/* 車検 --------------------------- */
/* フッター、来店予約ボタン非表示 */
#service .f-reserve .top-reserve { display: none;}

#service table :where(thead th:first-child,tbody th) { min-width: 8em; font-size: .95em; color: var(--color-wht); font-weight: 500; background-color: var(--color-gry4);}
#service table thead th { padding: 0 .75em .5em;}
#service table :where(thead th:nth-child(n+2) ,tbody td:not(:last-child)){ border-right: 2px solid var(--color-wht);}
#service table tbody tr:nth-child(odd){ background-color: var(--color-gry1);}
#service table tbody tr.total th { background-color: #e93b3b;}
#service table tbody tr.total td { color: var(--color-sub1); font-weight: 700; background-color: #fdf1f2;}
#service table tbody tr.total td em { font-size: 1.6em; font-family:'Helvetica','Arial',sans-serif;}
#service table tbody th { border-top: 1px solid var(--color-gry3);}
#service table tbody tr > * { padding: .6em .3em ;}
#service table tbody td { font-size: .93em; text-align: center;}
#service table tbody td.weight { width:14.5%; font-size: .875em; }

#service table .name { margin: 0 max(-1vw,-12px); padding: .3em .3em .2em; background-color: var(--color-gry2);}
#service table small { display: block; font-size: .75em; font-weight: 500; line-height: 1.5;}
#service table .car-img { height: 70px;}
#service table .car-img img { height: 100%; object-fit: contain;}
#service table .appeal { font-size: 1.5em;}

#service .dl-def.col2 dd { padding-right:1.5em; text-align:right; }

#service .ttl-discount { font-size:min(8.4vw,60px); }
#service #promise .inner-narrow { width:min(92vw,900px); }

#service .discount-box { font-size:.8em; }

/* DM車検 */
#dm .ttl-sec { font-size:min(5vw,28px); }
.syaken_store > div > dt { width:5.5em; font-weight:bold; }
.syaken_store > div > dd { flex:1; }

/* 鈑金 --------------------------- */
/* フッター、来店予約ボタン非表示 */
#repair .f-reserve .top-reserve { display: none;}
#repair .ttl-discount { margin-top:min(7%,40px); }
#repair .tbl.hscroll { padding-bottom:1em; border-spacing:2px; }
#repair .tbl.hscroll thead tr:first-child th { background-color:var(--color-base) }
#repair .tbl.hscroll th { width:auto; }
#repair .tbl.hscroll td { text-align:center; }
#repair .discount > td { font-size:1.1em; color:var(--color-sub1); }
#repair .discount.max > td { font-weight:900; }

#repair .box-list.discount .ttl { background-color:var(--color-sub1); }
#repair .box-list.discount .txt { font-size:1.5em; font-weight:900; color:var(--color-sub1); }
#repair .box-list.discount .txt > em { font-size:1.5em; font-family:Impact,Helvetica,sans-serif; }

#repair .box-list.tokuten .small { margin:0; line-height:1.4; }
#repair .box-list.tokuten > li .con { align-self: center; margin-block: unset; line-height: 1.4;}
#repair .box-list.tokuten > li .con em { font-size: 1.4em; color: var(--color-sub1); font-weight: 900; }
#repair .box-list.tokuten > li .con em:not(:has(strong)) { font-size: 1.6em;}
#repair .box-list.tokuten > li .con strong { font-size: 1.7em; font-family:Impact,Helvetica,sans-serif;}

#repair .s-img-list { counter-reset: list-num;}
#repair .s-img-list > li { counter-increment: list-num;}
#repair .s-img-list .ttl { margin-bottom: .5em; padding-bottom: .7em; position: relative; font-size: 1.12em; font-weight: 800; color: var(--color-sub1); line-height: 1.5; border-bottom: 2px solid var(--color-gry1);}
#repair .s-img-list .ttl::before { content: '理由その'counter(list-num); margin-right: .7em; padding: 2px .4em 3px; font-size: .8em; color: var(--color-wht); line-height: 1; font-weight: 700; background-color: var(--color-base);}


/* 保証・オプション */
#support .new-car .ttl-bb-b { padding-left: .7em;}
#support .new-car .ttl-bb-b:first-of-type { margin-top: 1em;}
#support .guarantee :where(.lead,.s-content) { display: grid; gap: 1.5em 3em; align-items: end;}
#support .guarantee .img-single { justify-content: center;}
#support .guarantee .lead-txt { font-size: 1.3em; color: var(--color-sub1); font-weight: 700; }
#support .guarantee .lead-txt em { font-size: 1.2em;}
#support .txt-box.bg-gry .note { margin-top: .5em;}
#support .txt-box.bg-gry ul.kome .disc > li { text-indent: 0;}
.has-note { position: relative;}
.has-note::after { content: '\203B'; font-size: .7em; vertical-align: super;}
.support-ttl {
  width:fit-content; margin:0 auto 1.5em; padding:.1em 2.5em; 
  color:var(--color-wht); font-size:1.2em; font-weight:700; text-align:center;
  background-color:var(--color-base); border-radius:2em;
}
#support .guarantee .s-content .ttl { margin-block: 0 1em; padding-inline: .5em; font-size: 1.3em; color: var(--color-wht); font-weight: 700; text-align: center; background-color: var(--color-sub1); border-radius: 2em;}
#support .guarantee .s-content .price-img { width: 95%; margin-inline: auto;}
#support .guarantee .s-content .point { display: grid; grid-template-columns: repeat(3,1fr); gap: 3em; width: 95%; margin-inline: auto;}


#support .loan-plan { display: grid; gap: 1em 1.5em;}
#support .loan-plan > li { border: 1px solid var(--color-gry4); border-radius: 6px;}
#support .loan-plan .ttl { display: grid; align-items: center; padding: .5em .3em .6em; font-size: 1.07em; color: var(--color-wht); line-height: 1.3; text-align: center; background-color: var(--color-base); border-radius: 4px 4px 0 0;}
#support .loan-plan .disc { display: grid; row-gap: .3em; margin: 1.1em 1em; margin-left: 1.3em; font-size: .95em; line-height: 1.5;}

#support .option-list { display: grid; grid-template-columns: repeat(4,1fr); gap: .8em;}
#support .option-list.noimage { margin-top: .8em; grid-template-columns: repeat(5,1fr);}
#support .option-list.noimage > li { align-content: center; height: 100%; line-height: 1.4;}
#support .option-list > li { padding: .7em; border: 1px solid var(--color-gry2); border-radius: 6px;}
#support .option-list .name { margin-block: unset; font-size: .9em; font-weight: 600; text-align: center;}
#support .option-list img + .name { margin-top: .5em;}


/* 会社情報 */
#company_top {padding-bottom:0;}

#greeting .flex>div { width:90%; }
#greeting .president .name { display:inline-block; margin-left:1em; }
#greeting ol { display: grid; row-gap: .3em; padding: 1em 1.2em .8em;}

#summary .office li>span { display:inline-block; min-width:15em; }
#summary .office .addr::before { content:'：'; }

#history dl { padding-block: 1em; background-color:#fff;}
#history dl >* { box-sizing:border-box; padding:0.8em 1.6em; }
#history dt { position:relative; padding-left:1em; width:18%; text-align:right; font-weight:bold; color:#813c23;}
#history dt:not(:last-of-type)::before { content:''; position:absolute; right:0; top:2em; width:1px; height:100%; background: var(--color-gry2);}
#history dt::after{ content:''; position:absolute; right:-0.35em; top:1.35em; width:0.8em; height:0.8em; background:#fff; border:0.3em solid var(--color-sub1); border-radius:50%; }
#history dd { padding-right:1em;  width:82%;}

#rinen { position:relative; text-align:center;}
#rinen .rinen { padding-block: 2em; font-size:1.3em; font-weight:500; color: var(--color-sub4); line-height: 2; text-shadow:0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff; }
#bgRinen1{ position:absolute; bottom:0; left:-260px; z-index:-1; }
#bgRinen2{ position:absolute; bottom:0; right:-310px; z-index:-1; }

#compliance .houshin dd { margin:0 2.5em 0.5em; }

/* 納車式 */
.nousya-list { display: grid; grid-template-columns: repeat(4,1fr); gap: 25px 20px; margin-block: 3em 2em;}
:is(.nousya-list,.nousya-dtl) li { display: contents;}
.nousya-list li a { display:grid; grid-template-rows: subgrid; grid-row: span 4; gap: 0; border: 1px solid var(--color-gry4);border-radius: 6px; }
:is(.nousya-list,.nousya-dtl) .pic { aspect-ratio: 1	/ 0.75; position: relative;}
:is(.nousya-list,.nousya-dtl) li p { margin-block: unset;}
:is(.nousya-list,.nousya-dtl)  .data { display: grid; grid-template-columns: repeat(2,max-content); align-items: center; gap: 0 .5em;}
:is(.nousya-list,.nousya-dtl) .store span{ padding: 0 .3em .1em; font-size: .85em; font-weight: 500; color: #fff; vertical-align: text-bottom; background: var(--color-sub1); border-radius: 2px;}
.nousya-list li .store span.num22 { padding: .2em .3em; font-size: .7em;}
:is(.nousya-list,.nousya-dtl) .store span:empty { background: transparent;}
:is(.nousya-list,.nousya-dtl) .cname { padding-top: .2em; font-weight: 500; line-height: 1.5;}
.nousya-list li .cname { display: grid; align-items: center; height: 100%; padding: .5em .3em .6em; font-size: 1.07em; color: var(--color-wht); line-height: 1.3; text-align: center; background-color: var(--color-base); border-radius: 4px 4px 0 0;}
.nousya-dtl li .cname { font-size: 1.15em;}
:is(.nousya-list,.nousya-dtl) li .data { margin: .75em 4% .4em; }
.nousya-list li .btn { margin-top: .7em; padding:.3em .3em .4em; color:#fff; font-weight:bold; text-align:center; text-decoration:none; border-radius:4px; background: #ff7500;}
.nousya-list li .arrow { margin: 0 6% .9em; padding-right: 1em; font-size: .9em; text-align: right; position: relative;}
.nousya-list li .arrow::before { content: ''; position: absolute; top:.5em; right:-.2em; rotate: -90deg; display:block; width:.6rem; height:.6rem; background: url(../img/common/arrow-down-red.svg) no-repeat center / contain; }

.nousya-dtl { gap: 3.5em; align-items: flex-start; margin-top: 3em;}
.nousya-dtl picture { display: inline-block; margin-bottom: .4em;}
.nousya-dtl time { padding-right: .5em;}
.nousya-dtl main { width: min(75%,800px);}
.nousya-dtl main article p { margin-block: unset;}
.nousya-dtl main .comment { margin-top: 1em; padding: 1em 1.2em; font-size: .95em; background: var(--color-gry1);}
.nousya-dtl main .store { display: inline-block;}
.nousya-dtl main .store span { padding: 0 .3em .1em; font-size: .85em; font-weight: 500; color: #fff; vertical-align: text-bottom; background: var(--color-sub1); border-radius: 2px;}
.nousya-dtl main .cname { padding-top: .2em; font-size: 1.15em; font-weight: 500; line-height: 1.5;}
.nousya-dtl aside { flex: 1;}
.nousya-dtl aside .ttl-def { margin-top: -.3em;}

.nousya-dtl aside .aside-list { display: grid; gap: 1em; padding: 1em .3em .3em;}
.nousya-dtl aside .aside-list li { display: contents;}
.nousya-dtl aside .aside-list li > a { display: grid; grid-template-rows: subgrid; grid-row: span 2; gap: .3em; border: 1px solid var(--color-gry2); border-radius: 7px;}
.nousya-dtl aside .aside-list .data { margin-top: unset; font-size: .93em;}
.nousya-dtl aside .aside-list .data:has(.long-name) { grid-template-columns: 1fr;}
.nousya-dtl aside .pic img { border-radius: 6px 6px 0 0;}

/* 個人情報保護法について */
.consent-box { height: 300px; margin:1em 0 0; padding:5px 18px 0 30px; border: 1px solid #ccc; list-style: decimal; overflow: auto; }
#privacy.consent-box .ttl-bb { margin-top:30px; margin-bottom:5px; font-size:1rem; }

/* ポリシー */
.policy-list { display: grid; row-gap: 1.5em; }
.policy-list .ttl-bb { padding-bottom: .4em; font-size: 1.12em;}
.policy-list.action { counter-reset: action-num;}
.policy-list.action > li { counter-increment: action-num;}
.policy-list.action .label { margin-right: .5em; padding-inline: .4em; padding-bottom: .1em; font-size: .8em; color: var(--color-wht); background-color: var(--color-sub1);}
.policy-list.action .label::after { content: counter(action-num, decimal-leading-zero); padding-left: .3em;}

/* グループ会社 */
#group .group-list { display: grid; grid-template-columns: max-content 1fr; row-gap: 1em;}
#group .group-list > :where(dt,dd) { padding-bottom: 1em; padding-inline: 1em;}
#group .group-list > :where(dt,dd):not(:last-of-type) { border-bottom: 2px solid var(--color-gry1);}
#group .group-list > dt { padding-right: 2em; text-align: center;}
#group .group-list > dd { align-content: center; height: 100%;}
#group .group-list .note { display: grid; grid-template-columns: 5em max-content; column-gap: 1em;}
#group .group-list .note .label { font-size: .9em; font-weight: 700; color: var(--color-wht); text-align: center; background-color: var(--color-sub1);}
#group .group-list .note .area { padding-inline: .5em; background-color: var(--color-gry1);}

/* couponフォーム ------------------- */
#coupon .flow { display: grid; row-gap: 1.3em; padding-left: unset; counter-reset: flow-num;}
#coupon .flow li { padding: .7em 1em; background-color: var(--color-gry1); list-style: none; counter-increment: flow-num; position: relative;}
#coupon .flow li::before { content: counter(flow-num)'.'; margin-right: .3em; font-size: 1.12em; font-weight: 700;}
#coupon .flow li:not(:last-child)::after { content: ''; position: absolute; bottom: -.7em; left: 1em; width: 1em; height: .7em; background-color: var(--color-gry1); clip-path: polygon(100% 0, 0 0, 50% 100%);
}