@charset "utf-8";
/* CSS Document */

/* Ryoetsu denki
-----------------------------------------------------*/
/* ==============================================
    header
============================================== */
#globalHeader {
	background: rgba(255,255,255,0.9);
	transition: .4s;
	z-index: 99;
	position: fixed;
	width: 100%;
}

/*#globalHeader.fixed {
	position: fixed;
	width: 100%;
	transition: .4s;
}*/
@media screen and (max-width: 700px) {
	#globalHeader {
		position: fixed;
		width: 100%;
	}
}


/* ==============================================
    entry-content
============================================== */
.entry-title h2,
.entry-content h2,
section .subt01 {
	font-size: 1.500em;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	background: #f1f4f6;
	border-left: 5px solid #0958a5;
	padding: 5px 10px;
	margin: 0 0 30px;
}
.entry-content p + h2 {
	margin-top: 40px;
}

.entry-content h3,
section .subt02 {
	font-size: 1.375em;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	border-bottom: 1px solid #0958a5;
	padding: 0 0 5px 0;
	margin: 30px 0;
}

.entry-content h4 {
	font-size: 1.000em;
	font-weight: bold;
	border-left: 4px solid #0958a5;
	padding: 3px 10px;
	margin-bottom: 30px;
}
.entry-content #form h3 {
	margin: 35px 0 15px;
    padding: 5px 5px 5px calc(2em + 5px);
    text-indent: -2em;
	font-size: 1.100em;
    background: #daebfc;
    border-bottom: none;
}
.entry-content #form h4 {
    margin-left: 7px;
	margin-bottom: 15px;
}

.entry-content h5 {
	font-size: 1.000em;
	font-weight: bold;
	color: #0958a5;
	margin-bottom: 20px;
}
.entry-content h6 {
	font-size: 1.000em;
	font-weight: bold;
	color: #555;
	margin-bottom: 20px;
}

.entry-content {
	margin-bottom: 50px;
    padding-top: 20px;
}

.entry-content p {
	line-height: 1.8;
	margin-bottom: 20px;
}
.entry-content ul,
.entry-content ol {
	/* margin-left: 30px; */
    list-style: none;
	margin-bottom: 40px;
}
/* .entry-content ul {
	list-style: square;
} */

.entry-content li {
	margin-bottom: 5px;
}

.entry-content a {
	color: #0958a5;
	text-decoration: underline;
}

.entry-content table {
	width: 100%;
	margin-bottom: 40px;
}
.entry-content th,
.entry-content td {
	border-bottom: 1px solid #c9c9c9;
	padding: 20px;
	font-weight: normal;
}
.entry-content th {
	min-width: 18%;
	white-space: nowrap;
	padding-right: 50px;
}

@media screen and (max-width: 700px) {
	.entry-content th,
	.entry-content td {
		padding: 20px 10px;
	}
}


.entry-content table.table-history th,
.entry-content table.table-history td {
	vertical-align: top;
	padding: 30px 20px;
	position: relative;
}
.entry-content table.table-history tr:first-child th,
.entry-content table.table-history tr:first-child td {
	padding-top: 0;
}
.entry-content table.table-history th {
	color: #db0f21;
	font-style: italic;
}

.entry-content table.table-history th::before {
	content: "";
	position: absolute;
	top: 100%;
	left:51px;
	border: 10px solid transparent;
	border-top: 10px solid #fff;
	z-index: 2;
}
.entry-content table.table-history th::after {
	content: "";
	position: absolute;
	top: 100%;
	left:50px;
	border: 11px solid transparent;
	border-top: 11px solid #c9c9c9;
	z-index: 1;
}

.entry-content table.table-history tr:last-child th::before,
.entry-content table.table-history tr:last-child th::after {
	display: none;
}

