@charset "utf-8";
/*----------------------------------------------------------------------------------------

	page-buy.css

----------------------------------------------------------------------------------------*/

/* トップページのタイトル //
---------------------------------------------- */
.toptitle .txt {
	padding-left: 2px;
	font-size: 1.6rem;
	letter-spacing: -0.02em;
}
.toptitle .hd {
	color: var(--bgc1);
}
.toptitle .hd a {
	font-size: 3rem;
	line-height: 1;
	letter-spacing: 0.04em;
}
.toptitle .hd a::after {
	margin-left: 10px;
	width: 27px;
	height: 27px;
	mask: url(../images/common/arrow-circle-b.png) no-repeat center / contain;
	display: inline-block;
	position: relative;
	top: 2px;
	content: "";
	background-color: var(--mkc1);
}
#subheader {
	box-sizing: border-box;
	padding-top: 87px;
	height: 350px;
	background: url(../images/buy/bg.jpg) no-repeat top center / cover;
}
#subheader .hd {
	margin-bottom: 39px;
	color: #fff;
	font-size: 4rem;
	letter-spacing: 0.1em;
}
#subheader .pankuzu > ol {
	padding-left: 3px;
	font-size: 1.5rem;
}
#subheader .pankuzu > ol a {
	color: var(--bgc1);
	font-weight: 500;
}
#subheader .pankuzu > ol > li:first-child a {
	font-weight: 700;
}
#subheader .pankuzu > ol > li:not(:last-child) {
	padding-right: 50px;
}
#subheader .pankuzu > ol > li:not(:last-child)::after {
	width: 5px;
	height: 10px;
	top: 6px;
	right: 20px;
}

#lookfor {
	box-sizing: border-box;
	margin: -92px auto 40px;
	padding: 40px;
	background-color: #fff;
	display: grid;
	grid-template-columns: 862px 1fr;
	box-shadow: 0 10px 20px 0px rgba(0, 0, 0, 0.05);
}
#lookfor > .search {
	padding-right: 39px;
	border-right: 1px solid #809bb0;
}
#lookfor > .search .hd {
	margin-bottom: 30px;
	padding: 0 0 3px 51px;
	position: relative;
	color: var(--bgc1);
	font-size: 2.2rem;
	line-height: 34px;
	letter-spacing: 0.04em;
}
#lookfor > .search .hd::before {
	width: 40px;
	height: 40px;
	background: url(../images/common/icon-search-w.png) no-repeat center / 17px, var(--bgc1);
	position: absolute;
	top: 0;
	left: 0;
	content: "";
}
#lookfor > .login {
	padding-left: 40px;
	padding-top: 3px
}
#lookfor > .login form {
	box-sizing: border-box;
	padding: 20px 20px 0;
	height: 99%;
	background-color: var(--bgc1);
}
#lookfor > .login .hd {
	margin-bottom: 15px;
	padding-left: 3px;
	color: #fff;
	font-size: 1.8rem;
	letter-spacing: 0.04em;
}
#lookfor > .login .input {
	margin-bottom: 10px;
	padding-left: 9px;
	width: 100%;
	height: 30px;
	background-color: #fff;
	border: 1px solid #d0d0d0;
	border-radius: 4px;
	letter-spacing: 0.04em;
}
#lookfor > .login .submit {
	margin-bottom: 2px;
	width: 179px;
	background-color: #fff;
	border-radius: 14px;
	overflow: hidden;
}
#lookfor > .login .submit button {
	width: 100%;
	height: 30px;
	color: #fff;
    background-color: var(--acc2);
	cursor: pointer;
}
#lookfor > .login .submit button span {
	padding-left: 16px;
	background: url(../images/common/icon-unlock-w.png) no-repeat center left / 8px;
}
#lookfor > .login .forget a {
	display: block;
	color: #fff;
	font-size: 1.3rem;
	line-height: 30px;
	text-align: center;
	margin-left: 5px;
}
#lookfor > .login .forget a::after{
	margin-left: 8px;
}
#kakaku {
	margin-bottom: 60px;
}
#kakaku > .hd {
	margin-bottom: 30px;
	color: var(--bgc1);
	font-size: 3rem;
	line-height: 1;
	letter-spacing: 0.04em;
}

