@charset "utf-8";

/*----------------------------------------------------------
　全体
-----------------------------------------------------------*/
html {
	width: 100%;
	height: 100%;
	font-family: メイリオ, Meiryo, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 62.5%;/*10px相当*/
	-moz-text-size-adjust: none;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
body {
	width: 100%;
	height: 100%;
	font-size: 16px;
	font-size: 1.6rem;
	text-align: center;
}
@media only screen and ( max-width: 749px ) {
	body {
		font-size: 1.4rem;
		line-height: 1.4;
	}
}
.left {
	float: left;
}
.right {
	float: right;
}
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}
.textC {
	text-align: center;
}
.textL {
	text-align: left;
}
.textR {
	text-align: right;
}
.text_fff {
	color: #fff;
}
.red {
	color: #c3002f;
}
.text_b {
  font-weight: 700;
}
.text_small {
  font-size: 80%;
}
.text_url {
  word-break: break-all;
}
a:link, a:visited {
	color: #333;
	text-decoration: none;
}
a:hover {
	color: #005ECF;
	text-decoration: none;
}
/*イメージマップ用
IE対応：<area onFocus="this.blur();">
------------------------------------*/
area {
	border: none;
	outline: none;
}
/*******************************************************************
　ページ共通パーツ
*******************************************************************/

@media print, screen and (min-width:750px){
	.display_pc {display: block;}
	.display_sp {display: none;}
}
@media screen and (max-width:749px){
	.display_pc {display: none;}
	.display_sp {display: block;}
}
@media print, screen and (min-width:1200px){
	.display_sp2 {display: none;}
}
@media screen and (max-width:1199px){
	.display_pc2 {display: none;}
}

/*******************************************************************
　各セクション
*******************************************************************/
/*共通 ------------------------------*/
.contents {
	width: 100%;
	text-align: center;
	margin: 0 auto;
  position: relative;
}

.wrapper {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}
.container {
  width: calc(960 / 1080 * 100%);
  max-width: 960px;
  margin: 0 auto;
}

.box {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}
@media only screen and ( max-width: 749px ) {
	.container {
	}
}

.attn_box {
  width: 90%;
  max-width: 980px;
  margin: 0 auto 1em;
}
.attn {
  text-align: left;
  font-size: 1.2rem;
  line-height: 1.4;
  margin: 0 auto 1em;
  color: #333;
}
@media only screen and ( max-width: 749px ) {
  .attn {
    text-align: left;
    font-size: 1.0rem;
    line-height: 1.3;
  }
}
/*----------------------------------------------------------
　ヘッダー 
-----------------------------------------------------------*/
header {
	width: 100%;
	margin: 0;
	padding: 0 0 5px;
	overflow: hidden;
  background: #fff;
}
.header_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 96%;
	max-width: 1080px;
	margin: 0 auto;
}
.header_logo{
	width: 15%;
	text-align: left;
}
.header_logo img {
	max-width: 100px;

}
.header_name {
	text-align: right;
}
.header_name img {
	max-width: 120px;
}
@media only screen and ( max-width: 749px ) {
	header {
		margin: 0 auto 0;
	  padding: 0 0;
  }
	.header_logo {
		width: 50%
	}
  .header_logo img {
    max-width: none;
  }
  .header_name {
  }
  .header_name img {
    width: 80%;
    }
}

/*----------------------------------------------------------
　menu
-----------------------------------------------------------*/
.menu_box_wrap {
  background: #C3002F;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 30;
}
.menu_box {
  display: flex;
  justify-content: center;
  width: calc(990 / 1080 * 100%);
  max-width: 990px;
  margin: 0 auto;
}
.menu_box > div {
  border-left: 1px solid #fff;
  margin: 1% auto;
  background: rgba(0,0,0,0.3);
}
.menu_box > div:last-child {
  border-right: 1px solid #fff;
}
.menu_box a {
  display: block;
  background: #c3002f;
}
.menu_box a:hover {
  background: rgba(0,0,0,0.1);
} 
/*----------------------------------------------------------
　メインビジュアル
-----------------------------------------------------------*/
main {
}
.page1 .mv_wrap {
  background: url("../img/top/bg_mv.png") center top;
}
.page2 .mv_wrap {
  background: url("../img/shaken/bg_mv.png") center top;
}
.page3 .mv_wrap {
  background: url("../img/tenken/bg_mv.png") center top;
}
.page4 .mv_wrap {
  background: url("../img/service/bg_mv.png") center top;
}
.page5 .mv_wrap {
  background: url("../img/reserve/bg_mv.png") center top;
}

