@charset "utf-8";

/* -----------------------------------------------------------
　common
----------------------------------------------------------- */

@media screen and (max-width: 767px){ 
  body {
    -webkit-text-size-adjust: 100%;
    font-size:16px;
  }
  .pc_cont {display:none!important;} 
}

/* -----------------------------------------------------------
  template
----------------------------------------------------------- */

@media screen and (max-width: 767px){

  /* :::::::::: header :::::::::: */
  
  header {box-shadow:0 0 5px 0 rgba(0,0,0,0.3);}
  .header_box {
    height:70px;
    padding:20px 4% 10px;
  }
  .header_box .logo {
    width:230px;
    height:auto;
    font-size:1rem;
    text-align:left;
    margin:0;
  }
  .header_box .logo img {width:100px;}
  .header_menu {
    height:50px;
    right:4%;
  }
  .header_menu > p {
    width:40px;
    padding:42px 0 0;
  }
  .header_menu > p::before {display:none;} 
  .header_menu > .login,
  .header_menu > .member {display:none;}
  .header_menu > p::after {
    width:40px;
    height:40px;
  }
  .header_menu > p span {font-size:1rem;}
  .header_menu > .menu span::before,
  .header_menu > .menu span::after {
    width:14px;
    height:2px;
  }
  .header_menu > .menu span::before {
    top:13px;
    box-shadow:0 6px 0 0 #FFFFFF;
  }
  .header_menu > .menu span::after {top:25px;}
  .header_menu > .menu.open span::before {top:19px;}
  .header_menu > .menu.open span::after {top:19px;}
  .header_menu .menu_box {
    width:100%;
    padding:80px 5%;
    right:-100%;
  }
  .header_menu .menu_box > ul li {font-size:1.7rem;}
  .header_menu .menu_box > ul li::after {
    border-top:solid 1px #FFFFFF;
    border-right:solid 1px #FFFFFF;
  }
  .header_menu .menu_box .tag_list ,
  .header_menu .menu_box .btn_common {width:100%;}
  .header_menu .menu_box > p {margin:15px 0;}
  .header_menu .menu_box .search {
    width:100%;
    margin:15px 0 30px;
  }
  .header_menu .menu_box .search input {width:calc(100% - 50px);}
  .header_menu .menu_box .menu_sns {
    width:100%;
    margin:20px 0 0;
  }
  .header_menu .search_box ,
  .header_sns {display:none;}

  /* :::::::::: main :::::::::: */
  
  main {padding:70px 0 0;}
  main.page {padding:70px 0;}
  main.page.about {padding:70px 0 0;}
  main.single {padding:70px 4%;}
  main .content_menu {display:none;}
  .breadcrumbs {padding:10px 4%;}
  main.single .breadcrumbs {padding:10px 0;}
  .breadcrumbs > span {font-size:1rem;}
  .container ,.box {padding:0 4%;}  
  main.single .container {
    margin:0 auto;
    padding:4%;
    border-radius:10px;
  }
  main.single .container .post_box {max-width:100%;}

  /* :::::::::: aside :::::::::: */

  aside {padding:0 0 10px;}
  .home + aside {padding:0 0 10px;}
  aside .box {padding:0;}
  aside section {padding:8% 4%;}
  aside section div:nth-of-type(1) {
    width:100%;
    margin:0 auto 4%;
    float:none;
  } 
  aside section div:nth-of-type(2) {
    width:100%;
    float:none;
  }
  aside section h2 span::before {left:-1.5em;}
  aside section h2 span::after {right:-1.5em;}
  aside section dl dt {font-size:1.7rem;}
  aside section dl dd {font-size:1.3rem;}
  aside section p:nth-of-type(1) {font-size:1.4rem;}

  /* :::::::::: footer :::::::::: */

  .pagetop {
    width:12%;
    max-width:55px;
    bottom:3%;
    right:3%;
  }
  .banner .pagetop {bottom:15%;}
  footer {padding:10% 0 0;}
  main + footer {padding:20% 0 0;}
  .footer_box {padding:0 4%;}
  .footer_box .logo {
    width:100%;
    margin:0 auto 4%;
    float:none;
  }
  .footer_box > ul {
    width:40%;
    margin:0 0 0 15%;
  }
  .footer_box > ul:nth-of-type(even) {margin:0;}
  .footer_box > ul:nth-of-type(3) {margin:0 0 10% 15%;}
  .copyright {
    line-height:1.2;
    padding:6% 4%;
  }
  .c_logo {
    padding:20px 0;
    transition:0.5s;
  }
  .banner .c_logo {padding:20px 0 calc(20px + 21vw);}
  .c_logo p {
    width:180px;
    padding:0;
  }
} 

