@charset "utf-8";
/*
Theme Name:mrp-child
Template:mrp
Version: 1.0.0
*/
/*
DesignCode CSS: ver 0.01
*/
/*------------------------------------------------------
Theme Material
------------------------------------------------------*/

/* フォント */
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');



/* カラー設定 */
:root {
	/*------▼メインカラー▼------*/
	--color-background: #FFF;
	--color-primary: #F89B30;
	--color-primary-thit: #FACC2B;
	--color-primary-shade: #FEF1E2;
	--color-primary-link: #E57B01;
	--color-primary-bg: #FCCF9B;
	--color-secondary-link: #0081CC;
	--color-secondary: #009CF6;
	--color-line: #70EB36;
	--color-line-link: #4CB819;
    --color-border: #ccc;
	--color-alert: #D80F0F;
	--color-font: #111;
	--color-border: #eee;
	--color-gray-bg: #FAF9F9;

    /*------▼フォント▼------*/
    --body-font-size: min(calc(1.6rem + (1vw - 19.2px) * 0.1294), 1.6rem);
    --body-font-family: 'Noto Sans JP', sans-serif;
	--font-family01: 'Zen+Kaku+Gothic+New', sans-serif;
    --font-family02: 'Open Sans', 'Zen+Kaku+Gothic+New', sans-serif;

	/*------最大幅------*/
	--content-max-width: 1240px;
}

body {
    font-size: var(--body-font-size);
    font-family: var(--body-font-family);
	color: var(--color-font);
}

/*--メディアクエリ--------------------------------------------*/
@media print, screen and (min-width: 1024px) {}
@media print, screen and (max-width: 1023px) {}
@media print, screen and (min-width: 769px) {}
@media print, screen and (max-width: 768px) {}



/*------------------------------------------------------
ベース修正
------------------------------------------------------*/
#wrapper {
    max-width: 100%;
	padding: 0;
}
.front_contents {
    padding: var(--px100) 0;
}

@media print, screen and (max-width: 1023px) {
	#content, #content.wide {
		width: 100%;
	}
}
.post h2::after {
	content: none;
}


/*------------------------------------------------------
Hover
------------------------------------------------------*/
a:hover {
    opacity: .8;
    cursor: pointer;
}

/*------------------------------------------------------
共通
------------------------------------------------------*/
.top_title {
	color: var(--color-font);
	font-weight: bold;
	font-size: var(--rem36);
	text-align: center;
	margin: 0 auto var(--px60);
}
.post h2.lower_title {
	color: var(--color-font);
	font-size: var(--rem30);
	margin: 0 auto var(--px40);
}
.post h2.lower_title::after {
	content: none;
}
.pad_anchor {
	display: block;
    margin-top: -100px !important;
    padding-top: 100px !important;
}
/*------------------------------------------------------
Btn
------------------------------------------------------*/
.linkBtn, .post .linkBtn, a.linkBtn {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 240px;
    font-size: var(--rem16);
    color: #fff;
	background-color: var(--color-primary-thit);
    line-height: 1.8;
    text-align: center;
    font-weight: 600;
    padding: var(--rem20) 30px var(--rem20) 20px;
    margin: 0 auto;
    border-radius: 50vh;
    transition: all .3s;
}
input[type=button], input[type=reset], input[type=submit] {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 240px;
    font-size: var(--rem16);
    color: #fff;
	background: var(--color-primary-thit);
    line-height: 1.8;
    text-align: center;
    font-weight: 600;
    margin: 0 auto;
    border-radius: 50vh;
}
.wpcf7-form input[type=submit] {
    padding: var(--rem20) 30px var(--rem20) 20px;
}
.post .linkBtn::after, .linkBtn::after, a.linkBtn::after {
    content: '\f138';
    position: absolute;
    font-size: var(--rem16);
    color: #fff;
    font-family: 'Font Awesome 5 Free';
    font-weight: 600;
    line-height: 1;
    top: 50%;
    right: 18px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border: none;
    width: auto;
    height: auto;
    margin: 0;
    transition: 0.3s all;
}
.post .subimitarea .linkBtn input[type="submit"] {
	padding: 0;
}
.linkBtn:hover, .post .linkBtn:hover, a.linkBtn:hover {
	background: var(--color-primary-link);
}
input[type=button]:hover, input[type=reset]:hover, input[type=submit]:hover {
	background: var(--color-primary-link);
}

