@charset "utf-8";

/*		Contents
---------------------------------------------------------------------------

	HOME							[ / ]
	はじめての方へ					[ /about/ ]
	取扱品目・価格					[ /product/ ]
	買取の流れ						[ /flow/ ]
	よくあるご質問					[ /faq/ ]
	会社概要						[ /company/ ]
	代表メッセージ					[ /company/message/ ]
	プライバシーポリシー			[ /privacy/ ]
	お問い合わせ					[ /contact/ ]
	サイトマップ					[ /sitemap/ ]

------------------------------------------------------------------------ */

/* ========================================================================
	HOME							[ / ]
======================================================================== */
#home{
	padding:100px 0 0 0;
}

@media screen and (max-width:767px){
#home{
	padding:0;
}
}


/* ----------------------------------------
	h2
---------------------------------------- */
#home h2{
	display:flex;
	flex-direction:column;
	font-weight:700;
	line-height:1;
}

#home h2 .en{
	font-size:8.0rem;
}

#home h2 .ja{
	margin:10px 0 0 0;
	font-size:2.6rem;
	color:#8e6c2b;
}

@media screen and (max-width:767px){
#home h2{
	margin:0 0 40px 0;
}

#home h2 .en{
	font-size:4.0rem;
}

#home h2 .ja{
	font-size:2.0rem;
}
}


/* ----------------------------------------
	hero
---------------------------------------- */
#home .hero{
	overflow:hidden;
	position:relative;
	height:990px;
	background:url(../../img/home/bg_hero.png) repeat-x center top;
	text-align:center;
	color:#ffffff;
}

@media screen and (max-width:767px){
#home .hero{
	height:480px;
	background-size:960px auto;
}
}


/* splide
---------------------------------------- */
#home .hero .splide{
	display:none;
	background:#000000;
}

#home .hero .splide img{
	width:100%;
	height:930px;
	object-fit:cover;
	opacity:0.5;
}

@media screen and (max-width:767px){
#home .hero .splide img{
	height:440px;
}
}


/* block
---------------------------------------- */
#home .hero .block{
	position:absolute;
	top:166px;
	left:50%;
	transform:translateX(-50%);
}

#home .hero .name{
	padding:5px 0 22px 0;
	font-size:8.8rem;
	font-weight:800;
	line-height:1;
}

#home .hero .scroll{
	padding:74px 0 0 0;
}

#home .hero .txt .ja{
	display:block;
	margin:0 0 14px 0;
	font-size:3.0rem;
	font-weight:700;
	line-height:4.2rem;
}

#home .hero .txt .en{
	display:block;
	font-size:1.6rem;
	font-weight:600;
	line-height:2.0rem;
}

@media screen and (max-width:767px){
#home .hero .block{
	top:30px;
}

#home .hero .logo img{
	width:150px;
}

#home .hero .name{
	padding:5px 0 20px 0;
	font-size:4.0rem;
}

#home .hero .scroll{
	padding:20px 0 0 0;
}

#home .hero .scroll img{
	width:80px;
}

#home .hero .txt .ja{
	margin:0 0 10px 0;
	font-size:2.0rem;
	line-height:3.0rem;
}

#home .hero .txt .en{
	font-size:1.2rem;
	line-height:1.6rem;
	white-space:nowrap;
}
}


/* illust
---------------------------------------- */
@keyframes rotation{
	0%   { transform:rotate(5deg); }
	100% { transform:rotate(-20deg); }
}

#home .hero .illust li{
	position:absolute;
	top:200px;
	left:50%;
	margin:0 0 0 500px;
	animation:rotation 1.2s steps(2, end) infinite;
}

#home .hero .illust li:nth-child(2){
	top:auto;
	left:auto;
	bottom:108px;
	right:50%;
	margin:0 335px 0 0;
}

#home .hero .illust li img{
	max-width:none;
}

@media screen and (max-width:767px){
#home .hero .illust li{
	top:50px;
	margin:0 0 0 60px;
}

#home .hero .illust li:nth-child(2){
	bottom:50px;
	margin:0 20px 0 0;
}

#home .hero .illust li img{ width:280px; }
#home .hero .illust li:nth-child img{ width:323px; }
}


/* ----------------------------------------
	about
---------------------------------------- */
#home .about{
	position:relative;
	padding:0 60px;
	background:url(../../img/home/bg_about01.png) repeat-x center top #0f3159;
	color:#ffffff;
}

#home .about h2{
	margin:0 0 40px 0;
	padding:0 0 0 100px;
}

#home .about h2::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:80px;
	height:80px;
	background:url(../../img/common/logo.svg) no-repeat left center;
	filter:invert(81%) sepia(51%) saturate(2%) hue-rotate(133deg) brightness(112%) contrast(101%);
}

#home .about p{
	max-width:750px;
	margin:0 0 50px 0;
	font-weight:700;
}

#home .about p span{
	background:linear-gradient(transparent 65%, rgba(15,49,89,1) 65%);
}

#home .about p.lead{
	margin:0 0 35px 0;
	font-size:8.0rem;
	line-height:1;
}

#home .about p.lead span{
	display:inline-block;
	margin:0 0 5px 0;
	padding:0 0 10px 0;
	background:none;
	border-bottom:5px solid #ffffff;
}

#home .about ul{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:0 28px;
	max-width:1308px;
	margin:0 auto;
}

#home .about ul li{
	display:flex;
	justify-content:center;
	align-items:center;
	aspect-ratio:1/1;
	border:1px solid #ffffff;
	border-radius:50%;
	text-align:center;
}

#home .about dl dt{
	position:relative;
	margin:0 0 20px 0;
	padding:0 0 8px 0;
	font-size:4.0rem;
	font-weight:700;
	line-height:1;
}

