/*
Theme Name: Twenty Twelve
Theme URI: https://wordpress.org/themes/twentytwelve/
Author: the WordPress team
Author URI: https://wordpress.org/
Description: The 2012 theme for WordPress is a fully responsive theme that looks great on any device. Features include a front page template with its own widgets, an optional display font, styling for post formats on both index and single views, and an optional no-sidebar page template. Make it yours with a custom menu, header image, and background.
Version: 4.7
Tested up to: 6.7
Requires at least: 3.5
Requires PHP: 5.2.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: blog, one-column, two-columns, right-sidebar, custom-background, custom-header, custom-menu, editor-style, featured-images, flexible-header, footer-widgets, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, block-patterns
Text Domain: twentytwelve

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

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

/* =Notes
--------------------------------------------------------------
This stylesheet uses rem values with a pixel fallback. The rem
values (and line heights) are calculated using two variables:

$rembase:     14;
$line-height: 24;

---------- Examples

* Use a pixel value with a rem fallback for font-size, padding, margins, etc.
	padding: 5px 0;
	padding: 0.357142857rem 0; (5 / $rembase)

* Set a font-size and then set a line-height based on the font-size
	font-size: 16px
	font-size: 1.142857143rem; (16 / $rembase)
	line-height: 1.5; ($line-height / 16)

---------- Vertical spacing

Vertical spacing between most elements should use 24px or 48px
to maintain vertical rhythm:

.my-new-div {
	margin: 24px 0;
	margin: 1.714285714rem 0; ( 24 / $rembase )
}

---------- Further reading

http://snook.ca/archives/html_and_css/font-size-with-rem
http://blog.typekit.com/2011/11/09/type-study-sizing-the-legible-letter/
*/


/* =Reset
-------------------------------------------------------------- */
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;
font-family:Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto ,"Yu Gothic" , "YuGothic" ,  "Hiragino Kaku Gothic Pro" , "Meiryo UI" , Meiryo , "MS PGothic" , sans-serif;
	
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

