/*
Theme Name: first
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: first
Tags:

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.

first is based on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Asides
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/


/***
@font-face {
   font-family: impact;
   src: url('/wp-content/themes/first/images/impact.eot') format("embedded-opentype");
   src: url('/wp-content/themes/first/images/impact.ttf') format("truetype");
   src: url('/wp-content/themes/first/images/impact.woff') format("woff");
    font-style: oblique;
}
**/


/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/


html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust:     100%;
    font-size:16px !important;
}

body {
	margin: 0;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
    background-color: #000;
    color: #fff !important;

}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
    text-decoration: none !important;
}

a:active,
a:hover,
a:focus,
*:focus {
	outline: none;
}
a img,
a:visited img,
a:hover img,
a:active img {
	border: none !important;
	outline: none !important;
}
abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

h2 {
	font-size: 25px;
	margin: 0;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"] {
	-webkit-appearance: textfield;
	box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
input,
select,
textarea {
	color: #222 !important;
	font-family: sans-serif;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

body {
	
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	quotes: "" "";
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0;
    padding: 0;
}

ul {
	list-style: none;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 0;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0;
}

img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

li {
    list-style-type: none;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 15px 17px rgba(255, 255, 255, 0.5), inset 0 -5px 12px rgba(0, 0, 0, 0.05);
	color: rgba(0, 0, 0, .8);
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1;
	padding: .6em 1em .4em;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), inset 0 15px 17px rgba(255, 255, 255, 0.8), inset 0 -5px 12px rgba(0, 0, 0, 0.02);
}

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
	border-color: #aaa #bbb #bbb;
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.5), inset 0 2px 5px rgba(0, 0, 0, 0.15);
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
}

select {
	border: 1px solid #ccc;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"] {
	padding: 3px;
}

textarea {
	padding-left: 3px;
	width: 100%;
}
/*--------------------------------------------------------------
# フォント
--------------------------------------------------------------*/

.impact {
    font-family: impact,'Anton', sans-serif;
    font-style: italic;
    font-weight: normal;
}

.main_font {
    font-family: impact , 'Anton', "Noto Sans JP", sans-serif;
    font-style: italic;
    font-weight: normal;
}

.inner{
    width: 80%;
    margin: 0 auto;
}



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

オーバーレイ

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

.hover_overlay {
    width: 100%;
	height: 100%;
	position: absolute;
	top:0;
	left:0;
	opacity: 0;
	-webkit-transition: opacity .3s linear;
	-moz-transition: opacity .3s linear;
	-o-transition: opacity .3s linear;
	transition: opacity .3s linear;
	filter: alpha(opacity=0);
    background-color: #000;
}
.hover_overlay:hover {
    opacity: 1;
	background-color: rgba(0, 0, 0, 0.63);
	filter: alpha(opacity=100);
}  
.hover_overlay span {
    position: absolute;
    top: 50%;
    left: 50%;
}
.hover_overlay span.normal {
    margin-top: -40px;
    margin-left: -40px;
}
.circle_overlay {
    width: 90%;
	height: 90%;
	position: absolute;
	top:50%;
	left:50%;
    margin-top: -45%;
    margin-left: -45%;
	opacity: 0;
	-webkit-transition: opacity .3s linear;
	-moz-transition: opacity .3s linear;
	-o-transition: opacity .3s linear;
	transition: opacity .3s linear;
	filter: alpha(opacity=0);
    background-color: #000;
    border-radius: 50%;
}
.circle_overlay:hover{
    opacity: 1;
	background-color: rgba(0, 0, 0, 0.63);
	filter: alpha(opacity=100);
} 
.circle_overlay span {
    position: absolute;
    top: 50%;
    left: 50%;
}

.hover_overlay2 {
    position:relative;
}
.hover_overlay2 img {
    width:100%;
    vertical-align:top;
}

.hover_overlay2:after {
    content:'';
    color:#fff;
    position:absolute;
    width:100%; height:100%;
    top:0; left:0;
    background:url('/wp-content/themes/first/images/logo.png') no-repeat center center, rgba(0,0,0,0.6) no-repeat top left;
    opacity:0;
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
.hover_overlay2:hover:after {
    opacity:1;
}
/****---------------------------------------------

オーバーレイブラック

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

.black_overlay {
    position:relative;
}
.black_overlay img {
    width:100%;
    vertical-align:top;
}

.black_overlay:after {
    content:'';
    color:#fff;
    position:absolute;
    width:100%; height:100%;
    top:0; left:0;
    background-color: rgba(0, 0, 0, 0.65);
    opacity:1;
    background-position: center center;
}
.black_overlay:hover:after {
    opacity:0.3;
    background-image:url('/wp-content/themes/first/images/logo.png');
    background-repeat: no-repeat;
    
    transition: 0.5s;
}

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

フッター

-------------------------------- */
footer {
    clear: both;
}
.footer_top {
    padding:30px 20px;
    background-color: #222;
}
.footer_top .col-sm-3 {
    padding: 15px;
}
.footer_bottom {
    background-color: #fff;
}
h2.title_bar{
    display: flex;
    align-items: center;
    font-style: oblique;
    font-family: arial,sans-serif;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    padding-bottom: 20px;
}
h2.title_bar::before{
    border-top: 1px solid #fff;
    content: "";
    display: inline;
    flex-grow: 1;
}
.news_post_row {
    padding-top: 9px;
    padding-bottom: 9px;
    border-bottom: 1px dotted #bababa;
}
.news_bottom_info {
    padding-right: 10px !important;
}
.news_bottom_title {
    min-height: 35px;
    text-align: left;
    font-size: 13px;
}
.news_bottom_date {
    text-align: right;
}
.footer_wheels,.footer_gallery {
    padding: 3px !important;
}
.footer_wheels img{
    width: 100%;
}
.footer_wheels:nth-child(4){
    clear: both;
}
.footer_wheels .circle_overlay span {
    width: 30px;
    height: 30px;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -15px;
    margin-top: -15px;
}
.footer_wheels .hover_overlay span {
    width: 30px;
    height: 30px;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -15px;
    margin-top: -15px;
}
.footer_gallery .footer_gallery_title {
    width: 200px;
    margin-left: -100px;
    margin-top: -1em;
    text-align: center;
    font-size: 15px;
}


.footer_bottom {
    color: #000;
}
.footer_menu {
    display: table;
}
.footer_menu li {
    display: table-cell;
    height: 60px; 
    vertical-align: middle;
    text-align: center;
}
.footer_menu li a{
    color: #111;
    height: 60px;
    font-style: oblique;
    line-height: 1;
    font-size: 15px;
    padding: 0 20px;
}
.footer_logo {
    display: table;
}
.footer_logo_inner {
    display: table-cell;
    text-align: right;
    font-size: 13px;
}

.footerArea{
    background-image:url('/wp-content/themes/first/images/bg_footer.jpg');
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.footerContent{
    width:1200px;
    margin:auto;
    text-align:center;
}

.footerTop{
    margin:50px 0;
}

.footer_navi{
    font-size:18px;
}

.footer_navi li{
    display:inline-block;
    margin:5px 20px 5px;
}

.footerBottom{
    font-size:14px;
    margin-bottom:40px;
}

.foot_logo{
    
}

.foot_shop{
    text-align:left;
    display: inline-block;
    vertical-align: top;
    padding: 0 10px 0;
}

.footer_sns{
    
}

.footer_sns li{
    display:inline-block;
    margin:0 5px;
}

.copyright{
    text-align: center;
    font-size:12px;
}

@media only screen and (max-width: 1200px) {
    .footerContent{
        width:100%;
    }
}

@media only screen and (max-width: 1024px) {
    .footer_menu li a{
    font-size: 10px;
    padding: 0 10px;
}
}
@media only screen and (max-width: 640px) {
.footer_menu {
    display: block;
}
.footer_menu li {
    display: block; 
    height: auto;
    text-align: left;
}
.footer_menu li a{
    height: auto;
    border-bottom: 1px solid #333;
    display: block;
    padding: 15px 0 15px 15px;
    font-size: 14px;
}
.footer_top {
    padding: 30px 0px;
    background-color: #222;
}
.footer_gallery .footer_gallery_title {
    width: 150px;
    margin-left: -75px;
    margin-top: -1em;
    text-align: center;
}
    
.footer_navi{
    border-top:1px dotted #ccc;
}
    
.footer_navi li{
    display:block;
    padding:10px 0;
    border-bottom:1px dotted #ccc;
    margin:0;
}
    
.footer_navi li a{
    display:block;
}
    
.foot_logo{
    width:90%;
    margin:auto;
}

.foot_shop{
    display: block;
}
    
}


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

ヘッダー

-------------------------------- */
.not-sticking{
    /*position: absolute !important;*/
    z-index: 1000;
    width: 100%;
}

header  {
    background-color: #fff;
    height: auto;
    width: 100%;
}

header h1{
    font-size:12px;
    padding-left:20px;
}

header div.logo {
    float:left;
    display: table;
    height: 80px;
    transition: 0.3s;
    padding-left: 20px;
}
header div.logo a{
    display: table-cell;
    height: 80px;
    vertical-align: middle;
}

.logo figure {
    position: relative;
    overflow: hidden;
  }
  .logo figure::before {
    position: absolute;
    top: 0;
    left: -75%;
    z-index: 2;
    display: block;
    content: '';
    width: 50%;
    height: 100%;
    background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
    -webkit-transform: skewX(-25deg);
    transform: skewX(-25deg);
  }
  .logo figure:hover::before {
    -webkit-animation: shine .75s;
    animation: shine .75s;
  }

.not-sticking .logo_black {
    display: none;
}
header  div.global_nav {
    float:right;
    font-family: impact,'Anton', sans-serif;
}

.logo_white{
    width:280px;
}


.menu {
    position: relative;
    height: 80px;
    display: table;
}

.menu > li {
    display: table-cell;
     /* グローバルナビ4つの場合 */
    height: 80px;
    padding: 0 5px;
    text-align: left;
    /*font-style: italic;*/
    font-weight: normal;
    
}

.menu > li a {
    display: table-cell;
    color: #111;
    font-size: 15px;
    padding:0 20px;
    line-height: 1;
    height: 80px;
    text-align: center;
    vertical-align: middle;
    transition: all .3s ease;
}

.menu li a span{
    font-size: 16px !important;
    font-family: "Noto Sans JP", sans-serif;
    vertical-align: middle;
    font-weight: bold;
}
.menu > li a:hover {
    color: #ea5504;
    background-color: transparent;
}

ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
}
ul.menu__second-level li{
    display: table;
}
ul.menu__second-level a{
    font-size: 14px;
    display: table-cell;
    vertical-align: middle;
    line-height: 1;
    height: 50px;
    text-align: left;
}
ul.menu__second-level a span{
    font-size: 13px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: bold;
}
ul.menu__third-level {
    visibility: hidden;
    opacity: 0;
}

ul.menu__fourth-level {
    visibility: hidden;
    opacity: 0;
}

.menu > li:hover {
    color: #666;
    -webkit-transition: all .5s;
    transition: all .5s;
}

.menu__second-level li {
    border-top: 1px solid #111;
    width: 160px;
}

.menu__third-level li {
    border-top: 1px solid #111;
}

@media only screen and (max-width: 1200px) {
    .menu li a span{
        font-size: 14px !important;
    }
}



/* floatクリア */
.menu:before,
.menu:after {
    content: " ";
    display: table;
}

.menu:after {
    clear: both;
}

.menu {
    *zoom: 1;
}


.menu > li.menu__multi {
    position: relative;
}

li.menu__multi ul.menu__second-level {
    position: absolute;
    top: 80px;
    background: rgba(0, 0, 0, 0.74);
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

li.menu__multi:hover ul.menu__second-level {
    top: 80px;
    visibility: visible;
    opacity: 1;
}

li.menu__multi ul.menu__second-level li {
    position: relative;
    height: 50px;
    line-height: 1;
    width: 160px;
}





/***********sticky headerのサイズ変更************/
.sticking header{
    background-color: #000;
    /*height: 100px;*/
}
.sticking div.logo,
.sticking div.logo a{
    height: 50px;
    width:250px;
    
}

.sticking .menu__second-level a{
    color: #fff !important;
}
.sticking .menu a{
    line-height: 1;
    color: #333;
    vertical-align: middle;
    height: 50px;
}
.sticking .logo_white {
    display: none;
}
.sticking .logo_black {
    display: block;
    width:100%;
}



.sticking  ul.menu__second-level {
    position: absolute;
    top: 50px;
    width: 160px;
    background: rgba(0, 0, 0, 0.74);
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

.sticking  li.menu__multi:hover ul.menu__second-level {
    top: 50px;
    visibility: visible;
    opacity: 1;
}








/* OR you can also style plugin's class .sticking, 
that way you can style it differently when it's sticking */
.sticking {
  width: 100%;
  z-index: 999;
}
@media all and (-ms-high-contrast:none){
header .inner_wrapper ul.nav_pc li {
    padding-top: 5px;
}/***********IE用游ゴシックline-height効かないため************/
}
.sp_nav_wrapper {
    display: none;
}
.sp_nav_btn {
    display: none;
}


@media only screen and (min-width: 1001px) {
#sp_navigation {
       visibility: hidden;
}
}
.sp_nav_wrapper {
    z-index: 1000;
    width: 100%;
}
@media all and (-ms-high-contrast:none){
header .inner ul.nav_pc li {
    padding-top: 5px;
}/***********IE用游ゴシックline-height効かないため************/
}

@media only screen and (max-width: 1300px) {
.menu > li {
    padding: 0 5px;
}
}

@media only screen and (max-width: 1000px) {
    .global_nav {
        display: none;
}
.sp_nav_btn {
    display: inline-block;
    color: #333;
    font-size: 25px;
    position: absolute;
    right: 10px;
    top: 5px;
}
header .inner div.logo {
    padding-left: 15px;
}
.sp_nav_wrapper {
    display: block;
}
.header_container header {
        display: block !important;
}
#sp_navigation {
    visibility: visible;
    display: none;
}
}



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

}



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

トップ

-------------------------------- */
.home header {
    background-color: #fff;
    z-index:1000;
    height: auto;
}
.boxedcontainer		{	max-width: 1170px; margin:auto; padding:0px 30px;}

.main_container{
    width:100%;
}

.main_banner{
    /*padding:50px 0 0;*/
}

.main_banner img{
	width:100%;
	position:relative;
}

.tp-banner-container{
	width:100%;
	position:relative;
	padding:0;

}

.tp-banner{
	width:100%;
	position:relative;
}

.tp-banner img{
	width:100%;
	position:relative;
}

.tp-banner-fullscreen-container {
		width:100%;
		position:relative;
		padding:0;
}


.slide_title {
    font-size: 45px;
    font-weight: bold;
    text-shadow: 3px 3px 3px #000;
    font-family : Arial,Arial Black,Verdana;
}

.slide_sub {
    border-top: 1px solid #fff;
    font-size: 20px;
    display: block;
    font-weight: normal;
    line-height: 1.5;
}

.slide_button a{
    font-size: 15px;
    color: #222 !important;
    background-color: #fff;
    border-radius: 10px;
    padding: 20px;
    transition: 0.5s;
    border: 1px solid #fff;
}

.slide_button a:hover {
    color: #fff !important;
    background-color: transparent !important;
}
.tparrows {
    margin-top: -60px !important;
}
.tp-rightarrow.default {
    right: 0 !important;
}

.top_movie{
    position:relative;
    top:-60px;
    z-index:-1;
    opacity:0.8;
}

.top_movie .dotBox{
    /*background: url("/wp-content/themes/first/images/mesh.png");
    background-repeat: repeat; */
    width:100%;
    height:100%;
    position:fixed;
    margin-top: -60px;
    opacity:0.3;
}

.top_movie video{
    width:100%;
    /*position:relative;*
    top:-85px;
    margin-top:-85px;*/
    
}

@media only screen and (max-width: 768px) {
    .top_movie{
        top:-10px;
    }

}



/* News */

.top_newsArea{
    /*width:1200px;*/
    margin:auto;
}


.top_newsDetail{
    clear:both;
}

.news_date{
    text-align:center;
    margin:8px 0;
    font-size:14px;
}

.top_newsContent{
    width:1200px;
    margin:auto;
}

.top_newsContent .list_title{
    margin:0;
    padding:0;
    font-size:16px;
}

@media only screen and (max-width: 768px) {
    .top_newsContent{
        width:100%;
    }
}


/* trimming */

.trim{
    overflow: hidden;	/*拡大時にはみ出た部分を隠す*/

}

.trim img {
    width: 100%;  /* トリミングしたい幅 */
    height: 220px;  /* トリミングしたい高さ */
    object-fit: cover; 
    transition-duration: 0.3s;	/*変化に掛かる時間*/
}

.trim img:hover {
    transform: scale(1.1);
    transition-duration: 0.3s;
}

.news_btn{
    display:grid;
    clear:both;
    padding:20px 0 80px;
    text-align:center;
    margin:auto;
    width:35%;
    
}
/*
.news_btn a{
    
    padding:20px;
    font-size:16px;
    transform: skewX(-20deg);
    transition: all .3s ease;
    background-color:#ee7d20;
}

.news_btn a:hover{
    background-color:#fff;
    color:#ee7d20;
}
*/
.news_btn a{
    display: inline-block;
    padding:20px;
    font-size:16px;
    transform: skewX(-20deg);
  text-align: center;
  text-decoration: none;  
  outline: none;
    position: relative;
    z-index: 2;
    background-color:#ee7d20;
    color: #fff;    
    overflow: hidden;
}

.news_btn a::before,
.news_btn a::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.news_btn a,
.news_btn a::before,
.news_btn a::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.news_btn a:hover{
    color: #333;
}

.news_btn a::after{
    top: 0;
    left:-100%;
  width: 100%;
  height: 100%;
}

.news_btn a:hover::after {
    /*top: 0;*/
    left:0;
    background-color:#fff;
}



@media only screen and (max-width: 1200px) {
    .top_newsArea{
        width:100%;
    }
}

@media only screen and (max-width: 768px) {
    .news_btn{
        width:80%;
    }
    
    .news_btn a{
        display:block;
    }
}


.top_feature {
    /*height: 647px;*/
    background: url("/wp-content/themes/first/images/bg_about.jpg") no-repeat center center;
    background-position:  center;
    background-size: cover;
}
.top_main_text {
    text-align: center;
    font-size: 72px;
    font-style: oblique;
    font-family:"impact", "anton", "Noto Sans JP", sans-serif;
    font-weight:normal;
    line-height: 0.3;
    display: table;
    /*height: 647px;*/
    margin: 0;
    text-align: center;
    width: 100%;
    /*padding-right: 50px;*/
    padding-top:80px;
    padding-bottom:80px;
}
.top_main_text span{
    font-size:16px;
}

.top_main_text ul{
    display: table-cell;
    vertical-align: middle;
    
}
.top_wheel_link {
    font-size: 20px;
    vertical-align: top;
    background-color: #333;
    padding: 30px;
    display: inline-block;
}
.top_main_text a{
    transition: 0.5s;
}
.top_main_text a:hover{
    color: #e3e3e3;
}


.top_aboutArea{
    width:1200px;
    margin:auto;
}

.top_aboutContent{
    width:700px;
    padding:0 30px 100px;
}

.top_aboutContent h3{
    font-size:24px;
}

.top_aboutContent p{
    font-size:18px;
    line-height:1.8;
}

.top_aboutDetail{
    display:flex;
}
/*
.top_aboutDetail a{
    background:#fff;
    color:#333;
    padding:20px 100px;
    font-size:16px;
    transform: skewX(-20deg);
    transition: all .3s ease;
}

.top_aboutDetail a:hover{
    background:#ee7d20;
    color:#fff;
}
*/
.top_aboutDetail a{
    display: inline-block;
    padding:20px 100px;
    font-size:16px;
    transform: skewX(-20deg);
  text-align: center;
  text-decoration: none;  
  outline: none;
    position: relative;
    z-index: 2;
    background-color: #fff;
    color: #333;    
    overflow: hidden;
}

.top_aboutDetail a::before,
.top_aboutDetail a::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.top_aboutDetail a,
.top_aboutDetail a::before,
.top_aboutDetail a::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.top_aboutDetail a:hover{
    color: #fff;
}

.top_aboutDetail a::after{
    top: 0;
    left:-100%;
  width: 100%;
  height: 100%;
}

.top_aboutDetail a:hover::after {
    /*top: 0;*/
    left:0;
    background-color:#ee7d20;
}


@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .top_feature {
        background-attachment: scroll;
    }
}


@media only screen and (max-width: 1200px) {
    .top_aboutArea{
        width:100%;
    }
}

@media only screen and (max-width: 640px) {
    .top_aboutArea{
        width:100%;
        margin:auto;
    }
    
    .top_aboutContent{
        width:100%;
        padding:0 10px 50px;
    }
    
    .top_aboutDetail a{
        margin:auto;
    }
}



.swiper-container {
        width: 100%;
        height: auto;
        margin-left: auto;
        margin-right: auto;
 }
.swiper-slide {
        text-align: center;
        
        /* Center slide text vertically */
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
}
.sp_latest_wheel_title {
    display: none;
}
.top_latest_wheel {
    height: 700px;
}
.latest_wheel_left {
    background-color: #fff;
    height: 700px;
}
.latest_wheel_left .col-sm-6{
    text-align: center;
}
.latest_wheel_right {
    background: url("/wp-content/themes/first/images/section2_slide1.jpg") no-repeat;
    background-position: center center;
    background-size: cover;
    height: 700px;
}


.top_feature2 {
    height: 647px;
    background: url("/wp-content/themes/first/images/top_section4_bg.jpg") no-repeat center center;
    background-position: right center;
}
.top_feature2 .top_main_text {
    text-align: left;
}


.top_about_us {
    height: 700px;
}
.top_about_us_left {
    background: url("/wp-content/themes/first/images/section2_slide1.jpg") no-repeat;
    background-position: center center;
    background-size: cover;
    height: 700px;
}
.top_about_us_right {
    height: 700px;
    background: url("/wp-content/themes/first/images/top_about_us.jpg") no-repeat bottom right;
    background-color: #fff;
}
.top_about_us_right h2 {
    color: #111;
    font-size: 70px;
    padding: 0 20px;
}
.top_about_us_right p {
    font-size: 18px;
    color: #111;
    line-height: 1.8;
    padding: 0 20px;
}

h2.top_gallery_title {
    font-size: 80px;
    position: absolute;
    right: 30px;
    bottom: 0px;
}
h2.top_news_title {
    position: relative;
    width: 100%;
    text-align: right;
    top: 0px;
    right: 30px;
    font-size: 80px;
    z-index: 1000;
}
.top_news ul{
    margin-top: -60px;
}
.latest_news_top:hover .video_archive_title {
    display: none;
}




/* top_stockArea */

.top_stockArea{
    /*width: 1200px;
    margin: auto;*/
}

.top_stockBox{
    /*display:table;
    margin:auto;*/
}

.top_stockBox2{
    width:1200px;
    margin:auto;
    display:table;
}

.box_inner{
    padding:30px 20px;
}

.top_stock_image{
    overflow:hidden;
}

.top_stock_image img:hover{
    transform:scale(1.1);
    transition-duration: 0.3s;
}

.top_stock{

}

.top_stock_title{
    font-size:18px;
    margin:0;
    padding:5px 0;
    height:54px;
    line-height:1.2;
}

.stock_info01{
    border-top:1px solid #fff;
    border-bottom:1px solid #fff;    
    width:100%;
    padding:10px 0;
    display:inline-block;
}

.stock_info01 dl{
    margin:0;
    display:inline-block;
    text-align:center;
}

.stock_info01 dt{
    clear:both;
    font-size:14px;
}

.stock_info01 dd{
    clear:both;
    font-size:18px;
    padding:10px 0;
    line-height: 0.8;
}

