@import url("https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Mochiy+Pop+One&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200;300;400;500;600;700&display=swap");

body {
	color: #333;
	background: #fefefe;
	font-family: "YakuHanJP", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.5rem;
	line-height: 1.8;
	-webkit-font-smoothing: antialiased;
	min-height: 100vh;
	font-weight: 400;
	position: relative;
	letter-spacing: 0.08em
}

a {
	color: #45c141;
	text-decoration: none;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	cursor: pointer
}

#wrapper {
	overflow: hidden
}

img {
	max-width: 100%;
	height: auto
}

.en {
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400
}

.bold {
	font-weight: 600
}

h2,
h3,
h4 {
	line-height: 1.4;
	font-weight: 600
}

.mincho {
	font-family: "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif
}

.font3 {
	font-family: "Kiwi Maru", serif
}

.bigger {
	font-size: 1.8rem
}

@media all and (max-width: 639px) {
	.bigger {
		font-size: 1.25rem
	}
}

.smaller {
	font-size: 0.9em
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}

@-webkit-keyframes view-zoomin {
	0% {
		opacity: 0;
		-webkit-transform: scale(0.95);
		transform: scale(0.95)
	}

	100% {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1)
	}
}

@keyframes view-zoomin {
	0% {
		opacity: 0;
		-webkit-transform: scale(0.95);
		transform: scale(0.95)
	}

	100% {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1)
	}
}

@-webkit-keyframes view-slideup {
	0% {
		opacity: 0;
		-webkit-transform: translate(0, 35px);
		transform: translate(0, 35px)
	}

	100% {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0)
	}
}

@keyframes view-slideup {
	0% {
		opacity: 0;
		-webkit-transform: translate(0, 35px);
		transform: translate(0, 35px)
	}

	100% {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0)
	}
}

.animation {
	opacity: 0
}

.slideup.on {
	opacity: 1;
	-webkit-animation: view-slideup 0.65s cubic-bezier(0.2, 1, 0.2, 1);
	animation: view-slideup 0.65s cubic-bezier(0.2, 1, 0.2, 1)
}

.zoomin.on {
	opacity: 1;
	-webkit-animation: view-zoomin 0.65s cubic-bezier(0.2, 1, 0.2, 1);
	animation: view-zoomin 0.65s cubic-bezier(0.2, 1, 0.2, 1)
}

.loader {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #fdfdfd;
	bottom: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	-webkit-perspective: 200px;
	perspective: 200px;
	z-index: 9999
}

.loader .loader-title {
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	font-size: 3rem;
	letter-spacing: 0.25vw
}

.loader .loader-title .letter {
	display: inline-block
}

@media all and (max-width: 639px) {
	.loader .loader-title {
		font-size: 2rem
	}
}

.loader.off {
	display: none
}

@-webkit-keyframes rotate {
	0% {
		-webkit-transform: rotateY(0);
		transform: rotateY(0)
	}

	25% {
		opacity: 0
	}

	50% {
		opacity: 1
	}

	75% {
		opacity: 0
	}

	100% {
		-webkit-transform: rotateY(360deg);
		transform: rotateY(360deg)
	}
}

@keyframes rotate {
	0% {
		-webkit-transform: rotateY(0);
		transform: rotateY(0)
	}

	25% {
		opacity: 0
	}

	50% {
		opacity: 1
	}

	75% {
		opacity: 0
	}

	100% {
		-webkit-transform: rotateY(360deg);
		transform: rotateY(360deg)
	}
}

@-webkit-keyframes loader {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0)
	}

	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg)
	}
}

@keyframes loader {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0)
	}

	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg)
	}
}

@-webkit-keyframes hd-scrolled {
	0% {
		opacity: 0;
		-webkit-transform: translate(0, -100%);
		transform: translate(0, -100%)
	}

	100% {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0)
	}
}

@keyframes hd-scrolled {
	0% {
		opacity: 0;
		-webkit-transform: translate(0, -100%);
		transform: translate(0, -100%)
	}

	100% {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0)
	}
}

#l-header.is-fixed {
	position: fixed;
	z-index: 200;
	top: 0;
	left: 0;
	width: 100%;
	background: rgba(255, 255, 255, 0.7);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px)
}

#l-header.is-fixed .inner #logo {
	width: 150px
}

@media all and (max-width: 900px) {
	#l-header.is-fixed .inner #logo {
		width: 100px
	}
}

#l-header.is-fixed .inner {
	padding: 10px 0
}

#l-header.is-hide {
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%)
}

#l-header .inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	max-width: 90%;
	min-width: 1000px;
	margin: 0 auto;
	padding: 25px 0;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in
}

@media all and (max-width: 900px) {
	#l-header .inner {
		min-width: initial
	}
}

#l-header .inner #logo {
	position: absolute;
	left: 1.5%;
	top: 10px;
	z-index: 2;
	width: 230px;
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in
}

#l-header .head-right {
	margin-left: auto;
	margin-right: 5px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

@media all and (max-width: 900px) {
	#l-header .head-right {
		display: none
	}
}

#l-header .head-left {
	margin-right: auto;
	margin-left: 5px
}

@media all and (max-width: 900px) {
	#l-header .head-left {
		display: none
	}
}

#l-header .head-right_contact {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: left;
	-ms-flex-pack: left;
	justify-content: left;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-left: auto
}

#l-header .head-right_txt {
	font-size: 12px;
	font-weight: 600;
	padding-right: 20px;
	display: block;
	letter-spacing: 0
}

#l-header .head-right_tel {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

#l-header .head-right_tel a,
#l-header .head-right_mail a,
#l-header .head-right_reserve a {
	display: block;
	padding: 4px 15px;
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
	color: #333;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	font-size: 1.5rem
}

#l-header .head-right_tel a:before,
#l-header .head-right_mail a:before,
#l-header .head-right_reserve a:before {
	margin-right: 5px
}

#l-header .head-right_tel a:hover,
#l-header .head-right_mail a:hover,
#l-header .head-right_reserve a:hover {
	color: #58c754
}

#l-header .head-right_tel a {
	padding: 0 15px;
	color: #58c754;
	font-size: 2rem;
	position: relative;
	font-family: 'Oswald', sans-serif;
	font-weight: 400
}

#l-header .head-right_tel a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f879";
	font-weight: 900;
	font-size: 1.6rem
}

#l-header .head-right_tel a:hover {
	background-color: #fefefe
}

#l-header .head-right_reserve {
	margin-left: 10px
}

#l-header .head-right_reserve a:hover {
	background-color: #fefefe
}

#l-header .head-right_mail {
	margin-left: 10px
}

#l-header .head-right_mail a {
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	color: #fefefe
}

#l-header .head-right_mail a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0e0";
	font-weight: 900
}

#l-header .head-right_mail a:hover {
	background: #008dbd
}

#header_nav {
	width: 650px;
	margin-top: 6px;
	-webkit-transition: all 0.3s ease-in;
	transition: all 0.3s ease-in
}

@media all and (max-width: 900px) {
	#header_nav {
		display: none
	}
}

#header_nav ul {
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

#header_nav ul li {
	position: relative;
	-webkit-box-flex: 1;
	-ms-flex: 1 0 auto;
	flex: 1 0 auto
}

#header_nav ul li a {
	display: block;
	position: relative;
	line-height: 1.5;
	font-size: 1.5rem;
	letter-spacing: 0.1rem;
	text-align: center;
	color: #333;
	overflow: hidden;
	font-weight: 600
}

#header_nav ul li a img {
	display: block;
	width: 40px;
	margin: 0 auto 4px
}

@media all and (max-width: 639px) {
	#header_nav ul li a img {
		display: none
	}
}

#header_nav ul li a span {
	-webkit-transition: 0.2s all ease-in-out;
	transition: 0.2s all ease-in-out;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	position: relative;
	display: block;
	color: #333;
	font-size: 1rem
}

#header_nav ul li a:hover span,
#header_nav ul li a.active span {
	color: #58c754
}

#header_nav .dropdown {
	display: none;
	position: absolute;
	right: 0;
	top: 28px;
	z-index: 999;
	padding-top: 30px
}

#header_nav .dropdown .dropdown-li {
	border-right: 0;
	margin: 0 0 5px;
	background: #58c754
}

#header_nav .dropdown .dropdown-li:after {
	display: none
}

#header_nav .dropdown .dropdown-li a {
	display: block;
	width: 180px;
	padding: 12px 8px;
	color: #fefefe
}

#header_nav .dropdown .dropdown-li.foot_only {
	display: none
}

#header_nav .dropdown .dropdown-li:hover a {
	background: #80e97d
}

#page-top {
	position: fixed;
	bottom: 10px;
	right: 7px;
	z-index: 200
}

#page-top a {
	display: block;
	background: #45c141;
	color: #fff;
	width: 50px;
	height: 50px;
	line-height: 50px;
	border-radius: 50%;
	font-size: 1.2rem;
	text-align: center
}

#page-top a:hover {
	opacity: 0.6
}

@media all and (max-width: 900px) {
	#page-top {
		bottom: 60px
	}

	#page-top a {
		background-color: #45c141
	}
}

@-webkit-keyframes zoom-in {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1)
	}

	100% {
		-webkit-transform: scale(1.12);
		transform: scale(1.12)
	}
}

@keyframes zoom-in {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1)
	}

	100% {
		-webkit-transform: scale(1.12);
		transform: scale(1.12)
	}
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
	-webkit-animation: zoom-in 11s linear 0s 1 normal both;
	animation: zoom-in 11s linear 0s 1 normal both
}

.swiper-container {
	border-radius: 50px 0 0 50px
}

.swiper-slide {
	position: relative
}

.swiper-slide:before {
	position: absolute;
	width: 100%;
	height: 100%;
	content: "";
	right: 0;
	top: 0;
	background-position: 50%;
	background-size: cover;
	z-index: -1
}

.swiper-slide.slide1:before {
	background-image: url(../img/1.jpg)
}

.swiper-slide.slide2:before {
	background-image: url(../img/2.jpg)
}

.swiper-slide.slide3:before {
	background-image: url(../img/3.jpg)
}

.slide-img {
	overflow: hidden;
	width: 100%;
	height: 85vh
}

.slide-img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

@media all and (max-width: 639px) {
	.slide-img img {
		-o-object-position: 30% 50%;
		object-position: 30% 50%
	}
}

@media all and (max-width: 1025px) {
	.slide-img {
		height: 55vh
	}
}

@media screen and (max-width: 890px) and (orientation: landscape) {
	.slide-img {
		height: 50vw
	}
}

@media all and (max-width: 639px) {
	.slide-img {
		height: 50vh
	}
}

#slideshow {
	position: relative;
	width: 88%;
	margin-left: auto
}

@media all and (max-width: 900px) {
	#slideshow {
		margin-top: 30px;
		width: 93%
	}
}

#slide-wrap {
	position: relative
}

#slide-wrap::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100px;
	bottom: -50px;
	left: 0;
	background: url(../img/bg-head.png) repeat-x center/1150px 100px
}

@media all and (max-width: 639px) {
	#slide-wrap::before {
		background: url(../img/bg-head.png) repeat-x left/1150px 100px
	}
}

#catch {
	z-index: 50;
	position: absolute;
	left: 4%;
	top: 81%;
	opacity: 1;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 750px
}

#catch.on {
	opacity: 1;
	-webkit-transition: 2s;
	transition: 2s
}

@media all and (max-width: 1367px) {
	#catch {
		width: 650px
	}
}

@media all and (max-width: 1025px) {
	#catch {
		width: 60%
	}
}

@media all and (max-width: 639px) {
	#catch {
		width: 95%;
		-webkit-transform: none;
		transform: none;
		left: auto;
		right: 2%;
		top: 50%
	}
}

#scrolldown {
	position: absolute;
	left: 15px;
	bottom: 0;
	color: #333;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	-webkit-text-orientation: mixed;
	text-orientation: mixed;
	-webkit-font-feature-settings: "pkna";
	font-feature-settings: "pkna";
	font-size: 1.4rem;
	z-index: 100;
	height: 210px
}

#scrolldown:before,
#scrolldown:after {
	position: absolute;
	content: "";
	z-index: 2;
	left: 50%
}

#scrolldown:before {
	width: 1px;
	height: 100px;
	bottom: 0;
	background: #333;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%)
}

#scrolldown:after {
	width: 8px;
	height: 8px;
	background: rgba(51, 51, 51, 0.9);
	border-radius: 100%;
	top: 100px;
	margin-left: -4px;
	-webkit-animation: scroll-point 2.3s ease-out infinite;
	animation: scroll-point 2.3s ease-out infinite;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both
}

@media all and (max-width: 900px) {
	#scrolldown {
		display: none
	}
}

@-webkit-keyframes scroll-point {
	0% {
		bottom: 0;
		opacity: 0
	}

	20% {
		opacity: 1
	}

	50% {
		top: 180px;
		opacity: 1
	}

	80% {
		opacity: 0
	}

	100% {
		top: 210px;
		opacity: 0
	}
}

@keyframes scroll-point {
	0% {
		bottom: 0;
		opacity: 0
	}

	20% {
		opacity: 1
	}

	50% {
		top: 180px;
		opacity: 1
	}

	80% {
		opacity: 0
	}

	100% {
		top: 210px;
		opacity: 0
	}
}

.btn-hot a {
	display: block;
	width: 280px;
	margin: 0 auto 15px;
	border: 0.9px solid #6be567;
	color: #58c754;
	background: #80e97d;
	padding: 10px 0;
	text-align: center;
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in
}

.btn-hot a:hover {
	background: #623b1c;
	color: #fff
}

@media all and (max-width: 639px) {
	.btn-hot a {
		width: 90%
	}
}

.contact_bnr {
	position: relative;
	z-index: 2;
	margin-bottom: 25px
}

.contact_bnr>li {
	margin: 0 auto;
	margin-bottom: 15px
}

.contact_bnr>li:last-child {
	margin-bottom: 0
}

@media all and (max-width: 639px) {
	.contact_bnr>li {
		width: 90%;
		margin: 0 auto 10px
	}

	.contact_bnr>li:not(:last-child) {
		border-right: 0;
		margin-bottom: 20px
	}
}

.contact_bnr>li .bnr_free {
	border: 1px solid #58c754;
	font-size: 3rem;
	line-height: 1;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-weight: 600;
	background: #fff
}

.contact_bnr>li .bnr_free:before {
	content: "Tel.";
	font-size: 1.4rem;
	letter-spacing: 0
}

.contact_bnr>li .bnr_free.typ02:before {
	content: "Fax."
}

.contact_bnr>li .bnr_free:hover {
	background: rgba(128, 233, 125, 0.6);
	color: #fefefe
}

.contact_bnr>li .bnr_free2 {
	border: 1px solid #80e97d;
	font-size: 3rem;
	line-height: 1;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-family: "YakuHanJP", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 600
}

.contact_bnr>li .bnr_free2:hover {
	background: rgba(128, 233, 125, 0.6);
	color: #fefefe
}

.contact_bnr>li .bnr_tel {
	letter-spacing: 0.15em
}

.contact_bnr>li .bnr_tel:before {
	font-family: "Font Awesome 5 Free";
	content: "\f879";
	font-weight: 900
}

.contact_bnr>li .bnr_mobile {
	background: #fefefe;
	color: #1e3965
}

.contact_bnr>li .bnr_mobile:before {
	font-family: "Font Awesome 5 Free";
	content: "\f3cd";
	font-weight: 900
}

.contact_bnr>li .bnr_fax {
	padding: 15px 0;
	background: #80e97d;
	color: #fff;
	font-size: 3rem;
	line-height: 1;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-weight: 600
}

@media all and (max-width: 639px) {
	.contact_bnr>li .bnr_fax {
		font-size: 1.4rem
	}
}

.contact_bnr>li .bnr_fax:before {
	font-family: "Font Awesome 5 Free";
	content: "\f1ac";
	font-weight: 900;
	color: #fff;
	font-size: 1.4rem;
	margin-right: 8px
}

.contact_bnr>li .bnr_fax:hover {
	color: #fff;
	background: #55e251
}

.contact_bnr>li .bnr_mail {
	letter-spacing: 0.1rem;
	font-size: 1.6rem;
	padding: 15px 0;
	border: 1px solid #58c754;
	background: #fff
}

@media all and (max-width: 639px) {
	.contact_bnr>li .bnr_mail {
		font-size: 1.4rem
	}
}

.contact_bnr>li .bnr_mail:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0e0";
	font-weight: 900;
	font-size: 1.4rem;
	margin-right: 8px
}

.contact_bnr>li .bnr_mail:hover {
	background: rgba(128, 233, 125, 0.6);
	color: #fefefe
}

.contact_bnr>li .bnr_mail2 {
	letter-spacing: 0.1rem;
	font-size: 1.6rem;
	padding: 15px 0;
	background: #80e97d;
	color: #fff;
	background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat
}

@media all and (max-width: 639px) {
	.contact_bnr>li .bnr_mail2 {
		font-size: 1.4rem
	}
}

.contact_bnr>li .bnr_mail2 i {
	color: #fff;
	font-size: 1.4rem;
	margin-right: 8px
}

.contact_bnr>li .bnr_mail2:hover {
	color: #fff;
	opacity: .7
}

.contact_bnr>li .bnr_insta {
	letter-spacing: 0.1rem;
	font-size: 1.6rem;
	padding: 15px 0;
	background: #80e97d;
	background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
	color: #fff
}

@media all and (max-width: 639px) {
	.contact_bnr>li .bnr_insta {
		font-size: 1.4rem
	}
}

.contact_bnr>li .bnr_insta:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0e0";
	font-weight: 900;
	color: #fff;
	font-size: 1.4rem;
	margin-right: 8px
}

.contact_bnr>li .bnr_insta:hover {
	opacity: .7
}

.contact_bnr>li a {
	position: relative;
	display: block;
	color: #58c754;
	width: 340px;
	text-align: center;
	font-weight: 500;
	padding: 10px 0;
	margin: 0 auto
}

@media all and (max-width: 1025px) {
	.contact_bnr>li a {
		width: 100%
	}
}

@media all and (max-width: 900px) {
	.contact_bnr>li a {
		font-size: 1.6rem
	}
}

@media all and (max-width: 639px) {
	.contact_bnr>li a {
		width: 100%
	}

	.contact_bnr>li a:before {
		font-size: 2rem
	}
}

#l-footer {
	position: relative;
	padding-top: 80px;
	padding-bottom: 80px;
	background: #f7fff2 url(../img/bg-footer.png) repeat-x left bottom/1150px 76px
}

#l-footer:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: #fefefe;
	z-index: -1;
	opacity: .7
}

#l-footer .inner {
	margin: 0px auto;
	padding: 30px 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	max-width: 1500px;
	position: relative;
	z-index: 3;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

#l-footer .inner .footer-left {
	width: 25%;
	padding-right: 20px;
	border-right: 1px solid rgba(170, 170, 170, 0.5);
	text-align: center
}