html{
	overflow-y: scroll;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

input, textarea{
	margin: 0;
	padding: 0;
}

ol, ul{
	list-style:none;
}


ul.flex,.flex{
	display:-webkit-box;
	display:-ms-box;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-moz-box-lines:multiple;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

table{
	border-collapse: collapse; 
	border-spacing:0;
	width:100%;
}

caption, th{
	text-align: left;
}

a:focus {
	outline:none;
}

.clear:after {
	content: "."; 
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

* html .clear {
	height: 1px;
}

.both{
	clear:both;
}

.inline_block {
	display: inline-block;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}
a{
	text-decoration:none;
	color:#525252;
}
body {
	overflow:hidden;
	background:#fff;
}
div, a, p, h1, h2, h3, h4, h5, h6, span, th, td, li, time, footer, button, label, strong, em, b{
	color:#525252;
	font-family: 'Noto Sans JP', sans-serif;
	font-size:16px;
}
b{font-weight:bold;}
img{
	width: 100%;
	display: block;
	height: auto;
}
.grecaptcha-badge {
    position: absolute;
    z-index: -100;
    visibility: hidden;
}
.wpcf7 form .wpcf7-response-output {
    border: none!important;
}
section[class^="index_"] {
	display: block;
}
.width {
	width:80%;
	max-width:1200px;
	margin:0 auto;
}
p{
	margin-bottom:10px;
	letter-spacing:1px;
}
section a, section span, section b, section strong {
	font-size:100%;
}
.mt10 {margin-top:10%!important;}
.mt8 {margin-top:8%!important;}
.mt5 {margin-top:5%!important;}
.mt3 {margin-top:3%!important;}
.mt0 {margin-top:0%!important;}
.mb0 {margin-bottom:0%!important;}
.mb3 {margin-bottom:3%!important;}
.mb5 {margin-bottom:5%!important;}
.mb8 {margin-bottom:8%!important;}
.mb10 {margin-bottom:10%!important;}

.pt10 {padding-top:10%!important;}
.pt8 {padding-top:8%!important;}
.pt5 {padding-top:5%!important;}
.pt3 {padding-top:3%!important;}
.pt0 {padding-top:0%!important;}
.pb0 {padding-bottom:0%!important;}
.pb3 {padding-bottom:3%!important;}
.pb5 {padding-bottom:5%!important;}
.pb8 {padding-bottom:8%!important;}
.pb10 {padding-bottom:10%!important;}

div.float {
    margin: 3% auto;
}
.float p.floatr {
    float: right;
    margin: 0 0 10px 3%;
    width: 47%;
}
.float p.floatl {
    float: left;
    margin: 0 3% 10px 0;
    width: 47%;
}

.center {
	text-align:center!important;
}
.right {
	text-align:right!important;
}
.left {
	text-align:left!important;
}
span.ib {
	display:inline-block!important;
}
span.bu {
	border-bottom:1px solid;
	font-weight:500;
	font-size:100%;
}
span.bo {
	font-size:100%;
	font-weight:600;
}
span.bbig{
	font-weight:bold!important;
	font-size:120%!important;
}
span.yb {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #FFFAC6));
    background: -o-linear-gradient(transparent 60%, #FFFAC6 0%);
    background: linear-gradient(transparent 60%, #FFFAC6 0%);
}


@-webkit-keyframes fadein {
	from {opacity: 0;}
	to {opacity: 1;}
}

@keyframes fadein {
	from {opacity: 0;}
	to {opacity: 1;}
}
@-webkit-keyframes fadeinrl {
	from {
		opacity: 0;
		-webkit-transform: translateX(20px);
		        transform: translateX(20px);
	}
	to {
		opacity: 1;
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
}
@keyframes fadeinrl {
	from {
		opacity: 0;
		-webkit-transform: translateX(20px);
		        transform: translateX(20px);
	}
	to {
		opacity: 1;
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
}
@-webkit-keyframes fadeinlr {
	from {
		opacity: 0;
		-webkit-transform: translateX(-20px);
		        transform: translateX(-20px);
	}
	to {
		opacity: 1;
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
}
@keyframes fadeinlr {
	from {
		opacity: 0;
		-webkit-transform: translateX(-20px);
		        transform: translateX(-20px);
	}
	to {
		opacity: 1;
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
}
@-webkit-keyframes fadeinbt {
	from {
		opacity: 0;
		-webkit-transform: translateY(20px);
		        transform: translateY(20px);
	}
	to {
		opacity: 1;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
}
@keyframes fadeinbt {
	from {
		opacity: 0;
		-webkit-transform: translateY(20px);
		        transform: translateY(20px);
	}
	to {
		opacity: 1;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
}
@-webkit-keyframes fadeintb {
	from {
		opacity: 0;
		-webkit-transform: translateY(-20px);
		        transform: translateY(-20px);
	}
	to {
		opacity: 1;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
}
@keyframes fadeintb {
	from {
		opacity: 0;
		-webkit-transform: translateY(-20px);
		        transform: translateY(-20px);
	}
	to {
		opacity: 1;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
}

.fadein{
	opacity:0;
	-webkit-transition : all 3s;
	-o-transition : all 3s;
	transition : all 3s;
}
.downup .fadein {
	opacity : 0;
	-webkit-transform : translate(0, 50px);
	    -ms-transform : translate(0, 50px);
	        transform : translate(0, 50px);
	-webkit-transition : all 800ms;
	-o-transition : all 800ms;
	transition : all 800ms;
}
.updown .fadein {
	opacity : 0;
	-webkit-transform : translate(0, -50px);
	    -ms-transform : translate(0, -50px);
	        transform : translate(0, -50px);
	-webkit-transition : all 800ms;
	-o-transition : all 800ms;
	transition : all 800ms;
}
.fadeinrl .fadein {
	opacity : 0;
	-webkit-transform : translate(80px, 0);
	    -ms-transform : translate(80px, 0);
	        transform : translate(80px, 0);
	-webkit-transition : all 800ms;
	-o-transition : all 800ms;
	transition : all 800ms;
}
.fadeinlr .fadein {
	opacity : 0;
	-webkit-transform : translate(-80px, 0);
	    -ms-transform : translate(-80px, 0);
	        transform : translate(-80px, 0);
	-webkit-transition : all 800ms;
	-o-transition : all 800ms;
	transition : all 800ms;
}
.fadein.scrollin {
	opacity : 1;
	-webkit-transform : translate(0, 0);
	    -ms-transform : translate(0, 0);
	        transform : translate(0, 0);
}

ul[class^="col2_"] > li {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 3%;
}
ul[class^="col3_"] > li {
    width: 30%;
    margin-right: 5%;
    margin-bottom: 3%;
}
ul[class^="col2_"] > li:nth-child(even), ul[class^="col3_"] > li:nth-child(3n){
    margin-right: 0;
}
a {
	transition:all .3s !important;
}
a:hover {
	color:#E0A208;
	transition:all .3s !important;
}
span.ib {
	display:inline-block;
}

/*------------------------------------*\
    ヘッダー＆フッダー00
\*------------------------------------*/
.site-header {
	position:fixed;
	display:flex;
	justify-content:space-between;
	width:100%;
	background:#f5f5f5;
	z-index:99;
	box-shadow:rgba(0,0,0,.25) 0 0 5px;
	height:120px;
}
.site-header h1 a {
	display: block;
	height:100%;
}
.site-header h1 a img {
	width:250px;
	height:100%;
	object-fit:contain;
}
.h_cta {
	display:flex;
	gap:10px;
	justify-content:end;
}
.h_tel {
	margin-bottom:0;
}
.h_tel img {
	width:70px;
	object-fit:contain;
}
.h_tel a {
	display:block;
	text-align:center;
	font-size:12px;
	color:#525252;
}
.h_tel a span {
	display:flex;
	align-items:center;
	font-size:24px;
	font-weight:bold;
	color:#525252;
}
.h_tel a:hover {
	color:#525252;
}
.h_tel a:hover span {
	color:#008000;
}
.h_contact {
	margin-bottom:0;
}
.h_contact a {
	display:block;
	padding:20px;
	font-size:16px;
	letter-spacing: 0.1em;
	text-align:center;
	color:#fcfcfc;
	text-shadow:rgba(0,0,0,.5)0 0 10px;
	background-image: radial-gradient(circle, rgba(255, 242, 58, 1), rgba(224, 162, 8, 1) 80%);
}
.h_contact a:hover {
	color:#fcfcfc;
	opacity:0.8;
}
.menu-trigger {
	display: none !important;
}
.g_nav ul {
	display:flex;
	align-items:center;
	justify-content:end;
}
.g_nav ul li a {
	display:block;
	padding:15px 20px;
	font-size:16px;
	color:#525252;
}
.g_nav ul li a:hover {
	color:#E0A208;
}
.f_map iframe {
	display:block;
}
.f_info {
	position:relative;
}
.f_info:after {
	content:'';
	width:100%;
	height:100%;
	background-image:url(/wp-content/uploads/2026/08/footer_bg-scaled.webp);
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	position:absolute;
	top:0;
	left:0;
	z-index:-1;
	opacity:0.15;
	filter:grayscale(1);
}
.f_logo a {
	display:block;
	width:50%;
	margin:3% auto;
}
.f_logo a img {
	width:100%;
	object-fit:contain;
}
.table1 th {
	padding: 10px;
    font-size: 18px;
    letter-spacing: 5px;
    border-bottom: #E0A208 solid 2px;
    width: 40%;
}
.table1 td {
	padding: 10px;
    font-size: 16px;
    letter-spacing: 5px;
    border-bottom: #E0A208 solid 2px;
    width: 60%;
}
.f_copy {
	margin-bottom:0 !important;
	font-size:14px;
	padding:10px 0;
	color:#fcfcfc;
	letter-spacing:3px;
	background:#01006a;
	text-align:center;
}

/* 画面下 追従型CTA・ハンバーガー内CTA（デスクトップは非表示） */
.g_nav-cta,
.fixed-cta {
	display: none !important;
}
.fixed-cta a {
	text-decoration: none;
}

@media screen and (min-width: 701px) {
	.g_nav-cta,
	.fixed-cta {
		display: none !important;
	}
}

/* フッター — 運営会社概要ページ用 */
.f_info-company {
	padding-bottom: 40px;
}
.f_company-license {
	font-size: 14px;
	color: #333;
	letter-spacing: 1px;
	line-height: 1.7;
}
.f_company-license strong {
	color: #01006a;
}
.f_company-tel {
	font-size: 14px;
	letter-spacing: 1px;
}
.f_company-tel a {
	font-size: 20px;
	font-weight: 700;
	color: #01006a;
}
.f_company-tel span {
	display: block;
	font-size: 12px;
	color: #777;
	margin-top: 4px;
}
.f_company-link {
	margin-top: 24px !important;
	text-align: center;
}
.f_company-link a {
	display: inline-block;
	padding: 12px 28px;
	font-size: 14px;
	font-weight: 700;
	color: #01006a;
	letter-spacing: 1px;
	text-decoration: none;
	background: #fff;
	border: 1px solid #01006a;
}
.f_company-link a:hover {
	background: #01006a;
	color: #fff;
	opacity: 1;
}






/*------------------------------------*\
    トップページ00
\*------------------------------------*/
#main {
	padding-top:120px;
}

.mv-main-img {
   position: relative;
   width: 100%;
}

/* 右側：縦スライダーエリア（横幅見切れ・レスポンシブ再修正版） */
.mv-vertical-slider {
    width: 20%;
    /* 高さを少し下げ、上からの位置も％で指定して追従させる */
    height: 40%; 
    overflow: hidden;
    position: absolute;
    z-index: 2;
    right: 10%;
    top: calc(50% - 20%);/* メイン画像の縮小に合わせて上下の余白も自動調整 */
}

.mv-vertical-slider .swiper-wrapper {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    height: 100%;
}

.mv-vertical-slider .swiper-slide {
    width: 100%;
    /* 画像の高さが可変でも、スライダー内で等倍に収まるように自動調整 */
    height: auto; 
    flex-shrink: 0;
}

.mv-vertical-slider .swiper-slide img {
    width: 100%;
    height: 100%;
    /* 縦横比がバラバラな画像でも、領域いっぱいに綺麗に収める（トリミング） */
    object-fit: contain; 
    border-radius: 0;
    display: block;
}
@media screen and (max-width:1000px) {
	.mv-vertical-slider {
		width: 25%;
		/* 高さを少し下げ、上からの位置も％で指定して追従させる */
		height: 45%; 
		top: calc(50% - 22.5%);/* メイン画像の縮小に合わせて上下の余白も自動調整 */
	}
}
@media screen and (max-width:700px) {
	.mv-vertical-slider {
		width: 30%;
		/* 高さを少し下げ、上からの位置も％で指定して追従させる */
		height: 50%; 
		top: calc(50% - 25%);/* メイン画像の縮小に合わせて上下の余白も自動調整 */
	}
}

.cta_txt {
	text-align: center;
    font-size: 32px;
    font-weight: bold;
    color: #01006a;
	letter-spacing: 5px;
}
.cta_txt span {
    font-weight: bold;
    margin: 0 auto;
    color: #E0A208;
    display: block;
    width: fit-content;
}
.cta {
	display:flex;
	justify-content:center;
	gap:40px;
	align-items:center;
}
.cta .h_tel a {
	font-size:16px;
	color:#525252;
}
.cta .h_tel a span {
	display:flex;
	align-items:center;
	font-size:48px;
	font-weight:bold;
	color:#525252;
}
.cta .h_tel a:hover span:hover {
	color:#008000;
}
.cta .h_contact a {
	border-radius: 0;
	font-size:28px;
}
p.center {
	text-align: center;
}
.cta_bg {
	position:relative;
}
.cta_bg:after {
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/wp-content/uploads/2026/08/cta_bg.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0.5;
    z-index: -1;
}
.product {
	background:#f4f3f7;
}
.ttl1 {
	font-size:32px;
	letter-spacing:10px;
	padding-bottom:15px;
	position:relative;
	text-align:center;
	margin-bottom: 3%;
}
.ttl1 span {
	display:block;
	margin-bottom:5px;
	font-size:16px;
}
.ttl1:after {
	position:absolute;
	content:'';
	width:50px;
	height:3px;
	border-radius: 0;
	background:#E0A208;
	bottom:0;
	left:calc(50% - 25px);
}
/* スライダー全体のコンテナに、ドットを配置するための下部余白を作る */
.mySwiper {
	padding-bottom: 40px !important; /* ドットのスペースを確保 */
	position: relative;
}

/* ページネーションの位置をスライドのすぐ下に固定する */
.mySwiper .swiper-pagination {
	bottom: 10px !important; /* 位置の微調整 */
}

/* 各スライドの高さや見た目の調整（文字が潰れないようにする） */
.mySwiper .swiper-slide {
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
}

.mySwiper .swiper-slide a {
	color: #525252;
	text-decoration: none;
	font-weight: bold;
	display: block;
	width: 100%;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 0;
	padding: 15px;
	text-align:center;
	letter-spacing:2px;
}
.mySwiper .swiper-slide a img {
	width:100%;
	aspect-ratio:16/9;
	margin-bottom:10px;
	object-fit:cover;
}
.list1 {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
.list1 li {
	width:30%;
	padding:15px;
	box-shadow:rgba(0,0,0,.25)3px 3px 6px;
	box-sizing:border-box;
}
.list1 li p {
	margin-bottom:0;
	letter-spacing:2px;
}
.ttl2 {
	font-size:18px;
	color: #01006a;
	margin:2% 0;
	letter-spacing:2px;
}
.ttl2 span.ib {
	font-size:18px;
	color: #01006a;
	letter-spacing:2px;
}
.attention {
	background: #f4f3f7;
    padding: 15px;
}
.ttl3 {
	font-size: 24px;
    margin: 3% 0 2.5%;
    color: #E0A208;
    padding-bottom: 10px;
    border-bottom: solid 2px #E0A208;
}
.ttl4 {
	margin: 2% 0 1.5%;
    font-size: 18px;
    background-image: linear-gradient(90deg, rgba(1, 0, 106, 1), rgba(150, 186, 238, 1));
    padding: 5px 10px;
    color: #fff;
}

/* ==========================================================================
   お買取状態チェックリスト セクション
   ========================================================================== */
.bg-light-gray {
    background-color: #f8f9fa;
}

.text-muted {
    font-size: 16px;
	letter-spacing:3px;
}

.text-note {
    font-size: 15px;
    color: #01006a;
	letter-spacing:3px;
}
.text-note span.ib {
    font-size: 15px;
    color: #01006a;
	letter-spacing:3px;
}

/* 4カラムのグリッドレイアウト */
.checklist-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 40px;
    margin-bottom: 30px;
}

/* カード共通スタイル */
.checklist-card {
    background: #fff;
    border: 2px solid #e9ecef;
    border-radius: 0;
    padding: 0 0 25px;
    position: relative;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    transition: transform 0.2s ease;
}

.checklist-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(0,0,0,0.05);
}

/* バッジ（カテゴリ名） */
.card-badge {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    padding: 4px 20px;
    border-radius: 0;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    white-space: nowrap;
    z-index: 1;
}
.bg-gold  { background-color: #E0A208; }
.bg-navy  { background-color: #01006a; }
.bg-dark  { background-color: #343a40; }
.bg-green { background-color: #2b8a3e; }

/* アイコン画像エリア（商品写真） */
.card-icon {
    width: 100%;
    aspect-ratio: 4 / 3;
    margin: 0 auto 20px;
    overflow: hidden;
    background: #f5f5f5;
}
.card-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* チェックリストの箇条書き */
.card-list {
    list-style: none;
    padding: 0 20px;
    margin: 0;
    text-align: left;
}

.card-list li {
    font-size: 14px;
    color: #333;
    position: relative;
    padding-left: 22px;
    margin-bottom: 12px;
    line-height: 1.4;
    font-weight: 500;
}

/* チェックマークアイコンの擬似要素装飾 */
.card-list li::before {
    content: "✕"; /* あえてバツやジャンク感を出すか、チェックにするかですが、お買取り可能の「✔」にします */
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #e0a208;
    font-weight: bold;
    font-size: 16px;
}

/* レスポンシブ対応（タブレット・スマホ表示） */
@media screen and (max-width: 1000px) {
    .checklist-grid {
        grid-template-columns: repeat(2, 1fr); /* タブレットでは2列×2行 */
        gap: 30px 20px;
    }
}

@media screen and (max-width: 700px) {
    .checklist-grid {
        grid-template-columns: 1fr; /* スマホでは縦1列 */
        gap: 35px 0;
    }
}

/* ==========================================================================
   ご利用の流れ（3ステップ）セクション
   ========================================================================== */
.bg-white {
    background-color: #ffffff;
}

/* 3ステップ全体のコンテナ（Flexbox） */
.step-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-top: 50px;
    margin-bottom: 40px;
}

/* 各ステップカード */
.step-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 0;
    padding: 35px 20px 25px;
    flex: 1;
    position: relative;
    text-align: center;
    box-shadow: 0 4px 15px rgba(1, 0, 106, 0.03);
}

/* STEPの数字ラベル */
.step-num {
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    background: #01006a; /* メインのネイビー */
    color: #ffffff;
    font-size: 14px;
    font-weight: bold;
    padding: 4px 18px;
    border-radius: 0;
    letter-spacing: 1px;
}

/* アイコン画像エリア */
.step-icon {
    width: 60px;
    height: 60px;
    margin: 10px auto 20px;
}
.step-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* ステップのタイトル */
.step-title {
    font-size: 18px;
    font-weight: bold;
    color: #01006a;
    margin: 0 0 15px 0;
}

/* ステップの説明文 */
.step-desc {
    font-size: 14px;
    color: #4A5568;
    line-height: 1.6;
    text-align: left;
    margin: 0;
}

/* PC用の矢印 */
.step-arrow-pc {
    font-size: 28px;
    color: #E0A208; /* アクセントのゴールド */
    font-weight: bold;
    user-select: none;
	margin-top: 40px;
}

/* レスポンシブ対応（タブレット・スマホ表示） */
@media screen and (max-width: 1000px) {
    .step-container {
        flex-direction: column; /* 縦並びにする */
        gap: 0;
    }
    
    .step-card {
        width: 100%;
        max-width: 450px;
        margin: 20px auto;
    }
    
    /* PC用の矢印を消して、スマホ用の下向き矢印にする */
    .step-arrow-pc {
        display: none;
    }
    
    /* カードの間に下向き矢印を擬似要素で追加 */
    .step-card:not(:last-child)::after {
        content: "⬇";
        position: absolute;
        bottom: -32px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 22px;
        color: #E0A208;
        font-weight: bold;
        z-index: 10;
    }
}

/* ==========================================================================
   買取実績スライダー（Splide）カスタムスタイル
   ========================================================================== */
/* スライダーカード全体の構造 */
.achieve-card {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 0;
    overflow: hidden;
    height: 100%; /* 高さを統一 */
    box-shadow: 0 3px 10px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    margin: 10px 0;
}

/* 商品画像 */
.achieve-img {
    width: 100%;
    height: 200px;
    padding: 20px;
}
.achieve-img img {
    width: 100%;
    height: 100%;
    object-fit: contain; /* 画像の比率を保ったまま収める */
}

/* テキストコンテンツエリア */
.achieve-info {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

/* 商品名 */
.achieve-ttl {
    font-size: 18px;
    font-weight: bold;
    color: #003366; /* 高級感のあるネイビー */
    margin: 0 0 3% 0;
    line-height: 1.4;
}

/* 商品状態 */
.achieve-status {
    font-size: 13px;
    color: #777;
    margin: 0 0 3% 0;
}

/* 買取金額ボックス */
.achieve-price-box {
    padding: 10px 15px;
    margin-bottom: 3%;
    display: flex;
    text-align: end;
    flex-direction: column;
}
.price-label {
    font-size: 14px;
    font-weight: 500;
	color: #e50909;
	border:#e50909 solid 1px;
	padding:5px;
	line-height:1;
	width:fit-content;
	margin-bottom: 8px;
}
.price-value {
    font-size: 28px;
    color: #e50909;
    padding-bottom: 5px;
    letter-spacing:3px;
	font-weight:500;
}

/* お客様の声 */
.achieve-voice {
    background: #f9f9f9;
    padding: 12px;
    border-radius: 0;
    font-size: 14px;
    color: #444;
    line-height: 1.5;
    position: relative;
    flex-grow: 1;
}
.achieve-voice p {
    margin: 0;
}
/* クォーテーションマークの装飾 */
.achieve-voice::before {
    content: "\201C";
    position: absolute;
    top: -5px;
    left: 5px;
    font-size: 30px;
    color: #c5a028;
    opacity: 0.3;
}
/* クォーテーションマークの装飾 */
.achieve-voice::after {
    content: "\201D";
    position: absolute;
    bottom: -5px;
    right: 5px;
    font-size: 30px;
    color: #c5a028;
    opacity: 0.3;
}

/* Splideの矢印・ドットの微調整（サイトに合わせて） */
.splide__arrow {
    background: rgba(0, 51, 102, 0.8) !important;
}
.splide__arrow svg {
    fill: #fff !important;
}
.splide__pagination__page.is-active {
    background: #c5a028 !important;
}
.achieveSwiper {
	padding-bottom:40px !important;
	margin-bottom: 50px !important;
}
/* ==========================================================================
   買取実績スライダー 高さ統一の修正
   ========================================================================== */

/* Swiperのスライダートラック内の高さを揃える設定 */
.achieveSwiper .swiper-wrapper {
    display: flex;
}

/* スライド自体の高さを100%にして、中のカードに高さを引き継ぐ */
.achieveSwiper .swiper-slide {
    height: auto !important; /* Swiper独自の高さをリセットしてFlexに任せる */
    display: flex;
}

/* カード全体を縦方向のFlexboxにして、中身を綺麗に引き伸ばす */
.achieveSwiper .achieve-card {
    width: 100%;
    height: auto; /* 固定値を排除 */
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* 高さをいっぱいに引き伸ばす */
}

/* お客様の声（テキストエリア）を一番下で引き伸ばす */
.achieveSwiper .achieve-voice {
    flex-grow: 1; /* これにより、他の要素の隙間を埋めるようにテキストエリアが縦に伸びます */
    display: flex;
    align-items: flex-start; /* 文字は上揃え */
}

.achieveSwiper .achieve-voice p {
    margin: 0;
    width: 100%;
}

.faq {
	background:#f4f3f7;
}
.qa-7 {
    margin-bottom: 10px;
    border: none;
    border-radius: 0;
    box-shadow: 0 4px 4px rgb(0 0 0 / 2%), 0 2px 3px -2px rgba(0 0 0 / 5%);
    background-color: #fff;
}

.qa-7 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #525252;
    font-weight: 600;
    cursor: pointer;
}

.qa-7 summary::before,
.qa-7 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa-7 summary::before {
    color: #E0A208;
    content: "Q";
}

.qa-7 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #525252b3;
    border-right: 3px solid #525252b3;
    content: '';
    transition: transform .5s;
}

.qa-7[open] summary::after {
    transform: rotate(225deg);
}

.qa-7 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}

.qa-7[open] p {
    transform: none;
    opacity: 1;
}

.qa-7 p::before {
    color: #01006a;
    line-height: 1.2;
    content: "A";
}





/*------------------------------------*\
    アーカイブ00
\*------------------------------------*/





/*------------------------------------*\
    下層ページ00
\*------------------------------------*/

/* 固定ページ共通ラッパー */
.subpage-article {
    margin: 0;
    padding: 0;
}
.subpage-content {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 0;
}
.subpage-content > section,
.subpage-content section {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    width: 100vw;
    max-width: 100vw;
}
.subpage-content .width {
    width: 80%;
    max-width: 1200px;
    margin: 0 auto;
}
.subpage-content p:last-child {
    margin-bottom: 10px;
}
.page-header .ttl1 {
    margin-bottom: 3%;
}

/* 下層ページ共通ヘッダー */
.page-header {
    background: linear-gradient(135deg, #f4f3f7 0%, #fff 100%);
    border-bottom: 1px solid #e9ecef;
}
.page-header-en {
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 4px;
    color: #E0A208;
    margin-bottom: 10px;
}
.pt4 { padding-top: 40px; }
.pb4 { padding-bottom: 40px; }
.mt4 { margin-top: 4% !important; }

/* ==========================================================================
   買取品目・実績ページ（/items/）— 高級感・信頼性デザイン
   ========================================================================== */

/* ページヘッダー */
.items-header {
    background: linear-gradient(135deg, #010047 0%, #01006a 55%, #1a1a5e 100%);
    border-bottom: none;
    position: relative;
    overflow: hidden;
}
.items-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(224, 162, 8, 0.12) 0, rgba(224, 162, 8, 0) 35%),
        radial-gradient(circle at 80% 20%, rgba(255,255,255,0.12) 0, rgba(255,255,255,0) 28%);
    pointer-events: none;
}
.items-header .width {
    position: relative;
    z-index: 1;
}
.items-header .page-header-en {
    color: #E0A208;
}
.items-header .ttl1,
.items-header .ttl1 span {
    color: #fff !important;
    text-shadow: 0 2px 10px rgba(0,0,0,0.28);
}
.items-header .text-muted {
    color: #fff !important;
    letter-spacing: 2px;
    text-shadow: 0 1px 8px rgba(0,0,0,0.26);
}
.items-header .ttl1:after {
    background: #E0A208;
}
.items-trust-inline {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px 28px;
    margin: 0;
    padding: 0;
}
.items-trust-inline span {
    font-size: 14px;
    font-weight: 700;
    color: #fff !important;
    letter-spacing: 2px;
    position: relative;
    padding-left: 18px;
}
.items-trust-inline span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    background: #E0A208;
}

/* 品目 — タイムライン */
.items-categories-section {
    background: #fff;
}
.items-timeline {
    position: relative;
    padding-left: 48px;
    border-left: 2px solid #E0A208;
}
.items-timeline-item {
    position: relative;
    padding: 0 0 48px;
    scroll-margin-top: 110px;
}
.items-timeline-item:last-child {
    padding-bottom: 0;
}
.items-timeline-num {
    position: absolute;
    left: -48px;
    top: 0;
    transform: translateX(-50%);
    width: 40px;
    height: 40px;
    background: #01006a;
    color: #E0A208;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 1px;
}
.items-timeline-cat {
    font-size: 11px;
    font-weight: 700;
    color: #E0A208;
    letter-spacing: 3px;
    margin: 0 0 6px;
}
.items-timeline-ttl {
    font-size: 24px;
    font-weight: 700;
    color: #01006a;
    margin: 0 0 12px;
    letter-spacing: 3px;
    line-height: 1.4;
}
.items-timeline-img {
    margin: 0 0 16px;
}
.items-timeline-img img {
    width: auto;
    max-width: 280px;
    height: 180px;
    object-fit: contain;
    display: block;
}
.items-timeline-lead {
    font-size: 15px;
    line-height: 1.85;
    color: #444;
    margin-bottom: 20px;
}
.items-timeline-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    padding-top: 16px;
    border-top: 1px solid #e9ecef;
}
.items-timeline-sub {
    font-size: 13px;
    font-weight: 700;
    color: #01006a;
    margin: 0 0 8px;
    letter-spacing: 2px;
    padding-bottom: 6px;
    border-bottom: 1px solid #E0A208;
    display: inline-block;
}
.items-timeline-col p {
    font-size: 14px;
    line-height: 1.75;
    color: #444;
    margin: 0;
}
.item-keywords {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}
.item-keywords span {
    font-size: 11px;
    color: #01006a;
    padding: 0;
    letter-spacing: 1px;
    font-weight: 500;
    background: none;
    border: none;
}
.item-keywords span::after {
    content: "／";
    margin-left: 8px;
    color: #ccc;
}
.item-keywords span:last-child::after {
    content: none;
}

/* OK・NG — リスト形式 */
.items-condition-section {
    background: #f4f3f7;
}
.items-ok-list {
    border-top: 2px solid #01006a;
}
.items-ok-row {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 24px;
    align-items: start;
    padding: 24px 0;
    border-bottom: 1px solid #ddd;
}
.items-ok-cat {
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    padding: 8px 12px;
    text-align: center;
    letter-spacing: 1px;
    margin: 0;
}
.items-ok-items {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
}
.items-ok-items li {
    font-size: 14px;
    color: #333;
    line-height: 1.5;
    font-weight: 500;
    position: relative;
    padding-left: 16px;
}
.items-ok-items li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #E0A208;
    font-weight: bold;
}
.items-ng-strip {
    padding: 28px 0 0;
    border-top: 2px solid #8b2942;
}
.items-ng-label {
    font-size: 15px;
    font-weight: 700;
    color: #8b2942;
    letter-spacing: 2px;
    margin: 0 0 14px;
}
.items-ng-items {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
}
.items-ng-items li {
    font-size: 14px;
    color: #333;
    padding: 6px 0 6px 20px;
    position: relative;
    line-height: 1.6;
}
.items-ng-items li::before {
    content: "✕";
    position: absolute;
    left: 0;
    color: #8b2942;
    font-weight: bold;
}
.items-ng-note {
    font-size: 13px;
    color: #01006a;
    margin: 0;
    letter-spacing: 1px;
    line-height: 1.7;
}

/* 実績 — 交互レイアウト */
.items-results-section {
    background: #fff;
}
.items-results-list {
    border-top: 1px solid #01006a;
}
.items-result-row {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    align-items: center;
    padding: 40px 0;
    border-bottom: 1px solid #e9ecef;
}
.items-result-row-reverse {
    grid-template-columns: 1fr 280px;
}
.items-result-row-reverse .items-result-img {
    order: 2;
}
.items-result-row-reverse .items-result-body {
    order: 1;
    text-align: right;
}
.items-result-row-reverse .items-result-voice {
    border-left: none;
    border-right: 3px solid #E0A208;
    padding-left: 0;
    padding-right: 16px;
}
.items-result-img img {
    width: 100%;
    height: 200px;
    object-fit: contain;
}
.items-result-meta {
    font-size: 12px;
    color: #777;
    letter-spacing: 1px;
    margin: 0 0 8px;
}
.items-result-ttl {
    font-size: 20px;
    font-weight: 700;
    color: #01006a;
    margin: 0 0 10px;
    letter-spacing: 2px;
    line-height: 1.4;
}
.items-result-spec {
    font-size: 13px;
    color: #777;
    margin: 0 0 12px;
    line-height: 1.6;
}
.items-result-price {
    font-size: 15px;
    color: #333;
    margin: 0 0 16px;
    letter-spacing: 1px;
}
.items-result-price strong {
    display: block;
    font-size: 32px;
    font-weight: 500;
    color: #e50909;
    letter-spacing: 3px;
    margin-top: 4px;
}
.items-result-voice {
    font-size: 14px;
    line-height: 1.75;
    color: #444;
    margin: 0;
    padding-left: 16px;
    border-left: 3px solid #E0A208;
}
.items-result-voice span {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: #E0A208;
    letter-spacing: 2px;
    margin-bottom: 6px;
}
.achieve-rank {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    background: #01006a;
    padding: 3px 10px;
    letter-spacing: 1px;
    margin-right: 8px;
}
.achieve-rank-s {
    background: #E0A208;
    color: #01006a;
}
.items-results-note {
    font-size: 13px;
    color: #01006a;
    letter-spacing: 1px;
    line-height: 1.7;
}

/* ご来場案内 — シンプルテキスト */
.items-visit-section {
    background: #f4f3f7;
}
.items-visit-note {
    max-width: 780px;
    margin: 0 auto;
    padding-top: 24px;
    border-top: 1px solid #01006a;
}
.items-visit-lead {
    font-size: 15px;
    line-height: 1.85;
    color: #444;
    margin: 0 0 20px;
}
.items-visit-lead strong {
    color: #01006a;
}
.items-visit-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 16px 32px;
}
.items-visit-list li {
    font-size: 14px;
    font-weight: 700;
    color: #01006a;
    letter-spacing: 1px;
    position: relative;
    padding-left: 18px;
}
.items-visit-list li::before {
    content: "●";
    position: absolute;
    left: 0;
    color: #E0A208;
    font-size: 10px;
    top: 5px;
}

/* ==========================================================================
   買取の流れ・方法ページ（/flow/）
   ========================================================================== */
.flow-header {
    background: linear-gradient(135deg, #010047 0%, #01006a 55%, #1a1a5e 100%);
    border-bottom: none;
    position: relative;
    overflow: hidden;
}
.flow-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(224, 162, 8, 0.12) 0, rgba(224, 162, 8, 0) 35%),
        radial-gradient(circle at 80% 20%, rgba(255,255,255,0.12) 0, rgba(255,255,255,0) 28%);
    pointer-events: none;
}
.flow-header .width {
    position: relative;
    z-index: 1;
}
.flow-header .page-header-en {
    color: #E0A208;
}
.flow-header .ttl1,
.flow-header .ttl1 span {
    color: #fff !important;
    text-shadow: 0 2px 10px rgba(0,0,0,0.28);
}
.flow-header .text-muted {
    color: #fff !important;
    letter-spacing: 2px;
    text-shadow: 0 1px 8px rgba(0,0,0,0.26);
}
.flow-header .ttl1:after {
    background: #E0A208;
}
.flow-header strong {
    color: #E0A208 !important;
}

.flow-method-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.flow-method-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    padding: 28px 24px;
    box-shadow: 0 4px 15px rgba(1, 0, 106, 0.04);
}
.flow-method-img {
    margin: 0 0 16px;
}
.flow-method-img img {
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block;
}
.flow-method-main {
    border-top: 3px solid #E0A208;
}
.flow-method-label {
    font-size: 12px;
    font-weight: 700;
    color: #E0A208;
    letter-spacing: 2px;
    margin-bottom: 8px;
}
.flow-method-ttl {
    font-size: 20px;
    font-weight: 700;
    color: #01006a;
    margin: 0 0 14px;
    letter-spacing: 2px;
    line-height: 1.5;
}
.flow-method-ttl span.ib {
    font-size: 20px;
    color: #01006a;
    letter-spacing: 2px;
}
.flow-method-desc {
    font-size: 14px;
    line-height: 1.8;
    color: #444;
    margin-bottom: 16px;
}
.flow-method-points {
    list-style: none;
    padding: 0;
    margin: 0;
}
.flow-method-points li {
    font-size: 14px;
    color: #333;
    position: relative;
    padding-left: 22px;
    margin-bottom: 10px;
    line-height: 1.5;
    font-weight: 500;
}
.flow-method-points li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #E0A208;
    font-weight: bold;
}
.flow-method-tel {
    margin: 0;
    text-align: center;
    padding-top: 10px;
    border-top: 1px solid #e9ecef;
}
.flow-method-tel a {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: #01006a;
    letter-spacing: 2px;
    margin-bottom: 6px;
}
.flow-method-tel a:hover {
    color: #E0A208;
}
.flow-method-tel span {
    font-size: 13px;
    color: #777;
    letter-spacing: 1px;
}

/* STEP詳細ブロック */
.flow-steps-section {
    background: linear-gradient(180deg, #f8f9fa 0%, #f4f3f7 100%);
}

/* 3ステップ概要バー */
.flow-step-overview {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 0;
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 15px rgba(1, 0, 106, 0.04);
}
.flow-step-overview-item {
    flex: 1;
    text-align: center;
    padding: 24px 16px;
    border-right: 1px solid #e2e8f0;
}
.flow-step-overview-item:last-child {
    border-right: none;
}
.flow-step-overview-num {
    display: inline-block;
    font-size: 28px;
    font-weight: 700;
    color: #E0A208;
    line-height: 1;
    margin-bottom: 8px;
    letter-spacing: 2px;
}
.flow-step-overview-ttl {
    font-size: 16px;
    font-weight: 700;
    color: #01006a;
    margin: 0 0 6px;
    letter-spacing: 2px;
}
.flow-step-overview-time {
    font-size: 13px;
    color: #777;
    margin: 0;
    letter-spacing: 1px;
}
.flow-step-overview-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    min-width: 40px;
    font-size: 22px;
    font-weight: 700;
    color: #E0A208;
    background: #fafafa;
    border-right: 1px solid #e2e8f0;
}

.flow-step-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
}
.flow-step-block {
    display: flex;
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 15px rgba(1, 0, 106, 0.04);
    position: relative;
}
.flow-step-block:not(:last-child) {
    margin-bottom: 24px;
}
.flow-step-block:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 59px;
    bottom: -24px;
    width: 2px;
    height: 24px;
    background: #E0A208;
    z-index: 2;
}
.flow-step-side {
    width: 120px;
    min-width: 120px;
    background: #01006a;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 28px 16px;
    text-align: center;
}
.flow-step-num-lg {
    display: block;
    font-size: 42px;
    font-weight: 700;
    color: #E0A208;
    line-height: 1;
    letter-spacing: 2px;
    margin-bottom: 8px;
}
.flow-step-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #fff;
}
.flow-step-main {
    flex: 1;
    min-width: 0;
}
.flow-step-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #f4f3f7;
    padding: 20px 28px;
    border-bottom: 1px solid #e2e8f0;
}
.flow-step-head-text {
    flex: 1;
    min-width: 0;
}
.flow-step-num {
    display: none;
}
.flow-step-ttl {
    font-size: 20px;
    font-weight: 700;
    color: #01006a;
    margin: 0;
    letter-spacing: 2px;
    line-height: 1.5;
}
.flow-step-time {
    display: inline-block;
    flex-shrink: 0;
    font-size: 13px;
    font-weight: 700;
    color: #01006a;
    background: #fff;
    border: 1px solid #E0A208;
    padding: 6px 14px;
    white-space: nowrap;
    letter-spacing: 1px;
}
.flow-step-body {
    padding: 24px 28px 28px;
}
.flow-step-visual {
    margin: 0 0 20px;
}
.flow-step-visual img {
    width: 100%;
    max-width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}
