@charset "UTF-8";

@font-face {
	font-family: "NotoSansCJKjp";
	font-style: normal;
	font-weight: 400;
	src: local("Noto Sans CJK JP"), local("NotoSansCJKjp-Regular"), local("NotoSansJP-Regular"), url("/font/NotoSansCJKjp-Regular.eot") format("eot"), url("/font/NotoSansCJKjp-Regular.ttf") format("ttf"), url("/font/NotoSansCJKjp-Regular.woff2") format("woff2"), url("/font/NotoSansCJKjp-Regular.woff") format("woff");
}
@font-face {
	font-family: "NotoSansCJKjp";
	font-style: bold;
	font-weight: 700;
	src: local("NotoSansCJKjp-Bold"), local("NotoSansJP-Bold"), url("/font/NotoSansCJKjp-Bold.eot") format("eot"), url("/font/NotoSansCJKjp-Bold.ttf") format("ttf"), url("/font/NotoSansCJKjp-Bold.woff2") format("woff2"), url("/font/NotoSansCJKjp-Bold.woff") format("woff");
}

.main {
	font-family: "NotoSansCJKjp", "Noto Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
@media only screen and (min-width: 769px) {
	.main {
		min-width: 1100px;
	}
}

.main * {
	box-sizing: border-box;
}

:root {
	--main_brown: #543b3c;
	--c_red: #f5001e;
	--c_blue: #00afe1;
	--c_orange: #ff6e00;
	--c_green: #00af28;
	--c_pink: #f287aa;
	--c_gray: #c8c8c8;
	--bg_cream: #f8f8ee;
	--bg_racer: #fae4cf;
	--bg_mechanic: #e0f2e4;
	--bg_safety: #e4f0fc;
}

a:link,
a:active,
a:hover,
a:visited {
	color: inherit;
	text-decoration: none;
}
a:hover {
	opacity: 0.7;
}

.main p {
	color: var(--main_brown);
}

/* ふわっと表示 */
.fadein {
  opacity: 0;
  transition: opacity 1.8s ease;
}

.fadein.show {
  opacity: 1;
}

/* 見出し */
.headingLv2 {
	text-align: center;
    font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}
.headingLv2__main {
	color: var(--main_brown);
	font-size: 28px;
	line-height: 1;
	font-weight: bold;
    letter-spacing: 0.05em;
}
.headingLv2__sub {
	color: var(--main_brown);
	font-size: 13px;
	line-height: 1;
	font-weight: bold;
	margin-bottom: 13px;
}

@media only screen and (min-width: 769px) {
	.headingLv2__main {
		font-size: 40px;
	}
	.headingLv2__sub {
		font-size: 18px;
		/* margin-bottom: 24px; */
		margin-bottom: 18px;
	}
}

/* ボタン */
.button-toTop {
	width: 232px;
	height: 44px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--bg_cream);
	border: 1px solid var(--main_brown);
	border-radius: calc(44px / 2);
	font-size: 14px;
}
.button-toTop p {
	color: var(--main_brown);
}

.button-toTop::before {
	content: "";
	width: 16px;
	height: 18px;
	background: url(/kodomobacs/_images/icon/icon-home.svg);
	background-repeat: no-repeat;
	background-position: center;
	margin-right: 12px;
	background-size: cover;
}

@media only screen and (min-width: 769px) {
	.button-toTop {
		width: 264px;
		height: 52px;
		border-radius: calc(52px / 2);
		font-size: 16px;
	}
}

.section_button-toTop {
	display: flex;
	justify-content: center;
}

.section_button-toTop {
	display: flex;
	justify-content: center;
	margin: 80px 0;
}
@media only screen and (min-width: 769px) {
	.section_button-toTop {
		margin: 96px 0;
	}
}

/* もっと見るボタン */
.button-more {
	width: 248px;
	height: 52px;
	border-radius: calc(52px / 2);
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--main_brown);
	font-size: 16px;
    cursor:pointer;
    opacity:1;
    transition: 0.3s ease;
}
.button-more:hover {
    opacity:0.7;
    transition: 0.3s ease;
}
.button-more p {
	color: var(--bg_cream);
}
@media only screen and (min-width: 769px) {
    .button-more {
        width: 280px;
        height: 60px;
        border-radius: calc(60px / 2);
        font-size: 20px;
    }
    .button-more p {
        color: var(--bg_cream);
    }
}

/* イベント情報 */
.section-event {
	padding: 80px 0;
}
.section-event .headingLv2 img {
	width: 167px;
	height: auto;
}
/* .section-event .headingLv2__sub {
	color: var(--c_orange);
} */
.event-heading__sub {
	margin-top: 12px;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
}
.section-event .button-more {
	margin: 60px auto 0;
}
@media only screen and (min-width: 769px) {
	.section-event {
		padding: 92px 0;
	}
	.section-event .headingLv2 img {
		width: 238px;
	}
	.event-heading__sub {
		margin-top: 30px;
		font-size: 20px;
	}
	.section-event .button-more {
		margin-top: 92px;
	}
}

