@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

@charset "utf-8";
@import url("reset.css");
@import url("formParts.css");
@import url("override.css");
@import url("slick.css");
@import url("slick-theme.css");

*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body{
    position: relative;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: -0.025em;
	background-color: #FFF;
	color: #202020;
}

div, p{
	text-align: justify;
}

a{
	text-decoration: none;
}

ul{
	list-style: none;
}

p:empty {

    display: none !important;
}
@media screen and (max-width: 1340px) {
    header .pc {
        display: none !important;
    }
    #header {position: sticky;}
    .hamburger, .side-menu {display: initial !important;}
.submenu {
    display: block !important;
    position: initial !important;
    transform: none !important;
    background: none !important;
    box-shadow: none !important;
}
.submenu li {border: none !important;padding: 0 20px !important;}
.submenu li a {color: #fff !important;text-align: left !important;padding: 15px 10px !important;}
    
    /* チェックボックスは非表示 */
.menu-toggle {
    display: none;
}

/* チェックボックスは非表示 */
.menu-toggle {
    display: none;
}

/* ハンバーガーアイコンのスタイル */
.hamburger {
    width: 40px;
    height: 30px;
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 9001;
    cursor: pointer;
}

.customize-support .hamburger{
    top: 66px;
}

.hamburger span {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    background: #FFF;
    transition: all 0.3s ease-in-out;
    /* デフォルトの transform-origin は中央 (50% 50%) */
}
.hamburger span:nth-child(1) {
    top: 0;
}
.hamburger span:nth-child(2) {
    top: 50%;
    transform: translateY(-50%);
}
.hamburger span:nth-child(3) {
    bottom: 0;
}

/* チェック状態でのハンバーガーアイコンの変化（上下のラインが中心で交差） */
.menu-toggle:checked + .hamburger span:nth-child(1) {
    transform: translateY(13.5px) rotate(45deg);
}
.menu-toggle:checked + .hamburger span:nth-child(2) {
    opacity: 0;
}
.menu-toggle:checked + .hamburger span:nth-child(3) {
    transform: translateY(-13.5px) rotate(-45deg);
}

/* 左側スライドメニューのスタイル */
.side-menu {
    position: fixed;
    top: 75px;
    left: 0;
    width: 250px;
    height: 100%;
    background: #269f36;
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
    z-index: 9000;
}

.customize-support .side-menu{
    top: 121px;
}


/* チェック状態でスライドメニューを表示 */
.menu-toggle:checked ~ .side-menu {
    transform: translateX(0);
}

/* ページコンテンツのスタイル */
.content {
    transition: transform 0.3s ease-in-out;
}
/* チェック状態でページコンテンツもスライド */
.menu-toggle:checked ~ .content {
    transform: translateX(250px);
}

    /* サイドメニュー全体のスタイル */
    .side-menu {
        width: 250px;
        background-color: #269f36;
        color: #fff;
        padding: 0;
        margin: 0;
        font-family: sans-serif;
      }
      .side-menu ul {
        list-style: none;
        padding: 0;
        margin: 0;
      }
      .side-menu li {
        border-bottom: 1px solid #6ac46e;
        position: relative;
      }
      .side-menu a {
        display: block;
        padding: 15px 10px;
        text-decoration: none;
        color: #fff;
      }
      /* 親メニュー部分：タイトルと矢印の配置 */
      .menu-title {
        display: flex;
        justify-content: space-between;
        align-items: center;
        cursor: pointer;
      }
      /* CSSで作成したV字型矢印 */
      .toggle-submenu {
        position: relative;
        width: 12px;
        height: 12px;
        transition: transform 1s ease;
      }

      .toggle-submenu {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        top: 15px;
        right: 20px;
        border-left: 2px solid #FFF;
        border-bottom: 2px solid #FFF;
        transition: transform 0.3s ease;
        transform: rotate(-45deg);
    }

      /* サブメニューのスタイル（max-height を利用してアニメーション） */
      .submenu {
        max-height: 0;
        overflow: hidden;
        transition: max-height 1s ease;
        background-color: #269f36;
      }
      .submenu li {
        border: none;
      }
      .submenu a {
        padding: 20px 0 20px 30px;
      }
      /* 展開時：サブメニューを表示し、矢印を回転 */
      li.active > .submenu {
        max-height: 500px; /* 必要に応じて調整 */
      }
      li.active .toggle-submenu {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        top: 17px;
        right: 20px;
        border-left: 2px solid #FFF;
        border-bottom: 2px solid #FFF;
        transition: transform 0.5s ease;
        transform: rotate(135deg);
    }


/* header */
header{
    position: fixed;
    top: 0;
    width: 100%;
    height: 75px !important;
    z-index: 9000;
    background-color: #269f36;
}

header h1,
header .headerLogo{
    width: 100% !important;
    padding: 11px 20px !important;
    text-align: center;
}

header h1 img,
header .headerLogo img{
    display: block;
    margin: 0 auto;
    width: auto !important;
    height: 50px !important;
}
}
@media screen and (max-width:1049px){

img{
	display: block;
	width: auto;
	height: 100%;
}

/* slideMenu */
/*
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}
    */

body{
    position: relative;
    /*padding: 75px 0 0 0;*/
    width: 100%;
    overflow-x: hidden;
}

/* チェックボックスは非表示 */
.menu-toggle {
    display: none;
}

/* チェックボックスは非表示 */
.menu-toggle {
    display: none;
}

/* ハンバーガーアイコンのスタイル */
.hamburger {
    width: 40px;
    height: 30px;
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 9001;
    cursor: pointer;
}

.customize-support .hamburger{
    top: 66px;
}

.hamburger span {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    background: #FFF;
    transition: all 0.3s ease-in-out;
    /* デフォルトの transform-origin は中央 (50% 50%) */
}
.hamburger span:nth-child(1) {
    top: 0;
}
.hamburger span:nth-child(2) {
    top: 50%;
    transform: translateY(-50%);
}
.hamburger span:nth-child(3) {
    bottom: 0;
}

/* チェック状態でのハンバーガーアイコンの変化（上下のラインが中心で交差） */
.menu-toggle:checked + .hamburger span:nth-child(1) {
    transform: translateY(13.5px) rotate(45deg);
}
.menu-toggle:checked + .hamburger span:nth-child(2) {
    opacity: 0;
}
.menu-toggle:checked + .hamburger span:nth-child(3) {
    transform: translateY(-13.5px) rotate(-45deg);
}

/* 左側スライドメニューのスタイル */
.side-menu {
    position: fixed;
    top: 75px;
    left: 0;
    width: 250px;
    height: 100%;
    background: #269f36;
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
    z-index: 9000;
}

.customize-support .side-menu{
    top: 121px;
}


/* チェック状態でスライドメニューを表示 */
.menu-toggle:checked ~ .side-menu {
    transform: translateX(0);
}

/* ページコンテンツのスタイル */
.content {
    transition: transform 0.3s ease-in-out;
}
/* チェック状態でページコンテンツもスライド */
.menu-toggle:checked ~ .content {
    transform: translateX(250px);
}

    /* サイドメニュー全体のスタイル */
    .side-menu {
        width: 250px;
        background-color: #269f36;
        color: #fff;
        padding: 0;
        margin: 0;
        font-family: sans-serif;
      }
      .side-menu ul {
        list-style: none;
        padding: 0;
        margin: 0;
      }
      .side-menu li {
        border-bottom: 1px solid #6ac46e;
        position: relative;
      }
      .side-menu a {
        display: block;
        padding: 15px 10px;
        text-decoration: none;
        color: #fff;
      }
      /* 親メニュー部分：タイトルと矢印の配置 */
      .menu-title {
        display: flex;
        justify-content: space-between;
        align-items: center;
        cursor: pointer;
      }
      /* CSSで作成したV字型矢印 */
      .toggle-submenu {
        position: relative;
        width: 12px;
        height: 12px;
        transition: transform 1s ease;
      }

      .toggle-submenu {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        top: 15px;
        right: 20px;
        border-left: 2px solid #FFF;
        border-bottom: 2px solid #FFF;
        transition: transform 0.3s ease;
        transform: rotate(-45deg);
    }

      /* サブメニューのスタイル（max-height を利用してアニメーション） */
      .submenu {
        max-height: 0;
        overflow: hidden;
        transition: max-height 1s ease;
        background-color: #269f36;
      }
      .submenu li {
        border: none;
      }
      .submenu a {
        padding: 20px 0 20px 30px;
      }
      /* 展開時：サブメニューを表示し、矢印を回転 */
      li.active > .submenu {
        max-height: 500px; /* 必要に応じて調整 */
      }
      li.active .toggle-submenu {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        top: 17px;
        right: 20px;
        border-left: 2px solid #FFF;
        border-bottom: 2px solid #FFF;
        transition: transform 0.5s ease;
        transform: rotate(135deg);
    }


/* header */
header{
    position: fixed;
    top: 0;
    width: 100%;
    height: 75px;
    z-index: 9000;
    background-color: #269f36;
}

header h1,
header .headerLogo{
    width: 100%;
    padding: 11px 20px;
    text-align: center;
}

header h1 img,
header .headerLogo img{
    display: block;
    margin: 0 auto;
    width: auto;
    height: 50px;
}


/* fv */

.fv{
    width: 100%;

    background-size: cover;
    background-position: bottom center;
    overflow: hidden;
    /*border-bottom: 105px solid #019900;*/
    border-bottom: 15px solid #019900;
}

.fvSpInner{
    width: 100%;
}

.fvSpInner img{
    width: 100%;
    height: auto;
}

.fvFooter{
    padding: 15px 10px 0 10px ;
    background-color: #019900;
}

.fvFooter img{
    display: block;
    width: 100%;
    height: auto;
}

/* layout */

.contentUnit{
    width: 100%;
    padding: 2.5rem 0;
}

.contentUnit.frontStep{
    padding: 2.5rem 0 1rem 0;
}

.contentUnit.thinP{
    padding: 1.5rem 0;
}

.contentUnitInner{
    width: 95%;
    margin: 0 auto;
}

.lgreen{background-color: #f2faf2;}
.beige{background-color: #f9f8f4;}
.green{background-color: #019900;}


.bontentBtnWpr{
    display: flex;
    justify-content: center;
    width: 95%;
    margin: 0 auto;
}

.bontentBtn{
    position: relative;
    width: 45%;
    margin: 0 10px;
    height: 44px;
    background-color: #ff9900;
    border-radius: 5px;
    box-shadow: 0 3px 0px #dd8500;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    line-height: 42px;;
}

.wide{
    width: 80%;
    margin: 0 auto;
}

.bontentBtn::after{
    position: absolute;
    display: block;
    content: "";
    top: 0;
    bottom: 0;
    right: 20px;
    width :8px;
    height: 8px;
    margin: auto 0;
    border-right: 2px solid #FFF;
    border-bottom: 2px solid #FFF;
    transform: rotate(-45deg);
}

.bontentBtn:hover{
    box-shadow: 0 0 0px #dd8500;
    transform: translateY(5px);
    transition: .2s;
}

.bontentBtn a{
    display: block;
    font-size: 14px;
    color: #FFF;
    line-height: 42px;
    text-decoration: none !important;
}

.centeringTxt{
    margin: 0 auto 2rem auto;
    font-size: 17px;
    line-height: 26px;
    /*
    text-align: center;
    */
}

.singleLineTitle{
    margin: 0 auto 1.5rem auto;
    font-size: 23px;
    font-weight: 700;
    text-align: center;
    line-height: 50px;
    color: #006600;
}




/* review */

.review{
    padding: 1rem;
    background-color: #ffefb1;
}

/* tv */

.tvWpr{
    width: 100%;
    margin: 0 auto;
    border: 5px solid #019900;
    border-radius: 15px;
    padding: 20px 15px;
}

.tvTitle{
    margin: 0 auto 2rem auto;
    font-size: 21px;
    font-weight: 700;
    color: #222;
    text-align: center;
}

.tvTitle span{
    color: #296600;
}

.tvLeed{
    margin: 0 auto 1rem auto;
    font-size: 15px;
    line-height: 1.4rem;
}

.tvLogo{
    width: 100%;
    margin: 0 auto 1rem auto;
    text-align: center;
}

.tvLogo img{
    display: block;
    width: auto;
    height: 130px;
    margin: 0 auto;
}

.tvImgWpr{
    width: 100%;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.tvImg{
    width: 50%;
    margin: 0 0 15px 0;
    padding: 0 10px;
}

.tvImg img{
    width: 100%;
    height: auto;
}

/* content */

.unitTitleWpr{
    width: 95%;
    margin: 0 auto 2rem auto;
}

.unitTitleWpr.sMgn{
    width: 95%;
    margin: 0 auto 1rem auto;
}

.unitTitle{
    width: 95%;
    margin: 0 auto;
    text-align: center;
    overflow: hidden;
}

.unitTitle span{
    position: relative;
    display: inline-block;
    margin: 0 auto .3rem auto;
    font-size: 16px;
    font-weight: 700;
    line-height: 21px;
}

.unitTitleLeed{
    font-size: 22px;
    font-weight: 700;
    line-height: 29px;
    text-align: center;
}

.unitTitle span::before{
    position: absolute;
    display: block;
    content: "";
    top: 13px;
    left: -120px;
    width: 100px;
    height: 1px;
    background-color: #d9e1d9;
}

.unitTitle span::after{
    position: absolute;
    display: block;
    content: "";
    top: 13px;
    right: -120px;
    width: 100px;
    height: 1px;
    background-color: #d9e1d9;
}

.unitTitleWpr .unitTitle span{ color: #990000; }
.unitTitleWpr .unitTitleLeed{ color: #086600; }
.green .unitTitleWpr .unitTitle span{ color: #ffcc00; }
.green .unitTitleWpr .unitTitleLeed{ color: #FFF; }



/* service */

.front-serviceWpr{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 95%;
    margin: 0 auto;
}

.front-service{
    width: 45%;
    margin: 0 7px .7rem 7px;
    background-color: #FFF;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0,0,0,.1);
    overflow: hidden;
}

.front-serviceIMg{
    width: 100%;
}

.front-serviceIMg img{
    width: 100%;
    height: auto;
}

.front-serviceTitle{
    padding: 15px 10px;
}

.front-serviceTitle h4,
.front-serviceTitle P{
    font-size: 16px;
    font-weight: 700;
    color: #006600;
    text-align: center;
}

.front-serviceTitleLeed{
    padding: .5rem 0 0 0;
    text-align: center;
    font-size: 14px;
}

/* front_about */

.front_aboutImgWpr{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 95%;
    margin: 0 auto .5rem auto;
}

.front_aboutImg{
    width: 100%;
    margin: 0 auto 1rem auto;
    border-radius: 10px;
    overflow: hidden;
}

.front_aboutImg img{
    width: 100%;
    height: auto;
}

.front_aboutBody{
    font-size: 17px;
    line-height: 1.8rem;
}

/* yt */

.yt{
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 0 auto;
    overflow: hidden;
}

.yt iframe{
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 5px solid #222;
    border-radius: 10px;
}

/* promise */

.front_promiseWpr{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
}

.front_promiseUnit{
    position: relative;
    width: 100%;
    margin: 2.5rem 1.5% 0 1.5%;
    padding: 3rem 20px 20px 20px;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0,0,0,.2);
}

.front_promiseIcon{
    position: absolute;
    top: -25px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 60px;
    height: 60px;
    border-radius: 45px;
    background-color: #009900;
    overflow: hidden;
}

.front_promiseTitle{
    margin: 0 0 1rem 0;
    font-size: 21px;
    font-weight: 900;
    line-height: 33px;
    color:#006600;
    text-align: center;
}

.front_promise{
    width: 90%;
    margin: 0 auto;
    font-size: 16px;
    line-height: 26px;
}

/* front_quality */

.front_qualityWpr{
    position: relative;
    width: 100%;
    padding: 25px 0 ;
    background-color: #f0f9fe;
    
}

.front_quality{
    position: relative;
    width: 90%;
    margin: 0 auto;
    z-index: 300;
}

.front_qualityTitle{
    margin: 0 0 1rem 0;
    font-size: 18px;
    font-weight: 900;
    color: #225071;
    line-height: 18px;
    text-align: center;
}

.front_qualityLeed{
    font-size: 17px;
    line-height: 26px;
}

/* buying */

.buyingWpr{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
}

.buyingUnit{
    width: 48%;
    margin: 0 0 20px 0;
    padding: 0 0 25px 0;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0,0,0,.2);
}

.buyingImg{
    width: 100%;
    margin: 0 auto;
}

.buyingImg img{
    width: 100%;
    height: auto;
}

.buyingItem{
    font-size: 16px;
    font-weight: 700;
    color:#006600;
    text-align: center;
}

.halfFlex{
    display: flex;
    justify-content: space-between;
    flex-direction: column-reverse;
}

.upperBodyWpr{
    width: 95%;
    margin: 0 auto;
}

.lowerBodyWpr{
    width: 95%;
    margin: 0 auto 2rem auto;
}

.lowerBodyWpr img{
    width: 100%;
    height: auto;
}

.bodyTitle{
    position: relative;
    display: inline-block;
    color: #990000;
    margin: 0 auto .5rem auto;
    font-size: 17px;
    font-weight: 700;
    line-height: 26px;
    background-color: #FFF;
    z-index: 300;
}

.bodyTitle::before{
    position: absolute;
    display: block;
    top: 13px;
    right: -90px;
    content: "";
    width: 80px;
    height: 1px;
    background-color: #e5e5e5;
    z-index: 299;
}

.bodyTitleLeed{
    margin: 0 auto 1.5rem auto;
    font-size: 23px;
    font-weight: 700;
    line-height: 29px;
    color: #086600;
}

.upperBody{
    font-size: 16px;
    line-height: 26px;
}

/*questionnaire*/

.questionnaireWpr{
    display: flex;
    justify-content: space-between;
    flex-direction: column-reverse;
    flex-wrap: wrap;
    width: 95%;
    margin: 0 auto;
}

.questionnaireBody{
    width: 100%;
}

.questionnaireTitle{
    margin: 0 0 1rem 0;
    font-size: 20px;
    font-weight: 700;
    line-height: 29px;
}

.questionnaireTitle span{
    color: #ff9900;
}

.questionnaire{
    margin: 0 0 1rem 0;
    font-size: 16px;
    line-height: 26px;
}

.bodyArwAnchor a{
    position: relative;
    display: inline-block;
    font-size: 16px;
    color: #222;
    text-decoration: underline;
}

.bodyArwAnchor a::after{
    position: absolute;
    display: block;
    content: "";
    top: 2px;
    bottom: 0;
    right: -20px;
    width: 8px;
    height: 8px;
    margin: auto 0;
    border-right: 2px solid #ff9900;
    border-bottom: 2px solid #ff9900;
    transform: rotate(-45deg);
}

.questionnaireImg{
    width: 100%;
    margin: 0 auto 1rem auto;
    border-radius: 10px;
    overflow: hidden;
}

.questionnaireImg img{
    width: 100%;
    height: auto;
}

/* archive */

.archive .l-content.l-container{
    padding: 1.5rem 0 0 0 !important;
}

.front_archiveWpr{
    width: 100%;
    margin: 0 auto 3rem auto;
}

.front_archiveWpr:last-child{
    margin: 0 auto;
}

.roundTitleWpr{
    width: 100%;
    height: 45px;
    margin: 0 auto 50px auto;
    text-align: center;
}

.roundTitle{
    position: relative;
    display: inline-block;
    height: 45px;
    padding: 10px 0;
    border-radius: 10px;
    border: 2px solid #006600;
}

.roundTitle p{
    position: relative;
    width: 110%;
    height: 20px;
    padding: 0 20px;
    margin-left: -5%;
    background-color: #f2faf2;
    /*
    */
    font-size: 23px;
    color: #006600;
    line-height: 20px;
    text-align: center;
}

.roundTitle.wBg p{
    background-color: #FFF;
}

.front_archive{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 auto 1rem auto;
}

.front_archiveUnit{
    display: block;
    width: 44%;
    margin: 0 10px 15px 10px;
    border-radius: 7px;
    background-color: #FFF;
    overflow: hidden;
    box-shadow: 0 0 8px rgba(0,0,0,.2);
}

.front_archiveThumb a{
    display: block;
    width: 100%;
}

.front_archiveThumb a img{
    width: 100%;
    height: auto;
}

.front_archiveInfo{
    padding: 15px 20px;
}

.front_archiveInfo span{
    display: inline-block;
    margin: 0 0 8px 0;
    font-size: 14px;
    color: #444;
}

.front_archiveInfo p a{
    font-size: 16px;
    font-weight: 700;
    color:#006600;
}



/* step */

.front-stepWpr{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.front-stepUnit{
    position: relative;
    width: 46%;
    margin: 0 7px 25px 7px;
    padding: 15px;
    border-radius: 8px;
    background-color: #FFF;
    font-size: 16px;
    line-height: 26px;
}

.front-stepUnit span{
    position: absolute;
    top: -15px;
    left: -15px;
    display: block;
    width: 40px;
    height: 40px;
    background-color: #ff9900;
    border-radius: 20px;
    font-size: 25px;
    font-weight: 700;
    font-family: 'Barlow', sans-serif;
    font-stretch: condensed;
    line-height: 38px;
    color: #FFF;
    text-align: center;
}

.front-leed p.s-text{
    margin: 8px 0 0 0;
    font-size: 13px;
    line-height: 20px;
}

.front-leed p.m-text{
    margin: 8px 0 0 0;
    font-size: 14px;
    line-height: 20px;
}

.stepTitle{
    margin: 0 0 10px 0;
}

/* faq */


.qa__title--en {
	color: #28A5B9;
	text-align: center;
	font-family: Futura;
	font-size: 30px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}
.qa__title--en span {
	font-size: 32px;
	letter-spacing: 4.48px;
}

.qa__title--ja {
	color: #767676;
	text-align: center;
	font-family: Noto Sans JP;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 41px; /* 128.125% */
}

.qa-item {
	margin-bottom: 6px;
	padding: 5px 0;
	border-radius: 4px;
}

.qa-box__q {
	position: relative;
	padding: 15px 50px 15px 20px;
	font-size: 16px;
	font-weight: 400;
	position: relative;
	color: #006600;
    border: 1px solid #CCCCCC;
    background-color: #FFF;
    box-shadow: 0 0 8px rgba(0,0,0,.1);
}

.qa-box__q br{
    display: none;
}

.qa-box__q span{
	display: none;
}

.qa-box__a {
	display: none;
}

.qa-box__content {
	position: relative;
	padding: 26px 26px 12px 20px;
	border-radius: 8px;
	font-size: 17px;
	line-height: 26px;
	font-style: normal;
	font-weight: 400;
	position: relative;
	color: #006600;
}

.qa-box__content span{
	position: absolute;
	display: block;
	top: 5px;
	left: 0;
	font-size: 30px;
	font-family: Arial;
	font-weight: 700;
	color: #3898CB;
}

.qa-box__icon {
	position: absolute;
	width: 20px;
	height: 20px;
	right: 3%;
	top: 45%;
	transform: translateY(-50%);
}

.qa-box__bar1 {
	position: absolute;
	top: 0;
	bottom: 3px;
	right: 10px;
	width: 12px;
	height: 12px;
	margin: auto 0;
	border-bottom: 2px solid #006600;
	border-right: 2px solid #006600;
	transform: rotate(45deg);
	transition: .3s;
}

.qa-box__icon.is-open .qa-box__bar1 {
	transform: rotate(225deg);
	transition: .3s;
	bottom: -3px;
}

/* message */

.messageIntroWpr{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto 25px auto;
}

.messageImg{
    width: 100%;
    text-align: center;
}

.messageImg img{
    display: block;
    margin: 0 auto 10px auto;
    width: auto;
    height: 250px;
}

.messageBody{
    width: 100%;
}

.messageUnit{
    margin: 0 0 1.5rem ;
}

.messageIntroWpr .messageBody{
    width: 100%;
}

.messageSubTitleWpr{
    position: relative;
    margin: 0 0 1rem 0;
}

.messageLine{
    position: absolute;
    width: 100%;
    height: 1px;
    top: 12px;
    background-color: #eaeaea;
    z-index: 390;
}

.messageSubTitleWpr p{
    position: relative;
    display: inline-block;
    margin: 0 0 0 1rem;
    padding: 0 10px;
    background-color: #FFF;
    font-size: 17px;
    font-weight: 700;
    color: #222;
    z-index: 400;
}

.messagePolicy{
    padding: 0 1rem;
    font-size: 17px;
    font-weight: 700;
    line-height: 23px;
    color:#006600;
}

.message{
    padding: 0 1rem;
    font-size: 17px;
    line-height: 29px;
    color:#222;
}

/* area */

.front_areaTitle{
    margin: 0 0 1.5rem 0;
    font-size: 20px;
    font-weight: 900;
    color: #FFF;
    line-height: 42px;
}

.front_areaUnit{
    margin: 0 auto 1rem auto;
}

.front_area_pref{
    margin: 0 0 5px 0;
    padding: 0 0 5px 0;
    font-size: 15px;
    font-weight: 700;
    color: #ffcc00;
    line-height: 20px;
    border-bottom: 1px solid #33ad33;
}

.front_area_city{
    font-size: 13px;
    line-height: 21px;
    color: #FFF;
}


/* group */

.groupWpr{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.groupClm{
    width: 100%;
}

.groupType{
    margin: 0 0 10px 0;
    padding: 0 0 10px 0;
    font-size: 17px;
    font-weight: 700;
    color:#006600;
    border-bottom: 1px solid #ecebe8;
}

ul.groupName{
    margin: 0 0 1rem 0;
}

ul.groupName li{
    font-size: 17px;
    font-weight: 700;
    color: #a50000;
    line-height: 1.9rem;
}

ul.groupName li ul li{
    font-size: 16px;
    font-weight: 400;
    color: #222;
    line-height: 1.7rem;
}

.groupUnit{
    margin: 0 0 1.7rem 0;
}

.groupName{
    line-height: 1.7rem;
}

/* banner */

.bannerWpr{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 95%;
    margin: 0 auto;
}

.bannerWpr .banner{
    width: 30%;
    margin: 5px;
}

.bannerWpr .banner img{
    display: block;
    width: 100%;
    height: auto;
    box-shadow: 0 0 8px rgba(0,0,0,.2);
}

/* footer */

footer{
    width: 100%;
    padding: 3rem 0;
    background-color: #f6f6f6;
}

#footer.show {
    opacity: 1;
    pointer-events: auto;
  }


footer nav{
    display: flex;
    justify-content: space-between;
    width: 1200px;
    margin: 0 auto;
}

footer nav div{
    width: 15%;
}

footer nav div div.footerNavItem{
    width: 100%;
    margin: 0 0 15px 0;
    font-size: 17px;
    font-weight: 700;
    color:#006600;
}

footer nav div ul li a{
    font-size: 16px;
    font-weight: 400;
    color: #222;
    line-height: 2rem
}

.cr{
    width: 100%;
    padding: 15px 0 165px 0;
    font-size: 14px;
    text-align: center;
    color: #FFF;
    background-color: #006600;
}

/* floater */
#floater{
    position: fixed;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    bottom: 0;
    width: 100%;
    height: 150px;
    padding: 10px;
    box-shadow: 0 0 10px rgba(0,0,0,.3);
    z-index: 8000;
    background-color: #FFF;
    transition: opacity 0.2s ease;
    opacity: 0;           /* 初期状態は非表示 */
    pointer-events: none; /* 非表示時のクリック無効 */
}

#floater.show {
    opacity: 1;
    pointer-events: auto;
  }

.floaterTelWpr{
    display: block;
    width: 100%;
    height: 50px;
    margin: 0 10px;
}

.floaterFD{
    width: 40px;
}

.floaterFD img{
    width: 100%;
    height: auto;
}

.floaterTelNumWpr{
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 5px 0 0 0;
    text-align: center;
}

.floaterTelNumWpr a{
    display: block;
    display: inline-block; /* transformはブロック要素またはインラインブロック要素に適用 */
    font-size: 30px;
    font-weight: 400;
    font-family: 'Barlow', sans-serif;
    font-stretch: condensed;
    transform: scaleX(0.9); /* 0.8は80%の幅に縮小 */
    color: #222;
    line-height: 24px;
    overflow: hidden;
}

.floaterTelOpen{
    width: 100%;
    text-align: center;
    font-size: 13px;
}

.floaterEstm{
    display: block;
    width: 45%;
    height: 40px;
    margin: 0 5px;
    background-color: #ff9900;
}

.floaterEstmLine{
    display: block;
    width: 45%;
    height: 40px;
    margin: 0 10px;
    background-color: #006600;
    
}

.floatBtn{
    display: block;
    text-align: center;
    padding: 8px 0;
    border-radius: 5px;
}

.floatBtn span{
    position: relative;
    height: 20px;
    padding: 0 0 0 30px;
    position: relative;
    display: inline-block;
    font-size: 15px;
    font-weight: 700;
    color: #FFF;
}

.floatBtn span img{
    position: absolute;
    top: 0;
    left: 0;
    width: 25px;
    height: auto;
}

.floatBtnBaloon{
    width: 100%;
    margin: 0 0 5px 0;
    text-align: center;
}

.floatBtnBaloon span{
    position: relative;
    display: inline-block;
    margin: 0 auto;
    font-size: 15px;
    color: #096710;
}

.floatBtnBaloon span::before{
    position: absolute;
    display: block;
    content: "";
    top: 3px;
    left: -20px;
    width: 1px;
    height: 19px;
    background-color: #096710;
    transform: rotate(-35deg);
}

.floatBtnBaloon span::after{
    position: absolute;
    display: block;
    content: "";
    top: 3px;
    right: -20px;
    width: 1px;
    height: 19px;
    background-color: #096710;
    transform: rotate(35deg);
}

.pageTop{
    display: none;
}


/* bread */

nav.bread{
    width: 100%;
    border-bottom: 1px solid #eee;
}

nav.bread ul{
    display: flex;
    width: 100%;
    margin: 0 auto;
    padding: 12px 0;
}

/* page */

.pageBpdy{
    width: 100%;
    margin: 0 auto;
    padding: 30px 0 0 0;
}

.wideWpr{
    width: 100%;
    padding: 30px 0 20px 0;
}

.wideWpr.lg{
    background-color: #f2faf2;
}

.pageUnitWpr{
    width: 92%;
    margin: 0 auto 30px auto;
}

.pageUnitWpr.uprMgn{
    width: 92%;
    padding: 40px 0 0 0;
}

.pageTitle{
    width: 100%;
    background-color: #f2faf2;
    padding: 25px 0;
    font-size: 23px;
    font-weight: 700;
    color: #096710;
    text-align: center;
    line-height: 23px;
}

.pageUnitLeed{
    margin: 0 auto 20px auto;
    font-size: 21px;
    font-weight: 700;
    line-height: 23px;
    text-align: center;
    color: #980000;
}

.pageUnitTitle{
    margin: 0 auto 25px auto;
    font-size: 23px;
    font-weight: 700;
    line-height: 30px;
    text-align: center;
    color: #086600;
}

.pageUnitTitle.black{
    color: #222;
}



/* normalPage layout */

.pageUnit{
    width: 100%;
    margin: 0 auto 2rem auto;
}

.pageUnit p{
    margin: 0 auto 1.3rem auto;
    font-size: 16px;
    line-height: 1.7rem;
}

.pageUnit.center{
    text-align: center;
}

.pageUnitBodyLeed{
    width: 100%;
    margin: 0 0 2rem 0;
    font-size: 20px;
    font-weight: 700;
    color: #222;
    text-align: center;
    line-height: 1.7rem;
}

.pageUnitBody p{
    margin: 0 auto 1rem auto;
    line-height: 1.8rem;
}


.pageUnitBody p{
    width: 100%;
    font-size: 17px;
}

.pageUnitBody.center p{
    text-align: center;
}


.pageUnitBodyLeed span.red{
    color: #980000;
}

.pageUnitBodyLeed.black{
    font-size: 36px;
}


.pageUnitImg{
    width: 100%;
    margin: 0 auto;
}

.pageUnitImg img{
    width: 100%;
    height: auto;
}

/* flex layout */

.flexUnit{
    display: flex;
    width: 100%;
    margin: 0 0 2.5rem 0;
    flex-direction: column-reverse;
}

.flexUnitBody{
    font-size: 16px;
    line-height: 1.6rem;
}

.flexUnitBody.rel{
    position: relative;
    padding: 15px 0 0 0;
}

.flexUnitBody.rel p{
    position: relative;
    z-index: 450;
}

.flexUnitImg{
    width: 100%;
    margin: 0 auto 1rem auto;
    border-radius: 10px;
    overflow: hidden;
}


.ratio82 .flexUnitImg{
    width: 85%;
    margin: 0 auto 1rem auto;
}

.flexUnitImg img{
    width: 100%;
    height: auto;
}

.flexUnitBody p.margined{
    margin: 0 0 1.3rem 0;
}


h2.flexUnitLeed,
.flexUnitLeed{
    margin: 0 0 1rem 0;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.8rem;
}

.flexUnitLeed.red{
    color: #980000;
}

.flexUnitLeed.grn{
    margin: 0 0 1rem 0;
    padding: 10px 0 0 0;
    color: #139b1d;
}

.flexUnitLeed.grnNUmbering{
    margin: 0 0 1.5rem 0;
    padding: 0;
    color: #139b1d;
}

.flexNumbering{
    position: absolute;
    right: 0;
    bottom: 20px;
    font-size: 80px;
    font-weight: 500;
    font-family: "Oswald", sans-serif;
    color: #e7f5e8;
    z-index: 400;
}

.roundTag{
    display: inline-block;
    margin: 0 0 6px 0;
    padding: 4px 10px 7px 10px;
    border-radius: 20px;
    font-size: 17px;
    font-weight: 700;
    color: #FFF;
    line-height: 17px;
    text-align: center;
    background-color: #139b1d;
}

.optionSrv span{
    color: #fe991d;
}


.certifyImg{
    width: 100%;
    margin: 0 auto 30px auto;
    box-shadow: 0 5px 5px rgba(0,0,0,.2);
}

.certifyPanel{
    width: 100%;
    margin: 0 auto;
    padding: 30px;
    box-shadow: 0 0 5px rgba(0,0,0,.2);
}

.certifyTitle{
    margin: 0 auto 1.5rem auto;
    font-size: 17px;
    color: #139b1d;
    text-align: center;
}

.certifyCard{
    text-align: center;
    margin: 0 auto 1.5rem auto; 
}

.certifyCard img{
    display: block;
    margin: 0 auto;
}

.certifyBody{
    font-size: 16px;
    line-height: 1.7rem;
}


.imgFlexBox{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 auto 1rem auto;
}

.imgFlexBox.thinMgn{
    margin: 0 auto 1.5rem auto;
}

.imgFlexBox.wrap{
    flex-wrap: wrap;
}

.imgFlexBox.tri,
.imgFlexBox.quad{
    justify-content: center;
}

.roundLinedBox .imgFlexBox{
    margin: 0 auto;
}

.imgFlexItem{
    width: 30%;
    margin: 0 10px;
    border-radius: 10px;
    overflow: hidden;
}

.imgFlexItem img{
    width: 100%;
    height: auto;
}

.quad .imgFlexItem{
    margin: 5px;
    width: 30%;
}

.tri .imgFlexItem{
    margin: 10px 0;
    width: 100%;
}

.tri.triSp .imgFlexItem{
    margin: 0 5px;
    width: 30%;
}

.imgFlexBox.quad.quadSp .imgFlexItem{
    width: 45%;
}

.checkListWpr{
    margin: 0 auto 3rem auto;
}

.roundLinedBox .checkListWpr{
    margin: 0 auto;
}

.coloredBox{
    width: 100%;
    margin: 0 auto 3rem auto;
    padding: 20px 25px;
    font-size: 17px;
    line-height: 1.7rem;
}

.coloredBoxtitle{
    margin: 0 auto 1rem auto;
    font-size: 17px;
    font-weight: 700;
    color: #006600;
    text-align: center;
}

.coloredBox.center{
    font-size: 15px;
    text-align: center;
}

.checkListWpr p{
    position: relative;
    width: 100%;
    padding: 10px 0 10px 35px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4rem;
    color: #222;
    border-bottom: 1px dotted #acacac;
}

.checkListWpr p span{
    position: absolute;
    top: 12px;
    left: -0;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    border: 2px solid #980000;
}

.roundLinedBox .checkListWpr p{
    position: relative;
    width: 100%;
    padding: 10px 0 10px 30px;
    font-size: 16px;
    font-weight: 700;
    color: #222;
    border-bottom: 0px dotted #acacac;
}


.roundLinedBox .checkListWpr p.thin{
    position: relative;
    width: 100%;
    padding: 8px 0 8px 35px;
    font-size: 17px;
    font-weight: 700;
    color: #222;
}


.roundLinedBox .checkListWpr p span{
    position: absolute;
    top: 10px;
    left: -0;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    border: 2px solid #980000;
}

.checkListWpr p span::after{
    position: absolute;
    display: block;
    content: "";
    top: 5px;
    left: 3px;
    width: 8px;
    height: 3px;
    border-left: 2px solid #980000;
    border-bottom: 2px solid #980000;
    transform: rotate(-45deg);
}

.roundLinedBox{
    position: relative;
    width: 100%;
    margin: 0 auto 45px auto;
    padding: 1.5rem 2rem;
    border: 3px solid #139b1d;
    border-radius: 15px;
}

.roundLinedBox.thinMgn{
    position: relative;
    width: 100%;
    margin: 0 auto 45px auto;
    padding: 1.5rem 2rem;
    border: 3px solid #139b1d;
    border-radius: 15px;
}

.roundLinedBox h3{
    position: absolute;
    display: inline;
    top: -20px;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
}

.roundLinedBox h3 span{
    padding: 0 20px;
    background-color: #FFF;
    font-size: 17px;
    font-weight: 700;
}

.roundLinedBoxLeed{
    margin: 0 auto 1.5rem auto;
    font-size: 16px;
    line-height: 1.8rem;
}

.roundLinedBoxLeedNarMgn{
    margin: 0 auto;
    padding: 10px 0;
}

.spacer{
    height: 4rem;
}

/* 作業実績スライダ */

.trackRecordUnit{
    width: 100%;
    margin: 0 0 2rem 0;
    padding: 35px 0;
    background-color: #f9f8f4;
}

.trSliderWpr{
    width: 95%;
    margin: 0 auto;
    padding: 0 0 15px 0;
    background-color: #FFF;
    border-radius: 10px;
}

.trSliderUnit{
    width: 100%;
    padding: 20px 10px;
    background-color: #FFF;
}

.trSliderTitle{
    width: 100%;
    margin: 0 0 20px 0;
    padding: 0 0 15px 0;
    font-size: 20px;
    font-weight: 700;
    color: #139b1d;
    line-height: 1.6rem;
    border-bottom: 1px solid #eeeeee;
    text-align: center;
}

.trBody{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 90%;
    margin: 0 auto 20px auto;
}

.trImageWpr{
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin : 0 auto 1rem auto;
}

.trImageUnit{
    position: relative;
    width: 48%;
}

.trImage{
    width: 100%;
}

.trImage img{
    width: 100%;
    height: auto;
}


.trImageTag{
    position: absolute;
    right: 0;
    bottom: 0;
    display: inline-block;
    padding: 4px 10px;
    background-color: #009900;
    font-size: 15px;
    color: #FFF;
}

.trInfo{
    width: 100%;
    padding: 0 10%;
}

.trInfo table{
    width: 100%;
}

.trInfo table tr{
    border-bottom: 1px solid #eeeeee;
}

.trInfo table tr td{
    font-size: 15px;
    padding: 8px 0;
    border: 0 solid #FFF;
}

.trInfo table tr td:first-child{
    color:#009900;
}

.trInfo table tr td:last-child{
    font-size: 16px;
    color:#222;
    text-align: right;
}

.trInfo table tr:last-child td:last-child{
    color:#990000;
    font-weight: 700;
}

.trNote{
    width: 100%;
    padding: 0 10%;
    font-size: 16px;
    line-height: 1.7rem;
}

/* fee table */

.feeTableWpr{
    margin: 0 auto 2rem auto;
}

table.fee{
    width: 100%;
    margin: 0 auto 2rem auto;
    font-size: 17px;
}

table.fee th,
table.fee td{
    padding: 15px;
    text-align: center;
    border-right: 1px solid #ededed;
}

table.fee.double th{
    width: 50%;
}

table.fee.triple th{
    width: 33%;
}

table.fee th{
    color: #FFF;
    background-color: #139b1d;
    font-weight: 400;
}

table.fee td{
    border-bottom: 1px solid #ededed;
}

table.fee td:first-child{
    background-color: #fafafa;
    font-weight: 700;
}

table.fee td:last-child{
    color: #980000;
    font-weight: 700;
    text-align: right;
}

ul.tableNote{
    list-style: none; /* デフォルトのマーカーを削除 */
    padding-left: 0;  /* インデントも調整 */
}

ul.tableNote li{
    margin: 0 0 .8rem 0;
    font-size: 14px;

}

ul.tableNote li::before {
    content: "※";    /* カスタムマーカーを挿入 */
    margin-right: 8px; /* テキストとの間隔を調整 */
    line-height: 1.4rem;
  }


/* numbering */

.reasonNum{
    display: inline-block;
    font-size: 16px;
    font-weight: 400;
    font-family: 'Oswald', sans-serif;
    font-stretch: condensed;
    color: #333;
    line-height: 3px;
}

/* page promise */

.promiseWpr{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.promiseUnit{
    width: 100%;
    margin: 0 0 15px 0;
    border: 4px solid #139b1d;
    border-radius: 10px;
    padding: 25px 30px;
}

.promiseNum{
    margin: 0 0 10px 0;
    font-size: 25px;
    font-weight: 300;
    font-family: 'Oswald', sans-serif;
    text-align: center;
    color: #980029;
    line-height: 25px;
}

.promiseUnitTitle{
    width: 100%;
    margin: 0 auto 1.5rem auto;
    font-size: 19px;
    font-weight: 700;
    text-align: center;
    line-height: 1.6rem;
}

.promiseUnitBody{
    font-size: 16px;
    line-height: 1.8rem;
}

.buyingResWpr{
    width: 95%;
    margin: 0 auto;
}

.buyingResUnit{
    width: 100%;
    margin: 0 0 1.5rem 0;
    padding: 25px 20px;
    border-radius: 5px;
    background-color: #FFF;
    box-shadow: 0 0 5px rgba(0,0,0,.2);
    text-align: center;
}

.buyingResIcon{
    margin: 0 auto 10px auto;
    height: 40px;
    text-align: center;
}

.buyingResIcon img{
    display: block;
    margin: 0 auto;
    width: auto;
    height: 40px;
}

.buyingResTitle{
    margin: 0 auto 15px auto;
    padding: 0 0 15px 0;
    font-size: 19px;
    font-weight: 700;
    color: #139b1d;
    text-align: center;
    border-bottom: 1px solid #eeeeee;
}

.buyingRes{
    font-size: 16px;
    line-height: 1.7rem;
}

.linedText{
    padding: 1.5em 0 1rem 0;
    font-size: 23px;
    font-weight: 700;
    text-align: center;
    color: #333;
}

.linedText span{
    background: linear-gradient(to bottom, #f9f8f4 0, #f9f8f4 75%, #ffce2a 76%, #ffce2a 100%);
}


/* price */

.priceLeed{
    margin: 0 auto 2rem auto;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.8rem;
    text-align: center;
}

.priceLeed span{
    color: #980000;
}
.tab-panel {
    width: 100%;;
    margin: 0 auto;
  }
  /* ボタンを横並びに */
  .tab-buttons {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 2rem auto;
  }
  .tab-buttons button {
    width :100%;
    margin: 0 0 10px 0;
    padding: 10px 5px;
    font-size: 17px;
    cursor: pointer;
    background-color: #fe991d;
    border-radius: 30px;
    box-shadow: 0 0 5px rgba(0,0,0,.2);
    transition: .2s;
    color: #FFF;
  }

  .tab-buttons button:first-child{
    width: 100%;
  }

  .tab-buttons button:hover {
    background-color: #FFF;
    color: #fe991d;
    transition: .2s;
  }

    .tab-buttons button.active {
    background-color: #FFF;
    color: #fe991d;
    transition: .2s;
  }
  /* コンテンツエリアの初期設定 */
  .tab-content > div {
    display: none;
  }
  /* アクティブなコンテンツのみ表示 */
  .tab-content > .active {
    display: block;
  }


/* company */

table.company{
    width: 100%;
    border-left: 1px solid #ededed;
    border-top: 1px solid #ededed;
}

table.company tbody tr{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

table.company tbody tr th{
    width: 100%;
    padding: 20px;
    background-color: #eaeaea;
    vertical-align: top;
    font-size: 18px;
}

table.company tbody tr td{
    width: 100%;
    padding: 20px;
    border-right: 1px solid #ededed;
    border-bottom: 1px solid #ededed;
    font-size: 17px;
    line-height: 1.7rem;
    color: #333;
}

table.company tbody tr td a{
    color: #42a1fc;
    text-decoration: underline;
}

.accessMap{
    width: 100%;
    height: 600px;
}

.accessMap iframe{
    width: 100%;
    height: 600px;
}

.staffWpr{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.staffUnit{
    width: 100%;
    margin: 0 0 1.5rem 0;
    padding: 30px 20px 20px 20px;
    background-color: #f9f8f4;
    border-radius: 10px;
}

.staffImg{
    width: 160px;
    height: 160px;
    margin: 0 auto 1rem auto;
    border-radius: 80px;
    overflow: hidden;
}

.staffName{
    margin: 0 0 1rem 0;
    font-size: 23px;
    font-weight: 700;
    color: #139b1d;
}

.staffName span{
    font-size: 18px;
}

.staffItemName{
    margin: 0 0 1.1rem 0;
    font-size: 17px;
    font-weight: 700;
    color: #786b4d;
}

.staffItem{
    margin: 0 0 1rem 0;
    font-size: 16px;
    line-height: 1.6rem;
}

.staffUnitBody{
    width: 315px;
}



/* kaitori */

.linedTitleWpr{
    width: 100%;
    margin: 0 0 1rem 0;
    padding: 0 0 10px 0;
    border-bottom: 2px solid #eeeeee;
}

.linedTitleWpr span{
    display: inline-block;
    font-size: 18px;
    font-weight: 700;
    color: #990000;
}

.linedTitleWpr h3{
    margin: 0 !important;
    font-size: 22px;
    line-height: 36px;
    padding: 0 !important;
}

.kaitoriBody{
    margin: 0 0 5rem 0;
}

.kaitoriCatTitle{
    margin: 0 auto 1rem auto;
    padding: 1rem 0 0 0;
}

.kaitoriCatTitle h4{
    position: relative;
    margin: 0;
    padding: 0;
    font-size: 23px;
    font-weight: 700;
    color: #006629;
    border-left: 0px solid #FFF;
}

.kaitoriCatTitle h4:before {
    content: "\f788";
    font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
    font-weight: 600;
    color: #006629;
    margin-right: 0.5em;
    opacity: 0.5;
}


.kaitori .imgFlexBox.tri.flexWrap{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.kaitori .imgFlexItem{
    width: 31%;
    margin: 0 3% 3% 0;
}

.kaitori .imgFlexItem:nth-child(3n){
    margin: 0 0 10px 0;  
}

.kaitori .imgFlexItem img{
    width: 100%;
    height: auto;
}

.kaitori .imgFlexBox.quad.flexWrap{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}



/* howto */

.howtoPanelWpr{
    position: relative;
    width: 100%;
    margin: 0 auto 1rem auto;
    padding: 30px 1.5rem 20px 1.5rem;
    border-radius: 10px;
    background-color: #f9f8f4;
}

p.howtoPanelTitle{
    position: absolute;
    top: -16px;
    left: 3rem;
    font-size: 23px;
    font-weight: 700;
    color: #222;
}

.howtoPanelLine{
    display: flex;
    justify-content: flex-start;
}

.howtoPanelLine span{
    display: block;
    width: 30px;
    font-size: 23px;
    font-weight: 100;
    font-family: 'Barlow', sans-serif;
    font-stretch: condensed;
    line-height: 33px;
    color: #990000;
    transform: scaleX(0.9); /* 0.8は80%の幅に縮小 */
}

.howtoPanelLine p{
    width: calc(100% - 30px);
    padding: 0 0 0 1rem;
    display: block;
    font-size: 23px;
    font-weight: 700;
    text-align: left;
    line-height: 33px;
}

.howtoPanelNote{
    margin: 0 auto 1.3rem auto;
    font-size: 14px;
}

.howtoNote{
    margin: 0 auto 2rem auto;
    font-size: 14px;
}


.checkListWpr:has(p.margined) {
    margin: 0 auto 1rem auto;
}

.flexUnit.ratio82 .flexUnitImg .sep{
    margin: 0 0 20px 0;
    border-radius: 10px;
    overflow: hidden;
}

.flexUnit.ratio82 .flexUnitImg .sep img{
    display: block;
}

/* contact */

.formWpr{
    margin: 0 auto 2rem auto;
}

.contactTelWpr{
    position: relative;
    width: 350px;
    height: 47px;
    margin: 0 auto .1rem auto;
}

.contactTelWpr::before{
    content: "";
    display: inline-block;
    width: 61px;
    height: 40px;
    background: url('https://proassist-east.com/wp-content/uploads/2025/03/freedial.webp'); background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 55%;
    left: 0px;
    transform: translateY(-60%);
}

.contactTelWpr a{
    font-size: 48px;
    color: #333;
    text-decoration: none;
    line-height: 0.8em;
    position: relative;
    padding-left: 70px;
    font-weight: 10;
    transform: scaleX(0.8);
    font-family: 'Barlow', sans-serif;
    font-stretch: condensed;
    transform: scaleY(1.5);
}

.contactTelAble{
    margin: 0 auto 1.5rem auto;
    text-align: center;
}

.contactTelAble p{
    text-align: center;
}

table.contact{
    width: 100%;
    margin: 0 auto 1.5rem auto;
    border-top: 1px solid #dddddd;
    border-left: 1px solid #dddddd;
}

table.contact tr{
    display: flex;
    flex-wrap: wrap;
}

table.contact tr td{
    position: relative;
    width: 100%;
    padding: 15px;
    border-bottom: 1px solid #dddddd;
    border-right: 1px solid #dddddd;
    vertical-align: top;
}

table.contact tr td:first-child{
    background-color: #f6f6f6;
}

table.contact tr td:first-child span{
    position: absolute;
    top: 15px;
    right: 15px;
    width: 40px;
    height: 20px;
    background-color: #fe991d;
    font-size: 13px;
    text-align: center;
    color: #FFF;
    line-height: 19px;
}

table.contact tr td:last-child p{
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3rem;
}

input.contactSubmit,
button.contactSubmit{
    display: block;
    width: 195px;
    height: 50px;
    margin: 0 auto;
    border-radius: 3px;
    background-color: #3a8540;
    font-size: 16px;
    font-weight: 400;
    color: #FFF;
}

.contactTelLeed p{
    width: 100%;
    margin: 0 auto 10px auto;
    font-size: 14px;
    text-align: center;
}

/* single */

.flexContentWpr{
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
    padding: 20px 0;
}

.flexContentBody{
    width: 92%;
    margin: 0 auto;
}

.archiveUnitWpr{
    width: 100%;
}

.archiveUnit{
    width: 100%;
    margin: 0 0 35px 0;
}

.archiveUnitImg{
    width: 100%;
    margin: 0 auto 10px auto;
}

.archiveUnitImg img{
    width: 100%;
    height: auto;
}

.archiveUnitBody{
    width: 100%;
}

.archiveUnitTitle{
    margin: 0 0 .7rem 0;
}

.archiveUnitTitle a{
    font-size: 20px;
    font-weight: 700;
    color: #096710;
    line-height: 1.8rem;
}

.archivePubDate{
    display: inline-block;
    margin: 0 0 .7rem 0;
    font-size: 13px;
    color: #CCC;
}

.archiveExcerpt{
    font-size: 17px;
    color: #7e7e7e;
    line-height: 1.7rem;
}

.archiveExcerpt a{
    color: #53a7c8;
}


	/*review */

	#revHeadWpr{
		padding: 1rem 0;
		background-color: #ffefb1 !important;
	}

	#revHead{
		display: block;
		margin: 0 auto;
		width: 95%;
		cursor: pointer !important;
	}

	#revHead .wp-gr.wpac{
		padding-bottom: 0 !important;
	}

	#revBodyWpr{
		margin: 2rem 0 0 0;
		padding: 2rem 1rem 1rem 1rem;
		background-color: #ffefb1 !important;
	}

	#revBody{
		display: block;
		margin: 0 auto;
		width: 100%;
	}

	.wp-google-name a{
		pointer-events: none;
		cursor: default;
	}

	#revHead .wp-google-content-inner{
		display: none !important;
	}

	#revBody .wp-google-place.wp-place-center{
		width: 95% !important;
		margin: 0 auto 1rem auto !important;
	}

	#revBody .wp-google-content-inner{
		padding: 2rem !important;
		background-color: #FFF !important;
		border-radius: 1rem !important;
	}

	.wp-gr.wpac .wp-google-name{
		width: 100% !important;
		text-align: center !important;
	}

	.wp-google-name a span{
		line-height: 20px !important;
		font-size: 14px !important;
	}
	.wp-google-powered{
		/*display: none !important;*/
		width: 100%;
	}

	.wp-google-powered:nth-child(3){
		display: none !important;
	}

	.wp-google-powered:last-child{
		display: flex;
		flex-wrap: wrap;
		flex-direction: row-reverse;
		justify-content: center;
		padding: .5rem 0 0 0 !important;
	}

	.wp-gr .wp-google-right .wp-google-powered img{
		display: block;
		width: 150px !important;
		max-width: 150px !important;
		height: 23px !important;
		margin: -.2rem .5rem 0 .5rem !important;
	}

	.wp-gr .wp-google-right .wp-google-powered{
		font-size: 30px !important;
		font-weight: 700 !important;
		color: #CC0000 !important;
	}

	#revBody .wp-gr.wpac .wp-google-content-inner .wp-google-review .wp-google-right{
		text-align: left !important;
	}


	#revHead .wp-google-right div{
		width: 100% !important;
		text-align: center !important;
		margin: 0 !important;
		font-size: 22px !important;
	}

	#revBody .wp-google-right div{
		width: 100% !important;
		text-align: center !important;
	}

	#revBody .wp-google-review div{
		text-align: left !important;
	}

	.wp-gr .wp-google-place.wp-place-center .wp-google-right{
		display: flex !important;
		flex-wrap: wrap;
		width: 100% !important;
		padding: .4rem 0 0 0 !important;
	}

	.wp-google-right div:nth-child(2){
		padding: .5rem 0 !important;
	}

	.wp-gr .wp-google-place .wp-stars .wp-star svg{
		width: 20px !important;
		height: 20px !important;
		vertical-align: middle !important;
	}

	.wp-google-powered #kuchikomi,
	.wp-google-powered #ken{
		font-size: 14px !important;
		color: #333 !important;
	}

	.wp-google-powered #num{
		font-size: 26px !important;
		margin: 0 .3rem !important;
		line-height: 15px !important;
	}

	.wp-google-url{
		display: none !important;
	}


