@charset "utf-8";

/*--------------------------------------------------------------
## 定義
--------------------------------------------------------------*/
:root {
	--font-main:
		'Noto Sans JP', 'ヒラギノ角ゴシック', 'Hiragino Sans', 'ＭＳ Ｐゴシック', 'MS PGothic',
		sans-serif;
	--size-base: 16px;
	--color-base: #fff;
	--color-main: #004aad;
	--color-accent: #0693e3;
	--color-accent2: #0a0a66;
	--color-accent3: #2f2f2f;
	--color-font: #000;
}

/*--------------------------------------------------------------
## 共通
--------------------------------------------------------------*/
body {
	width: 100%;
	font-size: var(--size-base);
	/*(=1rem)*/
	background: var(--color-base);
	color: var(--color-font);
	font-family: var(--font-main);
	line-height: 2;
	font-feature-settings: 'palt';
	letter-spacing: 0.05em;
}

h1 {
	font-size: 3rem;
}

h2 {
	font-size: 2.4rem;
	letter-spacing: 0.08em;
}

h3 {
	font-size: 1rem;
}

p {
	margin-bottom: 1rem;
}

a {
	color: var(--color-main);
	text-decoration: none;
	transition: all 0.3s;
}

a:hover {
	opacity: 0.8;
}

a img {
	transition: all 0.3s;
}

a:hover img {
	filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.2));
}

table {
	width: 100%;
}

th {
	font-weight: bold;
	background: aliceblue;
	color: #2f2f2f;
}

th,
td {
	padding: 0.5rem 1rem;
	vertical-align: middle;
	border: 1px solid #ccc;
}

/*ボタンデザイン*/
.btn {
	position: relative;
	box-sizing: border-box;
	transition: 0.3s;
	padding: 0.5rem 1.5rem;
	color: var(--color-base);
	display: inline-block;
}

.btn a:hover {
	opacity: 1;
}

.btn::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	content: '';
	background: var(--color-font);
	transform-origin: left top;
	transform: scale(0, 1);
	transition: transform 0.3s;
}

.btn:hover {
	transition: 0.3s;
	color: var(--color-base);
}

.btn:hover::before {
	transform-origin: left top;
	transform: scale(1, 1);
}

/* .btn--thin */
.btn--thin {
	font-size: 0.8rem;
	padding: 0.25rem;
}

.btn--thin:hover {
	opacity: 0.6;
}

.btn--thin:hover::before {
	transform: scale(0, 1);
}

/* ボタンカラバリ */
.btn--01 {
	background: var(--color-main);
}

.btn--02 {
	border: 1px solid var(--color-main);
	color: var(--color-main);
}

.btn--02::before {
	background: var(--color-main);
}

.btn--03 {
	border: 1px solid var(--color-accent);
	color: var(--color-accent);
}

.btn--03::before {
	background: var(--color-accent);
}

.btn--04 {
	background: var(--color-accent);
}

.btn--05 {
	background: var(--color-accent2);
}

.btn--06 {
	background: var(--color-accent3);
}

/* その他 */
.home .site-main {
	background: url(../img/top_bg.webp) no-repeat top right / contain;
}

.site-main {
	padding-top: 200px;
}

.wrap {
	width: calc(100% - 3vw);
	margin-left: 3vw;
}

.wrapper {
	width: calc(100% - 20vw);
	margin: 0 auto;
}

.flex {
	display: flex;
	flex-wrap: wrap;
}

.slick-list::before {
	position: absolute;
	content: '';
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.2);
	z-index: 10;
}

