@charset "UTF-8";
/*
Theme Name:wapuru child
Template:wapuru
Description:ワプルオリジナル子テーマ 
Author:ワプル 
Version:1.0
*/

/* --- 共通設定 --- */
html {
    max-width: 100%;
}

body {
    max-width: 100%;
    font-family: "Noto Serif JP", serif;
    padding: 0;
    margin: 0;
	line-height:1.8
}

/* 1. ボックスモデルの解釈を統一（paddingを含めた幅にする） */
*, *::before, *::after {
    box-sizing: border-box;
}

/* 2. ブラウザ特有の余白を消去 */
body, h1, h2, h3, p, ul, ol, figure {
    margin: 0;
    padding: 0;
}

/* 3. 画像のはみ出し防止と隙間解消 */
img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

/* 4. リンクの見た目をリセット */
a {
    text-decoration: none;
    color: inherit; /* 親要素の色を引き継ぐ */
}

/* 5. リストのポッチ（点）を消す */
ul, ol {
    list-style: none;
}

table {
    width: 100%;
    /* ★最重要：隣り合う線を重ねて一本にする */
    border-collapse: collapse; 
}

a{
	color:#006036;
	text-decoration:underline
}

.pagetop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 50;
  opacity: 0;           /* 最初は透明 */
  visibility: hidden;    /* 最初は非表示 */
  transition: all 0.3s;
}

/* クラスがついたら表示 */
.pagetop.is-show {
  opacity: 1;
  visibility: visible;
}

.pagetop a {
  display: block;
  width: 50px;
  height: 50px;
  background-color: #006036; /* ボタンの色 */
  border-radius: 50%;     /* 丸い形 */
  position: relative;
}

