@charset "UTF-8";

/* !foundation */
/* --------------------------- */
html,body {
	font-family:"游ゴシック", YuGothic,'ヒラギノ角ゴ ProN','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	font-weight: 500;
	-webkit-font-feature-settings: 'palt' 1;
	font-feature-settings: 'palt' 1;
	-webkit-font-smoothing: antialiased;
	-webkit-font-variant-ligatures:none;
	font-variant-ligatures:none;
}
body {
	color: #424242;
	max-width: 100%;
	overflow-x: hidden;
	position: relative;
	text-align: center;
	min-height: 100%;
}
* {
	box-sizing: border-box;
}
a,
a img {
	color: #424242;
	opacity: 1;
	transition: all 0.4s ease;
	transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
a:visited {
	color: #666;
}
a:hover {
	text-decoration: none;
	color: #000;
}
a:focus,
a:active {
	color: #eee;
	text-decoration: none;
	outline: none;
}
a:hover img {
	opacity: 0.6;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
hr {
	border: 0;
	height: 1px;
	background-image: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.5) 50%, rgba(0,0,0,0) 100%);
	margin: 1em auto;
	clear: both;
	max-width: 50vw;
}
.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}
.clearfix:after {
	clear: both;
}
  
/* IE6/7 support */
.clearfix,
.inner,
.contents,
.cont,
.main,
.wrap,
.boxBody {
	*zoom: 1;
}
.btn {
	display: inline-block;
	font-size: 0.875rem;
	line-height: 1;
	background: #fff;
	color: #80422d;
	text-decoration: none;
	padding: 0.625em 1.5em;
	margin: 0.5rem auto;
	transition: all 0.4s ease;
	border: solid 1px #80422d;
}
.btn:visited {
	color: #eee;
}
.btn:hover {
	color: #fff;
	background: #80422d;
	transform: translateY(1px);
	cursor: pointer;
}

/* material
--------------------------- */
.clearFloat {
	clear: both;
}
.floatLeft {
	float: left;
	margin-right: 1em;
	margin-bottom: 1em;
}
.floatRight {
	float: right;
	margin-bottom: 1em;
	margin-left: 1em;
}
.alignleft {
	float: left;
	margin: 0.375em 1.75em 1.75em 0;
}
.alignright {
	float: right;
	margin: 0.375em 0 1.75em 1.75em;
}
.aligncenter {
	clear: both;
	display: block;
	margin: 0.375em auto;
	text-align: center!important;
}
.sp {
	display: none;
}
.flexCont {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.sList {
	list-style: none;
	margin: 0;
	padding: 0;
}
.capsLarge {
	font-size: 1.25em;
}
.capsSmall {
	font-size: 0.666em;
}
.tate {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	position: relative;
	-webkit-font-feature-settings: 'palt' 0;
	font-feature-settings: 'palt' 0;
}

/* !font */
/* --------------------------- */
.wf-shueimin-m, .topMainSince {font-family: ShueiMinPro-M, "秀英明朝 M", "Shuei Mincho M";}
.wf-shueimin-b, .contactTel {font-family: ShueiMinPro-B, "秀英明朝 B", "Shuei Mincho B";}
.wf-shueigo-b {font-family: ShueiGoKinStd-B, "秀英角ゴシック金 B", "Shuei KakuGo Kin B";}
.wf-udshingo-l, .outlineList, .reformHojoDetailBody, .kominkaDetailTxt, .voiceName, .recruitTitle, .recruitDetail {font-family: UDShinGoPro-Light, "UD新ゴ L", "UD Shin Go Light";}
.wf-udshingo-r, body, .ohGengou {font-family: UDShinGoPro-Regular, "UD新ゴ R", "UD Shin Go Regular";}
.wf-udshingo-m, .strengthMerit, .reformCatTitle, .tabNav, .btnRecruit {font-family: UDShinGoPro-Medium, "UD新ゴ M", "UD Shin Go Medium";}
.wf-udshingo-db, .postListDate, .postListTitle, .strCommuTitle, .capsLarge, .reformHojoDetailTitle, .proposalTitle, .recruitTelLink {font-family: UDShinGoPro-DeBold, "UD新ゴ DB", "UD Shin Go DemiBold";}
.wf-udshingo-b, .contCatch, .outlineTitle, .ohYear {font-family: UDShinGoPro-Bold, "UD新ゴ B", "UD Shin Go Bold";}
.wf-kaiminsora-r {font-family: KaiminSoStd-Regular, "解ミン 宙 R", "Kaimin Sora Regular";}
.wf-kaiminsora-m, .gNavList, .footerCatch, .serviceNav, .snsList, .topMainTitle {font-family: KaiminSoStd-Medium, "解ミン 宙 M", "Kaimin Sora Medium";}
.wf-kaiminsora-b, .btnMore, .topPostListTitle, .contNav, .contTitle, .floBoxTitle, .stepNum, .contSubtitle, .reformPoint, .reformDetailTitle, .reformDetailCatch, .worksCatNav, .worksDetailName, .topContTitle {font-family: KaiminSoStd-Bold, "解ミン 宙 B", "Kaimin Sora Bold";}
.wf-kaiminsora-h {font-family: KaiminSoStd-Heavy, "解ミン 宙 H", "Kaimin Sora Heavy";}
.wf-kaisho, .kominkaCont {font-family: ShinseiKaiPro-CBSK1, "新正楷書CBSK1", "Shinsei Kaisho CBSK1";}
.wf-a1gothL {font-family: PA1GothicStdN-Light, "A1ゴシック L", "A1 Gothic L"; font-weight: normal;}
.wf-a1gothR, .lp main {font-family: PA1GothicStdN-Regular, "A1ゴシック R", "A1 Gothic R"; font-weight: normal;}
.wf-a1gothM {font-family: PA1GothicStdN-Medium, "A1ゴシック M", "A1 Gothic M"; font-weight: normal;}
.wf-a1gothB {font-family: PA1GothicStdN-Bold, "A1ゴシック B", "A1 Gothic B"; font-weight: normal;}

/* !layout */
/* --------------------------- */
.inner {
	position: relative;
	max-width: 1024px;
	margin: 0 auto;
}
main {
	position: relative;
	max-width: 100vw;
	overflow: hidden;
}
.content {
	position: relative;
	padding: 7em 0;
}

/* !header */
/* --------------------------- */
.gHeader {
	background: #E5E5E5;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1900;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	padding: 8px 0;
	font-size: 1.375vw;
}
.scrolled .gHeader {
	box-shadow: 0 1px 16px rgba(0,0,0,.05);
}
.siteTitle {
	flex-shrink: 0;
	margin: 0 1em 0 0;
	font-size: 1em;
	line-height: 1;
}
.siteTitle:hover img {
	opacity: 1;
	transform: scale(1.2);
}
.contactList {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}
.contactMail .btn {
	margin: 0;
	background: #167EAD;
	color: #fff;
	border: none;
	padding: 0.75em 3em;
}
.gNav {
	margin: 0;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}
.gNavList {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	font-size: 1em;
	line-height: 1;
	margin: 0 1em 0 0;
}
.gNavItem {
	white-space: nowrap;
	position: relative;
}
.gNavItem:not(:first-of-type)::before {
	content: "";
	display: inline-block;
	width: 0.2em;
	height: 0.2em;
	border-radius: 100%;
	background: #424242;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(-50%, -50%);
}
.gNavLink {
	display: block;
	padding: 0.5em 0.625em;
	text-decoration: none;
	color: #424242;
	border-radius: 2em;
}
.gNavLink:hover {
	color: #000;
	background: rgba(0,0,0,.15);
}
.snsNav {
	margin: 0 0 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
	font-size: 1.5em;
}
.snsIconLink {
	display: block;
	text-decoration: none;
	padding: 0 0.25em;
}
.snsIconLink:hover {
	color: #000;
	transform: scale(1.2);
}
#gNav, .toggle, .gNavBg {
	display: none;
}

