@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/*------------------------------------------------------------------------------------------------------------------------
 *  共通
 *------------------------------------------------------------------------------------------------------------------------*/

/*----- フォント -------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique:wght@400;700;900&display=swap");

/*----- 余白 -------------------------*/
body{--color_navy: #091c37;}
.page #content {
	padding-top: 0 !important;
	margin-bottom: 0 !important;
}

.radius-box {
	border-radius: 2em;
}
.article-box > div {
	max-width: var(--article_size);
	margin: auto;
	padding: 2em 0;
}

.swell-block-fullWide.has-bg-img{
	background-repeat: repeat;
    background-size: auto;
}

/*----- ヘッダー -------------------------*/
[data-scrolled=false] .home #header .c-iconBtn {
	color: #fff;
}

#header:not(.-transparent){
	background-position: 0% 0%;
	background-color: #eeeeeee6;
	background-image: url(/wp-content/uploads/2026/07/texture.webp);
}
#header:not(.-transparent)::before {
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	background-color: inherit;
	z-index: 1;
}


/*----- コンテンツヘッダー -------------------------*/
.l-topTitleArea {
	min-height: clamp(200px, 30vw, 35vh);
	overflow: visible;
	z-index: 2;
	background-image: url(/wp-content/uploads/2026/07/texture.webp);
}
.l-topTitleArea .l-topTitleArea__img {
	display: none !important;
}

.l-topTitleArea::before {
	content: "";
	background-color: #eeeeee;
	opacity: 0.9;
	position: absolute;
	width: 100%;
	height: 100%;
}
.l-topTitleArea::after {
	content: "";
	display: block;
	width: auto;
	height: 120%;
	aspect-ratio: 4 / 3;
	position: absolute;
	top: 0;
	left: var(--container_size);
	transform: translate(0%, 5%);
	background-image: url(/wp-content/uploads/2026/07/wel-circle_blue.png);
	background-repeat: no-repeat;
	background-size: contain;
}

.l-topTitleArea .c-pageTitle {
	display: flex;
	flex-direction: column-reverse;
	color: var(--color_navy);;
	font-size: clamp(28px, 5vw, 72px);
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-shadow: none;
}
.l-topTitleArea .c-pageTitle .c-pageTitle__subTitle {
	font-family: "Zen Kaku Gothic Antique", var(--swl-font_family);
	font-weight: 900;
	font-style: normal;
	color: var(--color_main);
	font-size: 1.2rem;
	letter-spacing: 0.25em;
	opacity: 1;
    position: relative;
    top: -2px;	
	margin-bottom: 0.5rem;
	margin-left: 0em;
	padding-block: 2px;	
}

@media (min-width: 600px) and (max-width: 1200px) {/*var(--container_size)以下*/
	.l-topTitleArea::after {
        width: 35vw;
        height: auto;
        left: auto;
        right: 1rem;
        transform: translate(0%, 25%);
	}	
}
@media (max-width: 599px) {
	.l-topTitleArea::after {
        width: 45vw;
        height: auto;
        left: auto;
        right: 1rem;
        transform: translate(0%, 35%);
	}	
	.l-topTitleArea .c-pageTitle {
		margin-bottom: 1em;	
	}
}



/*----- パンくず・フッター -------------------------*/
#breadcrumb {
	position: absolute;
	width: 100%;
	top: 100%;
	left: 50%;
	transform: translate(-50%, -150%);
	z-index: 1;
}
#before_footer_widget{
	margin-top: 0;
}


/*----- 見出し -------------------------*/
h2.wp-block-heading,
h3.wp-block-heading,
.c-pageTitle {
	font-family: "Zen Kaku Gothic Antique", var(--swl-font_family);
	font-weight: 700;
	letter-spacing: 0.05em;
	--swl-letter_spacing: 0.05em;
}

h2.wp-block-heading {
	font-size: clamp(28px, 3vw, 42px);
	margin-bottom: 1em;
}
h3.wp-block-heading.is-style-section_ttl {
	font-size: clamp(24px, 2.5vw, 36px);
	margin-bottom: 1em;
}
h3.wp-block-heading:not(.is-style-section_ttl){
	font-size: clamp(22px, 2.5vw, 25px);
	margin-bottom: 1em;	
}

