@charset "UTF-8";
b {
	font-weight: 700;
}
@media screen and (max-width: 767px) {
	.pcOnly {
		display: none !important;
	}

	img {
		width: 100%;
	}
}
@media screen and (min-width: 768px), print {
	.smOnly {
		display: none !important;
	}
}
.ft13 {
	font-size: 13px;
	font-size: 3.4666666667vw;
}

.ft10 {
	font-size: 10px;
	font-size: 1.4992503748vh;
}

.ft11 {
	font-size: 11px;
	font-size: 1.6491754123vh;
}

.ft12 {
	font-size: 12px;
	font-size: 1.7991004498vh;
}

.ft13 {
	font-size: 13px;
	font-size: 1.9490254873vh;
}

a,
li,
img,
input,
button {
	outline: none;
}

input,
textarea {
	border-radius: 0;
	-webkit-appearance: none;
}

input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

@media screen and (max-width: 767px) {
	body {
		color: #363242;
	}
}
@media screen and (min-width: 768px), print {
	body {
		/*    overflow-x: hidden;*/
		-webkit-font-smoothing: antialiased;
	}
}
body {
	background: #000;
}

/*
    .line2{
        width : 50%;
        height : 1px;
        background : #F53F3F;
        position : absolute;
        top : 50%;
        right : 0;
        transform: scale(0, 1);
        transition: transform 1.5s;
        transform-origin:right bottom;
        z-index: 51;
    }
    .line.fin,
    .line2.fin{
        transform: scale(1, 1);
    }
*/
.pageIn {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #053eab;
	pointer-events: none;
	z-index: 9999;
	/*
  transform: matrix(1,0.00,0.00,1,1500,0);
  -webkit-transform: matrix(1,0.00,0.00,1,1500,0);
  */
	transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1s;
	-webkit-transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1s;
}

.pageIn.fadeout {
	width: 100%;
	left: -100%;
	transform: matrix(1, 0, 0, 1, 0, 0);
	-webkit-transform: matrix(1, 0, 0, 1, 0, 0);
}

@-webkit-keyframes moveToRightFade {
	to {
		opacity: 0.5;
		-webkit-transform: translateX(150%);
	}
}
@keyframes moveToRightFade {
	to {
		opacity: 0.5;
		-webkit-transform: translateX(150%);
		transform: translateX(100%);
	}
}
@-webkit-keyframes moveToRight {
	to {
		-webkit-transform: translateX(100%);
	}
}
@keyframes moveToRight {
	to {
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
	}
}
/*
#wrap::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 10px;
  height: 100%;
  background : #0754E6;
  pointer-events: none;
  z-index: 9999;
  transform: scale(1, 1);
  transition: transform .4s ease;
  transform-origin:left bottom;
}
body.fadeout #wrap::after {
    opacity: 1;
    transform: scale(1, 0);
}
*/
/*
body #contents {
  -webkit-transition: 1.3s ease-in-out;
  -moz-transition: 1.3s ease-in-out;
  -o-transition: 1.3s ease-in-out;
  transition: 1.3s ease-in-out;
}

body.fadeout #contents {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}
*/
#wrap {
	overflow: hidden;
	z-index: 1;
}

#wrap.white {
	background: #fff;
}

#wrap.white .newsModule01,
#wrap.white .footModule01,
#wrap.white footer {
	background: #000;
	overflow: hidden;
}

.menuBtn {
	z-index: 100;
	cursor: pointer;
	width: 70px;
}
.menuBtn .txt {
	font-size: 15px;
	color: #fff;
	font-family: bebas-neue, sans-serif;
	font-style: normal;
	font-weight: 400;
}
.menuBtn .line {
	position: absolute;
	left: 30px;
	top: 0;
	width: 30px;
	height: 40px;
}
.menuBtn .line span {
	display: block;
	position: absolute;
	/* .navToggleに対して */
	width: 20px;
	border-bottom: solid 1px #eee;
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
	left: 6px;
}
.menuBtn .line span:nth-child(1) {
	top: 9px;
}
.menuBtn .line span:nth-child(2) {
	top: 17px;
	width: 14px;
}
.menuBtn .line span:nth-child(3) {
	top: 25px;
}
.menuBtn:hover .line span:nth-child(1) {
	top: 11px;
}
.menuBtn:hover .line span:nth-child(2) {
	top: 17px;
	width: 14px;
}
.menuBtn:hover .line span:nth-child(3) {
	top: 23px;
}
@media screen and (max-width: 767px) {
	.menuBtn .txt {
		display: none;
	}
}
@media screen and (min-width: 768px), print {
	.menuBtn {
		top: 15px;
	}
}

#mainMenu .menuBtn {
	position: absolute;
	top: 15px;
	right: 10px;
}
#mainMenu .menuBtn .line span:nth-child(1) {
	top: 17px;
}
#mainMenu .menuBtn .line span:nth-child(2) {
	top: 17px;
	width: 14px;
}
#mainMenu .menuBtn .line span:nth-child(3) {
	top: 17px;
}
#mainMenu .menuBtn:hover .line span:nth-child(1) {
	top: 11px;
}
#mainMenu .menuBtn:hover .line span:nth-child(2) {
	top: 17px;
	width: 14px;
}
#mainMenu .menuBtn:hover .line span:nth-child(3) {
	top: 23px;
}

.mainVisual {
	height: 2000px;
}

.mainVisual .txt {
	opacity: 0;
	z-index: 39;
}

.mainVisual .txt span {
	display: inline-block;
	margin: 0 0;
	opacity: 0;
}

.mainVisual .txt.act {
	opacity: 1;
	display: block;
}

.mainVisual .txt.act span {
	animation: loading 0.5s;
	animation-fill-mode: forwards;
	position: relative;
}

.mainVisual .txt span:nth-child(2) {
	animation-delay: 0.2s;
}

.mainVisual .txt span:nth-child(3) {
	animation-delay: 0.3s;
}

.mainVisual .txt span:nth-child(4) {
	animation-delay: 0.4s;
}

.mainVisual .txt span:nth-child(5) {
	animation-delay: 0.5s;
}

.mainVisual .txt span:nth-child(6) {
	animation-delay: 0.6s;
}

.mainVisual .txt span:nth-child(7) {
	animation-delay: 0.7s;
}

.mainVisual .txt span:nth-child(8) {
	animation-delay: 0.8s;
}

.mainVisual .txt span:nth-child(9) {
	animation-delay: 0.9s;
}

.mainVisual .txt span:nth-child(10) {
	animation-delay: 1s;
}

.mainVisual .txt span:nth-child(11) {
	animation-delay: 1.1s;
}

.mainVisual .txt span:nth-child(12) {
	animation-delay: 1.2s;
}

.mainVisual .txt span:nth-child(13) {
	animation-delay: 1.3s;
}

.mainVisual .btnSet .btnType01 {
	border: none;
}

.pagejump {
	background-color: rgba(0, 0, 0, 0.5);
	position: fixed;
	width: 100%;
	height: 100%;
	display: none;
	opacity: 0;
	z-index: 100;
	top: 0;
	left: 0;
}

.pagejump.in {
	display: block;
	opacity: 0;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.pagejump.in2 {
	opacity: 1;
	background-color: rgba(0, 0, 0, 0.6);
}

.pagejump figure {
	/*    position : relative;*/
	width: 100%;
}

.pagejump figure img {
	opacity: 0.5;
	width: auto;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	top: 0;
	-webkit-transform: scale(0.5, 0.5) translate(-50%, 0%);
	transform: scale(0.5, 0.5) translate(-50%, 0%);
}

.pagejump figure img.in {
	opacity: 1;
	-webkit-transition: opacity 1s,
		-webkit-transform 0.6s cubic-bezier(0.53, 0.57, 0.69, 0.96);
	transition: opacity 1s, transform 0.6s cubic-bezier(0.53, 0.57, 0.69, 0.96);
	-webkit-transform: scale(1, 1) translate(-50%, 0%);
	transform: scale(1, 1) translate(-50%, 0%);
	transform-origin: 0% 0%;
}

@keyframes loading {
	0% {
		opacity: 0;
		left: 400px;
		transform: scale(0.2);
	}
	100% {
		opacity: 1;
		left: 0px;
		transform: scale(1);
	}
}
header {
	z-index: 12;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
header .menuBtn {
	top: -50px;
	right: 10px;
	position: fixed;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
header .logo {
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
	header {
		width: 100%;
		overflow: hidden;
		height: 50px;
		position: fixed;
		top: -50px;
		padding: 0 20px 0 0;
		z-index: 200;
	}
	header.top {
		background: #000;
	}
	header .logo {
		display: block;
		width: 190px;
		position: relative;
		top: -12px;
		left: 10px;
	}
	header .logo img {
		width: 190px;
	}
	header .menuBtn {
		top: -50px;
		right: 10px;
	}
	header.in {
		top: 0;
	}
	header.in .menuBtn {
		top: 6px;
	}
	header .logo {
		top: 12px;
	}
}
@media screen and (min-width: 768px), print {
	header {
		clear: both;
		/*180426*/
		width: 100%;
		position: absolute;
	}
	header .logo {
		display: block;
		width: 230px;
		position: relative;
		top: -23px;
		left: 30px;
	}
	header .logo img {
		width: 100%;
	}
	header.in .logo {
		top: 23px;
	}
	header.in .menuBtn {
		top: 14px;
		right: 10px;
	}
}

/* !cover
---------------------------------------------------------- */
#cover > div > div.photo > img {
	opacity: 0;
	-webkit-transition: opacity 3s,
		-webkit-transform 10s cubic-bezier(0.33, 0.85, 0.58, 1);
	-moz-transition: opacity 3s,
		-moz-transform 10s cubic-bezier(0.33, 0.85, 0.58, 1);
	-ms-transition: opacity 3s,
		-ms-transform 10s cubic-bezier(0.33, 0.85, 0.58, 1);
	-o-transition: opacity 3s, -o-transform 10s cubic-bezier(0.33, 0.85, 0.58, 1);
	transition: opacity 3s, transform 10s cubic-bezier(0.33, 0.85, 0.58, 1);
	-webkit-transform: scale(1.3, 1.3);
	-moz-transform: scale(1.3, 1.3);
	-ms-transform: scale(1.3, 1.3);
	-o-transform: scale(1.3, 1.3);
	transform: scale(1.3, 1.3);
}

#cover > div.first > div.photo > img {
	opacity: 1;
}

#cover > div.set > div.photo > img {
	opacity: 1;
	-webkit-transform: scale(1, 1);
	-moz-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	-o-transform: scale(1, 1);
	transform: scale(1, 1);
}

#cover > div.set2 > div.photo > img {
	opacity: 1;
}

@media screen and (max-width: 767px) {
	#cover {
		display: block;
		width: 100%;
		overflow: hidden;
		top: 0;
		left: 0;
		box-sizing: border-box;
		z-index: -1;
	}

	#cover .photoWrap {
		position: absolute;
		top: 0%;
		left: 0%;
		width: 100%;
		height: 100%;
	}

	#cover .photoWrap .backimg {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		min-width: 100%;
		min-height: 100%;
	}
}
@media screen and (min-width: 768px), print {
	#cover {
		display: block;
		width: 100%;
		overflow: hidden;
		top: 0;
		left: 0;
		box-sizing: border-box;
		z-index: -1;
	}

	#cover .photoWrap {
		position: absolute;
		top: -50%;
		left: -50%;
		width: 200%;
		height: 200%;
	}

	#cover .photoWrap .backimg {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		min-width: 50%;
		min-height: 50%;
	}
}
/* !coverteam
---------------------------------------------------------- */
.slideBase {
	position: relative;
	z-index: -1;
	opacity: 0;
}

#coverteam > div > div.photo > img {
	opacity: 0;
	-webkit-transition: opacity 1s,
		-webkit-transform 8s cubic-bezier(0.33, 0.85, 0.58, 1);
	transition: opacity 1s, transform 8s cubic-bezier(0.33, 0.85, 0.58, 1);
	-webkit-transform: scale(1, 1);
	transform: scale(1, 1);
}

#coverteam > div.first > div.photo > img {
	/*    opacity: 1.0;*/
	z-index: -1;
}

#coverteam > div.set > div.photo > img {
	opacity: 1;
	-webkit-transform: scale(1.1, 1.1);
	transform: scale(1.1, 1.1);
}

#coverteam > div.set2 > div.photo > img {
	opacity: 1;
}

@media screen and (max-width: 767px) {
	#coverteam {
		display: block;
		width: 100%;
		overflow: hidden;
		top: 0;
		left: 0;
		box-sizing: border-box;
		z-index: -1;
	}

	#coverteam .photoWrap {
		position: absolute;
		top: 0%;
		left: 0%;
		width: 100%;
		height: 100%;
	}

	#coverteam .photoWrap .backimg {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		min-width: 100%;
		min-height: 100%;
	}
}
@media screen and (min-width: 768px), print {
	#coverteam {
		display: block;
		width: 100%;
		overflow: hidden;
		top: 0;
		left: 0;
		box-sizing: border-box;
		z-index: -1;
	}

	#coverteam .photoWrap {
		position: absolute;
		top: 0%;
		left: 0%;
		width: 100%;
		height: 100%;
	}

	#coverteam .photoWrap .backimg {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		min-width: 50%;
		min-height: 50%;
	}
}
.slideUp {
	animation-name: slideUp;
	-webkit-animation-name: slideUp;
	animation-duration: 1s;
	-webkit-animation-duration: 1s;
	animation-timing-function: ease;
	-webkit-animation-timing-function: ease;
	visibility: visible !important;
}

@-webkit-keyframes slideUp {
	0% {
		opacity: 0;
		transform: translate(0%, -50%);
		-webkit-transform: translate(0%, -50%);
	}
	100% {
		opacity: 1;
		transform: translate(0%, 0%);
		-webkit-transform: translate(0%, 0%);
	}
}
@keyframes slideUp {
	0% {
		opacity: 0;
		transform: translate(0%, -50%);
		-webkit-transform: translate(0%, -50%);
	}
	100% {
		opacity: 1;
		transform: translate(0%, 0%);
		-webkit-transform: translate(0%, 0%);
	}
}
@-webkit-keyframes slideUp2 {
	0% {
		opacity: 0;
		transform: translate(0%, -150%);
		-webkit-transform: translate(0%, -150%);
	}
	100% {
		opacity: 1;
		transform: translate(0%, 0%);
		-webkit-transform: translate(0%, 0%);
	}
}
@keyframes slideUp2 {
	0% {
		opacity: 0;
		transform: translate(0%, -150%);
		-webkit-transform: translate(0%, -150%);
	}
	100% {
		opacity: 1;
		transform: translate(0%, 0%);
		-webkit-transform: translate(0%, 0%);
	}
}
@-webkit-keyframes slideUp3 {
	0% {
		opacity: 0;
		transform: translate(0%, -250%);
		-webkit-transform: translate(0%, -250%);
	}
	100% {
		opacity: 1;
		transform: translate(0%, 0%);
		-webkit-transform: translate(0%, 0%);
	}
}
@keyframes slideUp3 {
	0% {
		opacity: 0;
		transform: translate(0%, -250%);
		-webkit-transform: translate(0%, -250%);
	}
	100% {
		opacity: 1;
		transform: translate(0%, 0%);
		-webkit-transform: translate(0%, 0%);
	}
}
@-webkit-keyframes slideUp4 {
	0% {
		opacity: 0;
		transform: translate(0%, -350%) skew(10deg, 10deg);
		-webkit-transform: translate(0%, -350%) skew(10deg, 10deg);
	}
	100% {
		opacity: 1;
		transform: translate(0%, 0%) skew(0deg, 0deg);
		-webkit-transform: translate(0%, 0%) skew(0deg, 0deg);
	}
}
@keyframes slideUp4 {
	0% {
		opacity: 0;
		transform: translate(0%, -350%) skew(10deg, 10deg);
		-webkit-transform: translate(0%, -350%) skew(10deg, 10deg);
	}
	100% {
		opacity: 1;
		transform: translate(0%, 0%) skew(0deg, 0deg);
		-webkit-transform: translate(0%, 0%) skew(0deg, 0deg);
	}
}
/*mainMenu
--------------------------------------------*/
#mainMenu.active {
	top: 75px;
}

