@charset "utf-8";
@media screen and (max-width: 750px) {
	
	:root {
		--fs-title: 10.6vw;
		--fs-18: 4.2vw;
		--pd-abt: 53.0vw;
	}
	
  /*=============================
　　　　title
===============================*/
  .headline_box {
    margin-bottom: 6.0vw;
  }
	
  /*=============================
　　　　mainvisual
===============================*/
  
	#mainvisual {
		height: 175vw;
	}
	#mainvisual .mv_inner {
		width: 100%;
		height: 100%;
		align-items: flex-start;
		justify-content: space-between;
	}
	#mainvisual .mv_inner::before,
	#mainvisual .mv_inner::after {
		content: "";
		width: calc(322vw * 0.35);
		aspect-ratio: 1481 / 1246;
		position: absolute;
		top: 66.5%;
		right: -24vw;
		transform: translate(0 , -50%);
	}
	#mainvisual .mv_inner::before {
		background: url("../images/mv/img_mv-shadow.webp");
		background-size: cover;
		mix-blend-mode: darken;
	}
	#mainvisual .mv_inner::after {
		background: url("../images/mv/img_mv-dice.webp");
		background-size: cover;
	}

	#mainvisual .title_box {
		margin-top: 42.6vw;
		padding-left: 5.3vw;
	}
	#mainvisual .title_box img {
		width: 80vw;
		/*height: auto;*/
		margin-bottom: 1.8vw;
	}
	#mainvisual .title_box h1 {
		font-size: 4.0vw;
	}
	
	/*=============================
　　　　about us
===============================*/
	#about {
		padding: var(--pd-abt) 0 47vw;
	}
	#about::before {
		top: 40.3vw;;
		left: -6.7vw;
		width: 65vw;
		opacity: 0.7;
	}
	#about::after {
		bottom: -5.3vw;
		left: -5.3vw;
		width: 153vw;
	}
	#about .wrap {
		width: 100%;
		display: flex;
		justify-content: flex-end;
	}
	#about .wrap .text_box h2 {
		color: #777;
		font-size: 6.7vw;
		margin-bottom: 10.6vw;
		letter-spacing: 1.4vw;
	}
	#about .wrap .text_box h2::before {
		content: "Turn over a\A new leaf.";
		font-size: 18.7vw;
		text-align: right;
		letter-spacing: -2px;
		white-space: pre;
		top: calc(-1 * var(--pd-abt));
		right: -5vw;
	}
	#about .wrap .text_box p {
		font-size: 4.5vw;
		line-height: 2.2;
		letter-spacing: 0.2vw;
		width: 100%;
	}

	
	
/*=============================
　　　 service
===============================*/
	#service {
		padding-block: 24.0vw;
	}
	#service .wrap {
		width: 100%;
		margin: 0 auto;
		padding-inline: 5.3vw;
	}
	#service .wrap .headline_box {
		text-align: center;
	}
	#service .wrap .headline_box h2 {
		
	}
	#service .wrap > p {
		font-size: 4.2vw;
		line-height: 2.2;
		text-align: left;
		margin-bottom: 12.8vw;
	}
	#service .wrap .gbox {
		padding: 3.3vw;
		display: grid;
		background: #fff;
		width: 100%;
		grid-template-columns: 100%;
		gap: 3.3vw;
		text-align: center;
	}
	#service .wrap .gbox .gitem {
		aspect-ratio: 3 / 1;
	}
	#service .wrap .gbox .gitem p.ja {
		font-size: 5.0vw;
	}
	#service .wrap .gbox .gitem p.en {
		font-size: 4.3vw;
	}
	#service .wrap .gbox .dgray {
		position: relative;
		background: #4d4d4d;
		text-align: right;
	}
	#service .wrap .gbox .dgray img {
		width: 26vw;
		top: 50%;
		left: 1.5vw;
		transform: translate(0 , -50%);
	}

	#service .wrap .gbox .lgray {
		position: relative;
		background: #c1c1c1;
		text-align: left;
	}
	#service .wrap .gbox .lgray img {
		width: 26vw;
		top: 50%;
		right: 1.5vw;
		transform: translate(0 , -50%);
	}
	#service .wrap .gbox .dgray div {
		color: #fff;
		position: absolute;
		bottom: 50%;
		right: 6vw;
		transform: translate(0 , 55%)
	}
	#service .wrap .gbox .lgray div {
		color: #333;
		position: absolute;
		bottom: 50%;
		left: 6vw;
		transform: translate(0 , 55%);
	}


