@charset "UTF-8";
html,
body {
	width: 100%;
	margin: 0;
	padding: 0;
}
html {
	font-size: 62.5%;
	color: #493731;
	background: #ffffff;
}
*, *::before, *::after {
	box-sizing: border-box;
}
dl, dt, dd,
ul, ol, li,
h1, h2, h3, h4, h5, h6,
pre, form, input, p, blockquote,
fieldset, div, section {
	margin: 0;
	padding: 0;
}
h3, h4 {
	font-weight: bold;
}
ul li,
ol li {
	list-style: none;
}
table {
	margin: 0;
	padding: 0;
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 100%;
}
caption {
	text-align: left;
}
th,
td {
	margin: 0;
	padding: 0;
	border: none;
	text-align: left;
	vertical-align: top;
	font-weight: normal;
}
address, cite, dfn, em,
strong, var, th,
ins, del, samp {
	font-weight: normal;
	font-style: normal;
}
img {
	border: none;
	display: block;
	max-width: 100%;
	height: auto;
}
a,
a:visited {
	color: #493731;
	text-decoration: none;
}
a:hover {
	text-decoration: none;
}
hr.separation {
	display: none;
}
fieldset {
	border: none;
}
input,
button,
select,
textarea {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	font: inherit;
	color: inherit;
	line-height: inherit;
	box-sizing: border-box;
}
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
}
button {
	-webkit-tap-highlight-color: transparent;
}
header,
section,
nav,
aside,
footer,
article {
	display: block;
}
:focus {
	outline: none;
}
:focus-visible {
	outline: 2px solid #493731;
	outline-offset: 2px;
}
body {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	color: #493731;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	font-style: normal;
	line-height: 1.6;
}
@media (max-width: 768px) {
    body {
        font-size: 3.7vw;
    }
}

/* 切り替え---- */
.pc{
    display: block !important;
}
.pc_inline{
    display: inline-block !important;
}
.sptb{
    display: block !important;
}
.sp{
    display: none !important;
}
.sp_inline{
    display: none !important;
}
@media (max-width: 960px) {
    .sptb{
        display: none !important;
    }
}
@media (max-width: 768px) {
    .pc{
        display: none !important;
    }
    .pc_inline{
        display: none !important;
    }
    .sptb{
        display: none !important;
    }
    .sp{
        display: block !important;
    }
    .sp_inline{
        display: inline-block !important;
    }
}

/* hover---- */
.is-imghover {
	opacity: 1;
	transition: opacity 0.3s ease-in-out;
}
@media (hover: hover) {
	.is-imghover:hover {
		opacity: 0.7;
	}
}

/* PCで電話リンク無効---- */
@media (hover: hover) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}

/* margin-bottom */
.mb0 { margin-bottom: 0 !important; }
.mb5 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb100 { margin-bottom: 100px !important; }

/* margin-top */
.mt5 { margin-top: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mt20 { margin-top: 20px !important; }
.mt30 { margin-top: 30px !important; }
.mt40 { margin-top: 40px !important; }
.mt60 { margin-top: 60px !important; }
.mt80 { margin-top: 80px !important; }
.mt100 { margin-top: 100px !important; }

/* padding-bottom */
.pb0 { padding-bottom: 0 !important; }
.pb5 { padding-bottom: 5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb40 { padding-bottom: 40px !important; }
.pb60 { padding-bottom: 60px !important; }
.pb80 { padding-bottom: 80px !important; }

/* padding-top */
.pt5 { padding-top: 5px !important; }
.pt10 { padding-top: 10px !important; }
.pt20 { padding-top: 20px !important; }
.pt30 { padding-top: 30px !important; }
.pt40 { padding-top: 40px !important; }
.pt60 { padding-top: 60px !important; }
.pt80 { padding-top: 80px !important; }

@media (max-width: 768px) {
	.mb10 { margin-bottom: clamp(8px, 2vw, 12px) !important; }
	.mb20 { margin-bottom: clamp(16px, 4vw, 24px) !important; }
	.mb30 { margin-bottom: clamp(24px, 6vw, 36px) !important; }
	.mb40 { margin-bottom: clamp(32px, 8vw, 48px) !important; }
	.mb60 { margin-bottom: clamp(40px, 10vw, 64px) !important; }
	.mb80 { margin-bottom: clamp(48px, 12vw, 80px) !important; }

	.mt10 { margin-top: clamp(8px, 2vw, 12px) !important; }
	.mt20 { margin-top: clamp(16px, 4vw, 24px) !important; }
	.mt30 { margin-top: clamp(24px, 6vw, 36px) !important; }
	.mt40 { margin-top: clamp(32px, 8vw, 48px) !important; }
	.mt60 { margin-top: clamp(40px, 10vw, 64px) !important; }
	.mt80 { margin-top: clamp(48px, 12vw, 80px) !important; }

	.pb10 { padding-bottom: clamp(8px, 2vw, 12px) !important; }
	.pb20 { padding-bottom: clamp(16px, 4vw, 24px) !important; }
	.pb30 { padding-bottom: clamp(24px, 6vw, 36px) !important; }
	.pb40 { padding-bottom: clamp(32px, 8vw, 48px) !important; }
	.pb60 { padding-bottom: clamp(40px, 10vw, 64px) !important; }

	.pt10 { padding-top: clamp(8px, 2vw, 12px) !important; }
	.pt20 { padding-top: clamp(16px, 4vw, 24px) !important; }
	.pt30 { padding-top: clamp(24px, 6vw, 36px) !important; }
	.pt40 { padding-top: clamp(32px, 8vw, 48px) !important; }
	.pt60 { padding-top: clamp(40px, 10vw, 64px) !important; }
}

.tac { text-align: center !important; }
.tar { text-align: right !important; }
.tal { text-align: left !important; }
.taj { text-align: justify!important; }

.fL{ float: left;}
.fR{ float: right;}

.bold{ font-weight:bold;}

.clearfix{ clear:both;}
.clearfix:after{
	content: "";
	clear: both;
	display: block;
}
