@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/
/*
メモ::命名規則
item_pointcase__top
(要素_コンテンツ名__ページ/コンテンツ種別)

.with wrp_flex
//
link_cat-list__archive
link_cat-list__archive-case
link_cat-list__archive-column
link_cat-list__archive-shop
*/
/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
@media screen and (max-width: 1023px){}
@media screen and (max-width: 834px){}
@media screen and (max-width: 480px){}
/* mobile*/
@media screen and (max-width:428px) and (min-width:320px){}
/* tablet */
@media screen and (max-width:960px) and (min-width:768px){}
/*desktop*/
@media screen and (min-width:961px){}


/*add renewal 202401-------------------------------------------------------------------*/
/*root*/
html{
  --color-black01: #0a0a0a;
  --color-gray01: #9d9d9d;
  --color-gray02: #bababa;
  --color-gray03: #f4f4f4;
  --color-gray04: #cccccc;
  --color-blue01: #006699;
  --color-blue02: #002a57;
  --color-blue03: #d9e7f0;
  --color-green01: #33af37;
  --color-orange01: #ee6a12;
  --color-red01: #dc143c;
  --color-cat01:#006699;
  --color-cat02:#2fa8b5;
  --color-cat03:#305166;
  --color-cat04:#96adbb;
  --color-cat05:#e6c0c0;
  --color-cat06:#bb6d6d;
  --color-cat07:#e6ccbe;
  --color-cat08:#bb826a;
  --color-cat09:#e6e5be;
  --color-cat10:#bbb96a;
  --color-cat11:#bee6d7;
  --color-cat12:#6abb99;
  --color-cat13:#2fa8b5;
  --color-cat14:#13c9e0;
  --color-cat15:#2fa8b5;
  --color-cat16:#64a1dd;
  --color-cat17:#2fa8b5;
  --color-cat18:#8599e2;
  --font-size32:32px;
  --font-size24:24px;
  --font-size20:20px;
  --font-size18:18px;
  --font-size16:16px;
  --font-size15:15px;
  --font-size14:14px;
  --font-size13:13px;
  --font-size12:12px;
  --wide-colum-1-12:calc((100% / 12) * 1);
  --wide-colum-2-12:calc((100% / 12) * 2);
  --wide-colum-3-12:calc((100% / 12) * 3);
  --wide-colum-4-12:calc((100% / 12) * 4);
  --wide-colum-5-12:calc((100% / 12) * 5);
  --wide-colum-6-12:calc((100% / 12) * 6);
  --wide-colum-7-12:calc((100% / 12) * 7);
  --wide-colum-8-12:calc((100% / 12) * 8);
  --wide-colum-9-12:calc((100% / 12) * 9);
  --wide-colum-10-12:calc((100% / 12) * 10);
  --wide-colum-11-12:calc((100% / 12) * 11);
  --wide-wrp1040:1040px;
  --txt-long-lineHeight:1.8em;
  --txt-short-lineHeight:1.4em;
  --transition: all 0.3s;
}
/*============================================================
common
============================================================*/
/*reset-----------------------------------------------------*/
.clearfix::after {
  content: "";
  display: block;
  clear: both;
  height: 1px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .dsp {display: none !important;}
}
@media screen and (max-width: 767px) {
  .dpc {display: none !important;}
}
/*layout-----------------------------------------------------*/
.wrp_flex{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
}
/*wide*/
body.home #content-in,
body.archive.category-about #content-in,
body.single-renovation #content-in,
body.post-template-single-shop #content-in,
body.page-template-page_estimate #content-in,
body.page-template-page_case #content-in{
  width:100%;
}
/*section{
  padding:60px 0;
}
@media screen and (max-width:767px){
  section{
    padding:30px 0;
  }
}*/
.inner{
  max-width:1040px;
  width:94.6666%;
  margin-left:auto;
  margin-right:auto;
}

/*-------------------------------------------------------------
header
-------------------------------------------------------------*/
/*desktop 1024px以下*/
@media screen and (min-width: 1024px) {
  #header-in{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    align-content: center;
    width:100%;
  }
  .logo-header{
    width:184px;
    height:80px;
    padding: 17px 18px;
  }
  .logo-header a,
  .logo-header picture{
    display:block;
    line-height:0;
  }
  .site-name-text-link{
    padding:0;
  }
  .tel__header{
    width: 285px;
    margin-right: 240px;
    padding: 19px 20px;
  }
  #header-in.cf::after{
    display:none;
  }
  .btn_reserve__header{
    width:240px;
    position: fixed;
    top: 0;
    right: 0;
    z-index:10;
    background-color:#ffffff;
  }
  .tel__header a,
  .btn_reserve__header a{
    display:block;
    line-height:0;
  }
}
@media screen and (max-width: 1023px) {
  .btn_reserve__header,
  .tel__header{
    display:none;
  }
}

/*header::menu-----------------------------------------------*/
@media screen and (min-width: 768px) {
  #header-container-in nav#navi{
    border-top:1px solid #ccc;
    border-bottom:1px solid #ccc;
  }
  #header-container-in #navi-in{
    max-width:inherit;
    width:100%;
  }
}
#header-container-in .navi-in a{
  font-size: 14px;
  font-weight: bold;
}