.stock_info01 dd .info_s{
    font-size:11px;
}


.stock_info02{
    margin:10px 0 0;
}

.stock_info02 dl{
    margin:0;
    display:inline-block;
    text-align:center;
}

.stock_info02 dt{
    clear:both;
    font-size:14px;
    position:relative;
    bottom:-15px;
}

.stock_info02 dd{
    clear:both;
    /*font-weight:bold;*/
    padding:60px 0 0;
    height:150px;
    line-height:0.8;
    color:#333;
    background: url("/wp-content/themes/first/images/bnr_meter.png") no-repeat center;
    background-size: 90%;
}

.stock_info02 dd .counter,
.stock_info02 dd .counter2,
.stock_info02 dd .counter3{
    font-size:34px;
    font-family:impact,'Anton', sans-serif;
}

.stock_info02 dd span{
    font-size:12px;
}

.stock_comment{
    padding:10px 0 0;
    clear:both;
    line-height:1.8;
}

.stock_btn{
    display:grid;
    clear:both;
    padding:10px 0 0;
    text-align:center;
    margin:auto;
    width:60%;
}

.stock_btn a{
    background:#ee7d20;
    
    padding:20px;
    font-size:16px;
    transform: skewX(-20deg);
    transition: all .3s ease;
}

.stock_btn a:hover{
    background:#c45104;
}

@media only screen and (max-width: 1200px) {
    .top_stockBox2{
        width:100%;
    }
}

@media only screen and (max-width: 1024px) {
    .stock_info02 dd{
        padding:60px 0 0;
    }
    
    .stock_info02 dd .counter,
    .stock_info02 dd .counter2,
    .stock_info02 dd .counter3{
        font-size:24px;
    }
    
    .stock_btn a{
        display:block;
    }
}

@media only screen and (max-width: 768px) {
    .stock_info02 dd{
        background-size: 120px 120px;
        padding:60px 0 0;
    }
    
    .stock_info02 dd .counter,
    .stock_info02 dd .counter2,
    .stock_info02 dd .counter3{
        font-size:40px;
    }
}

@media only screen and (max-width: 640px) {
    .stock_info02 dd{
        background-size: 110px 110px;
    }
    
    .stock_info02 dd .counter,
    .stock_info02 dd .counter2,
    .stock_info02 dd .counter3{
        font-size:34px;
    }
    
    .stock_btn{
        padding:10px 0 0;
        width:80%;
    }
}

/* menuArea */

.menuArea{
    
}

.menuArea img{
    width:100%;
}

.menuBox{
    display:inline-table;
    width:100%;
}

.menu_bnr01{
    background: url("/wp-content/themes/first/images/bnr_stock.jpg") no-repeat center;
    background-size:cover;
    text-align:center;
}
.menu_bnr01:hover{
    background: url("/wp-content/themes/first/images/bnr_stock_on.jpg") no-repeat center;
    background-size:cover;
    text-align:center;
}

.menu_bnr02{
    background: url("/wp-content/themes/first/images/bnr_shop.jpg") no-repeat center;
    background-size:cover;
    text-align:center;
}
.menu_bnr02:hover{
    background: url("/wp-content/themes/first/images/bnr_shop_on.jpg") no-repeat center;
    background-size:cover;
    text-align:center;
}

.menu_bnr03{
    background: url("/wp-content/themes/first/images/bnr_company.jpg") no-repeat center;
    background-size:cover;
    text-align:center;
}
.menu_bnr03:hover{
    background: url("/wp-content/themes/first/images/bnr_company_on.jpg") no-repeat center;
    background-size:cover;
    text-align:center;
}

.menu_bnr04{
    background: url("/wp-content/themes/first/images/bnr_news.jpg") no-repeat center;
    background-size:cover;
    text-align:center;    
}
.menu_bnr04:hover{
    background: url("/wp-content/themes/first/images/bnr_news_on.jpg") no-repeat center;
    background-size:cover;
    text-align:center;    
}

.menu_bnr01 a,
.menu_bnr02 a,
.menu_bnr03 a,
.menu_bnr04 a{
    padding:130px 0;
    display:block;
    font-style:oblique;
    font-family:"impact", "anton", "Noto Sans JP", sans-serif !important;
    font-size:48px;
}
/*
.menu_bnr01:hover,
.menu_bnr02:hover,
.menu_bnr03:hover,
.menu_bnr04:hover{
    opacity:0.8;
}
*/

/******トップ修正******/

.top_link .top_link_inner {
    position: relative;
}

.top_link h2 {
    position: absolute;
    right: 20px;
    top: 10px;
    text-align: right;
    line-height: 1;
}
.top_link h2 span{
    font-size: 18px;
}
.top_link .col-sm-4 {
    min-height: 350px;
}
.top_link .col-sm-3 img {
    width: 100%;
}

.top_link_wheel {
    background-color: #fff;
}
.top_link_wheel h2{
    color: #111;
}
.top_link_gallery .top_link_inner{
    background: url("/wp-content/themes/first/images/top/gallery.jpg") no-repeat center center;
    background-size: cover;
    min-height: 350px;
}





@media only screen and (min-width: 2000px) {
.top_feature,.top_feature2{
    background-size: 60%;
    height: 800px;
}
.top_about_us_left,.top_about_us_right  {
    height: 800px;
}
.top_link .col-sm-4 {
    min-height: 500px;
}
.top_link_gallery .top_link_inner,
.top_link_video .top_link_inner{
    min-height: 500px;
}

}
@media only screen and (max-width: 768px) {
.top_feature {
    /*height: 300px;
    background: url("/wp-content/themes/first/images/top_section1_bg.jpg") no-repeat center center;*/
    background-size: cover;
}
.top_main_text {
    text-align: center;
    font-size: 34px;
    font-style: oblique;
    line-height: 0.5;
    display: table;
    /*height: 300px;*/
    margin: 0;
    width: 100%;
    /*padding-right: 50px;*/
    padding:50px 10px;
}
.top_main_text .main_font{
    display: none;
}
.sp_latest_wheel_title {
    display: block;
}
.swiper-slide .latest_wheels_img,.swiper-slide .wheel_title_sp {
        display: block;
        padding:10px 0;
}
.swiper-slide .circle_overlay {
    display: none;
}
.top_latest_wheel,.latest_wheel_left  {
    height: auto;
}
.latest_wheel_right {
    display: none;
}
.top_about_us {
    display: none;
}
.top_news {
    display: none;
}
.top_news_title {
    display: none;
}
.top_news ul{
    margin-top: 0px;
}

}







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

フェイドインアニメーション

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

.fadeLeft {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-name: fadeLeft;
 animation-name: fadeLeft;
 visibility: visible !important;
}
@-webkit-keyframes fadeLeft {
 0% { opacity: 0; -webkit-transform: translatex(-50px); }
 100% { opacity: 1; -webkit-transform: translatex(0); }
}
@keyframes fadeLeft {
 0% { opacity: 0; -webkit-transform: translatex(-50px); -ms-transform: translatex(-50px); transform: translatex(-50px); }
 100% { opacity: 1; -webkit-transform: translatex(0); -ms-transform: translatex(0); transform: translatex(0); }
}

.feature_img2 {
    position: relative;
    top: -270px;
}
.animation2 {

    z-index: 10;
}

.fadeRight {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s; 
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-name: fadeRight;
 animation-name: fadeRight;
 visibility: visible !important;
}
@-webkit-keyframes fadeRight {
 0% { opacity: 0; -webkit-transform: translatex(50px); }
 100% { opacity: 1; -webkit-transform: translatex(0); }
}
@keyframes fadeRight {
 0% { opacity: 0; -webkit-transform: translatex(50px); -ms-transform: translatex(50px); transform: translatex(50px); }
 100% { opacity: 1; -webkit-transform: translatex(0); -ms-transform: translatex(0); transform: translatex(0); }
}
    
/*--------------------------------------------------------------
# ペジネーション
--------------------------------------------------------------*/
.pagenation {
    clear: both;
    width: 100%;
    text-align: center;
    font-size: 15px;
    padding-top: 50px;
    padding-bottom: 50px;
}
.pagenation a,
.pagenation span{
    padding:0 5px 5px;
    margin: 0 5px;
    display: inline-block;
    transition-duration:0.5s;
    -webkit-transition-duration:0.5s;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
    overflow:hidden;
    color: #fff;
    font-family: impact;
}
.pagenation .current{
    border-bottom: 1px solid #fff;
}

/*--------------------------------------------------------------
# ペジネーション白背景用
--------------------------------------------------------------*/
.pagenation2 {
    margin-top: 50px;
    clear: both;
    width: 100%;
    text-align: center;
    font-size: 15px;
    padding-top: 50px;
    padding-bottom: 50px;
    background-color: #333;
}
.pagenation2 a,
.pagenation2 span{
    padding:0 5px 5px;
    margin: 0 5px;
    display: inline-block;
    transition-duration:0.5s;
    -webkit-transition-duration:0.5s;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
    overflow:hidden;
    color: #fff;
    font-family: impact;
}
.pagenation2 .current{
    border-bottom: 1px solid #fff;
}

/*--------------------------------------------------------------
# ペジネーション wp pagenavi
--------------------------------------------------------------*/
.wp-pagenavi a, .wp-pagenavi span {
    text-decoration: none;
    border: none;
    padding: 3px 5px;
    margin: 2px;
}
.wp-pagenavi span.current {
    border-color: #fff;
}
/*--------------------------------------------------------------
# ホイールシリーズ
--------------------------------------------------------------*/
.wheel_series {
    background-color: #fff !important;
    padding: 75px 0 100px;
}
.series_link {
    background-position: left center;
    background-repeat: no-repeat;
}

.series_title {
    color: #111;
    border-bottom: 9px solid #efefef;
    display: table;
    width: 100%;
}
.series_bg {
    background-position: left center;
    background-repeat: no-repeat;
}
.series_bg,.series_right {
    display: table-cell;
    height: 450px;
    width: 50%;
}
.series_right img{
    width: 100%;
}
.series_title ul{
    vertical-align: bottom;
    text-align: right;
    padding-right: 30px;
    font-size: 18px;
}
.series_title h1{
    font-size: 80px;
    line-height: 1;
}

.series_title,
.series_link h1,
.series_link span,
.series_link img{
    transition: all 0.5s ease; 
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}
.series_link:hover h1,
.series_link:hover span{
    color: #999;
}
.series_link:hover .series_title{
    border-color: #999;  
}
.series_link:hover img{
    padding-left: 30px;
    
}
.series_right li:nth-child(2),
.series_right li:nth-child(3) {
    padding-right: 15px;
}

@media only screen and (min-width: 2000px) {
.series_title h1{
    font-size: 50px;
    line-height: 1;
}
.series_bg {
    background-size: 100%;
}
.series_title ul{
    padding: 50px;
}
}

@media only screen and (max-width: 1000px) {
.series_title h1{
    font-size: 50px;
    line-height: 1;
}
}
@media only screen and (max-width: 768px) {
.series_bg {
    display: none;
}
.series_bg,.series_right {
    display: block;
    height: auto;
    width: 100%;
}
.series_title {
    padding: 20px;
}
.series_title ul {
    padding-right: 0px;
    font-size: 15px;
}
.series_icon {
    padding-bottom: 15px;
}
}
/*--------------------------------------------------------------
# ホイールリスト
--------------------------------------------------------------*/
.wheel_list {
    background-color: #fff;
    padding-top: 100px;
}
.wheel_list h1 {
    padding-top: 50px;
    text-align: center;
    color: #111;
    font-size: 30px;
}



/*--------------------------------------------------------------
# 一覧ページフィルター
--------------------------------------------------------------*/
.filter-button-group {
    max-width: 1000px;
    margin: 20px auto 0px;
    display: table;
    overflow: hidden;
}
.filter-button-group {
    padding-bottom: 50px;
}
.filter-button-group li{
    display: table-cell;
    padding: 0 5px;
}

.filter-button-group button{
    color: #111;
}
.element-item {
  position: relative;
  float: left;
  width: 25%;
  height: 350px;
  color: #262524;
  text-align: center;
}
.grid {
    margin-bottom: 100px;
    overflow: hidden;
}
.element-item .circle_overlay,
.top_latest_wheel .circle_overlay {
    width: 300px;
	height: 300px;
	position: absolute;
	top:50%;
	left:50%;
    margin-top: -150px;
    margin-left: -150px;
    
}
.circle_overlay .wheel_title_pc {
    font-size: 16px;
    width: 200px;
    text-align: center;
    margin-left: -100px;
    margin-top: -1em;
    line-height: 1;
}
.pagenation_link{
    display: table;
    max-width: 1000px;
    margin: 0 auto;
    padding-top: 30px;
}
.pagenation_link li {
    display: table-cell;
    font-size: 18px;
}

@media only screen and (min-width: 2000px) {
.element-item {
  width: 20%;
  height: 350px;
    margin-bottom: 100px;
}
.grid {
    padding: 0 100px;
}
}

@media only screen and (max-width: 1200px) {
.element-item {
  width: 33.3%;
  height: 350px;
}

}
@media only screen and (min-width: 1028px) {
.wheel_title_sp {
  display: none;
}
}

@media only screen and (max-width: 1000px) {
.element-item {
  height: 350px;
}
.wheel_title_sp {
  display: block;
    text-align: center;
    color: #111;
    font-size: 15px;
}
.wheel_title_sp:hover {
  color: #111;
}

.filter-button-group li{
    display: block;
    width: 50%;
    float: left;
    padding:5px;
}
.filter-button-group li button{
    display: block;
    width: 100%;
}
main .circle_overlay {
    display: none;
}
.pagenation_link li {
    display: block;
}
.wheel_list h1 {
    padding-top: 0;
}
main .circle_overlay {
    display: none;
}
}
@media only screen and (max-width: 640px) {
.element-item {
     width: 50%;
  height: 400px;
}

}
@media only screen and (max-width: 566px) {
.element-item {
  height: 330px;
}

main .circle_overlay {
    display: none;
}
}
@media only screen and (max-width: 458px) {
.element-item {
  height: 300px;
}

main .circle_overlay {
    display: none;
}
}

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

詳細ページ

-----------------------------------------*******/
.wheel_detail {
    background-color: #444;;
    padding-top: 50px;
}
.single header {
    background-color: rgb(0, 0, 0);
}
.wheel_main_image {
    background-color: #fff;
    padding-top: 70px;
    padding-bottom: 50px;
    /**padding: 0 100px 50px!important;**/
}
.fotorama_container {
    max-width: 63%;
    margin: 0 auto;
}
fullscreen .fotorama__nav, .fotorama--fullscreen .fotorama__stage,.fotorama--fullscreen,
.fotorama--fullscreen .fotorama__nav, .fotorama--fullscreen .fotorama__stage {
    background: #fff !important;
}
.fotorama__caption {
    text-align: right !important;
}

.fotorama__caption__wrap {
    font-family:"Noto Sans JP", sans-serif !important;
}
.info_upper_part {
    background-color: #444;
}

.detail_info h1 {
    font-size: 80px;
    text-align: right;
    line-height: 1;
}
.kana {
    font-size: 14px;
    display: block;
    text-align: right;
    padding-bottom: 50px;
}
.wheel_category {
    font-size: 18px;
}
li.wheel_info{
    display: table;
    border-bottom: 1px solid #999;
    width: 100%;
    margin-bottom: 10px;
}
.wheel_info span:first-child {
    font-size: 18px;
    display: table-cell;
    font-size: 13px;
    font-family:"Noto Sans JP", sans-serif !important;
}
.wheel_info span:nth-child(2) {
    font-size: 18px;
    display: table-cell;
    text-align: right;
}
.forging_link {
    display: table;
    width: 100%;
}
.forging_link li{
    display: table-cell;
    text-align: right;
}
.forging_link li:first-child{
    text-align: left;
}
.about_forging_link {
    background: url("/wp-content/themes/first/images/wheel_icon.png") no-repeat left center;
    display: block;
    padding: 35px;
}
.forging_link a{
    font-size: 16px;
}
.available_forging .col-sm-3 {
    float: right;
    padding: 5px;
}
.available_forging_title span:nth-child(2) a{
    font-size: 16px;
    font-weight: bold;
    background-color: #555;
    color: #fff;
    display: inline-block;
    padding: 5px;
}



.info_upper_part {
    padding: 100px 40px 80px;
}

.detail_info_bottom {
    padding-top: 40px;
}
.detail_info_btn {
    margin-top: 50px;
}
.detail_info_btn a{
    display: block;
    padding: 20px;
    border: 1px solid #fff;
    text-align: center;
    font-size: 15px;
}
.detail_info_btn a:first-child{
    margin:20px 0 30px;
} 
.detail_gallery h2{
    padding-left: 10px;
}
.detail_gallery_carousel {
    padding: 20px 10px 0 10px;
}
.detail_gallery_sub {
    width:150px;
    margin-left: -75px;
    text-align: center;
    margin-top: -1em;
    font-size: 14px;
}
.detail_related {
    height: 240px;
}
.related_item {
    background-color: #fff;
    height: 240px;
}
.related_item h2 {
    text-align: right;
    padding-right: 10px;
    color: #444;
}
.related_item .circle_overlay {
    width: 130px;
    height: 130px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -65px;
    margin-left: -65px;
}
.swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: 0px;
}
.swiper-pagination-bullet-active {
    opacity: 1;
    background: #444;
}
.related_item .swiper-wrapper {
    padding-bottom: 20px;
}
.related_wheel_sub {
    width: 150px;
    margin-left: -75px;
    margin-top: -1em;
    text-align: center;
    font-size: 13px;
    line-height: 1;
}
.related_wheel_sub strong{
    font-size: 12px;
}


@media only screen and (min-width: 1681px) {


.wheel_main_image {
    background-color: #fff;
    padding-top: 50px;
    /**padding: 0 100px 50px!important;**/
}
}

@media only screen and (min-width: 2000px) {

.wheel_main_image {
    padding-top: 150px;
    min-height: 1080px !important;
}
.fotorama_container {
    width: 100%;
    margin: 0 auto;
}
.info_upper_part {
    padding: 150px 150px 80px;
}
.detail_info h1 {
    font-size: 85px;
}
.wheel_info span:nth-child(2) {
    font-size: 25px;
}
.wheel_info span:first-child {
    font-size: 20px;
}
.detail_info_btn {
    margin-top: 100px;
}
.kana {
    font-size: 18px;
    padding-bottom: 100px;
}
.detail_info_btn a {
    font-size: 20px;
}
.detail_related {
    height: 330px;
}
.related_item {
    height: 330px;
}
.related_item h2 {
    padding-bottom: 50px;
}
}

@media only screen and (max-width: 1600px) {
.wheel_detail_content,
.wheel_main_image,
.detail_info {
    height: 850px;
}
.detail_info h1 {
    font-size: 65px;
}
}
@media (min-width: 958px) and (max-width: 1200px) {
    .detail_info_btn a {
    padding: 10px;
    font-size: 12px;
}
.detail_info h1 {
    font-size: 55px;
}
}

@media only screen and (max-width: 1000px) {
.wheel_detail_content,
.wheel_main_image,
.detail_info,
.detail_related,
.related_item  {
    height: auto;
}
.wheel_detail .col-sm-8,
.wheel_detail .col-sm-4 {
    width: 100%;
}
.fotorama_container {
    max-width: 80%;
}
}
@media only screen and (max-width: 758px) {

.wheel_main_image {
    padding-top: 40px;
    padding-bottom: 40px;
}
.fotorama_container {
    max-width: 90%;
}
.info_upper_part {
    padding: 40px 20px 40px;
}
.info_upper_part h1{
    font-size: 40px;
}
.available_forging .col-sm-3 {
    float: right;
    padding: 15px;
}
.available_forging_title span:nth-child(2) a{
    font-size: 14px;
}
}

.scroll_down {
    position: absolute;
    left: 50%;
    margin-left: -38px;
    display: inline-block;
    z-index: 100;
-moz-animation: anime1 2s ease -2s infinite alternate;
-webkit-animation: anime1 2s ease -2s infinite alternate;
-o-animation: anime1 2s ease -2s infinite alternate;
-ms-animation: anime1 2s ease -2s infinite alternate;
}


@-moz-keyframes anime1 {
0% {bottom: 40px;opacity: 1;}
50% {bottom: 45px;opacity: 0;}
100% {bottom: 50px;opacity: 1;}
}

@-webkit-keyframes anime1 {
0% {bottom: 40px;opacity: 1;}
50% {bottom: 45px;opacity: 0;}
100% {bottom: 50px;opacity: 1;}
}

@-o-keyframes anime1 {
0% {bottom: 40px;opacity: 1;}
50% {bottom: 45px;opacity: 0;}
100% {bottom: 50px;opacity: 1;}
}

@-ms-keyframes anime1 {
0% {bottom: 40px;opacity: 1;}
50% {bottom: 45px;opacity: 0;}
100% {bottom: 50px;opacity: 1;}
}


.previous_item_wrapper {
    position: fixed;
    top: 50%;
    left: 0;
    height: 100px;
    margin-top: -50px;
    z-index: 10000;
    
}
.next_item_wrapper {
    position: fixed;
    top: 50%;
    right: 0;
   
    margin-top: -50px;
    height: 100px;
    z-index: 10000;
}


.next_item {
    display: table-cell;
    vertical-align: middle;
    height: 100px; 
    
    text-align: right;
}
.previous_item {
    display: table-cell;
    vertical-align: middle;
    height: 100px; 
   
    text-align: left;
}

.previous_item .mask {
	position:		fixed;
	top:			50%;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	-webkit-transition:	all 0.6s ease;
	transition:		all 0.6s ease;
    background-color: #000;
    margin-top: -60px;
    max-width: 200px;
    
}
.next_item .mask {
	position:		fixed;
	top:			50%;
	right:			0;
	opacity:		0;	/* マスクを表示しない */
    background-color: #000;
	-webkit-transition:	all 0.6s ease;
	transition:		all 0.6s ease;
    margin-top: -60px;
    max-width: 200px;
    
}
.previous_item_wrapper:hover .mask {
	opacity:		1;	/* マスクを表示する */
	padding-left: 30px;	/* 右にずらす */
}
.next_item_wrapper:hover .mask {
	opacity:		1;	/* マスクを表示する */
	padding-right:30px;	/* 右にずらす */
}
.next_item .mask a,
.previous_item .mask a{
    text-align: center;
    display: block;
    font-size: 12px;
    padding: 10px;
}

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

.related_item ul.contact_btn li a {
    max-width: 500px;
    margin: 0 auto 20px;
}
.scroll_down {
        display: none;
}
.previous_item_wrapper,
.next_item_wrapper {
    display: none;
}
}


/***********fancybox***********/

.fancybox-lock .fancybox-overlay:hover {
    cursor: url("/wp-content/themes/first/images/close_cross.png"),url("/wp-content/themes/first/images/close_cross.cur"), pointer  !important;
}
.fancybox-inner:hover {
    cursor: default;
}
.fancybox-prev:hover {
    cursor: url("/wp-content/themes/first/images/arrow_left.png"),url("/wp-content/themes/first/images/arrow_left.cur"), pointer  !important;
}
.fancybox-next:hover {
    cursor: url("/wp-content/themes/first/images/arrow_right.png"),url("/wp-content/themes/first/images/arrow_right.cur"), pointer  !important;
}
.spritespin-canvas {
    cursor: url("/wp-content/themes/first/images/cursor360.png"),url("/wp-content/themes/first/images/cursor360.cur"), e-resize  !important;
}

/***
.owl-carousel {
    position: relative;
}
.related-entry-title {
    text-align: center;
}
.related-entry-content p {
    text-align: center;
}
.related-entry-content p a{
    color: #fff;
}
***/
.owl-prev {
    position: absolute;
    left: 25px;
    top: 50%;
    margin-top: -20px;
    background:transparent url("/wp-content/themes/first/images/arrow_left.png") no-repeat center center !important;
    height: 39px;
    width: 20px;
}
.owl-next {
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -20px;
    background:transparent url("/wp-content/themes/first/images/arrow_right.png") no-repeat center center !important;
    height: 39px;
    width: 20px;
}

