
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&family=Noto+Sans+JP:wght@300;400;700;900&display=swap');

/*================================================

　リセット　調整

=================================================*/
*{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
*::before,
*::after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

html { font-size: 62.5%; height: 100%; }
body { 
	position: relative;
	min-height: 100%;
	color: #333;
	text-align: left;
	font-family: 'Lato', 'Noto Sans JP', sans-serif;
	font-feature-settings: "palt" 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
a, a:link, a:visited {
	color: #000;
	text-decoration: none;
	opacity: 1;
	transition: all 0.5s ease;
}
a:hover {
	opacity: 0.3;
}
img { max-width: 100%; height: auto; vertical-align: bottom; }
.mypage_menu img { max-width: initial; }

/*================================================

　レイアウト　調整

=================================================*/
.wrapper {
	position: relative;
	overflow: hidden;
	padding: 77px 0 0;
}
.section_wrp {
	margin: 0;
}

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

	.wrapper {
		padding: 54px 0 0;
	}

}

/*================================================

　背景色

=================================================*/
.bg-color01 {
	overflow: hidden;
	padding: 0;
	background-color: #F9F9F9;
}

/*================================================

　header

=================================================*/
.header-wrap {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	margin: 0 auto;
	background-color: #FFF;
	z-index: 99999;
}
.header-wrap-inner {
	display: flex;
	align-items: center;
	max-width: 1280px;
	height: 77px;
	margin: 0 auto;
	padding: 0 1.90625%;
}
.header-wrap-inner .logo {
	display: flex;
	align-items: center;
}
.header-wrap-inner .logo span {
	display: block;
	margin: 0 0 0 10px;
	font-size: clamp(1.6rem, (100vw - 1080px) * 12 / 200 + 16px, 2.8rem);
	font-weight: 700;
}

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

	.header-wrap-inner {
		justify-content: space-between;
		height: 54px;
	}
	.header-wrap-inner .logo span {
		font-size: clamp(1.8rem, (100vw - 375px) * 10 / 705 + 18px, 2.8rem);
	}
	.header-wrap-inner .logo img {
		height: 43px;
	}

}

/*　ナビメニュー
=================================================*/
.header-wrap-inner .navlist {
	display: flex;
	align-items: center;
	margin-left: auto;
}
.header-wrap-inner .navlist li {
	margin: 0 0 0 20px;
	font-size: clamp(1.2rem, (100vw - 1080px) * 4 / 200 + 12px, 1.6rem);
	font-weight: 700;
}
.header-wrap-inner .navlist li a {
	display: flex;
	align-items: center;
}
.header-wrap-inner .navlist li.sign a {
	font-size: clamp(1.1rem, (100vw - 1080px) * 4 / 200 + 10px, 1.5rem);
}
.header-wrap-inner .navlist li.sign a i {
	padding: 0 6px 0 0;
}
.header-wrap-inner .navlist li.inquiry a {
	position: relative;
	padding: 4px 30px 4px 15px;
	color: #FFF;
	font-size: clamp(1.1rem, (100vw - 1080px) * 4 / 200 + 10px, 1.5rem);
	background-color: #d02060;
	border: 1px solid #d02060;
	box-shadow: 2px 2px 2px 0px #000;
	border-radius: 100vh;
}
.header-wrap-inner .navlist li.inquiry a::after {
	display: block;
	position: absolute;
	top: 50%;
	right: 6px;
	content: '';
	width: 18px;
	height: 18px;
	background: url("/image/arrow_icon01-02.svg") center center / 100% auto no-repeat;
	transform: translateY(-50%);
}

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

	.header-wrap-inner .navlist {
		position: fixed;
		flex-direction: column;
		top: 0;
		left: 100%;
		width: 320px;
		height: 100%;
		margin-top: 54px;
		padding: 25px 20px 0;
		background: rgba(255,255,255,0.9);
		transition: 0.5s ease-out;
	}
	.header-wrap-inner .navlist li {
		display: block;
		width: 100%;
		padding: 18px 0;
	}
	.header-wrap-inner .navlist li a {
		width: 100%;
		height: 100%;
		font-size: 1.6rem;
	}
	.header-wrap-inner .navlist li.sign a {
		padding: 0 0 0 6px;
		font-size: 1.5rem;
	}
	.header-wrap-inner .navlist li.sign a i {
		padding: 0 6px 0 0;
	}
	.header-wrap-inner .navlist li.inquiry a {
		width: 200px;
		padding: 4px 30px 4px 15px;
		font-size: 1.5rem;
	}

}