@media screen and (max-width: 700px) {
	.entry-content table.table-history th,
	.entry-content table.table-history td {
		display: block;
		width: 100%;
		padding: 15px 10px !important;
	}
	.entry-content table.table-history th {
		padding-top: 25px !important;
		padding-bottom: 0px !important;
		border-bottom: none;
	}
	.entry-content table.table-history tr:first-child th {
		padding-top: 0 !important;
	}
	.entry-content table.table-history td::before {
		content: "";
		position: absolute;
		top: 100%;
		left:51px;
		border: 10px solid transparent;
		border-top: 10px solid #fff;
		z-index: 2;
	}
	.entry-content table.table-history td::after {
		content: "";
		position: absolute;
		top: 100%;
		left:50px;
		border: 11px solid transparent;
		border-top: 11px solid #c9c9c9;
		z-index: 1;
	}
	.entry-content table.table-history tr:last-child td::before,
	.entry-content table.table-history tr:last-child td::after {
		display: none;
	}
	.entry-content table.table-history th::before,
	.entry-content table.table-history th::after {
		display: none !important;
	}
	
}

.entry-content table.table-contact th {
	width: 35%;
	white-space: normal;
	text-align: left !important;
}
.entry-content table.table-contact th.tit {
	color: #0958a5;
	font-size: 1.750em;
	font-weight: bold;
	padding: 40px 0 5px;
}
.entry-content table.table-contact td.telnum {
	font-weight: bold;
	width: 65%;
}

.entry-content table.table-contact td {
	white-space: nowrap;
}

@media screen and (max-width: 700px) {
	.entry-content table.table-contact th {
		width: 20%;
		padding: 20px 5px !important;
	}
	.entry-content table.table-contact td.telnum {
		width: auto;
	}
}



.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4 {
	clear: both;
}
.entry-content hr.wp-block-separator {
	clear: both;
	margin-top: 40px;
	border: none;
	margin-block-start: 0;
    margin-block-end: 0;
}
.entry-content iframe {
	width: 100%;
}


.entry-content figcaption {
	text-align: center;
	font-size: 0.875em;
	color: #666;
	margin-top: 5px;
}

.entry-content .wp-block-button a {
	background: #0958A5;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
}



body.info.single .main-photo {
	margin-bottom: 30px;
	text-align: center;
}



/* ==============================================
    form
============================================== */
#online-seminar .entry-content .require {
    color: #db0f21;
}

.entry-content #form table th {
	background: #daebfc;
	position: relative;
    width: 14em;
}
.entry-content #form table .required {
	font-size: 0.813em;
	color: #fff;
	background: #db0f21;
	padding: 2px 5px;
	margin: 0 5px;
	position: absolute;
	top: 20px;
	right: 20px;
}
.entry-content #form p.note {
	font-size: 0.875em;
	color: #555;
	margin: 10px 0 0;
}
.entry-content #form input[type="text"],
.entry-content #form input[type="email"],
.entry-content #form input[type="tel"],
.entry-content #form textarea {
	border: 2px solid #ccc;
	padding: 8px;
	outline: none;
	width: 80%;
}
.entry-content #form li input[type="text"],
.entry-content #form p textarea {
	width: 100%;
}
.entry-content #form select {
	border: 2px solid #ccc;
	margin-bottom: 5px;
	padding: 3px;
	outline: none;
}

.entry-content #form td .example {
    display: block;
    font-size: 0.875em;
    color: #555;
    margin-top: 10px;
}
.entry-content #form li[class^="value_seminar_"] {
    padding-left: 18px;
    text-indent: -18px;
}


.entry-content form .button {
	text-align: center;
}
.entry-content input[type=button],
.entry-content input[type=submit] {
	border: none;
	padding: 10px 30px;
	background-color: #0958A5 !important;
	font-weight: bold;
	color: #fff;
	font-size: 1.250em;
	outline: none;
	transition: .4s;
	cursor: pointer;
}
.entry-content input[type=button]:hover,
.entry-content input[type=submit]:hover {
	opacity: 0.8;
}

@media screen and (max-width: 700px) {
	.entry-content #form table th,
	.entry-content #form table td {
		display: block;
		width: 100%;
	}
	.entry-content #form input[type="text"],
	.entry-content #form input[type="email"],
	.entry-content #form input[type="tel"],
	.entry-content #form textarea {
		width: 100%;
	}
}