.subBtn {
	max-width: 150px;
	width: 100%;
	font-size: var(--rem16);
	text-align: left;
	font-weight: bold;
	color: var(--color-font);
	border-bottom: 2px solid var(--color-primary-link);
	padding-bottom: .8em;
	margin-top: 1em;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
}
.subBtn::after {
	content: "\f054";
	font-family: 'Font Awesome 5 Free';
	display: inline-block;
	color: var(--color-primary-link);
	font-size: 12px;
}

/*------------------------------------------------------
Header
------------------------------------------------------*/
/* ロゴ */
.logo_inner {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
#header .logo img {
	max-width: 120px;
}
.logo {
	margin-right: .3em;
}
#header h1, #header .description, #header-upper h1, #header-upper .description {
	font-size: 7px;
	margin-bottom: 0.2em;
}
.catchphrase_name {
	font-size: var(--rem24);
	font-weight: bold;
	display: block;
}

/* グローバルメニュー */
nav#mainNav ul li a {
	padding: min(calc(2.0rem + (1vw - 1.92rem) * 1.1161) ,20px);
	font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.3348) ,1.6rem);
}

/* CTAボタン */
#header a.head_btn {
	padding: min(calc(2.0rem + (1vw - 1.92rem) * 1.6741) ,20px);
}
#header a.head_btn.line_btn {
	background: var(--color-line);
	text-align: center;
	color: #fff;
	line-height: 1.2;
    font-size: 1.4rem;
}
#header a.head_btn.line_btn::before {
	content: "\f3c0";
}
#header a.head_btn.mail_btn {
	background: var(--color-primary);
}
#header a.head_btn.line_btn:hover {
	background: var(--color-line-link);
}
#header a.head_btn.mail_btn:hover {
	background: var(--color-primary-link);
}
nav#mainNav ul li.current-menu-item a b, nav#mainNav ul li a:hover b, nav#mainNav ul li a:active b, nav#mainNav ul li.current-menu-parent a b {
	color: var(--color-primary);
}

/* SP */
@media print, screen and (max-width: 768px) {
	nav#mainNav ul li a {
		padding: 16px;
	}
	nav#mainNav ul li a {
		border-bottom: 1px solid var(--color-border);
	}
}

/*------------------------------------------------------
Footer
------------------------------------------------------*/
#footer {
	background: var(--color-primary-shade);
	color: var(--color-font);
}
#footer .inner,
#footer .menu_inner {
	width: 90%;
	margin: 0 auto 20px;
	color: var(--color-font);
}
#footer .footer__logo:not(:last-child) {
	text-align: left;
}
.footer_subtext {
	margin-top: var(--px20);
	font-size: 1.0rem;
}
.footer_name {
	font-size: min(calc(3.6rem + (1vw - 1.92rem) * 0.7767) ,3.6rem);
	font-weight: bold;
}
address {
	text-align: left;
}
address .address {
	font-size: 1.3rem;
	font-weight: bold;
	margin-bottom: .3em;
}
address .address_text {
	font-weight: normal;
	margin-left: .5em;
}
#footer li a, .footeradd, .footertel {
	color: var(--color-font);
}
#footer li a:hover {
	color: var(--color-primary-link);
}
#footer .footnav ul > li::before, #footer .footnav ul > li::after {
	background: var(--color-font);
}
#footer .socialicon .fa-facebook:before, #footer .socialicon .fa-twitter:before, #footer .socialicon .fa-youtube:before, #footer .socialicon .fa-instagram:before, #footer .socialicon .fa-x-twitter:before, #footer .socialicon .fa-line:before, #footer .socialicon .fa-tiktok:before {
	color: var(--color-font);
}
.socialicon {
	margin-bottom: 10px;
}
#copyright {
	font-family: var(--font-family02);
	color: var(--color-font);
	background: var(--color-primary-shade);
	margin: 0 auto;
}