#l-footer .inner .footer-middle {
	padding: 0 15px;
	width: 35%;
	border-right: 1px solid rgba(170, 170, 170, 0.5);
	font-size: 1.4rem;
	text-align: center
}

#l-footer .inner .footer-right {
	width: 35%;
	padding-left: 20px
}

@media all and (max-width: 900px) {
	#l-footer .inner .footer-left {
		width: 48%;
		padding: 0;
		border-right: 0;
		text-align: center
	}

	#l-footer .inner .footer-middle {
		width: 48%;
		border-right: 0
	}

	#l-footer .inner .footer-right {
		width: 90%;
		border-top: 0.9px solid #eee;
		padding: 20px 0 0;
		margin: 20px auto 0
	}
}

@media all and (max-width: 639px) {
	#l-footer {
		padding-top: 40px;
		margin-bottom: 40px
	}

	#l-footer .inner {
		padding: 10px 15px 30px
	}

	#l-footer .inner .footer-left,
	#l-footer .inner .footer-middle,
	#l-footer .inner .footer-right {
		width: 100%;
		font-size: 13px
	}

	#l-footer .inner .footer-middle {
		margin-top: 20px
	}
}

.inner2 {
	width: calc(100% - 80px);
	margin: 0 auto;
	background: #45c141;
	padding: 30px 20px 20px;
	position: relative;
	z-index: 2;
	border-radius: 20px 20px 0 0
}

@media all and (max-width: 900px) {
	.inner2 {
		width: 95%
	}
}

.footer_navi {
	max-width: 1000px;
	margin: 25px auto 30px
}

.footer_navi ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.footer_navi ul li {
	-webkit-box-flex: 1;
	-ms-flex: 1 0 auto;
	flex: 1 0 auto
}

.footer_navi ul li a {
	color: #333;
	font-size: 1.4rem;
	position: relative;
	padding-left: 25px;
	font-weight: 600
}

.footer_navi ul li a img {
	display: none
}

.footer_navi ul li a span {
	display: none
}

.footer_navi ul li a:before {
	content: "";
	background-color: #80e97d;
	width: 10px;
	height: 4px;
	position: absolute;
	top: 50%;
	margin-top: -2px;
	left: 0
}

.footer_navi ul li a:hover {
	color: #58c754
}

.footer_navi ul li .dropdown {
	display: none
}

.footer_navi ul li .dropdown .dropdon-li a {
	font-size: 1.2rem
}

.flogo {
	width: 220px;
	margin: 0 auto 20px
}

.address {
	font-size: 1.1rem
}

@media all and (max-width: 639px) {
	.address {
		font-size: 1.2rem
	}
}

.copyright {
	font-size: 1.2rem;
	position: relative;
	z-index: 4
}

@media all and (max-width: 900px) {
	.copyright {
		font-size: 12px;
		padding-bottom: 50px
	}
}

.deco {
	position: relative
}

.deco:before,
.deco:after {
	position: absolute;
	content: "";
	width: 10%;
	height: 100%;
	top: 0;
	opacity: 0.2
}

@media all and (max-width: 639px) {

	.deco:before,
	.deco:after {
		width: 30%
	}
}

.deco:before {
	left: 0;
	background: url(../img/deco-left.png) repeat-y center left/contain
}

@media all and (max-width: 639px) {
	.deco:before {
		background-repeat: no-repeat;
		background-position: left top
	}
}

.deco:after {
	right: 0;
	background: url(../img/deco-right.png) repeat-y center right/contain
}

@media all and (max-width: 639px) {
	.deco:after {
		background-repeat: no-repeat;
		background-position: right bottom
	}
}

.lead01 {
	text-align: center;
	font-size: 2rem;
	line-height: 2;
	letter-spacing: 0.15em;
	margin-top: -30px;
	margin-bottom: 25px;
	color: #fdfed6
}

.lead01 span {
	border-bottom: 0.9px solid #80e97d
}

@media all and (max-width: 639px) {
	.lead01 {
		font-size: 1.4rem;
		margin-top: -20px
	}
}

.lead01.type1 {
	margin: 0 auto 25px;
	color: #623b1c
}

.news-list li {
	padding: 4px 4px 6px;
	border-bottom: 0.9px solid #ddd
}

.news-list li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: #45c141
}

.news-list li:not(:last-of-type) {
	margin-bottom: 15px
}

.news-list li .data {
	font-size: 1.3rem;
	color: #fff;
	padding: 4px 8px;
	background: #80e97d
}

@media all and (max-width: 639px) {
	.news-list li .data {
		font-size: 12px
	}
}

.news-list li .txt {
	margin-left: 20px;
	text-decoration: underline
}

@media all and (max-width: 900px) {
	.news-list li {
		display: block
	}

	.news-list li .txt {
		margin: 5px 0 0;
		display: block
	}
}

.news-box {
	margin: 0 auto;
	max-width: 1200px;
	position: relative;
	z-index: 10;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}

@media all and (max-width: 900px) {
	.news-box {
		margin-top: 0
	}
}

@media all and (max-width: 639px) {
	.news-box {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		padding: 10px
	}
}

.news-title {
	text-align: center;
	margin-bottom: 60px;
	color: #623b1c;
	position: relative
}

.news-title span {
	display: block
}

.news-title .eng {
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	color: #80e97d;
	position: relative;
	font-size: 1.8rem
}

.news-title .ja {
	position: relative
}

@media all and (max-width: 639px) {
	.news-title {
		margin-bottom: 30px
	}

	.news-title .eng {
		font-size: 2.4rem
	}

	.news-title .ja {
		font-size: 1.4rem
	}
}

.news-right {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	margin-left: 80px
}

@media all and (max-width: 639px) {
	.news-right {
		width: 100%;
		margin: 10px 0 0
	}
}

.top-menu-bnr {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 30px
}

@media all and (max-width: 1025px) {
	.top-menu-bnr {
		width: 85%;
		margin: 0 auto 30px
	}
}

@media all and (max-width: 639px) {
	.top-menu-bnr {
		width: 75%
	}
}

.top-menu-bnr li {
	width: 23.5%
}

.top-menu-bnr li a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in
}

.top-menu-bnr li a:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 10px;
	left: 10px;
	border: 0.9px solid #1e3965
}

.top-menu-bnr li a:hover .top-menu-img img {
	-webkit-transform: scale(1.01);
	transform: scale(1.01);
	opacity: 0.7
}

.top-menu-bnr li a:hover .top-menu-title {
	background: #80e97d;
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in
}

.top-menu-bnr li a:hover .top-menu-title .eng {
	color: #fefefe
}

@media all and (max-width: 1025px) {
	.top-menu-bnr li {
		width: 48%;
		margin-bottom: 30px
	}
}

@media all and (max-width: 639px) {
	.top-menu-bnr li {
		width: 100%;
		margin-bottom: 30px
	}
}

.top-menu-bnr .top-menu-img {
	width: 100%;
	height: 300px;
	overflow: hidden;
	position: relative;
	background: #000
}

.top-menu-bnr .top-menu-img img {
	width: 100%;
	height: 100%;
	opacity: 0.9;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;";
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
	display: block;
	margin: 0 auto
}

@media all and (max-width: 639px) {
	.top-menu-bnr .top-menu-img {
		height: 230px
	}
}

.top-menu-bnr .top-menu-title {
	background: #58c754;
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	-webkit-transition: 0.2s ease-in all;
	transition: 0.2s ease-in all;
	font-size: 1.8rem;
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
	color: #58c754;
	padding: 10px 15px;
	z-index: 2;
	font-weight: 600;
	letter-spacing: 0.15em;
	line-height: 1.6
}

.top-menu-bnr .top-menu-title .eng {
	font-size: 2rem;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	color: #fdfed6
}

@media all and (max-width: 639px) {
	.top-menu-bnr .top-menu-title {
		font-size: 1.4rem
	}

	.top-menu-bnr .top-menu-title .eng {
		font-size: 1.2rem
	}
}

.top-board {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.top-board .top-board-box {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	margin-left: 30px;
	-webkit-box-shadow: rgba(51, 51, 51, 0.1) 0px 10px 50px;
	box-shadow: rgba(51, 51, 51, 0.1) 0px 10px 50px;
	padding: 25px;
	border-radius: 20px;
	background: #fefefe
}

@media all and (max-width: 639px) {
	.top-board {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column
	}

	.top-board .top-board-box {
		width: 96%;
		-webkit-box-flex: 0;
		-ms-flex: 0 1 auto;
		flex: 0 1 auto;
		margin: 10px auto 0;
		padding: 15px
	}
}

.single {
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px 0;
	position: relative
}

.single02 {
	width: calc(100% - 80px);
	margin: 0 auto;
	padding: 80px 0
}

.single03 {
	max-width: 1500px;
	margin: 0 auto;
	padding: 80px 0;
	position: relative
}

.margin-top {
	margin-top: -80px
}

@media all and (max-width: 639px) {
	.margin-top {
		margin-top: -30px
	}
}

.lsingle,
.rsingle {
	width: 48.44%
}

.lsingle {
	float: left
}

.rsingle {
	float: right
}

.mbox {
	background: #fefefe;
	padding: 35px 30px;
	position: relative;
	z-index: 3;
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto
}

.mbox.transparent {
	background: transparent
}

.mbox.br-20 {
	border-radius: 20px
}

@media all and (max-width: 639px) {
	.mbox {
		padding: 20px 10px
	}
}

.mbox2 {
	background: #fff;
	-webkit-box-shadow: rgba(51, 51, 51, 0.1) 0px 10px 50px;
	box-shadow: rgba(51, 51, 51, 0.1) 0px 10px 50px;
	padding: 35px 30px;
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
	border-radius: 20px
}

@media all and (max-width: 639px) {
	.mbox2 {
		padding: 25px 15px
	}
}

.small-box {
	max-width: 850px;
	margin-right: auto;
	margin-left: auto
}

.small-box2 {
	max-width: 600px;
	margin-right: auto;
	margin-left: auto
}

.box1 {
	max-width: 750px;
	margin: 0 auto
}

.box1.deco-illust {
	position: relative
}

.box1.deco-illust::after {
	position: absolute;
	content: "";
	width: 250px;
	height: 300px;
	background: url(../img/point01.png) no-repeat center/contain;
	top: -150px;
	left: -250px
}

@media all and (max-width: 900px) {
	.box1.deco-illust::after {
		opacity: .2;
		top: -150px;
		left: -100px
	}
}

.box1.deco-illust::before {
	position: absolute;
	content: "";
	width: 250px;
	height: 300px;
	background: url(../img/point02.png) no-repeat center/contain;
	bottom: -100px;
	right: -250px
}

@media all and (max-width: 900px) {
	.box1.deco-illust::before {
		opacity: .2;
		bottom: -100px;
		right: -100px
	}
}

.box1.deco-illust.type01::after {
	background: url(../img/point03.png) no-repeat center/contain
}

@media all and (max-width: 900px) {
	.box1.deco-illust.type01::after {
		width: 150px;
		height: 200px;
		top: -60px;
		left: -40px
	}
}

.box1.deco-illust.type01::before {
	background: url(../img/point02.png) no-repeat center/contain;
	bottom: -150px
}

@media all and (max-width: 900px) {
	.box1.deco-illust.type01::before {
		bottom: -100px;
		right: -60px;
		width: 150px;
		height: 200px
	}
}

.box1.deco-illust.type02::after {
	background: url(../img/point01.png) no-repeat center/contain
}

.box1.deco-illust.type02::before {
	background: url(../img/point04.png) no-repeat center/contain
}

.sentence p+p {
	margin-bottom: 20px;
	letter-spacing: .3rem;
	line-height: 2
}

@media all and (max-width: 900px) {
	.sentence p+p {
		letter-spacing: .1rem
	}
}

.img-b {
	border: 0.9px solid #ccc
}

.img-round {
	border-radius: 20px 0 20px 0
}

.bg-grid {
	background: rgba(255, 255, 255, 0.9);
	background-image: -webkit-gradient(linear, left top, right top, color-stop(95%, transparent), color-stop(50%, rgba(204, 204, 204, 0.2)), to(rgba(204, 204, 204, 0.2))), -webkit-gradient(linear, left bottom, left top, color-stop(95%, transparent), color-stop(50%, rgba(204, 204, 204, 0.2)), to(rgba(204, 204, 204, 0.2)));
	background-image: linear-gradient(90deg, transparent 95%, rgba(204, 204, 204, 0.2) 50%, rgba(204, 204, 204, 0.2)), linear-gradient(0deg, transparent 95%, rgba(204, 204, 204, 0.2) 50%, rgba(204, 204, 204, 0.2));
	background-size: 20px 20px;
	background-repeat: repeat
}

#main {
	float: left;
	width: 76%
}

#main .mbox {
	min-height: 300px
}

@media all and (max-width: 900px) {
	#main .mbox {
		min-height: initial
	}
}

@media all and (max-width: 900px) {
	#main {
		float: none;
		width: 100%
	}
}

#side {
	float: right;
	position: -webkit-sticky;
	position: sticky;
	right: 0;
	top: 0;
	width: 21%;
	padding-right: 10px
}

@media all and (max-width: 900px) {
	#side {
		float: none;
		width: 100%;
		position: static;
		margin-top: 40px
	}
}

.mtitle {
	margin: 0 auto 45px;
	text-align: center
}

.mtitle.type1 .eng {
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	color: #333
}

.mtitle .eng {
	font-size: 1.8rem;
	color: #333;
	position: relative;
	display: block;
	line-height: 1.3;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	color: #58c754
}

.mtitle .ja {
	font-size: 2.5rem;
	color: #333;
	font-family: "Kiwi Maru", serif;
	font-weight: 500;
	letter-spacing: 0.15em
}

.mtitle.white {
	color: #fff;
	text-shadow: 0 0 3px rgba(0, 0, 0, 0.2)
}

.mtitle.white span {
	color: #fff;
	text-shadow: 0 0 3px rgba(0, 0, 0, 0.2)
}

.mtitle.white span:after {
	background-color: #eee
}

.mtitle.white span.ja {
	color: #fff;
	border-bottom-color: #fefefe
}

.mtitle.black {
	color: #333
}

.mtitle.black span {
	color: #555
}

.mtitle.black span:after {
	background-color: #555
}

.mtitle.mtitle_left {
	text-align: left;
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 10px
}

.mtitle.mtitle_left span:after {
	left: 0;
	-webkit-transform: none;
	transform: none
}

@media all and (max-width: 639px) {
	.mtitle {
		text-align: center
	}

	.mtitle .eng {
		font-size: 1.1rem;
		letter-spacing: 0.2em
	}

	.mtitle .ja {
		font-size: 1.8rem
	}
}

.mtitle1 {
	text-align: center;
	letter-spacing: .2rem;
	margin-bottom: 45px
}

.mtitle1 .en {
	color: #333;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	font-size: 2rem;
	font-weight: 500;
	margin-top: 20px
}

.mtitle1 .ja {
	display: block;
	font-size: 4rem;
	font-family: "Kiwi Maru", serif;
	font-weight: 400
}

.mtitle1 .ja::after {
	content: " ";
	display: block;
	width: 20px;
	height: 1px;
	background-color: #333;
	margin: 17px auto
}

@media all and (max-width: 900px) {
	.mtitle1 .en {
		font-size: 1rem
	}

	.mtitle1 .ja {
		font-size: 2.3rem;
		letter-spacing: -.01rem
	}
}

.mtitle2 {
	font-size: 2rem;
	position: relative;
	color: #58c754;
	font-weight: 600;
	position: relative;
	padding-left: 20px;
	margin-bottom: 30px;
	line-height: 1.2
}

.mtitle2 .eng {
	display: block;
	font-size: 1.8rem;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	color: #80e97d
}

.mtitle2:before {
	position: absolute;
	content: "";
	left: 0;
	top: 50%;
	width: 6px;
	height: 6px;
	margin-top: -3px;
	background: #58c754;
	border-radius: 4px
}

@media all and (max-width: 639px) {
	.mtitle2 {
		font-size: 1.6rem
	}

	.mtitle2 .eng {
		font-size: 1.2rem
	}

	.mtitle2 .viewbtn {
		font-size: 13px
	}
}

.mtitle3 {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	-webkit-text-orientation: mixed;
	text-orientation: mixed;
	-webkit-font-feature-settings: "pkna";
	font-feature-settings: "pkna";
	position: absolute;
	min-height: 100px;
	top: 10px;
	left: 20px;
	padding-top: 40px
}

.mtitle3:before {
	position: absolute;
	content: "";
	width: 1px;
	height: 30px;
	top: 0;
	left: 50%;
	background: #58c754
}

.mtitle3 .ja {
	display: block;
	font-size: 2.4rem;
	line-height: 1.3;
	padding-right: 5px;
	font-weight: 600;
	color: #58c754
}

.mtitle3 .eng {
	display: block;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	font-size: 2.2rem;
	color: #80e97d
}

@media all and (max-width: 639px) {
	.mtitle3 {
		position: relative;
		top: 0;
		left: 0;
		-webkit-writing-mode: inherit;
		-ms-writing-mode: inherit;
		writing-mode: inherit;
		padding: 0 0 0 25px;
		min-height: auto;
		min-height: inherit
	}

	.mtitle3:before {
		width: 20px;
		height: 1px;
		top: 50%;
		left: 0
	}

	.mtitle3 .ja {
		font-size: 1.4rem
	}

	.mtitle3 .eng {
		font-size: 1.8rem
	}
}

.mtitle_line {
	font-size: 1.8rem;
	padding-bottom: 15px;
	position: relative;
	font-weight: 600;
	margin-bottom: 20px;
	color: #6be567
}

.mtitle_line:after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 10px;
	content: "";
	background-image: repeating-linear-gradient(-45deg, #80e97d, #80e97d 1px, transparent 2px, transparent 5px);
	background-size: 7px 7px;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	opacity: 0.5
}

@media all and (max-width: 639px) {
	.mtitle_line {
		font-size: 1.4rem
	}
}

.mtitle4 {
	font-weight: 600;
	text-align: center;
	font-size: 1.8rem;
	line-height: 1.5;
	letter-spacing: 0.1rem;
	color: #623b1c;
	margin-bottom: -10px
}

.mtitle4 span {
	position: relative;
	display: inline-block;
	z-index: 3;
	min-width: 10%
}

.mtitle4 span:before,
.mtitle4 span:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 1px;
	height: 2rem;
	background-color: #58c754
}

.mtitle4 span:before {
	left: -11px;
	-webkit-transform: rotate(-20deg);
	transform: rotate(-20deg)
}

.mtitle4 span:after {
	right: -11px;
	-webkit-transform: rotate(20deg);
	transform: rotate(20deg)
}

.mtitle4.white span:before,
.mtitle4.white span:after {
	background-color: #ffdf2c
}

@media all and (max-width: 639px) {
	.mtitle4 {
		font-size: 1.4rem
	}
}

