@charset "UTF-8";
@media screen and (max-width: 767px) {
	.sp_invisible {
		display: none;
	}
	.br-pc {
		display: none;
	}
	.mt-20 {
		margin-top: 20px;
	}
	.bg {
		background: url(../img/sp/sp-bg-cover.png) repeat;
	}
	/*========================================= */
	/* グローバルナビ
=========================================== */
	#top-head,
	.inner {
		width: 100%;
		padding: 0;
	}
	#top-head {
		top: 0;
		position: fixed;
		margin-top: 0;
		z-index: 9999;
	}
	#top-head .logo {
		float: left;
		padding: 20px 0 0 15px;
	}
	#top-head .logo img {
		width: 80%;
		margin-left: 0;
	}
	#global-nav ul li {
		padding: 0;
	}
	/* Fixed reset */
	#top-head.fixed {
		padding-top: 0;
		background: transparent;
	}
	#mobile-head {
		background: #fff;
		width: 100%;
		height: 90px;
		z-index: 999;
		position: relative;
		border-bottom: 2px solid #0d8a3f;
	}
	/* 開いてないときは画面外に配置 */
	#global-nav {
		position: absolute;
		top: -780px;
		background: rgba(13, 138, 63, 0.9);
		width: 100%;
		text-align: center;
		padding: 10px 0 100px;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;
	}
	#global-nav ul {
		list-style: none;
		position: static;
		right: 0;
		bottom: 0;
		font-size: 11px;
	}
	#global-nav ul li {
		float: none;
		position: static;
	}
	#global-nav ul li:after {
		display: none;
	}
	#top-head #global-nav ul li a,
	#top-head.fixed #global-nav ul li a {
		width: 60%;
		margin: 0 auto;
		display: block;
		color: #fff;
		font-weight: bold;
		padding: 22px 0;
		font-size: 25px;
		text-decoration: none;
		border-bottom: 1px solid #fff;
	}
	/* Toggle Button */
	#nav-toggle {
		display: none;
		position: absolute;
		right: 20px;
		top: 20px;
		width: 60px;
		height: 50px;
		cursor: pointer;
		z-index: 101;
	}
	#nav-toggle div {
		position: relative;
	}
	#nav-toggle span {
		display: block;
		position: absolute;
		height: 4px;
		width: 100%;
		background: #0d8a3f;
		left: 0;
		-webkit-transition: 0.35s ease-in-out;
		-moz-transition: 0.35s ease-in-out;
		transition: 0.35s ease-in-out;
	}
	#nav-toggle span:nth-child(1) {
		top: 0;
	}
	#nav-toggle span:nth-child(2) {
		top: 14px;
		width: 45px;
		left: 24%;
	}
	#nav-toggle span:nth-child(3) {
		top: 28px;
		width: 30px;
		left: 46%;
	}
	#nav-toggle {
		display: block;
	}
	#nav-toggle::after {
		position: absolute;
		left: 0px;
		bottom: -12px;
		content: "メニュー";
		display: block;
		width: 60px;
		color: #0d8a3f;
		font-weight: bold;
		text-decoration: none;
		text-align: center;
	}
	/* #nav-toggle 切り替えアニメーション */
	.open #nav-toggle span:nth-child(1) {
		top: 15px;
		-webkit-transform: rotate(315deg);
		-moz-transform: rotate(315deg);
		transform: rotate(315deg);
	}
	.open #nav-toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open #nav-toggle span:nth-child(3) {
		top: 15px;
		width: 60px;
		left: 0;
		-webkit-transform: rotate(-315deg);
		-moz-transform: rotate(-315deg);
		transform: rotate(-315deg);
	}
	.open #nav-toggle::after {
		content: "閉じる";
		bottom: -12px;
		left: 0px;
	}
	/* #global-nav スライドアニメーション */
	.open #global-nav {
		/* #global-nav top + #mobile-head height */
		-moz-transform: translateY(870px);
		-webkit-transform: translateY(870px);
		transform: translateY(870px);
	}

	#pc-global-nav {
		display: none;
	}

	/*========================================= */
	/* メインビジュアル
=========================================== */
	.main-slide {
		position: relative;
		z-index: 1;
		margin: 0;
	}
	.head-mark {
		position: absolute;
		top: 55%;
		left: 71%;
		margin: -180px auto auto -380px;
	}
	.head-mark .main-svg {
		width: 98vw;
	}
	.head-mark img {
		margin: 0 auto;
		display: block;
	}
	.head-mark-y {
		padding-top: 30px;
		width: 180px;
	}
	.head-mark p {
		margin-top: 20px;
		font-size: 20px;
		color: #0d8a3f;
		font-weight: bold;
		text-shadow: 0px 0px 2px #fff;
	}
	.mainbg01 {
		background: url(../img/sp/sp-top-main.png) no-repeat;
		-webkit-background-size: cover;
		-moz-background-size: cover;
		background-size: cover;
		width: 100%;
		height: 65vh;
		background-position: 50% 50%;
	}
	.white-block {
		position: absolute;
		z-index: 2;
		bottom: -1px;
		width: 100%;
	}

	.mainbg01__bnr {
		position: absolute;
		bottom: -3vh;
		left: 50%;
		transform: translateX(-50%);
	}

	/*========================================= */
	/* ボタン
=========================================== */
	.button-1 {
		text-align: center;
		margin-top: 40px;
	}
	.button-3 {
		margin-top: 30px;
		float: left;
	}
	.button1 {
		background: #0d8a3f;
		color: #fff;
		border: none;
		font-size: 20px;
		padding: 15px 60px;
		letter-spacing: 1px;
	}
	.button-works {
		background: #0d8a3f;
		color: #fff;
		border: none;
		position: relative;
		font-size: 18px;
		padding: 6px 42px;
		letter-spacing: 1px;
	}
	.button-2 {
		margin-top: 25px;
	}
	.button2 {
		background: #666;
		color: #fff;
		border: none;
		position: relative;
		height: 80px;
		font-size: 20px;
		padding: 15px 30px;
		letter-spacing: 1px;
		display: block;
		width: 415px;
		margin: 40px auto 0;
	}
	.button2:nth-child(2) {
		background-color: #1dcd00;
	}
	.button2 .small-txt {
		font-size: 16px;
		position: absolute;
		top: 45px;
		left: 88px;
	}
	.arrow-adjust {
		position: relative;
		right: -155px;
	}
	.button2:nth-child(1) .arrow-adjust {
		bottom: 43px;
	}
	.button2:nth-child(2) .arrow-adjust {
		bottom: 13px;
	}
	/*========================================= */
	/* ヤマガタヤの強み
=========================================== */
	#strong {
		margin: 40px auto;
	}
	#strong h2 {
		margin: 0;
	}
	#strong ul {
		width: 100%;
		margin: 0 auto;
	}
	#strong li {
		box-shadow: 5px 5px 10px #a7a7a7;
		display: inline-block;
		margin-bottom: 25px;
	}
	#strong li:last-child {
		margin-bottom: 0;
	}
	/*========================================= */
	/* 施工事例
=========================================== */
	#jirei {
		padding: 20px 0 80px;
		display: block;
		overflow: hidden;
		background: #ececec url(../img/top/bg-jirei.png) no-repeat;
		background-size: 1000px;
		background-position: left -200px;
	}
	.jirei-2column {
		width: 100%;
		margin: 0 auto;
	}
	.jirei-area {
		margin: 0 auto;
		width: 90%;
		text-align: left;
	}
	.jirei-ttl {
		margin: 50px 0 30px;
		font-size: 30px;
		font-family: "niveau-grotesk";
		color: #0d8a3f;
		letter-spacing: 2px;
		padding-bottom: 1px;
		text-align: center;
	}
	.jirei-ttl span {
		color: #000;
		font-size: 35px;
		font-weight: normal;
		letter-spacing: 0px;
	}
	.jirei-area p {
		margin: 0 auto;
		font-size: 23px;
		line-height: 1.5;
	}
	.jirei-list {
		width: 100%;
		float: right;
		padding: 0 20px;
		margin-top: 50px;
	}
	/*========================================= */
	/* リフォームメニュー
=========================================== */
	#re-menu {
		margin: 50px 0;
		overflow: hidden;
		display: flex;
    flex-flow: row wrap;
		width: 100%;
	}
	.lores2 {
		float: left;
		width: 50%;
		padding: 7px;
		margin: 0;
	}
	.lores2 img {
		width: 100%;
	}
	.menu-list figure {
		position: relative;
		overflow: hidden;
		max-height: 256px;
	}
	.menu-list figcaption {
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 2;
		width: 100%;
		background: #91bca0;
	}
	.fatx02 {
		display: flex;
    align-items: center;
    justify-content: center;
		padding: 10px 0;
		font-size: 16px;
		line-height: 1.2;
		min-height: 48px;
	}
	.fatx03 {
		margin-top: 25px;
		font-size: 18px;
		text-shadow: 0px 0px 10px #000;
		line-height: 2em;
	}
	.fatx03 span {
		border: solid 1px #fff;
		padding: 5px 30px 5px 30px;
	}
	/*========================================= */
	/* カテゴリ一覧
=========================================== */
#category {
	background: url(../img/top/bg-category.jpg) no-repeat;
	background-size: cover;
	padding: 80px 0;
}

