@charset "UTF-8";

/* loading ---------------------------------------*/

.pace {
	-webkit-pointer-events: none;
	pointer-events: none;

	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

.pace-inactive {
	display: none;
}

.pace .pace-progress {
	background: #fff;
	position: fixed;
	z-index: 2000;
	top: 0;
	right: 100%;
	width: 100%;
	height: 2px;
}

.splash{
	position:fixed;
	left:50%;
	top:0;
	max-width: 1000px;
	width: 100%;
	height:100vh;
	z-index:1500;
	transform: translateX(-50%);
	background: #fdf7e8;
	background-image: url('../img/index/bg_splash.png');
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: top center;
}

.splash-maincatch {
	position: absolute;
	left: 50%;
	top: 6.2%;
	transform: translateX(-50%);
	width: calc(737 / 1366 * 100%);
	opacity:0;
	transition: all 1.25s ease;
}

.splash-maincatch img {
	width: 100%;
}

.splash-animation {
	position: absolute;
	left: 50%;
	top: 33vw;
	transform: translateX(-50%);
	width: 100%;
	opacity:0;
}

.splash-animation-meter {
	position: relative;
	margin: 0 auto 4%;
	width: calc(241 / 1366 * 100%);
}

.splash-animation-meter img:first-of-type {
	display: block;
	width: 100%;
}

.splash-animation-meter img:nth-of-type(2) {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	clip-path: inset(100% 0 0 0);
	transition: all 2s ease-out;
}

.splash.active .splash-animation-meter img:nth-of-type(2){
	clip-path: inset(0);
}

.splash-animation-count {
	margin: 0 auto;
	font-size: clamp(28.1px, -0.032px + 3.66vw, 36.6px);
	text-align: center;
	line-height: 1.25;
	color: #958055;
}

.splash.active .splash-maincatch,
.splash.active .splash-animation {
	opacity:1;
}

/* index kv ---------------------------------------*/

.indexkv img {
	width: 100%;
}


/* index common ---------------------------------------*/

.indexbody {
	position: relative;
	z-index: 1;
}

.indexbody::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%;
}


/* index challenge ---------------------------------------*/

.indexchallenge {
	position: relative;
	overflow: hidden;
}

.indexchallenge-title {
	width: 102%;
	margin-bottom: 9%;
	margin-left: -1%;
	overflow: hidden;
}

.indexchallenge-title img {
	width: 100%;
}

.indexchallenge-pro {
	width: 76.3%;
	margin: 0 auto 9%;
}

.indexchallenge-pro img {
	width: 100%;
}

.indexchallenge-feature {
	position: relative;
}

.indexchallenge-feature-staff01 {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 17.7%;
}

.indexchallenge-feature-staff02 {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 17.7%;
}

.indexchallenge-feature-inner {
	width: 47.8%;
	margin: 0 auto;
	padding: 8.8% 0 11.56%;
	text-align: center;
}

.indexchallenge-feature-inner img {
	width: 100%;
}

.indexchallenge-about {
	padding: 3.2% 11.5% 2.7%;
	background: #958055;
	color: #FFF;
}

.indexchallenge-about-title {
	margin-bottom: 1.3%;
	font-size: clamp(13.5px, -0.048px + 1.77vw, 17.6px);
	text-align: center;
}

.indexchallenge-about-title span {
	display: inline-block;
	position: relative;
	padding: 0 2%;
}

.indexchallenge-about-title span::before {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0,-50%);
	width: 5px;
	height: 2px;
	background: #FFF;
	content: '';
}

.indexchallenge-about-title span::after {
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0,-50%);
	width: 5px;
	height: 2px;
	background: #FFF;
	content: '';
}

.indexchallenge-about-text {
	font-size: clamp(11.2px, -0.048px + 1.47vw, 14.6px);
	line-height: 1.94;
	letter-spacing: .04em;
}

.indexdirect {
	padding: 11% 0 16.4%;
}

.indexdirect-title {
	width: 53%;
	margin: 0 auto 3.5%;
}

.indexdirect-title img {
	width: 100%;
}

.indexdirect-lead {
	margin-bottom: 6.3%;
	color: #1D1D1B;
	font-weight: 700;
	font-size: clamp(13.5px, -0.048px + 1.77vw, 17.6px);
	line-height: 1.9;
	text-align: center;
}

.indexdirect-image {
	width: 93.8%;
	margin: 0 auto;
	overflow: hidden;
}

.indexdirect-image img {
	width: 100%;
}

.indexdirect-image-list.swiper-wrapper {
	transition-timing-function: linear;
}

.indexlowest-title {
	width: 61%;
	margin: 0 auto 5.5%;
}

.indexlowest-title img {
	width: 100%;
}

.indexlowest-secret {
	padding-bottom: 5%;
	border: 1px solid #958055;
	background: #FFFAF4;
}

.indexlowest-secret-title {
	width: 50%;
	margin: 0 auto 6%;
}

.indexlowest-secret-title img {
	width: 100%;
}

.indexlowest-secret-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 2%;
}

.indexlowest-secret-manager {
	width: 25.33%;
}

