@charset "UTF-8";
/*----------------------------------------
variables
----------------------------------------*/
:root {
	--c_main: #000000;
	--c_white: #FFFFFF;
	--c_red: #E95513;
	--c_orange: #E87E15;
	--c_gray: #707070;
	--c_bg: #F8F3ED;
	--c_border: #D6C1AE;
	--f_gothic: "Zen Kaku Gothic New", sans-serif;
	--f_mont: "Montserrat", sans-serif;
}

/*----------------------------------------
base
----------------------------------------*/
html {
	scroll-behavior: smooth;
}

body {
	font-family: var(--f_gothic);
	font-weight: 500;
	font-size: 14px;
	font-style: normal;
	color: var(--c_main);
	line-height: 1.2;
	overflow-x: hidden;
}

a {
	text-decoration: none;
	color: var(--c_main);
	transition: all 0.3s;
	cursor: pointer;
}

a:hover {
	opacity: 0.7;
}

li {
	list-style: none;
}

img {
	max-width: 100%;
	height: auto;
	object-fit: cover;
}

iframe {
	max-width: 100%;
	height: auto;
	object-fit: cover;
}

/*----------------------------------------
mainimg
----------------------------------------*/
.mainimg {
	width: 100%;
	position: relative;
	overflow: hidden;
	height: fit-content;
}

.mainimg:before {
	content: "";
	display: block;
	padding-top: 65%;
}

.mainimg img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	height: auto;
	max-width: none;
	min-height: 100%;
	object-fit: cover;
	transition:all 0.5s ease;
}

a:hover .mainimg img {
	transform: translate(-50%, -50%) scale(1.1);
}

/*----------------------------------------
header
----------------------------------------*/
.header {
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0px 20px 0 20px;
	background: var(--c_white);
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 2;
}

/*----------------------------------------
hamburger
----------------------------------------*/
.hamburger {
	display: none;
}

/*----------------------------------------
gnav
----------------------------------------*/
/*PC*/
.gnav__list {
	display: flex;
	align-items: center;
	gap: 42px;
}

.gnav__link {
	font-family: var(--f_mont);
	font-size: 16px;
	letter-spacing: 0.05em;
}

.gnav__link--contact {
	color: var(--c_white);
	background: var(--c_red);
	width: 140px;
	height: 36px;
	display: grid;
	place-content: center;
}

.gnav__link--insta {
	display: flex;
	align-items: center;
	gap: 6px;
}