.slick-slide img {
	aspect-ratio: 1 / 1;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.txt--color {
	color: var(--color-main);
	font-weight: bold;
}

.txt--bold {
	font-weight: bold;
}

.txt--large {
	font-size: 1.4rem;
	font-weight: bold;
}

/* スクロールバーデザイン */
::-webkit-scrollbar {
	width: 10px;
}

::-webkit-scrollbar-track {
	background: var(--color-base);
	border-left: solid 1px #ececec;
}

::-webkit-scrollbar-thumb {
	background: var(--color-main);
	border-radius: 10px;
	box-shadow: inset 0 0 0 2px var(--color-base);
}

/*--------------------------------------------------------------
## header
--------------------------------------------------------------*/

/* 必要な内容をheader1.cssかheader2.cssからコピペしてまとめてください。 */

.page_title {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1;
	text-align: right;
	margin: 1.5rem 0.5rem 1.5rem 0;
}

.page_title .title_sub {
	margin: 1rem 0;
}

.page_title .title_sub::before {
	display: none;
}

.header_img.lower-page {
	text-align: right;
	margin-left: auto;
	margin-right: auto;
	width: calc(100% - 20vw);
	border-right: 2px solid var(--color-main);
	margin-right: 12vw;
}

/*--------------------------------------------------------------
## main
--------------------------------------------------------------*/
.contents {
	margin: 0 auto 12vw;
}

.contents.contents--no-mb {
	margin-bottom: 0;
}

.reason {
	background: url('../img/reason_bg.webp') no-repeat center center / contain;
}

.contents a {
	z-index: 39;
	position: relative;
}

.contents_title {
	line-height: 1.5;
	margin: 1rem auto 2rem;
	font-weight: bold;
}

.contents_title--top {
	font-size: 2.8rem;
	font-weight: bold;
}

.contents_title--top span {
	color: var(--color-main);
}

.title_sub {
	position: relative;
	display: block;
	font-size: 1rem;
	margin: 0 0 0.5rem;
	padding-left: 24px;
	letter-spacing: 0.05em;
	color: var(--color-main);
}

.title_sub::before {
	position: absolute;
	content: '';
	width: 12px;
	height: 12px;
	top: 50%;
	left: 3px;
	transform: translateY(-45%);
	background: url('../img/title_deco.png') no-repeat center center / contain;
}

.contents_title--top .title_sub {
	margin: 1rem 0;
	padding-left: 2px;
}

.contents_title--top .title_sub::before {
	display: none;
}

/*  contents--type1  */
.contents--type1 {
	width: 1180px;
	max-width: 100%;
}

/* contents01 */
.contents01 .contents_list {
	height: 8vw;
	overflow-y: scroll;
}

.contents01 .btn--01 {
	margin: 1rem;
	position: absolute;
}

/* contents02 */
.contents02.contents--type1.flex {
	align-items: center;
}

.contents02.contents--type1.flex.content-between {
	justify-content: space-between;
}

.contents--type1 .img-area.flex_child {
	width: calc(50% - 5rem);
	height: 480px;
}

.contents--type1 .img-area--sm.flex_child {
	height: 400px;
}

.contents--type1 .img-area.flex_child img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.contents--type1 .img-area .solution-img {
	margin: 24px auto 0;
	width: 100%;
	max-width: 980px;
}

.contents--type1 .img-area .solution-img--sp {
	display: none;
}

.contents--type1 .text-area.flex_child {
	width: 50%;
	margin-left: 3rem;
}

.contents--type1 .text-area .ceo-img {
	margin-left: auto;
	margin-right: 0;
	max-width: 400px;
	width: 100%;
}

.contents_list--reason {
	padding: 24px;
	background: rgba(255, 255, 255, 0.5);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-radius: 5px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.list_item {
	padding: 0.8rem 0.5rem;
	border-top: 1px solid #ddd;
}

.list_item:last-child {
	border-bottom: 1px solid #ddd;
}

.list_number {
	font-size: 0.8rem;
	font-weight: bold;
	color: var(--color-accent);
}

.list_title {
	font-size: 1.5rem;
	font-weight: bold;
	margin: 0.3rem 0 0;
	color: #555;
}

.overview-link {
	position: relative;
	margin: 64px 0 40px;
	width: 48%;
}

.overview-link a {
	position: relative;
	display: block;
	padding: 56px 2rem 1rem;
	width: 100%;
	height: 100%;
	background: #eee;
	border-radius: 3px;
	transition: all 0.3s;
}

.overview-link a::after {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	right: 2rem;
	bottom: 2.3rem;
	border-style: solid;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 10px solid #888;
	border-right: 0;
	transition: all 0.3s;
}

.overview-link a:hover {
	opacity: 0.8;
	filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.2));
}

.overview-link a:hover::after {
	transform: translateX(5px);
}

.overview-link_icon {
	position: absolute;
	border-radius: 999px;
	padding: 16px;
	border: 5px solid #eee;
	top: -48px;
	left: 1rem;
	width: 56px;
	height: 56px;
	background: #fff;
}

.overview-link_icon img {
	margin: auto;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.overview-link_title {
	font-size: 1.3rem;
	font-weight: bold;
	margin: 0.3rem 0 0;
	color: var(--color-accent);
}

.overview-link a p {
	color: var(--color-font);
}

#feature .contents_title {
	margin-bottom: 3rem;
}

#feature h3 {
	padding: 0 1rem;
	margin: 1.5rem 0;
	font-size: 1.3rem;
	font-weight: bold;
	color: #333;
	border-left: 4px solid var(--color-main);
}

.feature-catch {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.5;
	padding-bottom: 1rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid #ddd;
}

.feature-list {
	counter-reset: feature-list;
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.5rem;
	margin: 2rem 0 4rem;
}

.feature-list li {
	position: relative;
	color: #fff;
	background: linear-gradient(45deg, rgba(0, 74, 173, 1), rgba(0, 74, 173, 0.4));
	padding: 1.5rem;
	border-radius: 3px;
}

.feature-list li::before {
	counter-increment: feature-list;
	content: counter(feature-list, decimal-leading-zero);
	color: rgba(255, 255, 255, 0.2);
	display: block;
	text-align: right;
	font-size: 3.4rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 2rem;
}

.feature-list h4 {
	font-size: 1.3rem;
	font-weight: bold;
	padding-bottom: 0.3rem;
	margin-bottom: 0.5rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.feature-list p {
	margin-bottom: 0;
}

.feature-flow-list {
	counter-reset: flow-list;
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-bottom: 4rem;
}

.feature-flow-list li {
	position: relative;
	padding: 30px 20px;
}

.feature-flow-list li > * {
	position: relative;
	z-index: 1;
}

.feature-flow-list li::before {
	counter-increment: flow-list;
	content: counter(flow-list, decimal-leading-zero);
	position: absolute;
	right: 20px;
	bottom: 0;
	color: rgba(255, 255, 255, 0.2);
	font-size: 4rem;
	font-weight: bold;
	display: block;
	line-height: 1;
}
.feature-flow-list li:not(:first-child) {
	padding: 30px 20px 30px 40px;
}

.feature-flow-list li:not(:last-child)::after {
	content: '';
	position: absolute;
	top: 0;
	right: -19px;
	bottom: 0;
	width: 20px;
	height: 100%;
	clip-path: polygon(100% 50%, 0 0, 0 100%);
	z-index: 1;
}

.feature-flow-list li:nth-child(1),
.feature-flow-list li:nth-child(1)::after {
	background-color: #e6f4fc;
}
.feature-flow-list li:nth-child(2),
.feature-flow-list li:nth-child(2)::after {
	background-color: #b4dff7;
}
.feature-flow-list li:nth-child(3),
.feature-flow-list li:nth-child(3)::after {
	background-color: #83c9f1;
}
.feature-flow-list li:nth-child(4),
.feature-flow-list li:nth-child(4)::after {
	background-color: #51b3eb;
}

.feature-flow-list h4 {
	font-size: 1.2rem;
	font-weight: bold;
}

.feature-flow-list p {
	margin-bottom: 0;
}

.feature-rule-list {
	list-style: auto;
	list-style-position: inside;
	margin-bottom: 4rem;
}

.feature-box {
	padding: 2.5rem 1.5rem;
	text-align: center;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
	border-radius: 5px;
}

#feature .feature-box h3 {
	padding: 0;
	margin: 0 0 1rem 0;
	border-left: none;
}

