@charset "UTF-8";
/*
* v3/pc/css/cmn.css
*
*/

/* ------------------------
  Components
------------------------ */
html {
    min-width: 1260px;
}

.wrap {
    background: #FFF;
    padding-top: 60px;
}

.content {
    background: #F5F5F5;
    font-size: 16px;
    position: relative;
}

/* ------------------------
  Base Settings
------------------------ */
a,
button.m-btn {
    transition: 0.3s ease-out;
}

.content a[href^="tel:"]:hover {
    color: #3c3c3c;
}

.content article {
    padding-bottom: 64px;
}

.content section {
    padding-bottom: 32px;
    padding-top: 64px;
}

/* ------------------------
  Grid
------------------------ */
.flexColumn {
    display: flex;
    justify-content: space-between;
}

.column6 {
    flex-basis: 190px;
}

.column4 {
    flex-basis: 285px;
}

.column3 {
    flex-basis: 386px;
}

.column2 {
    flex-basis: 590px;
}

.column1 {
    flex-basis: 1200px;
}

/* ------------------------
  Font
------------------------ */
.content h1 {
    font-size: 48px;
    font-weight: 700;
}

.content h2 {
    font-size: 32px;
    font-weight: 700;
}

.content h3 {
    font-size: 22px;
    font-weight: 700;
}

.content h4 {
    font-size: 18px;
    font-weight: 700;
}

.price {
    font-size: 18px;
    font-weight: bold;
    line-height: 24px;
}

/* ------------------------
  Button
------------------------ */
/* 基本形（大） */
.m-btn {
    align-items: center;
    background: #FFF;
    border-radius: 5px;
    color: #3C3C3C;
    box-shadow: 4px 4px 8px 0px #dadde3;
    display: flex;
    height: 54px;
    justify-content: center;
    line-height: 1.3;
    position: relative;
    text-decoration: none;
    width: 386px;
}

/*横に複数配置*/
.btn_wrap {
    display: flex;
    justify-content: center;
    margin: auto;
    width: 793px;
}

.m-btn+.m-btn {
    margin-left: 21px;
}

/*縦に複数配置*/
._stack .m-btn+.m-btn {
    margin-left: 0;
    margin-top: 20px;
}

.m-btn::after {
    background: transparent;
    border-right: solid 2px #D52423;
    border-top: solid 2px #D52423;
    bottom: 0;
    content: "";
    display: block;
    height: 10px;
    margin: auto;
    position: absolute;
    right: 20px;
    top: 0;
    transform: rotate(45deg);
    width: 10px;
}

.m-btn.-border{
    border: 1px solid #3C3C3C;
}

.m-btn.-arrowBk::after{
    border-right: solid 2px #3C3C3C;
    border-top: solid 2px #3C3C3C;
}

.m-btn:disabled::after {
    border-right: solid 2px #A2A2A2;
    border-top: solid 2px #A2A2A2;
}

.m-btn.-right::after {
    transform: rotate(45deg);
}

.m-btn.-left::after {
    right: initial;
    left: 20px;
    transform: rotate(225deg);
}

.m-btn.-down::after {
    transform: rotate(135deg);
}

.m-btn.-up::after {
    transform: rotate(315deg);
}

.m-btn.-blank::after,
.m-btn.-upload::after,
.m-btn.-plus::after {
    border-right: none;
    border-top: none;
    height: 26px;
    width: 26px;
}

.m-btn.-blank::after {
    content: '';
    background-image: url(../../cmn/img/icon/icon_btn-blank.svg);
    transform: none;
}

.m-btn.-upload::after {
    content: '';
    background-image: url(../../cmn/img/icon/icon_btn-upload.svg);
    transform: none;
}

.m-btn.-plus::after {
    content: '';
    height: 20px;
    width: 20px;
    background-image: url(../../cmn/img/icon/icon_btn-plus.svg);
    transform: none;
}

.m-btn.-blank.important::after {
    border: none;
    filter: brightness(0) invert(1);
}

.m-btn.-upload.important::after {
    content: '';
    background-image: url(../../cmn/img/icon/icon_btn-upload_white.svg);
    transform: none;
}

.m-btn.-plus.important::after {
    content: '';
    background-image: url(../../cmn/img/icon/icon_btn-plus_white.svg);
    transform: none;
}

