
/*
Theme Name : ネイチャーエッジ
*/


/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
    display: block;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 0px;
    }

blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/*::::::::::::::ここまでリセットCSS::::::::::::::*/

body, h1, h2, h3, p, ul, li, a {
    margin: 0;
    padding: 0;
    list-style: none;
    text-decoration: none;
    color: inherit;
    font-family: Arial, sans-serif;
}

body {
    line-height: 1.6;
    background-color: #f4f4f4;
    color: #333;
    background: url('./img/bg5.jpg') no-repeat center center/cover;
    background-attachment: fixed;
}

body#top {
    position: relative;
    margin: 0;
    padding: 0;
}

body#top::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('./img/bg5.jpg') no-repeat center center;
    background-size: cover;
    z-index: -1;
}

section{
	margin-top:150px;
	}
	
section#home{
	margin-top:0px;
	}	
section#about{
	margin-top:0px;
	}

.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Header */
.header {
    background: #0F7639;
    color: #fff;
    padding: 1rem 0;
}

.header .logo {
	display:block;
	max-width:220px;
    width:70%;
    font-size: 1.5rem;
    font-weight: bold;
    color: #fff;
}

.header .logo img {
	display:block;
	width:100%;
	object-fit: cover;
	
}

.header .navigation ul {
    display: flex;
    justify-content: flex-end;
    gap: 1.5rem;
}

.header .navigation a {
    color: #fff;
    font-weight: bold;
    transition: color 0.3s;
}

.header .navigation a:hover {
    color: #fefc3f;
}

/* Hero Section */
.hero {
    text-align: center;
    /*background: url('./img/bg.jpg') no-repeat center center/cover;*/
    color: #fff;
    padding: 8rem 0;
}

.hero h1 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.hero h1 span{
	display:block;
	font-size:1.5rem;
	}

.hero p {
	max-width:800px;
	margin:20px auto 2rem;
    font-size: 1.25rem;
}

.hero .cta-button {
    background: #f4a261;
    color: #fff;
    padding: 0.75rem 1.5rem;
    border-radius: 5px;
    transition: background 0.3s;
}

.hero .cta-button:hover {
    background: #e76f51;
}

/* Content Section */
.content {
    padding: 2rem 0;
    background: #fff;
}

.content h2 {
	color:#0F7639;
    text-align: center;
    margin-bottom: 1rem;
    font-size: 2rem;
}

section#about ul li{
	display:flex;
	flex-direction: row;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin-top:15px;
	}
section#about ul li:nth-child(2){
	margin-top:15px;
	padding-top:15px;
	border-top:#EEE 1px solid;
	flex-direction:row-reverse
	}

section#about ul li img{
	display:block;
	width:25%;
	object-fit:cover;
	} 

section#about ul li p{
	width:72%;
	}
	
/*
#business .first-card{
	display: flex;
	flex-direction:row-reverse;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	background: #f4f4f4;
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    text-align: center;
    box-sizing: border-box;
	} 

#business .first-card h3{
	font-size:24px;
	}

#business .first-card img{
	display:block;
	width:32%;
	object-fit:contain;
	}
	

	
#business .first-card div.explain{
	width:32%;
	}
	
#business .first-card div.explain p{
	text-align:left;
	}
*/

#business .container{
	width:76%;
	margin:auto;
	}
#business .container h3{
	font-size: 22px;
	margin:30px auto 10px;
	
	}
.content .grid {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin-top:15px;
}

.content .card {
	width:49.3%;
	background: #f4f4f4;
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    text-align: center;
    box-sizing: border-box; /* パディングを含めた幅調整 */
}

.content .card img {
	display:block;
	width:100%;
	margin:0 auto 20px;
	}

.content .card p {
	text-align:left;
	}

/* Footer */
.footer {
    text-align: center;
    padding: 1rem 0;
    background: #0F7639;
    color: #fff;
    font-size: 0.9rem;
}

/* テーブル全体のスタイル */
table.company-profile {
    width: 100%;
    max-width:680px;
    border-collapse: collapse;
    margin: 20px auto;
    font-family: Arial, sans-serif;
    border-radius:15px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* テーブルの見出し (th) のスタイル */
table.company-profile th {
    background-color: #CCCC;
    color: #333;
    text-align: left;
    border-top:#FFF solid 1px;
    padding: 12px 15px;
    font-weight: bold;
    box-sizing: border-box; /* パディングを含めた幅調整 */
}

/* テーブルのデータセル (td) のスタイル */
table.company-profile td {
    padding: 12px 15px;
    border: 1px solid #ddd;
    color: #555;
    box-sizing: border-box; /* パディングを含めた幅調整 */
}

/* 奇数行の背景色を変える */
table.company-profile tr:nth-child(odd) {
    background-color: #f9f9f9;
}

/* テーブルの行にホバー効果を加える */
table.company-profile tr:hover {
    background-color: #f1f1f1;
}

/* テーブルのボーダー設定 */
table.company-profile {
    border: 1px solid #ddd;
    border-radius: 5px;
    overflow: hidden;
}

/* テーブル全体のデザインの調整 */
table.company-profile th, table.company-profile td {
    text-align: left;
    vertical-align: middle;
}


/* Privacy Policy Section */
#privacy {
    padding: 2rem 0;
    background-color: #f8f8f8; /* 少し明るい背景色で区切り感を演出 */
}

#privacy h2 {
    text-align: center;
    font-size: 2rem;
    margin-bottom: 1.5rem;
    color: #0F7639; /* ヘッダーと調和したカラー */
}

#privacy p {
    font-size: 1rem;
    line-height: 1.8;
    margin-bottom: 1rem;
    color: #333;
}