.feature-box p {
	margin-bottom: 1.5rem;
}

.partner-link a {
	display: block;
}

.partner-link img {
	width: 100%;
	object-fit: contain;
	margin: 40px auto 0;
}

/* contents05 */
.contents05 .flex_child {
	width: calc(33.3% - 3rem);
	margin: 1.5rem;
	padding: 3rem 1.5rem;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	overflow: hidden;
	/*filterでボヤけた部分を非表示*/
	background: url(../img/contents_bk02.jpg) center / cover;
	color: var(--color-base);
}

.contents05 .flex_child::before {
	content: '';
	background: inherit;
	/*.bgImageで設定した背景画像を継承する*/
	-webkit-filter: blur(3px);
	-moz-filter: blur(3px);
	-o-filter: blur(3px);
	filter: blur(3px) brightness(70%);
	position: absolute;
	/*filterで画像の端がボヤけた分だけ位置を調整*/
	top: -3px;
	left: -3px;
	right: -3px;
	bottom: -3px;
	z-index: -1;
	/*重なり順序を一番下にしておく*/
}

.contents05 .flex_child:first-child {
	margin-left: 0;
	background: url(../img/contents_bk01.jpg) center / cover;
}

.contents05 .flex_child:last-child {
	margin-right: 0;
	background: url(../img/contents_bk03.jpg) center / cover;
}

/* contents06 */
.contents06.contents--type1.flex {
	align-items: flex-start;
	margin-bottom: 1vw;
}

.contents06 .flex_child {
	margin-right: 8vw;
}

/* contents07 */
.contents07 {
	width: calc(100% - 5vw);
	margin: 0 0 0 auto;
}

/*  contents--type2  */
.contents--type2 {
	width: 1350px;
	max-width: 100%;
}

.contents--type2.flex {
	align-items: center;
}

.contents--type2 .img-area.flex_child {
	width: 50%;
}

.contents--type2 .text-area.flex_child {
	width: calc(50% - 3rem);
	padding: 1.5rem 3rem 3rem 3rem;
	box-sizing: border-box;
}

.contents--type2 .btn {
	float: right;
}

/* contents--footer */
.contents--footer {
	margin: 4rem 0 3rem;
}

/* contents--copy */
.contents--copy {
	padding-inline: min(3%, 1.5rem);
	margin-top: 4rem;
}

.contents--copy p {
	font-size: 0.7rem;
	color: #787878;
	text-align: right;
}

/* slider */
.th-slider_item.slick-slide img {
	max-width: 100%;
	width: auto;
	height: auto;
}

.slider-th {
	margin-top: 0.5rem;
	width: 100%;
}

.slider-th_item {
	margin: 0 0.5rem;
}

.slider-th_item.slick-slide img {
	max-width: 100%;
	width: 100%;
	height: auto;
}

