@charset "UTF-8";

/* sales
---------------------------------------------------------------------------*/

/* common
---------------------------------------------------------------------------*/
:root {
	--color: #315134;
	--font-min: '秀英明朝 M{pm}', '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-min-v: '秀英明朝 M', '游明朝体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	--font-gothic: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-sans: HelveticaNeueLTPro-Md, sans-serif;
	--font-size10: clamp(10px, 0.69vw, 12px);
	--font-size11: clamp(11px, 0.76vw, 13px);
	--font-size12: clamp(12px, 0.83vw, 14px);
	--font-size13: clamp(13px, 0.90vw, 15px);
	--font-size14: clamp(13px, 0.97vw, 16px);
	--font-size15: clamp(14px, 1.04vw, 17px);
	--font-size16: clamp(14px, 1.11vw, 18px);
	--font-size17: clamp(15px, 1.18vw, 19px);
	--font-size18: clamp(15px, 1.25vw, 20px);
	--font-size19: clamp(16px, 1.32vw, 21px);
	--font-size20: clamp(16px, 1.39vw, 22px);
	--font-size21: clamp(17px, 1.46vw, 23px);
	--font-size22: clamp(17px, 1.53vw, 24px);
	--font-size23: clamp(18px, 1.59vw, 25px);
	--font-size24: clamp(18px, 1.67vw, 26px);
	--font-size25: clamp(19px, 1.73vw, 27px);
	--font-size26: clamp(19px, 1.80vw, 28px);
	--font-size27: clamp(20px, 1.87vw, 29px);
	--font-size28: clamp(20px, 1.94vw, 30px);
	--font-size29: clamp(21px, 2.01vw, 31px);
	--font-size30: clamp(21px, 2.08vw, 32px);
	--font-size31: clamp(22px, 2.15vw, 33px);
	--font-size32: clamp(22px, 2.22vw, 99px);
	--font-size52: clamp(25px, 3vw, 99px);
}

@media (max-width: 768px) {
	:root {
		--font-size10: max(0.69vw, 10px);
		--font-size11: max(0.76vw, 10px);
		--font-size12: max(0.83vw, 11px);
		--font-size13: max(0.90vw, 11px);
		--font-size14: max(0.97vw, 12px);
		--font-size15: max(1.04vw, 12px);
		--font-size16: max(1.11vw, 13px);
		--font-size17: max(1.18vw, 13px);
		--font-size18: max(1.25vw, 14px);
		--font-size19: max(1.32vw, 14px);
		--font-size20: max(1.39vw, 15px);
		--font-size21: max(1.46vw, 15px);
		--font-size22: max(1.53vw, 16px);
		--font-size23: max(1.59vw, 16px);
		--font-size24: max(1.67vw, 17px);
		--font-size25: max(1.73vw, 17px);
		--font-size26: max(1.80vw, 18px);
		--font-size27: max(1.87vw, 18px);
		--font-size28: max(1.94vw, 19px);
		--font-size29: max(2.01vw, 19px);
		--font-size30: max(2.08vw, 20px);
		--font-size30: max(2.15vw, 21px);
		--font-size30: max(2.22vw, 22px);
		--font-size52: max(3.61vw, 30px);
	}
}

body {
	background-color: #F6F6F5;
	color: #535353;
	font-family: var(--font-min);
	font-size: var(--font-size14);
	line-height: 1;
	font-feature-settings: 'palt' 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}

body.noscroll { overflow-y: scroll; position: fixed; width: 100%; }

