@charset "utf-8";

#footer-ec {
    margin-top:0!important;
}

/* -----------------------------
	intro-area
-------------------------------- */
.intro-area {
	padding: 120px 0;
}

.intro-area .inner {
	display: flex;
	width: 90%;
	margin-right: 5%;
	min-width: 1200px;
	margin: 0 auto;
}

.intro-area .txt-block {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 60%;
	padding-left: calc( ( 100% - 1200px ) / 2 );
	padding-right: 5%;
}

.intro-area .txt-block .catch {
	font-size: 3.6rem;
	letter-spacing: .2rem;
	word-break: keep-all;
}

.intro-area .txt-block .sub-catch {
	font-size: 2.6rem;
	font-weight: 500;
	margin: 0 0 20px;
	font-family: var(--mincho);
	word-break: keep-all;
}

.intro-area .txt-block .basic-txt {
	font-family: var(--mincho);
}

.intro-area .img-block {
	width: 40%;
}

.intro-area .img-block img {
	width: 100%;
	object-fit: cover;
	height: 100%;
}

@media screen and (max-width: 768px){
	.intro-area {
		padding: 40px 20px 40px;
	}
	
	.intro-area .inner {
		width: 100%;
		margin-right: 0;
		min-width: initial;
		flex-wrap: wrap;
	}
	
	.intro-area .txt-block {
		width: 100%;
		padding-left: 0;
		padding-right: 0;
		order: 2;
		margin: 20px 0 0;
	}
	
	.intro-area .txt-block .sub-catch {
		font-size: 4.8cqw;
		margin: 0 0 10px;
	}
	
	.intro-area .txt-block .catch {
		font-size: 5.2cqw;
		letter-spacing: .1rem;
	}
	
	.intro-area .img-block {
		width: 100%;
		order: 1;
		height: 60vw;
	}
}

/* -----------------------------
	how-to-area
-------------------------------- */
.how-to-area {
	
}

.how-to-area .how-to-block {
	padding: 120px 0;
}

.how-to-area .how-to-block.fillet {
	background: url("../img/bg-washi02.webp"),#1A1A1A;
}

.how-to-area .how-to-block.boil {
	background: url("../img/bg-washi02.webp"), #3C311D;
}

.how-to-area .how-to-block.dashi {
	background: var(--beige);
	padding: 120px 0 200px;
}

.how-to-area .how-to-block .catch-box {
	display: flex;
	gap: 5%;
	width: 90%;
	min-width: 1200px;
	margin: 0 auto;
}

.how-to-area .how-to-block .catch-box .txt-wrap {
	width: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	/*color: #fff;*/
}

.how-to-area .fillet .catch-box .txt-wrap,
.how-to-area .boil .catch-box .txt-wrap {
	color: #fff;
}

.how-to-area .how-to-block .catch-box .img-wrap {
	width: 45%;
	max-height: 500px;
}

.how-to-area .how-to-block .catch-box .sec-ttl {
	font-size: 3.2rem;
	margin: 0 0 30px;
	font-family: var(--mincho);
	display: flex;
	align-items: center;
}

.how-to-area .how-to-block .catch-box .sec-ttl::after {
	content: "";
	display: inline-block;
	flex-grow: 1;
	height: 1px;
	background: #333;
	margin-left: 30px;
}

.how-to-area .fillet .catch-box .sec-ttl::after,
.how-to-area .boil .catch-box .sec-ttl::after {
	background: #fff;
}

.how-to-area .how-to-block .catch-box .sub-catch {
	font-size: 2.8rem;
	font-family: var(--mincho);
	word-break: keep-all;
}

.how-to-area .how-to-block .catch-box .catch {
	font-size: 3.6rem;
	letter-spacing: .2rem;
	word-break: keep-all;
}

.how-to-area .how-to-block .prepare-box {
	width: 1200px;
	margin: 100px auto 0;
	background: #fff;
	position: relative;
	padding: 80px;
}

/*.how-to-area .dashi .prepare-box {
	border: 1px solid #ccc;
}*/

.how-to-area .how-to-block .prepare-box .box-name {
	background: var(--red);
	color: #fff;
	font-family: var(--mincho);
	display: inline-block;
	position: absolute;
	top: -25px;
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	padding: 5px 20px;
	font-size: 2.4rem;
}

.how-to-area .how-to-block .prepare-box .kome {
	font-size: 1.4rem;
	text-indent: -1.4rem;
	padding-left: 1.4rem;
	margin: 30px 0 0;
	text-align: center;
}

.how-to-area .how-to-block .prepare-box .icon-list {
	display: flex;
	/*gap: 30px;*/
	justify-content: center;
}