@media all and (max-width: 320px) {
	.mtitle4 span:before {
		left: -3px
	}

	.mtitle4 span:after {
		right: -3px
	}
}

.mtitle_sub {
	padding-left: 0.5em;
	font-weight: 500;
	position: relative;
	border-left: 6px solid #58c754;
	margin: 8px 0 15px;
	font-size: 1.1em;
	line-height: 1.4;
	text-align: left
}

.mtitle_sub .hissu {
	color: #fff;
	background: #7ed47a;
	padding: 5px 8px;
	margin-right: 5px;
	font-size: 11px;
	border-radius: 20px
}

.mtitle_sub:before {
	position: absolute;
	left: -6px;
	bottom: 0;
	content: "";
	width: 6px;
	height: 50%;
	background-color: #80e97d
}

.mtitle_box {
	background: rgba(128, 233, 125, 0.7);
	color: #fff;
	font-size: 2.3rem;
	position: relative;
	padding: 10px;
	margin-bottom: 25px;
	font-weight: 500
}

.mtitle_box.eng {
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400
}

.mtitle_box span {
	font-weight: normal;
	font-size: 14px;
	padding-left: 10px
}

@media all and (max-width: 639px) {
	.mtitle_box {
		font-size: 1.5rem
	}
}

.mtitle_box2 {
	background: #58c754;
	font-size: 2.2rem;
	color: #fff;
	position: relative;
	font-weight: 600;
	overflow: hidden;
	letter-spacing: 0.1rem;
	-webkit-box-shadow: 0 8px 8px rgba(88, 199, 84, 0.2);
	box-shadow: 0 8px 8px rgba(88, 199, 84, 0.2);
	padding: 15px 10px 15px 20px;
	margin-bottom: 25px
}

.mtitle_box2 .small-cap {
	font-weight: normal;
	font-size: 14px
}

.mtitle_box2:before {
	background-color: #fff;
	content: "";
	display: block;
	-webkit-transform: rotate(60deg);
	transform: rotate(60deg);
	position: absolute;
	bottom: -10px;
	right: -150px;
	width: 300px;
	height: 280px
}

@media all and (max-width: 639px) {
	.mtitle_box2 {
		font-size: 15px;
		line-height: 1.5;
		padding: 10px 10px 10px 15px;
		padding-right: 40px
	}

	.mtitle_box2 span {
		font-size: 12px
	}

	.mtitle_box2:before {
		width: 215px;
		right: -170px
	}
}

.mtext0 {
	font-size: 2rem;
	line-height: 1.6
}

.mtext0 .eng {
	display: block;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	color: #623b1c;
	line-height: 1.4;
	font-size: 1.5rem
}

@media all and (max-width: 639px) {
	.mtext0 {
		font-size: 1.7rem;
		line-height: 2
	}
}

.mtext1 {
	font-size: 2.2rem;
	line-height: 1.6
}

.mtext1 .eng {
	display: block;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	color: #623b1c;
	line-height: 1.4;
	font-size: 1.5rem
}

@media all and (max-width: 639px) {
	.mtext1 {
		font-size: 1.7rem;
		line-height: 2
	}
}

.mtext2 {
	font-size: 3rem;
	font-weight: 600;
	letter-spacing: 0.1rem;
	line-height: 1.6
}

@media all and (max-width: 639px) {
	.mtext2 {
		font-size: 1.8rem
	}
}

.mtitle_category {
	margin-bottom: 15px;
	font-size: 1.8rem;
	font-weight: normal
}

.mtitle_category:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0ca";
	font-weight: 900;
	margin-right: 5px;
	color: #58c754
}

.btn-instagram a {
	display: block;
	width: 300px;
	text-align: center;
	margin: 25px auto 0;
	padding: 15px 10px;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	background: #f09f2e;
	font-size: 1.8rem;
	color: #fff;
	-webkit-transition: background 0.2s ease-in;
	transition: background 0.2s ease-in
}

.btn-instagram a i {
	display: inline-block;
	margin-right: 10px;
	padding-right: 10px;
	border-right: 0.9px solid #fff
}

.btn-instagram a:hover {
	background: #58c754
}

@media all and (max-width: 639px) {
	.btn-instagram a {
		width: 80%;
		font-size: 1.4rem
	}
}

.btn01 a {
	background: #fefefe;
	text-align: center;
	width: 300px;
	margin: 15px auto;
	color: #58c754;
	display: block;
	padding: 8px 5px;
	font-weight: 600;
	border: 1px solid #58c754;
	border-radius: 35px
}

.btn01 a:hover {
	background: #58c754;
	color: #fefefe
}

.btn01.mail {
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%
}

.btn01.mail a {
	background: #ffdf2c;
	margin: 15px auto 25px
}

.btn01.mail a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0e0";
	font-weight: 900;
	margin-right: 5px
}

@media all and (max-width: 639px) {
	.btn01 a {
		width: 95%
	}
}

.btn02 {
	width: 300px;
	margin: 20px auto 20px
}

.btn02 a {
	display: block;
	position: relative;
	padding: 15px 0;
	border: 0.9px solid #58c754;
	line-height: 24px;
	letter-spacing: 0.1rem;
	font-size: 1.4rem;
	font-weight: 600;
	text-align: center;
	color: #58c754;
	background: #f1f1f1
}

.btn02 a i {
	display: block;
	position: absolute;
	top: 50%;
	right: -10px;
	width: 50px;
	height: 1px;
	background-color: #58c754;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease
}

.btn02 a:hover i {
	width: 34px
}

@media all and (max-width: 639px) {
	.btn02 {
		width: 90%
	}

	.btn02 a {
		font-size: 1.2rem
	}
}

.news {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 10px;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	letter-spacing: 0;
	line-height: 1.7
}

.news dt {
	width: 7em;
	padding: 3px 5px;
	background: #f0f0f0;
	text-align: center;
	color: #623b1c
}

.news dd {
	padding: 5px;
	background: #fff;
	width: calc(100% - 8.5em);
	margin-left: 8px
}

.news dt:not(:last-child),
.news dd:not(:last-child) {
	margin-bottom: 7px
}

.news-bl {
	overflow: hidden
}

.news-bl dt {
	float: left;
	width: 8em;
	padding: 5px;
	line-height: 1.3;
	color: #58c754;
	text-align: center;
	border: 1px solid #58c754;
	border-radius: 30px;
	background: rgba(88, 199, 84, 0.1);
	font-size: 1.3rem
}

@media all and (max-width: 639px) {
	.news-bl dt {
		font-size: 13px
	}
}

.news-bl dd {
	padding: 0 0 12px 9.2em;
	line-height: 1.6;
	border-bottom: 1px dotted #dddddd;
	margin: 0 0 10px
}