/*------------------------------------------------------
サイトマップ
------------------------------------------------------*/
.post ul#sitemap_list li {
	margin-bottom: min(calc(2.0rem + (1vw - 1.92rem) * 0.2589) ,20px);
	padding-left: 0;
	padding-bottom: min(calc(2.0rem + (1vw - 1.92rem) * 0.2589) ,20px);
	border-bottom: 1px solid var(--color-border);
}
/*------------------------------------------------------
お問い合わせ
------------------------------------------------------*/
.post h2.contact_title {
	font-family: var(--font-family);
	text-align: left;
	font-size: min(calc(2.4rem + (1vw - 1.92rem) * 0.3883), 2.4rem);
	margin: 0 auto var(--px30);
}
.aligncenter {
	text-align-last: left;
	font-family: var(--g-font-family);
	font-weight: normal;
}
.wpcf7-form .must {
	background: var(--color-primary)
}
.contact_area {
	font-family: var(--g-font-family);
	font-weight: normal;
}
.contact_area th {
	font-weight: bold;
}
.contact_area th.sup {
	font-size: 1.2rem;
	color: var(--color-accent);
}
.post .subimitarea .linkBtn input[type="submit"] {
	font-family: var(--font-family);
}


/*------------------------------------------------------
TOP （お悩み・お困りごと）
------------------------------------------------------*/
.qa_content {
	background: var(--color-primary-shade);
	padding: var(--px60) 0;
}
.qa_wrap {
	max-width: var(--content-max-width);
	width: 94%;
    margin: 0 auto;
	align-items: center;
}
.qa_wrap .qa_inner {
    width: 100%;
	max-width: 740px;
}
.qa_wrap .imgarea {
    overflow: hidden;
    line-height: 0;
    margin: 0;
}
.qa_wrap .imgarea img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*---------txtstyle-----------*/
.post .qa_title, .qa_title {
	font-size: min(calc(3.4rem + (1vw - 1.92rem) * 1.0356) ,3.4rem);
	font-weight: 600;
	text-align: left;
	margin: 0 auto var(--px40);
    color: var(--color-font);
    line-height: 1.4;
	padding: 0;
}
.post .qa_item, .qa_item {
	font-size: var(--rem24);
	font-weight: normal;
	text-align: left;
	margin-bottom: .8em;
	border: none;
    color: var(--color-font);
    line-height: 1.4;
	padding: 0;
}
.post .qa_item em, .qa_item em {
	font-style: normal;
	font-weight: bold;
	color: var(--color-alert);
}
.post .qa_item::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 100px;
	background:var(--color-font);
	margin-right: 12px;
}
@media print, screen and (max-width: 768px) {
	.post .qa_title, .qa_title {
		margin: 0 auto var(--px20);
	}
	.qa_wrap .imgarea img {
		width: 60%;
		margin: 0 auto;
		text-align: center;
		display: block;
	}
}

/*------------------------------------------------------
TOP （キャッチコピー）
------------------------------------------------------*/
.post .catch_inner {
	background: var(--color-primary);
	padding: var(--px50) var(--px30);
	text-align: center;
}
.post h2.catch_text {
	color: #fff;
	font-size: var(--rem36);
	font-weight: bold;
	margin: 0 auto;
	display: inline-block;
}
.post h2.catch_text::after {
	content: "";
	display: block;
	background: #fff;
	width: 100%;
	height: 1px;
	margin: 0.3em auto 0;
}

/*------------------------------------------------------
TOP (サービス内容)
------------------------------------------------------*/
.service_wrap {
	position: relative;
	margin: var(--px60) 0 0;
}
.service_inner {
	max-width: var(--content-max-width);
	width: 94%;
	margin: 0 auto;
}
.service_list > li {
	position: relative;
	background: transparent;
}
.service_list .imgarea {
	width: 100%;
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	line-height: 0;
}
.service_list .imgarea img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.service_list .txtarea {
	padding: 20px 0 0 0;
	line-height: 1.6;
	text-align: left;
	background: transparent;
}