.mv_wrap {
  box-shadow: 0 20px 20px -20px rgba(0,0,0,0.7);
  position: relative;
}
.mv_wrap .wrapper {
  background: #fff;
}

h1 {
  padding: 5% 0;
}
.page2 h1 {
  padding: 5% 0 0;
}
.page2 .mv_bottom {
  padding-bottom: 5%;
}
/*----------------------------------------------------------
　コンテンツ
-----------------------------------------------------------*/
.page1 .main_wrap {
  background: #FFEBEB;
}
.page2 .main_wrap {
  background: #D3E7D1;
}
.page3 .main_wrap {
  background: #FFF9D6;
}
.page4 .main_wrap {
  background: #F2E9FF;
  overflow: hidden;
}
.page5 .main_wrap {
  background: #E7EBFF;
  overflow: hidden;
}
/*共通
------------------------------------------------------*/
.main2_wrap {
  background: url("../img/bg_body.png") center top;
}
.main2_wrap .wrapper {
  background: #fff;
}
.sec_title {
  padding: 8% 0 4%;
}
.sub_title {
  margin: 8% auto 5%;
}
.sub_lead {
  margin: 5% auto;
}

/*トップページ
------------------------------------------------------*/
.step_box {
  position: relative;
}
.step_box div:nth-child(1) {
  position: relative;
  z-index: 5;
}
.step_box div:nth-child(2) {
  position: relative;
  z-index: 4;
}
.step_box div:nth-child(3) {
  position: relative;
  z-index: 3;
}
.sec1_step {
  margin-top: -4%;
}
.sub2_img_box {
  padding: 3% 0 10%;
}
.sec2_voice_box {
  padding-bottom: 10%;
}


/*車検ページ
------------------------------------------------------*/
.point2_img {
  margin-top: 5%;
}
.point3_img {
  margin-top: 3%;
  padding-bottom: 10%;
}
.flow_box {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 3%;
}
.flow_btn_text {
  margin: 3% auto 0;
}
.flow_faq {
  padding: 5% 0 10%;
}

/*タブ関連
-------------------------------*/
.tabArea {
}
.tab_title {
  background: #c3002f;
  padding: 2% 0;
  margin-bottom: 3%;
}
.tab_btn_box {
  display: flex;
  justify-content: center;
  width: 90%;
  max-width: 840px;
  margin: 3% auto;
  flex-wrap: wrap;
}
.tab_btn_box > div {
  width: calc(1 / 3 * 100%);
  max-width: 280px;
  margin: 0 auto 1%;
}
.tab_btn_box > div img {
  width: 100%;
  max-width: 270px;
  padding-right: 10px;
}
@media only screen and ( max-width: 749px ) {
.tab_btn_box > div {
  width: 50%;
  max-width: 280px;
  margin: 0 auto 1%;
}
}
/*点検ページ
------------------------------------------------------*/
.tenken_box {
  margin: 0 auto 5%;
}
.menpro {
  padding: 0 0 10%;
}
/*メンテナンスページ
------------------------------------------------------*/
.maintenance_box_wrap {
  width: calc(990 /1080 * 100%);
  max-width: 990px;
  margin: 0 auto;
  background: #fff;
  border-radius: 0 0 20px 20px;
  padding-bottom: 2%;
}
.maintenance_box_wrap:last-child {
  margin-bottom: 10%;
}
.maintenance_box {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 auto;
  width: calc(900 / 990 * 100%);
  max-width: 900px;
}
.maintenance_box > div {
  width: 50%;
  margin-bottom: 3%;
}
/*WEB予約ページ
------------------------------------------------------*/
.page5 h1 {
  padding: 5% 0 0;
}
.mv_btn {
  padding: 0 5% 5%;
}
.yoyaku_step_title {
  margin: 0 auto 3%;
}
.yoyaku_step_img {
  padding-bottom: 10%;
}
.input_img {
  padding-bottom: 10%;
}
.service_box {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  max-width: 930px;
  margin: 0 auto 10%;
}