.section-event .section__inner {
	margin-top: 40px;
	padding: 0 calc(100% * 16 / 390);
}

/* イベントカード */
.event__search {
	max-width: 540px;
	margin: auto;
	gap: 16px;
	display: flex;
	align-items: flex-end;
}
.event__search__count {
	font-size: 12px;
	color: var(--main_brown);
}
.event__search__button {
	font-size: 12px;
	background: var(--main_brown);
	color: #fff;
	line-height: 1;
	padding: 8px 26px;
	border-radius: 100vmax;
	cursor: pointer;
	transition: 0.3s;
}
.event__search__button:hover {
	opacity: 0.7;
}

@media only screen and (min-width: 769px) {
	.event__search {
		max-width: inherit;
		align-items: center;
	}
	.event__search__count {
		font-size: 20px;
	}
	.event__search__button {
		font-size: 14px;
		padding: 8px 36px;
	}
}


.event__cards {
	margin-top: 25px;
	display: flex;
	flex-wrap: wrap;
	gap: 52px;
}
.event__cards .card {
	border: 1px solid var(--c_gray);
	border-radius: 10px;
	padding: 24px 20px 32px;
	position: relative;
	max-width: 540px;
	margin: auto;

	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

.event__cards .card__thumbnail {
	display: block;
	cursor: pointer;
	width: min(24.36vw, 144px);
	padding: 10px;
	border-radius: 10px;
	background: var(--bg_cream);
	position: relative;
    opacity:1;
    transition: 0.3s ease;
}
.event__cards .card__thumbnail:hover{
    opacity:0.7;
    transition: 0.3s ease;
}
.event__cards .card__thumbnail::after {
	content: "";
	display: inline-block;
	width: 38px;
	height: 38px;
	background: url(/kodomobacs/_images/icon/icon-lupe.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: absolute;
	left: 50%;
	top: calc((100% - 14px) / 2);
	transform: translateX(-50%) translateY(-50%);
}
.event__cards .card__thumbnail img {
	width: 100%;
	height: auto;
	padding: 0 5px;
	/* box-sizing: border-box; */
}
.event__cards .card__thumbnail p {
	font-size: 11px;
	line-height: 1;
	margin-top: 3px;
	text-align: center;
}

.card__eventInfo {
	width: min(50vw, 350px);
	flex: auto;
    padding-top: 8px;
	padding-left: 16px;
}

.card__eventDate {
	position: relative;
	padding-left: 24px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
}
.card__eventDate time {
	display: inline-block;
}
.card__eventDate b {
	font-size: 14px;
}
.card__eventDate::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 18px;
	background: url(/kodomobacs/_images/icon/icon-calendar.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;

	position: absolute;
	left: 0;
	top: calc(19px * 1.4 / 2);
	transform: translateY(-50%);
}

.card__prefectures {
	margin-top: 16px;
	font-size: 12px;
	line-height: 1;
}
.card__storeName {
	position: relative;
	display: block;
	margin-top: 6px;
	padding-left: 24px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
}
.card__storeName::before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	background: url(/kodomobacs/_images/icon/icon-shop.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;

	position: absolute;
	left: 0;
	top: calc(16px * 1.5 / 2);
	transform: translateY(-50%);
}

.card__eventCategoryList {
	margin-top: 6px;
	display: flex;
	gap: 8px;
}
.card__eventCategory {
	font-size: 12px;
	line-height: 1;
	padding: 7px;
	border-radius: 32px;
	background: var(--c_gray);
}
.eventCategory__safety {
	color: var(--c_green);
	background: var(--bg_safety);
}
.eventCategory__racer {
	color: var(--c_red);
	background: var(--bg_racer);
}
.eventCategory__mechanic {
	color: var(--c_green);
	background: var(--bg_mechanic);
}

.event__cards .card__link {
	position: absolute;
	bottom: -27px;
	right: 10px;
}

@media only screen and (min-width: 769px) {
	.section-event .section__inner {
		padding: 0 24px;
		max-width: 1148px;
		/* margin: 64px auto; */
		margin: 64px auto 0;
	}
	.event__cards {
		/* max-width: 1100px; */
		margin: 32px auto 0;

		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 56px 10px;
	}
	.event__cards .card {
		flex-direction: column;
		justify-content: flex-start;
		width: calc(50% - 10px / 2);
		height: 238px;
		margin: 0;
		padding: 0;
	}
	.event__cards .card__thumbnail {
		height: 100%;
		width: 32.22%;
		border-radius: 10px 0 0 10px;
		margin-right: 24px;
		padding: 16px 24px;
	}
	.event__cards .card__thumbnail img {
		padding: 0;
	}
	.event__cards .card__thumbnail p {
		font-size: 14px;
	}
	.card__eventInfo {
		flex: none;
		width: fit-content;
		padding: 24px 24px 0 0;
	}
	.card__eventCategoryList {
		margin-top: 28px;
	}

	.card__eventDate {
		font-size: 24px;
	}
	.card__eventDate b {
		font-size: 16px;
	}
	.card__eventDate::before {
		width: 20px;
		height: 20px;
		top: calc(23px * 1.4 / 2);
	}
	.card__prefectures {
		font-size: 14px;
	}
	.card__storeName {
		font-size: 18px;
        margin-top: 2px;
	}
	.card__storeName::before {
		top: calc(18px * 1.5 / 2);
	}
    .event__cards .card__link {
        bottom: -22px;
        right: -2px;
		}
}

/* アフターレポート */
.section-afterReport .headingLv2__sub {
	color: var(--c_pink);
}

/* パンくずリスト */
.breadcrumb-wrapper {
	padding: 0 calc(100% * 20 / 390) 16px;
}
.breadcrumb {
	font-size: 14px;
}
.breadcrumb li {
	display: inline-block;
    color: var(--main_brown);
}
.breadcrumb__siteTop span {
	font-weight: bold;
    padding-right: 8px;
}

.breadcrumb__arrow {
	position: relative;
	display: inline-block;
	width: 6.2px;
	height: 10.5px;
}
.breadcrumb__arrow::before,
.breadcrumb__arrow::after {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	right: 0;
	width: 8px;
	height: 2px;
	border-radius: 9999px;
	background-color: var(--main_brown);
	transform-origin: calc(100% - 1px) 50%;
}
.breadcrumb__arrow::before {
	transform: rotate(45deg);
}
.breadcrumb__arrow::after {
	transform: rotate(-45deg);
}

.breadcrumb__current {
    padding-left: 4px;
}

@media only screen and (min-width: 769px) {
    .breadcrumb-wrapper {
        max-width: 1148px;
        padding: 0 24px 16px;
        margin: auto;
    }
    .breadcrumb {
        font-size: 16px;
    }
}


/* --- 追記10/10KT --- */
.event__cards .hidden {
    display: none;
		/* opacity: 0; */
}
.exhide{
    visibility: hidden;
    width:0!important;
    margin-left:-120px;
}

/* ------- モーダル ------- */
#backMaskBase {
	background: #000;
	display: none;
	height: 100%;
	left: 0px;
	-moz-opacity: 0.8;
	filter: alpha(opacity=8);
    opacity: 0.8;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9990;
}
#modalWin {
	display: none;
	top: 0;
	left: 0;
	margin: 0;
	padding: 0;
	height: 0;
    position: relative;
	width: 100%;
	z-index: 9991;
}
#modalContent {
    display:none;
	position: relative;
	background-color:transparent;
	box-sizing: border-box;
    width:auto;
	min-width: 300px;
    max-width: 60%;
    min-height:150px;
    max-height:90vh;
	margin: 0 auto;
	padding: 0;
	z-index: 9992;
	text-align: center;
}
.modalinner{
    display:inline-block;
    text-align:center;
    padding:0;
    margin:0;
    position:relative;
}
.modalinner img{
    width:auto!important;
    max-width:100%;
    height:auto;
    max-height:90vh;
    vertical-align:bottom;
    border-radius:10px;
    box-shadow: 4px 4px 8px 2px rgba(0,0,0,0.7);
}

