/************************** common ***************/
body {
    font-family: "Noto Sans JP","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","メイリオ", "Meiryo", sans-serif;
}
.min {
  font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝L", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
img { max-width: 100%;}
/** 20220802 kikuchi 画像のサイズ・一覧ズレ修正 No.440 **/
.content_area img{
	height: auto !important;
}
.txt_area p{
	word-wrap: break-word;
	word-break: break-all;
}

ul {margin: 0; padding: 0;}
li {list-style: none;}
button,a {transition: .5s;text-decoration: none !important;color: inherit;}
a:focus, *:focus { outline:none;text-decoration: none;}
p,li{font-size: 16px;}
p,h2,h3{
    color: #333;
}
/** font-size **/
.font3S {
    font-size: 10px;
}
.fontSS {
    font-size: 11px;
}
.fontS {
    font-size: 12px;
}
.fontDefault,
,.blog_area .content_area {
    font-size: 16px;
    line-height: 30px;
}
.fontL {
    font-size: 18px;
    line-height: 34px;
}
.fontLL {
    font-size: 26px;
    line-height: 38px;
}
label.fontDefault,
.btn_style.fontDefault {
    line-height: inherit;
}


/** border **/
.gray_border {
    border: 1px solid #EDEDED;
}
.gray_border_b {
    border-bottom: 1px solid #F2F2F2;
}
.gray_border5 {
    border-bottom: 5px solid #F2F2F2;
}
/** bg **/
.gray_bg {
    background-color: #F2F2F2;
}
.gray_bg2 {
    background-color: #DBDBDB;
}
.gray_bg3 {
    background-color: #F5F5F5;
}
.black_bg {
    background-color: #333;
}
.red_bg {
    background-color: #E86A6A;
}
.yellow_bg {
    background-color: #FFF8DE;
}
.white_bg {
    background-color: #FFFFFF !important;
}
.shadow {
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
    overflow: hidden;
}
/** ttl **/
.h2_ttl {
    position: relative;
    margin-bottom: 40px;
}
.h2_ttl::after{
    position: absolute;
    content: "";
    width: 30px;
    height: 1px;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
/** btn **/
.btn_style  {
    width: 350px;
    margin: auto;
}
.btn_style_s  {
    width: 150px;
	margin: 0px 0px 0px 20px;
}
.btn_style a,
.btn_style button {
    display: block;
    padding: 18px;
    text-align: center;
	width: 100%;
	border: none;
}
.btn_style_s a {
    padding: 5px;
}

.btn_style.check a,
.btn_style.check button {
    background: #FF8D2C;
    color: #fff !important;
}
.btn_style.prev a,
.btn_style.prev button {
    background: #DBDBDB;
    color: #333333;
}
.btn_style.delete a,
.btn_style.delete button {
    background: #DE3D3D;
    color: #fff;
}
.btn_style.color_pt a,
.btn_style.color_pt button {
    color: #fff;
}
.btn_style.color_pt2 a,
.btn_style.color_pt2 button {
    color: #333333;
}
.btn_beside {
    display: flex;
    justify-content: center;
    width: 730px;
margin-right: auto;
margin-left: auto;
}
.btn_beside .btn_style:first-child{
    margin-right: 10px;
}
.btn_sub a,
.btn_sub button {
    display: table;
    text-align: center;
    padding: 10px 20px;
    margin-right: auto;
    margin-left: auto;
    line-height: initial;
    border: none;
}
.btn_sub.check a,
.btn_sub.check button {
        background: #FF8D2C;
    color: #fff;
}
.btn_sub.cancel a,
.btn_sub.cancel button {
        background: #555555;
    color: #fff;
}
.btn_sub.canceled a,
.btn_sub.canceled button{
        background: #F2F2F2;
    color: #B7B7B7;
    pointer-events: none;
}
.btn_sub.delete a,
.btn_sub.delete button {
    background: #DE3D3D;
    color: #fff;
}

button {
	cursor: pointer;
}

/** color **/
.gray_fc {
    color: #707070;
}
.gray_fc2 {
    color: #9A9A9A;
}
.red_fc {
    color: #FF0000;
}
.error_txt {
    color: #DE3D3D;
}

/** txt **/
ul.indent li.fontDefault {
    text-indent: -16px; 
    padding-left: 16px;
}
/** fadein **/
.fadein {
  opacity: 0;
  visibility: hidden;
  transition: 1s;
  transform: translateY(30px);
}
.fadein.active {
opacity: 1;
visibility: visible;
transform: translateY(0);
}

/** モーダル **/ 
.modaal-container {
    border-radius: 10px;
}
.modaal-container,
.modaal-content ,
.modaal-content-container {
    overflow: hidden;
}
.modaal-content-container {
    padding: 0;
}
.modaal-close {
    position: absolute;
    top: 5px;
}
.modaal-close:after,
.modaal-close:before {
    background: #333333;
    width: 1.5px;
    height: 25px;
}
.modaal-close:focus:after, .modaal-close:focus:before, .modaal-close:hover:after, .modaal-close:hover:before {
    background: #333333;
}
.modaal-close:focus, .modaal-close:hover {
    background: none;
}
/********** 検索フォーム ******/
.search_form p {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: solid 1px rgba(0, 0, 0, 0.12);
}
.search_form .innerbox input {
    
border: 1px solid #C3C3C3;
    width: 400px;
border-radius: 5px;
padding: 10px;
    margin-bottom: 20px;
}
.search_form .innerbox button {
    display: block;
    width: 200px;
    padding: 10px;
    border: 1px solid #333;
    background: #333;
    color: #fff;
    cursor: pointer;
    margin: auto;
border-radius: 50px;
}
/** header **/
.mv_area .logo_area{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
}
.mv_area .logo_area .notification_icon.active_icon a{
    position: relative;
    display: inline-block;
}
.mv_area .logo_area .notification_icon.active_icon_on a::after {
    content: url("/common/img/icon_data_active.svg");
    position: absolute;
    right: 1px;
    top: -8px;
}
.mv_area .logo_area .h_logo {
	max-width: 300px;
	margin-left:10px;
}
.mv_area .logo_area .h_logo img {
    width: 100%;
}

/** nav_area **/
.fix_area {
    position: fixed;
    top: 0;
    z-index: 999;
    width: 100%;
    display: flex;
justify-content: space-between;
    transition: all .5s;
}
.fix_area.change-color {
    background-color: #fff;
}
.logo {
    height: 90px;
    display: flex;
    justify-content: center;
    align-items: center;
}
 .nav_area {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
     background-color: #fff;
    padding-top: 60px;
     padding-bottom: 60px;
    visibility: hidden;
    opacity: 0;
    transition: 0.5s;
     z-index: 99;
  }
 .nav_area .acMenu .acBtn{
    cursor: pointer;
  }
 .nav_area .gray_border5 { 
     padding-top: 20px;
  }
 .nav_area .gray_border5 a{ 
     display: inline-block;
     width: 125px;
     margin-bottom: 20px;
  }

    .nav_area .gray_border5 a img{
        margin-bottom: 5px;
    }
.nav_area .alert_message div{
    position: relative;
    display: inline-block;
}
.nav_area .alert_message div .num{
   position: absolute;
    right: -3px;
top: -1px;
background: #FF0000;
border: 1.5px solid #fff;
border-radius: 50%;
width: 20px;
height: 20px;
color: #fff;
}
.nav_area .alert_news div{
    position: relative;
    display: inline-block;
}
.nav_area .alert_news div::after {
    content: "";
    background-image: url(/common/img/icon_data_active.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 12px;
height: 12px;
position: absolute;
right: 6px;
top: 9px;
}
  /* ナビゲーションボタン（閉じる） */
  .open .navbtn_area {
       position: fixed;
       top: 20px;
       right: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .open .navbtn_area #navbtn {
    padding: 0;
    outline: none;
    border: none;
    background: none;
    width: 25px;
    height: 20px;
    cursor: pointer;
    z-index: 999;
  }
  .open .navbtn_area #navbtn::before, 
.open .navbtn_area #navbtn::after {
    content: '';
    display: block;
    height: 1px;
    background-color: #333;
    box-shadow: none;
  }
  .open .navbtn_area #navbtn::before {
    transform: rotate(-45deg);
  }
  .open .navbtn_area #navbtn::after {
    transform: rotate(45deg);
  }
  /* ナビゲーションメニュー 開いた時*/
  .open .nav_area {
    visibility: visible;
    opacity: 1;
      position: fixed;
      overflow: scroll;
      z-index: 900;
      transition: all .5s ease-in-out;
  }

