@charset "utf-8";

/*************************************************/
/*  main  */
/*************************************************/

.top_main_wrap {
 overflow: hidden;
 width: 100%;
 padding: 10px 0 30px;
 margin-bottom: -15px;
}

.top_main_inner {
 width: 75%;
 height: 170px;
 margin: 0 auto;
 position: relative;
 z-index: 0;
}

.top_main_inner::before {
 content: "";
 display: block;
 background: url(../img/webp/main_bg_c.webp);
 background-size: contain;
 background-repeat: no-repeat;
 background-position: center;
 width: 200px;
 height: 200px;
 position: absolute;
 bottom: -30px;
 left: -100px;
 z-index: -1;
}

.top_main_ti {
 position: absolute;
 bottom: 10px;
 left: -12%;
 z-index: 10;
}

.top_main_ti img {
 width: 80%;
}

.top_main_slider {
 margin: 0;
 padding: 0;
 transition: 3s;
 position: absolute;
 top: 0;
 left: 10%;
 height: 170px ! Important;
 width: 110%;
}

.top_main_slider li img {
 width: 100%;
 height: 170px ! Important;
 object-fit: cover;
 object-position: left;
 border-radius: 10px 0 0 10px;
}

.top_main_inner .slick-list {
 padding: 0 !Important;
}

/*************************************************/
/*  main  */
/*************************************************/
.main_wrap {
 width: 100%;
 background-image: url(../img/main_bg.png);
 background-repeat-y: no-repeat;
 /* background-size: contain; */
 background-position: right 0 bottom 0px;
 padding: 1px 0;
 box-sizing: border-box;
}

.t_main_slide {
 padding: 10px 0px 0;
 background-color: #f2f9f1;
}

.top_menu_wrap {
 width: 90%;
 margin: 25px auto;
}

.top_menu_wrap h2 {
 display: inline-block;
 font-size: 24px;
 font-weight: bold;
 letter-spacing: 0.1em;
 padding-bottom: 15px;
 border-bottom: 1px solid #011a02;
 color: #011a02;
 margin-bottom: 20px;
 min-width: 110px;
}

.top_menu_l {
 text-align: center;
 margin-bottom: 20px;
 width: 100%;
}


.top_menu_lbtn ul {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}

.top_menu_lbtn ul::after {
 content: none;
}

.top_menu_lbtn ul li {
 width: 49%;
}

.top_menu_lbtn ul li a {
 display: block;
 border: 2px solid #011a02;
 color: #011a02;
 box-sizing: border-box;
 padding: 10px 0;
 font-size: 3.5vw;
 font-weight: bold;
 letter-spacing: 0.1em;
 margin-bottom: 5%;
}

.top_menu_lbtn a:hover {
 background: #e5f6d1;
}

.top_menu_lbtn ul li a::before {
 content: "";
 background: url(../img/buy_icon.png);
 display: block;
 background-size: contain;
 background-repeat: no-repeat;
 background-position: center;
 width: 64px;
 height: 40px;
 margin: 0 auto 5px;
}

.top_menu_lbtn ul li:nth-child(2) a::before {
 background: url(../img/rent_icon.png);
 background-position: center;
 background-size: contain;
 background-repeat: no-repeat;
}

.top_menu_lbtn ul li:nth-child(3) a::before {
 background: url(../img/serch_l.png);
 background-size: contain;
 background-repeat: no-repeat;
 background-position: bottom;
 width: 60px;
 height: 45px;
}

.top_menu_lbtn ul li:nth-child(4) a::before {
 content: "";
 display: block;
 background: url(../img/serch_r.png);

 background-size: contain;
 background-repeat: no-repeat;
 width: 49px;
 height: 45px;
}

.top_menu_lbtn ul li:nth-child(3) a,
.top_menu_lbtn ul li:nth-child(4) a {
 padding: 10px 0;
}

.top_menu_lbtn ul li a span {
 display: block;
 font-size: 2.5vw;
 line-height: 16px;
 font-weight: 500;
}

.top_menu_r {
 text-align: center;
 padding: 20px 0;
}

