@charset "UTF-8";
/* CSS Document */


.contents_nav {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 6rem;
}
.contents_nav li {
width: 30%;
}
.contents_nav li a {
text-align: center;
 font-size: var(--font-size-24);
 font-weight: 700;
background: #6eaad6;
border-radius: 20px;
padding: 1rem 0;
display: block;
background-position: center left 2rem;
background-size: 12%;
background-repeat: no-repeat;
color: #fff;
letter-spacing: 0.2em;
transition: all 0.2s;
}
.contents_nav li a.active {
background: #246dbd;
background-position: center left 2rem;
background-size: 12%;
background-repeat: no-repeat;
}
.contents_nav li a:hover {
background: #246dbd;
background-position: center left 2rem;
background-size: 12%;
background-repeat: no-repeat;
}
.contents_nav li a.m01 {
background-image: url("/snow/images/news/m01_bg.png");
}
.contents_nav li a.m02 {
background-image: url("/snow/images/news/m02_bg.png");
}
.contents_nav li a.m03 {
background-image: url("/snow/images/news/m03_bg.png");
}
.list {
margin-bottom: 6rem;
}
.list ul {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.list ul li {
width: 45%;
display: flex;
flex-direction: column;
margin-bottom: 4rem;
}
.list ul li .thumb {
width: 100%;
  aspect-ratio: 16 / 9;  
  background: #eee;   
  overflow: hidden;
  margin-bottom: 1rem;
}
.list ul li .thumb a:hover {
opacity: 0.7;
}
.list ul li .thumb img {
 width: 100%;
  height: 100%;
  object-fit: cover; 
  object-position: center;
  display: block;
}
.list ul li dl {
margin: 0;
padding: 0;
}
.list ul li dl dt {
 font-size: var(--font-size-18);
 text-align: left;
margin-bottom: 1rem;
}
.list ul li dl dt span {
display: inline;
background: #2561AC;
text-align: center;
padding: 0.2rem 1rem;
color: #fff;
margin-right: 2rem;
}
.list ul li dl dd {
 font-size: var(--font-size-24);
 font-weight: 700;
}

.detail {
margin-bottom: 6rem;
}
.detail dl.title {
margin-bottom: 2rem;
}
.detail dl.title dt {
 font-size: var(--font-size-18);
 margin-bottom: 1rem;
}
.detail dl.title dt span {
display: inline;
padding: 0.2rem 1rem;
margin-right: 2rem;
background: #2561AC;
color: #fff;
}
.detail dl.title dd {
 font-size: var(--font-size-24);
 font-weight: 700;
 padding: 0.8rem 0;
 border-top: solid 1px #666;
  border-bottom: solid 1px #666;
}
.detail p.sub {
 font-size: var(--font-size-24);
 font-weight: 700;
 margin-bottom: 2rem;
}
.detail ul.images {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 20px; /* 隙間（必要なければ削除） */
  margin: 0;
  padding: 0;
  list-style: none;
}

.detail ul.images li {
  flex: 1 1 auto;
  margin-bottom: 2rem;
}

/* 画像リサイズ設定 */
.detail ul.images li img {
  width: 100%;
  height: auto;       /* デフォルトは比率維持 */
  display: block;
  border-radius: 6px;
  object-fit: cover;   /* 角丸したければ */
}


/* --- 2枚のとき --- */
.detail ul:has(li:nth-child(2)):not(:has(li:nth-child(3))) li {
  flex-basis: calc(50% - 10px);
  }

/* --- 3枚のとき ---*/
.detail ul:has(li:nth-child(3)):not(:has(li:nth-child(4))) li:first-child {
  flex-basis: 100%;
}
.detail ul:has(li:nth-child(3)):not(:has(li:nth-child(4))) li:nth-child(n+2) {
  flex-basis: calc(50% - 10px);
}

/* --- 4枚のとき ---*/
.detail ul:has(li:nth-child(4)):not(:has(li:nth-child(5))) li {
  flex-basis: calc(50% - 10px);
}
*/

.detail p {
line-height: 2.4em;
margin-bottom: 2rem;
}

.detail .btn {
width: 450px;
margin: 4rem auto;
position: relative;
}
.detail .btn a {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  height: 80px;                 /* ボタン高さ */
  width: 100%;
  padding-left: 150px;          /* 左の青エリア分 */
  padding-right: 24px;
  background: #e7eef4;          /* グレー背景 */
  color: #175082;
  font-weight: 600;
  font-size: var(--font-size-20);
  text-decoration: none;
  border: 1px solid #0f3d63;
  position: relative;
  border-radius: 6px;
  box-shadow: 0 1px 0 rgba(0,0,0,.25);
  overflow: hidden;
  transition: 0.3s;
  background-image: url("/snow/images/ski_icon2.png");
  background-position: right 1rem center;
  background-repeat: no-repeat;
  background-size: 15%;
}
/* 左の青い半円 */
.detail .btn a::before {
  content: "";
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: 25%;
  background: #2f6fa8;
  border-radius: 0 999px 999px 0;
}
.detail .btn .btn1 {
  position: absolute;
  left: -6%; top:18%;
  width: 35%;
  height: auto;
  display: grid;
  place-items: center;
}
.detail .btn .btn1 img {
width: 25%;
}
/* テキスト */
.detail .btn .text { line-height: 1; }

/* ホバー効果 */
.detail .btn a:hover::before { background: #285f90; }
.detail .btn a:active { transform: translateY(1px); }


.detail .btn li a:hover {
  background: #C8DDED;
}

@media screen and (min-width:769px)and (max-width:1024px){
}


@media screen and (min-width:521px) and (max-width:768px) {
}

@media screen and (max-width:520px) {

.list ul li {
width: 100%;
}

}