.m-btn.-blank.-small::after,
.m-btn.-upload.-small::after,
.m-btn.-plus.-small::after {
    background-size: 80%;
    background-repeat: no-repeat;
    top: 3px;
    right: 6px;
}

.m-btn.-none::after {
    display: none;
}

/* 基本形（大）ホバー時（テキスト+アイコン 不透明50%） */
.m-btn:hover {
    opacity: 0.5;
}

/* 基本形（大）非アクティブ時 */
.m-btn:disabled {
    color: #A2A2A2;
    pointer-events: none;
}


/* 基本形（最重要） */
.m-btn.mostImportant {
    background: #D52423;
    color: #FFF;
}

.m-btn.mostImportant::after {
    border-right: solid 2px #FFF;
    border-top: solid 2px #FFF;
}

/* 基本形（最重要）ホバー時（テキスト+アイコン 不透明60%） */
.m-btn.mostImportant:hover {
    opacity: 0.6;
}

/* 基本形（最重要）非アクティブ時 */
.m-btn.mostImportant:disabled {
    background: #A2A2A2;
    color: rgba(255, 255, 255, .5);
    pointer-events: none;
}

.m-btn.mostImportant:disabled::after {
    border-right: solid 2px rgba(255, 255, 255, .5);
    border-top: solid 2px rgba(255, 255, 255, .5);
}

/* 基本形（重要） */
.m-btn.important {
    background: #0A2149;
    color: #FFF;
}

.m-btn.important::after {
    border-right: solid 2px #FFF;
    border-top: solid 2px #FFF;
}
.m-btn.important.-upload::after {
    border: none;
}

/* 基本形（重要）ホバー時（テキスト+アイコン 不透明60%） */
.m-btn.important:hover {
    opacity: 0.6;
}

/* 基本形（重要）非アクティブ時 */
.m-btn.important:disabled {
    background: #A2A2A2;
    color: rgba(255, 255, 255, .5);
    pointer-events: none;
}

.m-btn.important:disabled::after {
    border-right: solid 2px rgba(255, 255, 255, .5);
    border-top: solid 2px rgba(255, 255, 255, .5);
}

/* 基本形（小） */
.m-btn.-small {
    height: 54px;
    width: 260px;
}

/* 基本形（最小・矢印無し） */
.m-btn.-xsmall {
    box-shadow: 3px 3px 6px 0px #dadde3;
    font-size: 12px;
    height: 48px;
    width: 80px;
}

.m-btn.-xsmall::after{
    display: none;
}

/* 画像つきボタン */
.m-btn.-image {
    border-radius: 5px;
    height: 108px;
    justify-content: space-between;
    overflow: hidden;
}

.m-btn.-image img {
    width: 160px;
}

.m-btn.-image p {
    padding-left: 20px;
    padding-right: 50px;
    width: 226px;
}

/* 現在地から探すボタン */
.m-btn.-location img {
    margin-right: 5px;
}

/* キャンセルボタン */
.m-btn.-cancel {
    border: 1px solid #D9D9D9;
}

/* ------------------------
  Form
------------------------ */
/* ブランド検索 */
.brandSearchBox_form{
    margin-right: auto;
    margin-left: auto;
    position: relative;
    width: 100%;
    max-width: 1200px;
}

.brandSearchBox_form .brandSearchBox_sbtn{
    background: url(/v3/cmn/img/icon/search_white.svg) #0A2149 no-repeat center center / 22px 22px;
    border-radius: 0 5px 5px 0;
    margin: auto 0;
    position: absolute;
    top: 0;
    right: 0;
    transition: 0.3s ease-out;
    z-index: 1;
    width: 50px;
    height: 50px;
}

.brandSearchBox_form .brandSearchBox_sbtn:hover{
    opacity: .6;
}

.brandSearchBox_form .brandSearchBox_sbox{
    background: #FFF;
    border: 1px solid #3C3C3C;
    border-radius: 5px;
    font-size: 16px;
    line-height: calc(22/16*1em);
    padding: 13px 62px 13px 12px;
    width: 100%;
    height: 50px;
}

.brandSearchBox_form .brandSearchBox_sbox::placeholder{
    color: #D9D9D9;
    font-size: 16px;
}

/* ------------------------
  商材スライダー
------------------------ */
/* 商材スライダー */


/* 商材スライダー（買取強化） */