/*---------txtstyle02 -----------*/

.post .service_title, .service_title {
	font-family: var(--font-family02);
	font-size: var(--rem36);
	font-weight: 600;
	text-align: left;
	margin: var(--rem36) auto;
	background: transparent;
    color: #111;
    line-height: 1.4;
	padding: 0;
}
.post .service_title:before, .post .service_title:after, .service_title:before, .service_title:after {
	content: none;
}
.post .service_list .service_title, .service_list .service_title {
	font-size: var(--rem20);
	margin: 0 0 1rem;
}

/*---------column04-----------*/

.col4_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: var(--px40);
}
.col4_list {
    position: relative;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.col4_list::before {
	content:"";
	display: block;
	width: calc(100% / 4 - var(--px40));
	order: 1;
}
.col4_list:after {
    content: "";
    display: block;
    width: calc((100% - (var(--px40) * 3)) / 4);
	order: 2;
}
.col4_list > li {
    width: calc((100% - (var(--px40) * 3)) / 4);
}

@media print, screen and (max-width: 768px) {
	.col4_list > li {
		width: calc((100% - (var(--px40)* 1)) / 2);
	}
}
@media print, screen and (max-width: 414px) {
	.col4_list > li {
		width: 100%;
	}
}

/*------------------------------------------------------
TOP (ご依頼の流れ)
------------------------------------------------------*/
.flow_contents {
	background: var(--color-primary-bg);
}
.flow_inner {
	max-width: var(--content-max-width);
    width: 94%;
    margin: var(--px60) auto 0;
}
.flow_inner .flow_list {
	gap: 2%;
	margin: -45px 0 0;
}
.flow_inner .flow_list .flow_item {
	background: #fff;
	padding: 16px 16px var(--px30);
	border-radius: 16px;
	position: relative;
	margin: 45px 0 0;
}
.post .flow_list .flow_title, .flow_list .flow_title {
	font-family: var(--font-family02);
    font-weight: 600;
    text-align: center;
	font-size: var(--rem20);
	text-align: center;
    margin: var(--rem20) auto .1em;
    padding: 0;
}
.post .flow_list .flow_text, .flow_list .flow_text {
    color: var(--color-font);
	font-size: var(--rem16);
    line-height: 1.4;
}
ul.flow_list {
	counter-reset: flowList;
}
ul.flow_list li.flow_item::before {
	content: counter(flowList, decimal-leading-zero);
    counter-increment: flowList;
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: min(calc(8.0rem + (1vw - 1.92rem) * 1.9417) ,8.0rem);
    height: min(calc(8.0rem + (1vw - 1.92rem) * 1.9417) ,8.0rem);
    color: #fff;
    background: var(--color-primary);
	border-radius: 100px;
    font-size: calc(2rem + (1vw - 19.2px) * 0.3236);
	font-weight: bold;
	font-family: var(--font-family02);
    letter-spacing: .1rem;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}


/*------------------------------------------------------
TOP (対応エリア)
------------------------------------------------------*/
.map_wrap {
    max-width: var(--content-max-width);
    width: 94%;
    margin: 0 auto;
	align-items: center;
	gap: 4%;
}
.map_wrap .map_inner {
    width: 100%;
	max-width: 540px;
}
.map_wrap .imgarea {
    overflow: hidden;
    line-height: 0;
    margin: 0;
}
.map_wrap .imgarea img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*---------txtstyle-----------*/
.post .map_title, .map_title {
	font-size: min(calc(3.4rem + (1vw - 1.92rem) * 1.0356) ,3.4rem);
	font-weight: 600;
	text-align: left;
	margin: 0 auto var(--px40);
    color: var(--color-font);
    line-height: 1.4;
	padding: 0;
}
.post .map_subTitle, .map_subTitle {
	font-size: var(--rem24);
    font-weight: bold;
    padding: 0;
    margin-bottom: .5em;
    border-bottom: none;
	color: var(--color-primary-link);
}
.post .map_list, .map_list {
    margin-bottom: 1em;
}
.post .map_item, .map_item {
	font-size: var(--rem18);
	font-weight: normal;
	text-align: left;
	margin-bottom: .3em;
	border: none;
    color: var(--color-font);
    line-height: 1.4;
	padding: 0;
}
.post .map_item::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 100px;
	background:var(--color-font);
	margin-right: 12px;
}
.post .map_text, .map_text {
	font-size: var(--px20);
}

