@charset "utf-8";
/* common.css */
/**********************************************
	common settings
***********************************************/
@font-face {
  font-family: 'LINE Seed JP Bd';
  src: url('../font/WOFF/LINESeedJP_OTF_Bd.woff') format('woff');
}
@font-face {
  font-family: 'LINE Seed JP Ed';
  src: url('../font/WOFF/LINESeedJP_OTF_Eb.woff') format('woff');
}
@font-face {
  font-family: 'LINE Seed JP Rg';
  src: url('../font/WOFF/LINESeedJP_OTF_Rg.woff') format('woff'),
}
@font-face {
  font-family: 'LINE Seed JP Th';
  src: url('../font/WOFF/LINESeedJP_OTF_Th.woff') format('woff');
}
html, body {
  width: 100%;
  height: 100%;
}
body {
  font-family: "LINE Seed JP Rg", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 1.5px;
  color: #000;
  background: #FFFDF9;
  position: relative;
}
@media screen and (min-width: 520px) {
  body {
    font-size: 15px;
  }
}
@media screen and (min-width: 960px) {
  body {
    font-size: 16px;
  }
}
p {
  text-align: justify;
}
a {
  color: #000;
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}
a:focus {
  outline: none;
}
img {
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
input:focus, select:focus, textarea:focus {
  outline: none;
}
/**********************************************
	display: block / none
***********************************************/
.tab {
  display: none !important;
}
.pc {
  display: none !important;
}
.sp {
  display: block !important;
}
@media screen and (min-width: 520px) {
  .sp {
    display: none !important;
  }
  .pc {
    display: none !important;
  }
  .tab {
    display: block !important;
  }
}
@media screen and (min-width: 960px) {
  .sp {
    display: none !important;
  }
  .tab {
    display: none !important;
  }
  .pc {
    display: block !important;
  }
}
/**********************************************
	clearfix
***********************************************/
.cf::after {
  content: "";
  display: block;
  clear: both;
}
/**********************************************
	header
***********************************************/
header {
	font-family: "LINE Seed JP Bd";
}

.header {
  width: 100%;
  height: 70px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}

.header-logo {
	display: block;
	width: 200px;
	color: #399D26;
}
@media screen and (min-width: 960px) {
  .header-logo {
    font-size: clamp(18px, 24 / 1980 * 100vw, 24px);
	width: 250px;
  }
}

.header__inner {
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

/* ヘッダーのロゴ部分 */
.header__title {
  width: 90px;
}

@media screen and (min-width: 960px) {
	.header {
		height: 70px;
	}
	.header__inner {
		padding: 15px 120px;
	}
  .header__title {
    width: 120px;
  }
}

.header__title img {
  display: block;
  width: 100%;
  height: 100%;
}

/* ヘッダーのナビ部分 */
.header__nav {
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  transform: translateX(100%);
  background-color: #FFFDF9;
  transition: ease .4s;
}


@media screen and (min-width: 960px) {
  .header__nav {
    position: static;
    transform: initial;
    background-color: inherit;
    height: inherit;
    display: flex;
    justify-content: end;
    width: 50%;
  }
}


@media screen and (min-width: 960px) {
  .nav__items {
    width: 100%;
    display: flex;
    align-items: center;
    height: initial;
    justify-content: space-between;
  }
}

.nav-items {
  padding-top: 250px;
  padding-bottom: 200px;
}


@media screen and (min-width: 960px) {
  .nav-items {
	max-width: 327px;
    padding-top: inherit;
    padding-bottom: inherit;
  }
}

/* ナビのリンク */
.nav-items__item a {
  color: #399D26;
  width: 100%;
  display: block;
  text-align: center;
  font-size: 18px;
  margin-bottom: 24px;
}

@media screen and (min-width: 960px) {
  .nav-items__item a {
    font-size: clamp(18px, 24 / 1980 * 100vw, 24px);
  }
}

.nav-items__item:last-child a {
  margin-bottom: 0;
}

@media screen and (min-width: 960px) {
  .nav-items__item a {
    margin-bottom: 0;
  }
}

/* ハンバーガーメニュー */
.header__hamburger {
  width: 48px;
  height: 100%;  
}

.hamburger {
  width: 65px;
  height: 65px;
  border: none;
  background: none;
  z-index: 9999;
}

@media screen and (min-width: 960px) {
  .hamburger {
    display: none;
  }
}

/* ハンバーガーメニューの線 */
.hamburger span {
  width: 70%;
  height: 1px;
  background-color: #399D26;
  position: relative;
  transition: ease .4s;
  display: block;
  padding: inherit;
  margin: 0 auto;
}

.hamburger span:nth-child(1) {
  top: 0;
}

.hamburger span:nth-child(2) {
  margin-top: 8px;
	margin-bottom: 8px;
}

.hamburger span:nth-child(3) {
  top: 0;
}

/* ハンバーガーメニュークリック後のスタイル */
.header__nav.active {
  transform: translateX(0);
}

.hamburger.active span:nth-child(1) {
  top: 10px;
  transform: rotate(45deg);
}

.hamburger.active span:nth-child(2) {
  opacity: 0;

}

.hamburger.active span:nth-child(3) {
  top: -10px;
  transform: rotate(-45deg);
}
/**********************************************
    $footer
***********************************************/
.footer {
	padding-bottom: 30px;
}
@media screen and (min-width: 960px) {
	.footer {
		width: calc(1114 / 1920 * 100vw);
    	margin: 0 auto;
	}
}
.top-mail-content {
	width: calc( 311 / 375 * 100vw);
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
@media screen and (min-width: 960px) {
	.top-mail-content {
		width: calc(1114 / 1920 * 100vw);
	}
}
.top-mail-content > a {
	font-size: 20px;
	color: #399D26;
	width: calc(826 / 1114 * 100vw);
	margin: auto 0;
	transition: letter-spacing 0.3s;
}
@media screen and (min-width: 960px) {
	.top-mail-content > a {
		font-size: 40px;
	}
}

.top-mail-content > a:hover {
  letter-spacing: 0.05em; /* 字間の設定 */
}


.footer-img {
	width: 27px;
}

@media screen and (min-width: 960px) {
	.footer-img {
		width: calc(68 / 1114 * 100vw);
	}
}
.footer-block {
	width: calc( 311 / 375 * 100vw);
	margin: 0 auto;
	margin-top: 30px;
	padding-top: 30px;
    border-top: 1px solid #E8E8E8;
}
@media screen and (min-width: 960px) {
	.footer-block {
		width: calc(1114 / 1920 * 100vw);
	}
}
.footer-list {
	display: flex;
	font-size: 14px;
}
.footer-block > nav {
	margin-bottom: 20px;
}
.footer-list > li {
	margin-right: 36px;
    position: relative;
}
.footer-list > li::after {
    content: "/";
    position: absolute;
    top: 0;
    right: -25px;
}
.footer-list > li:last-child::after {
	content: "";
}
.footer-copyright {
	font-size: 11px;
}
/**********************************************
    $link button
***********************************************/
/**********************************************
    $subpage title
***********************************************/
/**********************************************
	$breadcrumb list
***********************************************/
/**********************************************
	その他
***********************************************/
body{
	display: none;
}

.top-title {
	width: calc( 311 / 375 * 100vw);
	margin: 0 auto;
	padding-bottom: 50px;
	color: #399D26;
}
@media screen and (min-width: 960px) {
	.top-title {
		width: calc(1114 / 1920 * 100vw);
	}
}

.top-title > h2 {
	font-size: 13px;
}
@media screen and (min-width: 960px) {
	.top-title > h2 {
		font-size: 16px;
	}
}
.top-title > h3 {
	font-family: "LINE Seed JP Bd";
	font-size: 32px;
	padding-left: 10px;
	display: flex;
  	align-items: center; /* 垂直中心 */
}
@media screen and (min-width: 960px) {
	.top-title > h3 {
		font-size: 48px;
	}
}
.top-title > h3::after {
	border-top: 1px solid #399D26;
  	content: "";
  	width: 3em; /* 線の長さ */
	margin-left: 0.5em; /* 文字の左隣 */
}
