@charset "UTF-8";
/* CSS Document */
html {
  scroll-behavior: smooth;
	scroll-padding-top: 68.8px;;
}
body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  line-height: 1.8;
  color: #2A2A2A;
  font-size: 16px;
overflow-x: hidden;
  margin: 0;
  padding: 0;
  width: auto;
}
body::before {
    content: "";
    position: fixed;
    inset: 0;
    width: 100vw;
    background-image: url(../img/bg.png);
    background-size:cover;
	    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
    pointer-events: none;
}
/* 共通 */
.wrapper {overflow-x: hidden;}
.content {overflow-x: hidden;}

img {
  max-width: 100%;
  
}
p{
	
}
.p_l{
	font-size: 18px;
}
hr{
	margin: 40px 0;
}
hr.hr_s{
	margin: 20px 0;
}
picture {
  display: block;
}
a {
  transition: all 0.5s;
  text-decoration: none;
}
a:hover {}
a.link_l img, a.link_opa img {
  transition: all 0.5s;
}
a.link_l img:hover {
  transform: scale(1.1); /* 拡大 */
}
a.link_opa img:hover {
  opacity: 0.7;
}
section {
  padding: 100px 0;
}
.section-title {
  font-size: 2rem;
  font-weight: bold;
}
.t-center {
  text-align: center;
}
.t-left {
  text-align: left;
}
.t-right {
  text-align: right;
}
.mt-5 {
  margin-top: 80px!important;
}
.mb-5 {
  margin-bottom: 80px;
}
.mt-sm-5{
	margin-top: 0px!important;
}
.t-lg{
	font-size: 120%;
}
.t-sm{
	font-size: 80%;
}
.t-blue{
	color: #0A6EB1;
}
.t-bold{
	font-weight: bold;
}
/* フェードイン用のCSS */
.fadein {
  opacity: 0;
  transform: translateY(30px);
  transition-property: transform, opacity;
  transition-duration: 1.5s;
  transition-delay: 0s;
}
.fadein_late {
  transition-delay: 0.5s !important;
}
.fadein.is-active {
  opacity: 1;
  transform: translateY(0);
}
/* main */
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.header {
  position: fixed;

  top: 0;
  left: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.8);
  transition: transform 0.3s ease;
  z-index: 999;
  
}
.header.is-visible {
  transform: translateY(0); /* 表示 */
}
.header_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 1001;
  margin: 0 0px 0 30px;
}
.logo {
  z-index: 999;
  width: 300px;
}
/* ハンバーガーメニュー */
.hamburger {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 30px;
  height: 18px;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 1002;
}
.hamburger span {
width: 30px;  
  display: block;
  height: 2px;
  background: #2A2A2A;
  border-radius: 2px;
  transition: 0.3s ease;
}
/* ×マーク変化 */
.hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 6px);
}
.hamburger.active span:nth-child(2) {
  opacity: 0;
}
.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(4px, -6px);
}
/* モバイルナビ（初期は非表示） */
#nav-menu {
  display: flex;
  flex-direction: column;

  justify-content: center;
  gap: 10px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: white;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.4s ease;
  z-index: 990;
}
#nav-menu.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
	    padding: 0 20px;
}
#nav-menu a {
  font-size: 1.5rem;
  color: #2A2A2A;
  text-decoration: none;
  transition: 0.3s;
}
.h_nav_contact{
	color: #fff!important;
	background: #0AABB1;
	padding: 0px 30px 5px;
	font-size: 14px!important;
}
.h_nav_contact_en{
	font-family: "Oswald", sans-serif;
	font-size: 30px;
	margin-bottom: -10px;
}
#nav-menu a:hover {
  opacity: 0.7;
}
.nav-dropdown {

}
.sub-menu a {
    display: block;
	margin: 5px 0;
		font-size: 16px!important;
  }
.h_nav_contact{
	text-align: center;
}
.menu-icon {
  position: relative;
  padding-left: 24px;
	border-bottom: 1px solid #ced4da;
	display: block;
	padding-bottom: 10px;

}

.menu-icon::before {
  content: "\f105"; /* chevron-right */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
	color: #004879;
}