/*　ハンバーガー
=================================================*/
.menu-btn {
	display: none;
	position: absolute;
	right: 15px;
}
.menu-btn .toggle {
	display: block;
	position: relative;
	width: 42px;
	height: 16px;
	border: none;
	cursor: pointer;
	outline: none;
}
.menu-hamburger,
.menu-hamburger::before,
.menu-hamburger::after {
	display: block;
	position: relative;
	width: 100%;
	height: 2px;
	background-color: #000;
	transition: 0.2s ease-out;
}
.menu-hamburger::before,
.menu-hamburger::after {
	position: absolute;
	top: -7px;
	left: 0;
	content: '';
}
.menu-hamburger::after {
	top: 7px;
}
.menu-btn.open .menu-hamburger {
	background-color: transparent;
}
.menu-btn.open .menu-hamburger::before,
.menu-btn.open .menu-hamburger::after {
	top: 0;
}
.menu-btn.open .menu-hamburger::before {
	transform: rotate(45deg);
}
.menu-btn.open .menu-hamburger::after {
	transform: rotate(-45deg);
}

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

	.menu-btn {
		display: block;
	}
	.menu-btn.open + .navlist {
		transform: translateX(-100%);
	}

}

/*================================================

　footer　調整

=================================================*/
.footer_wrp {
	color: #000;
	background-color: #DCDBDB;
}
.footer_wrp .content_width {
	padding-top: 10px;
}
.footer_wrp .free_area {
	margin: 0;
	padding: 10px 0;
	font-size: clamp(1rem, (100vw - 375px) * 4 / 905 + 10px, 1.4rem);
}
.footer_wrp .copyright {
	background-color: #000;
}
.foote_link > li > a:after {
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
}

/*================================================

　おすすめ商品　調整

=================================================*/
.m-FeaturedProducts {
	position: relative;
	background-color: #FFF;
	z-index: 10;
}
.m-FeaturedProducts .section_inner .headline {
	display: none;
}
.m-FeaturedProducts .section_inner .headline + .content {
	margin-top: 0;
}

@media screen and (max-width: 834px) {
	.m-FeaturedProducts .section_inner .headline + .content {
		margin-top: 0;
	}
}

@media screen and (max-width: 480px) {
	.m-FeaturedProducts .section_inner .headline + .content {
		margin-top: 0;
	}
}

.m-FeaturedProducts .section_inner {
	padding: 0 20px 70px 20px;
}

@media screen and (max-width: 1260px) {
	.m-FeaturedProducts .section_inner {
		padding: 0 50px 70px 50px;
	}
}

@media screen and (max-width: 768px) {
	.m-FeaturedProducts .section_inner {
		padding: 0 20px 30px 20px;
	}
}

/*================================================

　ボタンデザイン

=================================================*/
.button a {
	display: block;
	position: relative;
	color: #005BAC;
	text-align: center;
	font-weight: 600;
	line-height: 1;
	background-color: #FFF;
	border: 1px solid #005BAC;
	border-radius: 100vh;
	box-shadow: 2px 4px 4px 0px #000;
}
.button.inquiry a {
	padding: 2.717391% 0;
	color: #FFF;
	font-size: clamp(1.7rem, (100vw - 375px) * 13 / 905 + 17px, 3rem);
	background-color: #d02060;
	border: 1px solid #d02060;
}
.button a::after,
.button.inquiry a::after {
	display: block;
	position: absolute;
	top: 50%;
	right: 25px;
	content: '';
	width: 30px;
	height: 30px;
	background: url("/image/arrow_icon02-02.svg") center center / 100% auto no-repeat;
	transform: translateY(-50%);
}
.button.inquiry a::after {
	background: url("/image/arrow_icon01-02.svg") center center / 100% auto no-repeat;
}

.button-box {
	margin: 3.90625% 0 0;
}