/*header::mobile-menu----------------------------------------*/
/*mobile layout
(mobile-navi-button.php)
---------------------------------------------------*/
.wrp_slideinMenu{
  border-top: solid 1px #e0e0e0;
  margin-top: 50px;
}
@media screen and (max-width: 1023px) {
  .menu-content{
    max-width:100%;
    width:100%;
  }
  a.logo__menu-content{
    display: block;
    line-height: 0;
     width: calc(100% - 51px); 
    float: left;
    padding:8px 10px;
  }
  .mobile-menu-buttons .navi-menu-button.menu-button{
    background-color:var(--color-blue01);
    color:#ffffff;
  }
  .navi-menu-close-button.menu-close-button{
    background-color:var(--color-blue01);
    width:50px;
    float:right;
  }
  .logo-menu-button img{
    margin: 0;
    padding: 10px;
  }
  .has-logo-button .menu-button{
    width:50px;
  }
  label#navi-menu-open,
  label.navi-menu-close-button{
    line-height:0;
    display:block;
  }
}
/*menu slideInMenu_mobile
(mobile-navi-button.php)
---------------------------------------------------*/
ul#menu-mobile_slideinmenu{
  padding: 0;
}
ul#menu-mobile_slideinmenu li{
  border-bottom: 1px solid #ccc;
}
ul#menu-mobile_slideinmenu li a{
  text-decoration: none;
  font-weight: bold;
  width: 100%;
  padding: 1em;
  display: block;
  position: relative;
}
ul#menu-mobile_slideinmenu li a::after{
    position: absolute;
    content: "";
    display: inline-block;
    width: 0.75em;
    height: 0.75em;
    background: url(/wp-content/themes/cocoon-child-master/img/common/icon_arrow_o.png) no-repeat center center / contain;
    right: 0.75em;
    top: 40%;
}

/*cv area*/
.cv__mobile-navi {
  width: 94.666%;
  margin: 30px auto;
}
.btn_reservation__mobile-navi,
.btn_request__mobile-navi,
.btn_tel__mobile-navi {
  margin: 0 auto;
  display: block;
  width: 100%;
  position: relative;
  margin-bottom: 6px;
}
.btn_reservation__mobile-navi a,
.btn_request__mobile-navi a,
.btn_tel__mobile-navi a{
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  line-height: 3em;
  display: block;
  width: 100%;
  text-align: center;
  font-size: 15px;
}
.btn_reservation__mobile-navi a{
  background:url(/wp-content/themes/cocoon-child-master/img/common/bg_reservation_mobile-navi.jpg) no-repeat left bottom / contain;
}

.btn_reservation__mobile-navi a{
  background-color: var(--color-green01);
  border: 1px solid var(--color-green01);
}
.btn_request__mobile-navi a {
  background-color: var(--color-blue01);
  border: 1px solid var(--color-blue01);
}

.btn_reservation__mobile-navi a:after,
.btn_request__mobile-navi a:after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  background: url(/wp-content/themes/cocoon-child-master/img/top_ver202401/icon_arrow.png) no-repeat center center / contain;
  right: 0.75em;
  top: 40%;
}
.btn_request__mobile-navi a:before {
  position: absolute;
  content: "";
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  background: url(/wp-content/themes/cocoon-child-master/img/common/icon_requestw_cvBtn.png) no-repeat center center / contain;
  left: 0.75em;
  top: 28%;
}
.btn_tel__mobile-navi a img{
  width:80%;
  display:block;
  margin:20px auto;
  max-width:300px;
}
@media screen and (max-width: 1023px) and (min-width:768px) {
  .btn_reservation__mobile-navi a,
  .btn_request__mobile-navi a{
    font-size:18px;
  }
}
/*slidein 解除*/
.navi-menu-content,
#navi-menu-input:checked~#navi-menu-content{
  transition: inherit;
}
.mobile-menu-buttons>li{
  padding-top:0;
}

/*-------------------------------------------------------------
footer
-------------------------------------------------------------*/
/*menu footer_mobile
（mobile-footer-menu-buttons.php）
---------------------------------------------------*/
#menu-footer_mobile img{
  line-height:0;
  width:auto;
}
#menu-footer_mobile a{
  line-height:0;
  text-align:center;
}
#menu-footer_mobile li.reserve_navi-menu-button a{
  width: 100%;
  background-color:#33af37;
  background-color:var(--color-green01);
}
#menu-footer_mobile li.tel_navi-menu-button a{
  width: 100%;
  background-color:#ee6a12;
  background-color:var(--color-orange01);
}
@media screen and (max-width:480px){
  #menu-footer_mobile img{
    width:100%;
  }
}
@media screen and (min-width:481px){
  #menu-footer_mobile a{
    max-height:55px;
  }
  #menu-footer_mobile img{
    width:auto;
    max-height:55px;
    max-width:217px;
  }
}
/*modal footer.php
追従ナビの電話タップのみモーダル表示　240821追加
-------------------------*/
.modal-container{
  letter-spacing: 0.1em;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(0,0,0,50%);
  padding: 40px 20px;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
  box-sizing: border-box;
  z-index: 3;
}
.modal-container:before{
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}
.modal-container.active{
  opacity: 1;
  visibility: visible;
}
.modal-body{
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 600px;
  width: 90%;
}
.hd_modal01{
  background: #006699;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 8px;
  font-size: 15px;  
}
.modal-close{
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: -40px;
  right: -40px;
  width: 40px;
  height: 40px;
  font-size: 40px;
  color: #fff;
  cursor: pointer;
}
.modal-content{
  background: #fff;
  padding: 0 0 30px;
}
.num_tel__modal01{
  padding: 25px 30px 10px;
}
.num_tel__modal01 a{
  display: block;
}
.btn_tel__modal01 a{
  background-color: orange;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  text-decoration: none;
  display: block;
  text-align: center;
  padding: 8px;
  border-radius: 30px;
  width: 80%;
  max-width: 390px;
  margin: 0 auto 10px;
}
.link_mail__modal01 a{
  text-align: center;
  color: #333;
  font-size: 1em;
  cursor: pointer;
  text-decoration: underline;
}
/*footer::menu-----------------------------------------------*/
/*footer::mobile-menu----------------------------------------*/



