/*--
Theme Name: Arkhe child
Theme URI: https://arkhe-theme.com/
Version: 1.5.6
Author: LOOS,Inc.
Author URI: https://loos.co.jp/
Description:WordPressテーマ「Arkhe」の自作子テーマ
Template: arkhe
*/




body{
	font-family: "Lato", sans-serif;
	letter-spacing:0.05em;
}

:root {
    --ark-color--border--table: #ddd;
}

.ark-block-heading .ark-block-heading__line{
	color:#FC5A1D;
}
.ark-block-heading .ark-block-heading__line:before{
	height:3px;
	border-radius:0;
}

.l-content__body{
	margin: 3rem auto 0;
}

.p-breadcrumb{
	display:none;
}

@media screen and (max-width: 700px) {
	h1.c-pageTitle__main{
		font-size:1.6em;
	}
}
/***********************************************************
* ヘッダー
***********************************************************/
.l-header__center{
	padding:20px 0;
}
[data-btns=rr-rl] .l-header__body {
    grid-template-columns: 0 50% auto var(--ark-searchW) var(--ark-drawerW);
}
.l-header__logo{
	justify-content:unset;
}
/*---------- メニュー　----------*/
.c-gnav{
	font-weight:600;
	font-size:1em;
	letter-spacing:0.1em;
	
}
.c-gnav__li>.c-gnav__a{
	padding:16px 20px;
}
.c-gnav__li.-current, .c-gnav__li.focus, .c-gnav__li:hover {
    color: #fc5a1d;
}

/***********************************************************
* トップページ
***********************************************************/
.home.page .l-content__body{
	padding:0;
}
.home .l-container,
.home .l-article{
	max-width:unset;
}

/*---------- メインビジュアル　----------*/
.main-visual{
	position:relative;
	display:flex;
	justify-content: end;
	margin-bottom:5%;
}
.main-visual-inner{
	position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80vw;
	height:85svh;
	overflow: hidden;
}
.main-visual-inner .slideimg {
	position: absolute; /* 位置を絶対指定で重ねて配置 */
 	inset: 0; /*親要素内にフルサイズで配置*/
	opacity: 0; /* 初期状態で透明に */
	background-size: cover;
	background-position:center;
	animation: slideAnime 12s infinite; /* 1サイクル3x4秒を無限ループ */
	border-radius: 400px 0 0 0;
}
.main-visual-inner .slideimg:nth-of-type(1) { background-image: url('https://rally.osamu-factory-shop.com/wp/wp-content/uploads/2025/04/DSC_7826.jpg'); animation-delay: 0s;}
.main-visual-inner .slideimg:nth-of-type(2) { background-image: url('https://rally.osamu-factory-shop.com/wp/wp-content/uploads/2025/04/osamufactory_468208531_9558457790905837_4968369372255085094_n.jpg'); animation-delay: 3s;}
.main-visual-inner .slideimg:nth-of-type(3) { background-image: url('https://rally.osamu-factory-shop.com/wp/wp-content/uploads/2025/04/osamufactory_467899779_9558457514239198_7399600488837053186_n.jpg'); animation-delay: 6s;}
.main-visual-inner .slideimg:nth-of-type(4) { background-image: url('https://rally.osamu-factory-shop.com/wp/wp-content/uploads/2025/04/osamufactory_468042791_9558457507572532_3187976021903407051_n.jpg'); animation-delay: 9s;}
@keyframes slideAnime {
	0%, 40%, 100% { opacity: 0; }/* スライドの非表示タイミング */
	15%, 25% { opacity: 1; }/* スライドの表示タイミング */
}
@media screen and (max-width: 700px) {
	.main-visual-inner .slideimg:nth-of-type(1){ background-position: 45% 50%; }
	.main-visual-inner .slideimg:nth-of-type(2){ background-position: 15% 50%; }
	.main-visual-inner .slideimg:nth-of-type(3){ background-position: 20% 50%; }
	.main-visual-inner .slideimg:nth-of-type(4){ background-position: 50% 50%; }
}

