/*
Theme Name: pre-marugo
Theme URI: https://yane.marugo-group.com/
Description: pcbrain
Version: 1.0
Author: pcbrain.co.jp
*/

/* YUI fonts.css - font size設定
----------------------------------------------------------- */
@import url("css/cssfonts-min.css");

/* default style - リセット及びbody基本設定
----------------------------------------------------------- */
@import url("css/default.css");

/* all style
----------------------------------------------------------- */
@import url("css/style.css");

body {
	min-width: 1200px;
	font-size: 16px;
	font-weight: 500;
	background: url(./img/bg_body.png) repeat;
	text-size-adjust: none;
}

.inner {
	width: 1100px;
	margin: 0 auto;
	position: relative;
	padding: 0;
	box-sizing: border-box;
}

.btn {
	display: inline-block;
	border-radius: 30px;
	box-sizing: border-box;
	margin-top: 0;
	border-radius: 5px;
}

.btn a {
	display: block;
	color: #333 !important;
	background: #fff;
	font-size: 18px;
	font-weight: 700;
	position: relative;
	padding: 10px 10px 5px 50px;
	text-decoration: none !important;
	border-radius: 50px;
	border: #132a85 solid 3px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	-ms-border-radius: 50px;
	-o-border-radius: 50px;
}

.btn a:before {
	font-family: "Font Awesome 5 Free";
	content: '\f138';
	font-weight: 900;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 10px;
	margin: auto;
	vertical-align: middle;
	height: 22px;
	line-height: 1;
	color: #132a85;
}

.btnDetail {
	background: #132a85;
	box-shadow: 0px 2px 0px 0px rgba(255, 255, 255, 0.3) inset;
	-moz-box-shadow: 0px 2px 0px 0px rgba(256, 256, 256, 0.3) inset;
	-webkit-box-shadow: 0px 2px 0px 0px rgba(255, 255, 255, 0.3) inset;
	color: #fff;
	padding: 3px 10px;
	display: inline-block;
	margin-top: 5px;
	border-radius: 5px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 12px !important;
	font-weight: 700;
}

.btnDetail:hover,
.btn a:hover {
	opacity: 0.7;
	transition: 0.7s;
}

.btnDetail a {
	display: block;
	padding: 3px 10px !important;
	color: #fff;
	text-decoration: none !important;
	text-align: center;
	transition: 0.7s;
}

.notice-r {
	color: #eb6100 !important;
}

.notice-o {
	color: #28a7e1 !important;
}

.notice-b {
	color: #3ea77f !important;
}

.notice-g {
	color: #40a967 !important;
}

.lineM {
	background: linear-gradient(transparent 50%, #ffe78c 50%);
}

.tel {
	display: inline-block;
	font-size: 11px;
}

.tel-link a {
	color: #222222 !important;
	text-decoration: none;
}

.tel span {
	font-family: 'Roboto', sans-serif;
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
}

.tel span.dNum:before {
	content: 'TEL.';
	font-size: 24px;
}

.bHours {
	font-size: 12px;
}


/* -----------------------------------------------------------
    header
----------------------------------------------------------- */
header {
	position: relative;
}

header>.inner {
	padding: 0 40px;
	width: unset;
	max-width: unset;
	display: flex;
	justify-content: space-between;
	gap: 20px;
}

.hdrLBox {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.htxt {
	padding: 10px 0;
}

.htxt h1,
.htxt p {
	font-size: 12px;
	display: block;
	padding-bottom: 10px;
}

.hbtm {
	display: flex;
	justify-content: space-between;
}

.hdrContact {
	display: flex;
	align-items: flex-end;
	gap: 20px;
	padding-bottom: 25px;
}

.hdrTel {
	display: flex;
	gap: 10px;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

.hdrBtn,
.hdrBtn li {
	display: flex;
	gap: 10px;
}

.hdrBtn a {
	display: flex;
	gap: 5px;
	padding: 15px 0;
	width: 180px;
	border: solid 2px #222222;
	border-top: none;
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	justify-content: flex-end;
	align-items: center;
	flex-direction: column;
	background-color: #154a7d;
	color: #FFFFFF;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	transition: 0.3s ease-out;
}

.hdrBtn li:nth-child(2) a {
	background-color: #f16f21;
}

.hdrBtn li:nth-child(2) a img:nth-child(1) {
	margin-bottom: 5px;
}

.hdrBtn a:hover img {
	opacity: 1;
}

.hdrBtn a:hover {
	opacity: 0.8;
}

/* -----------------------------------------------------------
    Contents
----------------------------------------------------------- */

/*-------------------.pdf-----------------*/
#main .pdf {
	width: 1000px;
	margin-top: 80px;
}

#main .newFlier {
	text-align: center;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 50px;
	margin-top: 40px;
}

#main .newFlier li {
	width: calc(100% - (50px / 2));
	text-align: center;
	padding: 0;
}