#tour {
	margin-bottom: 70px;
	background-color: #fff;
}
#tour > a {
	box-sizing: border-box;
	padding: 0 40px 0 30px;
	background-color: #eaf1f4;
	display: flex;
	position: relative;
}
#tour .tour-title {
	padding-top: 30px;
}
#tour .tour-title .hd {
	margin-bottom: 18px;
	line-height: 1;
}
#tour .tour-title .hd i {
	margin-bottom: 16px;
	display: block;
	color: var(--acc2);
	font-size: 1rem;
	letter-spacing: 0.04em;
}
#tour .tour-title .hd em {
	font-size: 2.2rem;
	letter-spacing: 0.04em;
	color: var(--bgc1);
}
#tour .tour-title .txt {
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: 0.04em;
}
#tour .tour-title .txt em {
	font-weight: 700;
}
#tour .tour-photos {
	margin-left: auto;
	padding: 40px 0;
	display: flex;
}
#tour .tour-photos .pic {
	margin-left: 5px;
	width: 160px;
	height: 140px;
	background-color: #f6f6f6;
}
#tour .tour-photos .pic img {
	object-fit: scale-down;
	image-rendering: -webkit-optimize-contrast;
}
#tour .more {
	position: absolute;
	bottom: 31px;
	left: 33px;
}

#search {
	margin-bottom: 80px;
}
#search > .hd {
	margin-bottom: 32px;
	color: var(--bgc1);
	font-size: 3rem;
	line-height: 1;
	letter-spacing: 0.04em;
}
#search form {
	box-sizing: border-box;
	padding: 10px 0 0 10px;
	position: relative;
}
#search .search-inner {
	box-sizing: border-box;
	background-color: #eaf1f4;
	border: 5px solid #fff;
	position: relative;
}
#search .search-inner::before {
	width: 342px;
	height: 224px;
	background: url(../images/buy/search-img.png) no-repeat center / contain;
	position: absolute;
	bottom: 84px;
	left: 78px;
	content: "";
}
#search .search-area > .shd {
	margin-bottom: 50px;
	padding: 40px 0 0 657px;
	color: var(--bgc1);
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}
#search .search-area > .shd::before {
	margin-right: 7px;
	content: "\f3c5";
}
#search .area-btns {
	margin: 0 0 0 444px;
	display: flex;
	gap: 10px;
}
#search .area-btns .col {
	width: 304px;
	gap: 10px;
    display: flex;
    flex-direction: column;
}
#search .area-btns .col2 {
	margin-top: 34px;
}
#search .area-btns button {
	padding: 0 36px 0 18px;
	width: 100%;
	height: 110px;
	background-color: #fff;
	border: 1px solid var(--bgc1);
	border-radius: 4px;
	position: relative;
	cursor: pointer;
}
#search .area-btns button div {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#search .area-btns button .arrow {
	box-sizing: border-box;
	padding-top: 6px;
	width: 16px;
	height: 16px;
	background-color: #eaf1f4;
	border-radius: 50%;
	position: absolute;
	top: 47px;
	right: 10px;
}
#search .area-btns button .arrow::before {
	margin: auto;
	width: 9px;
	height: 3px;
	background-color: var(--bgc1);
	display: block;
	clip-path: polygon(0 62%, 83% 62%, 75% 35%, 75% 0, 100% 77%, 100% 100%, 0 100%);
	content: "";
}
#search .area-btns button span {
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}
#search .area-btns button .kensu {
	font-size: 1.6rem;
	font-weight: 500;
}
#search form:not(.initialization) .area-btns button .kensu {
	display: none;
}
#search .area-btns button .kensu em {
	margin-right: -2px;
	color: var(--acc2);
	font-size: 2.2rem;
	font-weight: 600;
	font-family: "Outfit", serif;
}
#search .search-fm {
	box-sizing: border-box;
	padding: 0 20px 20px;
	width: 344px;
	background-color: var(--bgc1);
	border-radius: 3px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
