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


* {
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
	position: relative;
}

html,body {
	width: 100%;
	height: 100%;
	font-size: 62.5%;
	font-size-adjust: 0.58;
	font-family: 'Noto Sans JP', sans-serif;
	-webkit-text-size-adjust: 100%;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	text-decoration: none;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
	color: inherit;
	display: inline-flex;
	position: relative;
	line-height: 1;
}

iframe,video {
	aspect-ratio: 16 / 9;
	width: 100%;
	height: 100%;
}

li {
	list-style: none;
}

@media screen and (min-width: 737px) {
	a:hover {
		opacity: 0.6;
		transition: 0.6s;
	}
	
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

.pc {
	display: inline-block;
}

.sp {
	display: none !important;
}

@font-face {
  font-family: "FOT-筑紫B丸ゴシックStd";
  src: url("../font/FOT-TsukuBRdGothicStd-D.otf") format("woff");
  font-weight: bold;
}


/* ---------------------------------------------------------
共通
--------------------------------------------------------- */
#wrap {
	width: 100%;
	height: 100%;
}

#contents {
	z-index: 1;
	width: 100%;
	height: auto;
}

.inner_wrap {
	max-width: 1300px;
	width: 90%;
	margin: 0px auto;
}

section {
	padding-bottom: 10vw;
}

.sec_bottom_img {
	display: flex;
	justify-content: center;
	margin-top: 5rem;
}

.sec_bottom_img > p {
	display: flex;
	justify-content: center;
	width: 300px;
}

section.trapezoid {
  position: relative;
  width: 100%;
}

/* 上部の台形 */
section.trapezoid .sec_ttl_wrap::before {
  content: "";
  position: absolute;
  top: -80px;
  left: 0;
  width: 100%;
  height: 80px; /* 固定高さ */
  clip-path: polygon(20% 0, 80% 0, 100% 100%, 0 100%);
}

section.trapezoid .sec_ttl_wrap {
	padding-top: 7vw;
	margin-bottom: 6rem;
}

.grid_back {
	background: url("../images/grid_back.png");
	background-size: contain;
}




/* ---------------------------------------------------------
ヘッダー
--------------------------------------------------------- */
header {
	position: absolute;
	z-index: 2;
	padding: 2rem 0px;
	width: 100%;
}

.header_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 96%;
	margin: 0px auto;
}

.logo {
	width: auto;
	display: flex;
	align-items: center;
	gap: 3rem;
}

.logo_hec {
	max-width: 343px;
	width: auto;
}

.logo_horiuchi {
	max-width: 240px;
	width: auto;
}

.header_tel {
	max-width: 460px;
	width: 80%;
}



/* ---------------------------------------------------------
セクションタイトル
--------------------------------------------------------- */
.sec_ttl_wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 3rem;
	margin-bottom: 4rem;
}

.sec_ttl_inner {
	display: grid;
	place-items: center;
	line-height: 1;
}

.sec_ttl_inner > * {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: bold;
	z-index: 1;
}

.sec_ttl_inner.back_txt::after {
	display: inline-block;
	font-size: clamp(10rem,10vw,20rem);
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: bold;
	position: absolute;
	z-index: 0;
	line-height: 0;
}

.ttl_icon::before {
	content: '';
	background-repeat: no-repeat !important;
	background-size: contain !important;
	display: inline-block;
	width: 20vw;
	height: 20vw;
	left: -21vw;
	position: absolute;
}

.sec_txt {
	font-size: clamp(1.5rem,2.6vw,2.6rem);
	font-weight: 600;
	text-align: center;
	margin: 5vw auto 6rem;
	line-height: 160%;
}



/* ---------------------------------------------------------
ボタン設定
--------------------------------------------------------- */
.contact_btn {
	background: #C65735;
	filter: drop-shadow(3px 5px 0px #984D37);
	color: #FFF;
	font-size: clamp(1.4rem,2vw,2.6rem);
	font-weight: bold;
}

.contact_btn a {
	display: flex;
	align-items: center;
	padding: 3vw 3vw;
}

.contact_btn a::before,
.contact_btn a::after {
	content: '';
	background-repeat: no-repeat !important;
	background-size: contain !important;
	display: inline-block;
}

.contact_btn a::before {
	background: url("../images/icon_mail.svg");
	width: 32px;
	height: 21px;
	left: 0px;
	margin-right: 20px;
	position: relative;
}

.contact_btn a::after {
	background: url("../images/arrow_right.svg");
	width: 1vw;
	height: 1.5vw;
	right: 2rem;
	position: absolute;
}

.type_ellipse {
	border-radius: 100px;
}




/* ---------------------------------------------------------
電話番号
--------------------------------------------------------- */
.tel_num {
	font-size: clamp(4rem,8.2vw,8.2rem);
	padding: 2rem 0px;
}

.tel_num a {
	display: flex;
	align-items: center;
	justify-content: center;
}

.tel_num a::before {
	content: '';
	background: url("../images/icon_freedial.png");
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	width: 87px;
	height: 57px;
	left: 0px;
	top: 8px;
	position: relative;
	margin-right: 20px;
}




/* ---------------------------------------------------------
フッター
--------------------------------------------------------- */
.copyright {
	font-size: clamp(1rem,1.6vw,1.6rem);
	font-weight: 600;
	text-align: center;
	padding: 2rem 1rem;
}