/* PC表示（768px以上） */
@media (min-width: 768px) {
  .hamburger {
    display: none;
  }
	.menu-icon{
		position: inherit;
		padding-left: 0;
		border-bottom: 0px;
		padding-bottom: 0px;
	}
	.menu-icon::before{
		display: none;
	}
  #nav-menu {
    position: static;
    flex-direction: row;
    height: auto;
    width: auto;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    gap: 30px;
    background: none;
	  align-items: center;
  }
  #nav-menu a {
    font-size: 1rem;
  }
	
	.nav-dropdown {
  position: relative;
}
	

.sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 200px;
  background: #fff;
  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
  opacity: 0;
  visibility: hidden;
  transition: .3s;
  z-index: 100;
	text-align: left;
	margin-top: 5px;
}

.sub-menu a {
  display: block;
  padding: 12px 20px;
  white-space: nowrap;
	margin: 0;

}

.sub-menu a:hover {
  background: #f5f5f5;
}

.nav-dropdown:hover .sub-menu {
  opacity: 1;
  visibility: visible;
}
}
.btnmv01{
	margin-right: 30px;
}
.btnmv01 a {
    display: block;
    color: #004879;
    background: #fff;
    padding: 15px 60px;
    text-align: center;
    width: 100%;
    border-radius: 10px;
    text-decoration: none;
    position: relative;
    font-size: 15px;
	margin-right: 30px;
}
.btnmv01 a:hover{
	transform: translateY(-8px);
  box-shadow: 0 15px 25px rgba(0, 0, 0, 0.15);
}
.btnmv02 a {
    display: block;
    color: #fff;
    background: #0AABB1;
    padding: 15px 60px;
    text-align: center;
    width: 100%;
    border-radius: 10px;
    text-decoration: none;
    position: relative;
    font-size: 15px;
}
.btnmv02 a:hover{
	transform: translateY(-8px);
  box-shadow: 0 15px 25px rgba(0, 0, 0, 0.15);
}
.btnmv01,
.btnmv02{
	flex: 1;
}
.btn01{
	
}

.btn01 a {
    display: block;
    color: #fff;
    background: #0AABB1;
    padding: 15px 30px;
    text-align: center;
    width: 100%;
    border-radius: 10px;
    text-decoration: none;
    position: relative;
    font-size: 18px;

}
.btn01 a::after,
.btnmv01 a::after,
.btnmv02 a::after{
    position: absolute;
    content: "\f054";
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    top: 50%;
    right: 20px;
    left: auto;
    bottom: auto;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.btn02 a {
    display: block;
    color: #fff;
    background: #0A6EB1;
    padding: 10px 20px;
    text-align: center;
    width: 100%;
    border-radius: 5px;
    text-decoration: none;
    position: relative;
    font-size: 18px;
}




section#s_mv {
  padding: 0 !important;
	position: relative;
	margin-top: 74.2px;
}

.mv_bg {
background: linear-gradient(30deg, #004879, #0A6EB1);
    width: 70vw;
    height: 65vh;
    position: absolute;
    bottom: 0;
    left: 0;
    margin: auto;
}
.mv01 {
  padding: 0;
  position: relative;
  overflow: hidden;
	text-align: right;
	padding-bottom: 100px;
	height: calc(100vh - 68.8px);

}
.mv01 img{
	width: 70%;
	height: 65vh;
	object-fit: cover;

}
.mv01_inner{
	position: absolute;
	bottom: 8%;
	    width: 60%;
    text-align: left;
	color: #fff;
	z-index: 10;
	left: 5%;
}
.mv01_copy{
	font-size: 60px;
	font-weight: bold;
	    line-height: 1.4;
    margin-bottom: 70px;
}
.mv02_copy{
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 30px;
	
}
.mv_btn{
	display: flex;
	
}
.mv02_inner{
	position: absolute;
	bottom: 10%;
	right: 5%;
	    width: 45%;
    text-align: right;

}
.mv02_inner img{
width: 100%;
  height: auto;
  max-height: 70vh;      /* ここは実際のレイアウトに応じて調整が必要 */
  object-fit: contain;
}
.top_insta{
	position: absolute;
	bottom: 5%;
	right: 5%;
}
.top_insta a{
	color: #0A6EB1;
	font-size: 24px;
	font-weight: bold;
}




h3.h3_page{
	font-family: "Oswald", sans-serif;
	color: #0A6EB1;
	font-size: 96px;
	margin-bottom: 40px;
}
.h3_sub{
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	letter-spacing: 2px;
	color: #2a2a2a;
}
.h3_copy{
	font-size: 30px;
	color: #0A6EB1;
}
section#s_point{
	padding: 100px 0 0;
}
.point_copy{
	margin-bottom: 60px;
	font-size: 20px;
}
.point{
	position: relative;
}
.point_r img{
	border-radius: 0px 80px 0 0;
	
}
.point_l img{
	border-radius: 80px 0 0 0;
}