.indexlowest-secret-manager img {
	width: 100%;
}

.indexlowest-secret-body {
	width: 49.19%;
}

.indexlowest-secret-list {
	margin-bottom: 10.5%;
}

.indexlowest-secret-list > li + li {
	margin-top: 4.5%;
}

.indexlowest-secret-list-num {
	width: auto;
	height: clamp(26.1px, -0.048px + 3.41vw, 34px);
	margin-left: 1.6%;
	margin-bottom: 1.4%;
}

.indexlowest-secret-list-num img {
	width: auto;
	height: 100%;
}

.indexlowest-secret-list-title {
	font-size: clamp(18px, 0.128px + 2.33vw, 23.4px);
	font-weight: 700;
	line-height: 1.2;
	color: #1d1d1d;
	margin-left: 1.6%;
	margin-bottom: 2.5%;
}

.indexlowest-secret-list-text {
	font-size: clamp(9px, 0.064px + 1.16vw, 11.7px);
	font-weight: 700;
	line-height: 1.55;
	color: #1d1d1d;
	background: #fff;
	border: 0.5px solid #958055;
	padding: 0.8% 2.3%;
	width: 100%;
}

.indexwelcome {
	width: 100%;
	background: url(../img/index/bg_welcome.png) no-repeat center center;
	background-size: 100%;
}

.indexwelcome-image {
	width: 62%;
	margin: 0 auto;
	padding: 0 1.5%;
	background: #FFFAF4;
}

.indexwelcome-image img {
	width: 100%;
}

.indexspeed {
	padding-top: 11%;
}

.indexspeed-title {
	width: 65%;
	margin: 0 auto .8%;
}

.indexspeed-title img {
	width: 100%;
}

.indexspeed-lead {
	width: 100%;
}

.indexspeed-lead img {
	width: 100%;
}

.indexcontact-image {
	position: relative;
	width: 78%;
	margin: 0 auto;
}

.indexcontact-image img {
	width: 100%;
}

.indexcontact-link {
	display: inline-block;
	position: absolute;
	bottom: 12.5%;
	width: 20%;
	height: 12%;
	overflow: hidden;
	text-indent: -999em;
}

.indexcontact-link-tel {
	left: 4%;
	bottom: 56%;
	width: 56%;
	height: 30%;
}

.indexcontact-link-line {
	left: 8.5%;
}

.indexcontact-link-mail {
	left: 32.5%;
}

.indexprice-komikomi {
	width: 100%;
	margin-bottom: 5.6%;
}

.indexprice-komikomi img {
	width: 100%;
}

.indexprice-link {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 1.4%;
	margin-bottom: 13.2%;
}

.indexprice-link-item {
	width: 37.5%;
	box-shadow: 1px 1px 2px rgba(35,24,21,.6);
}

.indexprice-link-item img {
	width: 100%;
}

.indexprice-payment-title {
	width: 76%;
	margin: 0 auto 12.4%;
}

.indexprice-payment-title img {
	width: 100%;
}

.indexprice-title {
	position: relative;
	width: 100%;
}

.indexprice-title img {
	width: 100%;
}

.indexprice-title span {
	position: absolute;
	font-size: 12px;
	color: #fff;
	bottom: 6%;
	left: 65%;
}

.indexprice-contents {
	width: 76.4%;
	margin: 0 auto 5%;
	border: 1px solid #958055;
	background: #FFFAF4;

	border-top: none;
}

.indexprice-contents-inner {
	width: 56.8%;
	margin: 0 auto;
	padding: 4% 0 4.6%;
}

.indexprice-contents-lead {
	margin-bottom: 7%;
	color: #231815;
	font-weight: 700;
	font-size: clamp(11.2px, -0.048px + 1.47vw, 14.6px);;
	line-height: 1.61;
}

.indexprice-contents-block {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-end;
	gap: 2.3%;
	margin-bottom: 3.5%;
	padding-bottom: 3.5%;
	background: url(../img/index/line_dot.png) no-repeat bottom center;
	background-size: 86%;
}

.indexprice-contents-block-linenone {
	margin-bottom: 0;
	background: none;
}

.indexprice-contents-image {
	width: 37.2%;
}

.indexprice-contents-image img {
	width: 100%;
}

.indexprice-contents-detail {
	flex: 1;
}

.indexprice-contents-title {
	margin-bottom: 19%;
	color: #1D1D1B;
	font-weight: 700;
	font-size: clamp(11.2px, -0.048px + 1.47vw, 14.6px);;
	line-height: 1.8;
}

.indexprice-contents-text {
	padding-bottom: 2.3%;
	color: #1D1D1B;
	font-weight: 700;
	font-size: clamp(9px, 0.064px + 1.16vw, 11.7px);
	line-height: 1.8;
}

.indexprice-contents-notice {
	margin-top: 7%;
	padding: 3.5% 3.5%;
	background: url(../img/index/bg_price.png) no-repeat top center;
	background-size: 100% 100%;
	color: #231815;
	font-weight: 700;
	font-size: clamp(11.2px, -0.048px + 1.47vw, 14.6px);;
	line-height: 1.6;
}