/*SP*/
.gnav-sp {
	display: none;
	position: fixed;
	width: 70%;
	height: 100vh;
	height: 100dvh;
	top: 0;
	right: 0;
	z-index: 2;
	background: var(--c_bg);
	text-align: center;
	padding: 20px;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.gnav-sp .gnav__list {
	padding-top: 50px;
}

.gnav-sp .gnav__list {
	flex-direction: column;
	align-items: start;
	gap: 32px;
}

.gnav-sp .gnav__item {
	display: block;
	width: 100%;
}

.gnav-sp .gnav__link {
	padding-bottom: 16px;
	border-bottom: 1px solid var(--c_border);
	padding-left: 10px;
	display: block;
	text-align: left;
}

/*----------------------------------------
footer
----------------------------------------*/
.footer {
	position: relative;
}

.footer .site-ttl {
    width: 90px;
}

nav.footer-nav {
    width: calc(100% - 440px);
}

.footer__wrapper {
	background: var(--c_bg);
	padding: 90px;
	display: flex;
	align-items: center;
	gap: 30px;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: calc(50vw - 50%);
	padding-right: calc(50vw - 50%);
}

.footer-nav__list {
	display: flex;
	align-items: center;
	gap: 27px 42px;
	flex-wrap: wrap;
}

.footer-nav__link {
    font-size: 16px;
    font-family: var(--f_mont);
}

.copyright {
	padding: 11px 0;
	text-align: center;
	background: var(--c_border);
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: calc(50vw - 50%);
	padding-right: calc(50vw - 50%);
}

.copyright p {
	color: var(--c_white);
	font-family: var(--f_mont);
	font-size: 12px;
	letter-spacing: 0.05em;
}

/*----------------------------------------
container
----------------------------------------*/
.container {
	max-width: 1200px;
	padding: 80px 40px 0;
	margin-right: auto;
	margin-left: auto;
}

/*----------------------------------------
section
----------------------------------------*/
.section {
	padding: 80px 0;
}

/*----------------------------------------
CONTACT
----------------------------------------*/
.contact {
	position: relative;
}

.contact::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 140px;
	background-image: url(../images/014.jpg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	z-index: -2;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.contact::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 140px;
	background: var(--c_border);
	filter: blur(2px) brightness(1);
	opacity: 0.2;
	z-index: -1;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.contact__wrapper {
	margin-top: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
}

.contact__link {
    background: var(--c_bg);
    padding: 33px 0;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    width: 450px;
}

.contact__link p {
	letter-spacing: 0.05em;
	line-height: 1.7;
}

.contact__box {
	display: flex;
	align-items: center;
	gap: 4px;
}

.contact__box span {
	font-weight: 700;
	letter-spacing: 0.05em;
}

/*----------------------------------------
eyecatch
----------------------------------------*/
.eyecatch {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	display: flex;
	align-items: center;
	background: var(--c_bg);
}

.eyecatch .mainimg {
	height: 100%;
}

.eyecatch .mainimg:before {
    padding-top: 25%;
}

/*----------------------------------------
page-ttl
----------------------------------------*/
.page-ttl {
	width: 30%;
	display: grid;
	place-content: center;
	gap: 4px;
}

.page-ttl__main {
	font-family: var(--f_mont);
	font-size: 36px;
	font-weight: 400;
	letter-spacing: 0.05em;
	position: relative;
	padding-top: 8px;
}

.page-ttl__main::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 1px;
	background: var(--c_red);
}

.page-ttl__sub {
	color: var(--c_red);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
}

/*----------------------------------------
heading-lv2
----------------------------------------*/
.heading-lv2 {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 30px;
}

.heading-lv2__main {
	font-family: var(--f_mont);
	font-size: 36px;
	font-weight: 400;
	letter-spacing: 0.05em;
	position: relative;
	padding-top: 10px;
}

.heading-lv2__main::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 1px;
	background: var(--c_red);
}

.heading-lv2__sub {
	color: var(--c_red);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.voice .heading-lv2,
.column .heading-lv2,
.contact .heading-lv2 {
	text-align: center;
}

.voice .heading-lv2__main::before,
.column .heading-lv2__main::before,
.contact .heading-lv2__main::before {
	left: 50%;
	transform: translateX(-50%);
}

/*----------------------------------------
heading-lv2
----------------------------------------*/
.heading-lv3 {
	letter-spacing: 0.05em;
	line-height: 2;
}

/*----------------------------------------
banner
----------------------------------------*/
.banner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 290px;
}

.banner__box {
	display: flex;
	align-items: center;
	gap: 4px;
}

.banner__box span {
	font-family: var(--f_mont);
	font-size: 11px;
	letter-spacing: 0.05em;
	white-space: nowrap;
	color: var(--c_gray);
}

/*----------------------------------------
more
----------------------------------------*/
.more {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: var(--c_red);
	padding: 8px 10px 8px 20px;
	width: 160px;
}

.more span {
	color: var(--c_white);
	font-family: var(--f_mont);
	letter-spacing: 0.05em;
}

/*----------------------------------------
date
----------------------------------------*/
.date {
	color: var(--c_red);
	font-family: var(--f_mont);
	font-size: 16px;
	letter-spacing: 0.1em;
}

/*----------------------------------------
read
----------------------------------------*/
.read {
	font-size: 20px;
	line-height: 1.7;
	letter-spacing: 0.1em;
}

/*----------------------------------------
txt
----------------------------------------*/
.txt {
	letter-spacing: 0.05em;
	line-height: 2;
}

.txt--bold {
	font-weight: 700;
}

.txt--center {
	text-align: center;
}

.txt--gray {
	color: var(--c_gray);
}

/*----------------------------------------
cat
----------------------------------------*/
.cat {
    color: var(--c_white);
    padding: 5px 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
    font-size: 13px;
}

.cat--red {
	background: var(--c_red);
}

.cat--orange {
	background: var(--c_orange);
}