/*footer::conversiton----------------------------------------*/
#content-bottom-in.wrap{
  width: 100%;
}

/*本番・テストで番号違う可能性あり*/
aside#custom_html-18{
  background-color:var(--color-blue01);
  color:#ffffff;
}
#content-bottom-in.wrap .textwidget{
  max-width: 1040px;
  width:94.666%;
  margin-right:auto;
  margin-left:auto;
}

@media screen and (max-width: 834px) { 
  #content-bottom-in.wrap .textwidget{
    width:94.666%;
    margin-right:auto;
    margin-left:auto;
  }
  #cvBox__footer{
    padding:30px 4px;
    text-align:center;
  }
  .ttl_cvBox__footer{
    font-size:23px;
    font-weight:bold;
  }
  .cv__cvBox-footer{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .btn_reservation__cvBox-footer,
  .btn_request__cvBox-footer{
    width:100%;
    position:relative;
    margin-bottom:15px;
  }
  .btn_reservation__cvBox-footer a,
  .btn_request__cvBox-footer a{
    display:block;
    width:100%;
    font-size:24px;
    text-decoration:none;
    position:relative;
    z-index:2;
    padding:20px 5px 25px;
      font-weight:bold;
      line-height:1.5;
  }
  .btn_tel__cvBox-footer a{
    display:block;
    width:100%;
    position:relative;
    z-index:2;
    transition: var(--transition);
  }
  .btn_reservation__cvBox-footer::after,
  .btn_request__cvBox-footer::after{
    height: 5px;
    display: block;
    width: 100%;
    content: '';
    background: #002a57;
    bottom: -5px;
    position: absolute;
    z-index: 0;
  }
  .btn_reservation__cvBox-footer a,
  .btn_request__cvBox-footer a{
    position:relative;
    transition: var(--transition);
  }

  .btn_reservation__cvBox-footer a{
    color:#ffffff;
    background:url(/wp-content/themes/cocoon-child-master/img/common/bg_reservation__cvBox.jpg) var(--color-green01) no-repeat bottom left / contain;
  }
  .btn_request__cvBox-footer a{
    color:var(--color-blue01);
    position:relative;
  }

  .btn_request__cvBox-footer a:before {
    position: absolute;
    content: "";
    display: inline-block;
    width: 1.75em;
    height: 1.75em;
    background: url(/wp-content/themes/cocoon-child-master/img/common/icon_requestb_cvBtn.png) no-repeat center center / contain;
    left: 0.75em;
    top: 28%;
  }
  .btn_reservation__cvBox-footer a:after,
  .btn_request__cvBox-footer a:after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    right: 0.75em;
    top: calc(50% - 8px);
    z-index:4;
  }
  .btn_reservation__cvBox-footer a:after{
    background: url(/wp-content/themes/cocoon-child-master/img/common/icon_arrow.png) no-repeat center center / contain;
  }
  .btn_request__cvBox-footer a:after {
    background: url(/wp-content/themes/cocoon-child-master/img/common/icon_arrow_o.png) no-repeat center center / contain;
  }
  .btn_reservation__cvBox-footer .copy_cvBtn,
  .btn_request__cvBox-footer .copy_cvBtn{
    display:block;
    font-size:12px;
  }
  .btn_request__cvBox-footer a{
    background-color:#ffffff;
    color:var(--color-blue01);
  }
  .btn_tel__cvBox-footer a{
    color: #fff;
    text-decoration: none;
    line-height: 1;
  }
  .btn_tel__cvBox-footer a img{
    max-height:40px;
  }
  .btn_tel__cvBox-footer a span{
    font-size:10px;
    display:block;
    width:100%;
  }
}
@media screen and (min-width: 835px) {
  #cvBox__footer{
    padding:60px 10px;
    text-align:center;
  }
  .ttl_cvBox__footer{
    font-size:32px;
    font-weight:bold;
  }
  .cv__cvBox-footer{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .btn_reservation__cvBox-footer,
  .btn_request__cvBox-footer{
    width:calc((100% / 12) * 6);
    padding:0 10px;
    max-width:413px;
    position:relative;
    margin-bottom:10px;
  }
  .btn_reservation__cvBox-footer a,
  .btn_request__cvBox-footer a{
    display:block;
    width:100%;
    font-size:24px;
    text-decoration:none;
    position:relative;
    z-index:2;
    padding:20px 5px 25px;
    font-weight:bold;
    line-height:1.5;
    transition: var(--transition);
  }
  .btn_tel__cvBox-footer a{
    display:block;
    width:100%;
    position:relative;
    z-index:2;
    
  }
  .btn_reservation__cvBox-footer::after,
  .btn_request__cvBox-footer::after{
    height: 5px;
    display: block;
    width: calc(100% - 20px);
    content: '';
    background: #002a57;
    bottom: -5px;
    position: absolute;
    z-index: 0;
  }
  .btn_reservation__cvBox-footer a,
  .btn_request__cvBox-footer a{
    position:relative;
    transition: var(--transition);
  }

  .btn_reservation__cvBox-footer a{
    color:#ffffff;
    background-color:var(--color-green01);
    background-image: url(/wp-content/themes/cocoon-child-master/img/common/bg_reservation__cvBox.jpg);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: cover;
    transition: var(--transition);
  }
  .btn_reservation__cvBox-footer a:hover{
    background-color: #279e2a;
    background-blend-mode: darken;
    color: #ffffff;
  }
  .btn_request__cvBox-footer a{
    color:var(--color-blue01);
    position:relative;
    transition: var(--transition);
  }

  .btn_request__cvBox-footer a:before {
    position: absolute;
    content: "";
    display: inline-block;
    width: 1.75em;
    height: 1.75em;
    background: url(/wp-content/themes/cocoon-child-master/img/common/icon_requestb_cvBtn.png) no-repeat center center / contain;
    left: 0.75em;
    top: 28%;
  }


  .btn_reservation__cvBox-footer a:after,
  .btn_request__cvBox-footer a:after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    right: 0.75em;
    top: calc(50% - 8px);
    z-index:4;
  }
  .btn_reservation__cvBox-footer a:after{
    background: url(/wp-content/themes/cocoon-child-master/img/common/icon_arrow.png) no-repeat center center / contain;
  }
  .btn_request__cvBox-footer a:after {
    background: url(/wp-content/themes/cocoon-child-master/img/common/icon_arrow_o.png) no-repeat center center / contain;
  }
  .btn_reservation__cvBox-footer a:after,
  .btn_request__cvBox-footer a:after {
    transition: var(--transition);
  }
  .btn_reservation__cvBox-footer a:hover:after,
  .btn_request__cvBox-footer a:hover:after{
    right: 0.5em;
  }

  .btn_reservation__cvBox-footer .copy_cvBtn,
  .btn_request__cvBox-footer .copy_cvBtn{
    display:block;
    font-size:12px;
  }
  .btn_request__cvBox-footer a{
    background-color:#ffffff;
    color:var(--color-blue01);
  }
  .btn_tel__cvBox-footer a{
    display: flex;
    flex-wrap: wrap;
    color: #fff;
    justify-content: center;
    align-items: center;
    text-decoration: none;
  }
  .btn_tel__cvBox-footer a img{
    max-height:40px;
  }
  .btn_tel__cvBox-footer a span{
    font-size:10px;
  }
}
/*footer sitemap
---------------------------------------------------*/
#content-bottom .logo-footer{
  margin:2em auto;
}
@media screen and (max-width: 834px) {
  #content-bottom .block_menu_footer{
    display:none;
  }
  #content-bottom .logo-footer a{
    max-width:160px;
    display:block;
    margin:0 auto;
  }
}
@media screen and (min-width: 835px) {
  #content-bottom .logo-footer a{
    max-width:160px;
    display:inline-block;
  }
  #content-bottom .block_menu_footer{
    margin:10px auto;
    font-size:13px;
  }
  #content-bottom .block_menu_footer a{
    text-decoration: none;
  }
  #content-bottom ul.menu_footer,
  #content-bottom ul.menu_footer_m{
    list-style:none;
    padding-left:0;
    margin-bottom: 1em;
  }
  #content-bottom .block_menu_footer .item_flex{
    width:20%;
    padding:0 15px;
  }
  #content-bottom .block_menu_footer .item_flex_w{
    width:40%;
    padding:0 15px;
  }
  #content-bottom .block_menu_footer .item_flex p{
    font-weight:bold;
    border-bottom: solid 1px #006699;
    margin-bottom: 0.5em;
  }
   #content-bottom ul.menu_footer_2column{
    display: flex;
    flex-wrap: wrap;
   }
  #content-bottom ul.menu_footer_2column li{
    width: 50%;
  }
  #content-bottom ul.menu_footer li{
    font-weight:bold;
    padding-right:1em;
  }
  #content-bottom ul.menu_footer li span{
    font-weight: normal;
    font-size: 12px;
    display: inline-block;
    padding: 0 0.5em 0 0;
    border-right: 1px solid #ccc;
    margin-right: 0.5em;
    line-height: 1;
  }
  #content-bottom ul.menu_footer_m li{
    font-size:12px;
    font-weight:normal;
  }
}
@media screen and (min-width: 835px) {
  .footer-bottom{margin-top:0;padding:0;}
  #footer-in{
    max-width:1040px;
    width:97.33333%;
    margin:0px auto 40px;
  }
  .footer-bottom-content{
    font-size:12px;
    color:#333333;
    padding-left:10px;
    padding-right:10px;
  }
}
/*footer link company information
---------------------------------------------------*/
@media screen and (max-width: 834px) {
  .footer{
    margin:0 auto 70px;
    padding:0;
  }
  .navi-footer-in>.menu-footer li.menu-item{
    width:auto !important;
    flex:inherit;
    padding:0 0.5em;
  }
  #menu-footer_menu a{font-size:12px;}
  #footer-in .copyright{font-size:12px;}
}
@media screen and (min-width: 835px) {
  .footer{
    margin:0;
    padding:0;
  }

  #menu-footer_menu li{line-height:1;}
  .navi-footer-in a{
    font-size: 12px;
    padding: 0 0.5em !important;
    color:var(--color-blue01);
    font-weight:bold;
  }
  #menu-footer_menu li:first-child{border-left:none;}
  #menu-footer_menu li:last-child{border-right:none;}
  #menu-footer_menu li:first-child a{padding-left:0;}
  #menu-footer_menu li a:hover{background-color:#ffffff;}
}
/*-------------------------------------------------------------------------------
common part
-------------------------------------------------------------------------------*/
/*block_page-top / main-before.php
---------------------------------------------------*/
.block_page-top{
  width: 100%;
  text-align: center;
  font-weight: bold;
  color: #fff;
  background: #069;
  margin-bottom: 10px;
  padding: 8px 0.5em;
}
.block_page-top h1{
 font-size: 1em;
}
@media screen and (min-width: 768px) {
  .block_page-top{
    font-size: 26px;
  }
}
@media screen and (max-width: 767px) {
  .block_page-top{
    font-size: 20px;
  }
}
/*breadcrumbs / main-before.php
---------------------------------------------------*/
.breadcrumbs{
  font-size: 12px;
}
.breadcrumbs a{
  text-decoration: none;
}
.arrow_breadcrumb {
  border-top: solid 1px #555;
  border-right: solid 1px #555;
  width: 0.6em;
  height: 0.6em;
  transform: rotate(45deg);
  display: inline-block;
  margin: 0 0.4em 0.3em;
  vertical-align: middle;
}
/*parts::ボタン(btn_more/btn_back)
---------------------------------------------------*/
.btn_more,
.btn_back{
  margin:0 auto;
  display:block;
  width:100%;
}
.btn_more a,
.btn_back a{
  text-decoration:none !important;
  color:#fff;
  font-weight:bold;
  font-size:16px;
  line-height:3em;
  background-color:var(--color-blue01);
  border:1px solid var(--color-blue01);
  display:block;
  width:100%;
  text-align:center;
  position:relative;
  transition: var(--transition);
}
.btn_more a:after,
.btn_back a:after{
  position:absolute;
  content: "";
  display:inline-block;
  transition: var(--transition);
  width:0.75em;/*仮*/
  height:0.75em;/*仮*/
}
.btn_more a:after{
  background:url(/wp-content/themes/cocoon-child-master/img/common/icon_arrow.png) no-repeat center center / contain;
  right:0.75em;/*仮*/
  top:40%;/*仮*/
}
.btn_back a:after{
  background:url(/wp-content/themes/cocoon-child-master/img/common/icon_arrow_left.png) no-repeat center center / contain;
  left:0.75em;/*仮*/
  top:40%;/*仮*/
}