.indexestimate-image {
	width: 68%;
	margin: 0 auto 4.7%;
}

.indexestimate-image img {
	width: 100%;
}

.indexestimate-title {
	width: 100%;
}

.indexestimate-title img {
	width: 100%;
}

.indexestimate-strongpoint {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: .4%;
	position: relative;
	margin-top: .4%;
}

.indexestimate-strongpoint::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 11.3%;
	height: 100%;
	background: #FBE7CD;
	content: '';
}

.indexestimate-strongpoint::after {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 11.3%;
	height: 100%;
	background: #FBE7CD;
	content: '';
}

.indexestimate-strongpoint-item {
	width: 25.2%;
}

.indexestimate-strongpoint-item	img {
	width: 100%;
}

.indexprofessional {
	padding: 15.8% 0 10.5%;
	background: url(../img/index/bg_president.png) no-repeat top 16.5% left 36%;
	background-size: 125%;
}

.indexprofessional-image {
	width: 38%;
	margin: 0 auto 5%;
}

.indexprofessional-image img {
	width: 100%;
}

.indexprofessional-message {
	width: 66%;
	margin: 0 auto;
	color: #1D1D1B;
	font-size: clamp(9px, 0.064px + 1.16vw, 11.7px);
	line-height: 1.9;
	letter-spacing: .07em;
}

.indexprofessional-message-point {
	width: 66%;
	margin: 0 auto;
	padding-top: 2%;
	padding-bottom: 3.2%;
	color: #1D1D1B;
	font-weight: 700;
	font-size: clamp(9px, 0.064px + 1.16vw, 11.7px);
	line-height: 1.8;
	letter-spacing: .07em;
	text-align: center;
}

.indexprofessional-message-en {
	width: 66%;
	margin: 0 auto;
	color: #958055;
	font-size: clamp(9px, 0.064px + 1.16vw, 11.7px);
	line-height: 1.22;
	letter-spacing: -.07em;
}

.indexprofessional-message-en-point {
	width: 66%;
	margin: 0 auto;
	margin-bottom: 5%;
	padding-top: 2%;
	color: #958055;
	font-weight: 700;
	font-size: clamp(9px, 0.064px + 1.16vw, 11.7px);
	line-height: 1.7;
	letter-spacing: -.01em;
	text-align: center;
}

.indexprofessional-producesby {
	width: 15.4%;
	margin: 0 auto;
}

.indexprofessional-producesby img {
	width: 100%;
}

.indexpromise {
	position: relative;
	background: url(../img/index/bg_promise.png) no-repeat;
	background-size: contain;
	background-position: center;
	width: 78.5%;
	aspect-ratio: 2144/2613;
	margin: 0 auto 13.5%;
}

.indexpromise-list {
	position: absolute;
	top: 46.3%;
	left: 8.6%;
	width: 84%;
}

.indexpromise-list > li + li {
	margin-top: 6%;
}

.indexpromise-list-title {
	width: auto;
	height: clamp(37.6px, -0.144px + 4.91vw, 49px);
	margin-bottom: 1.5%;
}

.indexpromise-list-title img {
	width: auto;
	height: 100%;
}

.indexpromise-list-text {
	font-size: clamp(11.2px, -0.048px + 1.47vw, 14.6px);;
	font-weight: 700;
	line-height: 1.23;
	color: #1d1d1d;
	padding-left: 5%;
	width: 100%;
}

.indexcase-lead {
	margin-bottom: 4.5%;
	font-weight: 700;
	font-size: clamp(13.5px, -0.048px + 1.77vw, 17.6px);
	line-height: 1.7;
	text-align: center;
}

.indexcaseslider {
	position: relative;
	padding: 0 .5% 7.5%;
	overflow: hidden;
}

.indexcaseslider-list li img {
	width: 100%;
}

.indexcaseslider .swiper-button-prev {
	top: auto;
	bottom: 10px;
	left: calc(50% - 130px);
	width: 25px;
	height: 27px;
	background: url(../img/index/icon_slider_prev.png) no-repeat center center;
	background-size: 100%;
}

.indexcaseslider .swiper-button-next {
	top: auto;
	right: calc(50% - 130px);
	bottom: 10px;
	width: 25px;
	height: 27px;
	background: url(../img/index/icon_slider_next.png) no-repeat center center;
	background-size: 100%;
}

.indexcaseslider-treat {
	position: absolute;
	bottom: 10px;
	left: 50%;
	transform: translate(-50%,0);
	width: 150px;
	height: 30px;
	background: url(../img/index/icon_slider.png) no-repeat center center;
	background-size: 100%;
}

.indexhandling {
	padding-top: 5.3%;
}

.indexhandling-title {
	width: 38.4%;
	margin: 0 auto 2.3%;
}

.indexhandling-title img {
	width: 100%;
}

.indexhandling-lead {
	font-size: clamp(9px, 0.064px + 1.16vw, 11.7px);
	font-weight: 700;
	line-height: 1.93;
	color: #1d1d1d;
	text-align: center;
	margin: 0 auto 1%;
}

.indexhandling-image {
	width: 37.2%;
	margin: 0 auto 4%;
}

