@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;
}

html {
  -webkit-tap-highlight-color: transparent;
  scroll-behavior: smooth !important;
}

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_word_break_all {
  word-break: break-all;
}

.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;
  min-width: 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_guide_link {
  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 {
  width: 9.7px;
  height: 16px;
  transform: rotate(180deg);
}

.ap_control_close_button {
  display: flex;
  width: 100%;
  height: 30px !important;
  max-width: 110px;
  border: 1px solid #666;
  font-size: 1em;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  margin: auto auto 15px auto;
}

@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;
}

.mt5 {
  margin-top: 5px;
}

.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_password_area {
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  display: flex;
  padding-right: 10px;
  box-shadow: 0px 0px 2px 0.1px #e5e5e5;
  background: #f1f1f1;
  align-items: center;
}

.ap_password_area input {
  margin: 0px !important;
  box-shadow: none !important;
  border: none !important;
}

.ap_password_area input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #f1f1f1 inset !important;
}

.ap_password_area i {
  cursor: pointer;
  color: #999;
  font-size: 25px;
  text-align: center;
  display: inline-block;
  margin-left: 10px;
}

/***************************
共通タイトル
****************************/

.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_common_header_new {
  position: relative;
}

.ap_common_header_new img {
  width: 100%;
}

.ap_common_header_new span {
  position: absolute;
  top: 1px;
  left: 19px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #ff8f8c;
}

.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: 99;
}

.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: 50px 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;
}

[class^="ap_index_sec"] .ap_message_area {
  padding: 0 15px;
}

.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:-webkit-autofill {
  box-shadow: 0 0 0 1000px #f1f1f1 inset !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: 35px !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_sec03 .ap_profile_edit_input dt {
  width: 40%;
}

.ap_profile_edit_sec03 .ap_profile_edit_input dd {
  width: 60%;
}

.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: 30%;
  margin-bottom: 5px;
  display: flex;
  align-items: center
}

.ap_profile_edit_input dd {
  width: 70%;
  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;
  margin: 15px 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
}

[class^="ap_user_edit_password_sec"] input{
  background: #f1f1f1 !important;
}

[class^="ap_user_edit_password_sec"] input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #f1f1f1 inset !important;
}

[class^="ap_user_edit_password_sec"] input::placeholder {
  color: #c5c5c5;
  font-size: 12px;
}

.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_account_my_list_sec"] .ap_post_index_img_mini:nth-child(1) {
  padding: 0px 1px 1px 0px;
}
[class^="ap_account_my_list_sec"] .ap_post_index_img_mini:nth-child(2) {
  padding: 0px 0px 1px 0px;
}
[class^="ap_account_my_list_sec"] .ap_post_index_img_mini:nth-child(3) {
  padding: 0px 0px 1px 1px;
}

[class^="ap_account_my_list_sec"] table {
  border-spacing:0;
}

/***************************
フォロワー
****************************/
[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: 5px 10px;
  /* 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: 60%;
  position: relative;
  z-index: 1;
}

.ap_follow_list_right {
  width: 40%;
}

/*フォローボタン・楽天room*/
.ap_follow_list_right_btn_area {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ap_follow_list_right_btn_area .toFollow {
  background: #aecbcd;
  color: #fff;
  border: 2px solid #aecbcd;
  border-radius: 2px;
  width: 100%;
  height: 35px;
  font-size: 1em;
}

.ap_follow_list_right_btn_area .following {
  background: #f2f2f2;
  color: #b2b2b2;
  border: 2px solid #f2f2f2;
  border-radius: 2px;
  width: 100%;
  height: 35px;
  font-size: 1em;
}

.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: 35px;
  min-height: 35px;
  max-width: 35px;
  max-height: 35px;
  margin-left: 10px;
}

.ap_follow_list_right_sns {
  width: 17.5%;
  min-width: 35px;
  min-height: 35px;
  max-width: 35px;
  max-height: 35px;
  margin-left: 10px;
}

.ap_follow_profile_icon {
  aspect-ratio: 1 / 1;
  height: 60px;
  width: 60px;
}

.ap_follow_profile_icon img {
  max-width: 60px;
  max-height: 60px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/*リンク*/
.ap_follow_list_left_link {
  margin-left: 10px;
  max-width: 70%;
}

.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;
}

.ap_follow_list_left_link .ap_user_name {
  white-space: nowrap;
  overflow: hidden;
}

.ap_follow_list_left_link .ap_user_name::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 85%, white 100%);
  /* 徐々に透明にする */
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}

