* {
		box-sizing: border-box;
}
.flex-1col {
		display: flex;
		justify-content: space-between;
		align-items: start;
		flex-wrap: wrap;
}
.flex-2col {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
		gap: 0%;
		position: relative;
}
.flex-2col > li {
		width: 48.5%;
		margin: 0% 0% 0 0%;
}
.flex-2col > li:nth-of-type(odd) {
		width: 48.5%;
		margin: 0% 0% 0 0%;
}
.flex-2col > li:nth-of-type(even) {
		width: 48.5%;
		margin: 0% 0 0 0%;
}
.flex-2col-start {
		display: flex;
		justify-content: start;
		align-items: start;
		flex-wrap: wrap;
		gap: 3%;
		width: 100%
}
.flex-2col-start > li {
		width: 48.5%;
		margin: 0% 0 0 0%;
}
.flex-2col-start > li:nth-of-type(odd) {
		width: 48.5%;
		margin: 0% 0% 0 0%;
}
.flex-2col-start > li:nth-of-type(even) {
		width: 48.5%;
		margin: 0% 0% 0 0%;
}
.flex-list2 {
		width: 17.5% !important;
		margin: 0 0 0 0% !important;
}
.flex-list3 {
		width: 27.5% !important;
		margin: 0 0 0 0% !important;
}
.flex-list4 {
		width: 37.5% !important;
		margin: 0 0 0 0% !important;
}
.flex-list5 {
		width: 47.5% !important;
		margin: 0% 1% 0 0% !important;
}
.flex-list6 {
		width: 57.5% !important;
		margin: 0 0 0 0% !important;
}
.flex-list7 {
		width: 67.5% !important;
		margin: 0 0 0 0% !important;
}
.flex-list8 {
		width: 77.5% !important;
		margin: 0 0 0 0% !important;
}
.flex-list9 {
		width: 87.5% !important;
		margin: 0 0 0 0% !important;
}
.flex-3col {
		display: flex;
		justify-content: space-between;
		align-items: start;
		flex-wrap: wrap;
		gap: 2%;
}
.flex-3col > li {
		width: calc(100% / 3 - 20px);
		margin: 0% 0 0 0%;
}
.flex-4col {
		display: flex;
		justify-content: start;
		align-items: start;
		flex-wrap: wrap;
		gap: 10px;
}
.flex-4col > li {
		width: 22%;
		margin: 2% 0 0 0%;
}
.flex-reverse {
		flex-direction: row-reverse;
}
@media only screen and (max-width: 768px) {
		.flex-2col-start {
				width: 98%;
		}
		.flex-2col > li, .flex-2col-start > li {
				width: 100% !important;
				margin: 2% auto 2% !important;
		}
		.flex-3col > li {
				width: 100%;
				margin: 2% auto 2% !important;
		}
		.flex-list2, .flex-list3, .flex-list4, .flex-list5, .flex-list6, .flex-list7, .flex-list8, .flex-list9 {
				width: 100% !important;
				margin: 2% auto 2% !important;
		}
		.flex-4col > li {
				width: 100%;
				margin: 2% 0 0 0%;
		}
}
.flex-2col-brn {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-flex: 0;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
		margin-bottom: 250px;
		position: relative;
}
.flex-2col-brn .img-wp {
		width: 66.666%;
		margin-right: auto;
}
.flex-2col-brn .txt {
		width: 66.666%;
		height: auto;
		position: absolute;
		top: 40%;
		left: 508px;
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		padding: 20px 20px;
}
.flex-2col-brn .txt .cnt-div {
		background: rgba(243, 243, 243, 0.9);
		height: auto;
		padding: 30px;
}
.flex-2col-brn .txt p {
		margin-bottom: 0;
}
@media only screen and (max-width: 1300px) {
		.flex-2col-brn {
				margin-bottom: 150px;
		}
		.flex-2col-brn .txt {
				width: 66.666%;
				height: auto;
				position: absolute;
				top: 40%;
				left: 308px;
				margin-bottom: 90px;
		}
}
@media only screen and (max-width: 1200px) {
		.flex-2col-brn {
				margin-bottom: 450px;
		}
}
@media only screen and (max-width: 768px) {
		.flex-2col-brn {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-ms-flex-wrap: wrap;
				flex-wrap: wrap;
				-webkit-box-flex: 0;
				-ms-flex: 0 0 100%;
				flex: 0 0 100%;
				max-width: 100%;
				margin-bottom: 0px;
		}
		.flex-2col-brn .txt {
				margin-bottom: 20px;
		}
		.flex-2col-brn .txt .cnt-div {
				padding: 0px;
		}
		.flex-2col-brn .img-wp {
				width: 100%;
				margin-right: auto;
		}
		.flex-2col-brn .txt {
				width: 100%;
				height: auto;
				position: static;
				top: 0%;
				right: 0%;
				display: flex;
				justify-content: center;
				align-items: center;
				background: rgba(243, 243, 243, 0.9);
				padding: 1.5em;
		}
		.flex-2col-brn .txt p {
				padding: 0px 0px 0px;
				margin-bottom: 0;
		}
}
.h2-ttl {
		font-weight: 600;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 36px;
		letter-spacing: 2px;
		margin-bottom: 2.0em;
		display: flex;
		flex-wrap: wrap;
		border-bottom: 2px solid var(--basic-color);
		justify-content: flex-start;
}
h2.h2-ttl .m-ttl {
		text-align: left;
		padding-left: 10px;
		display: block;
		font-weight: 500;
		font-size: 2.34rem !important;
		position: relative;
		padding-right: 0rem;
		margin-bottom: 5px;
}
.h2-ttl .m-ttl:before {
		position: absolute;
		z-index: -1;
		content: "";
		display: block;
		width: 2.7rem;
		height: 2.7rem;
		/*
    background: var(--basic-color);
	*/
		background: #f2f2f2;
		bottom: -1.2rem;
		left: -2.3vw;
		border-radius: 50%;
		background-image: radial-gradient(var(--basic-color) 30%, transparent 30%);
		background-size: 15px 15px;
		background-position: 0 0, 5px 5px;
		/*
	width: 2.7rem;
    height: 2.0rem;
	color:#333;
	font-weight:400 !important;
    font-family:"Font Awesome 5 Free","Font Awesome 5 Brands";
  content: "\f51a";
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
	*/
}
.h2-ttl .sub-ttl {
		position: relative;
		font-weight: 400;
		top: 1.6rem;
		left: 1em;
		padding-left: 2rem;
		font-size: 1.0rem;
		text-align: start;
		display: block;
		font-family: 'Roboto', sans-serif;
		/*  
		font-family: 'Archivo Narrow', sans-serif;
		*/
		letter-spacing: 0em;
}
.section-heading h2.h2-ttl::after {
		content: '';
		width: 0px;
		height: 0px;
		background-color: #1d64bb;
		position: absolute;
		left: -webkit-calc(28% - 40px);
		left: calc(28% - 40px);
		bottom: 0px;
}
@media only screen and (max-width: 768px) {
		.h2-ttl {
				margin-bottom: 1.2em;
		}
		h2.h2-ttl .m-ttl {
				padding-left: 10px;
				font-size: 1.5rem !important;
				padding-right: 0rem;
				width: 100%;
				margin-bottom: 5px;
		}
		.h2-ttl .sub-ttl {
				top: 0.7rem;
				left: 1em;
				padding-left: 0rem;
				font-size: 0.8rem;
		}
		.h2-ttl .m-ttl:before {
				position: absolute;
				z-index: -1;
				content: "";
				display: block;
				width: 1.7rem;
				height: 1.7rem;
				bottom: -1rem;
				left: -0.7rem;
		}
}
.pc-disp {
		display: block;
}
.sp-disp {
		display: none;
}
@media only screen and (max-width: 768px) {
		.pc-disp {
				display: none !important;
		}
		.sp-disp {
				display: block !important;
		}
}
.p-ttl {
		font-size: 2em;
		text-align: center;
		font-weight: 600;
		color: #333;
		text-shadow: 1px 1px 2px #f2f0f1, -1px 1px 2px #f2f0f1, 1px -1px 2px #f2f0f1, -1px -1px 2px #f2f0f1;
}
.p-ttl-02 {
		font-size: 1.6em;
		line-height: 1.6;
		font-weight: 600;
		color: var(--basic-color);
		letter-spacing: 0.1em;
}
.p-ttl-03 {
		font-size: 2em;
		text-align: left;
		font-weight: 600;
		color: #333;
		padding-bottom: 0.5em;
		text-shadow: 1px 1px 2px #f2f0f1, -1px 1px 2px #f2f0f1, 1px -1px 2px #f2f0f1, -1px -1px 2px #f2f0f1;
		text-decoration: underline var(--basic-color);
		text-underline-offset: 10px;
}
.p-ttl-04 {
		font-size: 1.2em;
		font-weight: 600;
		color: #333;
		text-shadow: 1px 1px 2px #f2f0f1, -1px 1px 2px #f2f0f1, 1px -1px 2px #f2f0f1, -1px -1px 2px #f2f0f1;
}
.p-ttl-05 {
		font-size: 1.2em;
		line-height: 1.2;
		font-weight: 600;
		color: var(--black-color);
		letter-spacing: 0.1em;
		margin-bottom: 0px;
}
.p-ttl-07 {
		font-size: 1.1em;
		line-height: 1.1;
		font-weight: 600;
		text-align: center;
		padding: 0.5em;
		background: var(--basic-color);
		color: var(--white-color);
		letter-spacing: 0.1em;
		margin-bottom: 0px;
}
.p-ttl-08 {
		font-size: 1.2em;
		line-height: 1.1;
		font-weight: 600;
		text-align: center;
		padding: 0.6em;
		background: var(--basic-color);
		color: var(--white-color);
		letter-spacing: 0.1em;
		margin-bottom: 0px;
}
@media only screen and (max-width: 768px) {
		.p-ttl, .p-ttl-03 {
				font-size: 1.2em;
				line-height: 1.8;
				font-weight: 600;
				letter-spacing: 0.1em;
				margin-bottom: 20px;
		}
		.p-ttl-02 {
				font-size: 1.2em;
				line-height: 1.8;
				text-align: center;
		}
		.p-ttl-04 {
				font-size: 1.0em;
				line-height: 1.6;
		}
		.p-ttl-05 {
				font-size: 1.0em;
				line-height: 1.2;
		}
		.p-ttl-08 {
				font-size: 1.1em;
				font-weight: 600;
				padding: 0.6em;
				letter-spacing: 0.1em;
		}
}
#about-us .about-content .btn-business, #about-us .about-content .btn-company, #about-us .about-content .btn-product {
		margin: 30px auto 0;
		text-align: center;
		max-width: 82%;
}
.btn-company a {
		background-color: rgba(168, 174, 72, 0.9);
		padding: 0.8em 0.6em 0.5em;
		font-size: 1.0em;
		color: #fff;
		max-width: 220px;
		width: 100%;
		border-radius: 2px;
		display: block;
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		z-index: 100;
		position: relative;
}
.btn-business a {
		background-color: rgba(55, 149, 209, 0.9);
		padding: 0.8em 0.6em 0.5em;
		font-size: 1.0em;
		color: #fff;
		max-width: 220px;
		width: 100%;
		border-radius: 2px;
		display: block;
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		z-index: 100;
		position: relative;
}
.btn-product a {
		background-color: rgba(12, 201, 133, 0.9);
		padding: 0.8em 0.6em 0.5em;
		font-size: 1.0em;
		color: #fff;
		max-width: 220px;
		width: 100%;
		border-radius: 2px;
		display: block;
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		z-index: 100;
		position: relative;
}
.btn-company a:hover, .btn-business a:hover, .btn-product a:hover {
		opacity: 0.5;
}
.tbl-2 tr:last-child > td, .tbl-5 tr:last-child > td, .tbl-6 tr:last-child > td {
		border-bottom: 1px solid #c9d4dc;
}
.th-01, .th-02, .th-03, .th-04, .tbl-6 th {
		background-color: #f0f0f0;
}
.tbl-6 th {
		vertical-align: middle !important;
		border-bottom: 1px #c9d4dc solid;
		border-right: 1px #c9d4dc solid;
		border-left: 1px #c9d4dc solid;
		text-align: center;
		width: 30%;
}
.tbl-1 th {
		vertical-align: middle !important;
		border-bottom: 1px #c9d4dc solid;
		border-right: 1px #c9d4dc solid;
		text-align: center;
		background-color: #f0f0f0;
}
.tbl-5 {
		border: 1px solid #eee;
}
.tbl-6 {
		border: 0px solid #eee !important;
}
.tbl-2 tr:nth-of-type(1) td {
		border-top: 0px solid #fff;
}
.tbl-2 th {
		vertical-align: middle !important;
		border-bottom: 1px #c9d4dc solid;
		border-right: 1px #c9d4dc solid;
		border-left: 1px #c9d4dc solid;
		width: 70%;
		text-align: center;
		background-color: #f0f0f0;
}
.tbl-2 td {
		text-align: left;
}
.tbl-5 th {
		vertical-align: middle !important;
		border-bottom: 1px #c9d4dc solid;
		border-right: 1px #c9d4dc solid;
		border-left: 1px #c9d4dc solid;
		text-align: center;
		background-color: #f0f0f0;
		width: 30%;
}
.tbl-5 td, .tbl-1 td {
		border-bottom: 1px #c9d4dc solid !important;
		border-right: 1px #c9d4dc solid;
}
.tbl-5 td.td-02 {
		border-bottom: 1px #c9d4dc solid;
}
.tbl-6 th, .tbl-6 td {
		padding: 7px !important;
		border: none !important;
}
.tbl-6 th {
		border-right: none !important;
		border-left: none !important;
}
.tbl-6 tr:nth-of-type(1) th, .tbl-6 tr:nth-of-type(1) td {
		border-top: none !important;
}
.tbl-6 th {
		border-bottom: 1px solid var(--basic-color) !important;
		background: #fff;
}
.tbl-6 td {
		border-bottom: 1px dotted #999 !important;
}
.h3-ttl {
		margin-top: 50px;
		margin-bottom: 30px;
		padding-left: 30px;
		position: relative;
}
.h3-ttl:before {
		position: absolute;
		content: "";
		left: 0;
		top: 1.3rem;
		width: 2rem;
		height: 3px;
		background: var(--basic-color);
		;
}
.h4-ttl {
		margin-top: 20px;
		margin-bottom: 20px;
		text-align: center;
		font-size: 1.2em;
		font-weight: 600;
}
.wrap-h2 {
		width: 96%;
		margin: 3% auto 6%;
}
.wrap-h3 {
		width: 98%;
		margin: 3% auto 6%;
}
.wrap-h4 {
		width: 98%;
		margin: 0% auto 2%;
}
@media only screen and (max-width: 768px) {
		.tbl-2 tr:nth-of-type(1) td {
				border-top: 0px solid #c9d4dc;
		}
		.tbl-2 tr:first-child th, .tbl-5 tr:first-child th, .tbl-6 tr:first-child th {
				border-top: 1px solid #c9d4dc;
		}
		.tbl-5 th, .tbl-1 th {
				border-right: 0px #c9d4dc solid;
		}
		.tbl-5 td, .tbl-1 td {
				border-right: 0px #c9d4dc solid;
				border-bottom: 0px #c9d4dc solid !important;
		}
		.tbl-2 tr:last-child td, .tbl-5 tr:last-child td, .tbl-6 tr:last-child td {
				border-bottom: 1px #c9d4dc solid !important;
		}
		.tbl-6 th, .tbl-2 th, .tbl-5 th {
				border-right: 1px #eee solid;
				border-left: 1px #eee solid;
		}
		.tbl-5 td.td-02 {
				border-bottom: 1px #c9d4dc solid;
		}
		.tbl-6 th, .tbl-6 td {
				width: 100%;
				display: block;
		}
		.wrap-h2 {
				width: 100%;
				margin: 3% auto;
		}
		.wrap-h3 {
				width: 100%;
				margin: 3% auto;
		}
		.wrap-h4 {
				width: 100%;
				margin: 3% auto;
		}
		.h3-ttl {
				font-size: 20px;
				padding-left: 25px !important;
		}
		.btn-company a {
				font-size: 1.0em;
		}
		.btn-business a {
				font-size: 1.0em;
		}
		.btn-product a {
				font-size: 1.0em;
		}
}
/*
.box-wrap {
    background: #fcfaf5;
    box-sizing: border-box;
}
.box-ttl {
	text-align:center !important;
	background:#1d64bb;
	padding:0.6em;
	color:#fff;
	margin-bottom:0px !important;
	display:flex;
	align-items:center;
	justify-content:center;
}
.box-wrap div.box-cnt {
	width:100%;
	margin:0px auto 0em;
	padding:1.2em 1.8em 1.8em 1.8em;
	box-sizing:border-box;
}
*/
.box-cnt {
		width: 100%;
		margin: 0px auto 0em;
		padding: 1.6em 1.6em 1.6em 1.6em;
		box-sizing: border-box;
		background: #f6f6f6;
}
@media only screen and (max-width: 768px) {
		.table-scroll {
				overflow-x: auto;
				width: 100%;
				border-right: 5px solid #ccc;
		}
		.table-scroll::-webkit-scrollbar {
				height: 5px;
		}
		.table-scroll::-webkit-scrollbar-track {
				border-radius: 5px;
				background: #CCC;
		}
		.table-scroll::-webkit-scrollbar-thumb {
				border-radius: 5px;
				background: #999;
		}
		.table-scroll table {
				table-layout: fixed;
				min-width: 100%;
				white-space: nowrap;
				width: 100%;
				overflow: hidden;
				margin-bottom: 0px;
		}
		.table-scroll table th {
				width: 200px !important;
				min-width: 250px;
				display: table-cell !important;
				padding: 2%;
				font-size: 12px;
				border: 1px #ccc solid;
		}
		.table-scroll table td {
				width: 90px;
				min-width: 130px;
				vertical-align: middle !important;
				display: table-cell !important;
				font-size: 12px;
				word-wrap: break-word;
				white-space: normal;
		}
		.table-scroll table th.th-01 {
				width: 300px !important;
				min-width: 350px;
				display: table-cell !important;
				padding: 2%;
				font-size: 12px;
				border: 1px #ccc solid;
		}
		.table-scroll table td.td-01 {
				width: 90px;
				min-width: 130px;
				display: table-cell;
				font-size: 12px;
				word-wrap: break-word;
				white-space: normal;
		}
}
ul, ul li {
		list-style: none;
}
ul {
		padding: 0;
}
li {
		list-style-type: none;
}
dd {
		margin-left: 0;
}
ul {
		padding: 0;
}
li {
		list-style-type: none;
}
dd {
		margin-left: 0;
}
.flow {
		padding-left: 120px;
		position: relative;
}
.flow::before {
		content: "";
		width: 15px;
		height: 100%;
		background: #eee;
		margin-left: -8px;
		display: block;
		position: absolute;
		top: 0;
		left: 120px;
}
.flow > li {
		position: relative;
}
.step.fs {
		margin-top: 60px !important;
}
.step {
		margin-top: 130px !important;
}
.flow > li:not(:last-child) {
		margin-bottom: 6vh;
}
.flow > li:last-child {
		margin-bottom: 8vh;
}
.flow > li .icon {
		font-size: 14px;
		font-weight: 900;
		color: #fff;
		background: rgb(7, 144, 68);
		background: -moz-linear-gradient(right, var(--b-l-color) 0%, var(--basic-color) 100%);
		background: -webkit-linear-gradient(right, var(--b-l-color) 0%, var(--basic-color)100%);
		background: linear-gradient(to left, var(--b-l-color) 0%, var(--basic-color)100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#8dcff1', endColorstr='#28a0df', GradientType=1);
		padding: 8px 20px;
		display: block;
		position: absolute;
		top: 0;
		left: -120px;
		z-index: 100;
}
.flow > li .icon::after {
		content: "";
		border-style: solid;
		border-width: 5px 0 5px 10px;
		border-color: transparent transparent transparent var(--basic-color);
		position: absolute;
		top: 50%;
		left: 100%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
}
.flow > li dl {
		padding-left: 70px;
		position: relative;
}
.flow > li dl::before, .flow > li dl::after {
		content: "";
		display: block;
		position: absolute;
		top: 15px;
}
.flow > li dl::before {
		width: 7px;
		height: 7px;
		margin-top: -3px;
		background: var(--basic-color);
		border-radius: 50%;
		left: -4px;
}
.flow > li dl::after {
		width: 50px;
		border-bottom: 1px dashed #999;
		position: absolute;
		left: 5px;
}
.flow > li dl dt {
		font-size: 20px;
		font-weight: 600;
		color: var(--basic-color);
		margin-bottom: 1vh;
}
.h3-ttl {
		position: relative;
		padding-left: 30px;
		margin-bottom: 30px;
}
.h3-ttl:before {
		position: absolute;
		content: "";
		top: 0.8rem;
		left: -10px;
		width: 1.8rem;
		height: 3px;
		background: var(--basic-color);
}
.img-res, .img-res img {
		width: 100%;
		height: auto;
}
@media only screen and (max-width: 768px) {
		.step {
				margin-top: 40px !important;
		}
		.step.fs {
				margin-top: 40px !important;
		}
		.p-ttl02 {
				margin-top: 1em !important;
				margin-bottom: 0.6em;
		}
		.flow {
				padding-left: 0px;
				position: relative;
		}
		.flow::before {
				content: "";
				width: 0px;
				height: 0%;
				background: #eee;
				margin-left: -8px;
				display: block;
				position: relative;
				top: 0;
				left: 100px;
		}
		.flow > li .icon {
				font-size: 14px;
				font-weight: 800;
				color: #fff;
				padding: 8px 10px;
				display: block;
				position: relative;
				top: 0;
				left: 0px;
				z-index: 100;
				width: 100%;
		}
		.flow > li .icon::after {
				content: "";
				border-style: solid;
				border-width: 10px 10px 0px 10px;
				border-color: var(--basic-color) transparent transparent transparent;
				position: absolute;
				top: auto;
				bottom: -10%;
				left: 46%;
				-webkit-transform: translateY(50%);
				transform: translateY(50%);
		}
		.flow > li:first-child {
				margin-top: 0vh !important;
		}
		.flow > li:not(:last-child) {
				margin-bottom: 3vh;
		}
		.flow > li dl {
				padding-left: 10px;
				position: relative;
		}
		.flow > li dl::before {
				width: 0px;
				height: 0px;
				margin-top: 0px;
				background: #6b90db;
				border-radius: 50%;
				left: 0px;
		}
		.flow > li dl dt {
				margin-top: 20px;
				font-size: 16px;
				font-weight: 600;
				margin-bottom: 1.6vh;
		}
		.flow > li dl::after {
				width: 0px;
				border-bottom: 1px dashed #999;
				position: relative;
				left: 0px;
		}
		.res-img-f {
				width: 60%;
				height: auto;
		}
		.h3-ttl:before {
				position: absolute;
				content: "";
				top: 0.5rem;
				left: -10px;
				width: 1.8rem;
				height: 3px;
		}
}
ol.num_order {
		padding-left: 20px;
}
ol.num_order li {
		padding: 5px 0 4px 0;
		list-style-type: decimal;
}
/* txt */
.txt2 {
		font-size: 1.2rem;
		font-weight: 800;
}
.txtbold {
		font-weight: bold;
}
.tx-center {
		text-align: center !important;
}
.tx-left {
		text-align: left;
}
.tx-right {
		text-align: right;
}
.tx_marker {
		background: linear-gradient(transparent 75%, #fff799 75%);
		font-weight: bold;
		display: inline;
}
/* color */
.red {
		color: #bc2d2d;
}
.green {
		color: #3b7a28;
}
.brown {
		color: #a67435;
}
.blue {
		color: #325f99;
}
.catchcopy {
		font-size: 2rem;
		font-family: 'Noto Sans Japanese';
		font-weight: 400;
		line-height: 1.3em;
		color: #E0625E;
}
.catchcopy2 {
		font-size: 2.2rem;
		font-family: 'Noto Sans Japanese';
		font-weight: 600;
		line-height: 1.3em;
		color: #E0625E;
}
.col_red {
		color: #F33;
}
.col_green {
		color: #1a9651 !important;
}
.col_blue {
		color: #06C;
}
.col_orange {
		color: #F06000;
}
.tx-70p {
		font-size: 70% !important;
		letter-spacing: normal;
}
.tx-80p {
		font-size: 80% !important;
		letter-spacing: normal;
}
.tx-90p {
		font-size: 90% !important;
		letter-spacing: normal;
}
.tx100p {
		font-size: 100% !important;
		letter-spacing: normal;
}
.tx-110p {
		font-size: 110% !important;
		letter-spacing: normal;
}
.tx-120p {
		font-size: 120% !important;
		letter-spacing: normal;
}
.tx-130p {
		font-size: 130% !important;
		letter-spacing: normal;
}
.tx-140p {
		font-size: 140% !important;
		letter-spacing: normal;
		line-height: 1.4em;
}
.tx-150p {
		font-size: 150% !important;
		letter-spacing: normal;
}
.tx-160p {
		font-size: 160% !important;
		letter-spacing: normal;
}
.tx-170p {
		font-size: 170% !important;
		letter-spacing: normal;
}
.tx-180p {
		font-size: 180% !important;
		letter-spacing: normal;
}
.tx-230p {
		font-size: 230% !important;
		letter-spacing: normal;
}
.tx-300p {
		font-size: 300% !important;
		letter-spacing: normal;
}
.mar0 {
		margin: 0 auto;
}
.txsize1 {
		font-size: 1.2rem;
		font-weight: 800;
		color: #F33;
		text-align: center;
}
.txtstyle1 {
		font-size: 1.16em;
		font-weight: bold;
}
.txtstyle2 {
		font-size: 1.24em;
		font-weight: bold;
}
.ex {
		padding-left: 1em;
		text-indent: -1em;
}
.line-f02 {
		line-height: 2;
}
@media only screen and (max-width: 768px) {
		.tx-230p {
				font-size: 120% !important;
				letter-spacing: normal;
		}
		.tx-180p {
				font-size: 110% !important;
				letter-spacing: normal;
		}
}
@media only screen and (max-width: 600px) {
		.line-h2 {
				line-height: 1.5;
		}
		.tx-230p {
				font-size: 130% !important;
				letter-spacing: normal;
		}
		.tx-180p, .tx-170p {
				font-size: 120% !important;
				letter-spacing: normal;
		}
		.tx-160p, .tx-150p {
				font-size: 110% !important;
				letter-spacing: normal;
		}
		.tx-140p, .tx-130p, .tx-120p, .tx-110p {
				font-size: 100% !important;
				letter-spacing: normal;
		}
}
.wd40 {
		width: 40% !important;
		margin: auto;
}
.wd50 {
		width: 50% !important;
		margin: 0 auto;
}
.wd60 {
		width: 60% !important;
		margin: 0 auto;
}
.wd70 {
		width: 70% !important;
		margin: 0 auto;
}
.wd80 {
		width: 80% !important;
		margin: 0 auto;
}
.wd85 {
		width: 85% !important;
		margin: 0 auto;
}
.wd90 {
		width: 90% !important;
		margin: 0 auto;
}
.wd95 {
		width: 95% !important;
		margin: 0 auto;
}
@media only screen and (max-width: 768px) {
		.wd40, .wd50, .wd60, .wd70, .wd80, .wd85, .wd90, .wd95 {
				width: 100% !important;
				margin: auto;
		}
}
ul.circle {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
}
ul.circle > li {
		padding: 0 0 0.5em 1.2em;
		margin-bottom: 0.7em;
		border-bottom: 1px dashed #CCC;
		width: 100%;
		margin-right: 0%;
		position: relative;
		line-height: 1.6;
}
ul.circle > li:last-child {
		margin-bottom: 0px;
}
ul.circle > li:before {
		position: absolute;
		content: "";
		width: 6px;
		height: 6px;
		background-color: var(--basic-color);
		border-radius: 50%;
		left: 0.5em;
		margin-top: 0.6em;
}
ul.circle-2col {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
}
ul.circle-2col > li {
		padding: 0 0 0.2em 1.2em;
		margin-bottom: 0.9em;
		border-bottom: 1px dashed #CCC;
		width: 49%;
		margin-right: 1%;
		position: relative;
		font-size: 0.94em;
}
ul.circle-2col > li:last-child {
		margin-bottom: 0px;
}
ul.circle-2col > li:before {
		position: absolute;
		content: "";
		width: 6px;
		height: 6px;
		background-color: var(--basic-color);
		border-radius: 50%;
		left: 0.5em;
		margin-top: 0.5em;
}
ul.circle-2col > li.long {
		width: 90%;
}
ul.circle-3col {
		display: flex;
		justify-content: start;
		align-items: center;
		flex-wrap: wrap;
}
ul.circle-3col > li {
		padding: 0 0 0.5em 1.2em;
		margin-bottom: 0.7em;
		border-bottom: 1px dashed #CCC;
		width: 28%;
		margin-right: 2%;
		position: relative;
}
ul.circle-3col > li.long {
		width: 70%;
}
ul.circle-3col > li:before {
		position: absolute;
		content: "";
		width: 6px;
		height: 6px;
		background-color: var(--basic-color);
		border-radius: 50%;
		left: 0.5em;
		margin-top: 0.6em;
}
ul.circle-4col {
		display: flex;
		justify-content: start;
		align-items: center;
		flex-wrap: wrap;
}
ul.circle-4col > li {
		padding: 0 0 0.5em 1.2em;
		margin-bottom: 0.7em;
		border-bottom: 1px dashed #CCC;
		width: 22%;
		margin-right: 2%;
		position: relative;
}
ul.circle-4col > li:before {
		position: absolute;
		content: "";
		width: 6px;
		height: 6px;
		background-color: var(--basic-color);
		border-radius: 50%;
		left: 0.5em;
		margin-top: 0.6em;
}
@media only screen and (max-width: 768px) {
		ul {
				margin-bottom: 0px;
		}
		ul.circle-2col > li, ul.circle-3col > li, ul.circle-3col > li.long, ul.circle-4col > li {
				width: 100%;
				margin-right: 0%;
				margin-bottom: 16px;
				padding: 0 0 0.3em 1.2em;
		}
		ul.circle-2col > li:first-child, ul.circle-3col > li:first-child, ul.circle-3col > li.long:first-child {
				width: 100%;
				margin-right: 0%;
				margin-top: 10px;
		}
		ul.circle-2col > li:last-child, ul.circle-3col > li:last-child, ul.circle-3col > li.long:last-child {
				width: 100%;
				margin-right: 0%;
				margin-bottom: 0px;
				padding: 0 0 0em 1.2em;
		}
}
.box-sd {
		padding: 1.6rem 1.6rem 1.2rem;
		background-color: #fff;
		border: 1px solid #999;
		box-shadow: 2px 1px 2px -4px rgba(0, 0, 0, 0.6);
		box-sizing: border-box;
}
.box-sd02 {
		padding: 2.6em 2.6em 2.6em;
		background-color: #fff;
		border: 1px solid #999;
		box-shadow: 2px 1px 2px -4px rgba(0, 0, 0, 0.6);
		box-sizing: border-box;
}
.box-sd05 {
		padding: 4rem 2.5rem 2.2rem;
		background-color: #f0f1f3;
		color: #333;
		border: 1px solid #999;
		box-sizing: border-box;
}
.box-sd06 {
		padding: 4rem 2.6rem 2.8rem;
		background-color: rgba(240, 241, 243, 0.8);
		color: #333;
		border: 1px solid #dcdada;
		box-shadow: 2px 1px 2px -4px rgba(0, 0, 0, 0.6);
		box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
		.box-sd, .box-sd02, .box-sd05 {
				padding: 2em 2em 2.3em;
				box-sizing: border-box;
		}
}
.res-brn-lft {
		margin-bottom: inherit !important;
		margin-right: inherit !important;
		margin-top: inherit !important;
		margin-left: inherit !important;
		z-index: 6;
		position: relative;
		top: -20px;
		left: 160px;
}
.res-brn-lft02 {
		margin-bottom: inherit !important;
		margin-right: inherit !important;
		margin-top: inherit !important;
		margin-left: inherit !important;
		z-index: 6;
		position: relative;
		top: 70px;
		left: 160px;
}
.res-brn-lft03 {
		margin-bottom: inherit !important;
		margin-right: inherit !important;
		margin-top: inherit !important;
		margin-left: inherit !important;
		z-index: 1;
}
.res-brn-rht {
		margin-bottom: inherit !important;
		margin-right: inherit !important;
		margin-top: inherit !important;
		margin-left: inherit !important;
		z-index: 1;
}
.res-brn-rht02 {
		margin-bottom: inherit !important;
		margin-right: inherit !important;
		margin-top: inherit !important;
		margin-left: inherit !important;
		z-index: 10;
		position: relative;
		top: 60px;
		right: -10px;
}
@media only screen and (max-width: 768px) {
		.res-brn-lft, .res-brn-lft02, .res-brn-rht02 {
				top: 0px;
				left: 0px;
		}
}
input, select {
		vertical-align: middle;
}
.inquiry_tel {
		margin: 30px auto 20px;
		width: 60%;
		text-align: center;
}
.inquiry_tel .tel, .inquiry_tel .fax {
		margin-bottom: 20px;
}
.inquiry_tel .tel .fa-phone, .inquiry_tel .fax .fa-fax {
		font-size: 30px;
}
.inquiry_tel .tel a, .inquiry_tel .fax {
		font-size: 30px;
		text-align: center;
}
@media only screen and (max-width: 768px) {
		.inquiry_tel {
				margin: 20px auto;
				width: 90%;
				text-align: center;
		}
		.inquiry_tel .tel, .inquiry_tel .fax {
				margin-bottom: 10px;
		}
		.inquiry_tel .tel .fa-phone, .inquiry_tel .fax .fa-fax {
				font-size: 20px;
		}
		.inquiry_tel .tel a, .inquiry_tel .fax {
				font-size: 20px;
				text-align: center;
		}
}
.stretched-link {
		position: relative;
		cursor: pointer;
}
.stretched-link::after {
		content: "";
		display: block;
		width: 30px;
		height: 30px;
		position: absolute;
		/*
  top:0;
  right:0;
  bottom:0;
  left:0;
  */
		z-index: 1;
		pointer-events: auto;
		content: "";
		background-color: rgba(0, 0, 0, 0);
		width: 30px;
		height: 30px;
}
.navbar-collapse.in {
		overflow-y: hidden;
}
/*===========================
spacer
===========================*/
.mt10 {
		margin-top: 10px !important;
}
.mt20 {
		margin-top: 20px !important;
}
.mt30 {
		margin-top: 30px !important;
}
.mt40 {
		margin-top: 40px !important;
}
.mt50 {
		margin-top: 50px !important;
}
.mt60 {
		margin-top: 60px !important;
}
.mt70 {
		margin-top: 70px !important;
}
.mt80 {
		margin-top: 80px !important;
}
.mt0 {
		margin-top: 0px !important;
}
.mb10 {
		margin-bottom: 10px !important;
}
.mb20 {
		margin-bottom: 20px !important;
}
.mb30 {
		margin-bottom: 30px !important;
}
.mb40 {
		margin-bottom: 40px !important;
}
.mb50 {
		margin-bottom: 50px !important;
}
.mb60 {
		margin-bottom: 60px !important;
}
.mb70 {
		margin-bottom: 70px !important;
}
.mb80 {
		margin-bottom: 80px !important;
}
.mb0 {
		margin-bottom: 0px !important;
}
@media screen and (max-width: 768px) {
		.mt10, .mt20, .mt30 {
				margin-top: 4% !important;
		}
		.mb10, .mb20, .mb30 {
				margin-bottom: 4% !important;
		}
		.mt40, .mt50, .mt60 {
				margin-top: 5% !important;
		}
		.mb40, .mb50, .mb60 {
				margin-bottom: 5% !important;
		}
		.mt70, .mt80 {
				margin-top: 8% !important;
		}
		.mb70, .mb80 {
				margin-bottom: 8% !important;
		}
}
.btn-ex1 {
		background: linear-gradient(0deg, #009977, #009977);
		color: #FFF;
		border: 0;
		border-radius: 3px;
		color: #fff;
		font-size: 1.1em;
		padding-top: 19px;
		padding-bottom: 18px;
		padding: 15px 60px;
}
.btn-ex1:before {
		content: "";
		background: linear-gradient(0deg, #3373B4, #3373B4);
}
ul.check, ul.check2, ul.check-2col {
		position: relative;
}
ul.check {
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
}
ul.check li {
		padding: 0 0 0.5em 2em;
		margin-bottom: 0.7em;
		border-bottom: 1px dashed #CCC;
		width: 96%;
		margin-right: 2%;
		position: relative;
}
ul.check li::before {
		position: absolute;
		content: "\f14a";
		font-family: FontAwesome;
		top: -0.2em;
		left: 0.3em;
		font-size: 1.3em;
		color: var(--basic-color);
}
ul.check2 li {
		padding: 0 0 0.5em 2em;
		margin-bottom: 0.7em;
		border-bottom: 1px dashed #CCC;
		position: relative;
		width: 40%;
		margin-right: 2%;
		display: inline-block;
}
ul.check2 li::before {
		position: absolute;
		content: "\f14a";
		font-family: FontAwesome;
		left: 0.3em;
		font-size: 1.3em;
}
ul.check-2col {
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
}
ul.check-2col li {
		padding: 0 0 0.5em 2em;
		margin-bottom: 0.7em;
		border-bottom: 1px dashed #CCC;
		width: 46%;
		margin-right: 2%;
		position: relative;
}
ul.check-2col li::before {
		position: absolute;
		content: "\f14a";
		font-family: FontAwesome;
		left: 0.3em;
		font-size: 1.3em;
}
@media only screen and (max-width: 768px) {
		ul.check-2col li {
				padding: 0 0 0.5em 2em;
				margin-bottom: 0.7em;
				border-bottom: 1px dashed #CCC;
				width: 90%;
				margin-right: 2%;
				position: relative;
		}
		ul.check2 li {
				padding: 0 0 0.5em 1.6em;
				margin-bottom: 0.7em;
				border-bottom: 1px dashed #CCC;
				position: relative;
				width: 90%;
				margin-right: 2%;
				display: inline-block;
		}
}
.img-frame, .img-frame-lft, .img-frame02, .img-frame03, .img-frame04 {
		position: relative;
}
.img-frame:before {
		content: "";
		position: absolute;
		width: 100%;
		height: 13rem;
		background: #f5f5f5;
		z-index: -1;
		left: 6%;
		top: -8%;
		margin-top: 0rem;
}
.img-frame02:before {
		content: "";
		position: absolute;
		width: 100%;
		height: 13rem;
		background: #fff;
		z-index: -1;
		left: 6%;
		top: -8%;
		margin-top: 0rem;
}
.img-frame-lft:before {
		content: "";
		position: absolute;
		width: 100%;
		height: 30rem;
		background: #f5f5f5;
		z-index: -1;
		right: 10%;
		top: -8%;
		margin-bottom: -16rem;
}
.img-frame03:before {
		content: "";
		position: absolute;
		width: 100%;
		height: 20rem;
		background: #fff;
		z-index: -1;
		right: 10%;
		top: -10%;
		margin-bottom: -16rem;
}
.img-frame04:before {
		content: "";
		position: absolute;
		width: 100%;
		height: 13rem;
		background: #fff;
		z-index: -1;
		right: -10%;
		top: -10%;
		margin-bottom: -16rem;
}
.tx-flex {
		text-align: center !important;
}
@media only screen and (max-width: 768px) {
		.img-frame:before, .img-frame02:before, .img-frame03:before {
				width: 0%;
				height: 0rem;
				left: 0%;
				top: 0%;
				margin-top: 0rem;
		}
		.img-frame-lft:before {
				width: 0%;
				height: 0rem;
				right: 0%;
				bottom: 0%;
				margin-bottom: -0rem;
		}
		.tx-flex {
				text-align: left !important;
		}
		.res-mt {
				margin-top: 8%;
		}
		.btn-res {
				margin-top: 40px !important;
				margin-bottom: 25px;
		}
		.privacy h2 {
				font-size: 1.4rem;
				margin-bottom: 30px;
				line-height: 1.3;
		}
}
.catch01 {
		font-size: 1.4em;
		font-weight: 800;
		line-height: 1.6em;
		color: #06ab0e;
		text-align: left;
		margin-bottom: 3em;
}
.wrap-bg {
		position: relative;
		top: 0rem;
		left: 0px;
		width: 100vw;
		height: auto;
		background: url(../images/backgrounds/background-01.svg) no-repeat;
		background-position: top -100px left !important;
		background-size: contain !important;
}
@media only screen and (max-width: 768px) {
		.catch01 {
				font-size: 1.1em;
				line-height: 1.6em;
				text-align: left;
				margin-bottom: 1em;
		}
		.wrap-bg {
				background-position: top 0px left !important;
				background-size: initial !important;
		}
}
@media (min-width: 768px) {
		.container {
				/*
    max-width: 100%;
	width:750px;
	*/
		}
}
@media (min-width: 768px) {
		.main-navigation .brand-logo {
				max-width: 200px;
		}
}
@media (min-width: 992px) {
		.main-navigation .brand-logo {
				max-width: 300px;
		}
}
.tel a:hover, a:focus {
		color: var(--b-l-color);
		text-decoration: none;
}
.line-f {
		line-height: 1.6;
		letter-spacing: 0.05em;
}
.list-box {
		background-color: #ededed;
		margin-bottom: 10px;
		position: relative;
}
.list-box a {
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		padding-left: 24px;
		height: 80px;
		font-size: 15px;
		font-size: 1.5rem;
		font-weight: bold;
}
.list-box a span {
		font-size: 1.5rem;
		line-height: 24px;
}
.list-box a span.span-img {
		margin: 0 auto;
		position: absolute;
		right: 20px;
		top: 50%;
		transform: translateY(-50%);
}
@media only screen and (max-width: 768px) {
		.list-box a {
				align-items: flex-start;
				padding-top: 16px;
				padding-left: 0px;
				text-align: center;
				height: 95px;
		}
		.list-box a span {
				margin: 0 auto;
				text-align: center;
		}
		.list-box a span.span-img {
				margin: 0 auto;
				position: absolute;
				left: 0;
				right: 0;
				top: auto;
				bottom: 8px;
				transform: translateY(0%);
		}
}
/*
.box-wrap {
    background: #fcfaf5;
    box-sizing: border-box;
}
.box-wrap02 {
    background-color: #fcfaf5;
    border: 2px solid #fff;
    box-shadow: 0 0 0 2px #f3e7da;
} 
.box-ttl {
	text-align:center !important;
	background:#009977;
	padding:0.6em;
	color:#fff;
	margin-bottom:0px !important;
	display:flex;
	align-items:center;
	justify-content:center;
}
.box-wrap div.box-cnt {
	width:100%;
	margin:0px auto 0em;
	padding:1.2em 1.8em 1.8em 1.8em;
	box-sizing:border-box;
}
*/
.box-ttl02 {
		text-align: center !important;
		background: #009977;
		padding: 0.6em;
		font-size: 0.9em;
		color: #fff;
		margin-bottom: 0px !important;
		display: flex;
		align-items: center;
		justify-content: center;
}
.box-wrap02 div.box-cnt {
		width: 100%;
		margin: 0px auto 0em;
		padding: 1.2em 1.8em 1.8em 1.8em;
		box-sizing: border-box;
}
.btn-b a {
		text-decoration: none;
		text-align: center;
		color: #FFF !important;
		position: relative;
		display: inline-block;
		padding: 0.2em 1.3em 0.2em 1em;
		line-height: 30px;
		background: #f2ab1d;
		-webkit-border-radius: 2px;
		-moz-border-radius: 2px;
		border-radius: 2px;
		transition: all .3s;
		-webkit-transition: all .3s;
		width: 240px;
}
/*
.btn-b a::after {
	position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    right: 2%;
    box-sizing: border-box;
    width: 4px;
    height: 4px;
    border: 4px solid transparent;
}
.btn-b a::after {
    border-left: 4px solid #fff;
}
*/
.btn-b a:hover {
		opacity: 0.7;
}
.fa-arrow-alt-circle-right {
		position: relative;
}
.fa-arrow-alt-circle-right:before {
		position: absolute;
		left: 5px;
		top: -12px;
}
@media only screen and (max-width: 768px) {
		.btn-b a {
				width: 96%;
				margin: auto;
		}
}
.br-lnk a {
		height: 468px;
		position: relative;
		display: block;
		width: 100%;
		color: #ffffff;
}
.bglnk02 {
		background-image: url(../images/content/renovation-img.jpg);
		width: 100%;
		height: 74%;
		position: absolute;
		z-index: 0;
		top: 0;
		left: 0;
		background-repeat: no-repeat;
		background-position: 50%;
		background-size: cover;
		transition: 0.3s ease-out;
}
.bglnk01 {
		background-image: url(../images/content/reform-img.jpg);
		width: 100%;
		height: 74%;
		position: absolute;
		z-index: 0;
		top: 0;
		left: 0;
		background-repeat: no-repeat;
		background-position: 50%;
		background-size: cover;
		transition: 0.3s ease-out;
}
.flex-2col-br {
		display: flex;
		position: relative;
		z-index: 1;
		height: 346px;
		flex-wrap: wrap;
}
.flex-2col-br li {
		flex: 1;
		border-left: 1px solid #fff;
}
.flex-2col-br li a div.title {
		padding: 0 65px 38px;
		position: relative;
		z-index: 1;
		width: 100%;
		height: 74%;
		display: flex;
		align-items: flex-end;
}
.flex-2col-br li a:hover, .flex-2col-br li a bglnk01:hover, .flex-2col-br li a bglnk02:hover {
		opacity: 0.5;
}
.flex-2col-br li a .title__en {
		font-size: 7.2rem;
		bottom: 72px;
		left: 110px;
		font-family: "Roboto", sans-serif;
		font-weight: 100;
		color: rgba(255, 255, 255, 0.9);
		line-height: 1;
		position: absolute;
}
.flex-2col-br li a .title__jp {
		font-size: 3.6rem
}
.flex-2col-br li a .title .modIconLink {
		width: 36px;
		height: 36px;
		margin-bottom: 12px;
		margin-left: auto;
		position: relative;
		display: inline-block;
		font-weight: bold;
}
.modIconLink::before {
		width: 100%;
		height: 100%;
		border: 3px solid #fff;
		border-radius: 50%;
		box-sizing: border-box;
		font-weight: bold;
}
.modIconLink::before, .modIconLink::after {
		content: "";
		display: inline-block;
		font-weight: bold;
}
.modIconLink::after {
		border-width: 4px 0 4px 6px;
		transition: border-color 0.3s ease-out;
		font-weight: bold;
}
.modIconLink::after {
		position: absolute;
		z-index: 0;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 0;
		height: 0;
		border-style: solid;
		border-color: transparent transparent transparent #fff;
}
.bg-img-list {
		margin: 0 1.5%;
		position: relative;
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
		height: 500px;
}
.bg-list01 {
		background-image: url(../images/content/reason01.jpg);
}
.bg-list02 {
		background-image: url(../images/content/reason02.jpg);
}
.bg-list03 {
		background-image: url(../images/content/reason03.jpg);
}
.bg-wrap-cnt {
		padding: 10vw 5% 10%;
		position: relative;
}
.Feature-Num {
		font-size: 84px;
		letter-spacing: 0;
		line-height: .7;
		margin-bottom: 6%;
		font-family: "Fira Sans", sans-serif;
		color: var(--basic-color);
		font-weight: 900;
		text-align: center;
}
.bg-p-ttl {
		font-size: 1.4em;
		font-weight: 800;
		color: #fff;
		text-align: center;
}
.bg-p-subttl {
		font-size: 1.0em;
		color: #86eba0;
		font-weight: 800;
		text-align: center;
}
.col_white {
		color: #fff;
}
@media only screen and (max-width: 768px) {
		.flex-2col-br {
				display: initial;
				position: relative;
				z-index: 1;
				height: initial;
				flex-wrap: initial;
		}
		.flex-2col-br li {
				width: 100%;
				flex: initial;
				overflow: hidden;
		}
		.br-lnk a {
				height: 64vw;
				padding: 0 0vw 0px;
		}
		.flex-2col-br li a div.title {
				padding: 0 0px 0px;
				position: relative;
				z-index: 1;
				width: 100%;
				height: 100%;
				display: flex;
				align-items: flex-end;
		}
		.bglnk01 {
				height: 100%;
				background-size: 100%;
		}
		.bglnk02 {
				height: 100%;
				background-size: 100%;
		}
		.flex-2col-br li a .title__en {
				font-size: 4.2rem;
				bottom: 72px;
				left: 20vw;
		}
		.flex-2col-br li a .title .modIconLink {
				bottom: 12px;
				right: 5px;
				position: absolute;
		}
}
@media only screen and (max-width: 768px) {
		.bg-img-list {
				margin: auto auto 5% auto;
				width: 90%;
				height: auto;
		}
		.bg-wrap-cnt {
				padding: 20vw 5% 5%;
				box-sizing: border-box;
		}
}
@media only screen and (max-width: 500px) {
		.bg-wrap-cnt {
				padding: 20vw 5% 5%;
				box-sizing: border-box;
		}
}
.list-question {
		background: #ebecee;
		position: relative;
		display: flex;
		align-items: center;
		font-size: 1.3em;
		line-height: 1.666;
		width: 100%;
		min-height: 80px;
		padding: 22px 0;
		padding-left: 80px;
		border-radius: 10px;
}
.list-question:before {
		display: block;
		position: absolute;
		content: 'Q';
		color: #05a4c9;
		font-size: 2.4rem;
		line-height: 1;
		top: 28px;
		left: 32px;
}
.list-answer {
		position: relative;
		background: #fff;
		/* display: flex; */
		align-items: center;
		font-size: 1.1em;
		line-height: 1.666;
		width: 100%;
		min-height: 74px;
		padding: 16px 0;
		padding-left: 80px;
		padding-right: 120px;
		transition: opacity 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95), margin-top 0.6s cubic-bezier(0.77, 0, 0.175, 1) 0.2s;
}
.list-answer:before {
		display: block;
		position: absolute;
		content: 'A';
		font-size: 2.0rem;
		line-height: 1;
		font-weight: bold;
		top: 17px;
		left: 32px;
		color: #00407f;
}
.list-faq {
		margin: 20px 0px;
}
@media only screen and (max-width: 768px) {
		.list-faq {
				margin: 10px 0px 30px;
		}
		.list-question {
				min-height: 80px;
				padding: 22px 0;
				padding-left: 50px;
				padding-right: 10px;
		}
		.list-question:before {
				font-size: 2.4rem;
				top: 28px;
				left: 15px;
		}
		.list-answer {
				min-height: 74px;
				line-height: 1.8;
				padding: 8px 0 16px;
				padding-left: 50px;
				padding-right: 10px;
				transition: opacity 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95), margin-top 0.6s cubic-bezier(0.77, 0, 0.175, 1) 0.2s;
		}
		.list-answer:before {
				top: 17px;
				left: 15px;
		}
}
.bg-02 {
		background: url(../images/backgrounds/bg-02.jpg) no-repeat center center;
		background-size: cover;
		padding: 100px 0;
		margin-bottom: 3px;
}
@media only screen and (max-width: 767px) {
		.bg-02 {
				background: url(../images/backgrounds/bg-02.jpg) no-repeat 65% 2px;
				background-size: cover;
				padding: 40px 0 100px !important;
				margin-bottom: 3px;
		}
}
.fa-phone, .fa-envelope {
		position: relative;
}
.fa-phone:before, .fa-envelope:before {
		position: absolute;
		left: -35px;
		top: -38px;
		font-size: 0.9em;
}
/*
.img-frame02 {
	left: 15%;
    transform: rotate(3deg);
}
*/
.pc-indisp {
		display: inline-block;
}
@media only screen and (max-width: 768px) {
		.fa-phone:before, .fa-envelope:before {
				left: -35px;
				top: -37px;
		}
		.img-frame02 {
				left: 0%;
				transform: rotate(0deg);
		}
		.img-frame03:before {
				content: "";
				position: absolute;
				width: 0%;
				height: 0rem;
				background: #f5f5f5;
				z-index: -1;
				left: 0%;
				top: 0%;
				margin-top: 0rem;
		}
		.rs-mt {
				margin-top: 20px;
		}
		.pc-indisp {
				display: none !important;
		}
}
@media only screen and (max-width: 640px) {
		.fa-phone:before, .fa-envelope:before {
				left: -26px;
				top: -23px;
		}
}
dl.blog {
		margin-top: 0;
		margin-bottom: 20px;
		display: flex;
		flex-wrap: wrap;
		width: 100%;
}
dl.blog dt {
		display: flex;
		align-items: center;
		width: 18%;
		vertical-align: middle;
		box-sizing: border-box;
		padding: 0px;
		border-bottom: 1px solid #B7B7B7;
}
.lft-info {
		width: 18%;
		display: flex;
		align-items: center;
}
.lft-info img {
		width: 100%;
		margin-right: 0px;
		heigth: auto;
		display: inline-block;
}
dl.blog dt:first-of-type, dl.blog dd:first-of-type {
		border-top: 1px solid #B7B7B7;
}
dl.blog dd {
		display: flex;
		align-items: center;
		width: 78%;
		vertical-align: middle;
		box-sizing: border-box;
		padding: 10px;
		border-bottom: 1px solid #B7B7B7;
}
dl.blog dt a {
		display: inline-block;
		width: 100%;
}
dl.blog dd a {
		display: inline-block;
		vertical-align: middle;
		padding-top: 30px;
		padding-bottom: 30px;
		width: 100%;
}
dl.blog dd a::after {
		display: block;
		width: 12px;
		height: 12px;
		border: 0px;
		border-top: solid 4px #000;
		border-right: solid 4px #000;
		transform: rotate(45deg); /* å³å‘ãã®å ´åˆ */
}
dl.blog dt img {
		width: 100%;
		height: auto;
		display: inline-block;
}
.arrow {
		position: relative;
		display: inline-block;
		padding: 10px;
}
.arrow::before {
		content: '';
		width: 15px;
		height: 15px;
		border-top: solid 1px #9E9E9E;
		border-right: 1px solid #9E9E9E;
		margin: 0;
		position: absolute; /* 2 */
		top: 43%; /* 3 */
		transform: translate(0, -50%);
		right: 20px;
}
.arrow.arrow-top::before {
		transform: rotate(-45deg);
		top: 10px;
}
.arrow.arrow-bottom::before {
		transform: rotate(135deg);
}
.arrow.arrow-left::before {
		transform: rotate(-135deg);
}
.arrow.arrow-right::before {
		transform: rotate(45deg);
}
@media (max-width: 480px) {
		dl.blog dt {
				padding-top: 15px;
				padding-bottom: 15px;
		}
		dl.blog dd:first-of-type {
				border-top: 1px solid #B7B7B7;
		}
		dl.blog dd {
				border-bottom: 1px solid #B7B7B7;
		}
		dl.blog dd a {
				display: block;
				padding-top: 15px;
				padding-bottom: 15px;
				padding-right: 30px;
		}
		dl.blog dt img {
				width: 100%;
				height: auto;
		}
		.arrow::before {
				right: 0px;
		}
}
.button {
		display: inline-block;
		width: 320px;
		text-align: center;
		text-decoration: none;
		outline: none;
		padding-top: 22px;
		padding-bottom: 18px;
}
.button::before, .button::after, .button2::before, .button2::after {
		position: absolute;
		z-index: -1;
		display: block;
		content: '';
}
.button, .button::before, .button::after, .button2, .button2::before, .button2::after {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		-webkit-transition: all .3s;
		transition: all .3s;
}
.button, .button2 {
		background-color: var(--basic-color);
		color: #fff !important;
}
.button:hover, .button2:hover {
		background-color: #76a9e3;
		text-decoration: none;
}
@media only screen and (max-width: 768px) {
		.button {
				width: 90%;
				padding-top: 15px;
				padding-bottom: 12px;
		}
}
.section.wrap-flex.first {
		padding: 120px 0 60px 10% !important;
}
.flex-div {
		display: flex;
		align-items: center;
}
.txt-01 {
		position: relative;
		width: 640px;
		padding: 60px;
		background-color: #FCFCFC;
		margin-right: -10%;
}
.img-01 {
		background-image: url(../images/backgrounds/img-01.jpg);
		background-size: cover;
		background-position: right bottom;
		width: 60%;
		height: 600px;
}
.ct-wrap {
		position: relative;
}
.ct-wrap .ct-lb {
		position: absolute;
		right: 0px;
		top: 0px;
		padding: 5px;
		background: rgba(0, 0, 0, 0.7);
		color: #fff;
		font-weight: 700;
		font-size: 14px;
		display: block;
		font-family: 'Roboto', sans-serif;
}
.res-mt01 {
		margin-top: -30px;
}
.res-mt02 {
		margin-top: 200px;
}
.brk-rgt {
		position: absolute;
		right: 100px !important;
}
@media only screen and (max-width: 768px) {
		.section.wrap-flex.first {
				padding: 60px 0 60px 0% !important;
		}
		.flex-div {
				-webkit-flex-direction: column;
				-ms-flex-direction: column;
				flex-direction: column;
		}
		.txt-01 {
				position: relative;
				width: 100%;
				padding: 40px 5% 24px;
				margin-right: 0%;
		}
		.img-01 {
				width: 100%;
				height: 350px;
				background-position: right bottom;
		}
		.res-mt01, .res-mt02 {
				margin-top: 10px;
		}
		.brk-rgt {
				position: relative;
				right: 0px !important;
		}
}
.f-row-reverse {
		flex-direction: row-reverse;
}
.bg-top01 {
		background: url(../images/backgrounds/bg-top01.jpg);
		background-size: cover;
		background-position: center;
}
.img-object {
		margin-bottom: 1rem;
		position: relative;
		width: 100%;
		height: 0;
		padding-top: 100%;
		overflow: hidden;
		display: block;
}
.img-object img {
		margin: 0 auto;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		width: 100%;
		height: 100%;
		object-fit: cover;
}
.wide-container {
		padding-right: 15px;
		padding-left: 15px;
		margin-right: auto;
		margin-left: auto;
}
.wide-container {
		max-width: 1300px;
}
@media only screen and (max-width: 1400px) {
		.wide-container {
				width: 100%;
		}
}
/* Fパターン */
.contNews ul li {
		display: block;
		justify-content: start;
		flex-wrap: wrap;
		align-items: center;
		margin-bottom: 0;
		padding-bottom: 1em;
		margin-right: 0;
		border-bottom: 0px dotted #CCCCCC;
}
.contNews ul li:first-child {
		margin-top: 0;
}
/* 1カラムここから */
/* 共通 */
.changeCard ul {
		padding: 0;
		list-style: none;
		border: none;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 0;
		/*margin-top: 20px;*/
}
.changeItemTxt {
		width: 78%;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		align-items: center;
		padding-top: 30px;
		padding-bottom: 30px;
}
.changeItemTxt.wp {
		width: 70%;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		align-items: center;
		padding-top: 30px;
		padding-bottom: 30px;
}
.changeItemTxt .pubdate {
		width: 32%;
		text-align: center;
}
.changeItemTxt p.itemTitle {
		width: 65%;
		/*
    font-size: 1.5rem;
    line-height: 1.56;
	*/
		margin: 0;
		font-weight: bold;
		color: #333;
		margin-bottom: 0px;
}
.changeItemTxt ul.itemTag {
		padding: 0;
		margin: 0;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: wrap;
		gap: 10px;
}
.changeItemTxt ul.itemTag li {
		background: #f1f1f1;
		color: #707070;
		font-size: 0.7rem;
		padding: 2px 10px;
		position: relative;
}
.changeItemTxt ul.itemTag li:before {
		padding-right: 3px;
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		font-size: 1em;
		content: "\f02b";
		vertical-align: baseline;
		color: #aaa;
}
p.itemCat {
		position: absolute;
		left: -7px;
		top: 8px;
		background: #696b60; /* 色替え */
		color: #FFF;
		border-radius: 9999px;
		font-size: 0.7rem;
		display: inline-block;
		padding: 1px 12px 0px;
		z-index: 2;
}
/* 共通ここまで */
/* List */
li.changeItem.defaultList {
		width: 100%;
		padding: 0;
}
li.changeItem.defaultList a {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		border-radius: 2px;
		background: #fff;
		cursor: pointer;
		transition: 0.2s ease-in-out;
		padding: 10px 10px 5px 10px;
		box-sizing: border-box;
		position: relative;
		align-items: center;
		text-decoration: none;
		border-top: solid 1px #eee;
		padding-right: 10px;
		cursor: pointer;
		width: 100%;
}
li.changeItem.defaultList:last-child a {
		border-bottom: solid 1px #EEE;
}
li.changeItem.defaultList a:hover {
		background: #a2a2a2;
}
li.changeItem.defaultList a img {
		/*width: 35%;*/
		margin-right: 3%;
		height: auto;
}
.news-conainer {
		max-height: 500px;
}
@media screen and (max-width: 767px) {
		.lft-info {
				width: 100%;
		}
		.changeItemTxt .pubdate {
				width: 100%;
		}
		.changeItemTxt p.itemTitle {
				width: 100%;
				font-size: 1.2em;
				text-align: center;
		}
		.news-conainer {
				max-height: inherit;
		}
		.sidebar-title {
				font-size: 1.3rem;
				margin-bottom: 20px;
				width: 100%;
				max-width: 500px;
		}
		/* （ここにモバイル用スタイルを記述） */
		li.changeItem.defaultList a {
				flex-direction: column;
		}
		li.changeItem.defaultList a img {
				width: 80%;
				margin: 0 auto 15px;
		}
		li.changeItem.defaultList a .changeItemTxt {
				width: 100%;
		}
}
/* 1カラムここまで */
.shell h2 {
		margin-bottom: 50px;
}
@media screen and (max-width: 400px) {
		li.changeItem.defaultList a img {
				width: 100%;
		}
}
@media screen and (max-width: 767px) {
		.shell h2 {
				font-size: 20px;
				margin-bottom: 50px;
		}
}
.infoma > li {
		position: relative;
		margin-bottom: 10px !important;
		padding-bottom: 0px !important;
}
.infoma > li:not(:last-child) {
		margin-bottom: 40px;
}
.infoma > li dl {
		width: 100%;
		padding: 10px 0px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		position: relative;
		justify-content: center;
		margin-bottom: 0px;
}
.infoma > li dl dt {
		font-weight: 600;
		-ms-flex-preferred-size: 33%;
		flex-basis: ;
		margin-right: 2vw;
		text-align: left;
		width: 10%;
}
.infoma > li dl dd {
		text-align: left;
		width: 90%;
}
@media only screen and (max-width: 768px) {
		.infoma > li dl {
				flex-wrap: wrap;
		}
		.infoma > li dl dt {
				margin-bottom: 10px;
				width: 100%;
		}
		.infoma > li dl dd {
				text-align: left;
				width: 100%;
		}
}
.btn-d a {
		z-index: 1;
		width: 80%;
		max-width: 300px;
		text-align: center;
		border: 1px solid;
		font-size: 90.75%;
		position: relative;
		display: block;
		max-width: 100%;
		text-decoration: none;
		color: #103306;
}
.btn-d a::before {
		right: 1vw;
		width: 6px;
		height: 6px;
		border-top: solid 1px;
		border-right: solid 1px;
		transform: rotate(45deg) translateY(-50%);
}
.btn-d a::after {
		right: 1vw;
		width: 1vw;
		height: 1px;
		border-bottom: 1px solid;
}
.btn-d a::before, .btn-d a::after, .btn-d a span::before {
		content: '';
		position: absolute;
		top: 50%;
}
.btn-d a, .btn-d span {
		position: relative;
		display: block;
}
.btn-d span {
		padding: 0.7em 1em 0.7em 0em;
		font-size: 1.1em;
		font-weight: bold;
}
.btn-d a span::before {
		right: 3vw;
		transform: translateY(-50%);
		width: 1px;
		height: calc(100% - 26px);
		border-right: 1px solid;
}
@media only screen and (max-width: 768px) {
		.btn-d a {
				width: 90%;
				margin: auto;
				max-width: 100%;
				border: 1px solid;
				font-size: 90.75%;
				position: relative;
				display: block;
				max-width: 100%;
				text-decoration: none;
				color: #103306;
				line-height: 1.0;
		}
		.btn-d span {
				padding: 1em 2.5em 1em 0em;
				font-size: 1.0em;
				font-weight: bold;
		}
		.btn-d a span::before {
				right: 30px;
		}
		.btn-d a::before, .btn-d a::after, .btn-d a span::before {
				top: 46%;
		}
		.btn-d a::after {
				right: 13px;
				width: 14px;
				height: 1px;
				border-bottom: 1px solid;
		}
		.btn-d a::before {
				right: 15px;
		}
}
.box-wrap-waku {
		position: relative;
		margin-bottom: 30px;
		border: 0px solid #d9dce2;
		border-radius: 15px;
		box-shadow: 0 0 13px rgba(0, 0, 0, 0.2);
		box-sizing: border-box;
}
.box-img {
		overflow: hidden;
		border-top-right-radius: 15px;
		border-top-left-radius: 15px;
}
.box-wrap-waku .box-ttl {
		position: relative;
		top: -0px;
		margin-top: 0px;
		margin-bottom: 0px;
		font-size: 1.1em;
		font-weight: 500;
		padding: 0.6em 0.5em 0.5em;
		background: var(--basic-color);
		color: var(--white-color);
		text-align: center !important;
}
.box-wrap-waku .box-ttl span {
		display: inline-block;
		padding: 0 1em;
		font-weight: 500;
		line-height: 1.3;
		text-align: center;
		border-bottom: 0px double var(--basic-color) !important;
}
.box-wrap-waku div.box-cnt {
		padding: 0.5rem 2rem 1rem;
}
section.upper {
		padding-top: 80px !important;
}
section.upper02 {
		padding-bottom: 0px !important;
}
section.low {
		padding-bottom: 80px !important;
}
@media only screen and (max-width: 768px) {
		.box-wrap-waku {
				margin-bottom: 30px;
		}
		.box-wrap-waku.box-wrap-ls {
				margin-bottom: 0px;
		}
		.box-wrap-waku .box-ttl {
				position: relative;
				font-weight: bold;
				top: 0px;
				left: 0px;
				margin-top: 0px;
				margin-bottom: 0px !important;
				font-size: 1.0em;
		}
		.box-wrap-waku .box-ttl span {
				padding: 0 1rem 0em;
				line-height: 1.4;
				text-align: left;
		border-bottom: 0px double var(--basic-color) !important;
		}
		section.upper {
				padding-top: 60px !important;
		}
		section.upper02 {
				padding-bottom: 0px !important;
		}
		section.low {
				padding-bottom: 70px !important;
		}
		.res-mb-f {
				margin-bottom: 30px;
		}
}
.u-dot {
		-webkit-text-emphasis: open circle var(--basic-color);
		text-emphasis: open circle var(--basic-color);
}
.u-line {
		text-decoration: underline wavy var(--basic-color);
		text-underline-offset: 5px;
}
.u-line02 {
		text-decoration: underline var(--basic-color);
}
.pb01 {
		padding-bottom: 0.5em;
}
.p-01 {
		line-height: 1.8;
}
.fa-solid:before {
		color: var(--basic-color);
}
.fa-phone-square:before, .fa-square-phone:before {
		color: var(--white-color);
}
.container {
		width: 1200px !important;
}
.container.container-t {
		width: 1000px !important;
}
.container.container-hd {
		width: 1200px !important;
}
@media (max-width:1290px) {
		.container, .container.container-hd {
				width: 100% !important;
				padding-left: 5vw;
				padding-right: 5vw;
		}
		.container.container-t {
				width: 90% !important;
				padding-left: 10vw;
				padding-right: 10vw;
		}
}
@media (max-width:992px) {
		.container, .container.container-t, .container.container-hd {
				width: 100% !important;
		}
}
@media (max-width:768px) {
		.container, .container.container-t, .container.container-hd {
				width: 100% !important;
		}
}
.disflex {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
}
/* ▼すべての場合に適用 */
/*
.container {
       width:1000px !important;
	}


@media screen and (min-width: 640px) {
   .container {
       width:100% !important;
	}
}

@media screen and (min-width: 960px) {
   div#sidebar { width: 25%; }
}

@media screen and (min-width: 1200px) {
   div#sidebar { width: 300px; }
}
*/