@media screen and (min-width:768px){
  .btn_more,
  .btn_back{
    max-width:326px;
  }
  .btn_fit{
    max-width:inherit;
  }
  .btn_more a,
  .btn_back a{
    font-size:16px;
  }
  .btn_more a:hover,
  .btn_back a:hover{
    color:var(--color-blue01);
    background-color:#fff;
  }
  .btn_more a:hover:after{
    background:url(/wp-content/themes/cocoon-child-master/img/common/icon_arrow_o.png) no-repeat center center / contain;
    right:0.5em;/*仮*/
  }
  .btn_back a:hover:after{
    background:url(/wp-content/themes/cocoon-child-master/img/common/icon_arrow_left_o.png) no-repeat center center / contain;
    right:0.5em;/*仮*/
  }
  .btn_pagebBottom{
    margin-bottom:60px !important;
  }
}
@media screen and (max-width:767px){
  .btn_more,
  .btn_back{
    max-width:230px;
  }
  .btn_more a,
  .btn_back a{
    font-size:15px;
  }
  .btn_pagebBottom{
    margin-bottom:30px !important;
  }
  .btn_fit{
    max-width:90%;
  }
}
/*memo btn_fitは基本moreかbackと併用*/
.btn_fit{
  width:fit-content;
}
.btn_fit a{
  padding:0 48px;
}
/*parts::ボタン(btn_more_txt)
---------------------------------------------------*/
.btn_more_txt{
  display:block;
  width:100%;
  margin-right:auto;
  margin-left:auto;
}
.btn_more_txt a,
.btn_more_txt span{
  position:relative;
  display:block;
  width:100%;
  color:#0a0a0a;
  font-size:12px;
  font-weight:bold;
  text-decoration:none !important;
  border-bottom:solid 1px #0a0a0a;
  padding-bottom:20px;
  line-height: 1;
}
.btn_more_txt a:after,
.btn_more_txt span:after{
  position:absolute;
  background:url(/wp-content/themes/cocoon-child-master/img/top_ver202401/icon2_arrow.png) no-repeat center center / contain;
  content: "";
  display:inline-block;
  transition: var(--transition);
  width:0.75em;
  height:0.75em;
  right:0.5em;
  top:0;
}