/* -----------------------------------------------------------
  parts
----------------------------------------------------------- */

@media screen and (max-width: 767px) {
  
  /** hx **/

  .editor_contents .related_page .h_border,
  .h_border {
    font-size:2.5rem;
    margin:60px auto 30px;
  }
  .h_solid {margin:50px auto 20px;}
  .h2_common {
    font-size:1.7rem;
    margin:60px auto 30px;
  }
  .h2_common span {font-size:4rem;}

  /** button **/

  .btn_common {margin:20px 0;}
  .btn_common.center {
    width:100%;
    margin:30px auto 0;
  }
  .btn_submit.center {
    width:100%;
    margin:30px auto 0;
  }

  /** contentlist **/

  .category_caption {margin:0 auto 30px;}
  .post_list > li {
    width:100%;
    margin:0 0 40px;
    float:none;
  }
  .post_list > li:nth-child(3n) {margin:0 0 40px;}
  .post_list.col02 > li {
    width:100%;
    margin:0 0 40px;
    float:none;
  }
  .post_list.col02 > li:nth-child(3n) {margin:0 0 40px;}
  .post_list.col02 > li:nth-child(2n) {margin:0 0 40px;}
  .post_list > li div {padding:0 3%;} 
  .post_list > li div .post_title {
    font-size:1.5rem;
    margin:1em 0 0.5em;
  }
  .tag_list li {font-size:1.1rem;}
  .bnr_list > li {
    width:100%;
    margin:0 0 15px;
    float:none;
  }
  .bnr_list > li:nth-child(3n) {margin:0 0 15px;}
  .bnr_list > li a img {margin:0 0 15px;}
  .related_list {margin:0 auto 10%;}
  .related_list li {
    padding:5%;
    margin:0 0 20px;
  }
  .related_list li figure {
    width:100%;
    padding:68% 0 0;
    margin:0 0 20px;
    float:none;
  }
  .related_list > li div {
    width:100%;
    float:none;
  } 

  /** cta **/

  .cta_box {
    margin:30px auto;  
    padding:6%;
  }
  .cta_box > img {
    width:100%;
    max-width:120px;
    margin:0 auto 20px;
    float:none;
  }
  .cta_box > div {
    width:100%;
    float:none;
  }
  .cta_box > div h2 {font-size:2.4rem;}
  .cta_box > div p {font-size:1.4rem;}
  .cta_box > p {font-size:2rem;}
  .cta_box > .btn_common {font-size:1.4rem;}
}
  
/* -----------------------------------------------------------
 Single/Archive
----------------------------------------------------------- */