/** footer **/
footer .black_bg {
    padding: 20px;
}
footer .copy {
    font-size: 10px;
}
/* フッター追従ボタン */
.fixed_area{
    position: fixed;
    bottom: 5px;
    right: 20px;
    display: flex;
    z-index: 99;
}


/** 記事サムネ **/
.article_area .article_box {
    height: 170px;
    display: flex;
    border: 1px solid #EDEDED;
    margin-bottom: 20px;
}
.article_area .article_box:last-child{
    margin-bottom: 0;
}
.article_area .article_box .pic_area{
    box-sizing: border-box;
    position: relative;
    height: 100%;
    width: 25%;
    overflow: hidden;
}
.article_area .article_box .pic_area img{
    position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: auto;
	height: 100%;
    max-width: inherit;
}

.article_area .article_box .txt_area{
    width: 75%;
    padding: 20px;
    position: relative;
}
.article_area .article_box .txt_area .btm_area{
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 100%;
}

    .article_area .article_box .txt_area .font-weight-bold{
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
line-height: 1.5em;
max-height: 4.5em;
    }
.txt_area .category_t{ 
    background-color: #333333;
    color: #fff;
    padding: 0 15px;
    border-radius: 5px;
}
.txt_area .category_t.sumai{
    background-color: #297ABE;
}
.txt_area .category_t.kurashi{
    background-color: #DD6D1B;
}
.txt_area .category_t.famiry{
    background-color: #FF9898;
}
.txt_area .category_t.money{
    background-color: #FBC600;
}
.txt_area .category_t.cyoitech{
    background-color: #6AA26E;
}
.txt_area .category_t.notification{
    background-color: #A381EA;
}
.txt_area .category_t.enquete{
    background-color: #72CECE;
}

/** お知らせエリア **/
.news_area .news_link{
    border-radius: 200px;
    padding: 20px 20px 20px 80px;
    display: block;
    position: relative;
    margin-bottom: 20px;
}
.news_area .news_link:last-child{
    margin-bottom: 0px;
}
.news_area .news_link::before{
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    z-index: 10;
    left: 25px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.news_area .news_link::after{
    content: "";
    position: absolute;
    width: 10px;
height: 10px;
margin: 0 10px;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
    left: 19px;
    top: 50%;
    z-index: 99;
    transform: rotate(45deg) translateY(-50%);
-webkit-transform: rotate(45deg) translateY(-50%);
-ms-transform: rotate(45deg) translateY(-50%);
}
.news_area .news_link ul{
    display: flex;
    align-items: center;
}
.news_area .news_link ul li:first-child{
    width: 17%;
}
.news_area .news_link ul li:nth-child(2){
    width: 22%;
    border-right:1px solid #707070;
    padding-right: 15px;
}
.news_area .news_link ul li:nth-child(3){
    width: 61%;
    padding-left: 15px;
}

.search_btn{
}


@media (min-width: 991px) {
    button:hover,a:hover {text-decoration: none; opacity: 0.5; color: inherit;}
    /** border **/
.gray_border5.pc_none {
    border-bottom: none;
}
}
@media (max-width: 992px) {
	/** No.137 **/
	.mv_area .logo_area .h_logo {
		margin-left:0px;
	}
    button:hover,a:hover{text-decoration: none;color: inherit;}
    p,li,.spfs{font-size: 12px;}
    
	/** ラジオボタン・チェックボックスとテキストの並びを揃える **/
	input[type="radio"], input[type="checkbox"] {
		vertical-align: middle;
	}
    /** font-size **/
.fontS {
    font-size: 11px;
}
.fontS.sp12 {
    font-size: 12px;
}
.fontDefault,
,.blog_area .content_area {
    font-size: 12px;
    line-height: 22px;
}
.fontL {
    font-size: 13px;
    line-height: 24px;
}
.fontLL {
    font-size: 22px;
    line-height: 36px;
}
    .fontL.sp_ttl,
    h2.fontL,
    .blog_area h2  {
        font-size: 16px;
    }
    /** btn **/
.btn_style  {
    max-width: 350px;
    width: 100%;
}
.btn_style_s  {
    width: 150px;
	margin: 0px 0px 0px 20px;
}
.btn_style.fontDefault{ 
    font-size: 13px;
}
    .btn_beside {
    width: 100%;
}
    /** ttl **/
/** No.128 **/
.h2_ttl { 
    color: #333;
    margin-bottom: 20px;
}
    .h2_ttl::after {
        content: inherit;
    }
    
.list_ttl img{
    width: 42px;
    height: 42px;
}
    /** txt **/
ul.indent li.fontDefault {
    text-indent: -12px; 
    padding-left: 12px;
}
    /** header **/
    .mv_area .logo_area {
        padding: 15px 0;
    }
.mv_area .logo_area .right_icon{
    display: flex;
/*
    align-items: center;
*/
}

#navbtn_etc img{
	margin-top: 5px;
}

.mv_area .logo_area .notification_icon{
    padding-right: 25px;
    position: relative;
}
.mv_area .logo_area .notification_icon::before{
    content: "";
          position: absolute;
          width: 40px; 
          height: 40px;
    left: -11px;
top: -9px;
border-radius: 50%;
z-index: 0;
}
   .mv_area .logo_area .notification_icon img{
       width: 18px;
       height: auto;
} 
    .mv_area .logo_area .notification_icon.active_icon_on a::after {
        right: -2px;
top: -3px;
    }
.mv_area .logo_area .h_logo {
    max-width: 180px;
}
    
    /** nav_area **/
      .btn_area {
          position: relative;
  }
      .btn_area::after{
          content: "";
          position: absolute;
          width: 40px; 
          height: 40px;
          left: -9px;
top: -4px;
border-radius: 50%;
z-index: -1;
  }
    .navbtn_area #navbtn {
        width: 22px;
        height: 32px;
    }
    .navbtn_area #navbtn::before{
        transform: translateY(-7px);
box-shadow: 0 6px #fff;
    }
    .navbtn_area #navbtn::after{
        transform: translateY(4px);
    }
    .nav_area .gray_border5 a {
        width: 24%;
        vertical-align: text-top;
    }
    .nav_area .gray_border5 a p{
        font-size: 11px;
    }
      /* ナビゲーションボタン（開く） */
   .btn_area {
       position: relative;
       z-index: 1;
  }
   .btn_area img{
       vertical-align: baseline;
  }
   .btn_area::after{
           content: "";
          position: absolute;
          width: 40px; 
          height: 40px;
    left: -9px;
       top: -8px;
border-radius: 50%;
z-index: -1;
}
       
      /* ナビゲーションボタン（閉じる） */
  .open .navbtn_area {
      display: block;
       position: fixed;
      top: 15px;
      right: 15px;
  }
    .open .navbtn_area::after {
        content: inherit;
    }
        /********** 検索フォーム ******/
    .search_form .innerbox input {
    width: 90%;
}
    /** 記事サムネ **/
    .article_area .article_box {
        height: 77px;
        margin-bottom: 10px;
    }
    .article_area .article_box .txt_area {
        padding: 8px;
        width: 80%;
    }
    .article_area .article_box .txt_area .btm_area {
        bottom: 5px;
        padding: 0 10px;
    }
    /** お知らせエリア **/
    .news_area .news_link{
        padding: 15px 15px 15px 65px;
    }
    .news_area .news_link ul li:first-child {
        width: 40%;
    }
    .news_area .news_link ul li:nth-child(2){
        width: 60%;
border-right: none;
padding-right: 0;
    }
      .news_area .news_link ul li:nth-child(3){
          display: none;
}
.news_area .news_link::after{ 
width: 9px;
height: 9px;
    top: 49%;
    left: 20px;
}
    /** footer **/