/* utility */

.noMgn{
    margin: 0 auto;
}

#pagetop{
    display: none;
}

.pc{
	display: none !important;
}


/* 仮 */
.tentative{
    width: 100%;
    margin: 0 auto 4rem auto;
    padding: 5rem;
    background-color: #FFF;
    border-radius: 10px;
    text-align: center;
}


}

@media screen and (min-width:1050px){

img{
	display: block;
	width: 100%;
	height: auto;
}

body{
	position: relative;
	padding: 0 0 130px 0;
}

header{
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: 124px;
    z-index: 250;
}

header h1,
header .headerLogo{
    width: 395px;
    padding: 30px 30px;
}

header h1 img,
header .headerLogo img{
    width: 320px;
    height: 65px;
}

.headerCtsWpr{
    display: flex;
    justify-content: flex-end;
    /* width: 1150px; */
    width: calc(100% - 395px);
    min-width: 945px;
}

.headerMenuWpr{
    /* width: 770px;
    padding: 22px 45px 0 0; */
    width: 70%;
    padding: 22px 35px 0 0;
}

.headerMenuUpr{
    display: flex;
    /* justify-content: space-between; */
    justify-content: right;
    width: 100%;
    height: 35px;
}

.headerTelWpr{
    display: flex;
    /* width: 770px; */
    min-width: 460px;
    height: 35px;
}

.headerFreedial{
    /* width: 53px; */
    width: 30px;
    margin-top: 8px;
    height: 35px;
}

.headerTel{
    margin: 0 -10px 0 -20px;
}

.headerTel a{
    display: inline-block; /* transformはブロック要素またはインラインブロック要素に適用 */
    font-size: 46px;
    font-weight: 700;
    font-family: 'Barlow', sans-serif;
    font-stretch: condensed;
    transform: scaleX(0.8); /* 0.8は80%の幅に縮小 */
    color: #ff9901;
    line-height: 30px;
    white-space: nowrap;
}

.available{
    font-size: 18px;
    font-weight: 400;
    line-height: 35px;
}

.estateBtn{
    width: 250px;
    height: 28px;
    margin: auto 0;
    border-radius: 24px;
    background-color: #f2faf2;
}

.estateBtn a{
    display: block;
    font-size: 14px;
    color: #006600;
    text-align: center;
    line-height: 26px;
}

.headerNavWpr{
    height: 45px;
    padding: 10px 0 0 0;
}

.headerContanctWpr{
    /* width: 385px; */
    min-width: 280px;
}

/* header menu */

/* ulの初期化 */
.menu, .submenu {
    list-style: none;
    margin: 0;
    padding: 0;
}

ul.menu{
    display: flex;
    justify-content: space-between;
    height: 57px;
}

/* 1階層目のメニューを水平に並べ、親要素を相対配置に */
.menu > li {
    display: inline-block;
    position: relative;
    padding: 10px 0;
    height: 57px;
}

.menu > li:has(> .submenu)::after{
    display: block;
    position: absolute;
    content: "";
    bottom: 17px;
    right: 0;
    left: 0;
    width: 6px;
    height: 6px;
    margin: 0 auto;
    border-left: 1px solid #d5d5d5;
    border-bottom: 1px solid #d5d5d5;
    transform: rotate(-45deg);
}

/* サブメニューは初期状態では非表示、親に対して絶対配置 */
.submenu {
    display: none;
    position: absolute;
    top: 85%;  /* 親要素の下に表示 */
    left: 50%;
    transform: translateX(-50%);
    background: #fff; /* サブメニューの背景色 */
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

/* サブメニューの各項目のスタイル */
.submenu li {
    display: block;
    padding: 10px 20px;
    white-space: nowrap;
    text-align: center;
    border-bottom: 1px dotted #d5d5d5;
}

.submenu li:last-child{
    border-bottom: 0 dotted #d5d5d5;
}

.menu li a,
.submenu li a{
    color: #222;
}

/* ホバー時にサブメニューを表示 */
.menu > li:hover > .submenu {
    display: block;
}

/* 親またはサブメニュー自身にカーソルがある場合、サブメニューを表示 */
.menu > li:hover > .submenu,
.menu > li > .submenu:hover {
    display: block;
}


.headerContanctWpr{
    height: 124px;
}

.headerContanctLeed{
    position: relative;
    width: 100%;
    height: 35px;
}

.headerContanctLeed span{
    position: relative;
    display: block;
    width: 180px;
    height: 35px;
    margin: 0 auto;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    line-height: 33px;
    color: #006600;
}

.headerContanctLeed span::before{
    display: block;
    position: absolute;
    content: "";
    top: 5px;
    left: -10px;
    width: 1px;
    height: 25px;
    background-color: #006600;
    transform: rotate(-45deg);
}

.headerContanctLeed span::after{
    display: block;
    position: absolute;
    content: "";
    top: 5px;
    right: -10px;
    width: 1px;
    height: 25px;
    background-color: #006600;
    transform: rotate(45deg);
}

.headerContanctBtnWpr{
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: 89px;
}

.headerContanctBtn{
    display: block;
    width: 192px;
    text-align: center;
    padding: 15px 0 0 0;
}

.estm{
    background-color: #ff9901;
}

.line{
    background-color: #006600;
}

.btnIcon{
    width: 100%;
    margin: 0 auto 10px auto;
    height: 30px;
    text-align: center;
}

.btnIcon img{
    display: block;
    margin: 0 auto 10px auto;
    width: auto;
    height: 30px;
}

.headerContanctBtn p{
    font-size: 16px;
    font-weight: 700;
    color: #FFF;
    text-align: center;
}


/* fv */

.fv{
    width: 100%;
    background-image: url("https://proassist-east.com/images/promo_bg_2.webp") !important;
    background-size: cover;
    background-position: bottom center;
    overflow: hidden;
}

.fvInner{
    position: relative;
    width: 100%;
    max-width: 1468px;
    margin: 0 auto;
    padding: 70px 0 80px 0;
}

.fvCatch{
    position: relative;
    width: 100%;
    max-height: 660px;
    z-index: 100;
}

.fvCatch img{
    height: 100%;
}

.fvStaff{
    position: absolute;
    width: 65%;
    bottom: -15%;
    right: -13%;
    z-index: 90;
}

.fvFooter{
    width: 100%;
    margin: 0 auto;
    padding: 25px 0;
    background-color: #019900;
}

.fvFooter img{
    display: block;
    width: 1200px;
    height: auto;
    margin: 0 auto;
}


/* layout */

.contentUnit{
    width: 100%;
    padding: 5rem 0;
}

.contentUnit.frontStep{
    padding: 5rem 0 2rem 0;
}

.contentUnit.thinP{
    padding: 3.5rem 0;
}

.contentUnitInner{
    width: 1200px;
    margin: 0 auto;
}

.lgreen{background-color: #f2faf2;}
.beige{background-color: #f9f8f4;}
.green{background-color: #019900;}

.whiteSep{
    margin: 0 auto 5rem
}

.bontentBtnWpr{
    display: flex;
    justify-content: center;
    width: 100%;
}

.bontentBtn{
    position: relative;
    width: 300px;
    margin: 0 30px;
    height: 60px;
    background-color: #ff9900;
    border-radius: 5px;
    box-shadow: 0 5px 0px #dd8500;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
}

.wide{
    width: 400px;
}

.bontentBtn::after{
    position: absolute;
    display: block;
    content: "";
    top: 0;
    bottom: 0;
    right: 20px;
    width :8px;
    height: 8px;
    margin: auto 0;
    border-right: 2px solid #FFF;
    border-bottom: 2px solid #FFF;
    transform: rotate(-45deg);
}

.bontentBtn:hover{
    box-shadow: 0 0 0px #dd8500;
    transform: translateY(5px);
    transition: .2s;
}

.bontentBtn a{
    display: block;
    color: #FFF;
    line-height: 58px;
    text-decoration: none !important;
}

.centeringTxt{
    margin: 0 auto 5rem auto;
    font-size: 17px;
    line-height: 26px;
    text-align: center;
}

.singleLineTitle{
    margin: 0 auto 3rem auto;
    font-size: 40px;
    font-weight: 700;
    text-align: center;
    line-height: 50px;
    color: #006600;
}

.singleLineTitle.left{
    text-align: left;
}

/* review */

.review{
    padding: 3rem;
    background-color: #ffefb1;
}

/* tv */

.tvWpr{
    width: 1200px;
    margin: 0 auto;
    border: 9px solid #019900;
    border-radius: 15px;
    padding: 40px;
}

.tvTitle{
    margin: 0 auto 4rem auto;
    font-size: 36px;
    font-weight: 700;
    color: #222;
    text-align: center;
}

.tvTitle span{
    color: #296600;
}

.tvLeed{
    margin: 0 auto 2rem auto;
    font-size: 18px;
    line-height: 1.8rem;
}

.tvLogo{
    width: 290px;
    margin: 0 auto 1rem auto;
}

.tvImgWpr{
    display: flex;
    justify-content: space-between;
}

.tvImg{
    width: 23%;
}

/* content */

.unitTitleWpr{
    width: 1200px;
    margin: 0 auto 3rem auto;
}

.unitTitleWpr.sMgn{
    width: 1200px;
    margin: 0 auto 1rem auto;
}

.unitTitle{
    width: 100%;
    text-align: center;
}

.unitTitle span{
    position: relative;
    display: inline-block;
    margin: 0 auto 1.5rem auto;
    font-size: 26px;
    font-weight: 700;
    line-height: 26px;
}

.unitTitleLeed{
    font-size: 41px;
    font-weight: 700;
    line-height: 50px;
    text-align: center;
}

.unitTitleLeed.bMgn{
    margin: 0 auto 2.5rem auto;
}

.unitTitle span::before{
    position: absolute;
    display: block;
    content: "";
    top: 13px;
    left: -120px;
    width: 100px;
    height: 1px;
    background-color: #d9e1d9;
}

.unitTitle span::after{
    position: absolute;
    display: block;
    content: "";
    top: 13px;
    right: -120px;
    width: 100px;
    height: 1px;
    background-color: #d9e1d9;
}

.unitTitleWpr .unitTitle span{ color: #990000; }
.unitTitleWpr .unitTitleLeed{ color: #086600; }
.green .unitTitleWpr .unitTitle span{ color: #ffcc00; }
.green .unitTitleWpr .unitTitleLeed{ color: #FFF; }



/* service */

.front-serviceWpr{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 1200px;
    margin: 0 auto;
}

.front-service{
    width: 23.5%;
    margin: 0 0 1.5rem 0;
    background-color: #FFF;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0,0,0,.1);
    overflow: hidden;
}

.front-serviceTitle{
    padding: 25px 20px;
}

.front-serviceTitle P,
.front-serviceTitle h4{
    font-size: 16px;
    font-weight: 700;
    color: #006600;
    text-align: center;
}

.front-serviceTitleLeed{
    padding: .5rem 0 0 0;
    text-align: center;
    font-size: 14px;
}

/* front_about */

.front_aboutImgWpr{
    display: flex;
    justify-content: space-between;
    width: 1200px;
    margin: 0 auto 1rem auto;
}

.front_aboutImg{
    width: 31%;
    border-radius: 10px;
    overflow: hidden;
}

.front_aboutBody{
    font-size: 17px;
    line-height: 1.8rem;
}

.front_aboutBody p{
    margin: 0 0 2rem 0 !important;
}

/* yt */

.yt{
    width: 840px;
    aspect-ratio: 16 / 9;
    margin: 0 auto;
    overflow: hidden;
}

.yt iframe{
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 10px solid #222;
    border-radius: 10px;
}

/* promise */

.front_promiseWpr{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
}

.front_promiseUnit{
    position: relative;
    width: 30%;
    margin: 4rem 1.5% 0 1.5%;
    padding: 4rem 20px 20px 20px;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0,0,0,.2);
}

.front_promiseIcon{
    position: absolute;
    top: -45px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 90px;
    height: 90px;
    border-radius: 45px;
    background-color: #009900;
    overflow: hidden;
}

.front_promiseTitle{
    margin: 0 0 1rem 0;
    font-size: 26px;
    font-weight: 900;
    line-height: 33px;
    color:#006600; 
}

.front_promise{
    font-size: 16px;
    line-height: 26px;
}

/* front_quality */

.front_qualityWpr{
    position: relative;
    width: 100%;
    padding: 85px 0 45px 0;
    
}

.front_qualityWpr::before{
    position: absolute;
    display: block;
    content: "";
    top: 0;
    right: 0;
    background-image: url('http://proassist-east.com/wp-content/uploads/2025/03/background_01.webp');
    width: 50%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right;
    opacity: .5;
    background-color: #f0f9fe;
}

.front_quality{
    position: relative;
    width: 1200px;
    margin: 0 auto;
    z-index: 300;
}

.front_qualityTitle{
    margin: 0 0 3rem 0;
    font-size: 44px;
    font-weight: 900;
    color: #225071;
    line-height: 50px;
}

.front_qualityLeed{
    font-size: 17px;
    line-height: 26px;
}

/* buying */

.buyingWpr{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
}

.buyingUnit{
    width: 18.5%;
    margin: 0 0 20px 0;
    padding: 0 0 25px 0;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0,0,0,.2);
}

.buyingImg{
    width: 100%;
    margin: 0 auto;
}

.buyingImg img{
    width: 100%;
    height: auto;
}

.buyingItem{
    font-size: 16px;
    font-weight: 700;
    color:#006600;
    text-align: center;
}

.halfFlex{
    display: flex;
    justify-content: space-between;
}

.upperBodyWpr,
.lowerBodyWpr{
    width: 48%;
}

.bodyTitle{
    position: relative;
    display: inline-block;
    color: #990000;
    margin: 0 auto 1rem auto;
    font-size: 26px;
    font-weight: 700;
    line-height: 26px;
    background-color: #FFF;
    z-index: 300;
}

.bodyTitle::before{
    position: absolute;
    display: block;
    top: 13px;
    right: -190px;
    content: "";
    width: 180px;
    height: 1px;
    background-color: #e5e5e5;
    z-index: 299;
}

.bodyTitleLeed{
    margin: 0 auto 1.5rem auto;
    font-size: 41px;
    font-weight: 700;
    line-height: 50px;
    color: #086600;
}

.upperBody{
    font-size: 16px;
    line-height: 26px;
}

/*questionnaire*/

.questionnaireWpr{
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}

.questionnaireBody{
    width: 680px;
}

.questionnaireTitle{
    margin: 0 0 1rem 0;
    font-size: 32px;
    font-weight: 700;
    line-height: 39px;
}

.questionnaireTitle span{
    color: #ff9900;
}

.questionnaire{
    margin: 0 0 1rem 0;
    font-size: 16px;
    line-height: 26px;
}

.bodyArwAnchor a{
    position: relative;
    display: inline-block;
    font-size: 16px;
    color: #222;
    text-decoration: underline;
}

.bodyArwAnchor a::after{
    position: absolute;
    display: block;
    content: "";
    top: 2px;
    bottom: 0;
    right: -20px;
    width: 8px;
    height: 8px;
    margin: auto 0;
    border-right: 2px solid #ff9900;
    border-bottom: 2px solid #ff9900;
    transform: rotate(-45deg);
}

.questionnaireImg{
    width: 480px;
    border-radius: 10px;
    overflow: hidden;
}

/* archive */

.archive .l-content.l-container{
    padding: 4rem 0 0 0 !important;
}

.front_archiveWpr{
    width: 100%;
    margin: 0 auto 100px auto;
}

.front_archiveWpr:last-child{
    margin: 0 auto;
}

.roundTitleWpr{
    width: 100%;
    height: 80px;
    margin: 0 auto 100px auto;
    text-align: center;
}

.roundTitle{
    position: relative;
    display: inline-block;
    height: 80px;
    padding: 10px 0;
    border-radius: 10px;
    border: 3px solid #006600;
}

.roundTitle p{
    position: relative;
    width: 110%;
    height: 55px;
    padding: 0 80px;
    margin-left: -5%;
    background-color: #f2faf2;
    font-size: 40px;
    color: #006600;
    line-height: 50px;
    text-align: center;
}

.roundTitle.wBg p{
    background-color: #FFF;
}

.front_archive{
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto 4rem auto;
}

.front_archiveUnit{
    display: block;
    width: 24%;
    border-radius: 7px;
    background-color: #FFF;
    overflow: hidden;
    box-shadow: 0 0 8px rgba(0,0,0,.2);
}

.front_archiveThumb a{
    display: block;
    width: 100%;
}

.front_archiveThumb a img{
    width: 100% !important;
    height: auto !important;
}

.front_archiveInfo{
    padding: 15px 20px;
}

.front_archiveInfo span{
    display: inline-block;
    margin: 0 0 8px 0;
    font-size: 14px;
    color: #444;
}

.front_archiveInfo p{
    font-size: 16px;
    font-weight: 700;
    color:#006600;
}

.front_archiveInfo p a{
    color:#006600;
}

/* step */

.front-stepWpr{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.front-stepUnit{
    position: relative;
    width: 23.5%;
    margin: 0 0 25px 0 !important;
    padding: 20px;
    border-radius: 8px;
    background-color: #FFF;
    font-size: 16px;
    line-height: 26px;
}

.front-stepUnit span{
    position: absolute;
    top: -15px;
    left: -15px;
    display: block;
    width: 40px;
    height: 40px;
    background-color: #ff9900;
    border-radius: 20px;
    font-size: 25px;
    font-weight: 700;
    font-family: 'Barlow', sans-serif;
    font-stretch: condensed;
    line-height: 38px;
    color: #FFF;
    text-align: center;
}

.front-leed p.s-text{
    margin: 8px 0 0 0;
    font-size: 13px;
    line-height: 20px;
}

.front-leed p.m-text{
    margin: 8px 0 0 0;
    font-size: 14px;
    line-height: 20px;
}

.stepTitle{
    margin: 0 0 10px 0;
}

/* faq */


.qa__title--en {
	color: #28A5B9;
	text-align: center;
	font-family: Futura;
	font-size: 30px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}
.qa__title--en span {
	font-size: 32px;
	letter-spacing: 4.48px;
}

.qa__title--ja {
	color: #767676;
	text-align: center;
	font-family: Noto Sans JP;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 41px; /* 128.125% */
}

.qa-item {
	margin-bottom: 12px;
	padding: 5px 0;
	border-radius: 4px;
}

.qa-box__q {
	position: relative;
	padding: 20px 22px 20px 45px;
	font-size: 17px;
	font-weight: 400;
	position: relative;
	color: #006600;
    border: 1px solid #CCCCCC;
    background-color: #FFF;
    box-shadow: 0 0 8px rgba(0,0,0,.1);
}

.qa-box__q br{
    display: none;
}

.qa-box__q span{
	position: absolute;
	display: block;
    top: 0;
    bottom: 0;
    margin: auto 0;
	left: 17px;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    background-color: #84b387;
	font-size: 14px;
	font-family: Arial;
	font-weight: 700;
	color: #FFF;
    text-align: center;
}

.qa-box__a {
	display: none;
}

.qa-box__content {
	position: relative;
	padding: 26px 26px 12px 20px;
	border-radius: 8px;
	font-size: 17px;
	line-height: 26px;
	font-style: normal;
	font-weight: 400;
	position: relative;
	color: #006600;
}

.qa-box__content span{
	position: absolute;
	display: block;
	top: 5px;
	left: 0;
	font-size: 30px;
	font-family: Arial;
	font-weight: 700;
	color: #3898CB;
}

.qa-box__icon {
	width: 30px;
	height: 30px;
	position: absolute;
	right: 3%;
	top: 50%;
	transform: translateY(-50%);
}

.qa-box__bar1 {
	position: absolute;
	top: 0;
	bottom: 3px;
	right: -10px;
	width: 12px;
	height: 12px;
	margin: auto 0;
	border-bottom: 2px solid #006600;
	border-right: 2px solid #006600;
	transform: rotate(45deg);
	transition: .3s;
}

.qa-box__icon.is-open .qa-box__bar1 {
	transform: rotate(225deg);
	transition: .3s;
	bottom: -3px;
}

/* message */

.messageIntroWpr{
    display: flex;
    justify-content: space-between;
    margin: 0 auto 75px auto;
}

.messageImg{
    width: 360px;
}

.messageBody{
    width: 100%;
}

.messageUnit{
    margin: 0 0 3rem ;
}

.messageIntroWpr .messageBody{
    width: 800px;
}

.messageSubTitleWpr{
    position: relative;
    margin: 0 0 2rem 0;
}

.messageLine{
    position: absolute;
    width: 100%;
    height: 1px;
    top: 15px;
    background-color: #eaeaea;
    z-index: 390;
}

.messageSubTitleWpr p{
    position: relative;
    display: inline-block;
    margin: 0 0 0 1rem;
    padding: 0 10px;
    background-color: #FFF;
    font-size: 26px;
    font-weight: 700;
    color: #222;
    z-index: 400;
}

.messagePolicy{
    padding: 0 0 0 1rem;
    font-size: 26px;
    font-weight: 700;
    line-height: 42px;
    color:#006600;
}

.message{
    padding: 0 0 0 1rem;
    font-size: 17px;
    line-height: 29px;
    color:#222;
}

/* area */

.front_areaTitle{
    margin: 0 0 3rem 0;
    font-size: 42px;
    font-weight: 900;
    color: #FFF;
    line-height: 42px;
}

.front_areaUnit{
    margin: 0 auto 2rem auto;
}

.front_area_pref{
    margin: 0 0 10px 0;
    padding: 0 0 10px 0;
    font-size: 21px;
    font-weight: 700;
    color: #ffcc00;
    line-height: 40px;
    border-bottom: 1px solid #33ad33;
}

.front_area_city{
    font-size: 16px;
    line-height: 26px;
    color: #FFF;
}


/* group */

.groupWpr{
    display: flex;
    justify-content: space-between;
}

.groupClm{
    width: 30%;
}

.groupType{
    margin: 0 0 15px 0;
    padding: 0 0 15px 0;
    font-size: 17px;
    font-weight: 700;
    color:#006600;
    border-bottom: 1px solid #ecebe8;
}

ul.groupName{
    margin: 0 0 1rem 0;
}

ul.groupName li{
    font-size: 17px;
    font-weight: 700;
    color: #a50000;
    line-height: 1.9rem;
}

ul.groupName li ul li{
    font-size: 16px;
    font-weight: 400;
    color: #222;
    line-height: 1.7rem;
}

.groupUnit{
    margin: 0 0 1.7rem 0;
}

.groupName{
    line-height: 1.7rem;
}

/* banner */

.bannerWpr{
    display: flex;
    justify-content: space-between;
    width: 1200px;
    margin: 0 auto;
}

.bannerWpr .banner{
    width: 15%;
}

.bannerWpr .banner img{
    display: block;
    box-shadow: 0 0 8px rgba(0,0,0,.2);
}

/* footer */

footer{
    width: 100%;
    padding: 3rem 0;
    background-color: #f6f6f6;
}

#footer.show {
    opacity: 1;
    pointer-events: auto;
  }


footer nav{
    display: flex;
    justify-content: space-between;
    width: 1200px;
    margin: 0 auto;
}

footer nav div{
    width: 15%;
}

footer nav div div.footerNavItem{
    width: 100%;
    margin: 0 0 15px 0;
    font-size: 17px;
    font-weight: 700;
    color:#006600;
}

footer nav div ul li a{
    font-size: 16px;
    font-weight: 400;
    color: #222;
    line-height: 2rem
}

.cr{
    width: 100%;
    padding: 15px 0;
    font-size: 14px;
    text-align: center;
    color: #FFF;
    background-color: #006600;
}

/* floater */
#floater{
    position: fixed;
    display: flex;
    justify-content: center;
    bottom: 0;
    width: 100%;
    height: 130px;
    padding: 30px 0;
    box-shadow: 0 0 10px rgba(0,0,0,.3);
    z-index: 9000;
    background-color: #FFF;
    transition: opacity 0.2s ease;
    opacity: 0;           /* 初期状態は非表示 */
    pointer-events: none; /* 非表示時のクリック無効 */
}

#floater.show {
    opacity: 1;
    pointer-events: auto;
  }

.floaterTelWpr{
    display: block;
    width: 260px;
    height: 70px;
    margin: 0 10px;
}

.floaterFD{
    width: 50px;
}

.floaterFD img{
    width: 100%;
    height: auto;
}

.floaterTelNumWpr{
    display: flex;
    justify-content: space-between;
    width: 260px;
    margin: 0 0 5px 0;
    padding: 5px 0 0 0;
}

.floaterTelNumWpr a{
    display: block;
    width: 230px;
    display: inline-block; /* transformはブロック要素またはインラインブロック要素に適用 */
    font-size: 37px;
    font-weight: 400;
    font-family: 'Barlow', sans-serif;
    font-stretch: condensed;
    transform: scaleX(0.9); /* 0.8は80%の幅に縮小 */
    color: #222;
    line-height: 28px;
    overflow: hidden;
}

.floaterTelOpen{
    width: 100%;
    text-align: right;
}

.floaterEstm{
    display: block;
    width: 265px;
    height: 70px;
    margin: 0 10px;
    background-color: #ff9900;
}

.floaterEstmLine{
    display: block;
    width: 265px;
    height: 70px;
    margin: 0 10px;
    background-color: #006600;
    
}

.floatBtn{
    display: block;
    text-align: center;
    padding: 25px 0;
    border-radius: 5px;
}

.floatBtn span{
    position: relative;
    height: 20px;
    padding: 0 0 0 30px;
    position: relative;
    display: inline-block;
    font-size: 18px;
    font-weight: 700;
    color: #FFF;
}

.floatBtn span img{
    position: absolute;
    top: 0;
    left: 0;
    width: 25px;
    height: auto;
}

.pageTop{
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 70px;
    height: 70px;
    border-radius: 40px;
    background-color: #7f7f7f;
    z-index: 9900;
}

.pageTopArrow{
    position: absolute;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 5px;
    height: 30px;
    border-radius: 2px;
    background-color: #FFF;
}

.pageTopArrow::before{
    position: absolute;
    display: block;
    content: "";
    top: -2px;
    left: -7px;
    width: 5px;
    height: 22px;
    border-radius: 2px;
    background-color: #FFF;
    transform: rotate(45deg);
}

.pageTopArrow::after{
    position: absolute;
    display: block;
    content: "";
    top: -2px;
    right: -7px;
    width: 5px;
    height: 22px;
    border-radius: 2px;
    background-color: #FFF;
    transform: rotate(-45deg);
}

/* bread */

nav.bread{
    width: 100%;
    border-bottom: 1px solid #eee;
}

nav.bread ul{
    display: flex;
    width: 1200px;
    margin: 0 auto;
    padding: 12px 0;
}

/* page */

.pageBpdy{
    width: 100%;
    margin: 0 auto;
    padding: 80px 0 0 0;
}

.wideWpr{
    width: 100%;
    padding: 100px 0 50px 0;
}

.wideWpr.lg{
    background-color: #f2faf2;
}

.pageUnitWpr{
    width: 1200px;
    margin: 0 auto 100px auto;
}

.pageUnitWpr.uprMgn{
    width: 1200px;
    padding: 80px 0 0 0;
}

.pageTitle{
    width: 100%;
    background-color: #f2faf2;
    padding: 110px 0;
    font-size: 50px;
    font-weight: 700;
    color: #096710;
    text-align: center;
    line-height: 50px;
    letter-spacing: .3rem;
}

.pageUnitLeed{
    margin: 0 auto 40px auto;
    font-size: 23px;
    font-weight: 700;
    line-height: 23px;
    text-align: center;
    color: #980000;
}

.pageUnitTitle{
    margin: 0 auto 50px auto;
    font-size: 41px;
    font-weight: 700;
    line-height: 50px;
    text-align: center;
    color: #086600;
}

.pageUnitTitle.black{
    color: #222;
}



/* normalPage layout */

.pageUnit{
    width: 100%;
    margin: 0 auto 4rem auto;
}

.pageUnit p{
    margin: 0 auto 1.3rem auto;
    font-size: 17px;
    line-height: 2rem;
}

.pageUnit.center{
    text-align: center;
}

.pageUnitBodyLeed{
    width: 100%;
    margin: 0 0 5rem 0;
    font-size: 28px;
    font-weight: 700;
    color: #222;
    text-align: center;
}

.pageUnitBody p{
    margin: 0 auto 3rem auto;
    line-height: 1.8rem;
}


.pageUnitBody p{
    width: 100%;
    font-size: 17px;
}

.pageUnitBody.center p{
    text-align: center;
}


.pageUnitBodyLeed span.red{
    color: #980000;
}

.pageUnitImg{
    width: 620px;
    margin: 0 auto;
}

/* flex layout */

.flexUnit{
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 0 4rem 0;
}

.flexUnit.reverse{
    flex-direction: row-reverse;
}

.flexUnitBody{
    font-size: 16px;
    line-height: 1.9rem;
}

.flexUnitBody.rel{
    position: relative;
    padding: 35px 0 0 0;
}

.flexUnitBody.rel p{
    position: relative;
    z-index: 450;
}


.flexUnitBody p.margined{
    margin: 0 0 1.3rem 0;
}


.flexUnit.ratio37 .flexUnitImg img{
    display: block;
}


.flexUnit.ratio37 .flexUnitBody{
    width: 62%;
}

.flexUnit.ratio37 .flexUnitImg{
    width: 32%;
    border-radius: 10px;
    overflow: hidden;
}

.flexUnit.ratio37 .flexUnitImg img{
    display: block;
    overflow: hidden;
}

.flexUnit.ratio55 .flexUnitBody{
    width: 48%;
}

.flexUnit.ratio55 .flexUnitImg{
    width: 48%;
    border-radius: 10px;
    overflow: hidden;
}

.flexUnit.ratio55 .flexUnitImg img{
    display: block;
    width: 100%;
    height: auto;
    overflow: hidden;
}

.flexUnit.ratio64 .flexUnitBody{
    width: 59%;
}

.flexUnit.ratio64 .flexUnitImg{
    width: 37%;
    border-radius: 10px;
    overflow: hidden;
}

.flexUnit.ratio64 .flexUnitImg img{
    display: block;
}

.flexUnit.ratio82 .flexUnitImg img{
    display: block;
}

.flexUnit.ratio82 .flexUnitBody{
    width: 72%;
}

.flexUnit.ratio82 .flexUnitImg{
    width: 24%;
    border-radius: 10px;
    overflow: hidden;
}

.flexUnit.ratio82 .flexUnitImg img{
    display: block;
}

.flexUnit.ratio82 .flexUnitImg .sep{
    margin: 0 0 20px 0;
    border-radius: 10px;
    overflow: hidden;
}

.flexUnit.ratio82 .flexUnitImg .sep img{
    display: block;
}

h2.flexUnitLeed,
.flexUnitLeed{
    margin: 0 0 1.5rem 0;
    font-size: 30px;
    font-weight: 700;
    line-height: 2.2rem;
}

.flexUnitLeed.red{
    color: #980000;
}

.flexUnitLeed.grn{
    margin: 0 0 3rem 0;
    padding: 10px 0 0 0;
    color: #139b1d;
}

.flexUnitLeed.grnNUmbering{
    margin: 0 0 3rem 0;
    padding: 0;
    color: #139b1d;
}

.flexNumbering{
    position: absolute;
    right: 0;
    bottom: 60px;
    font-size: 80px;
    font-weight: 500;
    font-family: "Oswald", sans-serif;
    color: #e7f5e8;
    z-index: 400;
}

.roundTag{
    display: inline-block;
    margin: 0 0 10px;
    padding: 7px 20px 10px 20px;
    border-radius: 25px;
    font-size: 19px;
    font-weight: 700;
    color: #FFF;
    line-height: 19px;
    text-align: center;
    background-color: #139b1d;
}

.optionSrv span{
    color: #fe991d;
}


.certifyImg{
    width: 360px;
    margin: 0 auto 50px auto;
    box-shadow: 0 10px 10px rgba(0,0,0,.2);
}

.certifyPanel{
    width: 385px;
    margin: 0 auto;
    padding: 30px;
    box-shadow: 0 0 10px rgba(0,0,0,.2);
}

.certifyTitle{
    margin: 0 auto 1.5rem auto;
    font-size: 17px;
    color: #139b1d;
    text-align: center;
}

.certifyCard{
    margin: 0 auto 1.5rem auto; 
}

.certifyBody{
    font-size: 16px;
    line-height: 1.7rem;
}


.imgFlexBox{
    display: flex;
    width: 100%;
    margin: 0 auto 3rem auto;
}

.imgFlexBox.thinMgn{
    margin: 0 auto 1.5rem auto;
}

.imgFlexBox.wrap{
    flex-wrap: wrap;
}

.imgFlexBox.tri,
.imgFlexBox.quad{
    justify-content: space-between;
}

.imgFlexBox.quad.fStart{
    justify-content: flex-start !important;
}

.roundLinedBox .imgFlexBox{
    margin: 0 auto;
}

.imgFlexItem{
    margin: 0 10px;
    border-radius: 10px;
    overflow: hidden;
}

.quad .imgFlexItem{
    margin: 10px 0;
    width: 24%;
}

.tri .imgFlexItem{
    margin: 8px;
    width: 32%;
}

.imgFlexBox.quad.fStart .imgFlexItem{
    margin: 5px;
    width: 24%;

}

.imgFlexBox.quad.fStart .imgFlexItem img{
    display: block;
    width: 100%;
    height: auto;
    transform: scale(2);
    border-radius: 10px;
    overflow: hidden;
}

.imgFlexBox.quad.fStart .imgFlexItem:nth-child(4n){
    margin: 5px 0 10px 5px;
}


.flexWrap{
    justify-content: flex-start !important;
    flex-wrap: wrap;
}

.checkListWpr{
    margin: 0 auto 3rem auto;
}

.checkListWpr:has(p.margined) {
    margin: 0 auto 1rem auto;
  }


.roundLinedBox .checkListWpr{
    margin: 0 auto;
}

.coloredBox{
    width: 100%;
    margin: 0 auto 3rem auto;
    padding: 20px 25px;
    font-size: 17px;
    line-height: 1.7rem;
}

.coloredBoxtitle{
    margin: 0 auto 1rem auto;
    font-size: 17px;
    font-weight: 700;
    color: #006600;
    text-align: center;
}

.coloredBox.center{
    font-size: 15px;
    text-align: center;
}


.coloredBox.center p{
    font-size: 15px;
    text-align: center;
}

.checkListWpr p{
    position: relative;
    width: 100%;
    padding: 15px 0 15px 35px;
    font-size: 19px;
    font-weight: 700;
    color: #222;
    border-bottom: 1px dotted #acacac;
}

.checkListWpr p span{
    position: absolute;
    top: 21px;
    left: -0;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    border: 2px solid #980000;
}

.roundLinedBox .checkListWpr p{
    position: relative;
    width: 100%;
    padding: 10px 0 10px 30px;
    font-size: 16px;
    font-weight: 700;
    color: #222;
    border-bottom: 0px dotted #acacac;
}


.roundLinedBox .checkListWpr p.thin{
    position: relative;
    width: 100%;
    padding: 8px 0 8px 35px;
    font-size: 17px;
    font-weight: 700;
    color: #222;
}


.roundLinedBox .checkListWpr p span{
    position: absolute;
    top: 15px;
    left: -0;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    border: 2px solid #980000;
}

.checkListWpr p span::after{
    position: absolute;
    display: block;
    content: "";
    top: 5px;
    left: 3px;
    width: 8px;
    height: 3px;
    border-left: 2px solid #980000;
    border-bottom: 2px solid #980000;
    transform: rotate(-45deg);
}

.roundLinedBox{
    position: relative;
    width: 100%;
    margin: 0 auto 75px auto;
    padding: 3.5rem 3rem;
    border: 5px solid #139b1d;
    border-radius: 15px;
}

.roundLinedBox.thinMgn{
    position: relative;
    width: 100%;
    margin: 0 auto 75px auto;
    padding: 1.5rem 3rem;
    border: 5px solid #139b1d;
    border-radius: 15px;
}

.roundLinedBox h3{
    position: absolute;
    display: inline;
    top: -20px;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
}

.roundLinedBox h3 span{
    padding: 0 20px;
    background-color: #FFF;
    font-size: 29px;
    font-weight: 700;
}

.roundLinedBoxLeed{
    margin: 0 auto 1.5rem auto;
    font-size: 16px;
    line-height: 2rem;
}

.roundLinedBoxLeedNarMgn{
    margin: 0 auto;
    padding: 10px 0;
}

.spacer{
    height: 4rem;
}

/* 作業実績スライダ */

.trackRecordUnit{
    width: 100%;
    margin: 0 0 5rem 0;
    padding: 75px 0;
    background-color: #f9f8f4;
}

.trSliderWpr{
    width: 1200px;
    margin: 0 auto;
    padding: 0 0 15px 0;
    background-color: #FFF;
    border-radius: 10px;
}

.trSliderUnit{
    width: 100%;
    padding: 30px 30px 0 30px;
    background-color: #FFF;
}

.trSliderTitle{
    width: 100%;
    margin: 0 0 20px 0;
    padding: 0 0 15px 0;
    font-size: 23px;
    font-weight: 700;
    color: #139b1d;
    line-height: 1.6rem;
    border-bottom: 1px solid #eeeeee;
}

.trBody{
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 0 20px 0;
}

.trImageWpr{
    display: flex;
    justify-content: space-between;
    width: 67%;
}

.trImageUnit{
    position: relative;
    width: 48%;
}

.trImageTag{
    position: absolute;
    right: 0;
    bottom: 0;
    display: inline-block;
    padding: 4px 10px;
    background-color: #009900;
    font-size: 15px;
    color: #FFF;
}

.trInfo{
    width: 30%;
}

.trInfo table{
    width: 100%;
}

.trInfo table tr{
    border-bottom: 1px solid #eeeeee;
}

.trInfo table tr td{
    font-size: 15px;
    padding: 8px 0;
    border: 0px solid #eeeeee;
}

.trInfo table tr td:first-child{
    color:#009900;
}

.trInfo table tr td:last-child{
    font-size: 16px;
    color:#222;
    text-align: right;
}

.trInfo table tr:last-child td:last-child{
    color:#990000;
    font-weight: 700;
}

.trNote{
    font-size: 16px;
    line-height: 1.7rem;
}

/* fee table */

.feeTableWpr{
    margin: 0 auto 7rem auto;
}

table.fee{
    width: 100%;
    margin: 0 auto 2rem auto;
    font-size: 17px;
}

table.fee th,
table.fee td{
    padding: 15px;
    text-align: center;
    border-right: 1px solid #ededed;
}

table.fee.double th{
    width: 50%;
}

table.fee.triple th{
    width: 33%;
}

table.fee th{
    color: #FFF;
    background-color: #139b1d;
    font-weight: 400;
}

table.fee td{
    border-bottom: 1px solid #ededed;
}

table.fee td:first-child{
    background-color: #fafafa;
    font-weight: 700;
}

table.fee td:last-child{
    color: #980000;
    font-weight: 700;
    text-align: right;
}

ul.tableNote{
    list-style: none; /* デフォルトのマーカーを削除 */
    padding-left: 0;  /* インデントも調整 */
}

ul.tableNote li::before {
    content: "※";    /* カスタムマーカーを挿入 */
    margin-right: 8px; /* テキストとの間隔を調整 */
    line-height: 2rem;
  }


/* numbering */

.reasonNum{
    display: inline-block;
    font-size: 16px;
    font-weight: 400;
    font-family: 'Oswald', sans-serif;
    font-stretch: condensed;
    color: #333;
    line-height: 3px;
}

/* page promise */

.promiseWpr{
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.promiseUnit{
    width: 31%;
    border: 4px solid #139b1d;
    border-radius: 10px;
    padding: 25px 30px;
}

.promiseNum{
    margin: 0 0 10px 0;
    font-size: 25px;
    font-weight: 300;
    font-family: 'Oswald', sans-serif;
    text-align: center;
    color: #980029;
    line-height: 25px;
}

.promiseUnitTitle{
    width: 90%;
    margin: 0 auto 3rem auto;
    font-size: 19px;
    font-weight: 700;
    text-align: center;
    line-height: 1.6rem;
}

.promiseUnitBody{
    font-size: 16px;
    line-height: 1.8rem;
}

.buyingResWpr{
    display: flex;
    justify-content: space-between;
    width: 1200px;
    margin: 0 auto;
}

.buyingResUnit{
    width: 30%;
    margin: 0 7px;
    padding: 25px 20px;
    border-radius: 5px;
    background-color: #FFF;
    box-shadow: 0 0 5px rgba(0,0,0,.2);
    text-align: center;
}

.buyingResIcon{
    margin: 0 auto 10px auto;
    height: 40px;
    text-align: center;
}

.buyingResIcon img{
    display: block;
    margin: 0 auto;
    width: auto;
    height: 40px;
}

.buyingResTitle{
    margin: 0 auto 15px auto;
    padding: 0 0 15px 0;
    font-size: 19px;
    font-weight: 700;
    color: #139b1d;
    text-align: center;
    border-bottom: 1px solid #eeeeee;
}

.buyingRes{
    font-size: 16px;
    line-height: 1.7rem;
}

.linedText{
    padding: 4rem 0 4rem 0;
    font-size: 39px;
    font-weight: 700;
    text-align: center;
    color: #333;
}

.linedText span{
    background: linear-gradient(to bottom, #f9f8f4 0, #f9f8f4 75%, #ffce2a 76%, #ffce2a 100%);
}


/* price */

.priceLeed{
    margin: 0 auto 4rem auto;
    font-size: 33px;
    font-weight: 700;
    line-height: 2.7rem;
    text-align: center;
}

.priceLeed span{
    color: #980000;
}
.tab-panel {
    width: 100%;;
    margin: 0 auto;
  }
  /* ボタンを横並びに */
  .tab-buttons {
    display: flex;
    justify-content: space-around;
    margin: 0 auto 4rem auto;
  }
  .tab-buttons button {
    width :28%;
    padding: 20px 5px;
    font-size: 17px;
    cursor: pointer;
    background-color: #fe991d;
    border-radius: 40px;
    box-shadow: 0 0 5px rgba(0,0,0,.2);
    transition: .2s;
    color: #FFF;
  }

  .tab-buttons button:first-child{
    width: 40%;
  }

  .tab-buttons button:hover {
    background-color: #FFF;
    color: #fe991d;
    transition: .2s;
  }

    .tab-buttons button.active {
    background-color: #FFF;
    color: #fe991d;
    transition: .2s;
  }
  /* コンテンツエリアの初期設定 */
  .tab-content > div {
    display: none;
  }
  /* アクティブなコンテンツのみ表示 */
  .tab-content > .active {
    display: block;
  }


/* company */

table.company{
    width: 100%;
    border-left: 1px solid #ededed;
    border-top: 1px solid #ededed;
}

table.company tbody tr th{
    width: 240px;
    padding: 20px 10px;
    background-color: #fafafa;
    border-bottom: 1px solid #cccccc;
    vertical-align: top;
}

table.company tbody tr td{
    width: 960px;
    padding: 20px;
    border-right: 1px solid #ededed;
    border-bottom: 1px solid #ededed;
    font-size: 17px;
    line-height: 1.7rem;
    color: #333;
}

table.company tbody tr td a{
    color: #42a1fc;
    text-decoration: underline;
}

.accessMap{
    width: 100%;
    height: 600px;
}

.accessMap iframe{
    width: 100%;
    height: 600px;
}

.staffWpr{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
}

.staffUnit{
    display: flex;
    justify-content: space-between;
    width: 48%;
    margin: 0 0 3rem 0;
    padding: 30px 40px;
    background-color: #f9f8f4;
    border-radius: 10px;
}

.staffImg{
    width: 160px;
    height: 160px;
    border-radius: 80px;
    overflow: hidden;
}

.staffName{
    margin: 0 0 3rem 0;
    font-size: 23px;
    font-weight: 700;
    color: #139b1d;
}

.staffName span{
    font-size: 18px;
}

.staffItemName{
    margin: 0 0 1.1rem 0;
    font-size: 17px;
    font-weight: 700;
    color: #786b4d;
}

.staffItem{
    margin: 0 0 1rem 0;
    font-size: 16px;
    line-height: 1.6rem;
}

.staffUnitBody{
    width: 315px;
}


/* kaitori */

.linedTitleWpr{
    display: flex;
    width: 100%;
    margin: 0 0 3rem 0;
    padding: 0 0 10px 0;
    border-bottom: 2px solid #eeeeee;
}

.linedTitleWpr span{
    display: inline-block;
    height: 40px;
    margin: 0 1rem 0 0;
    padding: 10px 14px;
    background-color: #990000;
    font-size: 18px;
    line-height: 18px;
    font-weight: 700;
    color: #FFF;
}

.linedTitleWpr h3{
    margin: 0 !important;
    font-size: 26px;
    line-height: 42px;
}

.kaitoriBody{
    margin: 0 0 5rem 0;
}

.kaitoriCatTitle{
    margin: 0 auto 1rem auto;
    padding: 1rem 0 0 0;
}

.kaitoriCatTitle h4{
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 23px;
    font-weight: 700;
    color: #006629;
    border-left: 0 solid #FFF;
}

.kaitoriCatTitle h4:before {
    content: "\f788";
    font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
    font-weight: 600;
    color: #006629;
    margin-right: 0.5em;
    opacity: 0.5;
}

/* howto */

.howtoPanelWpr{
    position: relative;
    width: 100%;
    margin: 0 auto 1rem auto;
    padding: 40px 3rem 20px 3rem;
    border-radius: 10px;
    background-color: #f9f8f4;
}



p.howtoPanelTitle{
    position: absolute;
    top: -16px;
    left: 3rem;
    font-size: 31px;
    font-weight: 700;
    color: #222;
}

.howtoPanelLine{
    display: flex;
    justify-content: flex-start;
}

.howtoPanelLine span{
    display: block;
    width: 50px;
    font-size: 37px;
    font-weight: 100;
    font-family: 'Barlow', sans-serif;
    font-stretch: condensed;
    line-height: 50px;
    color: #990000;
    transform: scaleX(0.9); /* 0.8は80%の幅に縮小 */
}

.howtoPanelLine p{
    width: calc(100% - 50px);
    padding: 0 0 0 1rem;
    display: block;
    font-size: 32px;
    font-weight: 700;
    text-align: left;
    line-height: 50px;
}

.howtoPanelNote{
    margin: 0 auto 1.3rem auto;
}

.howtoNote{
    margin: 0 auto 6rem auto;
}



/* contact */

.formWpr{
    margin: 0 auto 5rem auto;
}

.contactTelWpr{
    position: relative;
    width: 350px;
    height: 47px;
    margin: 0 auto .1rem auto;
}

.contactTelWpr::before{
    content: "";
    display: inline-block;
    width: 61px;
    height: 40px;
    background: url('https://proassist-east.com/wp-content/uploads/2025/03/freedial.webp'); background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 55%;
    left: 0px;
    transform: translateY(-60%);
}

.contactTelWpr a{
    font-size: 48px;
    color: #333;
    text-decoration: none;
    line-height: 0.8em;
    position: relative;
    padding-left: 70px;
    font-weight: 10;
    transform: scaleX(0.8);
    font-family: 'Barlow', sans-serif;
    font-stretch: condensed;
    transform: scaleY(1.5);
}

.contactTelAble{
    margin: 0 auto 1.5rem auto;
    text-align: center;
}

.contactTelAble p{
    text-align: center;
}

table.contact{
    width: 100%;
    margin: 0 auto 1.5rem auto;
    border-top: 1px solid #dddddd;
    border-left: 1px solid #dddddd;
}

table.contact tr td{
    position: relative;
    padding: 15px;
    border-bottom: 1px solid #dddddd;
    border-right: 1px solid #dddddd;
    vertical-align: top;
}

table.contact tr td:first-child{
    width: 365px;
    background-color: #f6f6f6;
}

table.contact tr td:first-child span{
    position: absolute;
    top: 15px;
    right: 15px;
    width: 40px;
    height: 20px;
    background-color: #fe991d;
    font-size: 13px;
    text-align: center;
    color: #FFF;
    line-height: 19px;
}

table.contact tr td:last-child p{
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3rem;
}

input.contactSubmit,
button.contactSubmit{
    display: block;
    width: 195px;
    height: 50px;
    margin: 0 auto;
    border-radius: 3px;
    background-color: #3a8540;
    font-size: 16px;
    font-weight: 400;
    color: #FFF;
}

.contactTelLeed p{
    display: block;
    width: 100%;
    margin: 0 auto 10px auto;
    text-align: center;
}

/* single */

.single-post .l-content.l-container{
    padding: 4rem 0 0 0 !important;
}

.flexContentWpr{
    display: flex;
    justify-content: space-between;
    width: 1200px;
    margin: 0 auto;
    padding: 70px 0;
}

.flexContentBody{
    width: 850px;
}

.sideNav{
    width: 300px;
}

.archiveUnitWpr{
    width: 100%;
}

.archiveUnit{
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 0 70px 0;
}

.archiveUnitImg{
    width: 285px;
}

.archiveUnitBody{
    width: 530px;
}

.archiveUnitTitle{
    margin: 0 0 1rem 0;
}

.archiveUnitTitle a{
    font-size: 24px;
    font-weight: 700;
    color: #096710;
    line-height: 2rem;
}

.archivePubDate{
    display: inline-block;
    margin: 0 0 1rem 0;
    font-size: 13px;
    color: #CCC;
}

.archiveExcerpt{
    font-size: 17px;
    color: #7e7e7e;
    line-height: 1.7rem;
}

.archiveExcerpt a{
    color: #53a7c8;
}

/* sideNav */

.navUnitWpr{
    margin: 0 auto 3rem auto;
}

.navUnitTitle{
    width: 100%;
    padding: 15px;
    font-size: 17px;
    font-weight: 700;
    color: #FFF;
    background-color: #10681a;
    text-align: center;
}

.navUnit{
    width: 100%;
    padding: 15px 18px;
    background-color: #f9f9f9;
    box-shadow: 0 0 6px rgba(0,0,0,.1);
}

ul.parentCat li a{
    position: relative;
    display: block;
    width: 100%;
    margin: 0 0 5px 0;
    padding: 10px 25px;
    border: 1px solid #ecebe8;
    background-color: #FFF;
    color: #222;
}

ul.subCat {
    margin: 15px 0;
}

ul.subCat li a{
    position: relative;
    display: block;
    width: 90%;
    margin: 0 15px 5px 15px;
    padding: 10px 25px;
    border: 1px solid #ecebe8;
    background-color: #FFF;
    color: #222;
}

ul.recentEntry li a{
    position: relative;
    display: block;
    width: 100%;
    margin: 0 0 5px 0;
    padding: 10px 35px 10px 15px;
    border: 1px solid #ecebe8;
    background-color: #FFF;
    color: #222;
    font-size: 14px;
}

ul.parentCat li a::after,
ul.subCat li a::after,
ul.recentEntry li  a::after{
    position: absolute;
    content: "";
    display: block;
    right: 15px;
    top: 0;
    bottom: 0;
    width: 5px;
    height: 5px;
    margin: auto 0;
    border-top: 1px solid #CCC;
    border-right: 1px solid #CCC;
    transform: rotate(45deg);
}

/* single content */



	/*review */

	#revHeadWpr{
		padding: 2.5rem 0 0 0;
		background-color: #ffefb1 !important;
	}

	#revHead{
		display: block;
		margin: 0 auto;
		width: 900px;
		cursor: pointer !important;
	}

	#revBodyWpr{
		margin: 5rem 0 0 0;
		padding: 4rem 0rem 2rem 0rem;
		background-color: #ffefb1 !important;
		border-radius: 1rem !important;
	}

	#revBody{
		display: block;
		margin: 0 auto;
		width: 1200px;
	}

	.wp-google-name a{
		pointer-events: none;
		cursor: default;
	}

	#revHead .wp-google-content-inner{
		display: none !important;
	}

	#revBody .wp-google-place.wp-place-center{
		width: 900px !important;
		margin: 0 auto 3rem auto !important;
	}

	#revBody .wp-google-content-inner{
		padding:3rem !important;
		background-color: #FFF !important;
		border-radius: 1rem !important;
	}

	.wp-google-place.wp-place-center{
		display: flex;
		justify-content: flex-start;
	}

	.wp-google-name a span{
		line-height: 40px !important;
		font-size: 22px !important;
	}
	.wp-google-powered{
		/*display: none !important;*/
		margin: 0 0 0 1rem;
	}

	.wp-google-powered:nth-child(3){
		display: none !important;
	}

	.wp-google-powered:last-child{
		display: flex;
		flex-direction: row-reverse;
		padding: 0 0 0 .5rem !important;
	}

	.wp-gr .wp-google-right .wp-google-powered img{
		display: block;
		width: 205px !important;
		max-width: 205px !important;
		height: 32px !important;
		margin: -.3rem .5rem 0 .5rem !important;
	}

	.wp-gr .wp-google-right .wp-google-powered{
		font-size: 30px !important;
		font-weight: 700 !important;
		color: #CC0000 !important;
		padding: .5rem 0 0 .5rem !important;
	}

	.wp-google-right div span.wp-google-rating{
		margin: 0 .6rem !important;
		font-size: 32px !important;
	}

	.wp-gr .wp-google-place.wp-place-center .wp-google-right{
		display: flex !important;
		width: auto !important;
		padding: .4rem 0 0 0 !important;
	}

	.wp-gr .wp-google-place .wp-stars .wp-star svg{
		width: 40px !important;
		height: 40px !important;
		vertical-align: middle !important;
	}

	.wp-google-powered #kuchikomi,
	.wp-google-powered #ken{
		font-size: 20px !important;
		color: #333 !important;
	}

	.wp-google-powered #num{
		font-size: 36px !important;
		margin: 0 .3rem !important;
		line-height: 15px !important;
	}

	.wp-google-url{
		display: none !important;
	}

	.pcDisp{
		display: block !important;
	}

	.spDisp{
		display: none !important;
	}


/* utility */

.noMgn{
    margin: 0 auto;
}

.sp{
	display: none;
}

/* 仮 */
.tentative{
    width: 100%;
    margin: 0 auto 5rem auto;
    padding: 5rem;
    background-color: #FFF;
    border-radius: 10px;
    text-align: center;
}

}