@media only screen and (max-width: 768px) {
.owl-prev {
    left: 0px;
}
.owl-next {
    right: 0px;
}
p.all_line_up {
    padding: 30px 30px 0;
    text-align: center;
}
p.all_line_up a{
    display: block;
    background-color: #fff;
    padding: 10px 50px;
    max-width: 500px;
    margin: 0 auto;
}
}


/*--------------------------------------------------------------
# ボタンエフェクト
--------------------------------------------------------------*/
.button_hover {
	display: inline-block;
	text-align: center;
	text-decoration: none;
	outline: none;
}
.button_hover::before,
.button_hover::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button_hover,
.button_hover::before,
.button_hover::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.button_hover {
	position: relative;
	z-index: 2;
	background-color: #444;
	border: 2px solid #333;
	color: #fff;
	overflow: hidden;
}
.button_hover:hover {
	color: #111;
}
.button_hover::after {
	top: -100%;
	left: -100%;
	width: 100%;
	height: 100%;
}
.button_hover:hover::after {
	top: 0;
	left: 0;
	background-color: #fff;
}


/*--------------------------------------------------------------
# モーダル360
--------------------------------------------------------------*/

.modalwindow {
-webkit-transform: translate(0, 100%);
-moz-transform: translate(0, 100%);
-o-transform: translate(0, 100%);
-ms-transform: translate(0, 100%);
transform: translate(0, 100%);
-webkit-transform: translate3d(0, 100%, 0);
transform: translate3d(0, 100%, 0);
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 999;
opacity: 0;
line-height: 1.3;
display: none\9;
background-color: rgb(255, 255, 255);
}
.modalwindow:target {
-webkit-transform: translate(0, 0);
-moz-transform: translate(0, 0);
-o-transform: translate(0, 0);
-ms-transform: translate(0, 0);
transform: translate(0, 0);
opacity: 1;
}
.is-active.modalwindow {
display: block\9;
}
.modalwindow:target {
display: block\9;
}
.modalwindow .modalinner {
position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	margin: auto;
	width: 700px;
	height: 467px;
/***top: 50%;
left: 50%;**/
z-index: 20;
/***margin-left: -480px;
margin-top: -320px;**/
overflow-x: hidden;
border-radius: 2px;
background: #fff;

}
.modalwindow .modalclose {
display: block;
text-indent: -100px;
overflow: hidden;
}
.modalwindow .modalclose:before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 10;
cursor: url("/wp-content/themes/first/images/close_cross_black.png"),url("/wp-content/themes/first/images/close_cross_black.cur"), move  !important;
}

/****
.modalwindow .modalclose:after {
content: '\00d7';
position: absolute;
top: 50%;
left: 50%;
z-index: 20;
margin-left: -480px;
margin-top: -340px;
background: #fff;
border-radius: 2px;
padding: 2px 8px;
font-size: 1.2em;
text-decoration: none;
text-indent: 0;
}
****/
.modalwindow {
-webkit-transition: opacity 0.4s;
-o-transition: opacity 0.4s;
transition: opacity 0.8s;
}
section.modalwindow:hover {
    
}
.close_modal {
    position: absolute;
    color: #333;
    z-index: 10;
    right: 0;
}

/*--------------------------------------------------------------
# 360度
--------------------------------------------------------------*/
#mySpriteSpin:hover {
    cursor: e-resize;
}

@media only screen and (max-width: 758px) {
.spritespin, .spritespin-instance {
  width:450px !important;
  height:450px !important;

}
}
@media only screen and (max-width: 458px) {
.spritespin, .spritespin-instance {
  width:350px !important;
  height:350px !important;

}
}

/*--------------------------------------------------------------
# ギャラリーアーカイブ
--------------------------------------------------------------*/
.searchandfilter {
    font-size: 13px;
    text-align: center;
    padding: 50px 0;
}
.searchandfilter input[type="submit"] {
    font-size: 12px;
}
.gallery_list h1 {
    text-align: center;
    font-size: 30px;
}
.gallery_list h1 ul li:nth-child(2){
    display: none;
}
.gallery_list .col-sm-3 {
    padding: 10px;
}
.gallery_list {
    /*padding: 150px 0;*/
}
.gallery_list .col-sm-3:nth-child(4n + 1){
    clear: both;
}
.gallery_link_category {
    /*border-top: 1px solid #fff;*/
    
}

.gallery_list_link{
    color:#333;
}

.gallery_list_link:hover{
    opacity:0.8;
    transition-duration: 0.3s;
    color:#333;
}

.gallery_list_link ul {
    /*position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    margin-left: -50%;
    margin-top: -2em;*/
    padding: 5px 5px;
    height:60px;
}
.gallery_list_link ul li{
    /*text-align: center;*/
    font-size: 16px;
}

.gallery_font{
    font-style:italic;
    line-height:1.2;
    font-weight:bold;
}

.gallery_font2{
    font-weight:bold;
    margin-bottom:40px;
    text-align: center;
    /*background: rgba(60,30,0,0.8);*/
    padding: 10px;
}

@media only screen and (min-width: 2000px) {
.gallery_list img {
    width: 100%;
}
}

@media only screen and (max-width: 758px) {
.gallery_list .col-xs-6:nth-child(2n + 1) {
    clear: both;
}
.gallery_list .col-sm-3 {
    padding: 3px;
}

}
@media only screen and (max-width: 700px) {
.gallery_list {
    padding: 100px 0;
}

}

/*--------------------------------------------------------------
# ギャラリー
--------------------------------------------------------------*/

.gallery {
    padding-top: 90px;
}
.gallery_title {
    background-color: #222;
}
.gallery .col-sm-6 img {
    width: 100%;
}
.gallery_images h1 {
    text-align: center;
    /*background-color: #fff;*/
    color: #fff;
    padding: 50px 0;
    font-size: 40px;
}

.galleryArea{
    background-image: url("/wp-content/themes/first/images/bg_gallery.jpg");
}

.galleryContent{
    margin: 0 auto;
    max-width: 1200px;
    padding:60px 0;
}

/***
.gallery_title_box {
    height: 100%;
}
.gallery h1 {
    padding-top: 30px;
    font-size: 40px;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 2em;
    margin-left: -50%;
    margin-top: -1em;
    text-align: center;
}
***/
.row.single_gallery_img {
    padding: 5px;
}

.single_gallery_img img{
    width:100%;
    height:250px;
    object-fit:cover;
}

.gallery_images .hover_overlay img {
    width: 80px;
}
.gallery_wheel_link {
    background-color: #fff;
    text-align: center;
    padding: 50px 0;
}
.gallery_wheel_inner {
    max-width: 650px;
    margin: 0 auto;
}
.galley_link{
    display: table;
    width: 100%;
}
.galley_link_left,.galley_link_right{
    display: table-cell;
    vertical-align: middle;
    text-align: right;
    width: 50%;
}
.galley_link_right{
    padding:0 20px 10px;
}
.galley_link_right h3{
    color: #111;
    font-size: 60px;
    line-height: 1;
    margin: 0;
    padding: 0;
}
.galley_wheel_title span{
    display: block;
    text-align: right;
}
.gallery_wheel_link a{
    color: #111;
    transition: 0.5s;
}
.gallery_wheel_link a:hover{
    color: #555;
}
.galley_wheel_cat span {
    display: block;
    border-bottom: 1px solid #ccc;
    color: #222;
    margin-bottom: 5px;
}
.galley_wheel_cat {
    padding-top: 30px;
}

.gallery_related h2 {
    background-color: #777;
    height: 30px;
    padding-right:0;
}
.gallery_related h2 span{
    font-size: 30px;
    display: inline-block;
    color: #fff;
    line-height: 1;
    padding: 1px 20px 1px 10px;
    
}
.related_item.gallery_related {
        height: 250px;
        background-color: #222;
}
.gallery_related .owl-item {
    margin-right: 0px !important;
}
@media only screen and (min-width: 1981px) {
.gallery_images h1 {
    padding: 80px 0;
    font-size: 60px;
}
    .related_item.gallery_related {
        height: 400px;
        background-color: #222;
    }
}

@media only screen and (max-width: 758px) {
.gallery {
    padding-top: 60px;
}
.gallery_images h1 {
    text-align: center;
    background-color: #fff;
    color: #222;
    padding: 20px 0;
    font-size: 28px;
}
    
}

@media only screen and (max-width: 458px) {
.galley_wheel_title h3{
    font-size: 25px;
}


}

/*--------------------------------------------------------------
# ホイールギャラリー
--------------------------------------------------------------*/
.wheel_gallery_info {
    
}
.wheel_gallery_info li {
    font-size: 14px;
    padding: 5px;
}
.wheel_gallery ul a{
    color: #fff;
}
/*--------------------------------------------------------------
# ビデオ
--------------------------------------------------------------*/
.video {
    padding: 150px 0;
}
.video h1{
    font-weight: normal;
    text-align: center;
    margin-bottom: 100px;
    font-size: 30px;
}
.video_list.col-sm-3 {
    padding: 15px;
}
.video_list_box {
    background-size: cover !important;
    min-height: 160px;
}
.video_list_box:hover {
    opacity:0.9;
}

.video_archive_title {
    position: relative;
    /*top: 50%;*/
    left: 50%;
    width: 100%;
    margin-left: -50%;
    /*margin-top: -9px;*/

    /*text-align: center;*/
    /*font-size: 19px;*/
    font-weight: normal;
    height:40px;
}
.video_archive_link {
    display: block;
}

/*
.video_archive_link:hover .video_archive_title{
    display: none;
}
*/
@media only screen and (min-width: 1981px) {
.video_list_box {
    background-size: cover !important;
    min-height: 250px;
}
}
/*--------------------------------------------------------------
# ページ基本
--------------------------------------------------------------*/
main.page {
    padding-top: 100px;
}



/*--------------------------------------------------------------
# 店舗リスト
--------------------------------------------------------------*/


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

}


/*--------------------------------------------------------------
# ニュース一覧
--------------------------------------------------------------*/
.col-sm-9.news_list {
    padding: 100px 50px 100px 100px;
}
.news_list h1{
    padding-bottom: 50px;
}
.news_list_content {
    margin-bottom: 50px;
    border-bottom: 1px solid #555;
    padding-bottom: 50px;
}
.news_list_content li {
    font-size: 13px;
}
.news_list_content li.news_excerpt {
    font-size: 16px;
}
.news_list_content li img{
    text-align: center;
}

.newsListBox{
    padding:20px !important;
}

li.news_list_title {
    padding-top: 20px;
    font-size: 20px;
}
.news_list_content .col-sm-5{
    padding-left: 20px;
}

.news_list_cat {
    padding: 100px 0;
}

.news_list_cat .col-sm-3 {
    padding:15px;
}

@media only screen and (max-width: 1024px) {
.news_list_content .col-sm-7,.news_list_content .col-sm-5{
    width: 100%;
}
.news_list_content .col-sm-5{
    padding: 20px;
}
}
@media only screen and (max-width: 768px) {
    .newsListBox{
        padding:0 !important;
    }
    
.col-sm-9.news_list {
    padding: 100px 20px;
}
.news_list_cat .inner {
    width: 100%;
}
.single-news aside, .post-type-archive-news aside{
    display: none;
}
}

    
/*--------------------------------------------------------------
# ニュース
--------------------------------------------------------------*/

.col-sm-9.news_page {
    padding:150px 0 100px 100px;
}
.news_gallery .col-sm-6:nth-child(2n + 1) {
    clear: both;
}
.news_text {
    font-size: 15px;
    padding: 20px 0;
}

@media only screen and (max-width: 768px) {
.col-sm-9.news_page {
    padding: 100px 20px;
}
}

.news_content{
    margin:0 0 70px;
}

.newsDetailBox01{
    padding:0 20px 20px !important;
}

.newsDetailBox01 h2{
    font-size:20px;
}

.newsDetailBox01 .post_info{
    font-size:14px;
}

.newsDetailBox02 p{
    margin:0;
}


/*--------------------------------------------------------------
# サイド
--------------------------------------------------------------*/
aside {
    padding: 100px 20px 0!important;
    background-color: #000;
}
aside h2 {
    font-family: impact;
    font-size: 15px;
    font-weight: normal;
    font-style: oblique;
    border-bottom: 1px solid #fff;
    margin-bottom: 20px;
    display: table;
    width: 100%;
    padding-top: 35px;
}
aside h2 span:first-child {
    display: table-cell;
    width: 60%;
}
aside h2 span:nth-child(2) {
    font-size: 11px;
    display: table-cell;
    width: 40%;
    text-align: right;
}
.woocommerce ul.product_list_widget li {
    border-bottom: 1px dotted #bababa;
    padding:8px 0;
}
.woocommerce ul.product_list_widget .woocommerce-Price-amount{
    display: block;
    font-size: 14px;
    padding-right: 10px;
    padding-top: 10px;
}
.woocommerce ul.product_list_widget li img {
    width: 16.777%;
    float: right;
}
.woocommerce ul.product_list_widge .product-title {
    float: left;
    display: block;
    width: 83.333%;
}
@media only screen and (max-width: 768px) {
aside {
    padding: 15px !important;
}
}


/*--------------------------------------------------------------
# 会社概要
--------------------------------------------------------------*/
body.company {
    background-image:
        url("/wp-content/themes/first/images/manhattan2.jpg");
    background-repeat:no-repeat;
    background-position:center center;
    background-size:cover;
    background-attachment:fixed;
}
body.company main.inner{
    padding:100px 15px 200px;
}
body.company table {
    /*font-size: 14px;*/
    background-color: rgba(0, 0, 0, 0.31);
}
body.company table th{
    border: 1px solid #666;
    padding: 20px;
    background-color: #222;
}

body.company table td{
    border: 1px solid #666;
    padding: 20px;
}


/*--------------------------------------------------------------
# ぱんくずりすと
--------------------------------------------------------------*/

#breadcrumbs {
    position: absolute;
    top: 150px;
    left: 20px;
    color: #aaa;
    z-index: 10000;
}

#breadcrumbs a{
    color: #aaa;
}
.woocommerce #breadcrumbs{
    display: none;
}
.single-gallery #breadcrumbs {
    display: none;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
  ::i-block-chrome, body.archive-news #breadcrumbs  {
    display: none;
  }
}


@media only screen and (max-width: 1000px) {
    #breadcrumbs {
    margin: 0;
    max-width: 300px;
    color: #ddd;
}
#breadcrumbs a{
    color: #ddd;
}
.home #breadcrumbs{
    display: none;
}
}


/*--------------------------------------------------------------
# 商品ページ
--------------------------------------------------------------*/
.single-product {
}
.product_container {
    background-color: #fff;
}
.product_content #container {
    width: 100% !important;
}
.product_container .product_content {
    padding: 100px 50px 100px;
    color: #000;
}
.product_container .widget-area {
    background-color: #000;
    padding-top: 50px;
}

.woocommerce-tabs {
    display: none;
}
.single-product .related{
    padding-top: 150px;
}
.single-product .related h2 {
    border-bottom: 1px solid #333;
    font-size: 14px;
    margin-bottom: 20px;
}
.single-product .related h3,
.single-product .related .price {
    display: none !important;
}
.entry-summary p{
    font-size: 14px;
}
.entry-summary .price .amount{
    font-size: 20px;
}
.dvin_wcql_btn_wrap button {
    font-size: 13px !important;
}
.woocommerce .quantity .qty {
    font-size: 12px;
}
.product_meta a {
    color: #111;
}
.product_meta a:hover {
    color: #333;
}
.pp_pic_holder div.ppt {
    display: none !important;
}
@media only screen and (max-width: 768px) {
.product_container .product_content {
    padding: 70px 15px;
}
}
/*--------------------------------------------------------------
# 商品リスト
--------------------------------------------------------------*/
.woocommerce-page footer{
    clear: both;
}
.woocommerce-page {
    background-color: #fff;
}

.woocommerce #container {
    width: 75%;
    float: left;
    background-color: #fff;
}
.post-type-archive-product h1,
.tax-product_cat h1 {
    font-family: impact, "Noto Sans JP", sans-serif ;
}
.post-type-archive-product h3,
.tax-product_cat h3 {
    color: #111;
    font-size: 14px !important;
    border-bottom: 1px solid #9b9b9b;
}
.post-type-archive-product .price,
.tax-product_cat .price{
    padding-top: 5px;
    font-size: 14px !important;
    text-align: right;
}
.post-type-archive-product #container,
.tax-product_cat #container{
    padding:100px;
    background-color: #fff;
}
.page-title {
    color: #111;
}
.page-description {
    display: none;
}
.widget_product_categories li.cat-item a{
    font-size: 13px;
}
.widget_product_categories li.cat-item {
    padding-bottom: 5px;
}
.page-numbers a {
    color: #222;
}
.woocommerce-Price-amount {
    padding: 0px 0px;
    display: inline-block;
}
.post-type-archive-product .price, .tax-product_cat .price {
    text-align: left;
}
@media only screen and (max-width: 768px) {
.woocommerce #container {
    width: 100%;
    float: none;
}
.post-type-archive-product #container, .tax-product_cat #container {
    padding:70px 10px;
}
}

/*--------------------------------------------------------------
# お問い合わせフォーム
--------------------------------------------------------------*/
.grandtotalpricecell {
    text-align: left;
}

input.wpcf7-acceptance {
    width: auto !important;
}
.acceptance_txt {
    font-size: 14px;
    padding-left: 10px;
}
.acceptance_outer {
    padding: 10px 0;
}
input.wpcf7-acceptance[type=checkbox] {
	-moz-transform:		scale(1.3);
	-webkit-transform:	scale(1.3);
	transform:		scale(1.3);
}
/*--------------------------------------------------------------
# カート
--------------------------------------------------------------*/
.quotelist {
    background-color: #fff;
}
.quotelist h1 {
    max-width: 1000px;
    margin: 10px auto 0;
    font-size: 20px;
}
.quotelist main{
    color: #111 !important;
    font-size: 14px;
}
.quotelist main a{
    color: #111 !important;
}
.woocommerce-cart {
    max-width: 1000px;
    margin: 0 auto;
}
.wpcf7-form input {
    width: 100%;
}
.wpcf7-form td {
    padding-right: 10px;
    padding-bottom: 10px;
}
.quotelist-added-icon {
    background-color: #f56363;
    padding: 6px;
    display: inline-block;
    margin-bottom: 10px;
    font-size: 13px;
}
.quotelist-remove-icon {
    background-color: #67a5d9;
    padding: 6px;
    display: inline-block;
    font-size: 13px;
}

.woocommerce ul.cart_list .quantity {
    display: inline-block;
}

.wpcf7-form .select_payment input {
    width: auto !important;
}
.shipping_info td {
    font-size: 13px;
}
@media only screen and (max-width: 758px) {
.quotelist main {
    padding: 80px 15px 50px;
}
.woocommerce table.shop_table_responsive tr td:before, .woocommerce-page table.shop_table_responsive tr td:before {
    content: attr(data-title) "";
}
.grandqtynumcell {
    border-top: none !important;
    padding-top: 20px !important;
}
}
/*--------------------------------------------------------------
# フォージング一覧
--------------------------------------------------------------*/
.forging_list {
    background-color: #fff;
    padding-top: 200px;
    
    padding-bottom: 100px;
}
.forging_list h1,
.forging_list a,
.forging_list p{
    color: #111;
    text-align: center;
}
.forging_list h1 {
    font-size: 40px;
}
.forging_list p{
    font-size: 20px;
}
.forging_list h2{
    font-size: 16px;
    font-weight: normal;
}
.forging_list a:hover{
    color: #666;
}
.forging_list a:hover img{
    opacity: 0.7;
}
.forging_list .swiper-wrapper {
    padding-bottom: 50px;
}
@media only screen and (min-width: 2000px) {
.forging_list {
    padding-top: 250px;
    padding-bottom: 150px;
}
}
@media only screen and (min-width: 758px) {
.forging_list .swiper-pagination{
    display: none;
}
}
@media only screen and (max-width: 758px) {
.forging_list {
    padding-top: 150px;
    height:inherit;
    padding-bottom: 50px;
}
}
/*--------------------------------------------------------------
# フォージング
--------------------------------------------------------------*/
main.forging {
    padding-top: 120px;
    background-color: #fff;
    padding-bottom: 100px;
}
main.forging h1{
    color: #333;
    text-align: center;
    font-size: 40px;
    border-bottom: 1px solid #ccc;
}    
#mySpriteSpin {
    margin: 0 auto;
}
.related_forging_title {
    color: #111;
    font-size: 20px;
}
section.related_forging {
    border-top: 1px solid #ccc;
}
.related_forging {
    text-align: center;
}

/*--------------------------------------------------------------
# お問い合わせ
--------------------------------------------------------------*/
.wheel_form {
    padding: 50px;
}
.wheel_form .col-sm-5 {
    padding: 0 50px;
}
.contact_form input {
    max-width: 250px;
    font-size: 13px;
}
.contact_form textarea {
    font-size: 13px;
}
input.wpcf7-submit {
    margin-top: 10px;
    margin: 10px auto 0;
    font-size: 14px;
}
.contact_form dt {
    font-size: 14px;
    padding: 5px 0 2px;
}
.send_quote {
    max-width: 400px;
    margin: 0 auto;
}

.send_quote input {
    font-size: 14px;
    padding: 10px;
}
.line_contact_txt {
    font-size: 15px;
}
.line_contact_txt.show_sp {
    display: none;
}
.contact_dealer_txt {
    font-size: 14px;
    padding-top: 30px;
}
.contact_dealer_txt a{
    display: inline-block;
    padding-top: 20px;
    font-weight: bold;
}
@media only screen and (max-width: 758px) {
.wheel_form {
    padding: 15px;
}
.line_contact_txt.show_sp {
    display: block;
}
.line_contact_txt.show_pc {
    display: none;
}
.wheel_form .col-sm-5 {
    padding: 0;
}
}
/*--------------------------------------------------------------
# ディーラー
--------------------------------------------------------------*/
body.dealer .inner {
    padding-top: 200px;
    margin: 0 auto !important
}
body.dealer h1 {
    text-align: center;
    font-size: 30px;
    padding-bottom: 30px;
}
body.dealer h2 {
    font-size: 19px;
    padding-bottom: 10px;
}
body.dealer th {
    border: 1px solid #666;
    text-align: left;
    background-color: #333;
    padding: 10px 15px;
    font-size: 16px;
}
body.dealer td {
    border: 1px solid #666;
    text-align: left;
    padding: 15px;
    font-size: 16px;
}
.dealer_table tr th:first-child {
    width: 20%;
}
.dealer_table tr th:nth-child(3) {
    width: 20%;
}
body.dealer .inner{
    padding-bottom: 100px;
}
@media only screen and (max-width: 758px) {
body.dealer .inner{
    width: 100%;
    padding: 100px 10px;
}
body.dealer th {
    padding: 5px;
    font-size: 12px;
}
body.dealer td {
    padding: 5px;
    font-size: 11px;
}
}
/*--------------------------------------------------------------
# モーダル店舗
--------------------------------------------------------------*/

.modal-content {
    position:relative;
    display:none;
}

.modal-content p {
    margin:0;
    padding:0;
    text-align: right;
}
.modal-overlay {
    z-index:10000;
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:120%;
    background-color:rgba(0, 0, 0, 0.86);
}

.modal-wrap:hover {
    cursor: url("/wp-content/themes/first/images/close_cross.png"),url("/wp-content/themes/first/images/close_cross.cur"),pointer;
}
.modal-content:hover {
    cursor:auto;
}
.modal-wrap {
    z-index:20000;
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    overflow:auto;
}