@media print, screen and (max-width: 1023px) {
	.map_wrap {
		align-items: stretch;
	}
}
@media print, screen and (max-width: 768px) {
	.post h2.map_title:first-child {
		margin-top: 1em;
	}
	.post h2.map_title, .h2map_title {
		margin: 1em auto;
	}
	.post h3.map_subTitle, h3.map_subTitle {
		margin-top: 1em;
	}

}

/*------------------------------------------------------
TOP (CTA)
------------------------------------------------------*/
/* 背景 */
#foot-contact_pt03 {
	background: url(/wp-content/uploads/top_ctabg.jpg) no-repeat center center;
	background-size: cover;
	padding: var(--px100) 0;
}
.foot-contact_text {
	color: var(--color-font);
	font-size: var(--rem16);
	text-align: center;
	margin: -24px auto var(--px50);
	width: 94%;
}
#foot-contact_pt03 ul.contact_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 94%;
	max-width: var(--content-max-width);
	margin: 0 auto;
}
/* ボタン */
#foot-contact_pt03 ul.contact_list > li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: calc(100% / 3);
	font-size: min(calc(2.0rem + (1vw - 1.92rem) * 0.2589), 2.0rem);
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: .1rem;
	text-align: center;
	padding: min(calc(30px + (1vw - 19.2px) * 0.6472), 30px);
}
#foot-contact_pt03 a.f-contact_btn {
	color: #FFF;
	display: inline-block;
}
#foot-contact_pt03 a.f-contact_btn.mailBtn {
	color: var(--color-secondary-link);
}
#foot-contact_pt03 a.f-contact_btn .telBtn {
	font-size: var(--rem36);
	line-height: 1;
	padding: .2em;
	font-family: var(--font-family02);
}
#foot-contact_pt03 a.f-contact_btn .f-contact_time {
	font-family: var(--font-family02);
}
#foot-contact_pt03 a.f-contact_btn .ico::before {
	display: inline-block;
	font-size: min(calc(2.5rem + (1vw - 19.2px) * 0.3236), 2.5rem);
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	margin-right: .4em;
}
#foot-contact_pt03 a.f-contact_btn .telBtn .ico::before {
	content: '\f095';
}
#foot-contact_pt03 a.f-contact_btn.mailBtn .ico::before {
	content: '\f0e0';
	color: var(--color-secondary-link);
}
#foot-contact_pt03 a.f-contact_btn.lineBtn .ico::before {
	content: '\f3c0';
	font-family: 'Font Awesome 6 Brands';
	font-weight: 400;
}

/*色別*/
#foot-contact_pt03 ul.contact_list > li.fc_tel {
	color: #FFF;
	background: var(--color-primary-thit);
}
#foot-contact_pt03 ul.contact_list > li.fc_mail {
	color: var(--color-secondary-link);
	background: #F5F5F5;
}
#foot-contact_pt03 ul.contact_list > li.fc_line {
	color: #FFF;
	background: var(--color-line);
}

@media print, screen and (max-width: 1023px) {
	#foot-contact_pt03 ul.contact_list > li {
		width: 100%;
	}
}

/*------------------------------------------------------
TOP (新着情報)
------------------------------------------------------*/
#front_top_content, #front_bottom_content {
	background: #fff;
}
.dateLabel {
	border-top: 1px solid var(--color-border);
	font-family: var(--font-family02);
	color: var(--color-primary-link);
	font-weight: bold;
	font-style: normal;
}
.postlist li:first-child {
    border-top: 1px solid var(--color-border);
}
.postlist li {
    border-bottom: 1px solid var(--color-border);
}
.ttls a:hover {
	color: var(--color-primary);
}