#mainMenu::-webkit-scrollbar {
	display: none;
}

#mainMenu {
	position: fixed;
	right: -100%;
	z-index: 999;
	height: 100%;
	background: #053eab;
	-webkit-transition: 0.3s cubic-bezier(0.02, 0.89, 0.57, 1);
	-moz-transition: 0.3s cubic-bezier(0.02, 0.89, 0.57, 1);
	transition: 0.3s cubic-bezier(0.02, 0.89, 0.57, 1);
	overflow-y: auto;
}
#mainMenu.active .list01 li:nth-of-type(1) {
	-webkit-animation: slideUp 0.2s ease 0.15s;
	-moz-animation: slideUp 0.2s ease 0.15s;
	animation: slideUp 0.2s ease 0.15s;
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	animation-fill-mode: both;
}
#mainMenu.active .list01 li:nth-of-type(2) {
	-webkit-animation: slideUp2 0.2s ease 0.15s;
	-moz-animation: slideUp2 0.2s ease 0.15s;
	animation: slideUp2 0.2s ease 0.15s;
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	animation-fill-mode: both;
}
#mainMenu.active .list01 li:nth-of-type(3) {
	-webkit-animation: slideUp3 0.2s ease 0.15s;
	-moz-animation: slideUp3 0.2s ease 0.15s;
	animation: slideUp3 0.2s ease 0.15s;
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	animation-fill-mode: both;
}
#mainMenu.active .list01 li:nth-of-type(4) {
	-webkit-animation: slideUp4 0.2s ease 0.15s;
	-moz-animation: slideUp4 0.2s ease 0.15s;
	animation: slideUp4 0.2s ease 0.15s;
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	animation-fill-mode: both;
}
#mainMenu.active .list01 li:nth-of-type(5) {
	-webkit-animation: slideUp4 0.2s ease 0.15s;
	-moz-animation: slideUp4 0.2s ease 0.15s;
	animation: slideUp4 0.2s ease 0.15s;
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	animation-fill-mode: both;
}
#mainMenu.active .list01 li:nth-of-type(6) {
	-webkit-animation: slideUp4 0.2s ease 0.15s;
	-moz-animation: slideUp4 0.2s ease 0.15s;
	animation: slideUp4 0.2s ease 0.15s;
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	animation-fill-mode: both;
}
#mainMenu.active .list01 li:nth-of-type(7) {
	-webkit-animation: slideUp4 0.2s ease 0.15s;
	-moz-animation: slideUp4 0.2s ease 0.15s;
	animation: slideUp4 0.2s ease 0.15s;
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	animation-fill-mode: both;
}
#mainMenu .list01 a {
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
	color: #fff;
	font-size: 28px;
	overflow: hidden;
	height: 0;
	transition: 0.2s;
}
#mainMenu .list01 a {
	position: relative;
}
#mainMenu .list01 a.act,
#mainMenu .list01 a:hover {
	opacity: 1 !important;
}
#mainMenu .list01 a:after {
	position: absolute;
	bottom: -5px;
	left: -30px;
	content: "";
	width: 25px;
	height: 1px;
	background: #f53f3f;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform 0.3s;
}
#mainMenu .list01 a.act::after,
#mainMenu .list01 a:hover::after {
	transform: scale(1, 1);
}
#mainMenu .list02 li {
	display: inline-block;
}
#mainMenu .list02 li.fb .icoSet {
	background: url(../img/common/ico_fb01w@2x.png) no-repeat center center;
	background-size: cover;
	height: 20px;
	width: 20px;
}
#mainMenu .list02 li.fb:hover .icoSet {
	background: url(../img/common/ico_fb01ao@2x.png) no-repeat center center;
	background-size: cover;
	height: 20px;
	width: 20px;
}
#mainMenu .list02 li.ig .icoSet {
	background: url(../img/common/ico_ig01@2x.png) no-repeat center center;
	background-size: cover;
	height: 18px;
	width: 18px;
}
#mainMenu .list02 li.ig:hover .icoSet {
	background: url(../img/common/ico_ig01ao@2x.png) no-repeat center center;
	background-size: cover;
	height: 18px;
	width: 18px;
}
#mainMenu .list02 li.tw .icoSet {
	background: url(../img/common/ico_tw01@2x.png) no-repeat center center;
	background-size: cover;
	height: 20px;
	width: 20px;
}
#mainMenu .list02 li.tw:hover .icoSet {
	background: url(../img/common/ico_tw01ao@2x.png) no-repeat center center;
	background-size: cover;
	height: 20px;
	width: 20px;
}
#mainMenu .list02 li.yt .icoSet {
	background: url(../img/common/ico_youtube01@2x.png) no-repeat center center;
	background-size: cover;
	height: 18px;
	width: 18px;
}
#mainMenu .list02 li.yt:hover .icoSet {
	background: url(../img/common/ico_youtube01ao@2x.png) no-repeat center center;
	background-size: cover;
	height: 18px;
	width: 18px;
}
#mainMenu .list02 li.li .icoSet {
	background: url(../img/common/ico_line01@2x.png) no-repeat center center;
	background-size: cover;
	height: 17px;
	width: 18px;
}
#mainMenu .list02 li.li:hover .icoSet {
	background: url(../img/common/ico_line01ao@2x.png) no-repeat center center;
	background-size: cover;
	height: 17px;
	width: 18px;
}
#mainMenu .list02 a {
	display: block;
	position: relative;
	background: #153062;
	width: 28px;
	height: 28px;
	text-align: center;
	border-radius: 28px;
	padding: 3px;
}
#mainMenu .list02 a .icoSet {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#mainMenu .list02 a img {
	width: 100%;
}
#mainMenu .list02 a:hover {
	background: #fff;
	opacity: 1 !important;
}
#mainMenu .list02 a:hover .icoSet img {
	-webkit-filter: hue-rotate 90 deg;
	filter: hue-rotate 90 deg;
}
#mainMenu .menuClose {
	position: absolute;
	display: block;
	top: 25px;
	left: 60px;
	z-index: 100;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
	#mainMenu {
		width: 100%;
		top: 0;
	}
	#mainMenu.active {
		top: 0;
		right: 0;
	}
	#mainMenu .type1 li a {
		width: 100%;
		display: block;
		border-bottom: solid 1px #373343;
		font-size: 14px;
		line-height: 40px;
		padding: 0 0 0 20px;
	}
	#mainMenu .list01 {
		padding: 75px 65px;
	}
	#mainMenu .list02 {
		text-align: center;
		width: 100%;
		padding: 0 0 50px;
		overflow: hidden;
	}
	#mainMenu .list02 li {
		display: inline-block;
		margin: 0 10px;
	}
	#mainMenu .list02 li a {
		width: 40px;
		height: 40px;
	}
}
@media screen and (min-width: 768px), print {
	#mainMenu {
		right: -460px;
		width: 460px;
		padding: 0 0 0 100px;
	}
	#mainMenu.active {
		top: 0;
		right: 0;
	}
	#mainMenu.active .list01 li a {
		overflow: visible;
		height: 40px;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
	}
	#mainMenu .list01 {
		padding: 180px 0 0 0;
	}
	#mainMenu .list02 {
		position: absolute;
		bottom: 40px;
		left: 50%;
		margin: 0 0 0 -64px;
	}
}

.menuClose:hover {
	display: block;
	transition: transform 5s;
	cursor: pointer;
	-webkit-transform: scale(1.3, 1.3);
	-moz-transform: scale(1.3, 1.3);
	-ms-transform: scale(1.3, 1.3);
	-o-transform: scale(1.3, 1.3);
	transform: scale(1.3, 1.3);
}

/*-----------------------
content
-----------------------*/
@media screen and (min-width: 768px), print {
	#contents {
		margin: 0 auto;
	}
}

@keyframes loading2 {
	0% {
		width: 0;
	}
	100% {
		width: 100%;
	}
}
.mainVisual {
	position: relative;
	overflow: hidden;
}
.mainVisual .line {
	width: 50%;
	height: 1px;
	background: #f53f3f;
	position: absolute;
	top: 50%;
	left: 0;
	transform: scale(0, 1);
	transition: transform 1.5s;
	transform-origin: left bottom;
	z-index: 51;
}
.mainVisual .line2 {
	width: 50%;
	height: 1px;
	background: #f53f3f;
	position: absolute;
	top: 50%;
	right: 0;
	transform: scale(0, 1);
	transition: transform 1.5s;
	transform-origin: right bottom;
	z-index: 51;
}
.mainVisual .line.fin,
.mainVisual .line2.fin {
	transform: scale(1, 1);
}
.mainVisual .line.fin.fade,
.mainVisual .line2.fin.fade {
	opacity: 0;
}
.mainVisual .cover_line {
	height: 2px;
	background: #f53f3f;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 51;
}
.mainVisual .cover_line.fin {
	animation: loading2 8s infinite normal;
	animation-direction: normal;
	animation-timing-function: linear;
}
.mainVisual .wavebg {
	z-index: 49;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
}
.mainVisual .wave {
	transform: scale(1, 1);
	transform-origin: left top;
	transition: transform 0.3s;
	height: 50%;
	z-index: 50;
}
.mainVisual .wave.bottom {
	transform: scale(1, 1);
	transform-origin: left top;
	top: auto !important;
	bottom: 0 !important;
	height: 50%;
	transform-origin: right bottom;
}
.mainVisual .wave.fin {
	transform: scale(1, 0);
}
.mainVisual .wall01 {
	width: 10%;
	position: absolute;
	left: 0;
	top: 0;
	background: #000;
	transition: transform 1.1s cubic-bezier(0.23, 0.06, 0.93, 0.68);
}
.mainVisual .wall02 {
	width: 10%;
	position: absolute;
	left: 10%;
	top: 0;
	background: #000;
	transition: transform 0.8s cubic-bezier(0.23, 0.06, 0.93, 0.68);
}
.mainVisual .wall03 {
	width: 10%;
	position: absolute;
	left: 20%;
	top: 0;
	background: #000;
	transition: transform 0.5s cubic-bezier(0.23, 0.06, 0.93, 0.68);
}
.mainVisual .wall04 {
	width: 10%;
	position: absolute;
	left: 30%;
	top: 0;
	background: #000;
	transition: transform 0.3s cubic-bezier(0.23, 0.06, 0.93, 0.68);
}
.mainVisual .wall05 {
	width: 10%;
	position: absolute;
	left: 40%;
	top: 0;
	background: #000;
	transition: transform 0.2s cubic-bezier(0.23, 0.06, 0.93, 0.68);
}
.mainVisual .wall06 {
	width: 10%;
	position: absolute;
	left: 50%;
	top: 0;
	background: #000;
	transition: transform 0.3s cubic-bezier(0.23, 0.06, 0.93, 0.68);
}
.mainVisual .wall07 {
	width: 10%;
	position: absolute;
	left: 60%;
	top: 0;
	background: #000;
	transition: transform 0.5s cubic-bezier(0.23, 0.06, 0.93, 0.68);
}
.mainVisual .wall08 {
	width: 10%;
	position: absolute;
	left: 70%;
	top: 0;
	background: #000;
	transition: transform 0.8s cubic-bezier(0.23, 0.06, 0.93, 0.68);
}
.mainVisual .wall09 {
	width: 10%;
	position: absolute;
	left: 80%;
	top: 0;
	background: #000;
	transition: transform 1s cubic-bezier(0.23, 0.06, 0.93, 0.68);
}
.mainVisual .wall10 {
	width: 10%;
	position: absolute;
	left: 90%;
	top: 0;
	background: #000;
	transition: transform 1.2s cubic-bezier(0.23, 0.06, 0.93, 0.68);
}
.mainVisual .firstLogo {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 100;
	transition: 0.3s ease-in-out;
}
.mainVisual .firstLogo img {
	width: 200px;
}
.mainVisual .firstLogo.fade {
	opacity: 0;
}
.mainVisual .nextRace {
	background: url(../img/top/bg_top02.png) no-repeat bottom center #000;
	padding: 20px 30px;
	width: 290px;
	position: absolute;
	top: 50%;
	right: -290px;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	transition: 0.3s ease-in-out;
	z-index: 40;
}
.mainVisual .nextRace.open {
	right: 0;
}
.mainVisual .nextRace .photo img {
	width: 100%;
}
.mainVisual .nextRace .tit01 {
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
	font-size: 20px;
	margin: 0 0 15px;
	color: #f53f3f;
	display: block;
	text-align: center;
}
.mainVisual .nextRace .txt01 {
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
	font-size: 16px;
	text-align: center;
	padding: 10px 0;
	margin: 15px 0 0 0;
	border-top: solid #707070 1px;
	color: #fff;
}
.mainVisual .nextRace .txt02 {
	font-size: 13px;
	text-align: center;
	padding: 15px 0;
	margin: 0 0 0 0;
	border-top: solid #707070 1px;
	color: #fff;
}
.mainVisual .nextRace .btnType01 {
	width: 100%;
	line-height: 40px;
	z-index: 10;
	background: none;
}
.mainVisual .nextRace .raceBtn {
	position: absolute;
	top: 50%;
	left: -20px;
	background: #000;
	color: #fff;
	width: 22px;
	height: 54px;
	margin: -27px 0 0 0;
	z-index: 100;
	cursor: pointer;
}
.mainVisual .nextRace .raceBtn span {
	display: block;
	position: absolute;
	top: 50%;
	left: 4px;
	margin: -4px 0 0 0;
	width: 8px;
	height: 8px;
	border-top: #fff 1px solid;
	border-right: #fff 1px solid;
	/*③*/
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
	.mainVisual {
		margin: 0 0 0 0;
	}
	.mainVisual .txt {
		display: block;
		position: absolute;
		top: 50%;
		left: 0;
		color: #fff;
		font-family: "purista-web", sans-serif;
		font-weight: 300;
		line-height: 1;
		font-size: 80px;
		font-style: italic;
		-webkit-transform: translate(0%, -50%);
		transform: translate(0%, -50%);
		overflow: hidden;
	}
	.mainVisual .btnSet {
		display: none;
		position: absolute;
		bottom: 30px;
		left: 50%;
		color: #fff;
		font-size: 20px;
		-webkit-transform: translate(-50%, 0%);
		transform: translate(-50%, 0%);
		overflow: hidden;
	}
	.mainVisual .btnSet .btnType01 {
		background: #000000;
	}
}
@media screen and (min-width: 768px), print {
	.mainVisual .photoSet img {
		width: 100%;
	}
	.mainVisual .txt {
		position: absolute;
		top: 30%;
		left: 90px;
		font-family: "purista-web", sans-serif;
		font-weight: 300;
		line-height: 1;
		font-size: 120px;
		font-style: italic;
	}
	.mainVisual .btnSet {
		position: absolute;
		bottom: 60px;
		left: 90px;
		z-index: 10;
		background: #000;
		display: none;
	}
}