.modal-open {
    text-decoration:underline;
}

.modal-open:hover {
    cursor:pointer;
}

.modal-close {
    color:#fff;
    text-decoration:underline;
    display: block;
    text-align: right;
    font-size: 15px;
}

.modal-close:hover {
    cursor:pointer;
}


.modal-content{
    left:50% !important;
    top: 100px !important;
    max-width: 600px !important;
    margin-left: -300px;
}

@media all and (-ms-high-contrast:none){
.modal-content{
    left:50% !important;
    max-width: 600px !important;
}
}
/**
@media screen and (min-width: 1000px) and (max-device-width: 1380px) {
.modal-content{
    left: 15% !important;
    top: 200px !important;
    max-width: 800px !important;
}
}
**/
@media only screen and (max-width: 1000px) {
.modal-content{
    left: 0% !important;
    top: 100px !important;
    width: 100%;
    margin: 0;
}
}

@media only screen and (max-width: 700px) {
.modal-content {
    padding: 15px;
}

}




/* stock_carContent */

.stock_carContent{
    margin:auto;
    width:1200px;
    

}

.stock_carContent .stock_list{
    padding:10px;
}

.stock_carImage{
    overflow: hidden;
}

.stock_carContent .stock_list img:hover{
    transform:scale(1.1);
    transition-duration:0.3s;
}

.stock_carContent .stock_carName{
    height:60px;
    padding:5px 0;
}

.stock_carContent .car_photoBox{
    padding:0 20px;
}

.stock_carContent .car_infoBox{
    padding:0 20px;
}

.stock_carContent .car_infoBox h2{
    margin:0 0 10px;
}






.stock_info03{
    border-top:1px solid #fff;
    border-bottom:1px solid #fff;    
    width:100%;
    padding:10px 0;
    display:inline-block;
}

.stock_info03 dl{
    margin:0;
    display:inline-block;
    text-align:center;
}

.stock_info03 dt{
    clear:both;
    font-size:14px;
}

.stock_info03 dd{
    clear:both;
    font-size:18px;
    padding:5px 0 0;
}

.stock_info03 dd .info_s{
    font-size:12px;
}


.stock_info04{
    margin:10px 0 0;
}

.stock_info04 dl{
    margin:0;
    display:inline-block;
    text-align:center;
}

.stock_info04 dt{
    clear:both;
    font-size:14px;
}

.stock_info04 dd{
    clear:both;
    /*font-weight:bold;*/
    padding:56px 0 0;
    height:150px;
    line-height:0.8;
    color:#333;
    background: url("/wp-content/themes/first/images/bnr_meter.png") no-repeat center;

}

.stock_info04 dd .counter,
.stock_info04 dd .counter2,
.stock_info04 dd .counter3{
    font-size:46px;
    font-family:impact,'Anton', sans-serif;
}

.stock_info04 dd span{
    font-size:12px;
}



@media only screen and (max-width: 1200px) {
    .top_stockBox4{
        width:100%;
    }
}

@media only screen and (max-width: 1024px) {
    .stock_info04 dd{
        
    }
    
    .stock_info04 dd .counter,
    .stock_info04 dd .counter2,
    .stock_info04 dd .counter3{
        font-size:46px;
    }
}

@media only screen and (max-width: 768px) {
    .stock_info04 dd{
        background-size: 120px 120px;
        padding:60px 0 0;
    }
    
    .stock_info04 dd .counter,
    .stock_info04 dd .counter2,
    .stock_info04 dd .counter3{
        font-size:40px;
    }
}

@media only screen and (max-width: 640px) {
    .stock_info04 dd{
        background-size: 110px 110px;
    }
    
    .stock_info04 dd .counter,
    .stock_info04 dd .counter2,
    .stock_info04 dd .counter3{
        font-size:34px;
    }
}






.stock_contact{
    margin:0 auto;
    display: grid;
    width:70%;
    padding:20px 0 0;
}

.stock_contact a{
    background:#ee7d20;
    padding:20px 0;
    transform:skewX(-20deg);
    text-align:center;
    transition: all .3s ease;
}

.stock_contact a:hover{
    background:#c45104;
}


.specArea{
    clear:both;
    float:left;
    margin:50px 0 80px;
}

.specArea th{
    line-height:1.4;
    border-bottom:1px dotted #fff;
    padding:10px 5px;
    width:25%;
    background-color:#222;
}

.specArea td{
    line-height:1.4;
    border-bottom:1px dotted #fff;
    padding:10px 15px;
    width:25%;
}

@media only screen and (max-width: 1000px) {
    .stock_carContent{
        width:98%;
    }
    
    .stock_carContent .car_photoBox{
        padding:0 10px;
        width:100%;
        text-align: center;
    }
    
    .stock_carContent .car_photoBox img{
        text-align: center;
    }
    
    .stock_carContent .car_infoBox{
        padding:0 10px;
        width:98%;
    }
    
    .stock_contact{
        clear:both;
        padding:20px 0 0;
    }
    
    .stock_contact a{
        display:block;
    }
}





.companyArea,
.stockArea,
.movieArea,
.aboutArea
.photoArea,
.mclarenArea,
.contactArea,
.newsListArea{
    clear:both;
    /*padding-top:80px;*/
}

.companyArea h1,
.stockArea h1,
.movieArea h1,
.aboutArea h1,
.photoArea h1,
.mclarenArea h1,
.contactArea h1,
.newsListArea h1{
    text-align: center;
    background-attachment:fixed;
    background-position:center top;
    /*height:200px;*/
    padding:60px;
    font-family: "Barlow Semi Condensed", Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-size:60px;
    font-weight:normal;
    /*font-style:oblique;*/
    margin-bottom:50px;
    color: #fff;
}

.companyArea h1{
    background-image:url("/wp-content/themes/first/images/head_company.jpg");
}

