@charset "utf-8";
html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed,figure, figcaption, footer, header, hgroup,menu, nav, output, ruby, section, summary,time, mark, audio, video {
margin: 0;padding: 0;border: 0;font-style:normal;font-weight: normal;font-size: 100%;vertical-align: baseline;}
body {
	font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	color: #231815;letter-spacing: 0;font-feature-settings: "pkna" 1;font-kerning: auto;-webkit-font-smoothing: antialiased;background: #F7F7F9;
}
html {font-size: 62.5%;}
ul ,ol {list-style: none;}
a:link ,a:visited {color: #231815;text-decoration: none;}
img {width: auto;max-width: 100%;height: auto;vertical-align: bottom;}
main {display: block;}
*.sp {display: none;}
#tmp {
	position: fixed;bottom: 20px;left: 20px;z-index: 1000;
	background: rgba(255, 255, 255, .7);display: inline-block;
	padding: 3px 10px;border-radius: 8px;
	font-size: 1.2em;line-height: 1.4;font-weight: 600;letter-spacing: 0;
}
/* ドラッグ背景 */
::selection {background: #A0CCD1;color: #fff}
::-moz-selection {background: #A0CCD1;color: #fff}

.wrap {
	max-width: 1200px;height: 100%;margin: 0 auto;padding: 0 50px;
	box-sizing: border-box;position: relative;
}

main {margin:0 0 50px;}
.flex {display: flex;flex-wrap: wrap;justify-content: space-between;}
.wrap .aside {width: 300px}
main section {
	padding: 60px 0 100px;
}
main.entry {margin: 220px 0 0}
main.entry section {padding: 0 0 160px}
main.entry.sale section {padding: 0}
.more {text-align: left;margin: 50px 0}
.more.right {text-align: right;margin: 50px 0 0}
.more a {
	display: inline-block;position: relative;
}
.more span {
	position: relative;
	display: inline-block;padding: .9rem 65px .9rem .8rem;
	font-size: 1.6rem;line-height: 1;font-weight: 400;
}
.more a span::after {
	content: "";width: 46px;height: 46px;border-radius: 50%;
	background: #FFE009 url(../img/icon/arrow.svg) no-repeat 50% 52% / 14px 5px;position: absolute;top: calc((46px - 3.4rem) / -2);right: 6px;
	transition: width .2s ease-out, height .2s ease-out, top .2s ease-out,right .2s ease-out;
	-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;
}
.more a:hover span::after {
	width: 64px;height: 64px;top: calc((64px - 3.4rem) / -2);right: -3px;
}
.more span::before {
	content: "";width: 100%;height: 1px;background: #111;
	position: absolute;bottom: 0;left: 0;z-index: 10;
}
.more.middle {margin: 0;}
.more.middle a {
	width: 100%;border-radius: 10px;background: #fff;padding: 26px 0;
	color: #111;
}
.more.middle ,
.more.big {width: 100%;text-align: center}
.more.big a {
	width: 100%;border-radius: 10px;background: #111;padding: 62px 0;
	color: #fff;
}
.more.big span::before {background: #fff}
.more.no a {background: #ddd;pointer-events: none;color: #afafaf;}
.more.no span::before {background: #afafaf;}
.more.no span::after {opacity: .3;background-color: #fff;}
.more.back {margin: 60px 0}
.more.back span {padding: .6em .5em .6em 65px}
.more.back a span::after {right: auto;left: 8px;transform: rotate(180deg);}
.more.back a:hover span::after {left: 12px;right: auto}
h1.title {
	font-size: 4.8rem;font-weight: 900;line-height: 2;
}
* h2 {
	font-size: 4.8rem;line-height: 2;font-weight: 900;
	margin: 0 0 20px;
}
* h3 {
	font-size: 2rem;line-height: 2;font-weight: 700;
}
* p {
	font-size: 1.8rem;line-height: 2;
	margin: 0 0 30px;
}
* p:last-of-type {margin: 0}
* .has-text-align-center {text-align: center}

header {
	width: 100%;height: 150px;position: absolute;top: 0;left: 0;
	z-index: 1000;box-sizing: border-box;padding: 47px 100px;
}
header .wrap {
	display: flex;justify-content: space-between;align-items: center;
}
header.is-fixed {
	position: fixed;top: 0;left: 0;
}
header .logo {
	width: 66px;height: 54px;
}
header nav ul.main {
	display: flex;gap: 15px;
	font-size: 1.4rem;line-height: 1;
}
header nav ul.main li {position: relative;z-index: 100;padding: 0 10px;}
header nav ul.main li a {display: block;padding: 10px;}
header nav ul.main li span {display: inline-block;position: relative;}
header nav ul.main li a span::before {
	content: "";width: 100%;height: 3px;background: #FFE009;
	position: absolute;bottom: -7px;left: 0;opacity: 0;transition: opacity .2s ease-out;
}
body.home header nav ul.main > li:nth-of-type(1) a span::before ,
body.post-type-archive-sale-rental header nav ul.main > li:nth-of-type(2) a span::before ,
body.category-news header nav ul.main > li:nth-of-type(3) a span::before ,
body.page-id-23 header nav ul.main > li:nth-of-type(4) a span::before ,
body.page-id-25 header nav ul.main > li:nth-of-type(5) a span::before ,
header nav ul.main li a:hover span::before {opacity: 1}
header nav ul.main li a:hover span::before {opacity: 1!important}
body.page-id-8 header .logo svg ,
body.page-id-21 header .logo svg ,
body.page-id-23 header .logo svg ,
body.post-type-archive-sale-rental header .logo svg ,
body.home header .logo svg {fill: #fff}
header.is-fixed .logo svg {fill: #231815!important}
body.page-id-8 header span ,
body.page-id-21 header span ,
body.page-id-23 header span ,
body.post-type-archive-sale-rental header span ,
body.home header span {color: #fff;}
header.is-fixed span {color: #231815!important;}
header nav ul.innav {
	display: none;min-width: 100%;padding: 20px 10px;padding-top: calc(1.4rem + 33px);
	position: absolute;top: -10px;left: 0;z-index: -1;
	background: white;border-radius: 10px;box-sizing: border-box;
}
header nav ul.main li:hover > .innav {display: block}
header nav ul.innav li {white-space: nowrap;padding: 0;margin: 6px 0 0;}
header nav ul.innav li a {
	display: block;padding: 5px;
	color: #111;text-decoration: none;text-align: center;
}
header ul.innav li a span {color: #111!important;}

footer {
	width: 100%;position: relative;padding: 155px 0 30px;
	background: url(../img/back/footer@2x.jpg) no-repeat center / cover;
}
footer .wrap {position: relative;}
footer .logo {width: 66px;height: 54px;position: absolute;top: -85px;left: 50px;}
footer .box {
	font-size: 1.6rem;line-height: 1.6;
}
footer ul {
	display: flex;flex-wrap: wrap;gap: 13px;flex-direction: column;
}
footer ul ul {
	padding: 13px 0 0 2rem;
}
footer small {
	width: 100%;display: block;margin: 80px 0 0;
	font-size: 1.2rem;line-height: 1.4;text-align: center;
}
section.mv {
	width: 100%;height: 700px;position: relative;padding: 0;margin: 0 0 60px;
	background: url(../img/back/mv01@2x.jpg) no-repeat center / cover;
}
section.mv::after {
	content: "";width: 100%;height: 100%;position: absolute;top: 0;left: 0;
	background-color: rgba(0, 0, 0, .29);
}
body.page-id-8 section.mv {background: url(../img/back/mv-service@2x.jpg) no-repeat center / cover}
body.post-type-archive-sale-rental section.mv {background: url(../img/back/sale-and-rental@2x.jpg) no-repeat center / cover}
html.webp section.mv {background: url(../img/back/mv01@2x.webp) no-repeat center / cover}
html.webp body.page-id-8 section.mv {background: url(../img/back/mv-service@2x.webp) no-repeat center / cover}
html.webp body.post-type-archive-sale-rental section.mv {background: url(../img/back/sale-and-rental@2x.webp) no-repeat center / cover}
section.mv h2.title {
	position: absolute;bottom: 50px;left: 50px;width: 600px;
	font-size: 2.4rem;font-weight: 700;line-height: 1.2;color: #fff;
}
section.mv h2.title::before {
	content: attr(data-en);white-space: pre;font-size: 6.4rem;font-weight: 900;
	position: absolute;bottom: 38px;left: 0;
}
section.mv h1.title {
	position: absolute;bottom: 50px;left: 50px;width: 850px;z-index: 10;
	font-size: 6.4rem;font-weight: 700;line-height: 1.2;color: #fff;
}
section.mv .text {
	position: absolute;top: 145px;right: 50px;z-index: 10;
}
section.mv .text h1 {
	font-size: 3.2rem;font-weight: 700;line-height: 1.1;
	writing-mode: vertical-rl;
	background: #fff;padding: 16px 8px;
}

section.aboutus {
	width: 100%;position: relative;
}
section.aboutus .flex .box {
	width: 500px;
}
section.aboutus p.tt {
	writing-mode: vertical-rl;margin: 0 0 0 70px;
	font-size: 4.8rem;line-height: 1.9;font-weight: 700;letter-spacing: .5em;
}
section.aboutus .swiper-container {
	width: 100%;overflow: hidden;margin: 100px 0;
}
.swiper-container .imgbox {
	display: flex;transition-timing-function: linear;padding: 0 0 50px;
}
.swiper-slide {
	width: 450px !important;height: 300px;flex-shrink: 0;
	border-radius: 10px;overflow: hidden;
}
.swiper-slide[data-swiper-slide-index="0"] ,
.swiper-slide[data-swiper-slide-index="2"] ,
.swiper-slide[data-swiper-slide-index="4"] ,
.swiper-slide[data-swiper-slide-index="6"] {transform: translateY(0)}
.swiper-slide[data-swiper-slide-index="1"] ,
.swiper-slide[data-swiper-slide-index="3"] ,
.swiper-slide[data-swiper-slide-index="5"] ,
.swiper-slide[data-swiper-slide-index="7"] {transform: translateY(50px)}
.swiper-slide picture img {
	display: block;width: 100%;height: 100%;object-fit: cover;
}

section.service .box:nth-child(1) {width: 500px}
section.service .box:nth-child(2) {width: 400px}
.servicelist {
	display: flex;gap: 25px;position: relative;
	max-width: 1440px;width: 100%;box-sizing: border-box;
	padding: 0 25px;margin: 100px auto;
}
.servicelist li {
	flex: 0 0 16%;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;
	transition: flex .6s ease;border-radius: 10px;z-index: 1;height: 500px;
	position: relative;
	background: url(../img/back/service01@2x.jpg) no-repeat center / cover;
}
.servicelist li::before {
	content: "";width: 100%;height: 100%;transition: background .4s ease-out;
	position: absolute;top: 0;left: 0;pointer-events: none;
	background: rgba(0, 0, 0, .3);border-radius: 10px;
}
.servicelist li:hover::before {background: rgba(0, 0, 0, 0)}
.servicelist li.large {flex: 1 1 auto}
.servicelist:hover li {flex: 0 0 16%}
.servicelist:hover li:hover {flex: 1 1 auto;z-index: 2}
section.service ul.servicelist li:nth-of-type(2) {
	background: url(../img/back/service02@2x.jpg) no-repeat center / cover;
}
section.service ul.servicelist li:nth-of-type(3) {
	background: url(../img/back/service03@2x.jpg) no-repeat center / cover;
}
section.service ul.servicelist li:nth-of-type(4) {
	background: url(../img/back/service04@2x.jpg) no-repeat center / cover;
}
section.service ul.servicelist li a {
	width: 100%;height: 100%;display: block;position: relative;
	box-sizing: border-box;padding: 25px 30px;
}
section.service ul.servicelist li .text {
	width: 100%;height: 100%;display: flex;
	align-items: flex-end;
}
section.service ul.servicelist li span {
	font-size: 1.4rem;font-weight: 700;line-height: 1.5;color: #fff;
	display: block;transition: transform .2s ease-out;will-change: transform;
}
section.service ul.servicelist li.large span ,
.servicelist:hover li:hover span {
	transform: scale(2.5);transform-origin: bottom left;
	transition: transform .2s .4s ease-out;
}
section.service ul.servicelist li.large.shrink span {
  transform: scale(1);transition: transform .2s .4s ease-out;
}
body.page-child section.servicebox {padding: 200px 0 0;}
section.servicebox ul.outline {
	width: 250px;height: 240px;background: #fff;display: flex;flex-direction: column;gap: 20px;
	padding: 40px 30px 20px 40px;box-sizing: border-box;position: relative;border-radius: 10px;
}
section.servicebox ul.outline::before {
	content: "CONTENTS";display: block;
	font-size: 1.6rem;line-height: 1;font-weight: 900;letter-spacing: .432rem;
}
section.servicebox ul.outline li {margin: 0 0 0 20px;position: relative;}
section.servicebox ul.outline li::before {
	content: "";width: 15px;height: 13px;position: absolute;left: -20px;top: 2px;
	background: url(../img/icon/icon.svg) no-repeat center / 100%;opacity: 0;
	transition: opacity .2s ease-out;
}
body.page-id-11 section.servicebox ul.outline li:nth-of-type(1):before ,
body.page-id-13 section.servicebox ul.outline li:nth-of-type(2):before ,
body.page-id-15 section.servicebox ul.outline li:nth-of-type(3):before ,
body.page-id-17 section.servicebox ul.outline li:nth-of-type(4):before ,
section.servicebox ul.outline li:hover::before {opacity: 1}
section.servicebox ul.outline span {
	font-size: 1.6rem;font-weight: 500;line-height: 1;
}
section.servicebox .box {
	width: 760px;
}
section.servicebox ol {
	display: flex;flex-wrap: wrap;flex-direction: column;gap: 100px;
	width: 100%;margin: 120px 0 0;
}
section.servicebox ol li {
	position: relative;padding: 0 0 56px;width: 100%;position: relative;counter-increment: number;
}
section.servicebox ol li::before {
	content: counter(number, decimal-leading-zero);position: absolute;top: 45px;left: 50px;z-index: 10;
	text-align: center;font-size: 80px;font-weight: 900;color: #fff;line-height: 1;
}
section.servicebox ol .img {
	width: 474px;height: 632px;overflow: hidden;border-radius: 10px;
	background: url(../img/back/service02@2x.jpg) no-repeat center / cover;
}
section.servicebox ol li:nth-of-type(2) .img {background: url(../img/back/service01@2x.jpg) no-repeat center / cover}
section.servicebox ol li:nth-of-type(3) .img {background: url(../img/back/service03@2x.jpg) no-repeat center / cover}
section.servicebox ol li:nth-of-type(4) .img {background: url(../img/back/service04@2x.jpg) no-repeat center / cover}
section.servicebox ol .text {
	background: #fff;padding: 90px 70px 65px;width: 750px;box-sizing: border-box;
	position: absolute;bottom: 0;right: 0;border-radius: 10px;
}
section.servicebox ol .text:hover .more a span::after {
	width: 64px;height: 64px;top: calc((64px - 3.4rem) / -2);right: -3px;
}
section.servicebox h1 {
	font-size: 2.4rem;line-height: 1.2;font-weight: 700;
	margin: 0 0 20px;
}
section.servicebox h2 {
	font-size: 4.6rem;font-weight: 700;line-height: 1.4;
	margin: 0 0 60px;
}
section.servicebox .order {
	width: 100%;padding: 120px 70px 80px;box-sizing: border-box;
	background: #fff;border-radius: 10px;margin: 140px 0 0;
}
section.servicebox .order h3 {
	position: relative;font-size: 3.2rem;line-height: 1.6;
}
section.servicebox .order h3 span {position: relative;z-index: 1;font-weight: 700}
section.servicebox .order h3::before {
	content: attr(data-en);color: #F7F7F9;font-size: 120px;font-weight: 900;line-height: 1;
	position: absolute;top: -70px;left: 0;z-index: 0;
}
section.servicebox .order ul.imglist {
	display: flex;flex-wrap: wrap;gap: 40px 30px;margin: 40px 0 120px;
}
section.servicebox .order ul.imglist li {width: 300px}
section.servicebox .order ul.imglist li figcaption {
	font-size: 1.8rem;line-height: 1.4;font-weight: 400;
}
section.servicebox .order ul.btn {
	display: flex;gap: 50px;margin: 20px 0 0;
}
section.servicebox .order ul.btn li {flex: 1}
section.servicebox .order ul.btn a {
	display: block;border-radius: 10px;background: #F7F7F9;
	padding: 60px;text-align: center;transition: background .2s ease-out;
}
section.servicebox .order ul.btn a:hover {
	background: #dadada;
}
section.servicebox .order ul.btn span {
	display: inline-block;padding: 0 0 0 90px;position: relative;
	font-size: 2rem;line-height: 1;font-weight: 700;
}
section.servicebox .order ul.btn span::before {
	content: "";width: 64px;height: 64px;position: absolute;left: 0;top: calc(50% - 32px);
	background: url(../img/icon/tel.svg) no-repeat center / 100%;
}
section.servicebox .order ul.btn li:nth-of-type(2) span::before {
	background: url(../img/icon/contact.svg) no-repeat center / 100%;
}
section.servicebox .contentbox {gap: 80px;margin: 120px 0 0;}
section.servicebox .contentbox.right {flex-direction: row-reverse}
section.servicebox .contentbox .img {
	width: 500px;overflow: hidden;border-radius: 10px;
}
section.servicebox .contentbox .box {
	width: 520px;
}
section.servicebox .contentbox h3 {
	font-size: 4rem;line-height: 1.5;font-weight: 900;
	margin: 0 0 50px;
}
section.servicebox .contentbox svg {margin: 0 0 50px}

section.srbox .box {
	width: 100%;display: flex;flex-wrap: wrap;gap: 100px;margin: 50px 0 0;
}
section.srbox .box:nth-child(1) {gap: 0px;margin: 0 0 200px;}
section.srbox .center {
	text-align: center;width: 100%;
}
section.srbox h2.center {line-height: 1.4;margin: 0 0 50px;}
section.srbox .box article {
	width: 500px;display: flex;flex-direction: column;gap: 30px;
}
section.srbox .box article .img p{
	font-size: 2.4rem;font-weight: 900;line-height: 1;
	position: absolute;top: -39px;left: 0;
}
section.srbox .box article .img {
	width: 100%;height: 333px;position: relative;margin: 30px 0 0;
	background: #59A1D0;
}
section.srbox .box article .img img {
	position: relative;z-index: 10;
}
section.srbox .box article .img::after {
	content: "";width: 66px;height: 54px;position: absolute;top: 140px;left: 217px;
	background: url(../img/icon/logo.svg) no-repeat center / 100%;
	filter: invert(1);
}
section.srbox .box article .text {
	background: #fff;padding: 20px;box-sizing: border-box;border-radius: 10px;
}
section.srbox .box article .text hr {
	margin: 20px 0 30px;
}
section.srbox .box article .text .sale-info__label {
	text-align: center;
}
section.srbox .box article .rental em {font-size: 1.8rem;margin: 0 20px;display: block;}
section.srbox .box article .more {
	display: inline-block;position: relative;
	border-radius: 10px;background: #FFF;padding: 20px 0;
	margin: 30px 0 0;
}
section.srbox .box article .more span {
	position: relative;
	display: inline-block;padding: .9rem 65px .9rem .8rem;
	font-size: 1.6rem;line-height: 1;font-weight: 400;
}
section.srbox .box article .more span::after {
	content: "";width: 46px;height: 46px;border-radius: 50%;
	background: #FFE009 url(../img/icon/arrow.svg) no-repeat 50% 52% / 14px 5px;position: absolute;top: calc((46px - 3.4rem) / -2);right: 6px;
	transition: width .2s ease-out, height .2s ease-out, top .2s ease-out,right .2s ease-out;
	-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;
}
section.srbox .box article a:hover .more span::after {
	width: 64px;height: 64px;top: calc((64px - 3.4rem) / -2);right: -3px;
}
section.srbox .box article .more span::before {
	content: "";width: 100%;height: 1px;background: #111;
	position: absolute;bottom: 0;left: 0;z-index: 10;
}

.sale-gallery {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* メインスライドエリア */
.sale-gallery__main {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	background: #000;
	overflow: hidden;
}

.sale-gallery__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.4s ease;
}

.sale-gallery__slide.is-active {
	opacity: 1;
}

.sale-gallery__slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover; /* cover にすると余白なし */
}

/* サムネイルエリア */
.sale-gallery__thumbs {
	display: flex;
	gap: 6px;
	height: 80px;
	overflow-x: auto;
	scrollbar-width: thin;
}

.sale-gallery__thumb {
	flex-shrink: 0;
	width: 120px;
	height: 80px;
	padding: 0;
	border: none;
	overflow: hidden;
	cursor: pointer;
	background: none;

	/* 非アクティブは暗め */
	opacity: 0.45;
	transition: opacity 0.2s ease;
}

.sale-gallery__thumb:hover {
	opacity: 0.75;
}

/* アクティブなサムネイルは明るく＋ボーダー */
.sale-gallery__thumb.is-active {
	opacity: 1;
}

.sale-gallery__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ============================================================
   sale-info: 価格＋仕様 2カラムレイアウト
   ============================================================ */

.sale-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;margin: 50px 0;
    width: 100%;
		grid-template-rows: auto; 
		 align-items: start; 
}

/* ── 左カラム: 価格 ── */
.sale-info__price-col {
    background: #fff;
    border-radius: 10px;
    padding: 50px 40px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.sale-info__price-block,
.sale-info__rental-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
}

.sale-info__label {
	font-size: 2.4rem;font-weight: bold;margin: 0;
}

.sale-info__price {
	font-size: 3.6rem;font-weight: bold;line-height: 1.2;
}

.sale-info__divider {
    border: none;
    border-top: 1px solid #e0e0e0;
    margin: 0;
}

.sale-info__rental-list {
    display: flex;flex-direction: column;
    gap: 10px 20px;
    margin: 0 0 40px;
		font-size: 2.4rem;
    text-align: left;
}

.sale-info__rental-list dt {font-weight: bold;text-align: center;margin: 30px 0 0;}
.sale-info__rental-list dt:nth-of-type(1) {margin: 15px 0 0;}

.sale-info__rental-list dd {
}
.sale-info__rental-box {
	display: flex;flex-wrap: wrap;gap: 20px;align-items: center;justify-content: center;
	font-weight: 700;
}
.sale-info__rental-box span {
	font-size: 1.6rem;line-height: 1;font-weight: 700;
	width: 6em;
}


.sale-info__note {
    font-size: 1.8rem;line-height: 1.3;
    color: #666;
    text-align: left;
}

/* ── 右カラム: 仕様 ── */
.sale-info__spec-col {
	border-radius: 10px;
	border: 1px solid #E3E3E3;
	background: #FFF;
    padding: 32px 50px;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

main.entry section.sale-info__spec-section {
    display: flex;
    flex-direction: column;
    gap: 16px;
		padding: 0 0 30px;
}

.sale-info__spec-heading {
	font-size: 1.8rem;font-weight: 500;
	display: flex;align-items: center;gap: 12px;
}
h2.sale-info__spec-heading {
	font-size: 2rem;font-weight: 700;
}

h3.sale-info__spec-heading::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #e0e0e0;
}

.sale-info__spec-list {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 20px 24px;
    margin: 0;
    font-size: 1.8rem;
}

.sale-info__spec-list dt {color: #444}
.sale-info__spec-list dd {text-align: center}

.sale-info__facility-list {
	font-size: 1.8rem;line-height: 1.4;
}

/* ── レスポンシブ ── */
@media (max-width: 768px) {
    .sale-info {
        grid-template-columns: 1fr;
    }
}

:root {
	--color-main: #3A7A9D;
	--color-sub: #fff;
	--color-bg: #F7F7F7;
	--color-border: #000;
}
.sp {display: none;}
body.page-id-23 h2 {
	font-size: 3.2rem;font-weight: 700;line-height: 1;
	margin: 0 0 50px;
}
body.page-id-23 h2::before {
	content:attr(data-en);text-transform: uppercase;
	font-size: 5rem;font-weight: 700;line-height: 1;
	display: block;margin: 0 0 55px;
}
.back-wh {
	background: #fff;padding: 180px 0 60px;
}
section.access .back-wh {padding: 100px 0 20px}
.back-wh::before {
	content: "";width: calc((100vw - 1000px) / 2);height: 100%;background: var(--color-sub);
	position: absolute;left: calc((100vw - 1100px) / 2 * -1);top: 0;
}
section.mv2 {
	position: relative;
	padding: 0;
}
section.mv2 .wrap {
	padding: 0 50px 700px;z-index: 10;position: relative;
}
section.mv2::after {
	content: "";width: 100%;height: 700px;position: absolute;bottom: 0;left: 0;
	background: url(../img/back/mv02@2x.jpg) no-repeat center / cover;z-index: 1;
}
section.mv2 span.tt {
	font-size: 3.2rem;font-weight: 700;line-height: 1.1;
	writing-mode: vertical-rl;
	background: #fff;padding: 16px 8px;
	margin: 0 0 50px;position: absolute;z-index: 11;top: 146px;right: 50px;
}
section.mv2 ul.nav {
	position: absolute;bottom: -80px;left: 50px;z-index: 11;
	background: var(--color-main);width: calc(100% - 100px);height: 80px;
	display: flex;gap: 100px;
}
section.mv2 ul.nav::before {
	content: "";width: calc((100vw - 900px) / 2);height: 80px;background: var(--color-main);
	position: absolute;left: calc((100vw - 900px) / 2 * -1);top: 0;
}
section.mv2 ul.nav li {
	padding: 25px 0;
}
section.mv2 ul.nav li span {
	color: #fff;font-size: 1.6rem;line-height: 1;
	display: block;padding: 5px 10px;position: relative;
}
section.mv2 ul.nav li span::after {
	content: "";width: 0;height: 0;
	border-style: solid;border-right: 7px solid transparent;border-left: 7px solid transparent;border-top: 11px solid #ffffff;border-bottom: 0;
	position: absolute;top: 10px;right: -10px;
}

body.page-id-23 section h2 {
	font-size: 3.2rem;font-weight: 700;
	position: relative;
}
body.page-id-23 section h2::before {
	content:attr(data-en);text-transform: uppercase;
	font-size: 5rem;font-weight: 700;line-height: 1;
	display: block;margin: 0 0 55px;
}

main section.about {padding: 0;}
section.about .text {width: 660px}
section.about p {
	font-size: 2em;line-height: 2;
	margin: 0 0 40px;
}
section.about .img {
	width: 360px;height: 480px;position: absolute;bottom: 100px;right: 50px;
	background: url(../img/back/about@2x.jpg) no-repeat center / cover;
}

section.company {
	padding: 735px 0 100px;
	position: relative;
}
section.company::before {
	content: "";width: 100%;height: 500px;position: absolute;top: 0;left: 0;
	background: var(--color-main);
}
section.company::after {
	content: "";width: calc(1100px + (100vw - 1100px) / 2);height: 500px;position: absolute;top: 135px;right: 0;
	background: url(../img/back/company@2x.jpg) no-repeat center / cover;
}
section.company dl.detail {
	background: var(--color-sub);padding: 90px 110px 65px;margin: 0 0 0 100px;
	display: flex;flex-wrap: wrap;font-size: 2em;line-height: 2;
}
section.company dl.detail dt {
	width: 210px;color: #494949;font-weight: 400;
	margin: 0 0 20px;
}
section.company dl.detail dd {
	width: 570px;margin: 0 0 20px;
	font-weight: 500;
}
section.company dl.detail dd a {font-weight: 500}

main.top section.access h2 {margin: 0 0 25px}
section.access iframe {
	width: 100%;height: 510px;
}
section.access p.link {
	font-size: 2rem;
	margin: 14px 0;
}
section.access p.link span {
	color: #494949;
	display: inline-block;width: 210px;
}
section.access p.link a {text-decoration: underline;font-weight: 500;}

main.form {
	margin: 150px 0 0;
}
main.form h1 {
	text-align: center;font-size: 4.8rem;font-weight: 900;line-height: 1;
	margin: 0 0 75px;
}
main.form section .wrap {width: 800px;}
main.form section dl {width: 600px;margin: 130px auto 0;}
main.form form.sent dl label ,
main.form form.sent dl #submit {display: none;margin: 0 0 20px;}

main.form form dl .wpcf7-response-output {
	font-size: 1.6rem;line-height: 1.4;font-weight: 700;
	text-align: center;margin: 0 0 20px;
	border-width: 4px;padding: 15px 20px;
}
main.form section dl dt {
	font-size: 1.8rem;line-height: 1.4;
	margin: 0 0 12px;
}
main.form section dl dd {margin: 0 0 40px;position: relative;}
main.form section dl label:nth-of-type(1) dd::before {
	content: "";width: 0;height: 0;position: absolute;top: calc(50% - 5px);right: 40px;z-index: 11;
	border-style: solid;border-right: 7px solid transparent;border-left: 7px solid transparent;border-top: 11px solid #231815;border-bottom: 0;
}
main.form section dl span.wpcf7-not-valid-tip {
	font-size: 1.2rem;line-height: 1;font-weight: 600;
	display: block;margin: 4px 0 0;position: absolute;bottom: -40px;left: 0;
}
input, select {-webkit-appearance: none;appearance: none;background: #fff}
main.form select,
main.form input[type="text"],
main.form input[type="email"],
main.form input[type="tel"],
main.form input[type="number"],
main.form textarea {
	width: 100%;padding: 20px;
	font-size: 1.6rem;line-height: 1.6;
	border: solid 1px #ededed;border-radius: 10px;
	box-sizing: border-box;
}
main.form input[type="submit"] {
	background: #3A7A9D;color: #fff;font-size: 1.6rem;line-height: 1.6;
	border-radius: 10px;padding: 20px 0;display: block;width: 100%;
	border: solid 1px #ededed;cursor: pointer;
	transition: background .2s ease-out;
}
main.form input[type="submit"]:hover {
	background: #2c5d7a;
}
main.entry .list article ,
.list article {
	padding: 0 0 40px;background: none;
}
.list article a {
	padding: 35px 50px 35px 90px;border-radius: 20px;background: #EEE;
	display: flex;gap: 170px;overflow: hidden;transition: background .2s ease-out;
}
.list article a:hover {
	background: #dadada;
}
.list article span.date {font-size: 1.8rem;line-height: 2;}
.list article p.title {
	font-size: 1.8rem;font-weight: 400;line-height: 2;
}

.pagerBox {
	display: block;width: 100%;margin: 100px 0;
	text-align: center;
}
ul.pager {overflow: hidden;display: inline-block}
ul.pager li {
	float: left;width: 50px;height: 50px;margin: 0 0 0 10px;position: relative;
	font-size: 2rem;text-align: center;line-height: 1;letter-spacing: 0;border-radius: 3px;
}
ul.pager li:first-child {margin: 0}
ul.pager li span {
	width: 50px;height: 50px;transition: all .2s;line-height: 1;
	display: block;padding: 1.5rem 0;border-radius: 10px;box-sizing: border-box;
	background: #fff;
}
ul.pager li.first span ,
ul.pager li.last span {
	background: #fff;
}
ul.pager li.first span::before ,
ul.pager li.last span::before {
	content: "";width: 11px;height: 11px;position: absolute;top: -100%;bottom: -100%;left: -100%;right: -100%;margin: auto;transition: all .2s;
	background: url(../img/icon/arrow00.svg) no-repeat center / 100%;pointer-events: none;opacity: .2;
}
ul.pager li.last span::before {left: -92%;right: -100%}
ul.pager li.first a span::before ,
ul.pager li.last a span::before {opacity: 1}
ul.pager li.first span::before ,
ul.pager li.last span::before {background-position: 0}
ul.pager li.last span::before {transform: rotate(180deg)}
ul.pager li.last span::before {left: -92%;right: -100%}
ul.pager li.last span svg {transform: rotate(180deg)}
ul.pager li.current span ,
ul.pager li a:hover span {background: var(--color-main);color: #fff}
ul.pager li.current span::before ,
ul.pager li a:hover span::before {filter: invert(1);}

#breadcrumb {padding: 0 0 12px;font-size: 1.2em;letter-spacing: 0;line-height: 1.2;}
#breadcrumb ul {display: flex;flex-wrap: wrap;}
#breadcrumb ul li {
	padding: 0 0 0 3em;position: relative;
}
#breadcrumb ul li::before {
	content: "";width: 9px;height: 9px;background: url(../img/icon/arrow01.svg) no-repeat center / 100%;
	position: absolute;top: .2em;left: 1em;
}
#breadcrumb ul li:first-child::before {display: none}
#breadcrumb ul li:first-child {padding: 0;}

main.entry h1.title ,
main.entry span.tt {
	font-size: 4.8rem;font-weight: 700;line-height: 1;
	display: block;margin: 0 0 50px;
}
main.entry h1 {
	font-size: 2.2em;font-weight: 700;line-height: 1.4;
}
main.entry.sale h1 {
	font-size: 4.8em;font-weight: 900;line-height: 1.4;margin: 0 0 25px;
}
main.entry time {
	font-size: 1.6em;font-weight: 700;line-height: 1;letter-spacing: 0;
	display: block;margin: 0 0 50px;
}
main.entry section article {
	background: #eee;padding: 150px 175px;
}
main.entry.sale section article {
	background: none;padding: 0;
}
.entry_main {margin: 60px 0 0;}


.related {margin: 100px 0}
.related span.title {
	font-size: 2.4em;font-weight: 700;
	display: block;margin: 0 0 20px;
}
main.entry .outline {
	background: #fafafa;padding: 50px 50px 1px;margin: 0 0 30px;border-radius: 10px;
	position: relative;box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.10);
}
main.entry .outline span.title {
	font-size: 16px;line-height: 1;
	background: #fafafa;padding: 0 1rem 0 0;
	display: inline-block;margin: 0 0 30px;position: relative;z-index: 1;
}
main.entry .outline::after {
	content: "";width: calc(100% - 100px);height: 1px;
	position: absolute;top: calc(50px + .7em);left: 50px;z-index: 0;
	background: #d9d9d9;
}
main.entry .outline input {display: none}
main.entry .outline li {margin: 0 0 20px;background: none;padding: 0;line-height: 1;font-size: 1rem;}
main.entry .outline li a {color: #111;text-decoration: underline;font-weight: 500;line-height: 1.2;font-size: 1.6em;transition: color .3s;}
main.entry .outline li a:hover {color: #009FDE;transition: color .2s;}
main.entry .outline ul ul {margin: 20px 0}
main.entry .outline ul ul li {margin: 0 0 10px 1.2rem;padding: 0;}
main.entry .outline ul li::before ,
main.entry .outline ul li::after {display: none;}
main.entry .outline ul ul li a {
	font-size: 1.4rem;font-weight: 400;
}

/* 見出し */
.entry_main h2 {
	font-size: 2em;line-height: 1.23;font-weight: 700;
	margin: 80px 0 30px;
}
.entry_main h3 {
	font-size: 1.8em;line-height: 1.23;font-weight: 900;
	margin: 80px 0 30px;position: relative;
}
.entry_main h4 {
	font-size: 1.8em;line-height: 1.23;font-weight: 700;
	margin: 60px 0 30px;position: relative;
}

/* 本文 */
.entry_main p {
	font-size: 1.6em;line-height: 2;
	margin: 0 0 30px;
}
.entry_main strong {font-weight: 700}
.entry_main em {font-style: italic}
.entry_main mark.marker {
	line-height: 1.3;
	display: inline;padding: .05em .2em;background: #BAFFED;
	background:linear-gradient(transparent 60%, #BAFFED 60%);
}
.entry_main mark.small {
	background: none;font-size: 1.2rem;
}
.entry_main a:link ,
.entry_main a:visited {
	color: #ED324C;text-decoration: underline;
}
/* 背景本文 */
.entry_main .grey-back {
	background: #F7F7F7;border-radius: 10px;padding: 20px;
}
.entry_main .grey-back p:last-child {
	margin: 0;font-size: 1.4em;
}

/* 画像 */
.entry_main figure.wp-block-image {
	margin: 0 0 30px;
}
.entry_main figure.wp-block-image figcaption {
	font-size: 1.1em;padding: .5em;background: #fafafa;
	margin: 0;
}
/* リスト */
.entry_main ol ,
.entry_main ul {list-style: none;margin: 0 0 50px;}
.entry_main ol ol ,
.entry_main ul ul {margin: 20px 0 25px;}
.entry_main li {
	font-size: 1.4rem;line-height: 1.6;
	position: relative;padding: 0 0 0 1.4em;margin: 0 0 15px;
}
.entry_main ul li:before {
	content: "";width: 10px;height: 10px;border-radius: 50%;background: #eee;
	position: absolute;left: 0;top: .3em;
}
.entry_main ol {counter-reset: li2;}
.entry_main ol li:before{
	text-align: center;font-weight: 500;line-height: 1;letter-spacing: 0;
	font-size: 1rem;padding: .2em .1em 0;
	color: #fff;background: #000;border-radius: 50%;
	position: absolute;top: .4em;left: 0;width: 1.2em;height: 1.2em;
	counter-increment: li2;content: counter(li2);
}
/* カスタムHTML */
.entry_main iframe{
	max-width: 100%;
	margin: 0 0 50px;
}
/* リンクボタン */
.linkBtn {margin: 0 0 30px}
.linkBtn a:link ,
.linkBtn a:visited {
	display: block;position: relative;background: #0091D8;border-radius: 5px;
	font-size: 14px;line-height: 1;padding: 20px 70px 20px 20px;
	color: #fff;text-decoration: none;font-weight: 700;
}
.linkBtn a::after {
	content: "";width: 20px;height: 14px;position: absolute;top: -100%;bottom: -100%;right: 30px;
	background: url(../img/icon/arrow03.svg) no-repeat center / 100%;margin: auto 0;pointer-events: none;
}
/* テーブル */
.entry_main figure.wp-block-table {margin: 0 0 50px;}
.entry_main table {
	border: none;width: 100%;line-height: 1.3;margin: 0 0 30px;
	font-size: 1.4em;border-collapse: collapse;vertical-align: middle;
}
.entry_main table td ,
.entry_main table th {
	border: solid 4px #fff;padding: 20px 20px 19px;
	background: #F7F7F7;font-weight: 500;
}
.entry_main figure.wp-block-table table {margin: 0}
.entry_main figure.wp-block-table table tr td:nth-of-type(1) ,
.entry_main figure.wp-block-table table th {
	background: #F0F0E9;font-weight: 700;
}
.entry_main figure.wp-block-table table thead + tbody tr td:nth-of-type(1) {
	background: #F7F7F7;font-weight: 500;
}

/* 製品紹介 */
.product-list {
	width: 1100px;
	margin: 140px auto;
}
.product-list .product-item {
	margin: 140px 0 0;display: flex;flex-wrap: wrap;gap: 100px;align-items: flex-start;
	border-bottom: solid 1px #d9d9d9;
}
.product-list .product-item:last-child {border-bottom: none}
.product-list .product-img {
	width: 300px;min-height: 200px;height: auto;
	background: #D9D9D9;
}
.product-list .product-info {width: 700px}
.product-list .product-info h3.product-title {
	line-height: 1.4;
}
.product-list .product-info p.product-price {
	font-size: 1.6rem;line-height: 1;
	border-radius: 5px;background: #fff;display: inline-block;padding: 10px 25px;
	margin: 17px 0 25px;
}
.product-list .product-info .product-detail {
	font-size: 1.6rem;line-height: 1.6;
}
.product-list .product-info ul.product-links {
	display: flex;flex-wrap: wrap;gap: 50px;
	margin: 35px 0;
}
.product-list .product-info ul.product-links li {
	width: 200px;
}
.product-list .product-info ul.product-links li a {
	display: block;padding: 20px 0;transition: background .2s ease-out;
	font-size: 1.6rem;line-height: 1;text-align: center;
	border-radius: 5px;background: #fff;
}
.product-list .product-info ul.product-links li a:hover {
	background: #d9d9d9;
}
.product-list .product-info ul.product-links li span {
	display: inline-block;padding: 0 0 0 33px;
	position: relative;
}
.product-list .product-info ul.product-links li span::before {
	content: "";width: 20px;height: 20px;position: absolute;left: 0;top: calc(50% - 10px);
	background: url(../img/icon/ec.svg) no-repeat center / 100%;
}
.product-list .product-info ul.product-links li.yt span::before {
	background: url(../img/icon/youtube.svg) no-repeat center / 100%;
}
.product-list .product-info ul.product-links li.pf span::before {
	background: url(../img/icon/dl.svg) no-repeat center / 100%;
}