.flow-doc-img img {
    width: auto;
    max-width: 560px;
    height: auto;
    max-height: 280px;
    object-fit: contain;
    margin: 0 auto;
    display: block;
}
.flow-step-lead {
    font-size: 15px;
    line-height: 1.8;
    color: #444;
    margin-bottom: 22px;
    padding-bottom: 18px;
    border-bottom: 1px dashed #e2e8f0;
}
.flow-step-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 20px;
}
.flow-step-info-card {
    background: #fafafa;
    border: 1px solid #e9ecef;
    padding: 18px 16px;
}
.flow-step-info-card-wide {
    grid-column: span 1;
}
.flow-step-info-ttl {
    font-size: 13px;
    font-weight: 700;
    color: #E0A208;
    margin: 0 0 10px;
    padding-bottom: 8px;
    border-bottom: 2px solid #E0A208;
    letter-spacing: 1px;
}
.flow-step-info-txt {
    font-size: 14px;
    line-height: 1.7;
    color: #444;
    margin: 0;
}
.flow-step-info-txt strong {
    color: #01006a;
}
.flow-checklist {
    list-style: none;
    padding: 0;
    margin: 0;
}
.flow-checklist li {
    font-size: 14px;
    color: #333;
    position: relative;
    padding-left: 22px;
    margin-bottom: 8px;
    line-height: 1.5;
}
.flow-checklist li:last-child {
    margin-bottom: 0;
}
.flow-checklist li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #E0A208;
    font-weight: bold;
}
.flow-tip {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #fffbf0;
    border: 1px solid #f0e6c8;
    border-left: 4px solid #E0A208;
    padding: 14px 18px;
    font-size: 14px;
    line-height: 1.7;
    color: #444;
    margin: 0;
}
.flow-tip-label {
    flex-shrink: 0;
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    background: #E0A208;
    padding: 3px 10px;
    letter-spacing: 1px;
}
.flow-tip strong {
    color: #01006a;
}

