@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600&display=swap');

:root {
	--blk: #231815;
}

html,
body {
  width: 100%;
	font-size: 62.5%;
}
body {
	font-size: 1.6rem;
  color: #231815;
  background-color: #fff;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
  line-height: 1.15;
  letter-spacing: 0.08em;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.clearfix:after {
  content: " ";
  display: block;
  clear: both;
}
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
/*=======================

	common

=======================*/
.off {
	color: #b7b7b7;
}
/* btn */
.more_btn {
	margin-top: 80px;
}
@media screen and (max-width:599px) {
	.more_btn {
		margin-top: 12%;
	}
}
.more_btn a {
	border: solid 1px var(--blk);
	padding: 26px 32px;
	letter-spacing: 0.30em;
	font-weight: 500;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
@media screen and (max-width:599px) {
	.more_btn a {
		font-size: max(3.45vw, 14px);
    padding: 24px;
    max-width: 240px;
    width: 100%;
		justify-content: space-between;
	}
}
.more_btn a:after {
	content: "";
	display: inline-block;
	height: 1px;
	width: 32px;
	background-color: var(--blk);
	margin-left: 52px;
	transition: all 0.1s ease-out;
}
@media screen and (max-width:599px) {
	.more_btn a:after {
		width: 24px;
		margin-left: 32px;
	}
}
.more_btn a:hover::after {
	transform: translateX(45px);
}
.coming_btn {
	border: solid 1px var(--blk);
	padding: 26px 32px;
	letter-spacing: 0.30em;
	font-weight: 500;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin-top: 80px;
}
@media screen and (max-width:599px) {
	.coming_btn {
    text-align: center;
    margin: 12% 10% 10% 9%;
    order: 1;
		max-width: 240px;
	}
}
/* section */
#beliebe section {
	padding: 120px 0;
}
@media screen and (max-width:768px) {
	#beliebe section {
		padding: 12% 0;
	}
}
@media screen and (max-width:599px) {
	#beliebe section {
		padding: 20% 0;
	}
}
.inner {
	max-width: 1200px;
	width: 96%;
	margin: 0 auto;
}
@media screen and (max-width:599px) {
	.sp {
		display: none;
	}
}

.gra__bg {
	background: rgb(255,50,0);
	background: linear-gradient(-60deg, rgba(255,50,0,1) 0%, rgba(255,110,0,1) 50%, rgba(255,50,0,1) 100%);
}
.gra__bg_noise {
	background-image: url(../images/noise.png);
	animation: noise_anima 1s steps(10) infinite;
	padding: 120px 4%;
}
@keyframes noise_anima {
	from { background-position: 0 0; }
	to { background-position: 100px 100px; }
}
#beliebe .scroll_anime {
	opacity: 0;
  transition: all 1.2s;
}
/* 画面に入った時の動き */
#beliebe .scroll_show {
	opacity: 1;
}
/*=======================

	header

=======================*/
.common_header {
	position: sticky;
	background-color: #fff;
	z-index: 99;
	width: 100%;
	top: 0;
}
.common_header .header__inner {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 94%;
	margin: 0 auto;
}
.common_header .header__inner .main_logo {
	margin-right: auto;
	margin-left: 0;
	width: 23%;
	max-width: 230px;
	padding: 20px 0;
	position: relative;
	z-index: 3;
}
@media screen and (max-width:599px) {
	.common_header .header__inner .main_logo {
		width: 38%;
    padding: 16px 0;
	}
}
.header__inner .global__nav {
	font-size: min(1.82vw, 16px);
	letter-spacing: 0.10em;
	width: 80%;
}
.header__inner .global__nav .nav__list {
	display: flex;
	margin-top: 12px;
	justify-content: flex-end;
}
.header__inner .global__nav .nav__list > li{
	margin-left: 4%;
}
.header__inner .nav__list li a,
footer .footer__nav_list a {
  padding-bottom: 12px;
  position: relative;
  text-align: center;
  display: inline-block;
}
.header__inner .nav__list li a .en,
footer .footer__nav_list a .en {
  padding-bottom: 8px;
  position: relative;
  text-align: center;
  display: block;
	font-size: 15px;
}
.header__inner .nav__list li a .ja,
footer .footer__nav_list a .ja {
  padding-bottom: 0px;
  position: relative;
	font-size: 13px;
  text-align: center;
  display: block;
}
footer .footer__nav_list .off {
	padding-bottom: 12px;
}
.header__inner .nav__list a:before,
footer .footer__nav_list a:before {
  content: "";
  position: absolute;
  left: 100%;
  right: 100%;
  bottom: 0;
  height: 1px;
  background-color: var(--blk);
  -webkit-transition: left 0.2s ease, right 0.2s ease;
  -moz-transition: left 0.2s ease, right 0.2s ease;
  -o-transition: left 0.2s ease, right 0.2s ease;
  transition: left 0.2s ease, right 0.2s ease;
}
.header__inner .nav__list a:hover,
footer .footer__nav_list a:hover {
  opacity: 1;
}
.header__inner .nav__list a:hover::before,
footer .footer__nav_list a:hover::before {
  left: 0;
  right: 0;
}