.stockArea {
    background-color: #f4f4f4;
    background-image:
        linear-gradient(rgba(244, 244, 244, 0.72), rgba(244, 244, 244, 0.72)),
        url("images/top/bg_top_image01.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    color: #111;
}

.stockDetail h1 {
    position: relative;
    margin: 0 0 50px;
    padding: 90px 20px 70px;
    color: #fff;
    text-align: center;
    background-color: #111;
    background-image: url("/wp-content/themes/first/images/head_stock.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 56px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

.stockDetail .stock_carContent {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto 80px;
    padding: 40px 28px 48px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    color: #333;
    box-sizing: border-box;
}

.stockDetail .car_infoBox,
.stockDetail .car_infoBox h2,
.stockDetail .stock_comment,
.stockDetail .stock_comment p,
.stockDetail .stock_info03,
.stockDetail .stock_info03 dt,
.stockDetail .stock_info03 dd,
.stockDetail .stock_info04 dt,
.stockDetail .specArea td {
    color: #333 !important;
}

.stockDetail .car_infoBox h2 {
    color: #111 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
}

.stockDetail .stock_info03 {
    border-top-color: #ddd;
    border-bottom-color: #ddd;
}

.stockDetail .rentalSpecs {
    gap: 16px;
    margin: 28px 0 8px;
}

.stockDetail .rentalSpecs li {
    width: 124px;
    height: 124px;
    padding: 10px 6px;
    background: #f2f2f2;
}

.stockDetail .rentalSpecLabel,
.stockDetail .rentalSpecUnit {
    font-size: 13px;
}

.stockDetail .rentalSpecValue {
    font-size: 34px;
}

.stockDetail .stockDetailUpper {
    display: flow-root;
    margin-bottom: 64px;
}

.stockDetail .specArea {
    clear: none;
    float: none;
    width: 100%;
    margin: 0;
}

.stockDetail .specArea th {
    /*color: #fff !important;*/
    background-color: #eee;
    border-bottom: 1px solid #ccc;
}

.stockDetail .specArea td {
    background-color: #fff;
    border-bottom: 1px solid #eee;
}

.stockDetail .stock_contact {
    display: block;
    width: auto;
    margin: 28px 0 0;
    padding: 0;
    text-align: center;
}

.stockDetail .stock_contact a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 260px;
    padding: 14px 48px 14px 28px;
    border-radius: 40px;
    background: #ff8900;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    transform: none;
    box-shadow: 0 6px 14px rgba(234, 85, 4, 0.28);
    box-sizing: border-box;
    transition: opacity .2s ease;
}

.stockDetail .stock_contact a:hover {
    background: #ff8900;
    opacity: 0.9;
}

@media only screen and (max-width: 1000px) {
    .stockDetail h1 {
        padding: 70px 16px 50px;
        font-size: 36px;
    }
    .stockDetail .stock_carContent {
        margin-bottom: 40px;
        padding: 24px 16px 32px;
    }
    .stockDetail .car_infoBox h2 {
        font-size: 22px;
    }
    .stockDetail .stockDetailUpper {
        margin-bottom: 40px;
    }
}

@media only screen and (max-width: 600px) {
    .stockDetail .rentalSpecs {
        gap: 8px;
    }
    .stockDetail .rentalSpecs li {
        width: 96px;
        height: 96px;
    }
    .stockDetail .rentalSpecLabel,
    .stockDetail .rentalSpecUnit {
        font-size: 11px;
    }
    .stockDetail .rentalSpecValue {
        font-size: 24px;
    }
}

.rentalArchive {
    background-color: #f4f4f4;
    background-image:
        linear-gradient(rgba(244, 244, 244, 0.72), rgba(244, 244, 244, 0.72)),
        url("images/top/bg_top_image01.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    color: #111;
}

.rentalArchive h1 {
    position: relative;
    margin: 0 0 50px;
    padding: 90px 20px 70px;
    color: #fff;
    text-align: center;
    background-color: #111;
    background-image: url("/wp-content/themes/first/images/head_stock.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 56px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

.rentalArchive .row {
    margin: 0;
}

.rentalArchive .stock_carContent {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    padding: 0 40px 40px;
    box-sizing: border-box;
}

.rentalArchive .stock_list {
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    background: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    box-sizing: border-box;
}

.rentalArchive .stock_carImage {
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: #ddd;
}

.rentalArchive .stock_carImage a,
.rentalArchive .stock_carImage img {
    display: block;
    width: 100%;
    height: 100%;
}

.rentalArchive .stock_carImage img {
    object-fit: cover;
}

.rentalArchive .stock_carName {
    height: auto;
    margin: 0;
    padding: 18px 20px 22px;
    background: #fff;
    list-style: none;
    box-sizing: border-box;
}

.rentalArchive .stock_carName li {
    margin: 0;
    color: #999;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.4;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.rentalArchive .stock_carName .gallery_link_category {
    margin-top: 8px;
    white-space: normal;
    text-overflow: clip;
}

.rentalArchive .stock_carName .gallery_link_category a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    min-height: calc(1.6em * 2);
    color: #333 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0;
    white-space: normal;
}

@media only screen and (max-width: 1100px) {
    .rentalArchive .stock_carContent {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
        padding: 0 16px 40px;
    }
}

@media only screen and (max-width: 1000px) {
    .rentalArchive h1 {
        padding: 70px 16px 50px;
        font-size: 36px;
    }
}

@media only screen and (max-width: 600px) {
    .rentalArchive h1 {
        font-size: 28px;
    }
    .rentalArchive .stock_carContent {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

.movieArea h1{
    position: relative;
    margin: 0;
    padding: 90px 20px 70px;
    background-color: #111;
    background-image: url("/wp-content/themes/first/images/head_movie.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 56px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

.movieArea {
    background-color: #f4f4f4;
    background-image:
        linear-gradient(rgba(244, 244, 244, 0.72), rgba(244, 244, 244, 0.72)),
        url("images/top/bg_top_image01.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    color: #111;
}

.aboutArea h1{
    background-image:url("/wp-content/themes/first/images/head_about.jpg");
}

.photoArea {
    background-color: #f4f4f4;
    background-image:
        linear-gradient(rgba(244, 244, 244, 0.72), rgba(244, 244, 244, 0.72)),
        url("images/top/bg_top_image01.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    color: #111 !important;
}

.photoArea h1{
    position: relative;
    margin: 0;
    padding: 90px 20px 70px;
    color: #fff;
    text-align: center;
    background-color: #111;
    background-image: linear-gradient(rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38)), url("/wp-content/themes/first/images/head_photo.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 56px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

.photoArea .row {
    padding-top: 0;
    padding-bottom: 40px;
    box-sizing: border-box;
}

.photoArea .staffArchiveTabs {
    margin-top: 50px;
    margin-bottom: 50px;
}

.movieArea .staffArchiveTabs {
    margin-top: 50px;
    margin-bottom: 50px;
}

.galleryDetailInner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 70px 20px 90px;
    box-sizing: border-box;
}

.galleryDetailCard {
    margin: 0;
    padding: 36px 40px 40px;
    background-color: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    box-sizing: border-box;
}

.galleryDetailCat {
    margin: 0 0 10px;
    padding: 0;
    color: #ff8900 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 13px;
    font-weight: 700;
}

.galleryDetailCard h2 {
    margin: 0 0 28px;
    padding: 0 0 16px;
    color: #111 !important;
    text-align: left;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    border-bottom: 2px solid #ff8900;
}

.galleryDetailGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.galleryDetailGrid a {
    display: block;
    overflow: hidden;
    background-color: #eee;
}

.galleryDetailGrid img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
    border: none !important;
    outline: none !important;
}

.galleryDetailInner .staffBtn {
    margin-top: 40px;
}

@media only screen and (max-width: 1000px) {
    .galleryDetailInner {
        padding: 40px 16px 60px;
    }
    .galleryDetailCard {
        padding: 24px 18px 28px;
    }
    .galleryDetailCard h2 {
        font-size: 20px;
    }
    .galleryDetailGrid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    .galleryDetailGrid img {
        height: 180px;
    }
}

@media only screen and (max-width: 600px) {
    .galleryDetailGrid {
        grid-template-columns: 1fr;
    }
}

.mclarenArea h1{
    background-image:url("/wp-content/themes/first/images/head_mclaren.jpg");
}

.contactArea h1{
    background-image:url("/wp-content/themes/first/images/head_contact.jpg");
}

.newsListArea {
    background-color: #f4f4f4;
    background-image:
        linear-gradient(rgba(244, 244, 244, 0.72), rgba(244, 244, 244, 0.72)),
        url("images/top/bg_top_image01.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    color: #111;
}

.newsListArea h1 {
    background-image: url("/wp-content/themes/first/images/head_news.jpg");
}

.newsDetailInner {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    padding: 70px 20px 90px;
    box-sizing: border-box;
}

.newsDetailCard {
    margin: 0;
    padding: 36px 40px 40px;
    background-color: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    box-sizing: border-box;
}

.newsDetailCard h2 {
    margin: 0 0 28px;
    padding: 0 0 16px;
    color: #111 !important;
    text-align: left;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    border-bottom: 2px solid #ff8900;
}

.newsDetailPhoto {
    margin: 0 0 24px;
    text-align: center;
}

.newsDetailPhoto img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

.newsDetailDate {
    margin: 0 0 20px;
    padding: 0;
    color: #ff8900 !important;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.newsDetailBody {
    color: #111 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.9;
}

.newsDetailBody p,
.newsDetailBody li {
    color: #111 !important;
}

.newsDetailBody a {
    color: #ea5504 !important;
    text-decoration: underline !important;
}

.newsDetailBody a:hover {
    color: #ff8900 !important;
}

.newsDetailBody img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 16px auto;
}

.newsDetailGallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin: 28px 0 0;
}

.newsDetailGallery img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
}

@media only screen and (max-width: 1000px) {
    .newsDetailInner {
        padding: 40px 16px 60px;
    }
    .newsDetailCard {
        padding: 24px 18px 28px;
    }
    .newsDetailCard h2 {
        font-size: 20px;
        margin-bottom: 20px;
    }
    .newsDetailGallery {
        grid-template-columns: 1fr;
    }
}

.newsArchiveGrid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    padding: 0 40px 40px;
    list-style: none;
    box-sizing: border-box;
}

.newsArchiveGrid .topNewsCard {
    flex: none;
    width: 100%;
}

.newsListArea .pagenation {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 8px 20px 80px;
}

.newsListArea .pagenation a,
.newsListArea .pagenation span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    margin: 0;
    padding: 0 4px;
    border: none;
    border-radius: 50%;
    background-color: #fff;
    color: #111 !important;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    overflow: visible;
    box-sizing: border-box;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.newsListArea .pagenation a:hover {
    background-color: #ff8900;
    color: #fff !important;
    transform: translateY(-1px);
}

.newsListArea .pagenation .current {
    background-color: #ff8900;
    color: #fff !important;
    border: none;
    box-shadow: 0 6px 14px rgba(234, 85, 4, 0.28);
}

.newsListArea .pagenation i {
    font-size: 13px;
}

.newsListArea .pagenation img {
    display: none;
}

@media only screen and (max-width: 1100px) {
    .newsArchiveGrid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        padding: 0 16px 40px;
    }
}

@media only screen and (max-width: 600px) {
    .newsArchiveGrid {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 0 16px 40px;
    }
}


/* companyArea */

.companyArea {
    background-color: #f4f4f4;
    background-image:
        linear-gradient(rgba(244, 244, 244, 0.72), rgba(244, 244, 244, 0.72)),
        url("images/top/bg_top_image01.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    color: #111 !important;
}

.companyArea h1 {
    position: relative;
    margin: 0;
    padding: 90px 20px 70px;
    color: #fff;
    font-size: 56px;
    font-weight: 700;
    letter-spacing: 0.04em;
    background-color: #111;
    background-image: linear-gradient(rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38)), url("/wp-content/themes/first/images/head_company.jpg");
    background-size: cover;
    background-repeat: no-repeat;
}

.companyInner {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    padding: 70px 20px 90px;
    box-sizing: border-box;
}

.companyInner h2 {
    margin: 0 0 40px;
    padding: 0 0 16px;
    color: #111 !important;
    text-align: left;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    border-bottom: 2px solid #ff8900;
}

.companyShop {
    margin: 0 0 48px;
    padding: 36px 40px 40px;
    background-color: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    box-sizing: border-box;
}

.companyShop:last-child {
    margin-bottom: 0;
}

.companyShop h3 {
    margin: 0 0 24px;
    padding: 0 0 0 14px;
    color: #111 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    border-left: 4px solid #ff8900;
}

.companyTable {
    width: 100%;
    margin: 0 0 28px;
    border-collapse: collapse;
    background-color: transparent !important;
}

.companyTable th,
.companyTable td {
    padding: 14px 16px;
    border: none !important;
    border-bottom: 1px solid #eee !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    line-height: 1.7;
    vertical-align: top;
    text-align: left;
}

.companyTable tr:first-child th,
.companyTable tr:first-child td {
    border-top: 1px solid #eee !important;
}

.companyTable th {
    /*width: 8.5em;*/
    padding-right: 24px;
    color: #666 !important;
    font-weight: 700;
    white-space: nowrap;
    background-color: #f7f7f7 !important;
}

.companyTable td {
    color: #111 !important;
    font-weight: 400;
    background-color: #fff !important;
}

.companyMap {
    margin: 0;
    overflow: hidden;
    background-color: #eee;
}

.companyMap iframe,
.companyMap img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 360px;
    border: 0;
}

.companyPhotos {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

.companyPhotos li {
    flex: 1 1 calc((100% - 24px) / 3);
    min-width: 0;
    margin: 0;
    padding: 0;
}

.companyPhotos img {
    display: block;
    width: 100%;
    height: 180px;
    object-fit: cover;
}

@media only screen and (max-width: 1000px) {
    .companyArea h1 {
        padding: 70px 16px 50px;
        font-size: 36px;
    }
    .companyInner {
        padding: 40px 16px 60px;
    }
    .companyInner h2 {
        font-size: 20px;
        margin-bottom: 28px;
    }
    .companyShop {
        margin-bottom: 28px;
        padding: 24px 18px 28px;
    }
    .companyShop h3 {
        font-size: 17px;
        margin-bottom: 18px;
    }
    .companyTable th,
    .companyTable td {
        display: block;
        width: 100%;
        padding: 0 !important;
        border-top: none !important;
        border-right: none !important;
        border-left: none !important;
        border-bottom: none !important;
        background-color: transparent !important;
    }
    .companyTable tr {
        display: block;
        padding: 14px 0;
        border: none;
        border-bottom: 1px solid #eee;
        background-color: transparent;
    }
    .companyTable tr:first-child,
    .companyTable tr:first-child th,
    .companyTable tr:first-child td {
        border-top: none !important;
    }
    .companyTable tr:last-child {
        border-bottom: none;
    }
    .companyTable th {
        padding-bottom: 4px !important;
        font-size: 12px;
    }
    .companyMap iframe,
    .companyMap img {
        height: 240px;
    }
    .companyPhotos {
        gap: 8px;
    }
    .companyPhotos li {
        flex-basis: 100%;
    }
    .companyPhotos img {
        height: 200px;
    }
}



/* aboutArea */

.aboutArea {
    background-color: #000;
    color: #fff;
}

.aboutArea h1 {
    position: relative;
    margin: 0;
    padding: 90px 20px 70px;
    color: #fff;
    text-align: center;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 56px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
    background-color: #111;
    background-image: linear-gradient(rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38)), url("/wp-content/themes/first/images/head_about.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
}

.aboutInner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box;
}

.aboutLabel {
    margin: 0 0 18px;
    padding: 0;
    color: #ff8900;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.22em;
    line-height: 1;
}

.aboutLabelDark {
    color: #c45a00;
}

.aboutHero {
    position: relative;
    overflow: hidden;
    min-height: 620px;
    padding: 90px 0 120px;
    background:
        radial-gradient(ellipse at 78% 18%, rgba(255, 137, 0, 0.16) 0%, rgba(0, 0, 0, 0) 46%),
        linear-gradient(180deg, #1a120c 0%, #000 58%, #000 100%);
    box-sizing: border-box;
}

.aboutHero::before,
.aboutHero::after {
    content: "";
    position: absolute;
    pointer-events: none;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
}

.aboutHero::before {
    top: -18%;
    right: -22%;
    width: 78%;
    height: 120%;
}

.aboutHero::after {
    top: 8%;
    right: -8%;
    width: 58%;
    height: 92%;
    border-color: rgba(255, 255, 255, 0.08);
}

.aboutHero .aboutInner {
    position: relative;
    z-index: 1;
}

.aboutHeroTitle {
    margin: 0;
    padding: 0;
    color: #fff !important;
    text-align: left;
    background: none;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 92px;
    font-weight: 700;
    line-height: 0.88;
    letter-spacing: 0.01em;
}

.aboutHeroJa {
    margin: 28px 0 0;
    padding: 0;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 500;
}

.aboutHeroCatch {
    margin: 36px 0 0;
    padding: 0;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.8;
}

.aboutBanner {
    margin: 36px 0 0;
    padding: 0;
}

.aboutBanner img {
    display: block;
    width: 100%;
    height: auto;
}

.aboutHeroLead {
    margin: 28px 0 0;
    padding: 0;
    max-width: 640px;
    color: rgba(255, 255, 255, 0.78) !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 2;
}

.aboutHeroScroll {
    position: absolute;
    right: 36px;
    bottom: 48px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    color: rgba(255, 255, 255, 0.7) !important;
    writing-mode: vertical-rl;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.28em;
}

.aboutHeroScroll::after {
    content: "";
    width: 1px;
    height: 56px;
    background-color: rgba(255, 255, 255, 0.45);
}

.aboutStory {
    background-color: #f4f1ea;
    color: #111;
    padding: 110px 0 100px;
    scroll-margin-top: 24px;
}

.aboutStory h2 {
    margin: 0 0 36px;
    padding: 0;
    color: #111 !important;
    text-align: left;
    font-family: "Noto Serif JP", "Noto Sans JP", serif;
    font-size: 46px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.02em;
    border: none;
}

.aboutStory p {
    margin: 0 0 22px;
    max-width: 760px;
    color: #333 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 2;
}

.aboutStory p:last-child {
    margin-bottom: 0;
}

.aboutPoints {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin: 8px 0 36px;
    padding: 0;
    list-style: none;
}

.aboutPoints li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    margin: 0;
    padding: 30px 16px 30px;
    background-color: #fff;
    border-top: 5px solid #ff8900;
    color: #111 !important;
    font-family: "Noto Sans JP", sans-serif;
    text-align: center;
    border-radius: 10px;
}

.aboutPointIcon {
    flex: 0 0 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    color: #ff8900;
    font-size: 48px;
    line-height: 1;
}

.aboutPointText {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.aboutPointTitle {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.45;
}

.aboutPointNote {
    color: #555 !important;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
}

@media only screen and (max-width: 1000px) {
    .aboutArea h1 {
        padding: 70px 16px 50px;
        font-size: 36px;
    }
    .aboutInner {
        padding: 0 20px;
    }
    .aboutHero {
        min-height: 0;
        padding: 56px 0 88px;
    }
    .aboutHero .aboutInner {
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }
    .aboutHeroTitle {
        font-size: 48px;
    }
    .aboutHeroCatch {
        font-size: 18px;
    }
    .aboutHeroScroll {
        right: 16px;
        bottom: 24px;
    }
    .aboutStory {
        padding: 64px 0 56px;
    }
    .aboutStory h2 {
        font-size: 30px;
        margin-bottom: 24px;
    }
    .aboutPoints {
        grid-template-columns: 1fr 1fr;
    }
}

/* mclarenArea */

.mclarenArea{
    
}

.mclarenArea h3{
    font-size:30px;
    color: #ff8017;
}

.mclarenContent01{
    background-image:url("/wp-content/themes/first/images/bg_mclaren01.png");
    background-repeat:no-repeat;
    background-attachment: fixed;
    background-position:center;
}

.mclarenArea p{
    line-height:1.8;
}

.mclarenBox01{
    margin:auto;
    width:800px;
    padding:50px 0;
}

.mclarenBox01 h3{
    line-height:1.2;
}

.mclarenContent02{
    background-image:url("/wp-content/themes/first/images/bg_mclaren02.png");
    background-repeat:no-repeat;
    background-attachment: fixed;
    /*background-position:center;*/
}

.mclarenBox02{
    margin:50px auto;
    width:800px;
    padding:50px 0;
    display: table;
}

.mclarenBox02 h3{
    line-height:0.8;
}

.mclarenArea h3 span{
    font-size:14px;
}

.mclarenBox02 .mc_mini02{
    float:right;
}

.mclarenContent03{
    background-image:url("/wp-content/themes/first/images/bg_mclaren03.png");
    background-repeat:no-repeat;
    background-attachment: fixed;
    background-position:right;
}

.mclarenBox03{
    margin:50px auto;
    width:800px;
    padding:50px 0;
    display: table;
}

.mclarenBox03 h3{
    line-height:1.8;
}

.mclarenBox03 .mc_mini03{
    float:left;
}

.mclarenContent04{
    background-image:url("/wp-content/themes/first/images/bg_mclaren04.png");
    background-repeat:no-repeat;
    background-attachment: fixed;
    /*background-position:center;*/
}

.mclarenBox04{
    margin:50px auto;
    width:800px;
    padding:50px 0;
    display: table;
}

.mclarenBox04 h3{
    line-height:1.2;
}

.mclarenArea h4 span{
    font-size:14px;
}

.mclarenBox04 .mc_mini04{
    float:right;
}

.mclarenContent05{
    
}

.mclarenBox05{
    width:800px;
    margin:50px auto;
    padding:50px 0;

}

.mclarenContent05 p{
    text-align: center;
    
}

.mclarenContent05 p strong{
    color:#ff8017;
    font-size:40px;
}

.mclarenContent05 p strong span{
    font-size:18px;
}

.mclarenContent06{
    background-image:url("/wp-content/themes/first/images/bg_mclaren05.jpg");
    background-repeat:no-repeat;
    background-attachment: fixed;
    /*background-position:center;*/
}

.mclarenBox06{
    margin:50px auto;
    width:800px;
    padding:50px 0;
    display: table;
}

.mclarenBox06 h3{
    line-height:0.8;
}

.mclarenArea h4 span{
    font-size:14px;
}

.mclarenBox06 .mc_mini04{
    float:right;
}

.mclarenContent07{
    background-image:url("/wp-content/themes/first/images/bg_mclaren06.jpg");
    background-repeat:no-repeat;
    background-attachment: fixed;
    background-position:top;
}

.mclarenBox07{
    margin:50px auto;
    width:800px;
    padding:80px 0;
    display: table;
}

.mclarenBox07 h3{
    line-height:0.8;
}


@media only screen and (max-width: 1200px) {
    .mclarenContent{
        width:100%;
        padding:10px;
    }
}

@media only screen and (max-width: 768px) {
    .mclarenContent01,
    .mclarenContent02,
    .mclarenContent03,
    .mclarenContent04,
    .mclarenContent05,
    .mclarenContent06,
    .mclarenContent07{
        background-attachment:inherit;
        background-color:rgba(0,0,0,0.6);
        background-blend-mode:darken;
    }
    
    .mclarenBox01,
    .mclarenBox02,
    .mclarenBox03,
    .mclarenBox04,
    .mclarenBox05,
    .mclarenBox06,
    .mclarenBox07{
        width:100%;
        padding:20px 10px;
    }
}


/* newsListContent */

.newsListContent{
    margin:auto;
    width:1200px;
}




@media only screen and (max-width: 1200px) {
    .newsListContent{
        width:100%;
        padding:10px;
    }
}



/* movieContent */

.movieContent{
    margin:auto;
    width:1200px;
}

.movie_on{
    position: absolute;
    top: 30%;
    /*left: 40%;*/
    width: 100%;
    text-align:center;
}

.movie_on:hover{
    opacity: 0.8;
    transition-duration: 0.3s;
}

@media only screen and (max-width: 1200px) {
    .movieContent{
        width:100%;
    }
}

.movieArea .row {
    margin: 0;
}

.movieArea .movieContent {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    padding: 0 40px 40px;
    box-sizing: border-box;
}

.movieArea .video_list.col-sm-3 {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    box-sizing: border-box;
}

.movieArea .video_archive_link {
    position: relative;
    color: inherit;
}

.movieArea .video_list_box {
    aspect-ratio: 3 / 2;
    min-height: 160px;
    background-size: cover !important;
}

.movieArea .video_archive_title {
    position: static;
    left: auto;
    width: auto;
    height: auto;
    margin: 0;
    padding: 18px 20px 22px;
    background: #fff;
    color: #333;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    box-sizing: border-box;
}

.movieArea .video_archive_title span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

@media only screen and (max-width: 1100px) {
    .movieArea .movieContent {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        padding: 0 16px 40px;
    }
}

@media only screen and (max-width: 600px) {
    .movieArea .movieContent {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}


/* photoContent */

.photoContent{
    margin:auto;
    width:1200px;
}

.photoListBox{
    padding:10px 10px 15px;
    margin:0 15px 30px;
    background:#fff;
    box-shadow: 3px 3px 5px #999;
}

.photoListBox figure {
    position: relative;
    overflow: hidden;
  }
  .photoListBox figure::before {
    position: absolute;
    top: 0;
    left: -75%;
    z-index: 2;
    display: block;
    content: '';
    width: 50%;
    height: 100%;
    background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
    -webkit-transform: skewX(-25deg);
    transform: skewX(-25deg);
  }
  .photoListBox figure:hover::before {
    -webkit-animation: shine .75s;
    animation: shine .75s;
  }
  @-webkit-keyframes shine {
    100% {
      left: 125%;
    }
  }
  @keyframes shine {
    100% {
      left: 125%;
    }
  }

@media only screen and (max-width: 1200px) {
    .photoContent{
        width:100%;
    }
}

@media only screen and (max-width: 1000px) {
    .photoArea h1,
    .movieArea h1 {
        padding: 70px 16px 50px;
        font-size: 36px;
    }
    .photoArea .row {
        padding-top: 0;
        padding-bottom: 20px;
    }
}

@media only screen and (max-width: 768px) {
    .photoListBox{
        text-align:center;
    }
}

.photoSingleBox{
    padding:10px 10px 15px;
    margin:0 15px 30px;
    background:#fff;
    box-shadow: 3px 3px 5px #999;
}

.photoSingleBox figure {
    position: relative;
    overflow: hidden;
  }
  .photoSingleBox figure::before {
    position: absolute;
    top: 0;
    left: -75%;
    z-index: 2;
    display: block;
    content: '';
    width: 50%;
    height: 100%;
    background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
    -webkit-transform: skewX(-25deg);
    transform: skewX(-25deg);
  }
  .photoSingleBox figure:hover::before {
    -webkit-animation: shine .75s;
    animation: shine .75s;
  }
  


/* contactArea */

.contactArea {
    background-color: #f4f4f4;
    background-image:
        linear-gradient(rgba(244, 244, 244, 0.72), rgba(244, 244, 244, 0.72)),
        url("images/top/bg_top_image01.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    color: #111 !important;
}

.contactArea h1 {
    position: relative;
    margin: 0;
    padding: 90px 20px 70px;
    color: #fff;
    font-size: 56px;
    font-weight: 700;
    letter-spacing: 0.04em;
    background-color: #111;
    background-image: linear-gradient(rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38)), url("/wp-content/themes/first/images/head_contact.jpg");
    background-size: cover;
    background-repeat: no-repeat;
}

.contactInner {
    max-width: 900px;
    width: 100%;
    margin: 0 auto;
    padding: 48px 20px 90px;
    box-sizing: border-box;
}

.contactSteps {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0 0 32px;
    padding: 0 12px;
    list-style: none;
    counter-reset: none;
}

.contactSteps li {
    position: relative;
    flex: 1;
    margin: 0;
    padding: 0;
    color: #999 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}

.contactSteps li:not(:last-child):after {
    content: "";
    position: absolute;
    top: 15px;
    left: calc(50% + 22px);
    right: calc(-50% + 22px);
    height: 2px;
    background: #ddd;
}

.contactSteps li.is-current:not(:last-child):after,
.contactSteps li.is-done:not(:last-child):after {
    background: #ff8900;
}

.contactSteps li span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin: 0 auto 8px;
    border: 2px solid #ddd;
    border-radius: 50%;
    background: #fff;
    color: #999;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    box-sizing: border-box;
}

.contactSteps li.is-current {
    color: #111 !important;
}

.contactSteps li.is-current span {
    border-color: #ff8900;
    background: #ff8900;
    color: #fff;
}

.contactSteps li.is-done span {
    border-color: #ff8900;
    background: #ff8900;
    color: #fff;
}

.contactContent {
    width: 100%;
    margin: 0;
    padding: 32px 80px 40px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    box-sizing: border-box;
}

.contactNote,
.contactContent > p {
    margin: 0 0 20px;
    color: #555 !important;
    font-size: 13px;
    line-height: 1.6;
}

.contactContent .must01,
.contactContent .red01 {
    color: #e53935 !important;
    font-weight: 700;
}

.contactContent .red01 {
    margin-left: 6px;
    font-size: 12px;
}

.contactContent dl {
    margin: 0;
    padding: 0;
    font-size: 14px;
    line-height: 1.5;
}

.contactContent dt {
    display: block;
    width: 100%;
    margin: 0 0 6px;
    padding: 0;
    color: #111 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 700;
    vertical-align: top;
}

.contactContent dd {
    display: block;
    width: 100%;
    margin: 0 0 18px;
    padding: 0;
    color: #111 !important;
    vertical-align: top;
}

.contactContent dd input[type="text"],
.contactContent dd input[type="email"],
.contactContent dd input[type="tel"],
.contactContent dd textarea {
    width: 100%;
    max-width: 100%;
    height: 44px;
    margin: 0;
    padding: 10px 14px;
    border: 1px solid #e4e4e4;
    border-radius: 8px;
    background-color: #f6f6f6;
    color: #111 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    line-height: 1.5;
    box-sizing: border-box;
    box-shadow: none;
}

.contactContent dd textarea {
    height: 140px;
    resize: vertical;
}

.contactContent dd input:focus,
.contactContent dd textarea:focus {
    outline: none;
    border-color: #ff8900;
    background-color: #fff;
}

.mwform-zip-field,
.mwform-tel-field {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
}

.mwform-zip-field input,
.mwform-tel-field input {
    width: auto !important;
    flex: 0 0 auto;
    min-width: 4.5em;
}

.mwform-zip-field input[name="zip[data][0]"] {
    width: 4.5em !important;
}

.mwform-zip-field input[name="zip[data][1]"] {
    width: 5.5em !important;
}

.mwform-tel-field input {
    width: 5.2em !important;
}

.mw_wp_form_confirm dd {
    padding: 12px 14px;
    border-radius: 8px;
    background-color: #f6f6f6;
    min-height: 20px;
    box-sizing: border-box;
}

.submitArea {
    text-align: center;
    margin: 28px 0 0;
    font-size: 16px;
}

.submitArea input.submitBtn,
.submitArea input.backBtn {
    display: inline-block;
    min-width: 240px;
    width: auto;
    margin: 0 6px 10px;
    padding: 14px 36px;
    border: none;
    border-radius: 40px;
    background-color: #ff8900;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    text-shadow: none;
    cursor: pointer;
    box-shadow: 0 6px 14px rgba(234, 85, 4, 0.28);
}

.submitArea input.backBtn {
    background-color: #fff;
    color: #ff8900 !important;
    border: 1px solid #ff8900;
    box-shadow: none;
}

.mw_wp_form .error,
.mw_wp_form_error {
    display: block;
    margin-top: 6px;
    color: #e53935 !important;
    font-size: 12px;
}

.contactContent .wp-block-paragraph:empty {
    display: none;
}

@media only screen and (max-width: 1000px) {
    .contactArea h1 {
        padding: 70px 16px 50px;
        font-size: 36px;
    }
    .contactInner {
        padding: 32px 16px 60px;
    }
    .contactContent {
        padding: 24px 18px 28px;
    }
    .contactSteps {
        padding: 0;
    }
    .mwform-zip-field input,
    .mwform-tel-field input {
        min-width: 4em;
    }
    .submitArea input.submitBtn,
    .submitArea input.backBtn {
        width: 100%;
        min-width: 0;
        margin: 0 0 10px;
    }
}


/* errorArea */

.errorArea{
    padding:150px 0;
    text-align:center;
}

.errorArea h3{
    font-size:40px;
    margin:0 0 10px;
    padding:0;
    line-height: 1.0;;
}

.errorArea p{
    text-align:center;
    margin:0;
    padding:0;
}

.error_btn a{
    border:1px solid #ea5504;
    color:#ea5504;
    padding:10px 20px;
    display: block;
    width: 200px;
    text-align: center;
    margin:30px auto 0;
    border-radius: 40px;
}

.error_btn a:hover{
    background-color: #ea5504;
    color:#fff;
}


/* --------------------------------
新ヘッダー（FIRST GARAGE）
-------------------------------- */
.header_container {
    width: calc(100% - 20px);
    max-width: 1760px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    z-index: 1000;
    color: #111;
}

.header_container header {
    background-color: #fff;
    height: auto;
    width: 100%;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
    color: #111;
    overflow: visible;
}

.header_container header nav {
    width: 100%;
}

.header_container header h1 {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.header_top {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 50px;
    padding: 16px 36px 12px;
    box-sizing: border-box;
    border-top: 10px solid #FF8900;
}

.header_container header div.logo {
    float: none;
    display: block;
    height: auto;
    padding-left: 0;
    flex: 0 0 auto;
}

.header_container header div.logo a {
    display: block;
    height: auto;
}

.header_container .logo figure {
    margin: 0;
    position: relative;
    overflow: hidden;
}

.header_container .logo img {
    display: block;
    width: auto;
    max-width: 260px;
    max-height: 52px;
    height: auto;
}

.header_tel {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 0 auto;
    min-width: 0;
}

.header_tel_item {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #111 !important;
    text-decoration: none;
    padding: 0 22px 0 0;
}

.header_tel_item + .header_tel_item {
    border-left: 1px solid #d9d9d9;
    padding-left: 22px;
}

.header_tel_item i {
    color: #ea5504 !important;
    font-size: 28px;
    line-height: 1;
}

.header_tel_text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.header_tel_label {
    font-size: 11px;
    color: #333 !important;
    font-weight: 500;
    font-family: "Noto Sans JP", sans-serif;
}

.header_tel_num {
    color: #ea5504 !important;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.02em;
    font-family: "Barlow Semi Condensed", Arial, "Helvetica Neue", Helvetica, sans-serif;
}

.header_sns {
    display: flex;
    align-items: center;
    gap: 16px;
    list-style: none;
    margin: 0 0 0 auto;
    padding: 0;
    flex: 0 0 auto;
}

.header_sns a {
    color: #111 !important;
    font-size: 20px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color .2s ease;
}

.header_sns a:hover {
    color: #ea5504 !important;
}

.header_container header div.global_nav {
    float: none;
    font-family: "Noto Sans JP", sans-serif;
    border-top: 1px solid #e6e6e6;
}

.header_container .menu {
    position: relative;
    height: auto;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 0;
    width: 100%;
    margin: 0;
    padding: 4px 40px 8px;
    box-sizing: border-box;
}

.header_container .menu > li {
    display: block;
    height: auto;
    padding: 0;
    text-align: center;
    flex: 0 0 auto;
}

.header_container .menu > li.menu_wide {
    flex: 0 0 auto;
    min-width: max-content;
}

.header_container .menu > li > a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #111 !important;
    font-size: 13px;
    padding: 12px 16px;
    line-height: 1.2;
    height: auto;
    text-align: center;
    vertical-align: middle;
    transform: none;
    transition: color .2s ease;
}

.header_container .menu > li.menu_wide > a {
    padding: 12px 16px;
}

.header_container .menu li a span,
.header_container .menu .menu_en {
    font-size: 16px !important;
    font-weight: 700;
    letter-spacing: 0.03em;
    vertical-align: baseline;
    white-space: nowrap;
}

.header_container .menu .menu_en {
    font-family: "Barlow Semi Condensed", Arial, "Helvetica Neue", Helvetica, sans-serif;
}

.header_container .menu .menu_ja {
    display: block;
    font-size: 10px !important;
    font-weight: 500;
    letter-spacing: 0;
    margin-top: 4px;
    color: #333;
    white-space: nowrap;
    font-family: "Noto Sans JP", sans-serif;
}

.header_container .menu > li > a:hover,
.header_container .menu > li > a:hover .menu_en,
.header_container .menu > li > a:hover .menu_ja,
.header_container .menu > li.menu_has_sub:hover > a,
.header_container .menu > li.menu_has_sub:hover > a .menu_en,
.header_container .menu > li.menu_has_sub:hover > a .menu_ja {
    color: #ea5504 !important;
    background-color: transparent;
}

.header_container .menu > li.menu_has_sub {
    position: relative;
}

.header_container .menu > li > .menu_sub {
    position: absolute;
    top: 100%;
    left: 50%;
    z-index: 40;
    min-width: 280px;
    margin: 0;
    padding: 4px 0;
    list-style: none;
    background-color: #fff;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
    border-radius: 0 0 10px 10px;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%);
    transition: opacity .2s ease, visibility .2s ease;
}

.header_container .menu > li.menu_has_sub:hover > .menu_sub,
.header_container .menu > li.menu_has_sub:focus-within > .menu_sub {
    opacity: 1;
    visibility: visible;
}

.header_container .menu > li > .menu_sub li {
    display: block;
    margin: 0;
    padding: 0;
    text-align: left;
}

.header_container .menu > li > .menu_sub a {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 12px 18px !important;
    color: #111 !important;
    font-size: 13px !important;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    white-space: nowrap;
    font-family: "Noto Sans JP", sans-serif;
    vertical-align: middle;
}

.header_container .menu > li > .menu_sub a:hover {
    color: #ea5504 !important;
    background-color: #f7f7f7;
}

.sticking.header_container,
.sticking .header_container,
.header_container.sticking {
    width: calc(100% - 20px);
    max-width: 1760px;
    left: 50%;
    transform: translateX(-50%);
    margin-left: 0;
    margin-right: 0;
}

.sticking header,
.header_container.sticking header {
    background-color: #fff;
    height: auto;
}

.sticking div.logo,
.sticking div.logo a,
.header_container.sticking div.logo,
.header_container.sticking div.logo a {
    height: auto;
    width: auto;
}

.sticking .menu a,
.header_container.sticking .menu a {
    line-height: 1.2;
    color: #111 !important;
    vertical-align: middle;
    height: auto;
}

.sticking .header_top {
    padding-top: 10px;
    padding-bottom: 8px;
}

.sticking .logo img {
    max-height: 44px;
}

@media only screen and (max-width: 1300px) {
    .header_top {
        padding: 12px 20px 10px;
        gap: 40px;
    }
    .header_tel_item {
        padding: 0 14px 0 0;
        gap: 8px;
    }
    .header_tel_num {
        font-size: 18px;
    }
    .header_tel_item i {
        font-size: 24px;
    }
    .header_container .menu {
        padding: 2px 20px 6px;
    }
    .header_container .menu > li > a {
        padding: 10px 10px;
    }
    .header_container .menu > li.menu_wide > a {
        padding: 10px 10px;
    }
    .header_container .menu li a span,
    .header_container .menu .menu_en {
        font-size: 14px !important;
    }
    .header_container .logo img {
        max-width: 200px;
        max-height: 44px;
    }
}

@media only screen and (max-width: 1100px) {
    .header_tel_label {
        font-size: 10px;
    }
    .header_tel_num {
        font-size: 16px;
    }
    .header_container .menu .menu_ja {
        font-size: 9px !important;
    }
}

@media only screen and (max-width: 1000px) {
    .header_container {
        position: relative;
    }
    .header_container header {
        display: block !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    }
    .header_top {
        padding: 10px 64px 10px 16px;
        gap: 0;
        min-height: 60px;
        box-sizing: border-box;
    }
    .header_top .header_tel,
    .header_top .header_sns,
    .header_container .global_nav {
        display: none;
    }
    .header_container .logo img {
        max-width: 180px;
        max-height: 40px;
    }
    .sp_nav_wrapper {
        display: block;
        width: 100%;
    }
    .header_container .menu-collapser,
    .sp_nav_wrapper .menu-collapser {
        position: absolute !important;
        top: 10px;
        right: 0;
        left: auto;
        width: 60px;
        height: 60px;
        padding: 0;
        background-color: transparent;
        color: #111;
        line-height: 60px;
        box-shadow: none;
        z-index: 30;
        overflow: hidden;
    }
    .sp_nav_wrapper .menu-collapser > a {
        display: none !important;
    }
    .sp_nav_wrapper .collapse-button {
        right: 12px;
    }
    .sp_nav_wrapper .collapse-button .icon-bar {
        background-color: #111;
    }
    .sp_nav_wrapper ul.slimmenu,
    .sp_nav_wrapper ul#sp_navigation {
        visibility: visible !important;
        float: none;
        clear: both;
        width: 100%;
        margin: 0;
        padding: 0;
        list-style: none;
        background-color: #fff;
        border-top: 1px solid #e6e6e6;
        box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
        border-radius: 0 0 16px 16px;
        overflow: visible;
    }
    .sp_nav_wrapper ul.slimmenu:before,
    .sp_nav_wrapper ul.slimmenu:after {
        display: none;
    }
    .sp_nav_wrapper ul.slimmenu li,
    .sp_nav_wrapper ul.slimmenu.collapsed li {
        float: none !important;
        display: block !important;
        width: 100% !important;
        clear: both;
        position: relative;
        background-color: #fff;
        margin: 0;
        padding: 0;
    }
    .sp_nav_wrapper ul.slimmenu li a {
        display: block !important;
        position: relative;
        z-index: 1;
        color: #111 !important;
        padding: 12px 20px;
        width: 100%;
        box-sizing: border-box;
        text-align: left;
        background-color: #fff;
        overflow: visible;
        height: auto !important;
        line-height: 1.3;
        opacity: 1 !important;
        visibility: visible !important;
        text-indent: 0 !important;
        transform: none;
    }
    .sp_nav_wrapper ul.slimmenu li a:has(.menu_en) {
        display: flex !important;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: center;
        gap: 2px;
    }
    .sp_nav_wrapper ul.slimmenu li.has-submenu > a,
    .sp_nav_wrapper ul.slimmenu li.has-submenu > a:has(.menu_en) {
        padding-right: 56px;
        min-height: 48px;
    }
    .sp_nav_wrapper ul.slimmenu .menu_en,
    .sp_nav_wrapper ul.slimmenu li.has-submenu > a .menu_en {
        display: block !important;
        font-size: 14px !important;
        font-weight: 700;
        letter-spacing: 0.04em;
        line-height: 1.3;
        color: #111 !important;
        font-family: "Barlow Semi Condensed", Arial, "Helvetica Neue", Helvetica, sans-serif;
        white-space: nowrap;
        margin: 0;
        opacity: 1 !important;
        visibility: visible !important;
    }
    .sp_nav_wrapper ul.slimmenu .menu_ja,
    .sp_nav_wrapper ul.slimmenu li.has-submenu > a .menu_ja {
        display: block !important;
        font-size: 11px !important;
        line-height: 1.3;
        margin: 0;
        color: #555 !important;
        font-family: "Noto Sans JP", sans-serif;
        white-space: nowrap;
        opacity: 1 !important;
        visibility: visible !important;
    }
    .sp_nav_wrapper ul.slimmenu .sp_nav_tel a {
        color: #ea5504 !important;
        font-weight: 700;
    }
    .sp_nav_wrapper ul.slimmenu .sp_nav_tel i {
        margin-right: 8px;
        color: #ea5504 !important;
    }
    .sp_nav_wrapper ul.slimmenu .sp_nav_sns,
    .sp_nav_wrapper ul.slimmenu.collapsed li.sp_nav_sns {
        float: none !important;
        width: 100% !important;
        padding: 14px 20px 18px !important;
        box-sizing: border-box;
    }
    .sp_nav_wrapper ul.slimmenu .sp_nav_sns .header_sns {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 16px;
        margin: 0;
        padding: 0;
    }
    .sp_nav_wrapper ul.slimmenu .sp_nav_sns a {
        display: inline-flex !important;
        padding: 0;
        font-size: 22px;
        background: none;
        width: auto;
        color: #111 !important;
    }
    .sp_nav_wrapper ul.slimmenu li.has-submenu > .sub-toggle,
    .sp_nav_wrapper ul.slimmenu.collapsed li.has-submenu > .sub-toggle,
    .sp_nav_wrapper ul.slimmenu li .sub-toggle {
        position: absolute;
        top: 0;
        right: 0;
        left: auto;
        z-index: 3;
        width: 48px !important;
        height: 48px !important;
        max-height: 48px;
        margin: 0;
        padding: 0;
        background: transparent !important;
        color: #111;
        display: flex !important;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        box-sizing: border-box;
        overflow: hidden;
    }
    .sp_nav_wrapper ul.slimmenu li .sub-toggle:before {
        content: none !important;
        display: none !important;
        height: 0;
        margin: 0;
    }
    .sp_nav_wrapper ul.slimmenu li .sub-toggle img {
        display: none !important;
    }
    .sp_nav_wrapper ul.slimmenu li .sub-toggle i {
        display: inline-block;
        color: #111 !important;
        font-size: 12px;
        line-height: 1;
        vertical-align: middle;
    }
    .sp_nav_wrapper ul.slimmenu .menu_sub,
    .sp_nav_wrapper ul.slimmenu li > ul.menu_sub {
        position: static !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        min-width: 0 !important;
        width: 100% !important;
        margin: 0;
        padding: 0 0 8px;
        list-style: none;
        background-color: #f7f7f7;
        box-shadow: none !important;
        border-radius: 0;
        display: none;
    }
    .sp_nav_wrapper ul.slimmenu .menu_sub li {
        width: 100% !important;
        float: none !important;
    }
    .sp_nav_wrapper ul.slimmenu .menu_sub a {
        display: block !important;
        padding: 10px 20px 10px 32px;
        color: #333 !important;
        font-size: 13px !important;
        font-weight: 500;
        line-height: 1.5;
        background-color: transparent;
        font-family: "Noto Sans JP", sans-serif;
        white-space: normal;
        opacity: 1 !important;
        visibility: visible !important;
    }
}


/* --------------------------------
TOP SCROLL
-------------------------------- */
.topScroll {
    background-color: #000;
    text-align: center;
    padding: 36px 10px 8px;
    box-sizing: border-box;
}

.topScrollBtn {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #fff !important;
    text-decoration: none;
}

.topScrollBtn:hover {
    color: #ff8900 !important;
}

.topScrollLabel {
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.22em;
    line-height: 1;
}

.topScrollIcon {
    display: block;
    font-size: 16px;
    line-height: 1;
    animation: topScrollBounce 1.6s ease-in-out infinite;
}

@keyframes topScrollBounce {
    0%, 100% {
        transform: translateY(0);
        opacity: 1;
    }
    50% {
        transform: translateY(8px);
        opacity: 0.4;
    }
}

@media (prefers-reduced-motion: reduce) {
    .topScrollIcon {
        animation: none;
    }
}


/* --------------------------------
FIXED CONTACT
-------------------------------- */
.fixContact {
    position: fixed;
    right: 28px;
    bottom: 28px;
    z-index: 1200;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 92px;
    height: 92px;
    border: 1px solid #fff;
    border-radius: 50%;
    background: radial-gradient(circle at 32% 28%, #6ec8ff 0%, #2b9fff 58%, #1b86e8 100%);
    color: #fff !important;
    text-decoration: none;
    box-shadow: 0 8px 22px rgba(27, 134, 232, 0.42);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(18px);
    transition: opacity .35s ease, transform .35s ease, visibility .35s ease;
}

.fixContact.is-show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.fixContact:hover {
    color: #fff !important;
    opacity: 0.92;
}

.fixContact i {
    font-size: 30px;
    line-height: 1;
}

.fixContact span {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
    white-space: nowrap;
}

@media only screen and (max-width: 600px) {
    .fixContact {
        right: 12px;
        bottom: 16px;
        width: 76px;
        height: 76px;
        gap: 4px;
    }
    .fixContact i {
        font-size: 18px;
    }
    .fixContact span {
        font-size: 9px;
    }
}


/* --------------------------------
RACING CAREER SUPPORT
-------------------------------- */
.rcsArea {
    background-color: #000;
    color: #fff;
    padding: 32px 10px 70px;
    box-sizing: border-box;
    scroll-margin-top: 96px;
}

.rcsInner {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
}

.rcsContent {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 60px;
}

.rcsText {
    flex: 1 1 52%;
    min-width: 0;
}

.rcsTitle {
    margin: 0;
    padding: 0;
    color: #ff8900;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 42px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.02em;
    line-height: 1.1;
    max-width: 52%;
}

.rcsTitleJa {
    margin: 8px 0 0;
    padding: 0;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 13px;
    font-weight: 500;
}

.rcsCatch {
    margin: 22px 0 36px;
    padding: 0;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.7;
    max-width: 52%;
}

.rcsList {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1 1 52%;
    min-width: 0;
}

.rcsList li {
    margin: 0 0 28px;
    padding: 0;
}

.rcsList li:last-child {
    margin-bottom: 0;
}

.rcsList h3 {
    margin: 0;
    padding: 0;
    color: #ff8900;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 26px;
    font-weight: 700;
    font-style: italic;
    line-height: 1.2;
}

.rcsItemJa {
    margin: 4px 0 8px;
    padding: 0;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 500;
}

.rcsItemBody {
    margin: 0;
    padding: 0;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.8;
}

.rcsStep {
    flex: 0 1 42%;
    max-width: 520px;
}

.rcsStep img {
    display: block;
    width: 100%;
    height: auto;
}

.rcsBtn {
    text-align: center;
    margin: 50px 0 0;
}

.rcsBtn a {
    display: inline-block;
    min-width: 280px;
    padding: 16px 48px;
    border-radius: 40px;
    background: linear-gradient(90deg, #ffb400 0%, #ff8900 50%, #ea5504 100%);
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    box-sizing: border-box;
    transition: opacity .2s ease, transform .2s ease;
}

.rcsBtn a:hover {
    opacity: 0.9;
}

.rcsBtn a::after {
    content: " >";
    font-family: Arial, sans-serif;
    font-weight: 700;
}

@media only screen and (max-width: 1000px) {
    .rcsArea {
        padding: 28px 16px 50px;
        scroll-margin-top: 72px;
    }
    .rcsContent {
        flex-direction: column;
        gap: 40px;
    }
    .rcsTitle {
        font-size: 30px;
        max-width: 100%;
    }
    .rcsCatch {
        max-width: 100%;
    }
    .rcsList h3 {
        font-size: 22px;
    }
    .rcsStep {
        flex: none;
        max-width: 100%;
        width: 100%;
    }
    .rcsBtn a {
        min-width: 80%;
        width: 80%;
        max-width: 360px;
    }
}


/* --------------------------------
SUPPORT STAFF
-------------------------------- */
.staffArea {
    background-color: #f3f3f3;
    color: #333;
    padding: 80px 10px 70px;
    box-sizing: border-box;
}

.staffInner {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
}

.staffTitle {
    margin: 0;
    padding: 0;
    color: #ff8900;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 42px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.02em;
    line-height: 1.1;
}

.staffTitleJa {
    margin: 8px 0 0;
    padding: 0;
    color: #555;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 13px;
    font-weight: 500;
}

.staffCatch {
    margin: 28px 0 16px;
    padding: 0;
    color: #333 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.6;
}

.staffLead {
    margin: 0 0 48px;
    padding: 0;
    color: #555 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.8;
    max-width: 720px;
}

.staffSliderWrap {
    position: relative;
    padding: 0 56px;
    box-sizing: border-box;
}

.staffViewport {
    overflow: hidden;
    width: 100%;
}

.staffTrack {
    --staff-cols: 4;
    --staff-gap: 24px;
    display: flex;
    width: 100%;
    gap: var(--staff-gap);
    transition: transform .4s ease;
    will-change: transform;
    box-sizing: border-box;
}

.staffCard {
    flex: 0 0 calc((100% - (var(--staff-cols) - 1) * var(--staff-gap)) / var(--staff-cols));
    min-width: 0;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.staffCardLink {
    display: block;
    color: inherit !important;
    outline: none;
}

.staffCardLink:visited,
.staffCardLink:hover,
.staffCardLink:active {
    outline: none;
}

.staffCardLink img,
.staffCardLink:visited img {
    border: none !important;
    outline: none !important;
}

.staffCardLink:hover .staffName {
    color: #ff8900 !important;
}

.staffSliderBtn {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 1px solid #ddd;
    border-radius: 50%;
    background-color: #fff;
    color: #333;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    transform: translateY(-50%);
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.staffSliderPrev {
    left: 0;
}

.staffSliderNext {
    right: 0;
}

.staffSliderBtn:hover {
    background-color: #ff8900;
    border-color: #ff8900;
    color: #fff;
}

.staffPhoto {
    width: 100%;
    aspect-ratio: 3 / 4;
    background-color: #fff;
    border: none;
    box-sizing: border-box;
    margin: 0 0 14px;
    overflow: hidden;
}

.staffPhoto img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.staffRole {
    margin: 0 0 6px;
    padding: 0;
    color: #ff8900 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 700;
}

.staffName {
    margin: 0 0 10px;
    padding: 0;
    color: #333 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}

.staffBio {
    margin: 0;
    padding: 0;
    color: #555 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.7;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.staffBtn {
    text-align: center;
    margin: 56px 0 0;
}

.staffBtn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-width: 280px;
    padding: 14px 22px 14px 40px;
    border-radius: 40px;
    background: #ff8900;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 700;
    box-shadow: 0 6px 14px rgba(234, 85, 4, 0.28);
    box-sizing: border-box;
    transition: opacity .2s ease;
}

.staffBtn a:hover {
    opacity: 0.9;
}

.staffBtnIcon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.18);
    font-size: 12px;
}

@media only screen and (max-width: 1000px) {
    .staffArea {
        padding: 50px 16px 50px;
    }
    .staffTitle {
        font-size: 30px;
    }
    .staffCatch {
        font-size: 18px;
    }
    .staffSliderWrap {
        padding: 0 44px;
    }
    .staffTrack {
        --staff-cols: 2;
        --staff-gap: 16px;
    }
    .staffName {
        font-size: 18px;
    }
    .staffBtn a {
        min-width: 80%;
        width: 80%;
        max-width: 360px;
    }
}

@media only screen and (max-width: 600px) {
    .staffSliderWrap {
        padding: 0 40px;
    }
    .staffTrack {
        --staff-cols: 1;
        --staff-gap: 16px;
    }
    .staffSliderBtn {
        width: 36px;
        height: 36px;
        font-size: 14px;
    }
}


/* --------------------------------
SUPPORT STAFF ARCHIVE
-------------------------------- */
.staffArchiveArea {
    background-color: #f4f4f4;
    background-image:
        linear-gradient(rgba(244, 244, 244, 0.72), rgba(244, 244, 244, 0.72)),
        url("images/top/bg_top_image01.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    color: #111 !important;
}

.staffArchiveArea h1 {
    position: relative;
    margin: 0;
    padding: 90px 20px 70px;
    color: #fff;
    text-align: center;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 56px;
    font-weight: 700;
    letter-spacing: 0.04em;
    background-color: #111;
}

.staffArchiveArea .staffInner {
    padding: 48px 40px 20px;
    box-sizing: border-box;
}

.staffArchiveArea .staffArchiveTabs {
    margin-bottom: 48px;
}

.staffArchiveTabs {
    display: flex;
    width: max-content;
    max-width: 100%;
    margin: 0 auto 36px;
    padding: 6px 10px;
    background: #fff;
    border-radius: 999px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    box-sizing: border-box;
}

.staffArchiveTabs a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 168px;
    min-height: 44px;
    margin: 0;
    padding: 0 50px;
    border-radius: 999px;
    color: #333 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    box-sizing: border-box;
}

.staffArchiveTabs a.is-current {
    background-color: #ff8900;
    color: #fff !important;
}

.staffArchiveTabs a:hover {
    color: #ff8900 !important;
}

.staffArchiveTabs a.is-current:hover {
    color: #fff !important;
}

.staffArchiveGrid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 36px 28px;
    margin: 0;
    padding: 0 0 40px;
    list-style: none;
    box-sizing: border-box;
}

.staffArchiveGrid .staffCard {
    flex: none;
    width: 100%;
    background: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

.staffArchiveGrid .staffPhoto {
    margin-bottom: 0;
}

.staffArchiveGrid .staffBody {
    padding: 18px 20px 22px;
    background: #fff;
}

.memberArchiveArea .staffArchiveGrid .memberCard {
    flex: none;
    width: 100%;
    background: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

.memberArchiveArea .memberPhoto {
    margin-bottom: 0;
    border: none;
}

.memberArchiveArea .memberBody {
    padding: 18px 20px 22px;
    background: #fff;
}

.memberCardLink {
    display: block;
    color: inherit !important;
    outline: none;
}

.memberCardLink img,
.memberCardLink:visited img {
    border: none !important;
    outline: none !important;
}

.memberArchiveArea .memberName {
    color: #333 !important;
}

.memberArchiveArea .memberBio {
    color: #555 !important;
}

.memberArchiveArea .staffDetailBody .memberName {
    font-size: 28px;
    margin-bottom: 20px;
    color: #333 !important;
}

.memberCardLink:hover .memberName {
    color: #ff8900 !important;
}

.staffArchiveArea .pagenation {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 8px 20px 80px;
}

.staffArchiveArea .pagenation a,
.staffArchiveArea .pagenation span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    margin: 0;
    padding: 0 4px;
    border: none;
    border-radius: 50%;
    background-color: #fff;
    color: #111 !important;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    box-sizing: border-box;
}

.staffArchiveArea .pagenation a:hover,
.staffArchiveArea .pagenation .current {
    background-color: #ff8900;
    color: #fff !important;
}

.staffArchiveArea .pagenation img {
    display: none;
}

@media only screen and (max-width: 1100px) {
    .staffArchiveArea h1 {
        padding: 70px 16px 50px;
        font-size: 36px;
    }
    .staffArchiveArea .staffInner {
        padding: 36px 16px 10px;
    }
    .staffArchiveArea .staffArchiveTabs {
        margin-bottom: 36px;
    }
    .staffArchiveTabs a {
        min-width: 0;
        padding: 0 28px;
    }
    .staffArchiveGrid {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px 16px;
    }
}

@media only screen and (max-width: 600px) {
    .staffArchiveTabs a {
        padding: 0 16px;
        font-size: 14px;
    }
    .staffArchiveGrid {
        grid-template-columns: 1fr;
    }
}

.staffDetailInner {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    padding: 70px 20px 90px;
    box-sizing: border-box;
}

.staffDetailCard {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 40px;
    align-items: start;
    margin: 0;
    padding: 36px 40px 40px;
    background-color: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    box-sizing: border-box;
}

.staffDetailPhoto {
    margin: 0;
    overflow: hidden;
    background-color: #f3f3f3;
}

.staffDetailPhoto img {
    display: block;
    width: 100%;
    height: auto;
}

.staffDetailBody .staffName {
    font-size: 28px;
    margin-bottom: 20px;
}

.staffDetailBio,
.staffDetailContent {
    color: #333 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.9;
}

.staffDetailBio {
    margin: 0 0 20px;
}

.staffDetailContent p,
.staffDetailContent li {
    color: #333 !important;
}

.staffDetailInner .staffBtn {
    margin-top: 40px;
}

@media only screen and (max-width: 1000px) {
    .staffDetailInner {
        padding: 40px 16px 60px;
    }
    .staffDetailCard {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 24px 18px 28px;
    }
    .staffDetailPhoto {
        max-width: 360px;
        margin: 0 auto;
    }
    .staffDetailBody .staffName {
        font-size: 22px;
    }
}


/* --------------------------------
AFFILIATED MEMBERS
-------------------------------- */
.memberArea {
    background-color: #3d3d3d;
    color: #fff;
    padding: 80px 10px 70px;
    box-sizing: border-box;
}

.memberInner {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
}

.memberTitle {
    margin: 0;
    padding: 0;
    color: #ff8900;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 42px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.02em;
    line-height: 1.1;
}

.memberTitleJa {
    margin: 8px 0 0;
    padding: 0;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 13px;
    font-weight: 500;
}

.memberCatch {
    margin: 28px 0 16px;
    padding: 0;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.6;
}

.memberCatchEn {
    font-family: "Barlow Semi Condensed", Georgia, serif;
    font-style: italic;
    font-weight: 600;
    margin-right: 8px;
}

.memberLead {
    margin: 0 0 48px;
    padding: 0;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.8;
    max-width: 780px;
}

.memberSliderWrap {
    position: relative;
    padding: 0 56px;
    box-sizing: border-box;
}

.memberViewport {
    overflow: hidden;
    width: 100%;
}

.memberTrack {
    --member-cols: 4;
    --member-gap: 24px;
    display: flex;
    width: 100%;
    gap: var(--member-gap);
    transition: transform .4s ease;
    will-change: transform;
    box-sizing: border-box;
}

.memberCard {
    flex: 0 0 calc((100% - (var(--member-cols) - 1) * var(--member-gap)) / var(--member-cols));
    min-width: 0;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.memberSliderBtn {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 50%;
    background-color: #fff;
    color: #333;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
    transform: translateY(-50%);
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.memberSliderPrev {
    left: 0;
}

.memberSliderNext {
    right: 0;
}

.memberSliderBtn:hover {
    background-color: #ff8900;
    border-color: #ff8900;
    color: #fff;
}

.memberPhoto {
    width: 100%;
    aspect-ratio: 3 / 4;
    background-color: #fff;
    border: 1px solid #555;
    box-sizing: border-box;
    margin: 0 0 14px;
    overflow: hidden;
}

.memberPhoto img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.memberCat {
    margin: 0 0 6px;
    padding: 0;
    color: #ff8900 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 700;
}

.memberName {
    margin: 0 0 10px;
    padding: 0;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}

.memberBio {
    margin: 0;
    padding: 0;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.7;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.memberBtn {
    text-align: center;
    margin: 56px 0 0;
}

.memberBtn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-width: 280px;
    padding: 14px 22px 14px 40px;
    border-radius: 40px;
    background: #ff8900;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 700;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.28);
    box-sizing: border-box;
    transition: opacity .2s ease;
}

.memberBtn a:hover {
    opacity: 0.9;
}

.memberBtnIcon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.18);
    font-size: 12px;
}

@media only screen and (max-width: 1000px) {
    .memberArea {
        padding: 50px 16px 50px;
    }
    .memberTitle {
        font-size: 28px;
    }
    .memberCatch {
        font-size: 18px;
    }
    .memberSliderWrap {
        padding: 0 44px;
    }
    .memberTrack {
        --member-cols: 2;
        --member-gap: 16px;
    }
    .memberName {
        font-size: 18px;
    }
    .memberBtn a {
        min-width: 80%;
        width: 80%;
        max-width: 360px;
    }
}

@media only screen and (max-width: 600px) {
    .memberSliderWrap {
        padding: 0 40px;
    }
    .memberTrack {
        --member-cols: 1;
        --member-gap: 16px;
    }
    .memberSliderBtn {
        width: 36px;
        height: 36px;
        font-size: 14px;
    }
}


/* --------------------------------
TOP NEWS
-------------------------------- */
.topNewsArea {
    background-color: #f2f2f2;
    background-image:
        linear-gradient(rgba(242, 242, 242, 0.72), rgba(242, 242, 242, 0.72)),
        url("images/top/bg_top_image01.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    color: #333;
    padding: 80px 10px 70px;
    box-sizing: border-box;
}

.topNewsInner {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
}

.topNewsTitle {
    margin: 0;
    padding: 0;
    color: #ff8900;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 42px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.02em;
    line-height: 1.1;
}

.topNewsTitleJa {
    margin: 8px 0 40px;
    padding: 0;
    color: #555;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 13px;
    font-weight: 500;
}

.topNewsSliderWrap {
    position: relative;
    padding: 0 56px;
    box-sizing: border-box;
}

.topNewsViewport {
    overflow: hidden;
    width: 100%;
}

.topNewsTrack {
    --news-cols: 3;
    --news-gap: 28px;
    display: flex;
    width: 100%;
    gap: var(--news-gap);
    list-style: none;
    margin: 0;
    padding: 0;
    transition: transform .4s ease;
    will-change: transform;
    box-sizing: border-box;
}

.topNewsCard {
    flex: 0 0 calc((100% - (var(--news-cols) - 1) * var(--news-gap)) / var(--news-cols));
    min-width: 0;
    margin: 0;
    padding: 0;
    background: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    box-sizing: border-box;
}

.topNewsSliderBtn {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 1px solid #ddd;
    border-radius: 50%;
    background-color: #fff;
    color: #333;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    transform: translateY(-50%);
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.topNewsSliderPrev {
    left: 0;
}

.topNewsSliderNext {
    right: 0;
}

.topNewsSliderBtn:hover {
    background-color: #ff8900;
    border-color: #ff8900;
    color: #fff;
}

.topNewsCard a {
    display: block;
    color: inherit;
    text-decoration: none;
}

.topNewsPhoto {
    overflow: hidden;
    aspect-ratio: 3 / 2;
    background: #ddd;
}

.topNewsPhoto img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

.topNewsCard a:hover .topNewsPhoto img {
    transform: scale(1.06);
}

.topNewsBody {
    padding: 18px 20px 22px;
    background: #fff;
}

.topNewsDate {
    margin: 0 0 8px;
    padding: 0;
    color: #999 !important;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.topNewsHeadline {
    margin: 0;
    padding: 0;
    color: #333 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.topNewsBtn {
    text-align: center;
    margin: 48px 0 0;
}

.topNewsBtn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-width: 320px;
    padding: 14px 22px 14px 40px;
    border-radius: 40px;
    background: #ff8900;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 700;
    box-shadow: 0 6px 14px rgba(234, 85, 4, 0.28);
    box-sizing: border-box;
    transition: opacity .2s ease;
}

.topNewsBtn a:hover {
    opacity: 0.9;
}

.topNewsBtnIcon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.18);
    font-size: 12px;
}

@media only screen and (max-width: 1000px) {
    .topNewsArea {
        padding: 50px 16px 50px;
    }
    .topNewsTitle {
        font-size: 30px;
    }
    .topNewsSliderWrap {
        padding: 0 44px;
    }
    .topNewsTrack {
        --news-cols: 2;
        --news-gap: 20px;
    }
    .topNewsBtn a {
        min-width: 80%;
        width: 80%;
        max-width: 400px;
    }
}

@media only screen and (max-width: 600px) {
    .topNewsSliderWrap {
        padding: 0 40px;
    }
    .topNewsTrack {
        --news-cols: 1;
        --news-gap: 16px;
    }
    .topNewsSliderBtn {
        width: 36px;
        height: 36px;
        font-size: 14px;
    }
}


/* --------------------------------
TOP GALLERY
-------------------------------- */
.topGalleryArea {
    background-color: #000;
    color: #fff;
    padding: 80px 10px 70px;
    box-sizing: border-box;
    overflow-x: hidden;
}

.galleryInner {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
}

.galleryTitle {
    margin: 0;
    padding: 0;
    color: #ff8900;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 42px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.02em;
    line-height: 1.1;
}

.galleryTitleJa {
    margin: 8px 0 0;
    padding: 0;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 13px;
    font-weight: 500;
}

.galleryCatch {
    margin: 28px 0 16px;
    padding: 0;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.6;
}

.galleryLead {
    margin: 0 0 48px;
    padding: 0;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.8;
    max-width: 780px;
}

.galleryMarquee {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    overflow: hidden;
}

.galleryViewport {
    overflow: hidden;
    width: 100%;
}

.galleryTrack {
    display: flex;
    width: max-content;
    margin: 0;
    padding: 0;
    will-change: transform;
    animation: galleryMarquee 50s linear infinite;
}

.galleryMarqueeSet {
    display: flex;
    flex: 0 0 auto;
    gap: 24px;
    margin: 0;
    padding: 0 24px 0 0;
    list-style: none;
    box-sizing: content-box;
}

.galleryCard {
    flex: 0 0 calc((100vw - 96px) / 4.5);
    width: calc((100vw - 96px) / 4.5);
    min-width: 0;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.galleryMarquee:hover .galleryTrack {
    animation-play-state: paused;
}

@keyframes galleryMarquee {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

.galleryCard a {
    display: block;
    color: inherit;
    text-decoration: none;
}

.galleryPhoto {
    width: 100%;
    aspect-ratio: 16 / 10;
    background-color: #222;
    border: 1px solid #444;
    box-sizing: border-box;
    margin: 0 0 12px;
    overflow: hidden;
}

.galleryPhoto img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
    -webkit-user-drag: none;
    pointer-events: none;
}

.galleryCard a:hover .galleryPhoto img {
    transform: scale(1.06);
}

.galleryDate {
    margin: 0 0 6px;
    padding: 0;
    color: #ff8900 !important;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.galleryCaption {
    margin: 0;
    padding: 0;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
}

.galleryBtn {
    text-align: center;
    margin: 48px 0 0;
}

.galleryBtn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-width: 280px;
    padding: 14px 22px 14px 40px;
    border-radius: 40px;
    background: #ff8900;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 700;
    box-shadow: 0 6px 14px rgba(234, 85, 4, 0.28);
    box-sizing: border-box;
    transition: opacity .2s ease;
}

.galleryBtn a:hover {
    opacity: 0.9;
}

.galleryBtnIcon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.18);
    font-size: 12px;
}

@media only screen and (max-width: 1000px) {
    .topGalleryArea {
        padding: 50px 16px 50px;
    }
    .galleryTitle {
        font-size: 30px;
    }
    .galleryCatch {
        font-size: 18px;
    }
    .galleryMarqueeSet {
        gap: 16px;
        padding-right: 16px;
    }
    .galleryCard {
        flex-basis: calc((100vw - 48px) / 2.5);
        width: calc((100vw - 48px) / 2.5);
    }
    .galleryTrack {
        animation-duration: 40s;
    }
    .galleryBtn a {
        min-width: 80%;
        width: 80%;
        max-width: 360px;
    }
}

@media only screen and (max-width: 600px) {
    .galleryCard {
        flex-basis: calc((100vw - 32px) / 1.5);
        width: calc((100vw - 32px) / 1.5);
    }
    .galleryTrack {
        animation-duration: 32s;
    }
}

@media (prefers-reduced-motion: reduce) {
    .galleryTrack {
        animation: none;
    }
}


/* --------------------------------
RACING CAR RENTAL
-------------------------------- */
.rentalArea {
    background-color: #f78f1e;
    background-image:
        linear-gradient(rgba(247, 143, 30, 0.72), rgba(247, 143, 30, 0.72)),
        url("images/top/bg_top_image01.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    color: #fff;
    padding: 80px 10px 70px;
    box-sizing: border-box;
}

.rentalInner {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
}

.rentalTitle {
    margin: 0;
    padding: 0;
    color: #1a1a32;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 42px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.02em;
    line-height: 1.1;
}

.rentalTitleJa {
    margin: 8px 0 0;
    padding: 0;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 13px;
    font-weight: 500;
}

.rentalCatch {
    margin: 28px 0 16px;
    padding: 0;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.6;
}

.rentalLead {
    margin: 0 0 48px;
    padding: 0;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.8;
    max-width: 780px;
}

.rentalGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.rentalCard {
    margin: 0;
    padding: 0;
    background: #000;
    overflow: hidden;
}

.rentalPhoto {
    width: 100%;
    aspect-ratio: 16 / 10;
    background-color: #222;
    overflow: hidden;
}

.rentalPhoto a,
.rentalPhoto img {
    display: block;
    width: 100%;
    height: 100%;
}

.rentalPhoto img {
    object-fit: cover;
}

.rentalCardBody {
    padding: 22px 18px 24px;
    background: #000;
    text-align: center;
}

.rentalCardTitle {
    margin: 0;
    padding: 0;
    color: #ff8900;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 28px;
    font-weight: 700;
    font-style: italic;
    line-height: 1.1;
}

.rentalCardJa {
    margin: 6px 0 20px;
    padding: 0;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 500;
}

.rentalSpecs {
    display: flex;
    justify-content: center;
    gap: 10px;
    list-style: none;
    margin: 0 0 22px;
    padding: 0;
}

.rentalSpecs li {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 8px 4px;
}

.rentalSpecLabel,
.rentalSpecUnit {
    color: #1a1a32;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
}

.rentalSpecValue {
    color: #ff8900;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 24px;
    font-weight: 700;
    font-style: italic;
    line-height: 1.1;
    margin: 0;
}

.rentalCardBtn {
    display: inline-block;
    min-width: 160px;
    padding: 10px 22px;
    border-radius: 40px;
    background: #ff8900;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 13px;
    font-weight: 700;
}

.rentalCardBtn::after {
    content: " >";
}

.rentalBtn {
    text-align: center;
    margin: 48px 0 0;
}

.rentalBtn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-width: 280px;
    padding: 14px 22px 14px 40px;
    border-radius: 40px;
    background: #404040;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 700;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.22);
    box-sizing: border-box;
    transition: opacity .2s ease;
}

.rentalBtn a:hover {
    opacity: 0.9;
}

.rentalBtnIcon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    font-size: 12px;
}

@media only screen and (max-width: 1000px) {
    .rentalArea {
        padding: 50px 16px 50px;
        background-position: center;
    }
    .rentalTitle {
        font-size: 28px;
    }
    .rentalCatch {
        font-size: 18px;
    }
    .rentalGrid {
        grid-template-columns: 1fr;
        max-width: 480px;
        margin: 0 auto;
    }
    .rentalBtn a {
        min-width: 80%;
        width: 80%;
        max-width: 360px;
    }
}


/* --------------------------------
ABOUT US
-------------------------------- */
.aboutUsArea {
    position: relative;
    background-color: #333;
}

.aboutUsInner {
    display: flex;
    align-items: stretch;
    max-width: 1400px;
    width: 100%;
    min-height: 560px;
    margin: 0 auto;
    padding: 0 10px;
    box-sizing: border-box;
}

.aboutUsText {
    flex: 0 1 50%;
    width: 50%;
    box-sizing: border-box;
    padding: 80px 40px 80px 0;
    background-color: transparent;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.aboutUsTitle {
    margin: 0;
    padding: 0;
    color: #ff5400;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 52px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.02em;
    line-height: 1.05;
}

.aboutUsTitleJa {
    margin: 8px 0 0;
    padding: 0;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 13px;
    font-weight: 500;
}

.aboutUsLead {
    margin: 28px 0 18px;
    padding: 0;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.7;
}

.aboutUsBody {
    margin: 0 0 36px;
    padding: 0;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.9;
    max-width: 520px;
}

.aboutUsBtn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 20px 14px 28px;
    border-radius: 40px;
    background: #ff8900;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.28);
    box-sizing: border-box;
    transition: opacity .2s ease;
}

.aboutUsBtn a:hover {
    opacity: 0.9;
}

.aboutUsBtnIcon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    font-size: 11px;
}

.aboutUsPhoto {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 50%;
    width: auto;
    min-height: 0;
    background-image: url("images/top/bg_about.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media only screen and (max-width: 1000px) {
    .aboutUsInner {
        flex-direction: column;
        min-height: 0;
        padding: 0;
    }
    .aboutUsText {
        width: 100%;
        padding: 50px 16px;
        flex: none;
    }
    .aboutUsTitle {
        font-size: 34px;
    }
    .aboutUsLead {
        font-size: 17px;
    }
    .aboutUsPhoto {
        position: static;
        left: auto;
        right: auto;
        width: 100%;
        min-height: 320px;
    }
    .aboutUsBtn a {
        width: 100%;
        max-width: 420px;
    }
}


/* --------------------------------
SPONSOR
-------------------------------- */
.sponsorArea {
    background-color: #f3f3f3;
    color: #333;
    padding: 80px 10px 70px;
    box-sizing: border-box;
}

.sponsorInner {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
}

.sponsorTitle {
    margin: 0;
    padding: 0;
    color: #ff8900;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 42px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.02em;
    line-height: 1.1;
}

.sponsorTitleJa {
    margin: 8px 0 0;
    padding: 0;
    color: #555;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 13px;
    font-weight: 500;
}

.sponsorCatch {
    margin: 28px 0 16px;
    padding: 0;
    color: #333 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.6;
}

.sponsorLead {
    margin: 0 0 48px;
    padding: 0;
    color: #555 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.8;
    max-width: 720px;
}

.sponsorSliderWrap {
    position: relative;
    padding: 0 56px;
    box-sizing: border-box;
}

.sponsorViewport {
    overflow: hidden;
    width: 100%;
}

.sponsorTrack {
    --sponsor-cols: 4;
    --sponsor-gap: 24px;
    display: flex;
    width: 100%;
    gap: var(--sponsor-gap);
    list-style: none;
    margin: 0;
    padding: 0;
    transition: transform .4s ease;
    will-change: transform;
    box-sizing: border-box;
}

.sponsorCard {
    flex: 0 0 calc((100% - (var(--sponsor-cols) - 1) * var(--sponsor-gap)) / var(--sponsor-cols));
    min-width: 0;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.sponsorLogo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 110px;
    padding: 24px 20px;
    background-color: #fff;
    box-sizing: border-box;
}

.sponsorLogo img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 56px;
    height: auto;
}

.sponsorSliderBtn {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 1px solid #ddd;
    border-radius: 50%;
    background-color: #fff;
    color: #333;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    transform: translateY(-50%);
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.sponsorSliderPrev {
    left: 0;
}

.sponsorSliderNext {
    right: 0;
}

.sponsorSliderBtn:hover {
    background-color: #ff8900;
    border-color: #ff8900;
    color: #fff;
}

.sponsorBtn {
    text-align: center;
    margin: 48px 0 0;
}

.sponsorBtn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-width: 360px;
    padding: 14px 22px 14px 40px;
    border-radius: 40px;
    background: #ff8900;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 700;
    box-shadow: 0 6px 14px rgba(234, 85, 4, 0.28);
    box-sizing: border-box;
    transition: opacity .2s ease;
}

.sponsorBtn a:hover {
    opacity: 0.9;
}

@media only screen and (max-width: 1000px) {
    .sponsorArea {
        padding: 50px 16px 50px;
    }
    .sponsorTitle {
        font-size: 30px;
    }
    .sponsorCatch {
        font-size: 18px;
    }
    .sponsorSliderWrap {
        padding: 0 44px;
    }
    .sponsorTrack {
        --sponsor-cols: 2;
        --sponsor-gap: 16px;
    }
}

@media only screen and (max-width: 600px) {
    .sponsorSliderWrap {
        padding: 0 40px;
    }
    .sponsorTrack {
        --sponsor-cols: 1;
        --sponsor-gap: 16px;
    }
    .sponsorSliderBtn {
        width: 36px;
        height: 36px;
        font-size: 14px;
    }
    .sponsorBtn a {
        min-width: 80%;
        width: 80%;
        max-width: 400px;
    }
}


/* --------------------------------
新フッター（FIRST GARAGE）
-------------------------------- */
.siteFooter {
    clear: both;
    background-color: #2c2c2c;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
}

.siteFooterInner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 56px 40px 40px;
    box-sizing: border-box;
}

