@charset "utf-8";

/*
源ノフォント
ゴシック
font-family: source-han-sans-cjk-ja, sans-serif;
明朝
font-family: source-han-serif-japanese, serif;
丸ゴシック
font-family: fot-tsukuardgothic-std, sans-serif;
*/

html {
		font-family: fot-tsukuardgothic-std, sans-serif;
}
body {
    background: #fff;
    color: #535353;
}
a {
    color: #535353;
}

.inner {max-width: 1080px;width: 100%;margin: 0 auto;box-sizing: border-box;}

.marker {background: linear-gradient(transparent 60%, rgba(249, 240, 78, 0.8) 60%);}



/* **************************************************************** */
/* ヘッダー
*/
#top header {

}
#top header.scrool {
		background: #5b442d;
}


header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    box-sizing: border-box;
    width: 100%;
    color: #fff;
    padding: 0.5em 0;
		transition: all 500ms 0s ease;
}

header .inner {
    align-items: center;
    justify-content: space-between;
}
header .logo {
		display:none;
}
header nav {
		flex: 1 0 0%;
    margin-right: 4em;
}
header nav ul {

}
header nav ul li {

}
header nav ul li + li {

}


header nav ul li a {
		color: #fff;
    text-decoration: none;
}
header nav ul li a:hover {

}

.social_list {

}
.social_list ul {

}
.social_list ul li {

}
.social_list ul li + li {
    margin-left: 0.5em;
    transition: all 200ms 0s ease;
		transform: scale(1);
}
.social_list ul li a img:hover {
    transition: all 200ms 0s ease;
		transform: scale(1.05);
}

/* **************************************************************** */
/* フッター
*/

footer {
		background: #8fc41f;
		color:#fff;
    padding: 0;
}
.footer_content {
    padding: 1.5em 0;
}

footer nav {
    flex: 1 0 0%;
    margin-bottom: 1em;
}
footer nav ul.flex {
align-items: flex-start;
    justify-content: center;
}
footer nav ul li {
    font-size: 18px;
    line-height: 1.4em;
}
footer nav ul li + li {
    margin-left: 2em;
}


footer nav ul li a {
		color: #fff;
    text-decoration: none;
}
footer nav ul li a:hover {

}

footer .logo {
    margin-bottom: 1em;
}

footer .copy {
    display: block;
    font-size: 14px;
    line-height: 1.2em;
}


.footer_bottom {
    background: rgb(255 255 255 / 0.8);
    padding: 0.5em;
}
.footer_bottom .social_list {

}
.footer_bottom .social_list ul {
    align-items: center;
    justify-content: center;
}
.footer_bottom .social_list ul li {

}
.footer_bottom .social_list ul li + li {

}
/* **************************************************************** */
/* コンタクト
*/






/* **************************************************************** */
/* 個別CSS
*/

.mv {
    height: 100vh;
		position:relative;
		overflow: hidden;
}
.mv_overray {
		position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: url(../images/bg_mv.jpg) no-repeat center;
    background-size: cover;
		animation: contentScale 2.6s;
}
@keyframes contentScale{
  0%{transform:scale(1.1);}
  100%{transform:scale(1);}
}


.mv .inner {
    height: 100%;
    align-items: center;
    justify-content: space-between;
}
.mv_content {
    align-items: center;
    justify-content: center;
}
.mv_logo {

}
.mv_logo img {

}
.mv_catch {
    flex: 1 0 0%;
}
.mv_catch h1 {

    color: #fff;
    font-size: 60px;
		text-shadow:
			0 0 3px #416a1f,
			0 0 3px #416a1f,
			0 0 3px #416a1f,
			0 0 3px #416a1f,
			0 0 3px #416a1f,
			0 0 3px #416a1f,
			0 0 3px #416a1f,
			0 0 3px #416a1f,
			0 0 3px #416a1f,
			0 0 3px #416a1f,
			0 0 3px #416a1f,
			0 0 3px #416a1f,
			0 0 3px #416a1f,
			0 0 3px #416a1f,
			0 0 3px #416a1f,
			0 0 3px #416a1f;
		}