#home .about dl dt::before{
	content:"";
	position:absolute;
	bottom:0;
	left:50%;
	transform:translateX(-50%);
	width:23px;
	height:3px;
	background:#ffffff;
}

#home .about dl dd{
	font-size:clamp(2.0rem, 1.5vw, 2.4rem); /* 1600px */
	line-height:clamp(3.0rem, 2.25vw, 3.6rem); /* 1600px */
	font-weight:700;
}
#home .about ul li:nth-child(2) dl dd,
#home .about ul li:nth-child(4) dl dd{ padding:0.75em 0; }

#home .about dl dd span{
	background:linear-gradient(transparent 65%, rgba(63,102,147,1) 65%);
}

#home .about dl dd span.note{
	display:block;
	background:none;
	font-size:1.6rem;
}

@media screen and (max-width:767px){
#home .about{
	padding:0 20px;
	background-size:960px auto;
}

#home .about h2{
	padding:0 0 0 60px;
	line-height:5.0rem;
}

#home .about h2::before{
	width:50px;
	height:50px;
}

#home .about p{
	margin:0 0 40px 0;
}

#home .about p.lead{
	font-size:4.0rem;
}

#home .about p.lead span{
	border-bottom:4px solid #ffffff;
}

#home .about ul{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:10px 0;
}

#home .about ul li{
	width:calc(50% - 5px);
}

#home .about dl dt{
	margin:0 0 15px 0;
	font-size:3.0rem;
}

#home .about dl dd{
	font-size:clamp(1.0rem, 3.125vw, 2.4rem); /* 768px */
	line-height:clamp(2.0rem, 4.6875vw, 3.6rem); /* 768px */
}

#home .about dl dd span.note{
	font-size:clamp(1.0rem, 2.0833vw, 1.6rem); /* 768px */
}
}


/* inner
---------------------------------------- */
#home .about .inner{
	overflow:hidden;
	width:auto;
	max-width:1800px;
	padding:270px 200px 300px;
	background:#000000;
	border-radius:20px;
}

#home .about .inner::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:url(../../img/home/bg_about02.jpg) no-repeat center;
	background-size:cover;
	opacity:0.5;
}

#home .about .inner::after{
	content:"";
	position:absolute;
	bottom:50%;
	right:0;
	width:396px;
	height:418px;
	margin:0 0 -80px 0;
	background:url(../../img/home/logo_about.png) no-repeat center;
}

#home .about .inner > *{
	position:relative;
}

@media print, screen and (min-width:768px) and (max-width:1600px){
#home .about .inner{
	padding:270px 100px 300px;
}
}

@media screen and (max-width:767px){
#home .about .inner{
	padding:60px 20px;
}

#home .about .inner::after{
	bottom:auto;
	top:140px;
	width:132px;
	height:140px;
	margin:0;
	background-size:132px auto;
}
}


/* widget_btn
---------------------------------------- */
#home .about .widget_btn{
	justify-content:flex-start;
	margin:0 0 170px 0;
}

#home .about .widget_btn a{
	min-width:310px;
	min-height:74px;
}

@media screen and (max-width:767px){
#home .about .widget_btn{
	margin:0 0 60px 0;
}

#home .about .widget_btn a{
	min-width:auto;
	min-height:70px;
}
}


/* ----------------------------------------
	marquee
---------------------------------------- */
@keyframes marquee_01{
	0%  { transform:translateX(100%); }
	100%{ transform:translateX(-100%); }
}

@keyframes marquee_02{
	0%  { transform:translateX(0); }
	100%{ transform:translateX(-200%); }
}

#home .marquee{
	overflow:hidden;
}

#home .marquee ul{
	display:flex;
	align-items:center;
	height:296px;
	background:#0f3159;
}

#home .marquee ul li{
	animation:marquee_01 60s linear -30s infinite;
	display:flex;
	font-size:8.8rem;
	font-weight:700;
	color:#ffffff;
	line-height:1;
	white-space:nowrap;
}
#home .marquee ul li:nth-child(even){ animation:marquee_02 60s linear infinite; }

#home .marquee ul li span{
	padding:0 40px;
}

@media screen and (max-width:767px){
#home .marquee ul{
	height:120px;
	padding:0 0 10px 0;
}

#home .marquee ul li{
	font-size:4.0rem;
}

#home .marquee ul li span{
	padding:0 10px;
}
}


/* ----------------------------------------
	product
---------------------------------------- */
#home .product{
	padding:180px 0 100px 0;
	background:url(../../img/home/bg_product01.png) no-repeat left top, url(../../img/home/bg_product02.png) no-repeat right bottom 8px;
}

#home .product h2{
	padding:131px 0 60px 0;
	text-align:center;
}

#home .product h2::before{
	content:"";
	position:absolute;
	top:0;
	left:50%;
	transform:translateX(-50%);
	width:106px;
	height:106px;
	background:url(../../img/common/logo.svg) no-repeat center;
	filter:invert(15%) sepia(94%) saturate(808%) hue-rotate(184deg) brightness(90%) contrast(98%);
}

#home .product h2 .ja{
	margin:20px 0 0 0;
}

#home .product p{
	margin:0 0 80px 0;
	text-align:center;
	font-weight:700;
}

#home .product dl{
	margin:0 0 100px 0;
}

#home .product dl dt{
	margin:0 0 30px 0;
	text-align:center;
	font-size:2.4rem;
	font-weight:700;
	line-height:1;
}

#home .product dl dd{
	display:flex;
	justify-content:center;
}

#home .product dl dd ul li{
	padding:0 0 0 1.0em;
	text-indent:-1.0em;
}

@media screen and (max-width:767px){
#home .product{
	padding:60px 0 20px 0;
	background-size:571px 486px, 492px 524px;
}