/* 本人確認書類テーブル */
.flow-sub-ttl {
    font-size: 18px;
    font-weight: 700;
    color: #01006a;
    margin: 0 0 16px;
    letter-spacing: 2px;
    padding-bottom: 8px;
    border-bottom: 2px solid #E0A208;
}
.id-doc-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #e2e8f0;
}
.id-doc-table thead th {
    background: #01006a;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    padding: 12px 16px;
    text-align: center;
    letter-spacing: 1px;
    white-space: nowrap;
    vertical-align: middle;
}
.id-doc-table thead th:nth-child(1) {
    width: 24%;
}
.id-doc-table thead th:nth-child(2) {
    width: 16%;
}
.id-doc-table thead th:nth-child(3) {
    width: 60%;
}
.id-doc-table tbody th {
    background: #f4f3f7;
    font-size: 14px;
    font-weight: 700;
    color: #01006a;
    padding: 14px 16px;
    text-align: left;
    width: 24%;
    border-bottom: 1px solid #e2e8f0;
    vertical-align: middle;
}
.id-doc-table tbody th span.ib {
    font-size: 14px;
    color: #01006a;
}
.id-doc-table td {
    font-size: 14px;
    line-height: 1.6;
    color: #444;
    padding: 14px 16px;
    border-bottom: 1px solid #e2e8f0;
    vertical-align: middle;
}
.id-doc-table td:nth-child(2) {
    text-align: center;
    white-space: nowrap;
}
.id-doc-table tr:last-child th,
.id-doc-table tr:last-child td {
    border-bottom: none;
}
.id-ok {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    color: #2b8a3e;
    background: #edf7f0;
    border: 1px solid #b8dfc4;
    padding: 2px 10px;
}
.id-ng {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    color: #c0392b;
    background: #fdf0ef;
    border: 1px solid #f0c4c0;
    padding: 2px 10px;
}
.flow-note-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.flow-note-list li {
    font-size: 14px;
    line-height: 1.8;
    color: #444;
    padding: 12px 0 12px 20px;
    border-bottom: 1px solid #e9ecef;
    position: relative;
}
.flow-note-list li::before {
    content: "●";
    position: absolute;
    left: 0;
    top: 14px;
    color: #E0A208;
    font-size: 10px;
}
.flow-note-list li:last-child {
    border-bottom: none;
}
.flow-note-list li strong {
    color: #01006a;
}