h2.wp-block-heading > small {
	font-size: clamp(1rem, 2vw, 0.5em) !important;
	opacity: 1;
}
h3.wp-block-heading > small {
	font-size: clamp(1rem, 2vw, 0.8em) !important;
	opacity: 1;
}


/* ラベルタイトル */
h2.wp-block-heading.label-title {
	font-size: clamp(36px, 5vw, 64px);
	font-weight: 700;
	color: var(--color_main);
	text-align: left;
	margin-bottom: 0.5em;
	letter-spacing: 0.05em;
}
h2.wp-block-heading.label-title small {
	display: block;
	width: fit-content;
	background: #a8a499;
	padding: 0.5em 1em;
	border-radius: 0.5rem;
	font-size: clamp(16px, 2.5vw, 18px) !important;
	font-weight: 900;
	letter-spacing: 0.1em;
	color: #fff;
	opacity: 1;
}

/*
@media (max-width: 600px) {
	h2.wp-block-heading.label-title {
		text-align: center;
	}
	h2.wp-block-heading.label-title small{
		margin: auto;
	}
}
*/
@media (max-width: 600px) {
	.sp-left{text-align:left !important;}
	.sp-center{text-align:center !important;}
}


/*----------------------------------------------------------------------------------------------------------------------------------------------------------------
 *  TOP
 *----------------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*----- FV/スライダー -------------------------*/
#top {
	height: 98vh;
	overflow: hidden;
}
#top .swell-block-columns__inner {
	height: 100%;
}

/*キャッチコピー画像*/
#top .catch-group {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	padding-top: var(--swl-headerH);
	/*padding-top: calc(var(--swl-box_padding) * 2);*/
}
#top .catch-group .wp-block-image > img {
	width: 80%;
	object-fit: cover;
	border-radius: 2rem;
}
/*キャッチコピーテキスト*/
#top .catch-group h2.wp-block-heading {
	font-size: clamp(32px, 5vw, 50px);
	font-weight: 900;
	margin-top: -1.5em;
	margin-bottom: 1rem;
	color: #fff;
	transform: translateY(-30%);
}
#top .catch-group p.wp-block-paragraph {
	font-size: clamp(18px, 3vw, 22px);
	font-weight: bold;
	margin-top: -1.5em;
}

/*スライダー*/
#top .top-slider {
	position: relative;
	overflow: hidden;
}
#top .top-slider::after {
	content: "";
	position: absolute;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: #091b35;
	opacity: 0;
	z-index: 1;
}
#top .top-slider .wp-block-gallery {
	flex-wrap: nowrap;
	transition-timing-function: linear;
	--wp--style--gallery-gap-default: 0;
	gap: 0px;
}
#top .top-slider .swiper-slide > img {
	height: 100%;
	object-fit: cover;
}

@media (max-width: 959px) {
	#top .swell-block-columns__inner {
		position: relative;
	}
	#top .top-slider {
		width: 100% !important;
		/* height: 100%;*/
	}

	/*スライダー上部にオーバーレイ*/
	#top .top-slider::after {
		background: linear-gradient(
			to bottom,
			rgba(0, 0, 0, 0.75),
			rgba(0, 0, 0, 0) 50%
		);
		opacity: 1;
	}

	/* キャッチコピー */
	#top .swell-block-column:has(.catch-group) {
		position: absolute;
		width: 100% !important;
		z-index: 2;
	}
	#top .catch-group {
		width: 90%;
		margin: auto;
		background: transparent !important;
		padding: calc(var(--swl-headerH) * 1.5) 1.5rem 0;
	}
	#top .catch-group h2.wp-block-heading,
	#top .catch-group p.wp-block-paragraph {
		margin-top: 0;
		transform: none;
	}
	#top .catch-group .wp-block-image {
		display: none;
	}
}
@media (max-width: 959px) and (orientation: portrait) {
	#top {
		height: 70vh;
	}
}


/*----- 主力製品 -------------------------*/
.main-column h3.wp-block-heading {
	paint-order: stroke fill;
	-webkit-text-stroke: 3.5px #fff;
	font-size: 2.5rem;
	margin-top: -2.5em;
	margin-left: 25%;
	text-align: center;
	letter-spacing: 0.25em;
}