/*============================

  hamburger menu

=============================*/
#beliebe .nav_area__sp {
  display: none;
}
@media screen and (max-width:768px) {
  #beliebe .global__nav {
    display: none;
  }
  #beliebe .nav_area__sp {
    display: block;
  }
  #beliebe .hamburger {
    display: block;
    position: fixed;
    z-index: 3;
    right: 4%;
    top: 12px;
    width: 50px;
    height: 50px;
    cursor: pointer;
    text-align: center;
  }

  #beliebe .hamburger span {
    display: block;
    position: absolute;
    width: 40px;
    height: 1px;
    left: 10px;
    background: var(--blk);
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #beliebe .hamburger span:nth-child(1) {
    top: 20px;
  }
  #beliebe .hamburger span:nth-child(2) {
    top: 28px;
  }

  /* ナビ開いてる時のボタン */
  #beliebe .hamburger.active span:nth-child(1) {
    top: 24px;
    left: 10px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }

  #beliebe .hamburger.active span:nth-child(2) {
    top: 24px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  #beliebe .menu__area_sp {
    position: fixed;
		background-color: #fff;
		color: var(--blk);
    z-index: 2;
    top: 0;
    left: 0;
    font-size: 18px;
    transform: translateX(100%);
    transition: all 0.6s;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  #beliebe .menu__area_logo {
    max-width: 280px;
    width: 50%;
    position: absolute;
    top: 16px;
    left: 4%;
  }
  #beliebe .menu__area_sp ul li {
    padding-bottom: 26px;
    text-align: center;
    color: var(--blk);
  }
  #beliebe .menu__area_sp ul li .en {
    display: block;
    text-align: center;
    margin-bottom: 4px;
  }
  #beliebe .menu__area_sp ul li .ja {
    display: block;
    text-align: center;
    font-size: 13px;
    color: #71706F;
  }
  #beliebe .menu__area_sp ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
  }
  /* このクラスを、jQueryで付与・削除する */
  #beliebe .menu__area_sp.active {
    transform: translateX(0%);
  }
}
@media screen and (max-width:599px) {
	#beliebe .hamburger {
		top: 8px;
	}
}