.category__inner {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	flex-flow: row wrap;
	gap: 20px;
	width: 95%;
	max-width: 1200px;
	margin: auto;
}

.category-item {
	flex: 0 0 48%;
}

.menu__item-ttl {
	color: #1b8b41;
	font-size: 20px;
	font-weight: bold;
}

.menu__item-txt {
	color: #000;
	font-size: 16px;
}

.category-item {
	position: relative;
}

.category-item::after {
	position: absolute;
	content: url(../img/top/icon-triangle.png);
	bottom: 0;
	right: 5px;
}

.category-link {
	display: block;
	height: 100%;
	background: #fff;
	padding: 40px 0;
}

.category-link:hover .category-img,
.category-link:hover .menu__item-ttl,
.category-link:hover .menu__item-txt {
	opacity: 0.7;
}

	/*========================================= */
	/* top 2カラム
=========================================== */
	#column2-area2 {
		width: 100%;
		margin: 0 auto;
		padding: 40px 0 80px;
		display: block;
		overflow: hidden;
	}
	.news-area {
		overflow: hidden;
	}
	.news-list {
		width: 90%;
		height: 36.8vh;
		margin: 0 auto;
		background: #f7f7f7;
		overflow-y: scroll;
	}
	.news-list li:first-child {
		border-top: none;
	}
	.news-list li {
		text-align: left;
		line-height: 1.3;
		padding: 15px 5px 15px 10px;
		margin: 0 auto;
		border-bottom: 1px dotted #666;
	}
	.news-list li a {
		margin-top: 5px;
		font-size: 23px;
		color: #666;
		text-decoration: underline;
		display: block;
	}
	.news-list li span {
		margin-right: 10px;
		font-size: 18px;
	}
	.news-more {
		width: 50%;
		background: #666;
		color: #fff;
		border: none;
		position: relative;
		margin: 30px auto;
		padding: 15px 60px;
		font-size: 20px;
		letter-spacing: 1px;
	}
	.camp-area li {
		margin-bottom: 10px;
	}
	.camp-area img {
		width: 90%;
	}
	/*========================================= */
	/* フッター
=========================================== */
	.contact-area {
		margin: 0 auto;
		text-align: center;
		display: block;
		overflow: hidden;
		background: url(../img/sp/sp-bg-contact.jpg) no-repeat;
		background-size: cover;
	}
	.contact-area-bk {
		padding: 50px 0 60px;
		background: rgba(255, 255, 255, 0.7);
		background-size: cover;
	}
	.contact-ttl {
		margin: 0 auto;
		font-size: 25px;
		font-family: "niveau-grotesk";
		color: #666;
		letter-spacing: 2px;
		padding-bottom: 1px;
		text-align: center;
	}
	.contact-ttl span {
		color: #000;
		letter-spacing: 0px;
		font-size: 35px;
		font-weight: normal;
	}
	.contact-area p {
		margin: 40px auto 20px;
		font-size: 23px;
		line-height: 1.6;
		width: 90%;
	}
	.contact-tel a {
		color: #666;
		font-size: 34px;
		line-height: 5px;
		margin-top: 100px;
		text-decoration: underline;
	}
	.contact-tel img {
		width: 50px;
		margin-right: 10px;
		margin-bottom: 18px;
	}
	/*マップ*/
	.fmap {
		width: 100%;
		margin: 0 auto;
		display: block;
		overflow: hidden;
	}
	.fmap-r {
		margin: 0 auto;
		width: 100%;
	}
	.fmap-r {
		float: left;
	}
	.fmap-r p {
		margin-top: 10px;
	}

	/*リスト*/
	.fnav {
		width: 100%;
		margin: 0;
		display: block;
		overflow: hidden;
	}
	.fnav ul li {
		text-align: left;
		font-size: 16px;
		line-height: 1.5;
		padding: 5px 0;
		text-indent: -15px;
	}
	.fnav-pana {
		width: 90%;
		margin: auto;
		padding: 50px 0;
	}
	.fnav-pana img {
		width: 23%;
		float: left;
		margin-right: 24px;
	}
	.flogo {
		width: 100%;
		margin: 0 auto;
		padding: 0 0 90px 0;
		background: #6e001d;
		overflow: hidden;
	}
	.flogo-area {
		margin: 0 auto;
		width: 100%;
	}
	.flogo-r {
		float: left;
		width: 500px;
		margin: 15px 0 0 50px;
	}
	.flogo-r a {
		text-decoration: underline;
	}
	.flogo-r p {
		color: #fff;
		text-decoration: none;
		float: left;
		font-size: 20px;
		text-align: left;
		line-height: 1.3;
		padding: 30px 0 10px;
	}
	.flogo-r img {
		float: left;
	}
	.flogo-r .f-logo {
		width: 72.8%;
	}
	.flogo-r copy {
		font-size: 12px;
		color: #fff;
		float: left;
	}

	/*========================================= */
	/* ページトップに戻るボタン
=========================================== */
	.pagetop a {
		display: none;
	}
	.pagetop {
		display: none;
		position: fixed;
		bottom: 60px;
		right: 0;
		z-index: 9998;
	}
	.pagetop a {
		display: block;
		background: url(../img/sp/sp-page-top.png) no-repeat 0 0;
		background-size: 100%;
		width: 124px;
		height: 150px;
		overflow: hidden;
		white-space: nowrap;
		text-indent: 100%;
	}
	/*========================================= */
	/* fixバナー
=========================================== */
	#fix-bnr.fixed {
		width: 100%;
		height: 60px;
		position: fixed;
		bottom: 0;
		z-index: 9999;
		background: #a7a7a7;
	}
	.fix-bnr-area {
		width: 100%;
		margin-top: 20px;
	}
	.fix-bnr-tel {
		position: relative;
		top: 7px;
		width: 259px;
		float: left;
	}
	.fix-bnr-tel a {
		color: #fff;
		font-size: 28px;
		line-height: 5px;
	}
	.fix-bnr-tel img {
		width: 30px;
		margin-right: 4px;
		margin-top: -15px;
	}
	.button3 {
		background: #fff;
		color: #666;
		border: none;
		position: relative;
		font-size: 15px;
		padding: 12px 6px;
	}
	/*========================================= */
	/* 子ページ ⊶ タイトル
===========================================*/
	.white-block {
		position: absolute;
		z-index: 2;
		bottom: -1px;
		width: 100%;
	}
	.main-ttl-area {
		width: 100%;
		margin: 0 auto;
	}
	.main-ttl {
		font-size: 40px;
		color: #fff;
		font-weight: bold;
		position: absolute;
		top: 72%;
		left: 3%;
		text-shadow: 0px 0px 20px #666;
	}
	.main-ttl span {
		font-size: 60px;
		font-weight: bold;
		color: #0d8a3f;
		text-shadow: 0px 0px 20px rgba(255, 255, 255, 0.7);
	}
	.mainbg-staff {
		background: url(../img/staff/top-main.jpg) no-repeat;
	}
	.mainbg-strength {
		background: url(../img/strength/top-main.jpg) no-repeat;
	}
	.mainbg-flow {
		background: url(../img/flow/top-main.jpg) no-repeat;
	}
	.mainbg-company {
		background: url(../img/company/top-main.jpg) no-repeat;
	}
	.mainbg-contact {
		background: url(../img/contact/top-main.jpg) no-repeat;
	}
	.mainbg-404 {
		background: url(../img/404/top-main.jpg) no-repeat;
	}
	.mainbg-faq {
		background: url(../img/faq/top-main.jpg) no-repeat;
	}
	.mainbg-works {
		background: url(../img/works/top-main.jpg) no-repeat;
	}
	.mainbg-works-column {
		background: url(../img/works/top-main-co.jpg) no-repeat;
	}
	.mainbg-works-event {
		background: url(../img/works/top-main-ev.jpg) no-repeat;
	}
	.mainbg-staff,
	.mainbg-strength,
	.mainbg-flow,
	.mainbg-company,
	.mainbg-404,
	.mainbg-contact,
	.mainbg-faq,
	.mainbg-works,
	.mainbg-news,
	.mainbg-news-column,
	.mainbg-news-event,
	.mainbg-news-info  {
		-webkit-background-size: cover;
		-moz-background-size: cover;
		-o-background-size: cover;
		background-size: cover;
		width: 100%;
		height: 500px;
		background-position: 50% 50%;
	}
	.mainbg-news {
		background: url(../img/news/top-main.jpg) no-repeat;
		background-size: cover;
		background-position: center 45%;
	}
	.mainbg-news-info
	{
		background: url(../img/news/top-main-info.jpg) no-repeat;
	    background-position: center 45%;
    background-size: cover;
	}
	.mainbg-news-column {
		background: url(../img/news/top-main-co.jpg) no-repeat;
		background-position: center 45%;
	}
	.mainbg-news-event {
	    background: url(../img/news/top-main-ev.jpg) no-repeat;
    	background-position: center 45%;
	}
	/*========================================= */
	/* 子ページ ⊶ スタッフ紹介
===========================================*/
	#staff {
		width: 100%;
		margin: 0 auto;
		padding: 70px 0 100px;
		display: block;
		overflow: hidden;
	}
	#staff ul li {
		padding-bottom: 70px;
	}
	#staff ul li:last-child {
		padding-bottom: 0;
	}
	.staff-r {
		margin-top: 20px;
	}
	.staff-name {
		font-size: 35px;
		text-align: left;
		padding: 0 0 10px 55px;
	}
	.staff-name span {
		font-size: 18px;
		color: #0d8a3f;
	}
	.staff-line-top {
		background: url(../img/common/bg-line.gif) repeat-x left top;
		overflow: hidden;
		padding: 1px;
		-moz-transform: rotate(-5deg);
		-webkit-transform: rotate(-5deg);
		-o-transform: rotate(-5deg);
		-ms-transform: rotate(-5deg);
	}
	.staff-place {
		font-size: 25px;
		margin-left: 310px;
	}
	.staff-txt {
		margin: 25px auto 0;
		font-size: 20px;
		text-align: left;
		width: 90%;
	}
	.staff-txt p + p {
		margin-top: 20px;
	}
	.staff-txt span {
		color: #0d8a3f;
		font-size: 23px;
		display: block;
	}
	/*========================================= */
	/* 子ページ ⊶ 強み
===========================================*/
	#strength {
		margin: 0 auto;
		padding: 70px 0 100px;
		display: block;
		overflow: hidden;
	}
	.strength-copy {
		width: 90%;
		margin: 0 auto;
		font-size: 23px;
		text-align: left;
	}
	#strength-list1,
	#strength-list2,
	#strength-list3 {
		width: 100%;
		margin: 0 auto;
		padding-top: 95px;
		display: block;
		overflow: hidden;
	}
	#strength-list2 {
		position: relative;
		height: 873px;
	}
	.strength-2img {
		position: absolute;
		bottom: 0;
		left: 5%;
		width: 90%;
	}
	.strength-1img {
		width: 90%;
	}
	.strength-r {
		position: absolute;
		top: 0;
		left: 5%;
	}
	.strength-l,
	.strength-l3,
	.strength-r {
		width: 90%;
		margin: 0 auto;
	}
	.strength-l p,
	.strength-l3 p,
	.strength-r p {
		text-align: left;
		font-size: 23px;
		padding-bottom: 25px;
	}
	.strength-name {
		font-size: 30px;
		text-align: left;
		color: #0d8a3f;
		margin-bottom: 30px;
	}
	.strength-r .strength-name {
		padding-top: 95px;
	}
	.strength-name img {
		display: block;
		margin: 0 auto;
	}
	.strength-name h2 {
		text-align: center;
		margin-top: 5px;
		border-bottom: 2px solid;
	}
	.strength-name span {
		font-size: 50px;
	}
	/*========================================= */
	/* 子ページ ⊶ リフォームの流れ
===========================================*/
	#flow {
		width: 90%;
		margin: 0 auto;
		padding: 70px 0;
		display: block;
		overflow: hidden;
	}
	.flow-list {
		overflow: hidden;
	}
	.flow-img-1 {
		background: url(../img/sp/sp-flow-1.jpg) no-repeat;
	}
	.flow-img-2 {
		background: url(../img/sp/sp-flow-2.jpg) no-repeat;
	}
	.flow-img-3 {
		background: url(../img/sp/sp-flow-3.jpg) no-repeat;
	}
	.flow-img-4 {
		background: url(../img/sp/sp-flow-4.jpg) no-repeat;
	}
	.flow-img-5 {
		background: url(../img/sp/sp-flow-5.jpg) no-repeat;
	}
	.flow-img-6 {
		background: url(../img/sp/sp-flow-6.jpg) no-repeat;
	}
	.flow-img-7 {
		background: url(../img/sp/sp-flow-7.jpg) no-repeat;
	}
	.flow-img-1,
	.flow-img-2,
	.flow-img-3,
	.flow-img-4,
	.flow-img-5,
	.flow-img-6,
	.flow-img-7 {
		-webkit-background-size: cover;
		-moz-background-size: cover;
		background-size: cover;
		width: 100%;
		height: 200px;
		background-position: center center;
	}
	.flow-l {
		width: 100%;
		margin: 0 auto 100px;
		padding-bottom: 20px;
		border-bottom: 1px solid #0d8a3f;
	}
	.flow-name {
		font-size: 50px;
		text-align: left;
		color: #0d8a3f;
		margin-top: 10px;
		font-family: "heisei-maru-gothic-std";
		font-weight: 500;
	}

	.flow-line-top {
		background: url(../img/common/bg-line.gif) repeat-x left top;
		overflow: hidden;
		width: 150px;
		padding: 1px;
		margin-left: 50px;
		-moz-transform: rotate(-30deg);
		-webkit-transform: rotate(-30deg);
		-o-transform: rotate(-30deg);
		-ms-transform: rotate(-30deg);
	}
	.flow-place {
		font-size: 25px;
		text-align: left;
	}
	.flow-l h2 {
		margin: 0 0 0 150px;
	}
	.flow-txt {
		margin-top: 50px;
		font-size: 22px;
		text-align: left;
	}
	.flow-txt a {
		color: #0d8a3f;
		text-decoration: underline;
	}
	.flow-r-area {
		margin-top: -20px;
	}
	/*========================================= */
	/* 子ページ ⊶ 会社案内
===========================================*/
	#company {
		margin: 0 auto;
		padding: 70px 0 100px;
		display: block;
		overflow: hidden;
	}
	.company-ttl,
	.shop-ttl2 {
		width: 100%;
	}
	.shop-ttl1,
	.history-ttl {
		width: 100%;
		margin: 120px auto 0;
	}
	.company-name {
		font-size: 40px;
		text-align: left;
		color: #0d8a3f;
		font-family: "heisei-maru-gothic-std";
		font-weight: 800;
		margin-bottom: 0;
		margin-left: 5%;
	}
	.company-line-top {
		background: url(../img/common/bg-line.gif) repeat-x left top;
		overflow: hidden;
		width: 150px;
		padding: 1px;
		margin-left: 120px;
		-moz-transform: rotate(-30deg);
		-webkit-transform: rotate(-30deg);
		-o-transform: rotate(-30deg);
		-ms-transform: rotate(-30deg);
	}
	.company-place {
		margin-left: 200px;
		font-size: 25px;
		text-align: left;
	}
	.company-area1,
	.company-area2 {
		margin: 50px auto 0;
		width: 90%;
	}
	.company-shopaccess img {
		margin: 25px 0;
	}
	.table-line1 a {
		color: #0d8a3f;
		text-decoration: underline;
	}
	.table-line1,
	.table-line2,
	.table-line3 {
		width: 100%;
	}
	.table-line1 th,
	.table-line2 th,
	.table-line3 th {
		font-weight: normal;
		text-align: center;
		vertical-align: middle;
	}
	.table-line1 th,
	.table-line3 th {
		width: 130px;
	}
	.table-line2 th {
		width: 120px;
	}
	.table-line1 th,
	.table-line2 th,
	.table-line1 td,
	.table-line2 td {
		padding: 15px;
		border-bottom: 1px solid #0d8a3f;
		text-align: left;
		vertical-align: top;
		font-weight: normal;
		font-size: 18px;
	}
	.table-line3 th,
	.table-line3 td {
		padding: 20px 15px;
		border-bottom: 1px solid #0d8a3f;
		text-align: left;
		vertical-align: top;
		font-weight: normal;
	}
	.table-line3 th {
		font-size: 15px;
	}
	.table-line3 td {
		font-size: 18px;
	}
	.table-line3 .history-year {
		color: #0d8a3f;
		font-size: 30px;
		margin-right: 13px;
		line-height: 0.5;
	}
	.table-line1 th,
	.table-line2 th,
	.table-line3 th {
		line-height: 1.5;
	}
	#map_canvas2,
	#map_f2 {
		width: 100%;
	}
	#map_canvas2,
	#map_f2 {
		height: 300px;
	}

	#map-thumb-02 {
		background: url(../img/company/map-thumb-02.png) no-repeat;
		background-position: 60% 46%;
		margin-top: 70px;
	}
	#map-thumb-02 a {
		display: block;
		width: 100%;
		height: 500px;
	}

	/*========================================= */
	/* 子ページ ⊶ お問い合わせ
===========================================*/
	#contact {
		margin: 0 auto;
		padding: 70px 0;
		display: block;
		overflow: hidden;
		width: 90%;
	}
	.contact-ttl2 {
		width: 100%;
		margin: 0 auto;
	}
	.contact-name {
		font-size: 40px;
		text-align: left;
		color: #0d8a3f;
		font-family: "heisei-maru-gothic-std";
	}
	.contact-line-top {
		background: url(../img/common/bg-line.gif) repeat-x left top;
		overflow: hidden;
		width: 150px;
		padding: 1px;
		margin-left: 310px;
		-moz-transform: rotate(-30deg);
		-webkit-transform: rotate(-30deg);
		-o-transform: rotate(-30deg);
		-ms-transform: rotate(-30deg);
	}
	.contact-place {
		margin-left: 390px;
		font-size: 25px;
		text-align: left;
		font-weight: normal;
	}
	.privacy-area {
		border: 1px solid #a7a7a7;
		width: 100%;
		height: 500px;
		margin: 50px auto 0;
		padding: 20px;
		overflow-y: scroll;
		background: #fff;
	}
	.privacy-txt {
		font-size: 14px;
		text-align: left;
		line-height: 1.6;
		font-weight: normal;
	}
	.privacy-txt h3 {
		font-size: 20px;
	}
	.privacy-txt .center {
		text-align: center;
		margin-top: 15px;
	}
	.privacy-txt ol {
		width: 85%;
		margin: 15px auto 15px;
	}
	.privacy-txt ol li {
		line-height: 1.8;
	}
	.privacy-txt a {
		color: #0d8a3f;
		text-decoration: underline;
	}
	.contact-form {
		width: 100%;
		margin: 50px auto 100px;
		background: #ececec;
	}
	/*========================================= */
	/* お問い合わせフォーム
=========================================== */
	.entry-copy {
		position: relative;
	}
	.entry-copy img {
		width: 100%;
	}
	.recruit-form {
		margin: 80px auto;
	}
	/* デザインカスタマイズ */
	div.wpcf7 {
		background: #fff;
		border: 1px solid #a7a7a7;
		padding: 0px;
	}
	div.wpcf7 p {
		font-size: 20px !important;
	}
	div.wpcf7 table {
		margin: 0 auto;
	}
	div.wpcf7 table th {
		padding-left: 25px;
		margin-top: 15px;
		text-align: left;
		vertical-align: top;
		font-weight: normal;
		font-size: 20px;
		float: left;
		display: block;
		overflow: hidden;
	}
	div.wpcf7 table td {
		padding: 5px;
		vertical-align: top;
		font-weight: normal;
		width: 100%;
		display: block;
		overflow: hidden;
	}
	div.wpcf7 .shimei input,
	div.wpcf7 .tel input,
	div.wpcf7 .place input {
	}
	div.wpcf7 .shimei input,
	div.wpcf7 .tel input,
	div.wpcf7 .place input {
		width: 95%;
	}
	div.wpcf7 input,
	.wpcf7 textarea {
		border: 1px solid #ccc;
		padding: 8px;
		font-size: 22px;
	}
	div.wpcf7 textarea {
		width: 95%;
		height: 300px;
		margin-top: 7px;
	}
	div.wpcf7 input.wpcf7-submit {
		background: #0d8a3f;
		color: #fff;
		height: 80px;
		font-size: 22px;
		margin-bottom: 60px;
		padding: 15px 60px;
		letter-spacing: 1px;
	}
	/* エラー個所をわかりやすく表示 */
	.wpcf7 .wpcf7-not-valid {
		background: #ffb6c1;
	}
	.wpcf7 span.wpcf7-not-valid-tip {
		font-size: 17px;
		display: block;
		color: red;
		text-align: left;
		padding-left: 20px;
		width: 100%;
	}
	.wpcf7 .wpcf7-response-output {
		margin: 10px 0 0;
		padding: 8px 35px 8px 14px;
		text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		border-radius: 4px;
	}
	.wpcf7 .wpcf7-validation-errors {
		color: #b94a48;
		background-color: #f2dede;
		border: 1px solid #eed3d7;
	}
	.wpcf7 .wpcf7-mail-sent-ok {
		color: #3a87ad;
		background-color: #d9edf7;
		border: 1px solid #bce8f1;
	}
	.wpcf7-list-item-label {
		line-height: 2.5;
	}
	/* 必須赤色表示 */
	.wpcf7 .required {
		color: #fff;
		background: #f79797;
		padding: 3px;
		margin-left: 5px;
		-moz-border-radius: 5px;
		-khtml-border-radius: 5px;
		-webkit-border-radius: 5px;
		font-size: 18px;
	}
	/* 任意緑色表示 */
	.wpcf7 .any {
		color: #fff;
		background: #8bc34a;
		padding: 3px;
		margin-left: 5px;
		-moz-border-radius: 5px;
		-khtml-border-radius: 5px;
		-webkit-border-radius: 5px;
		font-size: 18px;
	}
	/* 必須項目非表示 */
	.screen-reader-response ul {
		display: none;
	}
	/* エントリー完了後 */
	.screen-reader-response {
		margin-top: 70px;
		font-size: 25px;
		font-weight: bold;
	}
	/*========================================= */
	/* 子ページ ⊶ よくある質問
===========================================*/
	#faq {
		width: 95%;
		margin: 0 auto;
		padding: 70px 0 70px;
		display: block;
		overflow: hidden;
	}
	#panel {
		width: 95%;
		margin: 0 auto;
	}
	#panel dt img {
		width: 12%;
		margin-right: 30px;
	}
	#panel > dt {
		margin-top: 15px;
		background-color: #fff;
		color: #0d8a3f;
		cursor: pointer;
		padding: 15px 0 10px;
		font-weight: normal;
		font-size: 25px;
		text-align: center;
		box-shadow: 5px 5px 10px #666;
	}
	#panel > dd {
		background: url(../img/sp/sp-cover.png) repeat;
		box-shadow: 5px 5px 10px #666;
		margin: 0px;
		padding: 30px;
	}
	#panel > dt:first-child {
		margin-top: 0px;
	}
	.faq-l {
		width: 100%;
		margin: 0 auto;
	}
	.faq-l.mt-50 {
		margin-top: 50px;
	}
	.faq-name {
		font-size: 40px;
		text-align: left;
		color: #0d8a3f;
		font-family: "heisei-maru-gothic-std";
		font-weight: 800;
	}
	.faq-name-3 {
		font-size: 35px;
		text-align: left;
		color: #0d8a3f;
		font-family: "heisei-maru-gothic-std";
		font-weight: 800;
	}
	.faq-line-top {
		background: url(../img/common/bg-line.gif) repeat-x left top;
		overflow: hidden;
		width: 100px;
		padding: 1px;
		-moz-transform: rotate(-30deg);
		-webkit-transform: rotate(-30deg);
		-ms-transform: rotate(-30deg);
	}
	.faq-place,
	.faq-place-3 {
		font-size: 20px;
		text-align: left;
		font-weight: bold;
	}
	.faq-place {
		margin: 0 0 15px 72px;
	}
	.faq-txt table {
		font-size: 23px;
		border: 1px dashed #0d8a3f;
	}
	.faq-txt table tr {
		border-bottom: 1px dashed #0d8a3f;
	}
	.faq-txt table td {
		padding: 20px 10px;
		line-height: 1;
	}
	.faq-txt table td span {
		font-size: 14px;
	}
	.faq-txt table .price {
		padding: 5px;
		text-align: right;
		border-left: 1px dashed #0d8a3f;
		vertical-align: middle;
	}
	.faq-txt table .price span {
		font-size: 18px;
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		-o-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
	}
	.faq-txt table .row1 {
		width: 729px;
		text-align: left;
	}
	.faq-txt table .row2 {
		width: 45%;
		text-align: left;
	}
	.faq-txt table .row2-2,
	.faq-txt table .row2-3,
	.faq-txt table .row2-4 {
		border-left: 1px dashed #0d8a3f;
		text-align: center;
		vertical-align: middle;
		line-height: 1.4;
	}
	.faq-txt table .row2-2 {
		font-size: 17px;
		text-align: left;
	}
	.faq-txt table .row2-3 {
		width: 26%;
		font-size: 17px;
		text-align: left;
	}
	.faq-txt table .row2-4 {
		font-size: 16px;
		padding: 15px;
	}
	.faq-3-ttl {
		font-size: 20px;
		padding: 20px 0 20px;
	}
	.faq-3-ttl span {
		font-size: 25px;
		font-weight: bold;
		line-height: 1.5;
		color: #0d8a3f;
	}
	.faq-l ul {
		list-style-type: disc;
		padding: 15px 0 15px 30px;
		font-size: 20px;
		text-align: left;
	}
	.faq-l p {
		font-size: 20px;
		text-align: left;
	}
	/*========================================= */
	/* 子ページ ⊶ 施工事例
===========================================*/
	#works {
		width: 100%;
		margin: 0 auto;
		padding: 70px 0;
		display: block;
		overflow: hidden;
	}
	.works-ttl {
		width: 90%;
		margin: 50px auto;
	}
	.works-tag li {
		background: #0d8a3f;
		border-radius: 5px;
		padding: 5px 0;
		margin-right: 10px;
		font-size: 18px;
	}
	.works-tag li:last-child {
		background: #666;
		margin-right: 0;
		font-size: 18px;
	}
	.works-tag ul li {
		margin: 10px;
		list-style: none;
	}
	.works-tag ul > li {
		display: inline-block;
		padding-right: 10px;
		padding-left: 10px;
	}
	.works-detail-area {
		overflow: hidden;
		display: block;
	}
	.works-detail {
		width: 90%;
		font-size: 20px;
		margin: 0 auto;
	}
	.works-detail img {
		width: 350px;
		height: 233px;
		margin: 35px 0;
		object-fit: cover;
		font-family: "object-fit: cover;";
	}
	.works-detail table {
		width: 100%;
	}
	.works-detail th {
		font-weight: normal;
		width: 150px;
		padding: 8px 0 8px 20px;
	}
	.works-detail td {
		padding: 8px 8px 8px 15px;
	}
	.works-detail tr:nth-child(odd) {
		background: #fff;
	}
	.works-detail td,
	.works-detail td ul li {
		text-align: left;
		width: 310px;
	}
	.works-detail td ul li a {
		color: #0d8a3f;
	}
	.works-place a {
		color: #0d8a3f;
		text-decoration: underline;
	}
	.works-before {
		position: absolute;
		left: 95px;
	}
	.works-after {
		position: absolute;
		right: 0;
		z-index: 1000;
		width: 100%;
		height: 343px;
	}
	.thumb-item img {
		height: 342px;
	}
	.thumb-item-nav img {
		width: 100%;
		height: 83px;
		object-fit: cover;
		font-family: "object-fit: cover;";
	}
	.thumb-item-nav {
		margin-top: 10px;
	}
	.thumb-item-nav ul {
		margin: 0 auto;
	}
	.thumb-item-nav li {
		margin-left: 10px;
	}
	.works-point {
		margin: 80px auto;
	}
	.works-point img {
		margin-left: 20px;
	}
	.works-point1,
	.works-point2,
	.works-point3 {
		width: 95%;
		margin: 0 auto 30px;
	}
	.works-point1,
	.works-point2,
	.works-point3 {
		padding: 14px;
		line-height: 1.6;
		text-align: left;
		background: url(../img/works/cover.png) repeat;
		box-shadow: 5px 5px 10px #a7a7a7;
		display: block;
		overflow: hidden;
	}
	.works-point1 h3,
	.works-point2 h3,
	.works-point3 h3 {
		color: #0d8a3f;
		font-size: 35px;
		font-family: "heisei-maru-gothic-std";
		font-weight: 500;
	}
	.works-point1 span,
	.works-point2 span,
	.works-point3 span {
		font-size: 50px;
	}
	.works-point1 p,
	.works-point2 p,
	.works-point3 p {
		font-size: 20px;
		color: #000;
		margin-top: 20px;
	}
	.works-point1,
	.works-point2 {
	}
	.works-staff {
		margin-top: 60px;
		padding-top: 60px;
		border-top: 1px solid #0d8a3f;
	}
	.works-staff p {
		width: 90%;
		margin: 20px auto;
		text-align: left;
		font-size: 22px;
		line-height: 1.6;
	}
	.works-staff img {
		margin: 0;
		width: 100%;
	}
	.works-staff .staff-p {
		text-align: right;
	}
	/*========================================= */
	/* 404ページ
=========================================== */
	.notfound {
		margin: 0 auto;
		padding: 100px 0;
	}
	.notfound h2 {
		margin: 0;
		color: #0d8a3f;
		font-size: 50px;
		font-family: "heisei-maru-gothic-std";
		line-height: 0.7;
	}
	.notfound h2 span {
		margin: 0;
		color: #0d8a3f;
		font-size: 22px;
		font-family: "heisei-maru-gothic-std";
	}
	.notfound p {
		width: 90%;
		margin: 40px auto 80px;
		font-size: 22px;
	}

	#main {
		font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
		text-align: center;
		letter-spacing: 0.5px;
		margin: 0 auto;
	}
	.bl-wrap {
		padding-top: 70px;
		display: flex;
		overflow: visible;
	}
	.bl-wrap-works {
		padding: 70px 0 100px;
		overflow: visible;
		width: 100%;
		margin: 0 auto;
	}
	#bl-left {
		display: inline-block;
		width: 80vw;
		text-align: center;
		vertical-align: top;
		margin: 0 auto;
	}
	#bl-left-blog {
		display: inline-block;
		width: 80vw;
		text-align: left;
		vertical-align: top;
		margin: 0 auto;
	}
	#bl-left-works {
		display: inline-block;
		text-align: left;
		vertical-align: top;
	}
	#bl-left-works ul {
		width: 100%;
		margin: 0;
	}
	#bl-left article {
		width: 90%;
		display: inline-block;
		vertical-align: top;
		margin: 0 0 0 1.5vw;
		padding: 1vw 1.5vw 1.5vw;
		background: #fff;
		text-align: left;
	}
	#bl-left-blog article,
	#bl-left-works article {
		display: inline-block;
		vertical-align: top;
		margin: 0 0 3vw 3vw;
		background: #fff;
		text-align: left;
	}
	#bl-left .date,
	#bl-left-blog .date {
		display: inline-block;
		color: #aaa;
		font-weight: bold;
		margin-right: 5px;
		font-size: 16px;
	}
	#bl-left-works .works-l {
		width: 100%;
		margin-top: 20px;
		font-size: 18px;
		float: right;
	}
	#bl-left-works .works-l li:first-child {
		font-size: 18px;
		padding-bottom: 10px;
	}
	.cat {
		display: inline-block;
		color: #000;
		vertical-align: middle;
		font-size: 1.6rem;
		text-decoration: none;
		padding: 0 5px;
		margin-bottom: 5px;
		margin-right: 5px;
	}
	.cat-item:before {
		content: "";
		display: inline-block;
		float: left;
		width: 25px;
		height: 25px;
		margin: 6px 6px 0 0;
	}
	.cat-reform,
	.cat-item-1:before {
		background: darkseagreen;
	}
	.cat-event,
	.cat-item-3:before {
		background: darksalmon;
	}
	.cat-info,
	.cat-item-4:before {
		background: #5e99c9;
	}
	.cat-works,
	.cat-item-101:before {
		background: rgb(253, 222, 128);
	}
	.cat-blog,
	.cat-item-102:before {
		background: rgba(148, 232, 235, 1);
	}

	#bl-left .eyecatch,
	#bl-left-blog .eyecatch {
		background-image: url(../img/news/noimage.png);
		background-repeat: no-repeat;
		background-position: center center;
		display: block;
		float: left;
		overflow: hidden;
		margin: 0.3vw 1vw 0 0;
	}
	#bl-left-works .eyecatch {
		background-image: url(../img/news/noimage.png);
		background-repeat: no-repeat;
		background-position: center center;
		display: block;
		float: left;
		overflow: hidden;
		margin: 8px 19px 0 0;
	}
	#bl-left .eyecatch img,
	#bl-left-blog .eyecatch img,
	#bl-left-works .eyecatch img {
		background-position: center center;
		background-size: cover;
	}
	#bl-left .eyecatch,
	#bl-left-blog .eyecatch img,
	#bl-left-works .eyecatch img {
		width: 14vw;
		height: 10vw;
	}
	#bl-left-works .eyecatch img {
		width: 310px;
		height: 190px;
	}
	#bl-left h4,
	#bl-left-blog h4 {
		font-size: 1.5rem;
		font-weight: 500;
		margin: 5px 0;
	}
	#bl-left-works h4 {
		font-size: 1.5rem;
		font-weight: 500;
		border-bottom: 1px dotted #666;
	}
	#bl-left h4 a,
	#bl-left-blog h4 a {
		color: #000;
		font-size: 18px;
		text-decoration: underline;
		letter-spacing: 0;
	}
	#bl-left-works h4 a {
		color: #0d8a3f;
		font-size: 20px;
		text-decoration: none;
		font-weight: bold;
		line-height: 1.3;
	}
	#bl-left p,
	#bl-left-blog p,
	#bl-left-works p {
		font-size: 18px;
		letter-spacing: 0;
	}
	#bl-left-blog li.txt-c p,
	#bl-left-works li.txt-c p {
		text-align: center;
		font-size: 16px;
	}
	.paging {
		text-align: center;
		margin: 50px;
	}
	.paging a,
	.paging .current {
		color: #fff;
		text-decoration: none;
		background: #666;
		display: inline-block;
		margin: 5px;
		padding: 10px 18px;
	}
	.paging .current {
		color: #fff;
		background: #0d8a3f;
	}

	/* article */
	#bl-left article.bl-article,
	#bl-left-left article.bl-article {
		width: 90%;
		line-height: 180%;
	}
	#bl-left .exp a,
	#bl-left-blog .exp a,
	#bl-left-works .exp a {
		color: #339966;
		text-decoration: underline;
	}
	#bl-left .bl-article img,
	#bl-left-blog .bl-article img,
	#bl-left-works .bl-article img {
		max-width: 100%;
		height: auto;
		margin: 0 5px 5px 0;
	}
	#bl-left .bl-article .bl-txt,
	#bl-left-blog .bl-article .bl-txt,
	#bl-left-works .bl-article .bl-txt {
		display: inline-block;
		vertical-align: top;
	}
	#bl-left .bl-article h4,
	#bl-left-blog .bl-article h4,
	#bl-left-works .bl-article h4 {
		font-size: 1.9rem;
		margin: 20px 0;
	}
	#bl-left .bl-article .exp,
	#bl-left-blog .bl-article .exp,
	#bl-left-works .bl-article .exp {
		font-size: 1.6rem;
	}
	#bl-left .bl-article .exp p,
	#bl-left-blog .bl-article .exp p,
	#bl-left-works .bl-article .exp p {
		margin: 15px 0;
	}

	/* right */

	#bl-right {
		width: 20vw;
		background: url(../img/common/cover.png);
		display: inline-block;
		text-align: left;
		vertical-align: top;
		padding: 0px 20px 20px 0;
	}

	#bl-right h2 img {
		margin: 50px 0 10px;
		width: 15vw;
		max-width: 205px;
	}
	#bl-right .side_box:nth-child(1) h2 img {
		margin-top: 0;
	}

	#bl-right .side_box:nth-child(1) li {
		border-bottom: 1px dotted #aaa;
	}
	#bl-right .side_box:nth-child(1) li a {
		color: #000;
		font-size: 16px;
		display: block;
		padding: 7px 0;
		overflow: hidden;
	}

	#bl-right .side_box:nth-child(2) li,
	#bl-right .side_box:nth-child(3) li {
		border-bottom: 1px dotted #aaa;
	}
	#bl-right .side_box:nth-child(2) li a,
	#bl-right .side_box:nth-child(3) li a {
		color: #000;
		font-size: 16px;
		text-decoration: none;
		line-height: 164%;
		letter-spacing: 0;
		/*  height: 50px;*/
		margin: 5px;
		display: block;
		overflow: hidden;
	}
	#bl-right .side_box:nth-child(2) li a img,
	#bl-right .side_box:nth-child(3) li a img {
		width: 50px;
		margin-right: 10px;
		float: left;
		display: inline-block;
	}
	#bl-right .side_box:nth-child(3) {
		display: none;
	}

	#main .works-tag ul {
		margin-bottom: 40px;
	}
	#main .works-tag ul li {
		margin: 10px;
		list-style: none;
	}
	#main .works-tag ul > li {
		display: inline-block;
		padding-right: 10px;
		padding-left: 10px;
	}

	/* ------------------------- windows size pattern ------------------------- */
	@media screen and (max-width: 999px) {
		#main {
			letter-spacing: 0.5px;
		}
		.bl-wrap,
		.bl-wrap-works {
			display: block;
		}

		#bl-left,
		#bl-left-blog,
		#bl-left-works {
			width: 100vw;
		}

		#bl-left article {
			padding: 4vw 4vw;
			width: 90%;
		}

		#bl-left-blog article,
		#bl-left-works article {
			padding: 4vw 2vw;
			width: 45vw;
		}
		/*#bl-left .exp{
    display: none;
  }
  #bl-left .bl-article .exp{
    display: block;
  }*/

		#bl-left article p,
		#bl-left-blog article p,
		#bl-left-works article p {
			display: none;
		}
		#bl-left .bl-article p,
		#bl-left-blog .bl-article p,
		#bl-left-works .bl-article p {
			display: block;
		}

		#bl-left .eyecatch,
		#bl-left .eyecatch img,
		#bl-left-blog .eyecatch,
		#bl-left-blog .eyecatch img,
		#bl-left-works .eyecatch,
		#bl-left-works .eyecatch img {
			width: 40vw;
			height: 30vw;
		}

		#bl-left article.bl-article,
		#bl-left-blog article.bl-article,
		#bl-left-works article.bl-article {
			width: 100%;
			margin: 0 auto;
		}
		#bl-left .bl-article .bl-img,
		#bl-left-blog .bl-article .bl-img,
		#bl-left-works .bl-article .bl-img {
			display: block;
			width: 100%;
			margin: 10px 0;
		}
		#bl-left .bl-article .bl-img img,
		#bl-left-blog .bl-article .bl-img img,
		#bl-left-works .bl-article .bl-img img {
			max-width: 40vw;
			height: auto;
		}
		#bl-left .bl-article .bl-txt,
		#bl-left-blog .bl-article .bl-txt,
		#bl-left-works .bl-article .bl-txt {
			display: block;
		}
		#bl-left .exp,
		#bl-left-blog .exp,
		#bl-left-works .exp {
			font-size: 1.5rem;
		}

		.side_box ul {
			display: block;
			overflow: hidden;
		}
		#bl-right {
			width: 100%;
			padding: 0 0 90px 3vw;
			margin-top: 0;
		}
		#bl-right .side_box {
			width: 100%;
		}
		#bl-right h2 {
			text-align: center;
		}
		#bl-right h2 img {
			width: 205px;
		}
		#bl-right .side_box li {
			float: left;
			width: 47%;
			margin-right: 2%;
		}
		#bl-right .side_box:nth-child(1) li a,
		#bl-right .side_box:nth-child(2) li a {
			font-size: 20px;
		}
	}


	/*========================================= */
/* トピックス
=========================================== */
.topics {
	background: url(../img/top/bg-topics.png) center/cover no-repeat;
	width: 100%;
	max-width: 1500px;
	margin: 45px auto;
	padding: 30px 0;
}

.topics__inner {
	display: flex;
	align-items: stretch;
	flex-flow: row wrap;
	width: 90%;
	max-width: none;
	margin: auto;
	gap: 0;
}

.topics__item {
	background: #fff;
	flex: 0 0 100%;
	margin-top: 0;
	padding: 18px;
	text-align: justify;
	font-size: 16px;
}

.topics__item + .topics__item {
	margin-top: 20px;
}

.topics__link {
	color: #000000;
}

.topics__item--ttl {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	background: #91bca0;
	color: #fff;
	font-size: 28px;
	flex: 0 0 100%;
}

.topics__item-day {
	margin-top: 15px;
}

.topics__img {
	width: 100%;
	max-width: 100%;
	height: 300px;
	overflow: hidden;
}

.topics__item-img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.topics__item-text {
	margin-top: 10px;
	font-size: 16px;
	line-height: 1.5;
}

}