/* 来場前チェックリスト */
.flow-check-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.flow-check-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    padding: 24px 20px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03);
}
.flow-check-ttl {
    font-size: 16px;
    font-weight: 700;
    color: #01006a;
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid #E0A208;
    letter-spacing: 1px;
}

/* クロージング */
.flow-closing-box {
    background: #f4f3f7;
    border: 1px solid #e2e8f0;
    border-left: 4px solid #E0A208;
    padding: 36px 32px;
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}
.flow-closing-ttl {
    font-size: 20px;
    font-weight: 700;
    color: #01006a;
    margin: 0 0 16px;
    letter-spacing: 2px;
    line-height: 1.6;
}
.flow-closing-box p {
    font-size: 15px;
    line-height: 1.8;
    color: #444;
    margin-bottom: 10px;
}
.flow-closing-box p:last-child {
    margin-bottom: 0;
}

.subpage-content strong {
    color: #01006a;
    font-weight: 700;
}

/* ==========================================================================
   運営会社概要ページ（/company/）
   ========================================================================== */
.company-header {
    background: linear-gradient(135deg, #010047 0%, #01006a 55%, #1a1a5e 100%);
    border-bottom: none;
    position: relative;
    overflow: hidden;
}
.company-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(224, 162, 8, 0.1) 0, rgba(224, 162, 8, 0) 40%),
        radial-gradient(circle at 85% 15%, rgba(255,255,255,0.1) 0, rgba(255,255,255,0) 30%);
    pointer-events: none;
}
.company-header .width {
    position: relative;
    z-index: 1;
}
.company-header .page-header-en {
    color: #E0A208;
}
.company-header .ttl1,
.company-header .ttl1 span {
    color: #fff !important;
    text-shadow: 0 2px 10px rgba(0,0,0,0.28);
}
.company-header .text-muted {
    color: #fff !important;
    letter-spacing: 2px;
    text-shadow: 0 1px 8px rgba(0,0,0,0.26);
}
.company-header .ttl1:after {
    background: #E0A208;
}
.company-header strong {
    color: #E0A208 !important;
}