#main .newFlier li img {
	width: 100%;
	height: auto;
}

#main .newFlier li:before,
#main .newFlier li::after {
	content: none;
}

/*-------------------.introduction-----------------*/
#main .introduction {
	position: relative;
	width: 100%;
	overflow: hidden;
	height: 470px;
}

#main .introduction .imgLayer {
	position: absolute;
	top: 50px;
	left: calc((50% + 430px));
	z-index: 1;
}

#main .introduction .imgLayerStaff {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
}

#main .introduction .imgLayerStaff p {
	position: absolute;
	top: 20px;
	left: 250px;
	text-align: center;
	font-weight: 700;
	transform: rotate(40deg);
	width: 200px;
}

#main .introduction .imgLayerStaff p::before,
#main .introduction .imgLayerStaff p::after {
	content: '';
	width: 32px;
	height: 74px;
	position: absolute;
	bottom: 0;
	left: -40px;
	background-image: url(./img/bg_staff01_deco.png);
	background-repeat: no-repeat;
	background-size: contain;
}

#main .introduction .imgLayerStaff p::after {
	left: unset;
	right: -40px;
	transform: scale(-1, 1);
}

#main .introduction .inner {
	width: 670px;
	margin: 0 auto 0;
	padding: 70px 0 50px;
	position: relative;
	z-index: 5;
}

#main .introduction .inner p {
	font-size: 18px;
	line-height: 2.0;
}

#main .introduction .inner p strong {
	font-weight: 500;
	background: linear-gradient(transparent 50%, #ffe78c 50%);
}

#main .introduction .inner .logo {
	text-align: center;
	margin-bottom: 50px;
}

@media screen and (max-width: 1399px) {
	#main .introduction .imgLayer {
		left: 0;
		width: 200px;
		height: auto;
	}

	#main .introduction .imgLayerStaff {
		left: calc((100% - 300px));
	}

	#main .introduction .inner {
		width: 1100px;
		margin: 0 auto 0;
		padding: 70px 0 50px 0;
		position: relative;
		z-index: 5;
	}

	#main .introduction .inner p:last-child {
		padding: 0 320px 0 60px;
	}
}

/*-------------------.strength-----------------*/

#main .strength .inner {
	margin-top: 20px;
	padding: 60px 60px 50px;
	background: url(./img/line01.png) repeat-x top, url(./img/line01.png) repeat-x bottom;
}

#main .strength ul {
	margin-top: 30px;
	font-size: 24px;
	font-weight: 700;
}

#main .strength ul li {
	padding-left: 50px;
	background: url(./img/ico_check01.png) no-repeat 0px 0px;
	line-height: 2.1;
}

#main .strength ul li+li {
	margin-top: 10px;
}

#main .strength ul li strong {
	color: #ef2525;
}

/*-------------------.message-----------------*/
#main .message {
	margin-top: 50px;
}

#main .message .imgLayer {
	position: relative;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	display: block;
}

#main .message .messageBox {
	padding: 80px 0 70px;
	/*background: rgba(0, 0, 0, 0.03);*/
	background: #d3e3fd;
}

#main .message .messageBox .inner {
	margin: 50px auto 0;
	display: flex;
	gap: 60px;
}

#main .msgPhoto {
	width: 320px;
}

#main .msgPhoto img {
	width: 100%;
	height: auto;
}

#main .msgText {
	flex: 1;
}

#main .msgText p {
	font-size: 16px;
	line-height: 2.0;
}

#main .msgText p.ceoName {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.8;
	margin-top: 30px;
}

/* -----------------------------------------------------------
    footer
----------------------------------------------------------- */

footer {
	position: relative;
}

footer .ftrShowroom {
	background: url(./img/bg_body.png) repeat-x, url(./img/bg_footer02.png) repeat;
	background-size: auto 19.3%, auto;
}

#cmp footer .ftrShowroom {
	background: url(./img/bg_body.png) repeat-x, url(./img/bg_footer02.png) repeat;
	background-size: auto 25.3%, auto;

}

@media screen and (max-width: 799px) {
	footer .ftrShowroom {
		background-size: auto 15%, auto;
	}
}

footer .showroomHead {
	position: relative;
	/*padding-top: 220px;*/

	padding-top: 100px;
}

footer .showroomHead .imgLayerStaff {
	position: absolute;
}

