:root{
  --washi:#f1e7d2;
  --washi-light:#f8f2e6;
  --washi-deep:#d7c6a7;
  --brown:#756149;
  --brown-dark:#493a2c;
  --sumi:#211e1a;
  --sumi-soft:#62594d;
  --line:rgba(73,58,44,.45);
  --shadow:0 10px 30px rgba(47,37,28,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--sumi);
  background:#d8c8ac;
  font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  line-height:1.8;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

.site-wrap{
  width:100%;
  max-width:1280px;
  margin:0 auto;
  overflow:hidden;
  background:
    linear-gradient(rgba(248,242,230,.90),rgba(248,242,230,.90)),
    url("resultsassets/washi-bg.jpg") center / 700px auto repeat;
  box-shadow:0 0 35px rgba(31,25,20,.14);
}

/* ===== メインビジュアル ===== */
.result-hero{
  position:relative;
  height:clamp(240px,32vw,400px);
  overflow:hidden;
  background:#3f3025;
}
.result-hero__photo{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
}
.result-hero__shade{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.10),transparent 55%,rgba(0,0,0,.12));
  pointer-events:none;
}
.result-hero__logo{
  position:absolute;
  z-index:2;
  top:24px;
  left:26px;
  width:clamp(116px,15vw,180px)
}

/* ===== タイトル ===== */
.title-section{
  position:relative;
  padding:38px 24px 34px;
  text-align:center;
  background:
    linear-gradient(rgba(241,231,210,.94),rgba(241,231,210,.94)),
    url("resultsassets/washi-bg.jpg") center / 700px auto repeat;
  border-bottom:1px solid rgba(93,74,54,.20);
}
.title-section__en,
.archive-heading__en{
  margin:0 0 4px;
  color:var(--brown);
  font-size:11px;
  letter-spacing:.24em;
}
.title-section h1,
.archive-heading h2{
  margin:0;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:500;
  letter-spacing:.12em;
}
.title-section h1{font-size:clamp(34px,5vw,54px)}
.title-mark{display:flex;justify-content:center;margin-top:17px}
.title-mark span{
  width:74px;
  height:2px;
  position:relative;
  background:var(--brown);
}
.title-mark span::after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:9px;height:9px;
  transform:translate(-50%,-50%) rotate(45deg);
  background:var(--washi);
  border:1px solid var(--brown);
}

