@charset "UTF-8";
/* CSS Document */
:root {
    --width: 100vw;
    --height: 100vh;
    --green: #009944;

}
@media only screen and (max-width: 1280px) {
    :root {
        --width: 1280;
    }
}
@media only screen and (max-width: 769px) {
    :root {
        --width: 375;
    }
}
/*----------------------------------------------------------------
* reset
----------------------------------------------------------------*/
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,main,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font-family:inherit;vertical-align:baseline;box-sizing:border-box;}ul,ol,li{list-style:none;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main,summary{display:block;}
/*----------------------------------------------------------------
* setting
----------------------------------------------------------------*/
body {
    line-height: 1.5;
    font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    font-size: calc(14 / var(--width)* 100vw);
    font-weight: 400;
   
    -webkit-font-smoothing: antialiased;
    text-size-adjust: 100%;
	color: #000;
}
img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    image-rendering: -webkit-optimize-contrast;
}

svg {
    width: 100%;
    height: auto;
}

a {
    color: #000;
    text-decoration: none;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    outline: none;
}

.headerArea{
	background-color: #fff;
}
.header_logo {
    display: block;
    width: calc(144 / var(--width)* 100vw);
    transition: .3s ease;
    transition-property: width, height, opacity, visibility;
    margin-bottom: calc(1 / var(--width)* 100vw);
}

p.im img{
	width: 100%;
	height: auto;
}
/**
 *
 * @wrapper
 *
 */

/*----------------------------------------------------------------
* container
----------------------------------------------------------------*/
.container {
    max-width: calc(1280 / var(--width) * 100vw);
    margin: 0 auto;
    padding: 0 calc(40 / var(--width) * 100vw);
	font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
	
}
@media only screen and (max-width: 769px) {
.container {
        width: 94%;
        padding: 0 calc(20 / var(--width) * 100vw);
}
}