.point_num{
	font-family: "Oswald", sans-serif;
	color: #0AABB1;
	font-size: 96px;
	font-weight: bold;
	position: absolute;
	top: -5%;
}
.point_r .point_num{
	right: -10%;
	
}
.point_l .point_num{
	left: -10%;
}

h4.h4_point{
	color: #0A6EB1;
	font-size: 32px;
	font-weight: bold;
	margin-bottom: 30px;
}



.toplineup_bg{
	background-color: #E6F0F7;
	border-radius: 20px 0 0 0; 
	padding: 30px 20px 60px;
	    position: relative;
}
.toplineup_bg01{
	margin-top: -150px;
	margin-bottom: 100px;
	
}
h4.h4lineup_t{
	font-size: 20px;
	text-align: center;
	color: #0A6EB1;
	margin-bottom: 20px;
}
h4.h4lineup_t img{
	height: 60px;
	width: auto;
	object-fit: contain;
}
.toplineup_point{
	text-align: center;
	font-size: 18px;
	color: #2a2a2a;
}
.sankaku{
    margin: 20px auto; /* 上に余白をつけて中央に */
    width: 40px;
    height: 40px;
    position: relative;
}

.sankaku:before{
    content: "";
    width: 15px;
    height: 15px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 13px;
    left: 45%;
    transform: translateX(-50%) rotate(45deg);
    z-index: 2;
}

.sankaku:after{
    content:"";
    width:40px;
    height: 40px;
    background:#0AABB1;
    border-radius: 50%;
    position: absolute;
    top:0;
    left:0;
    z-index: 1;
}
.toplineupimg_r{
	position: absolute;
	bottom: -50px;
	right: -80px;
}
.toplineupimg_l{
	position: absolute;
	bottom: -50px;
	left: -80px;
}

a:has(.toplineup_bg) {
  display: block;
  text-decoration: none;
}

.toplineup_bg {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  will-change: transform;
}

a:hover .toplineup_bg {
  transform: translateY(-8px);
  box-shadow: 0 15px 25px rgba(0, 0, 0, 0.15);
}



section#s_cta {
background: linear-gradient(30deg, #004879, #0A6EB1);
	
}
section#s_cta h3,
section#s_cta .h3_copy{
	color: #fff;
}
.cta_box{
	background: #fff;
	padding: 30px;
	border-radius: 10px;
	text-align: center;
}
.cta_t{
	font-size: 24px;

}
.btncta a {
    display: block;
    color: #fff;
    background: #0AABB1;
    padding: 15px 30px;
    text-align: center;
    width: 100%;
    border-radius: 10px;
    text-decoration: none;
    position: relative;
    font-size: 24px;
	font-weight: bold;
margin: 13.8px 0;
}
.btncta a::after{
    position: absolute;
    content: "\f054";
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    top: 50%;
    right: 20px;
    left: auto;
    bottom: auto;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.btncta a:hover {
	opacity: 0.8;
}
.cta_tel{
	font-family: "Oswald", sans-serif;
	font-size: 50px;
	color: #0A6EB1;
	font-weight: bold;
}
.cta_tel a{
	color: #0A6EB1;
}

section#s_merit {
    background: linear-gradient(90deg, transparent 0%, transparent 20%, #F5F5F5 20%, #F5F5F5 100%);
}
.top_merit_box{
	display: flex;
	align-items: center;
	
}

.merit_box{
	display: flex;
	align-items: center;
	
}
.merit_img{
	width: 80%;
margin-right: 40px;
	text-align: center;
	font-weight: bold;
}
.merit_img img{
	margin-bottom: 20px;
}

h4.h4_merit{
	font-size: 30px;
	font-weight: bold;
	color: #0AABB1;
	margin-bottom: 10px;
}

section#s_suport {
    background: linear-gradient(180deg, transparent 0%, transparent 60%, #F5F5F5 60%, #F5F5F5 100%);
}
section#s_suport h3{
	margin-right: 30px;
}