/* !footer */
/* --------------------------- */
.gFooter {
	position: relative;
	width: 100%;
	padding: 32px 0;
	background: #3F3F33;
	color: #fff;
}
.gFooter .inner {
	max-width: 920px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.footerHeading {
	width: 100%;
	position: relative;
}
.footerCatch {
	font-size: 1.375em;
	line-height: 1;
	font-weight: normal;
	margin: 0 auto 1em;
}
.footerHeading .snsNav {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 1.875em;
}
.footerHeading .snsNav .snsIconLink {
	color: #fff;
	padding: 0 0.375em;
}
.footerInfo {
	width: 100%;
	max-width: 350px;
	margin: 0 auto 1em 0;
	text-align: left;
}
.footerTitle {
	font-size: 1;
	line-height: 1;
	margin: 0 auto 1em;
}
.footerAddress {
	margin: 0;
	font-size: 0.875em;
	line-height: 1.7em;
}
.footerContact {
	width: 100%;
	max-width: 492px;
	text-align: left;
}
.footerContact .btn {
	text-align: center;
}
.contactTel {
	margin: 0 0 0 0.875em;
	font-size: 1.875em;
	line-height: 1;
	white-space: nowrap;
	color: #fff;
}
.contactTel .fas {
	font-size: 0.875em;
}
.contactTelLink {
	color: #fff;
	text-decoration: none;
	margin-left: 0.25em;
}
.gFooter .siteCatch {
	font-size: 0.75em;
	line-height: 1;
	margin: 0.5em 0 1em;
	letter-spacing: 0.075em;
}
.txtNav {
	text-align: right;
	margin: 1em 0 0;
	font-size: 0.75em;
	line-height: 1;
	color: #fff;
}
.txtNav li {
	display: inline-block;
	margin-left: 1.5em;
}
.txtNav li a {
	color: #fff;
}
.txtNav li::before {
	content: "▶︎";
}
.gmap {
	width: 100%;
	min-height: 240px;
	padding-bottom: 1em;
	margin-bottom: 1em;
	border-bottom: solid 1px #fff;
}
.footerNav {
	font-size: 1em;
	line-height: 1.75em;
	text-align: left;
	margin: 0 auto 0 auto;
}
.footerNav .footerNav {
	padding-left: 1em;
}
.footerNav a {
	color: #fff;
	text-decoration: none;
}
.footerNav a::before {
	content: "▶︎";
	font-size: 0.75em;
	vertical-align: 0.1em;
	margin-right: 0.25em;
}
.copyright {
	width: 100%;
	text-align: center;
	margin: 2em 0 0;
	font-size: 0.875em;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	text-indent: 0.1em;
}
.contactNav {
	position: fixed;
	right: 0;
	bottom: 5vh;
	font-size: 1.125em;
	line-height: 1.25em;
	text-align: right;
	-webkit-font-feature-settings: 'palt' 0;
	font-feature-settings: 'palt' 0;
	overflow: hidden;
}
.pagetop {
	display: inline-block;
	font-size: 1.625em;
	line-height: 1;
	background: #424242;
	color: #fff;
	padding: 0.25em;
	transition: all 0.4s ease;
	cursor: pointer;
	margin: 1em 0 0;
}
.pagetop:hover {
	background: #000;
}
.contactNavItem {
	margin: 1em 0 0;
	width: 3.5em;
}
.contactNavLink {
	width: 100%;
	height: 9.5em;
	display: block;
	background: #424242;
	color: #fff;
	text-decoration: none;
	padding: 2.5em 0.5em 0.75em;
	border-right: none;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	position: relative;
	text-align: left;
	position: relative;
}
.contactNavLink:hover {
	color: #fff;
	background: #000;
}
.contactNavLink .fas {
	font-size: 1.625em;
	display: block;
	position: absolute;
	top: 0.375em;
	left: 50%;
	transform: translateX(-50%);
}
.contNav {
	overflow: auto;
}
.contNavItem {
	float: left;
	width: 50%;
	height: 0;
	overflow: hidden;
	position: relative;
}
.contNavItem.item01 {
	width: 50%;
	padding-top: 46.875%;
}
.contNavItem.item02,
.contNavItem.item03 {
	padding-top: 23.4375%;
}
.contNavItem.item04,
.contNavItem.item05 {
	width: 25%;
	padding-top: 39.0625%;
}
.contNavItem.item06 {
	width: 50%;
	padding-top: 39.0625%;
}
.contNavItem.item07,
.contNavItem.item08 {
	width: 50%;
	padding-top: 31.25%;
}
.contNavItem:hover {
}
.contNavLink,
.contNavLink:visited {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	text-decoration: none;
}
.contNavLink::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	transition: all 0.6s ease;
}
.contNavLink:hover::before {
	transform: scale(1.1);
}
.contNavItem.item01 .contNavLink::before {
	background-image: url(../imgs/contnav_01_bg.jpg);
}
.contNavItem.item02 .contNavLink::before {
	background-image: url(../imgs/contnav_02_bg.jpg);
}
.contNavItem.item03 .contNavLink::before {
	background-image: url(../imgs/contnav_03_bg.jpg);
}
.contNavItem.item04 .contNavLink::before {
	background-image: url(../imgs/contnav_04_bg.jpg);
}
.contNavItem.item05 .contNavLink::before {
	background-image: url(../imgs/contnav_05_bg.jpg);
}
.contNavItem.item06 .contNavLink::before {
	background-image: url(../imgs/contnav_06_bg.jpg);
}
.contNavItem.item07 .contNavLink::before {
	background-image: url(../imgs/contnav_07_bg.jpg);
}
.contNavItem.item08 .contNavLink::before {
	background-image: url(../imgs/contnav_08_bg.jpg);
}
.contNavLink:hover {
	color: #fff;
}
.contNavBox {
	min-width: 50%;
	height: 50%;
	padding: 0 1em;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	flex-direction: column;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(0,0,0,.3);
	border: solid 2px #fff;
	font-size: 1.75em;
	line-height: 1.125em;
	white-space: nowrap;
	transition: all 0.4s ease;
}
.contNavLink:hover .contNavBox {
	background: rgba(0,0,0,.75);
}
.contNavRuby {
	font-size: 0.625em;
	display: block;
	margin-bottom: -1em;
}
.contService {
	background: #e5e5e5;
}
.contService .topContIllust {
	mix-blend-mode: multiply;
	opacity: 0.7;
}
.contService .topContRuby {
	border-top-color: #424242;
}
.serviceNav {
	margin: 3.5rem auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	font-size: 1.75em;
	line-height: 1.4em;
}
.serviceNavItem {
	width: 23.4375%;
	height: 0;
	padding-bottom: 19.53125%;
	overflow: hidden;
	position: relative;
}
.serviceNavLink,
.serviceNavLink:visited {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
	height: 100%;
	z-index: 100;
	position: relative;
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	text-decoration: none;
}
.serviceNavLink:hover {
	color: #fff;
}
.serviceNavItem::before,
.serviceNavItem::after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.serviceNavItem::before {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 10;
}
.serviceNavItem.item01::before {
	background-image: url(../imgs/service_nav_01_bg.jpg);
}
.serviceNavItem.item02::before {
	background-image: url(../imgs/service_nav_02_bg.jpg);
}
.serviceNavItem.item03::before {
	background-image: url(../imgs/service_nav_03_bg.jpg);
}
.serviceNavItem.item04::before {
	background-image: url(../imgs/service_nav_04_bg.jpg);
}
.serviceNavItem::after {
	z-index: 10;
	background: rgba(0,0,0,.5);
	mix-blend-mode: multiply;
	transition: all 0.4s ease;
}
.serviceNavItem:hover::after {
	background: rgba(0,0,0,.75);
}
.serviceNavItem.item03 {
	line-height: 1em;
}
.mokurinImg {
	display: block;
	transform: rotate(10deg);
	margin-left: 0.5em;
}
.serviceNavLink:hover .mokurinImg {
	opacity: 1;
	transform: rotate(10deg) scale(1.2);
}
.snsList {
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.snsListItem {
	width: 29.6875%;
	font-size: 1.25em;
	line-height: 1;
}
.snsListLink {
	background: #42210b;
	color: #fff;
	text-decoration: none;
	padding: 2.5em 20% 2.5em 15%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}
.snsListLink .fab {
	font-size: 2.5em;
	transition: all 0.4s ease;
}
.snsFacebook .snsListLink {
	background: #3b5998;
}
.snsInstagram .snsListLink {
	background: -webkit-radial-gradient(32% 106%, circle cover, rgb(255, 225, 125) 0%, rgb(255, 205, 105) 10%, rgb(250, 145, 55) 28%, rgb(235, 65, 65) 42%, transparent 82%), -webkit-linear-gradient(-45deg, rgb(35, 75, 215) 12%, rgb(195, 60, 190) 58%);
	background: -moz-radial-gradient(32% 106%, circle cover, rgb(255, 225, 125) 0%, rgb(255, 205, 105) 10%, rgb(250, 145, 55) 28%, rgb(235, 65, 65) 42%, transparent 82%), -moz-linear-gradient(-45deg, rgb(35, 75, 215) 12%, rgb(195, 60, 190) 58%);
	background: -ms-radial-gradient(32% 106%, circle cover, rgb(255, 225, 125) 0%, rgb(255, 205, 105) 10%, rgb(250, 145, 55) 28%, rgb(235, 65, 65) 42%, transparent 82%), -ms-linear-gradient(-45deg, rgb(35, 75, 215) 12%, rgb(195, 60, 190) 58%);
	background: -o-radial-gradient(32% 106%, circle cover, rgb(255, 225, 125) 0%, rgb(255, 205, 105) 10%, rgb(250, 145, 55) 28%, rgb(235, 65, 65) 42%, transparent 82%), -o-linear-gradient(-45deg, rgb(35, 75, 215) 12%, rgb(195, 60, 190) 58%);
	background: radial-gradient(circle farthest-corner at 32% 106%, rgb(255, 225, 125) 0%, rgb(255, 205, 105) 10%, rgb(250, 145, 55) 28%, rgb(235, 65, 65) 42%, transparent 82%), linear-gradient(135deg, rgb(35, 75, 215) 12%, rgb(195, 60, 190) 58%);
}
.snsListLink:hover {
	color: #fff;
}
.snsListLink:hover .fab,
.snsListLink:hover img {
	opacity: 1;
	transform: scale(1.25);
}

/* !top */
/* --------------------------- */
.topMain {
	width: 100%;
	height: 100vh;
}
.topHeading {
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-direction: column;
	flex-direction: column;
	z-index: 1000;
	padding: 6rem 0 1rem;
}
.topMainTitle {
	min-width: 1em;
	font-size: 5em;
	line-height: 1;
	letter-spacing: 0.3em;
	text-indent: 0.3em;
	margin: 0 auto 0.25em;
	font-weight: normal;
	color: #fff;
}
.topMainComname {
	margin: auto auto 0;
}
.topMainSince {
	font-size: 2.125em;
	line-height: 1.125em;
	margin: 0;
	color: #fff;
}
.swiper-slide {
	width: 100%;
	height: 100%;
	padding-bottom: 184px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-direction: column;
	flex-direction: column;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
	text-shadow: 0 0 6px rgba(0,0,0,.375), 0 4px 8px rgba(0,0,0,.5);
	font-size: 1.75vh;
}
.swiper-slide .topContTitle {
	max-width: 100%;
	margin-bottom: 0.5em;
}
.slide01 {
	background-image: url(../imgs/top_main_bg_01.jpg);
}
.slide02 {
	background-image: url(../imgs/top_main_bg_02.jpg);
}
.slide02 .topContTitle {
	text-align: left;
	position: absolute;
	left: 3rem;
	bottom: 1rem;
}
.slide03 {
	background-image: url(../imgs/top_main_bg_03.jpg);
}
.slide03 .topContTitle {
	margin: 16rem auto auto;
}
.slide04 {
	background-image: url(../imgs/top_main_bg_04.jpg);
}
.slide04 .topContTitle {
	width: 100%;
	margin: 16rem auto auto;
	padding: 0.75em 0;
	background: rgba(229,229,229,.5);
	color: #424242;
	text-shadow: none;
}
.btnContact {
	position: absolute;
	z-index: 1000;
	max-width: 128px;
	display: block;
	right: 0;
	bottom: 0;
}
.topCont {
	color: #fff;
}
.topCont::before,
.topCont::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.topCont::before {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: -1;
}
.topCont::after {
	z-index: -1;
	background: rgba(0,0,0,.5);
	mix-blend-mode: multiply;
}
.topStrongpoint::before {
	background-image: url(../imgs/top_strongpoint_bg.jpg);
}
.topCasestudy::before {
	background-image: url(../imgs/top_casestudy_bg.jpg);
}
.topKominka {
	margin-top: 2.625rem;
}
.topKominka::before {
	background-image: url(../imgs/top_kominka_bg.jpg);
}
.topContIllust {
	mix-blend-mode: screen;
	margin-bottom: 2em;
}
.topContTitle {
	max-width: 70%;
	font-size: 2.5em;
	line-height: 1.375em;
	font-weight: normal;
	margin: 0 auto 1.5em;
}
.pageHeading .topContTitle {
	width: 100%;
	margin-bottom: 0;
}
.topContRuby {
	display: block;
	font-size: 0.6em;
	border-top: solid 1px #fff;
	margin-top: 0.5em;
}
.topContTxt {
	font-size: 1em;
	line-height: 1.875em;
	margin: 0 auto 1em;
}
.topCasestudy .topContTxt {
	margin-bottom: 4em;
}
.btnMore {
	margin: 1rem auto;
	display: inline-block;
	font-size: 1.375em;
	line-height: 1;
	letter-spacing: 0.2em;
	text-indent: 0.2em;
	text-decoration: none;
	padding: 1em 2em;
	border-radius: 2em;
	background: #E5E5E5;
}
.btnMore + .btnMore {
	margin-left: 2em;
}
.btnMore:hover {
	background: #424242;
	color: #e5e5e5;
}
.btnMore.invert {
	background: #424242;
	color: #e5e5e5;
}
.btnMore.invert:hover {
	background: #000;
	color: #fff;
}
.topPostCont {
	background: #e5e5e5;
}
.topPostCont .inner {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	text-align: left;
}
.topPostNews {
	width: 100%;
	max-width: 656px;
}
.topPostBlog {
	width: 100%;
	max-width: 320px;
}
.topPostListTitle {
	font-size: 1.5em;
	line-height: 1;
	font-weight: normal;
	margin: 0 0 1em;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
	white-space: nowrap;
}
.topPostListTitle::after {
	content: "";
	display: inline-block;
	width: 100%;
	height: 1px;
	background: #424242;
	margin-left: 0.5em;
}
.postListWrap {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.topPostNews,
.topPostBlog {
	position: relative;
	padding-bottom: 1em;
	border-bottom: solid 1px #000;
}
.topPostNews .postListCont {
	width: 47.5%;
}
.postListLink {
	display: block;
	text-decoration: none;
	overflow: auto;
}
.postListThumb {
	width: 100%;
	height: 0;
	overflow: hidden;
	position: relative;
}
.postListThumb img {
	position: absolute;
	top: 0;
	left: 0;
}
.postListLink:hover img {
	opacity: 1;
	transform: scale(1.1);
}
.topPostNews .postListThumb {
	padding-top: 71.8%;
	margin: 0 auto 1em;
}
.topPostBlog .postListThumb {
	width: 32.5%;
	padding-top: 32.5%;
	margin: 0 1em 1em 0;
	float: left;
}
.topPostBlog .postListCont {
	overflow: auto;
}
.postListDate {
	font-size: 0.75em;
	line-height: 1;
	margin: 0 0 0.375em;
	letter-spacing: 0.1em;
}
.postListTitle {
	font-size: 1.125em;
	line-height: 1.375em;
	font-weight: normal;
	margin: 0 0 0.375em;
}
.postListBody {
	font-size: 0.875em;
	line-height: 1.75em;
	text-align: justify;
	margin: 0;
}
.postListMore {
	font-size: 0.875em;
	line-height: 1;
	text-align: right;
	width: 100%;
	position: absolute;
	left: 0;
	bottom: -2em;
	margin: 0;
}
/* !lower */
/* --------------------------- */
.pageHeading {
	width: 100%;
	min-height: 55vw;
	position: relative;
	padding-top: 15vw;
	color: #fff;
}
.pageHeading::before,
.pageHeading::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.pageHeading::before {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.pageHeading::after {
	background: rgba(0,0,0,.5);
	mix-blend-mode: multiply;
}
.pageBody {
	background: #e5e5e5;
}
.phCont {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	margin: 2em auto;
}
.phCont img {
	margin: 0 0.125em;
}
.phCont + .phCont {
	margin-top: -1.75em;
}
.contTitle {
	font-size: 2.5em;
	line-height: 1.8em;
	margin: 1em auto;
	font-weight: normal;
}
.contCatch {
	font-size: 1.625em;
	line-height: 1.25em;
	margin: 0 0 0.75em;
}
.pageInner .contCatch {
	text-align: left;
}
.contSubtitle {
	font-size: 1.5em;
	line-height: 2.5em;
	margin: 1em auto;
	font-weight: normal;
}
.contTxt {
	font-size: 1em;
	line-height: 2em;
	margin: 0 0 1em;
}
.contTxt + .contTitle {
	margin-top: 2em;
}
.pageInner {
	max-width: 800px;
	margin: 0 auto;
	overflow: auto;
}
.conceptList {
	font-size: 1.125em;
	line-height: 1.5em;
	text-align: left;
}
.consepptListItem {
	margin: 0 0 0.75em;
}
.consepptListItem::before {
	content: "";
	display: inline-block;
	width: 0.6em;
	height: 0.6em;
	border-radius: 100%;
	background: #424242;
	margin-right: 0.4em;
}
/* !concept */
/* --------------------------- */
.concept .pageHeading::before {
	background-image: url(../imgs/concept_heading_bg.jpg);
}
/* !strength */
/* --------------------------- */
.strength .pageHeading::before {
	background-image: url(../imgs/strength_heading_bg.jpg);
}
.strCommu {
	max-width: 600px;
	max-height: 600px;
	padding: 2em 0 3em;
	background: #424242;
	color: #fff;
	margin: 0 auto 3em;
	border-radius: 50%;
}
.strCommuTitle {
	font-size: 1.875em;
	line-height: 2em;
	margin: 0;
}
.strCommuTitle img {
	margin-bottom: 0.5em;
}
.strCommuBody {
	font-size: 1.125em;
	line-height: 1.5em;
	margin: 0;
}
.strengthMerit {
	font-size: 1.125em;
	line-height: 1.5em;
	margin: 0.5em auto 2em;
	background: #424242;
	color: #fff;
	max-width: 740px;
	border-radius: 1.1em;
	padding: 1em;
}
/* !flow */
/* --------------------------- */
.flow .pageHeading::before {
	background-image: url(../imgs/flow_heading_bg.jpg);
}
.flowList {
	font-size: 1em;
	line-height: 1.5em;
	text-align: left;
	display: inline-block;
	margin: 3em auto;
	padding-left: 1em;
	text-indent: -1em;
}
.flowBox {
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	text-align: left;
	position: relative;
}
.floBoxTitle {
	font-size: 1.25em;
	line-height: 1;
	font-weight: normal;
	width: 1.75em;
	margin: 0;
	padding: 0.5em 0.375em;
	flex-shrink: 0;
	border-top: solid 3px #424242;
}
.flowSteps {
	width: 100%;
	border-top: solid 1px #424242;
	padding: 2.25em 0 1em 4.5em;
	margin: 0;
	position: relative;
	font-size: 1em;
	line-height: 1.5em;
}
.stepItem {
	margin: 0 0 1em;
	padding-left: 6rem;
	text-indent: -6rem;
	position: relative;
}
.stepItem::before,
.stepItem::after,
.stepNum::before {
	content: "";
	display: inline-block;
	position: absolute;
}
.stepItem::before {
	width: 1px;
	height: 175%;
	background: #424242;
	top: 0.875em;
	left: -0.75em;
}
.flowBox:first-of-type .stepItem:last-of-type::before {
	height: 370%;
}
.flowBox:last-of-type .stepItem:last-of-type::before {
	display: none;
}
.stepItem::after {
	width: 0.625em;
	height: 0.625em;
	border-right: solid 1px #424242;
	border-bottom: solid 1px #424242;
	left: -1.05em;
	bottom: -1.5em;
	transform: scaleX(0.7) rotate(45deg);
}
.stepItem:last-of-type::after {
	display: none;
}
.stepNum {
	text-indent: 0;
	display: inline-block;
	font-size: 0.75em;
	min-width: 6rem;
}
.stepNum::before {
	width: 0.8em;
	height: 0.8em;
	border-radius: 50%;
	background: #424242;
	top: 0;
	left: 0;
	transform: translate(-175%, 100%);
}
.stepItem .capsSmall {
	display: inline-block;
	line-height: 1.75em;
	text-indent: 0;
}
.flowIllust {
	position: absolute;
	right: 1em;
	mix-blend-mode: multiply;
}
.flowBox:first-of-type .flowIllust {
	bottom: 2em;
}
.flowBox:last-of-type .flowIllust {
	top: 2em;
}
/* !wb */
/* --------------------------- */
.wb .pageHeading::before {
	background-image: url(../imgs/wb_heading_bg.jpg);
}
.movie {
	margin: 2rem auto;
	max-width: 100%;
}
.wbVoice {
}
.wbVoice::before {
	background-image: url(../imgs/wb_voice_bg.jpg);
}
.btnWb img {
	vertical-align: middle;
}
.btnWb:hover {
	color: #000;
	background: rgba(0,0,0,.25);
}
.btnWb:hover img {
	opacity: 1;
}
.btnWb .fas {
	width: 2em;
	height: 2em;
	line-height: 1.875em;
	border: solid 2px #424242;
	border-radius: 50%;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.75em;
}
.btnWb:hover .fas {
	border-color: #000;
}
/* !works */
/* --------------------------- */
.works .pageHeading::before {
	background-image: url(../imgs/works_heading_bg.jpg);
}
.worksCatNav {
	margin: 0 auto 2em;
}
.worksCatNav button {
	border: none;
	background: none;
	font-size: 1.25em;
	cursor: pointer;
	outline: none;
	transition: all 0.4s ease;
	margin: 0 0.25em;
	color: #999;
}
.worksCatNav button:hover {
	color: #000;
}
.worksCatNav button.mixitup-control-active {
	transform: scale(1.15);
	color: #000;
}
.worksList {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.worksList .mix,
.worksList .gap {
	width: 24.9%;
	position: relative;
	margin-bottom: 1px;
}
.worksListLink {
	display: block;
	text-decoration: none;
}
.worksListName {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	margin: 0;
	font-size: 1em;
	line-height: 1.25em;
	background: rgba(0,0,0,.625);
	color: #fff;
	opacity: 0;
	transition: all 0.4s ease;
}
.worksListLink:hover .worksListName {
	opacity: 1;
}
.works-detail .pageHeading {
	padding-top: 10vh;
	padding-bottom: 5vh;
	min-height: 1px;
}
.works-detail .content {
	padding-top: 2rem;
}
.worksDetailCont {
	margin: 0 auto 4rem;
}
.worksDetailMain {
	max-width: 800px;
}
.worksDetailName {
	font-size: 1.75em;
	line-height: 1;
	margin: 0.75em auto;
	padding-bottom: 0.75em;
	border-bottom: solid 1px #424242;
}
.worksDetailTitle {
	margin: 0 auto 0.5em;
}
.beforeafter {
	margin-bottom: 4em;
}
.beforeafter .mix {
}
.beforeafter .mix:nth-of-type(odd)::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f061";
	display: block;
	width: 2em;
	height: 2em;
	font-size: 1.25em;
	line-height: 2em;
	border-radius: 50%;
	background: #f0f0f0;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(50%, -50%);
	z-index: 100;
}
/* !voice */
/* --------------------------- */
.voice .pageHeading::before {
	background-image: url(../imgs/wb_voice_bg.jpg);
}
.voiceCatNav {
	margin-top: 4rem;
	background: #424242;
	color: #fff;
	padding: 1em;
}
.voiceCatNav button {
	color: #999;
}
.voiceCatNav button:hover {
	color: #fff;
}
.voiceCatNav button.mixitup-control-active {
	color: #fff;
}
.voiceCont {
	padding: 3em 0;
	border-bottom: solid 1px #424242;
	overflow: auto;
}
.voiceCont .inner {
	max-width: 800px;
}
.voicePh {
	max-width: 360px;
}
.voicePh img + img {
	margin-top: 1em;
}
.voiceCont .contTitle {
	font-size: 1.5em;
	line-height: 1.25em;
	margin: 0 auto 0.25em;
}
.voicePh ~ .contTitle,
.voicePh ~ .voiceName {
	text-align: left;
} 
.voiceName {
	font-size: 0.75em;
	margin: 0 0 0.75em;
	padding: 0 0 0.75em;
	border-bottom: solid 1px #424242;
}
.voiceCont .contTxt {
	font-size: 0.875em;
	line-height: 1.875em;
	text-align: justify;
	-webkit-font-feature-settings: 'pkna' 1;
	font-feature-settings: 'pkna' 1;
}
.voicePh ~ .contTxt {
	padding-left: 24.25rem;
}
/* !outline */
/* --------------------------- */
.outline .pageHeading::before {
	background-image: url(../imgs/outline_heading_bg.jpg);
}
.outlinePhilosophy {
	font-size: 1.625em;
	line-height: 1.5em;
	border-top: solid 1px #424242;
	border-bottom: solid 1px #424242;
	padding: 1em;
	max-width: 800px;
}
.outlineDetail {
	background: #424242;
	color: #E5E5E5;
	text-align: left;
	padding: 2.5rem;
}
.outlineDetail .inner,
.outlineHistory .inner {
	max-width: 800px; 
}
.outlineTitle {
	font-size: 2em;
	line-height: 1.25em;
	margin: 0 auto 1em;
}
.outlineTitle::before {
	content: "";
	display: inline-block;
	width: 2rem;
	height: 3px;
	background: #e5e5e5;
	margin-right: 1rem;
	vertical-align: middle;
}
.outlineList {
	font-size: 1em;
	line-height: 2em;
	margin: 0 auto 0 3rem;
	overflow: auto;
}
.olTitle {
	float: left;
	width: 8em;
	margin: 0;
}
.olBody {
	margin: 0;
	padding-left: 9em;
}
.outlineHistory {
	background: #E5E5E5;
	text-align: left;
	padding: 2.5rem;
}
.outlineHistory .outlineTitle::before {
	background: #424242;
}
.outlineHistory .outlineList {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
	min-height: 6.25em;
	overflow: hidden;
	position: relative;
}
.outlineHistory .outlineList:nth-of-type(odd) {
	background: #fff;
}
.ohYear {
	font-size: 1.75em;
	line-height: 0.7em;
	letter-spacing: 0.25em;
	padding-left: 2rem;
	transform: translateY(0.25em);
}
.ohGengou {
	font-size: 0.5em;
	letter-spacing: 0;
	margin: 0;
}
.ohBody {
	line-height: 1.625em;
	margin: 0 0 0 4rem;
	height: 100%;
}
.ohBody::before,
.ohBody::after {
	content: "";
	display: inline-block;
	position: absolute;
}
.ohBody::before {
	width: 1px;
	height: 100%;
	background: #424242;
	top: 0;
	left: 12rem;
}
.ohBody::after {
	width: 0.875em;
	height: 0.875em;
	top: 50%;
	left: 12rem;
	background: #424242;
	border-radius: 50%;
	transform: translate(-50%,-50%);
}
.outlineHistory .outlineList:first-of-type .ohBody::before {
	top: 50%;
}
.outlineHistory .outlineList:last-of-type .ohBody::before {
	top: auto;
	bottom: 50%;
}
/* !after-mainte */
/* --------------------------- */
.after-mainte .pageHeading::before {
	background-image: url(../imgs/after-mainte_heading_bg.jpg);
}
.afterWarranty {
	margin: 0 auto 2rem;
	border-collapse: collapse;
}
.afterWarranty th,
.afterWarranty td {
	border: solid 1px #424242;
	padding: 0.5em 1em;
}
.afterWarranty th {
	text-align: left;
	font-weight: normal;
}
.afterWarranty td {
	background: #fff;
}
/* !mokurin */
/* --------------------------- */
.mokurin .pageHeading::before {
	background-image: url(../imgs/mokurin_heading_bg.jpg);
}
.mokurinBox img {
	margin: 1.5rem auto;
}
/* !contact */
/* --------------------------- */
.mailformWrap {
	background: #fff;
	padding: 1.5em 3em;
	margin: 2rem auto;
}
.mailform {
	border-top: solid 1px #424242;
	text-align: left;
}
.mailformTitle {
	float: left;
	margin: 0;
	padding: 1.25rem 1rem 0;
	font-size: 0.875em;
	line-height: 1.75em;
	width: 10.5rem;
}
.required {
	display: inline-block;
	background: #165E83;
	color: #fff;
	padding: 0.5em;
	float: right;
	font-size: 0.875em;
	line-height: 1;
	vertical-align: middle;
}
.mailformBody {
	margin: 0;
	padding: 1rem 1rem 1rem 10.5rem;
	border-bottom: solid 1px #424242;
}
.mailformBody input[type="text"],
.mailformBody input[type="tel"],
.mailformBody input[type="email"] {
	border: solid 1px #424242;
	padding: 0.5em;
	transition: all 0.4s ease;
}
.mailformBody select {
	height: 2em;
}
.mailformBody input[type="text"]:focus,
.mailformBody input[type="tel"]:focus,
.mailformBody input[type="email"]:focus {
	border-color: #165E83;
	box-shadow: 0 0 0 2px #165E83;
	outline: none;
}
.mailformBody label {
	display: block;
	margin-bottom: 0.375em;
	line-height: 1.5em;
}
.mailformNotes {
	font-size: 0.75em;
	line-height: 1.5em;
	display: inline-block;
	vertical-align: top;
	margin-left: 1em;
}
.privacyBox {
	border: solid 1px #424242;
	background: #F2F2F2;
	padding: 0.75em 3em;
	margin: 0 auto 1rem;
}
.privacyBox .contTxt {
	font-size: 0.875em;
	line-height: 1.7em;
	text-align: justify;
}
.mailformSubmit button {
	background: #165E83;
	color: #fff;
	border: none;
	padding: 1em 1.5em;
}
/* !reform */
/* --------------------------- */
.reform .pageHeading::before {
	background-image: url(../imgs/reform_heading_bg.jpg);
}
.reformPoint {
	max-width: 680px;
	margin: 0 auto 6rem;
	font-size: 1.25em;
	line-height: 1.25em;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-around;
	justify-content: space-around;
	-webkit-align-items: center;
	align-items: center;
	position: relative;
	z-index: 10;
}
.reformPointItem {
	width: 160px;
	height: 160px;
	position: relative;
	padding-top: 2em;
}
.reformPointItem::before {
	content: "";
	display: block;
	width: 112.5%;
	height: 112.5%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	border: solid 1px #424242;
	border-radius: 51%;
	z-index: -1;
	background: rgba(255,255,255,.5);
}
.reformPoint .reformPointItem:nth-of-type(2)::before {
	background: rgba(255,255,120,.5);
}
.reformPoint .reformPointItem:nth-of-type(3)::before {
	background: rgba(166,124,82,.25);
}
.reformDetail {
	max-width: 800px;
	margin: 0 auto 3rem;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-around;
	justify-content: space-around;
	-webkit-align-items: center;
	align-items: center;
	padding-left: 3rem;
	position: relative;
	z-index: 10;
}
.reformDetailTitle {
	font-size: 1.25em;
	line-height: 1.25em;
	font-weight: normal;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	position: relative;
	width: 27.5%;
	padding-bottom: 1em;
}
.reformDetailTitle::before {
	content: "";
	display: block;
	width: 260px;
	height: 260px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	border: solid 1px #424242;
	border-radius: 51%;
	z-index: -1;
	background: linear-gradient(90deg, rgba(255,255,255,.875) 40%,rgba(255,255,255,0) 80%);
}
.reformDetail:nth-of-type(2) .reformDetailTitle::before {
	background: linear-gradient(90deg, rgba(255,255,120,.5) 40%,rgba(255,255,120,0) 80%);
}
.reformDetail:nth-of-type(3) .reformDetailTitle::before {
	background: linear-gradient(90deg, rgba(166,124,82,.5) 40%,rgba(166,124,82,0) 80%);
}
.reformDetailBody {
	background: #e5e5e5;
	text-align: justify;
	z-index: 20;
	padding: 1em 0;
	min-height: 12em;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.reformDetailCatch {
	font-size: 1.375em;
	line-height: 1;
	margin: 0 0 0.5em
}
.reformDetail .contTxt {
	line-height: 1.625em;
	margin: 0;
}
.reformCategory {
	background: #555;
	color: #e5e5e5;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
}
.reformCatBox {
	max-width: 284px;
	margin: 0 1em 2rem;
}
.reformCatTitle {
	font-size: 1em;
	line-height: 1;
	font-weight: normal;
	margin: 0 auto 0.875em;
}
.reformCatTitle::before,
.reformCatTitle::after {
	content: "｜";
}
.refomCatThumb {
	margin: 0 auto 0.75em;
}
.reformCatBody {
	font-size: 0.875em;
	line-height: 1.75em;
	text-align: justify;
}
.reformCatBody .contTxt {
	line-height: 1.75em;
}
.reformCatList {
	padding-left: 1em;
	text-indent: -1em;
}
.reformCatList .consepptListItem {
	margin: 0;
}
.reformCatList .consepptListItem::before {
	background: #e5e5e5;
}
.reformHojo {
	width: 100%;
	max-width: 920px;
	margin: 0 auto 1em;
	text-align: left;
}
.reformHojoTitle {
	font-size: 1em;
	line-height: 1.25em;
	padding: 0.5em 4em 0.5em 2em;
	margin: 0;
	background: #424242;
	display: inline-block;
}
.reformHojoDetail {
	background: #e5e5e5;
	margin: 0;
	padding: 1.5em 2em;
	color: #424242;
}
.reformHojoDetailTitle {
	font-size: 1.375em;
	line-height: 1.25em;
	margin: 0 0 0.375em;
}
.reformHojoDetailBody {
	font-size: 0.875em;
	line-height: 1.875em;
	margin: 0 0 1.5em;
}
/* !partners */
/* --------------------------- */
.partners .pageHeading::before {
	background-image: url(../imgs/partner_heading_bg.jpg);
}
/* !kominka */
/* --------------------------- */
.kominka .pageHeading::before {
	background-image: url(../imgs/kominka_heading_bg.jpg);
}
.kominkaCont {
	max-width: 784px;
	margin: 0 auto 4rem;
	text-align: left;
}
.kominkaTitle {
	width: 1em;
	margin: 0 0 0 0.75em;
	font-size: 2.375em;
	line-height: 1;
	font-weight: normal;
	white-space: nowrap;
}
.kominkaBody {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	position: relative;
}
.kominkaTxt {
	width: 100%;
	height: 19em;
	margin: 0 0 1.5em 1em;
	font-size: 1.125em;
	line-height: 1.5em;
	text-align: justify;
	float: left;
}
.kominkaPh02 {
	margin-left: 1.75em;
}
.kominka .phCont {
	max-width: 784px;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin: 0 auto 0.5em;
}
.kominkaDetail {
	background: #555;
	color: #e5e5e5;
}
.kominkaDetailCont {
	max-width: 920px;
	margin: 0 auto 4rem;
}
.kominkaDetailTitle {
	background: #424242;
	text-align: left;
	font-size: 1.25em;
	line-height: 1;
	padding: 0.5em;
	margin: 0 0 0.5em;
}
.kominkaDetailTxt {
	font-size: 1em;
	line-height: 1.625em;
	text-align: justify;
	margin: 0 0 1em;
}
.kominkaDetaiPh {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.kominkaProposal {
	max-width: 920px;
	margin: 4rem auto 0;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.proposalDetail {
	width: 100%;
	max-width: 284px;
	margin: 0 0 2rem;
	text-align: left;
}
.proposalTitle {
	font-size: 1.125em;
	line-height: 1;
	margin: 0 0 0.5em;
}
.proposalPh {
	margin-bottom: 0.625em;
}
.proposalBody {
	margin: 0;
}
/* !recruit */
/* --------------------------- */
.recruit .pageHeading::before {
	background-image: url(../imgs/recruit_heading_bg.jpg);
}
.recruit .pageBody + .pageBody {
	border-top: solid 1px #424242;
	padding-top: 2em;
}
.tabNav {
	font-size: 1.125em;
	line-height: 1;
	margin: 0 auto 3em;
	max-width: 800px;
}
.tabItem {
	display: inline-block;
	width: 25%;
	margin-left: -1px;
}
.tabLink,
.tabLink:visited {
	display: block;
	width: 100%;
	padding: 1em 0;
	text-decoration: none;
	background: #fff;
	border: solid 1px #424242;
}
.tabLink:hover,
.tabActive {
	background: #4c2c13;
	color: #fff;
}
.tabBody {
	display: none;
	max-width: 800px;
	margin: 0 auto 4em;
}
.recruitTitle {
	font-size: 1.75em;
	line-height: 1;
	font-weight: normal;
	margin: 0 auto 1.5em;
}
.recruitDetail {
	border-top: solid 1px #424242;
	font-size: 1em;
	line-height: 1.75em;
	text-align: left;
}
.recruitDetailTitle {
	float: left;
	width: 17em;
	margin: 0;
	padding: 1em 0.5em 1em 1em;
}
.recruitDetailBody {
	padding: 1em 0.5em 1em 18em;
	margin: 0;
	border-bottom: solid 1px #424242;
}
.btnRecruit {
	display: block;
	font-size: 1.375em;
	letter-spacing: 0.4em;
	text-indent: 0.4em;
	background: #4c2c13;
	color: #fff;
	border: none;
}
.recruitTel {
	max-width: 800px;
	margin: 1em auto;
	background: #fff;
	border: solid 1px #4c2c13;
	padding-bottom: 1.5em;
}
.recruitTelTitle {
	display: inline-block;
	background: #4c2c13;
	color: #fff;
	font-size: 1.25em;
	line-height: 1;
	padding: 1em 2em;
	margin: 0 auto 1em;
}
.recruitTelBody {
	font-size: 1.25em;
	line-height: 2.5em;
	margin: 0;
}
.recruitTelLink {
	font-size: 2em;
	text-decoration: none;
	vertical-align: middle;
}

/* !lp */
/* --------------------------- */
.lp::before {
	content: "";
	width: 100%;
	height: 680px;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: url('../imgs/lp_body_bg.jpg') center top no-repeat;
	background-size: cover;
	z-index: -1;
}
.lpHeader {
	max-width: 900px;
	margin: 0 auto 4.5em;
	padding: 1.5em 1.5em 0 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #fff;
}
.lpSiteTitle {
	margin: 0 auto 0 0;
}
.lpSiteCatch {
	margin: 0 0 0 auto;
	text-shadow: 0 0 4px rgba(0,0,0,.75);
}
.lpEventTitle {
	max-width: 720px;
	margin: 0 auto;
	padding: 0 0 1.25rem;
	border: solid 4px #4c2c13;
	background: rgba(255,255,255,.7);
	font-size: 3.75em;
	line-height: 1.375em;
	font-weight: normal;
}
.lpEventCatch {
	font-size: 0.75em;
}
.lpEventCatchColored {
	color: #378d4d;
}
.lpEventRserve {
	display: inline-block;
	background: #4c2c13;
	color: #fff;
	font-size: 0.666em;
	line-height: 1;
	padding: 0.25em;
	margin: 0 0.125em 0.25em;
}
.lpEventTitle b {
	font-weight: normal;
	font-size: 1.4em;
}
.lpEventTxt {
	max-width: 720px;
	margin: 0 auto;
	padding: 1em 1em 1.5em;
	background: #4c2c13;
	color: #fff;
	font-size: 1em;
	line-height: 1.75em;
}
.lpEventDayWrap {
	background: #4c2c13;
	color: #fff;
	max-width: 720px;
	margin: 0 auto;
	padding: 1em 1em 0.5em;
}
.lpEventDay {
	font-size: 3em;
	margin: 0 0 0.25em;
}
.lpNot {
	max-width: 720px;
	margin: 0 auto 1em;
	background: rgba(0,0,0,.5);
	padding: 0.5em;
	border-radius: 3em;
	color: #fff;
	font-size: 1.5em;
}
.lp .inner {
	max-width: 960px;
}
.lpEventIntroTitle {
	font-size: 1.875em;
	line-height: 1.333em;
	text-align: left;
	font-weight: normal;
	margin: 0 0 0.5em;
}
.lpEventIntroTxt {
	font-size: 1em;
	line-height: 1.75em;
	text-align: justify;
	margin: 0;
}
.lpEventGallery {
	clear: both;
	margin: 1em auto 4em;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.lpEventDetail {
	max-width: 720px;
	margin: 0 auto;
}
.lpEventDetailTitle {
	background: #4c2c13;
	color: #fff;
	font-size: 2em;
	line-height: 1;
	padding: 0.5em 0;
	border-radius: 3em;
	margin: 0 0 0.5em;
}
.lpEventDetailBody {
	font-size: 1.125em;
	line-height: 1.777em;
	margin: 0 0 3rem;
	position: relative;
}
.lpEventDetailBody b,
.lpEventDetailBody b a {
	font-weight: normal;
	color: #4c2c13;
}
.lpEventDetailBody b a {
	font-size: 1.2em;
}
.lpEventDetailDay {
	font-size: 2.5em;
	line-height: 1.675em;
	color: #000;
}
.qrcode {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(10em);
}
.lpEventDetailNotes {
	display: inline-block;
	background: #e5e5e5;
	font-size: 1.125em;
	line-height: 1;
	padding: 0.375em;
	min-width: 10em;
	margin: 0.5em auto;
}
.lpEventIntro {
	padding: 4em 0 2em;
}
.lpEventReserve {
	padding-top: 0;
}
.lpEventReserveTitle {
	background: #4c2c13;
	color: #fff;
	font-size: 2em;
	line-height: 1;
	padding: 0.5em 0;
	margin: 0;
}
.lpEventReserveBody {
	background: #e5e5e5;
	padding: 0.5em 1em 2em;
}
.lpEventReserveTxt {
	font-size: 1.125em;
}
.lpEventReserveTxt b {
	font-weight: normal;
	color: #b80000;
}
.lpEventReserveBody .mailform {
	max-width: 640px;
	margin: 0 auto 1em;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	border-top: dashed 1px #000;
	padding-top: 0.5rem;
}

.lpEventReserveBody form#mailformpro dl dt {
	float: none;
	font-size: 1.125em;
	line-height: 1.25em;
	width: 10rem;
	margin: 0;
	padding: 1rem 0;
	border: none;
	text-align: left;
}
.lpEventReserveBody form#mailformpro dl dt .must {
	float: right;
	font-size: 0.875em;
	line-height: 1;
	border: none;
	background: #b80000;
	text-shadow: none;
	border-radius: 0;
	padding: 0.25em 0.5em;
	box-shadow: none;
	margin: 0;
	vertical-align: middle;
}
.lpEventReserveBody form#mailformpro dl dt .must.optional {
	background: #786e6e;
}
.lpEventReserveBody form#mailformpro dl dd {
	width: calc( 100% - 10rem );
	margin: 0 0 0.5em;
	padding: 0.5rem 0 0.5em 1rem;
	font-size: 1em;
	border: none;
}
.lpEventReserveBody form#mailformpro dl dd .lpEventSelect {
	font-size: 1.5em;
	line-height: 1.5em;
}
.lpEventReserveBody form#mailformpro dl dd .lpEventSelect + .lpEventSelect {
	border-top: dashed 1px #000;
	margin-top: 0.5rem;
	padding-top: 0.5rem;
}
.lpEventReserveBody form#mailformpro dl dd input[type="text"],
.lpEventReserveBody form#mailformpro dl dd input[type="email"],
.lpEventReserveBody form#mailformpro dl dd input[type="tel"] {
	border: none;
	padding: 0.75em 1em;
	margin-right: 0.5em;
	max-width: calc( 100% - 8.5rem );
	transition: all 0.3s ease-in-out;
	box-shadow: 0 0 0 0px #786e6e;
}
.lpEventReserveBody form#mailformpro dl dd input[type="text"]:focus,
.lpEventReserveBody form#mailformpro dl dd input[type="email"]:focus,
.lpEventReserveBody form#mailformpro dl dd input[type="tel"]:focus {
	outline: none;
	box-shadow: 0 0 0 4px #786e6e;
}
.lpEventReserveBody form#mailformpro dl .separate {
	border-bottom: dashed 1px #000;
	padding-bottom: 1rem;
	margin-bottom: 0.5rem;
}
.mfp_achroma,.mfp_colored {
	background: none;
}
.notes {
	margin: 0.5em 0;
	padding: 0 0 0 1em;
	font-size: 0.8125em;
	line-height: 1.5em;
	text-indent: -1em;
}
::placeholder {
	color: #aaa;
}
.mfp_buttons button {
	width: 100%;
	max-width: 400px;
	margin: 0 auto 0.5em;
	font-size: 1.625em;
	line-height: 1;
	text-shadow: none;
	border: none;
	cursor: pointer;
	padding: 0.5em 3em;
	border-radius: 2em;
	background: #4c2c13;
	color: #fff;
	transition: all 0.2s ease-in-out;
}
.mfp_buttons button:hover {
	opacity: 0.875;
	background: #4c2c13;
	color: #fff;
}
.lpEventTel {
	padding: 2.5em;
}
.lpEventTelTitle {
	width: 100%;
	max-width: 400px;
	margin: 0 auto 0.5em;
	font-size: 1.625em;
	line-height: 1;
	letter-spacing: 0.2em;
	text-indent: 0.2em;
	font-weight: normal;
	padding: 0.5em;
	border-radius: 0.2em;
	background: #4c2c13;
	color: #fff;
}
.lpEventTelBody {
	font-size: 2em;
	line-height: 1.75em;
	margin: 0 auto;
}
.lpEventTelBody a {
	font-size: 1.875em;
	color: #4c2c13;
	text-decoration: none;
}
.lpEventTelBody a:hover {
	color: #b80000;
}