@media screen and (max-width: 767px) {

  .h1_common {
    font-size:2rem;
    margin:20px auto 0;
  }
  .eyecatch {
    margin:20px auto;
    border-radius:10px;
  }
  .editor_contents {margin:20px auto 0;}
  .editor_contents h2 ,
  .h2_editor {
    font-size:1.9rem;
    margin:60px auto 15px;
   }
  .editor_contents h3 {
    font-size:1.7rem;
    margin:30px auto 15px;
   }
  .editor_contents h4 {
    font-size:1.6rem;
    margin:30px auto 15px;
   }
  .editor_contents h5 {
    font-size:1.6rem;
    margin:20px auto 15px;
   }
  .editor_contents h6 {margin:20px auto 10px;}
  .editor_contents h2 + h3 {margin-top:30px;}
  .editor_contents h3 + h4 {margin-top:30px;}
  .editor_contents h4 + h5 {margin-top:20px;}
  .editor_contents h5 + h6 {margin-top:20px;}
  .editor_contents .wp-block-image .alignright {float:none;margin:0.5em auto 1.5em;}
  .editor_contents .wp-block-image .alignleft {float:none;margin:0.5em auto 1.5em;}
  .editor_contents .w_table_outer {
    width:100%;
    overflow-x:auto;
  }
  .editor_contents .w_table {
    width:200%;
    max-width:200%;
  }
  .editor_contents .bg_box {margin:30px auto;} 
  
  
  .editor_contents .related_box {
    margin:8% auto;
    padding:5%;
  }
  .editor_contents .related_box figure {
    width:100%;
    padding:68% 0 0;
    margin:0 0 20px;
    float:none;
  }
  .editor_contents .related_box div {
    width:100%;
    float:none;
  } 
  
  .faq_box {margin:40px auto;}
  .faq_box dt {padding:20px 60px 20px 0;}
  .faq_box dt::before {
    width:2.7em;
    height:2.7em;
    right:0;
  }
  .faq_box dt::after {
    width:0.7em;
    height:0.7em;
    right:0.95em;
  }
  .editor_contents #toc_container {
    margin:30px auto;
    padding:20px;
  }
  
  
  
  
  
  
  
  
  
  .wp-pagenavi {
    position:relative;
    display:flex;
    justify-content: center;
  }
  .wp-pagenavi > span ,
  .wp-pagenavi > a {
    display:none;
    width:40px;
    height:40px;
    line-height:40px;
  }
  .wp-pagenavi > a.previouspostslink,
  .wp-pagenavi > a.nextpostslink ,
  .wp-pagenavi > a.first,
  .wp-pagenavi > a.last {
    display:inline-block;
    margin:0 10px;
  }
  .wp-pagenavi > a.previouspostslink,
  .wp-pagenavi > a.first {order:0;}
  .wp-pagenavi > a.nextpostslink ,
  .wp-pagenavi > a.last {order:2;}
  
  .wp-pagenavi > .pages {
    /*position:absolute;*/
    display:inline-block;
    width:auto;
    border:none;
    margin:0 10px;
    left:0;
    right:0;
    order:1;
  }
  
  

}
  
/* -----------------------------------------------------------
 static
----------------------------------------------------------- */