.top_menu_r ul {
 display: flex;
 flex-wrap: wrap;
}

.top_menu_r ul li {
 width: 24%;
 margin-right: 1%;
}

.top_menu_r ul li a {
 display: block;
 width: 100%;
 height: 96%;
 border: 2px solid #011a02;
 color: #011a02;
 box-sizing: border-box;
 padding: 10px 0;
 font-size: 2.8vw;
 font-weight: bold;
 margin-bottom: 5%;
}

.top_menu_r ul::after {
 content: none;
}

.top_menu_r ul li a:hover {
 background: #e5f6d1;
}

.top_menu_r ul li a::before {
 content: "";
 display: block;
 background: url(../img/tmenu_icon09.png);
 background-repeat: no-repeat;
 background-position: center;
 background-size: contain;
 width: 50px;
 height: 40px;
 margin: 0 auto 10px;
}

.top_menu_r ul li:nth-child(2) a::before {
 background: url(../img/tmenu_icon10.png);

 background-repeat: no-repeat;
 background-position: center;
 background-size: contain;

}

.top_menu_r ul li:nth-child(3) a::before {
 background: url(../img/tmenu_icon03.png);

 background-repeat: no-repeat;
 background-position: center;
 background-size: contain;

}

.top_menu_r ul li:nth-child(4) a::before {
 background: url(../img/tmenu_icon01.png);
 background-repeat: no-repeat;
 background-position: center;
 background-size: contain;

}

.top_menu_r ul li:nth-child(5) a::before {
 background: url(../img/tmenu_icon02.png);
 background-repeat: no-repeat;
 background-position: center;
 background-size: contain;
}

.top_menu_r ul li:nth-child(6) a::before {
 background: url(../img/tmenu_icon04.png);
 background-repeat: no-repeat;
 background-position: center;
 background-size: contain;

}

.top_menu_r ul li:nth-child(7) a::before {
 background: url(../img/tmenu_icon07.png);
 background-repeat: no-repeat;
 background-position: center;
 background-size: contain;

}

.top_menu_r ul li:nth-child(8) a::before {
 background: url(../img/tmenu_icon05.png);
 background-repeat: no-repeat;
 background-position: center;
 background-size: contain;

}

.top_menu_r ul li:nth-child(9) a::before {
 background: url(../img/tmenu_icon06.png);
 background-repeat: no-repeat;
 background-position: center;
 background-size: contain;

}

.top_menu_r ul li:nth-child(10) a::before {
 background: url(../img/tmenu_icon_awards.png);
 background-repeat: no-repeat;
 background-position: center;
 background-size: contain;

}


.top_menu_r ul li:nth-child(11) a::before {
 background: url(../img/tmenu_icon08.png);
 background-repeat: no-repeat;
 background-position: center;
 background-size: contain;

}

/*  top_cms */
.top_cms_wrap {
 width: 100%;
 background: #fbf1f2;
 position: relative;
 z-index: 5;
}

.top_cms_inner {
 width: 100%;
 margin: 0 auto;
 position: relative;
 padding: 40px 5%;
 overflow: hidden;
 z-index: 5;
 box-sizing: border-box;
}

.top_cms_inner::before {
 content: "";
 display: block;
 background: url(../img/cms_bg_icon.png);
 background-size: contain;
 background-repeat: no-repeat;
 width: 50%;
 height: 140px;
 position: absolute;
 top: -30px;
 right: 0px;
}

.top_info {
 padding: 20px 15px;
 background: #fff;
 position: relative;
 margin-top: 80px;
 box-sizing: border-box;
}

.top_info::before {
 content: "";
 display: block;
 background: url(../img/info_img.png);
 background-size: contain;
 background-repeat: no-repeat;
 background-position: center;
 width: 80px;
 height: 95px;
 position: absolute;
 top: -77px;
 right: 22%;
 z-index: -1;
}


.top_nb::before {
 content: "";
 display: block;
 background: url(../img/nb_img.png);
 background-size: contain;
 background-repeat: no-repeat;
 background-position: center;
 width: 68px;
 height: 74px;
 position: absolute;
 top: -65px;
 right: 18%;
 z-index: -1;
}