::-moz-selection { background: #CCCCCC; color: #333333; }
::selection { background: #CCCCCC; color: #333333; }

p { font-size: var(--font-size14); line-height: 1.8; letter-spacing: 0.1em; margin-bottom: 0.5em; }
p:last-of-type { margin-bottom: 0 !important; }
address,i { font-style: normal; }

.clearfix:after { content: ''; display: block; clear:both; }

#wrap {
	position: relative;
	min-width: 360px;
	padding-bottom: 8vw;
}

.fade { opacity: 0; }

.wide { display: block; }
.narrow { display: none; }

@media (max-width: 768px) {
	#wrap { padding-bottom: 20vw; }
	.wide { display: none; }
	.narrow { display: block; }
}

/* #loading
------------------------------------*/
#loading {
	display: block;
	opacity: 1;
	position: fixed;
	top: 50%;
	left: 50%;
	border: 1px solid rgba(0,0,0,0.5);
	border-top-color: transparent;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	z-index: 99999;
	animation: spin .4s infinite linear;
}
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* link
------------------------------------*/
a { color: #000000; text-decoration: none; transition: .15s ease-out; -webkit-transform: translateZ(0); }
a:hover { text-decoration: none; opacity: 0.5; }


/* single
---------------------------------------------------------------------------*/
.single main {
	overflow: hidden;
	box-sizing: border-box;
	width: 100%;
}

picture {
	display: block;
	width: 100%;
}

picture img {
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

/* media query
-----------------------------------*/
@media (max-width: 320px) {
	.single main {
		padding-bottom: 13vw;
	}
}

/* footer
------------------------------------*/
footer {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 14% 2% 2%;
}

.copyright {
	font-family: var(--font-sans);
	font-size: 10px;
	letter-spacing: 0.04em;
}

@media (max-width: 768px) {
	footer {
		padding-left: 6%;
		padding-bottom: 6%;
		transform-origin: left bottom;
		transform: scale(0.8);
	}
}


/* teriha001
---------------------------------------------------------------------------*/
section p {
	font-size: var(--font-size18);
}

#contents {
	position: relative;
	max-width: 1600px;
	margin: 0 auto;
	padding: 13% 0 21vw;
}

#contents > * {
	position: relative;
	z-index: 1;
}

#contents .bg {
	position: absolute;
	top: 17vw;
	left: 50%;
	transform: translateX(-50%);
	width: 88%;
	height: calc(100% - 17vw);
	z-index: 0;
	opacity: 0.6;
}

#contents .bg > div {
	width: 100%;
}

#contents .bg-mid {
	background: url(../img/sales/teriha001/bg-mid@2x.jpg) repeat-y center top;
	background-size: 100% 1px;
	height: 100%;
}

#contents .bg-top { position: absolute; top: 0; left: 0; }
#contents .bg-btm { position: absolute; bottom: 0; left: 0; }

#contents .bg-top img,
#contents .bg-btm img {
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

@media (max-width: 768px) {
	#contents {
		padding-top: 26vw;
		padding-bottom: 30vw;
	}
	#contents .bg {
		top: 30vw;
		width: 94%;
		height: calc(100% - 30vw);
	}
}


/* .title
---------------------------------------------------------------------------*/
.title,
.slider-loop .inner img {
	height: 54.8vw;
}

.title {
	overflow: hidden;
	position: relative;
	width: 100%;
	background: url(../img/sales/teriha001/img-slide1.jpg) no-repeat left top;
	background-size: auto 100%;
}

.title .mask {
	position: absolute;
	top: 0;
	left: 0;
	background-color: #F6F6F5;
	width: 100%;
	height: 100%;
	z-index: 10;
}

.slider-loop {
	display: -webkit-box;
	display: flex;
}

.slider-loop .inner img {
	width: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.title h1 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) !important;
	width: 39.4%;
	margin-top: 0.5%;
	z-index: 1;
}

.title h1 img {
	width: 100%;
	height: auto;
}

/* .simply-scroll
------------------------------------*/
@media (max-width: 768px) {
	.title,
	.slider-loop .inner img {
		height: 280px;
	}
	.title h1 {
		width: 64%;
	}
}


/* .sec-lead
---------------------------------------------------------------------------*/
.sec-lead {
	position: relative;
	width: 62%;
	margin: 0 auto 20%;
}

.sec-lead h1 img,
.sec-lead h2 em img,
.sec-lead .share h3 img,
.sec-lead .share li img,
.sec-lead .img2 h3 img {
	width: 100%;
	height: auto;
}

.sec-lead .logo {
	position: absolute;
	top: -4%;
	right: -11%;
}

.sec-lead .logo img {
	width: 156px;
	height: auto;
	image-rendering: -webkit-optimize-contrast;
}

.sec-lead h1 {
	width: 61%;
	margin: 0 0 10% -9.5%;
}

.sec-lead .share-wrap {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	width: 69%;
	margin-bottom: 8%;
}

.sec-lead .share,
.sec-lead .share ul {
	display: -webkit-box;
	display: flex;
	width: 100%;
}

.sec-lead .share {
	align-self: flex-end;
	margin-bottom: 1.5%;
}

.sec-lead .share h3 {
	width: 20%;
	margin-right: 5%;
	align-self: center;
	transform: translateY(16%);
}

.sec-lead .share li {
	width: 14%;
	margin: 3%;
}

.sec-lead .share li a {
	display: block;
}

.sec-lead .share-wrap .img1 {
	width: 47.3%;
	min-width: 47.3%;
}