/* ------------------------
  目次・FAB
------------------------ */
/* 目次 */
.tableOfContents_list {
	background-color: white;
	border: none;
	border-radius: 5px;
	padding: 40px 60px;
	margin: 0;
}

.tableOfContents_list li {
	padding: 2px 0;
}

.tableOfContents_list li a,
#mypage .tableOfContents_list li a {
	display: block;
	padding: 8px 0;
	font-size: 14px;
	text-decoration: underline;
    transition-duration: .2s;
    color: #3C3C3C;
}

.tableOfContents_list li a:hover,
#mypage .tableOfContents_list li a:hover {
    text-decoration: none;
}

.tableOfContents_list li:first-child,
.tableOfContents_list li:first-child a {
	padding-top: 0;
}

.tableOfContents_list li:last-child,
.tableOfContents_list li:last-child a {
	padding-bottom: 0;
}

/* FAB */
.tableOfContentsFab {
    display: none;
	position: fixed;
	right: calc(50% - 676px);
	bottom: 40px;
    z-index: 9998;
}

@media only screen and (max-width: 1400px){
    .tableOfContentsFab {
        right: 20px;
    }
}

.tableOfContentsFab_inner {
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 56px;
	height: 56px;
	background-color: #fff;
	box-shadow: 3px 3px 6px #DADDE3;
	border: 1px solid #D9D9D9;
	border-radius: 16px;
}

.tableOfContentsFab_inner img {
	width: 24px;
	height: 24px;
}

/* FAB modal */
.tableOfContentsFabModal {
    display: none;
    background-color: rgba(0, 0, 0, 0.5);
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index: 9999;
}

.tableOfContentsFabModal_inner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.tableOfContentsFabModal_content {
    background-color: #fff;
    border: solid 40px #fff;
    border-width: 40px 50px 40px 60px;
    border-radius: 10px;
    font-size: 14px;
    margin: auto;
    padding: 0;
    pointer-events: auto;
    word-break: break-word;
    width: 760px;
    max-width: 93vw;
    height: fit-content;
    max-height: 80vh;
    display: block;
    position: relative;
}

.tableOfContentsFabModal_close {
	position: relative;
	cursor: pointer;
    width: 30px;
	height: 30px;
    margin: 0 0 10px auto;
	pointer-events: auto;
}

.tableOfContentsFabModal_close span {
    display: block;
    position: relative;
    width: 40px;
    height: 40px;
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.tableOfContentsFabModal_close span:before,
.tableOfContentsFabModal_close span:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 25px;
    height: 2px;
    background-color: #fff;
}

.tableOfContentsFabModal_close span:before {
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
}
.tableOfContentsFabModal_close span:after {
    -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
            transform: rotate(135deg);
}
.no-touchevents .modal_closeBtn span:hover {
  opacity: 0.6;
}


.tableOfContentsFabModal_title {
    margin-bottom: 27px;
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
}

.tableOfContentsFabModal_list {
    overflow-y: auto;
    height: auto;
    max-height: calc(80vh - 102px);
    padding-right: 10px;
}

.tableOfContentsFabModal_list::-webkit-scrollbar{
    border-radius: 3px;
    width: 6px;
}

.tableOfContentsFabModal_list::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 3px;
}

.tableOfContentsFabModal_list::-webkit-scrollbar-thumb {
    background: #D9D9D9;
    border-radius: 3px;
}

.tableOfContentsFabModal_list li a,
#mypage .tableOfContentsFabModal_list li a {
    display: block;
    padding: 20px 5px;
    border-top: 1px solid #D9D9D9;
    font-size: 14px;
    line-height: 1;
    text-decoration: none;
    color: #3c3c3c;
}

.tableOfContentsFabModal_list li a:hover {
    background: #F4F4F4;
    text-decoration: none;
}

.tableOfContentsFabModal_list li:last-child a {
    border-bottom: 1px solid #D9D9D9;
}



/* ------------------------
  Loading
------------------------ */
/* ロード中アイコン統一 [4946] */
.blockUI.blockMsg.blockPage:has(svg) {
    border: none !important;
    background: transparent !important;
}

.blockUI.blockOverlay {
    background-color: #3C3C3C  !important;
    opacity: 0.5  !important;
}

.load_spinner {
  width: 50px;
  height: 50px;
  animation: rotate 1400ms linear 0s infinite; /* 追加 */
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.load_circle {
  stroke: #fff;
  stroke-width: 4;
  stroke-dasharray: 130 130;
}