#privacy ul, 
#privacy ol {
    margin: 1rem 0;
    padding-left: 1.5rem; /* インデントで視認性を向上 */
}

#privacy ul li,
#privacy ol li {
    margin-bottom: 0.5rem;
    list-style-type: disc; /* リストのスタイルを設定 */
}

#privacy ul li {
    list-style-type: disc;
}

#privacy ol li {
    list-style-type: decimal;
}

#privacy h3 {
    font-size: 1.5rem;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    color: #333; /* サブ見出しもメインカラーを採用 */
}

#privacy strong {
    font-weight: bold;
    color: #333;
}

/* テーブル用スタイル（再利用） */
#privacy table {
    width: 100%;
    margin: 1.5rem auto;
    border-collapse: collapse;
    background-color: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

#privacy table th, 
#privacy table td {
    padding: 12px 15px;
    text-align: left;
    border: 1px solid #ddd;
}

#privacy table th {
    background-color: #e9e9e9;
    color: #333;
}

#privacy table tr:nth-child(odd) {
    background-color: #f9f9f9;
}

/*Contact Section */


form {
    max-width: 700px;
    margin: 2rem auto;
    background-color: #fff;
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* Definition List Styling */
dl {
    margin: 0;
    padding: 0;
}

dt, dd {
    margin-bottom: 1.5rem;
}

dt p {
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: -1rem;
    color: #0F7639; /* サイトのメインカラーに合わせる */
}

dd p {
    margin: 0;
}

/* Input and Textarea Styling */
input[type="text"],
input[type="email"],
textarea {
    width: 100%;
    padding: 0.75rem;
    font-size: 1rem;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
    background-color: #f9f9f9;
    transition: border-color 0.3s, box-shadow 0.3s;
}

textarea {
    resize: none; /* ユーザーによるリサイズを無効化 */
}

/* Input and Textarea Focus State */
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
    border-color: #0F7639;
    box-shadow: 0 0 5px rgba(15, 118, 57, 0.3);
    outline: none;
}

/* Submit Button Styling */
input[type="submit"] {
    display: block;
    max-width: 320px; /* 横幅を最大320pxに設定 */
    margin: 0 auto; /* ボタンを中央揃え */
    background: linear-gradient(to bottom, #0F7639, #0d5c32); /* 薄いグラデーション */
    color: #fff;
    font-size: 1rem;
    font-weight: bold;
    text-transform: uppercase;
    padding: 1rem 2rem; /* 上下と左右のパディングを調整 */
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.3s, transform 0.2s;
    text-align: center;
}

input[type="submit"]:hover {
    background-color: #0d5c32;
    transform: scale(1.02);
}

input[type="submit"]:active {
    background-color: #094726;
    transform: scale(0.98);
}

/* Error Message Styling */
.wpcf7-response-output {
    margin-top: 1rem;
    padding: 0.75rem;
    border: 1px solid #e76f51; /* 赤みのある警告色 */
    background-color: #fbeae5;
    color: #e76f51;
    border-radius: 5px;
    font-size: 0.9rem;
    display: none; /* 初期状態では非表示 */
}

#thanks p{
	margin:150px auto 0px;
	font-size:22px;
	text-align:center;
	}

#thanks a{
	padding:10px;
	display:block;
	width:200px;
	margin:100px auto 200px;
	border-radius:50px;
	background:#0F7639;
	color:#fff;
    text-align:center;
    text-decoration:none;
    font-size:16px;
    }
    
#thanks a:hover{
	opacity:0.6;
	} 
	
#contact a.social-link{
	width:32px;
	height:32px;
	text-align:center;
	border-radius:100px;
	display:inline-block;
	padding:8px;
	background:#999;
	line-height:32px;
	color:#FFF;
	opacity:0.9;
	font-size:32px;
	margin:5px 8px 20px;
	}	
	
	
.fa-twitter:before {
    content: '𝕏';
    font-family: unset;
    font-weight: bold;
}
	
#contact h3{
	text-align:center;
	font-size:20px;
	}	
	
.social-links{
	width:280px;
	margin:10px auto 20px;
	}
	
#contact a.social-link:hover{
	background:#0F7639;
	}	   
/*----------------------------------------------
ここからスマホ
-------------------------------------------------*/

@media (max-width: 480px) {

.hero {
    padding: 4rem 0;
}

.header .logo {
	margin:auto;
	padding:10px 0 10px;
	}

.hero h1 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

.hero h1 span{
	display:block;
	font-size:1rem;
	}

.hero p {
	max-width:800px;
	margin:15px auto 1.5rem;
    font-size: 1rem;
}


.header .navigation ul{
	display:none;
	}

section#about ul li{
	display:block;
	width:100%;
	}
section#about ul li:nth-child(2) {
    border-top:none;
}

section#about ul li p{
	width:100%;
	margin:10px 0 0;
	}

section#about ul li img{
	width:100%;
	margin:0 0 15px;
}

#business .container{
	width:96%;
	}

#business .first-card{
	display:block;
	width:100%;
	}
#business .first-card div.explain{
	width:100%;
	}

#business .first-card img{
	display:block;
	width:100%;
	margin:0 auto 10px;
	}

#business .first-card div.explain dd{
	display:block;
	}
	
#business .first-card div.explain dd p{
	width:100%;
	}
	
#business .first-card div.explain dd img{
	width:70%;
	margin:10px auto;
	}
	
	
.content .grid {
     display:block;
    }

.content .card {
    	width:100%;
        display:block;
        margin:10px auto 20px;
    }

table.company-profile th, table.company-profile td{
	width:100%;
	display:block;
	}
	
}
