@charset "utf-8";

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

.black-font {color: #000;}
.gray-font {color: #898989;}
.red-font {color: #E60012;}

.text-bold {font-weight: bold;}

.font12-14 {font-size: clamp(12px,2vw,14px);}
.font14-16 {font-size: clamp(14px,2vw,16px);}
.font16-18 {font-size: clamp(16px,2vw,18px);}
.font18-20 {font-size: clamp(18px, 2vw, 20px);}
.font20-26 {font-size: clamp(20px, 2.5vw, 26px);}

.indent {
	text-indent: -1em;
	padding-left: 1em;
}

.box300 {
	max-width: 300px;
	margin-left: auto;
	margin-right: auto;
}
.box400 {
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
}
.box500 {
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
}
.box600 {
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}
.box700 {
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}
.box800 {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}
.box900 {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}
.box1000 {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
.box1200 {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.box1400 {
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
}
.flex {
	display: flex;
	justify-content: center;
	align-items: center;
}

.grid {
	display: grid;
	display: -webkit-grid;
	justify-content: center;
	align-items: center;
	gap: .5rem;
}

.fl-wrap {
	flex-wrap: wrap;
}

.fl-align-top {
	align-items: flex-start;
}
.fl-align-base {
	align-items: baseline;
}
.fl-align-end {
	align-items: flex-end;
}
.fl-con-bet {
	justify-content: space-between;
}


.item {
    padding: .5rem;
    width: 100%;
}

.con2 {flex-basis: 48%;}
.con3 {flex-basis: calc(100% / 3);}
.con4 {flex-basis: 25%;}
.con10 {flex-basis: 10%;}

.grid-col-2 {
	grid-template-columns: repeat(2, 1fr);
}
.grid-col-3 {
    grid-template-columns: repeat(3, 1fr);
}
.grid-col-4 {
    grid-template-columns: repeat(4, 1fr);
}
.gap5 {gap: 0.5rem;}
.gap10 {gap: 1rem;}
.gap20 {gap: 2rem;}


.position-r {position: relative;}


@media (min-width: 769px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}


/*---br管理--*/
/*---スマホ時改行--*/
@media screen and (max-width: 768px) {
.pc-br{display:none;}
.sp-br{display:block;}
}
@media screen and (max-width: 560px) {
.sp-br560{display:block;}
}
/*---PC時改行--*/
@media screen and (min-width:561px) {
.sp-br560{display:none;}
} 
@media screen and (min-width:769px) {
.pc-br{display:block;}
.sp-br{display:none;}
}

.mt0{margin-top: 0;}
.mt5{margin-top: 0.5rem;}
.mt10{margin-top: 1rem;}
.mt20{margin-top: 2rem;}
.mt30{margin-top: 3rem;}
.mt40{margin-top: 4rem;}
.mt60{margin-top: 6rem;}
.mt100{margin-top: 10rem;}
.mb0{margin-bottom: 0;}
.mb10{margin-bottom: 1rem;}
.mb20{margin-bottom: 2rem;}
.mb30{margin-bottom: 3rem;}
.mb40{margin-bottom: 4rem;}
.mb60{margin-bottom: 6rem;}
.mb100{margin-bottom: 10rem;}

.ml5{margin-left: .5rem;}

.mrl5{
	margin-right: .5rem;
	margin-left: .5rem;
}

.mrl-auto {
	margin-left: auto;
	margin-right: auto;
}

.mtb0{
	margin-top: 0;
	margin-bottom: 0;
}

.mt20-40 {margin-top: clamp(2rem,5.5vw,4rem);}
.mt30-50 {margin-top: clamp(3rem,6.2vw,5rem);}
.mt30-80 {margin-top: clamp(3rem,9vw,8rem);}
.mt50-60 {margin-top: clamp(5rem,7.5vw,6rem);}
.mt60-100 {margin-top: clamp(6rem,10.5vw,10rem);}
.mb10-30 {margin-bottom: clamp(1rem,2vw,3rem);}
.mb20-40 {margin-bottom: clamp(2rem,5.5vw,4rem);}
.mb30-60 {margin-bottom: clamp(3rem, 7vw, 6rem);}
.mb30-80 {margin-bottom: clamp(3rem,9vw,8rem);}
.mb40-60 {margin-bottom: clamp(4rem, 7vw, 6rem);}
.mb40-80 {margin-bottom: clamp(4rem,9vw,8rem);}
.mb50-100 {margin-bottom: clamp(5rem, 8vw, 10rem);}
.mb60-100 {margin-bottom: clamp(6rem,10.5vw,10rem);}
.mb80-100 {margin-bottom: clamp(8rem,15.5vw,10rem);}
.mb100-140 {margin-bottom: clamp(10rem,10.2vw,14rem);}

.prl10 {
	padding-left: 1rem;
	padding-right: 1rem;
}
.prl20 {
	padding-left: 2rem;
	padding-right: 2rem;
}

.pt0 {padding-top: 0;}
.pt10 {padding-top: 1rem;}
.pt20 {padding-top: 2rem;}
.pt30 {padding-top: 3rem;}

.pb10 {padding-bottom: 1rem;}
.pb20 {padding-bottom: 2rem;}
.pb80 {padding-bottom: 8rem;}

.pl10 {padding-left: 1rem;}

.pt20-40 {padding-top: clamp(2rem,5.5vw,4rem);}
.pt40-80 {padding-top: clamp(4rem,9vw,8rem);}
.pt50-150 {padding-top: clamp(5rem,12vw,15rem);}
.pb10-30 {padding-bottom: clamp(1rem,2vw,3rem);}
.pb20-40 {padding-bottom: clamp(2rem,5.5vw,4rem);}
.pb40-80 {padding-bottom: clamp(4rem,9vw,8rem);}
.pb100-140 {padding-bottom: clamp(10rem,10.2vw,14rem);}

/* 画像切り替え */
.pc-view{display: block;}
.sp-view{display: none;}
.pc-view560{display: block;}
.sp-view560{display: none;}
table tr.pc-view {display: table-row;}
table.pc-view {display: table;}
@media screen and (max-width: 768px) {
.pc-view,table tr.pc-view,table.pc-view{display: none;}
.sp-view{display: block;}
}
@media screen and (max-width: 560px) {
.pc-view560{display: none;}
.sp-view560{display: block;}
}


.no-wrap{display: inline-block!important;}

#page-top a:hover {
	opacity: 0.6;
}

@media screen and (max-width: 960px) {
    .flex960 {
        flex-direction: column;
    }
    
    .grid.grid-col-3.grid960,
    .grid.grid-col-4.grid960 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 768px) {
	.flex768 {
		flex-direction: column;
	}
	
	.flex768.reverse {
		flex-direction: column-reverse;
	}
	
	.grid.grid-col-2.grid768 {
		grid-template-columns: repeat(1, 1fr);
	}
}

@media screen and (max-width: 560px) {
	.flex560 {
		flex-direction: column;
	}
	
	.flex560.reverse {
		flex-direction: column-reverse;
	}
	.grid.grid-col-3.grid960,
	.grid.grid-col-4.grid960,
	.grid.grid-col-2.grid560 {
        grid-template-columns: repeat(1, 1fr);
    }
}
