@charset "utf-8";

/* ************************************************************************

	ヘッダー

************************************************************************ */
#header-right {
	text-align: right;
}
#header-right .description {
	font-size: 18px;
	margin-bottom: 5px;
}
#header-right .address {
	font-size: 14px;
	margin-bottom: 0;
}
#header-right .tel {
	font-size: 20px;
	margin-bottom: 0;
}
#header-right .tel a {
	color: #476A95;
}
#header-right .tel a + a {
	margin-left: 10px;
}

#global_menu_home {
	display: none;
}

@media screen and (max-width: 1110px) {
	#bread_crumb_wrapper {
		margin-bottom: auto;
	}
}



/* ************************************************************************

	フッター

************************************************************************ */
#footer-wrapper {
	background-image: unset !important;
	background-color: #FFFFFF !important;
}
#footer {
	display: none;
}
#footer_widget_wrap {
	background-color: unset !important;
}
#footer_widget {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#footer_widget .footer_widget {
	width: auto;
}

#footer_widget .name {
	font-size: 20px;
    margin-bottom: 0px;
}
#footer_widget .description {
	font-size: 10px;
    color: #888;
    margin-bottom: 10px;
    padding: 0;
    line-height: 100%;
    font-weight: normal;
}
#footer_widget .address {
	font-size: 14px;
	margin-bottom: 0;
}
#footer_widget .tel {
	font-size: 20px;
	margin-bottom: 0;
}
#footer_widget .tel a {
	color: #476A95;
}
#footer_widget .tel a + a {
	margin-left: 10px;
}

#copyright {
	background-color: #476A95;
}







/* ************************************************************************

	共通

************************************************************************ */
body {
	background: linear-gradient(#476A95 0%, #B1D8E7 20%);
}
#contents {
	background-color: #FFFFFF;;
	margin-bottom: 0 !important;
}
@media screen and (max-width: 1110px) {
	#mainColumn {
		width: auto;
	}
}



#page-title {
	display: none;
}
#page-wrapper .headline2 {
	border-top: none;
    border-left: solid 5px #0077B3;
    color: #2f4660;
    font-size: 32px;
    font-weight: 100;
    padding: 15px 45px 15px;
	margin-top: 0;
	margin-bottom: 50px;
}
@media screen and (max-width: 1110px) {
	#page-wrapper .headline2 {
		font-size: 24px;
		padding: 10px 30px;
	}
}


.wp-block-image {
	margin: 0;
	text-align: center;
}
.wp-block-image img {
	width: 100%;
	height: auto;
}


.wp-block-group {
	padding: 30px;
}

.wp-block-group h3 {
    text-align: center;
    font-size: 24px;
    color: #31557e;
    background-color: #EFF2F6;
    border-bottom: solid 5px #2E74C5;
    font-weight: 100;
    padding: 10px;
	width: auto !important;
}

.wp-block-columns {
	row-gap: 45px;
}




/* ボタン */
.wp-block-button .wp-block-button__link,
.button_ input {
	background-color: #476A95 !important;
	color: #FFFFFF !important;
	transition: 0.3s !important;
	border-radius: 0 !important;
}
.wp-block-button .wp-block-button__link:hover,
.button_ input:hover {
	background-color: #B1D8E7 !important;
	color: #000000 !important;
}

/*下部お問い合わせ*/
#block-contact {
	background-image: url(./img/common/block-contact.jpg);
	background-size: cover;
	background-position: center center;
	position: relative;
	padding: 50px 0px 30px;
	text-align: center;
	z-index: 100;
	/* max-width: 1000px; */
	margin: auto;
}
#block-contact::before {
	content: '';
	background: rgba(253,251,229, 0.3);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 101;
}
#block-contact * {
	position: relative;
	z-index: 1000;
}
#block-contact .p-cb__item-title {
	font-size: 46px;
	text-align: center;
	margin-bottom: 10px;
	line-height: 1;
}
#block-contact .p-cb__item-sub {
	font-size: 16px;
	text-align: center;
	margin-bottom: 42px;
	line-height: 1;
}
#block-contact .p-cb__item-desc {
	font-size: 16px;
	line-height: 2;
	margin-bottom: 42px;
	text-align: center;
	color: #000000;
}

@media screen and (max-width: 767px) {
	#block-contact .p-cb__item-title {
		font-size: 28px;
	}
}







/* ************************************************************************

	HOME

************************************************************************ */
#home #bread_crumb_wrapper,
#home #page-title {
	display: none;
}

#topimage {
	text-align: center;
}
#topimage img.pc {
	width: 100%;
}
#topimage img.mb {
	display: none;
}
@media screen and (max-width: 767px) {
	#topimage img.pc {
		display: none;
	}
	#topimage img.mb {
		display: block;
		width: 100%;
	}
}

#home .top-img,
#home .wp-block-cover,
#home .wp-block-group:not(.no-css) {
	margin-bottom: 35px;
}
#home .wp-block-cover .wp-block-group {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}
#home .wp-block-cover .wp-block-group .wp-block-group__inner-container {
    flex-basis: 50%;
	padding: 15px 30px;
    background-color: rgb(0 0 0 / 40%);
    color: #FFFFFF;
}