.top_info iframe {
 display: block;
 width: 100%;
 height: 210px;
}

.top_nb {
 margin-top: 100px;
}

.top_info h2 {
 border-radius: 10px 10px 0 0;
 text-align: center;
 line-height: 60px;
 font-size: 4vw;
 font-weight: bold;
 letter-spacing: 0.1em;
 background: #fff;
 position: absolute;
 top: -60px;
 left: 0;
 margin: 0;
 box-sizing: border-box;
 padding: 0 25px 0 50px;
}

.top_info h2::before {
 content: "";
 display: block;
 background: url(../img/info_icon.png);
 width: 25px;
 height: 25px;
 position: absolute;
 top: 18px;
 left: 15px;
}

.top_nb h2::before {
 background: url(../img/nb_icon.png);
}

.top_info_con {
 height: 210px;
 overflow-y: auto;
 -webkit-overflow-scrolling: touch;
 overflow-scrolling: touch;

}

.top_info_con ul {}

.top_info_con ul {
 list-style: none;
}

.top_info_con ul li a {
 display: block;
 padding: 15px 0;
 border-bottom: 1px solid #ccc;
 color: #000;
 font-size: 14px;
 text-decoration: none;
}

.top_info_con ul li a p {
 font-size: 14px;
 line-height: 28px;
 display: -webkit-box;
 display: -ms-flexbox;
 -webkit-box-orient: vertical;
 -ms-flex-direction: column;
 -webkit-line-clamp: 2;
 overflow: hidden;
 margin: 10px 0 0;
}

.top_info_day {
 font-size: 14px;
 font-weight: 500;
 letter-spacing: 0.05em;
 margin-right: 10px;
}

.top_nb_tag,
.top_info_tag label {
 display: inline-block;
 line-height: 30px;
 padding: 0 15px;
 text-align: center;
 color: #ffa8aa;
 font-weight: bold;
 font-size: 13px;
 letter-spacing: 0.05em;
 border-radius: 5px;
 margin: 0;
 background: #fff;
 border: 1px solid #ffa8aa;
}

.top_info_tag label {
 background: #8bc34a;
 border: none;
 color: #fff;
 margin-left: 5px;
}

.top_cms_btn a {
 display: block;
 width: 80%;
 line-height: 51px;
 height: 55px;
 box-sizing: border-box;
 color: #000;
 background: #fff;
 border-radius: 30px;
 font-size: 4vw;
 letter-spacing: 0.1em;
 border: 2px solid #000;
 margin-bottom: 5px;
 text-align: center;
 margin: 30px auto 20px;
 font-weight: bold
}

.top_cms_btn a:hover {
 background: #3a8f3e;
 color: #fff;
}

.top_nb .top_cms_btn a {}

.top_nb .top_cms_btn a:hover {
 background: #ffa8aa;
 color: #fff;
}

.top_blog_wrap {
 background: #fff;
 position: relative;
 margin-top: 100px;
 padding: 20px 15px;
 box-sizing: border-box;
}

.top_blog_wrap h2 {
 border-radius: 10px 10px 0 0;
 text-align: center;
 line-height: 60px;
 font-size: 4vw;
 font-weight: bold;
 letter-spacing: 0.1em;
 background: #fff;
 position: absolute;
 top: -60px;
 left: 0;
 margin: 0;
 box-sizing: border-box;
 padding: 0 25px 0 50px;
}

.top_blog_wrap h2::before {
 content: "";
 display: block;
 background: url(../img/blog_icon.png);
 width: 25px;
 height: 29px;
 position: absolute;
 top: 15px;
 left: 15px;
}

.top_blog_wrap iframe {
 display: block;
 width: 100%;
 height: 305px;
}

.top_blog_con ul {}

.blog_img {
 width: 100%;
 height: 180px;
 overflow: hidden;
 display: block;
}

.blog_img img {
 width: 100%;
 height: 180px !important;
 overflow: scroll;
 object-fit: cover;
 transition: 0.5s;
}

