
/*
Theme Name: Concierge Home
Author: matsu
Version: 2026-07-02

=============================================================================================
*/

/*----------------------------------------
	全体
----------------------------------------*/
html{
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
	line-height: 1.5;
	font-weight: 500;
}
body{font-size: 1.4rem;}
img{vertical-align: bottom;}
p{line-height: 2;}
li{list-style: none;}

.max_respon{max-width: 100%;}
.clear{clear: both;}
.ar_11 {aspect-ratio: 1/1;}

a{
	color:inherit;
	text-decoration: none;
	transition: all .4s;
}
a:hover {transition: all .4s;}
.op {transition: all .3s;}
.op:hover{
	opacity: .7;
	transition: all .3s;
}
@media screen and (min-width: 769px){
	.hover_line {transition: all .3s;}
	.hover_line:hover{
		text-decoration: underline 1px #fff;
		transition: all .3s;
	}
}


/*---------------------------------------------------------------
	position
---------------------------------------------------------------*/
.rela{position: relative;}
.z_in1 {z-index: 1;}
.z_in2 {z-index: 2;}
.z_in3 {z-index: 3;}
.z_in100 {z-index: 100;}


/*---------------------------------------------------------------
	sp/pc only
---------------------------------------------------------------*/
.pc_block{display: block;}
.pc_block768{display: block;}
.sp_block{display: none;}
.sp_block400{display: none;}
.sp_block768{display: none;}
.sp_none827{display: block;}
.sp_only {display: none;}
@media screen and (max-width: 827px){
	.sp_none827{display: none;}
	.sp_only {display: block;}
}
@media screen and (max-width: 768px){
	.pc_block768{display: none;}
	.sp_block768{display: block;}
}
@media screen and (max-width: 599px){
	.sp_block{display: block;}
	.sp_block400{display: block;}
	.pc_block{display: none;}
	.sp_none{display: none;}
}


/*---------------------------------------------------------------
	margin
---------------------------------------------------------------*/
.m_l5 {margin-left: 5px;}
.m_center {
	display: block;
	margin-inline: auto;
}
@media screen and (max-width: 768px){
	.sp_m_center {margin-inline: auto;}

	.sp_m_t0{margin-top: 0;}
	.sp_m_t5 {margin-top: 5px;}
	.sp_m_t15 {margin-top: 15px;}
	.sp_m_t10 {margin-top: 10px;}
	.sp_m_t25 {margin-top: 25px;}
	.sp_m_t30 {margin-top: 30px;}
	.sp_m_t40 {margin-top: 40px;}
	.sp_m_t50 {margin-top: 50px;}
	.sp_m_t80 {margin-top: 80px;}
	.sp_m_t100 {margin-top: 100px;}

	.sp_m_b30 {margin-bottom: 30px;}
	.sp_m_b0 {margin-bottom: 0;}

	.sp_p_t80 {padding-top: 80px;}
	.sp_p_t40 {padding-top: 40px;}
	.sp_p_t30 {padding-top: 30px;}
	.sp_p_t20 {padding-top: 20px;}

	.sp_p_b30 {padding-bottom: 30px;}
}


/*---------------------------------------------------------------
	リンク切り
---------------------------------------------------------------*/
.no_link {opacity: .1;}
.no_link_li {
	list-style: none;
	opacity: .1;
}
.no_link_li ::before {
	content: " ";
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #64584c;
	vertical-align: middle;
	opacity: .1;
}
.no_pointer {cursor: default !important;}