/*------------------------------------------------------
サービス内容
------------------------------------------------------*/
.fw_contents .page_contents_inner {
	padding: var(--px100) calc((100vw - 100%) / 2);
}
.fw_contents .page_contents_inner:nth-child(even) {
	background: var(--color-gray-bg);
}
@media print, screen and (max-width: 768px) {
	.fw_contents .page_contents_inner .alignnone {
		width: 100%;
	}
}


/*------------------------------------------------------
ご利用の流れ
------------------------------------------------------*/
ul.flowlist02 {
	counter-reset: flow_list;
}
ul.flowlist02 > li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	gap: min(calc(40px + (1vw - 19.2px) * 1.6181), 40px);
	width: 100%;
	padding: min(calc(6.0rem + (1vw - 1.92rem) * 2.8479) ,60px);
	border-radius: 10px;
	background: var(--color-gray-bg);
	position: relative;
}
.flowlist02 > li:not(:last-child) {
	margin-bottom: 60px;
}
.flowlist02 .flow_img {
	width: 35%;
}
.post .flowlist02 > li > dl {
	width: calc(65% - min(calc(40px + (1vw - 19.2px) * 1.6181), 40px));
	line-height: 1.8;
}
.flowlist02 > li:not(:last-child) dl::before,
.flowlist02 > li:not(:last-child) dl::after {
	content: "";
	border: solid transparent;
	position: absolute;
	top: calc(100% + 20px);
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.flowlist02 > li:not(:last-child) dl::before {
	border-width: 22px;
	border-top-color: var(--color-primary);
}
.flowlist02 > li:not(:last-child) dl::after {
	border-width: 20px;
}
.post .flowlist02 > li > dl dt {
	position: relative;
	display: flex;
	align-items: center;
	font-size: min(calc(2.4rem + (1vw - 19.2px) * 0.4531), 2.4rem); /* 2.4-1.7rem (1920-375) */
	font-weight: 600;
	padding: 0 0 1em 0;
	margin-bottom: min(calc(30px + (1vw - 19.2px) * 0.9709), 30px);
	border-bottom: 1px solid var(--color-primary);
}
.flowlist02 > li dl dt .icon:before {
	content: counter(flow_list, decimal-leading-zero);
	counter-increment: flow_list;
	line-height: 1;
	color: #fff;
	background: var(--color-primary);
	padding: 5px 10px;
	margin-right: 10px;
	position: relative;
	z-index: 100;
}
.post .flowlist02 > li > dl dd {
	padding: 0;
}
.post .flowlist02 .flow_btn {
	margin-top: 2em;
	width: 100%;
}
.post .flowlist02 .flow_btn a {
	display: block;
	margin: 0 0 1em 0;
}
.post .flowlist02 .flow_btn:last-child {
	margin-bottom: 0;
}
.post .flowlist02 .flow_btn a.flow_lineBtn {
	background: var(--color-line);
}
.post .flowlist02 .flow_btn a.flow_lineBtn:hover {
	background: var(--color-line-link);
}
.post .flowlist02 .flow_btn a.flow_mailBtn {
	background: var(--color-secondary);
}
.post .flowlist02 .flow_btn a.flow_mailBtn:hover {
	background: var(--color-secondary-link);
}


@media print, screen and (max-width: 768px) {
	.post .flowlist02 > li > dl, .flowlist02 .flow_img {
		width: 100%;
	}
	.flow_img::before {
		padding-top: calc(360px + (1vw - 7.68px) * 35.6234);
	}
	.post .flowlist02 .flow_btn a {
		display: block;
		margin: 0 auto 1em;
	}
}


/*------------------------------------------------------
社員インタビュー
------------------------------------------------------*/
.post .staff_name {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: flex-start;
	background: none;
	border-bottom: 1px solid var(--color-border);
	margin: min(calc(120px + (1vw - 19.2px) * 5.178), 120px) 0 min(calc(45px + (1vw - 19.2px) * 1.2945), 45px);
	/* -- 1920 120px 375 40px -- */
	/* -- 1920 45px 375 25px -- */
	padding: 0 0 0.5em;
	color: var(--color-font);
	font-family: inherit;
	font-size: min(calc(3.6rem + (1vw - 19.2px) * 0.9709), 3.6rem);
	/* -- 1920 3.6rem 375 2.1rem -- */
	font-weight: 700;
	text-align: left;
	line-height: 1.35;
	letter-spacing: normal;
	gap: 0.15em 1em;
}
.post .staff_name::before,
.post .staff_name::after {
	content: none;
}
.staff_name span.sub {
    color: var(--color-primary-link);
    font-weight: 500;
    font-size: min(calc(2.1rem + (1vw - 19.2px) * 0.3883), 2.1rem);
    text-align: left;
    letter-spacing: normal;
}

/* -- staff_messagehead -- */
.post .staff_messagehead {
	font-size: min(calc(2.4rem + (1vw - 19.2px) * 0.4531), 2.4rem); /* 2.4-1.7rem (1920-375) */
	font-weight: 600;
	letter-spacing: .1rem;
	padding: 0;
	margin: min(calc(70px + (1vw - 19.2px) * 2.2654), 70px) auto min(calc(20px + (1vw - 19.2px) * 0.6472), 35px); /* 70-35px auto 35-25px (1920-375) */
	border-bottom: none;
}
.post .staff_messagehead::before {
	content: none;
	position: relative;
	width: auto;
	height: auto;
	top: auto;
	left: auto;
}

/*-----------------------------
.cardstyle
------------------------------*/
.post .col3_list {
	position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
	flex-wrap: wrap;
}
.post .col3_list > li {
    width: 32%;
	margin-bottom: 2em;
}
.post .col3_list::before {
    content: "";
    display: block;
    width: 32%;
    height: 0;
    order: 1;
}
.post .col3_list:after {
    content: "";
    display: block;
    width: 32%;
    height: 0;
}
@media print, screen and (max-width: 768px) {
	.post .col3_list > li {
		width: 49%;
	}
	.post .col3_list::before, .post .col3_list:after {
		content: none;
	}
}
@media print, screen and (max-width: 414px) {
	.post .col3_list > li {
		width: 100%;
	}
}

/*---------style03-------------*/
.card01_list.cardstyle03 > li {
    padding: 16px;
    background: #fff;
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, .2);
}