/*-----------------------
newsModule01
-----------------------*/
.newsModule01 {
	margin: 0px 0 0px 0;
	position: relative;
}
.newsModule01 .tit01 {
	padding: 50px 0;
	font-size: 32px;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
	letter-spacing: 0.05em;
	text-align: center;
	color: #fff;
}
.newsModule01 .tit01 span:after {
	content: "";
	display: block;
	position: relative;
	top: 15px;
	margin: 0px auto 0;
	width: 40px;
	border-bottom: solid 1px #fff;
}
.newsModule01 .tit03 {
	color: #fff;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-size: 18px;
	font-style: italic;
	text-align: center;
}
.newsModule01 .tit04 {
	color: #888888;
	font-family: "purista-web", sans-serif;
	font-weight: 400;
	font-size: 12px;
}
.newsModule01 .list01 {
	text-align: center;
	margin: 30px 0;
}
.newsModule01 .list01 li {
	display: inline-block;
	margin: 0 25px;
}
.newsModule01 .list01 a {
	color: #fff;
	font-size: 16px;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
	position: relative;
}
.newsModule01 .list01 a.active,
.newsModule01 .list01 a:hover {
	color: #f53f3f;
	opacity: 1 !important;
}
.newsModule01 .list01 a::after {
	position: absolute;
	bottom: -10px;
	left: 25%;
	content: "";
	width: 50%;
	height: 1px;
	background: #f53f3f;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform 0.3s;
}
.newsModule01 .list01 a.active::after,
.newsModule01 .list01 a:hover::after {
	transform: scale(1, 1);
}
.newsModule01 .item {
	background-color: rgba(39, 44, 57, 0.65);
	margin: 0 0 20px 0px;
	overflow: hidden;
}
.newsModule01 .item:hover {
	opacity: 1 !important;
	background-color: #272c39;
}
.newsModule01 .item:hover figure img {
	transform: scale(1.1, 1.1);
}
.newsModule01 .item.cat1:after,
.newsModule01 .item.gallery:after {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 36px;
	height: 36px;
	background: url(../img/common/ico_news01@2x.png) no-repeat center center;
	background-size: 36px;
}
.newsModule01 .item.cat2:after,
.newsModule01 .item.twitter:after {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 36px;
	height: 36px;
	background: url(../img/common/ico_news02@2x.png) no-repeat center center;
	background-size: 36px;
}
.newsModule01 .item.cat3:after {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 36px;
	height: 36px;
	background: url(../img/common/ico_news03@2x.png) no-repeat center center;
	background-size: 36px;
}
.newsModule01 .item.instagram:after {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 36px;
	height: 36px;
	background: url(../img/common/ico_news06@2x.png) no-repeat center center;
	background-size: 36px;
}
.newsModule01 .item.cat4:after,
.newsModule01 .item.youtube:after {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 36px;
	height: 36px;
	background: url(../img/common/ico_news04@2x.png) no-repeat center center;
	background-size: 36px;
}
.newsModule01 .item.cat5:after,
.newsModule01 .item.facebook:after {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 36px;
	height: 36px;
	background: url(../img/common/ico_news05@2x.png) no-repeat center center;
	background-size: 36px;
}
.newsModule01 .item a {
	overflow: hidden;
	display: block;
}
.newsModule01 .item .date {
	font-size: 11px;
	color: #fff;
	font-family: "purista-web", sans-serif;
	font-weight: 400;
}
.newsModule01 .item .tit02 {
	font-size: 16px;
	color: #fff;
	line-height: 1.6;
}
.newsModule01 .item .box {
	padding: 10px;
}
.newsModule01 .item .box.noImg {
	padding: 40px 10px 10px;
}
.newsModule01 .item .tag {
	padding: 10px 0 5px;
	overflow: hidden;
}
.newsModule01 .item .tag li {
	display: inline-block;
	float: left;
	position: relative;
	padding: 0 10px 0 10px;
	line-height: 1.6;
	margin: 8px 5px 5px 0;
	font-family: "purista-web", sans-serif;
	font-weight: 400;
}
.newsModule01 .item .tag li:after {
	content: "";
	position: absolute;
	top: 10px;
	left: 0;
	display: block;
	height: 1px;
	border-left: 1px #f53f3f solid;
}
.newsModule01 .item .tag li a {
	font-size: 11px;
	color: #fff;
	line-height: 1.2;
}
.newsModule01 .item .tag li a:after {
	background-color: #f53f3f;
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	top: 0;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	width: 1px;
	z-index: 0;
}
.newsModule01 .item .tag li a:hover {
	opacity: 1 !important;
}
.newsModule01 .item .tag li a:hover:after {
	width: 100%;
}
.newsModule01 .item .tag li a span {
	position: relative;
	z-index: 2;
}
@media screen and (max-width: 767px) {
	.newsModule01.archive {
		background: none;
		margin: 55px 0 0 0;
	}
	.newsModule01.archive.nogallery {
		margin: 0px 0 0 0;
	}
	.newsModule01.archive .tit01 {
		padding: 10px 0 40px;
		color: #fff;
	}
	.newsModule01 .tit03 {
		padding: 20px 0;
	}
	.newsModule01 .tit04 {
		padding: 0 0 10px 15px;
		display: block;
	}
	.newsModule01 .tit04.race {
		padding: 15px 0 15px 15px;
		display: block;
	}
	.newsModule01 .item {
		width: 100%;
		position: relative;
	}
	.newsModule01 .item .box {
		padding: 15px;
	}
	.newsModule01 .menu01 {
		text-align: center;
	}
	.newsModule01 .menu01 a {
		color: #fff;
		font-size: 16px;
		font-family: "purista-web", sans-serif;
		font-weight: 300;
		font-style: italic;
		position: relative;
		line-height: 50px;
	}
	.newsModule01 .menu01 a.active,
	.newsModule01 .menu01 a:hover {
		color: #f53f3f;
		opacity: 1 !important;
	}
	.newsModule01 .menu01 a::after {
		position: absolute;
		bottom: -10px;
		left: 25%;
		content: "";
		width: 50%;
		height: 1px;
		background: #f53f3f;
		transform: scale(0, 1);
		transform-origin: left top;
		transition: transform 0.3s;
	}
	.newsModule01 .menu01 a.active::after,
	.newsModule01 .menu01 a:hover::after {
		transform: scale(1, 1);
	}
}
@media screen and (min-width: 768px), print {
	.newsModule01 {
		max-width: 1600px;
		margin: 0 auto;
	}
	.newsModule01 .tit01 {
		font-size: 32px;
	}
	.newsModule01 .tit04 {
		left: 15px;
		position: relative;
		padding: 50px 0 0 0;
		display: block;
	}
	.newsModule01 .tit04.no {
		padding: 0px 0 0 0;
	}
	.newsModule01 .newsWrap {
		/* margin: 0 auto;
		padding: 0 0 0 15px;
		display: flex; */

		/* 20230221修正 */
		display: grid;
		column-gap: 10px;
		grid-template-columns: repeat(4, 1fr);
		max-width: 1600px;
		padding: 0 15px;
		margin: 0 auto;
	}
	.newsModule01.archive {
		background: none;
	}
	.newsModule01.archive .tit01 {
		padding: 100px 0 5px;
	}
	.newsModule01.archive .newsWrap {
		/* 20230221追加 */
		padding: 20px 15px 0;
	}
	.newsModule01 .item {
		position: relative;
		/* 20230221
		   width: 24%;  // 3 column
		flex-grow: 1;
    margin: 10px;
		position: absolute;*/
	}
	.newsModule01 .item figure img {
		width: 100%;
	}
	/* 20230221 .newsModule01 .grid-sizer,
	.newsModule01 .item {
		width: 19%;
	} */
	/* 20230221 .newsModule01 .gutter-sizer {
		width: 1%;
	} */
}
/* 20230221 @media screen and (min-width: 1000px) and (max-width: 1500px) {
	.newsModule01 .newsWrap {
		margin: 0 auto;
		display: flex;
	}
	.newsModule01 .grid-sizer,
	.newsModule01 .item {
		width: 24%;
	}
	.newsModule01 .gutter-sizer {
		width: 1%;
	}
}
@media screen and (min-width: 900px) and (max-width: 999px) {
	.newsModule01 .newsWrap {
		margin: 0 auto;
		display: flex;
	}
	.newsModule01 .grid-sizer,
	.newsModule01 .item {
		width: 32%;
	}
	.newsModule01 .gutter-sizer {
		width: 1%;
	}
}
@media screen and (min-width: 768px) and (max-width: 899px) {
	.newsModule01 .newsWrap {
		margin: 0 auto;
		display: flex;
	}
	.newsModule01 .grid-sizer,
	.newsModule01 .item {
		width: 32%;
	}
	.newsModule01 .gutter-sizer {
		width: 1%;
	}
} */

/*-----------------------
newsDetailModule01
-----------------------*/
.newsDetailModule01 .titBlock time,
.newsDetailModule01 .titBlock02 time {
	font-family: "purista-web", sans-serif;
	font-weight: 400;
	font-size: 10px;
}
.newsDetailModule01 .titBlock .tag li,
.newsDetailModule01 .titBlock02 .tag li {
	display: inline-block;
	position: relative;
	padding: 0 10px 0 10px;
	line-height: 1.4;
}
.newsDetailModule01 .titBlock .tag li:after,
.newsDetailModule01 .titBlock02 .tag li:after {
	content: "";
	position: absolute;
	top: 10px;
	left: 0;
	display: block;
	height: 12px;
}
.newsDetailModule01 .titBlock .tag li a,
.newsDetailModule01 .titBlock02 .tag li a {
	font-size: 11px;
	font-family: "purista-web", sans-serif;
	font-weight: 400;
}
.newsDetailModule01 .titBlock .tag li a:after,
.newsDetailModule01 .titBlock02 .tag li a:after {
	background-color: #f53f3f;
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	top: 0;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	width: 1px;
	z-index: 0;
}
.newsDetailModule01 .titBlock .tag li a:hover,
.newsDetailModule01 .titBlock02 .tag li a:hover {
	opacity: 1 !important;
}
.newsDetailModule01 .titBlock .tag li a:hover:after,
.newsDetailModule01 .titBlock02 .tag li a:hover:after {
	width: 100%;
}
.newsDetailModule01 .titBlock .tag li a span,
.newsDetailModule01 .titBlock02 .tag li a span {
	position: relative;
	z-index: 2;
}
.newsDetailModule01 .titBlock03 {
	color: #fff;
	text-align: center;
	margin: 40px 0 20px;
}
.newsDetailModule01 .titBlock03 .tit {
	font-size: 22px;
}
.newsDetailModule01 .titBlock03 .tit .en {
	display: block;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	color: #f53f3f;
	font-style: italic;
	font-size: 11px;
}
.newsDetailModule01 .titBlock03 .logo {
	display: inline-block;
	margin: 0 0 10px;
	/*
  img{
      height : 70px;
      width : auto;
  }
  */
}
.newsDetailModule01 .partnerLink {
	width: 100%;
	text-align: center;
	margin: 0px 0 20px;
}
.newsDetailModule01 .partnerLink li {
	display: inline-block;
	margin: 0 5px;
}
.newsDetailModule01 .partnerLink li a {
	background: #262626;
	border-radius: 36px;
	width: 36px;
	height: 36px;
	display: inline-block;
	line-height: 36px;
}
.newsDetailModule01 .partnerLink li a:hover {
	opacity: 1 !important;
	background: #d03434;
}
.newsDetailModule01 .partnerLink li img {
	width: 20px;
}
.newsDetailModule01 .part01 {
	padding: 15px;
	font-size: 16px;
	margin: 0 0 20px;
	color: #000;
}
.newsDetailModule01 .part01 a {
	text-decoration: underline;
}
.newsDetailModule01 .part02 .txt01 {
	padding: 15px 15px 15px 20px;
	margin: 0 0 20px 20px;
	display: block;
	border-left: solid 1px #d2d2d2;
	font-size: 13px;
}
.newsDetailModule01 .part03 {
	font-size: 18px;
	font-weight: bold;
	padding: 15px;
	display: block;
}
.newsDetailModule01 .part04 {
	padding: 0px 15px 0px 20px;
	margin: 0 0 30px 20px;
	display: block;
	border-left: solid 1px #d2d2d2;
	font-size: 13px;
}
@media screen and (max-width: 767px) {
	.newsDetailModule01 .titBlock {
		padding: 0 15px 15px;
	}
	.newsDetailModule01 .titBlock .tit {
		font-size: 18px;
		font-weight: bold;
	}
	.newsDetailModule01 .titBlock03 .tit .en {
		padding: 0 0 10px;
	}
	.newsDetailModule01 .part04 {
		font-size: 15px;
	}
	.newsDetailModule01 .titBlock03 .logo {
		max-width: 250px;
	}
}
@media screen and (min-width: 768px), print {
	.newsDetailModule01 {
		position: relative;
	}
	.newsDetailModule01 .btnList {
		position: absolute;
		top: 0;
		left: 50%;
		width: 150px;
		text-align: center;
		z-index: 20;
		display: block;
		color: #fff;
		font-size: 18px;
		font-family: "purista-web", sans-serif;
		font-weight: 300;
		font-style: italic;
		margin: 20px 0 0 -75px;
	}
	.newsDetailModule01 .btnList:hover {
		opacity: 1 !important;
	}
	.newsDetailModule01 .btnList:hover img {
		transform: scale(0.8, 0.8);
	}
	.newsDetailModule01 .btnList img {
		width: 14px;
		height: 14px;
		display: inline-block;
		transform: scale(1, 1);
		transition: transform 0.3s;
	}
	.newsDetailModule01 .btnList .name {
		display: inline-block;
		padding: 0px 0 0 10px;
		position: relative;
		top: 2px;
	}
	.newsDetailModule01 .mainImg {
		width: 100%;
		position: relative;
	}
	.newsDetailModule01 .mainImg img {
		width: 100%;
	}
	.newsDetailModule01 .titBlock {
		background: #fff;
		position: absolute;
		bottom: 0px;
		left: 50%;
		width: 100%;
		max-width: 960px;
		margin: 0 auto;
		padding: 30px 40px;
		-webkit-transform: translate(-50%, 0%);
		transform: translate(-50%, 0%);
	}
	.newsDetailModule01 .titBlock .tit {
		color: #000000;
		font-size: 24px;
	}
	.newsDetailModule01 .titBlock time {
		position: absolute;
		bottom: 0;
	}
	.newsDetailModule01 .titBlock02 {
		position: relative;
		background: #fff;
		width: 100%;
		max-width: 960px;
		margin: 0 auto;
		padding: 10px 40px 50px;
	}
	.newsDetailModule01 .titBlock02 .tit {
		color: #000000;
		font-size: 24px;
	}
	.newsDetailModule01 .titBlock02 time {
		position: absolute;
		top: 21px;
		color: #000;
		font-size: 11px;
	}
	.newsDetailModule01 .titBlock02 .tag {
		padding: 0 200px 0 80px;
	}
	.newsDetailModule01 .titBlock03 {
		background: #000;
		position: absolute;
		bottom: 0px;
		left: 50%;
		width: 100%;
		max-width: 960px;
		margin: 0 auto;
		padding: 20px 40px;
		-webkit-transform: translate(-50%, 0%);
		transform: translate(-50%, 0%);
		text-align: left;
	}
	.newsDetailModule01 .titBlock03 .tit {
		float: left;
		padding: 0 0 0 150px;
	}
	.newsDetailModule01 .titBlock03 .tit .en {
		display: block;
		font-family: "purista-web", sans-serif;
		font-weight: 300;
	}
	.newsDetailModule01 .titBlock03 .logo {
		position: absolute;
		top: 50%;
		left: 40px;
		-webkit-transform: translate(0%, -50%);
		transform: translate(0%, -50%);
		max-width: 100px;
	}
	.newsDetailModule01 .titBlock03 .logo img {
		width: 100%;
		height: 70px;
		object-fit: contain;
	}
	.newsDetailModule01 .partnerLink {
		position: absolute;
		bottom: 0;
		right: 40px;
		width: auto;
	}
	.newsDetailModule01 .partnerLink .list li {
		margin: 0 2px;
	}
	.newsDetailModule01 .partnerLink .list li a {
		border-radius: 24px;
		width: 24px;
		height: 24px;
		display: inline-block;
		line-height: 24px;
	}
	.newsDetailModule01 .partnerLink .list img {
		width: 18px;
	}
	.newsDetailModule01 .share {
		position: absolute;
		right: 20px;
		top: 0;
	}
	.newsDetailModule01 .share .txt {
		font-family: "purista-web", sans-serif;
		font-weight: 400;
		font-size: 11px;
		position: relative;
		top: 5px;
	}
	.newsDetailModule01 .share .list01 {
		display: inline-block;
	}
	.newsDetailModule01 .share .list01 li {
		display: inline-block;
		margin: 0 5px;
	}
	.newsDetailModule01 .share .list01 img {
		width: 20px;
	}
	.newsDetailModule01 .share .txt {
		color: #000;
	}
	.newsDetailModule01 .honbun {
		margin: 120px 0 0 0;
	}
	.newsDetailModule01 .honbun.type2 {
		margin: 90px 0 0 0;
	}
	.newsDetailModule01 .part01 {
		width: 100%;
		max-width: 920px;
		margin: 0 auto 60px;
		padding: 0;
		font-size: 15px;
	}
	.newsDetailModule01 .part02 {
		margin: 0 auto 50px;
	}
	.newsDetailModule01 .part02 img {
		width: 100%;
	}
	.newsDetailModule01 .part02 .txt01 {
		max-width: 920px;
		margin: 0 auto;
		color: #000000;
	}
	.newsDetailModule01 .part02.type2 {
		max-width: 920px;
	}
	.newsDetailModule01 .part02.type2 .txt01 {
		max-width: 820px;
	}
	.newsDetailModule01 .part03 {
		width: 100%;
		max-width: 920px;
		margin: 0 auto 60px;
		padding: 0;
		font-size: 24px;
		font-weight: normal;
		color: #000000;
	}
	.newsDetailModule01 .part04 {
		width: 100%;
		max-width: 920px;
		margin: 0 auto 60px;
		color: #000000;
		padding: 0px 15px 0px 50px;
		display: block;
		border-left: solid 1px #d2d2d2;
		font-size: 15px;
	}
	.newsDetailModule01 .part05 {
		margin: 0 auto 60px;
	}
	.newsDetailModule01 .part05 img {
		width: 100%;
		/*    margin: 0 auto 60px;*/
	}
	.newsDetailModule01 .part05 .first {
		width: 50%;
		float: left;
	}
	.newsDetailModule01 .part05 .second {
		width: 50%;
		float: right;
	}
	.newsDetailModule01 > div:last-of-type {
		margin: 0 auto 0px;
	}
	.newsDetailModule01.gallery .part01,
	.newsDetailModule01.gallery .part02,
	.newsDetailModule01.gallery .part03,
	.newsDetailModule01.gallery .part04,
	.newsDetailModule01.gallery .part05 {
		margin: 0 auto 80px;
		overflow: hidden;
	}
	.newsDetailModule01.gallery .part01 img,
	.newsDetailModule01.gallery .part02 img,
	.newsDetailModule01.gallery .part03 img,
	.newsDetailModule01.gallery .part04 img,
	.newsDetailModule01.gallery .part05 img {
		margin: 0 auto 0px;
	}
	.newsDetailModule01.gallery > div:last-of-type {
		margin: 0 auto 0px;
	}
}

