.sp #wrapper {
    overflow-x: hidden; /* トグルメニューを右に隠しておくため */
    position: relative; /* 各position指定の親要素 */
    max-width: 100%;
    /* border: 1px blue solid; */
    /*height: 100vh; /* ページが短くてもメニュー下部が見切れないように */
}
.sp #wrapper:after {
    background: url("../images/bg/bg_sp.png");
    background-size: cover;
    background-repeat: no-repeat;
    content: "";
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    z-index: -1;
    width: 100%;
    height: 100vh;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;

}

.sp #title_banner {
    height: 50px;
    /* border: 1px black solid; */
}

.sp #logo {
    display: block;
    margin: 0px 0px 0px 5px;
    width: 200px;/*calc(100% - 201px);*/
    height: 50px;
    text-indent: 100%; /* テキスト幅でインデントを取る */
    white-space: nowrap; /* 改行を禁止する */
	overflow: hidden; /* はみ出た分は非表示にする */
    background: url("../images/logo/logo_sp.png");
    background-repeat: no-repeat;
    background-size: 200px;/*calc(100% - 201px);*/
    background-position: center;
    /*border: 1px black solid;*/
}

.sp #company_info {
    display: none;
}

.sp #toggle_button {
    /* メニューボタン本体 */
    /* background: #FFFFFF; */
    height: 50px;
    width: 50px;
    /* border: 1px black solid; */
    position: absolute;
    top: 0px;
    right: 0px; /* 横スクロールが発生しないように右端につけない */
    cursor: pointer;
    
}

.sp #toggle_button:before {
    /* メニューボタン構成（三段バー上） */
    background: #000000;
    height: 4px;
    width: 38px;
    content: "";
    position: absolute;
    border-radius: 10px;
    top: 10px;
    left: 6px;
    transition: 0.2s;
}

.sp .btn_active:before {
    /* メニューボタン構成（三段バー上） */
    transform: translateY(13.2px) rotate(45deg);
    transition: 0.2s;
}

.sp #toggle_button:after {
    /* メニューボタン構成（三段バー下） */
    background: #000000;
    height: 4px;
    width: 38px;
    content: "";
    position: absolute;
    border-radius: 10px;
    top: 36px;
    left: 6px;
    transition: 0.2s;
}

.sp .btn_active:after {
    /* メニューボタン構成（三段バー下） */
    transform: translateY(-13.2px) rotate(-45deg);
    transition: 0.2s;
}

.sp #toggle_button #toggle_design {
    /* メニューボタン文字（隠す） */
    /* 以下のbefore要素の座標を指定するため0,0に配置する */
    color: transparent;
}

.sp #toggle_button #toggle_design::before {
    /* メニューボタン（三段バー中）表示 */
    background: #000000;
    height: 4px;
    width: 38px;
    content: "";
    position: absolute;
    border-radius: 10px;
    top: 23px;
    left: 6px;
    transition: 0.4s;
}

.sp #toggle_button .bar_active:before {
    /* メニューボタン（三段バー中）格納 */
    opacity: 0;
    transition: 0.4s;
}

.sp #menu {
    /* ハンバーガーメニュー */
    background: rgba(0,0,0,0.8); /* listに書くとうっすら境界線が入る */
    list-style: none;
    position: absolute;
    top: 50px;
    transition: 0.2s;
    width: 90%; /* トグルメニューの幅 */
    z-index: 100; /* 他の絶対位置表示の要素の下に回り込まないように */
    /* height: 100%; */
}

.sp .menu_deactive { /* ハンバーガーメニュー（格納） */
    right: calc(-90% - 1px); /* 境界からはみ出ないように1pxだけ余分に取る */
}

.sp .menu_active { /* ハンバーガーメニュー（展開） */
    right: 0px; /* 境界からはみ出ないように1pxだけ余分に取る */
}

.sp #menu li {
    width: 100%;
    line-height: 50px;
    text-align: center;
    /* border: 1px black solid; */
    position: relative;
}
.sp #menu li:last-child {
    line-height: 56px; /* 最後は区切り線との余白を持たせる */
}

.sp #menu li::after {
    /* メニューの区切り線 */
    position: absolute;
    top: 49px;
    left: 20px;
    background: white;
    border-radius: 4px;
    width: calc(90% - 10px);
    height: 2px;
    content: "";
}

.sp #menu li a {
    display: inline-block;
    color: white;
    width: 100%;
    height: 100%;
    text-decoration: none;
    font-family: 'HG丸ｺﾞｼｯｸM-PRO';
}