/* !sp */
/* --------------------------- */
@media screen and (max-width:800px) {
	/* !sp common */
	/* --------------------------- */
	.floatLeft,
	.floatRight,
	.alignleft,
	.alignright {
		display: block;
		text-align: center;
		float: none;
		margin: 16px auto;
	}
	.nosp {
		display: none;
	}
	.sp {
		display: block;
	}
	.flexCont {
		display: block;
	}
	.btn {
		min-width: auto;
	}
	/* !sp layout */
	/* --------------------------- */
	body {
		font-size: 3vw;
	}
	/* !sp header */
	/* --------------------------- */
	.gHeader {
		font-size: 1em;
		background: none;
	}
	.gHeader::before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 10;
		background: #e5e5e5;
	} 
	.siteTitle {
		margin-left: 3vw;
		z-index: 1000;
	}
	.contactMail .btn {
		font-size: 0.875em;
		padding: 0.625em 1.2em;
	}
	.contactTel {
		font-size: 1.75em;
	}
	/* !sp nav */
	/* --------------------------- */
	.gNav {
		position: fixed;
		top: 0;
		right: 0;
		width: 100%;
		display: block;
		background: #fff;
		transform: translateY(-100%);
		transition: all 0.4s ease;
		padding: 15vw 6vw 6vw;
	}
	#gNav:checked ~ .gHeader .gNav {
		transform: translateY(0);
		opacity: 1;
	}
	.gNavList {
		flex-direction: column;
		font-size: 1.5em;
		margin: 0 auto 1em;
	}
	.gNavItem:not(:first-of-type)::before {
		display: none;
	}
	.gNavItem:not(:last-of-type) {
		border-bottom: solid 1px #ccc;
	}
	.gNavLink {
		padding: 0.75em;
		border-radius: 0;
	}
	.snsNav {
		-webkit-justify-content: center;
		justify-content: center;
		font-size: 2.5em;
		line-height: 1.6em;
	}
	.snsIconLink {
		width: 1.6em;
		height: 1.6em;
		padding: 0;
		margin: 0 0.25em;
		background: #f0f0f0;
		border-radius: 2em;
	}
	#gNav:checked ~ .gNav {
		transform: translateX(-50%) translateY(0);
	}
	.gNavBg {
		display: block;
		width: 100vw;
		height: 100vh;
		background: rgba(0,0,0,0);
		position: fixed;
		top: 0;
		left: 0;
		z-index: 900;
		pointer-events: none;
	}
	#gNav:checked ~ .gNavBg {
		transition: all 0.4s ease;
		background: rgba(0,0,0,.85);
		pointer-events: all;
	}
	.toggle {
		display: block;
		line-height: 1;
		color: #fff;
		box-sizing: border-box;
		width: 7vw;
		height: 7vw;
		margin: 0 3vw 0 auto;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-flex-direction: column;
		flex-direction: column;
		cursor: pointer;
		transition: all 0.4s ease;
		z-index: 1000;
	}
	.toggle .bar {
		display: block;
		width: 80%;
		height: 1px;
		margin: 0.25em auto;
		background: #424242;
		border-radius: 1px;
		transition: all 0.4s ease;
	}
	.toggle .bar:first-of-type {
		margin-top: auto;
	}
	.toggle .bar:last-of-type {
		margin-bottom: auto;
	}
	#gNav:checked ~ .gHeader .toggle .bar {
		opacity: 0;
	}
	#gNav:checked ~ .gHeader .toggle .bar:first-of-type {
		opacity: 1;
		transform: translateY(0.625em) rotate(45deg) scale(1.1);
	}
	#gNav:checked ~ .gHeader .toggle .bar:last-of-type {
		opacity: 1;
		transform: translateY(-0.625em) rotate(-45deg) scale(1.1);
	}
	
	/* !sp footer */
	/* --------------------------- */
	.gFooter .inner {
		padding: 0 3vw;
	}
	.footerInfo {
		max-width: 100%;
		padding: 0 3vw;
		text-align: center;
	}
	.footerCatch {
		line-height: 1.5em;
	}
	.footerContact {
		padding: 0 3vw 3vw;
	}
	.footerNav {
		width: 45%;
		margin: 0 auto;
	}
	.footerNav .footerNav {
		width: auto;
	}
	.footerHeading .snsNav {
		position: relative;
		top: auto;
		right: auto;
		margin: 0 auto 1em;
	}
	.footerHeading .snsNav .snsIconLink {
		color: #424242;
	}
	/* !sp common */
	/* --------------------------- */
	.contNavBox {
		font-size: 0.875em;
		padding: 0 0.5em;
		height: 40%;
	}
	.contNavItem.item04 {
		clear: left;
	}
	.serviceNav {
		font-size: 1.375em;
		margin: 0 auto 3vw;
		padding: 0 6vw;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.serviceNavItem {
		width: 46.875%;
		padding-bottom: 39.0625%;
		margin-bottom: 3vw;
	}
	.mokurinImg {
		max-width: 40%;
	}
	.snsList {
		padding: 0 6vw;
	}
	.snsListItem {
	}
	.snsListLink {
		width: 100%;
		height: 100%;
		flex-direction: column;
		padding: 1em 0;
	}
	.snsListLink img {
		width: 2.25em;
		margin-bottom: 0.5em;
	}
	.snsListLink .fab {
		margin-bottom: 0.25em;
	}
	/* !sp top */
	/* --------------------------- */
	.topMainTitle {
		font-size: 4em;
		letter-spacing: 0.1em;
		text-indent: 0.1em;
		white-space: nowrap;
	}
	.topMainSince {
		font-size: 1.75em;
		white-space: nowrap;
	}
	.topMainComname {
		max-width: 40vw;
	}
	.btnContact {
		width: 16vw;
	}
	.swiper-slide .topContTitle {
		font-size: 1.75em;
		line-height: 1.625em;
	}
	.slide02 .topContTitle {
		left: 1rem;
	}
	.topPostCont .inner {
		display: block;
		padding: 0 6vw;
	}
	.topPostNews {
		margin-bottom: 4em;
	}
	.topPostBlog {
		max-width: 100%;
	}
	.topPostBlog .postListWrap {
		display: block;
	}
	.topPostBlog .postListThumb img {
		width: 100%;
	}
	.btnMore + .btnMore {
		margin-left: 0;
	}
	/* !sp lower */
	/* --------------------------- */
	.pageHeading {
		padding-top: 20vw;
		min-height: 90vw;
	}
	.pageHeading .topContIllust {
		margin-bottom: 1em;
	}
	.pageBody {
		padding: 6vw;
	}
	.contTitle {
		font-size: 2em;
	}
	.phCont {
		overflow: hidden;
	}
	.phCont.phTwo img {
		max-width: 47.5%;
	}
	/* !sp strength */
	/* --------------------------- */
	.conceptListPh {
		max-width: 164px;
	}
	.conceptList {
		display: inline-block;
	}
	/* !sp strength */
	/* --------------------------- */
	.strCommuTitle img {
		max-width: 80%;
	}
	.strengthMerit {
		display: inline-block;
	}
	/* !sp flow */
	/* --------------------------- */
	.flowSteps {
		padding: 1em 0 1em 2em;
	}
	.stepItem {
		padding-left: 3rem;
		text-indent: -3rem;
	}
	.stepNum {
		min-width: 3rem;
	}
	.flowBox:first-of-type .flowIllust {
		width: 20%;
	}
	.flowBox:last-of-type .flowIllust {
		width: 45%;
	}
	/* !sp wb */
	/* --------------------------- */
	.movie {
		height: 56.25vw;
	}
	.btnWb img {
		max-width: 50vw;
	}
	/* !sp voice */
	/* --------------------------- */
	.voice .pageBody {
		padding: 6vw 0;
	}
	.voiceCont .inner {
		padding: 0 10vw;
	}
	.voicePh ~ .contTitle,
	.voicePh ~ .voiceName {
		text-align: center;
	}
	.voicePh ~ .contTxt {
		padding-left: 0;
	}
	/* !sp outline */
	/* --------------------------- */
	.outlineDetail,
	.outlineHistory {
		padding: 2.5rem 0;
	}
	.outlineHistory .outlineList {
		padding: 0.5em 0;
	}
	.ohYear {
		padding-left: 1rem;
	}
	.ohBody {
		padding-right: 1rem;
		margin-left: 1.75rem;
	}
	.ohBody::before,
	.ohBody::after {
		left: 7.5rem;
	}
	/* !sp mailform */
	/* --------------------------- */
	.mailformTitle {
		float: none;
		padding-bottom: 0.25rem;
	}
	.mailformBody {
		padding-top: 0.25rem;
		padding-left: 1rem;
	}
	.privacyBox {
		padding: 0.5em 1.5em;
	}
	/* !sp reform */
	/* --------------------------- */
	.reform .topContTitle {
		max-width: 90%;
	}
	.reformPoint {
		margin-bottom: 4rem;
	}
	.reformPointItem {
		width: 20vw;
		height: 20vw;
		padding-top: 0.5em;
	}
	.reformDetail {
		padding-left: 0;
	}
	.reformDetailTitle::before {
		width: 50vw;
		height: 50vw;
	}
	.reformDetail .contTxt {
		font-size: 0.8em;
	}
	.reformCategory {
		padding: 6vw 6vw;
		justify-content: space-around;
	}
	.reformCatBox {
		max-width: 42.5%;
		margin: 0 0 2rem;
	}
	/* !sp kominka */
	/* --------------------------- */
	.kominkaCont {
		width: 100%;
		max-width: 100%;
		padding-bottom: 30vh;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		flex-direction: column;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-webkit-align-items: flex-start;
		align-items: flex-start;
	}
	.kominkaCont:first-of-type {
		padding-bottom: 66vh;
	}
	.kominkaTitle {
		padding-right: 0.5em;
	}
	.kominkaBody {
		width: 80%;
		height: 70%;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-webkit-align-items: flex-start;
		align-items: flex-start;
	}
	.kominkaTxt {
		height: 16em;
		float: none;
	}
	.kominkaPh02 {
		margin: 0 auto 1rem;
		height: 66vw;
	}
	.kominkaDetailCont,
	.kominkaProposal {
		padding: 0 6vw;
	}
	.kominkaDetaiPh img {
		max-width: 31%;
	}
	.proposalDetail {
		max-width: 45%;
	}
	/* !sp recruit */
	/* --------------------------- */
	.recruitDetailTitle {
		width: 11em;
	}
	.recruitDetailBody {
		padding-left: 11em;
	}
	/* !sp lp */
	/* --------------------------- */
	.lp::before {
		background-position: right top;
		background-size: 130% auto;
	}
	.lpHeader {
		padding: 1.5em 1.5em 0;
		margin-bottom: 30vw;
	}
	.lpSiteTitle {
		max-width: 40vw;
	}
	.lpSiteCatch {
		font-size: 0.8125em;
		line-height: 1.5em;
		text-align: left;
	}
	.lpEventTitle {
		max-width: 80vw;
		font-size: 2.5em;
	}
	.lpEventTitle img {
		max-width: 66%;
	}
	.lpEventTxt {
		max-width: 80vw;
	}
	.lpEventIntroTitle,
	.lpEventIntroTxt,
	.lpEventDetail {
		padding: 0 1.5rem;
	}
	.lpEventGallery img {
		width: 33.333%;
	}
	.qrcode {
		position: relative;
		top: auto;
		left: auto;
		transform: translateX(0);
		margin-top: 1rem;
	}
	.lpEventReserveBody form#mailformpro dl dt {
		width: 7.5rem;
	}
	.lpEventReserveBody form#mailformpro dl dd {
		width: calc( 100% - 7.5rem );
	}
	.lpEventReserveBody form#mailformpro dl dd input[type="text"],
	.lpEventReserveBody form#mailformpro dl dd input[type="email"],
	.lpEventReserveBody form#mailformpro dl dd input[type="tel"] {
		max-width: calc( 100% - 5.75rem );
	}
	div.mfp_buttons button {
		font-size: 1.875em;
		max-width: 80vw;
	}
	.lpEventTelBody {
		font-size: 1.625em;
	}
}