/*--------------------------------------------------------------
## /info/
--------------------------------------------------------------*/
.info .contents_item {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.info .contents_item--block {
	display: block;
}

.contents_item .post {
	width: calc(33% - 1.5rem);
	margin-right: 2.25rem;
	margin-bottom: 2.25rem;
}

.contents_item .post:nth-child(3n) {
	margin-right: 0;
}

.contents_item .news {
	margin-bottom: 2.25rem;
}

.thumbnail {
	text-align: center;
}

.thumbnail img {
	max-width: 100%;
	height: auto;
}

.wp-block-columns .space_sp-only {
	display: none;
}

ul.rp-list {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
}

li.list_item.related-post {
	width: calc(20% - 1rem);
	margin-right: 1.25rem;
}

li.list_item.related-post:last-child {
	margin-right: 0;
}

.page-nav {
	display: flex;
	justify-content: space-between;
}

.prev-link,
.next-link {
	display: inline-block;
	padding: 1rem;
	margin: 1rem 0;
	box-sizing: border-box;
}

.prev-link::before {
	content: '<<';
	margin-right: 0.5rem;
	font-size: 1.25rem;
}

.next-link::after {
	content: '>>';
	margin-left: 0.5rem;
	font-size: 1.25rem;
}

.entry-content h2 {
	line-height: 1.5;
	margin: 1rem auto 2rem;
	font-weight: bold;
}

.entry-content h2 span {
	position: relative;
	display: block;
	font-size: 1rem;
	margin: 0 0 0.5rem;
	padding-left: 24px;
	letter-spacing: 0.05em;
	color: var(--color-main);
}

.entry-content h2 span::before {
	position: absolute;
	content: '';
	width: 12px;
	height: 12px;
	top: 50%;
	left: 3px;
	transform: translateY(-45%);
	background: url('../img/title_deco.png') no-repeat center center / contain;
}

.entry-content h3 {
	padding: 0 1rem;
	margin: 1.5rem 0;
	font-size: 1.3rem;
	font-weight: bold;
	color: #333;
	border-left: 4px solid var(--color-main);
}

.entry-content h4 {
	font-size: 1.2rem;
	font-weight: bold;
	margin: 1.5rem 0 0.5rem;
	color: var(--color-accent2);
}

.entry-content strong {
	font-weight: bold;
}

.entry-content ul {
	list-style-type: disc;
	list-style-position: inside;
}

.entry-content ol {
	list-style-type: decimal;
	list-style-position: inside;
}

.entry-content li::marker {
	color: var(--color-accent);
}

.entry-content li {
	color: #2f2f2f;
	line-height: 2.2rem;
}

.entry-content .card-list {
	padding: 2rem 1rem 1rem;
	background: rgba(200, 200, 200, 0.2);
	border-radius: 3px;
}

.entry-content .card-list h4 {
	font-size: 1rem;
	font-weight: bold;
	text-align: center;
	margin: 1rem 0;
	color: var(--color-font);
}

.entry-content .card-list h4 span {
	display: block;
	font-size: 0.8rem;
	font-weight: normal;
	line-height: 1.2;
	color: var(--color-main);
}

.entry-content .card-list.image-size--free img {
	aspect-ratio: unset;
	object-fit: contain;
}

.entry-content .card-list img {
	aspect-ratio: 3 / 2;
	width: 100%;
	border-radius: 3px;
	object-fit: cover;
}

.entry-content .strong-list {
	list-style-type: none;
	position: relative;
	margin: 3.5rem 0 3rem;
	padding: 2rem;
	border: 2px solid var(--color-main);
	border-radius: 3px;
	background: rgba(200, 200, 200, 0.2);
}

.entry-content .strong-list::before {
	position: absolute;
	content: '当社の強み';
	padding: 0.5rem 2rem;
	top: 0;
	left: 0;
	color: #fff;
	background: var(--color-main);
	border-radius: 5px 5px 0 0;
	transform: translateY(-100%);
	letter-spacing: 0.08em;
}

.entry-content .strong-list li {
	position: relative;
	padding-left: 2rem;
	line-height: 2.5rem;
}

.entry-content .strong-list li::before {
	position: absolute;
	content: '';
	top: 0.7rem;
	left: 0;
	width: 1.3rem;
	height: 1.3rem;
	background: url(../img/strong_check-main.png) no-repeat center center / contain;
}

.entry-content .flow-list {
	list-style-type: none;
	margin: 3rem 0;
}

.entry-content .flow-list li {
	position: relative;
	margin: 0 0 3rem;
	padding: 1.8rem 2rem 1rem;
	border: 1px solid #ddd;
	border-radius: 3px;
}

.entry-content .flow-list li::after {
	position: absolute;
	content: '';
	left: 50%;
	right: 50%;
	bottom: -2.2rem;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 18px solid transparent;
	border-left: 18px solid transparent;
	border-top: 18px solid #888;
	border-bottom: 0;
	opacity: 0.7;
}

.entry-content .flow-list li:last-child::after {
	display: none;
}

.entry-content .flow-list li h4 {
	font-size: 1.3rem;
	font-weight: bold;
	margin: 0 0 0.5rem;
	color: var(--color-main);
	letter-spacing: 0.08em;
}

.entry-content .ba-content {
	padding: 1.5rem 2rem 2rem;
	border: 2px solid var(--color-main);
	border-radius: 3px;
}

.entry-content .ba-content h4 {
	color: var(--color-font);
}

.entry-content .ba-content img {
	margin: 1rem 0;
}

.entry-content .explain-content {
	margin: 0 0 1rem;
	padding: 1.2rem 1.5rem 1rem;
	background-color: aliceblue;
	border-radius: 3px;
}

.entry-content .explain-content h4 {
	font-size: 1rem;
	margin: 0 0 0.2rem;
}

.entry-content .explain-content p {
	font-size: 0.9rem;
	line-height: 1.8;
}

.entry-content .form {
	padding: 1rem 2rem;
	border-collapse: separate;
	border: 2px solid #ccc;
	border-radius: 3px;
}

.entry-content .form_items label,
.entry-content .form_items fieldset {
	display: block;
	padding: 1.2rem 0 0.5rem;
}

.entry-content .form_require {
	display: inline-block;
	font-size: 0.9rem;
	font-weight: bold;
	padding-left: 0.5rem;
	color: var(--color-accent);
}

.entry-content .form_items input,
.entry-content .form_items textarea {
	font-size: 16px;
	margin: 0.5rem 0 0;
	padding: 1rem 0.5rem;
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 3px;
	box-sizing: border-box;
}

.entry-content .wpcf7-radio {
	display: block;
}

.entry-content .wpcf7-radio .wpcf7-list-item {
	margin: 0 1rem 0 0;
}

.entry-content .wpcf7-radio .wpcf7-list-item label {
	padding: 0.5rem 0.2rem 0;
}

.entry-content .form_items input[type='radio'] {
	margin: 0 0.2rem 0 0;
	width: auto;
	vertical-align: middle;
}

.entry-content .form_items span.wpcf7-list-item-label {
	vertical-align: middle;
}

.entry-content .form_acceptance {
	text-align: center;
}

.entry-content .form_submit input {
	display: block;
	font-size: 1rem;
	font-weight: bold;
	letter-spacing: 0.08rem;
	margin: 2rem 0 0;
	padding: 1rem;
	width: 100%;
	color: #fff;
	background: var(--color-accent2);
	border: none;
	border-radius: 3px;
	cursor: pointer;
	transition: all 0.3s;
}

.entry-content .form_submit input:disabled {
	background-color: #333;
}

.entry-content .form_submit input:hover {
	opacity: 0.8;
	box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
}

.entry-content .form_submit input:disabled:hover {
	opacity: 1;
}

/*--------------------------------------------------------------
## /service/fridge-freezer/
--------------------------------------------------------------*/
.p-fridge__catch .txt--large {
	font-size: 2.4rem;
	background: linear-gradient(
		transparent 60%,
		color-mix(in srgb, var(--color-accent) 20%, transparent) 60%
	);
}

.p-fridge__catch .icon {
	font-size: 2rem;
}

.p-fridge__catch .txt--normal {
	font-size: 1.6rem;
	font-weight: bold;
	display: block;
}

ul.p-fridge__list--circle {
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	margin-top: 2rem;
}

ul.p-fridge__list--circle li {
	display: grid;
	place-items: center;
	color: #fff;
	background: var(--color-main);
	aspect-ratio: 1;
	border-radius: 50%;
}

ul.p-fridge__list--circle li p {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	line-height: 1.8;
	margin-bottom: 0;
}

ul.p-fridge__list--circle li .txt--large {
	display: block;
	font-size: 1.8rem;
	margin-bottom: 0.3rem;
}

ul.p-fridge__list--circle li .txt--border {
	font-size: 1.1rem;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.6);
}