/*=======================

	footer

=======================*/
footer .footer__logo {
	text-align: center;
	width: 40%;
	margin: 80px auto 0;
	max-width: 396px;
}
@media screen and (max-width:768px) {
	footer .footer__logo {
		margin: 4% auto 0;
	}
}
@media screen and (max-width:599px) {
	footer .footer__logo {
		width: 60%;
	}
}
footer .footer__nav_list {
	font-size: 18px;
	letter-spacing: 0.10em;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 80px;
}
@media screen and (max-width:599px) {
	footer .footer__nav_list {
		display: none
	}
}
footer .footer__nav_list > li {
	margin: 0 16px;
}
footer .footer__sub_nav {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 56px;
	font-size: 14px;
}
footer .footer__sub_nav a:hover {
	opacity: 0.7;
	transition: all 0.3s;
}
footer .footer__sub_nav .policy {
	margin-right: 28px;
}
footer .footer__sub_nav .sns_link {
	margin: 0 16px;
}
footer .copyright {
	text-align: center;
	padding: 40px 4%;
}
/*=======================

	kv

=======================*/
.kv {
	position: relative;
	overflow: hidden;
}
.kv .kv__img {
	width: 90%;
	margin-right: 0;
	margin-left: auto;
	padding-right: 3%;
}
@media screen and (max-width:599px) {
	.kv .kv__img {
		width: 100%;
		padding-right: 0%;
	}
}
.kv .kv__txt_items {
	position: absolute;
  top: 46%;
  left: 3%;
	width: 100%;
}
@media screen and (max-width:599px) {
	.kv .kv__txt_items {
		left: 0%;
	}
}
.kv .kv__txt_items .kv__txt_item {
	margin-bottom: 16px;
}
.kv .kv__txt_items .kv__txt_item01 {
	width: 33%;
	max-width: 439px;
}
.kv .kv__txt_items .kv__txt_item02 {
	width: 25%;
	max-width: 320px;
}
@media screen and (max-width:599px) {
	.kv .kv__txt_items .kv__txt_item01 {
    width: 73%;
	}
	.kv .kv__txt_items .kv__txt_item02 {
		width: 55%;
	}
}
.kv .kv__txt_items .kv__txt_item img {
	padding: 10px 20px;
	background-color: #fff;
}
.txt_slide {
	position: relative;
	overflow: hidden;

}
.txt_slide:before {
	position: absolute;
	content: '';
	top: 0;
	right: 0;
	background-color: #fff;
	width: 100%;
	height: 100%;
	animation-name: txt_slide;
	animation-duration: 1.4s;
	animation-fill-mode: forwards;
	transform: translateX(-100%);
	animation-duration: 1s;
}
@keyframes txt_slide {
	0% {
		transform: translate(0,0);
	}
	100% {
		transform: translate(100%,0);
	}
}

