@charset "utf-8";/* CSS Document */
.pcno { display:none;}
img { max-width:100%;}
#navArea{ display:none;}
/*▼ 初期化 ▼*/
body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, ul, li, blockquote, th, td, tr, img { padding:0px;margin:0px;font-size:16px;line-height:1.5em;letter-spacing:1px;color:#333;-webkit-text-size-adjust:100%;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,"Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;}

table { border-collapse:collapse;}
ul, li { list-style:none;}
h1, h2, h3, h4, h5, h6, .more{ padding:0px;margin:0px;font-size:100%;font-weight:normal;}
h2,h3{ font-family:"Zen Maru Gothic", sans-serif;}
a { overflow:hidden;outline:none;}
img { border:none;vertical-align:bottom;max-width:100%;}
video{ max-width:100%;}
table td { border:none;vertical-align:top;}
.text99 { text-indent:-9999px;}
a{-webkit-transition:0.5s;-moz-transition:0.5s;-ms-transition:0.5s;transition:0.5s;}
a:hover { text-decoration:none;}
a:hover { opacity:0.5;filter:alpha(opacity=50);-webkit-transition:0.5s;-moz-transition:0.5s;-ms-transition:0.5s;transition:0.5s;}
*{ box-sizing:border-box;}
/*▲ 初期化 ▲*/


/*▼エリア・背景設定▼*/
body{ background:#e6f7f2;min-width:1200px;}
#body-top{}
h1{ width:1px;height:1px;overflow:hidden;position:absolute;left:-9999px;}


/*----------  ヘッダー header  ----------*/
/*----------  ヘッダー header  ----------*/
/*----------  ヘッダー header  ----------*/
#header{ width:100%;height:880px;position:absolute;left:0;top:0;z-index:5;pointer-events:none;}
#header #hmid{ width:1250px;height:880px;margin:auto;position:relative;}
#header .left{ width:320px;position:absolute;left:0;top:30px;pointer-events:auto;}
#header .logo{ text-align:center;margin-bottom:25px;}
#header .logo a{ text-decoration:none;display:inline-block;}
#header .logo img{ display:block;margin:20px auto 15px;}
#header .logo .p-name{ font-size:28px;font-weight:bold;color:#2a9048;}
#header .logo .p-name span{ display:block;font-size:16px;font-weight:500;letter-spacing:1px;line-height:1.2em;}
#header .logo .p-01{ font-size:15px;font-weight:500;letter-spacing:normal;margin-top:7px;}

#header .right{ float:right;width:520px;position:absolute;right:0;top:30px;pointer-events:auto;text-align:right;}
#header .right .contact .mail{ background:#ff9933;margin-right:25px;}
#header .right .contact .mail span{ background:#ff9933 url(../images/common/ico-mail.png)center 15px no-repeat;width:50px;height:50px;border-radius:50%;position:absolute;left:-20px;top:-8px;}
#header .right .contact .tel{ background:#2a9048;letter-spacing:normal;}
#header .right .contact .tel span{ background:#2a9048 url(../images/common/ico-tel.png)center 15px no-repeat;width:50px;height:50px;border-radius:50%;position:absolute;left:-20px;top:-8px;}




#header .service-mini ul{ overflow:hidden;padding:10px 10px;}
#header .service-mini li{ width:140px;float:left;margin:0 15px 15px 0;text-align:center;font-family:"Zen Maru Gothic", sans-serif;}
#header .service-mini li a{ background:#fff;border-radius:8px;box-shadow:0 4px 10px rgba(0,0,0,.12);padding:65px 5px 10px;display:block;text-decoration:none;position:relative;}
#header .service-mini li:nth-child(2n){ margin-right:0;}
#header .service-mini img{ height:70px;position:absolute;left:0;right:0;top:0px;margin:auto;}
#header .service-mini span{ font-size:15px;font-weight:bold;color:#2a9048;display:block;line-height:1.4em;}
#header .mini-contact{ text-align:center;margin-top:3px;white-space:nowrap;}
#header .mini-contact a{ color:#fff;display:inline-block;border-radius:5px;font-size:14px;font-weight:bold;padding:5px 15px 5px 30px;text-decoration:none;position:relative;overflow:inherit;}
#header .mini-contact .mail{ background:#ff9933;margin-right:25px;}
#header .mini-contact .mail span{ background:#ff9933 url(../images/common/ico-mail.png)center 15px no-repeat;width:50px;height:50px;border-radius:50%;position:absolute;left:-20px;top:-8px;}
#header .mini-contact .tel{ background:#2a9048;letter-spacing:normal;}
#header .mini-contact .tel span{ background:#2a9048 url(../images/common/ico-tel.png)center 15px no-repeat;width:50px;height:50px;border-radius:50%;position:absolute;left:-20px;top:-8px;}


/*----------  メインビジュアル mp  ----------*/
/*----------  メインビジュアル mp  ----------*/
/*----------  メインビジュアル mp  ----------*/
#hmp{ background:#e7f8f3;overflow:hidden;position:relative;}
#hmp:after{ content:"";background:url(../images/home/mp.png)center center no-repeat;background-size:cover;width:1200px;height:700px;position:absolute;left:calc(50% - 260px);top:70px;}
#hmp .area-01{ width:1200px;height:850px;margin:auto;position:relative;z-index:2;}
#hmp .copy{ background:#248f4c;width:350px;height:350px;border-radius:50%;color:#fff;position:absolute;left:400px;top:30px;padding:65px 0 0 72px;}
#hmp .copy p{ font-size:38px;font-weight:bold;color:#fff;line-height:1.65em;}
#hmp .copy span{ color:#111;font-family:cursive;font-size:42px;white-space:nowrap;position:absolute;left:0px;right:0;text-align:center;bottom:25px;transform:rotate(-3deg);}

#hmp .mp-title{ background:#fff;width:700px;min-height:100px;position:absolute;left:100px;bottom:40px;box-shadow:0 3px 12px rgba(0,0,0,.12);padding:15px 20px 15px 220px;z-index:3;border-radius:10px;}
#hmp .mp-title strong{ background:#2a9048;font-size:24px;font-weight:bold;color:#fff;width:200px;height:100%;display:flex;align-items:center;justify-content:center;position:absolute;left:0;top:0;border-radius:10px 0 0 10px;}
#hmp .mp-title p{ font-size:16px;color:#333;line-height:1.7em;}

#contact #mp .maru{ background:#ff992f;color:#fff;width:130px;height:130px;border-radius:50%;font-size:17px;font-weight:bold;line-height:1.4em;text-align:center;position:absolute;right:140px;bottom:35px;z-index:4;padding-top:25px;}
#contact #mp .maru b{ font-size:29px;color:#fff;display:block;}
#side-contact{display:none; text-indent:-9999px;}



/*----------  下層 mp  ----------*/
/*----------  下層 mp  ----------*/
/*----------  下層 mp  ----------*/
#company #mp:after{content:"";display:block;width:100%; height:550px;background:url(../images/company/mp.png) center center no-repeat;}
#service #mp:after{content:"";display:block;width:100%; height:550px;background:url(../images/service/mp.png) center center no-repeat;}
#price #mp:after{content:"";display:block;width:100%; height:550px;background:url(../images/price/mp.png) center center no-repeat;}
#contact #mp:after{content:"";display:block;width:100%; height:550px;background:url(../images/contact/mp.png) center center no-repeat;}
#mp:after{content:"";display:block;width:100%; height:550px;background:url(../images/contact/mp.png) center center no-repeat;}


#mp .mp-title{ background:#fff; width:700px; min-height:100px; position:absolute; left:300px; top:380px; box-shadow:0 3px 12px rgba(0,0,0,.12); padding:20px 20px 20px 220px; z-index:3; border-radius:10px;display:flex;align-items:center;}
#mp .mp-title strong{ background:#2a9048; font-size: 24px; font-weight: bold; color:#fff; width:200px; height:100%; display:flex; align-items:center; justify-content:center; position:absolute; left:0; top:0; border-radius:10px 0 0 10px;}
#mp .mp-title p{ font-size:16px; color:#333; line-height:1.7em;}

#header .left{ width:320px;position:absolute;left:0;top:0;pointer-events:auto;}
#header .logo{ text-align:center;}
#header .logo a{ text-decoration:none;display:inline-block;}
#header .logo img{ display:block;margin:20px auto 15px;}
#header .logo .p-name{ font-size:28px;font-weight:bold;color:#2a9048;text-shadow: 1px 1px 2px #fff, -1px -1px 2px #fff, 1px -1px 2px #fff, -1px 1px 2px #fff, 0 0 6px rgba(255, 255, 255, 0.8);}
#header .logo .p-name span{ display:block;font-size:16px;font-weight:500;letter-spacing:1px;line-height:1.2em;text-shadow: 1px 1px 2px #fff, -1px -1px 2px #fff, 1px -1px 2px #fff, -1px 1px 2px #fff, 0 0 6px rgba(255, 255, 255, 0.8);}
#header .logo .p-01{ font-size:13px;font-weight:500;letter-spacing:normal;text-shadow: 1px 1px 2px #fff, -1px -1px 2px #fff, 1px -1px 2px #fff, -1px 1px 2px #fff, 0 0 6px rgba(255, 255, 255, 0.8);}



#contact #mp .maru{ background:#ff992f;color:#fff;width:130px;height:130px;border-radius:50%;font-size:17px;font-weight:bold;line-height:1.4em;text-align:center;position:absolute;right:140px;bottom:35px;z-index:4;padding-top:25px;}
#contact #mp .maru b{ font-size:29px;color:#fff;display:block;}
#side-contact{display:none; text-indent:-9999px;}




/*----------  ナビ navi  ----------*/
/*----------  ナビ navi  ----------*/
/*----------  ナビ navi  ----------*/
#navi{ background:#fff;width:1080px;margin:auto;border-radius:9px;}
#navi ul{ text-align:center;}
#navi li{ font-size:17px;font-weight:550;display:inline-block;font-family:"Zen Maru Gothic", sans-serif;}
#navi a{ color:#333;display:block;line-height:78px;padding:0 55px;text-decoration:none;position:relative;}
#navi li+li a:before{ content:"";background:#c7e2cf;width:2px;height:40px;position:absolute;left:0;top:20px;}
#navi a:hover{ opacity:1;transition:0.3s;color:#2a9048;}
#navi a:after /*ナビ下線*/{ content:"";position:absolute;left:0;right:0;bottom:15px;width:80%;height:2px;background:#2a9048;transform:scale(0, 1);transition:0.3s;margin:auto;}
#navi a:hover:after{ transform:scale(1);}




/*----------  フッター footer  ----------*/
/*----------  フッター footer  ----------*/
/*----------  フッター footer  ----------*/
#footer{ background:#f5e9da;text-align:center;}
#footer #fnavi{ background:#fff;}

#footer #fnavi ul{ display:inline-block;overflow:hidden;}
#footer #fnavi li{ font-size:15px;font-weight:550;float:left;font-family:"Zen Maru Gothic", sans-serif;}
#footer #fnavi a{ color:#333;display:block;line-height:78px;padding:0 55px;text-decoration:none;position:relative;}
#footer #fnavi li+li a:before{ content:"";background:#c7e2cf;width:2px;height:40px;position:absolute;left:0;top:20px;}
#footer #fnavi a:hover{ opacity:1;transition:0.3s;color:#2a9048;}
#footer #fnavi a:after /*ナビ下線*/{ content:"";position:absolute;left:0;right:0;bottom:15px;width:80%;height:2px;background:#2a9048;transform:scale(0, 1);transition:0.3s;margin:auto;}
#footer #fnavi a:hover:after{ transform:scale(1);}

#footer .logo{ text-align:center;padding-top:50px;margin-bottom:40px;}
#footer .logo a{ display:inline-block;text-decoration:none;}
#footer .logo img{ display:block;margin:0 auto 15px;}
#footer .logo .p-name{ font-size:36px;font-weight:bold;color:#2a9048;letter-spacing:10px;}
#footer .logo .p-name span{ display:block;font-size:16px;font-weight:500;letter-spacing:1px;line-height:1.2em;}
#footer .logo .p-01{ font-size:15px;font-weight:500;letter-spacing:normal;margin-top:7px;}


#footer #tamonten { clear:both;text-align:center;font-size:10px;padding:10px 0;}
#footer #tamonten a { display:block;cursor:default;color:#4c4949;text-decoration:none;opacity:1;filter:alpha(opacity=100);}


/* 追従ボタン */
#fixd-btn{ position:fixed;top:150px;right:0;z-index:2;}
#fixd-btn a{ background:#ff9933 url(../images/common/ico-mail.png)20px 22px no-repeat;background-size:23px auto;padding:20px 15px;border-radius:10px 0 0 10px;display:block;text-decoration:none;text-align:center;margin-bottom:20px;}
#fixd-btn a p{ font-size:16px;font-weight:bold;color:#fff;-ms-writing-mode:tb-rl;writing-mode:vertical-rl;text-orientation:upright;display:inline-block;margin:30px 0 0 5px;letter-spacing:3px;}
#fixd-btn a p img{ margin-bottom:10px;}
#fixd-btn a.tel{ background:#2a9048 url(../images/common/ico-tel.png)23px 15px no-repeat;background-size:18px auto;}






/*----------  共通 common  ----------*/
/*----------  共通 common  ----------*/
/*----------  共通 common  ----------*/
.box{ width:1200px;margin:auto;padding:70px 0;}
.h2-01{ background:url(../images/common/h2-01.png)center top no-repeat;font-size:28px;font-weight:bold;color:#248b4d;text-align:center;margin-bottom:60px;padding:25px 0 0;}

.bk-green{ background:#d1ead9;padding:80px 0 0;}


.more{ width:300px;font-size:18px;font-weight:bold;margin:45px auto 0;}
.more a{ background:#2a9048;color:#fff;display:block;border-radius:6px;text-align:center;text-decoration:none;position:relative;padding:20px 0;}
.more a:after{ font-size:18px;content:"▶";position:absolute;right:28px;top:20px;}



/*----------  ホーム home  ----------*/
/*----------  ホーム home  ----------*/
/*----------  ホーム home  ----------*/
#home .bk-green{ background:#d1ead9;padding:80px 0 0px;position:relative;}
#home .bk-green:after{ content:"";width:0;height:0;border-left:50vw solid transparent;border-right:50vw solid transparent;border-top:250px solid #d1ead9;position:absolute;left:0;bottom:-250px;}

#home #box-01{ padding:80px 0 20px;}
#home #box-01 .area-01{ width:1080px;overflow:hidden;margin:0 auto 80px;}
#home #box-01 .area-01 .entry{ background:#fff;width:320px;height:220px;float:left;margin-right:60px;border-radius:8px;text-align:center;overflow:hidden;padding:30px 20px 0;position:relative;}
#home #box-01 .area-01 .entry:last-child{ margin-right:0;}
#home #box-01 .area-01 h3{ font-size:20px;color:#2a9048;line-height:1.7em;}
#home #box-01 .area-01 img{ position:absolute;left:0;right:0;bottom:0;margin:auto;}

#home #box-01 .demolition{ width:1080px;height:260px;margin:auto;border-radius:8px;overflow:hidden;position:relative;}
#home #box-01 .demolition .tb{ background:#2a9048;width:65%;height:100%;color:#fff;position:absolute;left:0;top:0;z-index:2;clip-path:polygon(0 0,100% 0,87% 100%,0 100%);padding:35px 0 0 55px;}
#home #box-01 .demolition .tb p{ font-size:36px;font-weight:bold;color:#fff;line-height:1.7em;}
#home #box-01 .demolition .tb span{ background:#fff;font-size:34px;color:#2a9048;display:inline-block;border-radius:4px;padding:0 10px;margin-bottom:10px;}
#home #box-01 .demolition .tb strong{ font-size:1.4em;text-decoration:underline;text-decoration-color:#f2de2b;text-decoration-thickness:5px;text-underline-offset:4px;}
#home #box-01 .demolition .photo{ width:45%;height:100%;float:right;}
#home #box-01 .demolition .photo img{ width:100%;height:100%;object-fit:cover;object-position:center 25%;}

#home #box-02{ padding-top:340px;}
#home #box-02 .area-01{ overflow:hidden;padding:10px 10px;}
#home #box-02 .entry{ width:360px;float:left;margin:0 40px 40px 0;text-align:center;position:relative;}
#home #box-02 .entry a{ background:#fff;position:relative;text-decoration:none;display:block;box-shadow:0 3px 12px rgba(0,0,0,.14);}
#home #box-02 .entry:nth-child(3n){ margin-right:0;}
#home #box-02 .photo{ width:100%;height:210px;overflow:hidden;}
#home #box-02 .photo img{ width:100%;height:100%;object-fit:cover;}
#home #box-02 .icon{ background:#fff;width:92px;height:55px;border-radius:50% 50% 0 0/100% 100% 0 0;position:absolute;left:134px;top:180px;padding-top:5px;}
#home #box-02 .icon img{ width:60px;}
#home #box-02 h3{ font-size:21px;font-weight:bold;color:#2a9048;padding:40px 0 30px;}

.bk-price{ background:#d1ead9;margin-top:30px;padding:100px 0 90px;border-radius:50% 50% 0 0/90px 90px 0 0;}
#home #box-03{ padding:0;}
#home #box-03 .area-01{ width:800px;margin:auto;position:relative;}
#home #box-03 .entry{ background:#fff;height:120px;margin-bottom:20px;border-radius:0 15px 0 15px;padding:0 60px;position:relative;overflow:hidden;}
#home #box-03 .entry i{ width:0;height:0;border-top:48px solid #ff992f;border-right:48px solid transparent;position:absolute;left:0;top:0;}
#home #box-03 .entry table{ width:100%;height:120px;border-collapse:collapse;}
#home #box-03 .entry th{ width:250px;color:#2a9048;font-size:20px;font-weight:bold;letter-spacing:.3em;text-align:left;vertical-align:middle;}
#home #box-03 .entry td{ vertical-align:middle;}
#home #box-03 .entry td:nth-of-type(1){ text-align:left;}
#home #box-03 .entry td:nth-of-type(2){ text-align:right;}
#home #box-03 .entry span{ background:#2a9048;color:#fff;display:inline-block;border-radius:20px;min-width:200px;font-size:14px;padding:5px 0;text-align:center;}
#home #box-03 .entry strong{ font-size:22px;font-weight:bold;color:#2a9048;}
#home #box-03 .p-01{ font-size:14px;letter-spacing:normal;text-align:right;}

#home #box-03 .staff{ border-radius:50%;position:absolute;object-fit:cover;}
#home #box-03 .staff-01{ left:-300px;top:0px;}
#home #box-03 .staff-02{ right:-350px;bottom:0px;object-position:right center;}


#home #box-04{ padding:100px 0 80px;}
#home #box-04 .area-01{ overflow:hidden;}
#home #box-04 .entry{ background:#fff;width:580px;float:left;border-radius:8px;padding:20px 20px 35px;text-align:center;}
#home #box-04 .entry:last-child{ float:right;}
#home #box-04 .entry .inner{ overflow:hidden;position:relative;}
#home #box-04 .entry .inner:after{ content:"";width:0;height:0;border-top:20px solid transparent;border-bottom:20px solid transparent;border-left:35px solid #2a9048;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;}
#home #box-04 .entry .inner a{ float:left;}
#home #box-04 .entry .inner a:last-child{ float:right;}
#home #box-04 .entry .inner a img{ width:100%;height:260px;object-fit:cover;}
#home #box-04 ul{ overflow:hidden;margin-top:15px;}
#home #box-04 ul li{ background:#7cc994;color:#fff;width:260px;float:left;border-radius:30px;font-size:16px;font-weight:bold;padding:5px 0;}
#home #box-04 ul li:last-child{ background:#2a9048;float:right;}
#home #box-04 h3{ font-size:22px;font-weight:bold;color:#2a9048;margin-top:25px;}



#box-contact{ width:1080px;padding:50px 0 100px;position:relative;}
#box-contact h2{ color:#2a9048;font-size:27px;font-weight:bold;line-height:1.5em;margin-bottom:15px;text-align: center;}
#box-contact .bnr-contact{ width:1080px;margin:auto;border-radius:8px;overflow:hidden;position:relative;}
#box-contact .bnr-contact .tb{ background:#2a9048;width:100%;color:#fff;padding:30px 40px;box-sizing:border-box;}
#box-contact .bnr-contact .tb .inner{ display:flex;flex-direction:column;gap:16px;}

#box-contact .bnr-contact .tb .row-top{ display:grid;grid-template-columns:1fr 1fr;gap:16px;}
#box-contact .bnr-contact .tb .row-top > a.mail,
#box-contact .bnr-contact .tb .row-top > .tel-box{ flex:1;align-items:center;}

#box-contact .bnr-contact .tb .inner a{ background:#fff;text-align:left;font-size:26px;font-weight:bold;color:#2a9048;display:flex;align-items:center;text-decoration:none;border-radius:8px;height:60px;box-sizing:border-box;position:relative;}
#box-contact .bnr-contact .tb .inner a::before{ content:"";position:absolute;left:20px;top:50%;transform:translateY(-50%);width:24px;height:24px;background:url(../images/common/ico-tel2.png)center/contain no-repeat;}
#box-contact .bnr-contact .tb .inner a.mail{font-size:26px;color: #ff9933;background: #fff url(../images/common/ico-mail2.png) 22px 20px no-repeat;background:none;padding:0;position:relative;height:auto;display:flex;align-items:center;text-align: center;justify-content:center;gap:6px;margin-bottom: 10px;}
#box-contact .bnr-contact .tb .inner a.mail::before{ content:"";position:static !important;transform:none !important;margin:0;width:24px;height:24px;background:url(../images/common/ico-mail2.png)center/contain no-repeat;}

#box-contact .tel-box{ background:#fff;border-radius:8px;padding:16px 20px;display:flex;flex-direction:column;justify-content:center;font-weight:bold;}
#box-contact .tel-box-title{ color:#2a9048;font-weight:bold;text-align: center;}
#box-contact .tel-box-btn{ color:#2a9048;font-size:24px;font-weight:bold;display:flex;align-items:center;gap:10px;text-decoration:none;padding:0;height:auto;}
#box-contact .tel-box-btn::before{ position:static !important;transform:none !important;}
#box-contact .tel-box-note{ color:#2a9048;margin-top:6px;text-align: center;}

#box-contact .bnr-contact .tb .inner a.free{ width:100%;padding:0 25px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:bold;}
#box-contact .bnr-contact .tb .inner a.free span{ font-weight:normal;}
#box-contact .bnr-contact .tb .inner a.free::before{ position:static !important;transform:none !important;margin:0;}

#box-contact .mail-box{ background:#fff;border-radius:8px;padding:16px 20px;display:flex;flex-direction:column;justify-content:center;}

#box-contact .mail-box-note{ color:#2a9048;margin-top:6px;text-align: center;font-size:20px;}

#box-contact .maru{ background:#ff992f;color:#fff;width:130px;height:130px;border-radius:50%;font-size:16px;font-weight:bold;line-height:1.35em;text-align:center;position:absolute;right:20px;top:30px;padding-top:25px;}
#box-contact .maru span{ font-size:30px;display:inline-block;padding-top:10px;}



/*----------  サービス service  ----------*/
/*----------  サービス service  ----------*/
/*----------  サービス service  ----------*/

#service .bk-intro{ background:#d1ead9;padding:80px 0 0;}

#service #box-01{ padding:55px 0 100px;}
#service #box-01 .area-01{ width:1080px;margin:auto;overflow:hidden;}
#service #box-01 .entry{ background:#2a9048;width:320px;height:150px;float:left;margin-right:60px;color:#fff;border-radius:7px;text-decoration:none;text-align:center;padding:105px 15px 0;position:relative;}
#service #box-01 .entry:last-child{ margin-right:0;}
#service #box-01 .entry:nth-of-type(2){ background:#ff992f;}
#service #box-01 .entry:nth-of-type(2) .img{ top:25px;}
#service #box-01 .entry .img{ position:absolute;left:0;right:0;top:20px;margin:auto;}
#service #box-01 .entry p{ font-size:18px;font-weight:bold;color:#fff;}

#service #box-02 .area-01{ width:900px;margin:auto;text-align:center;}
#service #box-02 .area-01 a{ background:#fff;color:#2a9048;display:inline-block;width:280px;border:2px solid #2a9048;border-radius:30px;font-size:18px;font-weight:bold;padding:15px 0;margin:0 8px 18px;text-decoration:none;}
#service #box-02 .area-01 a:hover{ background:#2a9048;color:#fff;opacity:1;}

#service .service-section{ background:#e7f8f3;}
#service .service-section.green-bg{ background:#d1ead9;}
#service .service-section .box{ padding:80px 0 90px;}
#service .service-section .box h2{ background:#2a9048;color:#fff;width:500px;margin:0 auto 50px;border-radius:50px;font-size:28px;font-weight:bold;padding:12px 0;text-align:center;}
#service .cards{ width:1080px;margin:auto;overflow:hidden;}
#service .cards .entry{ background:#fff;color:#333;}
#service .cards.three .entry{ width:340px;float:left;margin-right:30px;padding:30px 30px 30px;}
#service .cards.three .entry:last-child{ margin-right:0;}
#service .cards.three .entry img{ display:block;margin:0 auto 20px;}

#service .cards h3{ font-size:22px;font-weight:bold;color:#2a9048;line-height:1.5em;text-align:center;margin-bottom:18px;}
#service .cards ul{ margin-bottom:18px;display:inline-block;}
#service .cards ul:nth-of-type(2){ margin-left:2px;}
#service .cards li{ font-size:15px;line-height:1.8em;padding-left:15px;position:relative;}
#service .cards li:before{ content:"●";color:#2a9048;font-size:12px;position:absolute;left:0;top:-2px;}
#service .cards .price{ border-top:1px solid #d0e7d7;font-size:15px;line-height:1.7em;letter-spacing:normal;padding-top:12px;}
#service .cards .price span{ font-size:16px;color:#ff9933;font-weight:bold;display:block;letter-spacing:1px;}

#service .cards.three .card-more{ text-align:left;margin-top:20px;}
#service .cards.three .card-more a{ background:#ff992f;color:#fff;display:block;border-radius:5px;font-size:14px;font-weight:bold;padding:12px 0 12px 30px;text-decoration:none;position:relative;}
#service .cards.three .card-more a:after{ content:"▶";position:absolute;right:15px;top:15px;}

#service .more.orange{ width:380px;}
#service .more.orange a{ background:#ff992f;text-align:left;padding:20px 0 20px 40px;}

#service .cards.two .entry{ width:520px;float:left;margin:0 40px 30px 0;padding:25px;overflow:hidden;}
#service .cards.two .entry:nth-child(2n){ margin-right:0;}
#service .cards.two .entry img{ width:170px;height:170px;float:left;border-radius:50%;object-fit:cover;}
#service .cards.two .entry .tb{ width:290px;float:right;padding-top:5px;}
#service .cards.two .entry h3{ text-align:left;margin-bottom:8px;}
#service .cards.two .entry p{ font-size:15px;}

#service .cards.one{ width:760px;}
#service .cards.one .entry{ min-height:260px;padding:30px;overflow:hidden;}
#service .cards.one .entry img{ width:170px;height:170px;float:left;border-radius:50%;object-fit:cover;}
#service .cards.one .entry .tb{ width:500px;float:right;padding-top:10px;}
#service .cards.one .entry h3{ text-align:left;}
#service .cards.one .entry ul:nth-of-type(2){ margin-left:20px;}

#service #price-guide{ padding:100px 0 80px;}
#service #price-guide .lead{ font-size:16px;color:#333;line-height:1.8em;text-align:center;margin-bottom:40px;}
#service #price-guide .lead span{ font-size:18px;display:block;font-weight:bold;margin-bottom:15px;}

#service #price-guide .area-01{ text-align:center;}
#service #price-guide .price-btn{ background:#ff992f;color:#fff;display:inline-block;width:320px;height:150px;margin:0 20px;border-radius:7px;text-align:center;text-decoration:none;padding:105px 15px 0;position:relative;}
#service #price-guide .price-btn:nth-of-type(2){ background:#2a9048;}
#service #price-guide .price-btn img{ position:absolute;left:0;right:0;top:20px;margin:auto;}
#service #price-guide .price-btn p{ font-size:18px;font-weight:bold;color:#fff;}






/*----------  料金案内 price  ----------*/
/*----------  料金案内 price  ----------*/
/*----------  料金案内 price  ----------*/


#price .bk-price{ background:#d1ead9;padding:80px 0 0;}
#price #box-01{ padding:60px 0 80px;}
#price #box-01 .p-01,#price #box-02 .lead{ font-size:16px;line-height:2em;text-align:center;margin-bottom:40px;}
#price #box-01 .price{ background:#fff;width:800px;height:120px;margin:0 auto 40px;border-radius:0 15px 0 15px;padding:0 60px;position:relative;overflow:hidden;}
#price #box-01 .price i{ width:0;height:0;border-top:48px solid #ff992f;border-right:48px solid transparent;position:absolute;left:0;top:0;}
#price #box-01 .price table{ width:100%;height:120px;border-collapse:collapse;}
#price #box-01 .price th{ width:250px;color:#2a9048;font-size:20px;font-weight:bold;letter-spacing:.3em;text-align:left;vertical-align:middle;}
#price #box-01 .price td{ vertical-align:middle;}
#price #box-01 .price td:nth-of-type(1){ text-align:left;}
#price #box-01 .price td:nth-of-type(2){ text-align:right;}
#price #box-01 .price span{ background:#2a9048;color:#fff;display:inline-block;border-radius:20px;min-width:200px;font-size:14px;padding:5px 0;text-align:center;}
#price #box-01 .price strong{ font-size:22px;font-weight:bold;color:#2a9048;}

#price #box-01 .area-01{ width:1000px;margin:auto;overflow:hidden;}
#price #box-01 .area-01 .entry{ background:#fff;width:480px;min-height:230px;float:left;margin-right:40px;border-radius:7px;padding:35px 35px;}
#price #box-01 .area-01 .entry:last-child{ margin-right:0;}
#price #box-01 .area-01 h3{ background:#ff992f;color:#fff;width:210px;border-radius:20px;font-size:18px;font-weight:bold;line-height:40px;text-align:center;margin:0 auto 25px;}
#price #box-01 .area-01 p{ font-size:15px;line-height:1.9em;}


#price #box-02{ padding:100px 0 70px;}
#price #box-02 .area-01{ width:1080px;margin:auto;text-align:center;}
#price #box-02 .area-01 .entry{ background:#fff;width:320px;min-height:200px;display:inline-block;vertical-align:top;margin:0 40px 40px 0;border-radius:7px;padding:20px 0px 15px;position:relative;}
#price #box-02 .area-01 .entry:nth-of-type(3){ margin-right:0;}
#price #box-02 .area-01 .entry:nth-of-type(5){ margin-right:0;}
#price #box-02 .area-01 .entry p{ font-size:18px;font-weight:bold;color:#2a9048;line-height:1.6em;margin-bottom:10px;}
#price #box-02 .area-01 .entry img{ position:absolute;left:0;right:0;margin:auto;bottom:15px;}
#price #box-02 .area-01 .entry:nth-of-type(2) img{ bottom:0;}
#price #box-02 .area-01 .entry:nth-of-type(4) img{ bottom:0;}

#price .bk-price{ background:#d0e7d7;padding:50px 0 80px;border-radius:50% 50% 0 0/90px 90px 0 0;}
#price #box-03{ position:relative;}
#price #box-03 .area-01{ width:1080px;margin:auto;overflow:hidden;position:relative;z-index:2;}
#price #box-03 .entry{ background:#fff;width:320px;float:left;margin-right:60px;}
#price #box-03 .entry:last-child{ margin-right:0;}
#price #box-03 .entry .title{ background:#2a9048;text-align:center;padding:15px 0;}
#price #box-03 .entry .no{ background:#fff;color:#2a9048;width:60px;height:60px;border-radius:50%;text-align:center;line-height:1.2em;padding-top:10px;font-size:14px;font-weight:bold;letter-spacing:normal;display:inline-block;vertical-align:middle;}
#price #box-03 .entry .no span{ font-size:26px;display:block;margin-top:5px;}
#price #box-03 .entry h3{ font-size:20px;font-weight:bold;color:#fff;line-height:1.6em;display:inline-block;text-align:left;vertical-align:middle;margin-left:5px;}
#price #box-03 .entry h3 span{ font-size:15px;display:block;line-height:1.5em;}
#price #box-03 .entry .inner{ padding:10px 20px 20px;}
#price #box-03 .entry table{ width:100%;}
#price #box-03 .entry table th{ color:#2a9048;width:80px;font-size:14px;font-weight:bold;border-bottom:1px solid #cccccc;padding:15px 5px;text-align:left;}
#price #box-03 .entry table td{ color:#333;font-size:14px;border-bottom:1px solid #cccccc;padding:15px 0;letter-spacing:normal;}
#price #box-03 .entry table tr:last-child th,#price #box-03 .entry table tr:last-child td{ border-bottom:none;}

#price #box-03 .staff{ width:190px;height:190px;border-radius:50%;object-fit:cover;position:absolute;z-index:1;}
#price #box-03 .staff-01{ left:-180px;top:180px;}
#price #box-03 .staff-02{ right:-180px;bottom:40px;}

#price #box-04{ padding:100px 0 90px;}
#price #box-04 .area-01{ text-align:center;}
#price #box-04 ul{ display:inline-block;text-align:left;margin:0 auto 25px;}
#price #box-04 li{ color:#333;font-size:17px;line-height:2.2em;padding-left:20px;position:relative;}
#price #box-04 li:before{ content:"●";color:#2a9048;font-size:15px;position:absolute;left:0;top:-1px;}
#price #box-04 p{ font-size:15px;letter-spacing:normal;line-height:1.8em;}

#price #box-05{ background:#29a9e2 url(../images/price/bk-price.png)center center/cover no-repeat;min-height:600px;margin-bottom:40px;}
#price #box-05 .inner{ width:1200px;margin:auto;padding:100px 0 0 80px;}
#price #box-05 h2{ font-size:34px;font-weight:bold;color:#fff;line-height:1.6em;margin-bottom:30px;}
#price #box-05 p{ width:470px;font-size:18px;line-height:2em;}








/*----------  会社案内 company  ----------*/
/*----------  会社案内 company  ----------*/
/*----------  会社案内 company  ----------*/

#company #box-01{ padding:70px 0 100px;}
#company #box-01 .area-01{ width:1200px;margin:auto;overflow:hidden;}
#company #box-01 .entry{ background:#fff;width:360px;float:left;margin-right:60px;border-radius:8px;box-shadow:0 5px 12px rgba(0,0,0,.12);overflow:hidden;text-align:center;padding-top:15px;}
#company #box-01 .entry:last-child{ margin-right:0;}
#company #box-01 .entry h3{ color:#2a9048;font-size:19px;font-weight:bold;line-height:1.7em;min-height:75px;margin-bottom:20px;}
#company #box-01 .entry h3 span{ background:url(../images/company/h3-01.png)center bottom no-repeat;color:#2a9048;font-size:22px;font-weight:bold;display:block;margin-bottom:10px;padding-bottom:15px;}

#company #box-01 .entry img{ width:100%;height:240px;object-fit:cover;}
#company #box-01 .entry p{ font-size:16px;line-height:1.7em;text-align:left;padding:25px 30px;}

#company #box-02{ padding:100px 0 110px;}
#company #box-02 h2{ margin-bottom:80px;}
#company #box-02 .area-01{ width:1080px;margin:auto;position:relative;}
#company #box-02 .tb{min-height:460px;}
#company #box-02 .tb p{ font-size:16px;line-height:2em;margin-bottom:30px;}
#company #box-02 .tb .name{ text-align:right;font-size:20px;font-weight:bold;margin:35px 0 0;}
#company #box-02 .img{ position:absolute;right:0;top:0;}

#company #box-03{ padding:30px 0 110px;}
#company #box-03 .company-table{ background:#fff;width:950px;margin:auto;border-radius:8px;padding:40px 80px;}
#company #box-03 table{ width:100%;}
#company #box-03 th{ font-size:16px;line-height:1.8em;padding:25px 20px;border-bottom:1px solid #2a9048;}
#company #box-03 td{ font-size:16px;line-height:1.8em;padding:25px 20px 15px 90px;border-bottom:1px solid #cccccc;vertical-align:middle;}
#company #box-03 th{ width:280px;color:#2a9048;font-weight:bold;text-align:center;}

#company #box-04{ padding:100px 0 80px;}
#company #box-04 .googlemap{ width:1200px;height:500px;}
#company #box-04 p{ font-size:15px;padding-top:20px;text-align: center;}



/*----------  お問い合わせ contact  ----------*/
/*----------  お問い合わせ contact  ----------*/
/*----------  お問い合わせ contact  ----------*/


#contact #box-01{ padding:80px 0 95px;text-align:center;}
#contact #box-01 p{ font-size:18px;line-height:2em;margin-bottom:50px;}
#contact #box-01 .more{ margin-top:0;}

#contact #box-02{ padding:100px 0 110px;text-align:center;}
#contact #box-02 .tel-area a{ background:#2a9048 url(../images/common/ico-tel.png)45px 19px no-repeat;color:#fff;min-width:320px;display:inline-block;border-radius:7px;font-size:24px;font-weight:bold;text-decoration:none;margin:0 20px;padding:20px 0 20px 20px;letter-spacing:1px;line-height:1;}
#contact #box-02 .tel-area a:last-child{background:#2a9048 url(../images/common/free.png) 40px center no-repeat;background-size:30px 30px;padding:20px 40px 20px 90px;}
#contact #box-02 .tel-area a span{ font-size:15px;letter-spacing:normal;display:inline-block;margin-right:10px;}


#contact .contact-form-bg{ padding:80px 0 100px;border-radius:50% 50% 0 0/90px 90px 0 0;}

#contact #box-03{ width:1080px;padding:0;}
#contact #box-03 form{ width:900px;margin:auto;}
#contact #box-03 table{ width:100%;margin-bottom:50px;}
#contact #box-03 th{ width:260px;font-size:15px;font-weight:500;text-align:right;padding:15px 30px 15px 0;vertical-align:middle;}
#contact #box-03 th span{ color:#ff5555;margin-left:8px;}
#contact #box-03 td{ padding:10px 0;vertical-align:middle;}
#contact #box-03 td label{ font-size:14px;margin-right:30px;}
#contact #box-03 input[type="text"],#contact #box-03 input[type="tel"],#contact #box-03 input[type="email"]{ background:#fff;width:100%;height:52px;border:0;padding:10px 15px;font-size:15px;}
#contact #box-03 textarea{ background:#fff;width:100%;height:190px;border:0;padding:15px;font-size:15px;resize:vertical;}
#contact #box-03 h3{ font-size:17px;font-weight:bold;text-align:center;margin:45px 0 20px;}
#contact #box-03 .privacy{ background:#fff;min-height:160px;padding:30px 35px;margin-bottom:25px;}
#contact #box-03 .privacy p{ font-size:13px;line-height:2em;}
#contact #box-03 .agree{ text-align:center;font-size:14px;margin-bottom:15px;}
#contact #box-03 .note{ font-size:12px;line-height:1.8em;text-align:center;margin-bottom:30px;}
#contact #box-03 .note span{ color:#ff5555;}




#contact #box-form{ padding-top:30px;position:relative;}
#contact #box-form .area-01{ text-align:center;margin-bottom:50px;}
#contact #box-form .area-01 ul{ display:inline-block;}
#contact #box-form .area-01 ul li{ font-size:15px;text-align:left;letter-spacing:normal;margin-bottom:5px;}
#contact #box-form .area-01 ul li span{ font-weight:bold;color:#ff0000;display:inline-block;margin-right:3px;}

/* ▼ フォーム本体（既存CSSを流用） */



#contact #box-form .area-mailform{ width:1000px;margin:auto;}
#contact #box-form .area-mailform table{ width:100%;margin-bottom:50px;border-collapse:collapse;}
#contact #box-form .area-mailform table tr{}
#contact #box-form .area-mailform table tr:first-child{}
#contact #box-form .area-mailform table td{ padding:20px 8px;vertical-align:middle;}
#contact #box-form .area-mailform table td.td-01{ width:220px;font-size:16px;font-weight:bold;vertical-align:middle;padding-right:15px;text-align:right;}
#contact #box-form .area-mailform table ul{ list-style:none;padding:0;margin:0;}
#contact #box-form .area-mailform table ul li{ margin-bottom:7px;}
#contact #box-form .area-mailform table ul li:last-of-type{ margin-bottom:0;}
#contact #box-form .area-mailform table select{ padding:8px;font-size:15px;border:1px solid #ccc;border-radius:4px;}
#contact #box-form .area-mailform table input[type="text"],
#contact #box-form .area-mailform table input[type="email"],
#contact #box-form .area-mailform table input[type="tel"]{ padding:10px 12px;font-size:15px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;}
#contact #box-form .area-mailform table textarea{ padding:10px 12px;font-size:15px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;}
#contact #box-form .area-mailform table label{ display:inline-flex;align-items:center;gap:6px;margin-right:25px;font-size:15px;cursor:pointer;}
#contact #box-form .area-mailform .chui{ font-weight:bold;color:#ff3838;margin-left:8px;}
#contact #box-form .area-mailform .w01{ width:98%;}
#contact #box-form .area-mailform .w02{ width:43.7%;}

/* ▼ プライバシーポリシー */
#contact #box-form .privacy-title{ font-size:18px;font-weight:bold;text-align:center;margin:0 0 15px;}
#contact #box-form .privacy-lead{ margin-bottom:15px;text-align:center;line-height:2em;}
#contact #box-form .tb-04{ height:200px;overflow-y:scroll;padding:20px;border:#999 solid 1px;background:#fff;margin:auto;margin-bottom:30px;font-size:14px;line-height:2em;}
#contact #box-form .tb-04 p{ font-size:15px;letter-spacing:normal;margin-bottom:1em;}
#contact #box-form .tb-04 p:last-child{ margin-bottom:0;}

/* ▼ 同意チェック */
#contact #box-form .agree{ text-align:center;font-size:16px;margin-bottom:15px;}
#contact #box-form .note{ font-size:14px;line-height:1.7em;letter-spacing:normal;text-align:center;margin-bottom:30px;}
#contact #box-form .note span{ color:#ff5555;}

/* ▼ 送信ボタン */
#contact #box-form .submit-area{ text-align:center;}
#contact #box-form .submit-area button{ width:250px;padding:15px 0;border:0;border-radius:50px;background:#2a9048;color:#fff;font-size:18px;font-weight:bold;margin:0 15px;cursor:pointer;transition:.3s;}
#contact #box-form .submit-area button[type="reset"]{ background:#aaa;}
#contact #box-form .submit-area button:hover{ opacity:.5;}







/*▼▼▼スクロールでふわっと表示▼▼▼*/
/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition-timing-function:cubic-bezier(.64,.04,.35,1);transition:0.9s ease-in-out;transform:translateY(30px);opacity:0;}

.scroll_up.on {
  transform:translateY(0);transition:0.9s ease-in-out;opacity:1.0;}
.scroll_on {
  transition-timing-function:cubic-bezier(.64,.04,.35,1);transition:0.9s ease-in-out;transform:translateY(0px);opacity:0;}

.scroll_on.on {
  transform:translateY(0);opacity:1.0;}



/*▼よくある質問一覧　QA▼*/



#qa #box-01 .p-01,#price #box-02 .lead{ font-size:16px;line-height:2em;text-align:center;margin-bottom:40px;}

/*=========
accordion
=========*/
/* ===============================
   よくある質問・アコーディオン
================================ */

.accordion_area{width:100%;}
.accordion_area .accordion_one{margin-bottom:30px;border-radius:12px;overflow:hidden;}
/* 質問部分 */
.accordion_area .accordion_one .ac_header{position:relative;z-index:1;padding:27px 75px 27px 85px;background:#fff;cursor:pointer;transition:background-color .2s;}
.accordion_area .accordion_one .ac_header:not(.open):hover{background-color:#f8fbfd;}
/* 質問のテキスト */
.p-faq__headinner{position:relative;display:block;min-height:44px;}
.p-faq__headinner::before{position:absolute;top:50%;left:-63px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:#fff;background:#00518a;border-radius:50%;content:"Q";font-size:20px;font-weight:bold;line-height:1;transform:translateY(-50%);}
.p-faq__headinner .p-faq__q-txt{display:flex;align-items:center;min-height:44px;font-size:17px;font-weight:bold;line-height:1.8;color:#222;}
/* プラス・マイナス */
.accordion_area .accordion_one .ac_header .i_box{position:absolute;top:50%;right:23px;width:25px;height:25px;transform:translateY(-50%);}
.accordion_area .accordion_one .ac_header .i_box::before,
.accordion_area .accordion_one .ac_header .i_box::after{position:absolute;top:50%;left:50%;content:"";background:#00518a;transform:translate(-50%,-50%);transition:.3s;}

/* 横線 */
.accordion_area .accordion_one .ac_header .i_box::before{width:25px;height:3px;}
/* 縦線 */
.accordion_area .accordion_one .ac_header .i_box::after{width:3px;height:25px;}
/* 開いているときはマイナス */
.accordion_area .accordion_one .ac_header.open .i_box::after{height:0;}
/* 回答部分 */
.accordion_area .accordion_one .ac_inner{display:none;padding:21px 35px 22px 85px;background:#e7eaed;box-sizing:border-box;}
/* 回答のテキスト */
.p-faq__bodyinner{position:relative;display:block;min-height:44px;}

.p-faq__bodyinner::before{position:absolute;top:0;left:-63px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:#fff;background:#0099cf;border-radius:50%;content:"A";font-size:20px;font-weight:bold;line-height:1;}
.p-faq__bodyinner .p-faq__a-txt{padding-top:5px;color:#222;font-size:16px;font-weight:bold;line-height:2;}
