@charset "utf-8";
/* CSS Document */
#wrapper {
/*font-family: -apple-system-body, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans Japanese", "游ゴシック  Medium", "Yu Gothic Medium", "メイリオ", meiryo, sans-serif;*/
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	
}

body{
	color:#002c65;
}
#wrapper {
	max-width: 1000px;
	width:100%;
	margin:0 auto;
	line-height:0;
	padding:0;
}

.wrapper_inner {
	max-width: 880px;
	margin:0 auto;
	font-size: 100%;
	width:90%;
	line-height:1.4;
	font-feature-settings: "palt";
}

.wrapper_inner img{
	margin:0 auto;
	width:100%;
}

header,footer{
//	background:#fff;
}

#wrapper a {
	text-decoration: none;
}

a:link {
 color: #002c65;
 text-decoration: underline;
}

a:visited {
 color: #002c65;
 text-decoration: underline;
}

a:hover {}

a:active {
 color: #002c65;
 text-decoration: underline;
}



#wrapper *{
//	box-sizing:border-box;
}

#wrapper .img_area{
	max-width:1000px;
	text-align:center;
	margin:0 auto;
}

#wrapper .img_area img{
	width:100%;
}
/*---------------------------------------*/
.logo_img{
	margin:8% auto 0;
	width: fit-content;
	text-align:center;
}
.logo_img img{
	margin:0 auto;
	max-width:150px;
	width:clamp(3rem, 15vw, 9.375rem);
}
.header{
	margin-top:12%;
}

.title{
	margin-top:12%;
	font-size: clamp(1rem, -0.082rem + 5.41vw, 3.3rem);
	font-weight:900;
}
.title span{
	font-family: "vw_h_b";
	vertical-align:-3%;
	font-weight:normal;
}

.sub_title{
	margin-top:5%;
	font-size: clamp(0.9rem, 0.147rem + 3.76vw, 2.5rem);
	font-weight:900;
	text-align:center;
}
.sub_title span{
	font-family: "vw_h_b";
	font-size: clamp(1.1rem, 0.206rem + 4.47vw, 3rem);
	vertical-align:-3%;
	font-weight:normal;
}

.t_01{
	margin-top:5%;
	font-size: clamp(0.7rem, 0.135rem + 2.82vw, 1.9rem);
	font-weight:500;
	line-height:1.6;
	margin-bottom:8%;
}
.t_01 .b_txt{
	font-weight:800;
}

.t_01 .en_txt{
	font-family: "vw_h_r";
	font-size: clamp(0.9rem, 0.241rem + 3.29vw, 2.3rem);
	vertical-align:-3%;
	font-weight:normal;
}

.t_01 .en_txt_b{
	font-family: "vw_h_b";
	font-size: clamp(0.9rem, 0.241rem + 3.29vw, 2.3rem);
	vertical-align:-3%;
	font-weight:normal;
}
.t_04{
	margin-top:5%;
	font-size: clamp(0.9rem, 0.241rem + 3.29vw, 2.3rem);
	font-weight:800;
	line-height:1.5;
	margin-bottom:8%;
}
.t_04 span{
	font-family: "vw_h_b";
	font-size: clamp(1rem, 0.294rem + 3.53vw, 2.5rem);
	vertical-align:-3%;
	font-weight:normal;
}
.h2_tx{
	margin-top:10%;
	font-size: clamp(0.8rem, 4vw, 2.5rem);
	font-weight:800;
}
.h2_tx span{
	font-family: "vw_h_b";
	vertical-align:-3%;
	font-weight:normal;
}

.title2{
	margin-top:10%;
	font-size: clamp(1.8rem, 0.529rem + 6.35vw, 4.5rem);
	font-weight:500;
	text-align:center;
	padding-bottom:1%;
	border-bottom:0.3vw solid #002c65;
}
.t_02{
	margin-top:2%;
	font-size: clamp(1rem, 0.388rem + 3.06vw, 2.3rem);
	font-weight:900;
	line-height:1.4;
	text-align:center;
	margin-bottom:4%;
}
.t_02 span{
	font-family: "vw_h_b";
	font-size: clamp(1.2rem, 0.447rem + 3.76vw, 2.8rem);
	vertical-align:-3%;
	font-weight:normal;
}

