@charset "UTF-8";

:root {
	--primary: #fedb11;
	--txtColor: #000;
	--txtColorSecondary: #fff;
	--txtLink: #009de0;
	--borderColor: #bfc9cd;
	--borderColorSecondary: #b6b6b5;
	--bgColor: #fff;
	--bgColorSecondary: #e8f7fa;
	--bgColorTertiary: #e1e8ef;
	--bgColorTh: #fedb11;
	--bgColorThSub: #f2f1ee;
	--white: #fff;
	--black: #333;
	--gray: #b6b6b5;
	--fontFamily: "Noto Sans JP", sans-serif;
	--fontFamilyEn: "Roboto", sans-serif;
	--txtSizeSp: 1.4rem;
	--txtSizePc: 1.6rem;
	--lineHeight: 1.75;
	--lineHeightTitle: 1.5;
	--letterSpacing: 0.01em;
	--fixedWidth: 1280px;
	--zIndexLv0: 0;
	--zIndexLv1: 1;
	--zIndexLv2: 10;
	--zIndexLv3: 100;
	--zIndexLv4: 1000;
	--zIndexLv5: 10000;
	--breakTabLength: 768;
	--breakPcLength: 1025;
	--breakPcLength1235: 1235;
}

.point {
	color: #e82d23;
}

html {
	scroll-behavior: smooth;
	font-size: 62.5%;
	scroll-padding-top: 80px;
}

html.prevent {
	position: fixed;
	z-index: -1;
	width: 100%;
	height: 100%;
}

body {
	font-family: var(--fontFamily);
	font-size: var(--txtSizeSp);
	font-feature-settings: "palt" 1;
	line-height: var(--lineHeight);
	color: var(--txtColor);
	background-color: var(--bgColor);
}

h1 {
	margin-bottom: 0.25em;
	font-size: 1rem;
	font-weight: 700;
	color: #231815;
}

h2 {
	margin: 0 0 32px;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
}

h3 {
	margin: 48px 20px 32px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
	text-indent: -20px;
}

h3::before {
	padding-bottom: 4px;
	margin-right: 1.5rem;
	content: "";
	border-left: 4px solid var(--primary);
}

p {
	margin-bottom: 1em;
	font-size: var(--txtSizePc);
	font-weight: 500;
	line-height: 2;
	text-align: justify;
	text-justify: inter-character;
	word-break: normal;
	overflow-wrap: break-word;
}

div > p:last-child {
	margin-bottom: 0;
}

.c-title_en {
	font-family: var(--fontFamilyEn), sans-serif;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	color: var(--primary);
}

a:hover,
input.c-btn_txt-link:hover {
	opacity: 0.6;
}

img.fluid_img {
	display: block;
	max-width: 100%;
	height: auto;
}

ul.u-list-asterisk {
	margin-top: 20px;
}

ul.u-list-asterisk li {
	margin: 0 0 0.25em 1.25em;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5em;
	text-indent: -1em;
}

ul.u-list-asterisk li::before {
	content: "※";
}

.pc_true {
	display: none;
}

.sp_true {
	display: block;
}

/* Header
------------------------- */
@-webkit-keyframes MenuFade {
	0% {
		display: none;
		opacity: 0;
	}

	to {
		display: block;
		opacity: 1;
	}
}

@keyframes MenuFade {
	0% {
		display: none;
		opacity: 0;
	}

	to {
		display: block;
		opacity: 1;
	}
}

header {
	width: 100%;
}

#header_navi {
	position: fixed;
	z-index: var(--zIndexLv4);
	width: 100%;
	min-width: 320px;
	padding-inline: 20px;
	padding-top: 5px;
	padding-bottom: 15px;
	background: var(--bgColor);
}

.header_navi-blocks {
	display: flex;
	gap: 25px;
	align-items: flex-end;
	justify-content: space-between;
	max-width: 1280px;
	margin: 0 auto;
}

.header_container {
	display: flex;
	gap: 20px;
	align-items: flex-end;
	justify-content: space-between;
	width: 100%;
	height: 60px;
}