#home .wp-block-group:not(.no-css) {
	padding: 30px;
}
#home .wp-block-group:not(.no-css):nth-of-type(odd) {
	background-color: #F5F5F5;
}

#home .wp-block-cover .wp-block-group h2 {
	color: #77BADD;
    font-size: 46px;
    font-weight: 100;
    letter-spacing: -1.0px;
}
#home .wp-block-cover .wp-block-group h2::before {
    content: '';
    width: 10px;
    height: 60px;
    background: linear-gradient(#78C0D7 0%, #2D9EC6 100%);
    display: inline-block;
    vertical-align: middle;
    margin-right: 15px;
}
#home .wp-block-cover .wp-block-group h2 span {
	text-decoration: none !important;
	font-size: 24px;
	vertical-align: middle;
	margin-right: 20px;
}
#home .wp-block-group:not(.no-css) h2 {
    font-weight: 100;
    font-size: 36px;
    line-height: 1;
    margin-bottom: 10px;
}
#home .wp-block-group:not(.no-css) h2 + p {
	font-size: 16px;
	color: #769ACA;
}
@media screen and (max-width: 1050px) {
	#home .wp-block-cover .wp-block-group .wp-block-group__inner-container {
		flex-basis: auto;
	}
}
@media screen and (max-width: 1050px) {
	#home .wp-block-cover .wp-block-group h2 {
		font-size: 30px;
	}
}


#home .wp-block-latest-posts.wp-block-latest-posts__list li {
	list-style: none;
	border-bottom: dashed 1px #4879BB;
	padding: 10px;
	height: 50px;
}
@media screen and (min-width: 461px) {
	#home .wp-block-latest-posts.wp-block-latest-posts__list li {
		position: relative;
	}
	#home .wp-block-latest-posts.wp-block-latest-posts__list li a,
	#home .wp-block-latest-posts.wp-block-latest-posts__list li time {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		font-size: 20px;
	}
	#home .wp-block-latest-posts.wp-block-latest-posts__list li a {
		left: 200px;
	}
}
@media screen and (max-width: 460px) {
	#home .wp-block-latest-posts.wp-block-latest-posts__list li a {
		margin-bottom: 10px;
	}
}








/* ************************************************************************

	タフマックスとは

************************************************************************ */
#toughmax .toughmax-upper {
	margin-bottom: 75px;
}
#toughmax .wp-block-cover h2 {
	color: #12376B;
    font-size: 48px;
    font-weight: 100;
    letter-spacing: -1.0px;
}
#toughmax .wp-block-cover h2 span {
	text-decoration: none !important;
	font-size: 24px;
	vertical-align: middle;
	margin-right: 20px;
}



#toughmax .toughmax-upper .wp-block-group:not(:nth-of-type(1)) {
	background-color: #EEF8FB;
	padding: 0px 30px 30px;
}
#toughmax .list-toughmax {
    text-align: center;
}
#toughmax .list-toughmax h4 {
    font-size: 30px;
    color: #12376B;
    border-bottom: solid 5px #55A2C4;
	margin-top: 0;
	margin-bottom: 0;
}
#toughmax .list-toughmax p {
    font-size: 18px;
	margin-bottom: 0;
	text-align: center;
}

.toughmax-lower {
	padding: 30px;
}
.toughmax-lower h3 {
    background-color: #2e74c5;
    font-size: 24px;
    color: #FFFFFF;
    padding: 10px;
    margin-top: 0;
}
.toughmax-lower .wp-block-column h4 {
	color: #456793;
    font-family: inherit;
    font-size: 20px;
    font-weight: 100;
    border-bottom: solid 1px #2E95C5;
    padding-bottom: 5px;
    padding-left: 5px;
}
.toughmax-lower .wp-block-column ul {
	margin-bottom: 0;
    margin-left: 20px;
}
.toughmax-lower .wp-block-column li {
	list-style-position: outside;
}





/* ************************************************************************

	会社概要

************************************************************************ */
#company .wp-block-table td {
	border: 1px solid #c5d5dd;
	padding: 10px 20px;
	font-size: 18px;
	color: #31557e;
}
#company .wp-block-table td:nth-of-type(odd) {
	background-color: #ebf1f4;
	width: 25%;
}
@media screen and (max-width: 600px) {
	#company .wp-block-table td {
		display: block;
		border: none;
	}
	#company .wp-block-table td:nth-of-type(odd) {
		width: auto;
		font-weight: 600;
	}
	#company .wp-block-table td:nth-of-type(odd) br {
		display: none;
	}
	#company .wp-block-table td:nth-of-type(even) {
		padding-left: 30px;
	}
}


/* ************************************************************************

  施工実績

************************************************************************ */
/* 大枠 */
.parent-pageid-45 .page-noside #page-wrapper {
	padding-bottom: 0;
	margin-bottom: 0;
}
.parent-pageid-45 #contents {
	background-color: #F5F5F5;
}
.parent-pageid-45 .headline2 {
	background-image: none;
}
.parent-pageid-45 .headline2 + .wp-block-columns {
	padding: 0 30px;
}