/* スライドショーのフレーム */
/* jsによって紹介文が挿入される */
.sp #slide_area {
    vertical-align: center;
    padding: 40px 10px;
    background: linear-gradient(90deg,rgba(71,229,56,0.7),rgba(0,176,80,0.7),rgba(0,176,80,0.7),rgba(71,229,56,0.7));
    color: white;

}
.sp #slide_area #slogan {
    text-align: center;
    font-size: 20px;
    font-weight: normal;
    font-family: 'ヒラギノ角ゴシック';
}
.sp #pic1, .sp #pic2, .sp #pic3 {
    display: none;
}

/* 見出しスタイル */
.sp .heading {
    text-align: center;
    background: lightgray;
    border-top: 2px green solid;
    border-bottom: 2px green solid;
    margin: 10px 0px;
    padding: 10px 0px;
    font-size: 20px;
    font-family: 'ヒラギノ角ゴシック';
    color: green;
}

/* topのニュースエリア */
.sp #news_area {
}
.sp #news_area #more_news {
    margin: 0px 20px 10px 20px;
    text-align: right;
    color: green;
}
.sp #news_area a {
    text-decoration: none;
    color: inherit;
}
.sp .news_article {
    margin: 10px;
    padding: 10px;
    /* border: 1px red solid; */
    background: rgba(255,255,255,0.8);
}
.sp .news_article .date {
    font-size: 10px;
}
.sp .news_article .title {
    font-size: 18px;
    color: green;
    font-weight: normal;
}
.sp .news_article p {
    font-size: 14px;
}

/* パンくずリスト */
.sp .breadcrumb {
    margin: 0;
    padding: 5px 10px;
    list-style: none;
    background: linear-gradient(90deg,rgba(71,229,56,0.7),rgba(0,176,80,0.7),rgba(0,176,80,0.7),rgba(71,229,56,0.7));
    overflow: hidden;
} 
.sp .breadcrumb li {
    display: inline;/*横に並ぶように*/
    list-style: none;
} 
.sp .breadcrumb li::after {
    /* >を表示*/
    /*font-family: ;*/
    content: '>';
    padding: 0 0.2em;
    /* font-weight: bold; */
    color: white;
} 
.sp .breadcrumb li:last-child::after {
    content: '';
}
.sp .breadcrumb li a {
    text-decoration: none;
    font-weight: bold;
    color: white;
} 
.sp .breadcrumb li a:hover {
    color: lime;
}

/* 各ページのエリア */
.sp #contents_area {
    background: rbga(255,255,255,0.8);
}
.sp #contents_area .title {
    margin: 10px;
}
.sp #contents_area p {
    margin: 10px;
}
/* 以降topコンテンツエリア */
.sp #contents_area .box {
    margin: 10px;
    padding: 5px;
    /* border: 1px red solid; */
    background: rgba(255,255,255,0.8);
}
.sp #contents_area .box .title {
    width: 180px;
    margin-bottom: 10px;
    /* border: 1px green solid; */
    background: rgba(250,128,114,0.7);
    font-size: 16px;
    font-weight: normal;
    color: white;
    text-align: center;
    font-family: 'ヒラギノ角ゴシック';
}

/* 以降問い合わせ用 */
.sp #contents_area #phone {
    text-align: center;
    font-size: 30px;
}
.sp #contents_area #hour {
    text-align: center;
    font-size: 14px;
}
.sp #contents_area .infobox {
    width: 90%;
    height: 40px;
    margin: 5px 5%;
    padding: 3px;
    font-size: 16px;
    font-family: 'ヒラギノ角ゴシック';
}
.sp #contents_area .textbox {
    width: 90%;
    height: 150px;
    margin: 5px 5%;
    padding: 3px;
    font-size: 16px;
    font-family: 'ヒラギノ角ゴシック';
}
.sp #contents_area .submit {
    width: 90%;
    height: 40px;
    margin: 5px 5%;
    padding: 3px;
    background: orange;
    border-style: none;
}
.sp #contents_area .capt {
    margin: 0px 5% 5px 5%;
}
.sp #contents_area .alert {
    color: red;
}
.sp #contents_area .error {
    border: 2px red solid;
    background: pink;
}

/* 会社概要 */
.sp #kaisya_gaiyou dl {
    margin: 10px;
    display: flex;
    flex-wrap: wrap;
    border-top: 1px green solid;
    font-size: 14px;
}
.sp #kaisya_gaiyou dt {
    display: inline-block;
    width: 20%;
    border-bottom: 1px green solid;
    box-sizing: border-box;
    padding: 10px 5px;
}
.sp #kaisya_gaiyou dd {
    display: inline-block;
    width: 80%;
    border-bottom: 1px green solid;
    box-sizing: border-box;
    padding: 10px 5px;
}