ul.p-fridge__list--box {
	list-style-type: none;
}

ul.p-fridge__list--box li {
	position: relative;
	text-align: center;
	font-size: 1.4rem;
	font-weight: bold;
	padding: 2rem;
	line-height: 1.8;
	background-color: aliceblue;
}

ul.p-fridge__list--box .txt--normal {
	font-size: 1rem;
	font-weight: normal;
	display: block;
}

ul.p-fridge__list--box li:not(:last-child) {
	margin-bottom: 4rem;
}

ul.p-fridge__list--box li:not(:last-child)::after {
	content: '+';
	position: absolute;
	left: 50%;
	bottom: -3rem;
	transform: translateX(-50%);
	font-size: 2rem;
	line-height: 1;
}

ul.review-list {
	list-style-type: none;
	position: relative;
	margin: 3.5rem 0 3rem;
	padding: 2rem;
	border: 2px solid var(--color-main);
	border-radius: 3px;
	background: rgba(200, 200, 200, 0.2);
}

ul.review-list::before {
	position: absolute;
	content: 'お喜びの声';
	padding: 0.5rem 2rem;
	top: 0;
	left: 0;
	color: #fff;
	background: var(--color-main);
	border-radius: 5px 5px 0 0;
	transform: translateY(-100%);
	letter-spacing: 0.08em;
}

ul.review-list li {
	position: relative;
	padding-left: 2rem;
	line-height: 2.5rem;
}

ul.review-list li::before {
	position: absolute;
	content: '';
	top: 0.7rem;
	left: 0;
	width: 1.3rem;
	height: 1.3rem;
	background: url(../img/review-icon.png) no-repeat center center / contain;
}

ol.p-fridge-flow__list {
	counter-reset: flow;
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	margin-top: 2rem;
}

ol.p-fridge-flow__list li {
	position: relative;
	text-align: center;
	background: rgba(200, 200, 200, 0.2);
	padding: 30px 20px;
}

ol.p-fridge-flow__list li:not(:first-child) {
	padding: 30px 20px 30px 40px;
}

ol.p-fridge-flow__list li:not(:last-child)::after {
	content: '';
	position: absolute;
	top: 0;
	right: -19px;
	bottom: 0;
	width: 20px;
	height: 100%;
	clip-path: polygon(100% 50%, 0 0, 0 100%);
	z-index: 1;
}

ol.p-fridge-flow__list li:nth-child(1),
ol.p-fridge-flow__list li:nth-child(1)::after {
	background-color: #e6f4fc;
}

ol.p-fridge-flow__list li:nth-child(2),
ol.p-fridge-flow__list li:nth-child(2)::after {
	background-color: #b4dff7;
}

ol.p-fridge-flow__list li:nth-child(3),
ol.p-fridge-flow__list li:nth-child(3)::after {
	background-color: #83c9f1;
}

ol.p-fridge-flow__list li:nth-child(4),
ol.p-fridge-flow__list li:nth-child(4)::after {
	background-color: #51b3eb;
}

ol.p-fridge-flow__list li:nth-child(5),
ol.p-fridge-flow__list li:nth-child(5)::after {
	background-color: #38a9e9;
}

ol.p-fridge-flow__list p {
	font-size: 1.2rem;
	font-weight: bold;
	margin-bottom: 0;
}

ol.p-fridge-flow__list p::before {
	counter-increment: flow;
	content: counter(flow, decimal-leading-zero);
	color: rgba(255, 255, 255, 0.7);
	font-size: 1.8rem;
	display: block;
	line-height: 1;
	margin-bottom: 0.5rem;
}

ul.p-fridge-item__nav {
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}

ul.p-fridge-item__nav li {
	background-color: rgba(200, 200, 200, 0.2);
	padding: 2rem 1rem;
}

ul.p-fridge-item__nav a {
	display: block;
}

ul.p-fridge-item__nav p {
	color: var(--color-main);
	font-weight: bold;
	text-align: center;
}

ul.p-fridge-item__nav figure img {
	width: 100%;
	height: auto;
	display: block;
}

.p-fridge__banner {
	position: relative;
	text-align: center;
	background-color: rgba(200, 200, 200, 0.2);
	padding: 1rem;
}

.p-fridge__banner p {
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 0;
}

.p-fridge__banner .txt--color {
	color: var(--color-main);
	font-size: 2.4rem;
	margin-inline: 0.2em;
}

.p-fridge__banner .txt--copy {
	position: absolute;
	top: -30px;
	left: 10px;
	transform: rotate(-10deg);
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.6;
	background-color: var(--color-accent);
	padding: 0.2em 0.5em;
}

.p-fridge-works {
	padding: 1rem 2rem 2.5rem;
	border: 2px solid var(--color-main);
}

.p-fridge-works__ttl {
	margin-bottom: 1.5rem;
	border-bottom: 1px solid #ddd;
}

.p-fridge-works h5 {
	display: flex;
	align-items: center;
	gap: 0.5em;
}

.p-fridge-works h5::before {
	content: '';
	width: 8px;
	height: 8px;
	background-color: var(--color-main);
}

.p-fridge-works__images {
	margin-top: 2rem;
}

.p-fridge-works__images .wp-block-group__inner-container {
	display: flex;
	justify-content: center;
	gap: 4rem;
}

.p-fridge-works__images .wp-block-image {
	position: relative;
	background-color: #fff;
}

.p-fridge-works__images .wp-block-image:first-child::after {
	position: absolute;
	content: '';
	right: -2.5rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 0;
	border-left: 18px solid var(--color-main);
	border-top: 18px solid transparent;
	border-bottom: 18px solid transparent;
	opacity: 0.7;
}