@media screen and (max-width: 767px) {
  .btn_more_txt a,
  .btn_more_txt span{
    padding-bottom:10px;
  } 
}
@media screen and (min-width: 768px) {
  .btn_more_txt a:hover:after,
  .btn_more_txt span:hover:after{
    right:0;
  }  
}

/**/
.entry-content a {
  text-decoration: underline;
}
a img {
  opacity: 1;
}
a:hover{
  color:var(--color-blue01);
}
a.entry-card-wrap{
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  a img {transition: 1.0s;}
  a:hover img {opacity: 0.75;}
}

/*element---------------------------------------------------*/
.archive-title{
  text-align:center; 
  line-height:1.4;
}
.archive-title::after{
  content:'';
  position:relative;
  display:block;
  height:2px;
  background-color:var(--color-blue01);
  margin: 10px auto 0;
  width: 4em;
}
/*block-----------------------------------------------------*/
.inner{}
.wrp_flex{}
/*============================================================
top
============================================================*/
/*shop area:: top,shop 
------------------------------------------------------------*/
  #shopArea{}
  #shopArea .inner{
    display: flex;
    flex-wrap: wrap;
  }
  .block_shopArea{
    margin-bottom:40px;
  }
  .map_shopArea{
    width:100%;
    line-height:0;
    margin-bottom:24px;
  }
  .map_shopArea img{
    width:100%;
  }
  .block_shopArea h3{
    color:var(--color-blue01);
    text-align: center;
    margin-bottom:15px;
  }
  .infoBox_shopArea{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
  }
    .pref_shopArea a{
      background-color: var(--color-blue01);
      color: #fff;
      font-size: 12px;
      font-weight: bold;
      line-height: 2.2em;
      width: 4em;
      text-align: center;
      margin-right: 10px !important;
      text-decoration: none;
      transition: none;
      display: inline-block;
    }
    .shop_shopArea{
      width:calc(100% - 4em - 10px);
    }
    a.link_shopArea{
      font-size: 14px;
      font-weight: bold;
      line-height:1.8em;
      text-align: left;
      padding-right: 3em;
      border-bottom: 1px solid var(--color-blue01);
      margin-right: 1em;
      display: inline-block;
      text-decoration:none;
      position:relative;
    }
    a.link_shopArea:after{
      position:absolute;
      content: "";
      display:inline-block;
      transition: var(--transition);
      width:0.5em;/*仮*/
      height:0.9em;
      right:0.2em;/*仮*/
      top:25%;/*仮*/
      background:url(/wp-content/themes/cocoon-child-master/img/top_ver202401/icon_arrow_o.png) no-repeat center center / contain;
    }

    .detail_shopArea{
      font-size:12px;
      margin-bottom:10px;
    }
    .subheading{
      font-weight:bold;
      display: block;
      width: 100%;
    }
    .cities_shopArea{
      color:var(--color-gray01);
    }
    .info_shopArea.last_child{
      margin-bottom:40px;
    }
