@charset "utf-8";
/* CSS Document */
html{width:100%; overflow-x: hidden;}
body { font-family: "Shippori Mincho", serif; font-weight: 400; font-style: normal; font-size: 16px; line-height: 1.8; background: #fff; margin: 0; }


.shippori-mincho-regular { font-family: "Shippori Mincho", serif; font-weight: 400; font-style: normal; }
.shippori-mincho-bold { font-family: "Shippori Mincho", serif; font-weight: 700; font-style: normal;}

.cormorant-regular { font-family: "Cormorant", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; }
.cormorant-bold { font-family: "Cormorant", serif; font-optical-sizing: auto; font-weight: 700; font-style: normal; }


/* common */
strong{font-weight: 700;}
.wrap{width: 1100px; margin: 0 auto; position:relative;}
a{transition: all 0.3s ease; color: #000; text-decoration: none;}
a:hover{opacity: 0.6;}
.bg_green{background: #AFC8AD;}
.bg_dgreen{background: #88AB8E;}
.bg_ash{background: #f2f1f1;}
.bg_brown{background: #EEE7DA;}
.bg_white{background: #FFF;}
.normal_section{padding: 80px 0; margin: 0;}
.wide_section{padding: 120px 0; margin: 0;}
.fsm{font-size: 14px; line-height: 2.5;}
.sm{font-size: 12px; line-height: 14px;}
.t-center{text-align: center;}
.mgt_30{margin-top: 30px;}
.mgb_30{margin-bottom: 30px;}

.h2_wrap{text-align: center;}
.h2_title {font-family: "Cormorant", serif; font-optical-sizing: auto; font-weight: 700; font-style: normal; font-size: 24px; margin: 0 auto 50px auto; text-align: center; position: relative; display: inline-block; padding: 0; white-space: nowrap;}
.h2_title::after {content: ""; position: absolute; bottom: -15px; left: 50%; transform: translateX(-50%); width: 150px; height: 1px; background-color: #828282;}
.h2_title2 {font-family: "Shippori Mincho", serif; font-weight: 700; font-style: normal; font-size: 20px; margin: 0 auto 50px auto; text-align: center; position: relative; display: inline-block; padding: 0; white-space: nowrap;}
.h2_title2::after {content: ""; width: 150px; height: 1px; background: #828282; position: absolute; left: 50%; transform: translateX(-50%); bottom: -5px;}
.h2_title3 {font-family: "Shippori Mincho", serif; font-weight: 700; font-style: normal; font-size: 20px; margin: 0 auto 50px auto; text-align: center; position: relative; display: inline-block; padding: 0; white-space: nowrap;}

.h2_privacy{font-size: 20px; font-weight: 700; margin: 50px 0 15px 0;}
.ta_right{text-align: right;}

.section_lead{text-align: center;}
.flex4list{display: flex; list-style: none; justify-content: space-around; margin: 50px 0 0 0;}
.flex4list li{width: 21%; text-align: center;}
.flex4list li.list_full{width: 100%; text-align: center;}
.flex4list li img{width: 100%; height: auto;}
.flex4list li p{font-family: "Cormorant", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; font-size: 18px;}

.flex3list{display: flex; list-style: none; justify-content: space-around; margin: 50px 0 0 0;}
.flex3list li{width: 21%; text-align: center;}
.flex3list li img{width: 100%;}

.flex3list2{display: flex; list-style: none; justify-content: space-between; margin: 50px 0 0 0;}
.flex3list2 li{width: 28%; text-align: center;}
.flex3list2 li img{width: 100%;}


.more_white{width: 300px; margin: 50px auto 0 auto; text-align: center; background: none; transition: all 0.3s ease;}
.more_white a{ display: block; padding: 10px 0; border:1px solid #828282; }
.more_white:hover{background: rgba(255, 255, 255, 0.3);}

.more_green{width: 300px; margin: 50px auto 0 auto; text-align: center; background: none; transition: all 0.3s ease;}
.more_green a{ display: block; padding: 10px 0; border:1px solid #828282; }
.more_green:hover{background: rgba(136, 171, 142, 0.3);}


.separater {font-family: "Cormorant", serif; font-optical-sizing: auto; font-weight: 700; font-style: normal; display: flex; align-items: center; font-weight: bold; font-size: 18px; margin: 50px 0; }
.separater::after { content: ""; flex-grow: 1; height: 1px; background-color: #828282; margin-left: 20px; }

.column_list{display: flex; list-style: none; gap:5%; flex-wrap: wrap; margin: 50px 0 80px 0;}
.column_list li{width: 21%; text-align: left; margin-bottom: 30px;}
.column_list li a img{width: 100%; height: auto;}
.column_list li p{ font-size: 14px;  overflow-wrap: break-word;}

.column_list2{display: flex; list-style: none; justify-content: space-between; flex-wrap: wrap; margin: 0 ;}
.column_list2 li{width: 231px; text-align: left; margin-bottom: 30px;}
.column_list2 li a img{width: 100%;}
.column_list2 li p{ font-size: 16px;  overflow-wrap: break-word;}

.column_list_read{display: flex; list-style: none; gap:5%; flex-wrap: wrap; margin: 50px 0 80px 0;}
.column_list_read li{width: 30%; text-align: left; margin-bottom: 30px;}
.column_list_read li a img{width: 100%; height: auto;}
.column_list_read li p{ font-size: 14px;  overflow-wrap: break-word;}


.col_thumb_title{font-size: 18px; font-weight: 700; text-align: left; margin-bottom: 10px;}
.thumb_exp{display: flex; justify-content:space-between; margin: 10px 0;}
.tags{font-size: 14px; padding:3px 10px; background: #EEE7DA; margin-left: 10px;}

.cat_wrap{display: flex; justify-content: space-between;}
.list_wrap{ width: 70%;}
.ranking{width: 25%;}
.ranking_list{list-style: none;}
.ranking_list li{width: 100%; margin-bottom: 50px;}
.ranking_list li a{display: block;}
.ranking_list li a img{width: 100%; height: auto;}
.rank_left{width:73px;}
.ranku_num{background: #88AB8E; text-align: center; padding: 3px 0; margin-bottom: 5px;}
.rank_left img{width: 100%;}
.rank_right{width: calc(100% - 83px);}
.rank_title{font-size: 16px; font-weight: 700;}
.rank_exp{word-break: break-all;}


.com_shop_list{display: flex; list-style: none; justify-content: center; gap:58px; flex-wrap: wrap; margin: 50px 0 0 0;}
.com_shop_list li{width: 21%; text-align: left; margin-bottom: 40px;}
.com_shop_list li a img{width: 100%;}
.shopname{border-left:3px solid #306B50; padding: 1px 0 1px 10px; font-family: "Cormorant", serif; font-optical-sizing: auto; font-weight: 700; font-style: normal; font-size: 18px !important; margin-bottom: 10px;}
.com_shop_list p{font-size: 14px;}

.btn_white{display: flex; justify-content: space-around; width: 80%; margin: 50px auto 0 auto;}
.btn_white a{width: 300px; margin: 50px auto 0 auto; text-align: center; display: block; padding: 10px 0; border:1px solid #828282; background: none; transition: all 0.3s ease;}
.btn_white a:hover{background: rgba(255, 255, 255, 0.3);}

.top_pic { height: 400px; display: flex; align-items: center; justify-content: center; color: white; font-size: 40px; overflow: hidden; text-align: center; background-position: center center; background-size: cover; background-repeat: no-repeat; }
.company_top { background-image: url("images/company_top.png"); }
.service_top { background-image: url("images/service_top.png"); }
.garden_top { background-image: url("images/garden_top.png"); }
.reading_top { background-image: url("images/reading_top.png"); }
.news_top { background-image: url("images/news_top.png"); }
.recruit_top { background-image: url("images/recruit_top.png"); }
.concept_top { background-image: url("images/concept_top.png"); height: 800px !important;}
.contact_top { background:#88AB8E; height: 200px; display: flex; align-items: center; justify-content: center; color: white; font-size: 40px; overflow: hidden; text-align: center; background-position: center center; background-size: cover; background-repeat: no-repeat;}


.breadclumb{background: #E5E5E5;}
.breadclumb p{font-family: "Cormorant", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; font-size: 16px; padding: 10px 0;}

.column_slider { display: flex; margin: 30px auto 50px auto; }
.column_slider li { width:230px !important; margin:0 22px; }
.column_slider li img{width: 100%;}
.com_slider_title{margin: 15px 0;}

.gardening_slider { display: flex; margin: 0 auto 0 auto; }
.gardening_slider li { width:230px !important; margin:0 22px; }
.gardening_slider li img{width: 100%;}
.gardening_navi { display: flex; justify-content: space-around; align-items: center; width: 50%; margin: 50px auto; }
.gardening_navi p { font-size: 20px; }
.gardening_navi a img { width: 80px; height: auto; }

.forpc{display: block;}
.forsp{display: none;}


/* header */
header { padding: 30px 0 0 0; border-bottom: 1px solid #828282; text-align: center; position: relative; z-index: 1; }
header .wrap { width: 1100px; margin: 0 auto; }
.header_logo { margin-bottom: 30px; display: block; margin-left: auto; margin-right: auto; }
.nav_con{position:relative; height:70px;}
header .sns_btn{position:absolute;top:50%;right:0;transform:translateY(-50%);display:flex;gap:20px;}
.sns_btn { display: flex; gap: 20px; }
.glnavi { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: flex; list-style: none; margin: 0; padding: 0; white-space: nowrap; }
.glnavi li { display: block; font-family: "Cormorant", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; font-size: 20px; }
.glnavi li a { color: #000; background: none; padding: 20px 30px; text-decoration: none; transition: all 0.3s ease; }
.glnavi li a:hover, .has-megamenu:hover > a { color: #fff; background: #88AB8E; opacity: 1; }
.has-megamenu { position: static; }
.megamenu_bg { opacity: 0; visibility: hidden; pointer-events: none; position: absolute; top: 53px; left: 50%; transform: translateX(-50%); width: 100vw; background: rgba(255, 255, 255, 0.95); padding: 30px 0; z-index: 10; border-top: 1px solid #828282; transition: opacity 0.4s ease, visibility 0.5s ease;}
.has-megamenu:hover .megamenu_bg { opacity: 1; visibility: visible; pointer-events: auto;}
.megamenu_wrap { width: 1100px; margin: 0 auto; padding-left: 0px; }
.megamenu { display: flex; justify-content: flex-start; gap: 35px;  }
.megamenu_shop { display: flex; justify-content: flex-start; gap: 35px; flex-wrap: wrap;  }
.menu_item { display: flex; flex-direction: column; align-items: center; text-align: center; color: #000; }
.menu_item a{padding: 0 !important;}
.menu_item:hover{opacity: 0.6;}
.menu_item img { width: 190px; height: auto; margin-bottom: 0px; align-self: flex-start;}
.menu_item p{font-size: 14px; line-height: 1.5;}
.megamenu_wrap .separater {margin:20px 0; }

.floatbanner{width:250px; position: fixed; right: 0; bottom: 20px; z-index: 9999;transform: translateX(100%); opacity: 0; transition: all 0.5s ease;}
.floatbanner.show { transform: translateX(0); opacity: 1; }
.floatbanner img{width: 40px; height: auto;}
.mailbanner a, .linebanner a{display: flex; gap:10px; align-items: center; color: #fff; padding: 15px; text-decoration: none;}
.mailbanner a{background:#88AB8E;}
.linebanner a{background:#00B800;}
/* footer */
footer{padding: 50px 0; background: #88AB8E; position: relative;}
footer .wrap { max-width: 1100px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; position: relative; }
.ftnavi { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px 30px; padding: 0; list-style: none; font-family: "Cormorant", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; }
.ftnavi li { margin: 0; }
.ftnavi li a{color: #fff;}
.topnavi { margin-bottom: 20px; }
.bottomnavi { margin-top: 0; }
.sns_btn { position: absolute; top: 0; right: 0; display: flex; gap: 10px; }
.sns_btn a img { width: 24px; height: 24px; }
.copyright { font-size: 12px; margin-top: 30px; color: #fff;}
.footerlogo{margin:0 auto 50px auto; display: block;}

/*index*/
.top_slider { display: flex; margin: 30px auto 0 auto; width: 1400px; }
.top_slider li { margin: 0 10px; width: 30%; }
.top_slider li img{width: 100%; height: auto;}
.slider_navi { display: flex; justify-content: space-around; align-items: center; width: 50%; margin: 50px auto; }
.slider_navi p { font-size: 20px; }
.slider_navi a img { width: 80px; height: auto; }
.slider_navi2 { display: flex; justify-content: space-around; align-items: center; width: 75%; margin: 10px auto 10px 80px; }
.slider_navi2 p { font-size: 20px; }
.slider_navi2 a img { width: 80px; height: auto; }
.slider_navi3 { display: flex; justify-content: space-around; align-items: center; width: 75%; margin: 10px 80px 10px auto; }
.slider_navi3 p { font-size: 20px; }
.slider_navi3 a img { width: 80px; height: auto; }

.slider_exp{display: flex; gap: 30px; align-items: center; margin: 20px 0; padding: 0 20px;}
.time{font-size: 14px;}
.tag{font-size: 14px; padding:3px 10px; background: #EEE7DA;}
.slider_lead{width: calc(100% - 40px); font-size: 18px; font-weight: 700; padding: 0 20px; overflow-wrap: break-word;}

.column_cat{display: flex; justify-content: space-between; margin: 50px 0 0 0; list-style: none;}
.column_cat li{width: 30%;}
.column_cat li img{width: 100%;}

/* company */
.content_felx { display: flex; justify-content: space-between; align-items: center; }
.content_felx img { width: 600px; height: auto; }
.content_felx p { width: 400px; margin-left: 20px; text-align: justify; }

.content_felx2 { display: flex; justify-content: space-between; align-items: center; }
.content_felx2 img { width: 600px; height: auto; }
.content_felx2 p { width: 400px; margin-left: 10px; text-align: justify; }


.company_info{width: 600px; margin: 50px auto; border: none;}
.company_info td{padding: 15px;}
.map { width: 800px; margin: 50px auto 0 auto; }
.map iframe { width: 100%; height: 370px; border: 0; filter: grayscale(100%); }

/* service */
.service_menu{display:flex;justify-content:center;list-style:none;margin:50px auto;padding:0;width:100%;max-width:1100px;}
.service_menu li{position:relative;display:flex;align-items:center;padding:0 30px;}
.service_menu li:not(:last-child)::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:14px;background:#7c3a2d;}
.service_menu a{color:#000;text-decoration:none;font-size:16px;padding:5px 0;display:inline-block;}
.service_menu a:hover{opacity:0.6;}


.service_block{display:flex;justify-content:space-between;align-items:center;gap:0;margin:100px auto;position:relative;}
.service_slider{position:relative; width:500px; z-index:10; margin-right:-75px; overflow:hidden;} /* ← overflow必要 */
.service_slider2{position:relative; width:500px; z-index:10; margin-left:-75px; overflow:visible;} /* ← overflow必要 */
.service_slider3{position:relative; width:500px; z-index:20; margin-left:-75px; overflow:hidden;} /* ← overflow必要 */
.slide_item{box-sizing:border-box;}
.slide_item img{width:100%;height:auto;display:block;}
.arrow{position: absolute; bottom: -40px; width: 30px; height: 30px; cursor: pointer; background: none; border: none; z-index: 10; opacity: 1 !important; display: block !important;}
.arrow_l{left:90px;}
.arrow_r{right:150px;}
.service_text{width:770px; height:500px; padding:60px 40px; box-sizing:border-box; display:flex; justify-content:center;align-items:center;text-align:center;z-index:1;}
.service_text .h2_title{font-size: 24px;}
.service_text_inner{max-width:100%;}
.inner_right{margin-left: 13%;}
.inner_left{margin-left: -7%;}

.service_text p{text-align:left;}
.service_text p strong{display:block;margin-bottom:20px;}

/* garden design*/
.content_flex_area { display: flex; justify-content: space-between; }
.content_flex_area img { width: 500px; height: auto; align-self: flex-start;}
.area_txt {width: 550px;}
.area_txt .h2_title{margin-bottom: 30px;}
.area_txt p{margin-bottom: 20px; text-align: justify; font-size: 14px; line-height: 26px;}
.area_txt strong{font-size: 18px;}

.flow_box{display:flex; align-items:center; width:800px; margin:0 auto; position:relative; gap: 40px; margin-bottom: 150px;}
.flow_box:not(:last-of-type)::after{content:""; display:block; width:30px; height:30px; background:url('images/flow_pol.png') no-repeat center/contain; position:absolute; bottom:-80px; left:50%; transform:translateX(-50%);}
.flow_box:last-of-type{margin-bottom:0;}

.step_box{background:#88AB8E; width: 75px;}
.step_box img{width: 100%;}
.flow_title{width: 29%; font-size: 20px; font-weight: 700;}
.flow_exp{width: 50%;}
h3.faq_title{text-align: center; font-family: "Shippori Mincho", serif; font-weight: 700; font-style: normal; font-size: 24px; padding:0 ; display: table; margin: 0 auto 50px auto;}
.faq_box{width:800px; margin:0 auto 80px auto; position:relative;}
.faq_box::after{content:""; display:block; width:400px; height:1px; background:#CFCFCF; margin:30px auto 0 auto;}
.ques{display:flex; align-items:flex-start; align-items: flex-start; gap:20px; color:#306B50; margin-bottom:20px; font-size: 18px; font-weight: 700;}
.ques span{font-size: 30px; font-family: "Cormorant", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; line-height: 1;}
.ans{display:flex; align-items:flex-start; gap:20px; color:#000; margin-bottom:20px; font-size: 16px;}
.ans span{font-size:30px; font-family:"Cormorant",serif; font-optical-sizing:auto; font-weight:400; font-style:normal; flex-shrink:0; line-height: 1;}
.works_con{width: 100%;}

.works_pic{display: flex; justify-content: space-between; flex-wrap: wrap;}
.works_pic img{width: 45% !important; height: auto !important; align-self: flex-start; margin-bottom: 50px;}

/* news */
.news_list{list-style: none; margin: 50px 0 80px 0;}
.news_list li {margin-bottom: 50px;}
.news_list li a{display: flex;}
.news_list li a img{width: 230px; margin-right: 20px;}
.news_list li a div { width: calc(100% - 250px); }
.news_list li p.time{ font-size: 14px;}
.news_list li p.title{ font-size: 18px; font-weight: 700;}
.news_list li p{ font-size: 16px; overflow-wrap: break-word;}
.news_list .thumb_exp{margin: 0;}

/* reading */
.column_wrap{ width: 70%; padding: 50px 0 0 0;}
.full_pic{width:100%; height: auto !important;}
.column_title{font-size: 24px; font-weight: 700; line-height: 1.2; margin-top: 50px;}
.column_title span{font-size: 16px; font-weight: 700;}
.column_exp{position: relative; display: flex; margin: 30px 0;}
.column_tag a{background: #EEE7DA; padding: 3px 5px; margin-right: 15px; font-size: 14px; border-radius: 5px;}
.column_time{font-size: 14px; right: 0; position: absolute;}
.maincolumn_text{margin-top: 80px; width: 100%; min-width: 0; overflow-wrap: break-word; word-break: break-word; line-break: anywhere;}
.maincolumn_text p{font-size: 16px; white-space: normal !important; display: block; overflow-wrap: break-word; word-break: break-word; line-break: strict; word-break: break-word; text-align: justify; margin-bottom: 50px;}
.maincolumn_text h3{margin:80px auto 30px auto; text-align: center; font-size: 20px; font-weight: 700;}
.voice{margin: 20px 0; display: inline-block;display: block; overflow-wrap: break-word; word-break: break-word; line-break: strict; word-break: break-word;}
.next_page{margin: 80px auto 50px auto; display: flex; justify-content: space-between; align-items: flex-start;}
.next_box{width: 150px;}
.next_box p{font-weight: 700; margin-bottom: 10px; font-size: 14px; line-height: 19px;}
.next_box img{width:100%;}
.arrow_box{width:100%; display: flex; justify-content: space-between; align-items: center; font-size: 18px; margin-bottom: 10px;}
.arrow_box img{width:67px;}
.next_page .more_green{margin: 0;}

/* news */
.news_detail{display: flex; justify-content: space-between;}
.news_detail img{width:400px; align-self: flex-start;}
.news_con{width: 650px;}
.news_title{font-size: 24px; font-weight: 700; line-height: 1.2; margin-bottom: 50px;}
.news_text{font-size: 16px; white-space: normal !important; display: block; overflow-wrap: break-word; word-break: break-word; line-break: strict; word-break: break-word; text-align: justify; margin-bottom: 50px;}

/* shop */
.shop_list{list-style: none; margin: 0 0 80px 0;}
.shop_list li {margin-bottom: 50px; border-bottom: 1px solid #CFCFCF; padding-bottom: 20px;}
.shop_list li a{display: flex;}
.shop_list li a img{width: 230px; margin-right: 20px;}
.shop_list li a div { width: calc(100% - 250px); }
.shop_list li p.time{ font-size: 14px;}
.shop_list li p.title{border-left:3px solid #306B50; padding: 1px 0 1px 10px; font-family: "Cormorant", serif; font-optical-sizing: auto; font-weight: 700; font-style: normal; font-size: 18px; margin-bottom: 10px;}
.shop_list li p{ font-size: 16px; overflow-wrap: break-word;}

.shop_left{width:340px;}
.shop_left p{text-align: justify;}
.shop_left .separater{margin: 80px 0 30px 0;}
.shop_left .map { width: 340px; margin: 50px auto 0 auto; }
.shop_left .map iframe { width: 100%; height: 200px; border: 0; filter:none; }
.shop_right{width:700px;}
.shop_right .news_list{list-style: none; margin: 0;}
.shop_right .news_list li {margin-bottom: 64px;}
.shop_right .news_list li:last-child {margin-bottom: 0px;}
.shop_right .news_list li a img{width: 180px; height: auto !important; margin-right: 50px; align-self: flex-start;}
.shop_right .news_list li a div { width:100%; }

.shop_con{display: flex; justify-content: space-between; margin-bottom: 50px;}
.shop_subphoto{width:340px;}
.shop_subphoto img{width:100%;}
.shop_subphoto_thumbs{margin-top: 10px; display: flex; justify-content: space-between; flex-wrap: wrap; list-style: none;}
.shop_subphoto_thumbs li{width:30%; margin-bottom: 10px;}
.shop_subphoto_thumbs li img{width:100%}
.shop_photo_main{width:700px; align-self: flex-start;}


/* rectuit */
.recruit_title{background: #88AB8E; text-align: center; padding: 10px 0; color: #fff;font-family: "Shippori Mincho", serif; font-weight: 700; font-style: normal; font-size: 20px;}

.recruit_list{list-style: none; margin: 50px 0 80px 0; display: flex; justify-content: space-between; flex-wrap: wrap;}
.recruit_list li{border:1px solid #929292; width: 47%; margin-bottom: 50px;}
.recruit_list li a{ display: flex; justify-content: space-between; }
.recruit_list li a img{width:150px; padding: 15px;}
.recruit_list li a .recruit_text{width: 300px; padding: 15px; position: relative;}
.recruit_list li a .recruit_arrow_box{width: 30px; background: #686868; display: flex; align-items: center;}
.recruit_list li a .recruit_arrow_box img{width:12px; margin: 0 auto; padding: 0;}
.fee{position: absolute; bottom: 15px; border-top: 1px solid #000; padding-top: 10px; width: calc(100% - 45px);}
.recruit_table{width: 800px; border-collapse: collapse; margin: 50px auto 80px auto;}
.recruit_table th{text-align: left; font-weight: 700; padding: 20px 0; border-bottom: 1px solid #000; width: 20%;}
.recruit_table td{text-align: left;  padding: 20px 0; border-bottom: 1px solid #000;}

/* concept */
.concept_lead{text-align: center; line-height: 48px;}

.concept_box1{width:100%; position:relative; display:flex; align-items:center; margin: 80px 0;}
.con_pic1{width:360px; z-index:2;}
.con_pic1 img{width:100%; margin-bottom:30px;}
.con_pic1 img:last-child{margin-bottom:0;}
.concept_textbox1{background:#AFC8AD; padding:80px 80px 80px 120px; text-align:center; width:570px; position:absolute; left:330px; z-index:1;}
.concept_textbox1 p{text-align:left; line-height: 36px;}
.cocept_box2 {width:100%; position:relative; display:flex; align-items:center; margin: 0;}
.cocept_box2 img{width: 504px;}
.concept_textbox2{padding: 50px; background: #EEE7DA;}
.concept_textbox2 p{line-height: 36px;}

/* contact */
.contact_wrap{width:800px; margin: 0 auto;}
.contact_link_btn{border:1px solid #929292; width: 500px; margin: 50px auto; transition: all 0.3s ease;}
.contact_link_btn a{display: block; text-align: center; padding: 20px; text-decoration: none;}
.contact_link_btn a:hover{background: rgba(255, 255, 255, 0.3);}
.contact_link_btn a img{margin-left: 50px; width: 80px;}
.req{color: #c40101;}
.contact_txt{margin-top: 50px; text-align: left; font-size: 18px;}
.single_form{border:1px solid #929292; padding: 15px 30px; font-size: 16px; text-align: left; margin: 20px 0 0 0; width: 100%;}
.sbmt_green{width: 300px; margin: 50px auto 0 auto; text-align: center; display: block; padding: 20px 0; background:#AFC8AD; border: none; cursor: pointer; font-size: 18px; font-family: "Cormorant", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal;}
.submit_btns{margin: 50px auto 0 auto; width: 100%; display: flex; justify-content: space-between;}
.formsubmit{width: 300px; margin: 50px auto 0 auto; text-align: center; display: block; padding: 20px 0; background:#AFC8AD; border: none; cursor: pointer; font-size: 18px; font-family: "Cormorant", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal;}

/* privacy */
.pp_con p {text-align: justify;}
.pp_con ul{margin: 0 0 50px 30px;}
.pp_con ol{margin: 0 0 50px 30px;}

/* instagram profile */
.profile{background: url(images/insta_top.png) center; background-size: cover; height: 188px;}
.profile_section{padding: 50px 0 0 0; text-align: center;}
.profile_txt{line-height: 48px; font-size: 16px;}
.profile_btn{display: flex; justify-content: space-between; margin: 50px auto 0 auto; width: 95%;}
.profile_btn a{width:30%; color: #000; background: #AFC8AD; text-align: center; padding: 10px 0; border-radius: 10px; display: flex; align-items: center; line-height: 20px; justify-content: center;}

@media screen and (max-width: 767px) {

/* common */
html, body {  width: 100%; overflow-x: hidden; }

.wrap{width: 95%; margin: 0 auto; position:relative;}

.h2_title {margin: 0 auto 20px auto; white-space: wrap; width: 95%;}
.h2_title2 {margin: 0 auto 40px auto; white-space: wrap; width: 95%;}
.separater { margin: 50px 0 20px 0; }
.normal_section{padding: 30px 0; margin: 0;}
.wide_section{padding: 50px 0; margin: 0;}

.section_lead{text-align: justify; width: 95%; margin: 30px auto 0 auto;}
.fsm{font-size: 14px; line-height: 30px;}


.flex4list{flex-wrap:wrap; width: 95%; margin: 50px auto 0 auto; gap: 10%;}
.flex4list li{width: 45%; margin-bottom: 20px;}
.flex4list li.list_full{width: 100%; text-align: center;}

.flex3list{display: flex; list-style: none; justify-content: space-around; width: 95%; margin: 50px auto 0 auto;}
.flex3list li{width: 100%; text-align: center;}

.flex3list2{display: flex; list-style: none; justify-content: space-around; width: 95%; margin: 50px auto 0 auto;}
.flex3list2 li{width: 32%; text-align: center;}

.wide_section .t-center{width: 95%; margin: 0 auto; text-align: justify;}

.column_list{display: flex; justify-content: flex-start; gap:10%; margin: 30px auto 50px auto; width: 95%;}
.column_list li{width: 45%; text-align: left; margin-bottom: 30px;}
.column_list_read{display: flex; justify-content: flex-start; gap:10%; margin: 30px auto 50px auto; width: 95%;}
.column_list_read li{width: 45%; text-align: left; margin-bottom: 30px;}
.com_shop_list{gap:10%; justify-content: flex-start; width: 95%; margin: 30px auto 0 auto;}
.com_shop_list li{width: 45%; text-align: left; margin-bottom: 30px;}

.forpc{display: none;}
.forsp{display: block;}

.floatbanner{width:100%; display: flex; position: fixed; right: 0; bottom: 0; z-index: 9999;transform: translatey(100%); opacity: 0; transition: all 0.5s ease;}
.floatbanner.show { transform: translateX(0); opacity: 1; }
.floatbanner img{width: 30px; height: auto;}
.mailbanner, .linebanner{width:50%;}
.mailbanner a, .linebanner a{height: 100%; box-sizing: border-box; line-height: 20px; border-top: 1px solid #fff;}
.top_pic { height: 107px; color: white; font-size: 30px; background-size: cover;}

.concept_top { background-image: url("images/concept_top.png"); height: 200px !important; background-size: cover;}
.contact_top { background:#88AB8E; height: 107px; font-size: 30px; }

.next_page{margin: 30px auto 50px auto; display: flex; justify-content: space-between; align-items: flex-start; width: 95%;}



/* header */
header { padding: 15px 0 0 0; }

header .wrap { width: 95%; margin: 0 auto; }
.header_logo { margin-bottom: 20px; margin-left: 5%; width: 60%; height: auto;}
.nav_con{display: none;}
.glnavi{display: none;}
header .sns_btn{display: none;}
.sns_btn{display: none;}

/* footer */
footer{padding: 20px 0;}
.ftnavi { display: none; }
.footerlogo{margin:0 auto 20px auto;}
.copyright { font-size: 14px; margin-top: 20px;}


/* index */
.top_slider { display: flex; margin: 30px auto 0 auto; width: 100%; }
.slider_navi { width: 95%; margin: 30px auto 50px auto;}

.column_cat{display: flex; justify-content: flex-start; flex-wrap: wrap; width: 95%; margin: 30px auto 0 auto; list-style: none;}
.column_cat li{width: 100%; margin-bottom: 20px;}
.column_cat li img{width: 100%;}

.slider_exp{padding: 0 10px;}
.slider_lead{ padding: 0 10px; width: calc(100% - 20px);}


/* concept */
.concept_lead{text-align: justify; font-size: 14px; line-height: 32px; width: 95%; margin: 0 auto;}
.concept_box1{width:95%; position:unset; display:block; margin: 50px auto;}
.con_pic1{width:100%; z-index:2; display: flex; justify-content: space-between; }
.con_pic1 img{width:45%; margin-bottom:0;}
.con_pic1 img:last-child{margin-bottom:0;}
.concept_textbox1{padding:50px 30px 30px 30px; width:calc(100% - 60px); position: unset; margin: -20px 0 0 0;}
.concept_textbox1 p{text-align:left; line-height: 30px; font-size: 14px; line-height: 32px; }
.cocept_box2 {width:95%; position:unset; display:block;  margin: 50px auto;}
.cocept_box2 img{width: 100%;}
.concept_textbox2{padding: 50px 30px 30px 30px; background: #EEE7DA;}
.concept_textbox2 p{ font-size: 14px; line-height: 32px; }
.concept_box1 .h2_title2{font-size: 16px;}
.concept_box2 .h2_title2{font-size: 16px;}

/* company */
.content_felx { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; }
.content_felx img { width: 95%; height: auto; margin: 0 auto 30px auto; }
.content_felx p { width: 95%; margin: 0 auto 0 auto; }

.content_felx2 { display: block; justify-content: space-between; align-items: center; }
.content_felx2 img { width: 95%; height: auto; margin: 30px auto 0 auto; display: block;}
.content_felx2 p { width: 95%; margin: 0 auto; text-align: justify; }

.company_info{width: 95%; margin: 30px auto; border: none;}
.company_info tr{ margin-bottom: 20px; display: block;}
.company_info td{padding: 5px; width: calc(100% - 10px); display: flex;}
.map { width: 95%; margin: 30px auto 0 auto; }
.map iframe { width: 100%; height: 250px; border: 0; filter: grayscale(100%); }

/* news */
.news_list{width: 95%; list-style: none; margin: 30px auto 50px auto; display: flex; gap:10%; flex-wrap: wrap;}
.news_list li {width: 45%; margin-bottom: 50px;}
.news_list li a{display: block;}
.news_list li a img{width: 100%; height: auto; margin-right: 20px;}
.news_list li a div { width: 100%; }

.news_detail{display: block;}
.news_detail img{width:95%; height: auto; margin: 0 auto; display: block;}
.news_con{width: 95%; margin: 20px auto 0 auto; display: block;}
.news_title{font-size: 24px; font-weight: 700; line-height: 1.2; margin-bottom: 50px;}
.news_text{font-size: 16px; white-space: normal !important; display: block; overflow-wrap: break-word; word-break: break-word; line-break: strict; word-break: break-word; text-align: justify; margin-bottom: 50px;}

/* rectuit */
.recruit_title{background: #88AB8E; text-align: center; padding: 10px 0; color: #fff;font-family: "Shippori Mincho", serif; font-weight: 700; font-style: normal; font-size: 20px;}

.recruit_list{width: 95%; list-style: none; margin: 30px auto 50px auto; display: flex; justify-content: space-between; flex-wrap: wrap;}
.recruit_list li{width: 100%; margin-bottom: 30px;}
.recruit_list li a{ display: flex; justify-content: flex-start; gap: 5px; }
.recruit_list li a img{width:100px; padding: 5px; height: auto; align-self: flex-start;}
.recruit_list li a .recruit_text{width: 100%; padding: 5px; position: unset;}
.recruit_list li a .recruit_arrow_box{width: 30px; padding: 0 5px;}
.recruit_list li a .recruit_arrow_box img{width:12px; margin: 0 auto; padding: 0;align-self:center;}
.fee{position: unset; bottom: 0px; border-top: 1px solid #000; padding-top: 5px; width: calc(100% - 10px);}
.recruit_table{width: 95%; border-collapse: collapse; margin: 30px auto 50px auto;}
.recruit_table th{text-align: left; font-weight: 700; padding: 10px 0 0 0; border-bottom: none; width: 100%; display: block;}
.recruit_table td{text-align: left;  padding: 5px 0 0 0; border-bottom: 1px solid #000;width: 100%; display: block;}

/* reading */
.column_wrap{ width: 95%; padding: 0 ; margin: 0 auto;}
.full_pic{width:100%; height: auto !important;}
.column_title{font-size: 24px; font-weight: 700; line-height: 1.2; margin-top: 50px;}
.column_title span{font-size: 16px; font-weight: 700;}
.column_exp{position: relative; display: flex; margin: 30px 0;}
.column_tag a{background: #EEE7DA; padding: 3px 5px; margin-right: 15px; font-size: 14px; border-radius: 5px;}
.column_time{font-size: 14px; right: 0; position: absolute;}
.maincolumn_text{margin-top: 80px; width: 100%; min-width: 0; overflow-wrap: break-word; word-break: break-word; line-break: anywhere;}
.maincolumn_text p{font-size: 16px; white-space: normal !important; display: block; overflow-wrap: break-word; word-break: break-word; line-break: strict; word-break: break-word; text-align: justify; margin-bottom: 50px;}
.maincolumn_text h3{margin:80px auto 30px auto; text-align: center; font-size: 20px; font-weight: 700;}
.voice{margin: 20px 0; display: inline-block;display: block; overflow-wrap: break-word; word-break: break-word; line-break: strict; word-break: break-word;}
.ranking{display: none;}

/* shop */
.shop_list{list-style: none; margin: 0 auto 50px auto; width: 95%; gap:10%; display: flex; flex-wrap: wrap;}
.shop_list li {margin-bottom: 30px; border-bottom:none; padding-bottom: 0; width: 45%;}
.shop_list li a{display: block;}
.shop_list li a img{width: 100%; height: auto; margin-right: 0;}
.shop_list li a div { width: 100%; }
.shop_list li p.time{ font-size: 14px;}
.shop_list li p.title{border-left:3px solid #306B50; padding: 1px 0 1px 10px; font-family: "Cormorant", serif; font-optical-sizing: auto; font-weight: 700; font-style: normal; font-size: 18px; margin-bottom: 10px;}
.shop_list li p{ font-size: 16px; overflow-wrap: break-word;}

.shop_left{width:95%; margin: 0 auto;}
.shop_left p{text-align: justify;}
.shop_left .separater{margin: 50px 0 30px 0;}
.shop_left .map { width: 100%; margin: 50px auto 0 auto; }
.shop_left .map iframe { width: 100%; height: 200px; border: 0; filter:none; }
.shop_right{width:95%; margin: 0 auto;}
.shop_right .news_list{list-style: none; margin: 0; width: 100% !important;}
.shop_right .news_list li {margin-bottom: 20px;}
.shop_right .news_list li:last-child {margin-bottom: 0px;}
.shop_right .news_list li a img{width: 100%; height: auto !important; margin-right: 0;}
.shop_right .news_list li a div { width: 100%; }

.shop_con{display: block; justify-content: space-between; margin:0 auto 50px auto; width: 95%;}
.shop_subphoto{width:100%; height: auto;}
.shop_subphoto img{width:100%;}
.shop_subphoto_thumbs{margin-top: 10px; display: flex; justify-content: space-between; flex-wrap: wrap; list-style: none;}
.shop_subphoto_thumbs li{width:30%; margin-bottom: 10px;}
.shop_subphoto_thumbs li img{width:100%}
.shop_photo_main{width:100%; height: auto; margin: 0 0 20px 0;}

/* service */
.service_menu{display:none;}

.service_block{display:block; margin:50px auto; position:unset; width:95%;}
.service_slider{position:unset; width:100%; z-index:10; margin-right:0; overflow:hidden;} /* ← overflow必要 */
.service_slider2{position:unset; width:100%; z-index:10; margin-left:0; overflow:visible;} /* ← overflow必要 */
.service_slider3{position:unset; width:100%; z-index:20; margin-left:0; overflow:hidden;} /* ← overflow必要 */
.slide_item{box-sizing:border-box;}
.slide_item img{width:100%;height:auto;display:block;}
.arrow{position: absolute; bottom: -40px; width: 30px; height: 30px; cursor: pointer; background: none; border: none; z-index: 10; opacity: 1 !important; display: block !important;}
.arrow_l{left:90px;}
.arrow_r{right:150px;}
.service_text{width:100%; height:auto; padding:30px; box-sizing:border-box; display:flex; justify-content:center;align-items:center;text-align:center;z-index:1;}
.service_text .h2_title{font-size: 24px; margin-bottom: 50px;}
.service_text_inner{margin-left: 0;}
.service_text p{text-align:justify}
.service_text p strong{display:block;margin-bottom:20px; text-align: center;}
.slider_navi2 {width: 100%; margin: 10px auto 10px auto; }
.slider_navi2 p { font-size: 20px; }
.slider_navi2 a img { width: 80px; height: auto; }
.slider_navi3 {width: 100%; margin: 10px auto 10px auto; }
.slider_navi3 p { font-size: 20px; }
.slider_navi3 a img { width: 80px; height: auto; }


/* contact */
.contact_wrap{width:90%; margin: 0 auto;}
.contact_link_btn{border:1px solid #929292; width: 80%; margin: 50px auto;}
.contact_link_btn a img{margin-left: 0; width: 80px;}
.single_form{border:1px solid #929292; padding: 15px; font-size: 16px; text-align: left; margin: 20px 0 0 0; width: calc(100% - 30px);}
/* garden design*/
.content_flex_area { display: block; }
.content_flex_area img { width: 95%; height: auto; margin:20px auto 0 auto; display: block;}
.area_txt {width: 95%; margin: 20px auto 0 auto;}
.area_txt .h2_title{margin-bottom: 30px;}
.area_txt p{margin-bottom: 20px; text-align: justify; font-size: 14px; line-height: 26px;}
.area_txt strong{font-size: 18px;}

.flow_box{display:flex; align-items:center; width:95%; margin:30px auto 0  auto; position:relative; flex-wrap: wrap; gap: 10px; margin-bottom: 110px;}
.flow_box:not(:last-of-type)::after{content:""; display:block; width:30px; height:30px; background:url('images/flow_pol.png') no-repeat center/contain; position:absolute; bottom:-65px; left:50%; transform:translateX(-50%);}
.flow_box:last-of-type{margin-bottom:50px;}

.step_box{background:#88AB8E; width: 60px;}
.step_box img{width: 100%;}
.flow_title{width: calc(100% - 130px); font-size: 20px; font-weight: 700;}
.flow_exp{width: 100%;}
h3.faq_title{text-align: center; font-family: "Shippori Mincho", serif; font-weight: 700; font-style: normal; font-size: 24px; padding:0 ; display: table; margin: 0 auto 50px auto;}
.faq_box{width:95%; margin:0 auto 50px auto; position:relative;}
.faq_box::after{content:""; display:block; width:400px; height:1px; background:#CFCFCF; margin:30px auto 0 auto;}
.ques{display:flex; align-items:flex-start; align-items: flex-start; gap:20px; color:#306B50; margin-bottom:20px; font-size: 18px; font-weight: 700;}
.ques span{font-size: 30px; font-family: "Cormorant", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; line-height: 1;}
.ans{display:flex; align-items:flex-start; gap:20px; color:#000; margin-bottom:20px; font-size: 16px;}
.ans span{font-size:30px; font-family:"Cormorant",serif; font-optical-sizing:auto; font-weight:400; font-style:normal; flex-shrink:0; line-height: 1;}
.works_con{width: 95%; margin: 0 auto;}

.works_pic{display: block; }
.works_pic img{width: 100% !important; height: auto !important; align-self: flex-start; margin-bottom: 50px;}

.column_slider { display: block; margin: 30px auto 50px auto; width:95%; }
.column_slider li { width:339px !important; margin:0 auto; }
.column_slider li img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; height: auto !important; }

}