@charset "utf-8";
/*
Theme Name: 株式会社三丸製作所
Theme URI: https://sanmaru-seisaku.com
Description: 株式会社三丸製作所のテーマです
*/



.timeline {
}
.timeline-list {
  padding: 0 !important;
}
.timeline-list-item {
  display: flex;
  line-height: 1.5;
  font-size: 16px;
  padding:0 !important;
  margin-bottom:0 !important;
}
.timeline-list-item .date {
  width: 32%;
  padding: 0 0 0 1.5rem;
  color: #777;
  position: relative;
  top: -9px;
}
.timeline-list-item .content {
  position: relative;
  width: 82%;
  padding: 0 1.5rem 6rem 4.5rem;
  border-left: 1px solid #777;
  text-align:justify;
}

.timeline-list-item .content span {
	position:relative;
	top:-9px;
}

.timeline-list-item .content::before {
  content: "";
  position: absolute;
  top: -5px;
  left: -8px;
  width: 15px;
  height: 15px;
  background-color: #1043a1;
  border-radius:50%;
}

@media (max-width: 980px){

.timeline-list-item .date {
  width: 45%;
}

.timeline-list-item .content {
  padding: 0 1.5rem 6rem 3.5rem;
}

}

.sozai {
	list-style-position:inside !important;
	padding-left:0 !important;
	margin-left:0 !important;}

.sozai li {
	border-bottom:1px solid #1043a1;
	padding-left:1rem;
	padding-bottom:1rem !important;
	margin-bottom:1rem  !important;
}

.tokucho {
	list-style-position:inside !important;
	list-style:none !important;
	padding-left:0 !important;
}

.tokucho li {
	padding:1.5rem;
	background:#1043a1;
	color:#FFF;
	margin-bottom:2rem !important;
}

.tokucho li span:before {
	content: "";
	display: inline-block;
	width: 34px;
	height: 34px;
	margin: -0.3rem 1rem 0 0;
	background: url(../../images/icon_haguruma.png) no-repeat;
	background-size: auto;
	background-size: auto;
	background-size: contain;
	vertical-align: middle;
}

@media (max-width: 980px){
.tokucho li span::before {
	display:block;
	margin:0 auto 1rem auto;
}
	
}

.machines_list {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	
	-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
	justify-content: center; /* 横方向中央揃え */
	
	margin-top:6rem;
	padding-left:0 !important;
	list-style:none !important;
}

.machines_list li {
	width:31%;
	margin-bottom:6rem !important;
    background: rgba(13, 83, 3, 0.025);
	margin-right:3.5%;
}

.machines_list li:nth-child(3n) {
	margin-right:0;
}

.machines_list li:last-child {
	margin-right:0;
}

.machines_list li .img-wrap {
	position:relative;
	overflow:hidden;
}

.machines_list li .img-wrap img {
	object-fit: cover;
	width: 100%;
	height: 300px;
}

.machines_list li .img-wrap .triangle {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 80px 80px;
    border-color: transparent transparent #00a960 transparent;
}

.machines_list li .img-wrap span {
    position: absolute;
    color: #FFF;
    width: 80px;
    left: -40px;
    height: 50px;
    bottom: -100px;
	font-weight:700;
}

.machines_list li .text {
	padding:2rem 2.5rem;
}

.machines_list li .text span {
	display:block;
	margin-bottom:0.5rem;
}

.machines_list li .text h3 {
	font-size:clamp(16px, 1.4vw, 18px) !important;
	margin-bottom:1rem !important;
	padding-bottom:0 !important;
	line-height:1.4;
}

.article_wrapper.list_type03.info article .text h3 {
	text-align:left;
}

.machines_list li .text h3 a {
	text-decoration:none;
	font-weight:700;
	letter-spacing:0;
	color:#00a960;
}

.machines_list li .text ul {
	text-align:center;
	padding-left:0 !important;
	margin-bottom:0 !important;
}

.machines_list li .text ul li {
	display:inline-block;
	font-size:clamp(12px, 1.2vw, 14px);
	margin-right:1rem;
	border:1px solid #00a960;
	margin-bottom:0.5rem;
	letter-spacing:0;
}

.machines_list li .text ul li:last-child {
	margin-right:0;
}

.machines_list li .text ul li a {
    color: #00a960;
	text-decoration:none;
	display:block;
	padding:0.5rem;
}

.machines_list li .text p {
	line-height:1.6;
	margin-bottom:0;
	font-size: clamp(14px, 1.2vw, 16px);
}

