@charset "UTF-8";

/* subpage common ---------------------------------------*/
.subpagebody {
	position: relative;
	z-index: 1;
}

.subpagebody::before {
	content: "";
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: -1;
	background: url(../img/index/bg.jpg) repeat;
	background-size: 70%;
}

.subpagewrapper {
	max-width: 640px;
	width: 100%;
	margin: 0 auto;
}

/* subpage footer ---------------------------------------*/
.subpagefooter { 
	margin-bottom: 144px;
}

.subpagefooter-text { 
	width: calc(141/ 320 * 100%);
	margin: 0 auto 32px;
}

.subpagefooter-text img { 
	width: 100%;
}

.subpagefooter-logo { 
	width: calc(80/ 320 * 100%);
	margin: 0 auto 190px;
}

.subpagefooter-logo img { 
	width: 100%;
}

.subpagefooter-list { 
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10%;
}

.subpagefooter-list-item-reglass {
	width: calc(57/ 320 * 100%);
}

.subpagefooter-list-item-king {
	width: calc(73/ 320 * 100%);
}

.subpagefooter-list-item-bys {
	width: calc(63/ 320 * 100%);
}

.subpagefooter-list-item img {
	width: 100%;
}

/* overview ---------------------------------------*/
.overview {
	margin-top: 60px;
}

.overviewkv { 
	position: relative;
}

.overviewkv-image img { 
	width: 100%;
}

.overviewkv-link { 
	display: inline-block;
	position: absolute;
	top: 6%;
	width: 28%;
	height: 10.5%;
	overflow: hidden;
	text-indent: -999em;
}

.overviewkv-link-company {
	left: 5.5%;
}

.overviewkv-link-mission {
	left: 36%;
}

.overviewkv-link-staff {
	left: 66.5%;
}

.overviewintro { 
	margin: 80px 0 120px;
}

.overviewintro p { 
	width: 75%;
	margin: 0 auto;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	line-height: 1.75;
	letter-spacing: 0.05em;
	color: #1D1D1B;
}

.overviewcompany { 
	margin-bottom: 256px;
}

.overviewcompany-title { 
	margin-bottom: 90px;
}

.overviewcompany-title img { 
	width: 100%;
}

.overviewcompany-image { 
	position: relative;
}

.overviewcompany-image img { 
	width: 100%;
}

.overviewcompany-image-link { 
	display: inline-block;
	position: absolute;
	top: 56%;
	left: 16%;
	width: 26%;
	height: 3%;
	overflow: hidden;
	text-indent: -999em;
}

.overviewmission { 
	margin-bottom: 240px;
}

.overviewmission-title { 
	margin-bottom: 100px;
}

.overviewmission-title img { 
	width: 100%;
}

.overviewmission-image { 
	width: 716px;
    margin: 0 -38px 64px;
}

.overviewmission-image img { 
	width: 100%;
}

.overviewmission-text { 
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	line-height: 2;
	color: #1D1D1B;
}

.overviewstaff { 
	margin-bottom: 250px;
}

.overviewstaff-title { 
	margin-bottom: 80px;
}

.overviewstaff-title img { 
	width: 100%;
}

.overviewstaff-list > li + li{ 
	margin-top: 128px;
}

.overviewstaff-list-image { 
	margin-bottom: 10px;
}

.overviewstaff-list-image img { 
	width: 100%;
}

.overviewstaff-list-text { 
	padding: 3px;
	width: 85%;
	margin: 0 auto;
	background: #fff;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	color: #1D1D1B;
}

/* contact ---------------------------------------*/
.contact {
	margin-top: 60px;
}

.contactkv { 
	padding: 64px 0 45px;
}

.contactkv-image { 
	margin-bottom: 42px;
}

.contactkv-image img { 
	width: 100%;
}

.contact-link { 
	display: flex;
	justify-content: center;
	gap: 18px;
}

.contact-link > li {
	width: 262px;
}

.contact-link > li img {
	width: 100%;
}

.contactinfo { 
	margin-bottom: 100px;
}

.contactinfo-title { 
	margin-bottom: 80px;
}

.contactinfo-title img { 
	width: 100%;
}

.contactinfo-text { 
	font-size: 28px;
	font-weight: 700;
	text-align: center;
	line-height: 1.2;
	color: #1D1D1B;

}