.company-table {
    width: 100%;
    border-collapse: collapse;
    border-top: 2px solid #01006a;
    table-layout: fixed;
}
.company-table th,
.company-table td {
    padding: 20px 24px;
    font-size: 15px;
    line-height: 1.75;
    letter-spacing: 1px;
    border-bottom: 1px solid #e2e8f0;
    vertical-align: top;
    text-align: left;
}
.company-table th {
    width: 28%;
    background: #f4f3f7;
    color: #01006a;
    font-weight: 700;
    white-space: nowrap;
}
.company-table td {
    color: #333;
    background: #fff;
}
.company-table td a {
    color: #01006a;
    font-weight: 700;
    text-decoration: underline;
}
.company-table-note {
    display: block;
    font-size: 13px;
    color: #777;
    font-weight: 400;
    margin-top: 6px;
    letter-spacing: 0.5px;
}
.company-table-highlight th,
.company-table-highlight td {
    background: #fffdf5;
}
.company-table-highlight th {
    border-left: 4px solid #E0A208;
}
.company-license-no {
    font-size: 20px;
    font-weight: 700;
    color: #01006a;
    letter-spacing: 2px;
}
.company-visual img {
    width: auto;
    max-width: 360px;
    height: auto;
    max-height: 220px;
    object-fit: contain;
    margin: 0 auto;
    display: block;
}

.company-license-points {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    max-width: 720px;
    border-top: 1px solid #01006a;
}
.company-license-points li {
    font-size: 15px;
    color: #333;
    line-height: 1.75;
    padding: 16px 0 16px 22px;
    border-bottom: 1px solid #e2e8f0;
    position: relative;
    letter-spacing: 1px;
}
.company-license-points li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 24px;
    width: 8px;
    height: 8px;
    background: #E0A208;
}

.company-map-section iframe {
    display: block;
    width: 100%;
    height: 400px;
    border: 0;
}

/* ==========================================================================
   お問合せページ（/contact/）・送信完了（/contact-thanks/）
   ========================================================================== */
.contact-header {
    background: linear-gradient(135deg, #010047 0%, #01006a 55%, #1a1a5e 100%);
    border-bottom: none;
    position: relative;
    overflow: hidden;
}
.contact-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(224, 162, 8, 0.1) 0, rgba(224, 162, 8, 0) 40%),
        radial-gradient(circle at 85% 15%, rgba(255,255,255,0.1) 0, rgba(255,255,255,0) 30%);
    pointer-events: none;
}
.contact-header .width {
    position: relative;
    z-index: 1;
}
.contact-header .page-header-en {
    color: #E0A208;
}
.contact-header .ttl1,
.contact-header .ttl1 span {
    color: #fff !important;
    text-shadow: 0 2px 10px rgba(0,0,0,0.28);
}
.contact-header .text-muted {
    color: #fff !important;
    letter-spacing: 2px;
    text-shadow: 0 1px 8px rgba(0,0,0,0.26);
}
.contact-header .ttl1:after {
    background: #E0A208;
}

.contact-tel-banner a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 28px;
    font-weight: 700;
    color: #fff !important;
    letter-spacing: 2px;
}
.contact-tel-banner img {
    width: 60px;
    display: inline-block;
    max-width: 60px;
}
.contact-visual img {
    width: auto;
    max-width: 480px;
    height: auto;
    max-height: 260px;
    object-fit: cover;
    margin: 0 auto;
    display: block;
}
.contact-tel-banner span {
    display: block;
    font-size: 13px;
    font-weight: 400;
    color: rgba(255,255,255,0.85);
    margin-top: 6px;
    letter-spacing: 1px;
}

.contact-required-mark {
    display: block;
    font-size: 13px;
    font-weight: 400;
    color: rgba(255,255,255,0.85);
    margin-top: 6px;
    letter-spacing: 1px;
}

.contact-required-mark {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    background: #8b2942;
    padding: 2px 8px;
    letter-spacing: 1px;
    margin-right: 4px;
}

.contact-form-box {
    max-width: 720px;
    margin: 0 auto;
    padding: 36px 32px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-top: 3px solid #01006a;
}

.contact-form-wrap {
    margin: 0;
}
.contact-form-row {
    margin-bottom: 24px;
}
.contact-form-row label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #01006a;
    letter-spacing: 1px;
    margin-bottom: 8px;
}
.contact-required {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    background: #8b2942;
    padding: 2px 8px;
    letter-spacing: 1px;
    margin-left: 8px;
    vertical-align: middle;
}

.contact-form-section .wpcf7-form-control-wrap {
    display: block;
}
.contact-form-section input[type="text"],
.contact-form-section input[type="email"],
.contact-form-section input[type="tel"],
.contact-form-section select,
.contact-form-section textarea {
    width: 100%;
    padding: 12px 14px;
    font-size: 15px;
    color: #333;
    background: #fafafa;
    border: 1px solid #d0d5f5;
    border-radius: 0;
    letter-spacing: 1px;
    box-sizing: border-box;
}
.contact-form-section textarea {
    min-height: 160px;
    resize: vertical;
}
.contact-form-section input:focus,
.contact-form-section select:focus,
.contact-form-section textarea:focus {
    outline: none;
    border-color: #01006a;
    background: #fff;
}
.contact-form-section .wpcf7-not-valid-tip {
    font-size: 12px;
    color: #8b2942;
    margin-top: 6px;
}
.contact-form-section .wpcf7-response-output {
    margin: 20px 0 0;
    padding: 14px 16px;
    font-size: 14px;
    letter-spacing: 1px;
    border: 1px solid #e2e8f0 !important;
}
.contact-form-section .wpcf7 form.sent .wpcf7-response-output {
    border-color: #2b8a3e !important;
    color: #2b8a3e;
    background: #f4faf5;
}
.contact-form-section .wpcf7 form.invalid .wpcf7-response-output,
.contact-form-section .wpcf7 form.failed .wpcf7-response-output {
    border-color: #8b2942 !important;
    color: #8b2942;
    background: #fdf8f8;
}

.contact-form-submit {
    margin: 32px 0 0;
    text-align: center;
}
.contact-form-section input[type="submit"],
.contact-form-section .wpcf7-submit {
    display: inline-block;
    min-width: 280px;
    padding: 18px 40px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #fcfcfc;
    text-shadow: rgba(0,0,0,.5) 0 0 10px;
    background-image: radial-gradient(circle, rgba(255, 242, 58, 1), rgba(224, 162, 8, 1) 80%);
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: opacity 0.2s ease;
}
.contact-form-section input[type="submit"]:hover,
.contact-form-section .wpcf7-submit:hover {
    opacity: 0.85;
}

.contact-notes {
    list-style: none;
    padding: 0;
    margin: 32px auto 0;
    max-width: 720px;
}
.contact-notes li {
    font-size: 13px;
    color: #555;
    line-height: 1.75;
    padding: 8px 0 8px 18px;
    position: relative;
    letter-spacing: 0.5px;
    border-bottom: 1px solid #e9ecef;
}
.contact-notes li:last-child {
    border-bottom: none;
}
.contact-notes li::before {
    content: "●";
    position: absolute;
    left: 0;
    color: #E0A208;
    font-size: 10px;
    top: 12px;
}

.contact-tel-box {
    max-width: 560px;
    margin: 0 auto;
    text-align: center;
    padding: 32px 24px;
    border-top: 2px solid #01006a;
}
.contact-tel-num a {
    font-size: 36px;
    font-weight: 700;
    color: #01006a;
    letter-spacing: 3px;
}
.contact-tel-hours {
    font-size: 14px;
    color: #555;
    margin: 12px 0 0;
    letter-spacing: 1px;
}
.contact-tel-note {
    font-size: 13px;
    color: #777;
    line-height: 1.75;
    margin: 16px 0 0;
    letter-spacing: 0.5px;
}

/* 送信完了ページ */
.contact-thanks-section .width {
    max-width: 800px;
}

.contact-thanks-box {
    max-width: 720px;
    margin: 0 auto;
    padding: 32px 28px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-left: 4px solid #E0A208;
    text-align: center;
    box-sizing: border-box;
}
.contact-thanks-lead {
    font-size: 16px;
    font-weight: 700;
    color: #01006a;
    margin: 0 0 16px;
    letter-spacing: 1px;
    line-height: 1.75;
}
.contact-thanks-box p {
    font-size: 15px;
    color: #444;
    line-height: 1.85;
    letter-spacing: 1px;
    margin: 0;
}
.contact-thanks-box strong {
    color: #01006a;
}

.contact-thanks-steps {
    list-style: none;
    padding: 0;
    margin: 32px auto 0;
    max-width: 720px;
    border-top: 2px solid #01006a;
}
.contact-thanks-steps li {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 24px 0;
    margin: 0;
    border-bottom: 1px solid #e2e8f0;
    list-style: none;
}
.contact-thanks-steps li:last-child {
    border-bottom: none;
}
.contact-thanks-step-num {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: #01006a;
    color: #E0A208;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
}
.contact-thanks-steps li:first-child .contact-thanks-step-num {
    background: #E0A208;
    color: #01006a;
}
.contact-thanks-steps li p {
    flex: 1;
    min-width: 0;
    margin: 0;
    padding-top: 4px;
    font-size: 14px;
    color: #444;
    line-height: 1.75;
    letter-spacing: 0.5px;
    text-align: left;
}
.contact-thanks-steps li strong {
    display: block;
    font-size: 15px;
    color: #01006a;
    margin-bottom: 4px;
}

