@charset "UTF-8";

/* 共通部分
------------------------------- */
html {
  font-size: 62.5%;
}
body {
  font-family: "Lato", "Noto Sans JP", "游ゴシック",YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.7;
  color: #445f2e;
  font-size: 1.6rem;
}
main {
  margin: 0;
  padding: 0;
}
a {
  text-decoration: none;
}
img {
  width: 100%;
}
.for-pc {
  display: block;
}
.for-sp {
  display: none;
}
iframe {
  width: 100%;
}

/* リンクの位置調整 */
.link-anchor {
  position: relative;
  top: -60px;
  display: block;
}

/* IE用object-fit */	
.ofi {
  object-fit: contain;
  font-family: 'object-fit: contain;'
}

/* 404エラー */
.error-box {
  width: 100%;
  margin: 0 auto 60px;
  text-align: center;
}
.error-box img {
  width: 800px;
  margin: 20px 0 40px;
}
.error-box p {
  margin: 0;
  font-size: 2.0rem;
}

/* テーブル */
.main_tbl {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border-top: solid 0.1rem rgba(171,184,195,0.2);
}
.main_tbl th {
  width: 20%;
  padding: 3rem 0 3rem 2rem;
  border-bottom: solid 0.1rem rgba(171,184,195,0.2);
}
.main_tbl td {
  text-align: left;
  width: 80%;
  padding: 3rem 0 3rem 6rem;
  border-bottom: solid 0.1rem rgba(171,184,195,0.2);
}
.main_tbl td ul {
  padding: 0.8rem 0.8rem 0.8rem 0;
}
.main_tbl td ul li {
  list-style: none;
  line-height: 1.5;
  padding: 0.8rem 0;
}
.main_tbl td span {
  color: #adadad;
}
.sub_tbl {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border-top: solid 0.1rem rgba(171,184,195,0.2);
}
.sub_tbl tr:nth-child(2n+1) {
  background-color: rgba(250,250,250,0.8);
}
.sub_tbl th {
  width: 24%;
  padding: 1.6rem 0 1.6rem 2rem;
  border-bottom: solid 0.1rem rgba(171,184,195,0.2);
  font-weight: 400;
}
.sub_tbl td {
  text-align: left;
  width: 76%;
  padding: 1.6rem 1.2rem 1.6rem 3.2rem;
  border-bottom: solid 0.1rem rgba(171,184,195,0.2);
}


/* ヘッダー
------------------------------- */
.header-area {
  position: fixed;
  top: 10%;
  left: 3%;
  width: 15%;
  margin: 0;
  padding: 0;
  z-index: 2000;
}
.header-menubox {
  padding: 0;
}
.logo {
  width: 100%;
  padding: 0.8rem;
  vertical-align: bottom;
}
.toggle-menu {
  display: none;
}
.navbox {
  width: 100%;
  background-color: rgba(57,81,40,0.8);
  border-radius: 10px;
}
.navbox ul {
	list-style: none;
}
.navbox ul li {
	position: relative;
}
.navbox ul li a {
	display: block;
	text-decoration: none;
	color: #fff;
	padding: 1.6rem;
	transition: all .3s;
	border-bottom: solid 1px rgba(241,232,209,0.4);
}
.navbox ul li:first-child a {
  border-radius: 10px 10px 0 0;
}
.navbox ul li:last-child a {
  border-bottom: none;
  border-radius: 0 0 10px 10px;
}
.navbox ul li a:hover,
.navbox ul li a:active {
  background-color: rgba(166,55,35,0.8);
}


/* スプリット
------------------------------- */
.split {
  display: table;
  width: 100%;
  background-color: #fefefb;
}
.split-box {
  display: table-cell;
	width: 50%;
}
.left-box {
	position: relative;
}
.left-box_inner {
  width: 50%;
	height: 100%;
	overflow: hidden;
	position: fixed;
}
.left-img {
  width: 100%;
	height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}
.right-box {
}
.right-box_inner {
	padding: 18% 0 0;
}


/* お知らせエリア
------------------------------- */
.news_wrap {
  position: fixed;
  left: 22%;
  bottom: 1%;
}
.news_ttlbox {
  position: absolute;
  top: -38px;
  left: 30px;
  z-index: 10;
}
.news_heading {
  position: relative;
  color: #281c0f;
  background-color: rgba(255,216,45,1.0);
  display: inline-block;
  margin: 0 0 12px;
  padding: 1.0rem;
  font-size: 1.6rem;
  font-weight: 700;
  border-radius: 10px;
}
.news_heading::after {
  position: absolute;
  content: '';
  top: 100%;
  left: 30px;
  border: 15px solid transparent;
  border-top: 15px solid rgba(255,216,45,1.0);
  width: 0;
  height: 0;
}
.news_box {
  width: 100%;
  margin: 0 auto;
  padding: 1.6rem 12%;
}
.news_box ul {
  width: 340px;
  padding: 1.6rem 1.6rem 1.6em 2.0rem;
  margin: 0;
  position: relative;
  background-color: rgba(57,81,40,0.6);
  border-radius: 10px;
}
.news_box ul li {
  display: flex;
  border-bottom: 1px solid rgba(241,232,209,0.4);
  line-height: 1.5;
  list-style-type: none!important;
}
.news_introbox {
  width: 300px;
}
.newsintro_image {
  width: 100%;
}
.newsintro_image img {
  width: 300px;
  height: 186px;
  margin: 0;
  padding: 0;
  border-radius: 5px;
  object-fit: cover;
}
.news_title {
  font-size: 1.6rem;
  color: #ffd82d;
  text-align: left;
}
.news_txtbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.news_left {
  width: 50%;
  margin: 0;
}
.news_date {
  font-size: 1.4rem;
  color: #efe4c8;
  text-align: left;
}
.news_right {
  width: 50%;
  text-align: right;
}
.news_txt a {
  font-size: 1.4rem;
  color: #aacc8e;
  vertical-align: top;
}
.news_txt a:hover {
  color: #f4f4f4;
}