@media screen and (max-width: 767px) {
  
  /** top **/
  .home article {padding:0 0 10%;}
  .home .kv {padding:10% 0 0;}
  .home .slider01 {
    width:94%;
    margin:0 auto!important;
  }
  .home .slider01 .slick-slide {
    margin:0 3vw 3vw;
    width:100%;
    height:auto;
    border-radius:5px;
  }
  .home .slider01 .slick-slide a::after {
    border-top:solid 0.75em;
    border-left:solid 0.5em transparent;
    border-right:solid 0.5em transparent;
  }
  .home .slider01 .slick-slide div {
    height:6em;
    padding:15px 20px 10px;
  }
  .home .slider01 .slick-slide div .post_date {font-size:1.1rem;}
  .home .slider01 .slick-slide div .post_title {
    font-size:1.5rem;
    height:3em;
    overflow:hidden;
  }
  .home .slider01 .slick-slide .post_tag {
    width:100%;
    height:auto;
    padding:5px 20px 0;
    border-radius:0 0 5px 5px;
  }
  .home .slider01 .slick-slide .post_tag li {
    font-size:1.1rem;
    margin:0 0.5em 5px 0;
  }
  .home .slider01 .cat_new::before {
    width:30px;
    height:33px;
    top:-4px;
    right:10px;
  }
  .home .slider01 .first_slide a {padding:0 5% 15%;}
  .home .slider01 .slick-slide.first_slide a::after {
    border-top:solid 0.75em #D60056;
    border-left:solid 0.5em transparent;
    border-right:solid 0.5em transparent;
    top:80%;
  }
  .home .slider01 li .post_cat {
    font-size:1.2rem;
    top:-13px;
    left:20px;
  }
  .home .slider01 .slick-arrow {
    width:30px;
    height:30px;
  }
  .home .slider01 .slick-prev {left:-2vw;}
  .home .slider01 .slick-next {right:-2vw;}
  
  .slider02 {width:140vw;margin:0 auto!important;transform:translateX(-20vw);}
  .slider02 .slick-slide {transform:rotate(-15deg) translateX(0) translateY(12vw);}
  .slider02 .slick-slide.slick-active {transform:rotate(-15deg) translateX(-20vw) translateY(12vw);}
  .slider02 .slick-slide.slick-active + .slick-active {transform:rotate(0) translateX(0) translateY(0);}
  .slider02 .slick-slide.slick-active + .slick-active + .slick-active {transform:rotate(15deg) translateX(20vw) translateY(12vw);}
  .slider02 .slick-slide.slick-active + .slick-active + .slick-active + .slick-slide {transform:rotate(20deg) translateX(20vw) translateY(15vw);}
  .slider02 .slick-dots {
    width:40vw;
    margin:10vw auto 0;
  }
  .slider02 .slick-prev, .slider02 .slick-next {bottom:2vw;}
  .slider02 .slick-prev {right:40vw;}
  .slider02 .slick-next {left:40vw;}
  .slider02 .slick-slide a div p {display:none;}
  
  .slider02 + .btn_common {
    width:90%;
    margin-top:10vw;
  }
  .home .container > .circle {
    top:-75vw;
  }
  .circle_w > .circle {
    height:calc(100% + 30px);
    bottom:0;
  }
  .home_popular {padding:0 0 10%;}
  .home_popular .post_list .slick-list {padding:0 15% 0 0!important;}
  .home_popular .post_list .slick-slide {margin:0 5vw 0 0;}
  .home_popular .post_list .slick-slide div {padding:0 3%;} 
  .home_popular .post_list .slick-slide div .post_title {
    font-size:1.5rem;
    margin:10px 0;
  }
  .home_popular .post_list .slick-arrow {
    width:40px;
    height:40px;
  }
  .home_popular .post_list .slick-prev {left:-4vw;}
  .home_popular .post_list .slick-next {right:-4vw;}
  .home .area_beige {padding:10% 0;}
  .home .area_beige .bnr_list li {
    width:48%;
    margin:0 4% 10px 0;
    float:left;
  }
  .home .area_beige .bnr_list li:nth-child(3n) {margin:0 4% 10px 0;}
  .home .area_beige .bnr_list li:nth-child(3n+1) {clear:none;}
  .home .area_beige .bnr_list li:nth-child(2n) {margin:0 0 10px;}
  .home .area_beige .bnr_list li:nth-child(2n+1) {clear:both;}

  .home .area_beige .bnr_list li img {margin:0 0 10px;}
  .home .area_beige .bnr_list li p {font-size:1.3rem;}
  .f_banner {
    width:100%;
    padding:5% 4%;
    border-radius:0;
    bottom:0;
    right:0;
    left:0;
  }
  .f_banner.out {bottom:-400px;}
  .f_banner p {
    width:60%;
    font-size:1.2rem;
    float:right;
  }
  .f_banner p span {width:60%;}
  .f_banner .btn_common {
    width:35%;
    margin:2% 5% 0 0;
    float:right;
  }
  
  /** about **/

  .about01 {
    padding:60px 5% 20px;
    margin:80px auto;
    border-radius:5px;
    box-shadow:0 0 10px 0 rgba(0,0,0,0.2);
  }
  .about01::before {
    width:80px;
    height:110px;
    top:-50px;
    left:10px;
  }
  .about01::after {
    width:85px;
    height:74px;
    top:-30px;
    right:10px;
  }
  .about01 > figure {
    width:210px;
    margin:0 auto 20px;
  }
  .about01 h2 {
    font-size:2.2rem;
    text-align:left;
    margin:0 auto 20px;
  }
  .about02 {
    padding:100px 0;
    margin:0 auto 80px;
    background:url("../img/sub/bg_about02.png") no-repeat center top 100px / 100%, url("../img/sub/about02_before_sp.png") no-repeat center top / auto 91px,url("../img/sub/about02_after_sp.png") no-repeat center bottom / auto 85px;
  }
  .about02 h2 {
    font-size:3.6rem;
    margin:0 auto 40px;
  }
  .about02 h2::before,
  .about02 h2::after {display:none;}
  .about02 > figure {width:260px;}
  .about02 ol {
    display:block;
    margin:0 auto 30px;
  }
  .about02 ol li {font-size:1.8rem;}
  .about .editor_contents .btn_title span {
    font-size:3rem;
    
  }
.about .editor_contents .btn_common {margin:20px auto 0;}
.about .editor_contents .btn_common a {
  text-decoration:none;
  color:#FFFFFF;
}

  
  
  
  
  
  
  
  
  
  

  /** archive **/

  .popular_list .slick-list {padding:0 15% 0 0!important;}
  .popular_list .slick-slide {padding:0 5vw 0 0;} 
  .popular_list .slick-arrow {
    width:40px;
    height:40px;
  }
  .popular_list .slick-prev {left:-4vw;}
  .popular_list .slick-next {right:-4vw;}
  .popular_list a {display:block;}
  .popular_list figure {
    width:100%;
    padding:68% 0 0;
    margin:0 0 20px;
    float:none;
  }
  .popular_list figure + div {
    width:100%;
    padding:0 3%;
    float:none;
  }
  .popular_list .post_date {display:inline-block;}
  .popular_list .post_title {
    font-size:1.5rem;
    margin:0 0 10px;
  }
  .popular_list .post_tag li {font-size:1.1rem;}
  .archive .area_beige ,
  .about .area_beige {
    padding:5% 0;
    margin:10% 0 0;
  }
  .archive .area_beige .bnr_list li ,
  .about .area_beige .bnr_list li  {margin-bottom:15px;}
}