.main-column p.wp-block-paragraph {
	font-size: 1.2rem;
	padding-top: 2rem;
}

@media (min-width: 600px) and (max-width: 959px) {
	.main-column .swell-block-columns__inner {
		justify-content: center;
	}
	.main-column h3.wp-block-heading {
		margin-top: -2em;
	}
	.main-column p.wp-block-paragraph {
		padding-top: 0;
		text-align: left !important;
	}
	.main-column p.wp-block-paragraph br {
		display: none;
	}
}

@media (max-width: 599px) {
	.main-column h3.wp-block-heading {
		font-size: 28px;
	}
	.main-column .wp-block-image {
		width: 75%;
		margin-left: auto;
		margin-right: auto;
	}
}

/*----- サービス -------------------------*/
.service {
	display: flex;
}
.service > .swell-block-fullWide__inner {
	width: 65%;
	margin-right: 0;
	padding-top: 4em;
	padding-bottom: 6em;
}
.service::before {
	content: "";
	display: block;
	width: 35%;
	height: 100vh;
	background-image: url(/wp-content/uploads/2026/09/service-grains-vertical4.1.jpg-scaled.jpeg);
	background-repeat: no-repeat;
	background-size: cover;
	position: sticky;
	top: 0;
}

/*サービスグループ*/
.service .service-group {
	padding: 0 1rem;
	margin-bottom: 4.5em;
}
.service-group .swell-block-button {
	margin-top: 2.5em;
}

/*理由・サービス・グループ会社*/
.service .service-group .group-label {
	color: var(--color_navy);
	padding-bottom: 0.5em;
	border-bottom: 1px solid #d5dde2;
	margin-bottom: 1.2em !important;
}
.service .reason-column .wp-block-image,
.service .service-group .group-media .wp-block-media-text__media{
    max-width: 120px;
    margin: auto;	
}

.service .swell-block-dl.is-style-float{
    font-size: inherit;
}
.service .swell-block-dl.is-style-float .swell-block-dl__dt{
    font-size: clamp(22px, 2.5vw, 25px);
}
.service .swell-block-dl.is-style-float .swell-block-dl__dd{
    flex-grow: 1;
    width: calc(70% - var(--swl-dt-width));
}


@media (max-width: 1024px) {
	.service,
	.service .swell-block-dl.is-style-float{
		flex-direction: column;
	}
	.service::before {
		width: 100%;
		height: auto;
		max-height: 450px;
		aspect-ratio: 16 / 9;
		position: static;
		background-position: center;
	}
	.service > .swell-block-fullWide__inner {
		width: 100%;
		padding-bottom: 4em;
	}

	/*理由・サービス・グループ会社*/
	.service .swell-block-dl.is-style-float .swell-block-dl__dt,
	.service .swell-block-dl.is-style-float .swell-block-dl__dd {
		width: 100%;
	}

	.service .swell-block-dl.is-style-float .swell-block-dl__dd {
		margin-bottom: 1.5em;
	}
	.service .swell-block-dl.is-style-float .swell-block-dl__dd:last-child {
		margin-bottom: 0;
	}

}
@media (max-width: 599px) {
	.service .service-group .group-media{
		text-align: center;
	}
	.service .reason-column .wp-block-image,
	.service .service-group .group-media .wp-block-media-text__media{
    	max-width: 85px;
    	margin: auto;	
	}
	
	.service .swell-block-dl.is-style-float .swell-block-dl__dt{
	    padding-right: 0;	
	}
	.service .swell-block-dl.is-style-float .swell-block-dl__dt:after{
		display: none;
	}
}

/*----- お問い合わせCTA -------------------------*/
/*
.contact-group {
	position: relative;
}
.contact-group::before {
	content: "";
	display: block;
	width: 35%;
	aspect-ratio: 4 / 3;
	position: absolute;
	top: -75%;
	right: -50%;
	transform: translate(-100%, 0%);
	background-image: url(/wp-content/uploads/2026/07/wel-circle.png);
	background-repeat: no-repeat;
	background-size: contain;
}
*/
.contact-group h3.wp-block-heading {
	font-size: clamp(24px, 4vw, 48px);
	margin-bottom: 1rem;
	line-height: 1;
	text-align: center;
}
.contact-group p.wp-block-paragraph {
	font-size: clamp(22px, 3.5vw, 28px);
	font-weight: bold;
}
@media (min-width: 600px) {
	.contact-group .swell-block-button.-size-l{
		--the-min-width: 60%;	
	}
}