#search .search-fm > .shd {
	padding-bottom: 2px;
	color: #fff;
	font-size: 2rem;
	line-height: 63px;
	letter-spacing: 0.04em;
}
#search .search-fm > .shd::before {
	margin-right: 6px;
	top: 2px;
	font-size: 2.4rem;
	content: "\f276";
}
#search .search-fm label {
	padding: 0 0 1px 19px;
	background-color: #fff;
	display: block;
	color: var(--bgc1);
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 59px;
	letter-spacing: 0.04em;
	cursor: pointer;
}
#search .search-fm input {
	display: none;
}
#search .search-fm li:not(:last-child) {
	margin-bottom: 5px;
}
#search .search-fm label:has(input:checked) {
	background-color: var(--acc2);
	color: #fff;
	position: relative;
}
#search .search-fm label:has(input:checked)::before {
	width: 6px;
	height: 26px;
	background-color: var(--bgc1);
	position: absolute;
	top: 17px;
	left: 3px;
	content: "";
}
#search .search-type {
	margin: 70px 10px 10px;
	padding: 20px 24px;
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#search .search-type > .shd {
	color: var(--bgc1);
	font-size: 2rem;
	letter-spacing: 0.04em;
}
#search .search-type > ul {
	display: flex;
}
#search .search-type > ul > li:not(:last-child) {
	margin-right: 20px;
}
#search .search-type button {
	box-sizing: border-box;
	padding-bottom: 4px;
	width: 210px;
	height: 48px;
	padding-left: 44px;
	background-color: var(--bgc1);
	position: relative;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-align: left;
	cursor: pointer;
}
#search .search-type button::before {
	mask-size: contain;
	mask-repeat: no-repeat;
	position: absolute;
	top: 16px;
	left: 16px;
	content: "";
	background-color: #fff;
}
#search .search-type .rosen button::before {
	width: 12px;
	height: 17px;
	mask-image: url(../images/buy/search-rosen.png);
}
#search .search-type .gakku button::before {
	width: 16px;
	height: 13px;
	mask-image: url(../images/buy/search-gakku.png);
}
#search .search-type .joken button::before {
	width: 14px;
	height: 14px;
	mask-image: url(../images/buy/search-joken.png);
}

#top_genhan > .hd {
	margin-bottom: 20px;
	color: var(--bgc1);
	font-size: 3rem;
	line-height: 1;
	letter-spacing: 0.04em;
}
#tksn-bunjou {
	margin: 30px 0 60px;
	padding: 50px;
	background-color: #fff;
}
#tksn-bunjou > div > table {
	margin: auto;
	width: 1098px;
}
#tksn-bunjou > div > table >tbody > tr {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 30px;
}


#ranking {
	margin-bottom: 70px;
}
#ranking > .hd {
	margin-bottom: 40px;
	color: var(--bgc1);
	font-size: 3rem;
	line-height: 1;
	letter-spacing: 0.04em;
}

#sokuhou {
	margin-bottom: 70px;
}
#osusume {
	margin-bottom: 70px;
}
#osusume .toptitle {
	margin-bottom: 40px;
}
#sinchaku {
	display: none;	
	padding: 70px 0;
	margin-bottom: 70px;
	background-color: #ddd6c1;
	background: url(../images/common/texture.png);
}
#sinchaku:has(form){
	display: block;
}
#sinchaku .toptitle {
	margin-bottom: 40px;
}

#guid > .guid-title {
	margin-bottom: 35px;
}
#guid > .guid-title .hd {
	color: var(--bgc1);
	font-size: 3rem;
	letter-spacing: 0.04em;
}
#guid > .guid-list {
	padding-bottom: 80px;
	position: relative;
	z-index: 1;
}
#guid > .guid-list::after {
	width: 100%;
	background-color: var(--bgc1);
	position: absolute;
	top: 95px;
	bottom: 0;
	left: 0;
	z-index: -1;
	content: "";
}
#guid > .guid-list > ul {
	display: flex;
	justify-content: space-between;
}
#guid > .guid-list .card {
	width: 380px;
}
#guid > .guid-list .card > a {
	display: block;
	position: relative;
}
#guid > .guid-list .card > a :where(.pic img, .shd span, .txt, .more) {
	transition: opacity 0.2s;
}
#guid > .guid-list .card > a:hover :where(.pic img, .shd span, .txt, .more) {
	opacity: 0.8;
}
#guid > .guid-list .card .pic {
	margin-bottom: -50px;
	height: 250px;
	background-color: #fff;
}
#guid > .guid-list .card .shd {
	box-sizing: border-box;
	margin-right: 120px;
	padding: 22px 20px 22px 0;
	min-height: 50px;
	background-color: var(--bgc1);
	position: relative;
	color: #fff;
	font-size: 2rem;
	line-height: 1.2;
	letter-spacing: 0.04em;
}
#guid > .guid-list .card .txt {
	margin-right: 120px;
	color: #f6f6f6;
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: 0.04em;
}
#guid > .guid-list .card .more {
	position: absolute;
	top: 280px;
	right: 20px;
	color: #f6f6f6;
}
#guid > .guid-list .card .more::after {
	mask-image: url(../images/common/arrow-more-g.png);
	mask-size: contain;
	background: #fff;
}