#header_navi-toggle {
	display: block;
	width: 40px;
	height: 30px;
}

#header_navi-toggle:hover {
	cursor: pointer;
	opacity: 0.6;
}

#header_navi-icon {
	position: relative;
	top: 12px;
	display: block;
	width: 35px;
	height: 2px;
	font-size: 0;
	background-color: #4a4b4f;
}

#header_navi-icon::before {
	position: absolute;
	top: -12px;
	left: 0;
	display: block;
	width: 35px;
	height: 2px;
	content: "";
	background-color: #4a4b4f;
	transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

#header_navi-icon::after {
	position: absolute;
	top: 12px;
	left: 0;
	display: block;
	width: 35px;
	height: 2px;
	content: "";
	background-color: #4a4b4f;
	transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

#header_navi-icon.active {
	background: 0 0;
}

#header_navi-icon.active::before {
	top: 0;
	transform: rotate(45deg);
}

#header_navi-icon.active::after {
	top: 0;
	transform: rotate(-45deg);
}

.header_navi-contact {
	display: none;
}

.header_navi-container {
	display: flex;
	flex-direction: row;
	gap: 20px;
	align-items: flex-end;
}

.global_navi {
	display: flex;
	flex-direction: row;
	gap: 20px;
}

.small {
	font-size: 1.4rem;
	font-weight: 500;
}

.header_item h1 {
	margin-bottom: 8px;
	font-size: 1rem;
	text-align: right;
}

.header_contact {
	margin-top: 4px;
}

.header_contact-btn {
	display: block;
	padding: 10px;
	font-weight: 700;
	background-color: var(--primary);
	border-radius: 9999px;
}

#menu_bg {
	position: fixed;
	top: 80px;
	z-index: var(--zIndexLv3);
	display: none;
	width: 100%;
	height: calc(100% - 80px);
	-webkit-backdrop-filter: blur(10px) brightness(1);
	backdrop-filter: blur(10px) brightness(1);
	transition: top 0.6s;
}

#menu_bg.menu-fade {
	display: block;
	-webkit-animation-name: MenuFade;
	animation-name: MenuFade;
	-webkit-animation-duration: 0.6s;
	animation-duration: 0.6s;
	-webkit-animation-timing-function: ease;
	animation-timing-function: ease;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}

#menu {
	position: fixed;
	top: 80px;
	z-index: var(--zIndexLv2);
	width: 100%;
	height: calc(100% - 80px);
	overflow: auto;
	opacity: 0.95;
	-webkit-overflow-scrolling: auto;
}

#menu.menu-on {
	right: 0;
	visibility: visible;
	width: 100%;
	transition-duration: 0.6s;
}

#menu.menu-off {
	right: -100%;
	visibility: hidden;
	width: 100%;
	transition-duration: 1.8s;
}

.menu_container {
	height: 100%;
	padding: 20px;
	margin: 0 auto;
	background-color: var(--bgColor);
	opacity: 0.95;
}

.menu_item a {
	display: block;
	padding: 24px;
	margin-top: 0;
	font-weight: 700;
	border-bottom: solid 1px #000;
}

.header_navi-hamburger {
	display: block;
}

.phone {
	font-family: var(--fontFamilyEn), sans-serif;
	font-size: 2rem;
	font-weight: 700;
}

.phone::before {
	position: initial;
	display: inline-block;
	width: 14px;
	height: 24px;
	margin-right: 0.3em;
	margin-bottom: -5px;
	content: "";
	background-image: url(../img/common/img_phone.svg);
	background-repeat: no-repeat;
}

#pagetop_arrow {
	position: fixed;
	right: 5px;
	bottom: 70px;
	z-index: var(--zIndexLv5);
	visibility: hidden;
	background: var(--primary);
	border-radius: 9999px;
	opacity: 0;
	transition: all 1.2s;
}

#pagetop_arrow.fade {
	visibility: visible;
	opacity: 1;
}