/* -----------------------------------------------------------
 404
----------------------------------------------------------- */

@media screen and (max-width: 767px) {
  .page404 h1 {
    font-size:3rem;
    margin:20px auto;
  }
  .page404 h1 + p {font-size:1.7rem;}
}

/* -----------------------------------------------------------
 form
----------------------------------------------------------- */

@media screen and (max-width: 767px) {

  .member_page h1 {margin-top:20px;}
  .regist_logo {
    width:220px;
    margin:0 auto 20px;
  }
  .member_page h1 + figure + .center {text-align:left;}
  .form_caution {margin:20px auto 40px;}
  .form_table {margin:0 auto 40px;}
  .form_table th {
    display:block;
    width:100%;
    padding:1.5em 0.5em 0;
    background:none;
  }
  .form_table td {
    display:block;
    width:100%;
    padding:0.5em 0.5em 1.5em;
  }
  .form_table input::placeholder {font-size:0.8em;}
  .form_table input.input_name {
    width:8em;
    margin:0 0 0.5em 0.25em;
  }
}

/* -----------------------------------------------------------
 mypage
----------------------------------------------------------- */

@media screen and (max-width: 767px) {

  .mypage_menu {
    position:static;
    width:100%;
    height:auto;
    background:#FEEEC2;
    padding:0 4%;
    overflow:hidden;
  }
  .mypage_menu::after {display:none;}
  .mypage_menu div {
    position:static;
    width:100%;
    padding:0;
  }
  .mypage_menu div p {
    position:relative;
    width:100%;
    font-size:1.5rem;
    padding:0.5em;
    margin:0;
    pointer-events:auto;
  }
  .mypage_menu div p span {
    display:inline-block;
    font-size:2.2rem;
    vertical-align:middle;
    margin:0 1em 0 0;
  }
  .mypage_menu div p::after {
    position:absolute;
    display:block;
    content:"";
    width:1em;
    height:1em;
    border-right:solid 2px #D60056;
    border-bottom:solid 2px #D60056;
    transform:rotate(45deg);
    margin:auto;
    top:0;
    bottom:0.5em;
    right:0;
  }
  .mypage_menu div p.open::after {
    bottom:0;
    top:0.5em;
    transform:rotate(225deg);
  }
  .mypage_menu div ul {
    display:none;
    margin:4% auto 0;
  }
  .mypage_menu div ul li {font-size:1.5rem;}
  .mypage .container{
    padding:0 4%;
  }
  
}

/* -----------------------------------------------------------
 org 既存固定ページ用スタイル
----------------------------------------------------------- */