.content_wrap {
		padding:3em 0;
}

.top_content {
		height: 450px;
}
.top_content .inner {
    align-items: center;
    justify-content: space-between;
    height: 100%;
}

.top_content + .top_content {
		margin-top:3em;
}

.top_box {
    width: 50%;
    box-sizing: border-box;
    padding: 0 3em;
    position: relative;
}

.top_content:nth-child(odd) .top_box {
		margin-right: auto;
}
.top_content:nth-child(even) .top_box {
    margin-left: auto;
}


.top_box h2 {
    color: #037730;
    font-size: 36px;
    line-height: 1em;
    font-weight: normal;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    position: absolute;
}
.top_content:nth-child(odd) .top_box h2 {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    left: 0;
}
.top_content:nth-child(even) .top_box h2 {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    right: 0;
}

.top_box h3 {
		color: #975f05;
    font-size: 36px;
    line-height: 1.2em;
    margin-bottom: 0.5em;
    display: inline-block;
    text-align: left;
}
.top_box p {
    font-size: 16px;
    line-height: 1.8em;
    text-align: left;
    margin-bottom: 2em;
    display: inline-block;
}


.more_box {

}
.more_box a {
    border: solid 1px #535353;
    padding: 0.8em 2em;
    text-decoration: none;
    transition: all 500ms 0s ease;
    font-size: 16px;
    display: inline-block;
}
.more_box a:hover {
		background: #5b442d;
		color:#fff;
}
.more_box a span {

}


.top_company {
		position:relative;
}
.top_company:after {
		content: "";
    background: url(../images/bg_banner_01.jpg) no-repeat left center;
		background-size: cover;
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

.top_works {
		position:relative;
}
.top_works:after {
		content: "";
    background: url(../images/bg_banner_02.jpg) no-repeat right center;
		background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

.top_product {
		position:relative;
}
.top_product:after {
		content: "";
    background: url(../images/bg_banner_03.jpg) no-repeat left center;
		background-size: cover;
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}


#page {

}

#page header {
    background: #5b442d;
}
.page_content {
    padding-top: 68px;
    padding-bottom: 3em;
}




.page_title_wrap {
    position: relative;
    height: 500px;
    margin: 2em 0;
}
.page_title_wrap .inner {
    position: relative;
    height: 100%;
    align-items: flex-end;
    justify-content: space-between;
}
.page_title_wrap .inner .en {
    color: #037730;
    font-size: 36px;
    line-height: 1em;
    font-weight: normal;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    position: absolute;
    top: 0;
    left: 0;
}
.page_title_bloc {
		background: #22ac38;
    color: #fff;
    width: 750px;
    height: 300px;
    box-sizing: border-box;
    padding: 2em;
    border-radius: 10px;
    text-align: left;
    margin-right: auto;
    margin-left: 4em;
}
.page_title_bloc h1 {
    font-size: 36px;
    line-height: 1.4em;
}

.page_title_wrap:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 56%;
    height: 450px;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}


.works_title:after {
    background: url(../images/bg_works_title.jpg) no-repeat left center;
    background-size: cover;
}
.product_title:after {
    background: url(../images/bg_product_title.jpg) no-repeat left center;
    background-size: cover;
}
.flow_title:after {
    background: url(../images/bg_flow_title.jpg) no-repeat left center;
    background-size: cover;
}
.shop_list_title:after {
    background: url(../images/bg_shop_list_title.jpg) no-repeat left center;
    background-size: cover;
}
.company_title:after {
    background: url(../images/bg_company_title.jpg) no-repeat left center;
    background-size: cover;
}
.contact_title:after {
    background: url(../images/bg_contact_title.jpg) no-repeat left center;
    background-size: cover;
}