/* 共通パーツ
------------------------------- */
.heading_area {
  position: relative;
  width: 100%;
  margin: 0 auto 6%;
  padding: 0 8%;
}
.heading_title {
  position: relative;
  margin: 0 auto;
  font-size: 3.0rem;
  text-align: center;
}
.heading_title::before {
	content: attr(data-en);
	position: absolute;
	top: -90px;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(225,237,209,0.6);
	font-size: 2.25em;
}
.heading_icon {
  position: absolute;
  top: -110px;
  left: 4%;
  width: 12%;
  opacity: 0.8;
}
.sub_heading {
	padding: 50px 0;
	font-size: 2.4rem;
	text-align: center;
}
.heading_img {
  margin: 0 0 6%;
}
.heading_img img {
  border-radius: 5px;
}
.heading_img p {
  margin: 0 0 1.6rem;
}
.heading_img p:last-child {
  margin: 0;
}
.content_area {
  margin: 0;
  padding: 0 8%;
}
.content_wrap {
  margin: 0 0 60px;
  padding: 0;
}


/* TOPページ
------------------------------- */
.about_txt {
  margin: 0;
}
.about_txt p {
  font-size: 1.6rem;
  letter-spacing: 0.06rem;
  margin: 0 0 3.0rem;
}
.about_txt p:last-child {
  margin: 0;
}
.about_txt p img {
  border-radius: 5px;
}


/* 事業内容
------------------------------- */
.business_heading {
  position: relative;
  padding-left: 7rem;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 2rem;
}
.business_heading::before {
  content: attr(data-number);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  color: rgba(225,237,209,0.6);
  font-size: 5rem;
}
.business_heading::after {
  content: '';
  position: absolute;
  bottom: -0.5rem;
  left: 0;
  width: 10rem;
  height: 0.2rem;
  background-color: rgba(225,237,209,0.3);
}
.business_box {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin: 0 auto 80px;
  padding: 0;
}
.business_box:last-child {
  margin: 0 auto;
}
.business_box_image {
  max-width: 100%;
  width: 100%;
  margin: 0;
}
.business_box_text {
  width: 100%;
  margin: 0;
  padding: 1.6rem 0 0;
  text-align: justify;
  text-justify: inter-ideograph;
}
.business_box_text p {
  margin: 0 0 1.6rem;
}
.business_box_text p:last-child {
  margin: 0;
}


/* プライバシーポリシー
------------------------------- */
.privacy_box {
  margin: 0 0 40px;
  padding: 0;
}
.privacy_ttl {
  font-size: 1.6rem;
  border-bottom: solid 2px #44602d;
  margin: 0 0 1.6rem;
}
.privacy_box p {
  margin: 0 0 1.6rem;
}
.privacy_box p:last-child {
  margin: 0;
}
.privacy_box ul {
  padding: 0.8rem 0.8rem 0.8rem 2.0rem;
}
.privacy_box ul li {
  line-height: 1.5;
  padding: 0.8rem 0;
}


/* お問い合わせ
------------------------------- */
.cp_box {
  margin: 0 0 40px;
}
.cp_box table {
  width: 100%;
  padding: 0 2%;
}
.formTable {
  width: 100%;
  margin: 0 0 40px;
}
table.formTable th {
  position: relative;
  width: 30%;
  padding: 8px 0;
  font-size: 1.8rem;
  font-weight: 400;
  text-align: left;
}
table.formTable td {
  width: 70%;
  padding: 8px 0;
  text-align: left;
}
p.error_messe {
	margin: 5px 0;
  color: #b41808;
  text-align: center;
}
.required {
  background-color: #b41808;
  color: #fff;
  margin: 0 0 0 0.8rem;
  padding: 0.4rem;
  font-size: 1.2rem;
}