.t_03{
	margin-top:2%;
	font-size: clamp(0.65rem, 0.062rem + 2.94vw, 1.9rem);
	font-weight:600;
	text-align:center;
	margin-bottom:12%;
}
.t_03 span{
	font-family: "vw_h_r";
	font-size: clamp(0.75rem, 0.068rem + 3.41vw, 2.2rem);
	vertical-align:-3%;
	font-weight:normal;
}
.wrapper_inner .tel{
	display:block;
	margin:1% auto;
	width:100%;
	font-family: "vw_h_b";
	font-size: clamp(1.9rem, 0.582rem + 6.59vw, 4.7rem);
	text-align:center;
}

.raiten{
	margin:16% auto 8%;
	text-align:center;
	background:#dcdddd;
	padding-top:6%;
	padding-bottom:6%;
	font-size: clamp(0.6rem, 0.176rem + 2.12vw, 1.5rem);
	font-weight:500;
	line-height:1.6;
}
.f_tx_01{
	margin-top:4%;
	font-size: clamp(0.6rem, 0.176rem + 2.12vw, 1.5rem);
	font-weight:500;
	line-height:1;
}

.f_tx_02{
	margin-top:0%;
	font-size: clamp(1.2rem, 0.118rem + 5.41vw, 3.5rem);
	font-weight:900;
	line-height:1;
}
.f_tx_02 span{
	font-family: "vw_h_b";
	font-size: clamp(1.4rem, -0.012rem + 7.06vw, 4.4rem);
	vertical-align:-3%;
	font-weight:normal;
}

.f_tx_03{
	margin-top:1.5%;
	margin-bottom:2%;
	font-size: clamp(0.55rem, 0.103rem + 2.24vw, 1.5rem);
	font-weight:500;
	line-height:1;
}
.f_tx_03 span{
	font-family: "vw_h_r";
	font-size: clamp(0.6rem, 0.035rem + 2.82vw, 1.8rem);
	vertical-align:-3%;
	font-weight:normal;
}


/* Google Mapを囲う要素 */
.map{
	max-width:690px;
	margin:1% auto;
}

.map-wrap {
	margin:0 auto;
	position: relative;
	width: 100%;
	height: 0;
//	padding-top: 50%; /* 比率を4:3に固定 */
	padding-top: 56.25%;    /*16:9の比率にしたい場合、9/16=56.25%*/
}
 
/* Google Mapのiframe */
.map-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#wrapper .margin_top15{
	margin-top:1.5%;
}
#wrapper .margin_top30{
	margin-top:3%;
}
#wrapper .margin_top50{
	margin-top:5%;
}
#wrapper .margin_top60{
	margin-top:6%;
}
#wrapper .margin_top70{
	margin-top:7%;
}
#wrapper .margin_top80{
	margin-top:8%;
}
#wrapper .margin_top100{
	margin-top:10%;
}


#wrapper a.black:link {
	color:#000;
}
#wrapper a.black:visited  {
	color:#000;
}

#wrapper a.red:link {
	color:#d32525;
}
#wrapper a.blue:link {
	color:#3391c4;
}
#wrapper a.red:visited  {
	color:#d32525;
}
#wrapper a.blue:visited  {
	color:#3391c4;
}

/*ページトップスクロールボタン*/
#page_top{
  width: 90px;
  height: 90px;
  position: fixed;
  right: 0;
  bottom: 0;
  opacity: 0.6;
}
#page_top a{
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #3f98ef;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -40px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#page_top a::after{
  content: 'PAGE TOP';
  font-size: 13px;
  color: #fff;
  position: absolute;
  top: 45px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
  color: #3f98ef;
}







/*---------------------------------------------------------------------------------*/


#wrapper .foot_title_a{
	max-width:1000px;
	margin:20% auto 0;
	padding-bottom:4%;
	border-bottom:0.5vw solid #002C65;
	text-align:center;
}
.foot_title_a p{
	margin:5% auto 0;
	font-family: 'gothic_101pro_db';
	font-size: clamp(1.2rem, -2.143rem + 7.43vw, 2.5rem);
	max-width:822px;
	width:90%;
}
.foot_title_a p span{
	font-family: 'vw_h_b';
	font-size: clamp(1.4rem, -2.714rem + 9.14vw, 3rem);
	vertical-align:-3%;
}