.pagetop_arrow-up {
	display: block;
	padding: 27px 31px;
	line-height: 0;
}

#pagetop_arrow:hover {
	background: #feed88;
}

/* main
------------------------- */
main {
	width: 100%;
	min-width: 320px;
	padding-top: 80px;
	background: var(--bgColor);
}

main section {
	width: 100%;
	max-width: 1280px;
	padding-inline: 20px;
	margin: 100px auto;
}

main section#c-box-keyvisual {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: end;
	height: 600px;
	padding-left: 16px;
	margin: 0 auto 100px;
	background: url(../img/common/img_keyvisual.jpg) center center / cover no-repeat;
	border-bottom-right-radius: 32px;
}

main section#c-box-keyvisual h2 {
	margin-bottom: 0;
	font-size: 1.8rem;
	font-weight: 700;
}

.c-box-catch {
	margin-top: 0.125em;
	margin-bottom: 0.125em;
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1.5em;
}

.c-box-catch_en {
	font-size: 1.4rem;
	font-weight: 700;
	text-align: left;
	text-justify: initial;
}

.c-btn_txt-link {
	display: block;
	width: 100%;
	max-width: 280px;
	padding: 10px;
	font-weight: 700;
	text-align: center;
	background-color: var(--primary);
	border-radius: 9999px;
}

.c-btn_txt-link:hover {
	cursor: pointer;
}

.c-btn_txt-link_inner {
	position: relative;
}

.c-btn_txt-link_inner::after {
	position: absolute;
	top: 0;
	right: calc(50% - 120px);
	bottom: calc(50% - 14px);
	display: block;
	width: 10px;
	height: 10px;
	margin: auto;
	content: "";
	background-image: url(../img/common/img_arrow_up.svg);
	background-repeat: no-repeat;
	transform: rotate(90deg);
	transition: background-color 0.2s ease-out;
}

.c-btn_company {
	margin: 30px auto 0;
}