.under_wrap {

}
.case_item {

}
.under_wrap .inner > * + * {
    margin-top: 3em;
}


.case_item .upper {
    margin-bottom: 2em;
}
.upper_title {

}

.upper_title .num {
		display: block;
    color: #037730;
    font-size: 24px;
    line-height: 1.2em;
    text-align: left;
    margin-bottom: 0.2em;
}
.upper_title h2 {
    color: #975f05;
    font-size: 30px;
    line-height: 1.2em;
    text-align: left;
    border-bottom: solid 1px #975f05;
    padding-bottom: 0.5em;
}
.upper_title + p {
    color: #975f05;
    font-size: 18px;
    line-height: 1.4em;
    font-weight: bold;
    text-align: left;
		margin-top: 1em;
}





.case_item .case_image {
		text-align: right;
    margin-bottom: 2em;
}
.case_item .case_image img {

}

.case_item .case_voice {

}
.case_item .case_voice h3 {
    background: #22ac38;
    color: #fff;
    display: inline-block;
    border-radius: 50px;
    font-size: 24px;
    line-height: 1em;
    padding: 0.5em 1em;
}
.case_item .case_voice .voice_item {
		align-items: center;
    justify-content: space-between;
}
.case_item .case_voice .voice_item figure {

}
.case_item .case_voice .voice_item p {
    flex: 1 0 0%;
    text-align: left;
    font-size: 16px;
    line-height: 1.4em;
    margin-left: 1em;
}

.line_item {

}
.line_item .upper {
		margin-bottom: 2em;
}
.line_box figure {
    text-align: center;
    margin-bottom: 1em;
}
.line_box dl {
    align-items: flex-start;
    justify-content: center;
    font-size: 24px;
    line-height: 1.2em;
    margin-bottom: 1em;
}
.line_box dl dt {

}
.line_box dl dd {
    margin-left: 1em;
}
.line_box p {
		font-size: 16px;
    line-height: 1.4em;
    display: inline-block;
    text-align: left;
}




.product_item {

}

.product_item .upper {
    margin-bottom: 2em;
}

.product_bloc {
		margin-bottom: 2em;
}
.product_bloc > figure {

}
.product_bloc > .detail {
		flex: 1 0 0%;
    margin-left: 2em;
    text-align: left;
}
.product_bloc > .detail .info {
    margin-bottom: 1em;
}
.product_bloc > .detail .info h3 {
    color: #975f05;
    font-size: 24px;
    line-height: 1.4em;
    margin-bottom: 0.5em;
}
.product_bloc > .detail .info p {
    font-size: 16px;
    line-height: 1.4em;
}

.product_bloc > .detail .price {
		align-items: center;
    justify-content: flex-start;
}
.product_bloc > .detail .price figure {

}
.product_bloc > .detail .price .price_item {
    flex: 1 0 0%;
    margin-left: 1em;
}

.product_bloc > .detail .price .price_item .text {
		font-size: 18px;
    line-height: 1.4em;
    margin-bottom: 0.5em;
}
.product_bloc > .detail .price .price_item .price_num {
    color: #22ac38;
    font-size: 36px;
    line-height: 1.6em;
    font-weight: 900;
}
.product_bloc > .detail .price .price_item .price_num em {
		font-size: 90px;
    font-style: normal;
}
.product_bloc > .detail .price .price_item .sub {
    display: block;
    font-size: 14px;
    line-height: 1.4em;
}
.product_meta {

}
.product_meta dl  {
		width: 25%;
    box-sizing: border-box;
    padding: 0 0.5em;
}
.product_meta dl + dl {

}
.product_meta dl dt {
		background: #975f05;
    color: #fff;
    display: inline-block;
    border-radius: 50px;
    font-size: 24px;
    line-height: 1em;
    padding: 0.5em 1em;
    margin-bottom: 0.5em;
}
.product_meta dl dd {
    font-size: 16px;
    line-height: 1.6em;
    text-align: left;
}