.indexhandling-image img {
	width: 100%;
}

.indexhandling-comment {
	font-size: clamp(11.2px, -0.048px + 1.47vw, 14.6px);;
	font-weight: 700;
	line-height: 1.2;
	color: #916e26;
	text-align: center;
	margin: 0 auto 6%;
}

.indexhandling-block {
	margin-bottom: 2.5%;
}

.indexhandling-block + .indexhandling-block {
	margin-top: 9.5%;
}

.indexhandling-block-title {
	width: 28%;
	margin: 0 auto 4%;
}

.indexhandling-block-title img {
	width: 100%;
}

.indexhandling-block-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: clamp(49.9px, -0.08px + 6.51vw, 65px) 2%;
	width: 72%;
	margin: 0 auto;
}

.indexhandling-block-list li {
	width: 20%;
}

.indexhandling-block-list li img {
	width: 100%;
}

.indexhandling-block-list li a {
	transition: all .25s ease;
}

.indexhandling-block-list li a:hover {
	opacity: 0.7;
}

.indexhandling-text {
	width: 100%;
	margin: 0 auto;
	margin-bottom: 6.5%;
	font-weight: 700;
	font-size: clamp(13.5px, -0.048px + 1.77vw, 17.6px);
	line-height: 1.7;
	letter-spacing: -.01em;
	text-align: center;
}

.indexhandling-other {
	width: 60%;
	margin: 0 auto 8%;
}

.indexhandling-other img {
	width: 100%;
}

.indexprocess {
	padding-top: 4.5%;
	padding-bottom: 10%;
	background: #FFFAF4;
	border-top: 1px solid #958055;
	border-bottom: 1px solid #958055;
}

.indexprocess-title {
	width: 77%;
	margin: 0 auto 6%;
}

.indexprocess-title img {
	width: 100%;
}

.indexprocess-lead {
	margin-bottom: 1.5%;
	font-weight: 700;
	font-size: clamp(18px, 0.128px + 2.33vw, 23.4px);
	line-height: 1.6;
	text-align: center;
}

.indexprocess-list {
	display: flex;
	justify-content: center;
	gap: 4%;
	margin-bottom: 5.5%;
}

.indexprocess-list > li {
	position: relative;
	width: 20.5%;
}

.indexprocess-list > li:not(:last-of-type)::after {
	position: absolute;
	top: 19%;
	right: -13.5%;
	z-index: 1;
	width: 14.3%;
	height: 45%;
	background: url(../img/index/img_process_arrow.png) no-repeat;
	background-size: contain;
	content: '';
}

.indexprocess-list-image {
	margin: 0 auto 2%;
}

.indexprocess-list-image img {
	width: 100%;
}

.indexprocess-list-text {
	font-size: clamp(9px, 0.064px + 1.16vw, 11.7px);
	line-height: 1.39;
	color: #1d1d1d;
}

.indexprocess-cta {
	position: relative;
	width: 76%;
	margin: 0 auto;
}

.indexprocess-cta img {
	width: 100%;
}

.indexprocess-cta-link {
	display: inline-block;
	position: absolute;
	bottom: 16.5%;
	width: 20%;
	height: 16%;
	overflow: hidden;
	text-indent: -999em;
}

.indexprocess-cta-link-tel {
	left: 2%;
	bottom: 14%;
	width: 46%;
	height: 33%;
}

.indexprocess-cta-link-line {
	right: 29.5%;
}

.indexprocess-cta-link-mail {
	right: 5.5%;
}

.indexoperations {
	overflow: hidden;
}

.indexoperations-bg {
	background: url(../img/index/bg_operations.jpg) repeat-y top center;
	background-size: 100%;
}
.indexoperations-title {
	padding-top: 10%;
	width: 40%;
	margin: 0 auto 5.5%;
}

.indexoperations-title img {
	width: 100%;
}

.indexoperations-image {
	width: 62%;
	margin: 0 auto;
	padding-bottom: 3.5%;
}

.indexoperations-image img {
	width: 100%;
}

.indexoparations-text {
	padding: 5.2% 0 5.8%;
	background: url(../img/index/bg_glassconstruction.jpg) no-repeat top center;
	background-size: 100% 100%;
	font-weight: 700;
	font-size: clamp(20.2px, -0.32px + 2.67vw, 26.4px);
	line-height: 1.72;
	text-align: center;
}

.indexoparations-text b {
	font-size: clamp(22.5px, -0.016px + 2.93vw, 29.3px);
}

.indexoperations-block {
	padding: 13% 0 8%;
	background: url(../img/index/bg_glass_02.png) no-repeat top center;
	background-size: 100% 100%;
	margin-bottom: -0.5%;
}

.indexoperations-list > li + li {
	margin-top: 11%;
}

.indexoperations-list-title {
	width: auto;
	height: clamp(44.5px, -0.192px + 5.82vw, 58px);
	text-align: center;
	margin: 0 auto 0.8%;
}

.indexoperations-list-title img {
	width: auto;
	height: 100%;
}

.indexoperations-list-lead {
	font-weight: 700;
	font-size: clamp(13.5px, -0.048px + 1.77vw, 17.6px);
	line-height: 1.75;
	color: #1d1d1d;
	text-align: center;
	margin-bottom: 1%;
}