@media screen and (max-width:767px){
  .block_shopArea{
    width:100%;
  }
}
@media screen and (max-width:480px){
  a.link_shopArea.long{
    margin-right: 0em;
    padding-right: 2.5em;
  }
}
@media screen and (min-width:768px){
  .block_shopArea{
    width: var(--wide-colum-6-12);
    padding-left:10px;
    padding-right:10px;
  }
  a.link_shopArea:hover:after{
    background:url(/wp-content/themes/cocoon-child-master/img/top_ver202401/icon_arrow_o.png) no-repeat center center / contain;
    right:0em;
  }
}


/*shop category*/
#shop_west{
  margin-bottom:30px;
}
@media screen and (min-width:768px){
  #shop_west{
    margin-bottom:60px;
  }
  #shop_west .map_shopArea,
  #shop_east .map_shopArea{
    width:calc((100% / 12) * 6 );
    padding-left:10px;
    padding-right:10px;
  }
  #shop_west .wrp_info_shopArea,
  #shop_east .wrp_info_shopArea{
    width:calc((100% / 12) * 6 );
    padding-left:10px;
    padding-right:10px;
  }
}

/*============================================================
archive
============================================================*/
/*common----------------------------------------------------*/
/*list*/
@media screen and (max-width: 767px) {
  #list{
    margin-bottom:20px;
  }
  body.post-type-archive-report #list{
    width:100%;
  }
}
@media screen and (min-width: 768px) {
  #list{
    margin-bottom:40px;
  }
}
#list{
  max-width:1040px;
  width:97.33333%;
  width:94.6666%;
  margin-left:auto;
  margin-right:auto;
  column-gap: inherit;
}
@media screen and (min-width: 768px) {
  #list{
    flex-direction: row;
  }
  #list.ect-entry-card  a.entry-card-wrap{
    width: var(--wide-colum-3-12);
    padding:0 10px;
  }
  #list.ect-entry-card{
    display:flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: row;
  }
}
body.post-type-archive-point_case #list{
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
}

/*anchor link / category link list
--------------------------------------*/
/*base-----------------*/
.link_cat-list{
  display:flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin:20px auto;
}
.link_cat-list a{
  position:relative;
  display: block;
  height: 100%;
  transition: var(--transition);
  margin: 5px;
  line-height: 3em;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}