.how-to-area .how-to-block .prepare-box .icon-list li {
	display: flex;
	flex-wrap: wrap;
	width: calc( ( 100% - 60px ) / 3 );
	/*min-width: 200px;*/
	justify-content: center;
}

.how-to-area .how-to-block .prepare-box .icon-list .icon-wrap {
	width: 60px;
	height: 60px;
}

.how-to-area .how-to-block .prepare-box .icon-list .icon-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.how-to-area .how-to-block .prepare-box .icon-list .list-txt {
	width: 100%;
	text-align: center;
	margin: 20px 0 0;
}

.how-to-area .tab-box {
  width: 1200px;
  margin: 100px auto 0;
}

.how-to-area .tab-container {
  display: flex;
  flex-wrap: wrap;
}
.how-to-area .tab-container {
	border: 1px solid #ddd;
}
.how-to-area .tab {
  font-weight: 500;
  text-align:center;
  width: calc(100% / 3);
  padding: 30px;
  background-color: #2E2E2E;
  cursor: pointer;
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
	font-family: var(--mincho);
	transition: all .3s;
	
}
.how-to-area .tab:not(:last-child) {
	border-right: 1px solid #ccc;
}

.how-to-area .tab.active {
  background-color: #fff;
	color: #333;
}

.how-to-area .content {
  display: none; /*必須*/
}
.how-to-area .content.show {
  display: block; /*必須*/
}

.how-to-area .step-block-wrap {
	width: 1200px;
	margin: 80px auto 0;
}

/*.how-to-area .dashi .step-block-wrap {
	border: 1px solid #ccc;
}*/

.how-to-area .step-block {
	background:#fff;
	padding: 80px;
}

.how-to-area .step-box {
	display: flex;
	flex-wrap: wrap;
	gap: 5%;
	position: relative;
}

.how-to-area .step-box:has( + .step-box ) {
	padding-bottom: 60px;
}

.how-to-area .step-box:has( + .step-box )::before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: 10px;;
	left: 30px;
	width: 1px;
	height: 40px;
	background: #ccc;
}