.black .newsDetailModule01 .titBlock {
	color: #fff;
}
.black .newsDetailModule01 .tag li a {
	color: #fff;
}
.black .newsDetailModule01 .part01,
.black .newsDetailModule01 .part02,
.black .newsDetailModule01 .part02 .txt01,
.black .newsDetailModule01 .part03,
.black .newsDetailModule01 .part04,
.black .newsDetailModule01 .part05 {
	color: #fff;
}
.black .shareModule02 {
	color: #fff;
}
.black .shareModule02 .txt {
	color: #fff;
}

.shareModule02.white {
	background: #fff;
}

.shareModule02 .txt.white {
	color: #fff;
}

.newsDetailModule01.white {
	background: #fff;
}

@media screen and (max-width: 767px) {
	.newsDetailModule01.gallery .part01 img,
	.newsDetailModule01.gallery .part02 img,
	.newsDetailModule01.gallery .part03 img,
	.newsDetailModule01.gallery .part04 img,
	.newsDetailModule01.gallery .part05 img {
		margin: 0 0 10px;
	}
}
@media screen and (min-width: 768px), print {
	.newsDetailModule01.gallery .titBlock {
		background: #000;
	}
	.newsDetailModule01.gallery .titBlock .tit {
		color: #fff;
	}
	.newsDetailModule01.gallery .titBlock02 {
		background: #000;
	}
	.newsDetailModule01.gallery .titBlock02 time {
		color: #fff;
	}
	.newsDetailModule01.gallery .titBlock02 .share .txt {
		color: #fff;
	}
	.newsDetailModule01.gallery .part02.short {
		max-width: 920px;
	}
}

.shareModule {
	text-align: center;
	width: 260px;
	margin: 0 auto;
}
.shareModule .txt {
	font-family: "purista-web", sans-serif;
	font-weight: 400;
	font-size: 11px;
	position: relative;
	top: 5px;
}
.shareModule .list01 {
	display: inline-block;
	margin: 0 0 0 20px;
}
.shareModule .list01 li {
	display: inline-block;
	margin: 0 5px;
}
.shareModule .list01 img {
	width: 30px;
}
@media screen and (max-width: 767px) {
	.shareModule {
		display: none;
	}
}
@media screen and (min-width: 768px), print {
	.shareModule.m50 {
		clear: both;
		margin: 50px auto 50px;
	}
	.shareModule.m50.top {
		clear: both;
		margin: 30px auto 50px;
	}
}

.shareModule02 {
	text-align: center;
	width: 260px;
	margin: 0 auto;
}
.shareModule02 .txt {
	font-family: "purista-web", sans-serif;
	font-weight: 400;
	font-size: 11px;
	position: relative;
	top: 5px;
}
.shareModule02 .list01 {
	display: inline-block;
}
.shareModule02 .list01 li {
	display: inline-block;
	margin: 0 5px;
}
.shareModule02 .list01 img {
	width: 30px;
}
@media screen and (max-width: 767px) {
	.shareModule02 {
		margin: 20px auto 30px;
	}
	.shareModule02 .txt {
		width: 100%;
		display: block;
		padding: 0 0 15px 10px;
	}
	.shareModule02 .list01 li {
		margin: 0 20px;
	}
}
@media screen and (min-width: 768px), print {
	.shareModule02 {
		clear: both;
		padding: 50px 0 50px;
	}
	.shareModule02 .txt {
		color: #000;
	}
}
.shareModule02.white .txt {
	color: #fff;
}

.partnersBtn {
	display: block;
	color: #fff !important;
	text-align: center;
	clear: both;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-size: 18px;
	font-style: italic !important;
}

/*-----------------------
relatedRidersModule
-----------------------*/
.relatedRidersModule {
	background: #1b2121;
}
.relatedRidersModule .tit {
	color: #888888;
	font-family: "purista-web", sans-serif;
	font-weight: 400;
	font-size: 12px;
}
.relatedRidersModule .list01 li a figure {
	overflow: hidden;
}
.relatedRidersModule .list01 li a .name {
	line-height: 1.4;
}
.relatedRidersModule .list01 li a:hover {
	opacity: 1 !important;
}
.relatedRidersModule .list01 li a:hover figure img {
	transform: scale(1.1, 1.1);
}
@media screen and (max-width: 767px) {
	.relatedRidersModule {
		padding: 15px;
	}
	.relatedRidersModule .list01 {
		margin: 20px 0 0 0;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
	}
	.relatedRidersModule .list01 li {
		width: 50%;
		position: relative;
		margin: 0 0 20px;
	}
	.relatedRidersModule .list01 li figure {
		width: 40%;
		float: left;
		overflow: hidden;
	}
	.relatedRidersModule .list01 li a {
		overflow: hidden;
		display: block;
	}
	.relatedRidersModule .list01 li a .name {
		display: block;
		float: left;
		width: 60%;
		color: #fff;
		font-size: 12px;
		padding: 0 10px;
		position: absolute;
		top: 50%;
		right: 0;
		-webkit-transform: translate(0%, -50%);
		transform: translate(0%, -50%);
	}
}
@media screen and (min-width: 768px), print {
	.relatedRidersModule {
		max-width: 1600px;
		margin: 0 auto;
		overflow: hidden;
		position: relative;
		padding: 40px 0 5px;
	}
	.relatedRidersModule .tit {
		width: 150px;
		position: absolute;
		top: 40px;
		left: 15px;
	}
	.relatedRidersModule .list01 {
		float: left;
		padding: 0 0 0 200px;
	}
	.relatedRidersModule .list01 li {
		width: 240px;
		float: left;
		display: block;
		position: relative;
		margin: 0 0 35px;
	}
	.relatedRidersModule .list01 figure {
		width: 64px;
	}
	.relatedRidersModule .list01 figure img {
		width: 100%;
	}
	.relatedRidersModule .list01 a {
		overflow: hidden;
		display: block;
	}
	.relatedRidersModule .list01 a .name {
		display: block;
		float: left;
		width: 70%;
		color: #fff;
		font-size: 12px;
		padding: 0 10px;
		position: absolute;
		top: 50%;
		right: 0;
		-webkit-transform: translate(0%, -50%);
		transform: translate(0%, -50%);
	}
}

.relatedRidersWrap {
	width: 100%;
	background: #1b2121;
}

.newsModule01Wrap {
	width: 100%;
	background: #000;
	background: url(../img/top/bg_top01.png) no-repeat top center #000;
	background-size: cover;
}
.newsModule01Wrap.nobg {
	background: #000;
}