.news-bl dd a {
	color: #333;
	background-image: -webkit-gradient(linear, left top, right top, from(#58c754), to(#333));
	background-image: linear-gradient(to right, #58c754, #333);
	padding-bottom: 0.25em;
	background-position: 100% 100%;
	background-size: 0% 1px;
	background-repeat: no-repeat;
	-webkit-transition: background-size 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: background-size 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
	font-weight: 500
}

.news-bl dd a:hover {
	background-position: 0 100%;
	background-size: 100% 1px
}

.news-bl dd:last-child {
	margin: 0;
	border-bottom: none
}

@media all and (max-width: 639px) {
	.news-bl dt {
		float: none
	}

	.news-bl dd {
		padding: 8px 5px
	}
}

.profile-dl dt,
.profile-dl dd {
	letter-spacing: 0
}

.profile-dl dt {
	color: #58c754
}

.profile-dl dd {
	margin: 4px 0 12px
}

@media all and (max-width: 639px) {
	.profile-dl {
		font-size: 13px
	}
}

.news-bl2 li {
	border-top: 1px solid rgba(88, 199, 84, 0.5)
}

.news-bl2 li:last-child {
	border-bottom: 1px solid rgba(88, 199, 84, 0.5)
}

.news-bl2 li a {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 25px 40px 25px 20px;
	color: #58c754;
	font-weight: 600;
	background: #fff
}

.news-bl2 li a:after {
	position: absolute;
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	top: 50%;
	right: 20px;
	border-top: 1px solid #80e97d;
	border-right: 1px solid #80e97d;
	-webkit-transform: rotate(45deg) translateY(-50%);
	transform: rotate(45deg) translateY(-50%);
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out
}

.news-bl2 li a:hover:after {
	right: 10px
}

@media all and (max-width: 900px) {
	.news-bl2 li a {
		padding: 25px 40px 25px 10px
	}
}

.news-bl2 .day {
	font-weight: 500;
	font-size: 15px;
	margin: 0 30px 0 0;
	font-family: 'Oswald', sans-serif;
	font-weight: 400
}

.link-news {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	margin-top: 50px
}

@media all and (max-width: 900px) {
	.link-news {
		margin-top: 20px
	}
}

.link-news .link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-weight: 500;
	font-size: 16px;
	line-height: 1;
	color: #58c754;
	padding-right: 30px
}

.link-news:before {
	position: absolute;
	content: "";
	width: 20px;
	height: 20px;
	border: 1px solid #58c754;
	border-radius: 50%;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out
}

.link-news:after {
	position: absolute;
	content: "";
	width: 5px;
	height: 5px;
	top: 50%;
	right: 10px;
	border-top: 1px solid #58c754;
	border-right: 1px solid #58c754;
	-webkit-transform: rotate(45deg) translateY(-50%);
	transform: rotate(45deg) translateY(-50%);
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out
}

.link-news:hover:before {
	background: #80e97d
}

.link-news:hover:after {
	border-color: #fefefe !important
}

.page-title {
	position: relative;
	z-index: 1;
	background: url(../img/page-title.jpg) no-repeat center/cover;
	overflow: hidden
}

.page-title.type01 {
	background: url(../img/page-title2.jpg) no-repeat center/cover
}

.page-title.type02 {
	background: url(../img/page-title3.jpg) no-repeat center/cover
}

.page-title.type03 {
	background: url(../img/page-title4.jpg) no-repeat center/cover
}

.page-title.type04 {
	background: url(../img/page-title5.jpg) no-repeat center/cover
}

.page-title:before {
	position: absolute;
	content: "";
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	background-image: -webkit-gradient(linear, left bottom, right top, from(#333), to(#80e97d));
	background-image: linear-gradient(to right top, #333, #80e97d);
	opacity: 0.6
}

.page-title .inner {
	margin: 0 auto;
	padding: 170px 0 80px;
	max-width: 1200px;
	overflow: hidden
}

.page-title .inner .page-lead {
	color: #fefefe;
	text-align: center;
	font-size: 2rem;
	position: relative;
	-webkit-transform: translateY(15px);
	transform: translateY(15px);
	letter-spacing: 0.2em;
	font-weight: 500
}

.page-title .inner .page-lead:before {
	position: absolute;
	content: "";
	width: 1px;
	height: 70px;
	top: -70px;
	left: 50%;
	background: #fff
}

@media all and (max-width: 639px) {
	.page-title .inner .page-lead:before {
		height: 35px;
		top: -35px
	}
}

.page-title .inner .page-lead .eng {
	display: block;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	font-size: 5rem;
	color: #fff
}

@media all and (max-width: 639px) {
	.page-title .inner .page-lead {
		font-size: 1.5rem;
		-webkit-transform: translateY(10px);
		transform: translateY(10px)
	}

	.page-title .inner .page-lead .eng {
		font-size: 2.5rem
	}
}

@media all and (max-width: 900px) {
	.page-title {
		margin-top: 20px
	}

	.page-title .inner {
		width: 100%;
		padding: 100px 0 50px
	}
}

.bg-01 {
	background: url(../img/bg-01.jpg) no-repeat center/cover;
	padding: 40px 0
}

.bg-02 {
	background: url(../img/bg-02.jpg) no-repeat center/cover
}

.bg-03 {
	background: #777
}

.bg-04 {
	margin-bottom: 40px;
	margin-top: 130px;
	position: relative
}

.bg-04:before {
	position: absolute;
	content: "";
	width: calc(100% - 80px);
	height: 100%;
	top: 0;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	background: #85d682;
	background-image: url(../img/deco02.png), url(../img/deco03.png);
	background-repeat: no-repeat, no-repeat;
	background-position: 0% 0%, 100% 100%;
	z-index: -1;
	opacity: 0.3
}

@media all and (max-width: 900px) {
	.bg-04:before {
		width: calc(100% - 10px)
	}
}

@media all and (max-width: 900px) {
	.bg-04 {
		margin-top: 80px
	}
}

.bg-wood {
	position: relative
}

.bg-wood:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: url(../img/bg-wood.png);
	opacity: 0.6
}

.bg-texture {
	position: relative
}

.bg-texture:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: url(../img/texture.png);
	opacity: 0.4
}

.bg-pattern {
	position: relative
}

.bg-pattern:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: url(../img/patter01.png);
	opacity: 0.1
}

.bg-pattern02 {
	position: relative;
	padding: 30px 0
}

.bg-pattern02:before {
	position: absolute;
	content: "";
	width: 15%;
	height: 100%;
	top: 0;
	left: 0;
	background: url(../img/pattern02.png) no-repeat left top/contain;
	opacity: 0.3
}

@media all and (max-width: 639px) {
	.bg-pattern02:before {
		top: auto;
		bottom: 0;
		background-position: left bottom
	}
}

.bg-base {
	position: relative
}

.bg-base:before {
	position: absolute;
	content: "";
	left: 50%;
	top: 0;
	width: 100%;
	height: 100%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background: rgba(128, 233, 125, 0.1)
}

@media all and (max-width: 1025px) {
	.bg-base:before {
		width: 100%
	}
}

.bg-base .inner {
	position: relative;
	z-index: 3
}

.bg-base.type1 {
	background: transparent;
	position: relative
}

.bg-base.type1:before {
	background: #58c754;
	opacity: 0.3
}

.bg-base.type2 .inner {
	position: relative;
	z-index: 3
}

.bg-base.type2:before {
	background: url(../img/bg-wood.png);
	opacity: 0.6
}

.bg-base.type3:before {
	position: absolute;
	content: "";
	left: auto;
	top: auto;
	left: 0;
	bottom: 0;
	width: 90%;
	height: 85%;
	z-index: -1;
	-webkit-transform: none;
	transform: none;
	background: rgba(128, 233, 125, 0.1);
	border-radius: 0 30px 30px 0
}

.bg-base.type4 {
	background: transparent;
	margin-bottom: 40px;
	position: relative
}

.bg-base.type4:before {
	position: absolute;
	content: "";
	width: calc(100% - 80px);
	height: 100%;
	top: 0;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	background: #85d682;
	z-index: -1;
	opacity: 0.3
}

@media all and (max-width: 639px) {
	.bg-base.type4:before {
		width: calc(100% - 10px)
	}
}

.bg-base.type5 {
	background: transparent;
	margin-bottom: 40px;
	position: relative
}

.bg-base.type5:before {
	position: absolute;
	content: "";
	width: calc(100% - 80px);
	height: 100%;
	top: 0;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	background: #f4b967;
	z-index: -1;
	opacity: 0.3
}

@media all and (max-width: 639px) {
	.bg-base.type5:before {
		width: calc(100% - 10px)
	}
}

.bg-brown {
	background: #392a1e;
	color: #fff
}

.bg-green {
	background: rgba(128, 233, 125, 0.3)
}

.bg-gray {
	position: relative;
	background: rgba(240, 241, 237, 0.5)
}

.bg-gray.bg-half {
	background: transparent;
	background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(50%, transparent), color-stop(50.1%, #f0f1ed), to(#f0f1ed));
	background-image: linear-gradient(to bottom, transparent 0%, transparent 50%, #f0f1ed 50.1%, #f0f1ed 100%)
}

.bg-gray2 {
	position: relative;
	margin-bottom: 60px
}

.bg-gray2:before {
	position: absolute;
	content: "";
	left: 0;
	bottom: 0;
	width: 90%;
	height: 85%;
	z-index: -1;
	background: #f0f1ed
}

.bg-gray2.type1:before {
	height: 100%
}

.bg-beige2 {
	position: relative;
	margin-bottom: 40px
}

.bg-beige2:before {
	position: absolute;
	content: "";
	right: 0;
	top: 0;
	width: 75%;
	height: 100%;
	z-index: -1;
	opacity: 0.8;
	background: #fdfed6
}

@media all and (max-width: 639px) {
	.bg-beige2:before {
		width: 85%
	}
}

.bg-999 {
	background: #888
}

.bg-blue {
	background: #d7ebed
}

.bg-blue.bg-half {
	background: transparent;
	background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(50%, transparent), color-stop(50.1%, #abf0a9), to(#abf0a9));
	background-image: linear-gradient(to bottom, transparent 0%, transparent 50%, #abf0a9 50.1%, #abf0a9 100%)
}

.bg-beige {
	background: -webkit-gradient(linear, left top, right top, from(rgba(253, 254, 214, 0.7)), to(rgba(253, 254, 214, 0.4)));
	background: linear-gradient(to right, rgba(253, 254, 214, 0.7), rgba(253, 254, 214, 0.4))
}

.bg-base2 {
	background: rgba(98, 59, 28, 0.5)
}

.bg-base3 {
	background: rgba(88, 199, 84, 0.2)
}

.bg-base4 {
	background: #fff
}

.tbl {
	width: 100%
}

.tbl th,
.tbl td {
	padding: 15px;
	vertical-align: middle;
	border: 1px solid #ddd
}

.tbl th {
	color: #333;
	background: #f0f1ed;
	width: 25%
}

.tbl th span {
	font-size: 1.4rem
}

.tbl .cell01 {
	width: 25%
}

@media all and (max-width: 639px) {
	.tbl th {
		width: 35%;
		text-align: left
	}

	.tbl th,
	.tbl td {
		padding: 10px
	}
}

.tbl_new {
	margin: 0 auto;
	width: 100%;
	font-family: "YakuHanJP", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.tbl_new tr th,
.tbl_new tr td {
	vertical-align: middle;
	padding: 15px 10px;
	font-size: 1.4rem
}

@media all and (max-width: 639px) {

	.tbl_new tr th,
	.tbl_new tr td {
		font-size: 13px
	}
}

.tbl_new tr th {
	font-weight: 600;
	width: 25%;
	color: #333;
	text-align: left;
	padding-left: 30px;
	letter-spacing: 0
}

@media all and (max-width: 639px) {
	.tbl_new tr th {
		width: 25%;
		padding-left: 10px
	}
}

.tbl_new tr:nth-child(odd) th,
.tbl_new tr:nth-child(odd) td {
	background: rgba(128, 233, 125, 0.2)
}

.tbl-border {
	width: 100%;
	font-family: "YakuHanJP", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.tbl-border th,
.tbl-border td {
	padding: 15px;
	border-bottom: 1px solid #ddd;
	vertical-align: middle;
	font-size: 1.5rem
}

@media all and (max-width: 639px) {

	.tbl-border th,
	.tbl-border td {
		padding: 10px;
		font-size: 1.2rem
	}
}

.tbl-border th {
	width: 25%;
	color: #3daf39;
	text-align: left;
	border-bottom-color: #58c754;
	font-weight: 600
}

.tbl-border th.th-1 {
	width: 45%
}

@media all and (max-width: 639px) {
	.tbl-border th {
		width: 30%
	}
}

.price {
	font-family: "Lato", sans-serif;
	font-weight: 600;
	font-size: 2rem;
	color: #f09f2e
}

@media all and (max-width: 639px) {
	.price {
		font-size: 1.4rem
	}
}

.company {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 5px
}

.company th,
.company td {
	padding: 10px 10px;
	vertical-align: middle
}

.company th {
	text-align: left;
	width: 25%;
	position: relative;
	background: #80e97d;
	color: #fff;
	font-weight: 600
}

.company th::after {
	left: 100%;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: #f9f9f9;
	border-width: 10px;
	border-left-color: #80e97d;
	margin-top: -10px
}

.company td {
	background: #f9f9f9;
	padding-left: 20px
}

.tbl0 {
	width: 100%
}

.tbl0 th,
.tbl0 td {
	padding: 3px 5px;
	border: 0
}

.tbl0 th {
	padding-left: 0;
	font-weight: normal;
	background: none;
	width: 25%;
	color: #111
}

.tbl0 th:after,
.tbl0 th:before {
	display: none
}

@media all and (max-width: 639px) {
	.tbl0 th {
		width: 40%
	}
}

.ggmap {
	position: relative;
	padding-bottom: 46.25%;
	height: 0;
	overflow: hidden
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

.ggmap.youtube {
	padding-bottom: 56.25%
}

@media all and (max-width: 639px) {
	.ggmap {
		padding-bottom: 60%
	}
}

.list_common li {
	padding-bottom: 5px;
	padding-left: 1rem;
	margin-bottom: 5px;
	border-bottom: 1px dotted #cccccc
}

.list_common li:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none
}

.list_policy li {
	font-family: "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-size: 2.5rem;
	padding: 15px 5px 15px 40px;
	font-weight: 600;
	position: relative
}

.list_policy li:not(:last-child) {
	margin-bottom: 5px;
	border-bottom: 1px solid #eee
}

.list_policy li:before {
	position: absolute;
	content: "";
	width: 25px;
	height: 1px;
	top: 50%;
	left: 0;
	background: #80e97d
}

@media all and (max-width: 900px) {
	.list_policy li {
		font-size: 2rem
	}
}

@media all and (max-width: 639px) {
	.list_policy {
		padding: 15px
	}

	.list_policy li {
		font-size: 1.4rem
	}
}

.list_check.type1 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.list_check.type1 li {
	padding: 10px 10px 10px 40px;
	width: 48%
}

.list_check.type1 li:nth-child(2n) {
	margin-left: 4%
}

@media all and (max-width: 639px) {
	.list_check.type1 li {
		width: 95%;
		margin: 0 auto 5px
	}

	.list_check.type1 li:nth-child(2n) {
		margin-left: auto
	}
}

.list_check li {
	padding: 10px 10px 10px 35px;
	font-weight: 600;
	position: relative;
	margin-bottom: 10px;
	background: rgba(128, 233, 125, 0.1);
	border-radius: 10px
}

.list_check li span {
	font-weight: normal;
	font-size: 0.9em;
	display: block;
	color: #623b1c;
	margin-top: 10px
}

.list_check li:before {
	position: absolute;
	content: "";
	width: 15px;
	height: 15px;
	top: 50%;
	left: 10px;
	background: #58c754;
	border-radius: 50%;
	margin-top: -7px
}

@media all and (max-width: 639px) {
	.list_check li {
		width: 98%;
		margin: 0 auto 10px;
		font-size: 1.3rem
	}
}

.list_check2 {
	margin-bottom: 10px
}

.list_check2 li {
	padding: 4px 8px;
	font-weight: 600;
	margin-bottom: 4px;
	border-bottom: 2px solid #ddd
}

.list_check2 li:before {
	font-family: "Font Awesome 5 Free";
	content: "\f00c";
	font-weight: 900;
	margin-right: 8px;
	color: #80e97d
}

.list_check2.type01>li {
	padding: 10px;
	border-bottom: none;
	font-size: 1.8rem
}

@media all and (max-width: 639px) {
	.list_check2.type01>li {
		font-size: 1.3rem
	}
}

.list-inline2 {
	text-align: center
}

.list-inline2 li {
	display: inline-block;
	padding: 4px 15px;
	background: #fefefe;
	border: 1px solid #008dbd;
	font-weight: 600;
	border-radius: 30px
}

.list-inline2 li:not(:last-child) {
	margin-right: 8px
}

.list-inline.type1 {
	padding: 15px;
	border: 0.9px solid #fff;
	margin-bottom: 20px
}

.list-inline.type1 li:not(:last-of-type):after {
	color: #fff
}

.list-inline li {
	display: inline-block;
	padding: 3px
}

.list-inline li:not(:last-of-type):after {
	content: "/";
	margin: 0 5px;
	color: #58c754;
	font-weight: normal
}

.spa-flow {
	counter-reset: number;
	list-style: none;
	padding: 10px;
	background: rgba(128, 233, 125, 0.1)
}

.spa-flow.type1 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

.spa-flow.type1>li {
	width: 48%
}

.spa-flow>li {
	position: relative;
	padding: 5px 8px 8px 3.5em;
	letter-spacing: 0.1rem
}

.spa-flow>li:not(:last-child) {
	margin-bottom: 7px
}

.spa-flow>li:before {
	counter-increment: number;
	position: absolute;
	left: 0;
	top: 0;
	content: counter(number);
	background: rgba(128, 233, 125, 0.6);
	display: block;
	width: 1.8em;
	height: 1.8em;
	text-align: center;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 2.2rem;
	color: #58c754;
	line-height: 1.8em;
	border-radius: 100%
}

@media all and (max-width: 639px) {
	.spa-flow>li:before {
		width: 1.5em;
		height: 1.5em;
		line-height: 1.5em;
		font-size: 1.6rem
	}
}

.spa-flow>li .next {
	display: block
}

.spa-flow>li .next:before {
	font-family: "Font Awesome 5 Free";
	content: "\f101";
	font-weight: 900;
	margin-right: 5px;
	color: #80e97d
}

.ol-list {
	counter-reset: number;
	list-style: none;
	padding: 5px
}

.ol-list.type1 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.ol-list.type1>li {
	width: 48%
}

.ol-list.type1>li:nth-child(2n) {
	margin-left: 4%
}

.ol-list li {
	line-height: 2;
	color: #333;
	margin-bottom: 10px;
	padding-bottom: 5px;
	font-weight: 500;
	font-size: 1.8rem;
	border-bottom: 2px solid #80e97d
}

.ol-list li .small {
	font-size: 1.5rem;
	font-weight: 400;
	display: block
}

.ol-list li .next {
	color: #832d3a;
	display: inline-block
}

.ol-list li .next:before {
	font-family: "Font Awesome 5 Free";
	content: "\f101";
	font-weight: 900;
	margin-right: 5px;
	color: #80e97d
}

.ol-list li:before {
	counter-increment: number;
	content: counter(number);
	display: inline-block;
	text-align: center;
	color: #58c754;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 3rem;
	line-height: 1.3;
	margin-right: 10px;
	border-radius: 100%
}

@media all and (max-width: 639px) {
	.ol-list li {
		font-size: 1.3rem
	}

	.ol-list li span {
		font-size: 0.9em
	}

	.ol-list li:before {
		font-size: 1.8rem
	}
}

.list_disc li {
	padding: 3px 0 3px 20px;
	position: relative;
	font-family: "YakuHanJP", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.4rem
}

.list_disc li:not(:last-of-type) {
	margin-bottom: 5px
}

.list_disc li:before {
	position: absolute;
	content: "●";
	top: 8px;
	left: 0;
	font-size: 10px;
	color: #80e97d
}

@media all and (max-width: 639px) {
	.list_disc li {
		font-size: 13px
	}
}

.list-btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.list-btn li {
	width: 32%;
	margin: 0 calc(1.33% + (1.33% / 2)) 10px 0
}

.list-btn li a {
	display: block;
	background: #fdfed6;
	color: #623b1c;
	font-weight: 600;
	padding: 10px 3px;
	text-align: center;
	width: 100%;
	height: 100%;
	line-height: 1.5;
	font-size: 1.5rem;
	letter-spacing: 0
}

.list-btn li:nth-child(3n) {
	margin-right: 0
}

@media all and (max-width: 639px) {
	.list-btn li {
		width: 90%;
		margin: 0 auto 10px
	}

	.list-btn li a {
		font-size: 1.2rem
	}

	.list-btn li:nth-child(3n) {
		margin-right: auto
	}
}

.list-btn.type1 {
	max-width: 1000px;
	margin: 0 auto 20px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}

.list-btn.type1 li a {
	background: #f1f1f1;
	border: 1px solid #3daf39;
	color: #3daf39
}

.list-btn.type1 li a:hover {
	background: #3daf39;
	color: #fefefe
}

#main .blog-wrap>li {
	width: 32%
}

@media all and (max-width: 1025px) {
	#main .blog-wrap>li {
		width: 49%;
		margin: 0 0.5% 20px 0.5%
	}
}

@media all and (max-width: 639px) {
	#main .blog-wrap>li {
		width: 90%;
		margin: 0 auto 10px
	}
}

.blog-wrap,
.blog-wrap2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.blog-wrap *,
.blog-wrap2 * {
	-webkit-transition: 0.3s;
	transition: 0.3s
}

.blog-wrap>li,
.blog-wrap2>li {
	width: 24%;
	margin: 0 0.5% 20px 0.5%;
	padding: 15px;
	background: #fefefe;
	position: relative;
	border: 1px solid #58c754
}

@media all and (max-width: 1025px) {

	.blog-wrap>li,
	.blog-wrap2>li {
		width: 49%
	}
}

.blog-wrap>li>a,
.blog-wrap2>li>a {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 10
}

.blog-wrap>li>a:hover~.blog-img img,
.blog-wrap2>li>a:hover~.blog-img img {
	opacity: 1;
	-webkit-transform: scale(1.2);
	transform: scale(1.2)
}

@media all and (max-width: 639px) {

	.blog-wrap>li,
	.blog-wrap2>li {
		width: 90%;
		margin: 0 auto 10px
	}
}

.blog-img {
	width: 100%;
	height: 200px;
	overflow: hidden;
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}

.blog-img img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
	font-family: "object-fit: cover;"
}

.blog-img:hover img {
	opacity: 1 !important;
	-webkit-transform: scale(1.2);
	transform: scale(1.2)
}

.blog-detail {
	padding-top: 10px
}

.blog-detail-upper {
	position: relative;
	z-index: 2;
	margin: -31px 0 0;
	color: #fff;
	font-size: 12px
}

.blog-category {
	display: inline-block;
	padding: 5px;
	line-height: 1.3;
	text-align: center;
	background: #111
}

.blog-page-detail {
	margin-bottom: 15px
}

.blog-date {
	border: 1px solid #ccc;
	width: 100px;
	padding: 5px;
	line-height: 1.3;
	text-align: center;
	display: inline-block;
	color: #aaa;
	font-size: 12px
}

.blog-date2 {
	color: #379c33;
	font-size: 0.9em;
	margin-bottom: 5px;
	margin-right: 5px
}

.blog-date2:before {
	font-family: "Font Awesome 5 Free";
	content: "\f017";
	font-weight: 900;
	margin-right: 5px
}

.blog-title {
	font-weight: 600;
	line-height: 1.3;
	margin: 6px 0
}

.blog-txt {
	line-height: 1.5;
	padding: 8px
}

@media all and (max-width: 639px) {
	.blog-txt {
		font-size: 12px
	}
}

.pages {
	text-align: center;
	margin-top: 30px
}

.pages .page_next,
.pages .page_prev {
	display: inline-block;
	margin: 0 20px
}

.pages .page_next a,
.pages .page_prev a {
	color: #58c754;
	padding: 4px 5px;
	background: #fff;
	font-size: 12px
}

.category_nav {
	border: 1px solid #dddddd
}

.category_nav li a {
	display: block;
	padding: 15px;
	border-bottom: 1px dotted #dddddd;
	background-color: #ffffff
}

.category_nav li a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0a9";
	font-weight: 900;
	margin-right: 5px
}

.category_nav li a:hover {
	background: #f0f1ed
}

.category_nav li:last-child a {
	border-bottom: none
}

.cut {
	overflow: hidden;
	zoom: 1
}

.w300 {
	width: 300px
}

.spbr {
	display: none
}

.color1 {
	color: #58c754
}

.color2 {
	color: #80e97d
}

.color3 {
	color: #832d3a
}

.relative {
	position: relative
}

.num {
	font-weight: 600
}

.num a {
	color: #58c754;
	font-size: 2.8rem;
	text-align: center;
	margin-left: 5px
}

@media all and (max-width: 639px) {
	.num a {
		font-size: 2rem
	}
}

.num a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f879";
	font-weight: 900;
	margin-right: 5px
}

.num a:hover {
	color: #f09f2e
}

.telbox {
	max-width: 600px;
	margin: 0 auto 20px;
	padding: 20px;
	background: #333;
	text-align: center
}

.telbox .inner {
	background: #fff;
	padding: 10px
}

.txt-link {
	font-weight: 600;
	text-decoration: underline;
	color: #3daf39
}

.txt-link:hover {
	text-decoration: none
}

.telbnr {
	max-width: 500px;
	margin: 0 auto 30px;
	padding-top: 30px
}

.telbnr li {
	border: 3px solid #58c754;
	padding: 10px 10px;
	text-align: center;
	border-radius: 50px
}

.telbnr li a {
	display: block;
	font-size: 2.4rem;
	font-weight: 600;
	color: #623b1c
}

.telbnr li a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f879";
	font-weight: 900;
	margin-right: 5px
}

.telbnr li a:hover {
	color: #58c754
}

.telbnr li:last-of-type {
	margin-left: 4%
}

@media all and (max-width: 639px) {
	.telbnr {
		max-width: 90%
	}

	.telbnr li {
		width: 100%;
		margin: 0 auto 30px
	}

	.telbnr li:last-of-type {
		margin-left: auto
	}

	.telbnr li a {
		font-size: 2rem
	}
}

.mailbnr {
	max-width: 500px;
	margin: 0 auto 30px;
	padding-top: 30px
}

.mailbnr li {
	border: 3px solid #58c754;
	padding: 10px 10px;
	text-align: center;
	border-radius: 50px
}

.mailbnr li a {
	display: block;
	font-size: 2.4rem;
	font-weight: 600;
	color: #623b1c
}

.mailbnr li a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0e0";
	font-weight: 900;
	margin-right: 5px
}

.mailbnr li a:hover {
	color: #58c754
}

.mailbnr li:last-of-type {
	margin-left: 4%
}

@media all and (max-width: 639px) {
	.mailbnr {
		max-width: 90%
	}

	.mailbnr li {
		width: 100%;
		margin: 0 auto 30px
	}

	.mailbnr li:last-of-type {
		margin-left: auto
	}

	.mailbnr li a {
		font-size: 2rem
	}
}

.telbnr-ttl {
	font-weight: 600;
	font-size: 1.8rem;
	color: #623b1c;
	margin-top: -30px
}

.telbnr-ttl span {
	background: #fdfed6;
	padding: 0 20px
}

@media all and (max-width: 639px) {
	.telbnr-ttl {
		font-size: 1.5rem
	}
}

.breadcrumb {
	max-width: 1200px;
	margin: 20px auto 20px;
	font-size: 1.2rem;
	text-align: center
}

.breadcrumb li {
	display: inline;
	color: #aaa
}

.breadcrumb li a {
	color: #58c754
}

.breadcrumb li+li:before {
	margin: 0 10px;
	content: "/"
}

@media all and (max-width: 639px) {
	.breadcrumb {
		font-size: 12px
	}
}

.form {
	margin: 0 auto;
	width: 90%
}

.form dl dt {
	float: left;
	width: 280px;
	padding-top: 20px;
	font-weight: 500
}

.form dl dt span,
.form .form-pattern-2 dl dt:not(.pattern-exclusion) span.required::before {
	color: #fff;
	background: #58c754;
	padding: 5px 8px;
	margin-right: 5px;
	font-size: 11px;
	border-radius: 20px;
	position: relative;
	top: -2px
}

.form dl dt span.nini {
	background: rgba(102, 102, 102, 0.5);
	color: #fff
}

.form dl dd {
	padding-left: 280px;
	padding-bottom: 20px;
	padding-top: 23px;
	line-height: 1.5;
	border-bottom: 1px dotted #cccccc
}

.form dl dd:last-child {
	border-bottom: none
}

.form .textarea,
.form textarea {
	border: 0;
	padding: 15px;
	width: 100%;
	border-radius: 0;
	-webkit-appearance: none;
	background: #f0f0f0
}

.form .textarea02 {
	width: 48.5%;
	margin-right: 3%
}

.form .textarea02:last-child {
	margin-right: 0
}

.form .textarea03 {
	width: 25%;
	margin-right: 1%
}

.form .form-contents {
	padding: 0;
}

.form input {
	vertical-align: baseline;
}

.form .form-contents dl {
	margin-bottom: 0;
}

.form .form-contents dd:not(.pattern-exclusion) input.textarea {
	height: 40px;
}

.form .form-contents dd:not(.pattern-exclusion) input.textarea03 {
	width: 30%;
}

.form button,
.form .form-pattern-2 .submit-btn {
	cursor: pointer;
	display: block;
	color: #fff;
	text-align: center;
	-webkit-transition: all 0.2s ease-in-out 0s;
	transition: all 0.2s ease-in-out 0s;
	border: 1px solid #58c754;
	font-weight: 600;
	padding: 12px 5px;
	margin: 0 auto;
	width: 250px;
	background: #58c754;
	border-radius: 25px
}

.form button:hover,
.form .form-pattern-2 .submit-btn:hover {
	background: #fff;
	color: #58c754
}

.form .form-pattern-2 .submit-btn::before {
	transition: all .2s ease-in-out 0s;
}

.form .form-pattern-2 .submit-btn:hover::before {
	background: #58c754;
}

.form button:before {
	font-weight: normal;
	font-family: "Font Awesome 5 Free";
	content: "\f0e0";
	font-weight: 900;
	margin-right: 10px
}

.form .select-wrap {
	position: relative;
	overflow: hidden;
	display: inline-block;
	min-width: 192px;
	min-width: 12em;
	background-color: #f0f0f0;
	border: 0;
	color: #333
}

.form .select-wrap select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: relative;
	z-index: 2;
	display: block;
	width: 200%;
	width: -webkit-calc(100% + 5em);
	margin: 0;
	padding: 15px 35px 15px 15px;
	background: transparent;
	border: 0;
	outline: none;
	line-height: 1.5
}