/*---------------------------------------------------------------
	text
---------------------------------------------------------------*/
.text_kon{ color: #003567; }
.text_gray{ color: #bfbfbf; }
.text_navy{ color:#103675; }
.text_remon{ color:#fff100 }
.text_deepred{ color:#d90303; }
.text_red{ color:#cd1c10; }
.text_black{ color:#000; }
.text_white{ color:#fff; }
.text_gold{ color:#e6b422; }
.text_blue{ color: #00a0e9; }
.text_green{ color: #8bbd90;}
.text_brown{ color:#83552f; }
.text_yellow {color: #fff799;}

.text_normal{ font-weight: normal; }
.text_bold{ font-weight: bold !important; }
.text_bolder{ font-weight: bolder !important; }
.text_900{ font-weight: 900 !important; }
.text_800{ font-weight: 800 !important; }
.text_600{ font-weight: 600 !important; }
.text_500{ font-weight: 500 !important; }
.text_400{ font-weight: 400 !important; }
.text_300{ font-weight: 300 !important; }

.text_r {text-align:right;}
.text_l {text-align:left;}
.center {text-align:center;}

.palt{font-feature-settings: "palt";}

.t_nowrap {text-wrap: nowrap;}

/* font */
.yu_min {
	font-family:'游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro','ＭＳ Ｐ明朝','ＭＳ 明朝',serif;
}
.meiryo {
	font-family:'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
}
.noto {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
}
.zenkaku {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
}


.text_8{ font-size:.8rem !important; }
.text_9{ font-size:.9rem !important; }
.text_10{ font-size:1.0rem !important; }
.text_11{ font-size:1.1rem !important; }
.text_12{ font-size:clamp(1.2rem, 1.1vw, 1.2rem); }
.text_13{ font-size:clamp(1.3rem, 1.25vw, 1.3rem); }
.text_14{ font-size:clamp(1.3rem, 1.34vw, 1.4rem); }
.text_15{ font-size:clamp(1.4rem, 1.4vw, 1.5rem); }
.text_16{ font-size:clamp(1.4rem, 1.5vw, 1.6rem); }
.text_18{ font-size:clamp(1.5rem, 1.7vw, 1.8rem); }
.text_20{ font-size:clamp(1.6rem, 1.9vw, 2rem); }
.text_21{ font-size:clamp(1.7rem, 2vw, 2.1rem); }
.text_22{ font-size:clamp(1.7rem, 2.1vw, 2.2rem); }
.text_24{ font-size:clamp(1.8rem,2.3vw, 2.4rem); }
.text_25{ font-size:clamp(1.8rem,2.4vw, 2.5rem); }
.text_26{ font-size:clamp(1.8rem, 2.5vw, 2.6rem); }
.text_28{ font-size:clamp(1.9rem, 2.6vw, 2.8rem); }
.text_30{ font-size:clamp(2rem, 2.8vw, 3rem); }
.text_32{ font-size:clamp(2.1rem, 3vw, 3.2rem); }
.text_34{ font-size:clamp(2.2rem, 3.2vw, 3.4rem); }
.text_36{ font-size: clamp(2.3rem, 3.3vw, 3.6rem); }
.text_38{ font-size: clamp(2.4rem, 3.4vw, 3.8rem); }
.text_40{ font-size: clamp(2.5rem, 3.8vw, 4rem); }
.text_41{ font-size: clamp(2.6rem, 3.9vw, 4.1rem); }
.text_48{ font-size: clamp(3rem, 4.2vw, 4.8rem); }
.text_50{ font-size: clamp(3rem, 4.4vw, 5rem); }
.text_60 {font-size: clamp(32px, 4.5vw, 60px);}
.text_68 {font-size: clamp(35px, 5vw, 68px);}
.text_150{font-size:clamp(80px,11vw,150px);}
.text_72{font-size:clamp(48px,7vw,72px);}
.text_78{font-size:clamp(52px,7.5vw,78px);}

/*line-height*/
.lh_06{ line-height: 0.6; }
.lh_09{ line-height: 0.9; }
.lh_10{ line-height: 1.0 !important; }
.lh_11{ line-height: 1.1 !important; }
.lh_12{ line-height: 1.2 !important; }
.lh_13{ line-height: 1.3 !important; }
.lh_14{ line-height: 1.4 !important; }
.lh_15{ line-height: 1.5 !important; }
.lh_16{ line-height: 1.6 !important; }
.lh_17{ line-height: 1.7 !important; }
.lh_18{ line-height: 1.8 !important; }

/*letter-spacing*/
.ls_-2{ letter-spacing: -2px; }
.ls_-1{ letter-spacing: -1px; }
.ls_1{ letter-spacing: 1px; }
.ls_15{ letter-spacing: 1.5px; }
.ls_2{ letter-spacing: 2px; }
.ls_3{ letter-spacing: 3px; }
.ls_-01em{ letter-spacing: -0.1em; }

@media print, screen and (min-width: 821px){
	/*line-height*/
	.lh_19{ line-height: 1.9 !important; }
	.lh_20{ line-height: 2 !important; }
	.lh_21{ line-height: 2.1 !important; }
	.lh_22{ line-height: 2.2 !important; }
	.lh_23{ line-height: 2.3 !important; }
	.lh_24{ line-height: 2.4 !important; }
	.lh_25{ line-height: 2.5 !important; }
	.lh_26{ line-height: 2.6 !important; }
	.lh_28{ line-height: 2.8 !important; }
	.lh_30{ line-height: 3 !important; }
	.lh_32{ line-height: 3.2 !important; }
	.lh_34{ line-height: 3.4 !important; }
	.lh_36{ line-height: 3.6 !important; }

	/*letter-spacing*/
	.ls_4{ letter-spacing: 4px; }
	.ls_5{ letter-spacing: 5px; }
	.ls_6{ letter-spacing: 6px; }
	.ls_7{ letter-spacing: 7px; }
	.ls_8{ letter-spacing: 8px; }
}/*END*/

@media screen and (max-width: 820px){
	/*letter-spacing*/
	.ls_4{ letter-spacing: 3px; }
	.ls_5{ letter-spacing: 4px; }
	.ls_6{ letter-spacing: 4px; }
	.ls_7{ letter-spacing: 4px; }
	.ls_8{ letter-spacing: 4px; }

	/*line-height*/
	.lh_19,
	.lh_20,
	.lh_21,
	.lh_22,
	.lh_23,
	.lh_24,
	.lh_25{
		line-height: 1.8 !important;
	}
}/*END*/
@media screen and (max-width: 599px){
	.sp_palt{font-feature-settings: "palt";}

	.sp_lh_13 {line-height: 1.3;}
	.sp_lh_14 {line-height: 1.4 !important;}
	.sp_lh_15 {line-height: 1.5;}
	.sp_lh_16 {line-height: 1.6;}
	.sp_lh_18 {line-height: 1.8 !important;}

	.sp_text_13 {font-size: 1.3rem;}
	.sp_text_16 {font-size: 1.6rem;}
	.sp_text_17 {font-size: 1.7rem;}

	/*letter-spacing*/
	.ls_4{ letter-spacing: 2px; }
	.ls_5{ letter-spacing: 2px; }
	.ls_6{ letter-spacing: 2px; }
	.ls_7{ letter-spacing: 2px; }
	.ls_8{ letter-spacing: 2px; }

	.sp_text_left{ text-align:left; }
	.sp_center{text-align: center;}
}/*END*/


/*---------------------------------------------------------------
	frame
---------------------------------------------------------------*/
.inner_frame{
	max-width: 1080px;
	width: 100%;
	position: relative;
	box-sizing: border-box;
	margin-inline: auto;
	padding-right: 20px;
	padding-left: 20px;
}
.inner_frame750{
	max-width: 750px;
	width: 100%;
	position: relative;
	box-sizing: border-box;
	margin-inline: auto;
}
.inner_frame840{
	max-width: 880px;
	width: 100%;
	position: relative;
	box-sizing: border-box;
	margin-inline: auto;
	padding-right: 20px;
	padding-left: 20px;
}
.inner_frame1350{
	max-width: 1390px;
	width: 100%;
	position: relative;
	box-sizing: border-box;
	margin-inline: auto;
	padding-right: 20px;
	padding-left: 20px;
}
.box25{width: 25%; }
.box30{width: 30%; }
.box35{width: 35%; }
.box40{width: 40%; }
.box45{width: 45%; }
.box47{width: 48.1%; }
.box50{width: 50%; }
.box55{width: 55%; }
.box60{width: 60%; }
.box65{width: 65%; }
.box70{width: 70%; }
.box75{width: 75%; }
.box85{width: 85%; }
.box100{width: 100%; }
@media screen and (max-width: 768px){
	.inner_frame,
	.inner_frame750,
	.inner_frame840,
	.inner_frame1350 {
		padding-right: 3.5%;
		padding-left: 3.5%;
	}
}
@media screen and (max-width: 599px){
	.inner_frame,
	.inner_frame750,
	.inner_frame840,
	.inner_frame1350 {
		padding-right: 4.3%;
		padding-left: 4.3%;
	}
	.box70,.box65,.box60,
	.box40,.box50,.box55,
	.box25,.box75,.box47,
	.box45,.box35,.box30{width: 100%;}
}/*END*/


/*---------------------------------------------------------------
	flexbox
---------------------------------------------------------------*/
.flexbox {display: flex;}
.f_reverse {flex-direction: row-reverse;}
.f_column {flex-direction: column;}
.f_column_r {flex-direction: column-reverse;}
.jc_c {justify-content: center;}
.jc_e {justify-content: flex-end;}
.jc_s {justify-content: flex-start;}
.jc_bw {justify-content: space-between;}
.jc_a {justify-content: space-around;}
.ai_c {align-items: center;}
.ai_s {align-items: flex-start;}
.ai_e {align-items: flex-end;}

.f_wrap {flex-wrap: wrap;}
.f_nowrap {flex-wrap: nowrap;}

.gap005 {gap: .5em;}
.gap01 {gap: 1em;}
.gap02 {gap: 2em;}
.gap03 {gap: 3em;}
.gap04 {gap: 4em;}
.gap05 {gap: 5em;}
.gap06 {gap: 6em;}
.gap07 {gap: 7em;}
.gap08 {gap: 8em;}
.gap09 {gap: 9em;}
.gap10 {gap: 10em;}
@media screen and (max-width: 768px) {
	.sp_column768 {flex-direction: column;}

    .gap04 {gap: 2em;}
	.gap05 {gap: 3em;}
	.gap06 {gap: 4em;}
	.gap07 {gap: 5em;}
	.gap08 {gap: 6em;}
	.gap09 {gap: 7em;}
	.gap10 {gap: 8em;}
}
@media screen and (max-width: 599px) {
	.sp_column {flex-direction: column;}
	.sp_row {flex-direction: row;}
	.sp_gap01 {gap: 1em;}
	.sp_gap005 {gap: .5em;}
	.sp_ai_s {align-items: flex-start;}
}


/*---------------------------------------------------------------
	gridbox
---------------------------------------------------------------*/
.gridbox {display: grid;}
.grid_2 {grid-template-columns: repeat(2, 1fr);}
.grid_3 {grid-template-columns: repeat(3, 1fr);}
.grid_4 {grid-template-columns: repeat(4, auto);}
.grid_5 {grid-template-columns: repeat(5, auto);}
.grid_6 {grid-template-columns: repeat(6, 1fr);}
.gap_r3 {row-gap: 3em;}
.gap_c2 {column-gap: 2em;}
.gap_r4 {row-gap: 4em;}
.gap_c3 {column-gap: 3em;}
@media screen and (max-width: 768px){
	.sp_gap_r1 {row-gap: 1em;}
}


/*---------------------------------------------------------------
	画像中央配置
---------------------------------------------------------------*/
.photo_frame{
    position: relative;
    overflow: hidden;
    aspect-ratio: 2 / 1.5;
}
.photo_frame.media{
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1.5;
}
.photo_frame img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate3d(-50%, -50%, 0);
}
.photo_frame img:not(:target){
	left: 0\9;
	top: 0\9;
}
.photo_frame img{
	left: 0\9;
	top: 0\9;
}
@media all and (-ms-high-contrast: none){
	.photo_frame img{
		left: 50%\9 !important;
		top: 50%\9 !important;
	}
}
.photo_frame{ z-index: 1; }/*chrome対策*/


/*---------------------------------------------------------------
	map
---------------------------------------------------------------*/
.map {
    position: relative;
    overflow: hidden;
    text-align: center;
    aspect-ratio: 2 / 1;
}
.map iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate3d(-50%, -50%, 0);
	-ms-transform: translate3d(-50%, -50%, 0);
	transform: translate3d(-50%, -50%, 0);
}
.map.ichi{
	aspect-ratio: 1 / 1;
}
.map.nanago{
	aspect-ratio: 2 / 1;
}

.map iframe:not(:target){
	left: 0\9;
	top: 0\9;
}
.map iframe{
	left: 0\9;
	top: 0\9;
}
@media all and (-ms-high-contrast: none){
.map iframe{
		left: 50%\9 !important;
		top: 50%\9 !important;
	}
}
.map{ z-index: 2; }/*chrome対策*/

@media screen and (max-width: 599px){
	.map {
		aspect-ratio: 1 / 1;
	}
	.map.nanago{
		aspect-ratio: 1.2 / 1;
	}

}/*END*/


/*---------------------------------------------------------------
	pan nav
---------------------------------------------------------------*/
.pan_nav {
    display: flex;
    flex-wrap: wrap;
}
.pan_nav li{
    font-size: clamp(1rem, 1.2vw, 1.2rem);
    line-height: 1.5;
	color: #808080;
}
.pan_nav a:hover{
	text-decoration: underline 1px #808080;
}
.pan_nav a:after{
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid #808080;
    border-right: 1px solid #808080;
    transform: rotate(45deg);
    display: inline-block;
	margin-left: 15px;
    margin-right: 15px;
}
.pan_nav li:last-child a:after {
	content: none;
}


/*---------------------------------------------------------------
	header
---------------------------------------------------------------*/
header{
	background: #fff;
	width: 100%;
	box-sizing: border-box;
	position: fixed;
	top: 0;
	z-index: 99;
	transition: all .3s ease;
}
.head_content {
	display: flex;
    justify-content: space-between;
	align-items: center;
    box-sizing: border-box;
    width: 100%;
    padding: 25px 40px 15px;
}
.header_l {
    display: flex;
    align-items: center;
	width: 100%;
}
.header_r {
    display: flex;
    align-items: center;
    justify-content: flex-end;
	width: 100%;
}
.header_r_btn img {
	max-width: 180px;
	width: 100%;
	transition: all .3s;
}
.logo_img img {
	max-width: 365px;
	width: 100%;
}
@media screen and (max-width: 930px){
	.logo_img {width: 80%;}
}
@media screen and (max-width: 900px){
	.head_content {padding: 20px 30px 10px;}
}
@media screen and (max-width: 768px){
	.logo_img {width: 100%;}
	.header_line,
	.header_tel {display: none;}
}
@media screen and (max-width: 599px){
	.head_content {padding: 15px 8px 10px;}
	.header_l {width: 50%;}
	.header_r {width: 40%;}
}
@media print, screen and (min-width: 1211px){
	#sd {
		clear: both;
		width: 100%;
	}
	#sd li {
		box-sizing: border-box;
		position: relative;
	}
	#sd li a {
		box-sizing: border-box;
		white-space: nowrap;
	}
	#sd li a:hover {
		text-decoration: underline 1px #64584c;
	}
}


/*----------------------------------------
	MENUボタン
----------------------------------------*/
.menu_btn {
	background: #153e55;
	border-radius: 5px;
    cursor: pointer;
	width: 50px;
	aspect-ratio: 1/1;
	position: relative;
}
.menu_btn span {
    display: inline-block;
    background: #fff;
    width: 30%;
    height: 1px;
    position: absolute;
	left: 50%;
	transform: translateX(-50%);
    transition: all .6s;
}
.menu_btn span:nth-child(1){
	top: 36%;
}
.menu_btn span:nth-child(2){
	top: 50%;
}
.menu_btn span:nth-child(3){
	bottom: 34%;
}
.open .menu_btn span {
	width: 60%;
    height: 2px;
	left: 35%;
	top: 50%;
    transition: all .6s;
}
.open .menu_btn span:nth-child(1){
	transform: rotate(45deg);
}
.open .menu_btn span:nth-child(2){
	background: transparent;
}
.open .menu_btn span:nth-child(3){
	transform: rotate(-45deg);
}
.open .menu_btn {
	background: transparent;
	z-index: 100;
	opacity: 1;
}
@media screen and (max-width: 768px){
	.open .menu_btn span {
		top: 10px;
		left: 0;
	}
}


/*----------------------------------------
	ドロワー
----------------------------------------*/
.drawer{
	background: #153e55;
	color: #fff;
	width: 100%;
	height: 100%;
	transform: translateX(100%);
	visibility: hidden;
	opacity: 0;
	overflow: auto;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 99;
	transition: .5s ease-in-out;
}
.drawer a:hover {transition: all .3s;}
.open .drawer{
	visibility: visible;
	opacity: 1;
	transform: translateX(0);
}
.open .drawer ul li {transform: translateX(0);}
.drawer_cont {width: 100%;}
.drawer_inner{
	padding-top: 11%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.drawer_cont .op_list{
	border-top: 2px solid #5c7888;
	font-size: clamp(1.4rem, 1.5vw, 1.8rem);
	width: calc(100% * 3);
	padding-top: 30px;
}
.drawer_inner_link {margin-left: 3em;}
.drawer_inner_link li::before {
	display: block;
	content: "";
	border-radius: 50%;
	background: #f1d234;
	width: 10px;
	aspect-ratio: 1/1;
	position: absolute;
	top: 50%;
	left: -21px;
	transform: translateY(-50%);
}
.drawer_inner_link li {
	line-height: 2.5;
	position: relative;
}
.drawer_btn img {
	background: #fff;
	border-radius: 3px;
}
.drawer_bnr li {
	background: #fff;
	border-radius: 10px;
	width: calc(100% * 3);
	padding: 2%;
}
.drawer_line {
	background: #5c7888;
	width: 100%;
	height: 2px;
}
.drawer_bottom {font-size: clamp(1.3rem, 2vw, 1.4rem);}
@media screen and (max-width: 900px){
	.drawer {overflow-y: auto;}
}
@media screen and (max-width: 748px){
	.drawer_inner .gap03 {gap: 1em;}
	.drawer_cont.flexbox {
		display: grid;
		grid-template-columns: repeat(3,1fr);
	}
	.drawer_bnr .flexbox {flex-wrap: wrap;}
	.drawer_bnr li,
	.drawer_cont .op_list {width: auto;}
}
@media screen and (max-width: 690px){
	.drawer_cont.flexbox {grid-template-columns: repeat(2,1fr);}
	.drawer_item1 {margin-bottom: 15px;}
	.drawer_item2 {
		grid-column-start: 1;
		grid-row-start: 2;
	}
	.drawer_bnr li {width: 150px;}
	.drawer_bottom.flexbox {flex-direction: column;}
	.drawer_bottom ul {margin-bottom: 10px;}
	.drawer_bottom ul:last-child {margin-bottom: 20px;}
}
@media screen and (max-width: 599px){
	.drawer_inner_link li {line-height: 2.2;}
	.drawer_inner_link li::before {width: 8px;}
	.drawer_cont .op_list{padding-top: 15px;}
}
@media screen and (max-width: 460px){
	.drawer_cont.flexbox {display: block;}
	.drawer_item1,
	.drawer_item2 {margin-bottom: 25px;}
}



/*---------------------------------------------------------------
	footer
---------------------------------------------------------------*/
/* bnr */
.footer_bnr {background: #153e55;}
.footer_bnr ul {
	display: flex;
	justify-content: center;
	gap: 3%;
}
.footer_bnr li {
	background: #fff;
	border-radius: 10px;
	width: calc(100% * 3);
	aspect-ratio: 1.4/1;
	margin-inline: auto;
	padding: 1em 1.5em;
}
/* nav */
.footer_nav {
	font-size: clamp(1.3rem, 1.5vw, 1.4rem);
	line-height: 2;
	width: 45%;
}
.footer_nav ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: wrap;
	gap: 5%;
}
.footer_line {
	background: #e6e6e6;
	width: 100%;
	height: 1px;
}
@media screen and (min-width: 769px){
	.footer_nav a:hover {text-decoration: underline 1px #000;}
}
@media screen and (max-width: 1288px){
	.footer_nav {width: 61%;}
}
@media screen and (max-width: 960px){
	.footer_nav {width: 94%;}
}
@media screen and (max-width: 768px){
	.footer_bnr ul {
		flex-wrap: wrap;
		gap: 1em;
	}
	.footer_bnr li {width: 200px;}
}
@media screen and (max-width: 599px){
	footer .flexbox {
		flex-direction: column;
	}
	.footer_logo {
		display: block;
		margin-inline: auto;
		margin-bottom: 20px;
	}
	.footer_nav {width: 100%;}
	.footer_nav ul {justify-content: center;}
	.footer_bnr ul {flex-direction: column;}
	.footer_bnr li {width: 75%;}
	.footer_bnr li:nth-child(2),
	.footer_bnr li:nth-child(3) {margin-top: 10px;}
}



/*----------------------------------------
	float
----------------------------------------*/
@media screen and (min-width: 769px){
	/* pc */
	.float_pc{
		display: none;
		box-sizing: border-box;
		position: fixed;
		top: 25%;
		right: 0;
		z-index: 49;
	}
	.float_pc a{display: block;}
	/* sp */
	.float_sp {display: none;}
}
@media screen and (max-width: 768px){
	/* pc */
	.float_pc {display: none;}
	/* sp */
	.float_sp{
		display: none;
		width: 100%;
		box-sizing: border-box;
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 49;
	}
	.float_sp a{display: block;}
	.float_sp ul{
		width: 100%;
		max-width: 750px;
		margin-left: auto;
		margin-right: auto;
	}
	.float_sp ul li{
		float: left;
		width: calc(100% /3);
		box-sizing: border-box;
	}
}



/*---------------------------------------------------------------
	page top
---------------------------------------------------------------*/
.page_top {
	display: none;
	width: 100%;
	max-width: 50px;
	position: fixed;
	right: 1%;
	bottom: 4%;
	z-index: 16;
}
.page_top a {
	display: block;
	border-radius: 2px;
	background: #103675;
	width: 100%;
	aspect-ratio: 1/1;
	position: relative;
}
.page_top a span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.page_top a span::after {
	display: block;
	content: "";
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(-45deg);
	width: 8px;
	aspect-ratio: 1/1;
}
.page_top a:hover span::after {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transition: all .3s;
}
@media screen and (max-width: 768px){
	.page_top {
		right: 5px;
		bottom: 130px;
	}
}
@media screen and (max-width:599px){
	.page_top {
		max-width: 40px;
		bottom: 100px;
	}
}




/*---------------------------------------------------------------
	共通設定
---------------------------------------------------------------*/
.yellow_line {
	border-bottom: 3px solid #f9e18e;
}
.bg01 {background: #e4e4e4;}

.top_ttl {
	max-width: 500px;
	width: 100%;
}
/* btn */
.top_btn a {
	display: block;
	font-size: 1.6rem;
	max-width: 250px;
	width: 100%;
	margin-inline: auto;
	padding: 1em;
	position: relative;
}
.top_btn a span {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.top_btn a span::before {
	display: block;
	content: "";
	border-radius: 50%;
	border: 1px solid #ed9433;
	width: 30px;
	aspect-ratio: 1/1;
}
.top_btn a span::after {
	display: block;
	content: "";
	border-top: 1px solid #ed9433;
	border-right: 1px solid #ed9433;
	width: 6px;
	aspect-ratio: 1/1;
	position: absolute;
	top: 50%;
	right: 50%;
	transform: rotate(45deg) translateY(-50%);
}
@media screen and (min-width: 769px){
	.top_btn a:hover {
	}
	.top_btn a:hover span::after {
	}
}
@media screen and (max-width: 599px){
	.top_btn a {
		font-size: 1.5rem;
		width: 60%;
	}
}


/* ================================================================================
　mv
====================================================================================*/
.mv {width: 100%;}
.pc_mv {display: block;}
.sp_mv {display: none;}
.head_menu {
	background: #153e55;
	width: 100%;
	padding: 1.5em 0;
}
.head_menu ul li {
	border-right: 1px solid #fff;
	padding: 0 3%;
}
.head_menu ul li:first-child {
	border-left: 1px solid #fff;
}
@media screen and (max-width: 1079px){
	.head_menu .inner_frame {padding: 0 10%;}
}
@media screen and (max-width: 768px){
	.pc_mv {display: none;}
	.sp_mv {display: block;}
	.head_menu {padding: 2% 0;}
	.head_menu .inner_frame {padding: 0;}
	.head_menu ul li:first-child {border-left: none;}
	.head_menu ul li:last-child {border-right: none;}
}
@media screen and (max-width: 599px){
	.head_menu {padding: 1% 0;}
	.head_menu ul li {
		border-right: none;
		padding: 0 2%;
		position: relative;
	}
	.head_menu ul li::after {
		display: block;
		content: "";
		background: #fff;
		width: 1px;
		height: 30px;
		position: absolute;
		top: 53%;
		right: 0;
		transform: translateY(-50%);
	}
	.head_menu ul li:last-child:after {
		width: 0;
		height: 0;
	}
	.head_menu ul li .flexbox {flex-direction: column;}
	.head_menu a span span:first-child img {max-width: 30px;}

}


/* ================================================================================
CONCEPT
====================================================================================*/
.concept_bg {
	background-image: url(./images/top/about_bg.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}
.concept_abs {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
.concept_ttl {
	font-size: clamp(1.6rem, 1.3vw, 2.4rem);
}
.concept_copy01 {
	font-size: clamp(1.3rem, 1.5vw, 2.8rem);
	font-weight: 600;
}
.concept_copy02 {
	font-size: clamp(2rem, 2.5vw, 5rem);
}
.concept_text {
	font-size: clamp(1.5rem, 1.5vw, 2.8rem);
}



/* ================================================================================
works
====================================================================================*/
.works_bg {
	background-image: url(./images/top/works_bg.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}


/* ================================================================================
real_estate
====================================================================================*/
.realestate_box {
	border: 2px solid #ed9433;
	width: 85%;
	height: 85%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.realestate_ttl {
	font-size: clamp(2rem, 2.5vw, 5rem);
	font-weight: 600;
}
.realestate_text {
	font-size: clamp(1.5rem, 1.5vw, 2.4rem);
}


/* ================================================================================
About Us
====================================================================================*/
.about_bg {
	background-image: url(./images/top/about_bg.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}
.about_abs {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.about_deco01 {
	max-width: 320px;
	width: 23%;
	position: absolute;
	top: 16%;
	left: 0;
}
.about_deco02 {
	max-width: 394px;
	width: 29%;
	position: absolute;
	top: 66%;
	right: 0;
	z-index: 10;
}
.outline {
	display: block;
	background: #fff;
	width: 80%;
	margin-inline: auto;
}
.outline_inner {padding: 8% 8% 10%;}
.outline table {width: 100%;}
.outline tr {
	display: block;
	border-top: 1px solid #000;
}
.outline tr:last-child {
	border-bottom: 1px solid #000;
}
.outline th {
	font-weight: normal;
	width: 180px;
	padding: 2em 1.5em;
}
.outline td {
	width: 70%;
	padding: 2em 1em;
}



/* ================================================================================
News&Campaign
====================================================================================*/
.news_bg {
	background-image: url(./images/top/news_bg.png);
	background-position: top right;
	background-repeat: no-repeat;
	width: 100%;
}
.news_list {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	justify-content: center;
	gap: 2em;
}
.top_news_cat_wrap {
	position: absolute;
	top: 0;
	left: 0;
}
.top_news_cat,
.top_news_new {
	font-size: 1.3rem;
	text-align: center;
	font-weight: bold;
}
.top_news_cat {
	background: #fff;
	padding: 0 12px;
	line-height: 2;
}
.top_news_new {
	background: #ffe100;
}
.top_news_new .new_mark {
	padding: 0 12px;
	line-height: 2;
}
.news_list .news_item {max-width: 300px;}
.news_list .news_item .post_thumb {
	overflow: hidden;
	width: 100%;
	aspect-ratio: 1/1;
}
.news_list .news_item .post_thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* slider */
.slider_wrap {width: 100%;}
.slider_wrap .slider {
    margin: 0 -10px;
}
.slider_wrap .slider .slick-slide {
	max-width: 520px;
    padding: 0 10px;
    box-sizing: border-box;
}
.slider .slick-slide img {
    width: 100%;
    max-width: 500px;
	display: block;
}
@media screen and (min-width: 769px){
	.news_item a .post_thumb img {transition: all .3s;}
	.news_item a:hover .post_thumb img {
		transform: scale(1.2);
		transition: all .3s;
	}
}
@media screen and (min-width: 600px){
	.news_list .news_item:last-child {display: none;}
}
@media screen and (max-width: 768px){
	.news_list {gap: 1em;}
}
@media screen and (max-width: 599px){
	.top_news_cat,
	.top_news_new {font-size: 1.2rem;}
	.top_news_cat,
	.top_news_new .new_mark {line-height: 1.8;}
	.news_list {
		display: grid;
		grid-template-columns: repeat(2,1fr);
		gap: 3em 1em;
	}
	.news_text p.text_14 {
		font-size: 1.2rem;
	}
	/* slider */
	.slider .slick-slide img {max-width: 300px;}
}



@media screen and (min-width: 769px){
	.area_btn {
		transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	}
	.area_btn:hover img {
		transform: translateY(2px);
		transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	}
}
@media screen and (max-width: 768px){

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

}


/* ================================================================================
About us
====================================================================================*/
.top_about h3 span {font-weight: 600;}
.top_about h3 span:first-child {
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 2;
}
.top_about h3 span:last-child {
	font-size: clamp(2.6rem, 4vw, 4.8rem);
	line-height: 1.2
}
@media screen and (max-width: 599px){
	.top_about h3 span {letter-spacing: 1px;}
	.top_about h3 span:first-child {
		font-size: clamp(1.6rem, 4vw, 2.3rem);
	}
	.top_about h3 span:last-child {
		font-size: clamp(2.6rem, 6vw, 3.5rem);
		line-height: 1.3;
	}
}


/* ================================================================================
company
====================================================================================*/
.company table {width: 100%;}
.company tr {
	display: flex;
	justify-content: center;
	border-top: 1px solid #e6e6e6;
}
.company tr:last-child,
.company .border_b {border-bottom: 1px solid #e6e6e6;}
.company th {
	display: flex;
	align-items: center;
	background: #edf6f8;
	text-align: left;
	font-weight: normal;
	width: 30%;
}
.company td {width: 70%;}
.company th,
.company td {
	line-height: 1.5;
	padding: 1.5em 1em;
}
.company_info th {width: 15%;}
.company_info td {width: 85%;}
.shop_info table tbody {display: flex;}
.shop_info table:nth-of-type(2) tbody {
	display: grid;
	grid-template-columns: repeat(2,1fr);
}
.company_info h3,
.shop_info h3 {
	color: #103675;
	line-height: 1.5;
	padding-left: .8em;
	position: relative;
}
.company_info h3::before,
.shop_info h3::before {
	display: block;
	content: "";
	background: #103675;
	width: 5px;
	height: 1.5em;
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (max-width: 768px){
	.company .flexbox {flex-direction: column;}
	.company .intro .box47,
	.company .company_info .box47 {width: 100%;}
	.company .intro .box47:nth-of-type(1),
	.company .company_info .box47:nth-of-type(1) {margin-bottom: 30px;}
}
@media screen and (max-width: 599px){
	.company .border_b {border-bottom: none;}
	.shop_info table tbody {flex-direction: column;}
	.shop_info table:nth-of-type(2) tbody {
		grid-template-columns: repeat(1,auto);
	}
	.company_info th {width: 30%;}
	.company_info td {width: 70%;}
}


/* ================================================================================
個人情報保護方針
====================================================================================*/
.privacy h3 {
	color: #103675;
	line-height: 1.5;
	padding-left: .8em;
	position: relative;
}
.privacy h3::before {
	display: block;
	content: "";
	background: #103675;
	width: 5px;
	height: 1.5em;
	position: absolute;
	top: 0;
	left: 0;
}
.privacy li {
	list-style: disc;
	line-height: 1.8;
	margin-left: 2em;
}
.privacy p,
.privacy li {font-size: clamp(1.4rem, 1.8vw, 1.6rem);}
@media screen and (max-width: 599px){
	.privacy .sp_h3::before {height: 3em;}
}


/* ================================================================================
inc_footmenu
====================================================================================*/
.contactbox {
	border: 1ps solid #ed9433;
	padding: 3em;
}


/* ================================================================================
contact
====================================================================================*/
.contact_a {
	text-decoration: underline 1px #00a0e9;
	color: #00a0e9;
	transition: all .3s;
}
.contact_a:hover {
	text-decoration: underline 1px #103675;
	color: #103675;
	transition: all .3s;
}



/* ================================================================================
市一覧
====================================================================================*/
.property section {padding-top: 80px;}
.property_btn {
	display: grid;
	grid-template-columns: repeat(6,1fr);
	justify-content: center;
	gap: 15px;
}
.property_btn a {
	display: block;
	border: 1px solid #000;
	background: #fff;
	border-radius: 5px;
	color: #000;
	font-size: clamp(1.3rem, 1.5vw, 1.6rem);
	text-align: center;
	padding: 10% 3%;
}
.archive_city h3 {font-size: clamp(2.2rem, 2.8vw, 3rem);}
@media screen and (min-width: 769px){
	.property_btn a {transition: all .3s;}
	.property_btn a:hover {
		border: 1px solid #103675;
		background: #103675;
		color: #fff;
		transition: all .3s;
	}
}
@media screen and (max-width: 768px){
	.property h2 img {max-width: 17% !important;}
	.property_btn {gap: 10px;}
}
@media screen and (max-width: 599px){
	.property section {padding-top: 35px;}
	.property h2 img {max-width: 20% !important;}
	.property_btn {
		grid-template-columns: repeat(3,1fr);
		gap: 10px;
	}
}



/* ================================================================================
News
====================================================================================*/
.news_cat_filter {
	display: grid;
	grid-template-columns: repeat(6,1fr);
	gap: .5em;
}
.news_cat_filter a {
	border: 1px solid #808080;
	background: #fff;
	color: #000;
	text-align: center;
	padding: 8px 0;
}
.archive_news_item {
	border-top: 1px solid #e6e6e6;
	padding: 1.5em 0;
}
.archive_news_item .post_thumb {
	overflow: hidden;
	max-width: 240px;
	width: 100%;
	aspect-ratio: 1/1;
}
.archive_news_item .post_thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.archive_news_cat,
.archive_news_new {
	font-size: 1.3rem;
	text-align: center;
	font-weight: bold;
}
.archive_news_cat {
	background: #fff;
	border: 1px solid #ccc;
	padding: 0 12px;
	line-height: 2;
}
.archive_news_new {
	background: #ffe100;
	border: 1px solid #ffe100;
}
.archive_news_new .new_mark {
	padding: 0 12px;
	line-height: 2;
}
@media screen and (min-width: 769px){
	.news_cat_filter a,
	.archive_news_item a .post_thumb img {transition: all .3s;}
	.news_cat_filter a:hover {
		border: 1px solid #103675;
		background: #103675;
		color: #fff;
		transition: all .3s;
	}
	.archive_news_item a:hover .post_thumb img {
		transform: scale(1.2);
		transition: all .3s;
	}
}
@media screen and (max-width: 599px){
	.news_cat_filter {
		display: flex;
		gap: .5em;
		flex-wrap: wrap;
	}
	.news_cat_filter a {padding: 8px 5px;}
	.archive_news_list ul {
		display: grid;
		grid-template-columns: repeat(2,1fr);
		gap: 3em 1em;
	}
	.archive_inner.flexbox {
		align-items: flex-start;
		flex-direction: column;
	}
	.archive_news_item .post_thumb {max-width: 100%;}
	.archive_news_cat,
	.archive_news_new {font-size: 1.2rem;}
	.archive_news_cat,
	.archive_news_new .new_mark {line-height: 1.8;}
}



/* ================================================================================
共通設定
====================================================================================*/
.page_frame {overflow: hidden;}
.catlist .ttl {
	border: 1px solid #cccccc;
	background: #fff;
}
.catlist .original {
	border: 1px solid #000;
	background: #000;
	color: #ffe100;
}
.catlist .status {
	border: 1px solid #7ecef4;
	background: #7ecef4;
	color: #fff;
}
.catlist .new_mark {
	border: 1px solid #ffe100;
	background: #ffe100;
}
.price {line-height: 1;}
.price_num {
	font-size: clamp(2.2rem, 2.2vw, 3.4rem);
	font-weight: 600;
	color: #00a0e9;
}
.annotation {
	line-height: 1.3;
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	color: #808080;
}
/* obi */
.post_obi {
	background: #edf6f8;
	text-align: center;
	width: 100%;
}
.post_obi div {padding: 2.5em 3%;}
.post_obi button {
	border: none;
	background: transparent;
	cursor: pointer;
}
@media screen and (max-width: 768px){
	.price_num {font-size: clamp(2.4rem, 4.8vw, 3.6rem);}
	/* obi */
	.post_obi div {flex-wrap: wrap;}
}




/* ================================================================================
archive/taxonomy 共通設定
====================================================================================*/
.page_frame.archive {
	background-image: url(./images/archive/archive_bg.png);
	background-position: top;
	background-size: 100%;
	background-repeat: no-repeat;
}
.archive_list ul,
.archive_city ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	justify-content: center;
	gap: 4em 2.5em;
}
.archive_item {
	border-top: 1px solid #e6e6e6;
	padding-bottom: 5%;
}
/* 会員限定デザイン */
.member_only {background: #edf6f8;}
/* tab */
.archive_tab {
	display: grid;
	grid-template-columns: repeat(6,1fr);
	justify-content: center;
	gap: 15px;
	border-bottom: 2px solid #000;
}
.archive_tab li{
	border-top: 1px solid #000;
	border-left: 1px solid #000;
	border-right: 1px solid #000;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	opacity: .3;
}
.archive_tab a,
.archive_tab .is_current {
	display: block;
	font-size: clamp(1.1rem, 1.5vw, 1.6rem);
	text-align: center;
	padding: 10% 3%;
}
.archive_tab .is_current{
	border-bottom: 2px solid #fff;
	margin-bottom: -2px;
	opacity: 1 !important;
}
/* search */
.search_box {
	font-size: 1.6rem;
	line-height: 1;
}
.search_box select,
.search_city div {
	display: block;
	border: 1px solid #e6e6e6;
	border-radius: 5px;
	width: 100%;
	padding: 1em;
}
.search_city {width: 40%;}
.search_all {
	width: 20%;
	height: 45px;
}
.search_all a{
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	border: 1px solid #000;
	border-radius: 5px;
	color: #000;
	font-size: clamp(1.3rem, 1.5vw, 1.6rem);
	text-align: center;
	height: 100%;
	padding: 0 2.8em;
}
#prefecture {cursor: pointer;}
#city {cursor: default;}
#city:not([disabled]) {cursor: pointer;}
/* cat */
.archive_catlist {
	display: flex;
	align-items: center;
}
.archive_cat {
	padding: 8px 12px;
	line-height: 1;
	font-size: clamp(1.1rem, 1.5vw, 1.3rem);
	text-align: center;
	font-weight: 500;
}
/* コンテンツ */
.archive_title {
	font-size: clamp(1.6rem, 2vw, 1.8rem);
	line-height: 1.5;
}
.archive_text_inner p {
	font-size: 1.2rem;
	color: #808080;
	line-height: 1.3;
}
.archive_list .post_thumb,
.archive_city .post_thumb {
	overflow: hidden;
	max-width: 200px;
	width: 100%;
	aspect-ratio: 4/3;
}
.archive_list .post_thumb img,
.archive_city .post_thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media screen and (min-width: 769px){
	.search_all a,
	.archive_item a img {transition: all .3s;}
	.search_all a:hover {
		background: #103675;
		border: 1px solid #103675;
		color: #fff;
		transition: all .3s;
	}
	.archive_item a:hover .post_thumb img {
		transform: scale(1.2);
		transition: all .3s;
	}
}
@media screen and (max-width: 1079px){
	/* tab */
	.archive_tab {gap: 5px;}
	/* search */
	.search_city {width: 50%;}
}
@media screen and (max-width: 830px){
	/* search */
	.search_city {width: 60%;}
	.search_all {width: 25%;}
}
@media screen and (max-width: 768px){
	.archive_list ul,
	.archive_city ul {
		grid-template-columns: repeat(1, 1fr);
		gap: 50px;
	}
	/* cat */
	.archive_cat {
		font-size: clamp(1.2rem, 1.5vw, 1.3rem);
		padding: 5px 12px;
	}
	/* コンテンツ */
	.archive_title {font-size: clamp(1.8rem, 3.2vw, 2rem);}
}
@media screen and (max-width: 700px){
	/* search */
	.search_all {width: 30%;}
}
@media screen and (max-width: 599px){
	/* tab */
	.archive_tab {
		gap: 0;
		border-bottom: 1px solid #000;
	}
	.archive_tab li{
		display: flex !important;
		justify-content: center;
		align-items: center;
	}
	.archive_tab .is_current{
		border-bottom: 1px solid #fff;
		margin-bottom: -1px;
	}
	/* search */
	.search_all {width: 36%;}
	.search_city {
		flex-direction: column;
		width: 50%;
	}
	.search_city.ai_c {align-items: flex-start;}
	.search_city div {width: 84%;}
	.search_all a {padding: 0 1.5em;}
	/* コンテンツ */
	.archive_title {margin-bottom: 5px;}
	.archive_list .post_thumb,
	.archive_city .post_thumb {max-width: 300px;}
	.archive_inner .box47,
	.archive_list .post_thumb,
	.archive_city .post_thumb {
		display: block;
		width: 100%;
		margin-inline: auto;
	}
	.archive_text {
		width: 90%;
		margin-inline: auto;
	}
}
@media screen and (max-width: 496px){
	.archive_catlist.m_b30 {margin-bottom: 10px;}
	/* 会員限定デザイン */
	.member_only img {
		display: block;
		margin-inline: auto;
	}
}
@media screen and (max-width: 410px){
	/* tab */
	.archive_tab .is_current{
		border-bottom: 3px solid #fff;
		margin-bottom: -2px;
	}
	/* search */
	.search_all {width: 40%;}
}



/* ================================================================================
single共通設定
====================================================================================*/
.post_ttl img {
	display: block;
	max-width: 200px;
	width: 45%;
	margin-inline: auto;
}
/* DLボタンフロントデザイン */
.dl_wrap {height: 50px;}
.btn_dl {
	display: block;
	overflow: hidden;
	border: 1px solid #000;
	background: #fff;
	border-radius: 5px;
	font-family: "Noto Sans JP", sans-serif;
	color: #000;
	font-size: 1.5rem;
	text-decoration: none;
	max-width: 250px;
	width: 100%;
	height: 50px;
	position: relative;
}
.btn_dl .dl_arrow {
	display: block;
}
.btn_dl .dl_arrow::after {
	display: block;
	content: "";
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	width: 6px;
	aspect-ratio: 1/1;
	position: absolute;
	top: 50%;
	right: 8%;
	transform: rotate(45deg) translateY(-50%);
}
.dl_text {
	font-weight: 600;
}
.dl_icon {
    display: block;
    content: "";
    background: url("./images/common/pdf_icon.png") no-repeat;
    background-size: 25px;
	background-position: left;
	width: 25px;
	aspect-ratio: 1/1;
	margin-left: 1.5em;
}
.btn_dl:hover {
	color: #000 !important;
	opacity: .6;
}
/* cat */
.post_catlist {
	display: flex;
	align-items: center;
	gap: 5px;
}
.post_cat {
	padding: 8px 12px;
	line-height: 1;
	font-size: 1.3rem;
	text-align: center;
	font-weight: 500;
}
/* works_status */
.post_status {
	color: #fff;
	text-align: center;
	font-size: clamp(1.6rem, 2vw, 1.8rem);
}
.post_status_inner {
	display: block;
	padding: 1%;
}
.post_status .available,
.post_status .sale {
	display: block;
	background: #00a0e9;
	width: 100%;
}
.post_status .negotiation {
	display: block;
	background: #153e55;
	width: 100%;
}
.post_status .completed {
	display: block;
	background: #ffe100;
	color: #000;
	width: 100%;
}

/* post_top */
.post_top .post_thumb {
	overflow: hidden;
	max-width: 100%;
	width: 100%;
	aspect-ratio: 4/3;
}
.post_top .post_thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.post_top_cont table {width: 100%;}
.post_top_cont tr {
	display: flex;
	justify-content: center;
	border-top: 1px solid #e6e6e6;
}
.post_top_cont tr:last-child {
	border-bottom: 1px solid #e6e6e6;
}
.post_top_cont th {
	display: flex;
	align-items: center;
	background: #edf6f8;
	text-align: left;
	font-weight: normal;
	width: 30%;
	padding: 1em;
}
.post_top_cont td {
	width: 70%;
	padding: 1em;
}
.post_top_cont td p {line-height: 1.5;}
/* location */
.post_location .gallery{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 1em;
	flex-wrap: wrap;
}
/* outline */
.post_outline table {width: 100%;}
.post_outline h4 {
	font-size: clamp(1.6rem, 2vw, 1.8rem);
	margin-left: 1em;
}
.post_outline tr,
.post_outline .table_row {
	display: flex;
	border-top: 1px solid #e6e6e6;
}
.post_outline tr:last-child,
.post_outline .table_row:last-child {
	border-bottom: 1px solid #e6e6e6;
}
.post_outline th {
	text-align: left;
	font-weight: normal;
}
.post_outline th,
.post_outline .table_th,
.post_outline td,
.post_outline .table_td {
	font-size: clamp(1.3rem, 2vw, 1.5rem);
	line-height: 1.5;
}
.post_outline th,
.post_outline .table_th {
	background: #edf6f8;
	max-width: 150px;
	width: 100%;
	height: auto;
}
.post_outline th,
.post_outline .table_th .pad {padding: 1.5em;}
.post_outline td,
.post_outline .table_td .pad {padding: 1.5em 1em;}
.post_outline td,
.post_outline .table_td {width: 100%;}
.outline_grid {
	display: grid;
	grid-template-columns: repeat(2,auto);
}
.item1 {
    grid-column-start: 1;
    grid-column-end: 3;
}
.item3 {
    grid-row-start: 3;
    grid-row-end: 4;
}
.item4 {
    grid-row-start: 4;
    grid-row-end: 5;
	border-bottom: 1px solid #e6e6e6;
}
.item5 {
	grid-column-start: 2;
    grid-column-end: 3;
}
.item6 {
	grid-column-start: 2;
    grid-column-end: 3;
    grid-row-start: 3;
    grid-row-end: 5;    
}
.item1 .table_td,
.item3 .table_td  {text-wrap: nowrap;}
.item3 .table_th .pad {padding: 3em 1.5em;}
.item6 .table_th .pad {padding: 5em 1.5em;}
.remarks {
	border-top: 1px solid #e6e6e6;
	border-bottom: 1px solid #e6e6e6;
	font-size: clamp(1.3rem, 2vw, 1.5rem);
	padding: 1em 3%;
}
@media screen and (max-width: 768px){
	/* cat */
	.post_cat {
		font-size: clamp(1.1rem, 1.5vw, 1.2rem);
		padding: 5px;
	}
	/* post_top */
	.post_top_cont_wrap {flex-direction: column;}
	.post_top_cont_wrap .box47 {width: 100%;}
	.post_top .post_thumb {
		display: block;
		margin-inline: auto;
	}
	/* location */
	.post_location .gallery{gap: 5px;}
	/* outline */
	.outline_grid {grid-template-columns: repeat(1,1fr);}
	.item1 .table_td,
	.item3 .table_td  {text-wrap: wrap;}
	.item2 {grid-row-start: 2;}
	.item3 {grid-row-start: 3;}
	.item4 {
		grid-row-start: 4;
		grid-row-end: 4;
		border-bottom: none;
	}
	.item5 {
		grid-column-start: 1;
		grid-row-start: 5;
	}
	.item6 {
		grid-column-start: 1;
		grid-row-start: 6;
		grid-row-end: 6;    
	}
	.post_outline .flexbox {flex-direction: column;}
	.post_outline .box47 {
		width: 100%;
		padding-bottom: 30px;
	}
	.post_outline .table_th .pad {padding: 0;}
	.post_outline .table_th {padding: 1.5em;}
}
@media screen and (max-width: 599px){
	.post_outline th,
	.post_outline .table_th {
		max-width: 100%;
		width: 38%;
	}
	.post_outline .table_td .pad {padding: 0;}
	.post_outline th,
	.post_outline .table_th,
	.post_outline .table_td {padding: 1.5em 1em;}

}



/* ================================================================================
　　　accordion
====================================================================================*/
.accordion_box .btn-box button {
	width: 100%;
    padding: 15px 0;
    background: #000;
    border: 1px solid #000;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    position: relative;
	box-sizing: border-box;
}
.accordion_box .btn-box button:hover{
	background: #fff;
	color: #000;
}
.accordion_box .btn-box button::after {
	content: '+';
    position: absolute;
    right: 2%;
    top: 50%;
    transform: translateY(-50%);
    font-size: 35px;
    font-weight: 300;
    color: #fff;
    transition: all 0.3s ease;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.accordion_box .btn-box button:hover::after{
    color: #000;
}
.accordion_box .more {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease;
	background: transparent;
}

.accordion_box .more.appear {
	max-height: 100%;
	animation: simpleFadeIn 0.3s ease;
}
@keyframes simpleFadeIn {
	0% {
		opacity: 0;
		transform: translateY(-5px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
.accordion_box:has(.more.appear) .btn-box button::after {
	content: '−';
	transform: translateY(-50%);
	color: #fff;
}
.accordion_box:has(.more.appear) .btn-box button:hover::after {
	color: #000;
}
@media (max-width: 768px) {
	.accordion_box .btn-box button {
		font-size: 14px;
		padding: 12px 0;
	}
}
/* アコーディオンの中身 */
.appuse_ttl img {
    max-width: 322px;
    width: 75%;
}
.scene_gird{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 4%;
	row-gap: 40px;
}
@media (max-width: 599px) {
	.scene_gird{
		grid-template-columns: repeat(1, 1fr);
		width: 80%;
		margin-inline: auto;
	}
}


/*----------------------------------------
	投稿タイプ　一覧ページャー
----------------------------------------*/
.page-numbers.dots{
	display: inline-block;
	margin-top: 20px;
}
.pager,
.pager ul,
.pager.pager_right ul,
.pager li,
.pager li a.prev,
.pager li a.next {position: relative;}
.pager{margin-top: 50px;}
.pager ul{
	float: left;
	left: 50%;
}
.pager.pager_right ul{float: right;}
.pager li{
	float: left;
	left: -50%;
	list-style: none;
}
.pager li a,
.pager li .current{
	display: grid;
	place-items: center;
	background: #fff;
	border: 1px solid #cccccc;
	border-radius: 5px;
	color: #000;
	text-align: center;
	width: 50px;
	aspect-ratio: 1/1;
	margin-right: 10px;
	padding-top: 5px;
	padding-bottom: 5px;
	box-sizing: border-box;
}
.pager li .current{opacity: .5;}
.pager li a.prev,
.pager li a.next{
	width: 100px;
	height: 50px;
}
.pager li a.prev{ margin-right: 20px; }
.pager li a.next{ margin-left: 10px; }
.pager li a.prev::after,
.pager li a.next::after{
	content: "";
	transition: all .3s;
	border-top: 2px solid #000;
	width: 6px;
	aspect-ratio: 1/1;
	position: absolute;
	top: 50%;
}
.pager li a.next::after{
	border-right: 2px solid #000;
	transform: translateY(-50%) rotate(45deg);
	right: 20%;
}
.pager li a.prev::after{
	border-left: 2px solid #000;
	transform: translateY(-50%) rotate(-45deg);
	left: 20%;
}
@media screen and (min-width: 769px){
	.pager li a {transition: all .3s;}
	.pager li a:hover {
		background: #103675;
		border: 1px solid #103675;
		color: #fff;
		transition: all .3s;
	}
	.pager li a.prev:hover::after,
	.pager li a.next:hover::after{
		border-top: 2px solid #fff;
	}
	.pager li a.next:hover::after{
		border-right: 2px solid #fff;
	}
	.pager li a.prev:hover::after{
		border-left: 2px solid #fff;
	}
}
@media screen and (max-width: 960px){
	.pager ul{
		position: relative;
		float: left;
		left: 50%;
	}
	.pager.pager_right ul{
		position: relative;
		float: left;
		left: 50%;
	}
	.pager li{
		position: relative;
		float: left;
		left: -50%;
	}
	.pager.pager_right li{
		position: relative;
		float: right;
		left: -50%;
		font-size: 1.2rem;
	}
}/*END*/
@media screen and (max-width: 599px){
	.pager{
		margin-top: 100px;
		margin-bottom: 150px;
	}
	.pager li .current,
	.pager li a{width: 35px;}
	.pager li a.prev,
	.pager li a.next{
		width: 80px;
		height: 35px;
	}
	.pager li a.prev::after,
	.pager li a.next::after{border-top: 1px solid #000;}
	.pager li a.next::after{
		border-right: 1px solid #000;
		right: 15%;
	}
	.pager li a.prev::after{
		border-left: 1px solid #000;
		left: 15%;
	}
}/*END*/