/* 施工例 */
.sp #sekou_box {
    text-align: center;
    margin : 10px;
}
.sp .sekou_thumbnail { /* 横幅が360pxであることを利用 */
    display: inline-block;
    width: 167px;
    margin: 1px;
}

/* 施工例（詳細ページ） */
.sp .sekoukoumoku_row {
    position: relative;
    margin: 50px 10px 10px 10px;
    padding: 20px 5px 10px 5px;
    background: ivory;
}
.sp .sekoukoumoku_row .title {
    position: absolute;
    top: -40px;
    left: -10px;
    font-size: 20px;
    width: 100px;
    padding: 10px 0px;
    text-align: center;
    background: green;
    color: white;
    transform: rotate(-5deg);
}
.sp .sekoukoumoku_row img {
    width: 100%;
    vertical-align: top; /* 画像下部に余白が入るのを防ぐ */
}
.sp .sekou_case {
    text-align: center;
}
.sp .sekou_case .hidden {
    visibility: hidden;
}
.sp .sekou_before {
    position: relative;
    width: 250px;
    min-height: 250px;
    margin: 35px 5px 10px 5px;
    box-shadow: 10px 10px 15px -10px;
    background: rgba(255,200,200,1);
    display: inline-block;
    padding: 10px;
}
.sp .sekou_before::before {
    position: absolute;
    top: -30px;
    left: 0px;
    width: 80px;
    height: 30px;
    content: "Before";
    font-family: "mtcorsva";
    font-size: 25px;
    background: rgba(255,200,200,1);
    border-radius: 10px 10px 0px 0px;
    padding: 5px 10px 0px 10px;
}
.sp .sekou_after {
    position: relative;
    width: 250px;
    min-height: 250px;
    margin: 35px 5px 10px 5px;
    box-shadow: 10px 10px 15px -10px;
    background: rgba(200,255,200,1);
    display: inline-block;
    padding: 10px;
}
.sp .sekou_after::before {
    position: absolute;
    top: -30px;
    left: 0px;
    width: 80px;
    height: 30px;
    content: "After";
    font-family: "mtcorsva";
    font-size: 25px;
    background: rgba(200,255,200,1);
    border-radius: 10px 10px 0px 0px;
    padding: 5px 10px 0px 10px;
}

/* 問い合わせフォーム */
.sp #otoiawase_kakunin div {
    font-weight:bold;
    margin: 10px 10px 0px 10px;
}
.sp #otoiawase_kakunin p {
    margin-top: 0px;
}
.sp #otoiawase_kakunin .hiddenbox { /* 確認画面の入力欄は非表示 */
    display: none;
}
.sp #otoiawase_kanryou #message {
    margin: 30px 0px;
    text-align: center;
    font-size: 30px;
    color: green;
}
.sp #otoiawase_kanryou #button_rtn {
    width: 90%;
    height: 40px;
    margin: 30px 5%;
    padding: 3px;
    background: green;
    border-style: none;
    color: white;
}



/* フッター */
.sp footer div {
    background: linear-gradient(90deg,rgba(71,229,56,0.7),rgba(0,176,80,0.7),rgba(0,176,80,0.7),rgba(71,229,56,0.7));
    text-align: center;
    padding: 10px;
    color: white;
    font-size: 14px;
}


/* 不動産物件一覧（estate_itemが途中にかんでいる） */
.sp #estate_search {
    border: 1px green solid;
    height: 80px;
    text-align: center;
}
.sp #estate_area .estate_item {
    margin: 10px;
    background: rgba(255,255,255,0.8);
    position: relative;
}
.sp #estate_area .estate_item .estate_link {
    position: absolute;
    width: 100%;
    height: 100%;
}
.sp #estate_area .estate_item .title {
    font-family: 'HGS明朝B';
    font-weight: bold;
    padding: 10px;
    color: white;
    font-size: 20px;
    background: green;
}
.sp #estate_area .estate_item .itembox {
    padding: 5px;
}
.sp #estate_area .estate_item .imgbox {
    display: inline-block;
    background: lightgray;
    width: 100%;
    height: 200px;
    margin: 10x 0px;
    position: relative;
}
.sp #estate_area .estate_item .imgbox img {
    position: absolute;
    top: 0px;
    left: 0px;
    object-fit: contain;
    width: 100%;
    height: 100%;
}