#home .product h2{
	padding:70px 0 0 0;
}

#home .product h2::before{
	width:60px;
	height:60px;
}

#home .product h2 .ja{
	margin:10px 0 0 0;
}

#home .product p{
	margin:0 0 40px 0;
	text-align:left;
}

#home .product dl{
	margin:0 0 40px 0;
	padding:20px 0 0 0;
}

#home .product dl dt{
	margin:0 0 20px 0;
	font-size:2.0rem;
}
}


/* ----------------------------------------
	client
---------------------------------------- */
#home .client{
	overflow:hidden;
	padding:0 0 220px 0;
	background:url(../../img/home/bg_client.png) no-repeat left 40px;
}

#home .client h2{
	padding:105px 0 50px 0;
	text-align:center;
}

#home .client h2::before{
	content:"";
	position:absolute;
	top:0;
	left:50%;
	transform:translateX(-50%);
	width:80px;
	height:80px;
	background:url(../../img/common/logo.svg) no-repeat center;
	filter:invert(15%) sepia(94%) saturate(808%) hue-rotate(184deg) brightness(90%) contrast(98%);
}

#home .client h2 .en{
	font-size:3.6rem;
	color:#8e6c2b;
}

#home .client h2 .ja{
	margin:20px 0 0 0;
	font-size:5.0rem;
	color:#222222;
}

#home .client p{
	margin:0 0 80px 0;
	text-align:center;
	font-size:2.0rem;
}

@media screen and (max-width:767px){
#home .client{
	padding:0 20px 20px;
	background-size:516px 610px;
}

#home .client h2{
	padding:70px 0 0 0;
}

#home .client h2::before{
	width:60px;
	height:60px;
}

#home .client h2 .en{
	font-size:2.4rem;
}

#home .client h2 .ja{
	margin:10px 0 0 0;
	font-size:3.0rem;
	line-height:4.0rem;
}

#home .client p{
	margin:0 0 40px 0;
	text-align:left;
	font-size:1.8rem;
}
}


/* box
---------------------------------------- */
#home .client .box{
	position:relative;
	padding:80px 0 20px 0;
}

#home .client .box::before{
	content:"";
	position:absolute;
	top:0;
	left:50%;
	transform:translateX(-50%);
	width:1400px;
	height:100%;
	background:#ffffff;
	border-radius:20px;
}

@media screen and (max-width:767px){
#home .client .box{
	padding:60px 0 20px 0;
	background:#ffffff;
	border-radius:20px;
}

#home .client .box::before{
	content:none;
}
}


/* list
---------------------------------------- */
#home .client .list{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:0 100px;
	background:#eaeaea;
	margin:0 0 40px 0;
	padding:70px 280px;
	line-height:4.0rem;
}

@media screen and (max-width:767px){
#home .client .list{
	padding:40px 20px;
	grid-template-columns:none;
	place-content:center;
}
}


/* widget_bnr
---------------------------------------- */
#home .client .widget_bnr li:first-child{ width:560px; }
#home .client .widget_bnr li:first-child a{ height:280px; }

@media screen and (max-width:767px){
#home .client .widget_bnr li:first-child{ width:100%; }
#home .client .widget_bnr li:first-child a{ height:200px; }
}


/* ----------------------------------------
	access
---------------------------------------- */
#home .access{
	padding:210px 0 110px 0;
	background:url(../../img/home/bg_access01.png) no-repeat left top, url(../../img/home/bg_access02.png) no-repeat right bottom 58px, #0f3159;
	color:#ffffff;
}

#home .access h2{
	position:absolute;
	top:20px;
	left:0;
	padding:5px 0 0 14px;
}
#home .access h2 span{ color:#ffffff; }

#home .access h2::before{
	content:"";
	position:absolute;
	top:0;
	left:-98px;
	width:92px;
	height:92px;
	background:url(../../img/common/logo.svg) no-repeat center;
	filter:invert(81%) sepia(51%) saturate(2%) hue-rotate(133deg) brightness(112%) contrast(101%);
}

#home .access p{
	margin:0 0 40px 0;
	text-align:center;
}

@media print, screen and (min-width:768px) and (max-width:1500px){
#home .access h2{
	margin:0 0 0 98px;
}
}

@media screen and (max-width:767px){
#home .access{
	padding:60px 0 20px 0;
	background-position:left top, right bottom 30px;
	background-size:535px 285px, 589px 326px;
}

#home .access h2{
	position:relative;
	top:auto;
	padding:0 0 0 60px;
}

#home .access h2 .en{
	line-height:5.0rem;
}

#home .access h2::before{
	left:0;
	width:50px;
	height:50px;
}

#home .access p{
	padding:0 0 0 1.0em;
	text-align:left;
	text-indent:-1.0em;
}
}


/* flex
---------------------------------------- */
#home .access .flex{
	justify-content:space-between;
	margin:0 0 65px 0;
}

#home .access .flex dl{
	padding:190px 0 0 0;
}

#home .access .flex dl dt{
	font-size:2.4rem;
	font-weight:700;
	line-height:3.6rem;
}

#home .access .flex dl dd{
	line-height:3.0rem;
}

@media screen and (max-width:767px){
#home .access .flex{
	display:block;
	margin:0 0 40px 0;
}

#home .access .flex dl{
	padding:0 0 40px 0;
}

#home .access .flex dl dt{
	margin:0 0 8px 0;
	font-size:2.0rem;
	line-height:3.0rem;
}
}


/* ---------- img ---------- */
#home .access .flex .img img{
	border-radius:50px 0;
}

@media screen and (max-width:767px){
#home .access .flex .img img{
	border-radius:30px 0;
}
}


/* map
---------------------------------------- */
#home .access .map{
	margin:0 0 70px 0;
}