.flow_item .upper {
    margin-bottom: 2em;
}

.flow_bloc {
    width: 80%;
    margin: 0 auto;
}
.flow_bloc ol {

}
.flow_bloc ol li {
    align-items: center;
    justify-content: space-between;
}
.flow_bloc ol li + li {
    margin-top: 0.5em;
}
.flow_bloc ol li + li:before {
		content: "";
    background: url(../images/icon_arrow_flow.png) no-repeat;
    width: 100%;
    height: 29px;
    display: block;
    margin-bottom: 0.5em;	
}

.flow_bloc ol li .ttl {
    width: 50%;
    text-align: left;
}
.flow_bloc ol li .ttl .num {
		background: #22ac38;
    color: #fff;
    display: inline-block;
    border-radius: 50px;
    font-size: 16px;
    line-height: 1em;
    padding: 0.2em 1em;
}
.flow_bloc ol li .ttl h3 {
    font-size: 18px;
    line-height: 1.4em;
}


.flow_bloc ol li .detail {
    flex: 1 0 0%;
}
.flow_bloc ol li .detail p {
    font-size: 16px;
    line-height: 1.4em;
    text-align: left;
}



.shop_list_item .upper {
    margin-bottom: 2em;
}

.shop_list_bloc {
		align-items: center;
    justify-content: flex-start;
}
.shop_list_bloc figure {

}
.shop_list_bloc .detail {
    flex: 1 0 0%;
    margin-left: 2em;
    text-align: left;
}
.shop_list_bloc .detail .shop_address {
    font-size: 16px;
    line-height: 1.4em;
    position: relative;
    padding-left: 1.5em;
    margin-bottom: 0.5em;
}
.shop_list_bloc .detail .shop_address:before {
    content: "";
    background: url(../images/icon_address_mini.png) no-repeat;
    width: 100%;
    height: 29px;
    display: block;
    position: absolute;
    top: 1px;
    left: 0;
}
.shop_list_bloc .detail .shop_tel {
    font-size: 24px;
    line-height: 1.4em;
    position: relative;
    padding-left: 1em;
}
.shop_list_bloc .detail .shop_tel:before {
    content: "";
    background: url(../images/icon_tel_mini.png) no-repeat;
    width: 100%;
    height: 29px;
    display: block;
    position: absolute;
    top: 7px;
    left: 0;
}



.company_item .upper {
    margin-bottom: 2em;
}

.company_bloc {

}
.company_bloc.flex {

}

.company_bloc p {
		font-size: 16px;
    line-height: 1.4em;
    text-align: left;
}


.company_bloc .company_data {
    flex: 1 0 0%;
    margin-right: 2em;
}
.company_bloc .company_data dl {
    font-size: 16px;
    line-height: 1.4em;
}
.company_bloc .company_data dl + dl {
		margin-top:0.5em;
}
.company_bloc .company_data dl dt {
		width: 30%;
    text-align: left;
}
.company_bloc .company_data dl dd {
    flex: 1 0 0%;
    text-align: left;
}

.company_bloc .map {
    width: 50%;
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
}
.company_bloc .map iframe {
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		width: 100%;
}


.contact {
    padding: 0;
}
.contact_bloc {
    margin: 0 auto 2em;
}
.contact_item .upper {
    margin-bottom: 2em;
}

.contact_bloc .btn_bloc {
		margin-top:2em;
}

.contact_zip1 {
    width: 3.5em;
}

.radio_wrap.flex .radio_item + .radio_item {
		margin-left:1em;
}


.contact_bloc dl dt.required:after {
    line-height: 1;
    background: #22ac38;
    padding: 3px 4px 4px;
}
.btn_bloc button {
    background: #22ac38;
    box-shadow: none;
    border-radius: 50px;
}


.thanks_body header {
    position: fixed;
}
.thanks .detail {
    margin: 0 auto 2em;
}




