.header{
	height: calc(104 / var(--width)* 100vw);
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.footer{
	padding: 8em 0 2em;
}
.footer .footer_logo{
	display: block;
	width: calc(144 / var(--width)* 100vw);
	margin: 0 auto 5em;;
}
.footer p.copy{
	font-size: calc(12 / var(--width)* 100vw);
	text-align: center;
}
.footer ul.tLink{
	text-align: center;
	margin-bottom: 5em;
}
.footer ul.tLink li{
	display: inline-block;
	margin: 0 .5em;
	font-size: 14px;
}
.footer ul.tCom{
	display: flex;
	justify-content: center;
	margin-bottom: 5em;
	align-items: center;
	column-gap: 3em;
}
.footer ul.tCom li img{
	width: 130px;
}
/*-----------------------------------------------
	top
-----------------------------------------------*/
.top_first{
	width:100%;
	height:100%;
	min-height:700px;
	background-color:#00a95f;
	position: relative;
}

.topArea_first{
	position:relative;
	width:100%;
	height:100%;
	z-index: 1;
}
.top_first ul{
	display: flex;
	height: 100%;
	align-items: center;
	background-image: url("/-/media/Project/globeride/globeride_cojp/geocamp2025/img/top_kazari.png");
	background-position: left 3% center;
	background-size: 43%;
	background-repeat: no-repeat;

}
.top_first ul li{
	width: 50%;
}
.top_first ul li.main{
	background-image: url("/-/media/Project/globeride/globeride_cojp/geocamp2025/img/main.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	height: 100%;
}
.top_first ul li.mm{
	padding: 0 6%;
}
.top_first h2 img{
	width: 100%;
	height: auto;
}
.top_first h2{
	width: 100%;
	margin: 0 auto 2em;
	max-width: 700px;
	
}
.top_first h3,.top_first h4{
	font-family: "Yusei Magic", sans-serif;
  	font-weight: 400;
  	font-style: normal;
	color: #fff;
}
.top_first h3 span{
	background:linear-gradient(transparent 70%, #00522e 70%);
}
.top_first .txArea{
	width: 84%;
	margin: 0 auto;
	max-width: 600px;
}
.top_first h3{
	font-size:min(1.8vw,30px);
	line-height: 2;
	margin-bottom: 2em;
}
.top_first h4{
	font-size:min(1.6vw,26px);
	line-height: 1.8;
}
.top_first p.day{
	position: absolute;
	top: -4em;
	right: 2em;
	z-index: 2;
	width: 220px;
}
.top_first p.kazari{
	position: absolute;
	width: 100%;
	bottom: 0;
	left: 0;
	z-index: 2;
}
/*----------------------------------------------------------------
* title
----------------------------------------------------------------*/
.mainTitle{
	text-align: center;
	margin-bottom: 8em;
	
}
.mainTitle h3{
	font-family: "Yusei Magic", sans-serif;
  	font-weight: 400;
  	font-style: normal;
	color: #00a95f;
	font-size: 34px;
}
.mainTitle p.t1{
	padding-top: 2em;
	font-size: 15px;
}
.mainTitle h3 span{
	background:linear-gradient(transparent 70%, #ff6 70%);
}
/*----------------------------------------------------------------
* first
----------------------------------------------------------------*/
.first{
	background-color: #c2e6ff;
	padding-top: 5em;
}
.first .container{
	padding-bottom: 10em;
}
.first p.mainIm{
	margin-bottom: 5em;
}
.firstArea{
	width: 70%;
	margin: 0 auto 5em;;
	color: #fff;
	background-color: #00a95f;
	border-radius: 1em;
	padding: 5em;
}
.firstArea p.title{
	font-family: "Yusei Magic", sans-serif;
  	font-weight: 400;
  	font-style: normal;
	font-size: 24px;
	margin-bottom: 1em;
}
.firstArea p.title span{
	background:linear-gradient(transparent 70%, #00522e 70%);
}
.firstArea p.title br{
	display: none;
}
.firstArea p.tx{
	font-size: 16px;
	line-height: 2;
}
.firstArea p.cat{
	width: 50%;
	margin-bottom: 1em;
}
.first ul{
	width: 80%;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.first ul li{
	width: 48%;
}
.first ul li p.sub{
	width: 80%;
	margin-left: 15%;
	margin-top: 3em;
}
/*----------------------------------------------------------------
* gaiyo
----------------------------------------------------------------*/
.gaiyo{
	background-color: #fbf8e9;
	padding-top: 10em;
	padding-bottom: 10em;
}
.gaiyoArea{
	width: 65%;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.6;
	min-width: 600px;
}
.gaiyo dl{
	display: flex;
	border-bottom: 1px solid #ddd;
	padding: 2em 0;
}
.gaiyo dl dt{
	width: 20%;
	text-align: center;
}
.gaiyo dl dd{
	width: 80%;
	padding-left:2em; 
}
.gaiyo dl dd dl{
	border: none;
	display: flex;
	padding: 0;
}
.gaiyo dl dd dl dt{
	width: auto;
	text-align: left;
}
.gaiyo dl dd dl dd{
	width: auto;
	padding-left: .5em;
}
.gaiyo span{
	font-size: 90%;
}
/*----------------------------------------------------------------
* sche
----------------------------------------------------------------*/
.sche{
	background-color: #00a95f;
	padding-bottom: 10em;
	position: relative;
	
}
.sche .container{
	padding-top: 10em;
	position: relative;
}
.sche .scheCon{
	position: relative;
	z-index: 2;
}
.sche .mainTitle h3{
	color: #fff;
}
.sche .mainTitle h3 span{
	background:linear-gradient(transparent 70%, #8dc556 70%);
}
.sche .scheArea{
	width: 84%;
	margin: 0 auto;
}
.sche .scheBox{
	background-color: #8dc556;
	border-radius: 1em;
	padding: 3em;
	width: 80%;
	margin: 0 auto;
}
.sche .scheBox p.scheTitle{
	font-family: "Yusei Magic", sans-serif;
  	font-weight: 400;
  	font-style: normal;
	color: #fff;
	font-size: 24px;
	margin-bottom: .5em;
}
.sche .scheBox p.scheTitle span{
	background-color:#008340;
	border-radius: .3em;
	padding: 0.2em 1em; 
}
.sche .scheBox p.scheCat{
	font-family: "Yusei Magic", sans-serif;
  	font-weight: 400;
  	font-style: normal;
	font-size: 22px;
	margin-bottom: 1em;
}
.sche .scheBox p.scheCat span{
	background:linear-gradient(transparent 70%, #008340 70%);
}
.sche .scheBox p.scheTx{
	color: #fff;
	line-height: 2;
	font-size: 15px;
}
.sche ul{
	display: flex;
	width: 74%;
	margin: 0 auto;
	justify-content: space-between;
	flex-wrap: wrap;
	row-gap:2em;
	align-items: center;
	padding-top: 3em;
}
.sche ul.m1{
	margin-bottom: 5em;
}
.sche ul li{
	width: 48%;
}
.sche ul li p.im.m1{
	margin-top: 2em;
}
.sche p.mainIm{
	margin-bottom: 2em;
}
.sche p.mainIm img.spim{
	display: none;
}
.sche .kazari{
	position: absolute;
	z-index: 1;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.sche .kazari01{
	top: 3em;
	width: 85%;
	
}
.sche .kazari02{
	top: 30%;
	width: 90%;
}
.sche .kazari03{
	bottom: 14%;
	width: 85%;
}
.sche p.att{
	color: #fff;
	width: 80%;
	margin: 0 auto;
	padding-top: 5em;
	font-size: 15px;
}
.sche p.att span{
	display: block;
	font-size: 115%;
	margin-bottom:.5em;
}
/*----------------------------------------------------------------
* poster
----------------------------------------------------------------*/
.poster{
	padding-bottom: 15em;
}
.poster .container{
	padding-top: 10em;
}
.poster ul{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	column-gap: 4%;
	row-gap:2em;
	width: 80%;
	margin: 0 auto;
}
.poster ul li{
	width: 48%;
}
/*----------------------------------------------------------------
* btn
----------------------------------------------------------------*/
.btArea{
	padding-bottom: 10em;
}
.btArea p.tx{
	text-align: center;
	font-size: 15px;
}
.btArea p.tx br{
	display: none;
}
.p-homeTopics__btn {
    text-align: center;
	padding-top: 2em;
}
.p-homeTopics__btn a:link{
	color: #fff;
	font-family: "Yusei Magic", sans-serif;
  	font-weight: 400;
  	font-style: normal;
}
.p-homeTopics__btn a:visited{
	color: #fff;
	text-decoration: none;
}
.p-homeTopics__btn a:hover{
	color: #fff;
	text-decoration: none;
	opacity: .8;
}
.c-btnStyle1 {
    display: inline-block;
    padding: 1.55em 3.33em 1.55em 2em;
    position: relative;
    text-align: left;
    line-height: 1.3;
    margin: 0;
    background-color: #e9471e;
    border-radius: 60px;
    text-decoration: none;
    color: #424242;
    z-index: 1;
    letter-spacing: 0.05em;
    transition: background-color 0.2s;
	min-width: 520px;
    font-size: 20px;
}
.c-btnStyle1::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0.89em;
    margin: auto;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    background: #fff url("/-/media/Project/globeride/globeride_cojp/geocamp2025/img/ico_arrow.svg") no-repeat center center;
    background-size: 1.1em;
    transition: 0.2s;
}
/*-----------------------------------------------
	fade
-----------------------------------------------*/
.fadeIn_up {
	opacity:0;
	transition: all .4s;
}
.fadeIn_up.is-show {
	animation: fadeIn .4s ease-out forwards;
	animation-delay: .4s;
}
@keyframes fadeIn{
	0%{
		opacity:0;
		transform: translate(0, 40px);
	}
	50%{
		opacity:0.8;
		transform: translate(0, 20px);
	}
	100%{
		opacity:1;
		transform: translate(0, 0);
	}
}