@media screen and (max-width:767px){
#home .access .map{
	margin:0 0 40px 0;
}

#home .access .map iframe{
	height:auto;
	aspect-ratio:2/1;
}
}


/* widget_btn
---------------------------------------- */
#home .access .widget_btn a{
	min-width:310px;
	min-height:74px;
	font-size:1.8rem;
}

@media screen and (max-width:767px){
#home .access .widget_btn a{
	min-width:auto;
	min-height:70px;
	font-size:1.8rem;
}
}


/* ----------------------------------------
	column
---------------------------------------- */
#home .column{
	padding:180px 0 220px 0;
	background:url(../../img/home/bg_column.png) no-repeat right bottom;
}

#home .column h2{
	position:absolute;
	top:-34px;
	left:0;
	padding:10px 0 0 14px;
}
#home .column h2 .en{ font-size:7.0rem; }

#home .column h2::before{
	content:"";
	position:absolute;
	top:0;
	left:-98px;
	width:92px;
	height:92px;
	background:url(../../img/common/logo.svg) no-repeat center;
	filter:invert(15%) sepia(94%) saturate(808%) hue-rotate(184deg) brightness(90%) contrast(98%);
}

@media print, screen and (min-width:768px) and (max-width:1500px){
#home .column h2{
	margin:0 0 0 98px;
}
}

@media screen and (max-width:767px){
#home .column{
	padding:60px 0;
	background-size:346px 227px;
}

#home .column h2{
	position:relative;
	top:auto;
	padding:0 0 0 60px;
}

#home .column h2 .en{
	font-size:4.0rem;
	line-height:5.0rem;
}

#home .column h2::before{
	left:0;
	width:50px;
	height:50px;
}
}


/* list_column
---------------------------------------- */
#home .column .list_column{
	margin:0 0 0 450px;
}

@media screen and (max-width:767px){
#home .column .list_column{
	margin:0 0 40px 0;
}
}


/* btn
---------------------------------------- */
#home .column .btn a{
	position:absolute;
	top:200px;
	left:0;
	width:268px;
	padding:15px 23px 15px 2px;
	border-bottom:2px solid #0f3159;
	font-size:2.0rem;
	font-weight:700;
	color:#222222;
	line-height:3.0rem;
	text-decoration:none;
}

#home .column .btn a::before{
	content:"";
	position:absolute;
	top:0;
	right:5px;
	width:8px;
	height:100%;
	background:url(../../img/common/arrow_02.png) no-repeat center;
	background-size:100% auto;
}

@media screen and (max-width:767px){
#home .column .btn{
	display:flex;
	justify-content:center;
}

#home .column .btn a{
	position:relative;
	top:auto;
	left:auto;
	width:220px;
}
}


/* ========================================================================
	はじめての方へ					[ /about/ ]
======================================================================== */
#about{
	overflow:hidden;
}


/* ----------------------------------------
	about
---------------------------------------- */
#about .about{
	position:relative;
	background:url(../../img/about/bg_about.png) no-repeat right bottom 65px;
}

#about .about .inner{
	display:flex;
	justify-content:flex-end;
	width:auto;
	max-width:1600px;
	padding:506px 0 200px 0;
}

#about .about .inner::before{
	content:"";
	position:absolute;
	bottom:0;
	left:50%;
	transform:translateX(-50%);
	width:1200px;
	height:1px;
	background:#a7a7a7;
}

@media screen and (max-width:767px){
#about .about{
	background-position:right bottom 20px;
	background-size:231px 363px;
}

#about .about .inner{
	display:block;
	margin:0 20px;
	padding:0 0 60px 0;
	border-bottom:1px solid #a7a7a7;
}

#about .about .inner::before{
	content:none;
}
}


/* txt
---------------------------------------- */
#about .about .txt{
	position:absolute;
	top:360px;
	left:50%;
	margin:0 0 0 -660px;
	font-size:23.0rem;
	font-weight:700;
	color:#ffffff;
	line-height:1;
	white-space:nowrap;
	opacity:0.6;
	z-index:1;
	transform:rotate(90deg);
	transform-origin:top left;
}

@media screen and (max-width:767px){
#about .about .txt{
	display:none;
}
}


/* key
---------------------------------------- */
#about .about .key{
	position:absolute;
	top:0;
	right:50%;
	margin:0 -140px 0 0;
	background:#000000;
}

#about .about .key img{
	max-width:none;
}

@media screen and (max-width:767px){
#about .about .key{
	position:static;
	margin:0 0 0 -20px;
}

#about .about .key img{
	width:100%;
}
}


/* box
---------------------------------------- */
#about .about .box{
	position:relative;
	width:1000px;
	min-height:620px;
	padding:86px 124px 50px;
	background:#0f3159;
	color:#ffffff;
}

#about .about .box::before{
	content:"";
	position:absolute;
	top:0;
	right:0;
	width:302px;
	height:12px;
	background:#8e6c2b;
}

#about .about .box h2{
	margin:0 0 70px 0;
	font-weight:700;
}

#about .about .box h2 .en{
	display:block;
	position:relative;
	margin:0 0 30px 0;
	padding:0 0 0 80px;
	font-size:3.0rem;
	line-height:6.0rem;
}

#about .about .box h2 .en::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:60px;
	height:60px;
	background:url(../../img/common/logo.svg) no-repeat center;
	filter:invert(81%) sepia(51%) saturate(2%) hue-rotate(133deg) brightness(112%) contrast(101%);
}

#about .about .box h2 .ja{
	display:inline-block;
	position:relative;
	padding:0 0 15px 0;
	font-size:5.0rem;
	line-height:1;
}

#about .about .box h2 .ja::before{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:5px;
	background:#ffffff;
}