.form .entypo-down-open-mini:before {
	font-family: "Font Awesome 5 Free";
	content: "\f078";
	font-weight: 900;
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 12px;
	right: 0.75rem;
	margin-top: -8px;
	margin-top: -0.5rem;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1;
	color: #58c754;
	font-weight: 700
}

.form label.radio_text {
	cursor: pointer;
	position: relative;
	margin-right: 20px;
	overflow: hidden;
	padding-left: 20px;
	display: inline-block
}

.form label.radio_text:before {
	position: absolute;
	width: 15px;
	height: 15px;
	border: 1px solid #ccc;
	border-radius: 50%;
	left: 0px;
	top: 2px;
	content: "";
	z-index: 3
}

.form label.radio_text:after {
	content: "";
	position: absolute;
	width: 11px;
	height: 11px;
	border-radius: 100%;
	left: 2px;
	top: 4px;
	background-color: #58c754;
	z-index: 1
}

.form label.radio_text input[type="radio"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	position: absolute;
	z-index: 2;
	width: 20px;
	height: 20px;
	left: -23px;
	top: 0px;
	margin: 0px;
	-webkit-box-shadow: 20px -1px #fff;
	box-shadow: 20px -1px #fff
}

.form label.radio_text input[type="radio"]:checked {
	-webkit-box-shadow: none;
	box-shadow: none
}

.form label.radio_text input[type="radio"]:focus {
	opacity: 0.2;
	-webkit-box-shadow: 20px -1px #eeebda;
	box-shadow: 20px -1px #eeebda
}

.form label.checkbox_text {
	cursor: pointer;
	position: relative;
	padding-left: 25px;
	margin: 0 20px 5px 0;
	overflow: hidden;
	display: inline-block
}

.form label.checkbox_text:before {
	content: "";
	position: absolute;
	width: 18px;
	height: 18px;
	left: 0px;
	top: 0;
	border: 1px solid #ccc;
	z-index: 3;
	padding: 1px
}

.form label.checkbox_text:after {
	content: "";
	position: absolute;
	top: 25%;
	left: 5px;
	display: block;
	margin-top: -9px;
	width: 8px;
	height: 12px;
	border-right: 3px solid #58c754;
	border-bottom: 3px solid #58c754;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	z-index: 1
}

@media all and (max-width: 639px) {
	.form label.checkbox_text:after {
		margin-top: -18px
	}
	.form .form-contents dd:not(.pattern-exclusion) input.textarea03 {
		width: 50%;
	}
}

.form label.checkbox_text input[type="checkbox"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	position: absolute;
	left: -40px;
	width: 20px;
	height: 20px;
	display: block;
	-webkit-box-shadow: 41px 0px #fff;
	box-shadow: 41px 0px #fff;
	z-index: 2;
	margin: 0px;
	padding: 0px
}

.form label.checkbox_text input[type="checkbox"]:checked {
	-webkit-box-shadow: none;
	box-shadow: none
}

.form label.checkbox_text input[type="checkbox"]:checked:focus {
	-webkit-box-shadow: 40px 0px #666;
	box-shadow: 40px 0px #666;
	opacity: 0.1
}

.form label.checkbox_text input[type="checkbox"]:focus {
	-webkit-box-shadow: 41px 0px #eee;
	box-shadow: 41px 0px #eee
}

.form input[type="text"],
.form textarea {
	font-size: 16px
}

@media all and (max-width: 639px) {

	.form input[type="text"],
	.form textarea {
		-webkit-transform: scale(0.9);
		transform: scale(0.9);
		margin-left: -5px
	}
}

.fm-txt {
	font-size: 1.4rem;
	background: rgba(255, 255, 255, 0.5);
	padding: 5px
}

.thanks {
	padding: 40px;
	border: 3px solid #fefefe;
	-webkit-box-shadow: 0 0 0 6px rgba(88, 199, 84, 0.2);
	box-shadow: 0 0 0 6px rgba(88, 199, 84, 0.2);
	background: #fefefe;
	max-width: 700px;
	margin: 0 auto;
	border-radius: 20px
}

@media all and (max-width: 639px) {
	.thanks {
		max-width: 90%;
		padding: 30px 20px
	}
}

.shadow {
	-webkit-box-shadow: 0 0 10px rgba(98, 59, 28, 0.1);
	box-shadow: 0 0 10px rgba(98, 59, 28, 0.1)
}

.policy {
	padding: 30px;
	background: rgba(0, 141, 189, 0.1)
}

.policy .policy-box {
	letter-spacing: 0
}

@media all and (max-width: 639px) {
	.policy {
		padding: 20px
	}
}

.mtitle_small {
	position: relative;
	letter-spacing: 0;
	padding-bottom: 4px;
	margin-bottom: 15px;
	color: #80e97d;
	font-weight: 600;
	border-bottom: 1px solid #ccc
}

.mtitle_small .eng {
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400
}

.mtitle_small .genre {
	display: inline-block;
	background: #fff;
	color: #58c754;
	font-size: 1.4rem;
	padding: 0 4px;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	margin-left: auto;
	text-align: right
}

.mtitle_small:before {
	content: "";
	width: 50px;
	height: 1px;
	background-color: #80e97d;
	position: absolute;
	left: 0;
	bottom: -1px
}

@media all and (max-width: 639px) {
	.mtitle_small {
		font-size: 1.4rem;
		line-height: 1.5
	}
}

.mtitle_small2 {
	position: relative;
	margin-bottom: 10px;
	padding-left: 20px
}

.mtitle_small2:before {
	content: "";
	background-color: #58c754;
	width: 10px;
	height: 4px;
	position: absolute;
	top: 0.6em;
	left: 0
}

.mtitle_small3 {
	position: relative;
	margin-bottom: 10px;
	padding: 10px 20px;
	border-bottom: 1px solid #58c754;
	border-top: 1px solid #58c754;
	color: #80e97d;
	font-weight: 600;
	font-family: "YakuHanJP", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.mtitle_small3:before {
	content: "";
	background-color: #58c754;
	width: 10px;
	height: 4px;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}

.gallery_ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-left: -2%
}

@media all and (max-width: 639px) {
	.gallery_ul {
		margin-left: auto;
		margin-right: auto
	}
}

.gallery_ul>li {
	width: 31.33%;
	margin-left: 2%;
	margin-bottom: 4%
}

.gallery_ul>li .photobox-wrap {
	width: 100%;
	height: 240px;
	text-align: center;
	overflow: hidden;
	background: rgba(128, 233, 125, 0.1);
	margin-bottom: 10px
}

.gallery_ul>li .photobox-wrap img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit:cover;";
	-o-object-position: 50% 50%;
	object-position: 50% 50%
}

@media all and (max-width: 900px) {
	.gallery_ul>li {
		width: 48%
	}
}

@media all and (max-width: 639px) {
	.gallery_ul>li {
		width: 85%;
		margin: 0 auto 30px
	}

	.gallery_ul>li .photobox-wrap {
		height: 180px
	}
}

.comment {
	font-size: 1.4rem;
	letter-spacing: 0;
	padding: 0 5px;
	color: #623b1c
}

@media all and (max-width: 639px) {
	.comment {
		font-size: 12px
	}
}

.gallery {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.gallery li {
	width: 31%;
	position: relative;
	margin: 0 calc(2.33% + (2.33% / 2)) 30px 0
}

.gallery li:nth-child(3n) {
	margin-right: 0
}

.gallery li a {
	background: rgba(253, 254, 214, 0.2);
	display: block;
	text-align: center;
	padding: 0px;
	height: 230px
}

.gallery li a img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;"
}

.gallery li p {
	font-size: 14px;
	margin: 3px 0 10px;
	letter-spacing: 0
}

@media all and (max-width: 900px) {
	.gallery li {
		width: 48%;
		margin: 0 2% 20px 0
	}

	.gallery li:nth-child(2n) {
		margin-right: 0
	}

	.gallery li a {
		height: 150px
	}

	.gallery li p {
		font-size: 12px
	}
}

.list2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top: -50px
}

.list2.ai-c {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

@media all and (max-width: 639px) {
	.list2 {
		margin-top: -25px
	}
}

.list2.type1>li,
.list2.type1 .child {
	background: #fefefe;
	padding: 25px
}

@media all and (max-width: 639px) {

	.list2.type1>li,
	.list2.type1 .child {
		padding: 15px
	}
}

.list2>li,
.list2 .child {
	width: 48%;
	margin-top: 50px
}

.list2>li:nth-child(2n),
.list2 .child:nth-child(2n) {
	margin-left: 4%
}

@media all and (max-width: 639px) {

	.list2>li:nth-child(2n),
	.list2 .child:nth-child(2n) {
		margin-left: auto
	}
}

@media all and (max-width: 639px) {

	.list2>li,
	.list2 .child {
		width: 100%;
		margin: 25px auto 0
	}
}

.list3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.list3.jc-c {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}

.list3.type1 li:not(:last-of-type):after,
.list3.type1 .child:not(:last-of-type):after {
	position: absolute;
	font-family: "Font Awesome 5 Free";
	content: "\f00d";
	font-weight: 900;
	right: -25px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #58c754;
	font-size: 3rem
}

@media all and (max-width: 900px) {

	.list3.type1 li:not(:last-of-type):after,
	.list3.type1 .child:not(:last-of-type):after {
		left: 50%;
		right: auto;
		right: auto;
		bottom: 0;
		top: auto;
		-webkit-transform: translate(-50%, 50%);
		transform: translate(-50%, 50%)
	}
}

.list3>li,
.list3 .child {
	width: 31%;
	position: relative;
	margin: 0 calc(2.33% + (2.33% / 2)) 30px 0
}

.list3>li:nth-child(3n),
.list3 .child:nth-child(3n) {
	margin-right: 0
}

@media all and (max-width: 639px) {

	.list3>li,
	.list3 .child {
		width: 95%;
		margin: 0 auto 30px
	}

	.list3>li:nth-child(3n),
	.list3 .child:nth-child(3n) {
		margin-right: auto
	}
}

.list4 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.list4 li {
	width: 24%;
	margin: 0 calc(1% + (1% / 3)) 25px 0
}

.list4 li:nth-child(4n) {
	margin-right: 0
}

@media all and (max-width: 639px) {
	.list4 li {
		width: 48%;
		margin-right: 4%
	}

	.list4 li:nth-child(2n) {
		margin-right: 0
	}
}

.prv dt {
	color: #58c754;
	border-bottom: 1px solid #ccc;
	margin: 10px 0
}

#works:before {
	content: "";
	height: 80px;
	margin-top: -80px;
	display: block;
	visibility: hidden
}

.note {
	padding: 15px;
	margin-top: 10px;
	background: rgba(255, 255, 255, 0.7)
}

.flow-dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

.flow-dl.type1 dt {
	color: #1e3965
}

.flow-dl.type1 dt span {
	color: #008dbd
}

.flow-dl .inner {
	width: 48%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 20px;
	background: #fefefe;
	border-radius: 15px;
	-webkit-box-shadow: 0 0 15px rgba(98, 59, 28, 0.05);
	box-shadow: 0 0 15px rgba(98, 59, 28, 0.05);
	margin-bottom: 30px
}

.flow-dl dt {
	width: 10%;
	color: #379c33;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	text-align: center
}

.flow-dl dt span {
	letter-spacing: 0.2rem;
	color: #58c754;
	display: block;
	line-height: 1;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 4rem
}

.flow-dl dd {
	width: 85%
}

@media all and (max-width: 639px) {
	.flow-dl .inner {
		width: 100%
	}

	.flow-dl dt {
		font-size: 1.2rem;
		padding-bottom: 10px;
		border-bottom: 2px solid #f0f0f0;
		margin-bottom: 15px;
		width: 100%
	}

	.flow-dl dt span {
		font-size: 3rem;
		display: inline-block;
		padding-left: 8px
	}

	.flow-dl dt p {
		text-align: center;
		margin-top: 10px
	}

	.flow-dl dd {
		width: 100%
	}
}

.flow-dl2 {
	padding: 0 10px
}

.flow-dl2 .inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 20px;
	background: #fefefe;
	border-radius: 15px;
	-webkit-box-shadow: 0 0 15px rgba(85, 85, 85, 0.1);
	box-shadow: 0 0 15px rgba(85, 85, 85, 0.1)
}

.flow-dl2 .inner:not(:last-of-type) {
	margin-bottom: 30px
}

.flow-dl2 dt {
	width: 100%;
	color: #58c754;
	font-size: 1.5rem;
	letter-spacing: 0.2rem;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-weight: 400;
	text-align: center;
	border-bottom: 1px solid #58c754;
	padding-bottom: 5px;
	margin-bottom: 10px
}

.flow-dl2 dt span {
	color: #58c754;
	font-size: 4rem;
	display: block;
	font-weight: 600;
	margin-top: -10px
}

.flow-dl2 dt.co01 {
	color: #80e97d;
	margin-bottom: 0;
	padding-bottom: 0;
	font-family: "Kiwi Maru", serif;
	font-size: 2.5rem
}

.flow-dl2 dt.co01 span {
	color: #80e97d;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-weight: 600
}

.flow-dl2 dd {
	width: 100%
}

.flow-dl2.type1 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

.flow-dl2.type1 .inner {
	width: 48%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 20px;
	background: #fefefe;
	border-radius: 15px;
	-webkit-box-shadow: 0 0 15px rgba(98, 59, 28, 0.05);
	box-shadow: 0 0 15px rgba(98, 59, 28, 0.05);
	margin-bottom: 30px
}

.flow-dl2.type1 dt {
	width: 15%;
	border-bottom: none
}

.flow-dl2.type1 dd {
	width: 83%;
	border-left: 1px solid #58c754;
	padding: 0 15px
}

@media all and (max-width: 639px) {
	.flow-dl2 dt {
		font-size: 1.2rem;
		width: 100%
	}

	.flow-dl2 dt span {
		font-size: 2rem
	}

	.flow-dl2 dd {
		width: 100%
	}

	.flow-dl2.type1 .inner {
		width: 100%
	}

	.flow-dl2.type1 dt {
		font-size: 1.2rem;
		width: 100%;
		border-bottom: 1px solid #58c754;
		border-right: none
	}

	.flow-dl2.type1 dt span {
		font-size: 2rem
	}

	.flow-dl2.type1 dd {
		width: 100%;
		border-left: none
	}
}

.feature-dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

.feature-dl.type1 dt {
	color: #1e3965
}

.feature-dl.type1 dt span {
	color: #008dbd
}

.feature-dl .inner {
	width: 31%;
	padding: 20px;
	background: #fefefe;
	border-radius: 15px;
	-webkit-box-shadow: 0 0 15px rgba(85, 85, 85, 0.1);
	box-shadow: 0 0 15px rgba(85, 85, 85, 0.1);
	margin-bottom: 25px
}

.feature-dl dt {
	color: #379c33;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	text-align: center
}

.feature-dl dt span {
	color: #58c754;
	letter-spacing: 0.2rem;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 3.5rem
}

.feature-dl dd {
	padding-top: 10px;
	border-top: 0.9px solid #58c754
}

@media all and (max-width: 639px) {
	.feature-dl .inner {
		width: 100%;
		margin: 0 auto 25px
	}

	.feature-dl dt {
		font-size: 1.2rem;
		width: 100%
	}

	.feature-dl dt span {
		font-size: 1.8rem
	}

	.feature-dl dt p {
		text-align: center;
		margin-top: 10px
	}
}

.more-contents {
	display: none;
	padding: 15px;
	background: #fdfed6;
	margin-top: 20px
}

.txt1 {
	padding-left: 10px
}

.fee-box {
	margin: 10px 0 20px;
	font-weight: 600;
	background: lemonchiffon;
	padding: 5px
}

.fee-box span {
	display: block;
	font-weight: normal
}

.blog-month {
	margin-bottom: 10px
}

.blog-month ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.blog-month ul li {
	width: 49%;
	padding: 5px 0;
	margin-bottom: 5px;
	text-align: center;
	letter-spacing: 0;
	background: #333
}

.blog-month ul li:nth-child(2n) {
	margin-left: 2%
}

.blog-month ul li a {
	color: #fff;
	font-size: 12px
}

#a01,
#a02,
#a03,
#a04,
#a05,
#a06,
#a07,
#a08,
#contact {
	display: block;
	padding-top: 100px;
	margin-top: -100px
}

.list-center {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}

.list-center li:not(:last-child) {
	margin-right: 20px
}

@media all and (max-width: 639px) {
	.list-center {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column
	}

	.list-center li {
		width: 100%
	}

	.list-center li:not(:last-child) {
		margin: 0 0 15px
	}
}

.faq-dl .faq-inner {
	padding: 10px;
	margin-bottom: 20px
}

.faq-dl .faq-inner:not(:last-of-type) {
	margin-bottom: 35px;
	padding-bottom: 20px;
	border-bottom: 3px solid #eee
}

.faq-dl .faq-inner dt,
.faq-dl .faq-inner dd {
	position: relative;
	padding: 10px 10px 10px 55px
}

.faq-dl .faq-inner dt:before,
.faq-dl .faq-inner dd:before {
	position: absolute;
	content: "";
	width: 45px;
	height: 45px;
	line-height: 45px;
	text-align: center;
	left: 0;
	top: 0;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400
}

.faq-dl .faq-inner dt {
	margin-bottom: 10px;
	font-weight: 600;
	font-weight: 600;
	color: #3daf39
}

.faq-dl .faq-inner dt:before {
	content: "Q";
	color: #58c754;
	font-size: 3rem;
	background: rgba(88, 199, 84, 0.2)
}

.faq-dl .faq-inner dd:before {
	content: "A";
	color: #80e97d;
	font-size: 3rem;
	background: rgba(128, 233, 125, 0.2)
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
	left: 30px !important;
	right: auto;
	background: rgba(88, 199, 84, 0.7)
}

@media all and (max-width: 639px) {

	.swiper-button-prev,
	.swiper-container-rtl .swiper-button-next {
		left: 10px !important
	}
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
	right: 30px !important;
	left: auto;
	background: rgba(88, 199, 84, 0.7)
}

@media all and (max-width: 639px) {

	.swiper-button-next,
	.swiper-container-rtl .swiper-button-prev {
		right: 10px !important
	}
}

@media all and (max-width: 639px) {

	.swiper-button-next,
	.swiper-button-prev {
		width: 17px !important;
		height: 28px !important;
		background-size: 17px 28px !important
	}
}

.point-num {
	position: relative;
	z-index: 2;
	margin: -30px auto 5px;
	line-height: 1;
	color: #111;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 5rem;
	border-radius: 100%;
	text-align: center
}

@media all and (max-width: 639px) {
	.point-num {
		font-size: 3rem
	}
}

.bnr-list {
	text-align: center
}

@media all and (max-width: 900px) {
	.bnr-list li {
		width: 48%;
		margin-right: 4%
	}

	.bnr-list li:nth-child(2n) {
		margin-right: 0
	}
}