/*=======================

	Company

=======================*/
#company .lead__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
#company .lead__copy {
	max-width: 681px;
	width: 60%;
}
@media screen and (max-width:768px) {
	#company .lead__copy {
		width: 68%;
	}
}
@media screen and (max-width:599px) {
	#company .lead__copy {
		width: 88%;
	}
}
#company .lead__txt_wrap {
	margin-top: 80px;
	font-weight: 600;
	font-size: min(2.50vw,18px);
	letter-spacing: 0.19em;
	line-height: 3.0;
}
@media screen and (max-width:599px) {
	#company .lead__txt_wrap {
		font-size: max(3.46vw,14px);
    letter-spacing: 0.08em;
    line-height: 2.4;
    padding: 0 6%;
		margin-top: 10%;
	}
}
#company .lead__txt_wrap > p + p{
	margin-top: 40px;
}
@media screen and (max-width:599px) {
	#company .lead__txt_wrap > p + p{
		margin-top: 0;
	}
}
/*=======================

	copy__list

=======================*/
.acc_copy {
	margin: 80px 0;
}
.copy__list_inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
@media screen and (max-width:768px) {
	.copy__list_inner {
		width: 66%;
    margin: 0 auto;
	}
}
.copy__list_item > li+li {
	margin-top: 80px;
}
@media screen and (max-width:768px) {
	.copy__list_item > li+li {
		margin-top: 40px;
	}
}
/*=======================

	service

=======================*/
@media screen and (max-width:599px) {
	#service .inner {
		width: 100%;
	}
}
#service .service__ttl {
	max-width: 579px;
	width: 57.9%;
}
@media screen and (max-width:599px) {
	#service .service__ttl {
		margin-left: 6%;
	}
}
#service .service_item {
	margin-top: 120px;
	display: flex;
}
@media screen and (max-width:768px) {
	#service .service_item {
		margin-top: 80px;
	}
}
@media screen and (max-width:599px) {
	#service .service_item {
		flex-direction: column;
		margin-top: 40px;
		width: 100%;
    margin-right: 0;
    margin-left: auto;
		padding-left: 8%;
	}
}
#service .service_item .item__inner {
	max-width: 685px;
	width: 55%;
}
@media screen and (max-width:599px) {
	#service .service_item .item__inner {
		display: contents;
}
}
#service .service_item .item_img {
	max-width: 550px;
	width: 45%;
}
@media screen and (max-width:599px) {
	#service .service_item .item_img {
		width: 90%;
		margin-top: 8%;
	}
}
#service .service_item .item_img >img {
	border: solid 1px var(--blk);
}
#service .service_item .item__ttl {
	font-size: min(6.34vw , 50px);
	border-bottom: solid 1px var(--blk);
	margin-bottom: 24px;
	padding-bottom: 16px;
}
@media screen and (max-width:599px) {
	#service .service_item .item__ttl {
		font-size: max(7.97vw , 30px);
		margin-bottom: 12px;
	}
}
#service .service_item .item__ttl .sm_ttl{
	font-size: min(3.33vw, 24px);
}
@media screen and (max-width:599px) {
	#service .service_item .item__ttl .sm_ttl{
    font-size: max(4.25vw, 16px);
	}
}
#service .service_item .item__ttl_cap {
	font-size: min(3vw, 25px);
	letter-spacing: 0.27em;
	line-height: 1.5;
	word-break: keep-all;
}
@media screen and (max-width:599px) {
	#service .service_item .item__ttl_cap {
		font-size: max(3.98vw, 15px);
		padding-right: 2rem;
	}
}
#service .service_item .item__txt {
	font-size: min(2.40vw,18px);
	letter-spacing: 0.12em;
	line-height: 1.8;
	margin-right: 80px;
	margin-top: 40px;
}
@media screen and (max-width:768px) {
	#service .service_item .item__txt {
		margin-right: 8%;
	}
}
@media screen and (max-width:599px) {
	#service .service_item .item__txt {
    font-size: max(3.72vw, 14px);
		margin-top: 6%;
	}
}
/* 偶数行 */
#service .service_item:nth-of-type(even) {
	flex-direction: row-reverse;
}
@media screen and (max-width:599px) {
	#service .service_item:nth-of-type(even) {
		flex-direction: column;
		margin-top: 80px;
	}
}
#service .service_item:nth-of-type(even) .item__inner {
	text-align: right;
}
@media screen and (max-width:599px) {
	#service .service_item:nth-of-type(even) .item__inner {
		text-align: left;
	}
}
#service .service_item:nth-of-type(even) .item__txt {
	margin-right: 0;
	margin-left: 80px;
	text-align: left;
}
@media screen and (max-width:768px) {
	#service .service_item:nth-of-type(even) .item__txt {
		margin-left: 8%;
	}
}
@media screen and (max-width:599px) {
	#service .service_item:nth-of-type(even) .item__txt {
		margin-left: 0%;
		margin-right: 8%;
	}
}
@media screen and (max-width:599px) {
	#service .more_btn {
    order: 1;
		text-align: center;
    margin-right: 10%;
	}
}
/*=======================

	member

=======================*/
#member .member__ttl {
	max-width: 605px;
	width: 60.5%;
}
@media screen and (max-width:599px) {
	#member .member__ttl {
		margin-left: 6%;
	}
}
#member .member__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
  padding: 0 4%;
	margin-top: 80px;
}
@media screen and (max-width:768px) {
	#member .member__list {
		margin-top: 40px;
		padding: 0 2%;
	}
}
#member .member__list .member__item {
	width: 30%;
	margin-bottom: 48px;
}
@media screen and (max-width:599px) {
	#member .member__list .member__item {
    width: 48%;
		margin-bottom: 8%;
	}
}
#member .member__list::after {
	content: "";
	display: block;
	width: 30%;
}
#member .member__list .member__name {
	font-size: min(3.0vw, 26px);
  font-weight: 500;
  letter-spacing: 0.10em;
  margin-top: 16px;
}