.modalinner .closeBtn{
    position:absolute;
    top:-15px;
    right:-15px;
    width:40px;
    height:40px;
    background-color:#fff;
    border-radius: 40px;
    cursor:pointer;
    z-index:999;
    transition: all 150ms 0s ease;
    border:1px solid #eee;
}
.modalinner .closeBtn:hover{
    opacity:0.8;
    transition: 0.3s ease;
}
.modalinner .closeBtn div{
    display: inline-block;
    position: relative;
    margin: 10px 0 0 0;
    padding: 0;
    width: 2px;
    height: 18px;
    background: #333;
    transform: rotate(45deg);
}
.modalinner .closeBtn div:before{
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: -7px;
    width: 18px;
    height: 2px;
    margin-top: -1px;
    background: #333;
}
.zoomin{
    cursor: zoom-in;
}

/* --- SP --- */
@media screen and (max-width:768px){
/* ------- モーダル ------- */
    #modalContent {
        min-width: 80vw;
        max-width: 80vw;
        min-height:40vh;
        max-height:90vh;
    }
    .modalinner .closeBtn{
        top:-4vw;
        right:-4vw;
        width:8vw;
        height:8vw;
        border-radius: 8vw;
    }
    .modalinner .closeBtn div{
        margin: 1.8vw 0 0 0;
        width: 2px;
        height: 4.5vw;
    }
    .modalinner .closeBtn div:before{
        top: 50%;
        left: -7px;
        width: 4.5vw;
        height: 2px;
        margin-top: -1px;
    }

    .exhide{
        visibility: hidden;
        width:0!important;
        margin-left:-5vw;
    }
    
}