/*img-wrapがあるときのtxt-wrapの横幅調整*/
.how-to-area .step-box:has(.img-wrap) .txt-wrap {
	width: 60%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.how-to-area .step-box .img-wrap {
	width: 35%;
}

.how-to-area .step-box .step-name {
	font-size: 2.6rem;
	font-family: var(--mincho);
	display: flex;
	align-items: center;
	margin: 0 0 20px;
}

.how-to-area .step-box .step-name .num {
	font-size: 6.0rem;
	margin-right: 20px;
	line-height: 1;
}

.how-to-area .step-box.last .img-wrap {
	width: 100%;
}
.how-to-area .step-box.last .txt-wrap {
	flex-direction: row;
	width: 100%;
	align-items: flex-start;
	justify-content: flex-start;
	margin: 0 0 30px;
	gap: 5%;
}

.how-to-area .step-box.last .step-name {
	flex-shrink: 0;
}

.how-to-area .step-box .disc-list {
	margin-bottom: 0;
}

.how-to-area .table-txt-wrap {
	margin: 20px 0 0;
	width: 100%;
}

.how-to-area .table-txt-wrap .table-name {
	font-size: 2.6rem;
	font-family: var(--mincho);
	margin: 0 0 10px;
}

.how-to-area .table-wrap {
	width: 100%;
	margin: 20px 0 0;
}

.how-to-area .simple-table {
	width: 100%;
	border: 1px solid #ccc;
	border-collapse: collapse;
}

.how-to-area .simple-table tbody th {
	background: #181818;
	color: #fff;
	padding: 18px 10px;
	text-align: center;
}

.how-to-area .simple-table tbody td {
	text-align: center;
	padding: 18px 10px;
}

/*ボーダー指定*/
.how-to-area .simple-table tbody tr:not(:last-child) th {
	border-bottom: 1px solid #ccc;
}

.how-to-area .simple-table tbody tr:not(:last-child) td {
	border-bottom: 1px solid #ccc;
}

.how-to-area .simple-table tbody tr td:not(:last-child) {
	border-right: 1px solid #ccc;
}

.how-to-area .step-block-wrap .point-box {
	background: #FFF6F2;
	padding: 30px 40px 40px;
	position: relative;
	margin: 60px 0 0;
	width: 100%;
}

.how-to-area .step-block-wrap .point-box .point-name {
	font-size: 3.0rem;
	position: absolute;
	top: -25px;
	left: 30px;
	font-family: var(--mincho);
	color: var(--red);
}

@media screen and (max-width: 768px){
	.how-to-area .how-to-block {
		padding: 0 0 40px;
	}
	
	.how-to-area .how-to-block.dashi {
		padding: 40px 0 120px;
	}
	
	.how-to-area .how-to-block .catch-box {
		flex-wrap: wrap;
		gap: 0;
		width: 100%;
		min-width: initial;
	}
	
	.how-to-area .how-to-block .catch-box .img-wrap {
		width: 100%;
		max-height: 60vw;
	}
	
	.how-to-area .how-to-block .catch-box .txt-wrap {
		width: 100%;
		padding: 40px 20px 0;
	}
	
	.how-to-area .how-to-block .catch-box .sec-ttl {
		font-size: 2.8rem;
		margin: 0 0 30px;
	}
	
	.how-to-area .how-to-block .catch-box .sec-ttl::after {
		margin-left: 15px;
	}
	
	.how-to-area .how-to-block .catch-box .sub-catch {
		font-size: 5.0cqw;
		font-family: var(--mincho);
		margin: 0 0 10px;
	}
	
	.how-to-area .how-to-block .catch-box .catch {
		font-size: 6.0cqw;
		letter-spacing: .1rem;
	}
	
	.how-to-area .how-to-block .prepare-box {
		width: calc( 100% - 40px );
		margin: 40px auto 0;
		padding: 30px 20px 20px;
	}
	
	.how-to-area .how-to-block .prepare-box .box-name {
		top: -20px;
		padding: 5px 15px;
		font-size: 1.8rem;
	}
	
	.how-to-area .how-to-block .prepare-box .icon-list {
		flex-wrap: wrap;
		gap: 20px 10px;
		justify-content: flex-start;
	}
	
	.how-to-area .how-to-block .prepare-box .icon-list li {
		/*width: calc( ( 100% - 10px ) / 2 ); */
		min-width: initial;
		width: 100%;
		gap: 20px;
		justify-content: flex-start;
	}
	
	.how-to-area .how-to-block .prepare-box .icon-list .list-txt {
		margin: 10px 0 0;
		/*font-size: 4.2cqw;*/
		width: calc( 100% - 50px );
		text-align: left;
		line-height: 1;
	}
	
	.how-to-area .how-to-block .prepare-box .icon-list .icon-wrap {
		width: 30px;
		height: 30px;
	}
	
	.how-to-area .how-to-block .prepare-box .kome {
		margin: 20px 0 0;
		text-align: left;
	}
	
	.how-to-area .tab-box {
		width: calc( 100% - 40px );
		margin: 40px auto 0;
	}
	
	.how-to-area .tab {
		padding: 15px 0;
		font-size: 4.2cqw;
	}
	
	.how-to-area .content {
		padding: 20px;
	}
	
	.how-to-area .step-box {
		display: block;
	}
	
	.how-to-area .step-box .step-name {
		font-size: 5cqw;
		margin: 0 0 10px;
	}
	
	.how-to-area .step-box .step-name .num {
		font-size: 10cqw;
		margin-right: 15px;
		flex-shrink: 0;
	}
	
	.how-to-area .step-box:has( + .step-box ) {
		padding-bottom: 50px;
	}
	
	.how-to-area .step-box:has( + .step-box )::before {
		left: 22px;
		height: 30px;
	}
	
	.how-to-area .step-box.last .txt-wrap {
		flex-direction: column;
		margin: 0 0 20px;
		gap: 0;
	}
	
	.how-to-area .step-block-wrap {
		width: calc( 100% - 40px);
		margin: 20px auto 0;
	}
	
	.how-to-area .step-box:has(.img-wrap) .txt-wrap {
		width: 100%;
	}
	
	.how-to-area .step-box .img-wrap {
		width: 100%;
		height: 50vw;
		margin: 10px 0 0;
	}
	
	.how-to-area .table-txt-wrap .table-name {
		font-size: 2.1rem;
	}
	
	.how-to-area .table-wrap {
		overflow-x: scroll;
	}
	
	.how-to-area .simple-table {
		width: max-content;
	}
	
	.how-to-area .step-block-wrap .point-box {
		padding: 30px 20px;
		margin: 40px 0 0;
	}
	
	.how-to-area .step-block-wrap .point-box .point-name {
		font-size: 2.0rem;
		top: -15px;
		left: 50%;
		transform: translateX(-50%);
		white-space: nowrap;
	}
	
	.how-to-area .step-block-wrap .point-box .disc-list {
		margin: 0;
	}
}

/* -----------------------------
	〇〇〇
-------------------------------- */

@media screen and (max-width: 768px){
	
}