@media (max-width: 980px){
.machines_list {
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.machines_list li {
	width:49%;
	margin-right:0;
	margin-bottom:2rem !important;
}
.machines_list li .img-wrap img {
  height: 125px;
}

.machines_list li .text {
    padding: 0 1.5rem 1rem 1.5rem;
}

.machines_list li .text p {
	letter-spacing:0;
}

#machines #main table td {
	padding:1rem;
	font-size: clamp(14px, 1.2vw, 16px);
    word-break: keep-all;
    white-space: nowrap;
}

#machines #main .wp-block-table {
	overflow:auto;
	position:relative;
}

#machines #main .wp-block-table table {
	width: calc(100% - 1rem);
}

#machines #main table td:nth-child(1) {
}

#machines #main table td:nth-child(2) {
}

#machines #main table td:nth-child(3) {
}


}



/*contact*/
table.contact {
	margin:0 auto 3rem auto;
}

table.contact th,
table.contact td:nth-child(1) {
	position:relative;
	vertical-align:middle;
	width:28%;
	letter-spacing:0;
}

table.contact th p {
	margin-bottom:0;
}

table.contact td p {
	margin-bottom:0;
}

table.contact td {
	vertical-align:middle;
}

table.contact td input,
table.contact td textarea {
	font-size:1.6rem;
    font-weight: 200;
}

table.contact td input[type="text"] ,
table.contact td input[type="email"],
table.contact td input[type="tel"],
table.contact td input[type="date"] {
	height:40px;
	padding:0.25rem;
	width:80%;
	border:1px solid #DDD;
    box-sizing: border-box;
}

table.contact td select {
	padding:0.25rem;
	border:1px solid #DDD;
    box-sizing: border-box;
	font-size:1.6rem;
}

table.contact td input[type="date"] {
	border:1px solid #CCC;
	height:35px;
	padding:0.5rem;
	width:20%;
}

table.contact td input[type="text"]:focus,
table.contact td input[type="email"]:focus,
table.contact td input[type="tel"]:focus,
table.contact td input[type="date"]:focus,
table.contact td textarea:focus {
	outline: 0;
	-moz-box-shadow: inset 0 0 4px rgba(0,0,0,0.2);
	-webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
	box-shadow: inner 0 0 4px rgba(0, 0, 0, 0.2);
}

table.contact td span.sp_btm10 {
	display:block;
	margin-bottom:1rem;
}

table.contact td span small {
	display:inline-block;
	padding:0.5rem 0.5rem;
	background:#1043a1;
	color:#FFF;
	font-size:0.8em;
	position:relative;
	top:1px;
}

table.contact td textarea {
	width:100%;
	border:1px solid #DDD;
	padding:0.5rem;
}

table.contact td strong {
	font-size:1.2em;
	margin-bottom:0.5rem;
	display:block;
}

table.contact td #privacy_box {
	font-size:0.8em;
	max-height:180px;
	overflow:auto;
	background:#FFF;
	padding:1rem;
}

table.contact td #privacy_box p {
	margin-bottom:0.5rem;
}

table.contact td.birth input[type="text"] {
	width:10%;
}

table.contact th span.required {
	background:#FF0000;
	color:#FFF;
	font-size:0.8em;
	padding:0.15rem 0.5rem;
	display:inline-block;
	margin-left:0.5rem;
	position: absolute;
	right: 2rem;
}

p.submit {
	text-align:center !important;
	margin-top:4.5rem !important;
	margin-bottom:1.5rem !important;
}

p.submit input {
	font-size:2rem;
	padding:0.75rem 1.5rem;
	margin:0 1rem;
	border:1px solid #CCC;
}

div.wpcf7-validation-errors, div.wpcf7-acceptance-missing, div.wpcf7-response-output {
	border:2px solid #FF0000 !important;
	padding:1rem !important;
	text-align:center;
	background:#FFFFFF;
	color:#FF0000;
	margin:0 auto !important;
	font-size:1.4rem !important;
	width:80% !important;
}

span.wpcf7-list-item {
	margin:0 0.75rem 0 0 !important;
}

span.wpcf7-not-valid-tip {
	font-size:1.4rem;
	margin-top:0.5rem;
}

::placeholder {
  color: #CCC;
}