/* テキスト */
input[type='text'] {
  width: 100%;
  padding: 4px 8px;
  border-radius: 5px;
  border: 1px solid #e4e4e4;
  background-color: #fcfcfc;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* セレクトボックス */
.select_wrap {
  position: relative;
  width: 100%;
}
.select_wrap:before {
  position: absolute;
	top: 1.6rem;
	right: 1.4rem;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}
.select_wrap select {
  width: 100%;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  height: 40px;
  padding: 4px;
  border: 1px solid #e4e4e4;
  background-color: #fcfcfc;
  border-radius: 5px;
}
.select_wrap select::-ms-expand {
  display: none;
}

/* テキストエリア */
textarea {
  width: 100%;
  height: 300px;
  padding: 4px 8px;
  border-radius: 5px;
  border: 1px solid #e4e4e4;
  background-color: #fcfcfc;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.contact_btnarea {
  display: flex;
  justify-content: center;
  margin: 40px 0 0;
}
.button {
  font-size: 1.8rem;
  background-color: #004bb1;
  color: #fff;
  border-radius: 6px;
  padding: 12px 34px;
  transition: .4s;
}
.button:hover {
  background-color: #00357d;
}
.cp_button {
  font-size: 1.8rem;
  background-color: #004bb1;
  color: #fff;
  border-radius: 6px;
  margin-left: 40px;
  padding: 12px 34px;
  transition: .4s;
}
.cp_button:hover {
  background-color: #00357d;
}
.cp_button2 {
  font-size: 1.8rem;
  background-color: #fff;
  color: #004bb1;
  border: 1px solid #004bb1;
  border-radius: 6px;
  padding: 12px 34px;
  transition: .4s;
}
.cp_button2:hover {
  background-color: #f4f9ff;
}


/* フッター
------------------------------- */
.footer-wrap {
  position: relative;
  width: 100%;
}
.foot_area {
  display: flex;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  margin: 0 auto;
  padding: 2rem 4% 1.6rem;
}
.footer_inner {
  width: 100%;
  margin: 0 auto 20px;
  padding: 0;
}
.footer_inner ul {
  display: flex;
  justify-content: center;
  padding: 0;
  position: relative;
}
.footer_inner ul li {
  line-height: 1.2;
  font-size: 1.4rem;
  margin: 0 2.4rem 0 0;
  padding: 0;
  list-style-type: none!important;
}
.footer_inner ul li:last-child {
  margin: 0;
}
.footer_link a {
  color: #445f2e;
}
.footer_link a:hover,
.footer_link a:active,
.footer_link a:focus {
  color: #aacc8e;
}
.copyright {
  text-align: center;
}     


@media (max-width: 1259px) {

  /* 共通部分
  --------------------------- */
  .for-pc {
    display: none;
  }
  .for-sp {
    display: block;
  }
  main {
    margin: 60px 0 0;
  }

  /* リンクの位置調整 */
  .link-anchor {
    position: relative;
    top: -100px;
    display: block;
  }

  /* 404エラー */
  .error-box {
    width: 100%;
    margin: 0 auto 40px;
    text-align: center;
  }
  .error-box img {
    width: 90%;
    margin: 20px 0 0;
  }
  .error-box p {
    margin: 0;
    font-size: 1.8rem;
  }


  /* テーブル */
  .main_tbl {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border-top: solid 0.1rem rgba(171,184,195,0.2);
  }
  .main_tbl th {
    width: 26%;
    padding: 3rem 0 3rem 2rem;
    border-bottom: solid 0.1rem rgba(171,184,195,0.2);
  }
  .main_tbl td {
    text-align: left;
    width: 74%;
    padding: 3rem 0 3rem 6rem;
    border-bottom: solid 0.1rem rgba(171,184,195,0.2);
  }
  .main_tbl td ul {
    padding: 0.8rem 0.8rem 0.8rem 0;
  }
  .main_tbl td ul li {
    list-style: none;
    line-height: 1.5;
    padding: 0.8rem 0;
  }
  .main_tbl td span {
    color: #adadad;
  }
  .sub_tbl {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border-top: solid 0.1rem rgba(171,184,195,0.2);
  }
  .sub_tbl tr:nth-child(2n+1) {
    background-color: rgba(250,250,250,0.8);
  }
  .sub_tbl th {
    width: 30%;
    padding: 1.6rem 0 1.6rem 2rem;
    border-bottom: solid 0.1rem rgba(171,184,195,0.2);
    font-weight: 400;
  }
  .sub_tbl td {
    text-align: left;
    width: 70%;
    padding: 1.6rem 1.2rem 1.6rem 3.2rem;
    border-bottom: solid 0.1rem rgba(171,184,195,0.2);
  }
  

  /* ヘッダー
  --------------------------- */
  .header-wrap {
    width: 100%;
    height: 60px;
    position: fixed;
    top: 0;
    background-color: #44602d;
    z-index: 2000;
  }
  .header-area {
    position: static;
    display: block;
    width: 100%;
    height: 60px;
    margin: 0;
    padding: 0;
  }
  .header-menubox {
    display: block;
    position: relative;
    padding: 0;
  }
  .logo {
    position: absolute;
    top: 0;
    left: 10px;
    width: 120px;
    height: auto;
  }
  .toggle-menu {
    z-index: 9999;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
    width: 60px;
    height: 60px;
    padding: 20px 15px 10px;
    background-color: #284015;
  }
  .toggle-menu-icon {
    position: relative;
    display: block;
    height: 2px;
    width: 30px;
    background: #f5f1df;
    transition: ease .5s;
  }
  .toggle-menu-icon:nth-child(1) {
    top: 0;
  }
  .toggle-menu-icon:nth-child(2) {
    margin: 8px 0;
  }
  .toggle-menu-icon:nth-child(3) {
    top: 0;
  }
  /* クリック時の動き */
  .toggle-menu.open .toggle-menu-icon:nth-child(1) {
    top: 10px;
    transform: rotate(-45deg);
  }
  .toggle-menu.open .toggle-menu-icon:nth-child(2) {
    transform: translateY(-50%);
    opacity: 0;
  }
  .toggle-menu.open .toggle-menu-icon:nth-child(3) {
    top: -10px;
    transform: rotate(45deg);
  }
  .navbox {
    width: 100%;
    background-color: rgba(70,94,42,0.8);
    color: #fff;
    opacity: 0;
    transition: opacity 0.6s ease;
    padding: 140px 20px 0;
    visibility: hidden;
  }
  .navbox a {
    color: #fff;
    text-decoration: none;
    padding: 10px 0;
    transition: color 0.6s ease;
  }
  .navbox ul li {
    position: static;
  }  
  .navbox ul li a {
    display: block;
    text-decoration: none;
    color: #fff;
    padding: 1.6rem;
    transition: all .3s;
    border-bottom: none;
  }
  .feature-menubox {
    margin: 0 0 40px;
  }
  .feature-menubox ul {
    list-style: none;
    margin: 0;
  }
  .feature-menubox ul li {
    position: relative;
    opacity: 0;
    transform: translateX(200px);
    transition: transform 0.6s ease, opacity 0.2s ease;
    margin: 0 0 10px;
    padding: 10px;
    font-size: 1.8rem;
    border-radius: 10px;
    background-color: rgba(40,64,21,0.8);
  }

  /* open */
  .open {
    overflow: hidden;
  }
  .open .navbox {
    visibility: visible;
    opacity: 1;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    overflow-y: scroll;
    z-index: -100;
    -webkit-overflow-scrolling: touch;
  }
  .open .navbox li {
    opacity: 1;
    transform: translateX(0);
    transition: transform 1s ease, opacity 0.9s ease;
  }


  /* スプリット
  ------------------------------- */
  .split {
    display: block;
  }
  .split-box {
		display: block;
		width: auto;
		height: auto;
  }
  .left-box {
    left: 0;
  }
  .left-box_inner {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: inherit;
  }
  .left-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
  }
  .right-box {
  }
  .right-box_inner {
		padding: 20px 0 0;
  }


  /* お知らせエリア
  ------------------------------- */
  .news_wrap {
    position: relative;
    left: 0;
    bottom: 0;
    width: 100%;
  }
  .news_ttlbox {
    position: absolute;
    top: -38px;
    left: 30px;
    z-index: 10;
  }
  .news_heading {
    position: relative;
    color: #281c0f;
    background-color: rgba(255,216,45,1.0);
    display: inline-block;
    margin: 0 0 12px;
    padding: 1.0rem;
    font-size: 1.6rem;
    font-weight: 700;
    border-radius: 5px;
  }
  .news_heading::after {
    position: absolute;
    content: '';
    top: 100%;
    left: 30px;
    border: 15px solid transparent;
    border-top: 15px solid rgba(255,216,45,1.0);
    width: 0;
    height: 0;
  }
  .news_box {
    width: 100%;
    margin: 0 auto;
    padding: 30px 2%;
  }
  .news_box ul {
    width: 100%;
    padding: 1.6rem 1.6rem 1.6rem 3.6rem;
    margin: 0;
    position: relative;
    background-color: rgba(57,81,40,0.9);
  }
  .news_box ul li {
    display: flex;
    border-bottom: none;
    line-height: 1.5;
    list-style-type: none!important;
  }
  .news_introbox {
    width: 100%;
  }
  .newsintro_image {
    display: none;
  }
  .news_title {
    font-size: 1.6rem;
    color: #ffd82d;
    text-align: left;
  }
  .news_txtbox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .news_left {
    width: 50%;
    margin: 0;
  }
  .news_date {
    font-size: 1.4rem;
    color: #efe4c8;
    text-align: left;
  }
  .news_right {
    width: 50%;
    text-align: right;
  }
  .news_txt a {
    font-size: 1.4rem;
    color: #aacc8e;
    vertical-align: top;
  }
  .news_txt a:hover {
    color: #f4f4f4;
  }
  

  /* 共通パーツ
  ------------------------------- */
  .heading_area {
    position: relative;
    width: 100%;
    margin: 80px auto 6%;
    padding: 0 8%;
  }
  .heading_title {
    position: relative;
    margin: 0 auto;
    font-size: 3.0rem;
    text-align: center;
  }
  .heading_title::before {
    content: attr(data-en);
    position: absolute;
    top: -90px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(225,237,209,0.6);
    font-size: 2.25em;
  }
  .heading_icon {
    position: absolute;
    top: -70px;
    left: 4%;
    width: 12%;
    opacity: 0.8;
  }
  .sub_heading {
    padding: 40px 0;
    font-size: 2.4rem;
    text-align: center;
  }
  .heading_img {
    margin: 0 0 6%;
  }
  .heading_img img {
    border-radius: 5px;
  }
  .heading_img p {
    margin: 0 0 1.6rem;
  }
  .heading_img p:last-child {
    margin: 0;
  }
  .content_area {
    margin: 0;
    padding: 0 8%;
  }
  .content_wrap {
    margin: 0 0 80px;
    padding: 0;
  }


  /* TOPページ
  ------------------------------- */
  .about_txt {
    margin: 0;
  }
  .about_txt p {
    font-size: 1.6rem;
    letter-spacing: 0.06rem;
    margin: 0 0 3.0rem;
  }
  .about_txt p:last-child {
    margin: 0;
  }
  .about_txt p img {
    border-radius: 5px;
  }


  /* 事業内容
  ------------------------------- */
  .business_heading {
    position: relative;
    padding-left: 7rem;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 2rem;
  }
  .business_heading::before {
    content: attr(data-number);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    color: rgba(225,237,209,0.6);
    font-size: 5rem;
  }
  .business_heading::after {
    content: '';
    position: absolute;
    bottom: -0.5rem;
    left: 0;
    width: 10rem;
    height: 0.2rem;
    background-color: rgba(225,237,209,0.3);
  }
  .business_box {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin: 0 auto 100px;
    padding: 0;
  }
  .business_box:last-child {
    margin: 0 auto;
  }
  .business_box_image {
    max-width: 100%;
    width: 100%;
    margin: 0;
  }
  .business_box_text {
    width: 100%;
    margin: 0;
    padding: 1.6rem 0 0;
    text-align: justify;
    text-justify: inter-ideograph;
  }
  .business_box_text p {
    margin: 0 0 1.6rem;
  }
  .business_box_text p:last-child {
    margin: 0;
  }


  /* プライバシーポリシー
  ------------------------------- */
  .privacy_box {
    margin: 0 0 60px;
    padding: 0;
  }
  .privacy_ttl {
    font-size: 1.6rem;
    border-bottom: solid 2px #44602d;
    margin: 0 0 1.6rem;
  }
  .privacy_box p {
    margin: 0 0 1.6rem;
  }
  .privacy_box p:last-child {
    margin: 0;
  }
  .privacy_box ul {
    padding: 0.8rem 0.8rem 0.8rem 2.0rem;
  }
  .privacy_box ul li {
    line-height: 1.5;
    padding: 0.8rem 0;
  }


  /* お問い合わせ
  ------------------------------- */
  .cp_box {
    margin: 0 0 40px;
  }
  .cp_box table {
    width: 100%;
    padding: 0 2%;
  }
  .formTable {
    width: 100%;
    margin: 0 0 40px;
  }
  table.formTable th {
    position: relative;
    width: 30%;
    padding: 8px 0;
    font-size: 1.8rem;
    font-weight: 400;
    text-align: left;
  }
  table.formTable td {
    width: 70%;
    padding: 8px 0;
    text-align: left;
  }
  p.error_messe {
    margin: 5px 0;
    color: #b41808;
    text-align: center;
  }
  .required {
    background-color: #b41808;
    color: #fff;
    margin: 0 0 0 0.8rem;
    padding: 0.4rem;
    font-size: 1.2rem;
  }

  /* テキスト */
  input[type='text'] {
    width: 100%;
    padding: 4px 8px;
    border-radius: 5px;
    border: 1px solid #e4e4e4;
    background-color: #fcfcfc;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
  }

  /* セレクトボックス */
  .select_wrap {
    position: relative;
    width: 100%;
  }
  .select_wrap:before {
    position: absolute;
    top: 1.6rem;
    right: 1.4rem;
    width: 0;
    height: 0;
    padding: 0;
    content: '';
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #666666;
    pointer-events: none;
  }
  .select_wrap select {
    width: 100%;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    height: 40px;
    padding: 4px;
    border: 1px solid #e4e4e4;
    background-color: #fcfcfc;
    border-radius: 5px;
  }
  .select_wrap select::-ms-expand {
    display: none;
  }

  /* テキストエリア */
  textarea {
    width: 100%;
    height: 300px;
    padding: 4px 8px;
    border-radius: 5px;
    border: 1px solid #e4e4e4;
    background-color: #fcfcfc;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
  }
  .contact_btnarea {
    display: flex;
    justify-content: center;
    margin: 40px 0 0;
  }
  .button {
    font-size: 1.8rem;
    background-color: #004bb1;
    color: #fff;
    border-radius: 6px;
    padding: 12px 34px;
    transition: .4s;
  }
  .button:hover {
    background-color: #00357d;
  }
  .cp_button {
    font-size: 1.8rem;
    background-color: #004bb1;
    color: #fff;
    border-radius: 6px;
    margin-left: 40px;
    padding: 12px 34px;
    transition: .4s;
  }
  .cp_button:hover {
    background-color: #00357d;
  }
  .cp_button2 {
    font-size: 1.8rem;
    background-color: #fff;
    color: #004bb1;
    border: 1px solid #004bb1;
    border-radius: 6px;
    padding: 12px 34px;
    transition: .4s;
  }
  .cp_button2:hover {
    background-color: #f4f9ff;
  }
  

  /* フッター
  --------------------------- */
  .footer-wrap {
    position: relative;
    width: 100%;
  }
  .foot_area {
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    margin: 0 auto;
    padding: 2rem 4% 1.6rem;
  }
  .footer_inner {
    width: 100%;
    margin: 0 auto 20px;
    padding: 0;
  }
  .footer_inner ul {
    display: flex;
    justify-content: center;
    padding: 0;
    position: relative;
  }
  .footer_inner ul li {
    line-height: 1.2;
    font-size: 1.4rem;
    margin: 0 2.4rem 0 0;
    padding: 0;
    list-style-type: none!important;
  }
  .footer_inner ul li:last-child {
    margin: 0;
  }
  .footer_link a {
    color: #445f2e;
  }
  .footer_link a:hover,
  .footer_link a:active,
  .footer_link a:focus {
    color: #aacc8e;
  }
  .copyright {
    text-align: center;
  }     
}