.p-fridge-works__images .wp-block-image:first-child::before,
.p-fridge-works__images .wp-block-image:last-child::before {
	display: block;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 0.5rem;
}

.p-fridge-works__images .wp-block-image:first-child::before {
	content: 'Before';
}

.p-fridge-works__images .wp-block-image:last-child::before {
	content: 'After';
}

.p-fridge-links {
	display: flex;
	justify-content: space-between;
	gap: 2rem;
}

.p-fridge-links a {
	position: relative;
	display: block;
	width: 100%;
	text-align: center;
	color: #fff;
	padding: 50px 2rem 2rem;
	margin: 6rem 0 2rem;
	background-color: var(--color-main);
	border-radius: 3px;
}

.p-fridge-links__icon {
	position: absolute;
	top: -45px;
	left: 1rem;
	width: 40px;
	height: 40px;
	padding: 20px;
	background: #fff;
	border: 5px solid var(--color-main);
	border-radius: 50%;
}

.p-fridge-links__icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.p-fridge-links__ttl {
	font-size: 1rem;
	margin-bottom: 0;
}

.p-fridge-links__txt {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.8;
	margin-bottom: 0;
}

.p-fridge-links__txt.num {
	font-size: 1.8rem;
}

.p-fridge-links .txt--small {
	font-size: 0.8rem;
	font-weight: normal;
	display: block;
}

.p-fridge-item {
	background: aliceblue;
	padding: 2.5rem 2rem;
}

.p-fridge-item h4 {
	margin: 0 0 1.5rem;
}

.p-fridge-item__tabs .tab-nav {
	list-style-type: none;
	display: flex;
	gap: 0.3rem;
}

.p-fridge-item__tabs .tab-nav li {
	padding: 12px 20px;
	cursor: pointer;
	color: #fff;
	background: var(--color-main);
	border-radius: 6px 6px 0 0;
}

.p-fridge-item__tabs .tab-nav li.active {
	font-weight: bold;
	color: var(--color-main);
	background: #fff;
}

.p-fridge-item__tabs .tab-panel {
	padding: 3rem 1rem;
	display: none;
	align-items: center;
	background: #fff;
}

.p-fridge-item__tabs .tab-panel.active {
	display: flex;
}

.p-fridge-item__tabs p {
	font-size: 1.2rem;
}

.p-fridge-item__tabs .tab-img {
	flex: 0 0 30%;
	text-align: center;
}

.p-fridge-item__tabs .tab-content {
	flex: 1;
}

.p-fridge-item__tabs table th,
.p-fridge-item__tabs table td {
	text-align: center;
	padding: 1.5rem 1rem;
}

.p-fridge-item__tabs table .txt--bold {
	font-weight: bold;
}

.p-fridge-item__tabs table thead th:empty {
	background: none;
}

.p-fridge-item__tabs table tbody tr td:last-child:not(:only-child) {
	background: rgba(200, 200, 200, 0.2);
}

.p-fridge-item__columns {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	padding: 2rem;
	background: #fff;
}

.p-fridge-item__column {
	text-align: center;
}

.p-fridge-item__column p {
	color: var(--color-accent);
	font-size: 1.1rem;
	font-weight: bold;
}

.p-fridge-item__column dl {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: baseline;
	text-align: left;
	column-gap: 1rem;
	width: fit-content;
	margin-inline: auto;
}

.p-fridge-item__column dt {
	font-size: 0.8rem;
}

.p-fridge-item__column dd span {
	font-size: 1.2rem;
	font-weight: bold;
}

/*--------------------------------------------------------------
## メディアクエリ
--------------------------------------------------------------*/
@media screen and (max-width: 1280px) {
	/*  冷凍冷蔵庫ページ  */
	.entry-content .p-fridge-top__columns {
		flex-direction: column;
		gap: 2rem;
	}

	.p-fridge-top__columns .wp-block-image {
		text-align: center;
	}
}

@media screen and (max-width: 1024px) {
	.header_img.lower-page {
		top: 100px;
		width: calc(100% - 7vw);
		margin-right: 7vw;
	}

	.site-main {
		padding-top: 200px;
	}

	.wrapper {
		width: calc(100% - 3vw);
		margin: 0 3vw 0 auto;
	}

	.contents {
		margin-bottom: 20vw;
	}

	.contents.contents--no-mb {
		margin-bottom: 24px;
	}

	.contents--reason {
		flex-direction: column;
	}

	/*  contents--type1  */
	.contents--type1 {
		width: calc(100% - 205px);
		margin-left: auto;
		margin-right: 0;
	}

	/* contents01 */
	.contents01 .contents_list {
		height: 150px;
		overflow-y: scroll;
	}

	/* contents02 */
	.contents02 .img-area.flex_child {
		width: calc(45% - 2rem);
	}

	.contents02 .text-area.flex_child {
		width: 55%;
		margin-left: 2rem;
	}

	.contents02 .img-area.img-area--reason,
	.contents02 .text-area.text-area--reason {
		margin: 2.5rem 0 0;
		width: 100%;
	}

	/* contents05 */
	.contents05 .flex_child {
		width: calc(33.3% - 2rem);
		margin: 1rem;
		padding: 2rem 1rem;
	}

	/* contents07 */
	.contents07 {
		margin-bottom: 0;
	}

	/*  contents--type2  */
	.contents--type2 {
		width: calc(100% - 165px);
		margin-left: auto;
		margin-right: 0;
	}

	.contents--type2 .text-area.flex_child {
		width: calc(50% - 2rem);
		padding: 1.5rem 2rem 2rem 2rem;
		box-sizing: border-box;
	}

	.contents--footer {
		width: 100%;
		margin: 0;
	}
}