.about {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.about_item-left {
	width: 100%;
	max-width: 1024px;
	height: 100%;
	overflow: hidden;
}

.about_item-left img {
	border-radius: initial;
}

.about_item-right {
	display: flex;
	flex-direction: column;
}

.contact_title {
	display: inline-block;
	width: 100%;
	padding-bottom: 12px;
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
	border-bottom: solid 1px var(--borderColorSecondary);
}

.c-text_center {
	margin: 24px 0;
}

.strength {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 20px;
}

.strength_item {
	width: 100%;
	padding: 24px;
	border: 1px solid var(--borderColorSecondary);
	border-radius: 16px;
}

.strength_title {
	display: inline-block;
	width: 100%;
	padding-bottom: 24px;
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
}

.strength_img {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-block: 20px;
}

.strength_img img {
	background-color: var(--bgColorSecondary);
	border-radius: 50%;
}

.c-tbl-service {
	width: 100%;
	margin-top: 40px;
	font-weight: 500;
	background: var(--bgColor);
	border: 1px solid var(--borderColor);
}

.c-tbl-service thead th {
	min-width: 145px;
	padding: 18px;
	font-size: 1.6rem;
	line-height: 24px;
	color: var(--txtColor);
	background: var(--bgColorTh);
}

.c-tbl-service th {
	width: 25%;
	padding: 18px;
	vertical-align: middle;
	text-align: center;
	border: 1px solid var(--borderColor);
}

.c-tbl-service td {
	width: 75%;
	padding: 18px;
	vertical-align: middle;
	text-align: left;
	border: 1px solid var(--borderColor);
}

ul.c-box-option {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 20px;
}

ul.c-box-option li {
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: center;
	width: 100%;
	padding: 45px;
	background-color: var(--bgColorTertiary);
	border-radius: 16px;
}

.c-box-option_img {
	padding-block: 16px;
}

.c-box-option_img img {
	background-color: var(--bgColor);
	border-radius: 50%;
}

.c-box-option_title {
	font-size: 1.8rem;
	font-weight: 700;
	color: var(--txtColor);
}

.c-box-option_text {
	height: 100%;
	font-size: 1.6rem;
	font-weight: 500;
	color: var(--txtColor);
}

ul.c-box-option_disc {
	display: inline;
	list-style-type: disc;
}

.c-box-option_price {
	position: relative;
	font-size: 1.6rem;
	font-weight: 700;
}

.c-list-flow {
	z-index: var(--zIndexLv0);
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.c-list-flow_item {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-items: center;
}

.c-list-flow_item-label {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: initial;
	padding: 12px;
	font-weight: 700;
	text-align: center;
	background-color: #fcfad9;
	border: 1px solid var(--primary);
	border-radius: 9999px;
}

.c-list-flow_item-text {
	width: 100%;
	font-size: 1.6rem;
	font-weight: 500;
}

.c-list-flow_item:not(:first-of-type)::after {
	position: absolute;
	top: -35px;
	left: 50%;
	color: var(--primary);
	content: "▼";
}

.c-list-flow_item-title {
	font-size: 1.8rem;
	font-weight: 700;
	color: var(--txtColor);
}

.c-list-flow li:last-of-type .c-list-flow_item-label {
	background-color: #f8ea92;
}

.c-list-price {
	display: flex;
	flex-direction: column;
	gap: 90px;
	margin-top: 30px;
}

.c-list-price li {
	position: relative;
	width: 100%;
	padding: 24px;
	background-color: #fcfad9;
	border: 1px solid var(--primary);
	border-radius: 16px;
}

.c-list-price li:not(:last-of-type)::after {
	position: absolute;
	right: calc(50% + 12.5px);
	bottom: 0;
	display: flex;
	width: 0;
	height: 0;
	font-family: var(--fontFamilyEn), sans-serif;
	font-size: 50px;
	content: "+";
	border-top: 0 solid transparent;
	border-bottom: 0 solid transparent;
}

.c-list-price_item-label {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1;
	color: var(--txtColor);
}

.c-list-price li p {
	margin: 0 auto 24px;
}

.c-list-price li.c-list-price_item-option {
	background-color: var(--bgColorTertiary);
	border: 1px solid var(--borderColor);
}

.c-list-price_text {
	font-size: 2rem;
	font-weight: 700;
}

/* お問い合わせ */

.milestone {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	width: 100%;
	margin: 50px 0;
}

.milestone > div {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(100% / 3);
	height: 60px;
	padding-right: 20px;
	font-weight: 700;
	text-align: center;
	background-color: #eee;
}

.milestone div::after {
	position: absolute;
	top: 0;
	left: -15px;
	display: block;
	width: 25px;
	height: 50%;
	content: "";
	background-color: #eee;
	border-left: 5px solid #fff;
	transform: skew(30deg);
}

.milestone div::before {
	position: absolute;
	bottom: 0;
	left: -15px;
	display: block;
	width: 25px;
	height: 50%;
	content: "";
	background-color: #eee;
	border-left: 5px solid #fff;
	transform: skew(-30deg);
}

.milestone div:first-child {
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
}

.milestone div:first-child::before,
.milestone div:first-child::after {
	content: none;
}

.milestone div:last-child {
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}

.milestone div.current {
	color: var(--txtColor);
	background-color: var(--primary);
}

.milestone div.current::before,
.milestone div.current::after {
	background-color: var(--primary);
}

.c-form-contact {
	display: flex;
	flex-direction: column;
}

.c-form-contact > .c-form-contact_inner:nth-child(n + 11) {
	display: none;
}

.c-form-contact > .c-form-contact_inner:nth-child(10) {
	border-bottom: solid 1px var(--borderColor);
}

.c-form-contact_send {
	display: flex;
	flex-direction: row;
	justify-content: space-evenly;
	margin-top: 50px;
}

.c-btn_txt-link_back {
	display: block;
	width: 100%;
	max-width: 280px;
	padding: 10px;
	font-weight: 700;
	text-align: center;
	background-color: var(--bgColor);
	border: 1px solid var(--primary);
	border-radius: 9999px;
}

.c-btn_txt-link_back:hover {
	color: var(--txtLink);
	background-color: #feed88;
	opacity: 0.6;
}

.c-form-contact_inner {
	display: flex;
	flex-direction: column;
	gap: 0;
	align-items: center;
	border-top: solid 1px var(--borderColor);
}

.c-form-contact > .c-form-contact_inner:last-of-type {
	border-bottom: solid 1px var(--borderColor);
}

.error_messe {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 20px 0;
	font-size: 1.4rem;
	border-top: solid 1px var(--borderColor);
}

.c-list-error > .error_messe:last-of-type {
	border-bottom: solid 1px var(--borderColor);
}

.c-form-contact_inner-titile {
	display: flex;
	flex-direction: row;
	gap: 5px;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	max-width: 100%;
	padding: 20px 0 10px;
}

.c-form-contact_titile {
	font-weight: 700;
}

.c-form-contact_inner-content {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	row-gap: 10px;
	width: 100%;
	padding: 0 0 20px;
}

.c-form-contact_inner-content input.c-form-text {
	width: 100%;
	border-radius: 8px;
}

input[type="radio"] {
	min-width: 16px;
	min-height: 16px;
	margin-top: 3px;
	border-top: solid 1px var(--borderColor);
}

.radio {
	flex-direction: column;
}

label {
	display: flex;
	flex-direction: row;
	gap: 0.25em;
	align-items: center;
	line-height: 1.5;
}

.c-form-contact_inner-content input.c-form-chkbox:hover,
.c-form-contact_inner-content input.c-form-radio:hover,
label:hover {
	cursor: pointer;
}

::-webkit-input-placeholder {
	color: var(--gray);
}

::-moz-placeholder {
	color: var(--gray);
}

:-ms-input-placeholder {
	color: var(--gray);
}

::-ms-input-placeholder {
	color: var(--gray);
}

::placeholder {
	color: var(--gray);
}

.required {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3em;
	padding-bottom: 2px;
	font-size: 1.2rem;
	color: var(--white);
	background: #e0340d;
	border-radius: 2px;
}

.c-form-contact_inner input {
	padding: 6px;
	border: solid 1px var(--borderColor);
}

.c-form-radio {
	width: 1em;
	height: 1em;
	padding: 6px;
	margin-top: 2px;
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	appearance: auto;
	border: solid 1px var(--borderColor);
}

.c-form-contact_inner textarea {
	width: 100%;
	height: 300px;
	padding: 6px;
	border: solid 1px var(--borderColor);
	border-radius: 8px;
}

/* アコーディオン部 */
.container .accordion {
	margin: 20px auto;
}

.container .accordion:first-of-type {
	margin: 0 auto;
}

.accordion_item {
	background: #fff;
}

.accordion_item .accordion_active.accordion_title::after,
.accordion_item .accordion_active.accordion_title::before,
.accordion_item.accordion-active .accordion_title::before {
	transform: rotate(180deg);
}

.accordion_title {
	position: relative;
	padding: 20px 70px 24px 25px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
	color: var(--txtColor);
	background: #fcfcfc;
	border-top: solid 1px var(--borderColor);
}

.accordion_title:hover {
	cursor: pointer;
	background-color: #fcfad9;
}

.accordion_title p::before {
	padding-right: 0.25em;
	margin-left: -3rem;
	font-family: var(--fontFamilyEn), sans-serif;
	font-size: 2.4rem;
	font-weight: 900;
	line-height: 1;
	color: #e0340d;
	content: "Q.";
}

#c-box-faq .accordion:last-of-type {
	border-bottom: solid 1px var(--borderColor);
}

.accordion_active {
	border-bottom: initial;
}

.accordion_open {
	border-top: solid 1px var(--borderColor);
}

.accordion_title::after {
	transform: rotate(90deg);
}

.accordion_title::after,
.accordion_title::before {
	position: absolute;
	top: 0;
	right: 32px;
	bottom: 0;
	width: 16px;
	height: 2px;
	margin: auto 0;
	content: "";
	background-color: var(--txtColor);
	transition-duration: 0.6s;
}

.accordion_content {
	visibility: hidden;
	height: 0;
	padding: 0;
	overflow: hidden;
	background-color: var(--txtColorSecondary);
}

.accordion_content.accordion_open {
	visibility: visible;
}

.accordion_content p {
	padding: 20px 70px 24px 25px;
	margin-top: 0;
	margin-bottom: 0 !important;
	margin-left: 2.4em;
	line-height: 1.5;
	text-indent: 4px;
}

.accordion_content p::before {
	padding-right: 0.25em;
	margin-left: -3.5rem;
	font-family: var(--fontFamilyEn), sans-serif;
	font-size: 2.4rem;
	font-weight: 900;
	line-height: 1;
	color: var(--txtColor);
	content: "A.";
}

.accordion_content a {
	display: block;
	margin-left: 1.4em;
}

.accordion_item.accordion-active .accordion_title::after {
	opacity: 0;
	transform: rotate(180deg);
}

.accordion_buttonFlex {
	display: flex;
	flex-direction: row;
	gap: 5px;
}

.accordion_title p {
	margin-left: 2.25em;
	line-height: 1.5em;
}

#c-box-contact {
	width: 100%;
	max-width: initial;
	padding-inline: initial;
	overflow: hidden;
	background: url(../img/common/img_contact.webp) center bottom / cover no-repeat;
}