.indexoperations-list-image {
	width: 76.1%;
	margin: 0 auto;
}

.indexoperations-list-image img {
	width: 100%;
}

.indexoperations-block-text {
	width: 65.7%;
	margin: 0 auto;
	margin-top: 8.5%;
	font-weight: 700;
	font-size: clamp(13.5px, -0.048px + 1.77vw, 17.6px);
	line-height: 1.75;
}

.indexoperations-block-text + .indexoperations-block-text {
	margin-top: 3.5%;
}

.indexoperations-professinal {
	padding: 11% 0 16%;
	width: 76%;
	margin: 0 auto;
}

.indexoperations-professinal img {
	width: 100%;
}

.indexexamples {
	padding: 10.5% 0 16%;
}

.indexexamples-title {
	width: 24%;
	margin: 0 auto 10%;
}

.indexexamples-title img {
	width: 100%;
}

.indexexamples-item {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 18.2%;
	width: 76.2%;
	margin: 0 auto;
	border: 1px solid #958055;
	background: #FFF;
}

.indexexamples-item + .indexexamples-item {
	margin-top: 6.6%;
}

.indexexamples-image {
	width: 30%;
}

.indexexamples-image img {
	width: 100%;
}

.indexexamples-detail {
	flex: 1;
	padding-top: 2.6%;
}

.indexexamples-detail-title {
	margin-bottom: 6.5%;
	font-weight: 700;
	font-size: clamp(13.1px, -0.144px + 1.72vw, 17.1px);
	letter-spacing: -.01em;
	line-height: 1.67;
}

.indexexamples-detail-size {
	margin-bottom: 5.3%;
	font-weight: 700;
	font-size: clamp(13.1px, -0.144px + 1.72vw, 17.1px);
	letter-spacing: -.01em;
	line-height: 1.67;
}

.indexexamples-detail-meta {
	margin-bottom: 5.3%;
	font-size: clamp(10.9px, -0.032px + 1.42vw, 14.2px);
	letter-spacing: -.01em;
	line-height: 1.67;
}

.indexexamples-detail-feature {
	font-weight: 700;
	font-size: clamp(10.9px, -0.032px + 1.42vw, 14.2px);
	letter-spacing: -.01em;
	line-height: 1.67;
}

.indexarea-title {
	width: 24%;
	margin: 0 auto 8%;
}

.indexarea-title img {
	width: 100%;
}

.indexarea-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 28px 0;
	width: 66%;
	margin: 0 auto;
}

.indexarea-list dt {
	width: 31%;
	color: #916E26;
	font-weight: 700;
	font-size: clamp(13.5px, -0.048px + 1.77vw, 17.6px);
}

.indexarea-list dd {
	width: 69%;
	padding-top: 1px;
	color: #231815;
	font-size: clamp(9px, 0.064px + 1.16vw, 11.7px);
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.2;
	letter-spacing: .05em;
}

.indexfooter {
	padding: 10% 0 6.2%;
}

.indexfooter-logo {
	display: block;
	width: 11%;
	margin: 0 auto;
}

.indexfooter-logo img {
	width: 100%;
}


@media screen and (min-width: 1000px){
	.splash-maincatch {
		top: 62px;
	}

	.splash-animation {
		top: 39%;
	}

	.innerwrapper {
		position: relative;
		margin: 0 auto;
		max-width: 1000px;
		width: 100%;
	}

	.innerwrapper::before,
	.innerwrapper::after {
		position: absolute;
		top: 0;
		z-index: 1;
		width: 23px;
		height: 100%;
		background: url(../img/index/img_inner_frame.png);
		background-repeat: repeat-y;
		background-size: 23px 100px;
		content: '';
	}

	.innerwrapper::before {
		left: -23px;
	}

	.innerwrapper::after {
		right: -23px;
		transform: rotate(180deg);
	}
}


