
/* ~~ エレメント / タグセレクター ~~ */
ul, ol, dl, dd { /* ブラウザー間の相違により、リストの余白とマージンをゼロにすることをお勧めします。一貫性を保つために、量をここで指定するか、リストに含まれるリスト項目 (LI、DT、DD) で指定できます。*/
	padding: 0;
	margin: 0;
	list-style: none
}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	font-weight: normal;
}
p {
	margin: 0;
	padding: 0;
	text-align: justify;
}
table{
	border-collapse: collapse;
  	border-spacing: 0;
}
img {
	margin: 0;
	padding: 0;
	vertical-align: text-bottom;
	width: 100%;
	height: auto;
}
a img {
	border: none;
}
a:link {
	color: #222222;
	text-decoration: none !important;
}
a:visited {
	color: #222222;
	text-decoration: none;
}
a:hover, a:active, a:focus {
	text-decoration: none;
}
hr {
	clear: both;
	display: none;
}
.cf:before, .cf:after {
	content: " ";
	display: table
}
.cf:after {
	clear: both
}
.cf {
*zoom:1
}

/*HTML 5 サポート - 新しい HTML 5 タグを display:block に設定します。これにより、ブラウザーでタグが適切にレンダリングされます。 */
header, section, footer, aside, article, figure {
	display: block;
}



/*********   layout  ************/

body {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;
	margin: 0;
	padding: 0;
	line-height: 1.8;
	color: #555555;
	overflow-x: hidden;
}





/*========================================================================
//
// 共通（フォントサイズなど）
//
//========================================================================*/

/*********  PC（画面の横幅が762px以上） ************/

@media (min-width: 762px) {
	html, body {
		height: 100%;
		position: relative;
		font-size: 10px;
	}
	
	.wrapper {
		width: 1100px;
		margin: 0 auto;
		position: relative;
	}
	
	.sp_contents {
		display: none;
	}
}

/*========================================================================
//
// スマホ用　電話番号リンク対応 <a href="tel:0000000000">
//
//========================================================================*/

/*********  PC（画面の横幅が762px以上） ************/

@media (min-width: 762px) {
	a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}



/*========================================================================
//
// ヘッダー関連
//
//========================================================================*/


/*********  PC（画面の横幅が762px以上） ************/

@media (min-width: 762px) {
	
	#ghead{
		position:absolute;
		left:0;
		top:0;
		width:100%;
		z-index:900;
	}
	
	#ci_wrap{
		width: 100%;
		margin: 0;
	}

	#ci {
		padding: 20px 0 0 30px;
	}

	#ci a{
		display:block;
		width: 126px;
	}
    
    header{
		
	}

	header.fix{
		
	}

	#gnav_r{
		display:flex;
		position:absolute;
		right: 24px;
		top:20px;
		z-index:900;
		gap: 0 21px;
	}

	

	#gnav_r .sns_btn{
		display:flex;
		gap:0 10px;
	}

	#gnav_r .sns_btn li{
		height: 26px;
	}

	#gnav_r .sns_btn li a{
		line-height:0;
	}

	#gnav_r .sns_btn li a img{
		width:auto;
		height:100%;
	}

	#select_lang_wrap a{
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 1.4rem;
		padding-right:17px;
		letter-spacing: 0.05rem;
		font-weight:300;
		line-height: 1.8;
		position:relative;
	}

	#select_lang_wrap a:after{
		position:absolute;
		top: 5px;
		right:0;
		margin:auto;
		content:"";
		vertical-align:middle;
		width:6px;
		height:6px;
		border-top:1px solid #dd2e1e;
		border-right:1px solid #dd2e1e;
		transform:rotate(135deg);
	}

	#select_lang_btn_wrap{
		display:none;
		position:absolute;
		padding: 10px 15px 14px 15px;
		background:#F9F9F9;
		border:1px solid #cacaca;
		width: 114px;
		top: 38px;
		right: 0;
	}

	#select_lang_btn_wrap a{
		position:relative;
		display:inline-block;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 1.4rem;
		padding:4px 0 4px 17px;
		color:#4b4b4b;
		line-height:1.3;
	}

	#select_lang_btn_wrap a:before{
		position:absolute;
		top: 12px;
		left:0;
		display:inline-block;
		margin:-1px 10px 0 0;
		content:"";
		width:6px;
		height:6px;
		border-top:1px solid #dd2e1e;
		border-right:1px solid #dd2e1e;
		transform:rotate(45deg);
	}
	

	#gnav_r a{
		transition: all 0.4s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
	}

	#gnav_r a:hover{
		opacity:0.5;
	}
	
}



/*========================================================================
//
// フッター関連
//
//========================================================================*/


/*********  PC（画面の横幅が762px以上） ************/

@media (min-width: 762px) {

	footer{
		margin: 0 0 calc(-20vh - 1000px);
	}

	footer #cv_goal {
		width:100%;
		background: #2E2E2E;
		padding: 70px 0;
	}

	footer #cv_goal ul{
		width:500px;
		margin:0 auto;
		
	}

	footer #cv_goal ul a {
		display: block;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 1.7rem;
		font-weight: 500;
		font-feature-settings: 'palt';
		letter-spacing:0.15rem;
		color:#fff;
		background:#2E2E2E;
		position:relative;
		border:1px solid #fff;
		border-radius:30px;
		overflow:hidden;
		padding: 8px 28px 10px 56px;
	}

	footer #cv_goal ul a span{
		display:inline-block;
		position:absolute;
		left: 29px;
		top: 6px;
	}


	footer #cv_goal ul a {
		transition: all 0.5s ease 0s;
	}

	footer #cv_goal ul a:hover {
		background:#878992;
		border:1px solid #878992;
	}

	

	footer #footer_link{
		display:flex;
		justify-content:space-between;
		padding:20px 40px;
	}

	footer #footer_link ul{
		display:flex;
		gap:0 20px;
	}

	footer #footer_link ul a {
		display: block;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 1.5rem;
		font-weight: 400;
		color:#3C3C3C;
		font-feature-settings: 'palt';
	}

	footer #footer_link p {
		font-family: 'Roboto', sans-serif;
		font-size: 1.2rem;
		font-weight: 400;
		color:#3C3C3C;
		letter-spacing:0.1rem;
	}

	

}