.siteFooterBrand {
    margin: 0 0 36px;
}

.siteFooterLogo {
    margin: 0;
    padding: 0;
}

.siteFooterLogo a {
    display: inline-block;
}

.siteFooterLogo img {
    display: block;
    width: auto;
    max-width: 340px;
    height: auto;
}

.siteFooterCompany {
    margin: 10px 0 0;
    padding: 0;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.04em;
}

.siteFooterMain {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 24px;
}

.siteFooterShops {
    display: flex;
    flex: 0 0 auto;
    gap: 24px;
}

.siteFooterShop {
    flex: 0 0 auto;
    min-width: 280px;
}

.siteFooterShopName {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px;
    padding: 0;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
}

.siteFooterShopName i {
    color: #fff;
    font-size: 16px;
    line-height: 1;
}

.siteFooterShopAddress {
    margin: 0 0 12px;
    padding: 0;
    color: #fff;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.7;
}

.siteFooterShopTel,
.siteFooterShopFax {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: baseline;
    gap: 4px;
    margin: 0;
    padding: 0;
    font-family: "Barlow Semi Condensed", Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.4;
    white-space: nowrap;
}

.siteFooterShopTel {
    margin-bottom: 2px;
}

.siteFooterShopTel .siteFooterShopNum {
    color: #ff8900 !important;
}