.c-box-contact_inner {
	display: flex;
	flex-direction: column;
	gap: 40px;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 1280px;
	padding-inline: 20px;
	margin: 100px auto;
}

.c-title_h2 {
	display: inline;
	color: var(--txtColorSecondary);
	background: linear-gradient(transparent 95%, #fff 5%);
}

.c-title_text {
	margin-top: 30px;
	font-size: 1.6rem;
	font-weight: 500;
	color: var(--txtColorSecondary);
}

.c-title_tel {
	text-align: center;
}

.c-title_tel_text {
	margin-top: 15px;
}

.c-title_tel_text a {
	font-family: var(--fontFamilyEn), sans-serif;
	font-size: 3.8rem;
	font-weight: 900;
	line-height: 1;
	color: var(--txtColorSecondary);
}

.c-title_tel_contact {
	font-size: 1.4rem;
	font-weight: 500;
	color: var(--txtColorSecondary);
}

.c-title_tel_text span {
	font-size: 1.6rem;
	font-weight: 500;
	color: var(--txtColorSecondary);
}

.c-title_tel_btn {
	margin-top: 25px;
}

.check_line {
	display: inline;
	line-height: 1.25;
	background: linear-gradient(transparent 70%, #fedb11 70%);
}

.c-title-basic {
	font-size: 3.6rem;
	font-weight: 700;
	text-align: center;
}

.c-title-basic_message {
	font-size: 2rem;
	font-weight: 500;
	line-height: 2;
	text-align: center;
}

.c-img-radius {
	border-radius: 32px;
}

.c-box-privacy,
.c-box-inquiry {
	width: 100%;
	max-width: 820px;
	margin: 0 auto;
	font-weight: 500;
}

.c-tbl-company {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	width: 100%;
	max-width: 820px;
	margin: 0 auto;
	font-weight: 500;
}

.c-tbl-company dt {
	width: 100%;
	padding: 24px 12px 0;
	font-weight: 700;
	line-height: 1.4;
}

.c-tbl-company dt:first-of-type {
	border-top: solid 1px var(--borderColor);
}

.c-tbl-company dt span {
	font-size: 1.2rem;
	line-height: 1;
}

.c-tbl-company dd {
	width: 100%;
	padding: 8px 12px 24px;
	font-weight: 500;
	line-height: 1.4;
	border-bottom: solid 1px var(--borderColor);
}

.c-list-works {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
	list-style-type: none;
}

.c-list-works li {
	width: 100%;
}

.c-list-works li img {
	border-radius: 10px;
}

.c-list-business {
	-moz-column-count: initial;
	column-count: initial;
	-moz-column-gap: initial;
	column-gap: initial;
	max-width: 100%;
	padding-left: 24px;
}

.c-list-business li {
	padding-bottom: 1em;
	line-height: 1.4;
	list-style-type: disc;
}

.c-box-privacy_enactment {
	text-align: right;
}

.c-box-contact_main {
	width: 100%;
	max-width: 380px;
	padding: 14px;
	margin: 40px auto 0;
	text-align: center;
	border: solid 1px var(--borderColor);
	border-radius: 32px;
}

.c-box-contact_main h3 {
	all: initial;
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
}

.c-box-contact_main h3::before {
	all: initial;
}

.c-box-contact_main .c-title_tel_text span,
.c-box-contact_main .c-title_tel_text a,
.c-box-contact_main .c-title_tel_contact {
	color: var(--txtColor);
}

.c-form-contact .c-btn_txt-link {
	margin: 40px auto 50px;
}

.c-form-contact .cf-turnstile {
	margin: 40px auto 0;
}

.cf-turnstile > div {
	text-align: center;
}

/* pseudo inlineframe
------------------------- */
.inlineframe {
	height: 240px;
	padding: 15px;
	margin: 50px 0;
	overflow: auto;
	overflow-x: hidden;
	overflow-y: scroll;
	background-color: var(--bgColor);
	border: solid 1px var(--borderColor);
	border-radius: 0 0 0 16px;
}

/* footer
------------------------- */
footer {
	width: 100%;
	min-width: 320px;
	padding-inline: 20px;
	margin: 100px auto;
	background: var(--bgColor);
}

.footer_container-flex {
	display: flex;
	gap: 20px;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto 20px;
}

ul.footer_container-flex li {
	font-size: 1.4rem;
}

.footer_container {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto 20px;
}

.footer_address {
	margin-top: 30px;
}

.footer_tel {
	margin-bottom: 40px;
}

ul.footer_container-flex_inner {
	display: flex;
	gap: 20px;
	align-items: center;
	font-size: 1.4rem;
}

.disc_none {
	list-style-type: none !important;
}

.footer_contact {
	position: fixed;
	bottom: 0;
	display: flex;
	flex-direction: row;
	gap: 5px;
	width: 100%;
	height: 50px;
	padding-inline: 5px;
	-webkit-animation-duration: 0.6s;
	animation-duration: 0.6s;
}

.footer_contact > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50%;
	height: 50px;
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--txtColor);
	background: var(--primary);
	border: solid 1px var(--primary);
	border-radius: 16px 16px 0 0;
}