.contactinfo-explain {
	display: block;
	width: 540px;
	margin: 0 auto 90px;
}

.contactinfo-explain img {
	width: 100%;
}

.contactinfo-tel {
	display: block;
	width: 560px;
	margin: 0 auto;
}

.contactinfo-tel img {
	width: 100%;
}

.contacthowto { 
	margin-bottom: 68px;
}

.contacthowto-title { 
	margin-bottom: 58px;
}

.contacthowto-title img { 
	width: 100%;
}

.contacthowto-text { 
	width: 560px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.75;
	letter-spacing: 0.05em;
	margin: 0 auto 28px;
	color: #1D1D1B;
}

.contacthowto-caption {
	display: block;
	width: 560px;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.08em;
	margin: 0 auto 70px;
	color: #1D1D1B;
}

.contacthowto-image { 
	width: 460px;
	margin: 0 auto 50px;
}

.contacthowto-image img { 
	width: 100%;
}

.contacthowto-list > li {
	margin-bottom: 64px;
}

.contacthowto-list > li:last-of-type {
	margin-bottom: 0;
}

.contacthowto-list-title {
	display: flex;
	align-items: center;
	width: 90%;
	margin: 0 auto 20px;
	border: 0.5px solid #958055;
	background: #6DBDB2;
}

.contacthowto-list-title span:first-of-type {
	display: block;
	width: 102px;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
}

.contacthowto-list-title span:nth-of-type(2) {
	display: block;
	width: calc(100% - 102px);
	background: #FFFBF9;
	color: #1D1D1B;
	border-left: 0.5px solid #958055;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
	padding: 4px 10px;
}

.contacthowto-list-text {
	width: 560px;
	font-size: 20px;
	line-height: 1.4;
	margin: 0 auto 16px;
	color: #1D1D1B;
}

.contacthowto-list-image { 
	margin: 0 auto;
}

.contacthowto-list > li:first-of-type .contacthowto-list-image {
	width: 578px;
}

.contacthowto-list > li:nth-of-type(2) .contacthowto-list-image {
	width: 340px;
}

.contacthowto-list > li:nth-of-type(4) .contacthowto-list-image,
.contacthowto-list > li:nth-of-type(5) .contacthowto-list-image,
.contacthowto-list > li:nth-of-type(6) .contacthowto-list-image {
	width: 394px;
}

.contacthowto-list > li:nth-of-type(7) .contacthowto-list-image {
	width: 441px;
}

.contacthowto-list-image img { 
	width: 100%;
}

.contacthowto-list-comment {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.6;
	color: #fff;
	margin: 20px auto 0;
	background: #958055;
	border-radius: 3px;
	text-align: center;
    width: 98%;
    padding: 4px 4px 8px;
}

.contacthowto-list-linklist {
	display: flex;
	justify-content: center;
	gap: 14px;
	margin: 48px auto 45px;
}

.contacthowto-list-linklist > li {
	position: relative;
	width: 260px;
}

.contacthowto-list-linklist > li img {
	width: 100%;
}

.icon-line {
	position: absolute;
	top: 44%;
	left: 50%;
	width: 73%;
	transform: translateX(-50%);
}

.contacthowto-list-form {
	display: block;
	width: 396px;
	margin: 0 auto;
}

.contacthowto-list-form img {
	width: 100%;
}

.contactbottom {
	margin: 0 auto 100px;
}

.contactbottom .contactinfo-tel {
	margin: 90px auto 225px;
}

.contactbottom-logo {
	width: calc(80 / 320* 100%);
	margin: 0 auto;
}

.contactbottom-logo img {
	width: 100%;
}

/* faq ---------------------------------------*/
.faq {
	padding: 175px 0 180px;
}

.faq-title {
	width: 100%;
	max-width: 313px;
	margin: 0 auto 95px;
}

.faq-title img {
	width: 100%;
}

.faqintro-image {
	width: 100%;
	max-width: 564px;
	margin: 0 auto 40px;
}

.faqintro-image img {
	width: 100%;
}

.faqintro-lead {
	margin-bottom: 40px;
	color: #958055;
	font-weight: 700;
	font-size: 32px;
	line-height: 1.9;
	letter-spacing: .02em;
	text-align: center;
}