.top_blog_con ul li a {
 display: block;
 padding: 0 0 20px;
 border-bottom: 1px solid #ccc;
}

.top_blog_con ul li a:hover img {
 transform: scale(1.1, 1.1);
 transition: 0.5s;
}

.blog_ti {
 display: -webkit-box;
 display: -ms-flexbox;
 -webkit-box-orient: vertical;
 -ms-flex-direction: column;
 -webkit-line-clamp: 1;
 overflow: hidden;
 color: #3a8f3e;
 font-size: 16px;
 font-weight: 500;
 margin: 20px 0 15px;
}

.top_blog_con ul li a p {
 display: -webkit-box;
 display: -ms-flexbox;
 -webkit-box-orient: vertical;
 -ms-flex-direction: column;
 -webkit-line-clamp: 2;
 overflow: hidden;
 font-size: 14px;
 line-height: 22px;
 height: 44px;
 margin: 0;
 color: #000;
}


/*  bnr_list */

.bnr_list_wrap {
 margin: 40px auto;
 overflow: hidden;
}

.bnr_slider li {
 width: 280px;
 margin: 0 10px;
}

.bnr_slider li img {
 width: 100%;
}

.bnr_list_wrap a:hover {
 opacity: 0.8;
}

/*  instagram */
.insta_wrap {
 width: 90%;
 margin: 40px auto;
 text-align: center;
}


.insta_ti {
 display: inline-block;
 font-size: 3.5vw;
 font-weight: bold;
 line-height: 25px;
 letter-spacing: 0.1em;
 margin-bottom: 15px;
 position: relative;
}

.insta_ti::before {
 content: "";
 display: inline-block;
 background: url(../img/insta_icon.png);
 width: 25px;
 height: 25px;
 position: absolute;
 left: -15px;
 top: 0;
}

.insta_con {
 margin: 20px auto;
}

.insta_con p {
 font-size: 3vw;
 line-height: 22px;
 font-weight: 500;
 text-align: left;
 letter-spacing: 0.05em;
}

.insta_con a {
 display: block;
 width: 80%;
 height: 70px;
 text-align: center;
 border: 1px solid #4b4b4b;
 line-height: 68px;
 font-size: 14px;
 font-weight: bold;
 color: #4b4b4b;
 margin: 20px auto 0;
}

.insta_con a:hover {
 background: #4b4b4b;
 color: #fff;
}

.insta_ar {
 position: relative;
}

.insta_ar a {
 display: block;
 width: 100%;
 height: 100%;
 position: absolute;
 left: 0;
 top: 0;
}


/*  company */

.com_wrap {
 width: 100%;
 background: url(../img/com_bg.png);
 background-size: contain;
 background-repeat: no-repeat;
 padding-top: 80px;
}

.com_inner {
 width: 94%;
 background: #fff;
 border-radius: 30px 30px 0 0;
 padding: 4% 4% 0;
 margin: 0 auto 80px;
 box-sizing: border-box;
}

.com_btn ul {
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 padding-top: 100px;
}

.com_btn ul::after {
 content: none;
}

.com_btn ul li {
 z-index: 1;
 width: 32%;
}

.com_btn ul li a {
 display: block;
 background: #fff;
 text-align: center;
 border: 1px solid #3a8f3e;
 border-radius: 30px;
 color: #3a8f3e;
 font-size: 3.5vw;
 font-weight: bold;
 line-height: 33px;
 position: relative;
 box-shadow: 0 2px 4px rgb(0 0 0 / 15%);
}


.com_btn ul li a:hover {
 color: #fff;
 background: #3a8f3e;
}

.com_btn ul li a::after {
 content: "";
 display: block;
 background: url(../img/com_icon01.png);
 background-size: contain;
 background-repeat: no-repeat;
 width: 90%;
 height: 100px;
 position: absolute;
 top: -100px;
 left: 5%;
 z-index: -1;
}

.com_btn ul li:nth-child(2) a::after {
 background: url(../img/com_icon02.png);
 background-size: contain;
 background-repeat: no-repeat;
 width: 100%;
 left: 0;
}