#top_nairan {
	padding: 82px 0 90px;
	background-image: 
    linear-gradient(rgba(30, 96, 163, 0.4), rgba(30, 96, 163, 0.8)),
    url(../images/buy/nairan-bg.jpg);
	background-image: 
    linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.7)),
    url(../images/buy/nairan-bg.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	/* background: url(../images/buy/nairan-bg.jpg) no-repeat center / cover, #948b77; */
	color: #fff;
}
#top_nairan .nairan-title {
	margin-bottom: 37px;
}
#top_nairan .nairan-title .hd {
	margin-bottom: 32px;
	font-size: 3rem;
	line-height: 1;
	letter-spacing: 0.04em;
}
#top_nairan .nairan-title p {
	font-size: 1.6rem;
	letter-spacing: 0.04em;
}
#top_nairan .nairan-list {
	margin-bottom: 40px;
	display: flex;
	justify-content: space-between;
}
#top_nairan .nairan-list > li {
	width: 370px;
}
#top_nairan .nairan-list > li > a {
	box-sizing: border-box;
	padding-top: 118px;
	height: 200px;
	background-color: rgba(255, 255, 255, 0.1);
	border: 2px solid #fff;
	border-radius: 4px;
	display: block;
	position: relative;
	text-align: center;
	letter-spacing: 0.04em;
}
#top_nairan .nairan-list > li > a::after {
	margin: auto;
	width: 13px;
	height: 13px;
	background-color: #fff;
	position: absolute;
	right: 12px;
	bottom: 13px;
	clip-path: polygon(0 45%, 84% 45%, 45% 5%, 50% 0, 100% 50%, 50% 100%, 45% 95%, 84% 55%, 0 55%);
	content: "";
}
#top_nairan .nairan-list .shd {
	margin-bottom: 7px;
	line-height: 1;
}
#top_nairan .nairan-list .kensu {
	font-weight: 700;
	letter-spacing: 0.04em;
}
#top_nairan .nairan-list .kensu .num {
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	font-family: "Outfit", serif;
}
#top_nairan .nairan-list .icon {
	margin: auto;
	position: absolute;
	right: 0;
	left: 0;
}
#top_nairan .nairan-list .kodate .icon {
	width: 57px;
	height: 53px;
	top: 41px;
	right: 3px;
}
#top_nairan .nairan-list .mansyon .icon {
	width: 76px;
	height: 64px;
	top: 31px;
}
#top_nairan .nairan-list .tochi .icon {
	width: 62px;
	height: 60px;
	top: 37px;
}
#top_nairan .nairan-list .baibai .icon {
	width: 78px;
	height: 48px;
	top: 46px;
}
#top_nairan .nairan-list .chintai .icon {
	width: 78px;
	height: 48px;
	top: 40px;
}
#top_nairan .nairan-list .tenpo .icon {
	width: 82px;
	height: 58px;
	top: 36px;
}
#top_nairan .nairan-update {
	box-sizing: border-box;
	width: 100%;
	border-top: 1px solid #f6f6f6;
	border-bottom: 1px solid #f6f6f6;
	display: flex;
}
#top_nairan .nairan-update .hd {
	box-sizing: border-box;
	margin: 30px 0;
	width: 160px;
	border-right: 1px solid #f6f6f6;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1;
}
#top_nairan .nairan-update .hd i {
	margin-bottom: 7px;
	display: block;
	font-size: 3rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	font-family: "Outfit", serif;
}

#tksn-nairanlist {
	margin: 21px 0 18px;
	width: 967px;
	overflow: hidden;
}
#tksn-nairanlist:not(:has(ul)){
	padding: 0 30px;
}
#tksn-nairanlist,
#tksn-nairanlist ul {
	height: 120px;
}
#tksn-nairanlist ul {
	overflow-y: auto;
}
#tksn-nairanlist ul > li {
	border: none;
	position: relative;
}
#tksn-nairanlist ul > li > span {
	margin: auto;
	height: 1em;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 45px;
	font-size: inherit;
	line-height: 1;
	pointer-events: none;
}
#tksn-nairanlist a {
	padding: 10px 0 10px 162px;
	display: block;
	font-weight: 300;
	line-height: 1.44;
	letter-spacing: 0.04em;
}

#body_footer {
	margin-top: 0;
}