/*------------------------------------------------------------------------------------------------------------------------
 *  事業内容
 *------------------------------------------------------------------------------------------------------------------------*/
/*主力製品*/
.business-product .wp-block-media-text{
	border-radius: 1rem;
	overflow: hidden;	
}

/*提供サービス*/
.business-service .wp-block-media-text:not(.has-media-on-the-right) .wp-block-media-text__media{
    position: relative;
    width: 50vw;
	left: calc((var(--container_size) - 100vw) / 2);	
	border-radius: 0 1rem 1rem 0;
	overflow: hidden;
}
.business-service .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media{
    position: relative;
    width: 50vw;
	left: 0;	
	border-radius: 1rem 0 0 1rem;
	overflow: hidden;	
}

.business-service h3 > small{
	color: var(--color_main);
}

@media (min-width: 1201px) {/*var(--container_size)以上*/
	.business-service .wp-block-media-text{
		--swl-mediatext--space: 3rem;
	}
}
@media (max-width: 1200px) {/*var(--container_size)以下*/
	.business-service .wp-block-media-text{
		margin-bottom: 2em !important;
	}	
	.business-service .wp-block-media-text .wp-block-media-text__media{
		height: 100%;
	}
	.business-service .wp-block-media-text:not(.has-media-on-the-right) .wp-block-media-text__media{
		left: calc(var(--swl-fw_inner_pad) * -1);
	}
	.business-service .wp-block-media-text .wp-block-media-text__media > img{
		height: 100%;
    	object-fit: cover;
	}	
}
@media (max-width: 959px) {
	.business-intro h2.wp-block-heading{
		font-size: clamp(25px, 3vw, 32px);
		overflow-wrap: break-word;
		word-break: keep-all;
	}
}
@media (max-width: 600px) {
	.business-service .wp-block-media-text .wp-block-media-text__media{
	    width: 100vw !important;
		overflow: visible !important;
	}
	.business-service .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media{
		left: calc(var(--swl-fw_inner_pad) * -1);
	}
	.business-service .wp-block-media-text .wp-block-media-text__content{
		padding: 2rem 0 0 !important;
	}
}


/*------------------------------------------------------------------------------------------------------------------------
 *  企業理念
 *------------------------------------------------------------------------------------------------------------------------*/
#policy .swell-block-columns {
	--policy_height: 75vh;
	--policy_padding: 4em;
	padding: var(--policy_padding) 0;
}

/* 左カラム画像 */
#policy .policy-img {
	height: var(--policy_height);
	display: flex;
	align-items: center;
	position: sticky;
	position: -webkit-sticky;
	top: calc(var(--swl-fix_headerH) + var(--policy_padding));
	border-radius: 3rem;
	overflow: hidden;
}
#policy .policy-img::before {
	content: "";
    background: linear-gradient(to bottom, transparent 50%, #000);
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.5;
    z-index: 1;
}

#policy .policy-img .wp-block-image {
	max-width: 100%;
	height: 100%;
	overflow: hidden;
	margin: 0 auto;
	display: block;
	visibility: hidden;
	position: absolute;
	top: 0;
	bottom: 0;
	transition: 0.8s;
	opacity: 0;
}
#policy .policy-img .wp-block-image:first-of-type,
#policy .policy-img .wp-block-image.active {
	visibility: visible;
	opacity: 1;
}

#policy .policy-img .wp-block-image > img {
	max-width: none;
	object-fit: cover;
}
#policy .policy-img .scroll-box01 img,
#policy .policy-img .scroll-box02 img{
	object-position: 50% center;
}
#policy .policy-img .scroll-box03 img {
	object-position: center 70%;
}


/* 左カラムテキスト */
#policy .policy-img .policy-catch {
	width: 100%;
	color: #fff;
	padding: 2rem 1.5rem;
	position: absolute;
	top: 100%;
	left: 0;
	transform: translate(0, -100%);
	z-index: 2;
}