/*　メインビジュアル ボタン
=================================================*/
.mainvisual .button a,
.mainvisual .button.inquiry a {
	padding: 2.708% 0;
	font-size: clamp(1.1rem, (100vw - 375px) * 6 / 905 + 11px, 1.7rem);
	box-shadow: 1px 2px 2px 0px #000;
}
.mainvisual .button.inquiry a {
	margin: 0 0 1.6666%;
}
.mainvisual .button a::after,
.mainvisual .button.inquiry a::after {
	right: 11px;
	width: 27px;
	height: 27px;
}

/*　freearea03 ボタン
=================================================*/
.freearea03 .button a,
.freearea03 .button.inquiry a {
	padding: 2.717391% 0;
	font-size: clamp(1.7rem, (100vw - 375px) * 13 / 905 + 17px, 3rem);
}

@media screen and (max-width: 1080px) {
	
	.button a {
		padding: 3.015625% 0;
		box-shadow: 2px 2px 3px 0px #000;
	}

}

@media screen and (max-width: 768px) {
	
	.button a::after,
	.button.inquiry a::after {
		right: 11px;
		width: 22px;
		height: 22px;
	}
	.mainvisual .button a::after,
	.mainvisual .button.inquiry a::after {
		right: 11px;
		width: 18px;
		height: 18px;
	}

}

/*================================================

　ボタンデザイン　ボタンキャッチ

=================================================*/
.button-catch {
	position: relative;
	display: inline-block;
	margin: 0 0 22px;
	padding: 0 60px;
	color: #D3215F;
	font-size: clamp(1.7rem, (100vw - 375px) * 24 / 905 + 17px, 4.1rem);
	line-height: 1;
}
.button-catch::before,
.button-catch::after {
	position: absolute;
	left: 0;
	bottom: -12px;
	content: '';
	width: 5px;
	height: 180%;
	background-color: #D3215F;
	border-radius: 3px;
	transform: rotate(-32deg);
}
.button-catch::after {
	left: auto;
	right: 0;
	transform: rotate(32deg);
}

/*　メインビジュアル ボタンキャッチ
=================================================*/
.mainvisual .button-catch {
	width: 100%;
	margin: 6.25% 0 3.125%;
	padding: 0;
	color: #FFF;
	text-align: center;
	font-size: clamp(1.4rem, (100vw - 768px) * 10 / 512 + 14px, 2.4rem);
	text-shadow:
		2px  2px 4px #D3215F,
		-2px  2px 4px #D3215F,
		2px -2px 4px #D3215F,
		-2px -2px 4px #D3215F,
		2px  0px 4px #D3215F,
		0px  2px 4px #D3215F,
		-2px  0px 4px #D3215F,
		0px -2px 4px #D3215F;
}
.mainvisual .button-catch::before,
.mainvisual .button-catch::after {
	left: 15px;
	bottom: -5px;
	width: 3px;
	background-color: #FFF;
	box-shadow: 0px 0px 4px 3px #D3215F;
}
.mainvisual .button-catch::after {
	left: auto;
	right: 15px;
}

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

	.mainvisual .button-catch {
		margin: 7.25% 0 2.333333%;
		font-size: clamp(1.6rem, (100vw - 375px) * 16 / 393 + 16px, 3.2rem);
		text-shadow: 
			1px  1px 3px #D3215F,
			-1px  1px 3px #D3215F,
			1px -1px 3px #D3215F,
			-1px -1px 3px #D3215F,
			1px  0px 3px #D3215F,
			0px  1px 3px #D3215F,
			-1px  0px 3px #D3215F,
			0px -1px 3px #D3215F;
	}
	.mainvisual .button-catch::before,
	.mainvisual .button-catch::after {
		width: 2px;
		box-shadow: 0px 0px 3px 2px #D3215F;
	}

}

/*　freearea03 ボタンキャッチ　freearea04 ボタンキャッチ
=================================================*/
.freearea03 .button-catch {
	color: #005BAC;
	font-size: clamp(1.4rem, (100vw - 375px) * 20 / 905 + 14px, 3.4rem);
}
.freearea03 .button-catch::before,
.freearea03 .button-catch::after {
	display: none;
}
.freearea03 .button-box .button-catch span {
	font-weight: 700;
}
@media screen and (max-width: 600px) {

	.freearea03 .button-catch,
	.freearea04 .button-catch {
		margin: 0 0 2.333333%;
		padding: 0 8%;
		font-size: clamp(1.7rem, (100vw - 375px) * 13 / 225 + 17px, 3rem);
	}
	.freearea03 .button-catch {
		font-size: clamp(1.5rem, (100vw - 375px) * 9 / 225 + 15px, 2.4rem);
	}
	.freearea04 .button-catch::before,
	.freearea04 .button-catch::after {
		bottom: -30%;
		width: 3px;
	}
	
}