.entry-content #form.enquete form > p,
.entry-content #form.enquete form > ul {
    margin-left: 7px;
}
.entry-content #form.enquete form > ul {
    margin-bottom: 20px;
}
.entry-content #form.enquete textarea {
    height: 8em;
}
.entry-content #form.enquete span.error {
    padding-left: 7px;
}


/* ==============================================
    entry-title
============================================== */
body.info.single .entry-title h2 {
	font-size: 1.500em;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	color: #0958a5;
	background: #f1f4f6;
	border-left: none;
	border-bottom: 3px solid #0958a5;
	padding: 5px 10px;
	margin: 0 0 30px;
}


.entry-title .place {
	font-size: 0.667em;
	font-weight: 400;
}

.entry-category {
	margin-bottom: 20px;
}
.entry-category span {
	margin-right: 10px;
}
.entry-category span a {
	font-family: 'Noto Sans JP', sans-serif;
	display: inline-block;
	background: #0958a5;
	color: #fff;
	padding: 5px 10px;
}
.entry-category span a:hover {
	text-decoration: none;
}


.products-tag {
	margin-bottom: 20px;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}
.products-tag strong {
	font-weight: normal;
	width: 5em;
}
.products-tag p {
	flex: 1;
}

.products-tag span {
	display: inline-block;
	margin: 0 4px 4px 4px;
}
.products-tag span a {
	display: inline-block;
	border: 1px solid #0958a5;
	line-height: 1.2;
	border-radius: 15px;
	color: #0958a5;
	font-size: 0.875em;
	padding: 5px 25px;
}
.products-tag span a:hover {
	text-decoration: none;
}

.products-tab {
	margin-bottom: 30px;
	display: block;
}
.products-tab select {
	padding: 5px;
	outline: none;
	border: 1px solid #0958a5;
}

.products-main {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 30px;
}
.products-main figure {
	width: 50%;
	margin-right: 30px;
}
.products-main div.content {
	flex: 1;
}




@media screen and (max-width: 700px) {
	.products-main {
		display: block;
	}
	.products-main figure {
		width: 100%;
		margin-right: 0;
		margin-bottom: 30px;
		text-align: center;
	}
	.products-main div.content {
		width: 100%;
	}
}


/* ==============================================
    subtop-pagetitle
============================================== */
#subtop-pagetitle {
	background: #f0f3f5 url("image/bg_subtop_company.jpg") no-repeat center top;
	background-size: cover;
	position: relative;
	top: 0px;
	min-height: 520px;
	z-index: 0;
}
#subtop-pagetitle::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 5vw 100vw;
	border-color: transparent transparent #f0f3f5 transparent;
}


#subtop-pagetitle .pagetitle {
	position: absolute;
	top: 90px;
	background: rgba(255,255,255,0.8);
	width: 100%;
	min-height: 270px;
	padding: 0px 0;
}
#subtop-pagetitle .pagetitle .inner {
	
}

#subtop-pagetitle .pagetitle h1 {
	font-size: 2.625em;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	letter-spacing: 0.2em;
	padding: 35px 0 40px;
}

#subtop-pagetitle .pagetitle h1::first-letter {
	color: #db0f21;
}
#subtop-pagetitle .pagetitle h1 span {
	font-size: 16px;
	display: block;
	letter-spacing: 0.15em;
	text-transform: capitalize;
}
#subtop-pagetitle .pagetitle p {
	
}


#subtop-pagetitle .pagetitle figure {
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -165px;
}

@media screen and (max-width: 1200px) {
	#subtop-pagetitle {
		min-height: 50vw;
	}
	#subtop-pagetitle .pagetitle figure {
		width: 55%;
		margin-top: -14%;
	}
	#subtop-pagetitle .pagetitle {
		min-height: 20vw;
		padding: 0 58% 15px 10px;
	}
	#subtop-pagetitle .pagetitle h1 {
		padding: 10px 0 10px;
	}
	
}
@media screen and (max-width: 900px) {
	#subtop-pagetitle .pagetitle {
		
	}
	#subtop-pagetitle .pagetitle p {
		font-size: 0.875em;
	}
	#subtop-pagetitle .pagetitle p br {
		display: none;
	}
}