.bnr-list a {
	display: block;
	text-align: center;
	background: #fefefe;
	padding: 8px 5px;
	font-size: 1.3rem;
	height: 100%
}

.bnr-list a img {
	width: auto;
	max-width: 100%;
	margin: 0 auto;
	height: 45px
}

@media all and (max-width: 639px) {
	.bnr-list a {
		font-size: 12px;
		line-height: 1.5
	}

	.bnr-list a img {
		height: 30px
	}
}

.bnr-list li.bnr-txt {
	font-size: 2rem;
	font-weight: 600;
	line-height: 60px;
	background: #fefefe
}

@media all and (max-width: 639px) {
	.bnr-list li.bnr-txt {
		font-size: 1.5rem
	}
}

.sns-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}

.sns-list.center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 15px 0
}

.sns-list li a {
	width: 40px;
	height: 40px;
	line-height: 40px;
	font-size: 15px;
	color: #fff !important;
	display: block;
	background: #58c754;
	border-radius: 100%;
	text-align: center;
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
	position: relative
}

.sns-list li a:hover {
	opacity: 0.7
}

.sns-list li a.btn-facebook {
	background: #1877f2
}

.sns-list li a.btn-twitter {
	background: #1da1f2
}

.sns-list li a.btn-instagram {
	overflow: hidden;
	background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat
}

.sns-list li a.btn-instagram i {
	position: relative;
	z-index: 2
}

.sns-list li a.btn-instagram:before {
	content: "";
	position: absolute;
	top: 18px;
	left: -10px;
	width: 50px;
	height: 50px;
	background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%)
}

.sns-list li:not(:last-child) {
	margin-right: 10px
}

@media all and (max-width: 900px) {
	.sns-list li:not(:last-child) {
		margin-right: 8px;
		margin-bottom: 0
	}
}

.title-big {
	text-align: center
}

.title-big .eng {
	display: block;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	font-size: 6rem;
	color: #58c754
}

.title-big .ja {
	font-size: 1.8rem;
	letter-spacing: 0.15em
}

@media all and (max-width: 639px) {
	.title-big .eng {
		font-size: 3.5rem
	}

	.title-big .ja {
		font-size: 1.4rem
	}
}

.title01 {
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	font-size: 1.6rem;
	margin-bottom: 15px;
	color: #3daf39;
	line-height: 1.4
}

.title01 .ja {
	font-family: "Kiwi Maru", serif;
	display: block;
	font-size: 2.4rem;
	color: #58c754;
	font-weight: 400
}

.title02 {
	margin-bottom: 10px
}

.title02 span {
	display: inline-block
}

@media all and (max-width: 639px) {
	.title02 span:not(.lead) {
		display: block
	}
}

.title02 .lead {
	background: #8fce96;
	display: inline-block;
	margin-right: 4px;
	color: #fff;
	padding: 3px 8px;
	font-weight: 600;
	line-height: 1.3
}

.title03 {
	font-size: 2.8rem;
	color: #fff;
	margin-bottom: 20px
}

.title03.type1 {
	color: #58c754
}

@media all and (max-width: 639px) {
	.title03 {
		font-size: 1.8rem;
		line-height: 1.4
	}
}

.title04 {
	margin-bottom: 25px;
	position: relative;
	font-size: 1.8rem;
	padding-left: 55px;
	padding-top: 8px;
	color: #623b1c
}

.title04 .num {
	position: absolute;
	left: 0;
	top: 0;
	font-size: 5rem;
	line-height: 1;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	color: #55e251
}

@media all and (max-width: 639px) {
	.title04 {
		font-size: 1.3rem;
		padding-left: 50px;
		padding-top: 0
	}

	.title04 .num {
		font-size: 3rem
	}
}

.head-border {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-bottom: 20px
}

.head-border span {
	font-size: 2rem;
	color: #832d3a;
	letter-spacing: 0.15em
}

@media all and (max-width: 639px) {
	.head-border span {
		font-size: 1.4rem
	}
}

.head-border:before,
.head-border:after {
	content: "";
	height: 1px;
	width: 10px;
	background-color: #58c754
}

.head-border:before {
	margin-right: 1em
}

.head-border:after {
	margin-left: 1em
}

.slick-prev,
.slick-next {
	background: rgba(255, 255, 255, 0.8);
	width: 35px;
	height: 35px;
	z-index: 20 !important;
	border-radius: 50%;
	border: 1px solid #72727b;
	top: 40%;
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in
}

.slick-prev:before,
.slick-next:before {
	color: #72727b
}

.slick-prev:hover,
.slick-next:hover {
	background: #f0f1ed
}

.slick-prev {
	left: 0
}

.slick-next {
	right: 0
}

.txt01 {
	font-size: 1.4rem;
	letter-spacing: 0
}

@media all and (max-width: 639px) {
	.txt01 {
		font-size: 13px
	}
}

.txt02 {
	padding: 25px;
	background: #fefefe;
	border-radius: 20px;
	color: #623b1c;
	font-weight: 600
}

.flow-txt {
	font-size: 2.2rem;
	text-align: center;
	color: #58c754;
	font-family: "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	margin: 30px auto;
	font-weight: 700;
	letter-spacing: 0.2rem
}

.flow-txt span {
	font-size: 1.4rem;
	color: #623b1c
}

.top-gallery {
	margin: 30px auto
}

.top-gallery li {
	margin: 0 8px
}

.top-gallery li a {
	display: block;
	width: 100%;
	height: 250px;
	overflow: hidden;
	border-radius: 20px !important
}

.top-gallery li a img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;"
}

@media all and (max-width: 639px) {
	.top-gallery li a {
		height: 250px
	}
}

.vertical-box {
	position: relative
}

.vertical-box .vertical-content {
	margin-left: 150px
}

@media all and (max-width: 639px) {
	.vertical-box .vertical-content {
		margin: 20px 0 0
	}
}

.column2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

.column2.type1 {
	margin-bottom: 60px
}

.column2.sp100 {
	margin-bottom: 2%
}

.column2.tp {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start
}

.column2 .child {
	width: 48%
}

.column2 .child2 {
	width: 45%
}

.column2 .child3 {
	width: 52%
}

.column2 .child4 {
	width: 32%
}

.column2 .child5 {
	width: 65%
}

.column2 .child-img {
	position: relative;
	width: 52%;
	padding-right: 40px
}

.column2 .child-img .child-img-logo {
	position: absolute;
	max-width: 150px;
	right: 15px;
	bottom: 15px
}

.column2 .child-img figure {
	position: relative;
	display: block
}

.column2 .child-img figure img {
	-webkit-box-shadow: rgba(98, 59, 28, 0.2) 4px 40px 50px 0px;
	box-shadow: rgba(98, 59, 28, 0.2) 4px 40px 50px 0px
}

.column2 .child-img figure:before {
	position: absolute;
	content: "";
	right: -30px;
	bottom: -30px;
	width: 80%;
	height: 70%;
	z-index: -1;
	background: url(../img/washi-green.jpg)
}

@media all and (max-width: 639px) {
	.column2 {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column
	}

	.column2.type1 {
		margin-bottom: 30px
	}

	.column2.sp100 {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row
	}

	.column2.sp100 .child {
		width: 49%
	}

	.column2 .child,
	.column2 .child2,
	.column2 .child3,
	.column2 .child4,
	.column2 .child5 {
		width: 100%
	}

	.column2 .child.column2-img,
	.column2 .child2.column2-img,
	.column2 .child3.column2-img,
	.column2 .child4.column2-img,
	.column2 .child5.column2-img {
		-webkit-box-ordinal-group: 0;
		-ms-flex-order: -1;
		order: -1;
		margin-bottom: 30px
	}

	.column2 .child.column2-img2,
	.column2 .child2.column2-img2,
	.column2 .child3.column2-img2,
	.column2 .child4.column2-img2,
	.column2 .child5.column2-img2 {
		-webkit-box-ordinal-group: 0;
		-ms-flex-order: -1;
		order: -1;
		margin-bottom: 20px
	}

	.column2 .child.bm10,
	.column2 .child2.bm10,
	.column2 .child3.bm10,
	.column2 .child4.bm10,
	.column2 .child5.bm10 {
		margin-bottom: 10px
	}

	.column2 .child.bm20,
	.column2 .child2.bm20,
	.column2 .child3.bm20,
	.column2 .child4.bm20,
	.column2 .child5.bm20 {
		margin-bottom: 20px
	}

	.column2 .child.bm30,
	.column2 .child2.bm30,
	.column2 .child3.bm30,
	.column2 .child4.bm30,
	.column2 .child5.bm30 {
		margin-bottom: 30px
	}

	.column2 .child-img {
		width: 100%;
		padding-right: 20px;
		margin: 20px 0
	}

	.column2 .child-img figure img {
		-webkit-box-shadow: rgba(98, 59, 28, 0.2) 2px 24px 30px 0px;
		box-shadow: rgba(98, 59, 28, 0.2) 2px 24px 30px 0px
	}

	.column2 .child-img figure:before {
		right: -15px;
		bottom: -15px
	}
}

.top-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 80px
}

.top-list>li {
	width: 23.5%;
	position: relative
}

.top-list>li:nth-child(even) {
	-webkit-transform: translateY(40px);
	transform: translateY(40px)
}

@media all and (max-width: 900px) {
	.top-list>li {
		width: 48%;
		margin-bottom: 30px
	}
}

.top-list .top-list-title {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0
}

.top-list .top-list-title span {
	border-radius: 5px 0 0 0;
	background: #fff;
	color: #623b1c;
	font-weight: 600;
	padding: 3px 8px
}

@media all and (max-width: 639px) {
	.top-list .top-list-title span {
		display: block
	}
}

.kiritori {
	display: block;
	margin: 45px auto;
	height: 1px;
	width: 90%;
	background-image: -webkit-gradient(linear, left top, right top, from(#832d3a), to(#80e97d));
	background-image: linear-gradient(to right, #832d3a, #80e97d);
	opacity: 0.6
}

@-webkit-keyframes flash {
	0% {
		opacity: 0.4
	}

	100% {
		opacity: 1
	}
}

@keyframes flash {
	0% {
		opacity: 0.4
	}

	100% {
		opacity: 1
	}
}

@-webkit-keyframes animation-bar {
	0% {
		left: 0;
		right: auto;
		width: 0
	}

	50% {
		left: 0;
		right: auto;
		width: 100%
	}

	51% {
		left: auto;
		right: 0;
		width: 100%
	}

	100% {
		left: auto;
		right: 0;
		width: 101%
	}
}

@keyframes animation-bar {
	0% {
		left: 0;
		width: 0
	}

	50% {
		left: 0;
		width: 100%
	}

	51% {
		left: 0;
		width: 100%
	}

	100% {
		left: 101%;
		width: 0
	}
}

@-webkit-keyframes animation-txt {
	0% {
		opacity: 0
	}

	50% {
		opacity: 0
	}

	100% {
		opacity: 1
	}
}

@keyframes animation-txt {
	0% {
		opacity: 0
	}

	50% {
		opacity: 0
	}

	100% {
		opacity: 1
	}
}

.animation-content.move .animation-bar:before {
	-webkit-animation: animation-bar 0.8s ease 0s 1 normal forwards;
	animation: animation-bar 0.8s ease 0s 1 normal forwards
}

.animation-content.move .animation-txt {
	-webkit-animation: animation-txt 0s ease 0.4s 1 normal forwards;
	animation: animation-txt 0s ease 0.4s 1 normal forwards
}

.animation-content .animation-box {
	display: block;
	text-align: center
}

.animation-content .animation-bar {
	position: relative;
	display: inline-block;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0)
}

.animation-content .animation-bar:before {
	content: "";
	display: inline-block;
	width: 0;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	background: #58c754
}

.animation-content .animation-txt {
	opacity: 0;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0)
}

.effect_fade {
	opacity: 0;
	-webkit-transform: translate(0, 45px);
	transform: translate(0, 45px);
	-webkit-transition: all 2s;
	transition: all 2s
}

.effect_fade.effect_scroll {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0)
}

.top-bg {
	position: relative
}

.top-bg:before {
	position: absolute;
	content: "";
	width: 15%;
	height: 100%;
	top: 0;
	left: 0;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#fdfed6), to(#e3dccb));
	background-image: linear-gradient(to bottom, #fdfed6, #e3dccb);
	z-index: -1
}

@media all and (max-width: 639px) {
	.top-bg:before {
		width: 30%
	}
}

.top-greet-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
	max-width: 1200px;
	margin-left: 10%
}

@media all and (max-width: 900px) {
	.top-greet-wrap {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		margin: 0
	}
}

@media all and (max-width: 639px) {
	.top-greet-wrap {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center
	}
}

.top-greet-lead {
	width: 45%
}

@media all and (max-width: 900px) {
	.top-greet-lead {
		width: 100%
	}
}

.lead-line {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

.lead-line:not(:last-of-type) {
	margin-bottom: 20px
}

.lead-line .capital {
	font-size: 9rem;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	line-height: 1;
	width: 30%;
	letter-spacing: 0.15em;
	text-align: center;
	color: #58c754
}

@media all and (max-width: 1025px) {
	.lead-line .capital {
		font-size: 7rem
	}
}

@media all and (max-width: 639px) {
	.lead-line .capital {
		font-size: 4rem
	}
}

.lead-line .lead-txt {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	margin-left: 40px;
	color: #623b1c;
	font-size: 2rem
}

.lead-line .lead-txt .eng {
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	display: block;
	color: rgba(98, 59, 28, 0.5);
	font-size: 4rem;
	line-height: 1.4
}

@media all and (max-width: 1025px) {
	.lead-line .lead-txt .eng {
		font-size: 3rem
	}
}

@media all and (max-width: 639px) {
	.lead-line .lead-txt {
		font-size: 1.3rem
	}

	.lead-line .lead-txt .eng {
		font-size: 1.8rem
	}
}

.top-greet-box {
	width: 40%;
	position: relative;
	z-index: 2
}

.top-greet-box p {
	letter-spacing: 0.15em;
	line-height: 2;
	margin-top: 40px
}

@media all and (max-width: 1025px) {
	.top-greet-box {
		width: 42%
	}
}

@media all and (max-width: 900px) {
	.top-greet-box {
		width: 500px;
		margin: 30px auto 0;
		text-align: center
	}
}

@media all and (max-width: 639px) {
	.top-greet-box {
		padding: 25px 20px;
		width: 100%
	}
}

.greet-title {
	font-size: 2.2rem;
	letter-spacing: 0.2vw;
	font-weight: 600;
	line-height: 2
}

@media all and (max-width: 639px) {
	.greet-title {
		font-size: 1.6rem
	}
}

.top-greet-img-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	max-width: 1500px;
	margin: 30px auto 0;
	padding-bottom: 40px;
	position: relative;
	z-index: 2
}

.top-greet-img-box .img-box1 {
	width: 30%
}

.top-greet-img-box .img-box2 {
	width: 60%;
	margin-bottom: 30px
}

.top-greet-box2 {
	position: relative;
	padding: 30px 0
}

@media all and (max-width: 639px) {
	.top-greet-box2 {
		padding: 40px 20px
	}
}

.top-greet-box2:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: url(../img/bg-01.jpg) no-repeat center/cover
}

.top-greet-box2 .inner {
	max-width: 700px;
	margin: 0 auto;
	font-weight: 600;
	line-height: 2;
	color: #fff;
	position: relative;
	z-index: 2
}

.name {
	margin: -30px auto 20px;
	position: relative;
	z-index: 2;
	max-width: 90%;
	background: #fff;
	padding: 20px;
	font-size: 1.7rem;
	color: #58c754;
	text-align: center
}

.name .small {
	font-size: 1.5rem;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	color: #623b1c;
	padding-right: 5px
}

.staff-txt {
	padding: 10px
}

.marker-b {
	background: #333;
	color: #fff;
	padding: 0 4px
}

.marker-brown {
	background: #623b1c;
	color: #fff;
	padding: 0 4px
}

.menu-head {
	background: url(../img/menu-head.jpg) no-repeat 70% center/cover;
	height: 350px;
	max-width: 1500px;
	margin: 50px auto;
	border-radius: 30px
}

@media all and (max-width: 639px) {
	.menu-head {
		height: 200px;
		background-position: center left
	}
}

.menu-head.type01 {
	background: url(../img/menu-head2.jpg) no-repeat 70% center/cover
}

@media all and (max-width: 639px) {
	.menu-head.type01 {
		height: 200px;
		margin: 0px auto 40px;
		background-position: center right
	}
}

.menu-head.type02 {
	background: url(../img/menu-head3.jpg) no-repeat 70% center/cover
}

@media all and (max-width: 639px) {
	.menu-head.type02 {
		height: 200px;
		margin: 0px auto 40px;
		background-position: center right
	}
}

.menu-head.type03 {
	background: url(../img/menu-head4.jpg) no-repeat 70% center/cover
}

@media all and (max-width: 639px) {
	.menu-head.type03 {
		height: 200px;
		margin: 0px auto 40px;
		background-position: center right
	}
}

.menu-head.type04 {
	background: url(../img/menu-head5.jpg) no-repeat 70% center/cover
}

@media all and (max-width: 639px) {
	.menu-head.type04 {
		height: 200px;
		margin: 0px auto 40px;
		background-position: center right
	}
}

.menu-head-txt {
	max-width: 600px;
	margin: 0 auto 50px;
	text-align: center
}

.menu-list {
	margin-bottom: 30px
}

.menu-list.type1 li {
	background: #58c754;
	color: #fff
}

.menu-list.type1 li .right {
	color: #ffdf2c
}

.menu-list>li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 8px 4px
}

.menu-list>li.info2 {
	display: block;
	padding: 0;
	color: #8a5327;
	margin-bottom: 0 !important
}

.menu-list>li.info2:before {
	display: none
}

.menu-list>li:not(:last-of-type) {
	margin-bottom: 20px
}

.menu-list>li p {
	display: inline-block;
	line-height: 1.5
}