h4.h4_supo{
	color: #0AABB1;
	font-weight: bold;
	font-size: 24px;
	text-align: center;
	margin-top: 30px;
	margin-bottom: 10px;
}


/* 機械ページ */
section#s_pagetitle {
    padding: 0 !important;
    margin-top: 74.2px;
}
.pagetitle{
	color: #fff;
	position: relative;
}
.pagetitle img{
	height: 250px;
	width: 100%;
	object-fit: cover;
	
}
.pagetitle_h3{
	position: absolute;
	top: 50%;

    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);

}
.pagetitle_h3 h3.h3_page,
.pagetitle_h3 .h3_sub{
	color: #fff;
}

section#s_lineup01_01{
	padding: 0px 0 100px;
}

.lineup_logo{
	text-align: right;
	margin-bottom: 40px;
}
.lineup_machine{
	margin-bottom: 40px;
}
.lineup_t {
	font-size: 30px;
	text-align: center;
	margin-bottom: 60px;
	color: #0A6EB1;
	background: #E6F0F7;
	padding: 40px 0;
	position: relative; /* ::afterを配置するための基準にする */
}

.lineup_t::after {
	content: "";
	position: absolute;
	bottom: -20px; /* ボックスの下端から線をどこまで伸ばすか */
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: 40px; /* 線の長さ */
	background-color: #999999; /* 線の色 */
}


.lineup_com{
	font-size: 24px;
	margin-bottom: 10px;
}
h4.h4_lineup_m01{
	font-size: 32px;
	font-weight: bold;
	margin-bottom: 20px;
}
.lineup_m02{
	font-size: 24px;
	color: #0A6EB1;
	margin-bottom: 20px;
}

h5.h5_merit{
	font-size: 32px;
	font-weight: bold;
	color: #0A6EB1;
	margin-bottom: 20px;
}
.merit_copy{
	font-size: 20px;
	margin-bottom: 30px;
}

.merit_mun{
	font-size: 32px;
	font-weight: bold;
	color: #0AABB1;
	margin-right: 30px;
	opacity: 0.4;
}
.merit_t{
		font-size: 32px;
	font-weight: bold;
	color: #0AABB1;
}

.data_box{
	margin-top: 60px;
}


h5.h5_page{
	font-size: 22px;
	font-weight: bold;
	color: #0A6EB1;
	margin-bottom: 30px;

}
h6.h6_page{
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 30px;
}

table.data{
	width: 100%;
}
table.data tr th{
	background: #E6F0F7;
	color: #0A6EB1;
	font-weight: bold;
	text-align: center;
	padding: 12px;
	border-top: 1px solid #D9D9D9;
	border-bottom: 1px solid #D9D9D9;
	border-right: 1px solid #fff;
	
}
table.data tr td{
	padding: 12px;
	border-top: 1px solid #D9D9D9;
	border-bottom: 1px solid #D9D9D9;
	background: #fff;
}
.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}
.movie {
  width: 100%;
}

.movie video {
  display: block;
  width: 100%;
  height: auto;
}


section#s_suggest {
    background: linear-gradient(180deg, transparent 0%, transparent 50%, #F5F5F5 50%, #F5F5F5 100%);
}

.suggest_copy{
	font-size: 20px;
	text-align: right;
}
.suggest_img{
	text-align: center;
	
}
.suggest_img img{
	width: 90%;
	
}
.suggest_t{
	font-weight: bold;
	text-align: center;
	margin-top: 10px;
	
}

.kakou_t{
	text-align: center;
	font-size: 20px;
	margin-top: 10px;
	font-weight: bold;
	color: #0A6EB1;
}



section#s_catalog {
	padding: 60px 0;
background: #004879;
	color: #fff;
}
section#s_catalog p{
	color: #fff;
	font-size: 20px;
}
.btn_catalog a {
    display: block;
    color: #004879;
    background: #D9D9D9;
    padding: 10px 20px;
    text-align: center;
    width: 100%;
    border-radius: 5px;
    text-decoration: none;
    position: relative;
    font-size: 26px;
	font-weight: bold;
}
.btn_catalog a:hover{
	background: #fff;
}


