@charset "utf-8";


.page_title{margin-bottom: 30px;}
@media (min-width:768px) {
    .page_title{margin-bottom: 120px;}
    .page_top{z-index: 1000;}
}


.lead { width:90%; margin:0 auto 25px auto; text-align:left; display:block; font-weight:normal; text-align:justify; }
@media (min-width:768px) {
  .lead { font-size:20px; text-align:center; font-weight:bold; margin-bottom:40px; }
}

@media (max-width:768px) {
  .contents { padding-top:0; padding-bottom: 60px;}
}
.search-tabs_wrap { background:#EDF5FD; padding:17px 0; margin-top:40px; }
@media (min-width:768px) {
  .search-tabs_wrap { margin-top:0; }
}

.search-tabs_wrap .contents { padding:0; display:flex; flex-wrap:wrap; justify-content:space-between; position:relative; }
.search-tabs_forflex { width:100%; display:flex; flex-wrap:wrap; justify-content:space-between; }
.search-tabs_forflex .input_bar { border:none; }

.search-tabs_wrap .contents .allcount { width:100%; margin:10px 0 -5px 0; text-align:center; display:none;}
.search-tabs_wrap .contents .allcount strong { margin:0 10px; font-size:28px; }
.search-tabs_wrap .contents .kensakujoken { width:100%; font-size:14px; margin-top:10px; background:#fff; color:#000; border-radius:5px; padding:5px 10px; position:relative;font-weight:bold;  }
.search-tabs_wrap .contents .kensakujoken strong { line-height:2em; }
.search-tabs_wrap .contents .kensakujoken span { font-size:14px; display:inline-block; line-height:1.5em; }
.search-tabs_wrap .contents .kensakujoken .button_reset { width:160px; margin:0 auto; display:flex; align-items:center; justify-content:center; background:#83D2F7; font-weight:bold; border-radius:10px; padding:3px 10px; color:#004680; }
.button_reset:hover { opacity:0.5; }
.button_reset img { width:22px; margin-right:10px; }
@media (min-width:768px) {
  .search-tabs_forflex { flex-wrap:nowrap; }
  .search-tabs_forflex .input_bar { width:110px; min-width:auto; }
  .search-tabs_wrap .contents .allcount { width:auto; margin:5px 0 0 0; text-align:center; font-size:20px; display:none; }
  .search-tabs_wrap .contents .allcount strong { font-size:48px; }
  .search-tabs_wrap .content .search-tabs { position:relative; }
  .search-tabs_wrap .contents { width:95%; display:flex; align-items:flex-start; }
  .search-tabs_wrap .contents .kensakujoken { width:100%; display:flex; align-items:center; justify-content:space-between; font-size:16px; margin-left:0; font-size:16px; font-weight:bold; }
  .search-tabs_wrap .contents .kensakujoken span { display:inline; margin-top:0; line-height:initial; }
  .search-tabs_wrap .contents .kensakujoken strong { font-size:14px; line-height:initial; }
  .search-tabs_wrap .contents .kensakujoken .button_reset { width:auto; position:relative; top:initial; white-space:nowrap; }
  .search-tabs_wrap .contents .kensakujoken div:nth-child(1) {width: 70%;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;}
}
@media (min-width:1280px) {
  .search-tabs_forflex { width:auto; }
  .search-tabs_forflex .input_bar { width:180px; }
  .search-tabs_wrap .contents .kensakujoken { width:35%; height:auto; min-height:50px; margin-top:0; }
}

.searchopen { width:100%; }
.searchopen .contents .area_wrap { width:100%; display:flex; flex-wrap:wrap; }
.searchopen .contents .area_wrap li { width:auto; }


.search-tabs { gap:10px 2%; }
.search-tabs_wrap .search-open { width:49%; position:relative; letter-spacing:0; }
.search-tabs_wrap .search-open.active { background:#C8F0FB; }
.search-tabs_wrap .search-open::after {content:"";display:inline-block;width:8px;height:8px; margin-top:-4px; margin-left:8px;background:url("/img/common/arrow_down.svg") no-repeat left center/contain;vertical-align:middle;position:absolute;top:50%; right:5px;}
.search-tabs .search-open.disabled { opacity:0.6; pointer-events:none; }
@media (min-width:500px){ 
  .search-tabs_wrap .search-open { width:23.5%; }
}
@media (min-width:768px){ 
  .search-tabs { gap:11px; }
  .search-tabs_wrap .search-open  { width:110px; height:50px; padding-left:10px; padding-right:10px; }
  .search-tabs_wrap .search-open::before {content:"";display:inline-block;width:16px;height:16px;margin-left:8px;background:url("/img/buy/icon_megane.svg") no-repeat left center/contain;vertical-align:middle;position:absolute;left:0;}
}
@media (min-width:1280px){ 
  .search-tabs_wrap .search-open  { width:136px; }
}

.searchope .contents { margin:0; padding:0;  }
.area .contents { margin:0; padding:0;  }
.condition_wrap { width:100%; display:flex; flex-wrap:wrap; gap:24px; }
.condition_wrap li { width:100%; }
.condition_wrap li .img_wrap { width:100%; height:150px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.condition_wrap li .img_wrap img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.condition_wrap li .img_wrap:hover img { transform:scale(1.1); }
.condition_wrap li .img_wrap strong { width:100%; text-align:center; font-weight:bold; color:#fff; position:absolute; font-size:20px; letter-spacing:0.1em; z-index:2; }
.condition_wrap li .img_wrap strong  span { width:100%; display:inline-block; font-weight:normal; }
@media (min-width:768px) {
    .condition_wrap li { width: calc(calc(100% - 48px) / 3);}
    .condition_wrap li .img_wrap { height:216px; }
    .condition_wrap li .img_wrap strong { font-size: min(2.4vw,28px); }
    .condition_wrap li .img_wrap strong  span { font-size:20px; margin-top:10px; font-weight:bold; }
}




/* =========================
   モーダル
   ========================= */
.search-tabs{ display:flex; flex-wrap:wrap; }
.search-open{ width:22%; padding:.7rem 5px; border:1px solid #ddd; border-radius:.5rem;background:#fff; cursor:pointer; line-height:1; font-size:14px; color:#004680; font-weight:bold; letter-spacing:0.1em; transition: all 0.3s ease; }
@media (min-width:768px) {
  .search-tabs { gap:.75rem; }
  .search-open{ width:auto; padding:.7rem 2rem;}
}
.search-open:hover { background:#f2f2f2; }
.modal.is-open{ display:block; }
.modal__overlay{
  position:absolute; inset:0; background:rgba(0,0,0,.45);
  opacity:0; transition:opacity .2s ease;
}
.modal.is-open .modal__overlay{ opacity:1; }

/*モーダルの中身*/
.modal__dialog{position:relative; background:#fff;max-height:92vh; overflow:auto; transform:translateY(10px); opacity:0;transition:transform .2s ease, opacity .2s ease;}
.modal.is-open .modal__dialog{ transform:translateY(0); opacity:1; }
.modal__header{
  position:sticky; top:0; background:#fff; z-index:1;
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 16px; border-bottom:1px solid #eee;
}
.modal__title{ font-size:16px; margin:0; }
.modal__close{
  border:none; background:transparent; font-size:22px; line-height:1; cursor:pointer;
  padding:6px 8px; border-radius:8px;
  position:absolute; 
}

.modal__body{ padding:16px; }
.modal__body a{ display:inline-block; margin:.25rem .5rem .25rem 0; }
.modal__body .field-group{ margin:.75rem 0; display:flex; gap:.75rem; flex-wrap:wrap; }
.modal__body .field-group > span{ min-width:6em; font-weight:600; margin-right:.25rem; }

/* 横並びと「〜」 */
.price-row{ display:flex; align-items:center; gap:18px; }
.range-tilde{ color:#9aa3ad; }

/* モーダルの中身のボタン */
.form-select{position:relative;display:inline-block; width: calc((100% - 30px)/2); }
.form-select select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%2396A0AA' stroke-width='1.6' stroke-linecap='round'/></svg>") no-repeat right 12px center/10px 6px;border:1px solid #C9CED6;border-radius:8px;padding:9px 34px 9px 12px;min-width:150px;height:40px;font-size:14px;color:#333;line-height:1.2;box-shadow:inset 0 1px 0 rgba(0,0,0,.03);cursor:pointer}
.form-select select:hover{border-color:#707070}
.form-select select:focus{outline:0;border-color:#6AA3FF;box-shadow:0 0 0 3px rgba(106,163,255,.18)}
.form-select select::-ms-expand{ display:none; }
.contents .joken_inner { width:100%; display:flex; flex-wrap:wrap; justify-content:space-between; gap:40px;}

.joken_inner div.joken_item { width:100%; display:flex; flex-wrap:wrap; gap:40px; }
.joken_inner div.joken_item .border { padding-bottom:5px; margin-bottom:15px; color: #004680;}
.form-select select { width:40%; }
@media (min-width:768px) {
  .joken_inner div.joken_item { width:30%;   }
  .form-select select{min-width:180px;}
}
.joken_item_long { width:100%; } 
.joken_item_long .form-select { width:100%; }
.joken_item_long .form-select select { width:100%; }
.joken_inner div p.border { width:100%; font-size:18px; font-weight:bold; border-bottom:1px solid #004680; padding-bottom:0; }
.bukken_list p.border {  padding-bottom:5px; margin-bottom:15px; width:100%; font-size:18px; font-weight:bold; border-bottom:1px solid #000;text-align: left; }
.joken_inner div p { width:100%; font-size:18px; font-weight:bold;color: #004680;}
.joken_inner div.kodawari { display:flex; gap:10px; flex-wrap:wrap; }
.joken_inner div.kodawari label { width:100%;display: flex;  align-items: center; }
.joken_inner div .madori_wrap { width:100%; display:flex; gap:10px; flex-wrap:wrap; }
.joken_inner div .madori_wrap li { width:48%; }
.madori_wrap .li { width:50%; display:inline-block; }
label input { margin-right:10px; }


/*タブ*/
:root{ --tabs-offset: 0px; }
.search-tabs_wrap{position: sticky; top: var(--tabs-offset, 0px); z-index: 1000;background:#004680; color:#fff; }
.search-tabs_wrap p.inline_sp { display:inline-block; font-size:18px; line-height:29px; letter-spacing:0.4em;}
.search-tabs{ width:100%; margin:0 0 10px 0; display:flex; justify-content: space-between;}
.search-tabs .nanmaru_shiborikomi { height:100px; position:absolute; top:-100px; }
.search-tabs .search-open[aria-expanded="true"]{font-weight:700; text-decoration: underline;}
@media (min-width:768px) {
  .search-tabs_wrap p.inline_sp { display:none; }
  .search-tabs { width:calc(100% - 270px); justify-content:initial; margin-left:160px; }
  .search-tabs .nanmaru_shiborikomi { width:160px; height:auto; left:0; bottom:-17px; top:initial; }
  .joken_inner div.kodawari label { gap: 10px;}
}
@media (min-width:1280px) {
  .search-tabs { width:590px; margin-left:220px; }
  .search-tabs .nanmaru_shiborikomi { width:auto; height:135px; left:0; bottom:-17px; top:initial; }
}

/*モーダル　物件種別*/
.bukken_list { width:100%; margin:0 auto; display:flex; flex-wrap:wrap; }
.bukken_list form { width:100%; }
.bukken_type { width:100%; border-bottom:1px solid #E5E5E5; padding:10px 0; display:flex; align-items:center;} 
.bukken_type input { margin-right:24px; }
.bukken_type_text{padding: 10px 0 10px 15px;background: white;width: 100%;text-align: left;}

.bukken_list .input_search { margin-top:50px; }
@media (min-width:768px) {
  .bukken_list { width:450px; }
  .joken_inner .input_search { margin-top:80px; }
}

/* ========== 共通========== */
/* sr-only（アクセシビリティ用） */
.sr-only{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* 背景スクロールロック */
body.modal-lock{ overflow: hidden; }

/* ===== モーダル共通 ===== */
.search-modal[hidden]{display:none;}
.search-modal{position:fixed; inset:0; z-index:99999; display:block; top:0; }
.search-modal__scrim{position:fixed; inset:0; background:rgba(0,0,0,.4); opacity:0; transition:opacity .2s ease;}
.search-modal.open .search-modal__scrim{opacity:1;}
.search-modal header { background:none; }

/* ===== フルスクリーンのシート本体（フェードのみ・スライド無し） ===== */
.search-modal__sheet { position:fixed; inset:24px 5%; background:#fff; border-radius:30px; display:flex; flex-direction:column; padding-top:env(safe-area-inset-top); padding-bottom:env(safe-area-inset-bottom); opacity:0; transition:opacity .24s ease; }
.search-modal.open .search-modal__sheet{opacity:1;} /* ← transform指定なし */
@media (min-width:768px){
  .search-modal__sheet {  border-radius:17px; }
}

/* ヘッダー固定・レイアウト */
.search-modal__head{
  position:sticky; top:0; background:#fff; border-bottom:1px solid #fff;
  display:flex; align-items:center; gap:12px; min-height:56px; padding:10px 16px;
  padding-left:calc(16px + env(safe-area-inset-left)); padding-right:calc(16px + env(safe-area-inset-right));
}
.search-modal__title{font-weight:600; font-size:16px;}
.search-modal__inner{margin-left:auto;}

.search-modal__content{
  flex:1 1 auto; overflow:auto; -webkit-overflow-scrolling:touch;
  padding:16px; padding-left:calc(16px + env(safe-area-inset-left)); padding-right:calc(16px + env(safe-area-inset-right));
}
.search-modal__content .contents { width:100%; }
@media (min-width:768px){
  .search-modal__content .contents { width:90%; max-width:1320px; }
}

/* 閉じるボタン（PCで左寄せする調整はそのまま） */
.search-modal__close{appearance:none; border:0; background:transparent; font-size:24px; line-height:1; cursor:pointer;}
.search-modal__head{ width:95%; height:50px; z-index:1; display:flex; align-items:center; gap:8px;}
.search-modal__inner{ width:100%; position:relative; }
.search-modal__inner .search-modal__close{ position:absolute; right:0; margin:0; padding:0; }
@media (min-width:768px){
  .search-modal__inner{ width:min(90%, 1320px); margin:0 auto; }
  .search-modal__inner .search-modal__close{ font-size:30px; left:-2.5%; right:initial; outline: none; }
  .search-modal__head{ width:auto; height:80px; }
}

/* （使っていなければ消してOK）背景スクロールロック用 */
body.modal-lock{overflow:hidden;}

.search-modal__content .contents { padding-top:0; padding-bottom:300px; }

/* ========== モーダル：物件種別 ========== */
.bukken_list{ width:100%; margin:0 auto; display:flex; flex-wrap:wrap; }
.bukken_list form{ width:100%; }
.bukken_type{ width:100%; border-bottom:1px solid #E5E5E5; padding:0; display:flex; align-items:center; }
.bukken_type label { width:100%; display:flex; align-items:center;  border-bottom: 1px solid #DADADE;background: #F5F5F5;padding-left: 15px;}
.bukken_type a { width:100%; position:relative; padding: 10px 0 10px 15px; text-align: left;background: white;}
.bukken_type a::after { content:""; position:absolute; right:5%; top:50%; transform:translateY(-50%); width:7px; height:7px; background-image:url("/img/common/icon_arrow_right_b.svg"); background-size:contain; background-repeat:no-repeat; }
.bukken_type input{ width: 18px; aspect-ratio: 1 / 1; margin-right:24px; }
.bukken_list .input_search{ margin-top:50px; }
.bukken_list .bukken_type a:hover { text-decoration:underline;}
.bukken_list p.border{padding-left: 15px;text-align: left;border-bottom: 1px solid;padding-bottom: 5px;margin-bottom: 0;color: rgb(0, 70, 128);}
@media (min-width:768px){
  .bukken_list{ width:100%;}
  .bukken_list{margin-top: 20px;}
}


/* ========== モーダル：エリア ========== */
.area_wrap{ width:100%; display:flex; flex-wrap:wrap; position:relative; }
.area_wrap li{ width:100%; background:none;}
.area_wrap li.area_sub { display:flex; align-items:center; position:relative; }
.area_wrap li.area_sub .area_sub_arrow { width:5px; height:auto; position:absolute; right:30px; top:50%; transform: translateY(-50%);}
.area_wrap li.area_title { width:100%; background:#F5F5F5; padding:10px 0 10px 0;margin: 0 auto;}
.area_wrap li.area_title_sub { width:100%; }
.area_title{width:100%; background:#F5F5F5; padding:10px 0 10px 32px; display:block; margin-bottom:0px;}
.searchopen .contents .area_wrap li.area_title_sub{width:100%; display:block; margin-bottom:10px;}
.area_wrap li a:hover { text-decoration:underline;}
@media (min-width:768px){
  .area_wrap{width: 100%;margin: 0 auto;}
  .area_wrap li.area_title { padding-left:32px; }
  .area_wrap li.area_title_sub { width:100%; margin:0; }
  .area_wrap li{ width:20%; background:none;}
  .area_sub {margin-left:0px; }
}

/* 見出し */
.area_title h2{font-size:20px; font-weight:bold; letter-spacing:.05em; color:#004680; padding-left:16px; }
.area_title_sub h3{ width:100%;font-size: 18px;text-align: left;line-height:1.2; color:#004680; letter-spacing:.1em;border-bottom:1px solid #004680; padding: 0 0 10px 20px; margin-top:35px; }
.search-modal__title { color:#fff; }
@media (min-width:768px){
.area_title_sub h3{  margin-left:0px;}
}


/*  学校アコーディオン（＋/− とスムース開閉） */
.acc-summary::-webkit-details-marker{ display:none; }

/* トリガー行 */
.acc-summary{width:100%; background:#F5F5F5; display:flex; align-items:center; justify-content:space-between;cursor:pointer; padding:10px 16px; margin-bottom:10px;}
.acc-title{ font-size:20px; font-weight:bold; letter-spacing:.05em; color:#004680; margin:0; }
.acc-title .acc-icon{ margin:0; }
.acc-icon::before{ content:"+"; font-weight:700; font-size:24px; line-height:1; }
.acc-city[open] .acc-icon::before{ content:"–"; } /* 開いたらマイナス */

/* スムース開閉（max-heightアニメ） */
.acc-panel{ max-height:0; overflow:hidden; transition:max-height .25s ease;}
.acc-city[open] .acc-panel{ max-height:6000px; padding-bottom:12px; }
.acc-sub{ font-size:18px; line-height:1.2; color:#004680; letter-spacing:.05em; margin:16px 0 8px; }
@media (min-width:768px) {
 .acc-sub {padding-left:16px;  }
}

/* 学校 */
.school-list{width:100%; display:flex; flex-wrap:wrap;margin:0; padding-left:1.2em;}
.school-list li {width:100%; }
.school-list li a { width:100%; display:inline-block; text-decoration:none; position:relative; }
.school-list li a .sub_arrow { width:5px; height:auto; position:absolute; right:30px; top:50%; transform: translateY(-50%);}
.school-list li a:hover{ text-decoration:underline; }
@media (min-width:768px) {
  .school-list li{width:20%;}
}
@media (prefers-reduced-motion: reduce){
  .search-modal__scrim, .search-modal__sheet, .acc-panel{ transition:none !important; }
}


/* =========================
   マップ
   ========================= */
.map-index{ width:100%; position:relative; }
.map-index #sp-iw { top:50px; }
#map { height:85vh;  z-index: 0 !important; margin-bottom:0px;  } 
@media (min-width:768px) {
  #map { height:790px; max-height:85vh; position:relative; z-index:0; margin-bottom:0; } 
  .map-wrap { position:relative; /*isolation: isolate; */}
  .map { position:absolute; top:0; }
}
.map-wrap .map_hint { display:none; } 
 @media (min-width:768px) {
  .map-index #sp-iw { top:auto; }
  .map-wrap .map_hint { width:325px; position:absolute; top:0px; left:0; z-index:1; pointer-events:none; border:0; overflow:visible; display:block; }
  .map-wrap .map_hint *{ pointer-events: auto; }
  .map-wrap .map_hint .map_hint_text {  position:relative; text-align:left; }
  .map-wrap .map_hint .map_hint_text img{ width:100%; height:auto; display:block; position:absolute; top:0; left:0; z-index:1; }
  .map-wrap .map_hint .map_hint_text p { font-size:26px; line-height:36px; color:#fff; position:relative; z-index:2; margin-top:13%; margin-left:10%; display:inline-block; }
  .map-wrap .map_hint .map_hint_text .illust { width:35%; position:relative; z-index:2; margin-left:10%;padding-top: 10px; }
  .map-wrap .map_hint .map_hint_text img.map_arrow { width:85px; position:absolute;  top:60%; left:auto; right:0;}
}
.gm-style .gm-style-iw-c { width:380px; border:3px solid #004680; }



/* =========================
   キーワード検索
   ========================= */
.keyword_wrap { width:100%; padding:50px 0 0 0; display:flex; flex-wrap:wrap; justify-content:space-between;}
.keyword_wrap input { width:100%; height:40px; border:none; color:#000; }
.keyword_wrap input:focus,
.keyword_wrap input:focus-visible {
  outline: none;
  box-shadow: none;
}
.keyword_wrap strong { width:100%; font-size:24px; color:#333333; }
.keyword_wrap span.keyword_wrap_en { width:100%; color:#FC5942; }
@media (min-width:768px) {
  .keyword_wrap { padding:50px 0; display:flex; flex-wrap:wrap; flex-direction:column; justify-content:space-between; }
  .keyword_wrap div { width:100%; margin:0 auto; display:block; text-align:center; }
  .keyword_wrap div:nth-child(2) { margin-top:10px; }
  .keyword_wrap strong { font-size:36px; color:#000; }
  .keyword_wrap span.keyword_wrap_en { margin-bottom:20px; }
}
@media (min-width:1280px) {
  .keyword_wrap div:nth-child(2) { width:540px; }
}

.keyword_wrap .kensaku { width:100%; max-width:400px; padding-left:10px; display:flex; align-items:center; height:40px; background:#FFF; justify-content: space-between; position:relative; margin-top:10px; border:1px solid #ccc; border-radius: 5px; }
@media (max-width:768px) {
.keyword_wrap .text_bold { font-weight:normal; font-size:16px; text-align:left; }
.keyword_wrap span { margin-bottom:10px; }
}
@media (min-width:768px) {
  .keyword_wrap .kensaku { height:50px; margin-top:0px; }
}
@media (min-width:1000px) {
  .keyword_wrap .kensaku { height:50px; margin-top:0px; }
}

.search-button { fill:#004680; position:absolute; right:5%; top:30%; }           
.search-button img { width:24px; }           
.kensaku-form { width:auto; }
@media (min-width:768px) {
.kensaku-form { width:85%; margin-left:5%; }
}



/* =========================
   会員登録
   ========================= */
.members_wrap { width:100%; padding: 35px 0 40px 0; margin-bottom:60px; }
.members_wrap .contents { padding:0;}
.members_title strong.midashi { width:50%; font-size:22px; line-height:30px; text-align:left; color:#FC5942; margin-bottom:15px; margin-left:50%; }
.members_wrap p { width:100%; font-size:16px; text-align:center; display:inline-block; margin-bottom:10px; border-bottom:1px solid #fff; padding-bottom:10px; font-weight:500; }
.members_wrap p.inline_pc { display:none; }
.members_wrap .members_title { position:relative; }
.members_wrap .members_title .nanmaru_member { width:150px; top:-20px; left:0; position:absolute; }
.members_wrap .illust_title_town  { display:none; }
@media (min-width:768px) {
  .members_wrap { height:450px; position:relative; padding: 40px 0;padding-top:70px; margin-bottom:0; }
  .members_wrap strong.midashi { width:100%; font-size:36px; line-height:48px; margin-left:initial; letter-spacing:0.05em; text-align:center;margin-bottom:20px;}
  .members_wrap p{padding-bottom:20px;margin-bottom:20px;}
  .members_wrap p.inline_pc { font-size:18px; font-weight:bold; border-top:1px solid #fff; padding:24px 0 40px 0; border-bottom:0; display:block; }
  .button_register { width:350px; }
  .members_wrap .members_title .nanmaru_member { width:260px; right:-80px; left:initial; top:100px; display:block; }
  .members_wrap .illust_title_town { position:absolute; bottom:0; display:block; }
  .members_wrap p.inline_sp { display:none; }

}
@media (min-width: 768px) and (max-width:1280px) {
    .members_wrap { height:auto; }
    .members_wrap .members_title .nanmaru_member { display:none;  }
    .counter { margin:0 auto; }
}


/*カウンター*/
.counter { width:100%; display:flex; flex-wrap:wrap; justify-content: space-between;}
.counter li span.kensu { font-size:30px; color:#000; font-weight:normal; margin-left:10px; }
.counter li { width:100%; text-align:center; }
.counter li:first-child { margin-bottom:10px; }
.counter li:nth-child(2) { display:flex; margin-bottom:20px; color:#FC5942; align-items:end; justify-content: center;}
@media (min-width:768px) {
  .counter { width:auto; margin-top:24px; }
  .counter li { width:auto; display:flex; align-items:center; text-align:left; }
  .counter li:first-child  { font-size:24px; color:#FC5942; font-weight:bold; }
  .counter li:nth-child(2) { margin-bottom:0; }
  .counter .button_register { z-index:1; }
}
@media (min-width: 768px) and (max-width: 1024px) {
    .members_wrap { height:auto; padding-bottom:80px; }
    .counter { width:auto; margin:0 auto; }
    .counter li:nth-child(3){ margin:30px auto 0 auto; }

    
}
@media (min-width:1280px) {
    .counter { width:900px; margin:0 auto; }
}
.number-box {font-variant-numeric: tabular-nums;font-feature-settings: "tnum" 1;}
.number-box .digit {display: inline-flex;align-items: center;justify-content: center;width: 1em;height: 1.35em;background: #fff;line-height: 1;vertical-align: middle;font-size: 50px;}
@media (min-width:768px) {
  .number-box .digit { font-size: 69px; }
}


/* =========================
   コンテンツ / ボタン群
   ========================= */
.button_contents { width:100%; display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; }
.button_contents li { width:48%; display:flex; align-items:center; border:2px solid #004680; border-radius:10px; overflow:hidden; box-shadow:0 3px 6px rgba(0,0,0,.16); }
.button_contents li a { width:100%; height:100%; display:flex; align-items:center; flex-wrap:wrap; padding:16px 0; position:relative; }
.button_contents li a::after { content:""; position:absolute; top:50%; right:7%; transform:translateY(-50%); width:8px; height:8px; background:url("/img/common/icon_arrow_right_blue.svg") no-repeat center / contain; }
.button_contents li a:hover { background:#f2f2f2; }
.button_contents li a img { width:auto; height:35px; margin:0 auto; display:block; }
.button_contents li a span { width:100%; text-align:center; display:inline-block; font-weight:bold; color:#004680; font-size:15px; }
@media (min-width:768px) {
  .button_contents { margin-top:40px; margin-bottom:120px; }
  .button_contents li { width: calc(calc(100% - 10px) / 2); }
  .button_contents li a { padding:25px 0 25px 5%; }
  .button_contents li a::after { width:12px; height:12px;}
  .button_contents li a img  { width:50px; margin:0; }
  .button_contents li a span { width:auto; font-size:18px; margin:0 0 0 10px; }
}
@media (min-width:1200px) {
  .button_contents li { width: calc(calc(100% - 20px) / 3); }
  }
@media (min-width:1200px) {
    .button_contents li { width: calc(calc(100% - 30px) / 4); }
  }

/* =========================
   エリアガイド
   ========================= */
.guide_wrap { width:100%; position:relative; display:flex; flex-wrap:wrap; margin-top:-17vh;  }
.guide_wrap .guide:nth-child(1) { margin-bottom:80px; } 
.guide_wrap .photo_wrap { width:100%; height:390px; position:absolute; }
.guide_wrap .photo_wrap::after {content: "";position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0,0,0,0.3); mix-blend-mode: multiply;         pointer-events: none;             }
.guide_wrap .photo_areaguide { width:100%; height:100%; object-fit:cover; }
.guide_wrap .guide_item { width:90%; margin:0 auto; padding-top:60px; display:block; position:relative; }
.guide_wrap .guide_item strong { width:100%; font-size:28px; font-weight:bold; text-align:center; color:#fff; margin-bottom:24px; }
.guide_wrap .guide_item strong span { width:100%; display:inline-block; font-size:16px; font-weight:normal; }
.guide_wrap .guide_item .illust_guide { width:70%; margin:40px auto 20px auto; display:block; }
.guide_wrap .guide_item p { width:80%; margin:0 auto; display:block; color:#fff; }
.guide_wrap .guide_item .button_wrap { width:100%; }
.guide_wrap .guide_item .button_wrap li { margin-bottom:10px; }
 .guide_wrap .guide.reverse  { margin-bottom:80px; }
 @media (min-width:768px) {
  .guide_wrap .guide_item .button_wrap{display: flex;gap: 20px;justify-content: center;}
  .guide_wrap .guide_item .button_wrap li {margin-bottom: 10px;width: 350px;}
  .guide_wrap .guide_item .illust_guide { width:30%;}
  .guide_wrap .guide_item{width: 100%;}
  .guide_wrap .photo_wrap::after{z-index: 1;transition: initial;transform: translate(0px, 0px);}
  .guide_wrap .guide:nth-child(1) {width: 100%;}
  .guide_wrap .guide:nth-child(2) {width: 100%;}


  }
@media (min-width:1100px) {
  .guide_wrap { width:100%; height:auto; display:flex; justify-content: space-between; margin-top:initial; }
  .guide_wrap .guide { width:100%; display:flex; flex-wrap:wrap; margin-bottom:80px; }
  .guide_wrap .guide.reverse { width:100%; display:flex; flex-direction:row-reverse; margin-bottom:120px; }
  .guide_wrap .guide .photo_wrap { width: min(50vw,600px); position:relative; margin-bottom:0; }
  .guide_wrap .guide .guide_item { width:45%; display:flex; flex-wrap:wrap; padding-top:40px;gap: 15px;align-items: center; }
  .guide_wrap .guide .guide_item .text { width:50%; }
  .guide_wrap .guide_item .illust_guide  { width: min(20vw,260px);margin: 0;}
  .guide_wrap .guide .guide_item strong  { width:100%; color:#333333; text-align:left; }
  .guide_wrap .guide_item strong span { text-align:left; color:#FC5942; }
  .guide_wrap .guide .guide_item p { width:100%; color:#333333; margin:0; }
  .guide_wrap .guide_item .button_wrap { display:flex; justify-content: space-between;}
  .guide_wrap .guide_item .button_wrap li { width:48%; }
  .guide_wrap .photo_wrap::after { content:none; }
}
@media (min-width:1300px) {
    .guide_wrap .guide { width:90%;}
    .guide_wrap .guide_item .illust_guide  { width:260px; }
    .guide_wrap .guide.reverse { width:95%;margin-left:5%; }
      .guide_wrap .guide .photo_wrap { width:50%; }



}


.contents_bg_excursion_wave_bottom { margin-bottom:80px; }


/*モーダル修正*/
.modal { display: none; position:fixed; inset: 0; background:rgba(0,0,0,0.3); justify-content: center; align-items: center; z-index: 9999; }
@media (min-width:768px) {
  .modal { position: absolute; background:none; }
}

/* フェードイン効果 */
.modal.show { display:block; animation: fadeIn 0.2s ease-in-out; }

.modal_contents { height:90%; width: 90%; margin:5%; max-width: 440px; overflow-y:scroll; background: #fff; padding:20px 0; border-radius: 8px; position: relative; text-align: center; }
.modal_contents .area_wrap li.area_title { padding-left:0; }
.modal_contents .area_wrap li.area_title h2 { padding-left:0; }
.modal_contents li.area_sub { width:100%;border-bottom: 1px solid #DADADE;background: #F5F5F5;padding-left: 15px;}
.modal_contents li.area_sub a{padding: 10px 0 10px 15px;width: 92%;  text-align: left;background: white;}
.modal_contents li.area_sub input { margin-right:15px;}
input[type="checkbox"] {width: 27px;height: 25px;appearance: none;-webkit-appearance: none;border: 1.5px solid #666;border-radius: 4px; cursor: pointer;margin-right: 15px; position: relative;background-color: #fff;}
input[type="checkbox"]:checked {background-color: #FC5942;border-color: #FC5942;}
input[type="checkbox"]:checked::after {content: "";position: absolute;top: 4px;left: 8px;width: 6px;height: 12px;border-right: 2px solid #fff;border-bottom: 2px solid #fff;transform: rotate(45deg);}
.modal_contents .acc-sub {padding-left: 15px;text-align: left;border-bottom: 1px solid;padding-bottom: 10px;margin-bottom: 0;}
.modal_contents .school-list { padding-left:0; }
.modal_contents .school-list li { width:100%; text-align:left; border-bottom: 1px solid #DADADE;display: flex;  align-items: center;}
.modal_contents .school-list li a { width:92%; }
.modal_contents .school-list li a .sub_arrow { right:30px; }
.school-list li { width:100%;border-bottom: 1px solid #DADADE;background: #F5F5F5;padding-left: 15px;}
.school-list li a{padding: 10px 0 10px 15px;width: 100%;  text-align: left;background: white;}

.modal_contents .joken_inner { width:90%; margin:20px auto 0 auto; }
.modal_contents .joken_inner div.joken_item { width:100%; text-align:left; }
.modal_contents .joken_inner div.joken_item:nth-child(2) { margin-top: 40px;margin-bottom:30px; }
.madori_wrap label{display: flex;  align-items: center;}


@media (min-width:768px) {
  .modal_contents { width:440px; height:calc(100vh - 180px); margin:0; overflow-y:scroll; top:75px;padding:20px; }
  input[type="checkbox"] {width: 20px;height: 20px;}
  input[type="checkbox"]:checked::after{top: 2px;left: 6px;}
  .modal_area .modal_contents { left:17.5%; }
  .modal_school .modal_contents { left:27.5%; }
  .modal_type .modal_contents { left:37.5%; }
  .modal_joken .modal_contents { left:47.5%; }
  .modal_contents .bukken_type { text-align:left; }
  .modal_contents .joken_inner { width:100%;}
  .madori_wrap label{gap: 10px;}
  .modal_contents .school-list li a .sub_arrow {right: 23px;}


}

@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.98); }
  to { opacity: 1; transform: scale(1); }
}

/* ===== タブ部分 ===== */
.tab-buttons { display: flex; justify-content: center; gap:5%; margin-bottom: 1em; }
.tab-btn { flex: 1; padding: 0.6em; border: none; cursor: pointer; background: #fff; border: 1px solid #ddd; border-radius: .5rem; transition: background 0.2s; position:relative; }
.tab-btn::after { content: ""; display: inline-block; width: 8px; height: 8px; margin-top: -4px; margin-left: 8px; background: url("/img/common/arrow_down.svg") no-repeat left center/contain; vertical-align: middle; position: absolute; top: 50%; right: 5px; }
.tab-btn.active { background: #EDF5FD; }
.tab-content {display: none;}
.tab-content.active {display: block;}

/* ボタン */
.close-modal { width:calc(100%); margin:20px 0px 0px 0px; padding:20px; display:flex; gap:5%; justify-content:space-between; align-items:center; position:sticky; bottom:-20px; background:rgba(255,255,255,0.7); }
.close-modal .input_search { max-width:90%; }

/*件数*/
.allcount_wrap { width:90%; background:#EDF5FD; padding:10px 0;  margin:0 auto 130px auto; display:flex; flex-wrap:wrap; border-radius:10px; }
.allcount { width:95%; justify-content:center; font-weight:500; font-size:18px; text-align:center; border-bottom:1px solid #B9B9B9; margin:0 auto; padding-bottom:10px; margin-bottom:10px; }
.allcount strong { margin:0 5px; position:relative; z-index:1; }
.allcount strong em { color:#FF5C45; font-size:38px; font-weight:bold; position:relative; z-index:1; letter-spacing:0.05em; }
.allcount strong::after {content:"";position:absolute;left:0;bottom:0;width:100%;height:12px;background:#FDFD9A; z-index:0; }
.allcount_wrap ul { display:flex; margin:0 auto; gap:23px;  }
.allcount_wrap ul li { display:flex; align-items:center; }
.allcount_wrap ul li strong { font-size:33px; font-weight:bold; color:#004680; letter-spacing:0.05em; }
.allcount_wrap ul li strong small { font-size:16px; font-weight:bold; line-height:30px; color:#333333; }
.allcount_wrap ul li span {  font-size:12px; line-height:14px; border:1px solid #004680; color:#004680; margin-right:7px; padding:1px; display:inline-block; }
@media (min-width:768px) {
  .allcount_wrap { width:70%; justify-content:center; gap:70px; padding:25px 0; }
  .allcount { width:auto; border-bottom:0 ;margin:0; padding-bottom:0; }
  .allcount_wrap ul { margin:0; }
  .allcount { font-size:25px; }
  .allcount strong em { font-size:53px; }
  .allcount_wrap ul li span { font-size:17px; line-height:20px; margin-right:10px; }
  .allcount_wrap ul li strong  { font-size:46px; }
  .allcount_wrap ul li strong small { font-size:23px; margin-left:9px; }

}

/* 余白調整 */
.section_title.bgtext{margin-bottom: 20px;}
.contents_bg_excursion.newestate{padding-top: 20px!important;}
.close-modal .input_bar { text-indent:20px; background-position: 10px 50%;}
@media (min-width:768px) {
  .section_title.bgtext{margin-bottom: 80px;}
  .contents_bg_excursion.newestate{padding-top: 80px!important;}
  .close-modal .input_bar { text-indent:20px; }

  
}