#about .about .box p{
	margin:0 0 36px 0;
}

@media screen and (max-width:767px){
#about .about .box{
	width:auto;
	min-height:auto;
	margin:-40px -20px 0 0;
	padding:40px 20px 20px;
}

#about .about .box::before{
	width:150px;
	height:6px;
}

#about .about .box h2{
	margin:0 0 30px 0;
}

#about .about .box h2 .en{
	margin:0 0 20px 0;
	padding:0 0 0 60px;
	font-size:2.4rem;
	line-height:5.0rem;
}

#about .about .box h2 .en::before{
	width:50px;
	height:50px;
}

#about .about .box h2 .ja{
	padding:0 0 14px 0;
	font-size:3.0rem;
}

#about .about .box h2 .ja::before{
	height:4px;
}

#about .about .box p{
	margin:0 0 20px 0;
}
}


/* ----------------------------------------
	features
---------------------------------------- */
#about .features{
	padding:160px 0 80px 0;
	background:url(../../img/about/bg_features01.png) no-repeat left 76px, url(../../img/about/bg_features02.png) no-repeat right bottom 110px;
}

#about .features ul li{
	display:flex;
	align-items:flex-start;
	gap:0 40px;
	position:relative;
	margin:0 0 120px 0;
}

#about .features ul li > img{
	order:1;
}

@media screen and (max-width:767px){
#about .features{
	padding:60px 0 0 0;
	background-position:left 300px, right bottom 50px;
	background-size:477px 495px, 401px 421px;
}

#about .features h2{
	margin-bottom:60px;
}

#about .features ul li{
	display:block;
	margin:0 0 60px 0;
}

#about .features ul li > img{
	display:block;
	margin:0 auto;
}
}


/* num
---------------------------------------- */
#about .features .num{
	position:absolute;
	top:-90px;
	right:35px;
	width:220px;
	text-align:center;
}

#about .features .num::before{
	content:"";
	position:absolute;
	top:50%;
	left:0;
	width:100%;
	height:1px;
	margin:10px 0 0 0;
	background:#e9e9e9;
}

#about .features .num span{
	position:relative;
	font-size:16.0rem;
	font-weight:700;
	line-height:1;
}

@media screen and (max-width:767px){
#about .features .num{
	top:-40px;
	right:20px;
	width:120px;
}

#about .features .num::before{
	margin:-5px 0;
	height:10px;
}

#about .features .num span{
	font-size:8.0rem;
}
}


/* box
---------------------------------------- */
#about .features .box{
	order:2;
	min-height:360px;
	padding:60px 55px 50px;
	border:1px solid #0f3159;
}

#about .features .box h3{
	display:flex;
	align-items:center;
	position:relative;
	height:82px;
	margin:0 0 20px 0;
	padding:0 0 0 30px;
	font-size:2.6rem;
	font-weight:700;
	line-height:3.6rem;
}

#about .features .box h3::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:6px;
	height:82px;
	background:#0f3159;
}

@media screen and (max-width:767px){
#about .features .box{
	min-height:auto;
	margin:0 0 20px 0;
	padding:50px 20px 40px;
}

#about .features .box h3{
	height:60px;
	margin:0 0 20px 0;
	padding:0 0 0 24px;
	font-size:2.0rem;
	line-height:3.0rem;
}

#about .features .box h3::before{
	width:4px;
	height:60px;
}
}


/* ----------------------------------------
	yard
---------------------------------------- */
#about .yard{
	position:relative;
	padding:0 0 120px 0;
	background:url(../../img/about/bg_yard.png) no-repeat left 222px;
}

#about .yard p{
	margin:0 0 80px 0;
	text-align:center;
}

#about .yard ul{
	display:flex;
	gap:0 32px;
	margin:0 0 80px 0;
}

#about .yard ul li{
	width:584px;
}

#about .yard ul li span{
	display:block;
	margin:0 0 22px 0; 
	padding:3px 0;
	background:#0f3159;
	text-align:center;
	font-size:2.6rem;
	font-weight:700;
	color:#ffffff;
}

@media screen and (max-width:767px){
#about .yard{
	padding:0 0 20px 0;
	background-position:-150px 60px;
	background-size:339px 363px;
}

#about .yard p{
	display:grid;
	place-content:center;
	margin:0 0 40px 0;
	text-align:left;
}

#about .yard ul{
	display:block;
	margin:0;
}

#about .yard ul li{
	width:auto;
	margin:0 0 40px 0;
}

#about .yard ul li img{
	width:100%;
}

#about .yard ul li span{
	margin:0 0 20px 0; 
	padding:5px 0;
	font-size:2.0rem;
}
}


/* key
---------------------------------------- */
#about .yard .key{
	display:flex;
	justify-content:center;
	align-items:center;
	height:608px;
	position:relative;
	margin:0 max(calc(50% - 50vw), -360px) 200px 0;
	background:#262626;
}

#about .yard .key::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:url(../../img/about/key_yard.jpg) no-repeat center;
	background-size:cover;
	opacity:0.4;
}

#about .yard .key span{
	position:relative;
	text-align:center;
	font-size:clamp(16.0rem, 14.375vw, 23.0rem); /* 1600px */
	font-weight:700;
	color:#ffffff;
	line-height:1;
}

@media screen and (max-width:767px){
#about .yard .key{
	height:240px;
	margin:0 -20px 60px;
}

#about .yard .key span{
	font-size:6.0rem;
}
}


/* map
---------------------------------------- */
#about .yard .map{
	margin:0 0 40px 0;
}

@media screen and (max-width:767px){
#about .yard .map iframe{
	height:auto;
	aspect-ratio:2/1;
}
}


/* ----------------------------------------
	ohter
---------------------------------------- */
#about .ohter .inner{
	padding:200px 0 0 0;
	border-top:1px solid #a7a7a7;
}