.ap_follow_list_left_link .ap_userid {
  font-size: 0.6rem;
  white-space: nowrap;
  overflow: hidden;
}

@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: 2px 0px;
  padding: 3px;
  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%;
}

.ap_post_sec_guide {
  text-align: center;
  margin: 30px 20px;
}

.ap_post_sec_guide label {
  display: inline !important;
}

.ap_post_sec_guide a {
  font-weight: bold;
}

[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_post_index_sec03 .ap_pattern1 .ap_post_index_td_mini img {
  padding: 0.5px 0px 0.5px 0.5px;
}

.ap_post_index_sec03 .ap_pattern1 .ap_post_index_td_large img {
  padding: 0.5px 0.5px 0.5px 0px;
}

.ap_post_index_sec03 .ap_pattern2 .ap_post_index_td_mini:nth-of-type(1) img {
  padding: 0.5px 0.5px 0.5px 0px;
}

.ap_post_index_sec03 .ap_pattern2 .ap_post_index_td_mini:nth-of-type(2) img {
  padding: 0.5px;
}

.ap_post_index_sec03 .ap_pattern2 .ap_post_index_td_mini:nth-of-type(3) img {
  padding: 0.5px 0px 0.5px 0.5px;
}

.ap_post_index_sec03 .ap_pattern3 .ap_post_index_td_mini img {
  padding: 0.5px 0.5px 0.5px 0px;
}

.ap_post_index_sec03 .ap_pattern3 .ap_post_index_td_large img {
  padding: 0.5px 0px 0.5px 0.5px;
}

.ap_post_index_sec03 .ap_get_posts_message {
  margin: 20px 5px;
  height: 120px;
}

.ap_post_index_sec03 .ap_get_posts_message {
  font-size: 1rem;
}

.ap_post_index_sec03 .ap_post_loading {
  display: flex;
  flex-flow: wrap;
  align-items: center;
}

.ap_post_index_sec03 .ap_post_loading img{
  width: auto;
  margin-right: 5px;
}

/*検索種別選択ならべ*/
.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: 5px 20px;
  justify-content: space-between;
  display: flex;
}

[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_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_sec12"] {
  margin-bottom: 40px;
}

[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"] .button1 span {
  color: #aecbcd;
}

[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;
}

[class^="ap_post_advanced_search_sec"] .ap_border dd {
  padding: 10px 20px !important;
}

[class^="ap_post_advanced_search_sec"] span {
  color:#3E3A39;
}

.ap_post_advanced_search_sec_button {
  margin: 15px 0px;
}

[class^="ap_post_advanced_search_sec"] .ap_button_area {
  display: flex;
  justify-content: space-around;
  margin: 15px 20px;
}

[class^="ap_post_advanced_search_sec"] .ap_clear_button {
  font-size: 1.1rem;
  text-align: center;
  display: inline-block;
  width: 25% !important;
  margin-top: 10px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-radius: 30px;
}
[class^="ap_post_advanced_search_sec"] .ap_search_button {
  font-size: 1.1rem;
  text-align: center;
  display: inline-block;
  width: 65% !important;
  margin-top: 10px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-radius: 30px;
}

[class^="ap_post_advanced_search_sec"] .ap_selected_text {
  margin-right: 10px;
}

/* ポップアップ系 */
.ap_popup_input_area .ap_search_menu_accordion_header  {
    background-color: #f2f2f2;
    justify-content: space-between;
    display: flex;
    align-items: center;
    margin-top: 3px;
}

.ap_popup_input_area .ap_search_menu_accordion_header .ap_icon_link {
    transition: 0.3s;
    margin-right: 15px;
}

.ap_popup_input_area .ap_search_menu_accordion_header.open .ap_icon_link {
    transition: 0.3s;
    transform: rotate(270deg);
}

.ap_popup_input_area .ap_search_menu_accordion_item {
    justify-content: space-between;
    display: flex;
}