.footer_contact > a:hover {
	color: var(--txtLink);
	background: #feed88;
	opacity: initial;
}

.footer_contact-tel_container {
	display: flex;
	flex-direction: row;
	gap: 5px;
	align-items: center;
	justify-content: center;
}

@media print, screen and (min-width: 768px) {
	html {
		scroll-padding-top: 130px;
	}

	main {
		padding-top: 130px;
	}

	.header_container {
		height: 110px;
	}

	#menu_bg {
		top: 130px;
		height: calc(100% - 130px);
	}

	#menu {
		top: 130px;
		height: calc(100% - 130px);
	}

	h2 {
		margin: 0 0 32px;
		font-size: 2.8rem;
		font-weight: 700;
		line-height: 1.5;
	}

	h3 {
		margin: 48px 20px 32px;
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.5;
		text-indent: -20px;
	}

	h3::before {
		padding-bottom: 4px;
		margin-right: 1.5rem;
		content: "";
		border-left: 4px solid var(--primary);
	}

	main section#c-box-keyvisual h2 {
		font-size: 2rem;
	}

	.c-box-catch {
		font-size: 4.8rem;
	}

	.c-text_center {
		text-align: center;
	}

	.strength_item {
		width: calc((100% - 20px) / 2);
		padding: 24px;
		border: 1px solid var(--borderColorSecondary);
		border-radius: 16px;
	}

	.c-list-flow::before {
		left: calc((100% - 60px) / 8);
	}

	ul.c-box-option li {
		width: calc((100% - 20px) / 2);
	}

	.c-list-flow_item-label {
		max-width: calc((100% - 60px) / 4);
	}

	.c-list-flow_item:not(:first-of-type)::after {
		left: calc(((100% - 125px) / 4) / 2);
	}

	.c-list-flow_item {
		flex-direction: row;
	}

	.c-box-contact_inner {
		flex-direction: row;
	}

	.c-tbl-company {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		width: 100%;
		max-width: 820px;
		margin: 0 auto;
		font-weight: 500;
	}

	.c-tbl-company dt {
		width: 140px;
		border-bottom: solid 1px var(--borderColor);
	}

	.c-tbl-company dt:first-of-type,
	.c-tbl-company dd:first-of-type {
		border-top: solid 1px var(--borderColor);
	}

	.c-tbl-company dd {
		width: calc(100% - 140px);
		padding: 24px 12px;
		font-weight: 500;
		line-height: 1.4;
		border-bottom: solid 1px var(--borderColor);
	}

	.pc_true {
		display: block;
	}

	.sp_true {
		display: none;
	}

	.c-form-contact_inner-titile {
		justify-content: space-between;
		max-width: calc((100% - 60px) / 4);
		padding: 20px 0;
	}

	.c-form-contact_inner-content {
		padding: 20px 0;
	}

	.c-form-contact_inner {
		flex-direction: row;
		gap: 20px;
	}

	.footer_contact {
		display: none;
	}
}