@media screen and (max-width:767px){
#about .ohter .inner{
	margin:0 20px;
	padding:60px 0 0 0;
}
}


/* h_01
---------------------------------------- */
#about .ohter .h_01{
	padding:45px 0 0 0;
}

#about .ohter .h_01::before{
	width:210px;
	height:5px;
	background:#0f3159;
	filter:none;
}

#about .ohter .h_01 .en{
	font-size:3.0rem;
}

@media screen and (max-width:767px){
#about .ohter .h_01{
	padding:24px 0 0 0;
}

#about .ohter .h_01::before{
	width:100px;
	height:4px;
}

#about .ohter .h_01 .en{
	font-size:2.4rem;
}
}


/* ========================================================================
	取扱品目・価格					[ /product/ ]
======================================================================== */
#product section{
	padding:0 0 100px 0;
}
#product section:last-of-type{ padding:0; }

@media screen and (max-width:767px){
#product section{
	padding:0 0 20px 0;
}
}


/* ----------------------------------------
	key
---------------------------------------- */
#product .key img{
	width:700px;
	height:500px;
	object-fit:cover;
}

@media screen and (max-width:767px){
#product .key{
	margin:0 0 0 -20px;
}

#product .key img{
	width:100%;
	height:auto;
}
}


/* ----------------------------------------
	box
---------------------------------------- */
#product .box{
	position:relative;
	margin:-190px 0 200px 460px;
	padding:80px 70px;
	background:#ffffff;
	box-shadow:6px 6px 0 0 #0f3159;
}

#product .box h1{
	display:inline-block;
	position:relative;
	margin:0 0 40px 0;
	padding:0 146px 0 0;
	font-size:3.6rem;
	font-weight:700;
	line-height:4.6rem;
}

#product .box h1::before,
#product .box h1::after{
	content:"";
	position:absolute;
	top:21px;
	right:0;
	width:116px;
	height:5px;
	background:#0f3159;
}
#product .box h1::after{
	width:26px;
	background:#8e6c2b;
}

#product .box p{
	margin:0 0 50px 0;
}

@media screen and (max-width:767px){
#product .box{
	margin:-40px -14px 46px 0;
	padding:40px 20px;
}

#product .box h1{
	margin:0 0 20px 0;
	padding:0 70px 0 0;
	font-size:2.4rem;
	line-height:3.4rem;
}

#product .box h1::before,
#product .box h1::after{
	top:15px;
	width:50px;
}
#product .box h1::after{ width:10px; }

#product .box p{
	margin:0 0 20px 0;
}
}


/* price
---------------------------------------- */
#product .box .price{
	margin:0 0 16px 0;
	text-align:right;
	font-weight:700;
	line-height:1;
}

#product .box .price > span{
	display:inline-block;
	padding:0 14px 10px;
	border-bottom:2px solid #0f3159;
}

#product .box .price span span{
	font-size:4.8rem;
}

@media screen and (max-width:767px){
#product .box .price span span{
	font-size:4.0rem;
}
}


/* update
---------------------------------------- */
#product .box .update{
	text-align:right;
	font-size:1.6rem;
	color:#0d2e58;
	line-height:1;
}


/* ----------------------------------------
	txt
---------------------------------------- */
#product .txt{
	margin:0 0 188px 0;
}

#product .txt li{
	margin:0 50px 12px;
	padding:0 0 0 2.0em;
	text-indent:-2.0em;
}

#product .txt li::before{
	content:"●";
	margin:0 1.0em 0 0;
}

@media screen and (max-width:767px){
#product .txt{
	margin:0 0 40px 0;
}

#product .txt li{
	margin:0 0 10px 0;
}
}


/* ----------------------------------------
	img
---------------------------------------- */
#product .img{
	display:flex;
	flex-wrap:wrap;
	gap:80px;
	margin:0 0 200px 0;
}

#product .img li{
	width:560px;
	text-align:center;
	font-weight:700;
}

#product .img img{
	display:block;
	width:560px;
	height:400px;
	object-fit:cover;
	margin:0 auto 30px;
}

@media screen and (max-width:767px){
#product .img{
	display:block;
	margin:0;
}

#product .img li{
	width:auto;
	margin:0 0 40px 0;
}

#product .img img{
	width:100%;
	height:auto;
	margin:0 auto 20px;
}
}


/* ========================================================================
	買取の流れ						[ /flow/ ]
======================================================================== */
#flow .inner > p{
	margin:0 0 160px 0;
	text-align:center;
}

@media screen and (max-width:767px){
#flow .inner > p{
	margin:0 0 40px 0;
	text-align:left;
}
}


/* ----------------------------------------
	ol
---------------------------------------- */
#flow ol{
	padding:0 0 100px 0;
}

#flow ol li{
	display:flex;
	justify-content:flex-end;
	align-items:center;
	position:relative;
	min-height:450px;
	margin:0 0 100px 0;
}

#flow ol li::after{
	content:"";
	position:absolute;
	bottom:-69px;
	left:260px;
	border-style:solid;
	border-width:43px 55px 0 55px;
	border-color:#0F3059 transparent transparent transparent;
}
#flow ol li:last-child::after{ content:none; }

#flow ol li > img{
	position:absolute;
	top:0;
	left:0;
	width:630px;
	height:450px;
	object-fit:cover;
}

@media screen and (max-width:767px){
#flow ol{
	padding:0;
}

#flow ol li{
	display:block;
	min-height:none;
	margin:0 0 60px 0;
}
#flow ol li:last-child{ margin-bottom:40px; }

#flow ol li::after{
	bottom:-40px;
	left:50%;
	transform:translateX(-50%);
	border-width:20px 40px 0 40px;
}