/*-----------------------
partnersModule01
-----------------------*/
.partnersModule01 {
	margin: 0;
	position: relative;
}
.partnersModule01 .tit01 {
	padding: 70px 0;
	font-size: 32px;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	color: #fff;
	font-style: italic;
	letter-spacing: 0.05em;
	text-align: center;
}
.partnersModule01 .tit01 span:after {
	content: "";
	display: block;
	position: relative;
	top: 15px;
	margin: 0px auto 0;
	width: 40px;
	border-bottom: solid 1px #fff;
}
.partnersModule01 .list01 .box {
	background: #1b2121;
	position: relative;
	transition: transform 0.3s;
}
.partnersModule01 .list01 .box .logo {
	opacity: 1 !important;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 2;
}
.partnersModule01 .list01 .box .logo img {
	width: 100%;
	max-width: 150px;
}
.partnersModule01 .list01 .box .bg {
	opacity: 0;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.partnersModule01 .list01 .box:hover {
	opacity: 1 !important;
}
.partnersModule01 .list01 .box:hover .bg {
	opacity: 0.2;
	z-index: 1;
}
.partnersModule01 .list01 .txt {
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	color: #f53f3f;
	font-style: italic;
	font-size: 12px;
}
@media screen and (max-width: 767px) {
	.partnersModule01 .list01 {
		padding: 0 15px;
	}
	.partnersModule01 .list01 li {
		margin: 0 0 30px;
	}
	.partnersModule01 .list01 li:last-of-type {
		margin: 0 0 0px;
	}
}
@media screen and (min-width: 768px), print {
	.partnersModule01 {
		max-width: 1200px;
		margin: 0 auto;
		width: 100%;
	}
	.partnersModule01 .tit01 {
		padding: 80px 0;
	}
	.partnersModule01 .list01 {
		padding: 0 15px;
	}
	.partnersModule01 .list01 li {
		width: 31%;
		float: left;
		margin: 30px 0 0;
	}
	.partnersModule01 .list01 li:nth-of-type(3n - 1) {
		margin: 30px 3.5% 0;
	}
	.partnersModule01 .list01 li .box .bg img {
		width: 100%;
	}
}

.video {
	margin: 50px 0 60px;
}

.video {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.video iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

/*-----------------------
teamModule01
-----------------------*/
.teamModule01 {
	margin: 0;
	position: relative;
}
.teamModule01 .tit01 {
	padding: 30px 0 40px;
	font-size: 32px;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	color: #fff;
	font-style: italic;
	letter-spacing: 0.05em;
	text-align: center;
}
.teamModule01 .tit01 span:after {
	content: "";
	display: block;
	position: relative;
	top: 15px;
	margin: 0px auto 0;
	width: 40px;
	border-bottom: solid 1px #fff;
}
.teamModule01 .mainImg {
	position: relative;
}
.teamModule01 .mainImg img {
	width: 100%;
}
.teamModule01 .teamTit {
	position: relative;
}
.teamModule01 .teamTit .tit01 {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.teamModule01 .teamBox01 {
	margin: 30px 0;
}
.teamModule01 .teamBox01 .tit02 {
	width: 100%;
	display: block;
	text-align: center;
	color: #f53f3f;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
	font-size: 30px;
	letter-spacing: 0.1em;
}
.teamModule01 .teamBox01 .photo {
	width: 120px;
	margin: 20px auto;
}
.teamModule01 .teamBox01 .txt01 {
	color: #fff;
}
.teamModule01 .teamBox01 .snsLink {
	margin: 20px 0 30px;
	text-align: center;
}
.teamModule01 .teamBox01 .snsLink li {
	display: inline-block;
	margin: 0 10px;
}
.teamModule01 .teamBox01 .snsLink li img {
	width: 24px;
}
.teamModule01 .teamBox01 .txt02 {
	color: #fff;
}
.teamModule01 .teamBox02 {
	padding: 15px;
	background: #1b2121;
	color: #fff;
	overflow: hidden;
	margin: 0 0 10px;
	position: relative;
}
.teamModule01 .teamBox02.type2 {
	padding: 15px 15px 30px;
	margin: 0 auto 30px;
}
.teamModule01 .teamBox02.act .raceBoxWrap {
	display: block;
}
.teamModule01 .teamBox02.act .raceOpenBtn:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -3px 0 0 -3px;
	width: 6px;
	height: 6px;
	display: block;
	border-left: solid 1px #fff;
	border-bottom: solid 1px #fff;
	-moz-transform: rotate(-225deg);
	-webkit-transform: rotate(-225deg);
	-o-transform: rotate(-225deg);
	-ms-transform: rotate(-225deg);
}
.teamModule01 .teamBox02 .tit {
	color: #f53f3f;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
	font-size: 26px;
	letter-spacing: 0.1em;
}
.teamModule01 .teamBox02 ul {
	margin: 10px 0 10px 0;
	display: block;
	overflow: hidden;
}
.teamModule01 .teamBox02 li {
	float: left;
	display: block;
	text-align: center;
	width: 33.3%;
	border-right: #757a7a 1px solid;
}
.teamModule01 .teamBox02 li:nth-of-type(1) {
	border-left: #757a7a 1px solid;
}
.teamModule01 .teamBox02 li .name {
	display: block;
	font-size: 14px;
}
.teamModule01 .teamBox02 li .num {
	display: block;
	font-size: 34px;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
	line-height: 1.2;
}
.teamModule01 .video {
	margin: 50px 0 60px;
}
.teamModule01 .teamBox03 {
	padding: 15px;
	margin: 0 0 30px;
	overflow: hidden;
}
.teamModule01 .teamBox03 .people01 {
	overflow: hidden;
}
.teamModule01 .teamBox03 .list01.racerlist {
	text-align: center;
	margin: 0px 0 30px;
}
.teamModule01 .teamBox03 .list01.racerlist li {
	display: inline-block;
	margin: 0 40px;
}
.teamModule01 .teamBox03 .list01.racerlist a {
	color: #fff;
	font-size: 20px;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
	position: relative;
}
.teamModule01 .teamBox03 .list01.racerlist a.act,
.teamModule01 .teamBox03 .list01.racerlist a:hover {
	color: #f53f3f;
	opacity: 1 !important;
}
.teamModule01 .teamBox03 .list01.racerlist a::after {
	position: absolute;
	bottom: -10px;
	left: 25%;
	content: "";
	width: 50%;
	height: 1px;
	background: #f53f3f;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform 0.3s;
}
.teamModule01 .teamBox03 .list01.racerlist a.act::after,
.teamModule01 .teamBox03 .list01.racerlist a:hover::after {
	transform: scale(1, 1);
}
.teamModule01 .teamBox03 .list02 li {
	display: none;
}
.teamModule01 .teamBox03 .list02 li .photo {
	overflow: hidden;
	position: relative;
}
.teamModule01 .teamBox03 .list02 li .photo:hover:after {
	background-color: rgba(0, 0, 0, 0);
}
.teamModule01 .teamBox03 .list02 li .photo:after {
	content: "";
	display: block;
	z-index: 2;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4);
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.teamModule01 .teamBox03 .list02 li .name {
	position: relative;
	top: -12px;
	z-index: 3;
}
.teamModule01 .teamBox03 .list02 li .name .en {
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-size: 19px;
	font-style: italic;
	line-height: 1.5;
	color: #f53f3f;
	letter-spacing: 0.1em;
}
.teamModule01 .teamBox03 .list02 li .name .jp {
	font-size: 13px;
	color: #fff;
	padding: 5px 0 0 0;
}
.teamModule01 .video {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.teamModule01 .video iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
.teamModule01 .raceBoxWrap {
	display: none;
	margin: 20px 0 0 0;
}
.teamModule01 .raceBoxWrap .raceBox {
	border-top: #757a7a 1px solid;
	padding: 15px 0;
}
.teamModule01 .raceBoxWrap .raceBox .txt1 {
	font-family: "purista-web", sans-serif;
	font-weight: 400;
	font-size: 15px;
}
.teamModule01 .raceBoxWrap .raceBox .txt2 {
	padding: 20px 0 0;
	font-family: "purista-web", sans-serif;
	font-weight: 400;
	font-size: 15px;
}
.teamModule01 .raceBoxWrap .raceBox .txt3 {
	padding: 20px 0 0;
	font-family: "purista-web", sans-serif;
	font-weight: 400;
	font-size: 15px;
}
.teamModule01 .raceOpenBtn {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 24px;
	height: 24px;
	background: #000;
	color: #fff;
	margin: 0 0 0 -12px;
}
.teamModule01 .raceOpenBtn:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -3px 0 0 -3px;
	width: 6px;
	height: 6px;
	display: block;
	border-left: solid 1px #fff;
	border-bottom: solid 1px #fff;
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
}
.teamModule01 .raceOpenBtn.act:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -3px 0 0 -3px;
	width: 6px;
	height: 6px;
	display: block;
	border-left: solid 1px #fff;
	border-bottom: solid 1px #fff;
	-moz-transform: rotate(-225deg);
	-webkit-transform: rotate(-225deg);
	-o-transform: rotate(-225deg);
	-ms-transform: rotate(-225deg);
}
@media screen and (max-width: 767px) {
	.teamModule01 .teamTit .tit01 {
		font-size: 50px;
	}
	.teamModule01 .teamBox01 .txt01 {
		padding: 0 15px;
	}
	.teamModule01 .teamBox01 .txt02 {
		padding: 0 15px;
	}
	.teamModule01 .teamBox03 .list02.racerlist2 li {
		width: 50%;
		float: left;
		display: block;
		/*
    padding : 0 5px 10px 5px;
    position : relative;
    */
	}
	.teamModule01 .teamBox03 .list02.racerlist2 li:nth-of-type(odd) {
		padding: 0 5px 10px 0;
		clear: both;
	}
	.teamModule01 .teamBox03 .list02.racerlist2 li:nth-of-type(even) {
		padding: 0 0 10px 5px;
	}
}
@media screen and (min-width: 768px), print {
	.teamModule01 .tit01 {
		font-family: "purista-web", sans-serif;
		font-weight: 300;
		font-size: 50px;
	}
	.teamModule01 .tit01 span:after {
		content: "";
		display: block;
		position: relative;
		top: 0px;
		margin: 0px auto 0;
		width: 40px;
		border-bottom: solid 2px #fff;
	}
	.teamModule01 .teamBox01 {
		margin: 80px auto;
		width: 624px;
	}
	.teamModule01 .teamBox01 .photo {
		width: 110px;
	}
	.teamModule01 .teamBox01 .photo img {
		width: 100%;
	}
	.teamModule01 .teamBox01 .txt01 {
		width: 442px;
		margin: 50px auto 30px;
	}
	.teamModule01 .teamBox01 .snsLink {
		margin: 20px 0 30px;
	}
	.teamModule01 .teamBox01 .snsLink li {
		margin: 0 10px;
	}
	.teamModule01 .teamBox01 .snsLink li img {
		width: 30px;
	}
	.teamModule01 .teamBox01 .txt02 {
		margin: 60px auto 30px;
	}
	.teamModule01 .teamBox02 {
		width: 620px;
		margin: 0 auto 20px;
		padding: 20px 40px;
	}
	.teamModule01 .teamBox02.type2 {
		width: 900px;
		padding: 40px 80px;
		/*
    padding : 15px 15px 30px;
    margin : 0 auto 30px;
    */
	}
	.teamModule01 .teamBox02.type2 ul {
		float: none;
	}
	.teamModule01 .teamBox02.type2 .tit {
		top: 15px;
	}
	.teamModule01 .teamBox02 .tit {
		width: 120px;
		float: left;
		font-size: 26px;
		position: relative;
		top: 24px;
		left: 0px;
		display: block;
		font-family: "purista-web", sans-serif;
		font-weight: 300;
	}
	.teamModule01 .teamBox02 .year {
		clear: both;
		margin: 0 0 10px;
	}
	.teamModule01 .teamBox02 ul {
		float: right;
		width: 400px;
	}
	.teamModule01 .teamBox02 ul .num {
		font-size: 32px;
	}
	.teamModule01 .teamBox02 .raceOpenBtn {
		position: absolute;
		top: 70px;
		right: 30px;
		left: auto;
		bottom: auto;
		width: 24px;
		height: 24px;
		background: #000;
		color: #fff;
		margin: 0 0 0 -12px;
	}
	.teamModule01 .teamBox02 .raceOpenBtn:after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		margin: -3px 0 0 -3px;
		width: 6px;
		height: 6px;
		display: block;
		border-left: solid 1px #fff;
		border-bottom: solid 1px #fff;
		-moz-transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
	}
	.teamModule01 .teamBox02 .raceBox {
		overflow: hidden;
		position: relative;
		margin: 15px 0 0;
		padding: 15px 0 0px;
		display: table;
		width: 100%;
	}
	.teamModule01 .teamBox02 .raceBox:before {
		content: "";
		position: absolute;
		height: 100%;
		width: 1px;
		display: block;
		background: #757a78;
		top: 15px;
		left: 310px;
	}
	.teamModule01 .teamBox02 .raceBox:after {
		content: "";
		position: absolute;
		height: 100%;
		width: 1px;
		display: block;
		background: #757a78;
		top: 15px;
		left: 580px;
	}
	.teamModule01 .teamBox02 .raceBox .txt1 {
		padding: 0 20px;
		width: 310px;
		display: table-cell;
		vertical-align: middle;
		line-height: 1.5em;
	}
	.teamModule01 .teamBox02 .raceBox .txt2 {
		padding: 0 20px;
		width: 270px;
		display: table-cell;
		vertical-align: middle;
		line-height: 1.5em;
	}
	.teamModule01 .teamBox02 .raceBox .txt3 {
		padding: 0;
		width: 150px;
		text-align: center;
		display: table-cell;
		vertical-align: middle;
		line-height: 1.5em;
	}
	.teamModule01 .teamBox03 {
		padding: 15px;
		margin: 0 0 0px;
		overflow: hidden;
	}
	.teamModule01 .teamBox03 .list01.racerlist {
		text-align: center;
		margin: 0px 0 80px;
	}
	.teamModule01 .teamBox03 .list01.racerlist a {
		font-size: 26px;
	}
	.teamModule01 .teamBox03 .list02.racerlist2 {
		max-width: 900px;
		width: 100%;
		margin: 0 auto;
		text-align: left;
	}
	.teamModule01 .teamBox03 .list02.racerlist2 li {
		width: 23%;
		display: block;
		float: left;
		margin: 0 1% 10px;
	}
	.teamModule01 .teamBox03 .list02.racerlist2 li .photo img {
		width: 100%;
	}
	.teamModule01 .teamBox03 .list02.racerlist2 li .name {
		top: -20px;
	}
	.teamModule01 .teamBox03 .list02.racerlist2 li .name .en {
		font-size: 26px;
	}
	.teamModule01 .teamBox03 .list02.racerlist2 li .name .jp {
		font-size: 12px;
	}
	.teamModule01 .teamFoot {
		width: 100%;
	}
	.teamModule01 .teamFoot img {
		width: 100%;
	}
}

/* 20230105追記 */
.teamModule01 .teamBox03 .list02.racerlist2 li {
	width: auto;
}
@media screen and (max-width: 767px) {
	.teamModule01 .teamBox03 .list02.racerlist2 ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (min-width: 768px), print {
	.teamModule01 .teamBox03 .list02.racerlist2 ul {
		display: grid;
		grid-template-columns: repeat(4, 23%);
		justify-content: space-around;
	}
}

/*-----------------------
biographyModule01
-----------------------*/
.biographyModule01 .inner {
	color: #fff;
}
@media screen and (max-width: 767px) {
	.biographyModule01 p {
		padding: 40px 15px;
		font-size: 14px;
	}
}
@media screen and (min-width: 768px), print {
	.biographyModule01 .inner {
		width: 100%;
		max-width: 920px;
		margin: 0 auto 40px;
	}
	.biographyModule01 .inner figure img {
		width: 100%;
	}
	.biographyModule01 .inner p {
		padding: 40px 0 15px;
		font-size: 15px;
	}
}

/*-----------------------
faqModule01
-----------------------*/
.faqModule01 .tit {
	color: #f53f3f;
	opacity: 1 !important;
	font-size: 20px;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
	position: relative;
	text-align: center;
	margin: 0 0 30px;
}
.faqModule01 .tit:after {
	position: absolute;
	bottom: -10px;
	left: 50%;
	content: "";
	width: 20px;
	height: 1px;
	margin: 0 0 0 -10px;
	background: #f53f3f;
	transform-origin: left top;
	transition: transform 0.3s;
}
.faqModule01 .inner {
	color: #fff;
	padding: 15px;
}
.faqModule01 .faqlist li {
	position: relative;
	float: left;
	margin: 0 20px 10px 0;
	padding: 30px;
	height: 210px;
	width: 100%;
	list-style: none;
	cursor: pointer;
	-webkit-transition: 0.8s;
	-webkit-transform-style: preserve-3d;
	-moz-transition: 0.8s;
	-moz-transform-style: preserve-3d;
	-o-transition: 0.8s;
	-o-transform-style: preserve-3d;
	transition: 0.8s;
	transform-style: preserve-3d;
}
.faqModule01 .omote {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	background: #1b2121;
	padding: 30px;
}
.faqModule01 .ura {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #d82424;
	-webkit-transform: rotateY(180deg);
	-moz-transform: rotateY(180deg);
	-o-transform: rotateY(180deg);
	transform: rotateY(180deg);
	padding: 30px;
}
.faqModule01 .omote,
.faqModule01 .ura {
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-o-backface-visibility: hidden;
	backface-visibility: hidden;
}
.faqModule01 .omote .txt,
.faqModule01 .ura .txt {
	position: absolute;
	top: 50%;
	left: 0px;
	padding: 0 30px 0 35px;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}
.faqModule01 .omote .txt:after {
	position: absolute;
	bottom: -10px;
	left: 35px;
	content: "";
	width: 24px;
	height: 1px;
	margin: 0;
	background: #f53f3f;
	transform-origin: left top;
	transition: transform 0.3s;
}
.faqModule01 .omote:after {
	content: "Q.";
	display: block;
	position: absolute;
	top: 10px;
	left: 20px;
	font-size: 20px;
	color: #fff;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
}
.faqModule01 .omote .open {
	position: absolute;
	right: 0;
	top: 50%;
	width: 24px;
	height: 24px;
	background: #000;
	color: #fff;
	margin: -12px 0 0 0;
}
.faqModule01 .omote .open:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -3px 0 0 -3px;
	width: 6px;
	height: 6px;
	display: block;
	border-left: solid 1px #fff;
	border-bottom: solid 1px #fff;
	-moz-transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	-o-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
}
.faqModule01 .ura:after {
	content: "A.";
	display: block;
	position: absolute;
	top: 10px;
	left: 20px;
	font-size: 20px;
	color: #fff;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
}
.faqModule01 .ura .open {
	position: absolute;
	left: 0;
	top: 50%;
	width: 24px;
	height: 24px;
	background: #000;
	color: #fff;
	margin: -12px 0 0 0;
}
.faqModule01 .ura .open:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -3px 0 0 -3px;
	width: 6px;
	height: 6px;
	display: block;
	border-left: solid 1px #fff;
	border-bottom: solid 1px #fff;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
}
.faqModule01 .faqlist li.act {
	-webkit-transform: rotateY(180deg);
	-moz-transform: rotateY(180deg);
	-o-transform: rotateY(180deg);
	transform: rotateY(180deg);
}
.faqModule01 .faqBtn {
	display: block;
	margin: 0 auto;
	color: #d82424;
	font-size: 20px;
	font-family: bebas-neue, sans-serif;
	font-style: normal;
	font-weight: 400;
	border: solid 1px #d82424;
	width: 260px;
	line-height: 50px;
	text-align: center;
	position: relative;
	clear: both;
}
.faqModule01 .faqBtn .min {
	font-size: 14px;
	display: inline-block;
	padding: 0 0 0 10px;
}
.faqModule01 .faqBtn:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	margin: -4px 0 0 0;
	width: 8px;
	height: 8px;
	display: block;
	border-left: solid 1px #d82424;
	border-bottom: solid 1px #d82424;
	-moz-transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	-o-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
}
.faqModule01 .faqBtn:hover {
	opacity: 1 !important;
	color: #fff;
}
.faqModule01 .faqBtn:before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	content: "";
	background: #d82424;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform 0.3s;
}
.faqModule01 .faqBtn:hover:before {
	transform-origin: left top;
	transform: scale(1, 1);
}
@media screen and (max-width: 767px) {
	.faqModule01 .faqlist {
		overflow: hidden;
	}
	.faqModule01 .faqBtn {
		margin: 30px auto 10px;
	}
}
@media screen and (min-width: 768px), print {
	.faqModule01 .inner {
		width: 100%;
		max-width: 1600px;
		margin: 0 auto;
	}
	.faqModule01 .faqlist {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 0 0 40px;
	}
	.faqModule01 .faqlist li {
		width: 24%;
		margin: 0 0px 20px;
	}
	.faqModule01 .faqlist::after {
		content: "";
		display: block;
		width: 24%;
	}
	.faqModule01 .faqlist::before {
		content: "";
		display: block;
		width: 24%;
		order: 1;
	}
}