.ap_popup_input_area .ap_search_menu_accordion_item span{
    margin: 5px 15px;
}

.ap_popup_input_area .ap_search_menu_accordion_item .ap_icon_link {
    transition: 0.3s;
    margin-right: 15px;
}
.ap_popup_input_area .ap_search_menu_accordion_item.open .ap_icon_link {
    transition: 0.3s;
    transform: rotate(270deg);
}

.ap_popup_input_area .ap_accordion_contents {
    padding: 0;
    margin: 0px 20px;
    transition:transform .3s;
}

.ap_search_menu h2{
    background-color: #f2f2f2;
}

.ap_search_menu dt, .ap_search_menu dd{
    align-items: center;
}

.ap_search_menu .ap_search_menu_single {
    padding: 5px 0px !important;
}

.ap_popup_input_area .ap_illust_wrap{
    max-width: 30%;
    margin-left: auto;
}

.ap_popup_input_area .ap_range{
    align-items: center;
    display: flex;
}

.ap_popup_input_area input[type="checkbox"]+label, input[type="radio"]+label {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    margin: 5px 10px;
    padding-left: 25px;
}

/***************************
プロフィール
****************************/

.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_header img {
  width: 100%;
  height: 250px;
  object-fit: cover;
}

.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;
  left: -9999px
}

input[type="checkbox"]+label, input[type="radio"]+label {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
  margin: 10px 20px 0 0;
  padding-left: 25px;
}

/*枠*/
input[type="checkbox"]+label::before, input[type="radio"]+label::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1.5px solid #989898;
  background: #fff;
  box-sizing: border-box;
}

input[type="checkbox"]:checked+label:after, input[type="radio"]:checked+label:after {
  content: '';
  position: absolute;
  left: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #aecbcd;
  box-shadow: 0px 0px 2px 0.1px #aecbcd;
  transition: opacity 0.2s ease;
}

/*選択横ならべ*/
.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;
  text-wrap: balance;
}

.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: 5px;
  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;
}

.select2-search__field {
  font-size: 16px !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;
}

/* いいね数、コメント数、投稿時間、「コメントを追加」 */
.ap_post_info {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.1rem;
}

.ap_post_info .ap_likes {
  align-items: center;
}

.ap_post_info .ap_likes .bi-heart-fill {
  color: #ff0000;
}

.ap_post_info .ap_comments {
  align-items: center;
  margin-left: 15px;
}

.ap_post_info .ap_comments i::before {
  transform: translateY(-1px);
}

.ap_post_info .ap_date {
  align-items: center;
  margin-left: 15px;
}

.ap_post_info .ap_shares {
  align-items: center;
  margin-left: 15px;
}

.ap_post_info .ap_bookmarks .bi-bookmark-fill {
  color: #aeccce;
}

.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: 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: 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%;
}

/*フォローボタン・インスタグラム*/
.ap_post_detail_sec01_right_btn_area {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 1px 20px 1px 48%;
  font-size: clamp(12px, 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_post_detail_sec01_right_sns {
  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_post_detail_sec01_right_sns img {
  width: 15%;
  margin-right: 5px;
}

/* コメント入力エリア */
.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: 15px 0px;
}

.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 20px;
}

.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: 0px 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;
}

.ap_share_link {
  max-width: 85%;
  display: flex;
  margin: auto;
  padding: 20px 0px;
  justify-content: space-between;
}

.ap_share_link i {
  font-size: 40px
}

.ap_share_link_img {
  max-height: 40px;
  width: 40px
}

@media screen and (max-width: 498px) {
  .ap_share_link {
    font-size: 0.6rem;
  }
  .ap_share_link_img {
    height: 32px;
    width: 32px;
  }
  .ap_share_link i {
    font-size: 32px;
  }
}

/***************************
共通タイトル 新しい条件で検索
****************************/
.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_text_area {
  margin: 15px 20px;
  text-align: left;
  overflow-y: scroll;
  max-height: 70vh;
}

.ap_popup_text_area ul {
  text-align: left;
}

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

.ap_popup_input_area {
  margin: 15px 20px;
  text-align: left;
  overflow-y: scroll;
  max-height: 50vh;
}
/***************************
運営会社について
****************************/
.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
}