@charset "utf-8";

/* --------------------------------------------------
  共通 セクション
-------------------------------------------------- */

section h2 { margin-bottom: 20px; font-size: 2.8rem; }

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

@media screen and (max-width: 767px) {
  section h2 { font-size: 2.4rem; }
}

/* --------------------------------------------------
  共通 カード
-------------------------------------------------- */

.card { margin-bottom: 20px; list-style: none; display: flex; flex-wrap: wrap; justify-content: space-between; }
.card::after, .card::before { content: ''; width: 230px; order: 1; }
.card li { width: 230px; background: #fff; border-radius: 8px; position: relative; }
.card li.dummy { background: none; }
.card .new { width: 65px; height: 65px; background: #e02; border-radius: 50%; color: #fff; font-family: quicksand, sans-serif; font-size: 1.8rem; font-optical-sizing: auto; font-weight: 700; display: flex; align-items: center; justify-content: center; position: absolute; left: -16px; top: -12px; z-index: 2; }
.card .card-img { border-radius: 8px 8px 0 0; overflow: hidden; position: relative; z-index: 1; }
.card .card-content { padding: 10px 15px 20px; }
.card .card-content time { margin-bottom: 4px; font-size: 1.4rem; display: block; }
.card .card-tag { margin-bottom: 10px; display: flex; }
.card .card-tag span { margin-right: 8px; padding: 7px; background: var(--kc-t200); border-radius: 5px; font-size: 1.5rem; display: flex; align-items: center; justify-content: center; }
.card .card-title a { color: #111; font-weight: 700; overflow: hidden; display: -webkit-box; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.card .card-author { margin-top: 8px; padding-top: 8px; background-image: linear-gradient(to right, #000 1px, transparent 1px); background-size: 5px 1px;  background-repeat: repeat-x;  background-position: left top; display: flex; align-items: center; }
.card .card-author img { margin-right: 10px; width: 40px; height: 40px; border-radius: 40px; object-fit: cover; }
.card.no-post li { width: 100%; background: none; }

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

@media screen and (max-width: 767px) {
  .card li {}
  .card .card-img img { width: 100%; height: auto; }
  .card .card-author { font-size: 1.4rem; }
}

/* --------------------------------------------------
  共通 ボタン
-------------------------------------------------- */

.button { display: flex; justify-content: center; }
.button a { width: 250px; height: 60px; background: #fff; border: solid 2px var(--kc-p500); border-radius: 50px; color: #111; font-size: 1.5rem; font-weight: 700; text-decoration: none; display: flex; align-items: center; justify-content: center; box-shadow: 0 3px 0 #d6bfb3; position: relative; }
.button a::after { content: ''; width: 15px; height: 18px; background: var(--kc-p500); clip-path: polygon(0 0, 100% 50%, 0 100%); position: absolute; right: 15px; }

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

@media screen and (max-width: 767px) {
  .button a { width: 100%; max-width: 370px; }
}

/* --------------------------------------------------
  メインビジュアル
-------------------------------------------------- */

#mv {}
#mv .inner { margin: 0 auto; width: 1080px; }

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

@media screen and (max-width: 767px) {
  #mv .inner { width: 100%; }
  #mv .inner img { width: 100%; height: auto; }
}

.monochrome #mv { background: #000; }

/* --------------------------------------------------
  さがすたいるとは？
-------------------------------------------------- */

#about { padding: 50px 0; background: #ffddcc; }
#about .inner { margin: 0 auto; padding: 0 20px; width: 1240px; display: flex; justify-content: space-between; }
#about .about-content { width: 540px; }
#about h2 { letter-spacing: .2em; }
#about h2 span { color: var(--kc-p500); }
#about p { margin-bottom: 20px; /*font-size: 1.8rem;*/ font-size: 1.7rem; font-weight: 700; letter-spacing: .05em; line-height: 2; }
#about .button { /*margin-bottom: 24px;*/ }
#about .button a { padding: 0 50px; width: 100%; text-decoration: none; display: flex; align-items: center; justify-content: space-between; }
#about .button a::before { content: ''; width: 30px; height: 30px; background: url(/img/common/logomark.svg) center no-repeat; background-size: cover; flex-shrink: 0; }
#about .button a::after { position: static; flex-shrink: 0; }
#about ul { list-style: none; display: flex; justify-content: space-between; }
#about li { width: 135px; }
#about li a { padding: 20px 0 16px; height: 100%; background: var(--kc-p50); border-radius: 8px; color: #111; font-weight: 700; text-align: center; display: block; box-shadow: 0 3px 0 #d6bfb3; }
#about li div { margin-bottom: 10px; height: 42px; display: flex; align-items: center; justify-content: center; }
#about li p { margin: 0; height: calc(100% - 52px); font-size: 1.6rem; line-height: 1.5; display: flex; align-items: center; justify-content: center; }
#about .about-img { padding: 20px 0 0 70px; width: 760px; background-image: url(/img/home/about-background01.png), url(/img/home/about-background02.png); background-position: left bottom, right 30px top; background-repeat: no-repeat; background-size: 208px, 352px; }
#about .about-img img { border-radius: 40px; }
#about .movie-wrapper { width: 600px; }
#about .movie-wrapper strong { margin-bottom: 10px; font-size: 2rem; text-align: center; display: block; }
#about .movie-wrapper-inner { padding-top: 56.25%; width: 100%; position: relative; }
#about iframe { width: 100%; height: 100%; position: absolute; left: 0; top: 0; }

@media screen and (max-width: 1024px) {
  #about .inner { width: 100%; }
}

@media screen and (max-width: 767px) {
  #about { padding: 40px 0; }
  #about .inner { padding: 0 10px; width: 100%; flex-direction: column; gap: 20px; }
  #about .about-content { margin: 0 auto; width: 100%; max-width: 370px; text-align: center; }
  #about p { font-size: 1.5rem; }
  #about .button { margin-bottom: 20px; }
  #about .button a { padding: 0 15px; }
  #about .button a::before { margin-right: 10px; }
  #about .button a::after { margin-left: 10px; }
  #about li { width: 32%; }
  #about li a { padding: 16px 0 12px; font-size: 1.4rem; }
  #about .about-img { display: none; }
  #about .movie-wrapper { width: 100%; }
}

.monochrome #about { background: #333; color: #fff; }

/* --------------------------------------------------
  検索
-------------------------------------------------- */

#search { padding: 50px 0; background: #ebf0f7; position: relative; }
#search h2 { margin-bottom: 0; padding: 15px 0; background: var(--kc-s500); color: #fff; font-size: 2rem; text-align: center; }
#search h3 { margin-bottom: 10px; text-align: center; }
#search .inner { margin: 0 auto; width: 1000px; background: #fff; border-radius: 30px 30px 8px 8px; overflow: hidden; box-shadow: 0 3px 0 #d6bfb3; position: relative; }
#search .search-content { margin: 30px 0; padding: 0 60px; }
#search .search-content form { margin-bottom: 30px; width: 100%; }
#search .search-item { margin-bottom: 16px; }
#search .search-item.d-flex { justify-content: space-between; }
#search .search-item .select { width: 410px; display: flex; align-items: center; position: relative; }
#search .search-item .select::after { content: ''; width: 9px; height: 16px; background: url(/img/common/icon-form-select.svg) center no-repeat; background-size: cover; display: block; position: absolute; right: 12px; }
#search .search-item .select label { margin-right: 10px; font-weight: 700; white-space: nowrap; }
#search .search-item .select select { padding: 0 16px; width: 100%; height: 45px; background: #fff; border: solid 1px #ccc; border-radius: 5px; font-family: inherit; font-size: 1.5rem; line-height: 2; appearance: none; }
#search .search-item .keyword { display: flex; align-items: center; }
#search .search-item .keyword label  { margin-right: 10px; font-weight: 700; white-space: nowrap; }
#search .search-item .keyword input[type="text"] { padding: 0 16px; width: 100%; height: 45px; border: solid 1px #ccc; border-radius: 5px; color: #111; font-family: inherit; font-size: 1.5rem; }
#search .search-item .support .d-flex { align-items: center; }
#search .search-item .support .d-flex > span { font-weight: 700; }
#search .search-item .support .d-flex .support-detail { margin-left: 10px; padding: 5px 10px; background: var(--kc-s500); border-radius: 5px; color: #fff; font-size: 1.5rem; text-decoration: none; display: inline-block; }
#search .search-item .support .support-detail-option { height: 0; opacity: 0; visibility: hidden; transition: all .3s ease; }
#search .search-item .support fieldset { margin: 10px 0; padding: 10px 20px 0; border: solid 1px #ccc; }
#search .search-item .support legend { padding: 0 10px; font-weight: 700; }
#search .search-item .support strong { padding: 5px 10px; background: #f4f4f4; font-weight: normal; display: block; }
#search .search-item .support ul { margin: 10px 0 20px; list-style: none; display: flex; flex-wrap: wrap; }
#search .search-item .support li { margin-right: 20px; display: flex; align-items: center; white-space: nowrap; }
#search .search-item .support input[type="checkbox"] { margin-right: 3px; }
#search .search-item .support.active .support-detail-option { height: auto; opacity: 1; visibility: visible; }
#search .button { margin-top: 36px; }
#search .button button { width: 50%; height: 60px; background: var(--kc-s500); border-radius: 5px; color: #fff; font-size: 2rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
#search .button button::before { content: ''; margin-right: 7px; width: 20px; height: 20px; background: url(/img/common/icon-form-search.svg) center no-repeat; background-size: cover; display: block; }
#search .search-area a { margin: 0 auto; width: 370px; height: 93px; background-image: repeating-linear-gradient(90deg, #2c589f , #2c589f 1px, transparent 1px, transparent 10px), repeating-linear-gradient(0deg, #2c589f, #2c589f 1px, var(--kc-s500) 1px, var(--kc-s500) 10px); box-shadow: 0 2px 0 #bfbfbf; border-radius: 8px; color: #fff; display: flex; align-items: center; position: relative; }
#search .search-area a::before { content: ''; width: 145px; height: 81px; background: url(/img/home/search-background.png) center no-repeat; background-size: cover; position: absolute; right: 10px; bottom: 1px; }
#search .search-area a:hover { text-decoration: none; }
#search .search-area strong { margin-left: 24px; font-size: 1.8rem; letter-spacing: .07em; display: inline-block; position: relative; z-index: 1; }
#search .search-area strong span { color: #ffda14; font-size: 2.4rem; }
#search .search-area p { width: 290px; height: 34px; background: #fff; border: solid 2px var(--kc-s500); border-radius: 40px; color: #0a234b; font-size: 1.4rem; font-weight: 700; letter-spacing: 0; display: flex; align-items: center; justify-content: center; position: absolute; left: 4px; top: -16px; }
#search .search-area p::before { content: ''; width: 13px; height: calc(tan(60deg) * 7px / 2); background: #fff; position: absolute; left: 16px; top: 100%; clip-path: polygon(0 0, 100% 0, 50% 100%); }

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

@media screen and (max-width: 768px) {
  #search { padding: 40px 15px; border-radius: 0; }
  #search .inner { width: 100%; }
  #search .search-content { padding: 0 20px; }
  #search .search-item.d-flex { display: block; }
  #search .search-item .select { margin-bottom: 15px; width: 100%; }
  #search .search-item .select label { width: 120px; }
  #search .search-item .select select { width: 100%; }
  #search .search-item .keyword label { width: 120px; }
  #search .search-item .support .d-flex .support-detail { font-size: 1.3rem; }
  #search .button button { width: 100%; height: 45px; font-size: 1.6rem; }
  #search .button button::before { width: 18px; height: 18px; }
  #search .search-area a { margin: 0 auto; width: 100%; max-width: 340px; }
  #search .search-area a::before { background-position: right bottom; background-size: 100px auto; }
}

.monochrome #search { background: #000; }
.monochrome #search .inner { background: #333; color: #fff; }
.monochrome #search .search-item .support strong { background: #000; }

/* --------------------------------------------------
  さがすたいるムービー
-------------------------------------------------- */

#movie { padding: 50px 0; background-image: repeating-linear-gradient(90deg, #f8d2bd, #f8d2bd 1px, transparent 1px, transparent 10px), repeating-linear-gradient(0deg, #f8d2bd, #f8d2bd 1px, #ffddcc 1px, #ffddcc 10px); }
#movie h2 { text-align: center; }
#movie .inner { margin: 0 auto; padding: 0 20px; width: 1240px; }
#movie .movie-wrapper { margin: 0 auto; width: 800px; }
#movie .movie-wrapper-inner { padding-top: 56.25%; width: 100%; position: relative; }
#movie iframe { width: 100%; height: 100%; position: absolute; left: 0; top: 0; }

@media screen and (max-width: 1024px) {
  #movie .inner { width: 100%; }
}

@media screen and (max-width: 767px) {
  #movie .inner { padding: 0 10px; width: 100%; }
  #movie .movie-wrapper { width: 100%; }
}

.monochrome #movie { background-image: repeating-linear-gradient(90deg, #333, #333 1px, transparent 1px, transparent 10px), repeating-linear-gradient(0deg, #333, #333 1px, #666 1px, #666 10px); color: #fff; }

/* --------------------------------------------------
  ピックアップ
-------------------------------------------------- */

#shop { padding: 50px 0; background: var(--kc-p50); }
#review { padding: 50px 0; background: #ebf0f7; }
.pickup .inner { margin: 0 auto 50px; padding: 0 20px; width: 1240px; }
.pickup h2 { margin-bottom: 25px; text-align: center; }
.pickup .card li { width: 275px; }
.pickup .card .card-img img { width: 275px; height: 161px; object-fit: cover; }
.pickup .card .card-tag span { font-size: 1.4rem; letter-spacing: -.02em; }
.pickup .card .card-tag span:last-of-type { margin-right: 0; }
.pickup .card .card-tag span i { margin-right: 5px; font-size: 2rem; }
.pickup .card .card-title a { font-size: 2rem; }
.pickup .button { padding: 0 20px_____; }
.pickup .wanted { padding: 1px; filter: drop-shadow(0 0 1px var(--kc-s500)) drop-shadow(0 0 1px var(--kc-s500)); }
.pickup .wanted .inner { margin: 12px auto 0; padding: 40px 36px 20px 24px; width: 710px; min-height: 150px; background-image: repeating-linear-gradient(90deg, #f3f3f3, #f3f3f3 1px, transparent 1px, transparent 10px), repeating-linear-gradient(0deg, #f3f3f3, #f3f3f3 1px, #fff 1px, #fff 10px); clip-path: polygon(0 20px, 33% 20px, 37% 0, 38% 20px, 100% 20px, 100% 100%, 0 100%); display: flex; align-items: center; justify-content: space-between; }
.pickup .wanted .wanted-text { margin-right: 12px; }
.pickup .wanted .wanted-text strong { margin-bottom: 4px; color: var(--kc-s500); font-size: 2rem; display: block; }
.pickup .wanted .button a { width: 240px; height: 50px; }

@media screen and (max-width: 1024px) {
  .pickup .inner { width: 100%; }
}

@media screen and (max-width: 767px) {
  .pickup h2 { margin-bottom: 12px; font-size: 2.2rem; }
  .pickup .inner { padding: 0; }
  .pickup .card li { margin: 0 15px; }
  .pickup .card .card-img img { width: 100%; height: auto; }
  .pickup .button { padding: 0 10px; }
  .pickup .wanted .inner { padding: 40px 30px 30px; width: 360px; display: block; }
  .pickup .wanted .wanted-text { margin: 0 0 10px; }
  .pickup .wanted .wanted-text strong { font-size: 1.8rem; letter-spacing: 0; }
  .pickup .wanted .wanted-text p { font-size: 1.5rem; }
  .pickup .slick-list { padding-top: 12px !important; }
}

.monochrome #shop { background: #000; }
.monochrome #shop .card li { background: #333; }
.monochrome #shop .card-title a { color: #fff; }
.monochrome #review { background: #333; }
.monochrome #review .card li { background: #000; }
.monochrome #review .card-title a { color: #fff; }
.monochrome .pickup h2 { color: #fff; }

/* --------------------------------------------------
  イベント
-------------------------------------------------- */

#event { padding: 50px 0; background: var(--kc-p50); }
#event h2 { text-align: center; }
#event .inner { margin: 0 auto; padding: 0 20px; width: 1240px; }
#event ul.card { display: none; }
#event ul.active { display: flex; }
#event .card-img img { width: 230px; height: 120px; object-fit: cover; }

@media screen and (max-width: 1024px) {
  #event .inner { width: 100%; }
}

@media screen and (max-width: 767px) {
  #event .inner { padding: 0 10px; width: 100%; }
  #event .card { margin: 0 auto; width: 100%; flex-wrap: wrap; }
  #event .card li { margin: 0 0 20px; width: 48%; }
  #event .card li:nth-child(5) { display: none; }
}

.monochrome #event { background: #000; }
.monochrome #event h2 { color: #fff; }
.monochrome #event ul.card li { background: #333; }
.monochrome #event time, .monochrome #event .card-title a { color: #fff; }

/* --------------------------------------------------
  トピックス
-------------------------------------------------- */

#topics { padding: 50px 0; background: #ebf0f7; }
#topics h2 { text-align: center; }
#topics .inner { margin: 0 auto; padding: 0 20px; width: 1240px; }
#topics .category { margin-bottom: 20px; }
#topics .category ul { list-style: none; display: flex; }
#topics .category li { margin-right: 10px; }
#topics .category li a { padding: 13px 20px; background: #fff; border: solid 1px #dbdbdb; border-radius: 5px; color: #111; font-size: 1.8rem; display: block; }
#topics .category li a.active { background: var(--kc-p500); }
#topics ul.card { display: none; }
#topics ul.active { display: flex; }
#topics .card-img img { width: 230px; height: 120px; object-fit: cover; }

@media screen and (max-width: 1024px) {
  #topics .inner { width: 100%; }
}

@media screen and (max-width: 767px) {
  #topics .inner { padding: 0 10px; width: 100%; }
  #topics .category { margin: 0 auto 20px; }
  #topics .category ul { flex-wrap: wrap; justify-content: space-between; }
  #topics .category li { margin: 0 0 10px; width: 48%; }
  #topics .category li a { padding: 10px; font-size: 1.6rem; text-align: center; }
  #topics .card { margin: 0 auto; width: 100%; flex-wrap: wrap; }
  #topics .card li { margin: 0 0 20px; width: 48%; }
  #topics .card li:nth-child(5) { display: none; }
}

.monochrome #topics { background: #000; }
.monochrome #topics h2 { color: #fff; }
.monochrome #topics ul.card li { background: #333; }
.monochrome #topics time, .monochrome #topics .card-title a { color: #fff; }

/* --------------------------------------------------
  リポート
-------------------------------------------------- */

#report { padding: 50px 0; background: var(--kc-p50); }
#report h2 { text-align: center; }
#report .inner { margin: 0 auto; padding: 0 20px; width: 1240px; }
#report .card-img img { width: 230px; height: 120px; object-fit: cover; }
#report .card-content { padding-bottom: 10px; }

@media screen and (max-width: 1024px) {
  #report .inner { width: 100%; }
}

@media screen and (max-width: 767px) {
  #report .inner { padding: 0 10px; width: 100%; }
  #report .card { margin: 0 auto; flex-wrap: wrap; }
  #report .card li { margin-bottom: 20px; width: 48%; }
  #report .card li:nth-child(5) { display: none; }
  #report .card-img img { width: 100%; height: auto; aspect-ratio: 23 / 12; }
}

.monochrome #report { background: #333; }
.monochrome #report h2 { color: #fff; }
.monochrome #report .card li { background: #000; color: #fff; }
.monochrome #report .card-title a { color: #fff; }

/* --------------------------------------------------
  バナー
-------------------------------------------------- */

#banner { padding: 50px 0 24px; }
#banner .inner { margin: 0 auto; padding: 0 20px; width: 1240px; }
#banner ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: space-between; }
#banner ul::before, #banner ul::after { content: ''; width: 280px; order: 1; }
#banner li { margin-bottom: 26px; width: 280px; }

@media screen and (max-width: 1024px) {
  #banner .inner { width: 100%; }
}

@media screen and (max-width: 767px) {
  #banner { padding: 38px 0; }
  #banner .inner { width: 260px; }
  #banner ul { position: relative; display: flex; align-items: center; }
  #banner li { margin-bottom: 0; }
  #banner .arrow { width: 30px; height: 30px; background: #424242; border-radius: 15px; display: flex; align-items: center; justify-content: center; position: absolute; }
  #banner .prev { left: -54px; }
  #banner .prev::before { content: ''; margin-right: 2px; width: calc(16px/2); height: 12px; background: #fff; clip-path: polygon(100% 0, 100% 100%, 0 50%); }
  #banner .next { right: -54px; }
  #banner .next::before { content: ''; margin-left: 2px; width: calc(16px/2); height: 12px; background: #fff; clip-path: polygon(0 0, 100% 50%, 0 100%); }
}

.monochrome #banner { background: #000; }

/* --------------------------------------------------
  SNS
-------------------------------------------------- */

#sns { padding: 40px 0; background: #ebf0f7; }
#sns .inner { margin: 0 auto; width: 1050px; display: flex; justify-content: space-between; }
#sns h2 { text-align: center; }
#sns #fb { width: 500px; }
#sns #fb-wrapper { margin: 0 auto; max-width: 500px; }
#sns #fb-wrapper > .fb-page { width: 100%; }
#sns #fb-wrapper > .fb-page > span, #sns2 #fb-wrapper iframe { width: 100% !important; }
#sns #ig { width: 500px; }
#sns ul { padding: 20px; background: #fff; list-style: none; display: flex; flex-wrap: wrap; justify-content: space-between; }
#sns li { margin-bottom: 5px; width: 150px; height: 150px; overflow: hidden; }
#sns li:nth-child(n+7) { margin-bottom: 0; }
#sns li a { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }

@media screen and (max-width: 767px) {
  #sns .inner { width: 100%; text-align: center; display: block; }
  #sns #fb { margin-bottom: 30px; width: 100%; }
  #sns #ig { width: 100%; }
  #sns ul { padding: 30px; }
  #sns li { margin-bottom: 2%; width: 32%; height: auto; aspect-ratio: 1 / 1; }
}

.monochrome #sns { background: #333; }