/*----------------------------------------
page-top
----------------------------------------*/
.page-top {
    position: fixed;
    right: 20px;
    bottom: 45px;
}

/*----------------------------------------
pankuzu
----------------------------------------*/
.pankuzu {
	margin-top: 10px;
}

.pankuzu__list {
	display: flex;
}

.pankuzu__item:not(:last-of-type) {
	position: relative;
	padding-right: 1rem;
}

.pankuzu__item:not(:last-of-type)::after {
	content: "";
	width: 6px;
	height: 6px;
	border-top: 1px solid var(--c_border);
	border-right: 1px solid var(--c_border);
	transform: rotate(45deg);
	position: absolute;
	top: 0.4rem;
	right: 0.4rem;
}

.pankuzu__link {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: var(--c_border);
}

/*----------------------------------------
name
----------------------------------------*/
.name {
	padding-bottom: 3px;
	border-bottom: 1px solid var(--c_red);
	display: flex;
	align-items: end;
	gap: 10px;
}

.name span:first-of-type {
	font-size: 24px;
	letter-spacing: 0.1em;
	line-height: 1.4;
}

.name span:last-of-type {
	font-family: var(--f_mont);
	font-size: 12px;
	letter-spacing: 0.05em;
	line-height: 2;
	color: var(--c_red);
}

.name span.first-of-type {
	font-size: 24px;
	letter-spacing: 0.1em;
	line-height: 1.4;
	color: var(--c_main);
}

.name__box {
	display: flex;
	align-items: end;
	gap: 21px;
}

.name__cat {
	color: var(--c_red);
	border: 1px solid var(--c_red);
	padding: 3px 5px;
}

/*----------------------------------------
br
----------------------------------------*/
.br--pc {
	display: block;
}

.br--sp {
	display: none;
}

/*----------------------------------------
span
----------------------------------------*/
.span--red {
	color: var(--c_red);
}

.span--border {
	text-decoration: underline;
}