.faqintro-bnr {
	width: 100%;
	max-width: 562px;
	margin: 0 auto 62px;
}

.faqintro-bnr a img {
	width: 100%;
}

.faqintro-text {
	max-width: 560px;
	margin: 0 auto 45px;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
}

.faqintro-komikomi {
	background: url(../img/glass/faq/line_title_left.png) no-repeat left 20px center, url(../img/glass/faq/line_title_right.png) no-repeat right 20px center;
	background-size: 16.8%;
	color: #958055;
	font-weight: 700;
	font-size: 32px;
	line-height: 1.9;
	letter-spacing: .02em;
	text-align: center;
}

.faqroll {
	position: relative;
	margin-bottom: 90px;
	padding: 60px 0 55px;
	background: url(../img/glass/faq/line_roll.png) no-repeat center bottom;
}

.faqroll-staff01 {
	position: absolute;
	bottom: 7px;
	left: -20%;
	width: 286px;
}

.faqroll-staff02 {
	position: absolute;
	right: -20%;
	bottom: 7px;
	width: 276px;
}

.faqroll-inner {
	width: 100%;
	max-width: 466px;
	margin: 0 auto;
}

.faqroll-inner img {
	width: 100%;
}

.faqroll-text {
	max-width: 330px;
	margin: 0 auto;
	padding-top: 35px;
	font-size: 20px;
	line-height: 1.95;

	/* letter-spacing: 0.02em; */
	text-align: center;
}

.faqmessage {
	padding-top: 120px;
	background: url(../img/glass/faq/line_message.png) no-repeat center top;
}

.faqmessage-text {
	margin-bottom: 90px;
	color: #958055;
	font-weight: 700;
	font-size: 32px;
	line-height: 1.45;
	letter-spacing: .04em;
	text-align: center;
}

.faqlist-wrapper {
	padding: 0 25px;
}

.faqlist {
	padding-bottom: 10px;
}

.faqlist dt {
	margin-bottom: 20px;
	padding-left: 32px;
	background: url(../img/glass/faq/text_q.png) no-repeat left top 5px;
	color: #958055;
	font-weight: 700;
	font-size: 24px;
}

.faqlist dd {
	margin-bottom: 50px;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: .02em;
}

.faqlist-area {
	padding-bottom: 80px;
}

.faqlist-area dt {
	margin-bottom: 20px;
	color: #958055;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.45;
	letter-spacing: .04em;
}

.faqlist-area dd {
	margin-bottom: 30px;
	font-size: 16px;
	line-height: 1.22;
	font-family: 'Noto Sans JP', sans-serif;
}

.faqwelcome {
	margin-bottom: 20px;
	padding-bottom: 10px;
	background: url('../img/common/line_green.png') no-repeat center bottom;
	background-size: 98%;
}

.faqwelcome-image {
	width: 100%;
}

.faqwelcome-image img {
	width: 100%;
}

.faqcontact .faqcontact-image {
	position: relative;
	width: 100%;
	padding: 0 15px;
}

.faqcontact-image img {
	width: 100%;
}

.faqcontact-link {
	display: inline-block;
	position: absolute;
	bottom: 43px;
	width: 246px;
	height: 72px;
	overflow: hidden;
	text-indent: -999em;
}

.faqcontact-link-tel {
	left: 43px;
	bottom: 240px;
	width: 550px;
	height: 150px;
}

.faqcontact-link-line {
	left: 46px;
}

.faqcontact-link-mail {
	right: 56px;
}

.faqcontact-link-service {
	bottom: 480px;
	left: 21px;
	width: 300px;
	height: 156px;
}

.faqcontact-link-height {
	right: 21px;
	bottom: 480px;
	width: 300px;
	height: 156px;
}