footer .showroomHead .imgLayerStaff {
	position: absolute;
	top: 20px;
	right: 55%;
	z-index: 10;
}

footer .showroomHead .imgLayerStaff p {
	position: absolute;
	top: 150px;
	left: -400px;
	text-align: center;
	font-weight: 700;
	transform: rotate(-30deg);
	width: 200px;
}

footer .showroomHead .imgLayerStaff p::before,
footer .showroomHead .imgLayerStaff p::after {
	content: '';
	width: 32px;
	height: 74px;
	position: absolute;
	bottom: 0;
	left: -40px;
	background-image: url(./img/bg_staff01_deco.png);
	background-repeat: no-repeat;
	background-size: contain;
}

footer .showroomHead .imgLayerStaff p::after {
	left: unset;
	right: -40px;
	transform: scale(-1, 1);
}

footer .showroomHead .imgLayer {
	position: absolute;
	top: 130px;
	left: 70%;
	z-index: 3;
}

footer .showroomHead .imgBg {
	width: 100%;
	height: 334px;
	background: url(./img/bg_footer01.png) no-repeat center;
	/*position: relative;*/
	z-index: 2;
}

.showroomBox {
	width: 1100px;
	margin: -190px auto 0;
	padding: 0 0 80px;
	position: relative;
	z-index: 3;
}

.showroomBox .inner {
	width: 860px;
	margin: 0 auto;
}

@media screen and (max-width: 799px) {
	.showroomBox .inner {
		width: 1100px;
		margin: 0 auto;
	}
}

.showroomBox .inner p.logo {
	text-align: center;
}

.showroomBox .area {
	display: flex;
	justify-content: center;
	margin-top: 30px;
}

.showroomBox .area dt {
	color: #FFFFFF;
	background: #222222;
	padding: 15px 40px;
}

.showroomBox .area dd {
	background: #FFF;
	padding: 15px 50px;
}

.showroomBox .shopBox {
	display: flex;
	gap: 40px;
	margin-top: 50px;
}

.showroomBox .shopBox .photo {
	width: 300px;
}

.showroomBox .shopBox .photo img {
	width: 100%;
	height: auto;
}

.showroomBox .shopBox .text {
	flex: 1;
	padding-top: 20px;
}

.showroomBox .shopBox .text h4 {
	font-weight: 700;
	font-size: 16px;
	margin-bottom: 10px;
}

.showroomBox .shopBox .text .telNo span+span {
	margin-left: 10px;
}

.showroomBox .mapBox {
	margin-top: 50px;
}

.showroomBox .mapBox iframe {
	width: 100%;
	height: 400px;
}

.contactBox {
	background: #FFFFFF;
	margin-top: 50px;
	padding: 50px;
	position: relative;
}

.contactBox .imgLayer {
	right: 50px;
	top: -20px;
}

.ftrTel {
	text-align: center;
}

.ftrTel .tel span.dNum {
	font-size: 52px;
}

.ftrTel .tel span.dNum:before {
	font-size: 30px;
}

.ftrTel .bHours {
	font-size: 16px;
	margin-top: 10px;
}

.ftrBtn {
	margin-top: 40px;
	display: flex;
	gap: 40px;
	justify-content: center;
}

.ftrBtn li a {
	display: flex;
	gap: 5px;
	padding: 15px 20px;
	border: solid 2px #222222;
	border-radius: 5px;
	justify-content: center;
	align-items: center;
	background-color: #154a7d;
	color: #FFFFFF;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	transition: 0.3s ease-out;
	width: 270px;
}

.ftrBtn li:nth-child(2) a {
	background-color: #f16f21;
}

.ftrBtn li a span {
	display: inline-block;
	background-color: #ef2525;
	line-height: 1;
	padding: 5px;
	margin-right: 5px;
}

.ftrBtn li:nth-child(1) a img {
	width: 21px;
	height: 30px;
	margin-right: 5px;
}

.ftrBtn li:nth-child(2) a img {
	width: 25px;
	height: 19px;
	margin-right: 5px;
}

.ftrBtn li a:hover {
	opacity: 0.8;
}

.ftrAdd {
	border-top: solid 1px #FFF;
	border-bottom: solid 1px #FFF;
	padding: 25px;
	text-align: center;
	margin-top: 80px;
}

.ftrAdd p span {
	display: inline-block;
}

.ftrAdd p span+span {
	margin-left: 20px;
}

footer .ftrBanner {
	text-align: center;
	padding-bottom: 40px;
}

footer .ftrBanner a {
	display: inline-block;
}

footer .ftrBanner a+a {
	margin-left: 10px;
}