@media screen and (min-width: 768px) and (max-width: 1100px), print {
	.faqModule01 .faqlist li {
		width: 32%;
		margin: 0 0px 20px;
	}
	.faqModule01 .faqlist::after {
		content: "";
		display: block;
		width: 32%;
	}
}
/*-----------------------
ridersModule01
-----------------------*/
.ridersModule01 .profBox {
	background: #1b2121;
}
.ridersModule01 .profBox .box01 .photo {
	width: 50px;
	float: left;
}
.ridersModule01 .profBox .box01 .tit {
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	color: #f53f3f;
	font-size: 28px;
	font-style: italic;
	line-height: 1.2;
	letter-spacing: 0.1em;
	padding: 0 0 0 20px;
	display: inline-block;
}
.ridersModule01 .profBox .box02 .name {
	display: block;
	color: #fff;
	font-size: 15px;
}
.ridersModule01 .profBox .box02 .country {
	color: #fff;
	font-size: 11px;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
}
.ridersModule01 .profBox .box02 .country .txt {
	display: inline-block;
	padding: 2px 5px 0 0;
}
.ridersModule01 .profBox .box03 ul li {
	width: 33.3%;
	float: left;
	margin: 0 0 10px;
}
.ridersModule01 .profBox .box03 ul li.wide {
	width: 100%;
}
.ridersModule01 .profBox .box03 ul li .txt1 {
	color: #fff;
	font-size: 11px;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	display: block;
}
.ridersModule01 .profBox .box03 ul li .txt2 {
	color: #fff;
	font-size: 26px;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
	line-height: 1.2;
}
.ridersModule01 .profBox .partnerLink {
	width: 100%;
	text-align: center;
	margin: 0px 0 20px;
}
.ridersModule01 .profBox .partnerLink li {
	display: inline-block;
	margin: 0 5px;
}
.ridersModule01 .profBox .partnerLink li a {
	background: #3c4242;
	border-radius: 36px;
	width: 36px;
	height: 36px;
	display: inline-block;
	line-height: 36px;
}
.ridersModule01 .profBox .partnerLink li a:hover {
	opacity: 1 !important;
	background: #d03434;
}
.ridersModule01 .profBox .partnerLink li img {
	width: 20px;
}
@media screen and (max-width: 767px) {
	.ridersModule01 .profBox {
		padding: 40px 20px 20px;
		overflow: hidden;
	}
	.ridersModule01 .profBox .box01 {
		width: 100%;
	}
	.ridersModule01 .profBox .box01 .photo {
		width: 50px;
		float: left;
	}
	.ridersModule01 .profBox .box02 {
		width: 100%;
		margin: 10px 0 0;
		overflow: hidden;
	}
	.ridersModule01 .profBox .box02 .name {
		display: block;
		float: left;
		color: #fff;
		font-size: 15px;
	}
	.ridersModule01 .profBox .box02 .country {
		float: right;
		color: #fff;
		font-size: 11px;
		font-family: "purista-web", sans-serif;
		font-weight: 300;
		font-style: italic;
	}
	.ridersModule01 .profBox .box02 .country img {
		width: 20px;
	}
	.ridersModule01 .profBox .box03 {
		width: 100%;
		float: left;
		margin: 10px 0 20px;
	}
	.ridersModule01 .profBox .box03 ul li:first-of-type {
		width: 25%;
	}
	.ridersModule01 .profBox .box03 ul li:nth-of-type(2) {
		width: 30%;
	}
	.ridersModule01 .profBox .box03 ul li:nth-of-type(3) {
		width: 45%;
	}
	.ridersModule01 .profBox .box03 ul li:nth-of-type(3) .txt2 {
		word-wrap: break-word;
	}
}
@media screen and (min-width: 768px), print {
	.ridersModule01 .mainImg {
		position: relative;
	}
	.ridersModule01 .mainImg img {
		width: 100%;
	}
	.ridersModule01 .mainImg .btnList {
		position: absolute;
		top: 0;
		left: 50%;
		width: 100px;
		text-align: center;
		z-index: 20;
		display: block;
		color: #fff;
		font-size: 18px;
		font-family: "purista-web", sans-serif;
		font-weight: 300;
		font-style: italic;
		margin: 20px 0 0 -50px;
	}
	.ridersModule01 .mainImg .btnList:hover {
		opacity: 1 !important;
	}
	.ridersModule01 .mainImg .btnList:hover img {
		transform: scale(0.8, 0.8);
	}
	.ridersModule01 .mainImg .btnList img {
		width: 14px;
		height: 14px;
		display: inline-block;
		transform: scale(1, 1);
		transition: transform 0.3s;
	}
	.ridersModule01 .mainImg .btnList .name {
		display: inline-block;
		padding: 0px 0 0 10px;
		position: relative;
		top: 2px;
	}
	.ridersModule01 .profBoxWrap {
		background: #1b2121;
		width: 100%;
		overflow: hidden;
	}
	.ridersModule01 .profBox {
		width: 100%;
		/* 20230120修正 */
		min-height: 192px;
		/* 20230120ここまで */
		margin: 0 auto;
		padding: 40px 0 20px;
		overflow: hidden;
		position: relative;
		max-width: 1000px;
		padding-left: 90px;
	}
	.ridersModule01 .profBox .box01 {
		width: 340px;
		float: left;
		position: relative;
	}
	.ridersModule01 .profBox .box01 .photo img {
		width: 50px;
	}
	.ridersModule01 .profBox .box02 {
		position: absolute;
	}
	.ridersModule01 .profBox .box02 .name {
		position: absolute;
		top: 80px;
		left: 0;
		width: 200px;
	}
	.ridersModule01 .profBox .box02 .country {
		position: absolute;
		left: 400px;
		top: 0px;
		width: 60px;
	}
	.ridersModule01 .profBox .box02 .country .txt {
		display: inline-block;
	}
	.ridersModule01 .profBox .box02 .country img {
		width: 20px;
		display: inline-block;
	}
	.ridersModule01 .profBox .box03 {
		float: right;
		width: 390px;
	}
	.ridersModule01 .profBox .box03 ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.ridersModule01 .profBox .box03 ul li:first-of-type {
		width: 16%;
	}
	.ridersModule01 .profBox .box03 ul li:nth-of-type(2) {
		width: 24%;
	}
	.ridersModule01 .profBox .box03 ul li:nth-of-type(3) {
		width: 60%;
	}
	.ridersModule01 .profBox .box03 ul li:nth-of-type(3) .txt2 {
		word-wrap: break-word;
	}

	.ridersModule01 .profBox .box03 ul li .txt1 {
		font-family: "purista-web", sans-serif;
		font-weight: 300;
	}
	.ridersModule01 .profBox .box03 ul li .txt2 {
		font-family: "purista-web", sans-serif;
		font-weight: 300;
	}
	.ridersModule01 .profBox .partnerLink {
		position: absolute;
		bottom: 10px;
		width: 450px;
		text-align: right;
	}
	.ridersModule01 .profBox .partnerLink li {
		margin: 0 3px;
	}
	.ridersModule01 .profBox .partnerLink li a {
		border-radius: 24px;
		width: 24px;
		height: 24px;
		display: inline-block;
		line-height: 24px;
		text-align: center;
	}
	.ridersModule01 .profBox .partnerLink li img {
		width: 14px;
	}
}

.btnList {
	text-align: center;
	z-index: 20px;
	display: block;
	font-size: 18px;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
	letter-spacing: 0.1em;
}
.btnList:hover {
	opacity: 1 !important;
}
.btnList:hover img {
	transform: scale(0.8, 0.8);
}
.btnList img {
	width: 14px;
	height: 14px;
	display: inline-block;
	transform: scale(1, 1);
	transition: transform 0.3s;
}
.btnList .name {
	display: inline-block;
	padding: 0px 0 0 10px;
	position: relative;
	top: 2px;
	color: #fff;
}

@media screen and (max-width: 767px) {
	.btnListBox {
		margin: 30px auto 35px;
	}
}
/*-----------------------
.ridersModule01
-----------------------*/
.ridersModule02 .ridersMenu {
	text-align: center;
	margin: 30px 0 10px;
}
.ridersModule02 .ridersMenu li {
	/*                display : inline-block;*/
	margin: 0 20px;
	cursor: pointer;
}
.ridersModule02 .ridersMenu a {
	color: #fff;
	font-size: 20px;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
	position: relative;
	cursor: pointer;
}
.ridersModule02 .ridersMenu a.act,
.ridersModule02 .ridersMenu a:hover {
	color: #f53f3f;
	opacity: 1 !important;
}
.ridersModule02 .ridersMenu a::after {
	position: absolute;
	bottom: -20px;
	left: 35%;
	content: "";
	width: 30%;
	height: 1px;
	background: #f53f3f;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform 0.3s;
}
.ridersModule02 .ridersMenu a.act::after,
.ridersModule02 .ridersMenu a:hover::after {
	transform: scale(1, 1);
}
@media screen and (max-width: 767px) {
	.ridersModule02 {
		margin: 20px 0 0;
	}
	.ridersModule02 .ridersMenu {
		display: block;
		overflow-x: auto;
		padding: 0 0px 30px;
		-webkit-overflow-scrolling: touch;
	}
	.ridersModule02 .ridersMenu li {
		display: table-cell;
		padding: 0 20px;
		white-space: nowrap;
	}
	.ridersModule02 .ridersMenu li.staff {
		display: block;
		widht: 100%;
	}
}
@media screen and (min-width: 768px), print {
	.ridersModule02 .ridersMenu {
		width: 700px;
		margin: 0 auto;
		padding: 50px 0 40px;
	}
	.ridersModule02 .ridersMenu li {
		display: inline-block;
	}
	.ridersModule02 .ridersMenu li a {
		font-family: "purista-web", sans-serif;
		font-weight: 300;
		font-size: 20px;
	}
}

/*-----------------------
raceModule01
-----------------------*/
.raceModule01 {
	margin: 0;
	position: relative;
}
.raceModule01 .tit01 {
	padding: 70px 0 10px;
	font-size: 32px;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	color: #fff;
	font-style: italic;
	letter-spacing: 0.05em;
	text-align: center;
}
.raceModule01 .tit01 span:after {
	content: "";
	display: block;
	position: relative;
	top: 15px;
	margin: 0px auto 0;
	width: 40px;
	border-bottom: solid 1px #fff;
}
@media screen and (min-width: 768px), print {
	.raceModule01 .tit01 {
		padding: 80px 0 50px;
	}
}