/* 矢印（CSSだけで作成） */
.pagetop a::after {
  content: "";
  position: absolute;
  top: 55%;
  left: 50%;
  width: 12px;
  height: 12px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.grecaptcha-badge{
	position:relative;
	bottom:130px !important;z-index: 1000;
}


h2{font-size:40px;text-align:center;border-bottom: solid 3px #32cd32;position: relative;display: inline-block;margin-bottom: 50px;position:relative;}

h2:before {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #009957 ;
  bottom: -3px;
  width: 70%;
}



h2:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #006036;
  bottom: -3px;
  width: 30%;
}

h3{font-size:30px}

h4{font-size:25px}

/* --- スマホ設定 (767px以下) --- */
@media only screen and (max-width: 767px) {
	
	.l-header{padding:10px;position:fixed;width:100%;height:83px;background:#fff}
	
    .header-top {
               display: flex;
        align-items: center;		
    }
	
	.addres{font-size:14px;margin-left:5px}
	
    .logo {
        width: 50px;
        margin-bottom: 10px;
    }
}

/* --- パソコン・タブレット設定 (768px以上) --- */
@media only screen and (min-width: 768px) {
    .l-header{
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;       
        padding: 10px;        
        box-sizing: border-box;
        background-color: #fff;
        z-index: 9999;
        box-shadow: 0 2px 10px rgba(0,0,0,0.1); /* 影をつけて背景と区別 */
		display:flex;align-items:center
    }
	
	.header-top{width:750px;margin:0 auto;direction;display: flex;align-items:center;}
	
	.header-box{width:1200px;display:flex;align-items:center;margin:0 auto}

    /* ロゴの固定 */
    .logo {
        flex: 0 0 100px;
        width: 100px;margin-right: 10px;
    }

    .logo img {
        display: block;
        width: auto;
    height: 110px;
    }
	
	/* 画像を表示するエリアの設定 */
.telba-image {
    width: 280px;height: 85px;
	background-image: url('/wp-content/uploads/2026/01/telba-2.webp');
    background-size: contain;
    background-repeat: no-repeat;
    transition: background-image 0.3s ease; /* ふわっと切り替える設定 */
    cursor: pointer;
	box-shadow:1px 1px 2px black;margin:25px 10px 0;
}

/* マウスホバー時の設定 */
.tel-link:hover .telba-image {
    background-image: url('/wp-content/uploads/2026/01/telbaaf.webp');box-shadow:0px 0px 0px black;
}
	
		/* 画像を表示するエリアの設定 */
.telba-image2 {
    width: 280px;height: 85px;
    background-image: url('/wp-content/uploads/2026/02/mailbefore.webp');
    background-size: contain;
    background-repeat: no-repeat;
    transition: background-image 0.3s ease; /* ふわっと切り替える設定 */
    cursor: pointer;
	box-shadow:1px 1px 2px black;margin: 25px 10px 0;
}

/* マウスホバー時の設定 */
.tel-link:hover .telba-image2 {
    background-image: url('/wp-content/uploads/2026/02/mailafter.webp');box-shadow:0px 0px 0px black;
}

/* スマホ等でリンクの枠線が出るのを防ぐ */
.tel-link {
    text-decoration: none;
    display: inline-block;
}
	
	

    /* メニューを右側の残り幅いっぱいに使う */
    .menu-flex {
        flex: 1;display: flex;align-items: center;
    }

    .menu-flex ul {
        display: flex;
        flex-wrap: wrap; /* 折り返しを有効にする */
        width: 100%;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    /* 3枚×3行の設定 */
    .menu-flex ul li {
        width: calc(100% / 4.2  ); /* ぴったり3分割 */
        text-align: center;
        box-sizing: border-box;
        padding: 12px 5px;
		margin:0 2px;
        font-size: 16px;
        background: #006036;;
        color: #fff;box-shadow:1px 1px 1px black;
    }
	
	.menu-flex ul li:hover{
		background:#bae691;
		color:#ff0000;
	}
    
    /* リンクの色も白にする */
    .menu-flex ul li a {
        text-decoration: none;
        display: block;color: #fff;
    }

    /* ヘッダーが固定されるため、コンテンツが下に隠れないようにbodyに余白を追加 */
    body {
        padding-top: 120px; /* ヘッダーの高さに合わせて調整 */
    }
	
	.kazri{text-align:center}
	
	.kokko{
		padding:50px 10%;
		text-align:center;
		font-size:20px
	}
	
	.kokko h2{margin-bottom:50px}
	
	.mang{margin-top:-40px;color:#006036;margin-bottom:50px}
	
	.gazen{text-align:center;position:relative;margin:0 auto}
	
	.kagth{color:#cc0000;font-size:30px;font-weight:bold;
	position:absolute;
	width:100%;
	height:140px;
	text-align:center;bottom:0;left:0;background:rgba(255,255,255,0.9);padding:20px 0}
	
	.sakaku{text-align:center}
	
	.kagth img{margin:0 10px}
	
	.kabui{margin:30px auto}
	
	.loiter{width:100%;line-height: 2.5;}
	
	.addres{font-size:18px;}
	
	.lowtext{font-size:16px}
	
	.tyyiu{color:#cc0000;font-weight: bold;}
	
	.setumei{text-align:left;letter-spacing:0.1em}
	
	.gazou1{display:flex;justify-content: space-between;}
	
	.gazou1 img{width:50%;object-fit:cover;height:400px;width:auto;box-shadow:2px 2px 2px black}
	
	.eiote{margin-bottom:20px;border:1px solid #777;box-shadow: 2px 2px 2px black;}
	
	.eiote th,.eiote td{padding:25px;background:#fff;border: 2px solid #006036;line-height:1.8}
	
	.eiote th{text-align:left;background:#006036;width:250px;color:#fff;border:2px solid #aaa;}
	
	.eiote td:first-child {
		width:15%;	
	}
	
	section .flow,section .estate,section .greatting,section .contact{padding:50px 10%}
	
	.eiote,.price,.faq,.company{
		background:url(/wp-content/uploads/2026/01/hemp-cloth-02.webp);padding:50px 10%
	}
	
	.kokko h3{margin-bottom:20px}
	
	.hougan {
    /* 背景画像のパス */
    background-image: url(/wp-content/uploads/2026/01/24576587.webp);
    
    /* 画像の表示サイズを指定（ここを調整してください） */
    /* 例えば 50px にすると、かなり細かくリピートされます */background-size: 800px auto; 
    
    /* リピートの設定 */
    background-repeat: repeat;
    
    /* その他のスタイル */
    padding: 80px 0;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-weight: bold;
    position: relative;padding:30px
}
	
	.renrakusaki{margin:0 auto;background:#fff;text-align:center;padding:30px 0;
	box-shadow:2px 2px 2px black;position:relative}
	
	.renrakusaki:before{
		position:absolute;
		background:url(/wp-content/uploads/2026/01/jinbutu.webp);
		content:"";
		width:200px;
		height:207px;
		right:-15%;
		bottom:25%;background-size: cover;z-index:100
	}
	
	.renbun{font-size:30px}
	
	..renbun2{}
	
	/* バナー全体のスタイル */
    .land-banner {
		width:95%;
        margin: 20px auto;
        background: linear-gradient(135deg, #006036 0%, #009957 100%);
        color: #ffffff;
        border-radius: 12px;
        overflow: hidden;
        position: relative;
        box-shadow: 0 10px 20px rgba(0,0,0,0.2);
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 40px 20px;
        text-align: center;
        border: 2px solid #ecc94b; /* 外枠にゴールドのライン */
		font-family: "Noto Serif JP", serif;
    }

    /* 札幌限定バッジ */
    .badge {
        background-color: #ffff00;
        color: #3b3b3b;
        font-weight: bold;
        padding: 5px 15px;
        border-radius: 50px;font-size: 30px;
        margin-bottom: 15px;
        text-transform: uppercase;
        letter-spacing: 1px;
    }
	
	.saiyasu{
		background:#ffff00;;
		color:#cc0000 !important;
		font-size:55px !important;
		padding:10px;border-radius: 10px;margin: 0 10px;
	}
	
	.mojyu{
		color: rgb(246, 224, 94);
    font-size: 22px;
    margin-bottom: 5px;
	}

    /* メインコピー */
    .main-title {
        font-size: 35px;
        font-weight: 900;
        line-height: 1.4;margin: 20px 0 15px 0;
        color: #ffffff;
    }

    .main-title span {
        color: #f6e05e;
        font-size: 22px;
        margin-bottom: 5px;
    }

    /* 値引きの強調 */
    .discount-box {
        background: #fff;
        border: 2px dashed #f00;
        padding: 15px 30px;
        margin: 10px 0 20px 0;
        border-radius: 8px;color:#3b3b3b;font-size: 20px;
    }

    .discount-text {
        font-size:25px;color:#3b3b3b;
    }

    .price-highlight {
        font-size: 50px;
        color: #cc0000;
        font-weight: 800;
        margin: 0 5px;
        text-shadow: 2px 2px 0 rgba(0,0,0,0.3);
    }

    /* 説明文 */
    .description {
        font-size: 20px;
        line-height: 1.6;
        margin-bottom: 25px;
        
    }
	
	.telmail{display:flex;align-items:center;padding-top:20px;text-align:left;}
	
	.telban{width:50%;padding:20px;text-align:center;font-size:20px;font-weight:bold;line-height:1.4}
	
	.telban2{padding:20px;text-align:center;font-size:20px;font-weight:bold;line-height:1.4}
	
	.telban a{font-size:35px;color:#3b3b3b;text-decoration:none;font-weight:bold;color:#006036}
	
	.telban2 a{font-size:35px;color:#3b3b3b;text-decoration:none;font-weight:bold;color:#006036}
	
	.telban2 img{margin-right:20px;}
	
	.telban a:hover,.mailban a:hover,.telban2 a:hover{color:#dd0000}
	
	.telban img{margin-right:20px;}
	
	.mailban{width:50%;font-size:20px;text-align:center;font-weight:bold;line-height:1.4}
	
	.mailban a{font-size:30px;color:#3b3b3b;text-decoration:none;font-weight:bold;color:#006036}
	
	.mailban img{margin-right:20px}
	
	.onuty{font-size:20px;margin:0 auto;padding:30px 0}
	
	.copy{background:#5f764a;padding:15px 0}
	
	.copy p{text-align:center;font-size:14px;color:#fff}
	
	.articl{display:flex;width:70%;margin:30px auto;justify-content:center;align-items:center;font-size:18px}
	
	.flog{padding:30px;}
	
	.flog img{width:100px;height:auto}
	
	.shozai{padding:30px}
	
	.estate{background:url(/wp-content/uploads/2026/01/25503210_m.jpg);
	background-attachment:fixed;background-size:cover;position:relative}
	
	.estate:before{
		position:absolute;
		top:0;
		left:0;
		content:"";
		width:100%;
		height:100%;
		background:rgba(255,255,255,0.8)
	}
	
	.estate2{text-align:center;}
	
	.fuyou{text-align:left;display:inline-block;padding:40px 0;font-size:20px}
	
	.companypro{font-size:20px;text-align:left;width:800px;margin:0 auto}
	
	.company dl{width:100%;display:flex}
	
	.company dt{padding:15px 25px;background:#006036;border:1px solid #aaa;color:#fff;width: 265px;}
	
	.company dd{padding:15px 25px;background:#fff;border:1px solid #aaa;margin: 0;
    width: 100%;}
	
	.habaiti{width:1000px;margin:0 auto;position:relative;z-index:10;
	background:rgba(255,255,255,0.8);}
	
	.daihyou{display:flex;align-items:center}
	
	.daihyoubun{width:55%;padding:20px;font-size:20px;}
	
	.daihyouimg{width:45%;text-align: center;}
	
	.daihyouimg img{border:5px solid #ccc;
	box-shadow:1px 1px 2px gray}
	
	.estate h3{color:#006036;font-size:24px;}
	
	.flowparts{border:2px solid #006036;font-size:20px;margin:10px auto;box-shadow: 2px 2px 2px black;}
	
	.partsflex{display:flex;padding: 20px;justify-content:space-between}
	
	.partsflex div{padding:0 20px;text-align: left;width: 77%;}
	
	.yazirusi{width:100px;height:100px}
	
	.sikou{text-align:center}
	
	.sikou svg{color:#006036}
	
	.flowparts h3{color:#fff;background:#006036;font-size:24px;padding: 15px 20px;text-align: left;}
	
	.flowparts img{object-fit:cover;height:200px;width:200px;}
	
	.whiteboard{padding:50px 30px;background:#fff;}
	
	.text-big{font-size:35px;text-align:center;font-weight:bold;color:#006036}
	
	.text-big2{font-size:65px;text-align:center;font-weight:bold;color:#006036;margin: -20px 0;}
	
	.shousuu{font-size:30px;text-align:center;font-weight:bold;color:#fff;background:#2068b4;padding:5px 10px;
	display:inline-block;margin-bottom:50px;margin-top:-3px;border-radius:10px}
	
	.namida{margin-top:50px}
	
	.menkyo{text-align:center}
	
	.ikuri{text-align:left;display:inline-block}
	
	.kotoe{margin-top:50px}
	
	.shef1{background:url(/wp-content/uploads/2026/01/23641216_m.webp);width:100%;
	height:550px;position:relative;margin-top:35px;background-position:50% 50%}
	
	.shef1:before{position:absolute;top:0;left:0;width:100%;height:100%;content:"";
	background:rgba(255,255,255,0.7)}
	
	.shef1 h1{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#006036;font-size:45px}
	
	.form{text-align:left;background:#fff;padding:30px;box-shadow:2px 2px 2px black}
	
	#price,#flow,#faq,#company{display:block;position:relative;top:-70px;    overflow: hidden;}
	
	#price,#flow,#faq,#company{display:block;margin-top: -200px;
    padding-top: 200px;    overflow: hidden;}
	
	input[type="text"],input[type="email"]{color: #767676;
  background-color: #fff;
  border: 1px solid #dbdbdb;
  height: 50px;
  padding: 4px 20px;
  border-radius: 0;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;}
	
	.form dl{margin:60px 0}
	
	.form dt{padding:10px;background:#5f764a;color:#fff}
	
	.form dt span{background:#cc0000;padding:12px 15px;margin-left:15px;color:#fff;font-size:14px;margin-bottom:2px;
	position: relative;
    bottom: 2px;border-radius:5px;box-shadow:1px 1px 2px black}
	
	.form dd{padding:15px 15px;margin-left: 0;background:#f5f5f5}
	
	.posicen{text-align:center}
	
	input[type="submit"] {
		font-family: "Noto Serif JP", serif;
  position: relative;
  display: inline-block;
  font-size: 13px;
  line-height: 24px;
  padding: 12px 34px;
  color: #fff;
		background:#006036;font-size:22px;
  text-transform: uppercase;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
	
	.qa-list{}
	
	.qa-list dl {
    position: relative;
    margin: 30px 0;
    padding: 28px 80px 28px 30px;
    cursor: pointer;
		border:1px solid #006036;background:#fff;box-shadow:1px 1px 2px black;
}
	
	input[type="submit"]:hover{
		background:#dd0000;
	}
	
	
.qa-list dl:first-child {
    
}
.qa-list dl::before {
    position: absolute;
    top: 35px;
    right: 35px;
    display: block;
    width: 15px;
    height: 15px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #006036;
    border-right: 2px solid #006036;
}
.qa-list .open::before {
    transform: rotate(-45deg);
}
.qa-list dl dt {
    position: relative;
    margin: 0;
    padding: 0 0 0 50px;
    font-weight: bold;
    font-size: 20px;
}
.qa-list dl dt::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 0;
    display: block;
    content: 'Q.';
    color: #006036;
}
.qa-list dl dd::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 2px;
    display: block;
    content: 'A.';
    font-weight: bold;
    color: #006036;
}
.qa-list dl dd {
    position: relative;
    display: none;
    height: auto;
    margin: 20px 0 0;
    padding: 0 0 0 50px;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}

	/* PCでは非表示 */
.hamburger, .sp-nav {
  display: none;
}

	
}


/* タブレットのみ微調整したい場合（768px〜1024px） */
@media screen and (min-width: 768px) and (max-width: 1024px) {
	
	body{font-size:18px}
	
	.logo{width:80px;margin-right:0}
	
	.menu-flex ul li{padding:10px;width:22%;font-size: 1.5vw;}
	
	.header-top{width:100%}
	
	.menu-flex{display:block;flex:none;width: 78%;}
	
	.hero{margin-top:6px}
	
	.onuty{font-size:18px}
	
	.daihyoubun{font-size:16px;}
	
	.habaiti{ max-width: 100%;
    width: 100%;}
	
	.usurina{padding:30px}
	
	.articl{width:95%}
	
	.telba-image {
    width: 170px;
    height: 52px;
    position: absolute;
    top: 10px;
    right: 10px;}
	
	 .telba-image2 {
    width: 170px;
    height: 52px;
    position: absolute;
    top: 70px;
    right: 10px;}
	
	h2{font-size:30px}
	
	.fuyou{padding:0}
	
	
	
	.text-big{font-size:25px}
	
	.text-big2{font-size:45px}
	
	.renrakusaki{    }
	
	.form{margin-top:100px}
	
	.renbun{font-size:22px}
	
	.telban img,.mailban img{width:30px;height:auot}
	
	.telban a,.mailban a{font-size:25px}
	
	.telban,.mailban{font-size:18px}
	
	.renrakusaki::before{right:5%;top:10%;width:100px;height:103px}
	
	.logo img{width:80px}
	
	.addres{font-size:16px;left:15%;top: 10px;}
	
	.qa-list dl dt, .qa-list dl dd{font-size:18px}
	
	.fuyou{padding:30p 20px;font-size:18px}
	
	.telban img,.mailban img{margin-right:10px}
	
	.flowparts h3{font-size:20px}
	
	.shef1{height:400px}
	
	.estate h3{font-size:22px}
	
	.partsflex{padding:10px}
	
	.partsflex div{padding:0;width: 70%;}
	
	.shef1 h1{font-size:35px}
	
	.flowparts{font-size:18px}
	
	.companypro{max-width:100%}
	
	.companypro th{font-size:18px;width:40%}
	
	.companypro td{font-size:18px;width:60%}
	
	.eiote th{width:40%}
	
	.eiote td{width:60%}
	
	 section .kokko, section .flow, section .estate, section .greatting, section .contact {
    padding: 50px 30px;
  }
	
	.eiote, .price, .faq, .company {
    background: url(/wp-content/uploads/2026/01/hemp-cloth-02.webp);
    padding: 50px 30px;
  }
	
	 .main-title {
		 font-size: 28px;}
	
	
}

@media screen and (min-width: 1025px) {
	
	
	.usurina{width:1000px;padding:30px;margin:0 auto}
	
	.onuty,.renrakusaki{width:1000px;margin:0 auto}
	
	.sikou,.greatting{padding:50px 0}
	
}


/* ==========================================
   1. スマホ表示 (0px 〜 767px)
   ========================================== */
.pc { display: none !important; } /* PC用を隠す */
.sm { display: block !important; } /* スマホ用を出す */

/* ==========================================
   2. タブレット & PC表示 (768px以上すべて)
   ========================================== */
@media screen and (min-width: 768px) {
    .pc { display: block !important; } /* PC用を出す（タブレット含む） */
    .sm { display: none !important; }  /* スマホ用を隠す */
}

/* ==========================================
   3. タブレット専用の微調整 (768px 〜 1024px)
   ========================================== */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    /* PCメニューをタブレットで出すと横幅がキツい場合の調整 */
    .mainNav {
        font-size: 0.9rem; /* 文字を少し小さく */
    }
	
	  .telba-image {margin: 0px 10px 0;
	}
	
	.telba-image2{top:45px}
	
	.flow,.greatting{padding:30px}
	
}

@media screen and (max-width: 767px) {
	
	.namida{}
	
	h2{position:static}
	
	/* ボタンのスタイル */
  .hamburger {
    display: block;
    position: absolute;
    width: 30px;
    height: 25px;
    z-index: 9100;
    cursor: pointer;
	  top:25px;right:18px;
  }
	
	.hamburgermenu{
		font-size:13px;color:#3b3b3b;
		top:55px;right:10px;position:absolute;
	}

  .hamburger span {
    width: 100%;
    height: 2px;
    background-color: #333;
    position: absolute;
    transition: all 0.3s;z-index:9999
  }

  .hamburger span:nth-child(1) { top: 0; }
  .hamburger span:nth-child(2) { top: 50%; transform: translateY(-50%); }
  .hamburger span:nth-child(3) { bottom: 0; }

  /* ボタンがアクティブな時（三本線を×にする） */
  .hamburger.is-active span:nth-child(1) { top: 50%; transform: rotate(-45deg); }
  .hamburger.is-active span:nth-child(2) { opacity: 0; }
  .hamburger.is-active span:nth-child(3) { top: 50%; transform: rotate(45deg); }

  /* スマホメニュー本体 */
  .sp-nav {
    display: block;
    position: fixed;
    top: 0;
    right: -100%; /* 最初は画面外に隠す */
    width: 100%;
    height: 100vh;
    background: #fff;
    transition: all 0.3s;
    z-index: 9000;background:url(/wp-content/uploads/2026/02/23336958_m.jpg);background-size:cover;background-position:50% 50%;
  }
	
	.sp-nav:before{
		position:absolute;content:"";background:rgba(255,255,255,0.5);width:100%;height:100%;
		top:0;left:0;
	}

  .sp-nav.is-active {
    right: 0; /* 画面内にスライドイン */
  }

.sp-nav ul {list-style: none;padding:50px 20px 0;position: relative;z-index: 100;font-size:24px}
	
  .sp-nav ul li {border-bottom: 1px solid #eee;padding:20px 0 }
	
  .sp-nav ul li a { text-decoration: none; color: #006036; font-size: 1.3rem;padding: 10px 0;
    display: block;font-weight:bold }
	
	
.qa-list dl {
    position: relative;
    padding: 15px 40px 15px 10px;
}
.qa-list dl::before {
    top: 20px;
    right: 20px;
    width: 7px;
    height: 7px;
}
.qa-list dl dt {
    padding: 0 0 0 30px;
    font-size: 14px;
}
.qa-list dl dt::before {
    font-size: 14px;
    top: 3px;
    left: 5px;
    content: 'Q.';
}
.qa-list dl dd::before {
    font-size: 14px;
    top: 5px;
    left: 5px;
    content: 'A.';
}
.qa-list dl dd {
    margin: 10px 0 0;
    padding: 0 0 0 20px;
    font-size: 16px;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}
	
	body {
  font-family: "Noto Serif JP", serif;
  line-height: 1.6;
  font-size: 16px;
}
	
	.habaiti{
		position:relative;
	}	
	
	.l-footer{}
	
	  .price, .faq, .company {
    background: url(/wp-content/uploads/2026/01/hemp-cloth-02.webp);
  }
	
	  .estate {
		  background: url(/wp-content/uploads/2026/01/25503210_m.jpg);position:relative;padding:25px}
	
	  .estate::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.6);
  }
	
	h2 {font-size: 1.25rem;position:relative;margin-bottom:15px}
	
	h3{
		font-size: 1.2rem;position:relative;margin-bottom:15px}
	
	.kazri{text-align:center}
	
	.greatting{padding:20px 25px}
	
	.pagetop{bottom:60px;right:10px}
	
	   .eiote th {
    text-align: left;
    background: #006036;
    color: #fff;
    border: 2px solid #aaa;
	padding:15px 5px;width: 80px;
  }
	
	.eiote td {
    padding:15px 5px;
    background: #fff;
    border: 2px solid #006036;
    line-height: 1.8;
  }
	
	.text-big,.menkyo{padding:3px 10px}
	
	.text-big{font-size:22px !important}
	
	.text-big2{font-size:35px !important}
	
	.shousuu{margin-bottom:0 !important;font-size:20px !important;}
	
	.namida{margin-top:0 !important}
	
	  .l-header {
     z-index: 4000;
  }
	
	.kazri{}
	
	.kokko{padding:30px}
	
	.text-big{font-size:35px;text-align:center;font-weight:bold;color:#006036}
	
	.text-big2{font-size:65px;text-align:center;font-weight:bold;color:#006036;margin: -20px 0;}
	
	.shousuu{font-size:30px;text-align:center;font-weight:bold;color:#fff;background:#2068b4;padding:5px 10px;
	display:inline-block;margin-bottom:50px;margin-top:-3px;border-radius:10px}
	
	.namida{margin-top:50px}
	
	.menkyo{text-align:center}
	
	.ikuri{text-align:left;display:inline-block}
	
	.kotoe{margin-top:50px}
	
	.hougan {
    /* 背景画像のパス */
    background-image: url(/wp-content/uploads/2026/01/24576587.webp);
    
    /* 画像の表示サイズを指定（ここを調整してください） */
    /* 例えば 50px にすると、かなり細かくリピートされます */background-size: 800px auto; 
    
    /* リピートの設定 */
    background-repeat: repeat;
    
    /* その他のスタイル */
    padding: 80px 0;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-weight: bold;
    position: relative;padding: 25px;
}
	
	.renrakusaki{margin:0 auto;background:#fff;text-align:left;padding:10px 0;position:relative;
	font-size:16px;overflow:hidden}
	
	.renrakusaki:before{
		position:absolute;
		background:url(/wp-content/uploads/2026/01/jinbutu.webp);
		content:"";
		width:80px;
		height:82px;right:0%;
		bottom:25%;background-size: cover;z-index:100
	}
	
	.flow{padding:10px 25px}
	
	.renbun{font-size:30px}
	
	.renbun2{}
	
	/* バナー全体のスタイル */
    .land-banner {
		width:95%;
        margin: 0px auto;
        background: linear-gradient(135deg, #006036 0%, #009957 100%);
        color: #ffffff;
        border-radius: 12px;
        overflow: hidden;
        position: relative;
        box-shadow: 0 10px 20px rgba(0,0,0,0.2);
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 20px 5px;
        text-align: center;
        border: 2px solid #ecc94b; /* 外枠にゴールドのライン */
		font-family: "Noto Serif JP", serif;
    }

    /* 札幌限定バッジ */
    .badge {
        background-color: #ffff00;
        color: #3b3b3b;
        font-weight: bold;
        padding: 5px 15px;
        border-radius: 50px;font-size: 22px;
        margin-bottom: 15px;
        text-transform: uppercase;
        letter-spacing: 1px;
    }
	
	.saiyasu{
		background:#ffff00;;
		color:#cc0000 !important;
		font-size:30px !important;
		padding:0px;border-radius: 10px;margin: 0 10px;
	}
	
	.mojyu{
		color: rgb(246, 224, 94);
    font-size: 17px;
    margin-bottom: 5px;
	}

    /* メインコピー */
    .main-title {
        font-size: 22px;
        font-weight: 900;
        line-height: 1.4;margin: 20px 0 15px 0;
        color: #ffffff;
    }

    .main-title span {
        color: #f6e05e;
        font-size: 22px;
        margin-bottom: 5px;
    }

    /* 値引きの強調 */
    .discount-box {
        background: #fff;
        border: 2px dashed #f00;
        padding: 15px 30px;
        margin: 10px 0 20px 0;
        border-radius: 8px;color:#3b3b3b;font-size: 20px;
    }

    .discount-text {
        font-size:20px;color:#3b3b3b;
    }

    .price-highlight {
        font-size: 35px;
        color: #cc0000;
        font-weight: 800;
        margin: 0 5px;
        text-shadow: 2px 2px 0 rgba(0,0,0,0.3);
    }

    /* 説明文 */
    .description {
        font-size: 16px;
        line-height: 1.6;
        margin-bottom: 25px;text-align:left
        
    }
	
	.telmail{text-align:left;}
	
	.telban{padding:25px 5px;text-align:center;font-size:18px;font-weight:bold;line-height:1.4}
	
	.telban2{padding:20px;text-align:center;font-size:20px;font-weight:bold;line-height:1.4}
	
	.telban a{font-size:22px;color:#3b3b3b;text-decoration:none;font-weight:bold;color:#006036}
	
	.telban2 a{font-size:35px;color:#3b3b3b;text-decoration:none;font-weight:bold;color:#006036}
	
	.telban2 img{margin-right:20px;}
	
	.telban a:hover,.mailban a:hover,.telban2 a:hover{color:#dd0000}
	
	.telban img{width:45px;height:auto;margin-right:3px}
	
	.mailban{font-size:18px;text-align:center;font-weight:bold;line-height:1.4;padding:25px 5px;}
	
	.mailban a{font-size:22px;color:#3b3b3b;text-decoration:none;font-weight:bold;color:#006036;}
	
	.mailban img{width: 45px;
    height: auto;margin-right:3px}
	
	.onuty{font-size:16px;margin:0 auto;}
	
	.copy{background:#5f764a;padding: 15px 0 80px;}
	
	.copy p{text-align:center;font-size:11px;color:#fff}
	
	.articl{font-size:18px}
	
	.flog{padding:25px;}
	
	.flog img{width:100px;height:auto}
	
	.shozai{padding:30px}
	
	.flowparts{border:2px solid #006036;font-size:20px;margin:10px auto;box-shadow: 2px 2px 2px black;}
	
	.partsflex{padding:5px;}
	
	.partsflex div{font-size:16px;text-align:left;margin-bottom:10px}
	
	.yazirusi{width:50px;height:50px}
	
	.sikou{text-align:center}
	
	.sikou svg{color:#006036}
	
	.flowparts h3{color:#fff;background:#006036;font-size:22px;padding: 15px 20px;text-align: left;}
	
	.faq{padding:25px}
	
		.qa-list dl {
    position: relative;
    margin: 30px 0;
    padding: 18px 45px 18px 15px;
    cursor: pointer;
		border:1px solid #006036;background:#fff;box-shadow:1px 1px 2px black;
}
	
	input[type="submit"]:hover{
		background:#dd0000;
	}
	
	
.qa-list dl:first-child {
    
}
.qa-list dl::before {
    position: absolute;
    top: 35px;
    right: 15px;
    display: block;
    width: 15px;
    height: 15px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #006036;
    border-right: 2px solid #006036;
}
.qa-list .open::before {
    transform: rotate(-45deg);
}
.qa-list dl dt {
    position: relative;
    margin: 0;
    padding: 0 0 0 30px;
    font-weight: bold;
    font-size: 16px;
}
.qa-list dl dt::before {
    font-size: 20px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 0;
    display: block;
    content: 'Q.';
    color: #006036;
}
.qa-list dl dd::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 2px;
    display: block;
    content: 'A.';
    font-weight: bold;
    color: #006036;
}
.qa-list dl dd {
    position: relative;
    display: none;
    height: auto;
    margin: 20px 0 0;
    padding: 0 0 0 25px;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}
	
	.daihyoubun{margin-bottom:20px}
	
	  .daihyouimg img {
    border: 5px solid #ccc;
    box-shadow: 1px 1px 2px gray;
  }
	
	.company{padding:25px}

	.companypro{font-size:20px;text-align:left;width:800px;margin:0 auto}
	
	.company dl{width:100%;}
	
	.company dt{padding:15px 25px;background:#006036;border:1px solid #aaa;color:#fff;}
	
	.company dd{padding:15px 25px;background:#fff;border:1px solid #aaa;margin: 0;
    width: 100%;}
	
	.flog{text-align:center}
	
	.shozai{padding:0;font-size:16px;padding:0 35px 15px}
	
	.usurina{padding:10px}
	
	.ityt{text-align:center;margin-bottom: 200px;}

	.ityt img{width:100px;height:auto}
	
	.telba-image {
    width: 280px;
    height: 85px;
    background-image: url('/wp-content/uploads/2026/01/telba-2.webp');
    background-size: contain;
    background-repeat: no-repeat;
    transition: background-image 0.3s ease;
    cursor: pointer;
    box-shadow: 1px 1px 2px black;
    margin: 120px 10px 0;
  }
	
	 .telba-image2 {
    width: 280px;
    height: 85px;
    background-image: url('/wp-content/uploads/2026/01/mailba.webp');
    background-size: contain;
    background-repeat: no-repeat;
    transition: background-image 0.3s ease;
    cursor: pointer;
    box-shadow: 1px 1px 2px black;
    margin: 0px 10px 0;
  }
	
	.shef1{background:url(/wp-content/uploads/2026/01/23641216_m.webp);width:100%;
	height:500px;position:relative;background-position:50% 50%;background-size: cover;}
	
	.shef1:before{position:absolute;top:0;left:0;width:100%;height:100%;content:"";
	background:rgba(255,255,255,0.7)}
	
	.shef1 h1{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#006036;font-size:30px}
	
	.form{text-align:left;background:#fff;}
	
	.form dd{margin-left:0 !important}
	
	 .form dt span {
    background: #cc0000;
    padding: 12px 15px;
    margin-left: 15px;
    color: #fff;
    font-size: 14px;
    margin-bottom: 2px;
    position: relative;
    bottom: 2px;
    border-radius: 5px;
    box-shadow: 1px 1px 2px black;
  }
	
	 input[type="text"], input[type="email"] {
    color: #767676;
    background-color: #fff;
    border: 1px solid #dbdbdb;
    height: 50px;
    padding: 4px 20px;
    border-radius: 0;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
		 width:100%;max-width:100%
  }
	
	textarea{width:100%;max-width:100%}
	
	 input[type="submit"] {
    font-family: "Noto Serif JP", serif;
    position: relative;
    display: inline-block;
    font-size: 13px;
    line-height: 24px;
    padding: 12px 34px;
    color: #fff;
    background: #006036;
    font-size: 22px;
    text-transform: uppercase;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
  }
	
	.posicen{text-align:center}
	
	 .form dt {
    padding: 10px;
    background: #5f764a;
    color: #fff;
  }
	
	.renbun{font-size:16px}
	
	.formgenya{padding:25px}
	
	.ojiro{position:relative}
	
	.ojiro:before{bottom:41% !important;right: 0% !important;}
	
	#price,#flow,#faq,#company{display:block;top:-120px;position:relative}
	
	.kagth {
    color: #cc0000;
    font-size: 20px;
    font-weight: bold;
    position: absolute;
    width: 100%;
    text-align: center;
    bottom: 0;
    left: 0;
    background: rgba(255,255,255,0.9);
    padding: 5px 0;
  }
	
	  .estate h3 {
    color: #006036;
    font-size: 20px;
  }
	
	  .gazen {
    text-align: center;
    position: relative;
    margin: 0 auto;
  }
	
	.habaiti{margin: 0 auto;
    position: relative;
    z-index: 10;
    background: rgba(255,255,255,0.8);
    }
	
	.fonga{position:fixed;bottom:0;left:0;z-index: 9999;
  }

	.fonga ul{display:flex;}

	.fonga ul li{width:50%;border: 1px solid #3b3b3b;}
	
	.kazri h3{color: #006036;}
	
	 .tyyiu {
    color: #cc0000;
    font-weight: bold;
  }
	
	.price{padding:0 25px}
	
	 .whiteboard {
    padding: 10px 5px;
    background: #fff;
  }
	
	.hero{padding-top:90px}
	
	html{width:100%;max-width:100%;overflow-x:hidden}
	
}