@media screen and (max-width: 700px) {
	#subtop-pagetitle {
		padding-bottom: 10vw;
	}
	#subtop-pagetitle .pagetitle {
		position: inherit;
		top: inherit;
		min-height: inherit;
		padding: 0 10px 15px 10px;
	}
	#subtop-pagetitle .pagetitle p {
		font-size: 1em;
		padding-bottom: 20px;
	}
	#subtop-pagetitle .pagetitle figure {
		position: inherit;
		top: inherit;
		right: inherit;
		margin-top: 0;
		width: 100%;
	}
}




/* ==============================================
    pagetitle
============================================== */
#pagetitle {
	background: #f1f4f6;
	padding: 15px 0;
	margin-bottom: 45px;
}
#pagetitle h1 {
	font-size: 2.250em;
	color: #db0f21;
	line-height: 1.2;
	border-left: 8px solid #db0f21;
	padding: 15px 30px;
}

@media screen and (max-width: 700px) {
    #pagetitle {
        padding: 10px 0;
        margin-bottom: 25px;
    }
    #pagetitle h1 {
        font-size: 2em;
        color: #db0f21;
        border-left-width: 6px;
        padding: 10px 20px;
    }
}

/* ==============================================
    subtop-menu
============================================== */
#subTop {
	background: #f0f3f5;
	padding-top: 60px;
	padding-bottom: 100px;
	position: relative;
}
#subTop::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5vw 0 0 100vw;
	border-color: transparent transparent transparent #fff;
}
#subTop .entry-content {
	padding-bottom: 30px;
}

.subtop-menu {}

.subtop-menu ul {
	list-style: none;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
}
.subtop-menu li {
	width: 48%;
	margin-bottom: 0px;
	background: #fff;
	box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.1);
}
.subtop-menu li:nth-child(2n) {
	margin-top: 100px;
}
.subtop-menu li figure {

}
.subtop-menu li div {
	padding: 30px;
}
.subtop-menu li h2 {
	font-size: 1.750em;
	font-family: 'Noto Sans JP', sans-serif;
	color: #db0f21;
	margin-bottom: 15px;
}

.subtop-menu li .txt {
	margin-bottom: 25px;
}
.subtop-menu li .detail {
	text-align: center;
}
.subtop-menu li .detail a {
	display: inline-block;
	border: 1px solid #323232;
	padding: 15px 0;
	width: 200px;
	color: #2d2d2d;
	position: relative;
}
.subtop-menu li .detail a::after {
	content: "";
	display: inline-block;
	background: url("image/arrow1_r.svg") no-repeat 0 0;
	background-size: contain;
	width: 16px;
	height: 16px;
	position: absolute;
	top: 50%;
	margin-top: -8px;
	right: 10px;
	transition: .2s;
}

@media screen and (min-width: 701px) {
	.subtop-menu li .detail a:hover {
		text-decoration: none;
	}

	.subtop-menu li .detail a:hover::after {
		right: 5px;
	}
}


.subtop-menu li .flexbox {
	display: flex;
	justify-content: space-between;
	padding: 0 20px;
}
.subtop-menu li .flexbox figure {
	width: 35%;
	margin-top: -30px;
	position: relative;
}
.subtop-menu li .flexbox figure::before {
	content: "";
	display: block;
	width: 1px;
	height: 270px;
	background: #db0f21;
	position: absolute;
	top: 0;
	left: 0;
}

.subtop-menu li .flexbox div {
	width: 60%;
	padding: 30px 0;
}

@media screen and (max-width: 700px) {
	.subtop-menu ul {
		display: block;
	}
	.subtop-menu li {
		width: 100%;
		margin-bottom: 100px;
	}
	.subtop-menu li:nth-child(2n) {
		margin-top: 0;
	}
	.subtop-menu li:last-child {
		margin-bottom: 0px;
	}
}

/* ==============================================
    archive-list
============================================== */
.leadtxt {
	text-align: center;
	margin: 30px 0 60px;
	font-size: 1.125em;
	font-weight: bold;
}

.archive-list {
	margin-bottom: 50px;
}