.menu-list>li:before {
	background: radial-gradient(#aaa 20%, transparent 0) center center/8px 8px;
	content: "";
	display: inline-block;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	height: 4px;
	margin: 0 1.2em
}

@media all and (max-width: 639px) {
	.menu-list>li:before {
		margin: 0 5px
	}
}

.menu-list>li .info {
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%;
	font-size: 1.4rem;
	color: #58c754;
	margin-top: 10px;
	font-family: "YakuHanJP", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	padding: 8px;
	letter-spacing: 0
}

@media all and (max-width: 639px) {
	.menu-list>li .info {
		font-size: 13px
	}
}

.menu-list>li .left {
	-webkit-box-ordinal-group: 0;
	-ms-flex-order: -1;
	order: -1;
	max-width: 65%;
	letter-spacing: 0.1rem;
	font-weight: 600;
	position: relative
}

.menu-list>li .left .small {
	color: #555;
	padding-top: 5px;
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0
}

.menu-list>li .left:after {
	content: ".";
	display: inline-block;
	width: 0;
	color: transparent;
	pointer-events: none
}

@media all and (max-width: 639px) {
	.menu-list>li .left {
		max-width: 65%
	}

	.menu-list>li .left .small {
		font-size: 12px
	}
}

.menu-list>li .right {
	max-width: 35%;
	text-align: right;
	color: #623b1c;
	font-size: 1.1em
}

.menu-title {
	margin: -55px 0 30px;
	position: relative;
	z-index: 2
}

.menu-title span {
	background: #58c754;
	padding: 4px 8px;
	color: #fff;
	font-size: 1.8rem
}

.menu-title span em {
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 2.2rem
}

@media all and (max-width: 639px) {
	.menu-title {
		margin-top: -45px
	}

	.menu-title span {
		font-size: 1.3rem
	}

	.menu-title span em {
		font-size: 1.5rem
	}
}

.calendar_head {
	color: #222;
	padding: 6px
}

.calendar-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	font-size: 0.9em
}

.calendar-box div.calendar {
	width: 48%
}

@media all and (max-width: 639px) {
	.calendar-box div.calendar {
		width: 100%;
		margin-bottom: 10px
	}
}

.calendar-box table {
	width: 100%
}

.calendar-box table th,
.calendar-box table td {
	width: 14.28%;
	border: 0.9px solid #666;
	font-weight: normal;
	padding: 5px;
	height: 45px;
	font-size: 1.3rem;
	color: #623b1c
}

@media all and (max-width: 639px) {

	.calendar-box table th,
	.calendar-box table td {
		height: 40px;
		font-size: 1.2rem
	}
}

.calendar-box table th {
	background: #fdfed6;
	vertical-align: middle;
	font-weight: 600
}

.calendar-box table td {
	background: #fefefe
}

.calendar-box table td.off {
	background: #80e97d;
	color: #5d2029
}

.calendar-box th.sun,
.calendar-box td.sun {
	color: #5d2029
}

.calendar-box th.sat,
.calendar-box td.sat {
	color: #1e3965
}

.calendar-box .item-td {
	background: #eadc8b
}

.calendar-box .item-td .days {
	color: #623b1c
}

.calendar-box .item-td .item {
	display: none
}

.calendar-info {
	max-width: 300px;
	margin: 20px auto 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 20px;
	background: #fff;
	padding: 10px
}

.calendar-info .info-child {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

.calendar-info .info-child:not(:last-child) {
	margin-right: 20px
}

.calendar-info .info-txt {
	margin-left: 10px
}

.calendar-info .mark {
	font-size: 2.5rem
}

.calendar-info .mark.mark1 {
	color: #80e97d
}

.calendar-info .mark.mark2 {
	color: #d1edf9
}

.top-btn-instagram {
	margin: 40px auto;
	display: block;
	position: relative;
	width: 380px;
	padding: 20px 0;
	text-align: center;
	color: #58c754;
	background-image: -webkit-gradient(linear, left top, right bottom, from(#fff), color-stop(#fdfed6), to(#e3dccb));
	background-image: linear-gradient(to right bottom, #fff, #fdfed6, #e3dccb);
	-webkit-box-shadow: rgba(128, 233, 125, 0.1) 0px 10px 50px;
	box-shadow: rgba(128, 233, 125, 0.1) 0px 10px 50px;
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	font-size: 2rem
}

.top-btn-instagram:before {
	position: absolute;
	content: "";
	width: 1px;
	height: 110px;
	top: -110px;
	left: 50%;
	background: #80e97d;
	opacity: 0.4
}

.top-btn-instagram:after {
	position: absolute;
	content: "Check It Out!";
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	right: -40px;
	bottom: -10px;
	-webkit-transform: rotate(-10deg);
	transform: rotate(-10deg);
	color: #80e97d;
	font-size: 2.2rem
}

.top-btn-instagram:hover {
	-webkit-transform: translateY(30px);
	transform: translateY(30px)
}

.top-btn-instagram:hover:before {
	top: -80px;
	height: 80px
}

@media all and (max-width: 639px) {
	.top-btn-instagram {
		width: 80%
	}

	.top-btn-instagram:after {
		font-size: 1.5rem;
		right: -5%
	}
}

.frame-box {
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	-webkit-box-shadow: rgba(128, 233, 125, 0.1) 0px 10px 50px;
	box-shadow: rgba(128, 233, 125, 0.1) 0px 10px 50px;
	border: 4px double #623b1c;
	background: #fefefe
}

.frame-box:before,
.frame-box:after {
	position: absolute;
	content: "";
	width: 80px;
	height: 80px;
	top: 0;
	opacity: 0.7
}

@media all and (max-width: 639px) {

	.frame-box:before,
	.frame-box:after {
		width: 40px;
		height: 40px;
		opacity: 0.5
	}
}

.frame-box:before {
	background: url(../img/fr-left.png) no-repeat left top/contain;
	left: 0
}

.frame-box:after {
	background: url(../img/fr-right.png) no-repeat right top/contain;
	right: 0
}

.frame-bottom {
	position: relative
}

.frame-bottom:before,
.frame-bottom:after {
	position: absolute;
	content: "";
	width: 80px;
	height: 80px;
	bottom: 0;
	opacity: 0.7
}

@media all and (max-width: 639px) {

	.frame-bottom:before,
	.frame-bottom:after {
		width: 40px;
		height: 40px;
		opacity: 0.5
	}
}

.frame-bottom:before {
	background: url(../img/fr-b-left.png) no-repeat left top/contain;
	left: 0
}

.frame-bottom:after {
	background: url(../img/fr-b-right.png) no-repeat right top/contain;
	right: 0
}

.frame-inner {
	padding: 75px 40px;
	position: relative;
	z-index: 2
}

@media all and (max-width: 639px) {
	.frame-inner {
		padding: 40px 12px
	}
}

.pai-list {
	position: relative;
	padding: 25px;
	text-align: center;
	font-size: 2rem;
	line-height: 1.3;
	background: #fff;
	color: #623b1c;
	font-weight: 600
}

@media all and (max-width: 639px) {
	.pai-list {
		font-size: 1.3rem;
		padding: 15px
	}
}

.pai-list:before,
.pai-list:after {
	content: "";
	position: absolute;
	width: 35px;
	height: 35px;
	opacity: 0.7
}

@media all and (max-width: 639px) {

	.pai-list:before,
	.pai-list:after {
		width: 25px;
		height: 25px
	}
}

.pai-list:before {
	left: 0;
	top: 0;
	border-top: 0.9px solid #80e97d;
	border-left: 0.9px solid #80e97d
}

.pai-list:after {
	right: 0;
	bottom: 0;
	border-right: 0.9px solid #80e97d;
	border-bottom: 0.9px solid #80e97d
}

.system-dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 10px
}

.system-dl dt,
.system-dl dd {
	margin-bottom: 5px
}

.system-dl dt {
	background: #623b1c;
	padding: 8px;
	color: #fff;
	border-radius: 10px;
	width: 30%;
	text-align: center
}

@media all and (max-width: 639px) {
	.system-dl dt {
		padding: 5px;
		letter-spacing: 0;
		font-size: 13px
	}
}

.system-dl dd {
	width: 65%;
	line-height: 1.1;
	-ms-flex-item-align: center;
	-ms-grid-row-align: center;
	align-self: center
}

.system-dl dd span {
	font-size: 2.6rem;
	color: #832d3a
}

.system-dl dd span.type1 {
	font-size: 2.2rem;
	line-height: 1.3
}

@media all and (max-width: 639px) {
	.system-dl dd span {
		font-size: 1.6rem
	}

	.system-dl dd span.type1 {
		font-size: 1.4rem
	}
}

.system-box {
	background: rgba(253, 254, 214, 0.8);
	padding: 10px;
	position: relative
}

.system-box:before {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	top: 0;
	right: 0;
	border-style: solid;
	border-width: 0 24px 24px 0;
	border-color: transparent #fefefe transparent transparent
}

.hoshou {
	font-weight: 600;
	border-bottom: 1px solid #ccc
}

.hoshou span {
	font-size: 2rem;
	color: #832d3a
}

.style {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 10px
}

.style a {
	display: block;
	width: 47%;
	height: 300px;
	padding: 0 10px
}

@media all and (max-width: 639px) {
	.style a {
		height: 240px;
		padding: 0 5px
	}
}

.style a img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;";
	-o-object-position: 50% 0%;
	object-position: 50% 0%
}

.recipe {
	position: relative;
	padding: 20px 10px 10px;
	margin-top: 10px
}

.recipe:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 10px;
	content: "";
	background-image: repeating-linear-gradient(-45deg, #ddd, #ddd 1px, transparent 2px, transparent 5px);
	background-size: 7px 7px;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	opacity: 0.5
}

.recipe-dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

.recipe-dl dt {
	width: 5.5em;
	color: #2bda26;
	text-transform: uppercase
}

.recipe-dl dt:after {
	content: "・・・";
	margin-left: 3px;
	font-size: 10px
}

.recipe-dl dd {
	width: calc(100% - 7em)
}

.fixed-btn {
	position: fixed;
	right: 0;
	bottom: 10%;
	z-index: 100
}

.fixed-btn li {
	background: #fff;
	height: 65px;
	width: 65px
}

.fixed-btn li a {
	background: #80e97d;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 15px 0 12px;
	height: 100%;
	width: 100%;
	-webkit-transition: .2s;
	transition: .2s
}

.fixed-btn li i {
	color: #fff;
	font-size: 2rem
}

.fixed-btn li:hover a {
	background: #58c754;
	color: #80e97d
}

.fixed-btn li:hover a .ttl {
	color: #80e97d
}

.fixed-btn li:hover i {
	color: #80e97d
}

@media all and (max-width: 900px) {
	.fixed-btn {
		display: none
	}
}

.fixed-btn .ttl {
	color: #fff;
	font-family: "YakuHanJP", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 10px;
	letter-spacing: 0.1em;
	line-height: 1
}

.fixed-btn .bg-red {
	background: #832d3a
}

.tcen {
	text-align: center
}

@media all and (max-width: 639px) {
	.tcen {
		text-align: left
	}
}

.top-bnr_bdr {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.top-bnr_bdr li {
	width: 48%;
	position: relative
}

.top-bnr_bdr li:nth-child(2n) {
	margin-left: 4%
}

@media all and (max-width: 639px) {
	.top-bnr_bdr li:nth-child(2n) {
		margin-left: auto
	}
}

@media all and (max-width: 639px) {
	.top-bnr_bdr li {
		width: 100%;
		margin: 25px auto 0
	}
}

.top-bnr_bdr .img_bdr {
	border-radius: 30px;
	background-image: -webkit-gradient(linear, left top, right bottom, from(#40de3c), color-stop(#80e97d), to(#ffc5d9));
	background-image: linear-gradient(to right bottom, #40de3c, #80e97d, #ffc5d9);
	height: 380px;
	overflow: hidden
}

.top-bnr_bdr .img_bdr img {
	opacity: .2;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}

.top-bnr_bdr .img_bdr:hover img {
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
	opacity: .7
}

.top-bnr_bdr .ttl_bdr {
	text-align: center;
	margin-bottom: 45px;
	letter-spacing: .2rem;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	color: #fefefe
}

.top-bnr_bdr .ttl_bdr .en {
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	font-size: 3.5rem
}

.top-bnr_bdr .ttl_bdr .en::after {
	content: "";
	display: block;
	width: 20px;
	height: 1px;
	background-color: #fefefe;
	margin: 20px auto 0
}

.top-bnr_bdr .ttl_bdr .ja {
	display: block;
	font-size: 1.5rem;
	margin-top: 20px;
	font-family: "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500
}

@media all and (max-width: 900px) {
	.top-bnr_bdr .ttl_bdr .en {
		font-size: 2rem
	}

	.top-bnr_bdr .ttl_bdr .ja {
		font-size: 1.3rem
	}
}

.top-bnr_bdr .label {
	font-size: 1.2rem;
	color: #fefefe;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	-webkit-text-orientation: mixed;
	text-orientation: mixed;
	-webkit-font-feature-settings: "pkna";
	font-feature-settings: "pkna";
	position: absolute;
	top: 20px;
	right: 10px;
	text-transform: uppercase
}

.ks_flow {
	position: relative;
	margin: 0;
	padding: 0
}

@media all and (max-width: 900px) {
	.ks_flow {
		width: 95%;
		margin: 0 auto
	}
}

.ks_flow::before {
	content: "";
	display: block;
	position: absolute;
	top: 40px;
	left: 50%;
	-webkit-transform: translate(-50%);
	transform: translate(-50%);
	width: 2px;
	height: 89%;
	background-color: #f1f1f1
}

@media all and (max-width: 900px) {
	.ks_flow::before {
		left: 5%
	}
}

.ks_flow li {
	margin-left: auto;
	width: 40%;
	position: relative
}

.ks_flow li::before {
	content: "";
	display: block;
	position: absolute;
	top: 38px;
	width: 8px;
	height: 8px;
	background-color: #fff;
	border: 12px solid #80e97d;
	border-radius: 50%;
	left: -25%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	-webkit-box-sizing: content-box;
	box-sizing: content-box
}

.ks_flow li .nmb {
	font-size: 5rem;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	color: #58c754
}

.ks_flow li .ttl {
	font-size: 2rem;
	color: #58c754;
	margin-bottom: 20px;
	font-family: "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif
}

.ks_flow li .img_box {
	overflow: hidden;
	border-radius: 20px;
	height: 200px;
	margin-bottom: 20px
}

.ks_flow li .img_box img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}

.ks_flow li p {
	font-size: 1.4rem;
	color: #777;
	font-family: "YakuHanJP", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.ks_flow li:nth-child(2n) {
	margin-right: auto;
	margin-left: 0
}

.ks_flow li:nth-child(2n) .ttl,
.ks_flow li:nth-child(2n) .nmb {
	text-align: right
}

.ks_flow li:nth-child(2n)::before {
	left: auto;
	right: -25%;
	-webkit-transform: translateX(50%);
	transform: translateX(50%)
}

@media all and (max-width: 900px) {
	.ks_flow li {
		width: 85%
	}

	.ks_flow li::before {
		left: -12%
	}

	.ks_flow li:nth-child(2n) {
		margin-right: 0;
		margin-left: auto
	}

	.ks_flow li:nth-child(2n) .ttl,
	.ks_flow li:nth-child(2n) .nmb {
		text-align: left
	}

	.ks_flow li:nth-child(2n)::before {
		left: -12%;
		right: auto;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%)
	}
}

.letter_img figure {
	margin-right: 32px
}

.letter_img_r {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse
}

.letter_img_r figure {
	margin-left: 32px
}

.letter_img,
.letter_img_r {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 16px;
	margin-bottom: 16px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

.letter_img figure img,
.letter_img_r figure img {
	width: 600px
}

.letter_img figure figcaption,
.letter_img_r figure figcaption {
	text-align: left
}

.letter_img .info,
.letter_img_r .info {
	-webkit-box-flex: 2;
	-ms-flex-positive: 2;
	flex-grow: 2;
	height: 100%;
	position: relative
}

.letter_img .info .bottom,
.letter_img_r .info .bottom {
	position: absolute;
	bottom: -160px;
	left: 0;
	right: 0
}

@media all and (max-width: 900px) {

	.letter_img,
	.letter_img_r {
		display: block
	}

	.letter_img figure,
	.letter_img_r figure {
		margin: 0 auto;
		text-align: center
	}

	.letter_img figure img,
	.letter_img_r figure img {
		width: auto
	}

	.letter_img .info,
	.letter_img_r .info {
		-webkit-box-flex: 2;
		-ms-flex-positive: 2;
		flex-grow: 2;
		height: 100%;
		position: static;
		padding: 16px
	}

	.letter_img .info .bottom,
	.letter_img_r .info .bottom {
		position: static;
		bottom: auto;
		left: 0;
		right: 0
	}
}

.frame {
	padding: 32px;
	background-color: #fff
}

.frame h2,
.frame p {
	text-align: justify;
	text-justify: inter-ideograph
}

@media all and (max-width: 639px) {
	.frame {
		padding: 16px
	}
}

.dl_list {
	font-size: 1.4rem;
	letter-spacing: 0.1rem;
	font-weight: 300
}

.dl_list dt {
	float: left;
	width: 10em;
	background: #58c754;
	padding: 5px 0px;
	line-height: 1.3;
	color: #fff;
	text-align: center;
	margin: 2px 0 0
}

.dl_list dd {
	padding-left: 11em;
	padding-top: 5px;
	padding-bottom: 10px;
	line-height: 1.6;
	border-bottom: dotted 1px #aaa;
	margin: 5px 0
}

.dl_list dd:last-child {
	border-bottom: 0px
}

@media all and (max-width: 900px) {
	.dl_list dt {
		float: none;
		width: 100%;
		margin: 2px 0 0
	}

	.dl_list dd {
		padding-left: 0;
		padding-top: 5px;
		padding-bottom: 5px;
		margin: 5px 0
	}
}

.total_bx {
	text-align: center;
	background-color: #fcf2f3;
	padding: 16px 0;
	margin-bottom: 16px;
	margin-top: 30px
}

input#total {
	border: 0px solid #fff;
	font-size: 2.3rem;
	width: 8em;
	color: #58c754;
	background: #fff;
	text-align: right
}

.sec01 {
	padding: 130px 0 0 11vw;
	position: relative
}

@media all and (max-width: 900px) {
	.sec01 {
		padding: 30px 0 30px
	}
}

.t-layout-wrapper {
	position: relative
}

.t-layout-wrapper .t-ttl01 {
	left: -85px;
	top: 4vw;
	display: inline-block;
	width: 22px;
	color: #121212;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-family: "Mochiy Pop One", sans-serif;
	font-size: 20px;
	letter-spacing: 0.1em;
	font-weight: lighter;
	position: absolute;
	width: 42px
}

.t-layout-wrapper .t-ttl01.type1 {
	right: -85px;
	left: auto;
	top: 0
}

.t-layout-wrapper .t-ttl01:before {
	background: #121212;
	content: "";
	display: inline-block;
	height: 80px;
	width: 1px;
	margin-bottom: 24px
}

@media all and (max-width: 900px) {
	.t-layout-wrapper .t-ttl01 {
		display: block;
		width: auto;
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
		font-size: 22px;
		position: static;
		margin-bottom: 20px
	}

	.t-layout-wrapper .t-ttl01:before {
		height: 1px;
		width: 80px;
		margin: 0 15px 0 0;
		vertical-align: middle
	}
}

.t-layout-wrapper .t-ttl02 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: #58c754;
	font-family: "YakuHanJP", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 28px;
	letter-spacing: 0.1em;
	margin-bottom: -6px;
	font-weight: 400
}

.t-layout-wrapper .t-ttl02 .num {
	color: #111;
	font-family: "Oswald";
	font-size: 6vw;
	letter-spacing: 0.1em;
	font-weight: lighter;
	vertical-align: middle;
	margin-right: 50px
}

.t-layout {
	display: block
}

.t-layout .l-img {
	width: 100%;
	min-width: 0
}

.t-layout .l-img img {
	-o-object-fit: cover;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	max-height: 100%;
	height: 500px;
	width: 100%;
	border-radius: 30px 0 0 30px
}

@media all and (max-width: 900px) {
	.t-layout .l-img img {
		border-radius: 0
	}
}

@media all and (max-width: 639px) {
	.t-layout .l-img img {
		height: auto
	}
}

.t-layout .l-desc {
	background: #fff;
	width: 80%;
	margin: -150px auto 0;
	padding: 4vw 5vw;
	position: relative;
	z-index: 5;
	border-radius: 30px;
	-webkit-box-shadow: 0 0 30px rgba(51, 51, 51, 0.1);
	box-shadow: 0 0 30px rgba(51, 51, 51, 0.1)
}

.t-layout .l-desc.bg-white {
	background: #fff
}

@media all and (max-width: 900px) {
	.t-layout .l-desc {
		margin: -200px auto 0;
		padding: 50px;
		width: 90%
	}
}

@media all and (max-width: 639px) {
	.t-layout .l-desc {
		margin: -50px auto 0;
		padding: 30px 15px
	}
}

.t-layout .l-desc .l-ttl01 {
	line-height: 1;
	position: absolute;
	left: 63px;
	top: -45px
}

.t-layout .l-desc .l-ttl01 .num {
	font-family: "Mochiy Pop One", sans-serif;
	font-size: 6vw;
	letter-spacing: 0.1em;
	font-weight: lighter;
	vertical-align: middle;
	margin-right: 35px
}

.t-layout .l-desc .l-ttl02 {
	font-family: "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	letter-spacing: .1em;
	margin-bottom: 30px
}

@media all and (max-width: 900px) {
	.t-layout .l-desc .l-ttl02 {
		margin-bottom: 20px
	}
}

.t-layout .l-desc .l-ttl02 .main-ttl {
	display: block;
	color: #58c754;
	font-size: 20px;
	margin-bottom: 25px;
	font-family: "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	line-height: 1.7
}

@media all and (max-width: 900px) {
	.t-layout .l-desc .l-ttl02 .main-ttl {
		font-size: 20px;
		margin-bottom: 10px;
		line-height: 1.7
	}
}

@media all and (max-width: 639px) {
	.t-layout .l-desc .l-ttl02 .main-ttl {
		text-align: center;
		letter-spacing: .4rem
	}
}

.t-layout .l-desc .l-ttl02 .sub-ttl {
	display: block;
	font-size: 20px;
	line-height: 2
}

.t-layout .l-desc .l-txt {
	margin-bottom: 0px
}

.t-layout.p02 {
	margin-bottom: 80px
}

.t-layout.p02 .l-img {
	-webkit-box-ordinal-group: 3;
	-ms-flex-order: 2;
	order: 2
}

.t-layout.p02 .l-desc {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
	margin: 4vw 0 0 -125px
}

@media all and (max-width: 1025px) {
	.t-layout.p02 .l-desc {
		margin: 24vw 70px 0 -350px
	}
}

@media all and (max-width: 900px) {
	.t-layout.p02 .l-desc {
		margin: -200px auto 0;
		padding: 50px;
		width: 90%
	}
}

@media all and (max-width: 639px) {
	.t-layout.p02 .l-desc {
		margin: -50px auto 0;
		padding: 30px 15px
	}
}

@media all and (max-width: 900px) {
	.t-layout.p02 {
		margin-bottom: 40px
	}

	.t-layout.p02 .l-img {
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 1;
		order: 1
	}

	.t-layout.p02 .l-desc {
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 2;
		order: 2;
		margin: -50px auto 0
	}
}

.t-layout .l-btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 20px -15px -20px
}

@media all and (max-width: 900px) {
	.t-layout .l-btn {
		display: block;
		margin: 20px 0 -15px
	}
}

.t-layout .l-btn li {
	margin: 0 auto 20px;
	width: 90%
}

@media all and (max-width: 900px) {
	.t-layout .l-btn li {
		margin: 0 auto 15px;
		width: 100%
	}
}

.t-layout .l-btn li a {
	min-width: 0;
	width: 100%
}

.t-layout .l-btn li .btn-style01 {
	display: inline-block;
	border: 1px solid #fff;
	font-family: "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-size: 14px;
	letter-spacing: 0.1em;
	min-width: 250px;
	padding: 12px 30px;
	position: relative;
	text-align: left;
	-webkit-transition: .2s;
	transition: .2s;
	color: #fff
}

.t-layout .l-btn li .btn-style01:after {
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	content: "";
	display: block;
	height: 8px;
	width: 8px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right: 20px;
	top: calc(50% - 4px);
	-webkit-transition: .4s;
	transition: .4s
}

.t-layout .l-btn li .btn-style01:hover {
	background: #111;
	color: #fff
}

.t-layout .l-btn li .btn-style01:hover:after {
	right: 10px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff
}

.sec05-card-wrapper {
	width: calc(100% - 4vw);
	margin: 0 auto
}

.sec01_2 {
	padding: 130px 11vw 100px 0;
	position: relative
}

@media all and (max-width: 1025px) {
	.sec01_2 {
		padding-top: 80px;
		padding-bottom: 80px
	}
}

@media all and (max-width: 900px) {
	.sec01_2 {
		padding: 60px 0 30px
	}
}

.top-bnr-list2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	max-width: 1500px;
	margin: 0 auto
}

.top-bnr-list2>li {
	width: 31%;
	position: relative;
	margin-bottom: 20px
}

.top-bnr-list2>li a {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 2
}

.top-bnr-list2>li a:hover {
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in
}

.top-bnr-list2>li a:hover .btn-arrow {
	background: #80e97d
}

.top-bnr-list2>li a:hover .btn-arrow i {
	border-bottom-color: #fefefe
}

.top-bnr-list2>li a:hover .btn-arrow i:before {
	border-right-color: #fefefe
}

.top-bnr-list2>li a:hover .top-bnr-img img {
	-webkit-transform: scale(1.05);
	transform: scale(1.05)
}

@media all and (max-width: 1025px) {
	.top-bnr-list2 {
		width: 85%;
		margin: 0 auto;
		-ms-flex-pack: distribute;
		justify-content: space-around
	}
}

@media all and (max-width: 900px) {
	.top-bnr-list2 {
		width: 95%
	}
}

@media all and (max-width: 639px) {
	.top-bnr-list2 {
		width: 95%
	}

	.top-bnr-list2>li {
		width: 100%
	}
}

.top-bnr-list2 .top-bnr-img {
	position: relative;
	width: 100%;
	height: 240px;
	overflow: hidden;
	-webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
	border-radius: 10px
}

.top-bnr-list2 .top-bnr-img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;";
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in
}

.top-bnr-list2 .top-bnr-img .point {
	position: absolute;
	top: 10px;
	left: 10px;
	background: rgba(51, 51, 51, 0.7);
	padding: 5px;
	font-size: 1.3rem;
	color: #fefefe;
	border: 1px solid #fefefe
}

@media all and (max-width: 639px) {
	.top-bnr-list2 .top-bnr-img {
		height: 200px
	}
}

.top-bnr-list2 .btn-arrow {
	width: 50px;
	height: 50px;
	position: absolute;
	right: 5px;
	top: 200px;
	text-align: center;
	line-height: 60px;
	border: 1px solid #80e97d;
	border-radius: 100%;
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in
}

@media all and (max-width: 639px) {
	.top-bnr-list2 .btn-arrow {
		top: 180px
	}
}

.top-bnr-list2 .btn-arrow i {
	display: block;
	position: absolute;
	width: 30px;
	border-bottom: 1px solid #80e97d;
	position: relative;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	height: 5px
}

.top-bnr-list2 .btn-arrow i:before {
	position: absolute;
	width: 10px;
	height: 8px;
	content: "";
	right: 3px;
	bottom: -1px;
	border-right: 2px solid #80e97d;
	-webkit-transform: skew(45deg);
	transform: skew(45deg)
}

.top-bnr-list2 .top-bnr-title {
	font-weight: 500;
	padding: 15px;
	line-height: 1.4
}

.top-bnr-list2 .top-bnr-title .eng {
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	text-transform: uppercase;
	font-weight: 500;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	color: #80e97d;
	display: block
}

.top-bnr-list2 .top-bnr-title .ja {
	font-size: 1.8rem;
	display: block;
	color: #222
}

@media all and (max-width: 639px) {
	.top-bnr-list2 .top-bnr-title .eng {
		font-size: 1.2rem
	}

	.top-bnr-list2 .top-bnr-title .ja {
		font-size: 1.6rem
	}
}

.top-bnr-list2 .top-bnr-txt {
	color: #222;
	padding: 10px;
	font-size: 1.4rem;
	font-family: "YakuHanJP", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.feature-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-left: -2%
}

.feature-list>li {
	width: 31.33%;
	margin-left: 2%;
	margin-bottom: 30px;
	background: rgba(128, 233, 125, 0.1);
	padding: 20px;
	border-radius: 20px;
	position: relative
}

.feature-list>li span {
	position: absolute;
	font-family: "Mochiy Pop One", sans-serif;
	font-size: 5rem;
	color: #80e97d;
	left: 10px;
	top: -10px;
	text-shadow: 2px 2px 0 #fefefe
}

.feature-list>li .txt {
	padding: 20px 0;
	color: #623b1c;
	text-align: center;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 900;
	font-weight: 900;
	font-size: 2rem
}

.feature-list>li .txt:after {
	content: "●●●";
	letter-spacing: .5em;
	text-align: center;
	display: block;
	font-size: 0.7em;
	color: #58c754
}

.feature-list>li .list-img img {
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;";
	overflow: hidden;
	width: 100%;
	height: 250px;
	border-radius: 10px
}

@media all and (max-width: 639px) {
	.feature-list {
		width: 90%;
		margin: 0 auto
	}

	.feature-list>li {
		width: 100%;
		margin: 0 auto 30px
	}

	.feature-list>li span {
		font-size: 4rem
	}
}

.voice-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

.voice-wrapper .voice-box {
	position: relative;
	width: 48%;
	margin: 20px auto;
	z-index: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}

.voice-wrapper .voice-box .voice-img img {
	position: relative;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	top: 50%;
	left: 0;
	width: 120px
}

.voice-wrapper .voice-box .voice-right {
	position: relative;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	margin-left: 40px;
	padding: 15px;
	background: #fff;
	border-radius: 10px
}

.voice-wrapper .voice-box .voice-right .voice-title {
	font-size: 1.7rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 900;
	color: #58c754;
	text-align: center;
	margin-bottom: 10px
}

.voice-wrapper .voice-box .voice-right .voice-title::before {
	content: "【"
}

.voice-wrapper .voice-box .voice-right .voice-title::after {
	content: "】"
}

.voice-wrapper .voice-box .voice-right .voice-name {
	font-size: 1.3rem;
	text-align: right;
	margin-bottom: 20px
}

.voice-wrapper .voice-box .voice-right .voice-txt {
	line-height: 2.2
}

.voice-wrapper .voice-box .voice-right:before {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 30px 20px 0;
	border-color: transparent #fff transparent transparent;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	top: 50%;
	left: -30px
}

@media all and (max-width: 900px) {
	.voice-wrapper {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column
	}

	.voice-wrapper .voice-box {
		width: 100%;
		margin: 0 auto 25px;
		min-height: 100px
	}

	.voice-wrapper .voice-box:last-child {
		margin: 0 auto
	}

	.voice-wrapper .voice-box .voice-img img {
		width: 50px
	}

	.voice-wrapper .voice-box .voice-right {
		margin-left: 20px;
		padding: 10px
	}

	.voice-wrapper .voice-box .voice-right .voice-title {
		font-size: 1.3rem;
		letter-spacing: 0.1em;
		margin-bottom: 5px
	}

	.voice-wrapper .voice-box .voice-right .voice-title::before,
	.voice-wrapper .voice-box .voice-right .voice-title::after {
		display: none
	}

	.voice-wrapper .voice-box .voice-right .voice-name {
		font-size: 1.1rem;
		margin-bottom: 15px
	}

	.voice-wrapper .voice-box .voice-right .voice-txt {
		line-height: 2
	}

	.voice-wrapper .voice-box .voice-right:before {
		border-width: 10px 15px 10px 0;
		left: -15px
	}
}

.more_btn a {
	position: relative;
	display: inline-block;
	color: #3daf39;
	padding-right: 48px;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.2;
	font-family: "Kiwi Maru", serif
}

.more_btn a::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	width: 35px;
	height: 6px;
	margin-top: -3px;
	border-bottom: 1px solid #58c754;
	border-right: 1px solid #58c754;
	-webkit-transform: skewX(45deg);
	transform: skewX(45deg);
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease
}

