/* =========================
   Design Tokens
   ========================= */
:root {
  /* Colors */
  --col-button-active: #D83636;
  --col-button-inactive: #8D79C4;
  --col-button-form: #667CE7;
  --col-text: #111111;
  --col-background: #F8F9FA;
  --col-hover: #d97706;

  /* Typography */
  --ff-gothic: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic",'メイリオ',Meiryo,'ＭＳ Ｐゴシック', 'MS PGothic',sans-serif;
  --ff-mincho: ui-serif, "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;

  --fs-1: clamp(0.875rem, 0.84rem + 0.2vw, 1rem);      /* 14–16 */
  --fs-2: clamp(1rem, 0.95rem + 0.3vw, 1.125rem);      /* 16–18 */
  --fs-3: clamp(1.125rem, 1.02rem + 0.6vw, 1.375rem);  /* 18–22 */
  --fs-4: clamp(1.375rem, 1.15rem + 1vw, 1.875rem);    /* 22–30 */
  --fs-5: clamp(1.75rem, 1.35rem + 1.6vw, 2.5rem);     /* 28–40 */

  --fs-12: 0.75rem;
  --fs-14: 0.875rem;
  --fs-20: 1.25rem;
  --fs-24: 1.5rem;
  --fs-32: 2rem;
  --fs-40: 2.5rem;
  --fs-48: 3rem;
  --fs-96: 6rem;

  --lh-tight: 1.25;
  --lh-base: 1.6;

  --duration-hover: .3s;

  /* Spacing (8px scale) */
  --sp-1: 0.25rem;  /* 4 */
  --sp-2: 0.5rem;   /* 8 */
  --sp-3: 0.75rem;  /* 12 */
  --sp-4: 1rem;     /* 16 */
  --sp-5: 1.5rem;   /* 24 */
  --sp-6: 2rem;     /* 32 */
  --sp-7: 3rem;     /* 48 */
  --sp-8: 4rem;     /* 64 */

  /* Layout */
  --container: 72rem; /* 1152px */
  --gutter: var(--sp-4);
  --radius-1: 0.5rem;
  --radius-2: 1rem;
  --shadow-1: 0 1px 8px rgba(0,0,0,.08);

  /* Component gaps */
  --gap-1: var(--sp-2);
  --gap-2: var(--sp-4);
  --gap-3: var(--sp-6);

  /* Borders */
  --bdr: 1px solid #cccccc;
}





html {
	font-size: 16px;
}

body {
	background: #f9f9f9;
	font-family: var(--ff-mincho);
	font-size: 1rem;
	color: var(--col-text);
}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	line-height: 1;
}

p {
	margin: 0;
	padding: 0;
}

ul {
	margin: 0;
	padding: 0;
}