.siteFooterShopTel .siteFooterShopNum:hover {
    opacity: 0.85;
}

.siteFooterShopFax {
    margin-bottom: 18px;
    color: #fff;
}

.siteFooterShopLabel {
    display: inline-block;
    flex: 0 0 2em;
    width: 2em;
    white-space: nowrap;
}

.siteFooterShopNum {
    display: inline-block;
    flex: 0 0 auto;
    white-space: nowrap;
}

.siteFooterShopBtn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 200px;
    padding: 8px 28px;
    border: 1px solid #fff;
    border-radius: 40px;
    color: #fff !important;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    box-sizing: border-box;
    transition: background-color .2s ease, color .2s ease;
}

.siteFooterShopBtn a:hover {
    background-color: #fff;
    color: #2c2c2c !important;
}

.siteFooterNav {
    display: flex;
    flex: 0 0 auto;
    align-items: flex-start;
}

.siteFooterNavCol {
    list-style: none;
    margin: 0;
    padding: 4px 32px;
    border-left: 1px solid rgba(255, 255, 255, 0.75);
    box-sizing: border-box;
}

.siteFooterNavCol li {
    margin: 0 0 14px;
}

.siteFooterNavCol li:last-child {
    margin-bottom: 0;
}

.siteFooterNavCol a {
    color: #fff !important;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
    transition: color .2s ease;
}

.siteFooterNavCol a:hover,
.siteFooterNavCol .is-accent a {
    color: #ff8900 !important;
}

.siteFooterSns {
    display: flex;
    align-items: center;
    gap: 22px;
    list-style: none;
    margin: 48px 0 0;
    padding: 0;
}

.siteFooterSns a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    font-size: 22px;
    line-height: 1;
    transition: color .2s ease;
}

.siteFooterSns a:hover {
    color: #ff8900 !important;
}

.siteFooterCopy {
    background-color: #ff8900;
    text-align: center;
    padding: 14px 20px;
}

.siteFooterCopy p {
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.04em;
}

@media only screen and (max-width: 1100px) {
    .siteFooterInner {
        padding: 48px 24px 32px;
    }
    .siteFooterMain {
        flex-wrap: wrap;
        align-items: stretch;
        gap: 36px 0;
    }
    .siteFooterShops {
        flex: 1 1 100%;
        gap: 24px;
    }
    .siteFooterNav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        flex: 1 1 100%;
        width: 100%;
    }
    .siteFooterNavCol {
        min-width: 0;
        padding: 0 16px;
        border-left: none;
    }
    .siteFooterNavCol:first-child {
        padding-left: 0;
    }
    .siteFooterNavCol + .siteFooterNavCol {
        border-left: 1px solid rgba(255, 255, 255, 0.75);
        padding-left: 16px;
    }
    .siteFooterNavCol a {
        white-space: normal;
    }
}

@media only screen and (max-width: 700px) {
    .siteFooterInner {
        padding: 40px 20px 28px;
    }
    .siteFooterLogo img {
        max-width: 240px;
    }
    .siteFooterBrand {
        margin-bottom: 28px;
    }
    .siteFooterMain {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
    }
    .siteFooterShops {
        flex-direction: column;
        width: 100%;
        gap: 32px;
    }
    .siteFooterNav {
        grid-template-columns: 1fr;
        width: 100%;
        gap: 0;
    }
    .siteFooterNavCol {
        padding: 0;
        border-left: none;
    }
    .siteFooterNavCol + .siteFooterNavCol {
        margin-top: 20px;
        padding: 20px 0 0;
        border-left: none;
        border-top: 1px solid rgba(255, 255, 255, 0.35);
    }
    .siteFooterNavCol a {
        white-space: normal;
        overflow-wrap: anywhere;
    }
    .siteFooterSns {
        margin-top: 36px;
        gap: 18px;
    }
}


/* --------------------------------
詳しく見るボタン（矢印右端固定）
-------------------------------- */
.rcsBtn a,
.staffBtn a,
.memberBtn a,
.topNewsBtn a,
.galleryBtn a,
.rentalBtn a,
.aboutUsBtn a,
.sponsorBtn a,
a.rentalCardBtn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-right: 48px;
    box-sizing: border-box;
}

.rcsBtn a::after,
.rentalCardBtn::after {
    content: none;
}

.rcsBtnIcon,
.staffBtnIcon,
.memberBtnIcon,
.topNewsBtnIcon,
.galleryBtnIcon,
.rentalBtnIcon,
.aboutUsBtnIcon,
.sponsorBtnIcon,
.rentalCardBtnIcon {
    position: absolute;
    right: 22px;
    top: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: none;
    font-size: 14px;
    line-height: 1;
    transform: translateY(-50%);
}

a.rentalCardBtn {
    padding-right: 36px;
}

    .rentalCardBtnIcon {
    right: 14px;
    font-size: 12px;
}

.staffSliderWrap,
.memberSliderWrap,
.topNewsSliderWrap,
.sponsorSliderWrap,
.staffViewport,
.memberViewport,
.topNewsViewport,
.sponsorViewport {
    touch-action: pan-y;
    overscroll-behavior-x: none;
}

.staffTrack,
.memberTrack,
.topNewsTrack,
.sponsorTrack {
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
}

.staffTrack.is-dragging,
.memberTrack.is-dragging,
.topNewsTrack.is-dragging,
.sponsorTrack.is-dragging {
    cursor: grabbing;
}

.staffTrack img,
.memberTrack img,
.topNewsTrack img,
.sponsorTrack img {
    -webkit-user-drag: none;
    user-select: none;
    pointer-events: none;
}


/* --------------------------------
RACING CAREER SUPPORT PAGE
-------------------------------- */
.careerPage {
    background-color: #000;
    color: #fff;
}