/*---------txtstyle02 -----------*/
.post .txtstyle02, .txtstyle02 {
	font-family: var(--font-family02);
	font-size: var(--rem36);
	font-weight: 600;
	text-align: left;
	margin: var(--rem36) auto;
	background: transparent;
    color: #111;
    line-height: 1.4;
	padding: 0;
}
.post .txtstyle02:before, .post .txtstyle02:after, .txtstyle02:before, .txtstyle02:after {
	content: none;
}
.post .card01_list .txtstyle02, .card01_list .txtstyle02 {
	font-size: var(--rem20);
	margin: 0 0 1rem;
}
.fw_contents {
    margin-top: 0;
    margin-bottom: 0;
}
#content:has(.fw_contents), body:not(.home) #content:has(.fw_contents).wide {
    padding: 0;
}


/*------------------------------------------------------
実績紹介
------------------------------------------------------*/
.post h2.work_title {
	font-size: min(calc(3.6rem + (1vw - 19.2px) * 0.9709), 3.6rem);
	border-bottom: 1px solid var(--color-border);
	padding: 0 0 0.2em;
	color: var(--color-font);
	text-align: left;
	font-weight: bold;
	margin-bottom: .5em;
}
.work_contents .gap {
	gap: 2%;
}
.gallery-caption {
    margin: 1em auto !important;
    font-weight: bold;
	background: var(--color-primary-shade);
	color: var(--color-primary-link);
	font-family: var(--font-family02);
}
.gallery-caption {
	width: 97%;
}