.case_box{
	padding: 30px;
	background: #fff;
	border-radius: 20px;
	margin-top: 30px;
}



/* lineup02 */

section#s_lineup02_01{
	padding: 0px 0px 0px;
}

.green_box{
	background: rgba(10, 171, 177, 0.1);
	border-radius: 20px;
	padding: 30px 60px;
	margin-top: 40px;
}
.lineup01_sub_t{
	color: #0AABB1;
	font-size: 20px;
	font-weight: bold;
}

h6.h6_copy{
	font-size: 24px;
	color: #0A6EB1;
	font-weight: inherit;
	margin-bottom: 30px;
}
h7.h7_t{
	color: #0A6EB1;
	font-weight: bold;
	margin-top: 30px;
	font-size: 18px;
}

section#s_lineup02_data{
	padding: 0px 0px 100px;
}



#s_lineup02_data .blue_bg{
	background: #E6F0F7;
	padding: 60px 0;
	margin-top: 60px;
	margin-bottom: 40px;
}

#s_lineup02_data .blue_bg h5.h5_data{
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	color: #0A6EB1;
	margin-bottom: 40px;
}
#s_lineup02_data .blue_bg h6.h6_data{
	text-align: center;
	font-size: 24px;
	font-weight: inherit;
	color: #0A6EB1;
	margin-bottom: 40px;
}
.data_t_bwh{
	background: #fff;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	padding: 5px;
	color: #0A6EB1;
	margin-bottom: 20px;
}

.sanwa_deha{
		background: #0A6EB1;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	padding: 5px;
	color: #fff;
	border-radius: 5px;
}
.lineup01_sub_t2{
	color: #0AABB1;
	font-size: 18px;
	font-weight: bold;
}

section#s_lineup02_2_01{
	padding: 0px 0px 100px;
}

section#s_lineup02_2_data{
	padding: 100px 0px 0px;
}

/* lineup03 */

section#s_lineup03_01{
	padding: 0px 0px 100px;
}
section#s_lineup03_data{
	padding: 0px 0px 0px;
}


/* lineup04 */

section#s_lineup04_01{
	padding: 0px 0px 100px;
}
section#s_lineup04_02{
	padding: 100px 0px;
}
section#s_lineup04_03,
section#s_lineup04_04{
	padding: 0px 0px 100px;
}
.blue_bg_t{
	background: #E6F0F7;
	padding: 10px;
	text-align: center;
	font-size: 32px;
	font-weight: bold;
	color: #0A6EB1;
	margin-bottom: 10px;
}


/* トップへ戻るボタン */
.topbtn {
  display: none;
  /*最初は隠す*/
  width: 70px;
  height: 70px;
  position: fixed;
  bottom: 5%;
  right: 5%;
  z-index: 888;
}
.topbtn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  text-decoration: none;
  background-color: #0A6EB1;
  color: #fff;
  font-size: 18px;
  transition: 0.3s;
  -webkit-tap-highlight-color: transparent; /* iOSタップ時の青い枠を消す */
}

/* PCだけ hover 有効 */
@media (hover: hover) and (pointer: fine) {
  .topbtn a:hover {
    background-color: #fff;
    color: #0A6EB1;
  }
}

/* スマホではタップ中だけ白 */
.topbtn a:active {
  background-color: #fff;
  color: #0A6EB1;
}

footer {
  background: #2A2A2A;
  color: #fff;
  padding: 40px 0 40px;
}
footer a:hover{
	transition: 0.3s;
	opacity: 0.7;
}

.f_logo {
  width: 220px;
}
ul.f_nav {
  display: flex;
  justify-content: center;
	padding-left: 0;
}
ul.f_nav li {
  list-style: none;
}
ul.f_nav li a {
  list-style: none;
  padding: 0 20px;
	color: #fff;
}
ul.f_nav li + li {
  border-left: 1px solid #fff;
}
.f_copy01{
	font-size: 30px;
	font-weight: bold;
	text-align: right;
}
.f_copy02{
	text-align: right;
}
.f_insta{
	font-size: 30px;
	margin-left: 20px;
}
.copyright{
	text-align: right;
	font-size: 12px;
}