/* キャッチコピー */
.main-visual .msg{
    position: absolute;
    top: 30%;
    left: 7%;
    animation-name: mvmsg;
    animation-delay: 900ms;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0;
    z-index: 2;
}
.main-visual .msg .catch{
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 20px;
}
.main-visual .msg .catch span{
    display: inline-block;
    font-size: 4em;
    line-height: initial;
    font-weight: 900;
    letter-spacing: 0.1em;
    background-color: #111;
    color: #fff;
    width: fit-content;
	padding:5px 20px;
}
.main-visual .msg .txt{
	font-size: 1.2em;
    text-shadow: 4px 4px 8px #ffffff, -4px 4px 8px #ffffff, 4px -4px 8px #ffffff, -4px -4px 8px #ffffff;
}
@keyframes mvmsg {
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@media screen and (max-width: 1200px) {
	.main-visual .msg .catch span{
		font-size: 3em;
	}
}

@media screen and (max-width: 700px) {
	.main-visual{
		height:90vh;
	}
	.main-visual-inner{
		height:60svh;
	}
	.main-visual-inner .slideimg {
		border-radius: 300px 0 0 0;
	}
	.main-visual .msg{
		top:unset;
		bottom: 10%;
	}
	.main-visual .msg .catch span{
		font-size: 2em;
	}
	.main-visual .msg .txt{
		font-size: 1em;
	}
}
@media screen and (max-width: 500px) {
	
	.main-visual-inner .slideimg {
		border-radius: 200px 0 0 0;
	}
    .main-visual .msg {
        bottom: 8%;
    }
	.main-visual .msg .catch{
		gap:10px;
	}
	.main-visual .msg .catch span{
		font-size: 1.4em;
	}
	
}



/*---------- ABOUT　----------*/

.home-about.wp-block-media-text,
.home-osamu.wp-block-media-text{
	position:relative;
}

.home-about .wp-block-media-text__content,
.home-osamu .wp-block-media-text__content{
    max-width: 600px;
    margin: 5% auto;
    min-height: 500px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.home-about.wp-block-media-text::after{
    content: "";
    position: absolute;
    top: -10%;
    right: 0;
    width: 15vw;
    height: 140%;
    background-color: #fc5a1d;
    z-index: -1;
	transform: translateY(100%); /* SlideIn */
	transition: all 1s ease; /* SlideIn */
	opacity: 0; /* SlideIn */
}
.home-osamu.wp-block-media-text::after{
    content: "";
    position: absolute;
    bottom: -10%;
    left: 3%;
    width: 10vw;
    height: 100%;
    background-color: #8cd228;
    z-index: -1;
	transform: translateY(-100%); /* SlideIn */
	transition: all 1s ease; /* SlideIn */
	opacity: 0; /* SlideIn */
}

@media screen and (min-width: 1400px) {
	.home-about .wp-block-media-text__content,
	.home-osamu .wp-block-media-text__content{
		font-size: 1vw;
	}
}
@media (max-width: 1000px) {
	
	.home-about .wp-block-media-text__content,
	.home-osamu .wp-block-media-text__content{
		min-height: unset;
	}
	.home-about{
		margin-top:10vh;
	}
	.home-about .wp-block-media-text__media{
		width:90%;
	}
	.home-osamu .wp-block-media-text__media{
		width:90%;
		margin-left: auto;
	}
	.home-osamu .wp-block-media-text__content{
		padding-left:20%!important;
		font-size:.8em;
	}
	.home-osamu.wp-block-media-text::after{
		bottom:0;
		height:70%;
	}
	
    .wp-block-media-text.is-stacked-on-mobile {
        grid-template-columns: 100% !important;
    }
    .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__media {
        grid-column: 1;
        grid-row: 1;
    }
    .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__content {
        grid-column: 1;
        grid-row: 2;
    }
	
}



.home-rally h2.ark-block-heading__main{
	font-weight:900;
	font-style:italic;
	font-size:3em;
}
.home-hillclimb h2.ark-block-heading__main{
	font-weight:900;
	font-style:italic;
	font-size:2.5em;
}

/***********************************************************
* 各種固定ページ共通
***********************************************************/


body.page:not(.home) .l-content__body {
	opacity: 0;
	transition: all 1s ease;
}
body.page:not(.home) .l-content__body.visible {
	opacity: 1;
	transform: translateY(0);
}


.vehicle-wrap .wp-block-media-text.has-background .wp-block-media-text__content{
	padding:0 var(--ark-mediatext--space);
}
.vehicle-wrap .wp-block-columns{
	gap:1.5rem!important;
}
@media (max-width: 1000px) {
	.vehicle-wrap .wp-block-media-text.has-background .wp-block-media-text__content{
		padding:0;
	}
	.vehicle-wrap .wp-block-columns{
		gap:1rem!important;
	}
}

@media (max-width: 782px) {
	.rally-bana-wrap .is-layout-flex{
		justify-content: center;
	}
	
	.rally-bana-wrap .is-layout-flex .wp-block-column{
		width:45%;
		flex-basis:auto!important;
		flex-grow: unset;
	}
}


/*---------- タイトル　----------*/
.p-topArea.c-filterLayer::before{
	opacity:0.5;
}
.c-pageTitle__main{
    letter-spacing: 0.1em;
    font-weight: 800;
    font-size: 2.5em;
}


h1.c-pageTitle__main {
	opacity: 0;
	transition: all 1s ease;
}
h1.c-pageTitle__main.visible {
	opacity: 1;
	transform: translateY(0);
}


/*---------- ステップ　----------*/
.ark-block-step.is-style-default .ark-block-step__number{
	background-color:#FC5A1D;
}
.ark-block-step.is-style-default .ark-block-step__title{
    font-size: 1.2em;
    font-weight: 800;
    color: #fc5a1d;
}


/***********************************************************
* Rally
***********************************************************/
.rally-form{
    max-width: 1000px;
    margin: 0 auto;
	background-color:#fff;
	padding:5%;
}
.rally-form dt{
    padding: 5px 10px;
    border-bottom: 2px solid #fc5a1d;
    font-weight: 900;
}
.rally-form dd{
	padding:20px 10px;
}
.rally-form [type=submit]{
	width:100%;
}

/***********************************************************
* ヒルクライム
***********************************************************/
.hillclimb-form{
    max-width: 1000px;
    margin: 0 auto;
	background-color:#fff;
	padding:5%;
}
.hillclimb-form dt{
    padding: 5px 10px;
    border-bottom: 2px solid #fc5a1d;
    font-weight: 900;
}
.hillclimb-form dd{
	padding:20px 10px;
}
.hillclimb-form [type=submit]{
	width:100%;
}

/***********************************************************
* ABOUT
***********************************************************/
.about table{
	border-top:none;
	border-right:none;
}
.about th{
	width:20%;
	background-color:unset;
	border-left:none;
	border-bottom:1px solid #FC5A1D;
	white-space:nowrap;
}
.about td{
	border-left:none;
	padding:.5em 1.5em!important;
}

.history table{
	border-right:none;
}
.history td{
	border-left:none;
	font-size:.9em;
}
.history td:nth-of-type(1){
	width:20%;
	white-space:nowrap;
}

@media (max-width: 780px) {
	.about th,
	.about td{
		display:inline-block;
		width:100%;
	}
	.about th{
		border-bottom:none;
		color:#FC5A1D;
		padding:1.5em 1.5em 0!important;
	}
	.about td{
		padding:.5em 1.5em 1.5em!important;
	}
}

/***********************************************************
* CF7
***********************************************************/
.wpcf7-form ::placeholder {
	color: #cccccc;
	letter-spacing:0.05em;
}
.wpcf7-not-valid-tip{
	font-size:.85em;
	display:unset;
	margin-left:5px;
}
button, input, textarea{
	padding:0.35em 0.7em;
}
textarea{
	width:100%;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"]{
	width:100%;
}
.wpcf7 .firstname{
	margin-right:20px;
}
.wpcf7 input[name="your-firstname"],
.wpcf7 input[name="your-lastname"]{
	width:30%;
	margin-left:10px;
}

.wpcf7 input[type="file"]{
	border:none;
}

.wpcf7 [type=submit]{
    letter-spacing: 0.05em;
	color:#fff;
    padding: 10px 30px;
    margin-top: 40px;
    margin-right: -72px;
	background-color: #FC5A1D;
	border-radius:3px;
}
.wpcf7 [type=submit]:hover{
    opacity:.8;
}

.wpcf7-form dt .req{
	color:red;
}

.form-under{
	text-align:center;
}

.wpcf7 form.sent .wpcf7-response-output{
	background-color: #ffffffb3;
    text-align: center;
}
@media (max-width: 660px) {
	.wpcf7 .firstname{
		margin-bottom:10px;
	}
	.wpcf7 .firstname,
	.wpcf7 .lastname{
		display:inline-block;
		white-space:nowrap;
	}
	.wpcf7 input[name="your-firstname"],
	.wpcf7 input[name="your-lastname"]{
		width:70%;
	}
	
}
/***********************************************************
* CONTACT
***********************************************************/
.to-form-link{
	display:flex;
	justify-content:space-between;
}
.to-form-link a{
	width:45%;
	background-color:#FC5A1D;
	padding:3%;
	text-align:center;
	text-decoration:none;
	font-size:1.2em;
	color:#fff;
}
.to-form-link a:hover{
	opacity:.8;
}

.contact-form{
    padding: 5%;
    border: 1px solid #333333;
}
.contact-form dt{
    padding: 10px;
    border-bottom: 1px solid #333;
    font-weight: 700;
}
.contact-form dd{
	padding:20px 10px;
}

/***********************************************************
* フッター
***********************************************************/
.l-footer__widgets{
	position:relative;
	background: url(https://rally.osamu-factory-shop.com/wp/wp-content/uploads/2025/04/main.jpg);
	background-size: cover;
	background-position:center;
}
.l-footer__widgets::after{
  content: "";
  background: rgba(0,0,0,.6);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.footer-about{
	text-align:center;
	margin:3% auto;
	line-height:2em;
	position: relative;
	z-index:1;
}
.footer-about .name{
    font-size: 1.8em;
    font-weight: 900;
    margin-bottom: 20px;
}
.footer-about .contact{
	margin-top:20px;
}
.footer-about .contact p{
	font-size:1.2em;
	font-weight:600;
}
.footer-about .contact a{
    display: inline-block;
    font-size: 1.5em;
	font-weight: 600;
    letter-spacing: 0.1em;
	text-decoration: none;
    background-color: #fc5a1d;
    padding: .7em 3em;
    margin-top: 20px;
}



.l-footer__widgets{
	background-color: #434343;
}
.l-footer__nav{
	font-size:1.2em;
	letter-spacing:0.1em;
	margin-top:1.5em;
	margin-bottom:2.5em;
}
.c-copyright{
	color:#ddd;
}
@media (min-width: 600px) {
    .l-footer__nav a {
        padding: 0 1.2em;
    }
}