@media screen and (max-width: 767px){

	/* subpage common ---------------------------------------*/
	.subpagebody::before {
		background: url(../img/index/bg_sp.jpg) no-repeat center center;
		background-size: cover;
	}

	.subpagewrapper {
		max-width: unset;
	}


	/* subpage footer ---------------------------------------*/
	.subpagefooter { 
		margin-bottom: 22.5vw;
	}

	.subpagefooter-text { 
		margin: 0 auto 5vw;
	}

	.subpagefooter-logo { 
		margin: 0 auto 30vw;
	}


	/* overview ---------------------------------------*/
	.overview {
		margin-top: calc(30 / 320 * 100vw);
	}

	.overviewintro { 
		margin: 13vw auto 19vw;
	}

	.overviewintro p { 
		font-size: 3.75vw;
	}

	.overviewcompany { 
		margin-bottom: 40vw;
	}

	.overviewcompany-title { 
		margin-bottom: 14vw;
	}

	.overviewmission { 
		margin-bottom: 38vw;
	}

	.overviewmission-title { 
		margin-bottom: 16vw;
	}

	.overviewmission-image { 
		width: 100%;
		margin: 0 auto 10vw;
	}

	.overviewmission-text { 
		font-size: 3.125vw;
	}

	.overviewstaff { 
		margin-bottom: 39vw;
	}

	.overviewstaff-title { 
		margin-bottom: 13vw;
	}

	.overviewstaff-list > li + li {
		margin-top: 20vw;
	}

	.overviewstaff-list-image { 
		margin-bottom: 1.5vw;
	}

	.overviewstaff-list-text { 
		font-size: 3.125vw;
	}

	/* contact ---------------------------------------*/
	.contact {
		margin-top: calc(30 / 320 * 100vw);
	}

	.contactkv { 
		padding: 10vw 0 7vw;
	}

	.contactkv-image { 
		margin-bottom: 6.5vw;
	}

	.contact-link { 
		gap: calc(9 / 320 * 100vw);
	}

	.contact-link > li {
		width: calc(131 / 320 * 100vw);
	}

	.contactinfo { 
		margin-bottom: 16vw;
	}

	.contactinfo-title { 
		margin-bottom: 12.5vw;
	}

	.contactinfo-text { 
		font-size: 4.375vw;
	}

	.contactinfo-explain {
		width: calc(270 / 320 * 100vw);
		margin: 0 auto 14vw;
	}

	.contactinfo-tel {
		width: calc(280 / 320 * 100vw);
	}

	.contacthowto { 
		margin-bottom: 10.5vw;
	}

	.contacthowto-title { 
		margin-bottom: 9vw;
	}

	.contacthowto-text { 
		width: calc(280 / 320 * 100vw);
		font-size: 3.75vw;
		margin: 0 auto 4.5vw;
	}

	.contacthowto-caption {
		width: calc(280 / 320 * 100vw);
		font-size: 2.5vw;
		margin: 0 auto 11vw;
	}

	.contacthowto-image { 
		width: calc(230 / 320 * 100vw);
		margin: 0 auto 8vw;
	}

	.contacthowto-list > li {
		margin-bottom: 10vw;
	}

	.contacthowto-list-title {
		margin: 0 auto 3vw;
	}

	.contacthowto-list-title span:first-of-type {
		width: calc(51 / 290 * 100%);
		font-size: 3.125vw;
	}

	.contacthowto-list-title span:nth-of-type(2) {
		width: calc(239 / 290 * 100%);
		font-size: 4.375vw;
		padding: 2px 5px;
	}

	.contacthowto-list-text {
		width: calc(280 / 320 * 100%);
		font-size: 3.125vw;
		margin: 0 auto 2.5vw;
	}

	.contacthowto-list > li:first-of-type .contacthowto-list-image {
		width: calc(289 / 320 * 100vw);
	}

	.contacthowto-list > li:nth-of-type(2) .contacthowto-list-image {
		width: calc(170 / 320 * 100vw);
	}

	.contacthowto-list > li:nth-of-type(4) .contacthowto-list-image,
	.contacthowto-list > li:nth-of-type(5) .contacthowto-list-image,
	.contacthowto-list > li:nth-of-type(6) .contacthowto-list-image {
		width: calc(197 / 320 * 100vw);
	}

	.contacthowto-list > li:nth-of-type(7) .contacthowto-list-image {
		width: calc(221 / 320 * 100vw);
	}

	.contacthowto-list-comment {
		font-size: 3.125vw;
		margin: 3vw auto 0;
		padding: 2px 2px 4px;
	}

	.contacthowto-list-linklist {
		gap: calc(7 / 320 * 100vw);
		margin: 7.5vw auto 7vw;
	}

	.contacthowto-list-linklist > li {
		width: calc(130 / 320 * 100vw);
	}

	.contacthowto-list-form {
		width: calc(198 / 320 * 100vw);
	}

	.contactbottom {
		margin: 0 auto 15vw;
	}

	.contactbottom .contactinfo-tel {
		margin: 14vw auto 35vw;
	}


	/* faq ---------------------------------------*/
	.faq {
		padding: 28vw 0 28.5vw;
	}

	.faq-title {
		width: 49vw;
		max-width: unset;
		margin: 0 auto 15vw;
	}

	.faqintro-image {
		width: 88vw;
		max-width: unset;
		margin: 0 auto 6vw;
	}

	.faqintro-lead {
		margin-bottom: 6.5vw;
		font-size: 5vw;
		line-height: 1.9;
	}

	.faqintro-bnr {
		width: 90vw;
		max-width: unset;
		margin: 0 auto 9.5vw;
	}

	.faqintro-text {
		max-width: unset;
		margin: 0 auto 7vw;
		font-size: 2.4vw;
	}

	.faqintro-komikomi {
		background: url(../img/glass/faq/line_title_left.png) no-repeat left 3vw center, url(../img/glass/faq/line_title_right.png) no-repeat right 3vw center;
		background-size: 16.8%;
		font-size: 5vw;
	}

	.faqroll {
		margin-bottom: 14vw;
		padding: 9vw 0 9vw;
		overflow: hidden;
		background-size: 95%;
	}

	.faqroll-staff01 {
		position: absolute;
		bottom: 1vw;
		left: -20vw;
		width: 45vw;
	}

	.faqroll-staff02 {
		position: absolute;
		right: -22vw;
		bottom: 1vw;
		width: 44vw;
	}

	.faqroll-inner {
		width: 75vw;
		max-width: unset;
	}

	.faqroll-text {
		width: 54vw;
		max-width: unset;
		padding-top: 5vw;
		font-size: 3.125vw;
	}

	.faqmessage {
		padding-top: 19vw;
		background: url(../img/glass/faq/line_message.png) no-repeat center top;
		background-size: 125%;
	}

	.faqmessage-text {
		margin-bottom: 15vw;
		font-size: 5vw;
		line-height: 1.5;
	}

	.faqlist-wrapper {
		width: 92vw;
		margin: 0 auto;
		padding: 0;
	}

	.faqlist {
		padding-bottom: 2vw;
	}

	.faqlist dt {
		margin-bottom: 4vw;
		padding-left: 5.5vw;
		background: url(../img/glass/faq/text_q.png) no-repeat left top 1vw;
		background-size: 4.5vw;
		color: #958055;
		font-size: 3.75vw;
	}

	.faqlist dd {
		margin-bottom: 8.5vw;
		font-size: 2.5vw;
		line-height: 1.5;
		letter-spacing: 0;
	}

	.faqlist-area {
		padding-bottom: 12.5vw;
	}

	.faqlist-area dt {
		margin-bottom: 3vw;
		font-size: 3.75vw;
		letter-spacing: .04em;
	}

	.faqlist-area dd {
		margin-bottom: 6vw;
		font-size: 2.5vw;
		line-height: 1.22;
		letter-spacing: .04em;
	}

	.faqwelcome {
		margin-bottom: 4vw;
		padding-bottom: 2vw;
	}

	.faqcontact .faqcontact-image {
		position: relative;
		width: 94.2vw;
		margin: 0 auto 3vw;
		padding: 0;
	}

	.faqcontact-link {
		bottom: 6.5vw;
		width: 38vw;
		height: 11vw;
	}

	.faqcontact-link-tel {
		left: 4vw;
		bottom: 37vw;
		width: 86vw;
		height: 24vw;
	}

	.faqcontact-link-line {
		left: 4.8vw;
	}

	.faqcontact-link-mail {
		right: unset;
		left: 50vw;
	}

	.faqcontact-link-service {
		bottom: 74.5vw;
		left: 1vw;
		width: 46vw;
		height: 24vw;
	}

	.faqcontact-link-height {
		right: unset;
		bottom: 74.5vw;
		left: 47.3vw;
		width: 46vw;
		height: 24vw;
	}

}