/*================================================

　フローティング　お問い合わせ

=================================================*/
.float-button {
	position: fixed;
	right: 20px;
	bottom: 20px;
	padding: 20px 10px;
	text-align: center;
	background-color: #FFF;
	border: 2.5px solid #D1215F;
	border-radius: 7px;
	z-index: 999;
	transition: 0.5s ease-out;
}
.float-button .float-button-catch {
	color: #D1215F;
	text-align: center;
	font-size: clamp(1.2rem, (100vw - 375px) * 8 / 905 + 12px, 1.8rem);
	line-height: 1.2;
}
.float-button .button.inquiry a {
	display: block;
	margin: 10px 0 0;
	padding: 8px 25px 6px;
	color: #FFF;
	text-align: center;
	font-size: clamp(1.2rem, (100vw - 375px) * 10 / 905 + 12px, 2.2rem);
	box-shadow: 1px 2px 2px 0px #000;
}
.float-button .button.inquiry a::after {
	right: 8px;
	content: '';
	width: 8px;
	height: 15px;
	background: url("/image/arrow_icon03-02.svg") center center / 100% auto no-repeat;
}
.float-button .button.inquiry a span {
	font-size: clamp(1rem, (100vw - 375px) * 5 / 905 + 10px, 1.5rem);
	font-weight: 700;
}
.hidden {
	visibility: hidden;
	opacity: 0;
}

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

	.float-button {
		display: none;
	}

}

/*================================================

　メインビジュアル

=================================================*/
.mainvisual {
	position: relative;
	overflow: hidden;
	max-height: 366px;
	background-color: #005BAC;
	z-index: 20;
}
.mainvisual-wrap {
	position: relative;
	max-width: 1280px;
	margin: auto;
}
.mainvisual-text {
	position: absolute;
	top: 10.416667%;
	left: 8.984375%;
	width: 37.5%;
	max-width: 480px;
	padding: 0;
	z-index: 9;
}
.mainvisual-text h1 {
	margin: 0;
	color: #FFF;
	text-align: justify;
	font-size: clamp(2.8rem, (100vw - 768px) * 19 / 512 + 28px, 4.7rem);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.1em;
	text-shadow:
		3px  3px 5px #1D2080,
		-3px  3px 5px #1D2080,
		3px -3px 5px #1D2080,
		-3px -3px 5px #1D2080,
		3px  0px 5px #1D2080,
		0px  3px 5px #1D2080,
		-3px  0px 5px #1D2080,
		0px -3px 5px #1D2080;
}
.mainvisual-sp { display: none !important; }

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

	.mainvisual {
		overflow: auto;
		max-height: 100%;
		padding: 0;
	}
	.mainvisual-pc { display: none !important; }
	.mainvisual-sp { display: block !important; }

	.mainvisual-text {
		top: 6.5%;
		left: auto;
		right: auto;
		width: 100%;
		max-width: 100%;
		padding: 0 8.533333%;
	}
	.mainvisual-text h1 {
		font-size: clamp(3.2rem, (100vw - 375px) * 32 / 392 + 32px, 6.4rem);
	}

}

/*================================================

　freearea　共通設定

=================================================*/
.freearea-inner {
	max-width: 920px;
	margin: 0 auto;
	padding: 50px 20px 70px;
	text-align: center;
}
.freearea-inner h2 {
	padding: 5px 0;
	font-size: clamp(2rem, (100vw - 375px) * 22 / 905 + 20px, 4.2rem);
	font-weight: 600;
	line-height: 1;
	background: linear-gradient(transparent 60%, #EAEAEA 60%);
}

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

	.freearea-inner {
		padding: 3.90625% 20px 5.46875%;
	}
	.freearea-inner h2 {
		padding: 0.78125%px 0;
	}

}

