@media screen and (max-width: 1200px) {}
@media screen and (max-width: 769px) {}
@media screen and (max-width: 599px) {}
/* ==========================================================================
   reset
 ========================================================================== */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    font-weight: normal;
    box-sizing: border-box;
}

html,
body,
main {
  min-height: 100vh;
}

img {
  border-style: none;
  vertical-align: bottom;
  width: 100%;
  max-width: 100%;
}

svg:not(:root) {
  overflow: hidden;
}

.ap_hidden {
  display: none !important;
  visibility: hidden;
}

a {
  text-decoration: none;
  color:#3E3A39;
  transition: 0.5s;
}

a:hover {
  text-decoration: none;
  color:#AECBCD;
  transition: 0.5s;
}

/*==========================================================================
      common
========================================================================== */

body {
  font-family:"Noto Sans JP","Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-size:14px;
  color: #3E3A39;
  background: #fff;
  overflow-wrap: break-word;
  word-break: normal;
  overflow-x: hidden;
  max-width: 100vw;
  word-wrap: break-word;
}

ul {
  list-style: none;
}
section {
    padding: 15px 0;
}

.ap_sp_inner{
  max-width:500px;
  margin: 0 auto;
  box-sizing: border-box;
  border: 1px solid;
}

.ap_inner{
  width: 95%;
  margin: 0 auto;
  box-sizing: border-box; 
}

.ap_pagetop{
    cursor:pointer;
}

.ap_pointer{
  cursor:pointer
}

.ap_tb_visible {
  display: none;
}

.ap_sm_visible {
  display: none;
}

.overflow_init {
  overflow-x: visible !important;
}

.ap_bold{
    font-weight: bold;
}

.ap_background_color_white {
  background-color: #fff;
}
.ap_background_color_gray {
  background-color: #f2f2f2;
}

.ap_icon_plus {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  cursor: pointer;
}
.ap_icon_plus::after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url(/img/cross01.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 0.5px;
  margin-left: 10px;
  transition: 0.5s;
}

.ap_icon_delete {
  content: "";
  display: inline-block;
  top: 50%;
  width: 16px;
  height: 16px;
  background: url(/img/profile_open.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 1px 5px 1px 5px;
  transform: rotate(45deg);
}

.ap_delete_link{
  position: relative;
  white-space: nowrap;
  margin-right: 20px;
  color: #aecbcd;
}

.ap_delete_link::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 1px;
  width: 16px;
  height: 16px;
  background: url(/img/profile_open.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 1px 5px 1px 5px;
  transform: rotate(45deg);
}
.ap_icon_link {
  content: "";
  display: inline-block;
  width: 9.7px;
  height: 16px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 1px 5px 1px 5px;
  transform: rotate(180deg);
}
@media screen and (max-width: 769px) {
.ap_tb_visible {
  display: block;
}
  .ap_tb_hidden {
    display: none !important;
  }
}

@media screen and (max-width: 599px) {
  .ap_sm_hidden {
    display: none !important;
  }
.ap_sm_visible {
  display:block;
}
}

.ap_color_red {
  color: #ff0000;
}

.ap_grid {
  grid-template-rows: auto 1fr auto;
  display: grid;
}

.ap_content_wrapper{
  max-width: 430px;
  padding: 30px;
  margin: auto;
}

.ap_error_content_wrapper{
  max-width: 430px;
  padding: 30px;
  margin: auto;
  text-align: center;
}

.ap_error_content_wrapper h2{
  font-size: 1.2em;
}

.ap_common_add_button {
  display: block;
  text-align: center;
  padding: 3px 0px;
  border-radius: 15px;
  border: 1.5px solid #aeccce;
  background-color: #fff;
  color: #aeccce;
}

.ap_common_add_button img {
  width: 20px;
  margin-right: 5px;
}

.ap_file_upload_message {
  display: flex;
  align-items: center;
  margin: 10px 0px 0px 0px;
}
.ap_file_upload_message img {
  width: auto;
  margin: 0px 0px 0px 5px;
}
.ap_file_upload_progress{
  margin: 0px 0px 10px 0px;
  padding: 0px 15px 0px 0px;
}
.ap_file_upload_progress progress{
  width: 100%;
}

/* ==========================================================================
width_style
========================================================================== */
.ap_width_100{
  width: 100%;
}
/* ==========================================================================
border_style
========================================================================== */
.ap_border_top{
  border-top: 1px solid #ebebeb;
}
.ap_border_bottom{
  border-bottom: 1px solid #ebebeb;
}
/* ==========================================================================
margin_style
========================================================================== */

.ma {
  margin: 0 auto;
}
.mb0{
  margin-bottom: 0;
}
.mb5{
  margin-bottom: 8px;
}
.mb10{
  margin-bottom: 15px;
}
.mb15 {
  margin-bottom: 1.5rem;
}
.mb20{
  margin-bottom: 2rem;
}
.mb25{
  margin-bottom: 2.5rem;
}
.mb30{
  margin-bottom: 3rem;
}
.mb35{
  margin-bottom: 3.5rem;
}
.mb40{
  margin-bottom: 4rem;
}
.mb45{
  margin-bottom: 4.5rem;
}
.mb50 {
  margin-bottom: 5rem;
}
.mb55 {
  margin-bottom: 5.5rem;
}
.mb60 {
  margin-bottom: 6rem;
}
.mb65 {
  margin-bottom: 6.5rem;
}
.mb70 {
  margin-bottom: 7rem;
}
.mb75 {
  margin-bottom: 7.5rem;
}
.mb80 {
  margin-bottom: 8rem;
}
.mb85 {
  margin-bottom: 8.5rem;
}
.mb90 {
  margin-bottom: 9rem;
}
.mb95 {
  margin-bottom: 9.5rem;
}
.mb100{
  margin-bottom: 10rem;
}  
  
.mt0{
  margin-top: 8px;
}
.mt10{
  margin-top: 15px;
}
.mt15 {
  margin-top: 1.5rem;
}
.mt20{
  margin-top: 2rem;
}
.mt25{
  margin-top: 2.5rem;
}
.mt30{
  margin-top: 3rem;
}
.mt35{
  margin-top: 3.5rem;
}
.mt40{
  margin-top: 4rem;
}
.mt45{
  margin-top: 4.5rem;
}
.mt50 {
  margin-top: 5rem;
}
.mt55 {
  margin-top: 5.5rem;
}
.mt60 {
  margin-top: 6rem;
}
.mt65 {
  margin-top: 6.5rem;
}
.mt70 {
  margin-top: 7rem;
}
.mt75 {
  margin-top: 7.5rem;
}
.mt80 {
  margin-top: 8rem;
}
.mt85 {
  margin-top: 8.5rem;
}
.mt90 {
  margin-top: 9rem;
}
.mt95 {
  margin-top: 9.5rem;
}
.mt100{
  margin-top: 10rem;
}
.mr5{
  margin-right: 5px;
}
.mr10{
  margin-right: 10px;
}
.ml5{
  margin-left: 5px;
}
.ml10{
  margin-left: 10px;
}
/* ==========================================================================
padding_style
========================================================================== */
.pb20 {
  padding-bottom: 2rem;
}
.pb30 {
  padding-bottom: 3rem;
}
.pb40 {
  padding-bottom: 4rem;
}
.pr0{
  padding-left: 0px !important;
}
.plr5 {
  padding-left: 5px !important;
  padding-right: 5px !important;
}
/* ==========================================================================
radius_style
========================================================================== */
.ap_radius_15{
  border-radius: 15%;
}

/* ==========================================================================
      font_style
========================================================================== */

.ap_error_message {
  color:#ff0000;
}

.ap_my_list_all_text {
  color: #aecbcd;
}

.ap_center_text {
  text-align: center !important;
}
.ap_center_item {
  align-items: center !important;
}
.ap_right_text {
  text-align: right !important;
}

.ap_left_text {
  text-align: left !important;
}

.ap_primary,
.ap_primary a,
a.ap_primary{
  color:#AECBCD;
}

.ap_secondary,
.ap_secondary a,
a.ap_secondary{
  color:#FF8F8C;
}

.fs16{
  font-size: 16px;
}


/*ap_flex*/

.ap_flex {
  display: flex;
}
.ap_flex.reverse {
    flex-direction: row-reverse;
  }
.ap_flex.end {
    justify-content: flex-end;
  }
.ap_flex.center {
    position: relative;
    align-items: center;
  }
.ap_flex.wrap {
    flex-wrap: wrap;
  }
.ap_flex.just_center {
    justify-content: center;
  }
.ap_flex.between{
    justify-content: space-between;
  }
.ap_flex.around{
    justify-content: space-around;
  }
.ap_flex.stretch{
        align-items:stretch;
    }


/*カラム設定*/
.column2,
.column3,
.column4,
.column5 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.column2.center,
.column3.center,
.column4.center,
.column5.center {
  align-items: center;
}


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

  .column2,
  .column3,
  .column4,
  .column5 {
    justify-content: space-around;
  }
}

.column2>figure,
.column2>div,
.column2>li, 
.column2>img,
.column2>p,
.column2>a{
  width: 46%;
}

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

  .column2>figure,
  .column2>div,
  .column2>li,
.column2>img
.column2>a{
    width: 46%;
  }
}

.column3>figure,
.column3>div,
.column3>li,
.column3>img,
.column3>a{
  width: 31.7%;
}

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

  .column3>figure,
  .column3>div,
  .column3>li,
.column3>img,
.column3>a{
    width: 46%;
  }
    .column3:after {
    content: "";
    width: 46%;
}
}

.column4>figure,
.column4>div,
.column4>li,
.column4>img,
.column4>a{
  width: 23.2%;
}

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

  .column4>figure,
  .column4>div,
  .column4>li,
  .column4>img,
.column4>a{
    min-width: 45%;
  }
}

.column5>figure,
.column5>div,
.column5>li,
.column5>img{
  width: 17%;
}

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

  .column5>figure,
  .column5>div,
  .column5>li,
  .column5>img{
    min-width: 45%;
  }
}

/*ポインター*/
.ap_pointer{
  cursor: pointer;
}