@media screen and (max-width:767px){
  .link_cat-list a{
    font-size:13px;
  }
}
@media screen and (min-width: 768px) {
  .link_cat-list a{
    font-size:14px;
  }
}

/*column category*/
.link_cat-list__column{}
.link_cat-list__column a{
  color:#ffffff;
  background-color:#006699;
  border:1px solid #006699;
  padding:0 1.5em;
  border-radius: 4px;
}
.link_cat-list__column a.current{
  color:#006699;
  background-color:#ffffff;
}
@media screen and (min-width: 768px) {
  .link_cat-list__column a:hover{
    color:#ffffff;
    background-color:#006699;
  }
}

/*shop category*/
.link_cat-list__shop{}

.link_cat-list__shop a{
  color:#ffffff;
  padding:0 1.5em;
}

.link_cat-list__shop a.osaka{
background-color:#2fb568;
border:1px solid #2fb568;
}
.link_cat-list__shop a.hyogo{
background-color:#2fa8b5;
border:1px solid #2fa8b5;
}
.link_cat-list__shop a.nara{
background-color:#9aa931;
border:1px solid #9aa931;
}
.link_cat-list__shop a.kanagawa{
background-color:#d26e00;
border:1px solid #d26e00;
}
.link_cat-list__shop a.tokyo{
background-color:#ca3b00;
border:1px solid #ca3b00;
}