/*================================================

　freearea01

=================================================*/
.freearea01 {
	position: relative;
	margin: -100px auto 0;
	padding-top: 100px;
	z-index: 9;
}
.freearea01 .problem-box {
	margin: 30px 0 70px;
	padding: 0 14px;
}
.freearea01 .problem-box ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.freearea01 .problem-box li {
	position: relative;
	width: 23.239437%;
	padding-bottom: 27.230047%;
	line-height: 1;
}
.freearea01 .problem-box li { background: url("/image/problem_img01-02.svg") center center / 100% auto no-repeat; }
.freearea01 .problem-box li:nth-of-type(2) { background: url("/image/problem_img02-02.svg") center center / 100% auto no-repeat; }
.freearea01 .problem-box li:nth-of-type(3) { background: url("/image/problem_img03-02.svg") center center / 100% auto no-repeat; }

.freearea01 .problem-box li::after {
	position: absolute;
	right: calc(50% - 12px);
	bottom: -45px;
	content: '';
	width: 0;
	height: 0;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
	border-top: 22px solid #000;
}
.freearea01 .problem-box li p {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	width: 100%;
	height: 76.551724%;
	color: #D3215F;
	text-align: center;
	font-size: clamp(1rem, (100vw - 375px) * 7 / 905 + 10px, 1.7rem);
	font-weight: 900;
	line-height: 1.2;
}
.freearea01 .solution-box {
	margin: 0;
}
.freearea01 .solution-box ul {
	display: flex;
	justify-content: space-between;
}
.freearea01 .solution-box li {
	width: 25.454545%;
	line-height: 1;
}
.freearea01 .solution-box li > div {
	position: relative;
	width: 100%;
	padding-bottom: 100%;
	text-align: center;
}
.freearea01 .solution-box li > div { background: url("/image/solution_img01-02.svg") center center / 100% auto no-repeat; }
.freearea01 .solution-box li:nth-of-type(2) > div { background: url("/image/solution_img02-02.svg") center center / 100% auto no-repeat; }
.freearea01 .solution-box li:nth-of-type(3) > div { background: url("/image/solution_img03-02.svg") center center / 100% auto no-repeat; }

.freearea01 .solution-box li > div div {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	position: absolute;
	width: 100%;
	height: 60.696429%;
	text-align: center;
}
.freearea01 .solution-box li > div div p {
	color: #005BAC;
	font-size: clamp(1.2rem, (100vw - 375px) * 12 / 905 + 12px, 2.4rem);
	font-weight: 600;
	line-height: 1.3;
}
.freearea01 .solution-box li > div div strong {
	color: #005BAC;
	font-weight: 900;
}
.freearea01 .solution-box li p.text-box {
	margin: 10px 0 0;
	text-align: left;
	font-size: clamp(1rem, (100vw - 375px) * 7 / 905 + 10px, 1.7rem);
	line-height: 1.6;
}
.freearea01 .solution-box li:first-child p.text-box,
.freearea01 .solution-box li:last-child  p.text-box { margin: 10px -20px 0; }

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

	.freearea01 .solution-box li:first-child p.text-box,
	.freearea01 .solution-box li:last-child  p.text-box { margin: 0.78125% 0 0; }

}

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

	.freearea01 .problem-box {
		margin: 2.34375% 0 40px;
		padding: 0;
	}
	.freearea01 .problem-box li {
		width: 32%;
		padding-bottom: 37.5%;
	}
	.freearea01 .problem-box li::after {
		bottom: -30px;
		right: calc(50% - 10px);
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-top: 18px solid #000;
	}
	.freearea01 .solution-box {
		margin: 40px 0 5.078125%;
	}
	.freearea01 .solution-box li {
		width: 32%;
	}
	.freearea01 .solution-box li p.text-box {
		margin: 0.78125% 0 0;
	}
	.freearea01 .solution-box li:first-child p.text-box,
	.freearea01 .solution-box li:last-child  p.text-box { margin: 0.78125% 0 0; }

}