.ap_pointer_none{
pointer-events: none;
}

/*文字数制限*/

.ellipsis {
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.line-clamp {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
/*共通装飾*/

.ap_bold{
    font-weight: bold;
}
.ap_underline{
    text-decoration: underline;
}


/* ==========================================================================
  電話番号
========================================================================== */

@media screen and (min-width: 599px){
  a[href*="tel:"] {
      pointer-events: none;
      cursor: default;
      text-decoration: none;
  }
}

/*********************
動作確認用の為に入れています
**********************/
::-webkit-scrollbar {
    height: 10px;
    background-color: #f2f2f2; 
}
::-webkit-scrollbar-thumb {
    background: #AECBCD; 
    height: 6px;
    border-radius: 5px;
}
/*********************
共通スライダー
**********************/

.ap_common_title_flex{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
    padding: 0 15px;
}
.ap_common_title_h1{
    font-size: 16px;
    font-weight: 600;
}
.ap_common_title_link{
    font-size: 14px;
    color:#AECBCD;
}

.ap_common_slide_wrap {
    width: 100%;/*レイアウト再現用*/
    overflow: hidden;/*レイアウト再現用*/
    padding-left: 15px;
}
.ap_common_slide_wrap .non_posts{
  margin: 20px 0px;
}
.ap_common_slide_inner {
    display: flex;
    align-items: center;
    overflow-x: scroll;/*レイアウト再現用*/
}
.ap_common_slide_content {
    width: 40%;
    margin-right: 1px;
    position: relative;
    min-width: 180px;
}
.ap_common_slide_house_wrap{
    margin-right: 1px;
    position: relative;
    min-width: 180px;/*レイアウト再現用*/ 
    width: 40%;
}
.ap_common_slide_content img{
    margin-top: 1px;
}
.ap_common_slide_content::after{
    height: 40%;
    width: 100%;
    content: "";
    background: rgb(0,0,0);
    background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
    position: absolute;
    left: 0;
    bottom: 0;
}
.ap_common_slide_content::before{
    height: 20px;
    width: 20px;
    content: "";
    position: absolute;
    right:8px;
    top:8px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 1;
}
.ap_common_slide_content.video::before{
   background-image: url(/img/common_icon01.webp); 
    background-size: 55%;
}
.ap_common_slide_content.days::before{
    background-image: url(/img/common_icon02.webp);
}
.ap_common_slide_content.house::before,
.ap_common_slide_content.house::after{
    display: none;
}
.ap_common_slide_content img{
    aspect-ratio: 4/5;
    object-fit: cover;
}
.ap_common_slide_content_text{
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 12px;
    color: #fff;
    margin: 10px;
}

@media screen and (max-width:375px){
    .ap_common_title_h1{
        font-size: 14px;
        font-weight: 600;
    }
    .ap_common_title_link{
        font-size: 12px;
        color:#AECBCD;
    }
}
/***************************
共通タイトル
****************************/

.ap_common_title_line{
    border-left: 3px solid #aecbcd;
    font-size: 14px;
    font-weight: 500;
    padding-left: 8px;
    margin-bottom: 10px;
    line-height: 1.4em;
}
/***************************
共通検索
***************************/
.ap_index_search_area{
    padding: 0 15px;
}

.ap_index_search_area input[type="search"]{
    width: 100%;
    height: 33px;
    background: #f2f2f2;
    border: none;
    outline: none;
    margin-bottom: 15px;
    background-image: url(/img/menu_icon02_off.webp);
    background-size: 20px;
    background-position: 8px center;
    background-repeat: no-repeat;
    padding-left:30px;
}
.ap_index_search_area input[type="search"]::placeholder {
    color:#c5c5c5;
    font-size: 12px;
}
.ap_common_tag_area{
    width: 100%;
    white-space: nowrap;
    display: flex;
    align-items: center;
    overflow-x: scroll;
    overflow-y: hidden;
    margin-bottom: 15px;
}
.ap_common_tag_word a{
    background: #f2f2f2;
    padding: 8px;
    border-radius: 50px;
    margin-right: 8px;
    font-size: 14px;
}
.ap_common_menu_area{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.ap_common_menu_btn{
    width: 24%;
}
.ap_common_menu_btn a{
    padding: 15px 10px;
    text-align: center;
    border: 1px solid #666;
    display: block;
    width: 100%;
    border-radius: 5px;
}
/***************************
ヘッダー
****************************/
.ap_common_header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #AECBCD;
    position: fixed;
    top: 0;
    width: 100%;
    max-width: 500px;
    padding: 8px 15px;
    z-index: 999;
}
.ap_common_header_logo{
    max-width: 100px;
}
.ap_common_header_bell{
    max-width: 30px;
}
.ap_dummy_header{
    padding: 15px;
    height: 20px;
}
/***************************
フッター
****************************/
.ap_common_footer{
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #FFF;
    position: fixed;
    bottom: 0;
    width: calc(100% - 2px);
    max-width: 498px;
    padding: 5px 15px 15px;
    z-index: 999; 
}
.ap_common_footer li{
    text-align: center;
}
.ap_common_footer li img{
    height: 20px;
    object-fit: contain;
}
.ap_common_footer li a{
    color: #c5c5c5;
    font-size: 12px;
}
@media screen and (max-width:375px){
   .ap_common_footer li img{
    height: 15px;
}
.ap_common_footer li a{
    color: #c5c5c5;
    font-size: 10px;
} 
}
/***************************
トップ
****************************/
.ap_index_sec01{
    padding: 0;
    position: relative;
    margin: 0 0 0 0;
}
[class^="ap_index_sec"] .link {
  position: relative;
  padding: 10px 0px;
  width: 100%;
  border-top: 2px solid #f2f2f2;
  border-bottom: 2px solid #f2f2f2;
  margin: 0 0 -2px;
}
[class^="ap_index_sec"] .link::after {
  content: url('/img/common_arrow_icon.webp');
  position: absolute;
  top: 5px;
  bottom: 0;
  right: 0;
  display: inline-block;
  vertical-align: middle;
  transform: scale(0.5) scaleX(-1);
  margin: auto;
}
.ap_index_sec_add_posts_footer{
  align-items: center;
  justify-content: space-between;
  background: #FFF;
  position: fixed;
  bottom: 0;
  width: calc(100% - 2px);
  max-width: 499px;
  border-radius: 10px 10px 0px 0px;
  padding: 5px 30px 15px;
  z-index: 999;
}
.ap_index_sec_add_posts_footer .ap_input_file_area{
  max-height: 50vh;
  overflow-y: scroll;
}
.ap_index_line {
  margin: 5px 40% 20px 40%;
  border-radius: 5px;
  background-color: #c5c5c5;
  height: 4px;
}
.ap_index_line:before {
  content: "";
  position: absolute;
  top: 0px;
  height: 50px;
  right: 0px;
  left: 0px;
}
.ap_index_add_post_button {
  background-color: #fff;
  border: none;
  border-radius: 50%;
  text-align: center;
  padding: 20px 0px;
  font-size: 10px;
}
.ap_index_add_post_button img {
  width: 40%;
}
/***************************
ログイン
****************************/
[class^="ap_login_sec"] {
  margin: auto;
}
.ap_login_sec01 input{
  background: #f1f1f1 !important;
}
.ap_login_sec01 input::placeholder {
  color: #c5c5c5;
  font-size: 12px;
}
/* 旧Edge対応 */
.ap_login_sec01 input::-ms-input-placeholder {
  color: #c5c5c5;
}
/* IE対応 */
.ap_login_sec01 input:-ms-input-placeholder {
  color: #c5c5c5;
}
.ap_logo {
  padding: 40px;
}
.ap_password_reminder_link {
  padding: 10px;
  text-align: center;
}
.ap_follow_button {
  text-align: center;
  display:inline-block;
  width: 100% !important;
  height:100% !important;
  border: 0px;
  border-radius:3px;
}
.ap_follow_button2 {
    text-align: center;
    display: inline-block;
    width: 100% !important;
    height:57px !important;
    border: 0px;
    border-radius: 3px;
    font-size: 1.2em;
}
.ap_follow_button3 {
    text-align: center;
    display: inline-block;
    width: 100% !important;
    height:30px !important;
    border: 0px;
    border-radius: 3px;
    font-size: 1em;
}
.ap_follow_button3.following {
    background:#f2f2f2;
    color: #b2b2b2;
    border: 2px solid #f2f2f2;
    border-radius:2px;
}
.ap_follow_button3.following:active{
  background-color: #d1d1d1;;
}
.ap_default_button {
  font-size: 1.1rem;
  text-align: center;
  display:inline-block;
  width: 100% !important;
  border: 0px;
  margin-top: 10px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-radius:30px;
}
.ap_logout_button {
  color: #fff;
  background-color: #ff8f8d;
  font-size: 1.1rem;
  text-align: center;
  display:inline-block;
  width: 100% !important;
  border: 0px;
  padding: 15px;
  margin: 5px 0px;
}
.ap_back_account_setting_button {
  color: #fff;
  background-color: #ff8f8d;
  font-size: 1.1rem;
  text-align: center;
  display:inline-block;
  width: 100% !important;
  border: 0px;
  padding: 15px;
  margin: 5px 0px;
}
.ap_logout_withdrawal {
  text-align: center;
  display:inline-block;
  width: 100% !important;
  border: 0px;
  padding: 15px;
  margin: 5px 0px;
}
.ap_logout_close {
  text-align: center;
  display:inline-block;
  width: 100% !important;
  border: 0px;
  padding: 15px;
  margin: 5px 0px;
}
.ap_text_color_green {
  color: #aeccce
}
.ap_button_color_green {
  color: #fff;
  background-color: #aeccce;
}
.ap_button_color_green:active{
  background-color: #91a8aa;
}
.ap_button_color_green:disabled{
  filter:brightness(0.8);
  pointer-events:none;
  cursor:not-allowed;
}
.ap_button_color_white {
  color: #000;
  border: 1px solid #c5c5c5;
  background-color: #fff;
}
.ap_button_color_white:active{
  background-color: #ddd;
}
.ap_simple_footer {
  display: flex;
  align-items: center;
  padding: 30px;
}
.ap_simple_footer a {
  margin: auto;
}
.ap_form_password {
  position: relative;
}
.ap_toggle_password {
  position: absolute;
  right: 10px;
  top: 55%;
  transform: translateY(-50%);
  cursor: pointer;
}
.ap_toggle_password svg {
  height: 32px;
  width: 32px;
  fill: #91a8aa;
}
/***************************
ホーム
****************************/
[class^="ap_home_sec"] {
  margin: auto;
}
[class^="ap_home_sec"] input{
  background: #f1f1f1 !important;
}
[class^="ap_home_sec"] input::placeholder {
  color: #c5c5c5;
  font-size: 12px;
}
/* 旧Edge対応 */
[class^="ap_home_sec"] input::-ms-input-placeholder {
  color: #c5c5c5;
}
/* IE対応 */
[class^="ap_home_sec"] input:-ms-input-placeholder {
  color: #c5c5c5;
}
.ap_home_menu_header {
  position: relative;
  padding: 30px;
}
/***************************
会員仮登録
****************************/
[class^="ap_tmp_user_add_sec"] {
  padding: 0px;
}
[class^="ap_tmp_user_add_sec"] label {
  font-size: 12px;
}
[class^="ap_tmp_user_add_sec"] input {
  background: #f1f1f1 !important;
}
[class^="ap_tmp_user_add_sec"] input::placeholder {
  color: #c5c5c5;
  font-size: 12px;
}
[class^="ap_tmp_user_add_sec"] h2 {
  font-size: 14px;
  margin: 30px 0px 10px 0px;
  padding: 10px;
  border-bottom: solid 1px #aaaaaa
}
[class^="ap_tmp_user_add_sec"] .termsOfService{
  margin: 30px 0px;
}
[class^="ap_tmp_user_add_sec"] a{
  margin: 30px 0px;
  color: #AECBCD;;
}
/***************************
会員登録
****************************/
[class^="ap_user_add_sec"] .message {
  text-align: center;
}
[class^="ap_user_add_sec"] .message h2 {
  font-size: 14px;
  margin: 10px 0px 10px 0px;
  padding: 10px;
  border-bottom: solid 1px #aaaaaa
}
/***************************
アカウント設定
****************************/
[class^="ap_account_setting_sec"] {
  background-color: #fff;
  padding: 15px;
  margin: 15px 0px
}
[class^="ap_account_setting_sec"] h2{
  font-size: 16px;
  padding: 0px 0px 10px 0px;
  border-bottom: 1px solid #f3f3f3;
}
[class^="ap_account_setting_sec"] .link {
  position: relative;
  padding: 5px 0px;
  width: 100%;
}
[class^="ap_account_setting_sec"] .link::after {
  content: url('/img/common_arrow_icon.webp');
  position: absolute;
  top: 5px;
  bottom: 0;
  right: 0;
  display: inline-block;
  vertical-align: middle;
  transform: scale(0.5) scaleX(-1);
  margin: auto;
}
.ap_account_setting_wrapper {
  margin: 15px;
}
.ap_account_wrapper {
  margin: auto 15px;
}
/***************************
プロフィール編集
****************************/
[class^="ap_profile_edit_sec"] {
  background-color: #fff;
  margin: 0px;
  border-bottom: 2px solid #c8c8c8;
}
.ap_profile_edit_title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}
.ap_profile_edit_title::after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url(/img/profile_open.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 0.5px;
  transition: 0.5s;
}
.ap_profile_edit_form {
  margin: 15px;
}
.ap_profile_edit_input {
  border-bottom: 1px solid #c8c8c8;
  padding: 5px 0px;
}
.ap_profile_edit_file {
  padding: 5px 0px;
}
.ap_profile_textarea {
  padding: 5px 0px;
}
.ap_profile_edit_input dl {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.ap_profile_edit_input dt {
  width: 25%;
  margin-bottom: 5px;
  display: flex;
  align-items:center
}
.ap_profile_edit_input dd {
  width: 75%;
  margin-bottom: 5px;
  text-align: right;
  position: relative;
}
.ap_profile_edit_textarea dl {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.ap_profile_edit_textarea dt {
  margin: 5px auto 10px 0px;
  display: flex;
  align-items:center
}
.ap_profile_edit_textarea dd {
  margin: 5px 0px;
  position: relative;
}
.ap_profile_edit_file dl {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.ap_profile_edit_file dt {
  width: 50%;
  margin-bottom: 5px;
}
.ap_profile_edit_file dd {
  width: 50%;
  margin-bottom: 30px;
  text-align: center;
  position: relative;
}
.ap_profile_edit_file dd label {
  padding: 10px 20%;
  width: 80%;
  color: #000;
  border: 2px solid #c5c5c5;
  cursor: pointer;
  border-radius:5px;
  transition: .3s;
}
.ap_profile_edit_file dd label:hover {
  opacity: 0.8;
}
.ap_profile_edit_file dd button {
  padding: 10px 20%;
  color: #000;
  border: 2px solid #c5c5c5;
  background-color: #fff;
  cursor: pointer;
  border-radius:5px;
  transition: .3s;
}
.ap_profile_edit_file dd button:hover {
  opacity: 0.8;
}
.ap_profile_edit_file dd input[type="file"] {
  display: none;
}
.ap_profile_edit_file dd .preview_image {
  width: 50%;
  margin: auto;
  text-align: center;
}

.ap_profile_edit_file .ap_user_icon {
  display: flex;
  justify-content: center;
  align-items: center;
  margin:0 auto 5%;
}

.ap_profile_edit_file .ap_user_icon img{
  max-width: 120px;
  max-height: 120px;
  min-width: 120px;
  min-height: 120px;
  width: 120px !important;
  height: 120px !important;
  object-fit: cover;
  border-radius:50%;
}

.ap_profile_edit_button{
  margin: 10px 0px;
}
/***************************
パスワード変更
****************************/
[class^="ap_user_edit_password_sec"] {
  padding: 0px;
}
[class^="ap_user_edit_password_sec"] .message {
  text-align: center;
}
[class^="ap_user_edit_password_sec"] .message h1 {
  font-size: 16px;
  margin: 10px 0px 10px 0px;
  padding: 10px;
  border-bottom: solid 1px #aaaaaa
}
.ap_user_edit_password_sec01 {
  margin: 40px 0px;
}
/***************************
メールアドレス変更
****************************/
[class^="ap_user_edit_mail_sec"] {
  padding: 0px;
}
[class^="ap_user_edit_mail_sec"] .message {
  text-align: center;
}
[class^="ap_user_edit_mail_sec"] .message h1 {
  font-size: 16px;
  margin: 10px 0px 10px 0px;
  padding: 10px;
  border-bottom: solid 1px #aaaaaa
}
.ap_user_edit_mail_sec01 {
  margin: 40px 0px;
}

/***************************
マイリスト
****************************/
.ap_my_list_menu_header {
  position: relative;
  padding: 15px;
  margin: 50px 0px 0px 0px;
  text-align: center;
  border-bottom: 1px solid #efefef;
}
[class^="ap_account_my_list_sec"] {
  padding: 0px;
}
[class^="ap_account_my_list_sec"] h2 {
  background-color: #f2f2f2;
  padding: 10px;
  justify-content: space-between;
  display: flex;
}
[class^="ap_account_my_list_sec"] dd {
  padding: 5px 20px;
  justify-content: space-between;
  display: flex;
}
[class^="ap_account_my_list_sec"] dd span {
  max-width: 70%;
}
[class^="ap_account_my_list_sec"] .inputForm {
  margin: 15px 15px;
}
[class^="ap_account_my_list_sec"] input[type="text"] {
  background-color: #f2f2f2;
  padding: 10px 10px 10px 40px;
  font-size: 1rem;
  border:none
}
[class^="ap_account_my_list_sec"] .ap_search {
  position: relative;
}
[class^="ap_account_my_list_sec"] .ap_search::before {
  content: "";
  width: 20px;
  height: 20px;
  background: url(/img/menu_icon02_off.webp) no-repeat center center / auto 100%;
  display: inline-block;
  position: absolute;
  top: 10px;
  left: 10px;
}
[class^="ap_account_my_list_sec"] .ap_border dd{
  border-top: 2px solid #ebebeb;
  border-bottom: 2px solid #ebebeb;
  align-items:center;
  margin-bottom: -2px;
}
/***************************
フォロワー
****************************/
[class^="ap_follow_list_sec"] {
  padding: 0px;
}
[class^="ap_follow_list_sec"] h2 {
  background-color: #f2f2f2;
  padding: 10px;
  justify-content: space-between;
  display: flex;
}
[class^="ap_follow_list_sec"] dd {
  padding: 15px;
  /* justify-content: space-between;
  display: flex; */
}
[class^="ap_follow_list_sec"] .inputForm {
  margin: 15px 15px;
}
[class^="ap_follow_list_sec"] input[type="text"] {
  background-color: #f2f2f2;
  padding: 10px 10px 10px 40px;
  font-size: 1rem;
  border:none
}
[class^="ap_follow_list_sec"] .ap_search {
  position: relative;
}
[class^="ap_follow_list_sec"] .ap_search::before {
  content: "";
  width: 20px;
  height: 20px;
  background: url(/img/menu_icon02_off.webp) no-repeat center center / auto 100%;
  display: inline-block;
  position: absolute;
  top: 10px;
  left: 10px;
}
[class^="ap_follow_list_sec"] .ap_border dd{
  border-top: 2px solid #ebebeb;
  border-bottom: 2px solid #ebebeb;
  align-items:center;
  margin-bottom: -2px;
}
.ap_follow_list_search[type="search"] {
  width: 100%;
  height: 33px;
  background: rgba(204,204,204,0.8);
  border: none;
  outline: none;
  margin-bottom: 15px;
  background-image: url(/img/profile_search_icon.webp);
  background-size: 20px;
  background-position: 8px center;
  background-repeat: no-repeat;
  padding-left: 30px;
  width: 63%;
  position: absolute;
  right: 15px;
  bottom: 8px;
}
.ap_follow_list_search[type="search"]::placeholder {
  color:#FFF;
  font-size: 12px;
}

.ap_follow_list_header {
  background: #f2f2f2;
  min-height: 124px;
  position: relative;
}
.ap_follow_list_wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}
.ap_follow_list_left {
  width: 20%;
  position: relative;
  z-index: 1;
}
.ap_follow_list_right{
  width: 73%;
}
/*フォローボタン・楽天room*/
.ap_follow_list_right_btn_area{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
  max-height: 55px;
}
.ap_follow_list_right_btn_area .toFollow {
    background:#aecbcd;
    color: #fff;
    border: 2px solid #aecbcd;
    border-radius:2px;
    width: 100%;
    height: 55px;
    font-size: 1.3em;
}
.ap_follow_list_right_btn_area .following {
    background:#f2f2f2;
    color: #b2b2b2;
    border: 2px solid #f2f2f2;
    border-radius:2px;
    width: 100%;
    height: 55px;
    font-size: 1.3em;
}
.ap_follow_list_right_btn_area .toFollow:active{
  background-color: #91a8aa;
}
.ap_follow_list_right_btn_area .following:active{
  background-color: #d1d1d1;;
}
.ap_follow_list_right_follow{
  width: 80%;
}
.ap_follow_list_right_rakuten{
  width: 17.5%;
  min-width: 57px;
  min-height: 57px;
  max-width: 57px;
  max-height: 57px;
  margin-left: 10px;
}
.ap_follow_profile_icon{
  aspect-ratio: 1 / 1;
}
.ap_follow_profile_icon img{
    max-width: 100px;
    max-height: 100px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}
/*リンク*/
.ap_follow_list_left_link{
  text-align: center;
  margin-top: 8px;
}
.ap_follow_list_left_link p.title{
  color: #b2b2b2;
  font-size: 12px;
}
.ap_follow_list_left_link p.link{
  font-size: 12px;
  color:#aecbcd;
}
.ap_follow_list_left_link a{
  display: flex;
  align-items: center;
}
.ap_follow_list_left_link_icon{
  width: 12px;
  margin-right: 5px;
  display: block;
}

@media screen and (max-width:375px){
.ap_follow_list_left_link p.title,
.ap_follow_list_left_link p.link,
.ap_follow_list_left_link_icon{
  font-size: 10px;
}
}

.ap_follow_list_introduction_text{
  padding: 0 15px;
  display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  position: relative;
}
.ap_follow_list_introduction_text.on{
  display: block;
}
.ap_follow_list_introduction_text_next{
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  background: linear-gradient(-90deg, rgba(255,255,255,1) 75%, rgba(255,255,255,0.28) 100%, rgba(255,255,255,0) 100%);
  padding: 0 15px 0 30px;
  color: #c5c5c5;
}
.ap_follow_list_introduction_text_next.on{
  display: none;
}
[class^="ap_follow_list_sec"] .ap_being_followed{
  background-color: #f2f2f2;
  font-size: 10px;
  margin: 5px 0px;
  padding: 5px;
  border-radius:5px;
  display: inline-block;
}

/***************************
通知一覧
****************************/
[class^="ap_notifications_sec"] {
  padding: 0px;
}
[class^="ap_notifications_sec"] .ap_post dd {
  border-top: 2px solid #ebebeb;
  border-bottom: 2px solid #ebebeb;
  align-items:top;
  padding: 5px;
  margin-bottom: -2px;
  display: flex;
}
[class^="ap_notifications_sec"] .ap_post .ap_notifications_icon{
  width: 15%;
  padding: 5px;
  position: relative;
}
[class^="ap_notifications_sec"] .ap_post .ap_notifications_icon img{
    max-width: 56px;
    max-height: 56px;
    min-width: 56px;
    min-height: 56px;
    width: 56px !important;
    height: 56px !important;
    object-fit: cover;
    border-radius: 50%;
}
[class^="ap_notifications_sec"] .ap_post .ap_notifications_message {
  width: 70%;
}
[class^="ap_notifications_sec"] .ap_post .ap_notifications_image {
  width: 15%;
  padding: 5px;
}
.absolute {
  position: absolute;
  right: 30px;
  bottom: 30px;
}
[class^="ap_notifications_sec"] .ap_like dd {
  border-top: 2px solid #ebebeb;
  border-bottom: 2px solid #ebebeb;
  align-items:center;
  padding: 5px;
  margin-bottom: -2px;
  display: flex;
}
/***************************
投稿
****************************/
[class^="ap_post_sec"] {
  margin: 15px 20px;
  padding: 0px;
}
[class^="ap_post_sec"] .ap_add_image_btn{
  width: auto;
  position: absolute;
  bottom: -20px;
  z-index: 99;
}
[class^="ap_post_sec"] textarea::placeholder {
  color: #c5c5c5;
  font-size: 12px;
}
.ap_post_sec01 {
  margin-right: 0px;
  position: relative;
}
.ap_post_sec02 {
  margin-right: 0px;
  margin-top: 40px;
}
.ap_post_sec03 {
  margin-top: 30px;
}
.ap_post_sec07 {
  margin: 30px auto;
  width: 50%;
}
[class^="ap_post_sec"] label {
  min-height: 62px;
}
.ap_post_slide_content {
  width: 100px;
  margin-right: 1px;
  position: relative;
  min-width: 100px;
  margin-right: 10px;
}
.ap_post_slide_content img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
}
.ap_post_slide_content video {
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-style: none;
  vertical-align: bottom;
  width: 100%;
  max-width: 100%;
}
/*選択横ならべ*/
.ap_posts_flex{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.ap_posts_flex label{
  margin-right: 20px;
}
/*大きい選択*/
.ap_box_check .ap_posts_flex label{
  margin-right: 0;
  margin-bottom: 0;
  margin-top: 5px;
}
.ap_box_check .ap_posts_flex{
  justify-content: space-between;
  align-items: stretch;
}
.ap_box_check .ap_posts_flex::after{
  content: "";
  display: block;
  width: 32%;
}

/***************************
投稿一覧
****************************/
[class^="ap_post_index_sec"] {
  margin: 15px 0px;
  padding: 0px;
}
[class^="ap_post_index_sec_search_list"] {
  margin: 0px;
}
[class^="ap_post_index_sec_search_list"] dd {
  padding: 5px 20px;
  justify-content: space-between;
  display: flex;
}
[class^="ap_post_index_sec_search_list"] dd:hover{
  cursor: pointer;
}
[class^="ap_post_index_sec_search_list"] h2 {
    background-color: #f2f2f2;
    border-top: 1px solid #6666666a;
    border-bottom: 1px solid #6666666a;
    border-left: none;
    border-right: none;
    padding: 10px;
    justify-content: space-between;
    display: flex;
}
[class^="ap_post_index_sec_new_search"] {
  margin: 0px;
}
[class^="ap_post_index_sec_search_new_button"] .ap_add_button_area {
  margin: 5px 20px;
}
.ap_post_index_sec02 {
  position:relative;margin:0px;
}
/*検索種別選択ならべ*/
.ap_posts_index_search_flex{
  width: 100%;
  display: flex;
  justify-content:space-around;
}
.ap_posts_index_search_flex .search_item {
  width: 20%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: smaller !important;
}
.ap_posts_index_search_flex .search_item label {
  font-size: 12px !important;
}
/*検索種別選択*/
.ap_box_check .ap_posts_index_search_flex label {
  margin: 0px;
  width: 95% !important;
  padding: 10px 0px !important;
}
.ap_post_index_search_box {
  margin: 0px 10px 0px 20px !important;
  width: 80%;
}
.ap_post_index_search_box input {
  margin: 0px !important;
}
.ap_post_follow_box {
  width: 20%;
  min-width: 80px;
}
.ap_post_index_search_sort {
  border-bottom: 2px solid #ebebeb;
  margin-right: 10px;
}
.ap_post_index_search_sort:hover{
  cursor: pointer;
}
.ap_post_index_img_mini {
  aspect-ratio: 4 / 5;
  object-fit: cover;
}
.ap_post_index_img_large {
  aspect-ratio: 8 / 10;
  object-fit: cover;
}
.ap_post_index_td_mini {
  width:33.33%;
  vertical-align:top;
}
.ap_post_index_td_large {
  width:66.66%;
}
/* 絞込・検索保存 */
.ap_post_index_footer {
    position: fixed;
    bottom: 70px;
    width: 100%;
    max-width: 500px;
    padding: 5px 25px 15px;
    pointer-events: none;
    z-index: 999;
}

.ap_post_index_footer button {
  pointer-events: auto;
}

.ap_post_index_footer .search_save {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ap_post_index_footer .narrow_down_search {
  display: flex;
  justify-content: flex-end;
}
.ap_search_save_button {
  font-size: 0.8rem;
  color: #aeccce;
  text-align: center;
  display: inline-block;
  border: 0px;
  margin: auto;
  padding: 5px 20px;
  border-radius: 30px;
}
@media screen and (max-width: 375px) {
  .ap_search_save_button {
    font-size: 0.6rem;
  }
}
.ap_post_index_search_button {
  background-color: #fff;
  border: none;
  border-radius: 50%;
  text-align: center;
  padding: 10px 0px;
  font-size: 10px;
}
.ap_post_index_search_button img {
  width: 40%;
}
.ap_post_index_sort {
  position:absolute;
  background-color: #fff;
  border-radius: 0% 0% 5% 5%;
  width: 100%;
  max-width: 500px;
  padding: 5px 25px;
  z-index: 999;
}
.ap_post_index_sort_box {
  position:relative;
  margin: 10px 0px;
}

.ap_post_index_sort_link::after {
  content: url('/img/common_arrow_icon.webp');
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: 10px 0px;
  vertical-align: middle;
  transform: scale(0.5) scaleX(-1);
  margin: auto;
}
.ap_post_index_sort_link:hover{
  cursor: pointer;
}



/***************************
投稿 詳細検索
****************************/
[class^="ap_post_advanced_search_sec"] {
  padding: 0px;
}
[class^="ap_post_advanced_search_sec"] h2 {
  background-color: #f2f2f2;
  padding: 10px;
  justify-content: space-between;
  display: flex;
}
[class^="ap_post_advanced_search_sec"] dd {
  padding: 10px 20px;
  justify-content: space-between;
  display: flex;
}
[class^="ap_post_advanced_search_sec"] dd span {
  max-width: 70%;
}
[class^="ap_post_advanced_search_sec"] .inputForm {
  margin: 15px 15px;
}
[class^="ap_post_advanced_search_sec"] input[type="text"] {
  background-color: #f2f2f2;
  padding: 10px 10px 10px 40px;
  font-size: 1rem;
  border:none
}
[class^="ap_post_advanced_search_sec"] .ap_search {
  position: relative;
}
[class^="ap_post_advanced_search_sec"] .ap_search::before {
  content: "";
  width: 20px;
  height: 20px;
  background: url(/img/menu_icon02_off.webp) no-repeat center center / auto 100%;
  display: inline-block;
  position: absolute;
  top: 10px;
  left: 10px;
}
[class^="ap_post_advanced_search_sec"] .ap_border dd{
  border-top: 2px solid #ebebeb;
  border-bottom: 2px solid #ebebeb;
  align-items:center;
  margin-bottom: -2px;
}
.ap_post_advanced_search_sec12{
  background-color: #f2f2f2;
}
.ap_post_advanced_search_button_area{
  margin: auto;
  padding: 15px 0px;
  width: 50%;
}
[class^="ap_post_advanced_search_sec"] .link {
  position: relative;
  padding: 5px 0px;
  width: 100%;
}
[class^="ap_post_advanced_search_sec"] .link::after {
  content: url('/img/common_arrow_icon.webp');
  position: absolute;
  top: 5px;
  bottom: 0;
  right: 0;
  display: inline-block;
  vertical-align: middle;
  transform: scale(0.5) scaleX(-1);
  margin: auto;
}
[class^="ap_post_advanced_search_sec11"] {
  margin-bottom: 60px;
}
[class^="ap_post_advanced_search_sec"] .button1 {
  border-radius: 50px;
  border: 1px solid #aecbcd;
  background: #fff;
  width: 100%;
  padding: 3px;
  color: #aecbcd;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
}
[class^="ap_post_advanced_search_sec"] .button1 img {
  width: 12px;
  margin-right: 2px;
}
[class^="ap_post_advanced_search_sec"] .ap_post_advanced_search_layouts {
    width: 70px;
    height: 70px;
    border: 1px solid;
    border: 1px solid #cbcbcb;
    border-radius: 3px;
    display: block;
    margin-right: 10px;
}
[class^="ap_post_advanced_search_sec"] .ap_post_advanced_search_roofs {
    width: 70px;
    border: 1px solid;
    border: 1px solid #cbcbcb;
    border-radius: 3px;
    display: block;
    margin-right: 10px;
}
/***************************
プロフィール
****************************/

.ap_profile_sec01_search[type="search"] {
    width: 100%;
    height: 33px;
    background: rgba(204,204,204,0.8);
    border: none;
    outline: none;
    margin-bottom: 15px;
    background-image: url(/img/profile_search_icon.webp);
    background-size: 20px;
    background-position: 8px center;
    background-repeat: no-repeat;
    padding-left: 30px;
    width: 63%;
    position: absolute;
    right: 15px;
    bottom: 8px;
}
.ap_profile_sec01_search[type="search"]::placeholder {
    color:#FFF;
    font-size: 12px;
}

.ap_profile_sec01_header {
    background: #f2f2f2;
    min-height: 124px;
    position: relative;
}
.ap_profile_sec01_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 15px;
    margin-bottom: 15px;
    position: relative;
    z-index: 1;
}

.ap_profile_sec01_wrap .ap_user_icon {
  display: flex;
  justify-content: center;
  align-items: center;
  margin:0 auto 5%;
}

.ap_profile_sec01_wrap .ap_user_icon img{
  max-width: 120px;
  max-height: 120px;
  min-width: 120px;
  min-height: 120px;
  width: 120px !important;
  height: 120px !important;
  object-fit: cover;
  border-radius:50%;
}

.ap_profile_sec01_left {
    width: 25%;
    margin-top: -60px;
    position: relative;
    z-index: 1;
}
.ap_profile_sec01_right{
    width: 68%;
    padding: 15px 0;
}
/*フォローボタン・楽天room*/
.ap_profile_sec01_right_btn_area{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 8px;
}
.ap_profile_sec01_right_follow{
    width: 80%;
}
.ap_profile_sec01_right_rakuten{
    width: 17.5%;
}

/*リンク*/
.ap_profile_sec01_left_link{
    text-align: center;
    margin-top: 8px;
}
.ap_profile_sec01_left_link p.title{
    color: #b2b2b2;
    font-size: 12px;
}
.ap_profile_sec01_left_link p.link{
    font-size: 12px;
    color:#aecbcd;
}
.ap_profile_sec01_left_link a{
    display: flex;
    align-items: center;
}
.ap_profile_sec01_left_link .link{
    max-width: 100px;
}
.ap_profile_sec01_left_link_icon{
    width: 12px;
    margin-right: 5px;
    display: block;
}
.ap_profile_sec_no_houses_data {
    text-align: center;
    margin: 20px 0px;
    font-size: 1.2rem;
}
@media screen and (max-width:375px){
.ap_profile_sec01_left_link p.title,
.ap_profile_sec01_left_link p.link,
.ap_profile_sec01_left_link_icon{
    font-size: 10px;
}
}

.ap_profile_sec01_introduction_text{
    padding: 0 20px;
    display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      overflow: hidden;
    position: relative;
}
.ap_profile_sec01_introduction_text.on{
    display: block;
}
.ap_profile_sec01_introduction_text_next{
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    background: linear-gradient(-90deg, rgba(255,255,255,1) 75%, rgba(255,255,255,0.28) 100%, rgba(255,255,255,0) 100%);
    padding: 0 15px 0 30px;
    color: #c5c5c5;
}
.ap_profile_sec01_introduction_text_next.on{
    display: none;
}
/*************************
プロフィール詳細
**************************/
.ap_profile_sec01{
    padding: 0;
    margin-bottom: 15px;
}
.ap_profile_sec02,
.ap_profile_sec03,
.ap_profile_sec04,
.ap_profile_sec05{
    padding: 8px 15px;
}
.ap_profile_common_title{
    border-bottom: 1px solid #666;
    padding-bottom: 8px;
    margin-bottom: 8px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
        cursor:pointer;
}
.ap_profile_common_title::after{
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: url(/img/profile_open.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    margin-right: 0.5px;
    transition: 0.5s;
}
.ap_profile_common_title.on::after{
   background: url(/img/profile_close.webp); 
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.ap_toggle_content{
    display: none;
}
.ap_profile_sec02_dl,
.ap_profile_sec03_dl,
.ap_profile_sec04_dl,
.ap_profile_sec05_dl{
    display: flex;
    align-items: center;
    border-bottom: 1px solid #ccc;
    padding: 8px 0;
    width: 95%;
    margin: 0 auto;
    font-size: 13px;
}
.ap_profile_sec02_dl dt,
.ap_profile_sec03_dl dt,
.ap_profile_sec04_dl dt,
.ap_profile_sec05_dl dt{
    font-weight: 500;
}
.ap_profile_sec03_dl,
.ap_profile_sec04_dl,
.ap_profile_sec05_dl{
    justify-content: space-between;
}
.ap_profile_sec03_dl.block,
.ap_profile_sec04_dl.block,
.ap_profile_sec05_dl.block{
    display: block;
}
.ap_profile_sec02_half{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 95%;
    margin: 0 auto;
}
.ap_profile_sec02_half dl{
    width: 48%;
}
.ap_profile_color {
    width: 20px;
    height: 20px;
    background: #000;
    border: 1px solid;
    border-radius: 2px;
    display: block;
}
.ap_common_menu_header {
    position: relative;
    padding: 15px;
    text-align: center;
    border-bottom: 1px solid #efefef;
}
.ap_common_header_back{
    max-width: 10px;
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.ap_common_header_toggle{
    max-width: 30px;
    position: absolute;
    right:15px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
/*************************
お家情報
**************************/
[class^="ap_house_sec"] {
  padding: 10px 15px 15px;
}

[class^="ap_house_sec"] p{
    font-size: 14px;
}
label{
    font-size: 14px;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
select {
  background-image: -webkit-linear-gradient(
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 0)
  );
  display: block;
  border: 1px solid #e5e5e5;
  width: 100%;
  appearance: none;
  background: #fff;
  border-radius: 3px;
  box-shadow: 0px 0px 2px 0.1px #e5e5e5;
  box-sizing: border-box;
  padding: 12.5px 10px;
  font-size: 16px;
  margin: 10px 0;
}

input[type="text"]:hover,
input[type="email"]:hover,
input[type="password"]:hover,
input[type="date"]:hover,
input[type="tel"]:hover,
textarea:hover,
textarea:focus,
select:hover,
select:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="date"]:focus {
  outline: 0;
}

input[type="text"]::placeholder {
    color:#c5c5c5;
    font-size: 12px;
}

/*チェックボックス・ラジオ*/
input[type="checkbox"],
input[type="radio"] {
  position: absolute;
  opacity: 0;
}
input[type="checkbox"] + label, input[type="radio"] + label {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    margin: 10px 20px 0 0;
}
/*枠*/
input[type="checkbox"] + label::before, input[type="radio"] + label::before {
    content: '';
    display: inline-block;
    width: 15px;
    height: 15px;
    position: relative;
    margin-right: 8px;
    vertical-align: middle;
    cursor: pointer;
    text-align: center;
    background: #fff;
    border: 1.5px solid #989898;
    border-radius: 50px;
    box-shadow: 0px 0px 2px 0.1px #e5e5e5;
}

input[type="checkbox"]:checked + label:after, input[type="radio"]:checked + label:after {
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    background: #aecbcd;
    border-radius: 50px;
    left: 3px;
    box-shadow: 0px 0px 2px 0.1px #aecbcd;
}
/*選択横ならべ*/
.ap_house_flex{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.ap_house_flex label{
    margin-right: 20px;
}
.ap_house_sec03 input[type="text"],
.ap_house_sec08 input[type="text"],
.ap_house_sec12 input[type="text"]{
    max-width: 50px;
    margin: 0 10px;
}
.ap_house_sec03 input[type="number"],
.ap_house_sec08 input[type="number"],
.ap_house_sec12 input[type="number"]{
    max-width: 100px;
    margin: 0 10px;
}
/*大きい選択*/
.ap_box_check .ap_house_flex label{
    margin-right: 0;
    margin-bottom: 0;
    margin-top: 5px;
    min-height: 62px;
}
.ap_box_check .ap_house_flex{
    justify-content: space-between;
    align-items: stretch;
}
.ap_box_check .ap_house_flex::after{
    content: "";
    display: block;
    width: 32%;
}
.ap_box_check input[type="checkbox"] + label::after,
.ap_box_check input[type="checkbox"] + label::before,
.ap_box_check input[type="radio"] + label::after,
.ap_box_check input[type="radio"] + label::before{
    display: none;
}
.ap_box_check input[type="checkbox"] + label,
.ap_box_check input[type="radio"] + label{
    border: 1px solid #989898;
    padding: 10px;
    text-align: center;
    width: 32%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    transition: 0.3s;
}

.ap_box_check input[type="radio"]:checked + label,
.ap_box_check input[type="checkbox"]:checked + label{
    background:#aecbcd;
    color: #fff;
}
/*部屋の大きさ*/
.ap_house_sec12 .ap_house_flex{
    flex-wrap: nowrap;
}
.ap_house_sec12 select{
    width: 78%;
}
.ap_house_sec12 .ap_house_flex .ap_house_flex{
    width: 20%;
    min-width: 100px;
    flex-shrink: 0;
}
.ap_house_sec12 button{
    border-radius: 50px;
    border: 1px solid #aecbcd;
    background: #fff;
    width: 100%;
    padding: 3px;
    color: #aecbcd;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}
.ap_house_sec12 button img{
    width: 12px;
    margin-right: 2px;
}
.ap_house_sec12 input[type="number"]{
    max-width: 50px;
}
/*イラスト付き*/
.ap_house_illust input[type="radio"] + label{
    display: block;
    border: none;
    margin-bottom: 25px;
    padding: 0;
}
.ap_house_illust p{
    margin-bottom: 10px;
    font-size: 12px;
}
.ap_house_illust input[type="radio"]:checked + label{
    background:#FFF;
    color:inherit;
}
.ap_illust_wrap{
    border: 1px solid #989898;
    border-radius: 5px;
    transition: 0.3s;
    height: 100%;
    padding: 10px;
    max-height: 125px;
}
.ap_illust_wrap img{
    height: 100%;
    object-fit: contain;
}
.ap_house_illust input[type="radio"]:checked + label .ap_illust_wrap{
    background: #aecbcd;
}
.ap_house_sec22 > p{
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 10px;
}
/******************************
カラーコード
*******************************/

/*カラー*/

.ap_profile_color {
    width: 20px;
    height: 20px;
    border:1px solid;
    border: 1px solid #cbcbcb;
    border-radius: 3px;
    display: block;
    margin-right: 10px;
}

.ap_house_flex.color_flex label{
    min-width: 100px;
}

.ap_house_flex.color_flex label::before{
    border-radius: 3px;
    width: 20px;
    height: 20px;
}

 label::before{
    border-radius: 3px;
    width: 20px;
    height: 20px;
}

.ap_house_flex.color_flex input[type="checkbox"]:checked + label:after{
    width: 15px;
    height: 15px;
    border-radius: 3px;
}

.ap_profile_color.color01{
    background: #FFF;
}
.ap_profile_color.color02{
    background: #000;
}
.ap_profile_color.color03{
    background: #c0a88c;
}
.ap_profile_color.color04{
    background: #7e5d4a;
}
.ap_profile_color.color05{
    background: #c3b3a6;
}
.ap_profile_color.color06{
    background:#7f7f7f;
}
.ap_profile_color.color07{
    background-image:url(/img/mokume.webp);
}

.ap_profile_color.color08{
    background: #553d35;
}
.ap_profile_color.color09{
    background: #e7d0a9;
}
.ap_profile_color.color10{
    background: #2e8b57;
}
.ap_profile_color.color11{
    background: #87cefa;
}
.ap_profile_color.color12{
    background: #ffb6c1;
}
.ap_profile_color.color13{
    background: #dda0dd;
}
.ap_profile_color.color14{
    background: #ffa500;
}
.ap_profile_color.color15{
    background: #ff3333;
}

/* select2 */
.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 40px !important;
}
.select2-container--default .select2-selection--single {
  background-color: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  box-shadow: 0px 0px 2px 0.1px #e5e5e5;
  height: 40px;
}
.select2-selection__arrow {
  height: 38px !important;
}
/*************************
投稿詳細
**************************/
.ap_post_sec01_wrap {
  display: flex;
  align-items: center;
  padding: 10px 15px;
  position: relative;
  z-index: 1;
}
.ap_post_sec01_left {
  width: 12%;
  /* margin-top: -60px; */
  position: relative;
  z-index: 1;
}
.ap_post_sec01_right{
  width: 84%;
  padding: 15px 10px;
}

.small-img {
  width: 100%;
  height: auto;
}

/*フォローボタン・楽天room*/
.ap_post_sec01_right_btn_area{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
  margin-left: 48%;
  margin-right: 10%;
}
.ap_post_sec01_right_follow{
  width: 80%;
}
.ap_post_sec01_right_rakuten{
  width: 80%;
  display: inline-block;
  border: 1px solid #3E3A39;
  font-size: 7px;
  padding: 4px 4px;
  text-align: center;
  margin-right: 5%;
}
/* ドット表示 */
.ap_post_detail_sec01{
  padding: 0;
  position: relative;
}

.ap_post_detail_sec01_slide {
  /* position: relative; */
}

.ap_post_detail_sec01_slide video {
  width: 100%;
}

.ap_post_detail_sec01_slide .video-btn {
	content: "";
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:40px;
	cursor: pointer;
}

.ap_post_detail_sec01_slide img {
  height: 626px; /* 統一する高さ */
  width: 100%; /* 自動で幅を調整 */
  object-fit: cover;
  display: none; /* 初めは非表示 */
}

.ap_post_detail_sec01_slide img.active {
  display: block; /* アクティブな画像のみ表示 */
}

.ap_post_detail_sec01 .swiper-slide{
    position: relative;
}
.ap_post_detail_sec01 video {
    max-width: 498px;
    width: 100%;
}
@media screen and (max-width: 498px) {
    .ap_post_detail_sec01 video {
        max-width: 100vw;
    }
}
.ap_post_detail_sec01 .play-btn{
    display: block;
    width: 20%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}
.ap_post_detail_sec01 .play-btn.playActive{
    display:none;
}
.ap_post_detail_sec01 .swiper-pagination-bullet-active{
    position: relative;
}
.ap_post_detail_sec01 .swiper-pagination-bullet-active::before{
    position: absolute;
    content: "";
    width: 7px;
    height: 7px;
    top: 15%;
    right: 11%;
    border-radius: 50%;
    background: #aeccce;
}
/* 保存ボタン、いいねボタン、シェアボタン */
.buttons {
  display: flex;
  gap: 5%;
  position: absolute;
  bottom: 12%;
  right: 10%;
  z-index: 2;
}
.btn {
  width: 50px; /* ボタンの幅 */
  height: 45px; /* ボタンの高さ */
  background-color: #fff; /* ボタンの背景色 */
  border: none; /* 枠線なし */
  border-radius: 50%; /* 丸くする */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2); /* 影を追加 */
  display: flex; /* 中央揃えに必要 */
  align-items: center; /* 縦方向の中央揃え */
  justify-content: center; /* 横方向の中央揃え */
  cursor: pointer; /* ポインターを表示 */
}

.btn:hover {
  background-color: #f0f0f0;
}

.btn img {
  width: 16px;
  height: 16px;
}

.keep-icon {
  fill: #42AFE3;
  stroke: #42AFE3;
}

.like-icon {
  fill: #42AFE3;
  stroke: #42AFE3;
}

/* いいね数、コメント数、投稿時間、「コメントを追加」 */
.ap_post_info {
  text-align: center;
  margin-top: 10px;
  display: flex;
}
.ap_post_info p, .ap_post_info a {
  font-size: 1rem;
}
.ap_post_info .ap_likes {
  display: flex;
}
.ap_post_info .ap_likes::before {
  content: url('/plugins/bootstrap-icon/heart.svg');
  transform: translateY(3px);
  margin-right: 5px;
  display: block;
}
.ap_post_info .ap_comments {
  display: flex;
  margin: 0px 10px;
}
.ap_post_info .ap_comments::before {
  content: url('/plugins/bootstrap-icon/chat.svg');
  transform: translateY(2px);
  margin-right: 5px;
  display: block;
}
.ap_post_info .ap_time {
  display: flex;
}
.ap_post_info .ap_time::before {
  content: url('/plugins/bootstrap-icon/clock.svg');
  transform: translateY(2px);
  margin-right: 5px;
  display: block;
}

.ap_add_comment {
  color: #aecbcd;
  text-decoration: none;
  cursor: pointer;
}

.ap_add_comment:hover {
  text-decoration: underline;
}

.ap_comment_wrapper textarea {
  margin-bottom: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 8px;
  font-size: 14px;
  margin: 0px ;
}

.ap_comment_wrapper button {
  width: 100%;
  background-color: #aecbcd;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.ap_comment_wrapper button:hover {
  background-color: #aecbcd;
}

.ap_comment {
  display: flex;
  margin: 25px 10px 25px 0px;
}
.ap_comment.disabled {
  align-items: center;
}
.ap_comment.reply {
  margin-left: 50px;
}
.ap_comment.reply.disabled {
  align-items: center;
}
.ap_comment .ap_comment_left{
  margin-right: 10px;
  min-width: 40px;
  flex-grow: 0;
}
.ap_comment .ap_comment_left img{
  max-width: 40px;
  max-height: 40px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.ap_comment .ap_comment_right{
  flex-grow: 1;
}
.ap_comment_right_header {
  display: flex;
  justify-content: space-between;
}
.ap_comment .ap_comment_reply{
  white-space: nowrap;
  margin: 0px 0px 0px 10px;
}
.ap_comment .ap_comment_reply a{
  color: #aecbcd;
}
.ap_comment .ap_comment_user{
  word-break: break-all;
  font-size: 0.7rem;
}
.ap_comment .ap_comment_reply_id{
  word-break: break-all;
  font-size: 0.7rem;
}
.ap_comment .ap_comment_delete{
  margin: 5px 0px 0px 0px;
}
.ap_comment .ap_comment_delete a{
  color: #aecbcd;
}
.ap_post_sec01_right p {
  text-align: left;
}

.hidden {
  bottom: -100%; /* 非表示時 */
}

.ap_post_sec02_post-info_area{
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 5%;
}

.spaced-hr {
  border: none; /* デフォルトの線を消す */
  border-top: 1px solid #57464694; /* 横棒を表示 */
  margin: 15px 20px; /* 左右に20pxのスペース */
}

.short-hr {
  border: none;
  border-bottom: 3px solid #57464694;
  margin: 12px 218px;
  padding-top: 18px;
}

/* この文章はダミーです */
.ap_post_sec01_introduction_text{
  padding: 0 15px;
  display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  position: relative;
}

.ap_post_sec01_introduction_text.on{
  display: block;
}

.ap_post_sec01_introduction_text_next{
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  background: linear-gradient(-90deg, rgba(255,255,255,1) 75%, rgba(255,255,255,0.28) 100%, rgba(255,255,255,0) 100%);
  padding: 0 15px 0 30px;
  color: #c5c5c5;
}

.ap_post_sec01_introduction_text_next.on{
  display: none;
}
/*************************
新しい条件で検索
**************************/

.ap_new_menu_header {
  position: relative;
  /* padding: 15px; */
  /* text-align: center; */
  border-bottom: 1px solid #efefef;
}

.ap_new_search_box {
  margin: 0px 10px 0px 20px !important;
  width: 100%;
}
.ap_new_search_box input {
  margin: 0px !important;
  background: #f2f2f2
}

.ap_new_search_other {
  margin: 20px 0px 20px 15px;
}

/***************************
投稿 詳細検索
****************************/
[class^="ap_new_search_sec"] {
  padding: 0px;
}
[class^="ap_new_search_sec"] h2 {
  background-color: #f2f2f2;
  border-top: 1px solid #6666666a;   /* 上に黒の2px実線 */
  border-bottom: 1px solid #6666666a; /* 下に黒の2px実線 */
  border-left: none;  /* 左に枠線なし */
  border-right: none; /* 右に枠線なし */
  padding: 10px;
  justify-content: space-between;
  display: flex;
}
[class^="ap_new_search_sec"] dd {
  display: flex;
}
[class^="ap_new_search_sec03"] dl {
  display: flex;
  flex-wrap: wrap; /* 要素を折り返す */
  gap: 35px 10px; /* 各項目の間隔 */
}

[class^="ap_new_search_sec03"] dd{
  width: 48%; /* 2列レイアウト */
}
[class^="ap_new_search_sec03"] dd a{
  display: flex; /* 画像とテキストを横並びに */
  align-items: center; /* 垂直方向の中央揃え */
}

.circle-img {
  width: 40px; /* 丸い画像のサイズ */
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  border-radius: 50%; /* 丸くする */
  margin-right: 10px; /* 画像とテキストの間の余白 */
  object-fit: cover; /* 画像のアスペクト比を維持 */
}

.text-content {
  display: flex;
  flex-direction: column; /* テキストと小さい説明文を縦並びに */
}

.small-text {
  font-size: 10px; /* 小さい文字サイズ */
  color: #666; /* グレーの文字色 */
  margin-top: 4px; /* 上部に少し余白を追加 */
}


/*********************
共通スライダー 新しい条件で検索
**********************/

.ap_new_title_flex{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  padding: 0 15px;
}
.ap_new_title_h1{
  font-size: 16px;
  font-weight: 600;
}
.ap_new_title_link{
  font-size: 14px;
  color:#AECBCD;
}

.ap_new_slide_wrap {
  width: 100%;/*レイアウト再現用*/
  overflow: hidden;/*レイアウト再現用*/
  padding-left: 15px;
}
.ap_new_slide_inner {
  display: flex;
  align-items: center;
  overflow-x: scroll;/*レイアウト再現用*/
}
.ap_new_slide_content {
  width: 40%;
  margin-right: 10px;
  position: relative;
  min-width: 130px;
}
.ap_new_slide_house_wrap{
  margin-right: 1px;
  position: relative;
  min-width: 180px;/*レイアウト再現用*/ 
  width: 40%;
}
.ap_new_slide_content img{
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 10%;
}
.ap_new_slide_content_text{
  position: absolute;
  bottom: 15%;
  left: 50%;
  transform: translate(-50%, -50%); /* 真ん中に移動 */
  text-align: center;
  font-size: 12px;
  color: #fff;
  width: 100%;
}
.ap_new_slide_content_button{
  position: absolute;
  bottom: -4%;
  left: 50%;
  transform: translate(-50%, -50%); /* 真ん中に移動 */
  text-align: center;
  font-size: 10px;
  color: rgba(0, 0, 0, 0.642);
  background-color: white; /* 背景を半透明に */
  border-radius: 33%;
  border: 1px solid #6666666a;
  padding: 0px 6px;
}


@media screen and (max-width:375px){
  .ap_new_title_h1{
      font-size: 14px;
      font-weight: 600;
  }
  .ap_new_title_link{
      font-size: 12px;
      color:#AECBCD;
  }
}

/*************************
投稿詳細
**************************/
.ap_post_detail_sec01 {
  margin-right: 0px;
  position: relative;
}
.ap_post_detail_sec02 {
  margin-right: 0px;
  margin-top: 40px;
}
.ap_post_detail_sec03 {
  margin-top: 30px;
}
.ap_post_detail_sec07 {
  margin: 30px auto;
  width: 50%;
}
.ap_post_detail_sec01_wrap {
  display: flex;
  align-items: center;
  padding: 10px 15px;
  position: relative;
  z-index: 1;
}
.ap_post_detail_sec01_left {
  width: 12%;
  /* margin-top: -60px; */
  position: relative;
  z-index: 1;
}
.ap_post_detail_sec01_right{
  width: 84%;
  padding: 15px 10px;
}

.small-img {
  width: 100%;
  height: auto;
}
/* ユーザーアイコン */
.ap_post_detail_user_icon {
  display: flex;
  justify-content: center;
  align-items: center;
}
.ap_post_detail_user_icon img{
  max-width: 56px;
  max-height: 56px;
  min-width: 56px;
  min-height: 56px;
  width: 56px !important;
  height: 56px !important;
  object-fit: cover;
  border-radius:50%;
}
/*フォローボタン・楽天room*/
.ap_post_detail_sec01_right_btn_area{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 8px 20px 10px 48%;
  font-size: clamp(10px, calc(50vw / 32), 15px);
}
.ap_post_detail_sec01_right_follow{
  width: 80%;
}
.ap_post_detail_sec01_right_rakuten{
  display: flex;
  width:  100%;
  height: 30px !important;
  max-width: 110px;
  border: 1px solid #3E3A39;
  font-size: 1em;
  align-items: center;
  justify-content: center;
  margin-right: 5%;
  border-radius: 3px;
}

/* コメント入力エリア */
.ap_comment_wrapper {
  position: fixed; /* オーバーレイにする */
  padding: 25px 15px;
  width: calc(100% - 2px);;
  border-radius: 10px 10px 0 0;
  padding-bottom: 5%;
  border: 1px solid black;
  transition: bottom 0.3s ease; /* スムーズなアニメーション */
  max-width: 499px;
  background-color: white;
  z-index: 999;
}
.ap_comment_wrapper.active {
  bottom: 0; /* 表示時に画面下部にスライドアップ */
}

.ap_comment_wrapper h3 {
  text-align: center;
  font-size: 14px;
  margin: auto 0;
}

.ap_comment_wrapper .ap_user_info p {
  text-align: center;
  font-size: 14px;
  margin: auto 0;
}

.ap_post_detail_sec01_right_name {
  font-size: 1.1rem;
  padding: 0px 0px 0px 10px;
  text-align: left;
}
.ap_post_detail_sec01_right .ap_userid {
  padding: 0px 0px 0px 10px;
  text-align: left;
}

.ap_comment_loading {
  padding-left: 20px;
}

.ap_comment_area {
  max-height: 40vh;
  overflow-y:scroll;
  padding-left: 20px;
}

.ap_comment_add_area .ap_comment_to {
  padding: 0px 15px;
  display: flex;
}

.ap_comment_add_area .ap_comment_to input {
    margin-bottom: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 8px;
    font-size: 14px;
    margin: 0px;
}

.ap_comment_add_area .ap_comment_add {
  padding: 10px 15px;
}

.ap_comment_add_area .ap_comment_add textarea {
  margin-bottom: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 8px;
  font-size: 14px;
  margin: 0px;
}

.ap_comment_add_area .ap_comment_add_header {
  display:flex;
  justify-content: space-between;
  padding: 5px 15px;
}

.ap_comment_add_area .ap_comment_add_header .ap_user_info {
  display:flex;
}

.ap_comment_add_area .ap_comment_add_header .ap_user_info img{
  max-width: 32px;
  max-height: 32px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  margin: auto 10px auto 0px;
}

.ap_comment_add_area .ap_comment_add_header .add_comment_button_area {
  display: flex;
}

.ap_comment_add_area .ap_comment_add_header .add_comment_button_area button{
  width: 100%;
  text-align: center;
  font-size: 1.0rem;
  padding: 5px 25px;
  margin: auto 0;
  white-space: nowrap;
}

.ap_comment_add_area .reply_to_button_area {
  margin: 0px 0px 0px 5px;
}

.hidden {
  bottom: -100%; /* 非表示時 */
}

.ap_post_detail_sec02_post-info_area{
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 5%;
}

.spaced-hr {
  border: none; /* デフォルトの線を消す */
  border-top: 1px solid #c5c5c5; /* 横棒を表示 */
  margin: 15px 20px; /* 左右に20pxのスペース */
}

.short-hr {
  border: none;
  border-bottom: 3px solid #c5c5c5;
  margin: 12px 218px;
  padding-top: 18px;
}

/* この文章はダミーです */
.ap_post_detail_sec01_introduction_text{
  padding: 0 15px;
}
.ap_profile_sec01_introduction_text .ap_post_title{
  padding: 5px 0px;
  font-size: 1.2rem;
}
.ap_post_detail_sec01_introduction_text .ap_post_tags{
  display: flex;
  flex-wrap: wrap;
}
.ap_post_detail_sec01_introduction_text .ap_post_tags p{
  margin: 10px 15px 0px 0px;
}
.ap_post_detail_sec01_introduction_text .ap_post_tags a{
  color: #aecbcd !important;
}

.ap_post_detail_sec01_introduction_text_next{
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  background: linear-gradient(-90deg, rgba(255,255,255,1) 75%, rgba(255,255,255,0.28) 100%, rgba(255,255,255,0) 100%);
  padding: 0 15px 0 30px;
  color: #c5c5c5;
}

.ap_post_detail_sec01_introduction_text_next.on{
  display: none;
}
.sns_logo{
  max-width: 60%;
  display: flex;
  margin: auto;
  padding: 30px 0px;
  justify-content: space-between;
}
.sns_logo_img{
  width: 2rem;
}
/***************************
共通タイトル 新しい条件で検索
****************************/
.ap_new_title_line{
  border-left: 3px solid #aecbcd;
  font-size: 14px;
  font-weight: 500;
  padding-left: 8px;
  margin-bottom: 10px;
  line-height: 1.4em;
}

/***************************
モーダル
****************************/
/* モーダルウィンドウの基本スタイル */
.ap_modal {
  display: none;
  align-items: center;
  justify-content: space-between;
  background-color: rgba(0, 0, 0, 0.4);
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  max-width: 500px;
  z-index: 999;
}

/***************************
通知画面 一覧
****************************/
.ap_info_index_sec a{
  display: block;
  margin-bottom: 14px;
  padding: 0 20px;
}

.ap_info_index_sec a:hover {
  color: inherit;
}

.ap_info_index_item {
  display: flex;
  align-items: center;
}

.ap_info_index_item img {
  width: 10%;
  margin-right: 12px;
}

.ap_info_index_item h2 {
  font-size: 16px;
}
/***************************
退会
****************************/
.ap_withdrawal_wrapper {
  margin: 15px;
}
[class^="ap_withdrawal_sec"] {
  background-color: #fff;
  padding: 15px;
  margin: 15px 0px
}
[class^="ap_withdrawal_sec"] h2 {
  font-size: 16px;
  padding: 0px 0px 10px 0px;
  border-bottom: 1px solid #f3f3f3;
}
[class^="ap_withdrawal_sec"] .message{
  text-align: center;
}
[class^="ap_withdrawal_sec"] ul li{
  margin: 0px 0px 5px 0px;
}
/***************************
通知画面 詳細
****************************/
.ap_info_view_sec {
  padding: 24px;
}

.ap_info_view_item h1{
  font-weight: bold;
  font-size: 18px;
  padding-bottom: 14px;
}

.ap_info_view_item time{
  font-size: 16px;
  display: block;
  text-align: right;
}

.ap_info_view_item p{
  padding-top: 14px;
  font-size: 16px;
}

.ap_fashion_tags_button{
  border: 1px solid #989898;
  padding: 10px;
  margin: 3px 0px;
  text-align: center;
  width: 32%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  transition: 0.3s;
}

.ap_not_found_user_text {
  text-align: center;
  font-size: 20px;
  margin: 50px 30px;
}

/* メッセージ */
#notify-message{
  position: fixed;
  display: none;
  top: 0px;
  margin: 10px;
  padding: 15px;
  max-width: 480px;
  width: calc(100% - 20px);
  text-align: left;
  font-size: 13px;
  color: #000;
  box-shadow: 0 0 8px gray;
  background-color: #fff;
  border-radius: 5px;
  z-index:99999;
  display: flex;
  justify-content: space-between;
}
.swiper-slide .post-img {
    aspect-ratio: 8 / 10;
    object-fit: cover;
}
.swiper-slide .top-banner {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}
.swiper-pagination-bullets {
    display: flex;
    align-items: center;
    justify-content: center;
}
.swiper-pagination-bullet {
    background-color: white;
    height: 10px;
    width: 10px;
    opacity: 1;
}
/*
.swiper-pagination-bullet-active {
    box-shadow: 0 0 0 2px white;
    height: 6px;
    width: 6px;
    background: #aeccce;
}
*/

/* ファイルアップロード */
.ap_uploader {
    position: relative;
    border: 2px dashed #c3c4c7;
    text-align: center;
}
.ap_uploader .ap_uploader_text{
    margin: 40px 0px;
    font-size: 1.1rem;
}
.ap_uploader input{
    position: absolute;
    inset: 0;
    opacity: 0;
}
.ap_index_sec_add_posts_footer .ap_upload_list{
    max-height: 50vh;
    margin: 10px 0px 0px 0px;
}
.ap_upload_list li{
    width: 100%;
    display: flex;
    padding: 5px;
    margin: 5px 0px;
    border: 1px solid #c3c4c7;
    border-radius: 5px 5px 5px 5px;
    justify-content: space-between;
    line-break: anywhere;
}
.ap_upload_list li span{
    padding: 0px 5px 0px 0px;
}

/* ケバブメニュー */
.post_menu {
  position: relative;
  width: 30px;
  height: 30px;
  border-color: transparent;
  background: transparent;
  cursor: pointer;
}
.post_menu_ball {
  display: block;
  width: 5px;
  height: 5px;
  position: absolute;
  left: 50%;
  background: #000;
  border-radius: 50%;
}
.post_menu_ball:nth-child(1) {
  top: 0;
  transform: translate(-50%, 0);
}
.post_menu_ball:nth-child(2) {
  top: 50%;
  transform: translate(-50%, -50%);
}
.post_menu_ball:nth-child(3) {
  top: 100%;
  transform: translate(-50%, -100%);
}

/* 投稿操作用メニュー */
.ap_operation_menu_wrapper {
  position: fixed; /* オーバーレイにする */
  padding: 25px 15px;
  width: calc(100% - 1px);
  border-radius: 10px 10px 0 0;
  padding-bottom: 5%;
  border: 1px solid black;
  transition: bottom 0.3s ease; /* スムーズなアニメーション */
  max-width: 499px;
  background-color: white;
  z-index: 999;
}
.ap_operation_menu_wrapper.active {
  bottom: 0; /* 表示時に画面下部にスライドアップ */
}
.ap_operation_menu_wrapper .ap_delete {
    font-size: 1.0rem;
    color: red;
}
.ap_operation_menu_wrapper .ap_delete::before {
    content: url('/img/trash-box.svg');
    display: inline-block;
    position:relative;
    top: 4px;
    width: 20px;
    height: 20px;
    margin: 0px 10px 0px 0px;
}
.ap_operation_menu_wrapper ul {
    margin: 15px 0px;
}
.ap_operation_menu_wrapper li {
    margin: 0px 0px 0px 15px;
}

/***************************
ポップアップ
****************************/
/* ポップアップメニュー */
.ap_popup_wrapper {
  position: fixed;
  padding: 25px 15px;
  width: calc(100% - 1px);
  border-radius: 10px;
  padding-bottom: 5%;
  border: 1px solid black;
  max-width: 499px;
  background-color: white;
  z-index: 999;
  text-align: center;
}
.ap_popup_wrapper.active {
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
}

.ap_popup_wrapper .ap_logo {
  width: 70%;
  margin: 0px auto;
}

.ap_popup_wrapper ul {
  text-align: center;
}

.ap_popup_button_area {
  margin: 15px 20px;
}

.ap_popup_button_area .ap_close{
  text-align: center;
  display: inline-block;
  width: 100% !important;
  border: 0px;
  padding: 15px;
  margin: 5px 0px;
}

/***************************
運営会社について
****************************/
.ap_company_sec01 p{
    margin: 5px 0px;
}
.ap_company_sec01 ul{
    margin-left: 30px;
    list-style: unset;
}

/***************************
プライバシーポリシー
****************************/
[class^="ap_privacy_policy_sec"] p{
  margin: 5px 0px;
}
[class^="ap_privacy_policy_sec"] ul{
  margin-left: 30px;
}
[class^="ap_privacy_policy_sec"] hr{
  margin: 30px 0px;
  border: solid 1px gainsboro;
}
[class^="ap_privacy_policy_sec"] h2 {
  font-size: 1.2rem;
  margin: 10px 0px;
}
[class^="ap_privacy_policy_sec"] h3 {
  font-size: 1.0rem;
  margin: 10px 0px;
}

/***************************
利用規約
****************************/
[class^="ap_terms_of_service_sec"] p{
  margin: 5px 0px;
}
[class^="ap_terms_of_service_sec"] ul{
  margin-left: 10px;
}
[class^="ap_terms_of_service_sec"] li{
  margin: 10px 0px;
}
[class^="ap_terms_of_service_sec"] hr{
  margin: 30px 0px;
  border: solid 1px gainsboro;
}
[class^="ap_terms_of_service_sec"] h2 {
  font-size: 1.2rem;
  margin: 10px 0px;
}
[class^="ap_terms_of_service_sec"] h3 {
  font-size: 1.0rem;
  margin: 10px 0px;
}

/***************************
パスワードリマインダー
****************************/
[class^="ap_password_reminder_sec"] .message {
  text-align: center;
}
[class^="ap_password_reminder_sec"] .message h2 {
  font-size: 14px;
  margin: 10px 0px 10px 0px;
  padding: 10px;
  border-bottom: solid 1px #aaaaaa
}