@charset "UTF-8";

/* 余白削除 */
body {
  padding: 0;
  margin: 0;
  background-color: #fffcdb;
}

.font-mplus {
  font-family: "M PLUS 1p", sans-serif;
}

/* ヘッダー */
header {
  background-color: #f1e2be;
  opacity: 0.9;
  position: fixed;
  top: 0%;
  left: 50%;
  transform: translate(-50%, 0%);
  width: 100%;
}

.container {
  max-width: 960px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  padding-top: 10px;
  padding-bottom: 10px;
}

.container a {
  text-decoration: none;
  font-size: 30px;
  font-weight: bold;
  color: #47763c;
}

.logo {
  border: 2px solid #47763c;
  border-radius: 5px;
}

.menu a {
  margin-left: 20px;
  margin-right: 20px;
}

.menu a:hover {
  text-decoration: underline;
  color: #94c674;
}

/* メイン */
/* メインイメージ */
.main-img {
  width: 100%;
}

img {
  max-width: 100%;
  margin: 0 auto;
}

/* About */
h1 {
  font-size: 42px;
  font-weight: bold;
  text-align: center;
  margin-top: 80px;
}

.flex-about {
  display: flex;
  align-items: center;
  max-width: 960px;
  margin: 20px auto;
  padding-bottom: 50px;
}

.about-img {
  border-radius: 50%;
  width: 180px;
  object-fit: cover;
  border: 3px solid #c1994d;
  padding: 5px;
}

.name {
  font-size: 30px;
  font-weight: bold;
}

.contents {
  margin: 0 auto;
  padding-left: 40px;
}

p, li {
  font-size: 18px;
}

/* Works */
.flex-works {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 20px auto;
  max-width: 960px;
}

.items {
  padding-bottom: 50px;
  margin: 20px;
  max-width: 40%;
}

.items p {
  text-align: center;
}

.items p:hover {
  border: 1px solid #94c674;
}

/* contact */
#contact {
  max-width: 960px;
  margin: 20px auto;
}

#contact > form > div {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding-bottom: 30px;
}

.contact-heading {
  width: 240px;
  align-self: center;
}

.contact-label {
  font-weight: bold;
}

.contact-span {
  color: #ce2222;
  margin-left: 20px;
  font-weight: bold;
}

.contact-textbox, .contact-textarea {
  border-top: 0;
  border-left: 0;
  border-right: 0;
  border-bottom-width: 1px;
  border-bottom-color: #707070;
  border-bottom-style: solid;
  background-color: #fafafa;
  width: 400px;
}

.contact-textbox {
  height: 56px;
}

.contact-textarea {
  height: 200px;
}

a.btn {
	display: block;
	text-align: center;
	text-decoration: none;
	width: 120px;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #47763c;
	color: #000;
	cursor: pointer;
	position: relative;
 	overflow: hidden;
 	z-index: 1;
}

a.btn::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #94c674;
	transform: translateX(-100%);
	transition: all .3s;
	z-index: -1;
}
a.btn:hover::before {
	transform: translateX(0);
}
a.btn:hover {
	color: #fff;
}

/* フッター */
footer p {
  text-align: center;
  padding-bottom: 20px;
}

/* スマホ（横幅767px以下） */
@media (max-width: 767px) {
  .items {
    width: 100%;
    text-align: center;
    padding-bottom: 40px;
  }
}

/* work.htmlのCSS */
.work-div {
  margin: 20px auto;
  max-width: 50%;
}

.work-div h2 {
  text-align: center;
  font-size: 30px;
}

.work-div p {
  text-align: center;
}
