@charset "UTF-8";
/*
Template: arkhe
Theme Name: Arkhe Child
Theme URI: https://arkhe-theme.com/ja/
Description: Arkhe用子テーマ
Version: 1.0.0
Text Domain: arkhe
License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl.html
*/

@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Vollkorn+SC:wght@400;600;700&display=swap');

:root{
--sans: "Noto Sans JP", sans-serif;
--en1: "Jost", sans-serif;
--en2: "Vollkorn SC", serif;
}

body{
	font-family:var(--sans)
}

.smb-faq__item__question__label,.smb-faq__item__answer__label{
	font-family:var(--en1);
	color:#50463c;
}
.c-iconBtn__icon .__close, .c-iconBtn__icon .__open{
	transition:0.85s;
}
[data-aos="fade-up"] {
  transform: translateY(40px) !important;
}
[data-aos="fade-up"].aos-animate {
  transform: translateY(0) !important;
}

.l-header__body{
	max-width:100%;
	padding-left:0;
	margin-left:0;
}
.l-header__logo{
		position:absolute;
	width:35vw;
	left:0;
	z-index:99;
}
.l-header__logo a{
	position:absolute;
	left:50%;
	top:50vh;
	transform: translate(-50%, -50%);
	
}
.wp-singular .l-header__logo a{
	top:10vh;
}
  .l-header[data-pcfix="1"] {
    position: relative;
  }
.l-header__drawerBtn{
	position:fixed;
	top:50px;
	right:50px;
}
.teaser{
	 position: relative;
	z-index:3 !important;
}
.teaser img{
	object-fit:cover;
	width:100%;
	height:75vh
}
.teaser_under{
	 position: relative;
	top:-40px;
	z-index:2 !important;
	border:none !important;
	box-shadow:0 !important;
}
.scroll_outer{
	position:absolute;
	bottom:40px;
	width:35vw;
	left:0;
}
.scroll {
  position: relative;
	left:50%;
	transform: translateX(-50%);
}
.scroll-text {
	position:absolute;
	bottom:0px;
	left:50%;
  color: #333;
	transform: translateX(-50%);
	margin-left:-100px;
  font-size: 14px;
	text-transform: uppercase;
 font-family:var(--en1);
}
.scroll-border {
  position: relative;
  top: 20px;
  width: 1px;
  height: 110px;
  background-color: #E2E2E2;
  overflow: hidden;
  margin: auto;
}
.scroll-border::before {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 30px;
  top: 0;
  left: 0;
  right: 0;
  background: #1C1C1C;
  animation: scrollbar 2.0s ease-in-out infinite;
  margin: auto;
}
@keyframes scrollbar {
  0% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(350%);
    transform: translateY(350%);
  }
}

.midashi1{
	font-family:var(--en2);
	font-size:50px;
	font-weight:400;
	font-family: "Vollkorn SC";
letter-spacing: 0.12em;
}

.midashi2{
font-weight: 300;
font-size: 17px;
letter-spacing: 0.12em;
line-height: 37px;
color: #1c1c1c;
}
.midashi3{
	font-size: 15px;
		font-family:var(--en1);
	font-weight: 400;
	margin-top:30px;
}
#concept{
	position:relative;
	top:-200px;
	margin-bottom:-100px;
}
#concept h3{
	margin-bottom:40px;
}
.line-txt {
font-weight: 300;
font-size: 12px;
letter-spacing: 0.06em;
line-height: 30px;
color: #1c1c1c;
margin-top:30px;
}
.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{
	top:auto!important;
	bottom:0!important;
	height:2px!important;
}
.slider_top{
	position:relative;
	top:-150px;
}
.ark-block-section {
  overflow: visible !important;
}


/* スクロール */
.scrollGalleryWrapper {
  overflow: hidden;
  width: 100%;
	 width: 100vw; /* ←画面幅いっぱいに */
  margin-left: calc(-50vw + 50%); /* ←中央ブロックのpadding対策 */
}

.scrollGallery {
  display: flex;
  width: max-content;
  animation: scrollLoop 60s linear infinite;
}

.scrollItem {
  flex: 0 0 auto;
  width: 480px;
  height: 480px;
  text-align: center;
  margin-right: 15px;
  background: #ccc;

}
.scrollItem img{
	  width: 480px;
  height: 480px;
		object-fit:cover;
}

/* アニメーション */
@keyframes scrollLoop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.menu_table {
	margin-bottom:3rem !important;
}
.menu_table th,.menu_table td{
	font-weight:300;
	padding:15px 0 !important;
}
.staff_name p{
	font-size:11px;
	margin-top:3px !important;
letter-spacing: 0.09em;
font-weight:300;
}
.staff_name strong{
	font-size:15px;
	margin-right:20px;
	font-weight:400;
}
.txt13{
font-weight: 300;
font-size: 12px;
letter-spacing: 0.09em;
line-height: 34px;

}
.align-center{
	text-align:center;
}
.underline-slide a{
	position:relative;
	text-decoration:none;
	color:#4B4B4B;
	padding:20px 50px;
	border-bottom:sodid 2px #ccc;
font-weight: 500;
font-size: 15px;
letter-spacing: 0.06em;
color: #4b4b4b;

}
.underline-slide a::before {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 2px;
background: #ddd;
bottom: -1px; 
	z-index:2;
transform-origin: left top;
}
.underline-slide a::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 2px;
background: #000000;
bottom: -1px; 
	z-index:3;
transform: scale(0, 1);     /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
transition: transform 0.3s; /*変形の時間*/
}

.underline-slide a:hover::after {
transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
}
.header_btn {
	position:fixed;
	top:56px;
	right:120px;
	z-index:9990;
}
.header_btn svg{
	position:absolute;
	top:2px;
	right:2px;
	width:5px;
	right:10px;
}
.header_btn a{
	font-family:var(--en1);
	font-size:15px;
	padding-top:4px;
	padding-bottom:4px;
	color:#4B4B4B;
	border-color:#cbcbcb;
	background-color:#FFFFFF !important;
}
.header_btn a:hover{
	background-color: #343434 !important;
}
#outline th{
font-weight:400;}

.p-drawer__close{
	display:none;
}
.p-drawer{
	width:40%;
	left:auto;
	right:0;
	background: #343434;
}
.c-drawerNav__a{
	padding:30px 15px;
	font-family:var(--en1);
	letter-spacing: 0.06em;
}
.p-drawer__nav{
	margin-top:70px;
}
.fix_image_outer{
	position:relative;
	overflow: visible !important;　/* 包含するouterに */
}
.fix_image{
	  position: sticky; /* PCにのみ反映。 */
    top: 80px;
    align-self: flex-start;
}
.rec_box1{
	position:relative;
	top:-150px;
}

.smb-faq__item__answer__body p{
	margin-top:0;
}
.smb-faq__item__question{
	margin-bottom:20px;
}
.pd30{
	padding-left:40px;
}
.smb-faq,.smb-faq__item{
	border:none;
}