@media screen and (max-width: 767px) {

  .page_org .pc_only {display:none;}
  .page_org .sp_only {display:block;}

  .org_link {
    display:block;
    padding:2em 1em 0;
    margin:20px auto!important;
    border:solid 2px #FBC600;
  }
  .org_link li {
    position:relative!important;
    border-bottom:dashed 2px #FBC600;
    padding:0 0.5em 0.5em!important;
    margin:0 auto 2em!important;
  }
  .org_link li:last-child {padding:0 0.5em 0.5em!important;}
  .org_link li span {
    display:inline-block;
    margin:0 0.5em 0 0;
  }
  .org_link li::after {
    position:absolute;
    display:block;
    content:"";
    width:0;
    height:0;
    border-top:solid 0.8em #D60056;
    border-left:solid 0.5em transparent;
    border-right:solid 0.5em transparent;
    margin:auto;
    left:0;
    right:0;
    bottom:-1.8em;
  }
  .org_link li:last-child::after {content:none;}
  .page_org .text_left {
    width:100%;
    float:none;
  }
  .page_org .text_left + .wp-block-image {
    width:100%;
    float:none;
  }
  .page_org .text_right {
    width:100%;
    float:none;
  }
  .page_org .text_right + .wp-block-image {
    width:100%;
    float:none;
  }
  
}

/* -----------------------------------------------------------
 記事索引
----------------------------------------------------------- */

@media screen and (max-width: 767px) {

  .index_box {margin: 30px auto;}
  .index_box h2 {
    font-size: 1.9rem;
    margin: 0 0 15px;
  }
  .index_box section {
    padding: 0 2%;
    border: solid 1px #fbc600;
    border-radius: 5px;
    margin: 0 0 15px;
  }
  .index_box section h3 {
    font-size: 1.6rem;
    padding: 0.75em 30px 0.75em 2%;
  }
  .index_box section h3::before {
    width: 20px;
    height: 2px;
    right: 0;
  }
  .index_box section h3::after {
    width: 2px;
    height: 20px;
    right: 9px;
  }
  .index_box section ul {
    padding: 0 0 10px;
    border-top: solid 1px #fbc600;
  }
  .index_box section ul li {
    font-size: 1.5rem;
    padding: 0.75em 2%;
  }
  .index_box section ul li span {font-size: 1.2rem;}

  /* =============================== */
  /* 2024/12 インタビュー 吹き出し実装改修 */
  /* =============================== */
  .talk_block {margin: 0 auto 30px;}
  .talk_block .chat_item {
    margin: 30px 0 0;
  }
  .talk_block .chat_item .name {
    font-size: 14px;
  }
  .talk_block .chat_item .balloon {
    padding: 15px 20px;
  }


  .talk_block .chat_item>div:not(.balloon){width: 40px;}
  .talk_block .chat_item>div.balloon{
    position: relative;
    z-index: 0;
    width: calc(100% - 55px);
    border-radius: 20px;
  }
  /* 吹き出し矢印 */
  .talk_block .chat_item.talk_a .balloon::before,
  .talk_block .chat_item.talk_b .balloon::before {top: 5px;}
  .talk_block .chat_item.talk_a .balloonbefore {right: -12px;}
  .talk_block .chat_item.talk_b .balloon::before {left: -12px;}
  /* 260116 多彩なサービス改修 */
  .category_service .container > section h2{
    font-size: 1.9rem;
    margin: 0 0 20px;
  }
  .category_service .ve_banner{margin: 0 0 20px;}
  .category_service .container > section .h3_common{
    font-size: 1.7rem;
    margin: 30px auto 15px;
  }
  .category_service .area_beige .bnr_list{flex-direction: column;}

  /* 202605 マンスリーマンションのご依頼フォーム */
  .page .disclaimer{padding: 1em;}

  /* 260515 VPマニュアル */
  .editor_contents .related_page .related_list li{
    padding: 5%;
    margin: 0 0 20px;
  }
  .editor_contents .related_page .related_list li figure{
        width: 100%;
        padding: 68% 0 0;
  }
  .editor_contents .related_page .related_list li div{width: 100%;float: none;}
}