footer .f_logo_area img {
    max-width: 240px;
    height: auto;
}
    /* フッター追従ボタン */
.fixed_area{
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 99;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
right: initial;
}
.fixed_area .img_bg{
    background-image: url("/common/img/f_fixarea.svg");
    background-size: cover;
    background-position: center;
    height: 86px;
    position: relative;
    text-align: center;
    width: 100%;
}
.fixed_area .img_bg .home_btn{
    position: absolute;
    bottom: 5px;
    left: 12%;
}
.fixed_area .img_bg .search_btn{
    position: absolute;
    bottom: 5px;
    right: 12%;
}
    footer .black_bg {
        padding: 15px 15px 100px 15px 
    }
.registry_ft footer .black_bg {
    padding: 15px;
}
   .blog_area h2{
        margin-bottom: 1rem !important;
   }
}
@media (max-width: 320px) { 
    p, li {
font-size: 10px;
}
        /** font-size **/
    .font3S,
    .fontSS,
    .fontS ,
.fontS.sp12{
    font-size: 8px;
}
.fontDefault ,
,.blog_area .content_area{
    font-size: 10px;
}
    
    .news_area .news_link ul {
        display: block;
    }
    .news_area .news_link ul li:first-child,
    .news_area .news_link ul li:nth-child(2){
        width: 100%;
    }
}




