@charset "utf-8";

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

.fv {
	position: relative;
	height: 240px;
	background-image: url(../img/fv_2.png);
	background-position: 50% 0;
	background-size: cover;
	background-repeat: no-repeat;
	overflow: hidden;
}

.fv .section_inner {
	position: relative;
	width: 100%;
	height: 100%;
	padding: 0;
}

.fv .section_container {
	position: relative;
	width: 100%;
	height: 100%;
}

.fv_text {
	position: absolute;
	top: 60%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 12px;
	width: max-content;
	height: max-content;
	margin: 0;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #fff;
	text-shadow: 0px 4px 20px rgba(0, 0, 0, 1);
}

.fv_text > * {
	display: block;
}

.fv_text > *:nth-of-type(1) {
	font-size: 1em;
}

.fv_text > *:nth-of-type(2) {
	font-size: 1em;
}

@media screen and (min-width: 768px) {
	.fv {
		height: auto;
		background-image: none;
	}

	.fv .section_inner {}

	.fv .section_container {}

	.fv_text {}

	.fv_text > * {}

	.fv_text > *:nth-of-type(1) {}

	.fv_text > *:nth-of-type(2) {}
}

@media screen and (min-width: 1280px) {
	.fv_text {
		right: 10%;
		bottom: 15%;
		gap: 24px;
		font-size: 2rem;
	}
}

@media screen and (min-width: 1440px) {
	.fv_text {
		right: 10%;
		bottom: 10%;
		gap: 36px;
		font-size: 3rem;
	}
}

@media screen and (min-width: 1920px) {
	.fv_text {
		right: 15%;
		bottom: 10%;
	}
}

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

.section {
	width: 100%;
	margin: 0;
	padding: 0;
}

.section_inner {
	width: 100%;
	padding: 20% 0;
}

@media screen and (min-width: 768px) {
	.section_inner {
		padding: 10% 0;
	}
}

@media screen and (min-width: 1440px) {
	
}

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

.section_1 {}

.section_1 .section_inner {
	width: 90%;
	margin: 0 auto;
	padding: 5% 0;
}

.section_1 .section_container {
	padding: 5%;
	background-color: #EFF3F4;
}

.section_1 .section_container_inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 48px;
	width: 100%;
	margin: 0 auto 0;
	padding: 0;
}

.section_1 .top {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 24px;
	width: 100%;
	max-width: 1080px;
	margin: 0 auto 0;
	color: #000;
}

.section_1 .top .text_1 {
	width: 100%;
	padding: 12px 24px;
	background-color: #fff;
	border-radius: 110px;
	text-align: center;
	font-size: 1.25rem;
}

.section_1 .top .text_2 {
	text-align: left;
	font-size: 1rem;
}

.section_1 .top .text_3 {
	text-align: center;
	font-size: 1.25rem;
}

.section_1 .top .text_3 > * {
	display: inline;
	background: linear-gradient(transparent 75%, #F6DE7C 0%);
}

.section_1 .wrapper {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 36px;
	width: 100%;
}

.section_1 .heading_area {
	padding: 0;
}

.section_1 .wrapper_1 .heading_2 .sub::after {
	background-image: url(../img/electrical_works_heading_deco_1.svg);
}

.section_1 .wrapper_2 .heading_2 .sub::after {
	background-image: url(../img/electrical_works_heading_deco_2.svg);
}

.section_1 .wrapper_3 .heading_2 .sub::after {
	background-image: url(../img/electrical_works_heading_deco_3.svg);
}

.section_1 .content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 12px;
	width: 100%;
}

.section_1 .content .text_area {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
	margin: 0 auto 0;
	color: #000;
}

.section_1 .content .text_area .title {
	font-size: 1.25rem;
}

.section_1 .content .text_area .box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 4px;
	width: 100%;
	padding: 5%;
	background-color: #fff;
}

.section_1 .content .text_area .box .title {
	font-size: 1.25rem;
	color: #4A80C1;
}

.section_1 .content .img_area {
	width: 100%;
}

.section_1 .content .img_area .img {
	width: 100%;
}

