@charset "utf-8";
/* CSS Document */

/*共通
----------------------------------------------------------------------------------------------------*/

#sub {
	overflow: hidden;
}

.bread {}

.bread__ul {
	display: flex;
	gap: 1rem;
	font-size: .8rem;
}

.bread__item {}

.bread__item-inner {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.bread__link {}

.bread__text {}

/*  */

.page-title {}

.ttl {
	color: var(--blue);
	font-size: 2rem;
	font-weight: 600;
}

.sub-st {
	background: var(--blue);
	color: var(--white);
	display: flex;
	align-items: center;
	padding: 1rem;
	font-size: 1.6rem;
}

.sub-sst {
	color: var(--black);
	display: flex;
	align-items: center;
	padding: .5rem 0;
	margin-bottom: 1rem;
	font-size: 1.4rem;
	border-bottom: 1px solid var(--gray);
}

.side-st {
	background: var(--blue);
	color: var(--white);
	display: flex;
	align-items: center;
	padding: 1rem;
	font-size: 1.2rem;
}

/*  */

.subpage {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	overflow: hidden;

	display: flex;
	gap: 1rem;
}

.subpage__item {
	border-radius: 8px;
	overflow: hidden;
	margin: 1rem 0;
}

.subpage__item:first-of-type {
	flex: 0 1 calc(80% - 1rem);
}

.subpage__item:last-of-type {
	flex: 0 1 20%;
	height: 100%;
}

#sideMenu.fixed {
	position: fixed;
	top: 1rem;
	right: calc(50% - 500px);
	width: 20%;
	height: auto;
	max-width: 200px;
	/* 1000pxの20% */
	min-width: 160px;
	/* 必要に応じて最小幅も指定 */
	z-index: 100;
	margin: 0;
}

/*  */

.text-box {
	margin-bottom: 1rem;
}

.text-box--border {
	padding: 1rem;
	border: 1px solid var(--gray);
}

.text {
	line-height: 1.7;
	padding: .5rem 0;
}

.text__item {
	display: block;
	margin: .5rem 0;
}

.text-strong {
	font-weight: 600;
}

/*  */

.list {
	padding: .5rem 0;
	margin-left: 1rem;
}

.list li {
	list-style: disc;
	margin-left: 1rem;
}

/*  */

.link {}

.link--text {
	color: var(--blue);
}

/*  */

.side-nav {}

.side-nav__ul {}

.side-nav__li {
	border-bottom: 1px solid var(--gray);
}

.side-nav__link {
	padding: 1rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/*  */

.banner {
	max-width: 400px;
	height: 120px;
	margin: 1rem auto;
	border: 1px solid var(--gray);
	display: block;
	text-align: center;
	padding: .5rem;
}

.banner__img {
	width: 100%;
	height: 100%;
	max-width: fit-content;
	object-fit: contain;
}

.flex {
	display: flex;
	gap: 1rem;
}

.flex--wrap {
	flex-wrap: wrap;
}

.flex--between {
	justify-content: space-between;
}

.flex--align-center {
	align-items: center;
}

.flex__item {
	flex: 1;
}


/* 会社概要 */

.company__table {
	margin-top: unset;
}

.company__table-header:first-child {
	border-right: 1px solid var(--white);
}

.company__table-header--shop {
	background: var(--light-blue);
	font-size: .875rem;
}

/* モバイル事業部 */

.grid-image {
	width: 100%;
}

.grid-image--3 {
	/* grid-template-areas: 'first second' 'first last'; */
	/* grid-template-areas: 'first first'; */
}

.grid-image--3 .grid-image__item {
	overflow: hidden;
}

.grid-image--3 .grid-image__item:first-child {
	grid-area: first;
}

/* .grid-image--3 .grid-image__item:nth-child(2) {
	grid-area: second;
}

.grid-image--3 .grid-image__item:last-child {
	grid-area: last;
} */

.grid-image__img {
	width: 100%;
}

/*  */

.shop-list {}

.shop-list__item {
	border-bottom: 1px solid var(--gray);
}

.shop-list__link {
	padding: .5rem 0;
	display: flex;
	gap: 1rem;
	align-items: center;
}

.shop-list__info {
	flex: 0 1 80%;
}

.shop-list__name {
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--blue);
}

.shop-list__detail {}

.shop-list__add,
.shop-list__contact {
	display: flex;
	gap: .5rem;
	align-items: center;
	margin-top: .5rem;
}

.shop-list__add {}

.shop-list__contact {}

.shop-list__text {}

.shop-list__logo {
	flex: 0 1 20%;
	border-left: 1px solid var(--gray);
	padding: .5rem;
}

.shop-list__logo-img {
	width: 100%;
}

/* お問い合わせ */

.check-label {
	display: flex;
	gap: .5rem;
	align-items: center;
}

.form input[type="text"] {
	width: 100%;
	height: 3rem;
	padding: .2rem .4rem;
	font-size: 1.125rem;
}

.form input[type="checkbox"] {
	width: 1.125rem;
	height: 1.125rem;
}

.form select {
	height: 3rem;
	padding: .2rem .4rem;
	font-size: 1.125rem;
}

.form textarea {
	width: 100%;
	padding: .2rem .4rem;
	font-size: 1.125rem;
	min-height: 260px;
}

.form-check {
	display: flex;
	gap: .5rem;
	align-items: center;
	margin: 1rem auto;
	width: fit-content;
}

.form .button {
	display: block;
	border: unset;
	outline: unset;
	width: 50%;
	margin: auto;
}

.require {
	padding: .2rem;
	color: var(--white);
	background: var(--red);
	font-size: .875rem;
	display: block;
	width: fit-content;
	margin-top: .5rem;
}

.p-postal-code {
	margin-bottom: .5rem;
	width: 50% !important;
}

/* 採用情報 */

.thought__unit {
	background: var(--light-gray);
	padding: .5rem;
}

.thought__num {
	text-align: center;
	width: 100%;
	display: block;
	padding: .5rem;
	font-weight: 600;
	color: var(--blue);
	font-size: 1.125rem;
}

.thought__figure {
	width: 80%;
	aspect-ratio: 1 / 1;
	margin: auto;
	padding: .5rem;
}

.thought__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	/* padding: 1rem; */
}

.thought__ttl {
	width: 100%;
	text-align: center;
	color: var(--blue);
	font-weight: 600;
	line-height: 1.7;
}

/* 業務紹介 */

.work__unit {
	display: block;
}

.work__figure {
	text-align: center;
	margin-bottom: 1rem;
}

.work__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.work__img--sponsor {
	height: 80px;
}

.work__img--department {}