@media screen and (max-width: 959px) {
	body {
		font-size: 14px;
	}

	.wrap {
		width: calc(100% - 6vw);
		margin: 0 auto;
	}

	.wrapper {
		width: 100%;
		margin: 0 auto;
	}

	/* .contents a {
		position: static;
	} */

	/*  contents--type1,contents--type2 */
	.contents--type1,
	.contents--type2 {
		width: calc(100% - 10vw);
		margin-right: auto;
	}
	.feature-list {
		grid-template-columns: 1fr;
	}

	.feature-flow-list {
		grid-template-columns: 1fr;
	}

	.feature-flow-list li {
		padding: 30px 30px 20px;
	}

	.feature-flow-list li:not(:first-child) {
		padding: 40px 30px 20px;
	}

	.feature-flow-list li:not(:last-child)::after {
		top: auto;
		left: 0;
		right: 0;
		bottom: -19px;
		width: 100%;
		height: 20px;
		clip-path: polygon(50% 100%, 0 0, 100% 0);
	}

	.feature-flow-list li::before {
		bottom: 10px;
	}

	/*  info~ */
	.contents_item .post {
		width: calc(50% - 1rem);
		margin-right: 2rem;
		margin-bottom: 2rem;
	}

	.contents_item .post:nth-child(3n) {
		width: calc(50% - 2rem);
		margin-right: 2rem;
	}

	.contents_item .post:nth-child(2n) {
		width: calc(50% - 2rem);
		margin-right: 0;
	}

	.contents--type1 .img-area .solution-img--pc {
		display: none;
	}

	.contents--type1 .img-area .solution-img--sp {
		display: block;
	}

	.btn-area--center-sp {
		text-align: center;
	}

	/*  冷凍冷蔵庫ページ  */
	.p-fridge-links a {
		position: relative;
	}

	ol.p-fridge-flow__list {
		grid-template-columns: 1fr;
	}

	ol.p-fridge-flow__list li:not(:last-child)::after {
		top: auto;
		left: 0;
		right: 0;
		bottom: -19px;
		width: 100%;
		height: 20px;
		clip-path: polygon(50% 100%, 0 0, 100% 0);
	}

	ol.p-fridge-flow__list li {
		padding: 40px 30px 20px;
	}

	ol.p-fridge-flow__list li:not(:first-child) {
		padding: 50px 30px 20px 40px;
	}

	ul.p-fridge-item__nav {
		grid-template-columns: repeat(2, 1fr);
	}

	.p-fridge-item__tabs .tab-panel {
		flex-direction: column;
	}

	.p-fridge-item__columns {
		grid-template-columns: 1fr;
		row-gap: 1rem;
	}
}

@media screen and (max-width: 781px) {
	.wp-block-columns {
		gap: 0;
		margin: 0 0 3rem;
	}

	.wp-block-columns.reverse {
		flex-direction: column-reverse;
	}

	.wp-block-columns .space_sp-only {
		display: block;
	}

	/*  冷凍冷蔵庫ページ  */
	.p-fridge-links {
		flex-direction: column;
	}

	.p-fridge-links a {
		width: auto;
		margin: 3rem 0;
	}
}