footer .copyRight {
	/*background: url(./img/bg_footer03.png) repeat;*/
	background: #154a7d;
	padding: 40px 40px;
	color: #FFF;
}

footer .copyRight p {
	text-align: center;
	font-size: 12px;
}

#topcontrol {
	z-index: 100;
}

.pagetop {
	width: 86px;
	height: 86px;
	display: block;
	background: url(./img/page_top.png);
	position: relative;
}

/* -----------------------------------------------------------
    nav
----------------------------------------------------------- */
header nav ul {
	display: none !important;
}

header nav {
	height: 5px;
	background-color: #154a7d;
	margin-bottom: 1px;
}

/* -----------------------------------------------------------
    #mainv
----------------------------------------------------------- */
#top #mainv {
	width: 100%;
	height: 650px;
	margin: 0 0 0 0;
	position: relative;
	background: url(./img/bg_mainv.jpg) no-repeat right;
}

#top #mainv .catch {
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0.1em;
	position: absolute;
	top: 55px;
	left: calc(100% / 8);
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;

	text-shadow:
		2px 2px 0 #fff, -2px -2px 0 #fff,
		-2px 2px 0 #fff, 2px -2px 0 #fff;
}

#top #mainv .catch strong {
	color: #154a7d;

}

#top #mainv .catch span {
	display: inline-block;
	text-combine-upright: all;
	text-align: center;
	transform: translateX(-12px);
}

#top #mainv .imgLayer {
	position: absolute;
	top: 200px;
	right: calc(100vw / 10);
}

.mainvBnr {
	margin: -110px 40px 0;
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	gap: 50px;
}

.mainvBnr li {
	flex: 1;
	max-width: 580px;
}

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

/* -----------------------------------------------------------
    main
----------------------------------------------------------- */

#main p {
	font-size: 16px;
	margin-bottom: 15px;
}

#main section p:last-child {
	margin-bottom: 0;
}

#main a {
	text-decoration: underline;
}

#main p+h2,
#main p+h3,
#main p+h4,
#main p+h5,
#main p+h6,
#main ul+h2,
#main ul+h3,
#main ul+h4,
#main ul+h5,
#main ul+h6,
#main ol+h2,
#main ol+h3,
#main ol+h4,
#main ol+h5,
#main ol+h6 {
	margin-top: 30px;
}

#main h1,
#main h2,
#main h3,
#main h4,
#main h5,
#main h6 {
	line-height: 1.5;
	clear: both;
}

/* -----------------------------------------------------------
    heading01
----------------------------------------------------------- */

#main .heading01 {
	display: flex;
	flex-direction: column-reverse;
	justify-content: center;
	align-items: center;
	gap: 20px;
	line-height: 1;
}

#main .heading01 strong {
	font-size: 36px;
	font-weight: 700;
	color: #222222;
	position: relative;
}

#main .heading01 span {
	font-family: "Roboto", sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: #154a7d;
}

#main .heading01 strong::before,
#main .heading01 strong::after {
	content: '';
	width: 20px;
	height: 36px;
	position: absolute;
	bottom: 0;
	left: -50px;
	background-image: url(./img/heading01_bg.png);
	background-repeat: no-repeat;
	background-size: contain;
}

#main .heading01 strong::after {
	left: unset;
	right: -50px;
	transform: scale(-1, 1);
}

#main .heading02 {
	font-size: 30px;
	text-align: center;
	line-height: 1;
}

#main .heading02 span {
	display: inline-block;
	position: relative;
}

#main .heading02 span::before,
#main .heading02 span::after {
	content: '';
	width: 27px;
	height: 31px;
	position: absolute;
	bottom: 0;
	left: -50px;
	background-image: url(./img/heading02_bg.png);
	background-repeat: no-repeat;
	background-size: contain;
}

#main .heading02 span::after {
	left: unset;
	right: -50px;
	transform: scale(-1, 1);
}

.heading03 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
	line-height: 1;
}

.heading03 strong {
	font-size: 26px;
	font-weight: 700;
}

.heading03 span {
	font-family: "Roboto", sans-serif;
	font-size: 100px;
	font-weight: 700;
	color: #FFFFFF;
	display: inline-block;
}

.heading03 span span:first-letter {
	color: #222222;
}

#main blockquote {
	border: solid 1px #ccc;
	background: #fffeee;
	padding: 15px;
	margin-bottom: 15px;
}

#main blockquote p {
	margin: 0;
}

#main ul {
	/*margin-top: 15px;*/
}

#main ul li {
	position: relative;
	padding-left: 13px;
}

#main ul li:before,
#main ul li:after {
	position: absolute;
	top: 8px;
	left: 0;
	margin: auto;
	content: none;
	vertical-align: middle;
}