/*================================================

　freearea02

=================================================*/
.freearea02 {
	position: relative;
	margin: -100px auto 0;
	padding-top: 100px;
	background-color: #FFF;
	z-index: 5;
}
.freearea02 .freearea-inner h2 {
	margin: 0 0 20px;
	font-size: clamp(2rem, (100vw - 375px) * 15 / 905 + 20px, 3.5rem);
	font-weight: 900;
	background: linear-gradient(transparent 70%, #EAEAEA 70%);
}
.freearea02 .freearea-inner h2 strong {
	padding: 0 10px;
	color: #D3215F;
	font-size: clamp(2.5rem, (100vw - 375px) * 28 / 905 + 25px, 5.3rem);
	font-weight: 900;
}
.freearea02 .problem-box ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.freearea02 .problem-box li {
	display: flex;
	flex-direction: column;
	width: 47.727273%;
	margin: 4.5454545% 0 0;
	border: 0.5px solid #000;
}
.freearea02 .problem-box li h4 {
	position: relative;
	padding: 0 0 18.333333%;
}
.freearea02 .problem-box li h4 span {
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: clamp(1.6rem, (100vw - 600px) * 6 / 480 + 16px, 2.2rem);
	font-weight: 600;
	line-height: 1.3;
	background-color: #E0DFDF;
}
.freearea02 .problem-box li div {
	padding: 10.714286% 20px;
}
.freearea02 .problem-box li div ul {
	width: 100%;
	height: 100%;
}
.freearea02 .problem-box li div ul li {
	width: 100%;
	margin: 0;
	padding: 0 0 0 0.5em;
	text-indent: -0.25em;
	text-align: left;
	font-size: clamp(1.2rem, (100vw - 600px) * 7 / 480 + 12px, 1.9rem);
	line-height: 1.5;
	border: none;
}

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

	.freearea02 .freearea-inner h2 {
		margin: 0 0 1.5625%;
	}
	.freearea02 .freearea-inner h2 strong {
		padding: 0 0.78125%;
	}

}

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

	.freearea02 .problem-box li h4 span {
		font-size: clamp(1.6rem, (100vw - 375px) * 6 / 225 + 16px, 2.2rem);
	}
	.freearea02 .problem-box li {
		width: 100%;
	}
	.freearea02 .problem-box li div ul li {
		font-size: clamp(1.5rem, (100vw - 375px) * 5 / 225 + 15px, 2rem);
	}

}

/*================================================

　freearea03

=================================================*/
.freearea03 {
	margin: -100px auto 0;
	padding-top: 100px;
}
.freearea03 .freearea-inner h2 {
	margin: 0 0 20px;
	padding: 8px 0;
	font-size: clamp(2rem, (100vw - 375px) * 15 / 905 + 20px, 3.5rem);
	background: linear-gradient(transparent 70%, #EAEAEA 70%);
}
.freearea03 .freearea-inner h2 strong {
	padding: 0 10px;
	font-size: clamp(2.5rem, (100vw - 375px) * 28 / 905 + 25px, 5.3rem);
	color: #005BAC;
	font-weight: 900;
}
.freearea03 .freearea-inner h2 strong span {
	padding: 0 10px 0 0;
	font-size: clamp(3rem, (100vw - 375px) * 30 / 905 + 30px, 6rem);
	font-weight: 900;
}
.freearea03 .product-box ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.freearea03 .product-box li {
	display: flex;
	flex-direction: column;
	width: 47.727273%;
	margin: 4.5454545% 0 0;
	background-color: #FFF;
	border: 0.5px solid #000;
}
.freearea03 .product-box li h4 {
	position: relative;
	padding: 0 0 18.333333%;
}
.freearea03 .product-box li h4 span {
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: clamp(1.6rem, (100vw - 375px) * 6 / 905 + 16px, 2.2rem);
	font-weight: 600;
	line-height: 1.3;
	background-color: #E0DFDF;
}
.freearea03 .product-box li div {
	display: flex;
	flex-flow: column;
	justify-content: center;
	height: 100%;
	padding: 5% 20.238095%;
}
.freearea03 .product-box li div p {
	margin: 8% 0;
}

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

	.freearea03 .freearea-inner h2 {
		margin: 0 0 1.5625%;
	}
	.freearea03 .freearea-inner h2 strong {
		padding: 0 0.78125%;
	}

}

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

	.freearea03 .product-box li {
		width: 100%;
	}
	.freearea03 .product-box li h4 span {
		font-size: clamp(1.6rem, (100vw - 375px) * 6 / 225 + 16px, 2.2rem);
	}

}

/*================================================

　freearea04

=================================================*/
.freearea04 .button-box .button-catch span {
	font-weight: 700;
}
