html {
	scroll-behavior: smooth;
	font-size: 62.5%;
}
body {
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-size: clamp(14px, calc((18 - 14) * ((100vw - 320px) / (750 - 320)) + 14px), 18px);
	color: #333;
	line-height: 1.6;
	background-color: #fff;
}
img {
	max-width: 100%;
	height: auto;
}
section p {
	margin-bottom: 1.4em;
}
section p, li, dl, form, .h1, .h2, .h3 {
	font-feature-settings: "pkna" 1;
}
input[type="text"],
input[type="email"],
input[type="number"],
input[type="tel"],
textarea {
	padding: 8px;
	color: #666;
	border: 1px solid #ccc;
	background-color: #fff;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
textarea:focus {
	color: #111;
}
textarea { width: 100%; }
input[type="radio"] {
	transform: scale(1.5);
	margin-right: 0.8rem;
}

.container {
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}
.row {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-right: -15px;
	margin-left: -15px;
}
.no-gutters {
	margin-right: 0;
	margin-left: 0;
}
.no-gutters > .col,
.no-gutters > [class*="col-"] {
	padding-right: 0;
	padding-left: 0;
}
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-auto {
	position: relative;
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
}
.col {
	-ms-flex-preferred-size: 0;
	flex-basis: 0;
	-ms-flex-positive: 1;
	flex-grow: 1;
	min-width: 0;
	max-width: 100%;
}

.col-auto {
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	width: auto;
	max-width: 100%;
}
.col-1 {
	-ms-flex: 0 0 8.333333%;
	flex: 0 0 8.333333%;
	max-width: 8.333333%;
}
.col-2 {
	-ms-flex: 0 0 16.666667%;
	flex: 0 0 16.666667%;
	max-width: 16.666667%;
}
.col-3 {
	-ms-flex: 0 0 25%;
	flex: 0 0 25%;
	max-width: 25%;
}
.col-4 {
	-ms-flex: 0 0 33.333333%;
	flex: 0 0 33.333333%;
	max-width: 33.333333%;
}
.col-5 {
	-ms-flex: 0 0 41.666667%;
	flex: 0 0 41.666667%;
	max-width: 41.666667%;
}
.col-6 {
	-ms-flex: 0 0 50%;
	flex: 0 0 50%;
	max-width: 50%;
}
.col-7 {
	-ms-flex: 0 0 58.333333%;
	flex: 0 0 58.333333%;
	max-width: 58.333333%;
}
.col-8 {
	-ms-flex: 0 0 66.666667%;
	flex: 0 0 66.666667%;
	max-width: 66.666667%;
}
.col-9 {
	-ms-flex: 0 0 75%;
	flex: 0 0 75%;
	max-width: 75%;
}
.col-10 {
	-ms-flex: 0 0 83.333333%;
	flex: 0 0 83.333333%;
	max-width: 83.333333%;
}
.col-11 {
	-ms-flex: 0 0 91.666667%;
	flex: 0 0 91.666667%;
	max-width: 91.666667%;
}
.col-12 {
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	max-width: 100%;
}

.d-none {
	display: none !important;
}
.d-block {
	display: block !important;
}

.justify-content-center {
	-ms-flex-pack: center !important;
	justify-content: center !important;
}
.align-items-center {
	-ms-flex-align: center !important;
	align-items: center !important;
}

.mt-16, .my-16 {
	margin-top: 1.6rem !important; /*1rem*/
}
.mr-16 {
	margin-right: 1.6rem !important; /*1rem*/
}
.mb-16, .my-16 {
	margin-bottom: 1.6rem !important; /*1rem*/
}
.mb-20 {
	margin-bottom: 2rem;
}
.mb-24 {
	margin-bottom: 2.4rem !important; /*1.5rem*/
}
.mb-32 {
	margin-bottom: 3.2rem;
}
.mb-48 {
	margin-bottom: 4.8rem !important; /*3rem*/
}
.mx-auto {
	margin-right: auto !important;
	margin-left: auto !important;
}

.badge {
	display: inline-block;
	margin-left: 6px;
	padding: 0.35em 0.4em 0.25em;
	font-size: 75%;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
	vertical-align: 12%;
	border-radius: 0.25rem;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	color: #fff;
	background-color: #E8332A;
}

.btn {
	display: inline-block;
	font-weight: 400;
	text-align: center;
	vertical-align: middle;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	line-height: 1.2;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	text-decoration: none;
}
.btn:hover {
	opacity: 0.7;
	text-decoration: none;
}
.btn:focus, .btn.focus {
	outline: 0;
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.btn.disabled, .btn:disabled {
	opacity: 0.65;
}
.btn:not(:disabled):not(.disabled) {
	cursor: pointer;
}
  a.btn.disabled {
	pointer-events: none;
}

.text-left {
	text-align: left !important;
}
.text-right {
	text-align: right !important;
}
.text-center {
	text-align: center !important;
}

.container, .container--no-gutters {
	max-width: 750px;
}
.container--no-gutters {
	padding-right: 0;
	padding-left: 0;
}
.container--no-gutters .row {
	margin-right: 0;
	margin-left: 0;
}
.margin-x-minus {
	margin-right: -15px;
	margin-left: -15px;
}

.hnav { /* 47.5+19.166666+1.25+30.833333+1.25 */
	padding-top: clamp(5px, calc(0.00464 * (100vw - 320px) + 5px), 7px);
	padding-bottom: clamp(5px, calc(0.00464 * (100vw - 320px) + 5px), 7px);
	background-color: #df5129;
}
.hnav__logo-box {
	flex: 0 0 47.5%; /* =3.7/12 */
	max-width: 47.5%;
	padding-left: clamp(12px, calc(-0.009302 * (100vw - 320px) + 12px), 8px);
	padding-right: clamp(12px, calc(-0.009302 * (100vw - 320px) + 12px), 8px);
}
.btn--hnav {
	margin-right: 1.25%; /* =4/320 */
	padding-left: 2px;
	padding-right: 2px;
	background-color: #000;
	color: #fff;
	font-size: clamp(10px, calc((20 - 10) * ((100vw - 320px) / (750 - 320)) + 10px), 20px);
	line-height: 3;
	border-radius: clamp(5px, calc(0.0116 * (100vw - 320px) + 5px), 10px);
}
.btn--hnav[href^="tel"] {
	flex: 0 0 19.166666%; /* =2.3/12 */
	max-width: 19.166666%;
}
.btn--hnav[href^="#"] {
	flex: 0 0 30.833333%; /* =3.7/12 */
	max-width: 30.833333%;
}
.btn--hnav .fa {
	font-size: 1.6em;
}
.btn--hnav .fa-phone {
	transform: rotate(10deg);
	vertical-align: middle;
}
.btn--hnav .fa-envelope-o {
	vertical-align: -10%;
}
.midpoint::before {
	content: "\30FB";
	margin-left: -0.25em;
	letter-spacing: -0.29em;
}
.main-visual {
	position: relative;
}
.main-visual__text {
	position: absolute;
	bottom: 0;
}
.h1 {
	padding-top: 1.95em;
	padding-bottom: 0.8em;
	font-size: clamp(18px, calc((34 - 18) * ((100vw - 320px) / (750 - 320)) + 18px), 34px);
}
.h1, .h3, .list--numbox .col-5 {
	color: #000;
	font-weight: 600;
}
.h1__en {
	display: block;
	letter-spacing: 0.25em;
}
.h1__en::before, .h1__en::after {
	content: '+';
	font-family: "Verdana", sans-serif;
	font-size: 1.1em;
}
.h1__en::before {
	margin-right: 0.5em;
}
.h1__en::after {
	margin-left: 0.5em;
}
.h1__ja {
	display: block;
	font-size: 0.7em;
	color: #df5129;
}
.h2 {
	padding-top: 1.8rem;
	padding-bottom: 1.8rem;
	font-weight: 600;
	color: #734400;
}
.h2--left {
	font-size: clamp(19px, calc((34 - 19) * ((100vw - 320px) / (750 - 320)) + 19px), 34px);
	line-height: 1.4;
}
.h2--center {
	text-align: center;
	font-size: clamp(22px, calc((36 - 22) * ((100vw - 320px) / (750 - 320)) + 22px), 36px);
}
.p--center {
	text-align: center;
	line-height: 2;
}

.list--numbox, .list--numzero {
	/* list-style: inside decimal; */
	list-style: none;
	counter-reset: number 0;
}
.list--numbox .col-5 {
	position: relative;
	height: calc(100vw * 0.416667);
	max-height: 312.5px; /*画面幅750px時のheight*/
	margin-bottom: clamp(13.33px, calc(100vw * 0.041666), 31.25px);
	padding: 7.5px;
	font-size: clamp(15px, calc((25 - 15) * ((100vw - 320px) / (750 - 320)) + 15px), 25px);
	border: 1px solid #df5129;
	background-color: #fef5f3;
}
/*.list--numbox .col-5::marker {
	content: counter(list-item);
	font-size: 1.65em;
	color: #df5129;
	line-height: 1;
}*/
.list--numbox .col-5::before {
	display: block;
	counter-increment: number 1;
	content: counter(number);
	font-size: 1.65em;
	color: #df5129;
	line-height: 1;
}
.list--numbox .col-5 .text-center {
	position: absolute;
	width: 100%;
	top: 36%;
	left: 50%;
	transform: translateX(-50%);
	line-height: 1.4;
}
.list--numbox .col-5:nth-of-type(2n) {
	margin-left: 4.166666%;
}

.page-nav {
	padding-top: 1rem;
	padding-bottom: 2.8rem;
	color: #fff;
	font-weight: 600;
	background: #e95129 url(../images/bg_plus.png);
}
.page-nav .h2 {
	padding-bottom: 0.5rem;
	color: inherit;
	font-size: clamp(18px, calc((34 - 18) * ((100vw - 320px) / (750 - 320)) + 18px), 34px);
	line-height: 1.4;
}
.btn--round {
	display: block;
	margin-left: auto;
	margin-right: auto;
	font-size: clamp(16px, calc((20 - 16) * ((100vw - 320px) / (750 - 320)) + 16px), 20px);
	border-radius: 20px;
}
.page-nav .btn--round {
	width: 80%;
	padding: 8px;
	font-weight: inherit;
	border: 1px solid #fff;
}
.page-nav .btn--round:first-of-type {
	margin-bottom: 1.2rem;
	color: #e95129;
	background-color: #fff;
}
.page-nav .btn--round:last-of-type {
	background-color: #e95129;
}
form .btn--round {
	padding: 8px 40px;
	color: #fff;
	background-color: #562b00;
}

.list--numzero li {
	margin-bottom: 4rem;
	text-align: center;
}
/*.list--numzero li::marker {
	content: "0" counter(list-item);
	font-family: 'Bebas Neue', cursive;
	font-size: 4em;
	color: #df5129;
	line-height: 1;
}*/
.list--numzero li::before {
	display: block;
	counter-increment: number 1;
	content: counter(number, decimal-leading-zero); /* "0" counter(number) と同じ */
	font-family: 'Bebas Neue', cursive;
	font-size: 4em;
	color: #df5129;
	line-height: 1.2;
}
.list--numzero p {
	text-align: initial;
}
.h3 {
	margin-bottom: 1.6rem;
	font-size: clamp(16px, calc((28 - 16) * ((100vw - 320px) / (750 - 320)) + 16px), 28px);
}
.h3--line {
	margin-bottom: 1.2rem;
	padding-bottom: 0.6rem;
	border-bottom: 1px solid #734400;
}

.message {
	padding-bottom: 3.2rem;
	background-color: #f8f8f8;
}
.message-box {
	padding: 2.4rem 1.2rem;
	border: 2px solid #e6e6e6;
	background-color: #fff;
}
.message-box .container {
	width: fit-content;
}
.message-box .h2 {
	color: #967e19;
}

.horizontal-dl__item {
	padding-top: 1.6rem;
	padding-bottom: 1.6rem;
	margin-left: 0;
}
.horizontal-dl__item, .no-gutters > .horizontal-dl__item {
	padding-left: 5px;
	padding-right: 5px;
}
.row > .horizontal-dl__item {
	border-top: 2px solid #ccc;
}
.row > .horizontal-dl__item:last-of-type {
	border-bottom: 2px solid #ccc;
}
dd.horizontal-dl__item dt {
	margin-bottom: 0.6rem;
	padding-top: 0.4rem;
	padding-bottom: 0.4rem;
	background-color: #f0f0f0;
}
dd.horizontal-dl__item dd:not(dd.horizontal-dl__item dd:last-of-type) {
	margin-bottom: 1.6rem;
}
.list--single-circle, .list--double-circle {
	padding-left: 1.6rem;
}
.list--single-circle li {
	list-style-type: '◯';
}
.list--double-circle li {
	list-style-type: '◎';
}

.label-input {
	display: block;
	margin-bottom: 0.4rem;
	color: #000;
}
.w-333, .w-50, .w-100 {
	display: inline-block;
}
.w-333 {
	width: calc(33.3333% - 4px);
}
.w-50 {
	width: calc(50% - 3px);
}
.w-100 {
	width: 100%;
}

.footer {
	padding-top: 3.2rem;
	padding-bottom: 3.2rem;
}

@media (min-width: 751px) {
	.container--no-gutters {
		margin-left: auto;
		margin-right: auto;
	}
}

@font-face {
	font-family:'FontAwesome';
	src: url('../fonts/fontawesome-webfont.woff2') format('woff2'), url('../fonts/fontawesome-webfont.woff') format('woff'), url('../fonts/fontawesome-webfont.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
.fa {
	display: inline-block;
	font: normal normal normal 14px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transform: translate(0, 0);
}
.fa-envelope-o:before { content: "\f003"; }
.fa-phone:before { content: "\f095"; }