#main ul li:before {
	width: 7px;
	height: 7px;
	background: #40a967;
}

#main ul li:after {
	left: 2px;
	width: 2px;
	height: 2px;
	top: 10px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#main ol {
	margin-top: 15px;
	padding-left: 40px
}

#main ol li {
	list-style-type: decimal;
	font-size: 16px;
	line-height: 1.5;
	margin: 7px 0 0 0;
}

#main table {
	margin: 0 0 20px;
	width: 100%;
	border-spacing: 1px;
}

#corporate #main table {
	margin-top: 30px;
}

#main table th,
#main table td {
	padding: 15px;
	font-size: 15px;
	line-height: 1.5;
	text-align: left;
	vertical-align: top;
	border-bottom: #fff solid 1px;
}

#main table th {
	width: 25%;
	background: #efe5c5;
	font-weight: 500;

}

#main table tr th:last-of-type,
#main table tr td:last-of-type {}

#main table tr:first-child th,
#main table tr:first-child td {
	border-top: #fff solid 1px;
}

#main table td {
	position: relative;
	overflow: hidden;
	background: #f3f3f3;
}

/* -----------------------------------------------------------
    form
----------------------------------------------------------- */

#form .wpcf7-spinner {
	display: none;
	margin: 0 auto;
}

#form .submitting .wpcf7-spinner {
	display: block;
}

.formBox {
	background: url(./img/bg_body.png) repeat;
	padding: 30px;
	margin-top: 30px;
}

.formBox .wpcf7 form .wpcf7-response-output {
	margin: 2em 0em 0;
	padding: 0.2em 1em;
	background: #FFF;
}

.formBox .submit {
	text-align: center;
}

.formBox .submit input {
	color: #FFF;
	font-size: 20px;
	font-weight: 700;
	padding: 15px 40px;
	background: #f16f21;
	border: #222222 solid 2px;
	cursor: pointer;
	text-align: center;
	vertical-align: top;
	border-radius: 5px;
	margin-top: 20px;
}

.formBox .submit input:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
}

.formBox table {
	width: 100%;
	box-sizing: border-box;
	border-top: #ccc solid 1px;
}

.formBox th {
	padding: 20px 15px;
	font-weight: 700;
	width: 30%;
	border-bottom: #ccc solid 1px;
	line-height: 1;
}

.formBox th span {
	background: #ef2525;
	color: #fff;
	font-size: 12px;
	float: right;
	padding: 5px 5px;
	border-radius: 3px;
}

.formBox th span.any {
	background: #b0b0b0;
}

.formBox td {
	padding: 20px 15px;
	vertical-align: middle;
	border-bottom: #ccc solid 1px;
}

.formBox td .wpcf7-list-item {
	margin: 0 1.5em 0 0;
}

.formBox td .wpcf7-list-item-label {
	margin: 0 0 0 0.2em;
}

.formBox td input[type="text"],
.formBox td input[type="tel"],
.formBox td input[type="email"] {
	padding: 5px;
	border: 1px solid #CCC;
	box-sizing: border-box;
	width: 100%;
	border-radius: 3px;
}

.formBox td textarea {
	width: 100%;
	border: 1px solid #CCC;
	padding: 5px;
	height: 100px;
	box-sizing: border-box;
	display: block;
}

@media screen and (max-width: 799px) {
	.formBox * {
		font-size: 25px;
	}

	.formBox th,
	.formBox td {
		display: block;
	}

	.formBox th {
		border: none;
		width: unset;
		padding-bottom: 5px;
	}

	.formBox td input[type="text"],
	.formBox td input[type="tel"],
	.formBox td input[type="email"] {
		font-size: 30px;
		padding: 10px;
		border-radius: 5px;
	}

	.formBox td textarea {
		font-size: 30px;
		padding: 10px;
		border-radius: 5px;
		height: 200px;
	}

	.formBox .wpcf7-list-item-label {
		font-size: 30px;
	}

	.formBox th span {
		float: none;
		margin-right: 20px;
		font-size: 16px;
		padding: 3px 10px 5px;
	}

	.formBox .submit input {
		font-size: 40px;
		padding: 15px 40px;
	}
}

/* -----------------------------------------------------------
    cmp
----------------------------------------------------------- */

#pagePath {
	background: rgba(0, 0, 0, 0.03);
	padding: 10px 10%;
}

#cmp #contents,
#err #contents {
	border-bottom: #154a7d solid 50px;
	margin: 50px 0;
	padding: 0 0 50px 0;
}

#err #contents .heading01,
#cmp #contents .heading01 {
	margin-bottom: 50px;
}