ul li {
	list-style: none;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

a {
	display: inline-block;
	text-decoration: none;
	color: var(--col-text);
}

a:hover {
	
}

a.link-text {
	text-decoration: underline;
}

a.link-text:hover {
	text-decoration: none;
}

a.link-arrow {
	padding-right: 25px;
	position: relative;
}

a.link-arrow::after {
	width: 18px;
	height: 4px;
	content: '';
	position: absolute;
	right: 0;
	top: 8px;
	background: url('../img/ico_arrow.svg') center no-repeat;
	background-size: cover;
}

span {
	display: inline-block;
}

table{
	border-collapse: collapse;
}





/* ===========================================================================
   PC Style
   ========================= */

/* =========================
  ヘッダ／フッタ
   ========================= */

.header {
   width: 100%;
   position: fixed;
   top: 0;
   left: 0;
   z-index: 100;
}

.header .inner {
   padding: 10px 20px;
   display: flex;
   justify-content: space-between;
   background: #fff;
}

.header .logo {
   padding: 10px 0;
}

.header .logo a {
   padding-left: 45px;
   position: relative;
}

.header .logo a::before {
   width: 35px;
   height: 35px;
   content: '';
   position: absolute;
   top: -8px;
   left: 0;
   background: url(/assets/img/logo_header.svg) center no-repeat;
   background-size: contain;
}

.header .accordion {
   display: none;
}

.header .navigation {}

.header .navigation ul {
   display: flex;
   gap: 0 30px;
}

.header .navigation li {
   font-size: var(--fs-14);
}

.header .navigation a {
   padding: 10px 0;
}

.header .navigation .contact a {
   padding: 10px 20px;
   background: #775a19;
   transition: var(--duration-hover);
   color: #fff;
}

.header .navigation .contact a:hover {
   opacity: .7;
}

.header .navigation .active a {
   border-bottom: 1px solid #775a19;
   color: #775a19;
}





.footer {
   background: #18181b;
}

.footer .inner {}

.footer .wrap {
   padding-top: 100px;
   padding-bottom: 100px;
   display: flex;
   justify-content: space-between;
}

.footer .wrap .information {
   max-width: 30%;
}

.footer .wrap .information .logo {
   margin-bottom: 20px;
}

.footer .wrap .information .logo a {
   padding-left: 50px;
   position: relative;
   font-size: var(--fs-20);
   color: #fff;
}

.footer .logo  a::before {
   width: 40px;
   height: 40px;
   content: '';
   position: absolute;
   top: -10px;
   left: 0;
   background: url(/assets/img/logo_footer.svg) center no-repeat;
   background-size: contain;
}

.footer .wrap .information .message {}

.footer .wrap .information .message p {
   line-height: var(--lh-base);
   font-size: var(--fs-12);
   color: #71717a;
}

.footer .wrap .links {
   width: 50%;
   display: flex;
}

.footer .wrap .links .list {
   width: 50%;
}

.footer .wrap .links .list li+li {
   margin-top: 10px;
}

.footer .wrap .links .list span {
   padding-bottom: 10px;
   font-size: var(--fs-14);
   color: #fff;
}

.footer .wrap .links .list a {
   font-size: var(--fs-14);
   color: #71717a;
}

.footer .wrap .links .list a:hover {
   color: var(--col-hover);
}

.footer .language {
   padding: 30px 0;
}

.footer .language p {
   text-align: center;
   font-size: var(--fs-14);
   color: #71717a;
}

.footer .language a {
   color: #71717a;
}

.footer .language a:hover {
   color: var(--col-hover);
}

.footer .language span {
   color: #ffffff;
}

.footer .copyright {
   padding: 30px 0;
   border-top: 1px solid #ffffff0d;
}

.footer .copyright p {
   text-align: center;
   font-size: var(--fs-14);
   color: #71717a;
}





/* =========================
  共通パーツ
   ========================= */

main {
   padding: 58px 0 0;
}

.view-sp {
   display: none;
}

.container {
   max-width: 1140px;
   margin: 0 auto;
   padding-left: 20px;
   padding-right: 20px;
}

.container-tight {
   max-width: 980px;
   margin: 0 auto;
   padding-left: 20px;
   padding-right: 20px;
}

.common-button-red a,
.common-button-red button,
.common-button-red input[type="submit"] {
   min-width: 200px;
   padding: 1.25rem;
   background: #8b0000;
   border: 1px solid #8b0000;
   appearance: none;
   transition: var(--duration-hover);
   text-align: center;
   color: #fff;
}

.common-button-red a:hover,
.common-button-red button:hover,
.common-button-red input[type="submit"]:hover {
   background: #610000;
   cursor: pointer;
}

.common-button-transparent a,
.common-button-transparent button {
   min-width: 200px;
   padding: 1.25rem;
   border: 1px solid #8e706b;
   appearance: none;
   transition: var(--duration-hover);
   text-align: center;
   color: #fff;
}

.common-button-transparent a:hover,
.common-button-transparent button:hover {
   background: #fff;
   cursor: pointer;
   color: var(--col-text);
}

.common-headline {
   margin-bottom: 30px;
   display: flex;
   justify-content: space-between;
}

.common-headline .headline {
   max-width: 50%;
}

.common-headline .headline .catch {
   margin-bottom: 10px;
}

.common-headline .headline .catch p {
   letter-spacing: 0.2em;
   font-family: var(--ff-gothic);
   font-size: var(--fs-12);
   color: #775a19;
}

.common-headline .headline .name {}

.common-headline .headline .name p {
   font-size: var(--fs-48);
}

.common-headline .description {
   max-width: calc(50% - 50px);
   display: flex;
   align-items: center;
}

.common-headline .description p {
   line-height: var(--lh-tight);
   color: #71717a;
}




.mainvisual {}

.mainvisual .inner {}

.mainvisual .background {
   height: calc(100svh - 38px);
   min-height: 560px;
   display: flex;
   align-items: flex-end;
   position: relative;
}

.mainvisual .background::after {
   width: 100%;
   height: 100%;
   content: '';
   position: absolute;
   left: 0;
   top: 0;
   background: rgba(0,0,0,0.7);
}

.mainvisual .background .inforamtion {
   padding: 50px 50px 80px;
   position: relative;
   z-index: 1;
}

.mainvisual .background .inforamtion .catch {
   margin-bottom: 40px;
}

.mainvisual .background .inforamtion .catch p {
   letter-spacing: 0.2em;
   font-family: var(--ff-gothic);
   font-size: var(--fs-14);
   color: #775a19;
}

.mainvisual .background .inforamtion .headline {
}

.mainvisual .background .inforamtion .headline h1 {
   font-size: var(--fs-96);
   color: #fff;
}

.mainvisual .background .inforamtion .description {
   max-width: 60%;
   margin-top: 40px;
   padding-left: 30px;
   border-left: 2px solid #775a19;
}

.mainvisual .background .inforamtion .description h2 {
   line-height: var(--lh-tight);
   font-size: var(--fs-20);
   font-weight: normal;
   color: #d4d4d8;
}

.mainvisual .background .inforamtion .links {
   margin-top: 40px;
   display: flex;
   gap: 0 20px;
}

.mainvisual .background .inforamtion .links .button {}









/* =========================
  トップページ
   ========================= */

.top-mainvisual {}

.top-mainvisual .inner {}

.top-mainvisual .background {
   height: calc(100svh - 38px);
   min-height: 560px;
   display: flex;
   align-items: center;
   position: relative;
   background: url(/assets/img/pic_top-mainvisual.webp) center no-repeat;
   background-size: cover;
}

.top-mainvisual .background::after {
   width: 100%;
   height: 100%;
   content: '';
   position: absolute;
   left: 0;
   top: 0;
   background: rgba(0,0,0,0.7);
}

.top-mainvisual .background .inforamtion {
   padding: 50px;
   position: relative;
   z-index: 1;
}

.top-mainvisual .background .inforamtion .catch {
   margin-bottom: 40px;
}

.top-mainvisual .background .inforamtion .catch p {
   letter-spacing: 0.2em;
   font-family: var(--ff-gothic);
   font-size: var(--fs-14);
   color: #775a19;
}

.top-mainvisual .background .inforamtion .headline {
   margin-bottom: 40px;
}

.top-mainvisual .background .inforamtion .headline h1 {
   font-size: var(--fs-96);
   color: #fff;
}

.top-mainvisual .background .inforamtion .description {
   max-width: 56%;
   margin-bottom: 40px;
   padding-left: 30px;
   border-left: 2px solid #775a19;
}

.top-mainvisual .background .inforamtion .description h2 {
   line-height: var(--lh-tight);
   font-size: var(--fs-20);
   color: #d4d4d8;
}

.top-mainvisual .background .inforamtion .links {
   display: flex;
   gap: 0 20px;
}

.top-mainvisual .background .inforamtion .links .button {}






.top-feature {
   padding: 100px 0;
   background: #f3f3f3;
}

.top-feature .inner {}

.top-feature .common-headline {
   justify-content: center;
   text-align: center;
}

.top-feature .common-headline .headline {
   max-width: none;
}

.top-feature .list {}

.top-feature .list ul {
   display: flex;
   gap: 0 1px;
}

.top-feature .list li {
   width: calc(33.3% - 0.66px);
   padding: 2rem;
   background: #fff;
   border-top: 5px solid #775a19;
   position: relative;
}

.top-feature .list .icon {
   position: absolute;
   right: 10px;
   top: -12px;
}

.top-feature .list .number {
   margin-bottom: 20px;
}

.top-feature .list .number p {
   color: #775a19;
   font-size: var(--fs-40);
}

.top-feature .list .catch {
   margin-bottom: 20px;
}

.top-feature .list .catch p {
   font-size: var(--fs-24);
}

.top-feature .list .description {}

.top-feature .list .description p {
   line-height: var(--lh-base);
}






.top-expertise {}

.top-expertise .inner {
   padding-top: 100px;
}

.top-expertise .information {
   display: flex;
   justify-content: space-between;
   gap: 0 2px;
}

.top-expertise .information .block {
   padding: 4rem;
   background: #fff;
}

.top-expertise .information .block .icon {
   margin-bottom: 20px;
   text-align: center;
}

.top-expertise .information .block .headline {
   margin-bottom: 20px;
   text-align: center;
}

.top-expertise .information .block .headline p {
   font-size: var(--fs-24);
}

.top-expertise .information .block .description {
   margin-bottom: 20px;
}

.top-expertise .information .block .description p {
   line-height: var(--lh-base);
}

.top-expertise .information .block .list {}

.top-expertise .information .block .list ul {
   margin-left: 20px;
}

.top-expertise .information .block .list li {
   list-style-type: disc;
}

.top-expertise .information .block .list li+li {
   margin-top: 10px;
}





.top-trading {}

.top-trading .inner {
   padding-top: 100px;
   padding-bottom: 100px;
}

.top-trading .common-headline {
   justify-content: center;
   text-align: center;
}

.top-trading .common-headline .headline {
   max-width: none;
}

.top-trading .information {
   display: flex;
   justify-content: space-between;
   gap: 0 2px;
}

.top-trading .information .block {
   width: 100%;
   padding: 4rem;
   background: #fff;
}

.top-trading .information .block .image {
   margin-bottom: 60px;
   text-align: center;
}

.top-trading .information .block .image img {
   width: 500px;
}

.top-trading .information .block .description {
   display: flex;
   justify-content: center;
}

.top-trading .information .block .description p {
   max-width: 800px;
   line-height: var(--lh-base);
   font-size: var(--fs-20);
}

.top-trading .information .block .button {
   margin-top: 40px;
   text-align: center;
}





.top-selection {
   background: #f3f3f3;
}

.top-selection .inner {
   padding-top: 100px;
   padding-bottom: 100px;
}

.top-selection .slider {
   position: relative;
}

.top-selection .slider-viewport {
   overflow: hidden;
   touch-action: pan-y;
   cursor: grab;
}

.top-selection .slider-viewport.is-dragging {
   cursor: grabbing;
   user-select: none;
}

.top-selection .slider-viewport.is-dragging * {
   user-select: none;
}

.top-selection .slider-track {
   transition: transform .35s ease;
   will-change: transform;
}

.top-selection .list {
   display: flex;
   gap: 0 20px;
}

.top-selection .list .card {
   flex: 0 0 auto;
   background: #fff;
}

.top-selection .slider-controls {
   width: 100%;
   padding: 0 20px;
   display: flex;
   justify-content: space-between;
/*
   position: absolute;
   top: 30%;
   left: 0;
*/
   opacity: .8;
}

.top-selection .slider-controls .slider-prev {
   position: absolute;
   top: 30%;
   left: 20px;
}

.top-selection .slider-controls .slider-next {
   position: absolute;
   top: 30%;
   right: 20px;
}

.top-selection .slider-button {
   width: 46px;
   height: 46px;
   border-radius: 100px;
   border: 1px solid #775a19;
   background: #fff;
   font-size: 20px;
   color: #775a19;
   cursor: pointer;
   transition: var(--duration-hover);
}

.top-selection .slider-button:hover {
   background: #775a19;
   color: #fff;
}

.top-selection .slider-button:disabled {
   border-color: #b7b7b7;
   background: #ececec;
   color: #9f9f9f;
   cursor: not-allowed;
}

.top-selection .list .card a,
.top-selection .list .card span {
   display: block;
}

.top-selection .list .card .image {}

.top-selection .list .card .image img {
   width: 100%;
   height: 300px;
   object-fit: cover;
}

.top-selection .list .card .information {
   padding: 30px;
}

.top-selection .list .card .catch {
   margin-bottom: 10px;
}

.top-selection .list .card .catch p {
   font-size: var(--fs-12);
   color: #775a19;
}

.top-selection .list .card .name {
   margin-bottom: 10px;
}

.top-selection .list .card .name p {
   font-size: var(--fs-24);
}

.top-selection .list .card .description {}

.top-selection .list .card .description p {
   line-height: var(--lh-tight);
   font-family: var(--ff-gothic);
   font-size: var(--fs-14);
   color: #71717a;
}





.top-bridge {}

.top-bridge .inner {
   padding-top: 100px;
   padding-bottom: 100px;
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   gap: 0 50px;
}

.top-bridge .common-headline .headline {
   max-width: none;
}

.top-bridge .wrap {
   max-width: 50%;
}

.top-bridge .wrap .message {
   margin-bottom: 30px;
}

.top-bridge .wrap .message p {
   line-height: var(--lh-base);
   font-size: var(--fs-20);
}

.top-bridge .wrap .list {}

.top-bridge .wrap .list li {
   padding-left: 40px;
   position: relative;
}

.top-bridge .wrap .list li::before {
   position: absolute;
   left: 0;
   top: -2px;
   content: "0" counter(list-item);
   font-size: var(--fs-24);
   color: #775a19;
}

.top-bridge .wrap .list li+li {
   margin-top: 30px;
}

.top-bridge .wrap .list .catch {
   margin-bottom: 10px;
}

.top-bridge .wrap .list .catch p {
   font-size: var(--fs-24);
}

.top-bridge .wrap .list .description {}

.top-bridge .wrap .list .description p {
   line-height: var(--lh-tight);
   font-family: var(--ff-gothic);
}

.top-bridge .image {
   position: relative;
}

.top-bridge .image::before {
   width: 100%;
   height: 100%;
   content: '';
   position: absolute;
   left: 0;
   top: 0;
   background: rgba(0,0,0,0.3);
}





.top-area {
   padding-top: 100px;
   padding-bottom: 100px;
   background: #2c2c2c;
}

.top-area .inner {
   display: flex;
   justify-content: space-between;
   gap: 0 50px;
}

.top-area .headline {
   width: 35%;
}

.top-area .headline .name {
   margin-bottom: 20px;
}

.top-area .headline .name p {
   font-size: var(--fs-32);
   color: #fff;
}

.top-area .headline .description {}

.top-area .headline .description p {
   line-height: var(--lh-tight);
   font-size: var(--fs-14);
   color: #a1a1aa;
}

.top-area .list {
/*
   width: calc(70% - 30px);
   display: flex;
   align-items: center;
*/
}

.top-area .list ul {
   display: flex;
   gap: 20px;
   flex-wrap: wrap;
}

.top-area .list li {
   padding: 0 20px 10px;
   border-bottom: 1px solid #e3beb84d;
   font-size: var(--fs-20);
   color: #fff;
}





.top-producers {}

.top-producers .inner {
   padding: 120px 0;
}

.top-producers .common-headline {
   justify-content: center;
   text-align: center;
}

.top-producers .common-headline .headline {
   max-width: none;
}

.top-producers .message {
   margin-bottom: 60px;
}

.top-producers .message p {
   line-height: var(--lh-base);
   text-align: center;
   font-size: var(--fs-20);
}

.top-producers .button {
   text-align: center;
}










/* =========================
  対応ブランド牛
   ========================= */

.brands {}





.brands .mainvisual .background {
   background: url(/assets/img/pic_brands-mainvisual.webp) center no-repeat;
   background-size: cover;
}







.brands .pagetitle {
   padding: 100px 0;
}

.brands .pagetitle .inner {
   display: flex;
   justify-content: space-between;
}

.brands .pagetitle .headline {
   width: 30%;
}

.brands .pagetitle .headline h3 {
   line-height: var(--lh-tight);
   font-size: var(--fs-32);
}

.brands .pagetitle .description {
   width: calc(60% - 30px);
}

.brands .pagetitle .description p {
   line-height: var(--lh-base);
}



.brands .brand-list {
   margin-bottom: 180px;
}

.brands .brand-list .inner {}

.brands .brand-list .image img {
   width: 100%;
}

.brands .brand-list .image .area {
   position: absolute;
   right: 30px;
   top: 30px;
   letter-spacing: 0.5em;
   writing-mode: vertical-rl;
   z-index: 1;
   font-size: var(--fs-32);
   color: #ffffff80;
}

.brands .brand-list .card .headline .name-jp p {
   font-size: var(--fs-48);
}

.brands .brand-list .card .headline .name-en p {
   padding-bottom: 5px;
   font-family: var(--ff-gothic);
   color: #775a19;
}

.brands .brand-list .card .description p {
   line-height: var(--lh-base);
}

.brands .brand-list .layout-2row+.layout-2row,
.brands .brand-list .layout-2row+.layout-1row,
.brands .brand-list .layout-1row+.layout-2row,
.brands .brand-list .layout-1row+.layout-1row {
   margin-top: 60px;
}

.brands .brand-list .layout-2row {
   display: flex;
   gap: 0 30px;
}

.brands .brand-list .layout-2row .card {
   width: 50%;
}

.brands .brand-list .layout-2row .card+.card {
   margin-top: 60px;
}

.brands .brand-list .layout-2row .card .image {
   margin-bottom: 30px;
   position: relative;
}

.brands .brand-list .card .image::after {
   width: 100%;
   height: 100%;
   content: '';
   position: absolute;
   left: 0;
   top: 0;
   background: rgba(0,0,0,0.3);
}

.brands .brand-list .layout-2row .card .image img {
   height: 600px;
   object-fit: cover;
}

.brands .brand-list .layout-2row .card .headline {
   margin-bottom: 20px;
   display: flex;
   gap: 0 20px;
}

.brands .brand-list .layout-2row .card .headline .name-jp {}

.brands .brand-list .layout-2row .card .headline .name-en {
   display: flex;
   align-items: flex-end;
}

.brands .brand-list .layout-2row .card .description {}

.brands .brand-list .layout-2row .card .features {
   margin-top: 20px;
   padding-top: 20px;
   border-top: 1px solid #e3beb84d;
}

.brands .brand-list .layout-2row .card .features ul {
   display: flex;
   flex-wrap: wrap;
   gap: 20px;
}

.brands .brand-list .layout-2row .card .features li {
   width: calc(33.3% - 14px);
}

.brands .brand-list .layout-2row .card .features .kind {
   margin-bottom: 10px;
}

.brands .brand-list .layout-2row .card .features .kind p {
   font-size: var(--fs-12);
   color: #775a19;
}

.brands .brand-list .layout-2row .card .features .text {}

.brands .brand-list .layout-2row .card .features .text p {
   line-height: var(--lh-base);
   font-size: var(--fs-12);
}

.brands .brand-list .layout-2row .card .features .exp {
   margin-bottom: 20px;
}

.brands .brand-list .layout-2row .card .features .exp p {
   font-size: var(--fs-12);
}

.brands .brand-list .layout-2row .card .features .other {}

.brands .brand-list .layout-2row .card .features .other p {
   line-height: var(--lh-base);
   font-size: var(--fs-12);
}

.brands .brand-list .layout-2row .card .features .other p+p {
   margin-top: 10px;
}


.brands .brand-list .layout-1row {}

.brands .brand-list .layout-1row .card {
   position: relative;
}

.brands .brand-list .layout-1row .card .image {}

.brands .brand-list .layout-1row .card .image img {
   height: 500px;
   object-fit: cover;
}

.brands .brand-list .layout-1row .card .information {
   position: absolute;
   left: 50px;
   bottom: 50px;
}

.brands .brand-list .layout-1row .card .headline {}

.brands .brand-list .layout-1row .card .headline .name-jp {
   margin-bottom: 20px;
}

.brands .brand-list .layout-1row .card .headline .name-en {
   margin-bottom: 20px;
}

.brands .brand-list .layout-1row .card .description {
   max-width: 70%;
}

.brands .brand-list .layout-1row .card .headline .name-jp p {
   color: #fefefe;
}

.brands .brand-list .layout-1row .card .headline .name-en p {
   color: #ffdea5;
}

.brands .brand-list .layout-1row .card .description p {
   color: #ddd;
}

.brands .brand-list .layout-1row .card .features {}

.brands .brand-list .layout-1row .card .features .kind {}

.brands .brand-list .layout-1row .card .features .text {}




.brands .network {
   margin-bottom: 180px;
   background: #2c2c2c;
}

.brands .network .inner {
   padding: 80px 0 80px 20px;
   display: flex;
   gap: 0 50px;
   justify-content: space-between;
}

.brands .network .inner .information {
   display: flex;
   align-items: center;
}

.brands .network .inner .information .block {
   width: 100%;
}

.brands .network .inner .information .block .tagline {
   margin-bottom: 20px;
}

.brands .network .inner .information .block .tagline p {
   letter-spacing: 0.2em;
   font-family: var(--ff-gothic);
   font-size: var(--fs-14);
   color: #ffdea5;
}

.brands .network .inner .information .block .headline {
   margin-bottom: 20px;
}

.brands .network .inner .information .block .headline p {
   font-size: var(--fs-48);
   color: #fefefe;
}

.brands .network .inner .information .block .description {
   margin-bottom: 40px;
}

.brands .network .inner .information .block .description p {
   line-height: var(--lh-base);
   color: #a1a1aa;
}

.brands .network .inner .information .block .list {}

.brands .network .inner .information .block .list li {
   padding-bottom: 20px;
   padding-left: 45px;
   position: relative;
   border-bottom: 1px solid #ffffff1a;
   color: #ddd;
}

.brands .network .inner .information .block .list li::before {
   width: 18px;
   height: 22px;
   content: '';
   position: absolute;
   left: 10px;
   top: -2px;
   background: url(/assets/img/ico_map-pin.svg) center;
   background-size: contain;
}

.brands .network .inner .information .block .list li+li {
   margin-top: 20px;
}

.brands .network .inner .image {
   width: 100%;
}

.brands .network .inner .image img {
   width: 100%;
}




.brands .curate {
   padding: 0 0 180px;
}

.brands .curate .inner {}

.brands .curate .icon {
   text-align: center;
}

.brands .curate .headline {
   margin-bottom: 30px;
}

.brands .curate .headline p {
   text-align: center;
   font-size: var(--fs-48);
}

.brands .curate .description {
   margin-bottom: 60px;
}

.brands .curate .description p {
   line-height: var(--lh-base);
   text-align: center;
   color: #775a19;
}

.brands .curate .description span {
   font-style: italic;
}

.brands .curate .button {
   text-align: center;
}










/* =========================
  国内事業者様へ
   ========================= */

.partner {}





.partner .mainvisual .background {
   background: url(/assets/img/pic_partner-mainvisual.webp) center no-repeat;
   background-size: cover;
}





.partner .mission {
   padding: 100px 0;
}

.partner .mission .inner {
   display: flex;
   gap: 0 50px;
}

.partner .mission .image {
   width: 50%;
}

.partner .mission .message {
   width: 50%;
   display: flex;
   align-items: center;
}

.partner .mission .message .common-headline .headline {
   max-width: none;
}

.partner .mission .message .description {
   gap: 20px 0;
}

.partner .mission .message .description p {
   line-height: var(--lh-base);
}

.partner .mission .message .description p+p {
   margin-top: 20px;
}





.partner .value {
   padding: 100px 0;
   background: #f3f3f3;
}

.partner .value .inner {}

.partner .value .common-headline {
   justify-content: center;
   text-align: center;
}

.partner .value .common-headline .headline {
   max-width: none;
}

.partner .value .information {
   display: flex;
   justify-content: space-between;
   gap: 0 2px;
}

.partner .value .information .block {
   padding: 4rem;
   background: #fff;
}

.partner .value .information .block .icon {
   margin-bottom: 20px;
   text-align: center;
}

.partner .value .information .block .headline {
   margin-bottom: 20px;
   text-align: center;
}

.partner .value .information .block .headline p {
   font-size: var(--fs-24);
}

.partner .value .information .block .description {
   margin-bottom: 20px;
}

.partner .value .information .block .description p {
   line-height: var(--lh-base);
}







.partner .core {
   padding: 100px 0;
   background: #2c2c2c;
}

.partner .core .inner {
   display: flex;
   justify-content: space-between;
   gap: 0 50px;
}

.partner .core .common-headline .headline {
   max-width: none;
}

.partner .core .common-headline .headline .name p {
   color: #fff;
}

.partner .core .common-headline .headline .catch p {
   color: #ffdea5;
}

.partner .core .information {
   max-width: 50%;
   display: flex;
   align-items: center;
}

.partner .core .information .message {
   margin-bottom: 30px;
}

.partner .core .information .message p {
   line-height: var(--lh-base);
   font-size: var(--fs-20);
}

.partner .core .information .list {}

.partner .core .information .list li {
   padding-left: 40px;
   position: relative;
}

.partner .core .information .list li::before {
   position: absolute;
   left: 0;
   top: -2px;
   content: "0" counter(list-item);
   font-size: var(--fs-24);
   color: #775a19;
}

.partner .core .information .list li+li {
   margin-top: 30px;
}

.partner .core .information .list .catch {
   margin-bottom: 10px;
}

.partner .core .information .list .catch p {
   font-size: var(--fs-24);
   color: #fff;
}

.partner .core .information .list .description {}

.partner .core .information .list .description p {
   line-height: var(--lh-tight);
   font-family: var(--ff-gothic);
   color: #a1a1aa;
}

.partner .core .image {
   position: relative;
}

.partner .core .image::before {
   width: 100%;
   height: 100%;
   content: '';
   position: absolute;
   left: 0;
   top: 0;
   background: rgba(0,0,0,0.3);
}





.partner .structure {
   padding: 100px 0;
   background: #f3f3f3;
}

.partner .structure .inner {}

.partner .structure .common-headline {
   justify-content: center;
   text-align: center;
}

.partner .structure .common-headline .headline {
   max-width: none;
}

.partner .structure .common-headline .headline .catch {}

.partner .structure .common-headline .headline .name {}

.partner .structure .information {
   display: flex;
   justify-content: space-between;
   gap: 0 2px;
}

.partner .structure .information .block {
   padding: 4rem;
   background: #fff;
}

.partner .structure .information .block .headline {
   margin-bottom: 20px;
   text-align: center;
}

.partner .structure .information .block .headline p {
   font-size: var(--fs-24);
}

.partner .structure .information .block .description {
   margin-bottom: 20px;
}

.partner .structure .information .block .description p {
   line-height: var(--lh-base);
}

.partner .structure .message {
   margin-top: 50px;
   text-align: center;
}










/* =========================
  会社概要
   ========================= */

.company {}





.company .mainvisual .background {
   background: url(/assets/img/pic_company-mainvisual.webp) center no-repeat;
   background-size: cover;
}





.company .pagetitle {
   padding: 100px 0;
}

.company .pagetitle .inner {}

.company .pagetitle .inner .block {
   display: flex;
   justify-content: space-between;
}

.company .pagetitle .inner .block+.block {
   margin-top: 60px;
}

.company .pagetitle .block .headline {
   width: 30%;
}

.company .pagetitle .block .headline h3 {
   line-height: var(--lh-tight);
   font-size: var(--fs-32);
}

.company .pagetitle .block .message {
   width: calc(100% - 30px);
}

.company .pagetitle .block .message .catch {
   margin-bottom: 20px;
}

.company .pagetitle .block .message .catch p {
   line-height: var(--lh-tight);
   font-size: var(--fs-32);
}

.company .pagetitle .block .message .description {
}

.company .pagetitle .block .message .description p {
   line-height: var(--lh-base);
}





.company .profile {
   padding: 100px 50px;
   background: #f3f3f3;
}

.company .profile .inner {
   padding: 50px;
   background: #fff;
}

.company .profile .common-headline {
   justify-content: center;
   text-align: center;
}

.company .profile .common-headline .headline {}

.company .profile .common-headline .headline .catch {}

.company .profile .common-headline .headline .name {}

.company .profile .table {}

.company .profile .table dl {
   width: 100%;
   border-top: 1px solid #ddd;
}

.company .profile .table dt {
   position: absolute;
}

.company .profile .table dd {
   padding-left: 135px;
   border-bottom: 1px solid #ddd;
}

.company .profile .table dt,
.company .profile .table dd {
   margin: 0;
   padding-top: 20px;
   padding-bottom: 20px;
   vertical-align: top;
   line-height: var(--lh-tight);
}

.company .profile .table li {
   margin-left: 20px;
   list-style-type: disc;
}

.company .profile .table li+li {
   margin-top: 20px;
}





.company .contact-form {
   padding: 100px 0;
}

.company .contact-form .table {}

.company .contact-form .table dl {
   width: 100%;
   margin-bottom: 40px;
   border-top: 1px solid #ddd;
}

.company .contact-form .table dt {
   padding-top: 30px;
   position: absolute;
}

.company .contact-form .table dd {
   padding-left: 150px;
   padding-top: 20px;
   border-bottom: 1px solid #ddd;
}

.company .contact-form .table dt,
.company .contact-form .table dd {
   margin: 0;;
   padding-bottom: 20px;
   vertical-align: top;
   line-height: var(--lh-tight);
}

.company .contact-form .table input[type="text"],
.company .contact-form .table input[type="email"],
.company .contact-form .table input[type="tel"],
.company .contact-form .table select {
   width: 100%;
   padding: 10px;
   border: 1px solid #ddd;
   border-radius: 4px;
   box-sizing: border-box;
}

.company .contact-form .table textarea {
   width: 100%;
   height: 100px;
   padding: 10px;
   border: 1px solid #ddd;
   border-radius: 4px;
   box-sizing: border-box;
}

.company .contact-form .table .required {
   color: var(--col-button-active);
}

.company .contact-form .table .check {
   margin-bottom: 40px;
   text-align: center;
}

.company .contact-form .table .check a {
   text-decoration: underline;
}

.company .contact-form .table .check a:hover {
   text-decoration: none;
}

.company .contact-form .table .submit {
   text-align: center;
}

.company .contact-form .done-message {
   margin-bottom: 40px;
   padding: 100px 0;
   text-align: center;
}

.company .contact-form .button {
   text-align: center;
}

.company .contact-form .error {
   margin-bottom: 20px;
}

.company .contact-form .error p {
   color: var(--col-button-active);
}





.company .privacypolicy {
   padding: 100px 0;
}

.company .privacypolicy .privacypolicy-content {
   
}

.company .privacypolicy .privacypolicy-content .text {
   line-height: var(--lh-base);
}

.company .privacypolicy .privacypolicy-content .text+.text {
   margin-top: 40px;
}

.company .privacypolicy .privacypolicy-content .text .headline {
   font-weight: bold;
}

.company .privacypolicy .privacypolicy-content .text p+p {
   margin-top: 10px;
}

.company .privacypolicy .privacypolicy-content .text li {
   margin-left: 20px;
   list-style-type: disc;
}










/* =========================
  弊社のサービス
   ========================= */

.services {}





.services .mainvisual .background {
   background: url(/assets/img/pic_services-mainvisual.webp) center no-repeat;
   background-size: cover;
}




.services .service-content {
   padding: 100px 0;
   background: #f3f3f3;
}

.services .service-content .inner {
}

.services .service-content .message {
   margin-bottom: 40px;
}

.services .service-content .message .headline {
   margin-bottom: 20px;
}

.services .service-content .message .headline p {
   line-height: var(--lh-tight);
   text-align: center;
   font-size: var(--fs-48);
}

.services .service-content .message .description {}

.services .service-content .message .description p {
   line-height: var(--lh-base);
   font-size: var(--fs-20);
}

.services .service-content .point {
   display: flex;
   flex-wrap: wrap;
   gap: 1px;;
}

.services .service-content .point .card {
   width: calc(50% - 2px);
   padding: 3rem;
   background: #fff;
}

.services .service-content .point .card .icon {
   margin-bottom: 20px;
   text-align: center;
}

.services .service-content .point .card .headline {
   margin-bottom: 20px;
   text-align: center;
}

.services .service-content .point .card .headline p {
   font-size: var(--fs-24);
}

.services .service-content .point .card .description {
   margin-bottom: 20px;
}

.services .service-content .point .card .description p {
   line-height: var(--lh-base);
}





.services .expert {
   padding: 100px 0;
   background: #2c2c2c;
}

.services .expert .inner {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   gap: 0 50px;
}

.services .expert .image {
   width: 100%;
   position: relative
}

.services .expert .image::before {
   width: 100%;
   height: 100%;
   content: '';
   position: absolute;
   left: 0;
   top: 0;
   background: rgba(0,0,0,0.3);
}

.services .expert .image img {
   width: 100%;
}

.services .expert .information {
   width: 100%;
   display: flex;
   align-items: center;
}

.services .expert .information .common-headline .headline {
   max-width: none;
}

.services .expert .information .common-headline .headline p {
   color: #fff;
}

.services .expert .information .common-headline .headline .catch p {
   color: #ffdea5;
}

.services .expert .information .message {
   margin-bottom: 30px;
}

.services .expert .information .message p {
   line-height: var(--lh-base);
   color: #a1a1aa;
}

.services .expert .information .list {}

.services .expert .information .list .catch {}

.services .expert .information .list .description {}

.services .expert .information .list li {
   padding-left: 40px;
   position: relative;
}

.services .expert .information .list li::before {
   width: 25px;
   height: 1px;
   position: absolute;
   left: 0;
   top: 12px;
   content: '';
   background: #775a19;
}

.services .expert .information .list li+li {
   margin-top: 30px;
}

.services .expert .information .list .catch {
   margin-bottom: 10px;
}

.services .expert .information .list .catch p {
   font-size: var(--fs-24);
   color: #fff;
}

.services .expert .information .list .description {}

.services .expert .information .list .description p {
   line-height: var(--lh-tight);
   font-family: var(--ff-gothic);
   color: #a1a1aa;
}






.services .process {
   padding: 100px 0;
   background: #f3f3f3;
}

.services .process .inner {}

.services .process .common-headline {
   justify-content: center;
   text-align: center;
}

.services .process .common-headline .headline {
   max-width: none;
}

.services .process .common-headline .headline .catch {}

.services .process .common-headline .headline .name {}

.services .process .list {}

.services .process .list ul {
   display: flex;
   gap: 0 1px;
}

.services .process .list li {
   width: calc(33.3% - 0.66px);
   padding: 2rem;
   background: #fff;
}

.services .process .list .number {
   margin-bottom: 20px;
}

.services .process .list .number p {
   color: #775a19;
   font-size: var(--fs-40);
}

.services .process .list .catch {
   margin-bottom: 20px;
}

.services .process .list .catch p {
   font-size: var(--fs-24);
}

.services .process .list .description {}

.services .process .list .description p {
   line-height: var(--lh-base);
}





.services .appeal {
   padding: 100px 0;
}

.services .appeal .inner {}

.services .appeal .common-headline {
   justify-content: center;
   text-align: center;
}

.services .appeal .common-headline .headline {
   max-width: none;
}

.services .appeal .description {
   margin-bottom: 60px;
}

.services .appeal .description p {
   line-height: var(--lh-base);
   text-align: center;
   color: #775a19;
}

.services .appeal .button.common-button-red {
   text-align: center;
}
























/* ===========================================================================
   Tablet Style
   ========================= */

@media (min-width: 980px) and (max-width: 1179px) {



}

@media (min-width: 768px) and (max-width: 979px) {



}

@media (min-width: 768px) and (max-width: 1079px) {



}





















/* ===========================================================================
   SP Style
   ========================= */

@media (max-width: 767px) {

/* =========================
  ヘッダ／フッタ
   ========================= */

.header .logo {
   padding: 10px 0;
}

.header .accordion {
   height: 12px;
   display: block;
   position: fixed;
   top: 22px;
   right: 20px;
}

.header .accordion span {
   display: block;
   width: 30px;
   height: 3px;
   background-color: #333;
   transition: .3s;
}

.header .accordion span:nth-child(1) {
   position: absolute;
   top: 0;
   right: 0;
}

.header .accordion span:nth-child(2) {
   position: absolute;
   bottom: 0;
   right: 0;
}

.header .accordion.active span:nth-child(1) {
   top: 4px;
   right: 0;
   rotate: -45deg;
}

.header .accordion.active span:nth-child(2) {
   bottom: 4px;
   right: 0;
   rotate: 45deg;
}

.header .navigation {
   width: 100%;
   height: calc(100svh - 56px);
   position: fixed;
   left: 0;
   top: 56px;
   background: #fff;

   opacity: 0;
   pointer-events: none;
   transition: opacity 0.3s;
}

.header .accordion.active+.navigation {
   opacity: 1;
   pointer-events: auto;
}

.header .navigation ul {
   display: block;
}

.header .navigation li {
   border-top: 1px solid #ccc;
}

.header .navigation a {
   padding: 20px;
   display: block;
}

.header .navigation .active a{
   border-bottom: none;
   background: #fffaed;
}

.header .navigation li:not(.contact) a::before {
   content: '─ ';
}

.header .navigation .contact {
   padding: 20px 20px 0;
   text-align: center;
}







.footer {
   background: #18181b;
}

.footer .inner {}

.footer .wrap {
   padding-top: 50px;
   padding-bottom: 50px;
   display: block;
}

.footer .wrap .information {
   margin-bottom: 40px;
   max-width: none;
}

.footer .wrap .links {
   width: 100%;
}

.footer .copyright p {
   font-size: var(--fs-12);
}















/* =========================
  共通パーツ
   ========================= */

main {
}

.view-pc {
   display: none;
}





.common-headline {
   display: block;
}

.common-headline .headline {
   max-width: none;
   margin-bottom: 10px;
}

.common-headline .headline .name p {
   font-size: var(--fs-32);
}

.common-headline .description {
   max-width: none;
}

.common-headline .description p {
   font-size: var(--fs-14);
}






.mainvisual .background .inforamtion {
   padding: 20px 20px 60px;
}

.mainvisual .background .inforamtion .catch p {
   font-size: var(--fs-12);
}

.mainvisual .background .inforamtion .headline h1 {
   font-size: var(--fs-40);
}

.mainvisual .background .inforamtion .description {
   max-width: none;
   padding-left: 15px;
}

.mainvisual .background .inforamtion .description h2 {
   font-size: var(--fs-14);
}












/* =========================
  トップページ
   ========================= */

.top-mainvisual .background {
   background: url(/assets/img/pic_top-mainvisual.webp) right 60% top no-repeat;
   background-size: cover;
}





.top-mainvisual .background .inforamtion {
   padding: 20px;
}

.top-mainvisual .background .inforamtion .catch p {
   font-size: var(--fs-12);
}

.top-mainvisual .background .inforamtion .headline h1 {
   line-height: var(--lh-tight);
   font-size: var(--fs-40);
}

.top-mainvisual .background .inforamtion .description {
   max-width: none;
   padding-left: 15px;
}

.top-mainvisual .background .inforamtion .description h2 {
   font-size: medium;
}

.top-mainvisual .background .inforamtion .links {
   display: block;
}

.top-mainvisual .background .inforamtion .links .button {
   text-align: center;
}

.top-mainvisual .background .inforamtion .links .button+.button {
   margin-top: 20px;
}





.top-feature .list ul {
   display: block;
}

.top-feature .list li {
   width: 100%;
   padding: 2rem 2rem;
}

.top-feature .list li+li {
   margin-top: 20px;
}





.top-expertise .information {
   display: block;
}

.top-expertise .information .block {
   padding: 3rem 2rem;
}

.top-expertise .information .block+.block {
   margin-top: 20px;
}





.top-trading .information .block {
   padding: 4rem 2rem;
}





.top-selection .slider-controls {
}

.top-selection .slider-button {
   width: 40px;
   height: 40px;
   font-size: medium;
}





.top-bridge .inner {
   display: block;
}

.top-bridge .wrap {
   max-width: none;
   margin-bottom: 20px;
}

.top-bridge .wrap .message p {
   font-size: var(--fs-14);
}

.top-bridge .wrap .list .catch p {
   font-size: var(--fs-20);
}

.top-bridge .wrap .list .description p {
   font-size: var(--fs-14);
}





.top-area .inner {
   display: block;
}

.top-area .headline {
   width: 100%;
   margin-bottom: 20px;
}

.top-area .list ul {
   display: block;
}

.top-area .list li {
   padding: 10px ;
   font-size: medium;
}





.top-producers .inner {
   padding: 100px 20px;
}

.top-producers .message p {
   font-size: medium;
}










/* =========================
  対応ブランド牛
   ========================= */

.brands .mainvisual .background {
   background: url(/assets/img/pic_brands-mainvisual.webp) right 20% top no-repeat;
   background-size: cover;
}

.brands .pagetitle .inner {
   display: block;
}

.brands .pagetitle .headline {
   width: 100%;
   margin-bottom: 20px;
}

.brands .pagetitle .description {
   width: 100%;
}

.brands .pagetitle .description p {
   font-size: var(--fs-14);
}





.brands .brand-list .layout-2row {
   display: block;
}

.brands .brand-list .layout-2row .card {
   width: 100%;
}

.brands .brand-list .layout-1row .card .information {
   left: 20px;
   bottom: 20px;
}





.brands .network .inner {
   padding: 60px 20px 20px;
   display: block;
}

.brands .network .inner .information {
   margin-bottom: 20px;
}

.brands .network .inner .information .block .tagline p {
   font-size: var(--fs-12);
}

.brands .network .inner .information .block .headline p {
   font-size: var(--fs-32);
}

.brands .network .inner .information .block .description p {
   font-size: var(--fs-14);
}

.brands .network .inner .information .block .list li {
   padding-bottom: 10px;
   font-size: var(--fs-14);
}

.brands .network .inner .information .block .list li+li {
   margin-top: 10px;
}

.brands .network .inner .information .block .list li::before {
   top: -4px;
}

.brands .network .inner .image img {
   width: 100%;
   min-width: auto;
}





.brands .curate {
   padding: 0 20px 180px;
}

.brands .curate .headline p {
   font-size: var(--fs-32);
}

.brands .curate .description p {
   font-size: var(--fs-14);
}










/* =========================
  国内事業者様へ
   ========================= */

.partner .mainvisual .background {
   background: url(/assets/img/pic_partner-mainvisual.webp) right 12% top no-repeat;
   background-size: cover;
}




.partner .mission .inner {
   flex-direction: column;
}

.partner .mission .image {
   width: 100%;
   margin-bottom: 20px;
}

.partner .mission .message {
   width: 100%;
}





.partner .value .information {
   display: block;
}

.partner .value .information .block {
   padding: 3rem 2rem;
}

.partner .value .information .block+.block {
   margin-top: 20px;
}





.partner .core .inner {
   display: block;
}

.partner .core .information {
   max-width: none;
   margin-bottom: 20px;
}

.partner .core .information .message p {
   font-size: var(--fs-14);
}

.partner .core .information .list .catch p {
   font-size: var(--fs-20);
}

.partner .core .information .list .description p {
   font-size: var(--fs-14);
}





.partner .structure .information {
   display: block;
}

.partner .structure .information .block {
   padding: 3rem 2rem;
}

.partner .structure .information .block+.block {
   margin-top: 20px;
}

.partner .structure .message {
   margin-top: 20px;
   text-align: left;
}

.partner .structure .message p {
   line-height: var(--lh-base);
}










/* =========================
  会社概要
   ========================= */

.company .mainvisual .background {
   background: url(/assets/img/pic_company-mainvisual.webp) right 25% top no-repeat;
   background-size: cover;
}





.company .pagetitle .inner .block {
   display: block;
}

.company .pagetitle .block .headline {
   width: auto;
   margin-bottom: 20px;
}

.company .pagetitle .block .message {
   width: auto;
}

.company .pagetitle .block .message .catch p {
   font-size: var(--fs-24);
}





.company .profile {
   padding: 20px;
}

.company .profile .inner {
   padding: 50px 20px;
}

.company .profile .table dt {
   position: static;
   margin-bottom: 20px;
   padding: 20px 0 0;
   font-weight: bold;
}

.company .profile .table dd {
   padding: 0 0 20px;
}





.company .contact-form {
   padding: 20px;
}

.company .contact-form .inner {
   padding: 50px 0;
}

.company .contact-form .table dt {
   position: static;
   margin-bottom: 10px;
   padding: 20px 0 0;
   font-weight: bold;
}

.company .contact-form .table dd {
   padding: 0 0 20px;
}










/* =========================
  弊社のサービス
   ========================= */

.services .mainvisual .background {
   background: url(/assets/img/pic_services-mainvisual.webp) right 25% top no-repeat;
   background-size: cover;
}

.services .service-content .message .headline p {
   text-align: left;
   font-size: var(--fs-32);
}

.services .service-content .point {
   display: block;
}

.services .service-content .point .card {
   width: 100%;
   padding: 3rem 2rem;
}

.services .service-content .point .card+.card {
   margin-top: 20px;
}





.services .expert {
   padding: 100px 0 20px;
}

.services .expert .inner {
   flex-direction: column-reverse;
}

.services .expert .information {
   margin-bottom: 40px;
}





.services .process .list ul {
   display: block;
}

.services .process .list li {
   width: 100%;
   padding: 2rem 2rem;
}

.services .process .list li+li {
   margin-top: 20px;
}

















}
