@media print, screen and (min-width: 1024px) {
	main section#c-box-keyvisual {
		justify-content: center;
		background: url(../img/common/img_keyvisual.jpg) center center / cover no-repeat;
		opacity: 0.9;
	}

	.header_item {
		display: flex;
		flex-direction: column;
		align-items: center;
		min-width: 200px;
		max-width: 240px;
		text-align: center;
	}

	#menu {
		position: initial;
		top: 100px;
		visibility: visible !important;
		width: initial;
		min-width: 500px;
		height: initial;
		overflow: initial;
		transition-duration: initial;
	}

	#menu.menu-off {
		width: initial;
		width: 100%;
		transition-duration: initial;
	}

	.menu_container {
		display: flex;
		flex-direction: row;
		gap: 25px;
		align-items: center;
		justify-content: end;
		height: initial;
		padding: initial;
	}

	.header_navi-hamburger {
		display: none;
	}

	.header_navi-contact {
		display: block;
		min-width: 165px;
		text-align: center;
	}

	.pc_true {
		display: block;
	}

	ul.c-box-option li {
		width: calc((100% - 40px) / 3);
	}

	.c-list-price {
		flex-direction: row;
	}

	.c-list-price li {
		width: calc((100% - 180px) / 3);
	}

	.c-list-price li:not(:last-of-type)::after {
		top: calc(50% - 50px);
		right: calc(-65px / 2);
	}

	.about {
		display: flex;
		flex-direction: row;
		gap: 40px;
	}

	.about_item-left img {
		border-radius: 32px;
	}

	.about_item-left {
		width: 100%;
		min-width: 280px;
		max-width: 450px;
		height: 450px;
	}

	.about_item-right {
		justify-content: center;
	}

	.menu_item a {
		display: initial;
		padding: initial;
		margin-top: 0;
		font-weight: 700;
		border-bottom: initial;
	}

	.c-list-business {
		-moz-column-count: 2;
		column-count: 2;
		-moz-column-gap: 3em;
		column-gap: 3em;
		max-width: 100%;
	}

	#pagetop_arrow {
		right: 20px;
		bottom: 20px;
	}

	.c-list-works {
		flex-direction: row;
	}

	.c-list-works li {
		width: calc((100% - 40px) / 3);
	}
}

@media print, screen and (min-width: 1280px) {
	.menu_container {
		gap: 60px;
	}

	.strength_item {
		width: calc((100% - 60px) / 4);
	}
}