.contact-thanks-actions {
    max-width: 720px;
    margin: 32px auto 0;
    padding-top: 32px;
    border-top: 1px solid #e2e8f0;
    text-align: center;
}
.contact-thanks-tel {
    margin: 0 0 28px;
}
.contact-thanks-tel a {
    display: inline-block;
    text-decoration: none;
    color: #555;
}
.contact-thanks-tel a:hover {
    opacity: 0.85;
}
.contact-thanks-tel-main {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-size: 36px;
    font-weight: 700;
    color: #01006a;
    letter-spacing: 2px;
    line-height: 1.2;
}
.contact-thanks-tel-main img {
    width: 60px;
    max-width: 60px;
    height: auto;
    display: block;
    flex-shrink: 0;
}
.contact-thanks-tel-hours {
    display: block;
    margin-top: 10px;
    font-size: 13px;
    color: #777;
    letter-spacing: 1px;
    line-height: 1.6;
}

.contact-thanks-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 24px;
}
.contact-thanks-links a {
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    color: #01006a;
    letter-spacing: 1px;
    text-decoration: underline;
}
.contact-thanks-links a:hover {
    opacity: 0.75;
}




@media screen and (max-width: 1000px) {
.width {
	width:90%;
}
p {
	font-size:15.5px;
	margin-bottom:8px;
}

/*------------------------------------*\
    ヘッダー＆フッダー100
\*------------------------------------*/
	.site-header {
		height:90px;
	}
	.g_nav ul li a {
		padding: 8px 13px;
		font-size: 14px;
	}
	.h_tel img {
		width:50px;
	}
	.h_contact a {
		padding: 13px 20px;
	}






/*------------------------------------*\
    トップページ1000
\*------------------------------------*/
	#main {
		padding-top:90px;
	}
	/* 全体コンテナの幅調整 */
    .width {
        width: 90% !important;
    }

    /* ヘッダー・メインビジュアルの調整 */
    h1, .ttl1 {
        font-size: 24px !important;
    }
	.cta .h_tel a span {
		font-size:32px;
	}
	.cta .h_contact a {
		font-size:20px;
	}
	.list1 {
		justify-content:space-around;
	}
	.list1 li {
		width:48%;
		margin-bottom:2%;
	}
    
    /* お買取状態チェックリスト（2列×2行に変更して綺麗に収める） */
    .checklist-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 30px 20px !important;
    }

    /* ご利用の流れ（3ステップ） */
    .step-container {
        gap: 10px !important;
    }
    .step-card {
        padding: 30px 15px 20px !important;
    }
    .step-arrow-pc {
        font-size: 20px !important;
        margin-top: 20px !important;
    }
    .step-desc {
        font-size: 13px !important;
    }





/*------------------------------------*\
    アーカイブ1000
\*------------------------------------*/





/*------------------------------------*\
    下層ページ1000
\*------------------------------------*/
	.subpage-content .width {
		width: 90%;
	}
	.items-timeline-columns {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.items-ok-row {
		grid-template-columns: 120px 1fr;
		gap: 16px;
	}
	.items-result-row,
	.items-result-row-reverse {
		grid-template-columns: 220px 1fr;
		gap: 28px;
	}
	.flow-method-grid {
		grid-template-columns: 1fr;
	}
	.flow-check-grid {
		grid-template-columns: 1fr;
	}
	.flow-step-overview {
		flex-direction: column;
	}
	.flow-step-overview-item {
		flex: none;
		border-right: none;
		border-bottom: 1px solid #e2e8f0;
		padding: 20px 16px;
	}
	.flow-step-overview-item:last-child {
		border-bottom: none;
	}
	.flow-step-overview-arrow {
		flex: none;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-width: unset;
		height: 36px;
		border-right: none;
		border-bottom: 1px solid #e2e8f0;
		background: #fafafa;
		font-size: 0;
		color: transparent;
		line-height: 1;
		transform: none;
	}
	.flow-step-overview-arrow::after {
		content: "↓";
		font-size: 18px;
		font-weight: 700;
		color: #E0A208;
	}
	.flow-step-info-grid {
		grid-template-columns: 1fr 1fr;
	}
	.flow-step-info-card-wide {
		grid-column: span 2;
	}
	.flow-step-ttl {
		font-size: 18px;
	}
	.company-table th {
		width: 32%;
		padding: 16px 18px;
	}
	.company-table td {
		padding: 16px 18px;
	}

}





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

.width {
	width:95%;
}
p {
	font-size:15px;
	letter-spacing:0.5px;
	margin-bottom:5px;
}
.float p.floatr,.float p.floatl {
	float:unset;
	width:100%;
	margin:0 auto 10px;
}



/*------------------------------------*\
    ヘッダー＆フッダー700
\*------------------------------------*/
	.site-header {
		height:55px;
	}
	
	.h_cta {
		display:none;
	}
	/* 1. 既存のナビゲーションをスマホ用に変形（初期状態は非表示） */
    .g_nav {
        position: fixed !important;
        top: 0; /* ヘッダーの高さに合わせる */
        left: 0;
        width: 100%;
        height: 100vh;
        background-color: rgba(1, 0, 106, 0.95); /* 高級感のあるネイビー（透過） */
        z-index: 9998;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        padding-top: 40px;
    }

    /* メニュー内のリストを縦並びに */
    .g_nav ul {
        flex-direction: column !important;
        align-items: center !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .g_nav ul li {
        width: 70% !important;
        text-align: center;
        border-bottom:solid 1px #E0A208;
    }

    .g_nav ul li a {
        font-size: 16px !important;
        color: #fcfcfc !important;
        display: block;
        padding: 15px 0;
        font-weight: bold;
        letter-spacing: 1px;
    }

    /* メニューが開いたときの状態（JSでクラスを付与） */
    .g_nav.is-open {
        opacity: 1 !important;
        visibility: visible !important;
        overflow-y: auto;
    }

    /* ハンバーガーメニュー内のCTA */
    .g_nav-cta {
        display: flex !important;
        width: 80%;
        max-width: 340px;
        margin: 32px auto 0;
        flex-direction: column;
        gap: 14px;
    }
    .g_nav-tel {
        margin: 0;
        text-align: center;
    }
    .g_nav-tel a {
        display: block;
        padding: 12px;
        background: #fff;
        text-decoration: none;
    }
    .g_nav-tel-num {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        font-size: 24px;
        font-weight: bold;
        color: #01006a;
        letter-spacing: 1px;
        line-height: 1.2;
    }
    .g_nav-tel-num img {
        width: 44px;
        max-width: 44px;
        display: inline-block;
    }
    .g_nav-tel-hours {
        display: block;
        margin-top: 4px;
        font-size: 12px;
        color: #555;
        letter-spacing: 0.5px;
    }
    .g_nav-contact {
        margin: 0;
    }
    .g_nav-contact a {
        display: block;
        padding: 16px;
        font-size: 16px;
        font-weight: bold;
        letter-spacing: 0.1em;
        text-align: center;
        color: #fcfcfc;
        text-shadow: rgba(0,0,0,.5) 0 0 10px;
        background-image: radial-gradient(circle, rgba(255, 242, 58, 1), rgba(224, 162, 8, 1) 80%);
    }

    /* 2. ハンバーガーボタンのスタイリング */
    .menu-trigger {
		display: block !important;
        position: absolute;
        top: 2.5px;
        right: 0px;
        width: 50px;
        height: 50px;
        background: none;
        border: none;
        cursor: pointer;
        z-index: 9999;
        padding: 0;
    }

    /* 三本線の共通スタイル */
    .menu-trigger span {
        display: block;
        position: absolute;
        left: 5px;
        width: 40px;
        height: 3px;
        background-color: #01006a; /* テーマカラーのネイビー */
        border-radius: 0;
        transition: all 0.3s ease;
    }

    /* 三本線の配置 */
    .menu-trigger span:nth-child(1) { top: 16px; }
    .menu-trigger span:nth-child(2) { top: 25px; }
    .menu-trigger span:nth-child(3) { top: 35px; }

    /* メニューが開いたときのボタンの変形（✕印にする） */
    .menu-trigger.is-open span {
        background-color: #ffffff; /* 開いている時は背景に合わせて白にする */
    }
    .menu-trigger.is-open span:nth-child(1) {
        transform: translateY(9px) rotate(-45deg);
    }
    .menu-trigger.is-open span:nth-child(2) {
        opacity: 0;
    }
    .menu-trigger.is-open span:nth-child(3) {
        transform: translateY(-9px) rotate(45deg);
    }
	.site-header h1 a img {
		width:unset;
	}
	
	.f_logo a {
		font-size:18px;
	}
	.table1 th,
	.table1 td {
		width:50%;
		font-size:16px;
		padding:5px;
		letter-spacing:1px;
	}
	.f_company-link a {
		display: block;
		padding: 12px 16px;
		font-size: 13px;
        text-align:center;
	}
	.f_map iframe {
		height: 200px;
	}

	/* 画面下 追従型CTA */
	.fixed-cta {
		display: flex !important;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9990;
		box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.18);
	}
	.fixed-cta a {
		flex: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		padding: 10px 6px;
		min-height: 60px;
		text-align: left;
	}
	.fixed-cta-tel {
		background: #01006a;
	}
	.fixed-cta-contact {
		background-image: radial-gradient(circle, rgba(255, 242, 58, 1), rgba(224, 162, 8, 1) 85%);
	}
	.fixed-cta-icon {
		flex-shrink: 0;
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 1px;
		line-height: 1;
	}
	.fixed-cta-tel .fixed-cta-icon {
		color: #E0A208;
	}
	.fixed-cta-contact .fixed-cta-icon {
		color: #fff;
		text-shadow: rgba(0,0,0,.4) 0 0 6px;
	}
	.fixed-cta-text {
		display: flex;
		flex-direction: column;
		line-height: 1.2;
	}
	.fixed-cta-num {
		font-size: 16px;
		font-weight: 700;
		letter-spacing: 0.5px;
	}
	.fixed-cta-sub {
		font-size: 10px;
		margin-top: 2px;
		letter-spacing: 0.5px;
	}
	.fixed-cta-tel .fixed-cta-num,
	.fixed-cta-tel .fixed-cta-sub {
		color: #fff;
	}
	.fixed-cta-contact .fixed-cta-num,
	.fixed-cta-contact .fixed-cta-sub {
		color: #fff;
		text-shadow: rgba(0,0,0,.4) 0 0 6px;
	}

	/* 追従CTAの高さ分、フッター下部に余白を確保 */
	.f_copy {
		margin-bottom: 60px !important;
        border-bottom: #fcfcfc 3px solid;
	}