.link_cat-list__shop a.current{
  background-color:#ffffff;
}
.link_cat-list__shop a.osaka.current{color:#2fb568;}
.link_cat-list__shop a.hyogo.current{color:#2fa8b5;}
.link_cat-list__shop a.nara.current{color:#9aa931;}
.link_cat-list__shop a.kanagawa.current{color:#d26e00;}
.link_cat-list__shop a.tokyo.current{color:#ca3b00;}


@media screen and (min-width: 768px) {
  .link_cat-list__shop a:hover{
    background-color:#ffffff;
  }
  .link_cat-list__shop a.osaka:hover{color:#2fb568;}
  .link_cat-list__shop a.hyogo:hover{color:#2fa8b5;}
  .link_cat-list__shop a.nara:hover{color:#9aa931;}
  .link_cat-list__shop a.kanagawa:hover{color:#d26e00;}
  .link_cat-list__shop a.tokyo:hover{color:#ca3b00;}
}



/*point_case category*/
.link_cat-list__case a{
  color:#ffffff;
  min-width: 60px;
}
.link_cat-list__case a:after{
  position: absolute;
  content: "";
  display: inline-block;
  transition: var(--transition);
  width: 0.5em;
  height: 1em;
  background: url(/wp-content/themes/cocoon-child-master/img/top_ver202401/icon_arrow.png) no-repeat center center / contain;
  top: 1em;
}

.link_cat-list__case .cat-living{background-color:#cc6666;}
.link_cat-list__case .cat-dining{background-color:#d5914e;}
.link_cat-list__case .cat-bath{background-color:#c4c45a;}
.link_cat-list__case .cat-japaneseroom{background-color:#8dc45a;}
.link_cat-list__case .cat-kitchen{background-color:#48b78f;}
.link_cat-list__case .cat-toilet{background-color:#33b1cc;}
.link_cat-list__case .cat-washroom{background-color:#6691cc;}
.link_cat-list__case .cat-entrance{background-color:#8787cc;}
.link_cat-list__case .cat-room{background-color:#b787d0;}
.link_cat-list__case .cat-storage{background-color:#cccccc;}


@media screen and (max-width: 767px) {
  .link_cat-list__case a{
    width: calc((100% - (10px * 4)) / 4);
    max-width: 172px;
    margin-bottom:12px;
    padding:0 4px;
  }
  .link_cat-list__case a:after{
    right: 0.25em;
  }
}

@media screen and (min-width: 768px) {
  .link_cat-list__case a{
    width: calc((100% - (10px * 5)) / 5);
    max-width: 172px;
  }
  .link_cat-list__case a:after{
    right: 0.5em;
  }
  .link_cat-list__case a:hover:after{
    right: 0.25em;
  }
}

@media screen and (min-width: 1020px) {
  .link_cat-list__case a{
    width: calc((100% - (10px * 10)) / 10);
  }
}








/*point case*/
@media screen and (max-width: 767px) {
  #list{
    align-items: flex-start;
    justify-content: space-between;
  }
}

/*entry-card*/
.a-wrap{
  padding:0;
  margin-bottom:20px;
  text-decoration:none;
}
/*entry-card:thumb--------------------*/
.entry-card-thumb{
  margin  :0;
  line-height: 0;
}
.entry-card-thumb{
  position:relative;
  padding-top:61.15% !important;
}
.entry-card-thumb img{
  position:absolute;
  top:0;
  left: 0;
}
/*entry-card:contents--------------------*/

.entry-card-content{
  margin-left:0;
  padding-bottom:0;
}
.entry-card-wrap h2.entry-card-title{
  font-size: 14px;
  line-height:1.4em;
}

/*tag date*/
.infotop-card-content{
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.entry-card-content .cat-label{
  min-width:60px;
  text-align:center;
  font-weight:normal;
  line-height:2;
  display:block;
  padding-left:8px;
  padding-right:8px;
}
.cat-label{
  position:relative;
  top: 0;
  left: 0;
  border:none;
  line-height:1.4em;
}
.post-update{
  margin-right:0 !important;
  margin-left:0px;
  line-height:2em;
}
/*tag date*/
.entry-card-wrap .entry-card-title{
  margin:10px auto 20px;
}
.entry-date{
  color:var(--color-gray01);
  font-weight:normal;
}
/*post information*/
.table_postInfo{}
.info_post {
  font-size: 10px;
  border-bottom: 1px dotted #ccc;
  padding:4px 0;
  display: flex;
}
.cat_infoPost,
.contents_infoPost{
  vertical-align: top;
}
.feature_box{
  padding-bottom:20px;
}

/*sidebar*/
.table_postInfo_sidebar{
  padding:0 4px 20px;
}
.table_postInfo_sidebar .info_post{
  font-size: 13px;
}
.info_post.loginUser{
  background-color:#333;
  color:#fff;
}
.cat_infoPost {
  width: 6em;
  display: inline-block;
  font-weight: bold;
}
.contents_infoPost{
  width: calc(100% - 6em);
  display: inline-block;
}
@media screen and (min-width: 415px) {
  .infotop-card-content{
    margin:16px auto 10px;
  }
  .entry-card-content .cat-label{
    font-size:10px;
  }
}
@media screen and (max-width: 414px) {
  .infotop-card-content{
    margin:10px auto;
  }
  .entry-card-content .cat-label{
    font-size:11px;
  }
}
.entry-card-snippet{
  color: var(--color-gray01);
  font-size: 12px;
}
/*colum blog*/
@media screen and (max-width: 767px) {
  .post_defalut .entry-card-thumb{
    position: relative;
    padding-top: 21.15%!important;
    width: calc((100% / 12) * 4);
  }
   .post_award .entry-card-thumb{
    position: relative;
    padding-top: 21.15%!important;
    width: 50%;
  }
  .post_defalut .entry-card-content,
  .post_award .entry-card-content{
    width: calc((100% / 12) * 8);
    padding: 0 10px;
  }
  .post_defalut .entry-card-content .infotop-card-content{
    margin-top:0;
  }
  .post_report{
    width:100%;
  }
  .post_report .entry-card-content{
    padding:10px 8px;
  }
}
@media screen and (min-width: 768px) {
  .post_defalut .entry-card-thumb,
  .post_award .entry-card-thumb{
    position: relative;
    padding-top: 61.15%!important;
    width: 100%;
  }
}

/*pager
---------------------------------------------------*/
.pagination-next{
  max-width:326px;
  margin-left:auto;
  margin-right: auto;
}
.pagination-next a{
  border:1px solid var(--color-blue01);
  background-color:var(--color-blue01);
  color:#ffffff;
  position:relative;
  font-weight: bold;
}
.pagination-next a:after{
  position: absolute;
  content: "";
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  right: 0.75em;
  top: calc(50% - 8px);
  z-index: 4;
  background: url(/wp-content/themes/cocoon-child-master/img/common/icon_arrow.png) no-repeat center center / contain; 
}

@media screen and (min-width: 768px) {
.pagination-next a,
.pagination-next a:after{
  transition: var(--transition);
}
.pagination-next a:hover{
  background-color:#ffffff;
  color:var(--color-blue01);
}
.pagination-next a:hover:after{
  right: 0.5em;
  background: url(/wp-content/themes/cocoon-child-master/img/common/icon_arrow_o.png) no-repeat center center / contain; 
}
}
/*custom post type:pointcase*/

/*custom post type:renovation*/

/*post:column*/

/*post:blog*/
/*post:voice*/
/*post:award*/

/*============================================================
single
============================================================*/
/*common----------------------------------------------------*/

/*custom post type:pointcase*/

/*custom post type:renovation*/

/*post:column*/
/*post:blog*/
/*post:voice*/
/*post:award*/

/**/
/*============================================================
page
============================================================*/

/*archive::point case*/
.tag-page-content{
  max-width: 1040px;
  width: 94.6666%;
  margin-left: auto;
  margin-right: auto;
}

/*archive::point case
-------------------------------*/
/*tag cloud*/
h3.ttl_tag_cloud{
  text-align: center;
  font-size: 14px;
}
a.tag-cloud-link{
  padding: 5px;
  border: 1px solid #ccc;
  text-decoration: none;
  color: #333;
  margin: 3px;
  display: inline-block;
  line-height: 1.5;
  border-radius: 3px;
  background-color: #fff;
}
a.tag-cloud-link:hover{
  background-color: #eee;

}
.inner.tag_cloud{
  padding: 40px 20px;
  background: #f9f9f9;    
}


/*.list_report article .entry-card-thumb{
  width: 100%;
  margin-bottom: 0 !important;
}

.list-renovation,
.list_case{
    flex-direction: column;
  max-width: 1040px;
  margin: 0 auto 80px;
}
.table_caseInfo{
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .list-renovation .entry-card-thumb{
  width: calc((100% / 12) * 4) !important;
  padding: 0 10px 20px !important;
  }
}
@media screen and (max-width: 767px) {
  .list-renovation .entry-card-thumb{
    width: 100%;
  }
}*/

@media screen and (max-width: 1082px) {
    .list-renovation .entry-card-thumb {
        width: 100% !important;
    }
}