/* ギャラリー */
.parent-pageid-45 .wp-block-gallery img {
    max-height: 240px;
    object-fit: contain;
}

/* 2列 */
.parent-pageid-45 .wp-block-group:not(.block-works-link) .wp-block-columns {
	position: relative;
	justify-content: space-between;
}
.parent-pageid-45 .wp-block-group:not(.block-works-link) .wp-block-columns::after {
	content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50px;
    height: 50px;
    background-image: url(./img/arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
}
.parent-pageid-45 .wp-block-group:not(.block-works-link) .wp-block-column {
	text-align: center;
	flex-basis: 45%;
    flex-grow: unset;
	margin: 0 !important;
}
@media screen and (max-width: 781px) {
	.parent-pageid-45 .wp-block-group:not(.block-works-link) .wp-block-columns::after {
		background-image: url(./img/arrow_u.png);
		width: 30px;
		height: 30px;
	}
	.parent-pageid-45 .wp-block-group:not(.block-works-link) .wp-block-column {
		flex-basis: 100% !important;
	}
}



.parent-pageid-45 .wp-block-column:not(.block-works-link) img {
	max-height: 280px;
    object-fit: contain;
}

/* 下部リンク */
.parent-pageid-45 .block-works-link {
	background-color: #FFFFFF;
}
@media screen and (max-width: 781px) {
	.parent-pageid-45 .block-works-link.wp-block-group .wp-block-columns {
		justify-content: space-evenly;
		row-gap: 10px;
	}
	.parent-pageid-45 .block-works-link.wp-block-group .wp-block-columns .wp-block-column {
		flex-basis: 30% !important;
	}
}
@media screen and (max-width: 500px) {
	.parent-pageid-45 .block-works-link.wp-block-group .wp-block-columns .wp-block-column {
		flex-basis: 100% !important;
	}
}

/* ************************************************************************

  コンクリート

************************************************************************ */
#concrete .wp-block-group h3 {
	font-weight: 100;
    font-size: 36px;
    line-height: 1;
    margin-bottom: 10px;
}









/* ************************************************************************

  お問い合わせ

************************************************************************ */
#contact p.tel {
line-height: 1;
}
#contact p.tel a {
font-size: 36px;
color: #0C4D91;
}


#contact .mw_wp_form form table {
margin-left: auto;
margin-right: auto;
width: 100%;
}

/* フォーム */
#contact .mw_wp_form td {
display: block;
border: none;
line-height: 1.5;
}
#contact .mw_wp_form td:nth-of-type(odd) {
padding-bottom: 5px;
font-weight: 600;
}
#contact .mw_wp_form td:nth-of-type(even) {
padding-top: 0;
}
#contact .mw_wp_form td:nth-of-type(even) input,
#contact .mw_wp_form td:nth-of-type(even) textarea {
padding: 5px;
border-radius: 5px;
border-color: #ccc;
}

/* プライバシーポリシー */
#contact .mw_wp_form .privacypolicy {
padding-left: 10px;
margin-bottom: 30px;
}
#contact .mw_wp_form .privacypolicy p {
margin-bottom: 10px;
line-height: 1.5;
}
#contact .mw_wp_form .privacypolicy p:nth-child(1) span:not(.required) {
font-size: 16px;
font-weight: 600;
}
#contact .mw_wp_form .privacypolicy .privacy-headline {
padding-bottom: 0;
font-weight: 600;
margin-bottom: 5px;
}

/* 必須 */
#contact .mw_wp_form .required {
display: inline-block;
font-weight: 600;
color: #fff;
background-color: #0C4D91;
padding: 0px 5px;
border-radius: 5px;
margin-left: 15px;
font-size: 90%;
}

/* 例 */
#contact .mw_wp_form .ex_ {
color: #666;
font-size: 90%;
}
/* サブミットボタン */
#contact .mw_wp_form .button_ {
text-align: center;
}
#contact .mw_wp_form .button_ input {
border: none !important;
transition: 0.3s;
display: inline-block;
font-size: 14px;
line-height: 60px;
min-width: 240px;
height: 60px;
padding: 0 15px;
}
#contact .mw_wp_form .button_ input:hover {
color: #ffffff;
background: #0C4D91;
cursor: pointer;
}
@media screen and (max-width: 767px) {
#contact .mw_wp_form .button_ input {
font-size: 12px;
line-height: 45px;
min-width: 180px;
height: 45px;
}
}

/* 入力欄 */
#contact .mw_wp_form td input,
#contact .mw_wp_form td textarea {
border: solid 1px;
font-weight: 100;
}
#contact .mw_wp_form td > input,
#contact .mw_wp_form td textarea {
width: 100%;
}
#contact .mw_wp_form td .mwform-radio-field input {
width: auto;
}

@media screen and (max-width: 500px) {
#contact .mw_wp_form .mwform-tel-field input {
	width: 27%;
}
}