.sec-lead h2 {
	position: absolute;
	top: 14.5%;
	right: 0.5%;
	color: var(--color);
	font-size: var(--font-size32);
	line-height: 1.8;
	letter-spacing: 0.12em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.sec-lead h2 em {
	display: block;
	width: 0.5em;
	margin: 1% 0 0 0.8em;
	line-height: 0;
}

.sec-lead p {
	margin-bottom: 1.1em;
	width: 70%;
	line-height: 2.5;
	letter-spacing: 0.09em;
	text-align: justify;
}

.sec-lead p span {
	display: inline-block;
}

.sec-lead .img2 {
	position: relative;
	width: 60.5%;
	margin: 15% 0 0 -8%;
}

.sec-lead .img2 h3 {
	position: absolute;
	top: -1em;
	left: -2em;
	width: 40%;
	z-index: 2;
}

.sec-lead .img2 figure {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
}

.sec-lead .img2 figure picture:nth-of-type(1) { width: 65%; }
.sec-lead .img2 figure picture:nth-of-type(2) { width: 34.1%; }

.sec-lead .img3 {
	position: absolute;
	bottom: 9%;
	right: -11%;
	width: 27.2%;
}

.sec-lead .img3 .obj {
	position: absolute;
	bottom: -43%;
	left: -53%;
	width: 100%;
	height: auto;
	z-index: 2;
}

@media (max-width: 768px) {
	.sec-lead {
		width: 74%;
		margin-bottom: 30%;
	}
	.sec-lead h1 {
		width: 81%;
		margin: 0 0 12% -8%;
	}
	.sec-lead .logo {
		top: -8%;
		right: -10%;
	}
	.sec-lead .logo img {
		width: 70px;
		image-rendering: inherit;
	}
	.sec-lead h2 {
		position: static;
		top: inherit;
		right: inherit;
		font-size: var(--font-size28);
		line-height: 1.8;
		letter-spacing: 0.1em;
		font-feature-settings: 'palt' 1;
		writing-mode: inherit;
		white-space: inherit;
		margin-bottom: 6%;
		white-space: nowrap;
	}
	.sec-lead h2 em {
		width: 0.6em;
		height: 0;
		margin: 0 0 0.6em 0.1em;
		padding: 0;
	}
	_::-webkit-full-page-media, _:future, :root .sec-lead h2 em {
		margin-left: -0.05em;
	}
	.sec-lead h2 em img {
		display: block;
		transform-origin: left top;
		transform: rotate(-90deg);
	}
	.sec-lead h2 strong br {
		display: none;
	}
	.sec-lead .share-wrap {
		margin-bottom: 21%;
	}
	.sec-lead .share-wrap,
	.sec-lead p {
		width: 100%;
	}
	.sec-lead p {
		font-size: var(--font-size16);
		line-height: 2;
	}
	.sec-lead .share {
		display: block;
		margin-bottom: 0;
	}
	.sec-lead .share h3 {
		width: 23%;
		margin-bottom: 5.5%;
		transform: translateY(0);
	}
	.sec-lead .share ul {
		margin-left: -2%;
	}
	.sec-lead .share li {
		width: 21%;
		margin: 3%;
	}
	.sec-lead .share-wrap .img1 {
		width: 55%;
		min-width: 55%;
		margin-right: -5%;
	}
	.sec-lead .img2 {
		width: 83.5%;
		margin: 22% 0 0 -4.5%;
	}
	.sec-lead .img2 h3 {
		top: -0.9em;
		width: 60%;
		left: -0.8em;
	}
	.sec-lead .img3 {
		width: 27.2%;
		bottom: 0;
		right: -7%;
	}
	.sec-lead .img3 .obj {
		bottom: -34%;
		left: -44%;
		width: 88%;
	}
}


/* .img-set-even
---------------------------------------------------------------------------*/
.img-set-even {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto 12%;
}

.img-set-even picture {
	width: 50%;
	height: auto;
}


/* .sec-interior
---------------------------------------------------------------------------*/
.sec-interior {
	margin: 0 auto 10%;
}

.sec-interior .inner {
	width: 56%;
	margin: 0 auto 6%;
}

.sec-interior .inner h2 {
	margin-bottom: 1.4em;
	color: var(--color);
	font-size: var(--font-size26);
	line-height: 1.8;
	letter-spacing: 0.15em;
}

.sec-interior .inner p {
	margin-bottom: 1em;
	font-size: var(--font-size18);
	text-align: justify;
	line-height: 2.4;
}

/* .point-list
------------------------------------*/
.point-list {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	width: 78%;
	margin: 0 auto;
	padding: 0 6%;
}

.point-list.list3 li {
	width: 31%;
	margin: 5% 3.5% 0 0;
}

.point-list.list4 li {
	width: 22.9%;
	margin: 5% 2.8% 0 0;
}

.point-list.list3 li:nth-of-type(3n),
.point-list.list4 li:nth-of-type(4n) {
	margin-right: 0;
}

.point-list h3 {
	margin: 1.5em 0 0.6em;
	color: var(--color);
	font-size: var(--font-size17);
	line-height: 1.6;
	letter-spacing: 0.14em;
}

.point-list.list4 h3 {
	margin: 1.5em 0 0.7em;
	font-size: var(--font-size17);
	letter-spacing: 0.14em;
}

.point-list p {
	font-size: var(--font-size13);
	line-height: 1.95;
	letter-spacing: 0.06em;
	text-align: justify;
}

.point-list.list3 p {
	padding-right: 3%;
}

@media (max-width: 768px) {
	.sec-interior {
		margin-bottom: 22%;
	}
	.sec-interior .inner p {
		margin-bottom: 1.2em;
		font-size: var(--font-size16);
		line-height: 2;
	}
	.sec-interior .inner {
		width: 78%;
	}
	.sec-interior .inner h2 {
		margin-bottom: 1.2em;
	}
	.point-list {
		width: 82%;
	}
	.point-list.list3 {
		margin-bottom: 4%;
	}
	.point-list li {
		width: 46.5% !important;
		margin: 10% 7% 0 0 !important;
	}
	.point-list.list3 li {
		width: 90% !important;
		margin: 12% auto 0 !important;
	}
	.point-list:not(.list3) li:nth-of-type(2n) {
		margin-right: 0 !important;
	}
	.point-list h3 {
		margin: 1.3em 0 0.7em !important;
		font-size: var(--font-size16) !important;
		text-align: center;
		letter-spacing: 0.08em !important;
	}
	.point-list.list3 h3 {
		margin: 1.4em 0 0.85em !important;
		font-size: var(--font-size22) !important;
		letter-spacing: 0.1em !important;
	}
	.point-list p {
		padding-right: 0 !important;
		font-size: var(--font-size12) !important;
		line-height: 1.9;
	}
	.point-list.list3 p {
		font-size: var(--font-size14) !important;
		line-height: 2;
	}
	.point-list p br {
		display: none;
	}
}


/* .sec-point
---------------------------------------------------------------------------*/
.sec-point {
	width: 70%;
	margin: 0 auto 14%;
}

.sec-point.point2 {
	margin-bottom: 10%;
}

.sec-point figure {
	margin-bottom: 10%;
}

.sec-point figure img {
	display: block;
	margin-bottom: 1%;
}

.sec-point .inner {
	position: relative;
	box-sizing: border-box;
	width: 78%;
	margin: 0 auto;
	padding: 0 0 0 10em;
}

.sec-point.point2 .inner {
	width: 82%;
	padding-left: 13.5em;
}

.sec-point .inner h2 {
	position: absolute;
	top: 0.4em;
	left: -2em;
	color: var(--color);
	font-size: var(--font-size28);
	font-family: var(--font-min-v);
	line-height: 1.8;
	letter-spacing: 0.08em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.sec-point.point2 .inner h2 {
	left: -1.3em;
}

.sec-point .inner h2 i {
	display: inline-block;
	margin: 0.12em 0 -0.4em;
}

.sec-point .inner p {
	font-size: var(--font-size18);
	line-height: 2.4;
	text-align: justify;
}

.sec-point.point2 .inner p {
	margin-bottom: 1.6em;
	letter-spacing: 0.09em;
}

@media (max-width: 768px) {
	.sec-point {
		width: 82%;
		margin-bottom: 16% !important;
	}
	.sec-point .inner,
	.sec-point.point2 .inner {
		width: 92%;
		padding-left: 0;
	}
	.sec-point .inner h2 {
		position: static;
		top: inherit;
		left: inherit;
		margin-bottom: 1em;
		font-size: var(--font-size26);
		font-family: var(--font-min);
		line-height: 1.8;
		letter-spacing: 0.12em;
		font-feature-settings: 'palt' 1;
		-ms-writing-mode: inherit;
		writing-mode: inherit;
	}
	.sec-point .inner p {
		margin-bottom: 1em !important;
		font-size: var(--font-size16);
		line-height: 2.1;
	}
}


/* .sec-detail
---------------------------------------------------------------------------*/
.sec-detail {
	position: relative;
	width: 88%;
	margin: 0 auto;
}

.sec-detail .map {
	position: relative;
	overflow: hidden;
	width: 87%;
	margin: 0 auto 10%;
	padding-bottom: calc(87% * 0.64);
	font-family: var(--font-gothic);
}

.sec-detail .map iframe {
	position: absolute;
	top: -140px;
	left: -300px;
	width: calc(100% + 300px);
	height: calc(100% + 140px);
	z-index: 0;
}

.sec-detail .map iframe.narrow {
	display: none;
}

.sec-detail address {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #FFFFFF;
	padding: 20px 17px 18px 19px;
	font-size: var(--font-size14);
	font-style: normal;
	letter-spacing: 0.15em;
	white-space: nowrap;
	z-index: 2;
}

@media (max-width: 768px) {
	.sec-detail .map {
		width: 92%;
		margin-bottom: 14%;
		padding-bottom: 120%;
	}
	.sec-detail .map iframe {
		top: -75px;
		left: 0px;
		width: calc(100% + 0px);
		height: calc(100% + 75px);
		z-index: 0;
	}
	.sec-detail .map iframe.wide { display: none; }
	.sec-detail .map iframe.narrow { display: block; }
	.sec-detail address {
		padding: 12px 10px 10px 12px;
		font-size: var(--font-size11);
	}
}

/* .access-list
------------------------------------*/
.access-list {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	width: 79%;
	margin: 0 auto 10%;
}

.access-list dl {
	width: 31%;
	font-size: var(--font-size14);
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.access-list dl > div {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #D6D6D6;
	margin-bottom: 22px;
	padding: 0 2px 10px 4px;
}

.access-list dt {
	color: var(--color);
}

.access-list dd {
	width: 6em;
	min-width: 6em;
	text-align: right;
	white-space: nowrap;
}

@media (max-width: 768px) {
	.access-list {
		display: block;
		width: 88%;
		margin-bottom: 24%;
	}
	.access-list dl {
		width: 100%;
		letter-spacing: 0.1em;
	}
	.access-list dl > div {
		margin-bottom: 14px;
		padding-bottom: 0;
	}
}

/* .gallery
------------------------------------*/
.gallery {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	width: 87%;
	margin: -1.76% auto 11%;
}

.gallery > a {
	width: 10.96%;
	margin: 1.76% 1.76% 0 0;
}

.gallery > a:nth-of-type(8n) {
	margin-right: 0;
}

@media (max-width: 768px) {
	.gallery {
		width: 92%;
	}
	.gallery > a {
		width: 15%;
		margin: 2% 2% 0 0 !important;
	}
	.gallery > a:nth-of-type(6n) {
		margin-right: 0 !important;
	}
}

/* .detail-main
------------------------------------*/
.detail-main {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	width: 74%;
	margin: 0 auto 10%;
	font-family: var(--font-gothic);
}

.detail-main .inner1 {
	box-sizing: border-box;
	width: 100%;
	padding-right: 8%;
}

.detail-main .price {
	margin-bottom: 2em;
}

.detail-main .price h2 {
	margin-bottom: 4%;
	font-size: var(--font-size16);
	letter-spacing: 0.12em;
}

.detail-main .price h3 {
	margin: 0 0 0.4em -0.1em;
	font-size: var(--font-size18);
	letter-spacing: 0.08em;
}

.detail-main .price h3 strong {
	font-family: var(--font-sans);
	display: inline-block;
	padding-right: 0.12em;
	font-size: var(--font-size52);
	letter-spacing: 0;
	transform: translateY(0.06em);
}

.detail-main .price p {
	font-size: var(--font-size13);
}

.detail-main .inner1 > p {
	font-size: var(--font-size17);
	line-height: 1.9;
}

.detail-main .inner2 {
	position: relative;
	width: 40%;
	min-width: 40%;
	margin-right: 1%;
	padding: 3.5% 0 0;
}

.detail-main .inner2:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: #000000;
	width: 12%;
	height: 1px;
	opacity: 0.3;
}

.detail-main .inner2 p {
	font-size: var(--font-size15);
	line-height: 1.7;
}

.detail-main .inner2 ul {
	margin-top: 1.7em;
	font-size: var(--font-size13);
	line-height: 1.9;
	letter-spacing: 0.06em;
	text-align: justify;
}

.detail-main .inner2 li {
	margin-bottom: 0.7em;
}

.detail-main .inner2 li:last-of-type {
	margin-bottom: 0;
}

@media (max-width: 768px) {
	.detail-main {
		display: block;
		width: 88%;
		margin-bottom: 14%;
	}
	.detail-main .inner1 {
		padding-right: 0;
	}
	.detail-main .price {
		margin-bottom: 1.2em;
	}
	.detail-main .price h2 {
		margin-left: 0.05em;
		font-size: var(--font-size15);
	}
	.detail-main .inner2 {
		width: 100%;
		min-width: 100%;
		margin-top: 9%;
		padding-top: 7%;
	}
	.detail-main .inner2:before {
		width: 10%;
	}
	.detail-main .inner2 ul {
		margin-top: 1.15em;
		letter-spacing: 0.05em;
	}
	.detail-main .inner2 p {
		line-height: 1.5;
	}
	.detail-main br {
		display: none;
	}
}

/* .detail-sub
------------------------------------*/
.detail-sub {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
/* 	background-color: #EEEEEE; */
	width: 72%;
/* 	max-width: 1154px; */
	margin: 0 auto 14%;
/* 	padding: 4% 5%; */
	font-family: var(--font-gothic);
}

.detail-sub dl {
/* 	max-width: calc(92% / 3); */
/* 	padding-right: 4%; */
}

.detail-sub dl:last-of-type {
	margin-bottom: 0;
	padding-right: 0;
}

.detail-sub dl > div {
	display: -webkit-box;
	display: flex;
	margin-bottom: 0.7em;
	font-size: var(--font-size14);
	line-height: 1.8;
	letter-spacing: 0.04em;
}

/*
.detail-sub dl > div:last-of-type {
	margin-bottom: 0;
}
*/

.detail-sub dt {
	color: var(--color);
}

.detail-sub dl:nth-of-type(1) dt { width: 6.5em; min-width: 6.5em; }
.detail-sub dl:nth-of-type(2) dt { width: 5.5em; min-width: 5.5em; }
.detail-sub dl:nth-of-type(3) dt { width: 12.5em; min-width: 12.5em; }

.detail-sub dd span {
	padding-left: 0.1em;
	font-size: var(--font-size11);
}

@media (min-width: 769px) and (max-width: 1280px) {
	.detail-sub dl {
		box-sizing: border-box;
		padding-right: 40px;
	}
	.detail-sub dl:nth-child(even) {
		padding-right: 0;
	}
	.detail-sub dl > div {
		box-sizing: border-box;
	}
	.detail-sub dl:last-of-type > div {
		width: 50%;
	}
	.detail-sub dl:nth-of-type(1),
	.detail-sub dl:nth-of-type(3),
	.detail-sub dl:last-of-type > div:nth-child(odd) {
		width: 65%;
	}
	.detail-sub dl:nth-of-type(2),
	.detail-sub dl:last-of-type > div:nth-child(even) {
		width: 35%;
	}
	.detail-sub dl:nth-of-type(1) dt,
	.detail-sub dl:nth-of-type(3) > div:nth-child(odd) dt { width: 12.5em; min-width: 12.5em; }
	.detail-sub dl:nth-of-type(2) dt,
	.detail-sub dl:nth-of-type(3) > div:nth-child(even) dt { width: 9.5em; min-width: 9.5em; }
	.detail-sub dl:last-of-type {
		display: -webkit-box;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 100%;
	}
}
@media (max-width: 768px) {
	.detail-sub {
		display: block;
		box-sizing: border-box;
		width: 78%;
		margin-bottom: 20%;
	}
	.detail-sub dl {
		max-width: 100%;
		margin-bottom: 0.8em;
		padding-right: 0;
	}
	.detail-sub dl > div {
		margin-bottom: 0.6em;
		line-height: 1.7;
	}
	.detail-sub dl dt {
		width: 6.5em !important;
		min-width: 6.5em !important;
		padding-right: 1em;
		padding-top: 0.1em;
		line-height: 1.5;
	}
}


/* .sec-contact
---------------------------------------------------------------------------*/
.sec-contact {
	position: relative;
	width: 72%;
/* 	max-width: 1000px; */
	margin: 0 auto;
	font-family: var(--font-gothic);
}

.sec-contact > h2 {
	margin: 0 0 3.8em -0.1em;
	color: var(--color);
	font-size: var(--font-size18);
	letter-spacing: 0.06em;
}

@media (max-width: 768px) {
	.sec-contact {
		width: 78%;
	}
	.sec-contact > h2 {
		margin-bottom: 10%;
		letter-spacing: 0.08em;
	}
}

/* .form
------------------------------------*/
.form {
	width: 65%;
}

.form table {
	width: 100%;
}

.form th {
	width: 34%;
	padding-top: 13px;
	font-size: var(--font-size16);
	line-height: 1.4;
	letter-spacing: 0.05em;
	text-align: left;
	vertical-align: top;
	font-weight: normal;
	white-space: nowrap;
color: var(--color)!important;
}

.form .radio th {
	padding-top: 18px;
}

.form th span {
	padding-left: 3px;
	font-size: var(--font-size12);
}

.form td {
	width: 66%;
	padding-bottom: 15px;
	font-size: var(--font-size14);
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.form .radio td {
	height: 55px;
}

.wpcf7-radio {
	margin-top: -12px;
}

.form td p a {
	text-decoration: underline;
}

.form input[type="text"],
.form input[type="tel"],
.form input[type="email"],
.form textarea {
	font-family: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	box-sizing: border-box;
	border-radius: 0;
	width: 100%;
	height: 48px;
	margin-bottom: 5px;
	padding: 9px 22px 7px;
	font-size: var(--font-size16);
	letter-spacing: 0.05em;
}

.form input[type="text"],
.form input[type="tel"],
.form input[type="email"],
.form textarea {
	background-color: #F3F3F3;
	border: none;
}

.form input[type="text"] {
	border-radius: 0;
}

.form input[type="radio"] {
	display: inline-block;
	margin: 0 10px 0 5px;
}

.form label {
	cursor: pointer;
}

.form .wpcf7-list-item-label {
	display: inline-block;
	transform: translateY(-1px);
}

.wpcf7-radio > span {
	display: inline-block;
	margin-top: 29px;
	padding-right: 20px;
	font-size: var(--font-size16);
	letter-spacing: 0.1em;
}

.form textarea {
	height: 345px;
	padding: 20px 20px;
}

.form .wpcf7-form-control {
	display: block !important;
}

/* Google Chrome, Safari, Android, iOS */
::-webkit-input-placeholder {
	line-height: 1.7;
	color: #9B9B9B;
}

@media (max-width: 768px) {
	.form th {
		letter-spacing: 0.1em;
	}
	.form input[type="text"],
	.form input[type="tel"],
	.form input[type="email"],
	.form textarea {
		background-color: #F0F0F0;
		padding: 8px 16px 7px;
		font-size: 16px;
	}
	.form input[type="text"],
	.form input[type="tel"],
	.form input[type="email"] {
		height: 44px;
	}
	.form .radio td {
		height: auto;
	}
}

/* .btn-submit
------------------------------------*/
.form .btn-submit {
	width: 100%;
	margin-top: 40px;
	padding: 0;
}

.form .btn-submit input {
	box-sizing: border-box;
  background: #000000;
	border: none;
	border-radius: 0;
	width: 100%;
	height: 50px;
	margin: 0;
	padding: 0;
	color: #FFFFFF;
	font-size: var(--font-size18);
	line-height: 1;
	text-align: center;
	letter-spacing: 0.12em;
	transition: .15s ease-out;
}

.form .btn-submit input:hover {
	opacity: 0.5;
}

@media (max-width: 768px) {
	.form .btn-submit {
		margin-top: 30px;
	}
	.form .btn-submit input:hover {
		opacity: 1;
	}
}

/* error
------------------------------------*/
.form .txt-error,
.wpcf7-not-valid-tip {
	display: inline-block;
	margin: 6px 0 12px 2px;
	padding: 0;
	font-size: var(--font-size11);
	line-height: 1.4;
	letter-spacing: 0.1em;
}

.screen-reader-response {
	display: none;
}

.txt-response,
.wpcf7-response-output {
	display: inline-block;
	margin: 16px 0 0 34%;
	padding: 0;
	font-size: var(--font-size14);
	letter-spacing: 0.1em;
	white-space: nowrap;
}

@media (max-width: 768px) {
	.form .txt-error,
	.wpcf7-not-valid-tip {
		font-size: var(--font-size10);
	}
	.txt-response,
	.wpcf7-response-output {
		margin: 10px 0 40px;
		line-height: 1.6;
		white-space: normal;
	}
}

/* .company
------------------------------------*/
.sec-contact .company {
	position: absolute;
	bottom: 124px;
	left: 72%;
	white-space: nowrap;
}

.sec-contact .company h3 {
	margin-bottom: 2.5em;
	font-size: var(--font-size13);
	letter-spacing: 0.18em;
}

.sec-contact .company .logo {
	margin-bottom: 2.5em;
}

.sec-contact .company a {
	display: inline-block;
	font-family: var(--font-sans);
}

.sec-contact .company address,
.sec-contact .company address + p {
	font-size: var(--font-size14);
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.sec-contact .company address {
	margin-bottom: 0.7em;
}

.sec-contact .company a {
	display: inline-block;
	position: relative;
	font-size: var(--font-size23);
	letter-spacing: 0.02em;
	margin-top: 1.4em;
}

.sec-contact .company a:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #000000;
	width: 100%;
	height: 1px;
}

@media (max-width: 1000px), (orientation: portrait) {
	.sec-contact .company {
		right: 1%;
	}
}

@media (max-width: 768px) {
	.sec-contact .company h3 {
		margin-bottom: 1.8em;
		letter-spacing: 0.08em;
	}
	.form {
		width: 100%;
	}
	.form th,
	.form td {
		display: block;
		width: 100%;
		font-size: var(--font-size15);
	}
	.form th {
		margin-bottom: 10px;
		padding-top: 0;
	}
	.form .radio th {
		padding-top: 10px;
	}
	.form td {
		padding-bottom: 16px;
	}
	.wpcf7-radio {
		margin-top: -10px;
		transform: translateY(-15px);
	}
	.sec-contact .company {
		position: inherit;
		bottom: inherit;
		left: inherit;
		right: inherit;
		padding: 0 2%;
		white-space: normal;
	}
	.sec-contact .company br {
		display: none;
	}
	.sec-contact .company .inner {
		display: -webkit-box;
		display: flex;
	}
	.sec-contact .company .logo {
		width: 48%;
	}
	.sec-contact .company .logo img {
		width: 80%;
		height: auto;
	}
	.sec-contact .company address,
	.sec-contact .company address + p {
		font-size: var(--font-size13);
		line-height: 1.7;
	}
	.sec-contact .company address {
		margin-bottom: 4px;
	}
	.sec-contact .company a {
		margin-top: 13px;
		font-size: 13px;
		letter-spacing: 0.03em;
	}
	.sec-contact .company .txt {
		width: 52%;
		margin-top: -34px;
	}
	.sec-contact .company br {
		display: block;
	}
}


/* .btn-nav
---------------------------------------------------------------------------*/
.btn-nav {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	box-sizing: border-box;
	width: 60px;
	height: 61px;
	z-index: 10000;
}

@media (max-width: 768px) {
	.btn-nav {
		display: block;
	}
}

.btn-nav div,
.btn-nav span {
	display: inline-block;
	box-sizing: border-box;
	transition: all .2s;
}

.btn-nav div {
	position: relative;
	width: 20px;
	height: 11px;
	margin: 25px 0 0 20px;
}

.btn-nav span {
	position: absolute;
	left: 0;
	background-color: #000000;
	width: 100%;
	height: 1px;
}

.btn-nav span:nth-of-type(1) { top: 0; }
.btn-nav span:nth-of-type(2) { top: 5px; }
.btn-nav span:nth-of-type(3) { bottom: 0; }

/* .btn-nav.active
------------------------------------*/
.btn-nav.active span:nth-of-type(1) { transform: translateY(5px) rotate(-25deg); }
.btn-nav.active span:nth-of-type(2) { animation: active-menu-bar02 .4s forwards; opacity: 0; }
.btn-nav.active span:nth-of-type(3) { transform: translateY(-5px) rotate(25deg); }

@-webkit-keyframes active-menu-bar02 {100%{ height: 0; }}
@keyframes active-menu-bar02 {100%{ height: 0; }}

/* .nav-sp
------------------------------------*/
.nav-sp {
	position: fixed;
	top: 0;
	left: 0;
	background: #FFFFFF;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	z-index: 9999;
	display: none;
	opacity: 0;
}

.nav-sp .inner {
/* 	overflow-y: scroll; */
	box-sizing: border-box;
	width: 100%;
	height: 100%;
/* 	-webkit-overflow-scrolling: touch; */
	text-align: center;
	white-space: nowrap;
}

.nav-sp .gnav {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	margin-top: -10%;
}

.nav-sp .gnav a {
	display: inline-block;
	font-size: var(--font-size28);
	line-height: 1.6;
	letter-spacing: 0.12em;
	padding: 13px;
}

.nav-sp .link {
	display: inline-block;
	position: absolute;
	bottom: 15%;
	left: 50%;
	transform: translateX(-50%);
	font-family: var(--font-sans);
	font-size: var(--font-size30);
}

.nav-sp .link:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 1px;
	left: 0;
	background-color: #000000;
	width: 100%;
	height: 1px;
}

/* .grecaptcha-badge
------------------------------------*/
.grecaptcha-badge {
	pointer-events: none;
	z-index: -999;
	opacity: 0;
	transition: .15s ease-out !important;
}

.grecaptcha-badge.active {
	pointer-events: auto;
	z-index: 100;
	opacity: 1;
}