/*-----------------------
raceModule02
-----------------------*/
.raceModule02 {
	margin: 0;
	position: relative;
}
.raceModule02 .item .tit {
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	color: #f53f3f;
	font-style: italic;
	font-size: 24px;
	padding: 0 0 0 10px;
}
.raceModule02 .item .tit span {
	color: #fff;
	font-size: 16px;
	display: inline-block;
	padding: 0 0 0 10px;
}
.raceModule02 .item .list li {
	margin: 0 0 20px;
}
.raceModule02 .item .list li:hover {
	background: #444c55;
	opacity: 1 !important;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.raceModule02 .item .list li a:hover {
	opacity: 1 !important;
}
.raceModule02 .item .list li a:hover .photo {
	overflow: hidden;
}
.raceModule02 .item .list li a:hover .photo img {
	transform: scale(1.1, 1.1);
}
.raceModule02 .item .list .box {
	padding: 15px;
}
.raceModule02 .item .list time {
	font-family: "purista-web", sans-serif;
	font-weight: 400;
	font-size: 15px;
}
.raceModule02 .item .list .txt1 {
	font-family: "purista-web", sans-serif;
	font-weight: 400;
	font-size: 15px;
	padding: 10px 0 0 0;
}
.raceModule02 .item .list .txt2 {
	font-size: 13px;
	padding: 2px 0 0 0;
}
.raceModule02 .item .list .txt2 .country {
	display: inline-block;
	margin: 0 12px 0 0;
	position: relative;
	top: -1px;
}
.raceModule02 .item .list .txt2 .country .txt {
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-size: 11px;
	font-style: italic;
}
.raceModule02 .item .list .txt2 .country img {
	width: 20px;
	display: inline-block;
	margin: 0 0 0 10px;
}
.raceModule02 .item .list .txt3 {
	font-family: "purista-web", sans-serif;
	font-weight: 400;
	font-size: 13px;
	padding: 20px 0 0 0;
}
.raceModule02 .item .list time,
.raceModule02 .item .list .txt1,
.raceModule02 .item .list .txt2,
.raceModule02 .item .list .txt3 {
	color: #fff;
}
.raceModule02 .item .list .arrow {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 24px;
	height: 24px;
	background: #000;
	display: block;
}
.raceModule02 .item .list .arrow:after {
	content: "";
	position: absolute;
	top: 10px;
	left: 8px;
	width: 6px;
	height: 6px;
	display: block;
	border-left: solid 1px #fff;
	border-bottom: solid 1px #fff;
	-moz-transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	-o-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
}
@media screen and (max-width: 767px) {
	.raceModule02 .box {
		background: #1b2121;
		position: relative;
	}
}
@media screen and (min-width: 768px), print {
	.raceModule02 .inner {
		width: 100%;
		max-width: 1260px;
		margin: 0 auto;
	}
	.raceModule02 .item .list li {
		overflow: hidden;
		background: #1b2121;
		margin: 0 0 40px;
	}
	.raceModule02 .item .list li a {
		overflow: hidden;
		position: relative;
		display: block;
	}
	.raceModule02 .item .list li:nth-of-type(odd) .photo {
		float: left;
	}
	.raceModule02 .item .list li:nth-of-type(odd) .box {
		float: right;
	}
	.raceModule02 .item .list li:nth-of-type(even) .photo {
		float: right;
	}
	.raceModule02 .item .list li:nth-of-type(even) .box {
		float: left;
	}
	.raceModule02 .item .list li:nth-of-type(even) .arrow {
		left: 39%;
		right: auto;
	}
	.raceModule02 .item .list .photo {
		width: 57%;
		height: 280px;
		z-index: 2;
		display: block;
		position: relative;
		overflow: hidden;
	}
	.raceModule02 .item .list .photo img {
		width: 720px;
		position: absolute;
		top: 0;
		left: 0;
	}
	.raceModule02 .item .list .box {
		width: 43%;
		padding: 60px 40px 0;
	}
	.raceModule02 .item .list .box:after {
		position: absolute;
		content: "";
		display: block;
		width: 100%;
		height: 10px;
		background: #000;
		top: 0;
		left: 0;
		z-index: 1;
	}
	.raceModule02 .item .list .box:before {
		position: absolute;
		content: "";
		display: block;
		width: 100%;
		height: 10px;
		background: #000;
		bottom: 0;
		left: 0;
		z-index: 1;
	}
	.raceModule02 .item .list .arrow {
		position: absolute;
		bottom: auto;
		left: 96%;
		top: 50%;
		width: 24px;
		height: 24px;
		margin: -12px 0 0 0;
		background: #000;
		display: block;
	}
	.raceModule02 .item .list .arrow:after {
		content: "";
		position: absolute;
		top: 10px;
		left: 7px;
		width: 6px;
		height: 6px;
		display: block;
		border-left: solid 1px #fff;
		border-bottom: solid 1px #fff;
		-moz-transform: rotate(-135deg);
		-webkit-transform: rotate(-135deg);
		-o-transform: rotate(-135deg);
		-ms-transform: rotate(-135deg);
	}
}

/*-----------------------
raceModule03
-----------------------*/
.raceModule03 {
	margin: 0;
	position: relative;
}
.raceModule03 .box {
	color: #fff;
}
.raceModule03 .box time {
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-size: 24px;
	font-style: italic;
}
.raceModule03 .box .txt1 {
	font-family: "purista-web", sans-serif;
	font-weight: 400;
	font-size: 15px;
	padding: 10px 0 0 0;
}
.raceModule03 .box .txt2 {
	font-size: 13px;
	padding: 2px 0 0 0;
}
.raceModule03 .box .txt2 .country {
	display: inline-block;
	margin: 0 12px 0 0;
}
.raceModule03 .box .txt2 .country .txt {
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-size: 11px;
	font-style: italic;
}
.raceModule03 .box .txt2 .country img {
	width: 20px;
	display: inline-block;
	margin: 0 0 0 10px;
}
.raceModule03 .box .txt3 {
	font-family: "purista-web", sans-serif;
	font-weight: 400;
	font-size: 13px;
	padding: 20px 0 0 0;
}
.raceModule03 .box .txt4 {
	font-size: 12px;
	padding: 20px 0 0 0;
}
.raceModule03 .box .txt4 a {
	color: #fff;
	display: block;
	padding: 10px 0 0;
	text-decoration: underline;
}
@media screen and (max-width: 767px) {
	.raceModule03 .box {
		padding: 30px 15px;
	}
}
@media screen and (min-width: 768px), print {
	.raceModule03 .btnList {
		position: absolute;
		top: 0;
		left: 50%;
		width: 100px;
		text-align: center;
		z-index: 20px;
		display: block;
		color: #fff;
		font-size: 18px;
		font-family: "purista-web", sans-serif;
		font-weight: 300;
		font-style: italic;
		margin: 20px 0 0 -50px;
	}
	.raceModule03 .mainimg img {
		width: 100%;
	}
	.raceModule03 .box {
		max-width: 950px;
		width: 100%;
		margin: 0 auto;
		overflow: hidden;
		padding: 60px 15px 50px;
	}
	.raceModule03 .box .boxin {
		float: left;
		width: 44%;
		padding: 0 20px 0 0;
	}
	.raceModule03 .box .txt4 {
		float: right;
		width: 56%;
		padding: 0;
	}
}

/*-----------------------
.yearModule01
-----------------------*/
.yearModule01 .list {
	text-align: center;
	margin: 30px 0 10px;
}
.yearModule01 .list li {
	/*                display : inline-block;*/
	margin: 0 20px;
}
.yearModule01 .list a {
	color: #fff;
	font-size: 18px;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
	position: relative;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.yearModule01 .list a.act,
.yearModule01 .list a:hover {
	font-size: 24px;
	color: #f53f3f;
	opacity: 1 !important;
}
.yearModule01 .list2 {
	text-align: center;
	margin: 30px 0 10px;
}
.yearModule01 .list2 li {
	/*                display : inline-block;*/
	padding: 0 18px;
	position: relative;
	border-right: 1px solid #fff;
	line-height: 1.1;
}
.yearModule01 .list2 li:last-of-type {
	border-right: 0px solid #fff;
}
.yearModule01 .list2 a {
	color: #fff;
	font-size: 20px;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
	position: relative;
}
.yearModule01 .list2 a.act,
.yearModule01 .list2 a:hover {
	color: #f53f3f;
	opacity: 1 !important;
}
.yearModule01 .list2 a::after {
	position: absolute;
	bottom: -10px;
	left: 35%;
	content: "";
	width: 30%;
	height: 1px;
	background: #f53f3f;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform 0.3s;
}
.yearModule01 .list2 a.act::after,
.yearModule01 .list2 a:hover::after {
	transform: scale(1, 1);
}
@media screen and (max-width: 767px) {
	.yearModule01 {
		margin: 20px 0 0;
	}
	.yearModule01 .list {
		display: block;
		overflow-x: auto;
		padding: 0 0px 0px;
		-webkit-overflow-scrolling: touch;
	}
	.yearModule01 .list li {
		display: table-cell;
		padding: 0 20px;
		white-space: nowrap;
	}
	.yearModule01 .list2 {
		display: block;
		overflow-x: auto;
		margin: 20px 0 10px;
		padding: 0 0px 20px;
		-webkit-overflow-scrolling: touch;
	}
	.yearModule01 .list2 li {
		display: table-cell;
		padding: 0 20px;
		white-space: nowrap;
	}
	.yearModule01 .list2 li a {
		font-size: 14px;
	}
}
@media screen and (min-width: 768px), print {
	.yearModule01 .list {
		width: 700px;
		margin: 0 auto;
		padding: 0px 0 10px;
	}
	.yearModule01 .list li {
		display: inline-block;
	}
	.yearModule01 .list li a {
		font-family: "purista-web", sans-serif;
		font-weight: 300;
	}
	.yearModule01 .list2 {
		width: 100%;
		margin: 0 auto;
		padding: 0px 0 20px;
	}
	.yearModule01 .list2 li {
		display: inline-block;
	}
	.yearModule01 .list2 li a {
		font-family: "purista-web", sans-serif;
		font-weight: 300;
		font-size: 14px;
	}
}

/*-----------------------
privacyModule01
-----------------------*/
.privacyModule01 {
	margin: 0;
	position: relative;
}
.privacyModule01 .tit01 {
	padding: 30px 0 40px;
	font-size: 32px;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	color: #fff;
	font-style: italic;
	letter-spacing: 0.05em;
	text-align: center;
}
.privacyModule01 .tit01 span:after {
	content: "";
	display: block;
	position: relative;
	top: 15px;
	margin: 0px auto 0;
	width: 40px;
	border-bottom: solid 1px #fff;
}
.privacyModule01 .txt01 {
	font-size: 14px;
	color: #fff;
}
.privacyModule01 .txt02 {
	font-size: 14px;
	color: #fff;
	margin: 0 0 30px;
}
.privacyModule01 .txt02 .name {
	margin: 0 0 10px;
	display: block;
}
.privacyModule01 .txt02 .txt {
	border-left: #454545 1px solid;
	padding: 0 0 0 20px;
}
.privacyModule01 .txt02 .txt li {
	padding-left: 1em;
	text-indent: -1em;
}
.privacyModule01 .txt02 .txt a {
	color: #fff;
	text-decoration: underline;
}
@media screen and (max-width: 767px) {
	.privacyModule01 .txt01 {
		padding: 15px;
	}
	.privacyModule01 .txt02Wrap {
		padding: 15px 15px 0;
	}
	.privacyModule01 .txt02Wrap .txt02:last-of-type {
		margin: 0 0 0px;
	}
}
@media screen and (min-width: 768px), print {
	.privacyModule01 {
		margin: 0 auto;
		width: 100%;
	}
	.privacyModule01 .mainImg img {
		width: 100%;
	}
	.privacyModule01 .tit01 {
		padding: 50px 0 60px;
	}
	.privacyModule01 .txt01 {
		width: 100%;
		max-width: 920px;
		margin: 0 auto;
	}
	.privacyModule01 .txt02Wrap {
		max-width: 820px;
		width: 100%;
		margin: 50px auto;
	}
	.privacyModule01 .txt02Wrap .txt02 {
		margin: 0 0 35px;
	}
}

/*-----------------------
contactModule01
-----------------------*/
.contactModule01 {
	margin: 0;
	position: relative;
}
.contactModule01 .mw_wp_form_confirm .txt01 .name {
	padding: 0 0 5px;
}
.contactModule01 .tit01 {
	padding: 30px 0 40px;
	font-size: 32px;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	color: #fff;
	font-style: italic;
	letter-spacing: 0.05em;
	text-align: center;
}
.contactModule01 .tit01 span:after {
	content: "";
	display: block;
	position: relative;
	top: 15px;
	margin: 0px auto 0;
	width: 40px;
	border-bottom: solid 1px #fff;
}
.contactModule01 .inner {
	padding: 15px;
}
.contactModule01 .txt01 {
	width: 100%;
	position: relative;
	margin: 0 0 30px;
	font-size: 15px;
	/*
  input[type="text"]:focus{
      border-bottom : #fff solid 2px;
      transition: border .2s ease;
  }
  */
}
.contactModule01 .txt01:after {
	position: absolute;
	bottom: 0px;
	left: 0;
	content: "";
	width: 100%;
	height: 2px;
	background: #fff;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform 1s;
}
.contactModule01 .txt01.focus:after {
	transform: scale(1, 1);
}
.contactModule01 .txt01.focus .name {
	transform: scale(0.8, 0.8);
	transform-origin: 0 0;
}
.contactModule01 .txt01 .name {
	display: block;
	color: #0754e6;
	font-size: 15px;
	font-weight: bold;
	position: relative;
	top: 10px;
	z-index: 2;
	transform: scale(1, 1);
	transform-origin: 0 0;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.contactModule01 .txt01 input,
.contactModule01 .txt01 textarea {
	position: relative;
	width: 100%;
	background: #000;
	border: none;
	border-radius: 0;
	-webkit-border-radius: 0;
	line-height: 26px;
	color: #fff;
	padding: 2px 10px;
	border-bottom: #454545 solid 1px;
	transition: border 0.2s ease;
	font-size: 15px;
}
.contactModule01 .txt01 textarea {
	height: 200px;
	display: block;
	outline: 0;
}
.contactModule01 .privacy {
	color: #fff;
	font-size: 13px;
	margin: 0 0 30px;
	text-align: center;
}
.contactModule01 .privacy a {
	color: #fff;
	text-decoration: underline;
}
.contactModule01 input[type="checkbox"] {
	display: inline-block;
	border: none;
}
.contactModule01 .mwform-checkbox-field label {
	position: relative;
}
.contactModule01 .check {
	padding-left: 10px;
	display: inline-block;
	cursor: pointer;
	font-size: 14px;
}
.contactModule01 .mwform-checkbox-field-text {
	font-size: 14px;
}
.contactModule01 .check::before {
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	background-size: 100% !important;
	position: absolute;
	top: 6px;
	left: 0;
	background: #fff;
}
.contactModule01 .check:checked::before {
	background: #454545;
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	background-size: 100% !important;
	position: absolute;
	top: 6px;
	left: 0;
}
.contactModule01 .check:checked::after {
	content: "";
	display: block;
	width: 12px;
	height: 6px;
	background-size: 100% !important;
	position: absolute;
	top: 50%;
	border-left: solid 2px #fff;
	border-bottom: solid 2px #fff;
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	left: 2px;
	top: 4px;
}
.contactModule01 .mwform-checkbox-field-text {
	position: relative;
	/*   top : 4px;*/
	left: 10px;
}
.contactModule01 .backBtn,
.contactModule01 .submitBtn,
.contactModule01 .confirmBtn {
	background: #d03434;
	border: solid 1px #d03434;
	cursor: pointer;
	margin: 0 auto;
	letter-spacing: 0.01em;
	text-align: center;
	color: #fff;
	position: relative;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
.contactModule01 .backBtn:after,
.contactModule01 .submitBtn:after,
.contactModule01 .confirmBtn:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	margin: -5px 0 0 0;
	height: 10px;
	width: 10px;
	border-left: solid 1px #fff;
	border-bottom: solid 1px #fff;
	-moz-transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	-o-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
}
.contactModule01 .submitBtn:hover,
.contactModule01 .confirmBtn:hover {
	color: #d03434;
	background: #fff;
}
.contactModule01 .submitBtn:hover:after,
.contactModule01 .confirmBtn:hover:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	margin: -5px 0 0 0;
	height: 10px;
	width: 10px;
	border-left: solid 1px #d03434;
	border-bottom: solid 1px #d03434;
	-moz-transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	-o-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
}
.contactModule01 .backBtn {
	background: #434343;
	border: solid 1px #434343;
	cursor: pointer;
	margin: 0 auto;
	letter-spacing: 0.01em;
	text-align: center;
	color: #fff;
	position: relative;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
.contactModule01 .backBtn:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 10px;
	margin: -5px 0 0 0;
	height: 10px;
	width: 10px;
	border-left: solid 1px #fff;
	border-bottom: solid 1px #fff;
	-moz-transform: rotate(-315deg);
	-webkit-transform: rotate(-315deg);
	-o-transform: rotate(-315deg);
	-ms-transform: rotate(-315deg);
}
.contactModule01 .backBtn:hover {
	color: #434343;
	background: #fff;
}
.contactModule01 .backBtn:hover:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 10px;
	height: 10px;
	margin: -5px 0 0 0;
	width: 10px;
	border-left: solid 1px #434343;
	border-bottom: solid 1px #434343;
	-moz-transform: rotate(-315deg);
	-webkit-transform: rotate(-315deg);
	-o-transform: rotate(-315deg);
	-ms-transform: rotate(-315deg);
}
@media screen and (max-width: 767px) {
	.contactModule01 .inner {
		width: 100%;
		overflow: hidden;
	}
	.contactModule01 .submitBtn,
	.contactModule01 .confirmBtn {
		width: 100%;
		font-size: 14px;
		line-height: 56px;
	}
	.contactModule01 .backBtn {
		width: 100%;
		font-size: 14px;
		line-height: 56px;
		margin: 0 0 10px;
	}
	.contactModule01 .txt01 input {
		line-height: 1.6;
		font-size: 16px;
		padding: 12px 0px;
	}
	.contactModule01 .privacy .txt02 {
		text-align: left;
	}
	.contactModule01 .privacy .txt02 a {
		color: #f53f3f;
	}
	.contactModule01 .inner2 {
		padding: 15px;
	}
	.contactModule01 .inner2 p {
		color: #fff;
	}
	.contactModule01 .txt01 {
		color: #fff;
	}
	.contactModule01 textarea {
		font-size: 16px !important;
	}
	.contactModule01 .mwform-checkbox-field-text {
		position: relative;
		top: 4px;
		left: 10px;
	}
}
@media screen and (min-width: 768px), print {
	.contactModule01 {
		/*        max-width : 1200px;*/
		margin: 0 auto 60px;
	}
	.contactModule01 .mainImg img {
		width: 100%;
	}
	.contactModule01 .inner {
		max-width: 550px;
		width: 100%;
		margin: 0 auto;
	}
	.contactModule01 .inner2 {
		max-width: 550px;
		width: 100%;
		margin: 0 auto;
		text-align: center;
	}
	.contactModule01 .privacy {
		margin: 50px 0 40px 0;
	}
	.contactModule01 .submit {
		text-align: center;
	}
	.contactModule01 .backBtn,
	.contactModule01 .submitBtn,
	.contactModule01 .confirmBtn {
		font-size: 14px;
		line-height: 60px;
		width: 270px;
		height: 60px;
		margin: 0 auto;
	}
	.contactModule01 .backBtn {
		float: left;
		width: 250px;
	}
	.contactModule01 .submitBtn {
		float: right;
		width: 250px;
	}
	.contactModule01 .check::before {
		margin-top: -7px;
	}
	.contactModule01 .check:checked::before {
		margin-top: -7px;
	}
}

/*-----------------------
footModule01
-----------------------*/
.footModule01 {
	margin: 0px 0 0px 0;
}
.footModule01 .list a {
	position: relative;
}
.footModule01 .list a .txt {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.footModule01 .list a .txt .en {
	font-size: 50px;
	color: #fff;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
}
.footModule01 .list a .txt .ja {
	position: relative;
	font-size: 16px;
	color: #fff;
	display: block;
	text-align: center;
	padding: 20px 0 0 0;
}
.footModule01 .list a .txt .ja:before {
	content: "";
	display: block;
	position: relative;
	left: 50%;
	top: -20px;
	margin: 0 0 0 -18px;
	border-bottom: 1px solid #fff;
	width: 36px;
}
@media screen and (max-width: 767px) {
	.footModule01 .list li {
		margin: 0 0 7px;
	}
	.footModule01 .list li a {
		display: block;
	}
}
@media screen and (min-width: 768px), print {
	.footModule01 {
		/*max-width : 1600px;*/
		margin: 0 auto;
	}
	.footModule01 .list li {
		width: 50%;
		float: left;
	}
	.footModule01 .list li.wide {
		width: 100%;
		float: left;
	}
	.footModule01 .list li:nth-of-type(1) a {
		position: relative;
		/*width : 50%;
    height : 320px;*/
		float: left;
		display: block;
		/*
    background: url(../img/common/btn_foot01_pc@2x.png) no-repeat center center;
    background-size: cover;
    */
		overflow: hidden;
	}
	.footModule01 .list li:nth-of-type(2) a {
		position: relative;
		/*width : 50%;
    height : 320px;*/
		float: left;
		display: block;
		/*
    background: url(../img/common/btn_foot02_pc@2x.png) no-repeat center center;
    background-size: cover;
    */
	}
	.footModule01 .list li.wide a {
		position: relative;
		width: 100%;
		/*                height : 320px;*/
		float: left;
		display: block;
		overflow: hidden;
		/*
    background: url(../img/common/btn_foot03_pc@2x.png) no-repeat center center;
    background-size: cover;
    */
	}
	.footModule01 .list li.wide a .txtWrap {
		width: 50%;
		float: left;
		position: absolute;
		top: 50%;
	}
	.footModule01 .list li figure {
		overflow: hidden;
	}
	.footModule01 .list li figure:after {
		content: "";
		display: block;
		background-color: rgba(0, 0, 0, 0);
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		transform-origin: left top;
		transform: scale(0, 1);
		transition: transform 0.3s;
	}
	.footModule01 .list li a:hover {
		opacity: 1 !important;
	}
	.footModule01 .list li a:hover figure {
		overflow: hidden;
	}
	.footModule01 .list li a:hover figure:after {
		background-color: rgba(0, 0, 0, 0.5);
		transform-origin: left top;
		transform: scale(1, 1);
		transition: transform 0.3s;
	}
	.footModule01 .list li a:hover img {
		transform: scale(1.05, 1.05);
	}
	.footModule01 .list li img {
		width: 100%;
	}
}

.btnType01 {
	width: 260px;
	color: #fff !important;
	display: block;
	line-height: 54px;
	position: relative;
	text-align: center;
	background: #000;
	border: solid #444c55 1px;
	font-family: bebas-neue, sans-serif;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.1em;
	z-index: 20;
	cursor: pointer;
}
.btnType01.top {
	margin: 50px auto 50px;
}
.btnType01:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
	margin: -4px 0 0 0;
	width: 8px;
	height: 8px;
	border-top: #fff 1px solid;
	border-right: #fff 1px solid;
	/*③*/
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.btnType01:hover {
	opacity: 1 !important;
}

.btnType01:before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	content: "";
	background: #444c55;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform 0.3s;
}

.btnType01:hover:before {
	transform-origin: left top;
	transform: scale(1, 1);
}

.kaso .btnType01 {
	clear: both;
	margin: 20px auto 50px;
}
@media screen and (max-width: 767px) {
	.kaso .btnWrap {
		padding: 0 20px;
	}
	.kaso .btnType01 {
		width: 100%;
		margin: 20px auto 20px;
	}
	.kaso .btnType01.contact {
		margin: 40px auto 20px;
	}
}
@media screen and (min-width: 768px), print {
	.kaso .btnType01 {
		font-size: 16px;
	}
	.kaso .btnType01.contact {
		margin: 40px auto 50px;
	}
}

/*-----------------------
footer
-----------------------*/
footer {
	clear: both;
	position: relative;
}
footer small {
	clear: both;
	display: block;
	width: 100%;
	text-align: center;
	font-size: 14px;
	font-family: "purista-web", sans-serif;
	font-weight: 400;
	font-style: italic;
}
footer .inner .menu a {
	color: #fff;
	font-size: 16px;
	font-family: "purista-web", sans-serif;
	font-weight: 300;
	font-style: italic;
	position: relative;
}
footer .pagetop {
	position: absolute;
	right: 12px;
	bottom: 30px;
	width: 50px;
	height: 50px;
	border: solid #444c55 1px;
}
footer .pagetop img {
	display: none;
}
footer .pagetop:hover {
	opacity: 1 !important;
}
footer .pagetop:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -2px 0 0 -6px;
	width: 12px;
	height: 12px;
	border-top: #fff 1px solid;
	border-right: #fff 1px solid;
	/*③*/
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
footer .pagetop:before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	content: "";
	background: #444c55;
	transform-origin: left bottom;
	transform: scale(1, 0);
	transition: transform 0.3s;
}
footer .pagetop:hover:before {
	transform-origin: left bottom;
	transform: scale(1, 1);
}
footer .partnerLink {
	background: #1b2121;
}
footer .snsLink {
	text-align: left;
}
footer .snsLink li {
	display: inline-block;
	padding: 0 10px;
}
footer .snsLink li img {
	width: 25px;
}
footer .snsLink li.line img {
	width: 92px;
}
@media screen and (max-width: 767px) {
	footer {
		text-align: center;
	}
	footer .logo {
		padding: 50px 0;
	}
	footer .logo img {
		width: 125px;
	}
	footer .inner .menu {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		border-top: #4d4d4d solid 1px;
	}
	footer .inner .menu li {
		width: 50%;
	}
	footer .inner .menu a {
		display: block;
		width: 100%;
		border-bottom: #4d4d4d solid 1px;
		position: relative;
		line-height: 60px;
	}
	footer .inner .menu li:nth-of-type(odd) a:after {
		content: "";
		display: block;
		border-right: #4d4d4d solid 1px;
		position: absolute;
		top: 0;
		right: 0;
		height: 60px;
	}
	footer .snsLink {
		position: relative;
		text-align: center;
		padding: 20px 0 62px 20px;
	}
	footer small {
		font-size: 10px;
		padding: 10px 0;
		color: #606060;
	}
}
@media screen and (min-width: 768px), print {
	footer {
		padding: 40px 0;
	}
	footer .inner {
		width: 780px;
		margin: 0 auto 30px;
	}
	footer .inner .logo {
		width: 126px;
		display: inline-block;
	}
	footer .inner .logo img {
		width: 100%;
	}
	footer .inner .menu a {
		color: #fff;
		font-size: 16px;
		font-family: "purista-web", sans-serif;
		font-weight: 300;
		font-style: italic;
		position: relative;
	}
	footer .inner .menu a:hover {
		color: #f53f3f;
		opacity: 1 !important;
	}
	footer .inner .menu a::after {
		position: absolute;
		bottom: -10px;
		left: 25%;
		content: "";
		width: 50%;
		height: 1px;
		background: #f53f3f;
		transform: scale(0, 1);
		transform-origin: left top;
		transition: transform 0.3s;
	}
	footer .inner .menu a:hover::after {
		transform: scale(1, 1);
	}
	footer .inner .menu {
		display: inline-block;
		margin: 0 0 0 80px;
	}
	footer .inner .menu li {
		display: inline-block;
		margin: 0 15px;
	}
	footer .inner .menu li a {
		font-size: 14px;
	}
	footer .partnerLink {
		height: 130px;
		text-align: center;
	}
	footer .snsLink {
		margin: 25px 0 0 0;
		text-align: center;
	}
	footer .pagetop img {
		width: 50px;
	}
	footer small {
		width: 100%;
		font-size: 10px;
		padding: 10px 0;
		color: #606060;
	}
}

