@charset "utf-8";

* {
	padding: 0;
	margin: 0;
	outline: 0;
}
html{
	font-size: 100%;
}

body {
	overflow-x: hidden;
	-webkit-text-size-adjust: 100%;
	font-size: 1rem;
}
@media (max-width:767px) {
	body{
		font-size: 0.875rem;
	}
}


body,
select,
textarea,
input,
div,
p,
button {
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ ゴシック", sans-serif;
	font-weight: 400;
	line-height: 1.8em;
}



h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
li,
em {
	font-style: normal;
	word-wrap: break-word;
	word-break: break-all;
}

ul,
li {
	margin: 0;
}

table {
	width: 100%;
	border-collapse: collapse;
}

th,
td {
	border-collapse: collapse;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}

/*HTML5対応*/
img {
	border: none;
	vertical-align: bottom;
	max-width: 100%;
}

img[src$=".svg"] {
	width: 100%;
}
figure{
	margin: 0;
}
section,
article,
nav,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
main {
	display: block;
}
h1,
h2,
h3,
h4,
h5,
h6,
strong{
	font-weight: 500;
}

/*ディスプレイ設定*/
.tab_none,
.sp_none {
	display: inline;
}

.sp_block,
.tab_block,
.tab_only,
.sp_sm_block {
	display: none;
}
@media (max-width:1180px) {
	.tab_l_none{
		display: none;
	}
}
@media (max-width:768px) {
	.tab_none {
		display: none;
	}

	.tab_block,
	.tab_only {
		display: block;
	}
}

@media (max-width:767px) {

	.sp_none,
	.tab_only {
		display: none;
	}

	.sp_block {
		display: block;
	}
}

@media (max-width:424px) {
	.sp_sm_block {
		display: block;
	}
}

.ib {
	display: inline-block;
}

.bl {
	display: block;
}

/*リンク対策*/
a {
	text-decoration: none;
	color: inherit;
	transition: .3s;
}


@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}


.border-none{
	border: 0;
}


/*ボックスサイジング設定*/
*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

/*flexレイアウト*/
.flex {
	display: flex;
}

.flex_center {
	align-items: center;
}

.flex_wrap {
	flex-wrap: wrap;
}


/* object-fit */
.obj-fit{
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.obj-fit--top{
	object-position: top;
}
/* list-style */
.list-style-none{
	list-style-type: none;
}
.list-style-none li{
	list-style-type: none;
}

/* オーダー */
.order1 {
	order: 1;
}

.order2 {
	order: 2;
}

.order3 {
	order: 3;
}

@media screen and (max-width: 767px) {
	.sp_order1 {
		order: 1;
	}

	.sp_order2 {
		order: 2;
	}

	.sp_order3 {
		order: 3;
	}
}

/*余白指定*/
.pt_0 {
	padding-top: 0em !important;
}

.pt_1 {
	padding-top: 1em !important;
}

.pt_2 {
	padding-top: 2em !important;
}

.pt_3 {
	padding-top: 3em !important;
}

.pt_4 {
	padding-top: 4em !important;
}

.pl_0 {
	padding-left: 0em !important;
}

.pl_1 {
	padding-left: 1em !important;
}

.pl_2 {
	padding-left: 2em !important;
}

.pl_3 {
	padding-left: 3em !important;
}

.pl_4 {
	padding-left: 4em !important;
}

.pr_0 {
	padding-right: 0em !important;
}

.pr_1 {
	padding-right: 1em !important;
}

.pr_2 {
	padding-right: 2em !important;
}

.pr_3 {
	padding-right: 3em !important;
}

.pr_4 {
	padding-right: 4em !important;
}

.pb_0 {
	padding-bottom: 0em !important;
}

.pb_1 {
	padding-bottom: 1em !important;
}

.pb_2 {
	padding-bottom: 2em !important;
}

.pb_3 {
	padding-bottom: 3em !important;
}

.pb_4 {
	padding-bottom: 4em !important;
}

/*余白指定*/
.mt_0 {
	margin-top: 0em !important;
}

.mt_1 {
	margin-top: 1em !important;
}

.mt_2 {
	margin-top: 2em !important;
}

.mt_3 {
	margin-top: 3em !important;
}

.mt_4 {
	margin-top: 4em !important;
}

.ml_0 {
	margin-left: 0em !important;
}

.ml_1 {
	margin-left: 1em !important;
}

.ml_2 {
	margin-left: 2em !important;
}

.ml_3 {
	margin-left: 3em !important;
}

.ml_4 {
	margin-left: 4em !important;
}

.mr_0 {
	margin-right: 0em !important;
}

.mr_1 {
	margin-right: 1em !important;
}

.mr_2 {
	margin-right: 2em !important;
}

.mr_3 {
	margin-right: 3em !important;
}

.mr_4 {
	margin-right: 4em !important;
}

.mb_0 {
	margin-bottom: 0em !important;
}

.mb_05 {
	margin-bottom: 0.5em !important;
}

.mb_1 {
	margin-bottom: 1em !important;
}

.mb_2 {
	margin-bottom: 2em !important;
}

.mb_3 {
	margin-bottom: 3em !important;
}

.mb_4 {
	margin-bottom: 4em !important;
}



.tx_left {
	text-align: left !important;
}

.tx_center {
	text-align: center !important;
}

.tx_right {
	text-align: right !important;
}
@media screen and (max-width: 820px) {
	.tab_tx_center {
		text-align: center !important;
	}
}
@media screen and (max-width: 767px) {
	.sp_tx_left {
		text-align: left !important;
	}

	.sp_tx_center {
		text-align: center !important;
	}

	.sp_tx_right {
		text-align: right !important;
	}
	.sp-100w{
		width: 100%!important;
	}
}