/*=============================
　　　 contact_form
===============================*/
#contact_form {
	padding-block: 24.0vw;
}
#contact_form .wrap {
	width: 100%;
	margin: 0 auto;
	padding-inline: 5.3vw;
}
#contact_form .wrap .headline_box {
	text-align: center;
}
#contact_form .wrap .headline_box h2 {
	
}
#contact_form .wrap .fbox {
	width: 100%;
	margin: 0 auto 11.2vw;
	padding: 5.3vw;
	flex-direction: column;
	text-align: center;
}
#contact_form .wrap .fbox > p {
	font-size: var(--fs-18);
	line-height: 1.8;
	border-right: none;
	border-bottom: 1px solid #fff;
	padding-right: 0;
	padding-bottom: 3.7vw;
	margin-bottom: 5.3vw;
}
#contact_form .wrap .fbox > div img {
	width: 7.3vw;
	margin-right: 3.8vw;
	vertical-align: -18%;
}
#contact_form .wrap .fbox > div a {
	font-size: 8.7vw;
}
#contact_form .wrap .fbox > div p {
	font-size: var(--fs-18);
	text-align: center;
}
#contact_form .wrap > p {
	font-size: 3.7vw;
	margin-bottom: 11.2vw;
}
	
#contact_form > .inner {
	padding-inline: 5.3vw;
}	
#contact_form .privacy_list {
	margin: 20px 0 80px;
	line-height: 2.0;
}
#contact_form .privacy_list .hbox {
	width: 100%;
	height: 90vw;
	font-size: 3.4vw;
	padding: 5.3vw 5.3vw 0;
}
#contact_form .privacy_list .inner {
}
#contact_form .privacy_list .hbox .inner .privacy_box {
	margin: 0 0 6.7vw;
}
#contact_form .privacy_list .hbox .inner .privacy_box .text {
	margin: 0 0 6.0vw;
}
#contact_form .privacy_list .hbox .inner .privacy_box .text.nomab {
	margin: 0 0 0;
}
#contact_form .privacy_list .hbox .inner .privacy_box .pra_numlist {
	
}
#contact_form .privacy_list .hbox .inner .privacy_box .pra_numlist li {
	padding: 0 0 0 7.0vw;
	margin: 0 0 1.2vw;
}
#contact_form .privacy_list .hbox .inner .privacy_box .pra_numlist li::before {
	top: 0;
	left: -1.0vw;
}
#contact_form .privacy_list .hbox .inner .privacy_box dl dt {
	font-size: 5.0vw;
	padding: 0 0 1.8vw;
	margin: 0 0 1.8vw;
	line-height: 1.5;
}
#contact_form .privacy_list .hbox .inner .privacy_box dl dt span {
	display: inline-block;
	margin: 0 2.4vw 0 0;
}
#contact_form .privacy_list .hbox .inner .privacy_box .pra_dotlist li {
	position: relative;
	padding: 0 0 0 4.5vw;
}
#contact_form .privacy_list .hbox .inner .privacy_box .pra_dotlist li a {
	word-break: break-word;
}
#contact_form .privacy_list .hbox .inner .privacy_box .pra_numlist_end li {
	padding: 0 0 0 7.0vw;
}
#contact_form .privacy_list .hbox .inner .privacy_box .pra_numlist_end li::before {
	top: 0;
	left: -0.7vw;
}


/*=============================
　　　 company
===============================*/
	#company {
		padding-block: 24.0vw;
		background: url("../images/company/bg_company.webp") no-repeat , #fafafa;
		background-position: center 145%;
		background-size: 300%;
	}
	#company .wrap {
		width: 100%;
		margin: 0 auto;
		padding-inline: 5.3vw;
	}
	#company .wrap .headline_box {
		text-align: center;
	}
	#company .wrap .text_box {
		width: 100%;
		margin: 0 auto 13.3vw;
	}
	#company .wrap .text_box .fbox {
		padding-block: 6.4vw;
	}
	#company .wrap .text_box .fbox dt {
		width: 24.7vw;
		font-size: 3.7vw;
		padding-left: 2.0vw;
	}
	#company .wrap .text_box .fbox dd {
		width: calc(100% - 24.7vw);
		font-size: 3.7vw;
		padding-right: 2.0vw;
	}
	#company .wrap img {
		margin: 0 auto 13.3vw;
		width: 70.0vw;
		transform: translateX(-4%);
	}
	#company .wrap .gmap {
		width: 100%;
		height: 420px;
	}
}