.footslide {
	position: relative;
	padding: 40px 30px 40px;
}
@media screen and (max-width: 767px) {
	.footslide {
		width: 100%;
		overflow: hidden;
		margin: 0 auto;
	}
}
@media screen and (min-width: 768px), print {
	.footslide {
		max-width: 1000px;
		overflow: hidden;
		margin: 0 auto;
	}
}
.footslide .prevBtn {
	display: block;
	background: #000;
	width: 24px;
	height: 24px;
	position: absolute;
	left: 0;
	top: 50%;
	margin: -12px 0 0 0;
	cursor: pointer;
}
.footslide .prevBtn:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 10px;
	margin: -3px 0 0 0;
	width: 6px;
	height: 6px;
	border-top: #fff 1px solid;
	border-right: #fff 1px solid;
	-webkit-transform: rotate(225deg);
	-ms-transform: rotate(225deg);
	transform: rotate(225deg);
}
.footslide .nextBtn {
	display: block;
	background: #000;
	width: 24px;
	height: 24px;
	position: absolute;
	right: 0;
	top: 50%;
	margin: -12px 0 0 0;
	cursor: pointer;
}
.footslide .nextBtn:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	margin: -3px 0 0 0;
	width: 6px;
	height: 6px;
	border-top: #fff 1px solid;
	border-right: #fff 1px solid;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.footslide li {
	text-align: center;
	position: relative;
	display: block;
	min-height: 50px;
}
.footslide li a {
	display: block;
	position: absolute;
	width: 100px;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	overflow: hidden;
}
.footslide li img {
	/*            height : 30px;*/
	/*width: 100%;*/
	max-width: 80px;
	max-height: 50px;
}

/*-----------------------
noMainImg
-----------------------*/
.white .noMainImg {
	background: #000;
}
.white .newsDetailModule01 .titBlock .tag li a:hover,
.white .newsDetailModule01 .titBlock02 .tag li a:hover {
	color: #fff !important;
}

.noMainImg {
	width: 100%;
	min-height: 50px;
}
.noMainImg.h100 {
	min-height: 100px;
}
@media screen and (max-width: 767px) {
	.noMainImg.partner {
		min-height: 100px;
	}
	.noMainImg.news {
		min-height: 70px;
	}
}
@media screen and (min-width: 768px), print {
	.noMainImg.partner {
		min-height: 200px;
	}
	.noMainImg.news {
		min-height: 200px;
	}
}

/**/
.mainImg .titBlock,
.shareModule02,
.relatedRidersWrap,
.ridersModule02,
.footModule01,
.shareModule,
footer,
.newsDetailModule01 .titBlock02,
.newsDetailModule01 .part01,
.newsDetailModule01 .part02,
.newsDetailModule01 .part03,
.newsDetailModule01 .part04,
.newsDetailModule01 .part05,
.ridersModule01 .profBoxWrap {
	opacity: 0;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

/* 20230120一時対応 */
.ridersModule01 .profBoxWrap,
.ridersModule02 {
	opacity: 1;
}

.mainImg .titBlock.in,
.shareModule02.in,
.relatedRidersWrap.in,
.ridersModule02.in,
.footModule01.in,
.shareModule.in,
footer.in,
.newsDetailModule01 .titBlock02.in,
.newsDetailModule01 .part01.in,
.newsDetailModule01 .part02.in,
.newsDetailModule01 .part03.in,
.newsDetailModule01 .part04.in,
.newsDetailModule01 .part05.in,
.ridersModule01 .profBoxWrap.in {
	opacity: 1;
}

.setPc,
.setSm {
	display: none;
}

.slideDisp {
	position: absolute;
	overflow: hidden;
	width: 100%;
	top: 0;
}

.loader,
.loader:after {
	border-radius: 50%;
	width: 100px;
	height: 100px;
}

.loader {
	opacity: 0;
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;
	margin: -50px 0 0 -50px;
	font-size: 10px;
	position: absolute;
	top: 50%;
	left: 50%;
	text-indent: -9999em;
}

@-webkit-keyframes load8 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes load8 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
.pagejump.in3 .loader {
	opacity: 1;
	border-top: 1.1em solid rgba(255, 255, 255, 0.2);
	border-right: 1.1em solid rgba(255, 255, 255, 0.2);
	border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
	border-left: 1.1em solid #ffffff;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: load8 1.1s infinite linear;
	animation: load8 1.1s infinite linear;
	transform-origin: center center;
}

.player {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.thumb {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
}

/*-----------------------
notfound
-----------------------*/
.notfound {
	margin: 50px 0 50px 0;
}

/*20211113追加*/
.p-team-video.thumb {
	height: 100%;
	width: 100%;
}
/* .p-team-video::before{
  content: '';
  display: inline-block;
  width: 51px;
  height: 51px;
  background-size: 51px 51px;
  background-repeat: no-repeat;
  background-image: url("/asset/img/common/ico-play.png");
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
} */
/* .p-team-video::after{
  content: '';
  display: inline-block;
  background: #000;
  opacity: .3;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
} */
.p-team-video img {
	height: 100%;
	object-fit: cover;
}

/* @media screen and (min-width: 768px), print{
  .p-team-video::before{
    width: 64px;
    height: 64px;
    background-size: 64px 64px;
  }
} */