/*----------------------------------------
トップページ専用
----------------------------------------*/
/* FV
------------------------------ */
.fv {
	position: relative;
	height: calc(100vh - 80px);
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.fv video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fv__link {
	position: absolute;
	right: 30px;
	bottom: 30px;
}

/* NEWS
------------------------------ */
.news {
	position: relative;
	background: var(--c_bg);
	padding: 55px 50px 65px 50px;
	margin-top: 80px;
}

.news__box {
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.news .heading-lv2 {
    width: 30%;
    height: 175px;
}

.news__list {
	width: 70%;
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-bottom: -30px;
}

.news__item {
	border-bottom: 1px solid var(--c_border);
}

.news__item:last-of-type {
	padding-bottom: 0;
	border-bottom: 0;
}

.news__link {
	display: flex;
	align-items: center;
	gap: 50px;
	padding-bottom: 30px;
}

.news__more {
	position: absolute;
	left: 50px;
	bottom: 64px;
}

/* ABOUT
------------------------------ */
.about {
	position: relative;
}
.about__read-box {
	width: 400px;
}
.about__box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}
.about__box--first {
    width: 100%;
}

.about__box--first .mainimg {
    text-align: right;
    width: calc(100% - 440px);
    max-height: 35em;
}

.about__box--second .mainimg {
    width: 100%;
    top: unset;
}

.about__box--second_img {
	position: absolute;
	left: 0;
	bottom: 80px;
	width: 400px;
	text-align: right;
}

.about__box--second_img--img {
	width: calc(100vw - 70%);
	max-width: unset;
	height: 400px;
	position: absolute;
	bottom: 0;
	right: 0;
	overflow: hidden;
}

.about__box--second {
    margin-top: -45px;
}

.about__box--second_img--img img {
	width: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: auto;
	max-width: none;
	min-height: 100%;
	object-fit: cover;
}

.about__box--second_sp_img {
    width: 400px;
}

.about__read {
	white-space: nowrap;
}

.about__more {
	margin-top: 40px;
}

.about__txt-box {
    width: calc(100% - 440px);
    /* margin-left: 440px; */
    padding: 80px 0;
}

/* SERVICE
------------------------------ */
.service {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: calc(50vw - 50%);
	padding-right: calc(50vw - 50%);
	background: var(--c_bg);
}

.service__wrapper {
	width: 100%;
	display: flex;
	gap: 40px;
}

.service__box {
	width: 50%;
}

.service .txt {
	margin-top: 30px;
}

.service__more {
	margin-top: 40px;
}

.service .mainimg {
	width: 50%;
	margin-top: -80px;
}

.service__heading-lv3 {
	margin-top: 43px;
	color: var(--c_red);
	font-weight: 700;
	font-size: 22px;
	letter-spacing: 0.05em;
	text-align: center;
}

.service__read {
	margin-top: 10px;
	text-align: center;
	letter-spacing: 0.05em;
	line-height: 2;
}

.service__list {
	margin-top: 59px;
	display: grid;
	gap: 50px 40px;
	grid-template-columns: repeat(2, 1fr);
	place-content: center;
}

.service__item {
    background: var(--c_white);
    padding: 50px 35px 35px 35px;
    position: relative;
}

.service__item img {
	position: absolute;
	top: -30px;
	left: 35px;
}

.service__heading-lv4 {
	color: var(--c_red);
	font-weight: 700;
	font-size: 17px;
	letter-spacing: 0.05em;
	line-height: 1.6;
}

.service__desc {
	letter-spacing: 0.05em;
	line-height: 2;
	margin-top: 12px;
}

/* VOICE
------------------------------ */
.voice__list {
	display: grid;
	gap: 40px 50px;
	grid-template-columns: repeat(2, 1fr);
	place-content: center;
}

.voice__link {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 40px;
	position: relative;
}

.voice__link:after {
	content: "";
	position: absolute;
	width: calc(70% - 27px);
	border-bottom: 1px solid var(--c_border);
	bottom: 0;
	right: 0;
}

.voice__link .mainimg {
	aspect-ratio: 1/1;
	width: 30%;
	height: 100%;
}

.voice__body {
	width: 70%;
}

.voice__box {
	display: flex;
	gap: 20px;
	align-items: end;
}

.voice__body .txt {
    margin-top: 15px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.voice__more {
	margin-top: 50px;
	display: grid;
	place-content: center;
}

/* COLUMN
------------------------------ */
.column__list {
	display: grid;
	gap: 40px;
	grid-template-columns: repeat(4, 1fr);
	place-content: center;
	margin-top: 30px;
}

.column__link {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.column__link .mainimg {
	aspect-ratio: 1/1;
}

.column .heading-lv3 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.column__more {
	margin-top: 50px;
	display: grid;
	place-content: center;
}

/* INFORMATION
------------------------------ */
.info {
    width: 100%;
    background: var(--c_bg);
    display: flex;
    align-items: center;
    gap: 25px;
    padding: 50px 40px;
}

.info__box {
	width: 45%;
	background-image: url(../images/011.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	padding: 40px 0;
}

.info__heading-lv3 {
	margin-bottom: 18px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.info__heading-lv3 span:first-of-type {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.info__heading-lv3:last-of-type {
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 2;
}

.info__map {
	width: 55%;
	min-width: 625px;
}

.info__map iframe {
	width: 100%;
	aspect-ratio: 625/350;
}

/*----------------------------------------
アルビネスについてページ専用
----------------------------------------*/
/* THOUGHTS
------------------------------ */
.thoughts {
	position: relative;
	padding-top: 116px;
	padding-bottom: 58px;
	display: flex;
	gap: 40px;
	width: 100%;
}

.thoughts::before {
	content: "";
	width: 85vw;
	height: calc(100% - 40px);
	position: absolute;
	top: 50px;
	left: 20%;
	background: var(--c_bg);
	z-index: -1;
}

.thoughts__body {
	width: 67%;
}

.thoughts__img {
	width: 33%;
}

.thoughts .txt {
	margin-top: 30px;
}

/* PROFILE
------------------------------ */
.profile {
	background: var(--c_bg);
	position: relative;
	margin-top: 150px;
	padding: 58px 50px 63px 50px;
}

.profile__img {
	position: absolute;
	left: -40px;
	top: -50px;
}

.profile__body {
	width: 380px;
	margin-left: auto;
}

.profile__txt {
	margin-top: 20px;
	letter-spacing: 0.05em;
	line-height: 1.7;
}

.profile__txt--small {
	font-size: 12px;
	letter-spacing: 0.05em;
	line-height: 2;
}

.profile .read {
	margin-top: 50px;
}

.profile .txt {
	margin-top: 20px;
}

/* COMPANY
------------------------------ */
.company__list {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	border-top: 1px solid var(--c_border);
}

.company__team {
	width: 20%;
	padding: 15px 0 15px 40px;
	border-bottom: 1px solid var(--c_border);
	letter-spacing: 0.05em;
	line-height: 1.8;
	background: var(--c_bg);
}

.company__desc {
	width: 80%;
	padding: 15px 0 15px 40px;
	border-bottom: 1px solid var(--c_border);
	letter-spacing: 0.05em;
	line-height: 1.8;
}

.company iframe {
	width: 100%;
	aspect-ratio: 775/309;
}

/* STAFF
------------------------------ */
.staff__read {
	letter-spacing: 0.05em;
	line-height: 1.7;
}

.staff__list {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--c_border);
	margin-top: 40px;
}

.staff__item {
	border-bottom: 1px solid var(--c_border);
	padding: 30px 0;
	display: flex;
	align-items: center;
	gap: 40px;
}

.staff__img {
	width: 340px;
}

.staff__img img {
	width: 100%;
	border-radius: 50%;
	aspect-ratio: 1/1;
}

.staff__body {
	width: calc(100% - 340px);
}

.staff__box-wrapper {
	display: flex;
	gap: 40px;
	margin-top: 30px;
	width: 100%;
}

.staff__box {
	width: 340px;
}

.staff__heading {
	display: flex;
	align-items: end;
	gap: 9px;
}

.staff__heading span:first-of-type {
	color: var(--c_red);
	font-family: var(--f_mont);
	letter-spacing: 0.05em;
}

.staff__heading span:last-of-type {
	color: var(--c_red);
	letter-spacing: 0.05em;
	font-size: 12px;
}

.staff__desc {
	margin-top: 10px;
	letter-spacing: 0.05em;
	line-height: 1.8;
}

/* PLAN/PRICE
------------------------------ */
.plan__heading-lv3 {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.05em;
	position: relative;
	padding-left: 28px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--c_border);
}

.plan__heading-lv3::before {
	content: "";
	position: absolute;
	top: 0.25em;
	left: 0;
	width: 18px;
	height: 18px;
	background: var(--c_red);
}

.plan .txt {
	margin-top: 30px;
}

.plan .txt.text_naiyo {
    margin-top: 0;
}

.plan__box-wrapper {
	display: flex;
	gap: 40px;
	margin-bottom: 20px;
}

.plan__box {
    margin-top: 30px;
    border-top: 1px solid var(--c_border);
    border-right: 1px solid var(--c_border);
    border-left: 1px solid var(--c_border);
    width: calc(50% - 20px);
}

.plan__heading-lv4 {
	font-size: 16px;
	font-weight: 700;
	color: var(--c_red);
	letter-spacing: 0.05em;
	line-height: 1.7;
	background: var(--c_bg);
	padding: 8px 0 8px 30px;
	border-bottom: 1px solid var(--c_border);
}

.plan__list {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.plan__team {
	width: 35%;
	border-right: 1px solid var(--c_border);
	border-bottom: 1px solid var(--c_border);
	padding: 10px 0 10px 30px;
	letter-spacing: 0.05em;
	line-height: 2.8;
}

.plan__desc {
    width: 65%;
    border-bottom: 1px solid var(--c_border);
    padding: 10px 0 10px 20px;
    letter-spacing: 0.05em;
    line-height: 2.8;
    font-size: 13px;
}

.plan__content {
    margin-bottom: 70px;
}

.plan__content:last-child {
    margin-bottom: 0;
}

/* FLOW
------------------------------ */
.flow {
	padding-top: 0;
}

.flow__list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.flow__item {
	background: var(--c_bg);
	padding: 30px 33px;
	display: flex;
	align-items: center;
	gap: 41px;
}

.flow__item span:first-of-type {
	font-family: var(--f_mont);
	color: var(--c_red);
	font-size: 20px;
	font-weight: 400;
	letter-spacing: 0.05em;
}

.flow__item span:last-of-type {
	letter-spacing: 0.05em;
	line-height: 2;
}

.faq__list {
	margin-top: 93px;
	display: flex;
	flex-direction: column;
	gap: 50px;
}

.faq__item {
	border-bottom: 1px solid var(--c_border);
}

.faq__heading-lv3 {
	padding: 18px 55px;
	background: var(--c_bg);
	display: flex;
	align-items: center;
	gap: 22px;
}

.faq__heading-lv3 span:first-of-type {
	font-family: var(--f_mont);
	font-size: 36px;
	color: var(--c_red);
	font-weight: 400;
	letter-spacing: 0.05em;
}

.faq__heading-lv3 span:last-of-type {
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1.7;
}

.faq__item .txt {
	padding: 30px 58px;
}

/* CAUTION
------------------------------ */
.caution {
	padding: 0;
}

.caution__list {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	width: 100%;
}

.caution__item {
	width: calc(50% - 40px);
}

.caution__item .txt--bold {
	padding-bottom: 14px;
	border-bottom: 1px solid var(--c_border);
	margin-bottom: 16px;
}

/*----------------------------------------
採用情報ページ専用
----------------------------------------*/
/* MESSAGE
------------------------------ */
.msg {
	display: flex;
	gap: 40px;
	position: relative;
	margin-top: 50px;
}

.msg::before {
	content: "";
	width: 80vw;
	height: 100%;
	position: absolute;
	top: 0;
	left: 20%;
	background: var(--c_bg);
	z-index: -1;
}

.msg__body {
	width: 55%;
}

.msg .txt {
	margin-top: 30px;
}

.msg__img {
	width: 45%;
}

.msg__img img {
	width: 100%;
}

/* RECRUITMENT
------------------------------ */
.recruit__heading-lv3 {
	font-size: 20px;
	letter-spacing: 0.1em;
	color: var(--c_red);
	padding-top: 40px;
	margin-top: 40px;
	border-top: 1px solid var(--c_border);
}

.recruit__heading-lv4 {
	margin-top: 20px;
	font-size: 20px;
	letter-spacing: 0.1em;
	line-height: 1.7;
}

.recruit__list {
	margin-top: 20px;
	margin-bottom: 40px;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	border-top: 1px solid var(--c_border);
}

.recruit__team {
	width: 20%;
	padding: 20px 0 20px 40px;
	border-bottom: 1px solid var(--c_border);
	display: flex;
	align-items: center;
	background: var(--c_bg);
}

.recruit__desc {
	width: 80%;
	padding: 20px 0 20px 40px;
	border-bottom: 1px solid var(--c_border);
	line-height: 1.8;
	letter-spacing: 0.05em;
}

.recruit .txt {
	margin-top: 20px;
}

.recruit__list--ver2 {
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-top: 20px;
	border-bottom: 1px solid var(--c_border);
	padding-bottom: 40px;
}

.recruit__box {
	display: flex;
	align-items: center;
	gap: 6px;
}

.recruit__box span {
	color: var(--c_red);
	letter-spacing: 0.05em;
	line-height: 2;
}

.recruit__item .txt {
	margin-top: 8px;
}

/* LINE
------------------------------ */
.line {
    background: var(--c_bg);
    border-radius: 10px;
    padding: 45px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    text-align: center;
}

.line__heading-lv2 {
	color: var(--c_red);
	font-size: 20px;
}

.line__txt {
	line-height: 1.7;
	padding: 0 20px;
}

.contact_hd {
    text-align: center;
}

.contact_hd h2 {
    margin-bottom: 15px;
}

.contact_form {
    background: var(--c_bg);
    border-radius: 10px;
    padding: 60px;
    margin: 50px 0 80px;
}

.contact_form h2 {
    text-align: center;
    margin-bottom: 15px;
}

/* CONTACT */
.form {
    margin: 80px auto;
}
.form__main {
    margin-top: 20px;
}
.form__main h2 {
    font-size: 22px;
    text-align: center;
    margin: 0 0 0.7em;
}
.ct_form {
    line-height: 1.7;
    font-weight: 500;
}
.ct_form__main--input p {
    display: none;
}
.ct_form__text {
    font-size: 13px;
    line-height: 2;
    text-align: center;
    margin-bottom: 3em;
}
.ct_form__main--form {
    border-bottom: solid 1px #b9b9b9;
    margin-bottom: 2em;
    font-size: 14px;
}
.ct_form__main--content {
    border-top: solid 1px #b9b9b9;
    align-items: center;
    display: flex;
    flex-wrap: wrap;
}
.ct_form__main--ttl {
    width: 28%;
    height: fit-content;
    font-size: 15px;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1em;
}
.ct_form__main--input {
    width: 72%;
    padding: 1.5em 1em;
}
.ct_form__main--hissu {
    background: #F44336;
    color: #fff;
    display: inline-block;
    padding: 0.1em 1em;
    font-size: 11px;
    border-radius: 2px;
}
.ct_form__main--input input[type=text] {
    width: 100%;
    margin: 0;
    height: 3em;
    max-width: unset;
    border-radius: 0;
    border: none;
    padding: 0 1em;
    background: #fff;
}
.ct_form__main--input input.form-control {
    width: 100%;
    margin: 0;
    height: 3em;
    max-width: unset;
    border-radius: 0;
    border: none;
    padding: 0 1em;
    background: #fff;
}
.ct_form__main--input select.form-control {
    width: 100%;
    margin: 0;
    height: 3em;
    max-width: unset;
    border-radius: 0;
    border: none;
    padding: 0 1em;
    background: #fff;
}
.ct_form__main--input label {
    white-space: nowrap;
    font-size: 14px;
    margin-right: 1em;
}
.ct_form__main--input label input {
    margin: 0;
    margin-right: 0.2em;
	padding: 0 1em;
}
.ct_form__main--example {
    font-size: 11px;
    letter-spacing: 0;
    color: #4e4e4e;
    margin: 0.5em 0;
    display: inline-block;
    width: 100%;
}
.ct_form__main--input input[type="email"] {
    width: 100%;
    margin: 0;
    height: 3em;
    max-width: unset;
    border-radius: 0;
    border: none;
    padding: 0 1em;
    background: #fff;
}
.ct_form__main--input textarea {
    width: 100%;
    margin: 0;
    height: 14em;
    max-width: unset;
    border-radius: 0;
    border: none;
    padding: 0 1em;
    background: #fff;
}
.ct_form__policy h4 {
    font-size: 18px;
    margin-bottom: 0.2em;
}
.ct_form__policy--text {
    font-size: 15px;
    margin-bottom: 2em;
}
.ct_form__policy a {
    text-decoration: underline;
}
.ct_form__policy--check {
    margin: 2em auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ct_form__policy--btns {
    text-align: center;
}
.ct_form__policy--btns input {
    display: inline-block;
    background: #141414;
    color: #fff;
    font-size: 13px;
    padding: 1em 4em;
    border: none;
    cursor: pointer;
}
.ct_form__policy--btns input:nth-child(2) {
    background: #9e9e9e;
}
.ct_form__main--date {
    margin: 2% 0;
	align-items: center;
}
.ct_form__main--date span {
    width: 100%;
    padding-left: 195px;
    display: inline-block;
}
.ct_form__main--form p {
    display: none;
}
.ct_form__policy--check .ct_form__main--hissu {
    margin-right: 1em;
}
.ct_form__main--tel {
    align-items: center;
    gap: 10px;
}
.ct_form__main--tel input[type=text] {
    width: 25%;
}
.ct_form__main--tel .ct_form__main--example {
    display: block;
    width: 100%;
}
.ct_form__main--date label {
    width: 13em;
}
.ct_form__main--input .ct_form__main--date select.form-control {
    width: calc(100% - 14em);
}
.ct_form__main--input .ct_form__main--date input.form-control {
    width: calc(100% - 14em);
}
.ct_form__main--input .ct_form__main--date .model select.form-control {
    width: 100%;
}
.model {
    width: calc(100% - 14em);
}
.ct_form__main--input span.mwform-zip-field {
    display: flex;
    align-items: center;
    gap: 10px;
}
.ct_form__main--input span.mwform-zip-field input#zip {
    width: 10em;
}
.ct_form__main--input span.mwform-zip-field input#zip1 {
    width: 10em;
}
.guide-step__period {
    width: fit-content;
    height: fit-content;
    padding: 0.2em 0.5em;
}
.contact-fv.event-fv {
    background: #ebf6ec;
}
.contact-fv.event-fv .event__heading-lv2 .heading-lv2__main {
    color: var(--c_green);
}
.low_content_page4 {
    border: solid 1px #e4e4e4;
    font-size: 15px;
    padding: 40px;
    text-align: center;
    margin: 30px;
    line-height: 1.8;
}
.low_content_page4 h4 {
    font-size: 18px;
    margin-bottom: 1em;
}
.low_content_page4 p {
    margin-bottom: 1em;
}
.low_content_page4 p a {
    text-decoration: underline;
}
.ct_form__main--input select{
    width: 100%;
    margin: 0;
    height: 3em;
    max-width: unset;
    border-radius: 0;
    border: solid 1px #e0e0e0;
    padding: 0 1em;
}
/* PAGE NAVI */
.low_pagenation {
    width: 100%;
}
.wp-pagenavi {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 50px;
    font-size: 13px;
    font-weight: 600;
}
span.current {
    padding: 0em 0em 0!important;
    margin-right: 1em!important;
    color: #fff;
    background: #E95513;
    border: solid 1px #E95513 !important;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
	border-radius: 100%;
}
a.first {
    padding: 0em 0em 0 !important;
    margin-right: 1em !important;
    color: #fff;
    background: #E87E15;
    border: solid 1px #E87E15 !important;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
	border-radius: 100%;
}
a.first:hover {
    color: #fff;
    background: #E95513;
	opacity: 1;
}
a.last {
    padding: 0em 0em 0 !important;
    margin-right: 1em !important;
    color: #fff;
    background: #E87E15;
    border: solid 1px #E87E15 !important;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
	border-radius: 100%;
}
a.last:hover {
    color: #fff;
    background: #E95513;
	opacity: 1;
}
a.page.larger {
    padding: 0em 0em 0!important;
    margin-right: 1em!important;
    color: #fff;
    background: #E87E15;
    border: solid 1px #E87E15 !important;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
	border-radius: 100%;
}
a.page.smaller {
    padding: 0em 0em 0!important;
    margin-right: 1em!important;
    color: #fff;
    background: #E87E15;
    border: solid 1px #E87E15 !important;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
	border-radius: 100%;
}
a.page.larger:hover {
    border: solid 1px #E95513!important;
    background: #E95513;
    color: #fff;
	opacity: 1;
}
a.page.smaller:hover {
    border: solid 1px #E95513!important;
    background: #E95513;
    color: #fff;
	opacity: 1;
}
span.extend {
    border: none!important;
    margin-right: 1em!important;
	font-size: 10px;
}
.low_news {
    padding-bottom: 0;
}
.low_column {
    padding-bottom: 0;
}
.low_voice {
    padding-bottom: 0;
}
.low_news .news__list {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}
.low_page {
    padding: 80px 0 0;
}
.low_main_full_contenttittlearea {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px 20px;
}
.low_main_full_contenttittlearea_day {
    font-weight: 500;
    color: var(--c_red);
    font-family: var(--f_mont);
    font-size: 14px;
    letter-spacing: 0.1em;
}
.low_main_full_contenttittlearea_tittle {
    width: 100%;
}
.low_main_full_contenttittlearea_tittle h1 {
    font-size: 20px;
    margin-top: 10px;
    margin-bottom: 40px;
    border-bottom: solid 1px #D6C1AE;
    padding-bottom: 20px;
}
.low_bilder {
    line-height: 1.7;
    letter-spacing: 1px;
}
.back__more {
    margin-top: 30px;
    text-align: center;
}
.back__more a {
    margin: 0 auto;
    padding: 8px 20px 8px 10px;
    width: 170px;
}
.tp_service__slider {
    margin: 20px 0 0;
}
.tp_service__slider--img img {
    width: calc(100% - 30px);
    margin: 0 20px;
}
.container.tp_container {
    padding: 0 40px 0;
}
.page-ttl.policy_page-ttl {
    width: 35%;
}
.page-ttl.policy_page-ttl .page-ttl__main {
    font-size: 30px;
}