.com_btn ul li:nth-child(3) a::after {
 background: url(../img/com_icon03.png);
 background-size: contain;
 background-repeat: no-repeat;
}

.com_link {}

.com_link ul {
 margin: 15px auto 0;
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}

.com_link ul li {
 width: 50%;
 z-index: 1;

}

.com_link ul li:nth-child(1) a {
 border-radius: 10px 0 0 0;
}

.com_link ul li:nth-child(2) a {
 border-radius: 0 10px 0 0;
}

.com_link ul li:nth-child(3) a {
 border-radius: 0 0 0 10px;

}

.com_link ul li:nth-child(4) a {
 border-radius: 0 0 10px 0;

}

.com_link ul li a {
 display: block;
 height: 80px;
 position: relative;
 background: url(../img/com_btn_bg01.png);
 background-position: center;
 background-size: cover;
 overflow: hidden;
 z-index: 1;
}

.com_link ul li a::before {
 content: "";
 display: block;
 width: 250px;
 height: 100px;
 background: rgba(0, 0, 0, 0.3);
 position: absolute;
 right: 0;
 top: 0;
 z-index: 1;
}


.com_link ul li:nth-child(2) a {
 background: url(../img/com_btn_bg02.png);
 background-position: center;
 background-size: cover;
}

.com_link ul li:nth-child(3) a {
 background: url(../img/com_btn_bg03.png);
 background-position: center;
 background-size: cover;
}

.com_link ul li:nth-child(4) a {
 background: url(../img/com_btn_bg04.png);
 background-position: center;
 background-size: cover;
}

.com_link ul li a span {
 display: block;
 background: #8bc34a;
 width: 55%;
 line-height: 35px;
 text-align: center;
 color: #fff;
 font-size: 3.5vw;
 font-weight: bold;
 position: absolute;
 right: 0;
 bottom: 0;
 z-index: 5;
 border-radius: 10px 0 0 0;
}

.com_link ul li a:hover::before {
 background: rgba(0, 0, 0, 0.1);

}

/*-- タブ切り替え --*/
.tab {
 cursor: pointer;
}

.panel {
 display: none;
}

.tab.is-active {
 transition: all 0.2s ease-out;
}

.panel.is-show {
 display: block;
}

.tab-group {
 margin: 0 auto 10px;
 display: flex;
 justify-content: space-between;
}

.tab-group li {
 width: 49%;
 height: 35px;
 line-height: 33px;
 border: 3px solid #eee;
 text-align: center;
 background: #eee;
 font-size: 12px;
 font-weight: bold;
 letter-spacing: 0.1em;
 position: relative;
 box-sizing: border-box;
 transition: .3s;
 border-radius: 5px;
}

.tab-group li:hover {
 border: 2px solid #aaa;
 transition: .3s;
}

.tab-group li span {
 font-size: 20px;
 font-weight: bold;
}

.tab.is-active {
 border: 2px solid #ffa8aa !important;
 background: #ffa8aa;
 color: #fff;
}

.tab.is-active::after {
 content: "";
 display: block;
 width: 0;
 height: 0;
 border-top: 10px solid transparent;
 border-left: 10px solid #ffa8aa;
 border-bottom: 10px solid transparent;
 position: absolute;
 left: 47%;
 bottom: -15px;
 transform: rotate(90deg);
 transition: .3s;
}

.top_chintai_new iframe {
 display: block;
 width: 100%;
 height: 210px;
 overflow-y: scroll;
 list-style: none;
 border: none;
}

.top_info_con ul li a p span {
 font-weight: bold;
 margin-left: 10px;
 font-size: 14px;
 color: #ff181d;
}

.top_info_con ul {
 padding: 0;
 margin: 0;
}

.top_info_con ul li {
 list-style: none;
}

.top_info_con ul li p {
 margin: 0;
}

.top_info_con ul li a {
 text-decoration: none;
}

/*------------------tokusen-----------------------*/

.tokusen_wrap {
 width: 90%;
 margin: 60px auto;
 color: #000;
}