.cal_title {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  padding-bottom: 2%;
}
.cal_box {
  width: 100%;
  max-width: 750px;
  margin: 0 auto 8%;
}
.cal_box p a {
  color: #0041A6;
  text-decoration: underline;
}


/*----------------------------------------------------------
　ポップアップ内容
-----------------------------------------------------------*/
.pop_container {
  background: #fff;
  border: 6px solid #A0A0A0;
}


/*----------------------------------------------------------
　ページの先頭に戻る
-----------------------------------------------------------*/
#pageTop {
	position: fixed;
	bottom: 60px;
	right: 1rem;
	display: block;
	z-index: 1001;
}
#pageTop a {
	display: block;
	width: 50px;
	height: 50px;
	padding: 5px 0;
	line-height: 1.2;
	border-radius: 50%;
	background: #d40039;
	text-align: center;
	color: #ffffff;
	transition: .3s;
	box-shadow: 1px 1px 4px 2px rgba(0,0,0,0.5);
}
#pageTop a:hover {
	text-decoration: none;
	opacity: 0.7;
}
@media only screen and ( max-width: 749px ) {
	#pageTop {
		bottom: 100px;
		right: 1em;
	}
}

/*----------------------------------------------------------
　フッター 
-----------------------------------------------------------*/
footer {
	width: 100%;
	margin: 0 auto;
	background: #f2f2f2;
	padding-bottom: 250px;
  color: #333;
}
@media only screen and ( max-width: 749px) {
footer {
	padding-bottom: 200px;
}
}
.copy {
	padding: 0.2em 0 0.2em;
	text-align: center;
}
.copy a {
	text-decoration: underline;
}
@media only screen and ( max-width: 749px) {
	.copy {
		padding: 0.2em 0 0.2em;
	}
}

/*フッターバナー*/
.footer_bn {
	width: 100%;
	margin: 0 auto;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 15;
  background: rgba(255,255,255,0.9);
}
.copyright {
	text-align: center;
	padding: 2em 0 0;
}

@media only screen and ( max-width: 749px ) {
}


/* -----------------------------------------------------
　注意事項
-----------------------------------------------------------*/
.notice {
	text-align: left;
	line-height: 1.5;
	color: #000;
}
.notice_inner {
	width: 100%;
	max-width: 1170px;
	padding: 3% 2% 3rem;
	margin:0 auto;
}
.notice_inner p {
	font-size: 1.2rem;
}
.notice_inner p:first-child {
	font-size: 1.6rem;
	margin-bottom: 1.6rem;
	font-weight: bold;
}

@media only screen and ( max-width: 749px ) {
	.notice {
	}
	.notice_inner p {
		font-size: 1rem;
	}
	.notice_inner p:first-child {
		font-size: 1.2rem;
		font-weight: normal;
	}
}


/*ドロップダウン
-----------------------------------------------------------*/
.drop_wrap {
  width: 90%;
  margin: 0 auto;
}
.drop_btn {
  width: 90%;
  max-width: 1080px;
  margin: 1em auto;
  text-align: left;
  padding: 0.2em 0 0.2em 1em;
  font-size: 1.2rem;
}
.drop_click {
  width: 100%;
  margin: 1em auto;
  text-align: left;
  padding: 0.2em 0 0.2em 1em;
  font-size: 1.6rem;
}
.drop_btn:hover,
.drop_click:hover {
  cursor: pointer;
}
.drop_box,
.drop_item {
  display: none;

}
.drop_inner {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto 1em;
  overflow: hidden;
	text-align: left;
	font-size: 1.2rem;
	line-height: 1.4;
}
@media only screen and ( max-width: 599px) {
  .drop_btn,
  .drop_inner {
	font-size: 1.0rem;
	line-height: 1.3;
}
}
/*----------------------------------------------------------
　左メニュー
-----------------------------------------------------------*/

.rightMenu {
	position: fixed;
	top: 100px;
	right: 0;
	z-index: 1001;
}