@media (max-width: 600px) {

  /* 共通部分
  --------------------------- */
  .for-pc {
    display: none;
  }
  .for-sp {
    display: block;
  }
  main {
    margin: 60px 0 0;
  }

  /* リンクの位置調整 */
  .link-anchor {
    position: relative;
    top: -100px;
    display: block;
  }

  /* 404エラー */
  .error-box {
    width: 100%;
    margin: 0 auto 40px;
    text-align: center;
  }
  .error-box img {
    width: 90%;
    margin: 20px 0 0;
  }
  .error-box p {
    margin: 0;
    font-size: 1.6rem;
  }

  /* テーブル */
  .main_tbl {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border-top: solid 0.1rem rgba(171,184,195,0.2);
  }
  .main_tbl th {
    width: 36%;
    padding: 3rem 0;
    border-bottom: solid 0.1rem rgba(171,184,195,0.2);
    font-size: 1.2rem;
  }
  .main_tbl td {
    text-align: left;
    width: 64%;
    padding: 3rem 0 3rem 2rem;
    border-bottom: solid 0.1rem rgba(171,184,195,0.2);
    font-size: 1.4rem;
  }
  .main_tbl td ul {
    padding: 0.8rem 0.8rem 0.8rem 0;
  }
  .main_tbl td ul li {
    list-style: none;
    line-height: 1.5;
    padding: 0.8rem 0;
  }
  .main_tbl td span {
    color: #adadad;
  }
  .sub_tbl {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border-top: solid 0.1rem rgba(171,184,195,0.2);
  }
  .sub_tbl tr:nth-child(2n+1) {
    background-color: rgba(250,250,250,0.8);
  }
  .sub_tbl th {
    width: 30%;
    padding: 1.6rem 0;
    border-bottom: solid 0.1rem rgba(171,184,195,0.2);
    font-weight: 400;
    font-size: 1.4rem;
  }
  .sub_tbl td {
    text-align: left;
    width: 70%;
    padding: 1.6rem 1rem 1.6rem 2rem;
    border-bottom: solid 0.1rem rgba(171,184,195,0.2);
    font-size: 1.4rem;
  }


  /* ヘッダー
  --------------------------- */
  .header-wrap {
    width: 100%;
    height: 60px;
    position: fixed;
    top: 0;
    background-color: #44602d;
    z-index: 2000;
  }
  .header-area {
    position: static;
    display: block;
    width: 100%;
    height: 60px;
    margin: 0;
    padding: 0;
  }
  .header-menubox {
    display: block;
    position: relative;
    padding: 0;
  }
  .logo {
    position: absolute;
    top: 0;
    left: 0;
    width: 120px;
    height: auto;
  }
  .toggle-menu {
    z-index: 9999;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
    width: 60px;
    height: 60px;
    padding: 20px 15px 10px;
    background-color: #284015;
  }
  .toggle-menu-icon {
    position: relative;
    display: block;
    height: 2px;
    width: 30px;
    background: #f5f1df;
    transition: ease .5s;
  }
  .toggle-menu-icon:nth-child(1) {
    top: 0;
  }
  .toggle-menu-icon:nth-child(2) {
    margin: 8px 0;
  }
  .toggle-menu-icon:nth-child(3) {
    top: 0;
  }
  /* クリック時の動き */
  .toggle-menu.open .toggle-menu-icon:nth-child(1) {
    top: 10px;
    transform: rotate(-45deg);
  }
  .toggle-menu.open .toggle-menu-icon:nth-child(2) {
    transform: translateY(-50%);
    opacity: 0;
  }
  .toggle-menu.open .toggle-menu-icon:nth-child(3) {
    top: -10px;
    transform: rotate(45deg);
  }
  .navbox {
    width: 100%;
    background-color: rgba(70,94,42,0.8);
    color: #fff;
    opacity: 0;
    transition: opacity 0.6s ease;
    padding: 140px 20px 0;
    visibility: hidden;
  }
  .navbox a {
    color: #fff;
    text-decoration: none;
    padding: 10px 0;
    transition: color 0.6s ease;
  }
  .navbox ul li {
    position: static;
  }  
  .navbox ul li a {
    display: block;
    text-decoration: none;
    color: #fff;
    padding: 1.6rem;
    transition: all .3s;
    border-bottom: none;
  }
  .feature-menubox {
    margin: 0 0 40px;
  }
  .feature-menubox ul {
    list-style: none;
    margin: 0;
  }
  .feature-menubox ul li {
    position: relative;
    opacity: 0;
    transform: translateX(200px);
    transition: transform 0.6s ease, opacity 0.2s ease;
    margin: 0 0 10px;
    padding: 10px 0 10px 40px;
    font-size: 1.6rem;
    border-radius: 10px;
    background-color: rgba(40,64,21,0.8);
  }

  /* open */
  .open {
    overflow: hidden;
  }
  .open .navbox {
    visibility: visible;
    opacity: 1;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    overflow-y: scroll;
    z-index: -100;
    -webkit-overflow-scrolling: touch;
  }
  .open .navbox li {
    opacity: 1;
    transform: translateX(0);
    transition: transform 1s ease, opacity 0.9s ease;
  }


  /* スプリット
  ------------------------------- */
  .split {
    display: block;
  }
  .split-box {
		display: block;
		width: auto;
		height: auto;
    padding: 0;
  }
  .left-box {
    left: 0;
  }
  .left-box_inner {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: inherit;
  }
  .left-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
  }
  .right-box {
  }
  .right-box_inner {
		padding: 10px 0 0;
  }


  /* お知らせエリア */
  .news_wrap {
    position: relative;
    left: 0;
    bottom: 0;
    width: 100%;
  }
  .news_ttlbox {
    position: absolute;
    top: -38px;
    left: 2%;
    z-index: 10;
  }
  .news_heading {
    position: relative;
    color: #281c0f;
    background-color: rgba(255,216,45,1.0);
    display: inline-block;
    margin: 0 0 12px;
    padding: 1.0rem;
    font-size: 1.6rem;
    font-weight: 700;
    border-radius: 5px;
  }
  .news_heading::after {
    position: absolute;
    content: '';
    top: 100%;
    left: 30px;
    border: 15px solid transparent;
    border-top: 15px solid rgba(255,216,45,1.0);
    width: 0;
    height: 0;
  }
  .news_box {
    width: 100%;
    margin: 0 auto;
    padding: 30px 2%;
  }
  .news_box ul {
    width: 100%;
    padding: 1.6rem;
    margin: 0;
    position: relative;
    background-color: rgba(57,81,40,0.9);
  }
  .news_box ul li {
    display: flex;
    border-bottom: none;
    line-height: 1.5;
    list-style-type: none!important;
  }
  .news_introbox {
    width: 100%;
  }
  .newsintro_image {
    display: none;
  }
  .news_title {
    font-size: 1.6rem;
    color: #ffd82d;
    text-align: left;
  }
  .news_txtbox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .news_left {
    width: 50%;
    margin: 0;
  }
  .news_date {
    font-size: 1.4rem;
    color: #efe4c8;
    text-align: left;
  }
  .news_right {
    width: 50%;
    text-align: right;
  }
  .news_txt a {
    font-size: 1.4rem;
    color: #aacc8e;
    vertical-align: top;
  }
  .news_txt a:hover {
    color: #f4f4f4;
  }
  

  /* 共通パーツ
  ------------------------------- */
  .heading_area {
    position: relative;
    width: 100%;
    margin: 80px auto 6%;
    padding: 0 4%;
  }
  .heading_title {
    position: relative;
    margin: 0 auto;
    font-size: 2.0rem;
    text-align: center;
  }
  .heading_title::before {
    content: attr(data-en);
    position: absolute;
    top: -70px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(225,237,209,0.6);
    font-size: 2.25em;
  }
  .heading_icon {
    position: absolute;
    top: -65px;
    left: 4%;
    width: 12%;
    opacity: 0.8;
  }
  .sub_heading {
    padding: 40px 0;
    font-size: 2.4rem;
    text-align: center;
  }
  .heading_img {
    margin: 0 0 10%;
  }
  .heading_img img {
    border-radius: 5px;
  }
  .heading_img p {
    font-size: 1.4rem;
    margin: 0 0 1.6rem;
  }
  .heading_img p:last-child {
    margin: 0;
  }
  .content_area {
    margin: 0;
    padding: 0 4%;
  }
  .content_wrap {
    margin: 0 0 80px;
    padding: 0;
  }


  /* TOPページ
  ------------------------------- */
  .about_txt {
    margin: 0;
  }
  .about_txt p {
    font-size: 1.4rem;
    letter-spacing: 0.06rem;
    margin: 0 0 2.6rem;
  }
  .about_txt p:last-child {
    margin: 0;
  }
  .about_txt p img {
    border-radius: 5px;
  }


  /* 事業内容
  ------------------------------- */
  .business_heading {
    position: relative;
    padding-left: 6rem;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 2.4rem;
  }
  .business_heading::before {
    content: attr(data-number);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    color: rgba(225,237,209,0.6);
    font-size: 4rem;
  }
  .business_heading::after {
    content: '';
    position: absolute;
    bottom: -1rem;
    left: 0;
    width: 8rem;
    height: 0.2rem;
    background-color: rgba(225,237,209,0.3);
  }
  .business_box {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin: 0 auto 80px;
    padding: 0;
  }
  .business_box:last-child {
    margin: 0 auto;
  }
  .business_box_image {
    max-width: 100%;
    width: 100%;
    margin: 0;
  }
  .business_box_text {
    width: 100%;
    margin: 0;
    padding: 1.6rem 0 0;
    text-align: justify;
    text-justify: inter-ideograph;
  }
  .business_box_text p {
    font-size: 1.4rem;
    margin: 0 0 1.6rem;
  }
  .business_box_text p:last-child {
    margin: 0;
  }


  /* プライバシーポリシー
  ------------------------------- */
  .privacy_box {
    margin: 0 0 60px;
    padding: 0;
  }
  .privacy_ttl {
    font-size: 1.6rem;
    border-bottom: solid 2px #44602d;
    margin: 0 0 1.6rem;
  }
  .privacy_box p {
    font-size: 1.4rem;
    margin: 0 0 1.6rem;
  }
  .privacy_box p:last-child {
    margin: 0;
  }
  .privacy_box ul {
    padding: 0.8rem 0.8rem 0.8rem 1.6rem;
  }
  .privacy_box ul li {
    font-size: 1.4rem;
    line-height: 1.2;
    padding: 0.8rem 0;
    text-align: justify;
    text-justify: inter-ideograph;
  }


  /* お問い合わせ
  ------------------------------- */
  .cp_box {
    margin: 0 0 40px;
  }
  .cp_box table {
    width: 100%;
    padding: 0 2%;
  }
  .formTable {
    width: 100%;
    margin: 0 0 40px;
  }
  table.formTable th {
    position: relative;
    width: 40%;
    padding: 8px 0;
    font-size: 1.6rem;
    font-weight: 400;
    text-align: left;
  }
  table.formTable td {
    width: 60%;
    padding: 8px 0;
    text-align: left;
  }
  p.error_messe {
    margin: 5px 0;
    color: #b41808;
    text-align: center;
  }
  .required {
    background-color: #b41808;
    color: #fff;
    margin: 0 0 0 0.8rem;
    padding: 0.4rem;
    font-size: 1.2rem;
  }

  /* テキスト */
  input[type='text'] {
    width: 100%;
    padding: 4px 8px;
    border-radius: 5px;
    border: 1px solid #e4e4e4;
    background-color: #fcfcfc;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
  }

  /* セレクトボックス */
  .select_wrap {
    position: relative;
    width: 100%;
  }
  .select_wrap:before {
    position: absolute;
    top: 1.6rem;
    right: 1.0rem;
    width: 0;
    height: 0;
    padding: 0;
    content: '';
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #666666;
    pointer-events: none;
  }
  .select_wrap select {
    width: 100%;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    height: 40px;
    padding: 4px;
    border: 1px solid #e4e4e4;
    background-color: #fcfcfc;
    border-radius: 5px;
  }
  .select_wrap select::-ms-expand {
    display: none;
  }

  /* テキストエリア */
  textarea {
    width: 100%;
    height: 300px;
    padding: 4px 8px;
    border-radius: 5px;
    border: 1px solid #e4e4e4;
    background-color: #fcfcfc;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
  }
  .contact_btnarea {
    display: flex;
    justify-content: center;
    margin: 40px 0 0;
  }
  .button {
    font-size: 1.8rem;
    background-color: #004bb1;
    color: #fff;
    border-radius: 6px;
    padding: 12px 34px;
    transition: .4s;
  }
  .button:hover {
    background-color: #00357d;
  }
  .cp_button {
    font-size: 1.8rem;
    background-color: #004bb1;
    color: #fff;
    border-radius: 6px;
    margin-left: 40px;
    padding: 12px 34px;
    transition: .4s;
  }
  .cp_button:hover {
    background-color: #00357d;
  }
  .cp_button2 {
    font-size: 1.8rem;
    background-color: #fff;
    color: #004bb1;
    border: 1px solid #004bb1;
    border-radius: 6px;
    padding: 12px 34px;
    transition: .4s;
  }
  .cp_button2:hover {
    background-color: #f4f9ff;
  }
  

  /* フッター
  --------------------------- */
  .footer-wrap {
    position: relative;
    width: 100%;
  }
  .foot_area {
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    margin: 0 auto;
    padding: 2rem 4% 1.6rem;
  }
  .footer_inner {
    width: 100%;
    margin: 0 auto 20px;
    padding: 0;
  }
  .footer_inner ul {
    display: flex;
    justify-content: center;
    padding: 0;
    position: relative;
  }
  .footer_inner ul li {
    line-height: 1.2;
    font-size: 1.3rem;
    margin: 0 2.2rem 0 0;
    padding: 0;
    list-style-type: none!important;
  }
  .footer_inner ul li:last-child {
    margin: 0;
  }
  .footer_link a {
    color: #445f2e;
  }
  .footer_link a:hover,
  .footer_link a:active,
  .footer_link a:focus {
    color: #aacc8e;
  }
  .copyright {
    text-align: center;
  }     
}