.tokusen_wrap h2 {
 display: -webkit-flex;
 display: -moz-flex;
 display: -ms-flex;
 display: -o-flex;
 display: flex;
 align-items: center;
 justify-content: center;
 flex-direction: column;
 font-size: 20px;
 font-weight: bold;
 letter-spacing: 0.05em;
 line-height: 24px;
 margin: 0px 0 15px;
}

.tokusen_wrap h2::before {
 content: "";
 display: block;
 background: url(../img/tokusen_icon.png);
 background-repeat: no-repeat;
 background-size: contain;
 width: 38px;
 height: 40px;
 margin-bottom: 15px;
}

.tokusen_wrap p {
 font-size: 14px;
 font-weight: 500;
 letter-spacing: 0.05em;
 text-align: center;
 margin: 0 0 30px;
}

.tokusen_wrap ul {}

.tokusen_wrap ul li {
 box-sizing: border-box;
 background: #fff;
 border: 1px solid #ccc;
 overflow: hidden;
 margin-bottom: 30px;
}

.tokusen_wrap ul li a {
 color: #000;
}

.tokusen_img {
 position: relative;
}

.tokusen_img img {
 width: 100%;
 height: 220px !important;
 object-fit: cover;
 transition: .3s;
}

.tokusen_kakaku {
 display: inline-block;
 padding: 0 15px;
 line-height: 45px;
 background: rgba(255, 255, 255, .9);
 color: #ff2524;
 font-weight: bold;
 font-size: 20px;
 letter-spacing: 0.05em;
 position: absolute;
 right: 0;
 bottom: 0;
}

.tokusen_ti {
 margin: 20px 0 15px;
 padding: 0 15px;
 font-size: 16px;
 line-height: 20px;
 letter-spacing: 0.05em;
 font-weight: bold;
 color: #000;
 display: -webkit-box;
 display: -ms-flexbox;
 -webkit-box-orient: vertical;
 -ms-flex-direction: column;
 -webkit-line-clamp: 1;
 overflow: hidden;
}

.tokusen_add {
 padding: 0 15px;
 font-size: 13px;
 line-height: 25px;
 font-weight: bold;
 display: -webkit-box;
 display: -ms-flexbox;
 -webkit-box-orient: vertical;
 -ms-flex-direction: column;
 -webkit-line-clamp: 1;
 overflow: hidden;
 align-items: center;
}

.tokusen_add i {
 color: #3a8f3e;
 margin-right: 10px;
 font-size: 18px;
}

.tokusen_md {
 padding: 0 15px;
 font-size: 13px;
 line-height: 20px;
 font-weight: bold;
 margin-bottom: 15px;
 display: -webkit-box;
 display: -ms-flexbox;
 -webkit-box-orient: vertical;
 -ms-flex-direction: column;
 -webkit-line-clamp: 1;
 overflow: hidden;
}

.tokusen_more a {
 display: block;
 width: 80%;
 line-height: 55px;
 text-align: center;
 color: #fff;
 background: #000;
 border-radius: 40px;
 font-size: 14px;
 font-weight: bold;
 letter-spacing: 0.05em;
 margin: 20px auto 0;
}

/*------------------/tokusen-----------------------*/
.com_menu ul {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 margin: 0 auto;
}

.com_menu ul::after {
 content: none;
}

.com_menu ul li {
 width: 49%;
 margin-bottom: 2%;
}

.com_menu ul li a {
 display: block;
 background: #f5f5f5;
 border-radius: 10px;
 font-size: 15px;
 font-weight: bold;
 color: #111;
 letter-spacing: 0.05em;
 text-align: center;
 position: relative;
 padding: 20px 0;
 box-sizing: border-box;
 overflow: hidden;
}

.com_menu ul li a::before {
 content: "";
 display: block;
 background: url(../img/com_menu_ar.png);
 background-size: contain;
 background-repeat: no-repeat;
 width: 30px;
 height: 30px;
 position: absolute;
 right: 0;
 bottom: 0;
}

.com_menu ul li a img {
 display: block;
 margin: 0 auto 10px;
 height: 70px ! IMPORTANT;
 object-fit: contain;
 object-position: center;
}