.right_menu_box {
}
.right_menu_item {
  text-align: right;
  margin-bottom: 12px;
}
.right_menu_item img {
  max-width: clamp(40px,7vw,84px);
  margin: 0 auto;
}

.rightMenu a {
	transition: .3s;
}
.rightMenu a:hover {
	text-decoration: none;
	opacity: 0.9;
}
/*----------------------------------------------------------
　画像エフェクト
-----------------------------------------------------------*/
/*ふわふわ*/
.floating_img {
  animation: floating 2s ease-in-out infinite;
}

@keyframes floating {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-20px);
  }
  100% {
    transform: translateY(0px);
  }
}
/*スライドイン
------------------------------------------*/
/*スライドイン*/
.slidein{
	transition: 1s cubic-bezier(0.15,1,0.75,1);
}
.slide_left{
	transform: translateX(calc(-50vw - 50%));
}
.slide_right{
	transform: translateX(calc(50vw + 50%));
}
.slide_left.show,
.slide_right.show {
  transform: translateX(0);
}


/* フェードイン（下から） */
.fadein {
  opacity: 0;
  transform: translateY(200px); /* 初期位置を下に */
  /*transition: opacity 1.0s ease-out, transform 1.0s ease-out;*/
  /*transition: opacity 0.8s cubic-bezier(0.4, 0.0, 0.2, 1), transform 0.8s cubic-bezier(0.4, 0.0, 0.2, 1);*/
  transition: opacity 1.0s ease-out, transform 1.0s cubic-bezier(0.4, 0.0, 0.2, 1);
}
.fadein.show {
    opacity: 1;
    transform: translateY(0); /* 元の位置に戻る */
}

/* フェードイン（その場） */
.fadein2 {
    opacity: 0;
    transition: opacity 3.0s cubic-bezier(0.4, 0.0, 0.2, 1);
}
.fadein2.show {
    opacity: 1;
}

/* 遅延用のクラス */
.delay1 {
    transition-delay: 0.3s;
}
.fadein.delay2,
.fadein2.delay2 {
    transition-delay: 0.6s;
}
.fadein.delay3,
.fadein2.delay3 {
    transition-delay: 0.9s;
}


/*　お知らせポップアップ
-----------------------------------------------------------*/
/*infoエリアをはじめは非表示*/
#info{
	display: none;
}
.hide_open_btn {
  display: none;
}
/*モーダルの横幅を変更したい場合*/
.modaal-container{
    max-width: 600px;
}

/*モーダルのボタンの色を変更したい場合*/
.modaal-close:after, 
.modaal-close:before{
	background:#ccc;	
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
	background:#666;
}
.modaal-content-container {
  padding: 0;
}
.modaal-content-container h2 {
  font-size: clamp(12px, 1vw + 12px, 24px);
  text-align: center;
  color: #c3002f;
  margin-bottom: 0.5em;
  font-weight: 700;
  border-bottom: 1px solid #c3002f;
  padding-bottom: 0.3em;
}
.modaal-content-container p {
  color: #232323;
  line-height: 1.5;
}
.modal_box {
  /*padding: 0 5% 50px;*/
}

/*閉じるボタン*/
.modal_close_btn {
	display: flex;
	justify-content: flex-end;
	padding: 1rem;
}
.close_btn_x {
	display: inline-block;
	font-weight: 400;
	color: #fff;
	text-align: center;
	vertical-align: middle;
	user-select: none;
	background: #6c757d;
	border: 1px solid #6c757d;
	padding: 0.375rem 0.75rem;
	font-size: 1.4rem;
	line-height: 1.5;
	border-radius: 0.25rem;
	transition: 0.15s;
	opacity: 1;
}
.close_btn_x:hover,
.close_btn:hover {
	background: #5a6268;
	border-color: #545b62;
	opacity: 0.9;
	cursor: pointer;
}



/*バウンド動き*/
.bound_img {
  animation: serif_bound 2.5s ease-out infinite;
  opacity: 1;
}
@keyframes serif_bound {
  0%, 40%, 55%, 65% {
    transform: scale(1.0);
  }
  50%, 60% {
    transform: scale(0.95);
  }
}



/*非表示 ------------------------------
 {
	display: none;
	height: 0;
	line-height: 0;
}
*/