@media screen and (max-width: 559px) {
	table,
	tbody,
	tr,
	th,
	td {
		display: block;
		width: 100%;
		text-align: center;
		box-sizing: border-box;
	}

	th,
	td {
		border-bottom: none;
	}

	tr:last-child td:last-child {
		border-bottom: 1px solid #ccc;
	}

	h2 {
		font-size: 1.7rem;
	}

	.wrap,
	.header_slider {
		margin-left: 0;
		width: 100%;
	}

	#home .branding_site-title a {
		color: var(--color-base);
	}

	.is_thin .branding_site-title a {
		transition: 0.5s;
		display: none;
	}

	.header_img.lower-page {
		top: 60px;
		margin-right: 3vw;
	}

	.site-main {
		padding-top: 80px;
	}

	.page_title {
		text-align: left;
		margin: 1.5rem 0 1.5rem 0.5rem;
		font-size: 1.2rem;
	}

	.page_title .title_sub {
		margin: 0.8rem 0;
		padding-left: 0.1rem;
	}

	.list_title {
		font-size: 1.2rem;
		margin: 0.2rem 0;
	}

	.contents {
		margin-bottom: 22vw;
	}

	.contents_title {
		margin: 1rem auto 1.5rem;
	}

	.txt--large {
		font-size: 1.2rem;
	}

	/*  contents--type1 */
	.contents--type1 .flex_child {
		width: 100%;
		margin: 0;
	}

	.contents02.contents--type1.flex {
		flex-direction: column;
	}

	.contents02 .img-area.flex_child {
		width: 100%;
		height: 350px;
		background-position: center;
	}

	.contents02 .img-area--sm.flex_child {
		margin: 0 0 2rem;
		height: auto;
	}

	.contents02 .img-area--sm.flex_child img {
		margin: auto;
		width: 60%;
		height: auto;
	}

	.contents02 .text-area.flex_child {
		width: 100%;
		margin-left: 0;
	}

	.contents--type1 .text-area .ceo-img {
		width: 80%;
	}

	.contents02 .img-area.img-area--reason,
	.contents02 .text-area.text-area--reason {
		margin: 1rem 0;
		height: auto;
	}

	/*  contents--type2 */
	.contents--type2 .img-area.flex_child {
		width: 100%;
	}

	.contents--type2 .text-area.flex_child {
		width: 100%;
		padding: 1rem 0;
		box-sizing: border-box;
	}

	.contents03.contents--type2.flex {
		flex-direction: column-reverse;
	}

	.contents07 {
		width: 100%;
		margin-bottom: 0;
	}

	.contents_title--top {
		font-size: 1.7rem;
	}

	.title_sub {
		font-size: 0.8rem;
	}

	.contents_list--reason {
		padding: 1rem;
	}

	.info .overview-link:first-child {
		margin: 20px 0 0;
	}

	.info .overview-link:last-child {
		margin: 50px 0 0;
	}

	.info .overview-link a {
		padding: 1.5rem;
	}

	.info .overview-link a::after {
		right: 1rem;
		bottom: 1.2rem;
	}

	.info .overview-link_icon {
		width: 40px;
		height: 40px;
		top: -30px;
		left: auto;
		right: 0.5rem;
	}

	.info .overview-link_title {
		font-size: 1.1rem;
	}
	.feature-catch {
		font-size: 1.4rem;
	}

	.feature-list h4 {
		font-size: 1.1rem;
	}
	.feature-list li::before {
		font-size: 2.4rem;
		margin-bottom: 1rem;
	}
	.feature-flow-list h4 {
		font-size: 1.1rem;
	}

	.feature-flow-list li::before {
		font-size: 3rem;
	}
	.feature-box p {
		text-align: left;
	}

	.partner-link img {
		margin: 20px 0 0;
	}

	/*  info~ */
	.entry-title {
		font-size: 18px;
	}

	.contents_item .post {
		width: 100%;
	}

	.contents_item .post:nth-child(3n) {
		width: 100%;
		margin-right: 0;
	}

	.contents_item .post:nth-child(2n) {
		width: 100%;
	}

	.wp-block-columns {
		margin: 0 0 2rem;
	}

	.entry-content h2 {
		margin: 1rem 0;
	}

	.entry-content h3 {
		line-height: 2rem;
		border-left: 2px solid var(--color-main);
	}

	.entry-content h4 {
		font-size: 1.1rem;
		margin: 1rem 0 0.5rem;
	}

	.entry-content .card-list.image-size--free {
		padding: 1rem;
	}

	.entry-content .card-list.image-size--free img {
		padding: 1rem 0 0;
	}

	.entry-content .ba-content {
		padding: 0.5rem 1.5rem;
	}

	.entry-content .flow-list li {
		padding: 1rem 1.2rem 0.5rem;
	}

	.entry-content .flow-list li h4 {
		font-size: 1.1rem;
		margin: 0.5rem 0 0.2rem;
	}

	.entry-content .strong-list {
		padding: 1rem;
	}

	.entry-content .strong-list::before {
		padding: 0.5rem 1.5rem;
	}

	.entry-content .strong-list li {
		margin-bottom: 1rem;
		padding-left: 1.3rem;
		line-height: 2rem;
	}

	.entry-content .strong-list li:last-child {
		margin-bottom: 0;
	}

	.entry-content .strong-list li::before {
		top: 0.6rem;
		width: 0.8rem;
		height: 0.8rem;
	}

	.entry-content .form {
		padding: 1rem;
	}

	/*  冷凍冷蔵庫ページ */
	.p-fridge__catch .txt--large {
		font-size: 1.4rem;
	}

	.p-fridge__catch .icon {
		font-size: 1rem;
	}

	.p-fridge__catch .txt--normal {
		font-size: 1rem;
	}

	ul.p-fridge__list--circle {
		gap: 0.2rem;
	}

	ul.p-fridge__list--circle li p {
		font-size: 0.6rem;
	}

	ul.p-fridge__list--circle li .txt--large {
		font-size: 1rem;
	}

	ul.p-fridge__list--circle li .txt--border {
		font-size: 0.6rem;
	}

	.p-fridge__banner p {
		font-size: 1.1rem;
	}

	.p-fridge__banner .txt--color {
		font-size: 1.4rem;
	}

	.p-fridge__banner .txt--copy {
		top: -20px;
		font-size: 1rem;
	}

	ul.p-fridge__list--box li {
		font-size: 1.2rem;
		padding: 1rem;
	}

	ul.review-list {
		padding: 1rem;
	}

	ul.review-list::before {
		padding: 0.5rem 1.5rem;
	}

	ul.review-list li {
		margin-bottom: 1rem;
		padding-left: 1.3rem;
		line-height: 2rem;
	}

	ul.review-list li::before {
		top: 0.6rem;
		width: 0.8rem;
		height: 0.8rem;
	}

	.p-fridge-links__icon {
		top: -38px;
		left: 0.5rem;
		width: 26px;
		height: 26px;
	}

	ol.p-fridge-flow__list p::before {
		font-size: 1.4rem;
	}

	.p-fridge-links a {
		margin: 1.5rem 0;
		padding: 40px 2rem 2rem;
	}

	.p-fridge-links__txt {
		font-size: 1.2rem;
	}

	.p-fridge-links__txt.num {
		font-size: 1.4rem;
	}

	.p-fridge-works__images .wp-block-image:first-child::before,
	.p-fridge-works__images .wp-block-image:last-child::before {
		font-size: 1rem;
	}

	.p-fridge-works__images .wp-block-image:first-child::after {
		transform: translateY(0);
		border-left: 12px solid var(--color-main);
		border-top: 12px solid transparent;
		border-bottom: 12px solid transparent;
	}

	.p-fridge-works {
		padding: 1rem 1rem 1.5rem;
	}

	.p-fridge-item {
		padding: 1rem;
	}

	.p-fridge-item__tabs .tab-nav li {
		padding: 6px 10px;
	}

	.p-fridge-item__tabs .tab-panel {
		padding: 1rem;
	}

	.p-fridge-item__tabs p {
		font-size: 1rem;
	}

	.p-fridge-item__tabs table {
		display: table;
	}

	.p-fridge-item__tabs table tbody {
		display: table-row-group;
	}

	.p-fridge-item__tabs table tr {
		display: table-row;
	}

	.p-fridge-item__tabs table th,
	.p-fridge-item__tabs table td {
		display: table-cell;
		font-size: 0.8rem;
		padding: 12px 6px;
		min-width: 90px;
		border-bottom: 1px solid #ccc;
	}

	.p-fridge-item__columns {
		padding: 1rem;
	}
}