/*------------------------------------*\
    トップページ700
\*------------------------------------*/
	#main {
		padding-top:55px;
	}

    /* タイトル文字のフォントサイズ最適化 */
    h1 {
        font-size: 22px ;
    }
    .ttl1 {
        font-size: 20px;
		letter-spacing:3px;
		margin-bottom:5%;
    }
    .ttl1 span {
        font-size: 14px;
        margin-bottom: 5px ;
    }
	.cta_txt {
		font-size:18px;
	}
	.cta {
		flex-direction: column;
		gap: 15px;
	}
	.cta_txt span {
		font-size:24px;
	}
	.cta .h_contact a {
		font-size:18px;
	}
	.mySwiper .swiper-slide a {
		font-size:14px;
		padding:20px 0;
	}
	.list1 {
		flex-direction:column;
	}
	.list1 li {
		width:100%;
	}
	.ttl3 {
		font-size:20px;
	}
	p.center {
		text-align:unset !important;
	}
	.cta_bg p.center {
		text-align:center !important;
	}
	

    /* お買取状態チェックリスト（縦1列にして文字が潰れるのを防ぐ） */
    .checklist-grid {
        grid-template-columns: 1fr !important;
        gap: 35px 0 !important;
    }

    /* ご利用の流れ（3ステップ：縦並び＋矢印を「⬇」にスイッチ） */
    .step-container {
        flex-direction: column !important;
        gap: 0 !important;
		margin-bottom:0;
    }
    .step-card {
        width: 100% !important;
        max-width: 400px !important;
        margin: 0 auto 35px !important;
    }
    /* 最後以外のカードの下に下向きの矢印を配置 */
    .step-card:not(:last-child)::after {
        content: "⬇" !important;
        position: absolute !important;
        bottom: -20px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        font-size: 30px !important;
        color: #E0A208 !important;
        font-weight: bold !important;
        z-index: 10 !important;
    }
    /* PC用の横向き矢印を非表示に */
    .step-arrow-pc {
        display: none !important;
    }

    /* お客様の声スライダー（スマホは常時1枚表示へ自動スイッチ） */
    .achieveSwiper .swiper-slide {
        padding: 0 5px;
    }
    .achieve-card {
        margin: 5px 0 !important;
    }
    .achieve-ttl {
        font-size: 16px !important;
    }
    .price-value {
        font-size: 18px !important;
    }
    .achieve-voice {
        font-size: 13px !important;
    }

    /* よくあるご質問（Q&A）のスマホ最適化 */
    .methods dl dt {
        font-size: 14px !important;
        padding: 12px 15px 12px 45px !important;
    }
    .methods dl dt::before {
        left: 15px !important;
    }
    .methods dl dd {
        font-size: 14px !important;
        padding: 15px !important;
    }
    
    /* 会社概要テーブルのレスポンシブ対応（縦並びに崩す） */
    .methods table, 
    .methods tbody, 
    .methods tr, 
    .methods th, 
    .methods td {
        display: block !important;
        width: 100% !important;
    }
    .methods tr {
        border-bottom: 1px solid #e2e8f0;
        padding: 10px 0;
    }
    .methods tr:last-child {
        border-bottom: none;
    }
    .methods th {
        background: none !important;
        color: #01006a !important;
        font-weight: bold !important;
        padding: 5px 0 !important;
        text-align: left !important;
    }
    .methods td {
        padding: 5px 0 10px 0 !important;
    }

	.items-timeline {
		padding-left: 36px;
	}
	.items-timeline-num {
		left: -36px;
		width: 32px;
		height: 32px;
		font-size: 12px;
	}
	.items-timeline-ttl {
		font-size: 18px;
	}
	.items-timeline-columns {
		grid-template-columns: 1fr;
	}
	.items-ok-row {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 18px 0;
	}
	.items-ok-cat {
		text-align: left;
		display: inline-block;
	}
	.items-result-row,
	.items-result-row-reverse {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 28px 0;
	}
	.items-result-row-reverse .items-result-img,
	.items-result-row-reverse .items-result-body {
		order: 0;
	}
	.items-result-row-reverse .items-result-body {
		text-align: left;
	}
	.items-result-row-reverse .items-result-voice {
		border-right: none;
		border-left: 3px solid #E0A208;
		padding-right: 0;
		padding-left: 16px;
	}
	.items-result-img img {
		height: 160px;
	}
	.items-trust-inline {
		flex-direction: column;
		align-items: center;
		gap: 10px;
	}
	.items-trust-inline span {
		font-size: 13px;
	}
	.items-header .text-muted {
		font-size: 14px !important;
	}
	.flow-header .text-muted {
		font-size: 14px !important;
	}
	.subpage-content .width {
		width: 95%;
	}
	.condition-ng {
		padding: 22px 16px;
	}
	.visit-box {
		padding: 18px 16px;
	}
	.flow-step-overview-item {
		padding: 16px;
	}
	.flow-step-overview-num {
		font-size: 22px;
	}
	.flow-step-overview-ttl {
		font-size: 15px;
	}
	.company-table,
	.company-table tbody,
	.company-table tr,
	.company-table th,
	.company-table td {
		display: block;
		width: 100%;
	}
	.company-table tr {
		border-bottom: 1px solid #e2e8f0;
		padding: 12px 0;
	}
	.company-table tr:last-child {
		border-bottom: none;
	}
	.company-table th {
		background: none;
		border-left: none;
		padding: 0 0 6px;
		font-size: 13px;
		white-space: normal;
	}
	.company-table td {
		padding: 0 0 4px;
		font-size: 15px;
	}
	.company-table-highlight th {
		border-left: none;
		padding-top: 4px;
	}
	.company-license-no {
		font-size: 18px;
	}
	.company-map-section iframe {
		height: 260px;
	}
	.contact-form-box {
		padding: 24px 18px;
	}
	.contact-form-section input[type="submit"],
	.contact-form-section .wpcf7-submit {
		min-width: unset;
		width: 100%;
	}
	.contact-tel-banner a {
		font-size: 22px;
	}
	.contact-tel-num a {
		font-size: 28px;
	}
	.contact-thanks-tel-main {
		font-size: 28px;
		gap: 8px;
	}
	.contact-thanks-tel-main img {
		width: 50px;
		max-width: 50px;
	}
	.contact-thanks-steps li {
		gap: 14px;
		padding: 20px 0;
	}
	.contact-thanks-step-num {
		width: 40px;
		height: 40px;
		font-size: 12px;
	}
	.contact-thanks-links {
		flex-direction: column;
		align-items: center;
		gap: 14px;
	}
	.flow-step-block {
		flex-direction: column;
	}
	.flow-step-block:not(:last-child)::after {
		display: none;
	}
	.flow-step-list {
		gap: 0;
	}
	.flow-step-block:not(:last-child) {
		margin-bottom: 20px;
	}
	.flow-step-side {
		width: 100%;
		min-width: unset;
		flex-direction: row;
		gap: 12px;
		padding: 14px 18px;
	}
	.flow-step-num-lg {
		font-size: 28px;
		margin-bottom: 0;
	}
	.flow-step-head {
		flex-direction: column;
		align-items: flex-start;
		padding: 16px 18px;
	}
	.flow-step-body {
		padding: 18px;
	}
	.flow-step-ttl {
		font-size: 16px;
	}
	.flow-step-time {
		font-size: 12px;
		padding: 5px 10px;
	}
	.flow-step-info-grid {
		grid-template-columns: 1fr;
	}
	.flow-step-info-card-wide {
		grid-column: span 1;
	}
	.flow-tip {
		flex-direction: column;
		gap: 8px;
	}
	.id-doc-table thead {
		display: none;
	}
	.id-doc-table tbody th,
	.id-doc-table tbody td {
		display: block;
		width: 100%;
	}
	.id-doc-table tbody th {
		border-bottom: none;
		padding-bottom: 4px;
	}
	.id-doc-table tbody td {
		padding-top: 4px;
		padding-bottom: 16px;
	}
	.flow-closing-box {
		padding: 24px 18px;
	}
	.flow-closing-ttl {
		font-size: 17px;
	}

}

/*------------------------------------*\
    アーカイブ700
\*------------------------------------*/