.archive-list ul {
	list-style: none;
	display: flex;
	/*align-items: flex-start;*/
	justify-content: space-between;
	flex-wrap: wrap;
}
.archive-list li {
	margin-bottom: 40px;
}
.archive-list li .detail {
	text-align: center;
}
.archive-list li .detail a {
	font-size: 0.875em;
	/*font-family: 'Noto Sans JP', sans-serif;*/
	display: block;
	border: 1px solid #3a79b7;
	background: #fff;
	color: #0958a5;
	line-height: 40px;
	border-radius: 20px;
	width: 65%;
	margin: 30px auto 0;
	box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.1);
	position: relative;
	transition: .2s;
}
.archive-list li .detail a::before {
	content: "";
	display: inline-block;
	background: url("image/arrow2_b.svg") no-repeat 0 0;
	background-size: contain;
	width: 14px;
	height: 14px;
	position: absolute;
	top: 50%;
	margin-top: -7px;
	left: 15px;
}
.archive-list li .detail a:hover {
	opacity: 1;
	text-decoration: none;
	transform: translateY(2px);
}

.archive-list li .detail a.blank::after {
	position: absolute;
	top: 50%;
	width: 14px;
	height: 14px;
	margin-top: -7px;
	right: 15px;
}

.archive-list li figure {
	text-align: center;
}


.products-term-list li {
	width: 48%;
	border: 1px solid #d3d3d3;
	padding: 20px;
}
.products-term-list li h3 {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.250em;
	font-weight: 400;
	color: #434343;
	text-align: center;
	margin-bottom: 10px;
}

.products-list li {
	width: 30%;
}
.products-list ul::after {
	content:"";
	display: block;
	width:30%;
}
.products-list li h3 {
	font-size: 1.250em;
	font-weight: normal;
	color: #4c4c4c;
	text-align: center;
	margin-top: 20px;
}

.products-list li figure {
	
}
.products-list li figure img {

}


.products-list li .detail a {
	margin-top: 10px;
}

.case-list li {
	width: 30%;
	margin-bottom: 50px;
	color: #4c4c4c;
}
.case-list ul::after {
	content:"";
	display: block;
	width:30%;
}

.case-list li figure {
	margin-bottom: 20px;
}
.case-list li h3 {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.125em;
	font-weight: 400;
	margin-bottom: 15px;
}
.case-list li .place {
	font-size: 0.875em;
	margin-bottom: 15px;
}
.case-list li .delivery_products a {
	font-size: 0.875em;
	display: inline-block;
	background: #eee;
	padding: 2px 5px;
	margin: 1px;
}

.case-list .btn_list {
	text-align: center;
}

.case-list .btn_more {
	text-align: center;
	margin-bottom: 30px;
}
.case-list .btn_more a {
	display: inline-block;
	color: #fff;
	background: #0958a5;
	padding: 10px 30px;
}
.case-list .btn_more a:hover {
	text-decoration: none;
}

@media screen and (max-width: 700px) {
	.products-list li {
		width: 48%;
	}
	.case-list li {
		width: 48%;
	}
	.archive-list li .detail a {
		width: 90%;
	}
	.archive-list li .detail a::before {
		width: 10px;
		height: 10px;
		margin-top: -5px;
		left: 10px;
	}
	.products-term-list li {
		padding: 20px 7px;
	}
}


/* ==============================================
    engineering-list
============================================== */
.engineering-list ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 40px;
}
.engineering-list li {
	width: 47%;
	margin-bottom: 30px;
}
.engineering-list li p {
	margin-top: 5px;
}

.partner-list ul {
	margin-left: 30px;
	margin-bottom: 40px;
}
.partner-list li {
	margin-bottom: 5px;
}

.maker-list ul {
	margin-left: 30px;
	margin-bottom: 40px;
}
.maker-list li {
	margin-bottom: 5px;
}

.maker-list li a[target="_blank"]::after {
	content: "";
	display: inline-block;
	background: url("image/icon_blank.svg") no-repeat 0 0;
	background-size: contain;
	width: 16px;
	height: 16px;
	margin-left: 10px;
	vertical-align: middle;
}