#policy .policy-img .policy-catch .wp-block-heading {
	font-size: clamp(24px, 3vw, 36px);
}
#policy .policy-img .policy-catch .wp-block-heading > small {
	font-size: 1.2rem;
	letter-spacing: 1px;
}


/* 右カラムテキスト */
#policy .policy-content .wp-block-group {
	min-height: calc(var(--policy_height) / 2.5);
	padding: 3em 2em;
	display: flex;
	align-items: center;
}
#policy .policy-content .wp-block-group:first-of-type {
	padding-top: calc(var(--policy_height) / 5);
}
#policy .policy-content .wp-block-group:last-of-type {
	padding-bottom: calc(var(--policy_height) / 8);
}

#policy .policy-content .wp-block-heading > small {
	color: var(--color_main);
}


@media (min-width: 960px) {
	#policy{
		background: #fff !important;
	}
	#policy .policy-content .policy-sp {
		display: none !important;
	}	
}

@media (max-width: 959px) {
	#policy .swell-block-columns{
	    --policy_padding: 1em;	
	}
	#policy .swell-block-column {
		width: 100% !important;
	}
	/* 左カラムを非表示 */
	#policy .policy-img {
		display: none !important;
	}

	/* --- 右カラム --- */
	#policy .policy-content > .wp-block-group {
        background: #fff;
		min-height: auto;
        padding: 1.25rem !important;
        box-shadow: var(--swl-box_shadow);
        border-radius: 1rem;
        overflow: hidden;
	}
	#policy .policy-content > .wp-block-group:not(:last-child) {
        margin-bottom: 2em !important;
	}	
	
	/*ポリシーキャッチ*/
	#policy .policy-content h2.wp-block-heading {
	    font-size: clamp(24px, 2.5vw, 36px);
	}
	#policy .policy-content h2.wp-block-heading > small {
    	font-size: clamp(1rem, 2vw, 0.8em) !important;
	}
	#policy .policy-content .wp-block-image > img {
		aspect-ratio: 16 / 9;
		object-fit: cover;
		object-position: 50% 20%;
	}

}


/*------------------------------------------------------------------------------------------------------------------------
 *  会社概要
 *------------------------------------------------------------------------------------------------------------------------*/
/*テーブル*/
.company-profile .wp-block-table td:has(img) {
	display: flex !important;
	align-items: center;
	border-top: none;
}
.company-profile .wp-block-table tr:has(img) + tr:has(img) td {
	border-bottom: none;
}

.company-profile .wp-block-table td .company-text {
	order: 1;
	width: 100%;
}
.company-profile .wp-block-table td img {
	order: 2;
}

.company-profile .wp-block-table .swl-inline-btn {
	color: var(--color_navy);
	border-color: var(--color_navy);
}


@media (max-width: 959px) {
	.company-profile .wp-block-table th{
		padding: 0.5em 1em 0;
		border-bottom: none;
	}
	.company-profile .wp-block-table td{
		padding: 0 1em 0.5em;
		border-top: none;
	}	
	.company-profile .wp-block-table td:has(img) {
		border-bottom: none;
	}	
	
	.company-access iframe[src*="google.com/maps"] {
		height: 300px;
	}
}
@media (max-width: 599px) {
	.company-profile .wp-block-table td:has(img) {
		flex-direction: column;
	}
	.company-profile .wp-block-table td img {
		order: 0;
	}
}

/*会社外観画像*/
.company-profile .swell-block-column .wp-block-image {
    position: relative;
}
.company-profile .swell-block-column .wp-block-image figcaption {
    width: 100%;
    padding: 3em 0 0.75em;
    position: absolute;
    bottom: 0;
    color: #fff;
    background: linear-gradient(0deg, rgba(0, 0, 0, .7), rgba(0, 0, 0, .3) 70%, transparent);
}



/*------------------------------------------------------------------------------------------------------------------------
 *  業界ニュース
 *------------------------------------------------------------------------------------------------------------------------*/
/*----- コンテンツヘッダー -----*/
.blog #top_title_area::after,
.archive #top_title_area::after,
.single #top_title_area::after{
	background-image: url(/wp-content/uploads/2026/09/wel-circle_news2.png);
}
.blog #content,
.archive #content,
.single #content{
	margin-top: 2em;
}

