@charset "utf-8";

/* スマホ（〜767px） */
@media (max-width: 767px) {
  /* スマホ専用スタイル */
}

/* タブレット（768px〜1024px） */
@media (min-width: 768px) and (max-width: 1024px) {
  /* タブレット専用スタイル */
}

/* PC（1025px〜） */
@media (min-width: 1025px) {
  /* PC専用スタイル */
}

@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
body {  font-family: "Noto Sans", sans-serif;font-weight: 400; font-style: normal; color: #343330; font-size: 16px; line-height: 1.75em; overflow-x: hidden; letter-spacing: 0.04em; }
*, *::before, *::after {box-sizing: border-box;}
a:hover { cursor: pointer; }
main { position: relative; margin-top: 66px; }
@media (min-width:1250px) {
  main { margin-top:85px; }
}
@media (min-width: 1470px) {
  main { margin-top: 100px; }
}

/*PCスマホ表示切り替え用*/
.br_pc {display: none !important;}
.pc {display: none;}
.sp {display: block;}
.inline_sp { display: inline; }
.inline_pc { display: none; }
.inline_pc_only { display: none; }
.display_none { display: none; }
.no_wrap { white-space: nowrap; }
@media screen and ( min-width: 768px ) {
    .sp {display: none !important;}
    .pc {display: block;}
    .br_sp {display: none !important;}
    .br_pc {display: inline !important;}
    .inline_sp { display: none; }
    .inline_pc { display: inline; }
}
@media screen and ( min-width: 1025px ) {
  .inline_pc_only { display: inline; }
}


/*パンくず*/
.breadcrumb_list { position: absolute; top:10px; left: max(5vw, calc(50vw - 600px)); display: flex; align-items: center; width: min(90vw, 1200px); overflow-x: scroll; z-index: 900; }
.breadcrumb_list li { display: flex; align-items: center; }
.breadcrumb_list li::after { content: ''; display: inline-block; width: 6px; aspect-ratio: 1 / 1; margin: 0 8px; border-top: 1px solid #A3A3A3; border-right: 1px solid #A3A3A3; transform: rotate(45deg); }
.breadcrumb_list li:last-child::after {content: none;}
.breadcrumb_list li a, .breadcrumb_list li span { white-space: nowrap; }
@media screen and ( min-width: 768px ) {
  .breadcrumb_list { overflow-x: visible; }
}

/*ページ*/
.contents_wrap { width: 100%; }
.contents { width: min(90%, 1200px); margin: 0 auto; padding: 80px 0; }
.contents.nopadding { padding: 0; }
.contents.nopadding_bottom { padding-bottom: 0; }
.contents.nopadding_top { padding-top: 0; }

/*横幅いっぱい背景*/
.contents_bg_basic { background:#F1F7EF; }  /*基本の薄緑*/
.contents_bg_contact { background:#C89E4D; }  /*お問い合わせ用黄色*/
.contents_bg_gray { background:#F4F4F4; }  /*グレー*/
.contents_bg_gradation { background: linear-gradient(to bottom, #F1F7EF, #a5d6a7); }  /*グラデーション*/
.contents_bg_wave_green { position: relative; width: 100vw; }
.contents_bg_wave_green .wave_green { position: absolute; top: 0; right: 0; width: 100vw; transform: scale(1, 1.5); transform-origin: top; }
.contents_bg_wave_white { position: relative; width: 100vw; }
.contents_bg_wave_white .wave_white { position: absolute; top: -1px; right: 0; width: 100vw; transform: scale(1, 2); transform-origin: top; }
@media screen and ( min-width: 768px ) {
  .contents_bg_wave_green .wave_green { width: calc(25% + 50vw); transform: scale(1); }
  .contents_bg_wave_white .wave_white { transform: scale(1); }
}

/*フォント*/
p,strong,span,small { display: inline-block; }
.bold { font-weight: bold; }
p { line-height: 2em; letter-spacing: 0.05; }
@media screen and ( max-width: 768px ) {
  p { line-height: 1.7em; }
}
.text_align_justify { text-align: justify;  /* line-break: anywhere; または line-break: loose; */ }


/*注釈*/
.note { font-size: 14px; line-height: 1.5em; }
@media screen and ( max-width: 768px ) {
  .note { font-size: 16px; }
}

/*別タブ*/
.target_blank_img { width: 0.9em; margin-left: 0.3em; aspect-ratio: 1 / 1; }

/*色_フォント*/
.color_w { color: #FFF; }
.color_b { color: #343330; }
.color_g { color: #797979; }
.color_primary { color: #529535;}
.color_primary_light { color: #529535; opacity: 0.078; }
.color_secondary { color: #C89E4D;  }

/*フォント_位置*/
.text_center { width: 100%; text-align: center; display: inline-block; }
.text_left { width: 100%; text-align: left; display: inline-block; }
.text_right { width: 100%; text-align: right; display: inline-block; }
.text_justify { width: 100%; text-align: justify; display: inline-block; }

/*フォント_サイズ*/
.text_ll { font-size:28px; letter-spacing:0.08em; line-height: 1.5; }
.text_lm { font-size:24px; letter-spacing:0.08em; line-height:1.5; }
.text_l { font-size:20px; letter-spacing:0.08em; line-height:1.75; }
.text_ml { font-size:18px; letter-spacing:0.04em; line-height:1.75; }
.text_m { font-size:18px; letter-spacing:0.04em; line-height:1.75; }
.text_normal { font-size:16px; letter-spacing:0.04em; line-height:1.75; }
.text_s { font-size:13px; letter-spacing:0.04em; line-height:1.75; }
@media screen and (min-width: 768px) {
.text_ll { font-size:40px; }
.text_lm { font-size:32px; line-height:1.75; }
.text_l { font-size:24px; line-height:1.75; }
.text_ml { font-size:20px; }
}

/*フォント_太さ*/
.text_bold { font-weight: 700; }
.text_semibold { font-weight: 600; }
.text_medium { font-weight: 400; }

/*フォント_字間*/
.letterspace1 { letter-spacing: 0.1em; }
.letterspace05 { letter-spacing: 0.05em; }


/*末尾省略*/
.ellipsis-1 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ellipsis-2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }


/*チェックボックス*/
.checkboxItem { display: inline-flex; align-items: center; column-gap: 4px; line-height: 1; cursor: pointer; }
.checkboxItem:not(:last-of-type) { margin-right: 16px; }
.checkboxItem input[type="checkbox"] { appearance: none; position: relative; width: 25px; height: 25px; background: #FFF; border: 1px solid #343330; cursor: pointer; }
.checkboxItem input[type="checkbox"]:hover { background: #EEE; }
.checkboxItem input[type="checkbox"]:checked { border: 1px solid #529535; background: #529535; }
.checkboxItem input[type="checkbox"]:checked:hover { opacity: 0.8; }
.checkboxItem input[type="checkbox"]:checked::after { content: ''; position: absolute; top: 3px; left: 9px; width: 6px; height: 14px; border: solid #FFF; border-width: 0 2px 2px 0; transform: rotate(45deg); }
@media (min-width:768px) {
  .checkboxItem input[type="checkbox"] {width: 20px; height: 20px;}
  .checkboxItem input[type="checkbox"]:checked::after { top: 2px;left: 6px;width: 6px;height: 11px;}
}

/*ラジオボタン*/
input[type="radio"] { appearance: none; position: relative; width: 22px; height: 22px; aspect-ratio: 1 / 1; border: 1px solid #343330; border-radius: 50%; cursor: pointer; }
input[type="radio"]:checked { border: 1px solid #529535; }
input[type="radio"]:checked::after { content: ""; position: absolute; inset: 0; width: 12px; aspect-ratio: 1 / 1; margin: auto; border-radius: 50%; background-color: #529535; }


/*セレクト*/
.selectPulldownItem:hover, .selectStepperItem:hover { background: #EEE; }
.selectPulldownItem { border: 1px solid #A3A3A3; background: #FFF; line-height: 1em; }
.selectPulldownItem select { padding: 8px; background: url('/img/common/selectPulldown_allow.svg') no-repeat right 8px center / 10px auto; -webkit-appearance: none; appearance: none; }
.selectStepperItem { border: 1px solid #A3A3A3; background: #FFF; line-height: 1em; }
.selectStepperItem select { padding: 8px; background: url('/img/common/selectStepper_allow.svg') no-repeat right 8px center / 10px auto; -webkit-appearance: none; appearance: none; }



/*========== x-h1 ==========*/
.page_top_wrap { position: relative; z-index: 1; }
.h1_en { font-size: 44px; line-height: 1em; margin-top: 0.5em; }
.contents_page_top_complex .h1_en { font-size: 64px; }
.h1_jp { margin-top: -0.5em; }
.page_top_img { position: absolute; top: 50px; right: 0; transform: scale(50%); transform-origin: right; }
.page_top_text { text-align: justify; }
.page_top_text span{ display: inline;}
@media screen and ( max-width: 767px ) {
    .h1_wrap { position: relative; }
    .h1_en { position: absolute; top: 0; left: 0; right: 0; margin-top: 0; z-index: -1; }
    .h1_jp { padding-top: 0.8em; }
    .contents_page_top_complex .h1_jp { padding-top: 1.2em; }
}
@media screen and ( min-width: 768px ) {
  .h1_en { font-size: 100px; }
  .page_top_img { transform: scale(100%); }
}
@media screen and ( min-width: 1025px ) {
  .page_top_wrap.text_center .page_top_text { text-align: center; }
}

/* 飛び跳ねるドット */
.dot_bounce { display: inline-flex; gap: 4px; padding: 20px 4px 60px; }
.dot_bounce span { width: 8px; aspect-ratio: 1 / 1; border-radius: 50%; animation: bounce 0.6s ease-in-out; animation-iteration-count: 1; }
.dot_bounce span:nth-child(1) { background: #529535; animation-delay: 0s; }
.dot_bounce span:nth-child(2) { background: #343330; animation-delay: 0.2s; }
.dot_bounce span:nth-child(3) { background: #C89E4D; animation-delay: 0.4s; }
@keyframes bounce {
 0%, 100% {
    transform: translateY(0);
  }
  30% {
    transform: translateY(-10px);
  }
  60% {
    transform: translateY(0);
  }
}



/*========== x-heading ==========*/
.heading { display: flex; align-items: flex-end; justify-content: space-between; border-bottom: 1px solid #529535; padding-bottom: 10px; margin-bottom: 16px; }
.heading_text_wrap { display: flex; align-items: center; }
.heading_number { padding-bottom: 12px; margin-right: -40px; font-size: 64px; letter-spacing: 0.08em; line-height: 0.4em; }
.contents_bg_gradation .heading_number { color: #FFF; }
.heading_title { margin-right: 10px; }
.heading_img { height: 60px; }
.heading_badge_text_wrap { display: flex; align-items: flex-end; }
.heading_badge { position: relative; display: flex; flex-direction: column; align-items: flex-end; margin-left: 0px; z-index: 1; }
.heading_badge::before { content: ''; position: absolute; right: 0; bottom: 0; width: 52px; aspect-ratio: 1 / 1; border-radius: 50%; background-color: #F1F7EF; z-index: -1; }
.heading_badge_text { font-size: 14px; letter-spacing:0.04em; line-height:1; }
.heading_badge_number { position: relative; line-height: 1.2; }
.heading_badge_number::after { content: '／'; position: absolute; bottom: 0; right: -24px; }
.heading_badge_title { line-height: 1.2; margin-left: 32px; }
@media screen and ( min-width: 768px ) {
  .heading { margin-bottom: 20px; }
  .heading_number { padding-bottom: 18px; margin-right: -60px; font-size: 100px; }
  .heading_img { height: 90px; }
  .heading_badge { margin-left: 0px; }
  .heading_badge::before { width: 60px; right: 8px; bottom: 4px; }
  .heading_badge_text { font-size: 16px; }
  .heading_badge_number::after { right: -30px; }
  .heading_badge_title { margin-left: 40px; }
}


/*========== x-symbol ==========*/
.symbol { width: 24px; aspect-ratio: 1 / 1; padding: 6px; background: #529535; border: 1px solid #529535; border-radius: 50%; transition: all 1s cubic-bezier(.23,1,.32,1); }
.symbol_left { transform: rotate(180deg); }
.symbol_down { transform: rotate(90deg); }
.symbol_fill_white { background: #FFF; }
.symbol_fill_dark { background: #00000070; border: 1px solid transparent; }
.symbol_fill_contact { background: #C89E4D; border: 1px solid #C89E4D; }
.symbol_external { position: relative; width: 24px; aspect-ratio: 1 / 1; }
.symbol_external_square { position: absolute; bottom: 18%; left: 18%; width: 60%; aspect-ratio: 1 / 1; }
.symbol_external_arrow { position: absolute; top: 15%; right: 15%; width: 35%; aspect-ratio: 1 / 1; transition: all 1s cubic-bezier(.23,1,.32,1); }
.symbol.symbol_popup { padding: 4px; }
@media screen and ( min-width: 768px ) {
  .symbol { width: 32px; padding: 8px; }
  .symbol_external { width: 32px; }
  /* hover */
  a:hover .symbol { transform: rotate(-40deg); }
  a:hover .symbol_left { transform: rotate(220deg); }
  a:hover .symbol_down { transform: rotate(90deg); }
  a:hover .symbol_plus { transform: rotate(-90deg); }
  /* a:hover .symbol_external_arrow { width: 16px; } */
  a:hover .symbol.symbol_popup { transform: rotate(0deg); }
}



/*========== x-symbolLink ==========*/
.symbol_link { display: inline-flex; align-items: center; vertical-align: middle; gap: 8px; }
.symbol_link_left { flex-direction: row-reverse; }
.symbol_link_text { position: relative; margin-bottom: 2px; }
.symbol_link_text::after { content: ''; position: absolute; right: 0; bottom: -2px; width: 100%; height: 1px; background: #529535; transition: all 0.6s cubic-bezier(.23,1,.32,1); }
.symbol_link .symbol_external { margin-left: -8px; }
@media screen and ( min-width: 768px ) {
  /* hover */
  a.symbol_link:hover .symbol_link_text::after { width: 0%; }
  a.symbol_link:hover { opacity: 0.5; transition: all 1s cubic-bezier(.23,1,.32,1); }
}



/*========== x-button ==========*/
a.button, button.button {position: relative; display: inline-block; width: 210px; height: 48px; border-radius: 100vw; transition: all 1s cubic-bezier(.23,1,.32,1); text-decoration: none; text-align: center;  background-clip: padding-box; }
.button_text {display: block; width: fit-content; margin: auto; padding: 10px 0; transition: all 1s cubic-bezier(.23,1,.32,1);}
.button_arrow {position: absolute; top: 0; right: 0; width: 48px; aspect-ratio: 1 / 1; padding: 18px; transition: all 1s cubic-bezier(.23,1,.32,1);}
.button_normal {background: #529535; border: 1px solid #529535;}
.button_search {background: #FFF; border: 1px solid #529535;}
.button_contact {background: #C89E4D; border: 1px solid #C89E4D;}
@media screen and (min-width: 768px) {
  a.button, button.button {width: 280px; height: 64px;} 
  .button_text {padding: 18px 0;} 
  .button_arrow {width: 64px; padding: 24px;}
  /* hover */
  a.button:hover .button_arrow, button.button:hover .button_arrow {transform: rotate(-40deg);}
  a.button.button_normal:hover{background: #A8CA9A; border: 1px solid #A8CA9A;}
  button.button.button_normal:hover {background: #A8CA9A; border: 1px solid #A8CA9A;}
  a.button.button_search:hover, button.button.button_search:hover {background: #FFF; border: 1px solid #A8CA9A;}
  a.button.button_search:hover .button_text, button.button.button_search:hover .button_text, a.button.button_search:hover .button_arrow, button.button.button_search:hover .button_arrow { opacity: 50%; }
  a.button.button_contact:hover, button.button.button_contact:hover {background: #E2CEA5; border: 1px solid #E2CEA5;}
}



/*========== x-flag ==========*/
.flag_wrap { display:flex; flex-wrap: wrap; gap:8px; }
.flag { height: 24px; color: #FFF; font-size: 13px; font-weight: bold; display: flex; justify-content: center; align-items: center; padding: 3px 2px 2px 2px; line-height: 1;}

.flag_property { padding: 0 10px; }
.flag_property.u_house { background: #5DACD4; }
.flag_property.n_house { background: #3FB6BC; }
.flag_property.mansion { background: #E17461; }
.flag_property.land { background: #FCB43A; }

.flag_option{ padding: 0 10px; }
.flag_new{ background: #FF0000; }
.flag_pricedown{ background: #FF8800; }
.flag_reform{ background: #FCB43A; }
.flag_orner{ background: #6A84B0; }

.flag_voice { width: 84px; }
.flag_voice.buy { background: #E17461; }
.flag_voice.sell { background: #3FB6BC; }
.flag_voice.produce { background: #6A84B0; }
.flag_voice.reform { background: #FCB43A; }

.flag_shop { width: 120px; }
.flag_shop.osaka { background: #E17461; }
.flag_shop.hyogo { background: #FCB43A; }
.flag_shop.nara { background: #3FB6BC; }
.flag_shop.kyoto { background: #6A84B0; }
.flag_shop.shiga { background: #5DACD4; }




/*========== x-card ==========*/
.card_wrap { display: flex; flex-wrap: wrap; gap: 30px; }
.card { position: relative; align-self: stretch; width: 100%; padding: 24px; border-radius: 10px; background: #FFF; box-shadow: 0px 4px 8px 0px #00000020; transition: all 0.6s cubic-bezier(.23,1,.32,1); }
.card .favorite-checkbox { display: none; }
.card_img_wrap { position: relative; width: 100%; margin-bottom: 10px; }
.card_img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.card_title { overflow: hidden; text-overflow: ellipsis; }
.card_info { font-size:14px; letter-spacing:0.04em; line-height:1.75; font-weight: 600; }
.card_detail { font-size:14px; letter-spacing:0.04em; line-height:1.75; }
.card_symbol { position: absolute; right: 24px; bottom: 24px; width: 32px; padding: 8px; }
@media (min-width: 768px) and (max-width: 1024px) {
  .card { width: calc(calc(100% - 30px) / 2); }
}
@media (min-width: 1025px) {
  .card { width: calc(calc(100% - 60px) / 3); }
}
/* property */
.card_img_plan { position: absolute; top: 0; left: 0; z-index: -1; }
.show_plan .card_img_plan { z-index: 1; }
.card_flag_wrap { position: absolute; top: 0; left: 0; display: flex; flex-wrap: wrap; gap: 0; width: calc(100% - 40px); z-index: 2; }
.favo { position: absolute; top: 8px; right: 8px; display: flex; align-items: center; justify-content: center; width: 40px; aspect-ratio: 1 / 1; padding-top: 4px; box-sizing: border-box; background: #FFF; border: 1px solid #CBCBCB; border-radius: 50%; cursor: pointer; z-index: 3; }
.favo.active { border: 1px solid #E17461; }
.favo-icon { width: 22px; aspect-ratio: 1 / 1; }
.favo-icon path { fill: #CBCBCB; }
.favo.active .favo-icon path { fill: #E17461; }
.card_switch { position: absolute; right: 8px; bottom: 15px; display: flex; align-items: flex-end; gap: 8px; z-index: 2; }
.show_plan .card_switch { filter: invert(35%); }
.card_count { text-shadow: 0 1px 8px #00000080; }
.show_plan .card_count { text-shadow: none; }
.card_price { font-size: 40px; letter-spacing:0.08em; line-height: 1.5; }
/* reform */
.card_reform .card_detail { width: calc(100% - 48px); }
.card_reform .card_info { width: calc(100% - 48px); }
@media screen and ( min-width: 768px ) {  
  .card_reform .card_info { width:100%; }
}
/* voice */
.card_profile_wrap { display: flex; gap: 20px; padding-bottom: 24px; margin-bottom: 16px; border-bottom: 1px solid #529535; }
.card_icon { width: 64px; aspect-ratio: 1 / 1; }
.card_profile { display: flex; flex-direction: column; justify-content: space-around; width: 73%;}
.card_profile_text { font-size: 14px; line-height: 1em; }
.card_voice .card_text_wrap { height: 79.5px; }
.card_voice .card_info { width: calc(100% - 48px); height: 48px;}
@media screen and ( min-width: 768px ) {
  /* hover */
  .card:hover { box-shadow: 0px 1px 2px 0px #00000030; transform: translateY(3px); }
  .favo:hover { opacity: 0.5; }
}


/*========== x-cardLink ==========*/
.card_link_wrap { display: flex; gap: 16px; flex-wrap: wrap; }
.card_link { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 10px; background: #FFF; box-shadow: 0px 4px 8px 0px #00000020; transition: all 0.6s cubic-bezier(.23,1,.32,1); }
.card_link_img { object-fit: contain; }
.card_link_text_area { display: flex; align-items: center; justify-content: space-between; width: 100%; }
@media screen and ( min-width: 768px ) {
  .card_link_wrap { gap: 30px; }
  .card_link { gap: 24px; padding: 24px 32px; }
}
/* column */
.card_link_column { flex-direction: column; }
.card_link_column .card_link_img { width: 100px; height: 60px; }
.card_link_column .card_link_title { font-size: 14px; }
.card_link_column .card_link_title strong { font-size: 20px; }
@media screen and ( min-width: 768px ) {
  .card_link_column .card_link_img { width: 150px; height: 100px; }
  .card_link_column .card_link_title { font-size: 16px; }
  .card_link_column .card_link_title strong { font-size: 24px; }
}
/* column_photo */
.card_link_column_photo { flex-direction: column; padding: 12px; }
.card_link_column_photo .card_link_img { width: 100%; aspect-ratio: 5 / 2; object-fit: cover; }
.card_link_column_photo .card_link_title { font-size: 18px; font-weight: bold; color: #529535; }
.card_link_column_photo .card_link_title strong { font-size: 20px; }
@media screen and ( min-width: 768px ) {
  .card_link_column_photo { padding: 16px; gap: 16px; }
  .card_link_column_photo .card_link_title { font-size: 24px; }
  .card_link_column_photo .card_link_title strong { font-size: 24px; }
}
/* row */
.card_link_row { flex-direction: row; }
.card_link_row .card_link_img { width: 60px; height: 60px; }
.card_link_row .card_link_title { font-size: 20px; font-weight: bold; }
/* row_text */
.card_link_inner { display: flex; flex-direction: column; }
.card_link_title_wrap { display: flex; align-items: center; gap: 16px; }
.card_link_row_text { flex-direction: row; padding: 10px 20px 25px 20px;}
.card_link_row_text .card_link_img { width: 80px; height: 80px; }
.card_link_row_text .card_link_text_wrap { display: flex; flex-direction: column; gap: 16px; }
.card_link_row_text .card_link_text_wrap p.text_s { font-size:14px; }
.card_link_row_text .card_link_title { display: flex; align-items: center; justify-content: space-between; flex-grow: 1; font-size: 20px; font-weight: bold; }
.card_link_row_text .card_link_title.pc { display: none; }
@media screen and ( min-width: 768px ) {
  .card_link_inner { flex-direction: row; align-items: center; justify-content: space-between; gap: 24px; width: 100%; }
  .card_link_row_text { flex-direction: row; padding: 24px 32px;}
  .card_link_row_text .card_link_img { width: 120px; height: 120px; }
  .card_link_row_text .card_link_title { font-size: 24px; }
  .card_link_row_text .card_link_title.sp { display: none; }
  .card_link_row_text .card_link_title.pc { display: flex; }
  /* hover */
  .card_link:hover { box-shadow: 0px 1px 2px 0px #00000030; transform: translateY(3px); opacity: 0.5; }
}



/*========== x-shopBanner ==========*/
.shop_banner { display: flex; flex-direction: column; justify-content: space-between; gap: 40px; padding: 40px 5%; border-radius: 10px; background: #FFF; box-shadow: 0px 4px 8px 0px #00000020; transition: all 0.6s cubic-bezier(.23,1,.32,1); }
.shop_banner_text { display: flex; flex-direction: column; gap: 12px; }
.shop_banner_text .shop_tag { width: 140px; padding: 3px 0; text-align: center; }
.shop_banner_text .shop_tag_osaka_chuo { background-color: #E17461 }
.shop_banner_text .shop_banner_name { font-size: 24px; }
.shop_banner_text .shop_banner_tel { display: flex; flex-direction: row; align-items: center; }
.shop_banner_text .shop_banner_tel_img { width: 35px; margin-right: 12px; }
.shop_banner_text .shop_banner_tel a { font-size: 30px; font-weight: bold; }
.shop_banner_img { display: flex; flex-direction: column; align-items: stretch; gap: 16px; width: 100%; }
.shop_banner_img .shop_banner_img_map { height: 180px; }
.shop_banner_img .shop_banner_img_photo { height: 180px; object-fit: cover; }
@media (min-width:768px) {
  .shop_banner { flex-direction: row; justify-content: space-between; align-items: center; padding: 5%; }
  .shop_banner_text .shop_banner_name { font-size: min(2.3vw, 24px); }
  .shop_banner_img { flex-direction: row; gap: 1vw; width: fit-content; height: 240px; }
  .shop_banner_text .shop_banner_tel_img { width: 50px; }
  .shop_banner_text .shop_banner_tel a { font-size: 34px; }
  .shop_banner_img .shop_banner_img_map { width: min(20vw, 300px); height: auto; }
  .shop_banner_img .shop_banner_img_photo { width: min(20vw, 300px); height: auto; }
  /* hover */
  .shop_banner:hover { box-shadow: 0px 1px 2px 0px #00000030; transform: translateY(3px); }
  .shop_banner_text .shop_banner_tel a[href^="tel:"] {pointer-events: none;cursor: default;}
  div.shop_banner:hover .symbol { transform: rotate(-40deg); }
  div.shop_banner:hover .symbol_link_text::after { width: 0%; }
}



/*========== x-contact ==========*/
.contact_back{padding: 20px 0;}
.contact_wrap{width: min(90%, 1200px);margin: 0 auto;background-color: white;position: relative;border-radius: 10px;padding-top: 60px;padding-bottom: 30px;}
.contact_wrap::before {content: "CONTACT";position: absolute;top: 5px;left: 0px;color: rgba(200,158,77,0.14);font-size: 40px;  font-weight: bold;letter-spacing: 0.1em;border-radius: 5px;}
.contact_main_wrap{width: min(85%, 1200px);margin: 0 auto;}
.contact_main{display: flex;flex-direction: row;align-items: center;gap: 10px;}
.contact_main_title{font-size: 20px;font-weight: bold;margin-bottom: 20px;}
.contact_img1{display: none;}
.contact_img2 {width: 75px;position: absolute;top: 10px;right: 10px;}
.contact_img img{width: 100%;}
.contact_main_tel_pc{display: none;}
.contact_main_tel_img{width: 60px;display: flex;align-items: center;}
.contact_main_tel_img img{width: 100%;}
.contact_main_tel_number{color: #C89E4D;font-size: 40px;font-weight: bold;-webkit-touch-callout: none;-webkit-user-select: none;text-decoration: none;}
.contact_main_button_pc{display: none;}
.contact_main_button span{display: flex;align-items: center;gap: 5px;}
.contact_main_tel_sp span{display: flex;align-items: center;gap: 5px;}
a.button_contact_sp{width: 37vw;}
.button_mail{width: 17px;}
@media (min-width:768px) {
  .contact_wrap{display: flex;flex-direction: row;align-items: center;justify-content: center;gap: 10px;padding: 25px 0 15px 0;position: relative;}
  .contact_wrap::before {font-size: 80px;}
  .contact_main_wrap{width: initial;margin: 0;}
  .contact_main{gap: 25px;justify-content: center;}
  .contact_main_title {font-size: min(2.8vw,24px);text-align: center;margin-bottom: 10px;} 
  .contact_img2{display: none;}
  .contact_main_tel_pc{display: flex;flex-direction: row;gap: 5px;letter-spacing: 0.1em;align-items: center;}
  .contact_main_tel_sp{display: none;}
  .contact_main_tel_img{width: min(5vw,60px);}
  .contact_main_tel_number{font-size: min(5vw,40px);}
  .contact_main_button_pc{display: block;}
  .contact_main_button_sp{display: none;}
  .contact_main_button span{gap: 10px;}
  a.button_contact{width: 240px;}
  .button_mail{width: 23px;}
}
@media (min-width:1024px) {
  a.button_contact{width: 280px;}
  .contact_wrap{gap: 20px;padding: 15px 0;}
  .contact_main_title{font-size: min(2.3vw,24px);margin-bottom: 20px;}
  .contact_img1{display: block;width: min(12vw,180px);}
  .contact_img2{display: block;width: min(10vw,140px);position: initial;}
    .contact_main_tel_number{font-size: min(3.5vw,40px);}
}
/* iPadで電話番号の下に下線が出ないようにする */
@media (min-width:768px) and (max-width:1366px) and (hover:none) and (pointer:coarse) {
  .contact_main_tel_number {-webkit-text-decoration: none;text-decoration: none;-webkit-touch-callout: none;color: inherit;}
  a[href^="tel"] { color: inherit !important; text-decoration: none !important; -webkit-text-decoration: none !important;
}
}




/*========== x-gentei ==========*/
  .contact_main_text{margin-bottom: 25px;text-align: justify;}
  .button_contact_satei .button_arrow{display: none;}
  .br_satei{display: none;}
  .contact_img_satei.contact_img2{width: 95px;}
  .contact_main_button_gentei a.button{width: 250px;}
@media (min-width:768px) {
  .contact_wrap_satei{padding: 35px 0 25px 0;align-items: flex-start;}
  .contact_main_wrap_satei{width: 80vw;}
  .contact_main_satei{justify-content: center;}
  .button_contact_satei .button_arrow{display: block;}
  .contact_main_button_gentei a.button{width: 280px;}
  .contact_img_satei.contact_img1{margin-top: 20px;}
  .contact_img_satei.contact_img2{width: min(10vw,140px);display: block;margin-top: 20px;}
}
@media (min-width:1024px) {
    .contact_main_wrap_satei{width: 60vw;}
}
@media (min-width:1200px) {
  .contact_wrap_satei{align-items: center;}
  .contact_main_wrap_satei{width: initial;}
  .contact_main_text{text-align: center;}
  .br_satei{display: block;}
  .contact_img_satei{margin-bottom: 0vw;}
    .contact_img_satei.contact_img1{margin-top: 0px;}
  .contact_img_satei.contact_img2{margin-top: 0px;}
}



/*========== x-satei ==========*/
.satei_back{position: relative;padding-top: 40px;}
.satei_back::before {content: "CONTACT";position: absolute;top: 10px;left: 0px;color: rgba(255,255,255,0.14);font-size: 40px;font-weight: bold;letter-spacing: 0.1em;border-radius: 5px;font-size: 50px;}
.satei_contents { width: min(90%, 1200px); margin: 0 auto; padding: 20px 0 40px 0; }
.satei_main_title{font-weight: bold;color: white;font-size: 28px;line-height: 1.4;text-align: center;letter-spacing: 0.1em;}
.card_link_title_mini{font-size: 14px;margin-bottom: 5px;line-height: 1.4;margin-top: 8px;}
.satei_contents .card_link_row_text{padding: 20px 16px;display: flex;justify-content: space-between;width: 100%;}
.card_link_row_text .card_link_inner_satei {gap: 10px;}
.satei_contents .card_link_row_text .card_link_title.sp { display: block; }
.satei_contents .card_link_row_text .card_link_title.pc { display: none; }
@media (min-width:768px) {
    .satei_back::before{font-size: 80px;}
    .satei_main_title{font-size: 32px;line-height: initial;}
    .satei_contents { padding: 40px 0; }
    .satei_contents .card_link_wrap {display: flex;flex-direction: column;gap: 16px;flex-wrap: wrap;}
    .satei_contents .card_link_row_text{width: 100%;}
    .satei_contents .card_link_row_text_satei:last-child {width: 100%;}
    .card_link_title_mini{font-size: min(2vw,16px);margin-bottom: 5px;line-height: 1.5;margin-top: 0px;}
    .satei_contents .card_link_row_text .card_link_title.sp { display: none; }
    .satei_contents .card_link_row_text .card_link_title.pc { display: block; }
}
@media (min-width:1024px) {
    .satei_contents .card_link_wrap {flex-direction: row;}
    .satei_contents .card_link_row_text{width: calc(calc(100% - 30px) / 2);}
    .satei_contents .card_link_row_text_satei:last-child {width: calc(calc(100% - 30px) / 2);}
}

.no-click { pointer-events: none; cursor: default; }

/* ページネーション */
.pagination { display: flex; gap: 20px;}