#flow ol li > img{
	position:static;
	width:100%;
	height:auto;
}
}


/* box
---------------------------------------- */
#flow ol li .box{
	position:relative;
	width:660px;
	min-height:324px;
	padding:30px 55px 55px;
	background:#ffffff;
	border:1px solid #0f3159;
}

#flow ol li .box h3{
	display:flex;
	align-items:center;
	margin:0 0 30px 0;
	font-size:3.0rem;
	font-weight:700;
	line-height:1;
}

#flow ol li .box h3 span{
	position:relative;
	width:95px;
	margin:0 45px 0 0;
	padding:0 0 24px 0;
	text-align:center;
	font-size:7.2rem;
}

#flow ol li .box h3 span::before{
	content:"";
	position:absolute;
	bottom:0;
	left:50%;
	transform:translateX(-50%);
	width:100%;
	height:5px;
	background:#0f3159;
}

@media screen and (max-width:767px){
#flow ol li .box{
	width:auto;
	min-height:auto;
	margin:-20px 10px 0;
	padding:30px 20px;
}

#flow ol li .box h3{
	margin:0 0 20px 0;
	font-size:2.0rem;
	line-height:3.0rem;
}

#flow ol li .box h3 span{
	width:auto;
	margin:0 20px 0 0;
	padding:0 4px 20px;
	font-size:4.0rem;
}

#flow ol li .box h3 span::before{
	height:4px;
}
}


/* ----------------------------------------
	warning
---------------------------------------- */
#flow .warning{
	margin:0 0 100px 0;
	padding:100px 100px 180px;
	background:#ffffff;
	border:1px solid #0f3159;
}

#flow .warning ul li{
	padding:0 0 0 1.5em;
	text-indent:-1.5em;
}

#flow .warning ul li::before{
	content:"※";
	margin:0 0.5em 0 0;
}

@media screen and (max-width:767px){
#flow .warning{
	margin:0 0 40px 0;
	padding:40px 20px;
}
}


/* h_01
---------------------------------------- */
#flow .warning .h_01{
	margin-bottom:100px;
	padding-top:70px;
}

#flow .warning .h_01::before{
	width:60px;
	height:60px;
}

#flow .warning .h_01 .en{
	margin-bottom:10px;
	font-size:3.0rem;
}

#flow .warning .h_01 .ja{
	font-size:4.2rem;
}

@media screen and (max-width:767px){
#flow .warning .h_01{
	margin:0 0 30px 0;
}

#flow .warning .h_01 .en{
	font-size:2.4rem;
}

#flow .warning .h_01 .ja{
	font-size:3.0rem;
}
}


/* ----------------------------------------
	widget_bnr
---------------------------------------- */
@media screen and (max-width:767px){
#flow .widget_bnr a{
	height:240px;
}
}


/* ========================================================================
	よくあるご質問					[ /faq/ ]
======================================================================== */
#faq{
	padding-bottom:0;
}

#faq section{
	padding:0 0 120px 0;
}

#faq dl{
	margin:0 0 80px 0;
	padding:0 50px;
	background:#ffffff;
	border:1px solid #0f3159;
	border-radius:15px;
	color:#0f3159;
}

#faq dl dt{
	position:relative;
	padding:40px 0 40px 100px;
	background:url(../../img/faq/line.png) repeat-x left bottom;
	font-size:2.6rem;
	font-weight:700;
	line-height:4.6rem;
}

#faq dl dd{
	position:relative;
	padding:50px 0 75px 100px;
}

#faq dl dt span,
#faq dl dd span{
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:50%;
	left:0;
	transform:translateY(-50%);
	width:70px;
	height:70px;
	background:#0f3159;
	border-radius:50%;
	font-size:3.0rem;
	font-weight:700;
	color:#ffffff;
}
#faq dl dd span{
	top:30px;
	transform:none;
	background:#ffffff;
	border:2px solid #0f3159;
	color:#0f3159;
}

@media screen and (max-width:767px){
#faq section{
	padding:0 0 20px 0;
}

#faq dl{
	margin:0 0 40px 0;
	padding:10px 20px 30px;
}

#faq dl dt{
	padding:20px 0 20px 60px;
	font-size:2.0rem;
	line-height:3.0rem;
}

#faq dl dd{
	padding:20px 0 0 60px;
	line-height:3.0rem;
}

#faq dl dt span,
#faq dl dd span{
	width:40px;
	height:40px;
	font-size:2.0rem;
}
#faq dl dd span{
	top:15px;
}
}


/* ========================================================================
	会社概要						[ /company/ ]
======================================================================== */
#company table{
	margin:0 0 200px 0;
}

#company .flex{
	justify-content:space-between;
	margin:0 100px;
}

#company .flex dl dt{
	margin:0 0 10px 0;
	font-size:2.4rem;
	font-weight:700;
	line-height:4.4rem;
}

#company .flex dl dd{
	margin:0 0 100px 0;
	font-size:2.0rem;
}

@media screen and (max-width:767px){
#company table{
	margin:0 0 60px 0;
}

#company .flex{
	display:block;
	margin:0;
}

#company .flex dl dt{
	margin:0 0 20px 0;
	font-size:2.0rem;
	line-height:1;
}

#company .flex dl dd{
	margin:0 0 40px 0;
	font-size:1.6rem;
}
}


/* ----------------------------------------
	widget_btn
---------------------------------------- */
#company .widget_btn{
	flex:1;
	justify-content:flex-end;
}


/* ========================================================================
	代表メッセージ					[ /company/message/ ]
======================================================================== */
#message .txt{
	display:grid;
	place-content:center;
	margin:0 0 24px 0;
}

#message .txt p{
	margin:0 0 36px 0;
}