.footer{
	margin:0 auto;
	font-size: 100%;
	overflow: hidden;
	width:100%;
//	background:#000;
//	color:#fff;
	line-height:1.5;
}
.footer_inner {
	max-width: 880px;
	margin:0 auto;
	font-size: 100%;
	width:90%;
	line-height:1.4;
	font-feature-settings: "palt";
}


.footer_inner .dealer{
	margin:9% auto 0;
	width:100%;
}

}
.footer_inner .dealer img{
	max-width:822px;
	width:100%;
}

.footer_inner div img {
	margin:0 auto;
	width:100%;
}

footer {
	width:90%;
	margin:5% auto 3%;
	text-align:center;
}

.copy{
	font-size:clamp(0.5rem, -0.786rem + 2.86vw, 1rem);
//	color:#fff;
}

.footer_bt{
	margin:0 auto;
	display: flex;
	justify-content: space-between;
	background:#002c65;
	color:#fff;
	padding-top:1%;
	padding-bottom:1%;
	align-items: center;
}

.fbt_left{
	width:70%;
	vertical-align:-3%;
	padding-left:3%;
	font-family: 'gothic_101pro_db';
	font-size: clamp(0.7rem, -1.614rem + 5.14vw, 1.6rem);
	text-align:left;
}
.fbt_left span{
	font-family: 'vw_h_b';
	font-size: clamp(0.9rem, -1.414rem + 5.14vw, 1.8rem);

}
.tx_sh{
	transform: scale(0.7,1);;
	transform-origin: top left;
	white-space: nowrap;
	width:60%;
}
.fbt_right{
	padding-right:1%;
	font-family: 'gothic_101pro_db';
	font-size: clamp(0.7rem, -1.614rem + 5.14vw, 1.6rem);
	white-space: nowrap;
}
.fbt_right2{
	padding-right:2%;
	font-family: "AudiType-Normal";
	font-size: clamp(2rem, -3.143rem + 11.43vw, 4rem);
	transform: scale(0.8, 1);
	white-space: nowrap;
}


.arrow {
	position: relative;
	display: inline-block;

}

.arrow::before,
.arrow::after {
	content: "";
	position: absolute;
	top: calc(50% - 0.15vw);
	right: 2vw;
	width: 1.91vw;
	height: 0.41vw;
//	border-radius: 9999px;
	background-color: #fff;
	transform-origin: calc(100% - 0.2vw) 50%;
}

.arrow::before {
	transform: rotate(45deg);
}

.arrow::after {
	transform: rotate(-45deg);
}

.footer_link{
	margin:3% auto 0;
	width:100%;
	line-height:1;
}

.footer_link a {
	position: relative;
	z-index: 1;
	display: block;
	transition: .3s;

}
.footer_link a::before {
	content: "";
	width: 90%;
	height: 10px;
	position: absolute;
	top: 100%;
	left: 5%;
	background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 80%);
	z-index: -1;
	opacity: 0;
	transition: .3s;
}
.footer_link a:hover {
	transform: translateY(-7px);
}
.footer_link a:hover::before {
	transform: translateY(7px);
	opacity: 1;
}
/*----------*/

nav.globalMenuSp {
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    background: #fff;
    color: #000;
    text-align: center;
    transform: translateY(-100%);
    transition: all 0.6s;
    width: 100%;
}

nav.globalMenuSp ul {
    background: #ccc;
    margin: 0 auto;
    padding: 0;
    width: 100%;
}

nav.globalMenuSp ul li {
    font-size: 1.1em;
    list-style-type: none;
    padding: 0;
    width: 100%;
    border-bottom: 1px dotted #333;
}

/* 最後はラインを描かない */
nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