.more_btn a:hover::after {
	right: -.5em
}

.more_btn a span {
	display: block;
	font-size: 1.2rem
}

.top-area-bnr {
	margin-top: 50px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	position: relative;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

.top-area-bnr li {
	position: relative;
	width: calc(100% / 2 - 10px)
}

.top-area-bnr li .img_main {
	width: 100%;
	height: 400px;
	border-radius: 10px;
	overflow: hidden;
	background-color: #333
}

.top-area-bnr li .img_main img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;";
	opacity: .35;
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in
}

.top-area-bnr li .img_main:hover img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
	opacity: .85
}

.top-area-bnr li .text_area {
	position: absolute;
	bottom: 15px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 90%;
	padding: 10px 10px 13px;
	font-size: 2rem;
	background: #fefefe;
	text-align: center;
	color: #383837;
	border-radius: 50px
}

.top-area-bnr li .text_area .eng {
	font-family: "Mochiy Pop One", sans-serif;
	font-weight: 400;
	font-size: 1.3rem;
	display: block;
	letter-spacing: 0;
	color: #58c754
}

.top-area-bnr li .img_icon {
	position: absolute;
	top: -30px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 80px;
	height: 80px;
	background: #58c754;
	border-radius: 50px
}

.top-area-bnr li .img_icon img {
	width: 55px;
	height: 50px;
	-o-object-fit: contain;
	object-fit: contain;
	font-family: "object-fit: contain;";
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	position: absolute
}

.top-area-bnr li:nth-child(5) .img_main img {
	-o-object-position: right;
	object-position: right
}

@media all and (max-width: 1025px) {
	.top-area-bnr li {
		width: calc(100% / 3 - 10px);
		margin-bottom: 50px
	}

	.top-area-bnr li:nth-child(4),
	.top-area-bnr li:nth-child(5) {
		width: calc(100% / 2 - 10px)
	}
}

@media all and (max-width: 639px) {
	.top-area-bnr li {
		width: 100%
	}

	.top-area-bnr li:nth-child(5) {
		width: 100%
	}

	.top-area-bnr li .img_main {
		height: 200px
	}

	.top-area-bnr li .text_area {
		font-size: 1.5rem
	}

	.top-area-bnr li .text_area .eng {
		font-size: 1rem
	}
}

.slide_list,
.slide_list2 {
	position: relative;
	display: none
}

.slide_list li,
.slide_list2 li {
	margin-right: 1%
}

.slide_list li img,
.slide_list2 li img {
	width: auto;
	height: 200px;
	-webkit-transition: -webkit-filter 0.2s ease-in;
	transition: -webkit-filter 0.2s ease-in;
	transition: filter 0.2s ease-in;
	transition: filter 0.2s ease-in, -webkit-filter 0.2s ease-in
}

@media all and (max-width: 639px) {

	.slide_list li,
	.slide_list2 li {
		margin-right: 2%
	}

	.slide_list li img,
	.slide_list2 li img {
		height: 80px
	}
}

.slide_list2 {
	margin: 1% auto 0
}

@media all and (max-width: 639px) {
	.slide_list2 {
		margin: 2% auto 0
	}
}

@-webkit-keyframes circle-anime {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0)
	}

	5% {
		opacity: 0
	}

	25% {
		opacity: 0
	}

	50% {
		opacity: 1
	}

	75% {
		opacity: 0
	}

	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg)
	}
}

@keyframes circle-anime {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0)
	}

	5% {
		opacity: 0
	}

	25% {
		opacity: 0
	}

	50% {
		opacity: 1
	}

	75% {
		opacity: 0
	}

	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg)
	}
}

@-webkit-keyframes circle-anime2 {
	0% {
		opacity: 0;
		-webkit-transform: rotate(0);
		transform: rotate(0)
	}

	15% {
		opacity: 1
	}

	50% {
		opacity: 0
	}

	75% {
		opacity: 1
	}

	100% {
		opacity: 0
	}

	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg)
	}
}

@keyframes circle-anime2 {
	0% {
		opacity: 0;
		-webkit-transform: rotate(0);
		transform: rotate(0)
	}

	15% {
		opacity: 1
	}

	50% {
		opacity: 0
	}

	75% {
		opacity: 1
	}

	100% {
		opacity: 0
	}

	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg)
	}
}

.circle-line {
	position: absolute;
	right: -8%;
	bottom: 10%;
	-webkit-animation: circle-anime 20s linear infinite;
	animation: circle-anime 20s linear infinite
}

.circle-line2 {
	position: absolute;
	left: -5%;
	top: 8%;
	-webkit-animation: circle-anime2 20s linear infinite;
	animation: circle-anime2 20s linear infinite
}

.circle-line2 img {
	width: 170px
}

@media all and (max-width: 1025px) {
	.circle-line img {
		width: 200px
	}

	.circle-line2 img {
		width: 120px
	}
}

@media all and (max-width: 900px) {
	.circle-line {
		bottom: 34%
	}

	.circle-line img {
		width: 140px
	}

	.circle-line2 img {
		width: 80px
	}
}

@media all and (max-width: 639px) {
	.txtarea {
		text-align: center
	}

	.title {
		width: 70%
	}

	.circle-line {
		bottom: 54%
	}

	.circle-line img {
		width: 70px
	}

	.circle-line2 {
		top: 13%
	}

	.circle-line2 img {
		width: 40px
	}
}

.gallerybox {
	position: relative
}

.bg-bluepot {
	background-size: auto auto;
	background-color: #fff;
	background-image: repeating-linear-gradient(90deg, transparent, transparent 2px, rgba(255, 255, 255, 0.98) 2px, rgba(255, 255, 255, 0.98) 102px), repeating-linear-gradient(0deg, transparent, transparent 52px, #58c754 52px, #58c754 54px)
}

.bg-dot {
	position: relative;
	background-image: radial-gradient(rgba(98, 215, 154, 0.2) 7%, transparent 10%), radial-gradient(rgba(98, 215, 154, 0.2) 7%, transparent 10%);
	background-position: 0 0, 20px 20px;
	background-size: 40px 40px
}


.video_box {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.video_box video {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/*# sourceMappingURL=basis.css.map */