/* ===== 優勝者カード ===== */
.results-section{
  padding:0 0 12px;
  background:#ddd2bf;
}
.winner-card{
  position:relative;
  min-height:330px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  overflow:hidden;
  border-bottom:2px solid rgba(61,49,38,.58);
  background:
    linear-gradient(90deg,rgba(229,218,199,.90),rgba(233,224,209,.76)),
    url("resultsassets/result-pattern.jpg") center / cover no-repeat;
}
.winner-card:nth-child(even){
  background:
    linear-gradient(90deg,rgba(229,218,199,.86),rgba(228,219,204,.92)),
    url("resultsassets/result-pattern.jpg") center / cover no-repeat;
}
.winner-card__photo-wrap{
  min-height:330px;
  padding:42px 38px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.winner-card__photo{
  width:100%;
  height:250px;
  object-fit:cover;
  border:1px solid rgba(48,39,31,.22);
  box-shadow:var(--shadow);
}
.winner-card__content{
  align-self:center;
  padding:48px 48px 48px 26px;
}
.winner-card--image-right .winner-card__photo-wrap{order:2}
.winner-card--image-right .winner-card__content{
  order:1;
  padding:48px 26px 48px 48px;
}
.winner-card__event{
  margin:0 0 12px;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(19px,2.1vw,27px);
  letter-spacing:.06em;
}
.winner-card__division{
  margin:0 0 24px;
  color:var(--brown-dark);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(25px,3vw,38px);
  font-weight:500;
}
.winner-card__info{margin:0}
.winner-card__info div{
  display:grid;
  grid-template-columns:130px 1fr;
  gap:14px;
  padding:7px 0;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(17px,1.8vw,23px);
}
.winner-card__info dt{ 
	color:var(--sumi-soft);
  white-space:nowrap;}
.winner-card__info dd{margin:0}

/* ===== アーカイブ ===== */
.archive-section{
  padding:54px 42px 90px;
  background:
    linear-gradient(rgba(244,235,217,.92),rgba(244,235,217,.92)),
    url("resultsassets/washi-bg.jpg") center / 700px auto repeat;
}
.archive-heading{text-align:center;margin-bottom:34px}
.archive-heading h2{font-size:clamp(28px,4vw,43px)}
.archive-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  max-width:1040px;
  margin:0 auto;
}
.archive-card{
  min-height:150px;
  position:relative;
  padding:26px 26px 23px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid rgba(78,61,45,.35);
  background:rgba(255,252,245,.70);
  box-shadow:0 5px 16px rgba(50,39,30,.07);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.archive-card:hover{
  transform:translateY(-3px);
  background:rgba(255,252,245,.96);
  box-shadow:0 9px 24px rgba(50,39,30,.12);
}
.archive-card__small{
  color:var(--sumi-soft);
  font-size:13px;
  letter-spacing:.08em;
}
.archive-card strong{
  margin-top:4px;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(21px,2.3vw,29px);
  font-weight:500;
}
.archive-card__arrow{
  position:absolute;
  right:21px;
  bottom:17px;
  color:var(--brown);
  font-size:25px;
}
.other-archive{
  max-width:1040px;
  margin:20px auto 0;
  padding:24px 28px;
  border-left:4px solid var(--brown);
  background:rgba(255,252,245,.72);
}
.other-archive p{margin-top:0}
.other-archive ul{margin-bottom:0}
.other-archive a{text-decoration:underline;text-underline-offset:4px}

/* ===== フッター ===== */
.footer{
  padding:38px 25px 32px;
  text-align:center;
  background:#cdbb9d;
  border-top:1px solid rgba(73,58,44,.38);
}
.footer-nav{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px 24px;
}
.footer-nav a{font-size:14px}
.footer-nav a:hover{text-decoration:underline}
.copyright{margin:20px 0 0;font-size:13px;color:var(--sumi-soft)}

/* ===== タブレット ===== */
@media(max-width:900px){
  .winner-card{grid-template-columns:1fr 1fr;min-height:300px}
  .winner-card__photo-wrap{min-height:300px;padding:30px 25px}
  .winner-card__photo{height:225px}
  .winner-card__content{padding:35px 28px 35px 15px}
  .winner-card--image-right .winner-card__content{padding:35px 15px 35px 28px}
  .archive-grid{grid-template-columns:1fr}
  .archive-card{min-height:115px}
}

/* ===== スマートフォン ===== */
@media(max-width:640px){
  .result-hero{height:220px}
  .result-hero__logo{top:14px;left:14px;width:118px}
  .title-section{padding:30px 18px 27px}

  .winner-card,
  .winner-card--image-right{
    display:flex;
    flex-direction:column;
  }
  .winner-card__photo-wrap,
  .winner-card--image-right .winner-card__photo-wrap{
    order:1;
    min-height:auto;
    padding:26px 22px 14px;
  }
  .winner-card__photo{height:auto;aspect-ratio:4/3}
  .winner-card__content,
  .winner-card--image-right .winner-card__content{
    order:2;
    padding:20px 26px 32px;
  }
  .winner-card__division{margin-bottom:16px}
  .winner-card__info div{
    grid-template-columns:110px 1fr;
    gap:10px;
  }

  .archive-section{padding:44px 20px 68px}
  .archive-heading{margin-bottom:24px}
  .archive-card{padding:22px 22px;min-height:108px}
  .footer{padding:30px 18px}
  .footer-nav{flex-direction:column;gap:8px}
}