@media (max-width: 980px){

.entry-content p.has-background {
	padding: 10px;
}

table.contact {
	margin:0 0 3rem 0;
	width: 100%;
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-all;
}

table.contact th p {
	margin-bottom:0;
	letter-spacing:0;
}

table.contact td p {
	margin-bottom:0;
	letter-spacing:0;
}

table.contact td:nth-child(1) {
}

table.contact td input,
table.contact td textarea {
	font-size:16px !important;
}

table.contact td input[type="text"] ,
table.contact td input[type="email"],
table.contact td input[type="tel"] {
	width:100%;
}

table.contact td input[type="date"] {
	width:100%;
}

table.contact td.birth input[type="text"] {
	width:20%;
}

table.contact td span small {
	font-size:1em;
}

span.wpcf7-list-item {
	display:block;
	margin-bottom:0.5rem !important;
}

.wpcf7 table {
}

.wpcf7 table th,
.wpcf7 table td {
}

.wpcf7-list-item-label {
	letter-spacing:0;
}

p.submit input {
	font-size:1.2em;
	padding:0.5rem 1rem;
}
}

@media (max-width: 680px){
.wpcf7 table th, .wpcf7 table td {
	display:block;
	width:100%;
}
.wpcf7 table th {
	padding-bottom:0 !important;
}
.wpcf7 table td {
	padding-top:0.5rem;
}
}

/*access*/
#access #main table th,
#access #main table td:nth-child(1) {
	width:20%;
	text-align:center;
}

@media (max-width: 980px){
#access #main table th,
#access #main table td:nth-child(1) {
	width:30%;
}
}

/*privacy*/
#privacy #primary p {
	background:#FAFAFA;
	padding:3rem;
	margin-bottom:6rem;
	font-size: clamp(15px, 1.4vw, 18px);
}

#privacy #main ul {
	list-style:none !important;
}

#privacy #primary dl {
	margin:0;
}

#privacy #primary dl dt {
	margin-bottom:2rem;
	border-left:3px solid #1043a1;
	padding-left:1rem;
	line-height:1.4;
	font-size: clamp(16px, 1.4vw, 18px);
}

#privacy #primary dl dd {
	margin-bottom:6rem;
	padding-left:1.3rem;
	line-height:2;
	font-size: clamp(15px, 1.4vw, 18px);
}

#privacy #primary dl dd ul {
	margin-top:1.5rem;
	padding-left:0 !important;
}

#privacy #primary dl dd ul li {
	margin-bottom:0 !important;
	padding-bottom:0 !important;
	padding-left:1.5rem !important;
}

#privacy #primary dl dd:last-child {
	margin-bottom:0;
}

#privacy #primary dl dd table {
	width:100%;
	margin:2rem auto 0 auto;
}

#privacy #primary dl dd table td {
	padding:1.5rem 2rem;
	border:1px solid #DDD;
	vertical-align:middle;
	line-height:1.6;
}

#privacy #primary dl dd table td:nth-child(1) {
	line-height:1.6;
	width:32%;
	padding:1.5rem 2rem;
	border:1px solid #DDD;
	background:#FAFAFA;
}

@media (max-width: 980px){
#privacy #primary {
}

#privacy #primary p {
	margin-top:0;
	margin-bottom:4.5rem;
	padding:1.5rem;
}

#privacy #primary dl dt {
}

#privacy #primary dl dd {
	margin-bottom:3rem;
}

#privacy #primary dl dd:last-child {
	padding-left:0;
}

#privacy #primary dl dd table td:nth-child(1),
#privacy #primary dl dd table td {
	padding:10px;
}
}

/*sitemp*/
#sitemap #main h2 {
	margin-top:0 !important;
}

#sitemap #main ul {
	list-style:none !important;
	padding-left:0;
	margin-left:0;
}

#sitemap #main ul li {
	margin-bottom:2rem;
	padding-left:0 !important;
	margin-left:0 !important;
	padding-bottom:0 !important;
}

#sitemap #main ul li:last-child {
	margin-bottom:0;
}

#sitemap #main ul li a {
	display:block;
	background:#F7F7F7;
	padding:2rem 3rem;
	text-decoration:none;
	color:inherit;
}

#sitemap #main ul li a:before {
    content: "\f152";
    font-family: FontAwesome;
    margin-right:1rem;
	color:#1043a1;
}

#sitemap #main ul li.menu-item-has-children > a {
    pointer-events: none;
}

#sitemap #main ul li ul {
	margin:2rem 0 3rem 4.5rem;
}

#sitemap #main ul li ul li {
	margin-bottom:1rem;
}

#sitemap #main ul li ul li a {
	background:none;
	padding:0;
}

#sitemap #main ul li ul li a:before {
    content: "\f105";
    font-family: FontAwesome;
    margin-right:0.5rem;
	color:#1043a1;
}

@media (max-width: 980px){
#sitemap #main ul  {
	margin-right:0;
}

#sitemap #main ul li {
	margin-bottom:1rem;
}

#sitemap #main ul li a {
	margin-bottom:0.5rem;
	padding:1.5rem 2rem;
}
}