#message p.name{
	margin:0 100px 100px;
	text-align:right;
	font-size:2.4rem;
	font-weight:700;
}

#message p.name span{
	font-size:1.8rem
}

@media screen and (max-width:767px){
#message .txt{
	margin:0 0 6px 0;
}

#message .txt p{
	margin:0 0 32px 0;
}

#message p.name{
	margin:0 0 40px;
	font-size:2.0rem;
}

#message p.name span{
	font-size:1.6rem
}
}


/* ----------------------------------------
	ceo
---------------------------------------- */
#message .ceo{
	position:relative;
	margin:0 0 200px 0;
}

#message .ceo .img{
	background:#000000;
}

#message .ceo .img > img{
	opacity:0.8;
}

#message .ceo .ja{
	position:absolute;
	top:60px;
	left:80px;
	margin:0 180px 0 0;
	font-size:4.0rem;
	font-weight:800;
	color:#ffffff;
	line-height:7.0rem;
	writing-mode:vertical-rl;
	white-space:nowrap;
}

#message .ceo .en{
	position:absolute;
	bottom:20px;
	right:40px;
	color:#ffffff;
}

#message .ceo .en span{
	display:block;
	margin:10px 0 0 0;
	text-align:right;
	font-size:2.0rem;
	font-weight:700;
}

@media screen and (max-width:767px){
#message .ceo{
	margin:0 0 60px 0;
}

#message .ceo .ja{
	display:grid;
	place-content:center;
	position:static;
	transform:none;
	margin:20px 0;
	font-size:2.4rem;
	color:#222222;
	line-height:4.4rem;
	writing-mode:horizontal-tb;
}

#message .ceo .en{
	display:grid;
	place-content:center;
	position:static;
	font-size:1.4rem;
	color:#222222;
}

#message .ceo .en span{
	font-size:1.6rem;
}
}


/* ========================================================================
	プライバシーポリシー			[ /privacy/ ]
======================================================================== */
#privacy p{
	margin:0 0 100px 0;
	padding:60px 100px;
	background:#ffffff;
	border:1px solid #0f3159;
}

#privacy dl{
	padding:0 100px;
}

#privacy dl dt{
	margin:0 0 10px 0;
	font-size:2.0rem;
	font-weight:700;
}

#privacy dl dd{
	padding:0 0 100px 0;
}

#privacy ul li{
	padding:0 0 0 1.0em;
	text-indent:-1.0em;
}

@media screen and (max-width:767px){
#privacy p{
	margin:0 0 40px 0;
	padding:40px 20px;
}

#privacy dl{
	padding:0;
}

#privacy dl dt{
	font-size:1.8rem;
}

#privacy dl dd{
	padding:0 0 40px 0;
}
}


/* ========================================================================
	お問い合わせ					[ /contact/ ]
======================================================================== */
#contact table th{
	position:relative;
	padding:25px 60px 25px 122px;
	text-align:left;
}

#contact table th span{
	position:absolute;
	top:50%;
	left:60px;
	margin:0;
	transform:translateY(-50%);
	font-size:1.4rem;
	color:#cc0000;
}

#contact table td label{
	margin:0 40px 0 0;
}
#contact table td label:last-child{ margin:0; }

@media screen and (max-width:767px){
#contact table th{
	padding:13px 20px;
}

#contact table th span{
	position:static;
	transform:none;
	margin:0 10px 0 0;
	line-height:1;
}

#contact table td{
	padding:20px;
}
}


/* ----------------------------------------
	txt
---------------------------------------- */
#contact .txt{
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	margin:0 0 100px 0;
}

#contact .txt p{
	text-align:center;
}

#contact .txt dl dt{
	margin:0 0 40px 0;
}

#contact .txt ul li{
	padding:0 0 0 1.6em;
	text-indent:-1.6em;
}

#contact .txt ul li span{
	color:#cc0000;
}

@media screen and (max-width:767px){
#contact .txt{
	margin:0 0 40px 0;
}

#contact .txt p{
	text-align:left;
}

#contact .txt dl dt{
	margin:0 0 20px 0;
}

#contact .txt ul li{
	padding:0 0 0 1.5em;
	text-indent:-1.5em;
}
}


/* ----------------------------------------
	error
---------------------------------------- */
#contact .error{
	margin:0 0 100px 0;
}

#contact .error p{
	margin:0;
	text-align:center;
	color:#dd0000;
}

@media screen and (max-width:767px){
#contact .error{
	margin:0 0 40px 0;
}
}


/* ----------------------------------------
	confirm
---------------------------------------- */
#contact table.confirm th{
	padding:25px 40px;
	text-align:center;
}

@media screen and (max-width:767px){
#contact table.confirm th,
#contact table.confirm td{
	padding:13px 20px;
}
}


/* ========================================================================
	サイトマップ					[ /sitemap/ ]
======================================================================== */
#sitemap{
	padding-bottom:180px;
}

#sitemap .flex{
	justify-content:center;
	gap:0 200px;
}

#sitemap .flex a{
	display:block;
	position:relative;
	margin:0 0 20px 0;
	padding:0 0 0 23px;
	font-size:2.0rem;
	font-weight:700;
	color:#222222;
	line-height:4.0rem;
	text-decoration:none;
}
#sitemap .flex a:hover{ text-decoration:underline; }

#sitemap .flex a::before{
	content:"";
	position:absolute;
	top:50%;
	left:0;
	width:11px;
	height:2px;
	background:#222222;
}

@media screen and (max-width:767px){
#sitemap{
	padding-bottom:40px;
}

#sitemap .flex{
	display:grid;
}

#sitemap .flex a{
	font-size:1.8rem;
	line-height:3.8rem;
}
#sitemap .flex a:hover{ text-decoration:none; }
}