@media screen and (min-width: 768px) {
	.section_1 .content {
		flex-direction: row;
		align-items: flex-start;
		gap: 24px;
	}
	.section_1 .wrapper_2 .content {
		flex-direction: row-reverse;
	}
	.section_1 .content .text_area .box {
		width: 90%;
		margin: 0 auto 0 0;
	}
}

@media screen and (min-width: 1280px) {
	
}

@media screen and (min-width: 1440px) {
	.section_1 .section_container {
		padding: 5% 10%;
	}

	.section_1 .section_container_inner {
		gap: 120px;
	}

	.section_1 .top .text_1 {
		font-size: 1.875rem;
	}

	.section_1 .top .text_2 {
		font-size: 1.25rem;
	}

	.section_1 .top .text_3 {
		font-size: 1.875rem;
	}

	.section_1 .wrapper {
		gap: 72px;
	}

	.section_1 .content {
		gap: 84px;
	}

	.section_1 .content .text_area {
		gap: 24px;
	}

	.section_1 .content .text_area .title {
		font-size: 1.875rem;
	}

	.section_1 .content .text_area .text {
		font-size: 1.25rem;
	}

	.section_1 .content .text_area .box {
		gap: 12px;
		font-size: 1.25rem;
	}

	.section_1 .content .text_area .box .title {
		font-size: 1.875rem;
	}
}

@media screen and (min-width: 1920px) {
	
}

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


/*==================================================
お知らせ（個別・一覧）
===================================*/
#single .container {
    margin-top: 50px;
    margin-bottom: 100px;
    padding: 0 15px;
}

#single .ss-ttl h3 {
    margin-top: 20px;
    margin-bottom: 20px;
    font-size: 30px;
    text-align: center;
}

#single .ss-ttl,
#single .single-box {
    max-width: 1000px;
    margin: auto;
}

.single-box .single-date {
    max-width: 900px;
    margin: auto;
    padding-bottom: 15px;
    text-align: left;
    font-size: 20px;
}

.single-box .single-body {
    max-width: 900px;
    margin: auto;
    text-align: left;
    font-size: 20px;
}

#single .single-nav {
    margin-top: 40px;
}

#single .nav-links {
  display: flex;
  justify-content: space-around;
  border-top: 1px solid #333;
  padding-top: 50px;
}

#single .single-nav .nav-prev a,
#single .single-nav .nav-next a,
#single .back-to-archive a {
  font-size: 18px;
  color: inherit;
}

#single .back-to-archive {
  padding: 10px 15px;
  text-align: center;
}

#archive .container {
  margin: 0 auto;
  padding: 15px;
  max-width: 1000px;
}

.archive-box {
  margin: 50px auto;
  border-bottom: 1px solid #333;
}

.container article:first-of-type .archive-box {
    border-top: 1px solid #333;
    padding-top: 50px;
}

.read-more {
  margin-top: 15px;
  margin-bottom: 50px;
  text-align: left;
}

.read-more a {
  font-size: 18px;
  text-decoration: underline;
  line-height: 1.4;
}

.archive-date {
  text-align: left;
}

.archive-box .ttl {
  text-align: left;
  font-size: 24px;
  margin: 10px 0;
  text-align: left;
}

.archive-box .archive-body {
  text-align: left;
}

.pagination-wrapper {
  margin-bottom: 10rem;
}

.pagination-wrapper {
  display: flex;
  justify-content: center;
  gap: 0.5em;
  flex-wrap: wrap;
}

.pagination-wrapper .nav-links {
  display: flex;
  justify-content: center;
  gap: 0.5em;
  flex-wrap: wrap;
}

.pagination-wrapper .nav-links > * {
  display: inline-flex;
  padding: 0.3em 0.6em;
  border: 1px solid #ddd;
  border-radius: 4px;
}

.pagination-wrapper .nav-links .current {
  background: #2c2622;
  color: #fff;
}

@media screen and (max-width: 768px) {
    #single .ss-ttl h3 {
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 20px;
    }

    .single-box .single-date,
    .single-box .single-body {
    font-size: 16px;
    }

    #single .single-nav .nav-prev a,
#single .single-nav .nav-next a,
#single .back-to-archive a {
    font-size: 16px;
    }

    .archive-box h3 {
    font-size: 20px;
    }
}