.careerPage > h1 {
    position: relative;
    margin: 0;
    padding: 90px 20px 70px;
    color: #fff;
    text-align: center;
    background: #111;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 56px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

.careerInner {
    max-width: 1180px;
    width: 100%;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box;
}

.careerLabel {
    margin: 0 0 18px;
    padding: 0;
    color: #ff8900;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.22em;
    line-height: 1;
}

.careerLabelDark {
    color: #c45a00;
}

.careerLeadTitle {
    margin: 0 0 36px;
    padding: 0;
    color: #111 !important;
    font-family: "Noto Serif JP", "Noto Sans JP", serif;
    font-size: 46px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.02em;
}

.careerLeadTitleWhite {
    color: #fff !important;
    margin-bottom: 72px;
}

.careerHero {
    position: relative;
    overflow: hidden;
    min-height: 760px;
    padding: 90px 0 120px;
    background:
        radial-gradient(ellipse at 78% 18%, rgba(255, 137, 0, 0.16) 0%, rgba(0, 0, 0, 0) 46%),
        linear-gradient(180deg, #1a120c 0%, #000 58%, #000 100%);
    box-sizing: border-box;
}

.careerHero::before,
.careerHero::after {
    content: "";
    position: absolute;
    pointer-events: none;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
}

.careerHero::before {
    top: -18%;
    right: -22%;
    width: 78%;
    height: 120%;
}

.careerHero::after {
    top: 8%;
    right: -8%;
    width: 58%;
    height: 92%;
    border-color: rgba(255, 255, 255, 0.08);
}

.careerHero .careerInner {
    position: relative;
    z-index: 1;
    max-width: 820px;
    margin: 0;
    padding-left: max(40px, calc((100% - 1180px) / 2 + 40px));
}

.careerHeroTitle {
    margin: 0;
    padding: 0;
    color: #fff !important;
    text-align: left;
    background: none;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 92px;
    font-weight: 700;
    line-height: 0.88;
    letter-spacing: 0.01em;
}

.careerHeroTitleJa {
    margin: 28px 0 0;
    padding: 0;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 500;
}

.careerHeroCatch {
    margin: 36px 0 0;
    padding: 0;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.8;
}

.careerHeroLead {
    margin: 28px 0 0;
    padding: 0;
    max-width: 640px;
    color: rgba(255, 255, 255, 0.78) !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 2;
}

.careerHeroBtn {
    margin: 44px 0 0;
}

.careerHeroBtn a {
    display: inline-flex;
    align-items: center;
    min-height: 52px;
    padding: 0 36px;
    border: 1px solid rgba(255, 255, 255, 0.55);
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.04em;
    box-sizing: border-box;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.careerHeroBtn a::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 1px;
    margin-right: 14px;
    background-color: currentColor;
}

.careerHeroBtn a:hover {
    background-color: #ff8900;
    border-color: #ff8900;
    color: #fff !important;
}

.careerHeroScroll {
    position: absolute;
    right: 36px;
    bottom: 48px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    color: rgba(255, 255, 255, 0.7) !important;
    writing-mode: vertical-rl;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.28em;
}

.careerHeroScroll::after {
    content: "";
    width: 1px;
    height: 56px;
    background-color: rgba(255, 255, 255, 0.45);
}

.careerIntro {
    background-color: #f4f1ea;
    color: #111;
    padding: 110px 0 100px;
    scroll-margin-top: 24px;
}

.careerIntroGrid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: 72px;
    align-items: start;
}

.careerIntroText p,
.careerBlockText p {
    margin: 0 0 22px;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 2;
}

.careerIntroText p {
    color: #333 !important;
}

.careerQuestionList {
    margin: 8px 0 32px;
    padding: 0;
    list-style: none;
}

.careerQuestionList li {
    margin: 0;
    padding: 16px 0;
    border-top: 1px solid #ddd4c8;
    color: #333 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    line-height: 1.7;
}

.careerQuestionList li:last-child {
    border-bottom: 1px solid #ddd4c8;
}

.careerPhoto {
    margin: 8px 0 0;
    padding: 0;
}

.careerPhotoFrame {
    width: 100%;
    aspect-ratio: 3 / 2;
    background-color: #ddd7cd;
    background-image: repeating-linear-gradient(
        -32deg,
        rgba(255, 255, 255, 0.28) 0,
        rgba(255, 255, 255, 0.28) 1px,
        transparent 1px,
        transparent 14px
    );
}

.careerPhotoFrame img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.careerPhoto figcaption {
    margin: 10px 0 0;
    color: #8a8378 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 11px;
    letter-spacing: 0.04em;
}

.careerPhotoDark .careerPhotoFrame {
    background-color: #1c1c1c;
    background-image: repeating-linear-gradient(
        -32deg,
        rgba(255, 255, 255, 0.06) 0,
        rgba(255, 255, 255, 0.06) 1px,
        transparent 1px,
        transparent 14px
    );
}

.careerPhotoDark figcaption {
    color: rgba(255, 255, 255, 0.42) !important;
}

.careerSupport {
    background-color: #0a0a0a;
    padding: 110px 0 40px;
}

.careerBlock {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
    gap: 64px;
    align-items: start;
    margin: 0 0 28px;
    padding: 48px 0 56px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.careerBlock:last-child {
    margin-bottom: 0;
}

.careerBlockNum {
    margin: 0 0 8px !important;
    color: #ff8900 !important;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 28px;
    font-weight: 700;
    font-style: italic;
    line-height: 1;
}

.careerBlockText h3 {
    margin: 0;
    padding: 0;
    color: #fff !important;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.1;
}

.careerBlockJa {
    margin: 10px 0 18px !important;
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 13px !important;
}

.careerBlockText p {
    color: rgba(255, 255, 255, 0.82) !important;
}

.careerFlow {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-top: 8px;
}

.careerFlowRow {
    display: grid;
    gap: 12px;
}

.careerFlowRow2 {
    grid-template-columns: 1fr 1fr;
}

.careerFlowRow3 {
    grid-template-columns: 1fr 1fr 1fr;
}

.careerFlow span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    padding: 10px 8px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.78);
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    line-height: 1.4;
    text-align: center;
    box-sizing: border-box;
}

.careerStep {
    background-color: #f4f1ea;
    color: #111;
    padding: 110px 0 100px;
}

.careerStepList {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 24px 18px;
    margin: 64px 0 0;
    padding: 40px 0 0;
    list-style: none;
    border-top: none;
    position: relative;
}

.careerStepList::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background-color: #ddd4c8;
}

.careerStepList li {
    position: relative;
    margin: 0;
    padding: 0;
}

.careerStepList li::before {
    content: "";
    position: absolute;
    top: -40px;
    left: 0;
    width: 10px;
    height: 10px;
    margin-top: -4px;
    border-radius: 50%;
    background-color: #ff8900;
}

.careerStepNum {
    margin: 0 0 10px !important;
    color: #c45a00 !important;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
}

.careerStepList h3 {
    margin: 0 0 8px;
    padding: 0;
    color: #111 !important;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

.careerStepCatch {
    margin: 0 0 10px !important;
    color: #111 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

.careerStepList p {
    margin: 0;
    color: #555 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}

.careerStepScrollNote {
    display: none;
}

.careerRoute {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 72px 0 16px;
    color: #222;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.careerRoute i {
    color: #ff8900;
    font-size: 16px;
}

.careerRouteNote {
    margin: 0;
    color: #8a8378 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    line-height: 1.7;
}

.careerForDriver {
    background-color: #0a0a0a;
    padding: 110px 0 90px;
}

.careerNeedList {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 64px;
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
}

.careerNeedList li {
    margin: 0;
    padding: 18px 0 18px 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    line-height: 1.7;
    position: relative;
}

.careerNeedList li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 27px;
    width: 8px;
    height: 1px;
    background-color: #ff8900;
}

.careerFamily {
    background-color: #f4f1ea;
    color: #111;
    padding: 110px 0 100px;
}

.careerFamily .careerInner {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}

.careerFamily p:not(.careerLabel) {
    margin: 0 0 22px;
    color: #555 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    line-height: 2;
}

.careerHeroBtnLight {
    margin-top: 36px;
}

.careerHeroBtnLight a {
    border-color: #111;
    color: #111 !important;
}

.careerHeroBtnLight a:hover {
    background-color: #ff8900;
    border-color: #ff8900;
    color: #fff !important;
}

.careerTeam {
    background-color: #000;
    padding: 110px 0 90px;
    text-align: center;
}

.careerLabelCenter {
    text-align: center;
}

.careerEnTitle {
    margin: 0;
    padding: 0;
    color: #fff !important;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 64px;
    font-weight: 700;
    line-height: 0.92;
    letter-spacing: 0.02em;
    text-align: center;
}

.careerEnTitleLeft {
    text-align: left;
}

.careerTeamCatch {
    margin: 22px 0 0;
    color: rgba(255, 255, 255, 0.78) !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
}

.careerTeamDiagram {
    position: relative;
    width: 624px;
    height: 624px;
    margin: 56px auto 48px;
}

.careerTeamLines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.careerTeamLines line {
    stroke: #fff;
    stroke-width: 1;
}

.careerTeamCenter {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 158px;
    height: 158px;
    margin: -79px 0 0 -79px;
    border: 2px solid #ff8900;
    border-radius: 50%;
    background-color: #000;
    color: #fff;
}

.careerTeamCenter strong {
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1;
}

.careerTeamCenter span {
    margin-top: 6px;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.7);
}

.careerTeamNode {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 110px;
    height: 110px;
    margin: -55px 0 0 -55px;
    border: 1px solid #fff;
    border-radius: 50%;
    background-color: #111;
    color: #fff;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-align: center;
    transform: rotate(var(--a)) translate(228px) rotate(calc(var(--a) * -1));
}

.careerTeamLead {
    max-width: 820px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.78) !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    line-height: 2;
    text-align: left;
}

.careerWorld {
    position: relative;
    min-height: 420px;
    padding: 90px 0 80px;
    background-color: #151515;
    background-image: repeating-linear-gradient(
        -32deg,
        rgba(255, 255, 255, 0.045) 0,
        rgba(255, 255, 255, 0.045) 1px,
        transparent 1px,
        transparent 16px
    );
    box-sizing: border-box;
}

.careerWorld .careerWorldLead {
    max-width: 640px;
    margin: 0;
    color: rgba(255, 255, 255, 0.78) !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    line-height: 2;
}

.careerWorld p.careerWorldCap {
    position: absolute;
    left: 40px;
    bottom: 24px;
    max-width: none;
    margin: 0;
    color: rgba(255, 255, 255, 0.42) !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: 0.04em;
}

.careerSim {
    background-color: #f4f1ea;
    color: #111;
    padding: 110px 0 80px;
}

.careerSimCatch {
    margin: -18px 0 40px;
    color: #333 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 700;
}

.careerSimGrid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 56px;
    align-items: start;
}

.careerSimText p {
    margin: 0 0 22px;
    color: #555 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    line-height: 2;
}

.careerSimTags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
}

.careerSimTags li {
    margin: 0;
    padding: 10px 14px;
    border: 1px solid #d8d1c6;
    color: #333 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    line-height: 1.4;
}

.careerCycle {
    position: relative;
    width: 520px;
    height: 360px;
    margin: 64px auto 0;
}

.careerCycleRing {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 280px;
    height: 280px;
    margin: -140px 0 0 -140px;
    border: 1px solid #d8d1c6;
    border-radius: 50%;
}

.careerCycleArrow {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0;
    height: 0;
    margin: -5px 0 0 -4px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 10px solid #ff8900;
    transform: rotate(var(--a)) translate(140px) rotate(180deg);
}

.careerCycleNode {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 118px;
    height: 118px;
    border: 1px solid #d8d1c6;
    border-radius: 50%;
    background-color: #f4f1ea;
    text-align: center;
    box-sizing: border-box;
}

.careerCycleNode strong {
    color: #111;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

.careerCycleNode span {
    margin-top: 6px;
    color: #666;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 11px;
    line-height: 1.4;
}

.careerCycleTop,
.careerCycleBottom {
    border-color: #ff8900;
}

.careerCycleTop {
    left: 50%;
    top: 0;
    margin-left: -59px;
}

.careerCycleRight {
    right: 80px;
    top: 50%;
    margin-top: -59px;
}

.careerCycleBottom {
    left: 50%;
    bottom: 0;
    margin-left: -59px;
}

.careerCycleLeft {
    left: 80px;
    top: 50%;
    margin-top: -59px;
}

.careerContact {
    background-color: #000;
    padding: 110px 0 100px;
}

.careerContactCatch {
    margin: 22px 0 28px;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.7;
}

.careerContactLead {
    max-width: 720px;
    margin: 0;
    color: rgba(255, 255, 255, 0.78) !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    line-height: 2;
}

.careerContactFoot {
    margin: 56px 0 0;
    padding: 28px 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.55) !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 13px;
    line-height: 1.8;
}

@media only screen and (max-width: 1000px) {
    .careerInner {
        padding: 0 20px;
    }
    .careerPage > h1 {
        padding: 70px 16px 50px;
        font-size: 36px;
    }
    .careerHero {
        min-height: 0;
        padding: 56px 0 88px;
    }
    .careerHero .careerInner {
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }
    .careerHeroTitle {
        font-size: 48px;
    }
    .careerHeroCatch {
        font-size: 18px;
    }
    .careerHeroScroll {
        right: 16px;
        bottom: 24px;
    }
    .careerIntro,
    .careerSupport,
    .careerStep,
    .careerForDriver,
    .careerFamily,
    .careerTeam,
    .careerSim,
    .careerContact {
        padding: 64px 0 48px;
    }
    .careerWorld {
        min-height: 0;
        padding: 56px 0 72px;
    }
    .careerLeadTitle {
        font-size: 30px;
        margin-bottom: 24px;
    }
    .careerLeadTitleWhite {
        margin-bottom: 36px;
    }
    .careerEnTitle {
        font-size: 36px;
    }
    .careerIntroGrid,
    .careerBlock,
    .careerSimGrid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .careerBlock {
        padding: 32px 0 36px;
    }
    .careerBlockText h3 {
        font-size: 26px;
    }
    .careerFlowRow2,
    .careerFlowRow3 {
        grid-template-columns: 1fr 1fr;
    }
    .careerStepScroll {
        overflow-x: auto;
        overflow-y: hidden;
        margin: 40px -20px 0;
        padding: 12px 20px 12px;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
    }
    .careerStepList {
        display: grid;
        grid-template-columns: repeat(6, 168px);
        width: max-content;
        gap: 0 20px;
        margin-top: 0;
        padding-top: 40px;
        padding-right: 20px;
    }
    .careerStepList li {
        min-width: 168px;
    }
    .careerStepScrollNote {
        display: block;
        margin: 4px 0 0;
        color: #8a8378 !important;
        font-family: "Noto Sans JP", sans-serif;
        font-size: 11px;
        line-height: 1.6;
    }
    .careerRoute {
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px 16px;
        margin-top: 48px;
        font-size: 20px;
    }
    .careerNeedList {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .careerTeamDiagram,
    .careerCycle {
        width: 100%;
        max-width: 360px;
        height: 360px;
    }
    .careerTeamNode {
        width: 72px;
        height: 72px;
        margin: -36px 0 0 -36px;
        font-size: 9px;
        transform: rotate(var(--a)) translate(132px) rotate(calc(var(--a) * -1));
    }
    .careerTeamCenter {
        width: 100px;
        height: 100px;
        margin: -50px 0 0 -50px;
    }
    .careerWorld p.careerWorldCap {
        left: 20px;
        bottom: 16px;
    }
    .careerCycleRing {
        width: 200px;
        height: 200px;
        margin: -100px 0 0 -100px;
    }
    .careerCycleNode {
        width: 96px;
        height: 96px;
    }
    .careerCycleTop,
    .careerCycleBottom {
        margin-left: -48px;
    }
    .careerCycleRight,
    .careerCycleLeft {
        margin-top: -48px;
    }
    .careerCycleRight {
        right: 0;
    }
    .careerCycleLeft {
        left: 0;
    }
    .careerHeroBtn a {
        width: 100%;
        justify-content: center;
    }
}


/* --------------------------------
SPONSOR PAGE
-------------------------------- */
.sponsorPage {
    background-color: #f4f4f4;
    background-image:
        linear-gradient(rgba(244, 244, 244, 0.72), rgba(244, 244, 244, 0.72)),
        url("images/top/bg_top_image01.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    color: #111;
}

.sponsorPage > h1 {
    position: relative;
    margin: 0;
    padding: 90px 20px 70px;
    color: #fff;
    text-align: center;
    background-color: #111;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 56px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

.sponsorPageInner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 70px 20px 90px;
    box-sizing: border-box;
}

.sponsorPageBlock {
    padding: 48px 40px 44px;
    background-color: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    box-sizing: border-box;
}

.sponsorPageBlock > section + section {
    margin-top: 56px;
}

.sponsorPageLabel {
    margin: 0 0 14px;
    padding: 0;
    color: #ff8900;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    line-height: 1;
}

.sponsorPageBlock h2 {
    margin: 0 0 24px;
    padding: 0 0 16px;
    color: #111 !important;
    text-align: left;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.45;
    border-bottom: 2px solid #ff8900;
}

.sponsorPageCatch {
    margin: 0 0 22px !important;
    color: #111 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.7;
}

.sponsorPageBlock p {
    margin: 0 0 16px;
    color: #333 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.9;
}

.sponsorPageBlock section > p:last-of-type {
    margin-bottom: 0;
}

.sponsorPageItems,
.sponsorPageFlow {
    display: grid;
    gap: 16px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.sponsorPageItems {
    grid-template-columns: 1fr 1fr;
}

.sponsorPageFlow {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 36px;
}

.sponsorPageFlowIcon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 20px auto 12px;
    color: #ff8900;
    font-size: 40px;
    line-height: 1;
}

.sponsorPageItems li,
.sponsorPageFlow li {
    margin: 0;
    padding: 22px 20px 20px;
    background-color: #f7f7f7;
    box-sizing: border-box;
}

.sponsorPageFlow li {
    position: relative;
}

.sponsorPageFlow li + li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -24px;
    width: 10px;
    height: 10px;
    margin-top: -7px;
    border-top: 2px solid #ff8900;
    border-right: 2px solid #ff8900;
    transform: rotate(45deg);
}

.sponsorPageNum {
    margin: 0 0 8px !important;
    color: #ff8900 !important;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
}

.sponsorPageItems h3,
.sponsorPageFlow h3 {
    margin: 0 0 10px;
    padding: 0;
    color: #111 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
}

.sponsorPageFlow h3 {
    text-align: center;
}

.sponsorPageItems p,
.sponsorPageFlow p:not(.sponsorPageNum) {
    margin: 0;
    font-size: 14px;
    line-height: 1.8;
}

.sponsorPageBlock .sponsorPageFlow p.sponsorPageNum {
    position: absolute;
    top: 14px;
    left: 16px;
    margin: 0 !important;
    color: #111 !important;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    text-align: left;
}

.sponsorPageBlock .sponsorBtn {
    margin-top: 32px;
    text-align: center;
}

@media only screen and (max-width: 1000px) {
    .sponsorPage > h1 {
        padding: 70px 16px 50px;
        font-size: 36px;
    }
    .sponsorPageInner {
        padding: 40px 16px 60px;
    }
    .sponsorPageBlock {
        padding: 28px 18px 24px;
    }
    .sponsorPageBlock > section + section {
        margin-top: 40px;
    }
    .sponsorPageBlock h2 {
        font-size: 22px;
    }
    .sponsorPageItems,
    .sponsorPageFlow {
        grid-template-columns: 1fr;
    }
    .sponsorPageFlow {
        gap: 44px;
    }
    .sponsorPageFlow li + li::before {
        top: -28px;
        left: 50%;
        margin-top: 0;
        margin-left: -7px;
        border-top: none;
        border-right: 2px solid #ff8900;
        border-bottom: 2px solid #ff8900;
    }
}


/* --------------------------------
RECRUIT PAGE
-------------------------------- */
.recruitPage {
    background-color: #f4f4f4;
    background-image:
        linear-gradient(rgba(244, 244, 244, 0.72), rgba(244, 244, 244, 0.72)),
        url("images/top/bg_top_image01.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    color: #111;
}

.recruitPage > h1 {
    position: relative;
    margin: 0;
    padding: 90px 20px 70px;
    color: #fff;
    text-align: center;
    background-color: #111;
    background-image: linear-gradient(rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38)), url("/wp-content/themes/first/images/head_stock.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 56px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

.recruitPageInner {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    padding: 70px 20px 90px;
    box-sizing: border-box;
}

.recruitPageBlock {
    padding: 48px 40px 44px;
    background-color: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    box-sizing: border-box;
}

.recruitPageBlock > section + section {
    margin-top: 64px;
}

.recruitPageBlock h2 {
    margin: 0 0 24px;
    padding: 0 0 16px;
    color: #111 !important;
    text-align: left;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.45;
    border-bottom: 2px solid #ff8900;
}

.recruitPageBlock h3 {
    margin: 36px 0 18px;
    padding: 0 0 0 14px;
    color: #111 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    border-left: 4px solid #ff8900;
}

.recruitPageBlock p.recruitPageCatch {
    margin: 0 0 22px !important;
    color: #111 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.7;
}

.recruitPageBlock p {
    margin: 0 0 16px;
    color: #333 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.9;
}

.recruitPageBlock p.recruitPageLabel {
    margin: 0 0 14px;
    padding: 0;
    color: #ff8900 !important;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    line-height: 1;
}

.recruitPageBlock p.recruitPageNum {
    margin: 0 0 8px !important;
    color: #ff8900 !important;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
}

.recruitPageHeading {
    display: flex;
    align-items: baseline;
    gap: 14px;
    margin: 0 0 24px;
    padding: 0 0 16px;
    border-bottom: 2px solid #ff8900;
}

.recruitPageBlock .recruitPageHeading h2 {
    flex: 1;
    margin: 0;
    padding: 0;
    border-bottom: none;
}

.recruitPageBlock .recruitPageHeading p.recruitPageNum {
    margin: 0 !important;
}

.recruitPageBlock .recruitPageHeading p.recruitPageLabel {
    margin: 0 0 2px;
}

.recruitPagePoints {
    margin: 8px 0 20px;
    padding: 0;
    list-style: none;
}

.recruitPagePoints li {
    margin: 0;
    padding: 0;
    color: #111;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.8;
}

.recruitPageCards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 36px 0 0;
}

.recruitPageCard {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 280px;
    padding: 28px 24px;
    background-color: #1a1a1a;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    overflow: hidden;
    text-decoration: none;
}

.recruitPageCard::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.15) 55%);
}

.recruitPageCard--driver {
    background-image: url("images/recruit_driver.jpg");
}

.recruitPageCard--mechanic {
    background-image: url("images/recruit_mechanic.jpg");
}

.recruitPageCardEn,
.recruitPageCardJa {
    position: relative;
    z-index: 1;
}

.recruitPageCardEn {
    color: #fff !important;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
}

.recruitPageCardJa {
    margin-top: 8px;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
}

.recruitPageCard:hover {
    opacity: 0.92;
}

.recruitPagePhoto {
    margin: 0 0 28px;
}

.recruitPagePhoto img {
    display: block;
    width: 100%;
    height: auto;
}

.recruitPageTable {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
}

.recruitPageTable th,
.recruitPageTable td {
    padding: 16px 18px;
    border-bottom: 1px solid #eee;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    line-height: 1.8;
    text-align: left;
    vertical-align: top;
}

.recruitPageTable tr:first-child th,
.recruitPageTable tr:first-child td {
    border-top: 1px solid #eee;
}

.recruitPageTable th {
    width: 11em;
    color: #666 !important;
    font-weight: 700;
    background-color: #f7f7f7;
}

.recruitPageTable td {
    color: #111 !important;
    background-color: #fff;
}

.recruitPageList {
    margin: 0;
    padding: 0;
    list-style: none;
}

.recruitPageList li {
    margin: 0;
    padding: 0;
    color: #111;
    font-size: 14px;
    line-height: 1.8;
}

.recruitPageList li::before {
    content: "・";
}

.recruitPageNote {
    margin: 4px 0 0 !important;
    color: #666 !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
}

.recruitPageFlow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 36px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.recruitPageFlow li {
    position: relative;
    margin: 0;
    padding: 22px 20px 20px;
    background-color: #f7f7f7;
    box-sizing: border-box;
}

.recruitPageFlow li + li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -24px;
    width: 10px;
    height: 10px;
    margin-top: -7px;
    border-top: 2px solid #ff8900;
    border-right: 2px solid #ff8900;
    transform: rotate(45deg);
}

.recruitPageFlowIcon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 20px auto 12px;
    color: #ff8900;
    font-size: 40px;
    line-height: 1;
}

.recruitPageBlock p.recruitPageFlowNum {
    position: absolute;
    top: 5px;
    left: 10px;
    margin: 0 !important;
    color: #999 !important;
    font-family: "Barlow Semi Condensed", Arial, sans-serif;
    font-size: 34px;
    font-weight: 700;
    line-height: 1;
    text-align: left;
}

.recruitPageFlow h3 {
    margin: 0 0 10px;
    padding: 0;
    border: none;
    color: #111 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

.recruitPageBlock .recruitPageFlow p:not(.recruitPageFlowNum) {
    margin: 0;
    font-size: 14px;
    line-height: 1.8;
}

.recruitPageBlock .sponsorBtn {
    margin-top: 32px;
    text-align: center;
}

#recruit-driver,
#recruit-mechanic {
    scroll-margin-top: 24px;
}

@media only screen and (max-width: 1000px) {
    .recruitPage > h1 {
        padding: 70px 16px 50px;
        font-size: 36px;
    }
    .recruitPageInner {
        padding: 40px 16px 60px;
    }
    .recruitPageBlock {
        padding: 28px 18px 24px;
    }
    .recruitPageBlock > section + section {
        margin-top: 48px;
    }
    .recruitPageBlock h2 {
        font-size: 22px;
    }
    .recruitPageCards {
        grid-template-columns: 1fr;
    }
    .recruitPageCard {
        min-height: 220px;
    }
    .recruitPageTable th,
    .recruitPageTable td {
        display: block;
        width: 100%;
    }
    .recruitPageTable td {
        padding-top: 8px;
    }
    .recruitPageFlow {
        grid-template-columns: 1fr;
        gap: 44px;
    }
    .recruitPageFlow li + li::before {
        top: -28px;
        left: 50%;
        margin-top: 0;
        margin-left: -7px;
        border-top: none;
        border-right: 2px solid #ff8900;
        border-bottom: 2px solid #ff8900;
    }
}

@media only screen and (max-width: 600px) {
    .recruitPageHeading .recruitPageLabel {
        display: none;
    }
}