/*ページタイトル・本文*/
.single #main_content .c-postTitle__ttl{
	font-size: clamp(24px, 2.5vw, 28px);	
}
.single #main_content h2{
    margin: 3em 0 1.5em;
	padding-left: 0.5em;
    border-left: 8px solid var(--color_main);	
}
.single #main_content h3{
    margin: 1.5em 0 1em;
}


/*----- サイドバー -----*/
#sidebar .sidebar-column h2.wp-block-heading{
	font-size: clamp(22px, 2.5vw, 25px);
    color: var(--color_navy);
}
#sidebar .sidebar-column h2.wp-block-heading + *{
    margin: 1rem 0 !important;
}
#sidebar .sidebar-column .wp-block-categories-list,
#sidebar .sidebar-column .wp-block-archives-list{
   border-top: 1px solid var(--color_border);
}
/*カテゴリー順番*/
#sidebar .sidebar-column .wp-block-categories-list{
	display: flex;
    flex-direction: column;	
}
#sidebar .sidebar-column .wp-block-categories-list .cat-item-4{/*小麦粉*/
	order: 1;
}
#sidebar .sidebar-column .wp-block-categories-list .cat-item-3{/*大豆*/
	order: 2;
}
#sidebar .sidebar-column .wp-block-categories-list .cat-item-6{/*小豆*/
	order: 3;
}
#sidebar .sidebar-column .wp-block-categories-list .cat-item-1{/*その他*/
	order: 4;
}


/*----------------------------------------
 *  お問い合わせ
 *----------------------------------------*/
.mail-group:has([data-screen="complete"]) .mailform-text{
	display: none;
}

/*ラベルの調整*/
.mail-group .snow-monkey-form .smf-item{
	align-items: center;	
}
.mail-group .snow-monkey-form .smf-item:has(textarea) .smf-item__col--label {
    align-self: self-start;
	padding-top: 0.5em;
}

/*必須/任意タグ*/
.mail-group .snow-monkey-form .smf-item__label{
	position: relative;
	padding-right: 3em;
}
.mail-group .snow-monkey-form .smf-item__label::after{
    content: "";
    display: block;
    background-color: var(--color_main);
    color: #fff;
    font-size: 0.8em;
    font-weight: bold;
    line-height: 1.5;
    padding: 0.5em 0.75em 0.35em;
    border-radius: 0.5em;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.mail-group .snow-monkey-form .smf-item:has([data-validations~="required"]) .smf-item__label::after {
    content: "必 須";
}
.mail-group .snow-monkey-form .smf-item:not(:has([data-validations~="required"])) .smf-item__label::after {
    content: "任 意";
    background-color: #666;
}

/*入力欄の調整*/
.mail-group .snow-monkey-form input{
	min-width: 50%;
}

/*送信ボタン*/
.mail-group .snow-monkey-form .smf-action button{
    background: var(--color_navy);
    color: #fff;
    font-weight: bold;
    min-width: 250px;
    padding: 0.75em;
    border-radius: 6px;
    box-shadow: var(--swl-btn_shadow);
    transition: box-shadow .25s;
}
.mail-group .snow-monkey-form .smf-action button:hover{
	box-shadow: 0 4px 12px rgba(0, 0, 0, .1), 0 12px 24px -12px rgba(0, 0, 0, .2);
    opacity: 1;
}

@media (max-width: 768px) {
	.mail-group .snow-monkey-form{
		width: 100%;
    	max-width: 600px;
    	margin: auto;		
	}
	
	.mail-group .snow-monkey-form .smf-item{
		display: flex;
	    flex-direction: column;
		align-items: flex-start;
	}
	.mail-group .snow-monkey-form .smf-item__col--label,
	.mail-group .snow-monkey-form .smf-item__col--controls{
		width: 100%;
		max-width: 100%;
		flex: 1 0 auto;
		padding-bottom: 1em;
	}
	
	.mail-group .snow-monkey-form .smf-item__label{
		padding-left: 4em;	
	    padding-right: 0;	
	}
	.mail-group .snow-monkey-form .smf-item__label::after{
		left: 0;
		right: auto;
		padding: 0.35em 0.75em 0.35em;
	}
	
	.mail-group .snow-monkey-form input{
		width: 100%;
	}	
}