/************************** TOP ***************/
/** header **/
header .mv_area.top_mv .period_box{
    background: #fff;
    border-radius: 10px;
    display: flex;
    align-items: center;
}
header .mv_area.top_mv .period_box p{
    padding-left: 30px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
header .mv_area.top_mv .period_box p.left_box{
    padding-top: 10px;
    padding-bottom: 10px;
    padding-right: 10px;
    min-width:30%;
}

header .mv_area.top_mv .period_box.red_bg p.left_box{
    background-color: #E86A6A;
    border-right:2px solid #fff;
}
header .mv_area.top_mv .period_box.red_bg {
    background-color: #E86A6A;
}

header .mv_area.top_mv .alert_box{
    border-radius: 10px;
}
header .mv_area.top_mv .menu_area ul{ 
    display: flex;
    justify-content: space-between;
    width: 80%;
    margin: auto;
}
header .mv_area.top_mv .menu_area ul li{ 
    border-left: 1px solid #fff;
    display: flex;
    justify-content: center;
    width: 100%;
}
header .mv_area.top_mv .menu_area ul li:last-child{ 
    border-right: 1px solid #fff;
}
header .mv_area.top_mv .menu_area ul li a{ 
    display: block;
    width: 100%;
}
header .mv_area.top_mv .menu_area .message_icon a .icon{ 
    position: relative;
    display: inline-block;
}
header .mv_area.top_mv .menu_area .message_icon a .icon .num{ 
    position: absolute;
    right: 0px;
top: 3px;
    background: #FF0000;
    border: 1.5px solid #fff;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    color: #fff;
}
header .icon_area ul{
    display: flex;
    justify-content: space-between;
}
header .icon_area ul img{
    margin-bottom: 5px;
}
header .icon_area ul a{
    display: block;
}

/* KV スワイパー */
header .swiper-button-prev, 
header .swiper-button-next{
    width: 40px;
    height: 40px;
    background-size: contain;
}
header .swiper-button-prev{
    background-image:url("/common/img/top/icon_prev.svg");
}
header .swiper-button-next{
    background-image:url("/common/img/top/icon_next.svg");
}


/** タブ切り替え **/
.tab_box .btn_area ul {
	display: -webkit-box;
	display: flex;
    border-radius: 5px;
    overflow: hidden;
    border-style: solid;
    border-width: 1px;
}

.tab_box .tab_btn {
	width: 33%;
	padding: 8px 0;
	color: #333;
	background: #fff;
	text-align: center;
	cursor: pointer;
	transition: all 0.2s ease 0s;
    border-right-style: solid;
    border-right-width: 1px;
}
.tab_box .tab_btn:last-child {
    border-right: none;
}


.tab_box .tab_btn.active {
    color:#fff;
}

.category_linkbox ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.category_linkbox ul li{
    border-radius: 5px;
    border: 1px solid #EDEDED;
    overflow: hidden;
    position: relative;
    width: 49%;
    margin-bottom: 20px;
    padding: 10px 15px;
}
.category_linkbox ul li::after{
    position: absolute;
content: "";
    width: 14px;
height: 14px;
margin: 0 10px;
border-top: 1px solid #333;
border-right: 1px solid #333;
transform: rotate(45deg);
    right: 10px;
top: 45%;
}
.category_linkbox ul li::before{
    position: absolute;
    content: "";
    width: 6px;
    height: 100%;
    left: 0;
    top: 0;
}
.category_linkbox ul li:first-child::before{
    background: #297ABE;
}
.category_linkbox ul li:nth-child(2)::before{
    background: #DD6D1B;
}
.category_linkbox ul li:nth-child(3)::before{
    background: #FF9898;
}
.category_linkbox ul li:nth-child(4)::before{
    background: #FBC600;
}
.category_linkbox ul li:nth-child(5)::before{
    background: #6AA26E;
}
.category_linkbox ul li.syuri::before{
    background: #DB4C83;
}
.category_linkbox ul li.reform::before{
    background: #A5B715;
}
.category_linkbox ul li.sumikae::before{
    background: #8869B4;
}
.category_linkbox ul li.etc::before{
    background: #1C53B9;
}
.category_linkbox ul li a{
    display: flex;
    align-items: center;
}
.category_linkbox ul li img{
    padding-right: 10px;
}
.tab_box .tab_panel {
    display:none;
}

.tab_box .tab_panel.active {
    display:block;
}

/************************** 会員登録 ***************/
/* flow_area */
.flow_area ul li {
text-align: center;
color: #fff;
background-repeat: no-repeat;
background-size: 100% 100%;
width: 33%;
vertical-align: middle;
display: flex;
align-items: center;
justify-content: center;
    height: 50px;
}
.flow_area ul li:first-child {
  background-image: url("/common/img/form/flow01.png");
}
.flow_area ul li:nth-child(2) {
  background-image: url("/common/img/form/flow02.png");
}
.flow_area ul li:last-child {
  background-image: url("/common/img/form/flow03.png");
}
/* form_area */

/* flow_area_sms */
.flow_area_sms ul li {
    height: auto;
}
.flow_area_sms ul li:first-child {
  background-image: url("/common/img/form/flow01.png");
}
.flow_area_sms ul li:nth-child(2)
,.flow_area_sms ul li:nth-child(3)
,.flow_area_sms ul li:nth-child(4) {
  background-image: url("/common/img/form/flow02.png");
}
.flow_area_sms ul li:last-child {
  background-image: url("/common/img/form/flow03.png");
}
/* form_area */


.form_area span.required{
    padding: 1px 5px;
    color: #fff;
    background: #DE3D3D;
    margin-left: 5px;
    font-weight: normal;
}
.form_area .term_detail{
overflow: auto;
width: 100%;
height: 400px;
border: 1px solid #ced4da;
    padding: 1rem;
    border-radius: 5px;
}
/* 20220623 tomizawa 修正に合わせて修正 No.374 */
.form_area .term_detail ol > li{
    list-style-type: decimal;
}
.form_area input.form-control::placeholder{
    font-size: 12px;
    color: #CCCCCC;
}
.form_area input{
    font-size: 16px;
}

/************************** マイアカウント ***************/
ul.my_table li:first-child{
    font-weight: bold;
    border-bottom: 1px solid #EDEDED;
    padding-bottom: 10px;
}
ul.my_table li:nth-child(2){
    padding-left: 15px;
    padding-top: 10px;
}
ul.my_table li:nth-child(2) img{
    max-width: 50%;
}


/************************** ブログ ***************/
.cat,
.blog_area .fav a{
    padding: 2px 15px;
    border-radius: 5px;
}
.cat{
    background-color: #333333;
    color: #fff;
}
.cat.sumai{
    background-color: #297ABE;
}
.cat.kurashi{
    background-color: #DD6D1B;
}
.cat.famiry{
    background-color: #FF9898;
}
.cat.money{
    background-color: #FBC600;
}
.cat.cyoitech{
    background-color: #6AA26E;
}
.cat.notification{
    background-color: #A381EA;
}
.cat.enquete{
    background-color: #72CECE;
}

.blog_area .fav a{
    display: block;
}
.blog_area .fav img{
    margin-bottom: 3px;
}
.blog_area .h1_blogttl{
    position: relative;
    border-radius: 5px;
    border-style: solid;
    border-width: 1px;
    padding: 15px 15px 15px 30px;
}
.blog_area .h1_blogttl::before{
    content: "";
position: absolute;
height: 80%;
width: 7px;
border-radius: 5px;
left: 12px;
     top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.blog_area .h2_blogttl
,.blog_area h2{
    position: relative;
    border-bottom-style: solid;
    border-bottom-width: 3px;
    padding-bottom: 8px;
    font-size: 18px;
    line-height: 34px;
    font-weight: 700 !important;
    margin-bottom: 1.5rem;
}
.blog_area .h2_blogttl::after
,.blog_area h2::after{
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: -7px;
    left: 0;
}

.blog_area .content_area table {
	width:100%;
}

.blog_area .blog_table ,
.blog_area .blog_table th,
.blog_area .blog_table td,
.blog_area .content_area table ,
.blog_area .content_area table th,
.blog_area .content_area table td{ 
    border-collapse: collapse;
    border:1px solid #333;
}
.blog_area .blog_table th,
.blog_area .blog_table td,
.blog_area .content_area table th,
.blog_area .content_area table td{ 
    padding: 7px;
    max-width: 470px;
}
.blog_area .blog_table th,
.blog_area .content_area table th{ 
    font-weight: normal;
    background: #EDEDED;
}
.blog_area .h3_blogttl
,.blog_area h3{  
    padding-left: 17px;
    position: relative;
    font-size: 16px;
    line-height: 24px;
    font-weight: 700 !important;
    margin-bottom: 1rem !important;
}
.blog_area .h3_blogttl::after
,.blog_area h3::after{  
    content: "";
    position: absolute;
    width: 9px;
    height: 9px;
    border-radius: 50px;
    left: 0;
    top: 7px;
}
.blog_area h5{
font-size: 16px;
}
.blog_area .txt_b{  
    text-decoration-line: underline;
}
.blog_area .link_b,
.blog_area .content_area a{  
    text-decoration: underline;
}
.blog_area ul.blog_ul li,
.blog_area ul.disc li{  
    padding-left: 15px;
    position: relative;
    font-size: 16px;
    line-height: 30px;
}
.blog_area ul.blog_ul li::before,
.blog_area ul.disc li::before{ 
    content: "";
    position: absolute;
    height: 6px;
    width: 6px;
    left: 0;
    top: 10px;
    border-radius: 50px;
}
.blog_area ol.blog_ol,
.blog_area ol.olnum { 
    list-style-type: none;
    padding: 0;
    counter-reset: item;
}
.blog_area ol.blog_ol li,
.blog_area ol.olnum li{  
    text-indent: -25px;
    padding-left: 25px;
}
.blog_area ol.blog_ol li::before,
.blog_area ol.olnum li::before,
.blog_area ul li ol li::before{
	counter-increment: item;
	content: counter(item);
	color: #fff;
	font-size: 12px;
	border-radius: 5px;
	height: 18px;
	padding: 1px 5px;
	margin-right: 7px;
	position: static;
}

.blog_area ol.olnum li ol,
.blog_area ol.olnum li ul,
.blog_area ul li ol,
.blog_area ul li ul {
  counter-reset: number;
}
.blog_area ol.olnum li ol li {
}
.blog_area ol.olnum li ol li:before,
.blog_area ol.olnum li ul li:before,
.blog_area ul li ol li:before,
.blog_area ul li ul li:before {
  counter-increment: number;
  content: counter(number);
}

.blog_area ol.olnum li ul li{  
    padding-left: 15px;
    position: relative;
    font-size: 16px;
    line-height: 30px;
    text-indent: 0px;
}
.blog_area ol.olnum li ul li:before {
    content: "";
    position: absolute;
    height: 6px;
    width: 6px;
    left: 0;
    top: 10px;
    padding:0px;
    border-radius: 50px;
}

/************************** アンケート一覧/記事一覧 ***************/
.link_box_innner a{
    display: block;
    border: 1px solid #EDEDED;
    padding: 20px 40px 20px 20px;
    position: relative;
    margin-bottom: 20px;
}
.link_box_innner a:last-child{
    margin-bottom: 0px;
}
.link_box_innner a::after{
    position: absolute;
content: "";
width: 14px;
height: 14px;
margin: 0 10px;
border-top: 1px solid #000;
border-right: 1px solid #000;
transform: rotate(45deg);
right: 10px;
top: 45%;
}
.link_box_innner a .fontDefault{
    display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
line-height: 1.5em;
max-height: 1.5em;
}
.link_box_innner a .fontDefault.font-weight-bold{
    margin-bottom: 18px;
max-height: 3em;
}
.link_list_pagination ul {
    display: flex;
    justify-content: center;
}
.link_list_pagination ul li a{
    width: 40px;
    height: 40px;
    display: flex;
justify-content: center;
align-items: center;
    border: 1px solid #333;
    background: #333;
    border-radius: 50%;
    color: #fff;
    margin: 0 5px;
}
.link_list_pagination ul li.pre a,
.link_list_pagination ul li.next a{
    background: #fff;
    position: relative;
}
.link_list_pagination ul li.pre a::after{
    position: absolute;
content: "";
    width: 12px;
height: 12px;
border-top: 1px solid #000;
border-right: 1px solid #000;
top: 50%;
    left: 52%;
    transform:translate(-50%, -50%) rotate(-135deg);
    -webkit-transform:translate(-50%, -50%) rotate(-135deg) ;
    -ms-transform:translate(-50%, -50%) rotate(-135deg) ;
}
.link_list_pagination ul li.next a::after{
    position: absolute;
content: "";
    width: 12px;
height: 12px;
border-top: 1px solid #000;
border-right: 1px solid #000;
top: 50%;
    left: 45%;
    transform:translate(-50%, -50%) rotate(45deg);
    -webkit-transform:translate(-50%, -50%) rotate(45deg) ;
    -ms-transform:translate(-50%, -50%) rotate(45deg) ;
}
.select_linkbox{
    text-align: right;
    position: relative;
}
.select_linkbox::after {
position: absolute;
content: "";
width: 10px;
height: 10px;
margin: 0 10px;
border-top: 1px solid #00A7DB;
border-right: 1px solid #00A7DB;
transform: rotate(135deg);
right: 10px;
    top: 36%;
}
.select_linkbox select,
.select_linkbox option{ 
    display: inline-block;
    border-style: solid;
    border-width: 1px; 
    border-color: #00A7DB;
   background: transparent;
background-image: none;
box-shadow: none;
-webkit-appearance: none;
appearance: none;
    cursor: pointer;
    width: 350px;
    padding: 6px 15px;
    color: #00A7DB;
    border-radius: 0;
    }

/************************** スクラッチ ***************/
.card_flex {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 500px;
    margin: auto;
}
.card_flex input[type="radio"] {
  display: none;
}
.card_flex input[type="radio"] ~ label {
  position: relative;
  display: inline-block;
    
        background-image: url("/common/img/scratch/scratch_close.svg");
  background-repeat: no-repeat;
  background-size: contain;
    
        width: 145px;
        height: 190px;
    margin: 7px;
}
.card_flex input[type="radio"]:checked ~ label {
    
       background-image: url("/common/img/scratch/scratch_open.svg");
  background-repeat: no-repeat;
  background-size: contain;
    
}
.hit_imgbg {
    background-image: url("/common/img/scratch/scratch_bg_pc.jpg");
    background-size: cover;
    background-position: bottom;
}
.abs_anime{
	top: 0;
	left: 0;
	background: rgba(255,255,255,.7);
	position: fixed;
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 9999999;
}
/************************** 消耗品リスト ***************/
.expendable_listarea a
,.expendable_listarea_sub div.list{
    display: flex;
    justify-content: space-between;
    padding: 10px 35px 10px 15px;
    position: relative;
    margin-bottom: 10px;
}
.link_arrow{
}

.expendable_listarea a:last-child
,.expendable_listarea_sub div.list:last-child{
    margin-bottom: 0;
}
.expendable_listarea a::after
,.link_arrow::after{
    content: "";
    position: absolute;
    right: 10px;
    border-top: 1px solid #333;
border-right: 1px solid #333;
transform: rotate(45deg);
    width: 10px;
height: 10px;
    margin-right: 20px;
}
.expendable_listarea a::after{
    margin-right: 0px;
/*** 50% to 40% 5th ***/
    top: calc(40%);
}

.expendable_listarea a div:first-child
,.expendable_listarea_sub div.list div:first-child{
    width: 70%;
}
.expendable_listarea a div:nth-child(2){
    margin-left: 10px;
    width: 110px;
}
.expendable_listarea_sub div.list div:nth-child(2){
    margin-left: 10px;
    width: 110px;
}

.expendable_listarea a .item_name
,.expendable_listarea_sub div.list .item_name{
   display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
line-height: 1.5em;
}

.thumbnail_select {
  position: relative;
  display: table;
}
.thumbnail_select button.close_btn {
  position: absolute;
  right: 5px;
  top: 5px;
  z-index: 9;
  cursor: pointer;
  background: none;
  box-shadow: none;
  border: none;
}
.thumbnail_select .img_area {
  position: relative;
  width: 160px;
  min-height: 109px;
  overflow: hidden;
  box-shadow: 0 0 6px #ccc;
}
.form_area .thumbnail_select .img_area img {
  position: absolute;
  max-height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.form_area select option:checked#other_cat ~ input.other_txt {
    display: block;
}


/************************** 住まいの書類 ***************/
.conf_list a {
    display: flex;
    align-items: center;
    border: 1px solid #EDEDED;
    position: relative;
    padding: 15px 40px 15px 20px;
    border-radius: 5px;
}
.conf_list a::after {
content: "";
position: absolute;
top: 38%;
right: 20px;
border-top: 1px solid #333;
border-right: 1px solid #333;
transform: rotate(45deg);
width: 14px;
height: 14px;
}
.conf_list a img{
    padding-right: 25px;
}
/************************** faq ***************/
.faq_acArea ul {
    margin-bottom: 20px;
}
.faq_acArea ul:last-child {
    margin-bottom: 0;
}
.faq_acArea .ac_ttl {
    cursor: pointer;
    padding: 20px;
    border-radius: 5px;
}
.faq_acArea .ac_ttl p{
    position: relative;
}
.faq_acArea .ac_ttl p::after {
position: absolute;
content: "";
width: 14px;
height: 14px;
margin: 0 10px;
border-top: 1px solid #333;
border-right: 1px solid #333;
transform: rotate(135deg);
right: 0;
top: 15%;
}
.faq_acArea .ac_ttl.ac_open p::after {
transform: rotate(-45deg);
    top: 38%;
}
.faq_acArea .ac_inner {
    display: none;
    padding: 20px 20px 20px 44px;
    text-indent: -24px;
    
}

/************************** サイト内メッセージ ***************/
.message_box{
    margin-bottom: 10px;
}
.message_box::last-child{
    margin-bottom: 0px;
}
.message_box .ttl.new_message,
.link_box_innner .new_message{
    position: relative;
    padding-left: 15px;
}
.new_message_icon{
    position: relative;
    padding-left: 20px;
}
.message_box .ttl.new_message::before
,.new_message_icon::before
,.link_box_innner .new_message::before{
    content: "";
    position: absolute; 
    top: 6px;
    left: 0;
    background-color: #DE3D3D;
    width: 7px;
    height: 7px;
    border-radius: 50%;
}
.message_box .date{
    font-size: 11px;
}
.message_box .txt_click {
    cursor: pointer;
}
.message_box .txt_click .inner_txt{
    display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
max-height: 4.5em;
	transition: .6s;
}
.message_box .txt_click.txt_open .inner_txt{
    display: block;
-webkit-line-clamp: initial;
-webkit-box-orient: vertical;
overflow: initial;
max-height: inherit;
word-break: break-all;
}
.message_box .inner_img img{
    max-width: 90px;
    height: auto;
}
.send_txtbox {
    border-radius: 4px;
    border: 1px solid #CCCCCC;
}
.btm_textarea {
    width: 100%;
    position: fixed;
    bottom: 0; 
    z-index: 999;
    display: none;
	left: 0;
}
.btm_textarea.txt_open{
    display: block;
}
.swal2-popup {
    border-radius: 0!important;
}
.swal2-content {
    text-align: left!important;
    font-size: 16px!important;
}
.swal2-actions{
    justify-content: flex-end!important;
}
.swal2-styled {
    padding: 10px 20px!important;
    font-weight: normal!important;
    font-size: 16px!important;
}
.swal2-styled.swal2-cancel {
    color: #333333!important;
}


/************************** リフォーム事例 ***************/
.reform_favlink{
    display: flex;
    width: 100%;
    border: 1px solid #333333;
    border-radius: 5px;
    padding: 5px;
}
.reform_favlink li{
    width: 50%;
    text-align: center;
    position: relative;
}
.reform_favlink li:first-child::after{
    position: absolute;
    content: "";
    background-color: #333333;
    width: 1px;
    height: 100%;
    right: 0;
    top: 0;
}
.reform_favlink li a{
    display: block;
    padding: 8px;
}
.reform_favlink li img{
    vertical-align: bottom;
    padding-right: 6px;
}
.case_link {
    border: 1px solid #EDEDED;
}
.case_link{
    position: relative;
}
.case_link .icon_fav{
    position: absolute;
    z-index: 99;
    background: #CCCCCC;
    right: 0;
    top: 0;
    padding: 14px;
}
.case_link .img_area{
    position: relative;
height: 200px;
overflow: hidden;
}
.case_link .img_area .trimming{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    height: 120%;
    max-width: inherit;
}
.reform_link.category_linkbox ul li a{
    padding: 5px 10px;
}
.reform_area table.detail th{
     background: #F2F2F2;
    font-weight: normal;
    width: 22%;
    text-align: center;
}
.reform_area table.detail th,
.reform_area table.detail td{
    border: 1px solid #333;
    padding: 5px 10px;
    vertical-align: middle;
}
.reform_area .reform_thumbnail {
    position: relative;
    height: 450px;
    width: 100%;
    overflow: hidden;
} 
.reform_area .reform_thumbnail2 {
    position: relative;
    height: 100px;
    width: 100%;
    overflow: hidden;
} 
.reform_area .reform_thumbnail img,
.reform_area .reform_thumbnail2 img,
.reform_area .ba_box .img_area img{
    position: absolute;
    height: 100%;
    max-width: inherit;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
} 
.reform_area .ba_flex { 
    display: flex;
    justify-content: space-between;
} 
.reform_area .ba_box {
    width: 48%;
} 
.reform_area .ba_box .text-white{
    font-weight: 100;
} 
.reform_area .arr_po{
    position: relative;
} 
.reform_area .arr_po::after {
    position: absolute;
    content: "";
width: 11px;
height: 11px;
border-top: 1px solid #333;
border-right: 1px solid #333;
transform: rotate(45deg);
    right: -4.5%;
top: 52%;
    z-index: 99;
} 
.reform_area .ba_box .img_area {
    position: relative;
    height: 250px;
    width: 100%;
    overflow: hidden;
} 
.reform_area ul.tag_area  li{
    border-style: solid;
    border-width: 1px;
    border-radius: 100px;
    display: inline-block;
    padding: 1px 10px;
    margin-right: 10px;
    margin-bottom: 10px;
} 
.reform_area .gallery-thumbs .swiper-button-next,
.reform_area .gallery-thumbs .swiper-button-prev{
    width: 40px;
    height: 40px;
    background-size:contain;
}
.reform_area .gallery-thumbs .swiper-button-next {
    background-image:url("/common/img/reform/arr_next.png");
} 
.reform_area .gallery-thumbs .swiper-button-prev {
    background-image:url("/common/img/reform/arr_prev.png");
} 

/************************** 施工参考価格 ***************/
.price_area .gray_border .img_area{
    position: relative;
    height: 120px;
    overflow: hidden;
}
.price_area .gray_border .img_area img,
.price_area .price_detail_thumb .img_area img{
    position: absolute;
    width: 100%;
    max-width: inherit;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.reform_area .swiper-pagination,
.price_area .swiper-pagination{
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.reform_area .swiper-pagination span,
.price_area .swiper-pagination span{
    background: #000;
    margin: 0 5px;
}
.price_area .price_detail_thumb .img_area {
    position: relative;
    height: 420px;
    overflow: hidden;
}
.price_area .price_detail_thumb {
    position: relative;
    overflow: hidden;
    z-index: 0;
}
.price_area .price_detail_thumb .text_area{
    position: absolute;
    background: rgba(255,255,255,.8);
    height: 100%;
    width: 35%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999;
}
.price_area .price_gallery-thumbs{
    width: 60%;
}
.price_area .item_img{
    position: relative;
    overflow: hidden;
    height: 240px;
}
.price_area .item_img img{
    position: absolute;
    max-width: inherit;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.img_area_height{
    position: relative;
    overflow: hidden;
    height: 200px;
}
.img_area_height img{
    position: absolute;
    max-width: inherit;
    width: 100%;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
}


.item_pop .img_catch {
    max-width: 60%;
    margin: auto;
    text-align: center;
}

/************************** 架電予約 ***************/
.calendar_box {
    border: 1px solid #F2F2F2;
    border-radius: 10px;
}
.calendar_box .ttl_area{
    border-bottom: 1px solid #F2F2F2;
    padding: 15px;
}
.reserve_area .calendar_box .ttl_area ul li.prev a,
.reserve_area .calendar_box .ttl_area ul li.next a {
    width: 40px;
height: 40px;
display: flex;
justify-content: center;
align-items: center;
background: #333;
border-radius: 50%;
color: #fff;
margin: 0 5px;
    background: #00A7DB;
position: relative;
}
.reserve_area .calendar_box .ttl_area ul li.prev a::after,
.reserve_area .calendar_box .ttl_area ul li.next a::after {
  position: absolute;
content: "";
width: 12px;
height: 12px;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
top: 50%;
}
.reserve_area .calendar_box .ttl_area ul li.prev a::after {
transform: translate(-50%, -50%) rotate(-135deg);
-webkit-transform: translate(-50%, -50%) rotate(-135deg);
-ms-transform: translate(-50%, -50%) rotate(-135deg);
    left: 53%;
}
.reserve_area .calendar_box .ttl_area ul li.next a::after {
transform: translate(-50%, -50%) rotate(45deg);
-webkit-transform: translate(-50%, -50%) rotate(45deg);
-ms-transform: translate(-50%, -50%) rotate(45deg);
    left: 47%;
}
.swiper-02 .swiper-slide {
    padding: 20px 0 20px 20px;
    display: flex;
}
.reserve_area .select_date {
    width: calc(100% / 7);
    padding-right: 20px;
}
.reserve_area .select_date li {
    margin-bottom: 10px;
}
.reserve_area .select_date li:last-child {
    margin-bottom: 0px;
}
.reserve_area .select_date button {
    display: block;
    color: #fff;
    border-radius: 5px;
    padding: 10px;
    width: 100%;
border: none;
}
.reserve_area .select_date button.cantRes {
    pointer-events: none;
    background-color: #F2F2F2;
    color: #B7B7B7;
}
.reserve_area .select_date .date_txt {
    line-height: .4;
    margin-bottom: 20px;
}
.modaal_calendar {
    overflow: scroll;
max-height: 700px;
}
.modaal_calendar table.swiper-mypagination {
    width: 100%;
    text-align: center;
}
.modaal_calendar table.swiper-mypagination th,
.modaal_calendar table.swiper-mypagination td { 
    border: 1px solid #ccc;
    font-weight: normal;
}
.modaal_calendar table.swiper-mypagination th { 
    background: #333333;
    color: #fff;
    padding: 10px;
}
.modaal_calendar table.swiper-mypagination td { 
    padding: 30px;
}
.modaal_calendar table.swiper-mypagination td.re_link { 
    cursor: pointer;
}
.modaal_calendar table.swiper-mypagination td.no_link { 
    color: #B7B7B7;
    background: #F2F2F2;
}


.swal2-styled {
    padding: 10px 20px!important;
    font-weight: normal!important;
    font-size: 16px!important;
}
.swal2-styled.swal2-cancel {
    color: #333333!important;
}
    
.swal2-popup {
    border-radius: 0!important;
}

.swal2-content {
    text-align: left!important;
    font-size: 16px!important;
}

a.spa,
.expendable_listarea a.spa
,.expendable_listarea_sub div.list.spa{
	display:none;
}

/**
@media (min-width: 993px) {
.swal2-actions{
    justify-content: flex-end!important;
}
}**/

@media (max-width: 992px) {
/** header **/
header .mv_area.top_mv .period_box,
    header .mv_area.top_mv .alert_box{
    border-radius: 5px;
}
    header .mv_area.top_mv .alert_box p.fontS{
        font-size: 12px;
}
    header .mv_area.top_mv .period_box p{
        padding-left: 10px;
        padding-right: 35px;
    }
    header .mv_area.top_mv .period_box p.left_box{
        padding-top: 10px;
        padding-bottom: 10px;
        padding-right: 10px;
		min-width:38%;
    }
    header .mv_area.top_mv .menu_area ul {
        width: 100%;
    }
    header .mv_area.top_mv .menu_area ul li,
    header .mv_area.top_mv .menu_area ul li:last-child{
        border: none;
    }
    header .mv_area.top_mv .menu_area ul li img{
        width: 42px;
        height: auto;
        margin: auto;
    }
    header .mv_area.top_mv .menu_area ul li p{
        font-size: 11px;
    }
    header .mv_area.top_mv .menu_area .message_icon a .icon .num{  
        
    right: -3px;
top: -1px;
    }
    header .icon_area ul{
        flex-wrap: wrap;
    }
    header .icon_area ul li{
        width: 25%;
        margin-top: 10px;
    }
    header .icon_area ul li p{ 
        font-size: 11px;
    }
    
    /* KV スワイパー */
header .swiper-button-prev, 
header .swiper-button-next{
    width: 25px;
    height: 25px;
    top: 60%;
}
header .swiper-button-prev{
    left: 0;
}
header .swiper-button-next{
    right: 0;
}
    
    /** タブ切り替え **/
    .tab_box .btn_area {
        overflow-x: auto;
    }
    .tab_box .btn_area ul {
        min-width: 500px;
    }
    .category_linkbox ul {
        display: block;
    }
    .category_linkbox ul li{
        width: 100%;
        padding: 5px 10px;
        margin-bottom: 10px;
    }
    .category_linkbox ul li img {
        width: 42px;
        height: 42px;
    }
    .category_linkbox ul li::after{
    width: 10px;
height: 10px;
}
     .flow_area ul li {
        height: 25px;
    }
     .flow_area_sms ul li {
        height: auto;
    }
    
    .blog_area .h3_blogttl::after 
    ,.blog_area h3::after {
        top: 4px;
    }
    .blog_area ol.blog_ol li,
    .blog_area ol.olnum li {
        margin-bottom: 4px;
        font-size: 12px;
        line-height: 22px;
    }
    .blog_area ol.blog_ol li::before,
    .blog_area ol.olnum li::before{
        font-size: 11px;
    }

    .blog_area .blog_table th,
    .blog_area .blog_table td,
    .blog_area .content_area table th,
    .blog_area .content_area table td{ 
    max-width: 170px;
}
	
	
	/************************** アンケート一覧/記事一覧 ***************/
	.enquete_area .form_area .form-check-inline {
		display: block;
	}
    .link_box_innner a::after {
        width: 10px;
height: 10px;
    }
    .select_linkbox select,
.select_linkbox option{ 
    width: 100%;
    }
    /************************** スクラッチ ***************/
.hit_imgbg {
    background-image: url("/common/img/scratch/scratch_bg_sp.jpg");
    background-position: center;
}
    .card_flex li{ 
        width: 33%;
    }
    .card_flex input[type="radio"] ~ label { 
        width: 95%;
height: 150px;
    }
    /************************** 消耗品リスト ***************/
    .gray_bg_sp {
        background-color: #F2F2F2;
    }
    .expendable_listarea a 
,.expendable_listarea_sub div.list{
        padding: 10px 25px 10px 10px;
    }
    .form_area .sp_area { 
        max-width: 50%;
}
    /************************** リフォーム事例 ***************/
    .case_link .img_area{
height: 140px;
}
    .case_link .icon_fav {
        padding: 11px;
width: 42px;
height: 42px;
display: flex;
    }
    .reform_link.category_linkbox ul li a {
        padding: 10px;
    }
    .reform_area table.detail th {
        width: 25%;
    }
    .reform_area .reform_thumbnail {
       height: 300px; 
    }
    .reform_area .reform_thumbnail2 {
        height: 55px;
    }
    .reform_area .gallery-thumbs .swiper-button-next,
.reform_area .gallery-thumbs .swiper-button-prev{
    width: 25px;
    height: 25px;
    top: 73%;
}
    .reform_area .ba_box {
        width: 47%;
    }
    .reform_area .ba_box .img_area{
        height: 140px;
    }
    .reform_area .arr_po::after {
        right: -6.5%;
    }
    .reform_area ul.tag_area li {
        margin-right: 5px;
margin-bottom: 3px;
    }
    .item_pop .img_catch {
    max-width: 100%;
}
    
/************************** 施工参考価格 ***************/
.price_area .gray_border .img_area{
    height: 80px;
}
.price_area .gray_border .img_area img{
    width: 100%;
}
    .price_area .price_detail_thumb .img_area {
        height: 180px;
    }
    .price_area .price_detail_thumb .text_area {
        width: 50%;
    }
    .price_area .price_gallery-thumbs {
        width: 70%;
    }
    .price_area .item_img { 
    height: 150px;
    }
    .price_area .item_img img{
/*
        max-height: 100%;
*/
    }
    .blog_area ul.disc li{  
        font-size: 12px;
        line-height: 22px;
    }
    /************************** 架電予約 ***************/
.calendar_box {
    padding: 20px;
}
.calendar_box .d-flex{
    overflow-x: scroll;
}
.calendar_box p.fontDefault{
    font-size: 11px;
}
    .reserve_area .select_date {
        min-width: 85px;
margin-right: 10px;
padding-right: 0px;
    }
    .reserve_area .select_date:last-child {
margin-right: 20px;
    }
    .reserve_area .select_date li {
    font-size: 13px;
        margin-bottom: 5px;
    }
    
    
    .swal2-actions{
    justify-content: center!important;
}
.img_area_height{
    height: 100px;
}
a.pca,
.expendable_listarea a.pca
,.expendable_listarea_sub div.list.pca{
	display:none;
}
a.spa,
.expendable_listarea a.spa
,.expendable_listarea_sub div.list.spa{
	display:flex;
}

}
@media (max-width: 320px) { 
     /************************** スクラッチ ***************/
    .card_flex input[type="radio"] ~ label { 
        width: 95%;
height: 120px;
    }
        /************************** リフォーム事例 ***************/
    .reform_area .ba_box .img_area{
        height: 120px;
    }
    .reform_area .arr_po::after {
right: -7.5%;
}
}

.btn_dtl {
    display: table;
    text-align: center;
    padding: 10px 20px;
    margin-right: auto;
    margin-left: auto;
    background: #FF8D2C;
    color: #fff;
    width:100%;
    border-radius: 5px;
}

.expendable_listarea a.nonlink::after
,.expendable_listarea_sub div.list.nonlink::after{
    border-top: none;
    border-right: none;
}

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

.center{
	text-align:center !important;
}
.right{
  text-align: right !important;
}

.coupon_div{
	clear:both;
	border:1px solid #ccc;
	border-radius: 5px;
	display: flex;
	padding:10px;
}

.coupon_div .cpn_text{
	padding-left:10px;
}
.coupon_div .text_area{
	width:50%;
	margin-left:20px;
}
.coupon_div .img_area {
	width:50%;
}


/*モーダルを開くボタン*/
.modal-open{
}
/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container{
	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;
}
/*モーダル本体の擬似要素の指定*/
.modal-container:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active{
	opacity: 1;
	visibility: visible;
}
/*モーダル枠の指定*/
.modal-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 500px;
	width: 90%;
}
/*モーダルを閉じるボタンの指定*/
.modal-close{
	position: absolute;
	display: flex;
    align-items: center;
    justify-content: center;
	top: -20px;
	right: -20px;
	width: 40px;
	height: 40px;
	font-size: 40px;
	color: #fff;
	cursor: pointer;
}
/*モーダル内のコンテンツの指定*/
.modal-content{
	background: #fff;
	text-align: left;
	padding: 30px;
}
.modal-content p{
	margin-bottom:10px;
}

.modal-content .btn_area {
  display: flex;
}
.modal-content .btn_area.beside3 {
  display: flex;
  justify-content: space-between;
}
.modal-content .btn_area div {
  padding-right: 30px;
}
.modal-content .btn_area.beside3 div {
  padding-right: 0;
}
.modal-content .btn_area div:last-child {
  padding-right: 0;
}

.modal-content .btn_style  {
    max-width: 49%;
}


@media (max-width: 992px) {
	.coupon_div{
		display: block;
	}

	.coupon_div .cpn_text{
	}
	.coupon_div .text_area{
		width:100%;
		margin-left:0;
	}
	.coupon_div .img_area {
		width:100%;
	}
}

.mt10{
	margin-top:10px;
}
.mt20{
	margin-top:20px;
}
.mt30{
	margin-top:30px;
}
/* 20220606 tomizawa リフォームデータをコメントアウトの調整のため追加 No.367 */
.mt40{
	margin-top:40px;
}
.ml10{
	margin-left:10px;
}
.ml15{
	margin-left:15px;
}
.ml20{
	margin-left:20px;
}
.mr10{
	margin-right:10px;
}
.mr15{
	margin-right:15px;
}
.mr20{
	margin-right:20px;
}
.mb10{
	margin-bottom:10px;
}
.mb15{
	margin-bottom:15px;
}
.mb20{
	margin-bottom:20px;
}

/* 幅設定 */
.width20p{
	width:20%;
}
.width30p{
	width:30%;
}
.width40p{
	width:40%;
}
.width50pmin{
	width:48%;
}
.width50p{
	width:50%;
}
.width60p{
	width:60%;
}
.width70p{
	width:70%;
}
.width80p{
	width:80%;
}
.width90p{
	width:90%;
}
.width100p{
	width:100% !important;
}

.mwidth20p{
	max-width:20%;
}
.mwidth30p{
	max-width:30%;
}
.mwidth40p{
	max-width:40%;
}
.mwidth50p{
	max-width:50%;
}
.mwidth60p{
	max-width:60%;
}
.mwidth70p{
	max-width:70%;
}
.mwidth80p{
	max-width:80%;
}
.mwidth90p{
	max-width:90%;
}
.mwidth100p{
	max-width:100%;
}
.dispin{
	display:inline;
}
.btn_flex{
  display: flex;
  justify-content: space-between;
}
.form-control{
  min-height: calc(2.25rem + 2px);
  height:auto;
}

.blog_area .content_area img{
	margin-top:10px;
	margin-bottom:10px;
}

.bold{
    font-weight: 700 !important;
}
.underline{
    text-decoration: underline !important;
}

.item_link{
    display: block;
    float: right;
}
.item_link.btn_sub a{
    display: inline;
    padding: 5px 20px;
}

.dispnone, .hr{
	display:none;
}

.txt_open .hr{
	display:block;
	width:100%;
	border-top: 1px solid #999;
}

.hr img{
	max-width: 160px;
	max-height: 109px;
}
.hr .detail_type{
	display:block;
	float:left;
}
.hr .detail_time{
	display:block;
	float:right;
}
.hr .detail_text{
	clear:both;
	width: 100%;
	display: block;
	margin-top:10px;
}
.hr .thumbnail_select,
.hr .img_area,
.hr .img_over{
	display:block;
}

.hr .img_area{
    z-index: 80;
}
.hr .img_area a{
    z-index: 85;
}

.hr .img_area a img{
    z-index: 86;
}

.blog_area .fav.nonactive a{
    background-color: #AAAAAA;
}

table.noborder{
	border:none !important;
}
table.noborder td,
table.noborder th{
	border:none !important;
}

.left_img{
	width:30%;
	display:block;
	float:left;
}

.left_img.width50p{
	width:49%;
}

.left_txt{
	width:65%;
	display:block;
	float:right;
}

.right_img{
	width:30%;
	display:block;
	float:right;
}
.right_img.width50p{
	width:49%;
}
.right_txt{
	width:65%;
	display:block;
	float:left;
}

.two_left_img{
	display:block;
	float:left;
}

.two_right_img{
	display:block;
	float:right;
}

.two_left_img,
.two_right_img{
	max-width:45%;
}

.two_right_img{
	margin-left:20px;
}

.right_txt{
	margin-right:20px;
}

.left_outer,
.right_outer,
.two_outer{
}

.left_outer+p,
.right_outer+p,
.two_outer+p,
.left_outer+h2,
.right_outer+h2,
.two_outer+h2,
.left_outer+div,
.right_outer+div,
.two_outer+div,
.d-table
{
	clear:both;
}

.blog_area .content_area #no_border,
.blog_area .content_area #no_border td{
	border:none;
}

@media (max-width: 992px) {
.width100p-sp{
	width:100%;
}

.left_img{
	width:100%;
	display:block;
}
.left_img.width50p{
	width:100%;
}
.left_txt{
	width:100%;
	display:block;
	padding-left:0px;
}
.right_img{
	width:100%;
	display:block;
}
.right_img.width50p{
	width:100%;
}
.right_txt{
	width:100%;
	display:block;
	padding-left:0px;
}

.two_right_img{
	margin-left:0px;
}

.right_txt{
	margin-right:0px;
}

.two_left_img,
.two_right_img{
	max-width:100%;
	margin-left:0px;
}

}
.hajimetop-pc img{
	max-width:230px;
}
.hajimetop-sp img{
		display:none;
}
@media (max-width: 992px) {
	.hajimetop-pc img{
		display:none;;
	}

	.hajimetop-sp img{
		display:inline-block;
		width:42px;
	}
}

.chat_btn{
	position: absolute;
	top: -70px;
	right: 0px; 
}
.limitend{
    color: #DE3D3D;
}

.sendbtn img{
	min-width: 20px;
	min-height: 20px;
}

/* 20220623 tomizawa 修正に合わせて修正 No.374 */
ol.kakko > li,
.form_area .term_detail ol.kakko > li {
	list-style-type: none;
	counter-increment: cnt;
	margin-left:2.6em;
}

ol.kakko > li::before,
.form_area .term_detail ol.kakko > li::before {
	content: "（" counter(cnt) "） ";
	margin-left:-2.8em;
	width: 3em;
}

div.term_detail > ol{
	padding-left:15px;
}
div.term_detail > ol.kakko{
	padding-left:0px;
}
.pad0 {
    padding: 0;
}
.old_view{
	background-color: #C0C0C0;
	padding: 0px !important;
}
.old_view p{
	color: #fff;
}
.color_white{
	color: #fff;
}
.inblock{
	display: inline-block;

}

iframe{
	max-width:100%;
}

.inlineblock{
	display: inline-block !important;
}

a.link_on {
	text-decoration: underline !important;
	color: #007bff;
}

/* 20240313 kikuchi 中心化制御 No.122 */
.spMenuTitle{
	margin-right: 20px;
}

@media (max-width: 992px) {
	.spMenuTitle{
		margin-right: 5px;
	}
}

/* 20240326 kikuchi 左バーを作成 No.230 231 */
.app_area{
	display:none;
}
.app_title{
	border-left:6px solid #007bff;
	margin:20px 0px;
	padding-left:10px;
}
@media (max-width: 992px) {
	.app_area{
		display:block;
	}
}

/* 5th */
.text_glay{
	color:#ccc !important;
}

.step_title{
	display: block;
}
.step_title_edit{
	display: block;
}
.step_title::after{
	content:"";
	width: 10px;
	height: 10px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	-webkit-transform: rotate(45deg);
	position: absolute;
	right: 20px;
	transform: rotate(135deg);
	margin-top:5px;
	margin-right:10px;
}

.step_text{
	float:left;
	max-width:75%;
	font-weight: 500 !important;
}
.step_cnt{
	float:right;
	margin-right:30px;
	max-width:20%;
}
@media (max-width: 992px) {
	.step_title::after{
		margin-right:5px;
		margin-top: 12px;
	}
	.step_text{
		font-size: 13px;
		line-height: 36px;
		margin-left:10px;
	}
	.step_cnt{
		font-size: 13px;
		line-height: 36px;
		margin-right:30px;
	}
}

.step_detail{
	clear:both;
	height: 0;
	padding-top:10px;
	margin-bottom:10px;
	overflow: hidden;
}

.step_detail_edit{
	clear:both;
	padding-top:10px;
	margin-bottom:10px;
	overflow: hidden;
}

.btn_style_left{
	margin:0px;
}

@media (max-width: 992px) {
	.step_detail,.step_detail_edit{
		padding-right:10px;
		padding-left:10px;
	}
	.btn_style_left{
		margin:0px auto;
	}
	.block_sp{
		display: block;
	}
}

.toggle:checked + .step_title + .step_detail {	/*開閉時*/
	height: auto;
	transition: all .3s;
}
.toggle:checked + .step_title::after {
	transform: rotate(-45deg) !important;
}

.check_detail{
	display: flex;
	margin-bottom:10px;
	padding: 5px;
/***
	border: 1px solid #ccc;
	border-radius: 10px;
***/
}

.check_checkbox{
position: relative;
width: 20px;
}

.check_checkbox input{
position: absolute;
top: 0;
bottom: 0;
margin: auto;
}

.check_text{
	margin-left:10px;
	max-width: calc(100% - 100px);
}

.check_list .check_text{
	margin-left:10px;
	max-width: calc(100% - 40px);
}

.step_ctgr{
	background-color: #333333;
	color: #fff;
	padding: 0 15px;
	border-radius: 5px;
	max-width:100px;
	text-align:center;
}

.step_ctgr.ctgr_1{
	background-color: #FBC600;
}

.step_ctgr.ctgr_2{
	background-color: #FF9898;
}

.step_ctgr.ctgr_3{
	background-color: #297ABE;
}

.step_ctgr.ctgr_4{
	background-color: #AAAAAA;
}
.toggle{
	display:none;
}

.flleft{
	float:left;
}
.flright{
	float:right;
}
.clear{
	clear:both;
}

.check_checkbox:has(.checkbox:checked) + div label{
	color:#ccc;
}

.relative{
position: relative;
}
.cpn-use-end{
position: absolute;
width:100%;
top:0;
bottom:0;
right:0;
left:0;
background: rgba(200,200,200,0.5);
text-align:center;
}

.cpn-use-end div{
position: absolute;
width:100%;
top:calc(50% - 18px);
text-align:center;
}