/* ==============================================
    case
============================================== */
body.case .main-photo {
	margin-bottom: 50px;
}
body.case .sub-photo {
	margin-bottom: 50px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
body.case .sub-photo figure,
body.case .sub-photo div.txt {
	width: 48%;
}
body.case .sub-photo figcaption {
	font-size: 0.875em;
	margin-top: 10px;
	text-align: center;
	color: #555;
}

body.case .sub-photo div.txt {
	line-height: 1.8;
}

@media screen and (max-width: 700px) {
	body.case .sub-photo {
		display: block;
	}
	body.case .sub-photo figure,
	body.case .sub-photo div.txt {
		width: 100%;
	}
	body.case .sub-photo figure {
		margin-bottom: 10px;
	}
}

/* ==============================================
    img border
============================================== */

.products-list li figure img {
	border: 1px solid #999;
}
.products-main figure img {
	border: 1px solid #999;
}


/* ==============================================
    sidebar
============================================== */
#sidebar .sideAssets {
	border-top: 7px solid #434343;
	margin-bottom: 50px;
	position: relative;
}
#sidebar .sideAssets::before {
	content: "";
	position: absolute;
	top: -7px;
	left: 0;
	width: 19px;
	height: 7px;
	background: #db0f21;
}

#sidebar .sideAssets h3 {
	font-size: 1.750em;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	line-height: 1.2;
	padding: 40px 0;
}
#sidebar .sideAssets h3::first-letter {
	color: #db0f21;
}
#sidebar .sideAssets h3 span {
	font-size: 0.500em;
	display: block;
	text-transform: capitalize;
	margin-top: 10px;
}

#sidebar .sideAssets ul {
	list-style: none;
}
#sidebar .sideAssets li {
	margin-bottom: 1px;
}
#sidebar .sideAssets li a {
	display: flex;
	align-items: center;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.2;
	color: #fff;
	background: #0958a5;
	height: 60px;
	padding: 0 10px;
}
#sidebar .sideAssets li.current a {
	background: #434343;
}
#sidebar .sideAssets li a::before {
	content: "";
	display: inline-block;
	background: url("image/arrow1_w.svg") no-repeat 0 0;
	background-size: contain;
	width: 14px;
	height: 14px;
	margin-right: 10px;
	transition: .2s;
}

#sidebar .sideAssets li a:hover {
	/*opacity: 1;*/
	text-decoration: none;
}
#sidebar .sideAssets li a:hover::before {
	transform: translateX(4px);
}

#sidebar .sideBanner ul {
	list-style: none;
}
#sidebar .sideBanner li {
	margin-bottom: 20px;
}

#sidebar .infoAssets {
	margin-bottom: 30px;
}
#sidebar .infoAssets h3 {
	background: #0958a5;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.2;
	color: #fff;
	margin-bottom: 10px;
	padding: 10px;
}
#sidebar .infoAssets ul {
	list-style: none;
}
#sidebar .infoAssets li {
	font-size: 0.875em;
	margin-bottom: 10px;
	color: #666;
}




@media screen and (max-width: 700px) {
	#sidebar .sideAssets h3 {
		padding: 10px 0;
	}
	#sidebar .sideAssets li a {
		height: inherit;
		padding: 15px 10px;
	}
	#sidebar .sideAssets h3 span {
		margin-top: 5px;
	}
}



/* ==============================================
    search
============================================== */
.archive-list .btn_contact {
	margin: 20px 0;
}
.archive-list .btn_contact a {
	display: inline-block;
	background: #0958A5;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.2;
	font-weight: 500;
	padding: 10px 30px 10px 20px;
}
.archive-list .btn_contact a::before {
	content: "";
	display: inline-block;
	background: url("image/arrow1_w.svg") no-repeat 0 0 / contain;
	width: 14px;
	height: 14px;
	margin-right: 10px;
	vertical-align: middle;
}
.archive-list .btn_contact a:hover {
	text-decoration: none;
}

/* ------------------------------------------------ */

span.error {
	display: block;
	font-weight: bold;
	color: #ff4422;
}

#input_error {
	padding: 10px 15px;
	background: #ffdddd;
	margin-bottom: 20px;
}