@media screen and (max-width: 767px){

	/* loading ---------------------------------------*/
	.splash{
		left:0;
		width: 100%;
		transform: unset;
		background-image: url('../img/index/bg_splash_sp.png');
		background-repeat: no-repeat;
		background-size: 100% auto;
		background-position: top center;
	}

	.splash-maincatch {
		top: 13.5vw;
		width: calc(292 / 320 * 100%);
	}

	.splash-animation {
		top: 63vw;
	}

	.splash-animation-meter {
		margin: 0 auto 32px;
		width: calc(98 / 320 * 100%);
	}

	.splash-animation-count {
		font-size: 7.5vw;
	}


	/* index common ---------------------------------------*/

	.indexbody::before {
		background: url(../img/index/bg_sp.jpg) no-repeat center center;
		background-size: cover;
	}

	/* index challenge ---------------------------------------*/

	/* .indexchallenge {
		position: relative;
		overflow: hidden;
	} */

	.indexchallenge-title {
		width: 100vw;
		margin-bottom: 13vw;
		margin-left: 0;
		padding-top: 1.8vw;
		position: relative;
	}

	.indexchallenge-title::before {
		display: block;
		content: '';
		background: #958055;
		width: 100%;
		height: 2.4vw;
		position: absolute;
		left: 0;
		top: 0;
	}

	.indexchallenge-pro {
		width: 100vw;
		margin: 0 auto 9vw;
	}

	.indexchallenge-feature-staff01 {
		left: -7.5vw;
		width: 27.5vw;
	}

	.indexchallenge-feature-staff02 {
		right: -6.5vw;
		width: 27.5vw;
	}

	.indexchallenge-feature-inner {
		width: 64vw;
		padding: 6.2vw 0 5vw;
		position: relative;
		z-index: 1;
	}

	.indexchallenge-about {
		padding: 3.2vw 2vw 3vw;
	}

	.indexchallenge-about-title {
		margin-bottom: 1vw;
		font-size: 5vw;
		text-align: center;
	}

	.indexchallenge-about-title span {
		padding: 0 4vw;
	}

	.indexchallenge-about-title span::before {
		width: 1vw;
	}

	.indexchallenge-about-title span::after {
		width: 1vw;
	}

	.indexchallenge-about-text {
		font-size: 3.125vw;
		line-height: 1.7;
		letter-spacing: .07em;
	}

	.indexdirect {
		padding: 13vw 0 24.4vw;
	}

	.indexdirect-title {
		width: 92vw;
		margin: 0 auto 5.4vw;
	}

	.indexdirect-lead {
		margin-bottom: 9.5vw;
		font-size: 3.125vw;
	}

	.indexdirect-image {
		width: 100%;
	}

	.indexlowest-title {
		width: 100vw;
		margin: 0 auto 4.5vw;
	}

	.indexlowest-secret {
		padding-bottom: 8vw;
		border: none;
		background: unset;
	}

	.indexlowest-secret-inner {
		flex-direction: column;
		gap: 3vw;
	}

	.indexlowest-secret-manager {
		width: 60vw;
	}

	.indexlowest-secret-body {
		position: relative;
		background: url(../img/index/bg_secret_sp.png) no-repeat;
		background-size: contain;
		background-position: center;
		width: 100%;
		aspect-ratio: 640 / 772;
		margin: 0 auto;
	}

	.indexlowest-secret-list {
		position: absolute;
		margin-bottom: 5vw;
		top: 19.2vw;
		left: 50%;
		width: 91%;
		transform: translateX(-50%);
	}

	.indexlowest-secret-list > li + li {
		margin-top: 3vw;
	}

	.indexlowest-secret-list-num {
		height: 6.2vw;
		margin-left: 2vw;
		margin-bottom: 2.5vw;
	}

	.indexlowest-secret-list-title {
		font-size: 4.375vw;
		line-height: 1.2;
		margin-left: 2vw;
		margin-bottom: 1vw;
	}

	.indexlowest-secret-list-text {
		font-size: 2.5vw;
		font-weight: 700;
		line-height: 1.34;
		border: unset;
		padding: 2vw 2vw;
	}

	/* 
	.indexwelcome {
		width: 100%;
		background: url(../img/index/bg_welcome.png) no-repeat center center;
		background-size: 100%;
	} */

	.indexwelcome-image {
		width: 100%;
		padding: 0;
		position: relative;
		padding-bottom: 0.8vw;
	}

	.indexwelcome-image::after {
		display: block;   
		content: '';
		background: url('../img/common/line_green.png') no-repeat center center; 
		background-size: 98%;
		width: 100%;
		height: 1vw;
		position: absolute;
		left: 0;
		bottom: -0.8vw;
	}

	.indexcontact {
		padding-top: 13vw;
	}

	.indexcontact-image {
		position: relative;
		width: 95.6vw;
		margin: 0 auto 3vw;
		padding-left: 0;
	}

	.indexcontact-link {
		bottom: 6.5vw;
		width: 38vw;
		height: 11vw;
	}

	.indexcontact-link-tel {
		left: 4%;
		bottom: 19%;
		width: 92%;
		height: 13%;
	}

	.indexcontact-link-line {
		left: 4.8vw;
	}

	.indexcontact-link-mail {
		left: 50vw;
	}

	.indexcontact-link-service,
	.indexcontact-link-height {
		bottom: 75vw;
		height: 24vw;
		width: 46vw;
	}

	.indexcontact-link-service {
		left: 1vw;
	}

	.indexcontact-link-height {
		left: 47.3vw;
	}

	.indexprice-payment {
		padding-top: 17.5vw;
	}

	.indexprice-payment-title {
		width: 100vw;
		margin: 0 auto 24vw;
	}

	.indexprice-title span {
		font-size: 1.875vw;
		left: 83%;
	}

	.indexprice-contents {
		width: 100vw;
		margin: 0 auto 10vw;
		border: none;
		background: unset;
	}

	.indexprice-contents-inner {
		width: 92%;
		margin: 0 auto;
		padding: 6.5vw 0 3.5vw;
	}

	.indexprice-contents-lead {
		margin-bottom: 7vw;
		font-size: 3.125vw;
	}

	.indexprice-contents-block {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: flex-end;
		gap: 2vw;
		margin-bottom: 2.7vw;
		padding-bottom: 3.2vw;
		background: url(../img/index/line_dot.png) no-repeat bottom center;
		background-size: 86%;
	}

	.indexprice-contents-block-linenone {
		margin-bottom: 0;
		background: none;
	}

	.indexprice-contents-image {
		width: 37.2%;
	}

	.indexprice-contents-title {
		margin-bottom: 10vw;
		font-size: 3.125vw;
	}

	.indexprice-contents-text {
		font-size: 2.5vw;
		line-height: 1.9;
	}

	.indexprice-contents-notice {
		margin-top: 8vw;
		padding: 4vw 3vw;
		font-size: 3.125vw;
	}

	.indexestimate-image {
		width: 100vw;
		margin: 0 auto 11.2vw;
	}

	.indexestimate-strongpoint {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: .5vw;
		position: relative;
		margin-top: .4vw;
	}

	.indexestimate-strongpoint::before {
		display: none;
	}

	.indexestimate-strongpoint::after {
		display: none;
	}

	.indexestimate-strongpoint-item {
		width: 33vw;
	}

	.indexprofessional {
		padding: 16.8vw 0 22vw;
		background: url(../img/index/bg_president_sp.png) no-repeat top 11vw left -12.3vw;
		background-size: 125vw;
	}

	.indexprofessional-image {
		width: 68vw;
		margin: 0 auto 9vw;
	}

	.indexprofessional-image img {
		width: 100%;
	}

	.indexprofessional-message {
		width: 87vw;
		font-size: 2.5vw;
		line-height: 1.4;
		letter-spacing: 0;
	}

	.indexprofessional-message-point {
		width: 87vw;
		padding-top: 2.5vw;
		padding-bottom: 3.2vw;
		font-size: 2.5vw;
		line-height: 1.8;
		letter-spacing: 0;
	}

	.indexprofessional-message-en {
		width: 87vw;
		font-size: 1.563vw;
		line-height: 1.55;
	}

	.indexprofessional-message-en-point {
		width: 66vw;
		margin: 0 auto;
		margin-bottom: 0;
		padding-top: 2vw;
		font-weight: 700;
		font-size: 2.5vw;
		letter-spacing: -.01em;
	}

	.indexprofessional-producesby {
		width: 28vw;
	}

	.indexpromise {
		margin-bottom: 7vw;
	}

	.indexpromise {
		background: url(../img/index/bg_promise_sp.png) no-repeat;
		background-size: contain;
		background-position: center;
		width: 100%;
		aspect-ratio: 640/1302;
		margin: 0 auto 7.5vw;
	}

	.indexpromise-list {
		top: 47.8%;
		left: 0;
		width: 100%;
	}

	.indexpromise-list > li + li {
		margin-top: 7.2vw;
	}

	.indexpromise-list-title {
		width: 100%;
		height: auto;
		margin-bottom: 1vw;
	}

	.indexpromise-list-title img {
		width: 100%;
		height: auto;
	}

	.indexpromise-list-text {
		font-size: 2.5vw;
		line-height: 1.35;
		margin-left: 17.3vw;
		padding-left: 0;
		width: 75%;
	}

	.indexhandling {
		padding-top: 20vw;
	}

	.indexhandling-title {
		width: 82vw;
		margin: 0 auto 6vw;
	}

	.indexhandling-lead {
		font-size: 2.5vw;
		margin: 0 auto 1.5vw;
	}

	.indexhandling-image {
		width: 79.3vw;
		margin: 0 auto 8.5vw;
	}

	.indexhandling-comment {
		font-size: 3.125vw;
		margin: 0 auto 8vw;
	}

	.indexhandling-block {
		margin-bottom: 5.5vw;
	}

	.indexhandling-block + .indexhandling-block {
		margin-top: 12.5vw;
	}

	.indexhandling-block-title {
		width: 60vw;
		margin: 0 auto 7vw;
	}

	.indexhandling-block-title img {
		width: 100%;
	}

	.indexhandling-block-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		gap: 6.5vw 6vw;
		width: 89vw;
		margin: 0 auto;
	}

	.indexhandling-block-list li {
		width: 41.5vw;
	}

	.indexhandling-block-list li img {
		width: 100%;
	}

	.indexhandling-block-list li a:hover {
		opacity: 1;
	}

	.indexhandling-text {
		width: 96vw;
		margin-bottom: 8vw;
		font-size: 3.75vw;
		line-height: 1.495;
	}

	.indexhandling-other {
		width: 100vw;
		margin: 0 auto 25vw;
	}

	.indexprocess {
		padding-top: 0;
		padding-bottom: 21vw;
		background: unset;
		border-top: none;
		border-bottom: none;
	}

	.indexprocess-title {
		width: 100%;
		margin: 0 auto 7vw;
	}

	.indexprocess-lead {
		margin-bottom: 6.5vw;
		font-size: 4.375vw;
	}

	.indexprocess-list {
		display: block;
		margin-bottom: 5vw;
	}

	.indexprocess-list > li {
		position: relative;
		width: 81vw;
		margin: 0 auto;
	}

	.indexprocess-list > li + li {
		margin-top: 7vw;
	}

	.indexprocess-list > li:not(:last-of-type)::after {
		top: 66%;
		right: unset;
		left: 50%;
		z-index: -1;
		width: 10.9vw;
		height: 36.8vw;
		transform: translateX(-50%) rotate(90deg);
	}

	.indexprocess-list-image {
		width: 84%;
		margin: 0 auto 0.5vw;
	}

	.indexprocess-list-text {
		font-size: 3.125vw;
		line-height: 1.39;
	}

	.indexprocess-finished {
		width: 100vw;
		margin-bottom: 20vw;
	}

	.indexprocess-finished img {
		width: 100%;
	}

	.indexprocess-cta {
		width: 100vw;
	}

	.indexprocess-cta img {
		width: 100%;
	}

	.indexprocess-cta-link {
		display: inline-block;
		position: absolute;
		bottom: 6.8vw;
		width: 38vw;
		height: 10.7vw;
		overflow: hidden;
		text-indent: -999em;
	}

	.indexprocess-cta-link-tel {
		left: 6%;
		bottom: 48%;
		width: 88%;
		height: 33%;
	}

	.indexprocess-cta-link-line {
		right: 54.5vw;
	}

	.indexprocess-cta-link-mail {
		right: 8.2vw;
	}

	.indexoperations-title {
		padding-top: 16.5vw;
		width: 92vw;
		margin: 0 auto 7vw;
	}

	.indexoperations-image {
		width: 100vw;
		margin: 0 auto;
		padding-bottom: 5vw;
	}

	.indexoperations-image img {
		width: 100%;
	}

	.indexoparations-text {
		padding: 7vw 0 8vw;
		background: url(../img/index/bg_glassconstruction_sp.jpg) no-repeat top center;
		background-size: 100% 100%;
		font-size: 4.375vw;
		line-height: 2.1;
	}

	.indexoparations-text b {
		font-size: 5vw;
	}

	.indexoperations-block {
		padding: 16vw 0 4vw;
		background: url(../img/index/bg_glass_02_sp.png) no-repeat top center;
		background-size: 100% 100%;
	}

	.indexoperations-list > li + li {
		margin-top: 12vw;
	}

	.indexoperations-list-title {
		height: 6.9vw;
		margin: 0 auto 1.5vw;
	}

	.indexoperations-list-lead {
		font-size: 3.125vw;
		line-height: 1.17;
		margin-bottom: 1.5vw;
	}

	.indexoperations-list-image {
		width: 90.7vw;
	}

	.indexoperations-block-text {
		width: 90vw;
		margin-top: 10vw;
		font-size: 3.125vw;
		line-height: 1.3;
	}

	.indexoperations-block-text + .indexoperations-block-text {
		margin-top: 2.8vw;
	}

	.indexoperations-professinal {
		padding: 19vw 0 16vw;
		width: 100vw;
		margin: 0 auto;
	}

	.indexoperations-professinal img {
		width: 100%;
	}

	.indexexamples {
		padding: 20vw 0 23vw;
	}

	.indexexamples-title {
		width: 57vw;
		margin: 0 auto 16vw;
	}

	.indexexamples-title img {
		width: 100%;
	}

	.indexexamples-item {
		gap: 2vw;
		width: 96vw;
		border: none;
		padding-bottom: 5vw;
		background: url(../img/index/line_dot.png) no-repeat bottom center;
		background-size: 86%;
	}

	.indexexamples-item:last-of-type {
		background: none;
		padding-bottom: 0;
	}

	.indexexamples-item + .indexexamples-item {
		margin-top: 4vw;
	}

	.indexexamples-image {
		width: 37.2%;
	}

	.indexexamples-detail {
		flex: 1;
		padding-top: 2.2%;
	}

	.indexexamples-detail-title {
		margin-bottom: 3.5vw;
		font-size: 3.125vw;
	}

	.indexexamples-detail-size {
		margin-bottom: 5vw;
		font-size: 3.125vw;
	}

	.indexexamples-detail-meta {
		margin-bottom: 2vw;
		font-weight: 700;
		font-size: 2.5vw;
	}

	.indexexamples-detail-feature {
		font-size: 2.5vw;
		padding-bottom: 3vw;
	}

	.indexarea-title {
		width: 56vw;
		margin: 0 auto 16vw;
	}

	.indexarea-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 5vw 0;
		width: 95vw;
		margin: 0 auto;
	}

	.indexarea-list dt {
		width: 19%;
		font-size: 3.75vw;
		letter-spacing: 0.08em;
	}

	.indexarea-list dd {
		width: 81%;
		padding-top: 1vw;
		font-size: 2.5vw;
	}

	.indexfooter {
		padding: 25vw 0 15vw;
	}

	.indexfooter-logo {
		display: block;
		width: 25.5vw;
		margin: 0 auto;
	}

	.indexfooter-logo img {
		width: 100%;
	}

}

/* small pc */
@media screen and (min-width: 500px) and (max-width: 767px){
	/* loading ---------------------------------------*/
	.splash-animation-meter {
		width: 135px;
	}
	
	.splash-animation-count {
		font-size: 28px;
	}
}	