.pcnone {
  display: none;
}
.spnone{
		display: block;
	}
@media (max-width: 1599.98px) {

}
@media (max-width: 1399.98px) {

	
}
@media (max-width: 1300.98px) {

	
}
@media (max-width: 1199.98px) {


	
	
	
	
}
@media (max-width: 991.98px) {
	.logo{
		width: 200px;
	}
#nav-menu a {
        font-size: 14px;
    }
	#nav-menu{
		gap: 10px;
	}

	ul.f_nav li a{
		font-size: 14px;
	}
	
	section#s_mv{
		margin-top: 74.2px;
	}
	.mv01{

	}
	.mv_bg{
		height: 50vh;
	}
	.mv01 img{
		height: 50vh;
	}
	.mv01_copy{
		font-size: 40px;
		    margin-bottom: 40px;
	}
	.mv02_inner{
		top: 20%;
	}
	.mv02_copy{
		
	}
	.btnmv01 a,
	.btnmv02 a{
		padding: 15px 30px;
		
	}
	h3.h3_page{
		font-size: 70px;
	}
	.h3_copy{
		font-size: 24px;
	}
.toplineup_bg01{
	margin-top: 0;
	margin-bottom: 100px;
	
}
	.cta_tel{
		font-size: 40px;
	}
	.btncta a{
		font-size: 18px;
	}
	
	h4.h4_merit{
		font-size: 24px;
	}
	
	
}
@media (max-width: 767.98px) {
	body::before {

    background-image: url("../img/bg_sp.png");

}
.logo{
		width: 200px;
	}
	.header_inner{
		margin: 0 30px 0 30px;
    padding: 20px 0;
		
	}
	#nav-menu a{
		font-size: 18px;
	}
	    section#s_mv {
        margin-top: 68.8px;
    }
	.mt-5,.mt-sm-5{
	margin-top: 3rem !important;
	}
		section{
		padding: 60px 0;
	}
	section#s_point{
		padding: 60px 0px 0px;
	}
	section#s_lineup01_01{
		padding: 0px 0px 60px;
	}
		section#s_lineup02_data{
		padding: 0px 0px 60px;
	}
	section#s_lineup02_2_01{
		padding: 0px 0px 60px;
	}
	section#s_lineup02_2_data{
		padding: 60px 0px 0px;
	}
	section#s_lineup03_data{
		padding: 0px 0px 0px;
	}
	section#s_lineup04_01{
		padding: 0px 0px 60px;
	}
	section#s_lineup04_02{
		padding: 60px 0px;
	}
	section#s_lineup04_03, section#s_lineup04_04 {
    padding: 0px 0px 60px;
}
	
	/* top */
	
	.mv_bg{
		height: 70vh;
	}
	.mv01{
		padding-bottom: 150px;
	}
	.mv01 img{
		height: 60vh;
	}
	
	.mv01_inner{
		width: 80%;
		padding-right: calc(var(--bs-gutter-x) * .5);
		max-width: 540px;
	}
	.mv01_copy{
		font-size: 34px;
		margin-bottom: 30px;
	}

	
	.mv02_copy {
font-size: 18px;
    margin-bottom: 5%;
}
	.mv_btn{
		display: block;
	}
	
	.btnmv01 {
width: 100%;
}
.btnmv01 a, .btnmv02 a {
        padding: 10px 20px;
	margin-bottom: 10px;
	width: 75%;

    }
	.btnmv01 a{
		margin-right: 0;
	}
	.mv02_inner{
		top: 10%;
			width: 60%;
	}
	.mv02_inner img{
		width: 100%;
	}
	.top_insta{
		bottom: 5%;
		text-align: center;
	}
	.top_insta a{
		font-size: 12px;
	}
	.top_insta i{
		display: block;
		font-size: 40px;
	}
	h3.h3_page{
		margin-bottom: 20px;
	}
	.h3_copy{
		margin-bottom: 30px;
		font-size: 20px;
	}
	.point_copy{
		font-size: 18px;
	}
	
	h4.h4_point{
		font-size: 24px;
		margin-top: 20px;
	}
	.point_r img{
		width: 80%;
	}
	.point_l img{
		width: 80%;
		text-align: right;
	}
	.point_l{
		text-align: right;
	}
	.point_r .point_num{
		right: 10%;
	}
	.point_l .point_num{
		left: 10%;
	}
	
	.toplineupimg{
		bottom: -90px;
		right: -80px;
	}
	
	.top_merit_box{
		display: block;
	}
	.merit_img{
		width: 100%;
		margin-bottom: 20px;
	}
		section#s_merit {
    background: #F5F5F5;
}
	section#s_suport {
    background: linear-gradient(180deg, transparent 0%, transparent 35%, #F5F5F5 35%, #F5F5F5 100%);
}
	.cta_t{
		font-size: 18px;
	}
	
	/* page */
	
	.lineup_t {
    font-size: 20px;
		padding: 40px 15px;
	}
	.lineup_logo{
		margin-bottom: 20px;
		
	}
	.lineup_logo img{
		width: 200px;
	}
	.lineup_com{
		font-size: 20px;
	}
	h4.h4_lineup_m01{
		font-size: 24px;
	}
	.lineup_machine{
		margin-bottom: 20px;
	}
	.lineup_m02{
		font-size: 18px;
	}
	h5.h5_merit{
		font-size: 20px;
	}
	.merit_copy{
		font-size: 18px;
	}
	.merit_t{
		font-size: 18px;
	}
	hr.hr_s{
		margin: 10px 0;
	}
	table.data{
		margin-bottom: 10px;
	}
	h5.h5_page{
		font-size: 18px;
	}
	section#s_catalog p{
		font-size: 18px;
	}
	.btn_catalog a{
		font-size: 18px;
	}
	.suggest_copy{
		font-size: 18px;
		text-align: left;
		margin-bottom: 20px;
	}
	.suggest_t{
		margin-bottom: 30px;
	}
	.kakou_t{
		font-size: 16px;
	}
	.green_box{
		padding: 20px;
	}
	.lineup01_sub_t2{
		font-size: 16px;
	}
	h6.h6_copy{
		font-size: 20px;
	}
	#s_lineup02_data .blue_bg h6.h6_data{
		font-size: 20px;
	}
	.sanwa_deha{
		margin-bottom: 20px;
	}

	
	/* footer */

	.f_logo{
		margin: 20px 0 20px;
		width: 80%;

	}
	.f_copy01{
		font-size: 20px;
		margin-top: 20px;
	}
	.btn02 a{
		font-size: 16px;
	}
	
	
	

}
@media (max-width: 575.98px) {
html {
  scroll-behavior: smooth;
	scroll-padding-top: 70.5px;
}
  .pcnone {
    display: block;
  }
	.spnone{
		display: none;
	}
  body.no-scroll {
    overflow: hidden;
  }
	body{
		font-size: 14px;
	}
.p_l {
    font-size: 16px;
}
	    .header_inner {
        margin: 0 15px 0 15px;
    }
	
  .hamburger {
    display: flex;
  }
  .sp_sns {
    display: flex;
	  margin-top: 60px;
  }
	.sp_sns div{
		margin: 0 20px;
	}
	.sp_sns div img{
		height: 40px;
	}

	


	a .btn01,
	a .btn02,
	a .btn03{
font-size: 16px;
        padding: 10px 30px;
		width: 80%;
	}
	ul.f_nav li a{
		font-size: 12px;
    padding: 0 8px;
}

	    .mv_bg {
        height: 70vh;
    }
	.mv01{
		    padding: 0px 0px 150px;
	}
	    .mv01 img {
        height: 60vh;
    }
	.mv02_inner{
		top: -10%;
	}
	.mv02_copy{
		font-size: 16px;
		margin-bottom: 20%;
	}
	
	.btnmv01 a, .btnmv02 a {
        padding: 8px 5px;
		font-size: 14px;
    }

	    .toplineup_bg01 {
        margin-top: 0px;
        margin-bottom: 0px;
    }
	.toplineup_bg{
		
		width: 80%;
    margin: 60px auto 30px;
	}
	.toplineupimg{
		bottom: -30%;
        right: 0px;
	}
	.toplineupimg_r{
		right: -40px;
	}
	.toplineupimg_l{
		left: -40px;
	}
	.btncta a{
		font-size: 18px;
	}
	.cta_tel {
        font-size: 38px;
    }

	.copyright{
		margin-top: 40px;
	}
}

@media (max-width: 438.98px) {
	



}