nav.globalMenuSp ul li a {
    display: block;
    color: #000;
    padding: 1em 0;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active2 {
    transform: translateY(0%);
}


.navToggle {
    display: block;
    position: fixed;    /* bodyに対しての絶対位置指定 */
    right: 13px;
    top: 12px;
    width: 42px;
    height: 51px;
    cursor: pointer;
    z-index: 3;
    background: #666;
    text-align: center;
}

.navToggle span {
    display: block;
    position: absolute;    /* .navToggleに対して */
    width: 30px;
    border-bottom: solid 3px #eee;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 6px;
}

.navToggle span:nth-child(1) {
    top: 9px;
}

.navToggle span:nth-child(2) {
    top: 18px;
}

.navToggle span:nth-child(3) {
    top: 27px;
}

.navToggle span:nth-child(4) {
    border: none;
    color: #eee;
    font-size: 9px;
    font-weight: bold;
    top: 34px;
}


/* 最初のspanをマイナス45度に */
.navToggle.active2 span:nth-child(1) {
    top: 18px;
    left: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */
.navToggle.active2 span:nth-child(2),
.navToggle.active2 span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

.navToggle{
	display:none;
}



.bt_links{
//	width:100%;
	margin-top:4%;
	letter-spacing: 0.1em;
}


.bt_links img{
//	max-width:729px;
	width:100%;
	margin:5% auto 0;
}



.bt_links a {
//	width:90%;

	color: #fff;
//	font-family: 'gothic_101pro_bo';
	font-size: clamp(0.9rem, 1.6vw, 1.6rem);
	font-weight: bold;
	text-align:center;
	padding:2% 5% 2.5% 5%;
//	border-radius: 0px;
	position: relative;
	z-index: 1;
	display: inline-block;
	transition: .3s;
	background:#e60012;
	line-height:1.3;
	font-family:gothic_101pro_re;
}
.bt_links a::before {
	content: "";
	width: 90%;
	height: 10px;
	position: absolute;
	top: 100%;
	left: 5%;
	background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 80%);
	z-index: -1;
	opacity: 0;
	transition: .3s;
}
.bt_links a:hover {
	transform: translateY(-7px);
}
.bt_links a:hover::before {
	transform: translateY(7px);
	opacity: 1;
}

.bt_links a span{
	font-family: 'vw_h_b';
	font-size: clamp(1.2rem, 1.9vw, 1.9rem);
	vertical-align:-3%;
}



.bt_links2{
	width:84%;
	margin:0 auto;
	text-align:center;
}


.bt_links2 img{
	max-width:729px;
	width:100%;
	margin:20px auto;
}



.bt_links2 a {
	width:100%;
	margin:0 auto;
	color: #fff;
	font-size: clamp(0.9rem, 1.6vw, 1.6rem);
	font-weight: bold;
	text-align:center;
	padding-top:4%;
	padding-bottom:4%;
//	border-radius: 0px;
	position: relative;
	z-index: 1;
	display: inline-block;
	transition: .3s;
	background:#006098;
	line-height:1.3;
	font-family:gothic_101pro_re;
}
.bt_links2 a::before {
	content: "";
	width: 90%;
	height: 10px;
	position: absolute;
	top: 100%;
	left: 5%;
	background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 80%);
	z-index: -1;
	opacity: 0;
	transition: .3s;
}
.bt_links2 a:hover {
	transform: translateY(-7px);
}
.bt_links2 a:hover::before {
	transform: translateY(7px);
	opacity: 1;
}

.kiyaku{
	width:100%;
	border:1px solid #000;
	margin:20px auto;
	padding:20px;
	text-align:center;
}

.kiyaku_box {
	overflow:auto;
	height:600px;
	padding-left:1em;
	text-indent:-1em;
	line-height:150%;
	text-align:left;
}


.flex_b {
	display:flex;
	flex-wrap:wrap;
}
.flex_b .flex_in {
	width:48%;
	margin-bottom:10px;
}

.wrapper_inner .att_box{
	max-width:600px;
	width:96%;
	margin:0 auto;
	padding-top:20px;
//	padding-left:1em;
//	text-indent:-1em;
	line-height:150%;
	text-align:left;
}

.sp_on{
	display:none;
}

/* ************************************************************************************************ */
@media screen and (max-width: 768px) {

.sp_on{
	display: block !important;
}
.sp_none{
	display:none;
}



.glay2_fl2{
	display:block;

}

#wrapper .title_com .title_tx{
	right: 30%;

}

#wrapper #footer {
	font-size:11px;
	line-height:14px;
	margin-top:;
	padding:15px 0 25px;
}


.swiper .swiper-button-next,.swiper .swiper-button-prev{
	margin-top:0%;
}

.top_bt_att{
	margin-top:2%;
}



@media screen and (max-width: 600px) {
.navToggle{
	display:block;
}
}