@media screen and (max-width:599px) {
	#member .member__list .member__name {
		font-size: max(3.98vw, 15px);
		margin-top: 10px;
	}
}
#member .member__list .member__job {
	font-size: min(2.33vw, 16px);
	margin-top: 8px;
	letter-spacing: 0.10em;
	line-height: 1.6;
	word-break: keep-all;
}
@media screen and (max-width:599px) {
	#member .member__list .member__job {
		font-size: max(3.19vw, 12px);
	}
}
/*=======================

	news

=======================*/
#news .news__ttl {
	max-width: 391px;
	width: 39.1%;
}
@media screen and (max-width:599px) {
	#news .news__ttl {
		margin-left: 6%;
	}
}
#news .news__list {
	margin: 80px auto 0;
	width: 96%;
}
@media screen and (max-width:768px) {
	#news .news__list {
		margin: 40px auto 0;
	}
}
#news .news__list .list__item:nth-of-type(1) {
	border-top: solid 1px #dadada;
}
#news .news__list .list__item {
	border-bottom: solid 1px #dadada;
	padding: 32px 2%;
}
#news .news__list .list__item a {
	display: flex;
	align-items: center;
}
#news .news__list .list__item .news__thumb {
	width: 31.5%;
}
#news .news__list .list__item .news__thumb img {
	border-radius: 32px;
	max-width: 378px;
	width: 100%;
	height: auto;
}
@media screen and (max-width:599px) {
	#news .news__list .list__item .news__thumb img {
		border-radius: 8px;
	}
}
#news .news__list .list__item .news__info {
	margin-left: 4%;
	width: 64%;
}
#news .news__list .list__item .news__info > p{
	font-size: min(2.34vw, 22px);
	line-height: 1.68;
}
@media screen and (max-width:599px) {
	#news .news__list .list__item .news__info > p{
		font-size: max(3.14vw, 14px);
	}
}
#news .news__list .list__item .date	{
	font-size: 16px;
	margin-bottom: 24px;
}
@media screen and (max-width:599px) {
	#news .news__list .list__item .date	{
		margin-bottom: 4px;
		font-size: max(2.93vw, 11px);
	}
}
@media screen and (max-width:599px) {
	#news .news__list .list__item {
    font-size: max(3.45vw, 13px);
		padding: 24px 2%;
		line-height: 1.6;
	}
}

@media screen and (max-width:599px) {
	#news .news__list .list__item .date	{
		margin-right: 1.6rem;
	}
}
#news .more_btn {
	text-align: center;
}
/*=======================

	contact

=======================*/

#contact .contact__ttl {
	max-width: 759px;
	width: 75.9%;
	margin: 0 auto;
}
@media screen and (max-width:599px) {
	#contact .contact__ttl {
		width: 90%;
	}
}
#contact .contact__txt {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-top: 80px;
	font-size: min(2.87vw, 20px);
	letter-spacing: 0.10em;
	line-height: 2;
	color: #fff;
}
@media screen and (max-width:599px) {
	#contact .contact__txt {
    font-size: max(3.72vw, 14px);
		margin-top: 12%;
	}
}
#contact .more_btn {
	text-align: center;
	color: #fff;
}
#contact .more_btn a {
	border: solid 1px #fff;
}
#contact .more_btn a::after {
	background-color: #fff;
}
