@charset "UTF-8";

/* ==================================================
	basic layout
================================================== */
#wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	-webkit-text-size-adjust: 100%;
	color: #111;
	font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	font-weight: 500;
	font-size: 1.4rem;
}

#wrapper p {
	font-weight: 500;
}

.del2 {
	animation-delay: 0.2s !important;
}

.del3 {
	animation-delay: 0.3s !important;
}

.del4 {
	animation-delay: 0.4s !important;
}

.del5 {
	animation-delay: 0.5s !important;
}

.del6 {
	animation-delay: 0.6s !important;
}

.del7 {
	animation-delay: 0.7s !important;
}

.del8 {
	animation-delay: 0.8s !important;
}

.del9 {
	animation-delay: 0.9s !important;
}

.del10 {
	animation-delay: 1s !important;
}

.del11 {
	animation-delay: 1.1s !important;
}

.del12 {
	animation-delay: 1.2s !important;
}

.del13 {
	animation-delay: 1.3s !important;
}

.del14 {
	animation-delay: 1.4s !important;
}

.del15 {
	animation-delay: 1.5s !important;
}

.del16 {
	animation-delay: 1.6s !important;
}

.del17 {
	animation-delay: 1.7s !important;
}

.del18 {
	animation-delay: 1.8s !important;
}

.del19 {
	animation-delay: 1.9s !important;
}

.del20 {
	animation-delay: 2s !important;
}

.del21 {
	animation-delay: 2.1s !important;
}

.del22 {
	animation-delay: 2.2s !important;
}


/* サイト幅
-------------------------------------------------- */
.site_wrap {
	box-sizing: border-box;
	width: 100%;
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	#wrapper {
		position: relative;
		min-width: 1300px;
	}

	.site_wrap {
		min-width: 1300px;
		margin: 0 auto;
	}

	body.fx {
		overflow: hidden;
	}
}

@media only screen and (max-width: 639px) {
	.site_wrap {
		display: block;
		margin: 0px;
		padding: 0px;
	}

	body.fx {
		position: fixed;
		top: 0;
	}
}

/* ========== end △ */
/* ==================================================
	header
================================================== */
body {
	margin: 0;
	padding: 0;
}

/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	body {
		margin: 0;
		padding: 0;
	}

	img {
		width: 100%;
	}

	iframe {
		width: 100%;
	}

	header {
		position: fixed;
		left: 0;
		top: 0;
		z-index: 200;
		width: 100%;
		height: 55px;
		background: #FFF;
	}

	.head-top {
		display: block;
		height: 55px;
		background: #FFF;
	}

	header h1 {
		display: block;
		float: left;
		padding: 12px 0 0 12px;
	}

	header h1 img {
		max-width: 160px;
	}

	header h1 span {
		display: none;
	}

	.head-top .ref {
		display: none;
	}

	header .h-tel {
		display: none;
	}

	.head-top .ref figure {
		padding-top: 8px;
	}

	.head-top .ref figure img {
		width: 40px;
	}

	.gbase {
		display: none;
	}

	.sp_none {
		display: none !important;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	html {
		font-size: 62.5%;
	}

	header {
		position: fixed;
		left: 0;
		top: 0;
		z-index: 200;
		width: 100%;
		height: 150px !important;
		background: #FFF !important;
		-webkit-transition: all 0.5s ease-in-out 0s;
		transition: all 0.5s ease-in-out 0s;
	}

	a,
	a:hover,
	a::after,
	a::before {
		-webkit-transition: all 0.3s ease-in-out 0s;
		transition: all 0.3s ease-in-out 0s;
		color: #000000;
	}

	.head-top {
		display: block;
		position: relative;
		background: #FFF;
		padding-top: 45px;
		z-index: 20;
		-webkit-transition: all 0.2s ease-in-out 0s;
		transition: all 0.2s ease-in-out 0s;
	}

	.head-top .fix {
		max-width: 1300px;
		margin-left: auto;
		margin-right: auto;
		position: relative;
	}

	.head-top h1 {
		position: absolute;
		left: 0;
		top: 0px;
		-webkit-transition: all 0.5s ease-in-out 0s;
		transition: all 0.5s ease-in-out 0s;
	}

	.head-top h1 img {
		width: 300px;
		-webkit-transition: all 0.5s ease-in-out 0s;
		transition: all 0.5s ease-in-out 0s;
	}

	.head-top .ref {
		display: block;
		float: right;
		-webkit-transition: all 0.3s ease-in-out 0s;
		transition: all 0.3s ease-in-out 0s;
	}

	.gbase {
		display: block;
		float: left;
		margin-right: 45px;
	}

	.gbase ul#menu {
		display: block;
	}

	.gbase li {
		display: inline-block;
		text-align: center;
		position: relative;
		margin-left: 60px;
		-webkit-transition: all 0.3s ease-in-out 0s;
		transition: all 0.3s ease-in-out 0s;
	}

	.gbase li a,
	.gbase li b {
		display: block;
		font-size: 2rem;
		line-height: 1.1;
		font-weight: bold !important;
		text-align: left;
		color: #000;
		text-decoration: none;
		position: relative;
		cursor: pointer;
		font-weight: normal;
		padding: 20px 0px 20px 0px;
		-webkit-transition: all 0.2s ease-in-out 0s;
		transition: all 0.2s ease-in-out 0s;
	}

	.gbase li:nth-child(1)::before {
		display: none;
	}

	.gbase li a:hover,
	.gbase li b:hover,
	.gbase li a.current,
	.gbase li p.current {
		color: #CA2420;
	}

	.gbase li a::after,
	.gbase li b::after {
		position: absolute;
		left: 0;
		bottom: 0;
		content: "";
		width: 0%;
		height: 2px;
		background: #e88d94;
		z-index: 30;
		-webkit-transition: all 0.2s ease-in-out 0s;
		transition: all 0.2s ease-in-out 0s;
	}

	.gbase li a:hover::after,
	.gbase li b:hover::after,
	.gbase li.current a::after,
	.gbase li.current p::after {
		width: 0%;
	}

	.head-top .ref p.hcont {
		display: block;
		float: right;
	}

	.head-top .ref p.hcont a {
		display: flex;
		justify-content: center;
		text-align: center;
		align-items: center;
		width: 200px;
		height: 60px;
		color: #FFF;
		text-decoration: none !important;
		font-weight: bold;
		line-height: 1.2;
		font-size: 1.8rem;
		border-radius: 50px;
		background: #CA2420;
	}

	.head-top .ref p.hcont a:hover {
		background: #222;
	}

	#menu {}

	.menu_contents {
		display: none;
		position: absolute;
		top: 58px;
		left: 0;
		width: 185px;
		background: #FFFFFF;
		border: #d7d7d7 solid 1px;
		padding: 10px;
		z-index: 1;
		padding: 15px 0;
	}

	.menu_contents a {
		padding: 0 !important;
		margin: 0 !important;
		height: auto !important;
		display: block;
	}

	.menu_contents .inn {
		display: block;
		text-align: left !important;
		width: auto !important;
	}

	.menu_contents .inn p {
		display: block !important;
		padding: 14px 35px !important;
	}

	.menu_contents .inn p a {
		display: block;
		font-size: 1.6rem;
		line-height: 1.1;
	}

	.pc_none {
		display: none !important;
	}

	header.ml-fix {
		position: fixed;
		height: 80px !important;
		background: #FFF !important;
		-webkit-transition: all 0.2s ease-in-out 0s;
		transition: all 0.2s ease-in-out 0s;
	}

	header.ml-fix .head-top {
		display: block;
		position: relative;
		background: #FFF;
		padding-top: 10px;
		z-index: 20;
	}
}

@media print,
screen and (min-width: 640px) and (max-width: 1400px) {
	.fix-1400 {
		margin-left: 4%;
		margin-right: 4%;
	}
}

@media print,
screen and (min-width: 640px) and (max-width: 1299px) {
	.head-top .fix {
		margin-left: 4%;
		margin-right: 4%;
	}
}

/* ========== end △ */



/* ==================================================
	SP-NAV
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.mebt {
		position: fixed;
		right: 0px;
		top: 0px;
		z-index: 2000;
	}

	.menu-trigger {
		z-index: 3000;
		position: fixed;
		right: 10px;
		top: 7px;
		display: block;
		width: 40px;
		height: 40px;
		background: #FFF;
		opacity: 1;
		filter: alpha(opacity=100);
	}

	.menu-trigger span {
		position: absolute;
		background: #CA2420;
		width: 28px;
		height: 2px;
		left: 0;
		right: 0;
		margin: auto;
		z-index: 2000;
		border-radius: 4px;
	}

	.menu-trigger span:nth-of-type(1) {
		top: 11px;
	}

	.menu-trigger span:nth-of-type(2) {
		top: 0px;
		bottom: 0;
	}

	.menu-trigger span:nth-of-type(3) {
		bottom: 11px;
	}

	.menu-trigger.active span {
		text-indent: -9999px;
		background: #CA2420;
		width: 25px;
		height: 2px;
	}

	.menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(9px) rotate(-45deg);
		transform: translateY(9px) rotate(-45deg);
		top: 9px;
	}

	.menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}

	.menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-9px) rotate(45deg);
		transform: translateY(-9px) rotate(45deg);
		bottom: 11px;
	}

	nav.downs {
		display: none;
		position: fixed;
		top: 55px;
		right: 0px;
		background: #CA2420;
		width: 100vw;
		height: 93vh;
		z-index: 1000;
		overflow: auto;
	}

	nav.downs .pad01 {
		padding-bottom: 20px;
		overflow: auto;
	}

	.links-box {
		display: block;
		padding-bottom: 100px;
	}

	.links-box li {
		border-bottom: #ccc solid 1px;
		color: #FFF;
		font-size: 1.5rem;
		line-height: 1.4;
	}

	.links-box li a,
	.links-box li b {
		display: block;
		padding: 15px 5% 15px 5%;
		color: #FFF;
		font-size: 1.5rem;
		line-height: 1.4;
		text-decoration: none;
	}

	.links-box li b {
		padding-bottom: 5px !important;
	}

	.links-box li ul {
		display: block;
		padding-left: 35px;
	}

	.links-box li ul li:last-child {
		border-bottom: 0px;
	}

	.acd-check {
		display: none;
	}

	.acd-label {
		display: block;
		padding: 15px 5% 15px 5%;
		color: #FFF;
		font-size: 1.5rem;
		line-height: 1.4;
		text-decoration: none;
		position: relative;
		z-index: 2000;
	}

	.acd-label::after {
		position: absolute;
		right: 23px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 3px;
		height: 15px;
		background: #FFF;
	}

	.acd-label::before {
		position: absolute;
		right: 17px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 15px;
		height: 3px;
		background: #FFF;
	}

	.acd-content {
		height: 0;
		opacity: 0;
		padding: 0 10px 0px 20px;
		transition: .5s;
		visibility: hidden;
	}

	.acd-content li {
		border-bottom: #FFF solid 1px !important;
		margin-left: 10px;
	}

	.acd-content li.na {
		border-bottom: #FFF solid 0px !important;
	}

	.acd-check:checked+.acd-label::after {
		display: none;
	}

	.acd-check:checked+.acd-label+.acd-content {
		height: auto;
		opacity: 1;
		padding: 0px 10px 10px 10px;
		visibility: visible;
	}

	.sp-cont {
		display: block;
		text-align: center;
		padding-top: 15px;
		padding-left: 6%;
		padding-right: 6%;
		padding-bottom: 30px;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.mebt {
		display: none;
	}

	.downs {
		display: none;
	}

	.menu-trigger {
		z-index: 3000;
		display: block;
		width: 48px;
		height: 43px;
		background: #FFF;
		border: #ff8811 solid 1px;
		border-radius: 2px;
		opacity: 1;
		filter: alpha(opacity=100);
	}

	.menu-trigger span {
		position: absolute;
		background: #ff8811;
		width: 28px;
		height: 2px;
		left: 0;
		right: 0;
		margin: auto;
		z-index: 2000;
		border-radius: 4px;
	}

	.menu-trigger span:nth-of-type(1) {
		top: 11px;
	}

	.menu-trigger span:nth-of-type(2) {
		top: 0px;
		bottom: 0;
	}

	.menu-trigger span:nth-of-type(3) {
		bottom: 11px;
	}

	.menu-trigger.active span {
		text-indent: -9999px;
		background: #ff8811;
		width: 25px;
		height: 2px;
	}

	.menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(9px) rotate(-45deg);
		transform: translateY(9px) rotate(-45deg);
		top: 11px;
	}

	.menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}

	.menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-9px) rotate(45deg);
		transform: translateY(-9px) rotate(45deg);
		bottom: 13px;
	}

	nav.downs .pad01 {
		padding-bottom: 20px;
		overflow: hidden;
	}

	.links-box {
		display: block;
	}

	.links-box ul {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	.links-box li {
		display: block;
		flex-basis: 20%;
		margin: 2% 2% 20px 2%;
		color: #FFF;
		font-size: 1.6rem;
		line-height: 1.4;
	}

	.links-box li a {
		display: block;
		padding: 15px 5% 15px 5%;
		border: #FFF solid 1px;
		color: #FFF;
		font-size: 1.6rem;
		line-height: 1.4;
		text-decoration: none;
	}

	.acd-check {
		display: none;
	}

	.acd-label {
		display: block;
		padding: 15px 5% 15px 5%;
		border: #FFF solid 1px;
		cursor: pointer;
		color: #FFF;
		font-size: 1.5rem;
		line-height: 1.4;
		text-decoration: none;
		position: relative;
		z-index: 2000;
	}

	.acd-label::after {
		position: absolute;
		right: 23px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 3px;
		height: 15px;
		background: #FFF;
	}

	.acd-label::before {
		position: absolute;
		right: 17px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 15px;
		height: 3px;
		background: #FFF;
	}

	.acd-content {
		height: 0;
		opacity: 0;
		padding: 0 10px 0px 20px;
		transition: .5s;
		visibility: hidden;
	}

	.acd-content ul {
		display: block;
	}

	.acd-content li {
		border-bottom: #FFF solid 1px !important;
		margin-left: 10px;
		margin-bottom: 6px;
	}

	.acd-content li a {
		font-size: 1.4rem;
		border: none;
	}

	.acd-content li.na {
		border-bottom: #FFF solid 0px !important;
	}

	.acd-check:checked+.acd-label::after {
		display: none;
	}

	.acd-check:checked+.acd-label+.acd-content {
		height: auto;
		opacity: 1;
		padding: 0px 10px 10px 10px;
		visibility: visible;
	}

	.sp-sns {
		display: block;
	}

	.sp-sns li {
		display: block;
		float: left;
		width: 50%;
		padding: 6px 0;
		margin: 0px;
		text-align: center;
		position: relative;
	}

	.sp-sns li:nth-child(1)::after {
		position: absolute;
		top: 0;
		right: 0;
		content: "";
		width: 1px;
		height: 100%;
		background: #396bb7;
	}

	.sp-sns li a {
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		width: 35px;
		height: 35px;
		padding: 0px;
		background: #FFF;
		border-radius: 50%;
		margin-left: auto;
		margin-right: auto;
	}

	.sp-sns li a img {
		width: 15px;
		height: auto;
		display: inline-block;
	}

	.sp-tellink {
		display: block;
		text-align: center;
		padding: 13px 25px;
		border-bottom: #396bb7 solid 1px;
	}

	.sp-tellink a {
		display: block;
		text-align: center;
		color: #13438C;
		font-weight: bold;
		text-decoration: none !important;
		font-size: 2rem;
		line-height: 1;
		padding: 10px 0;
		background: #FFF;
	}
}

/* ========== end △ */
/* title set
-------------------------------------------------- */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.tit01 {
		display: block;
		text-align: center;
		position: relative;
		padding-bottom: 15px;
		margin-bottom: 24px
	}

	.tit01::after {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		content: "";
		background: #CA2420;
		width: 50px;
		height: 2px;
	}

	.tit01 span {
		display: block;
		position: relative;
		font-size: 2.5rem;
		line-height: 1;
		font-weight: 900;
		letter-spacing: 2px;
		font-family: 'Roboto', 'Manrope', sans-serif;
	}

	.tit01 h2 {
		display: block;
		font-size: 1.8rem;
		line-height: 1.2;
		letter-spacing: 1px;
		font-weight: 500;
		margin-bottom: 10px;
		margin-top: 10px;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.tit01 {
		display: block;
		text-align: center;
		position: relative;
		padding-bottom: 30px;
		margin-bottom: 50px;
	}

	.tit01::after {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		content: "";
		background: #CA2420;
		width: 70px;
		height: 4px;
	}

	.tit01 span {
		display: block;
		position: relative;
		font-size: 6.8rem;
		line-height: 1;
		font-weight: 900;
		letter-spacing: 15px;
		font-family: 'Roboto', 'Manrope', sans-serif;
	}

	.tit01 h2 {
		display: block;
		font-size: 3rem;
		line-height: 1.2;
		letter-spacing: 2px;
		font-weight: 500;
		margin-bottom: 10px;
		margin-top: 35px;
	}

}

/* ========== end △ */


/* btn set
-------------------------------------------------- */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.btn1 {
		display: block;
	}

	.btn1 {
		display: block;
		position: relative;
		color: #CA2420;
		background: #FFF;
		border: #CA2420 solid 1px;
		text-decoration: none !important;
		padding: 14px 0;
		text-align: center;
		font-size: 1.5rem;
		line-height: 1;
		border-radius: 35px;
	}

	.more {
		display: block;
	}

	.more a {
		display: inline-block;
		position: relative;
		font-size: 1.5rem;
		line-height: 1;
		text-decoration: none !important;
		color: #CA2420;
		padding-right: 20px;
	}

	.more a::after {
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		box-sizing: border-box;
		width: 8px;
		height: 8px;
		border: 4px solid transparent;
		border-left: 8px solid #CA2420;
	}

	.more a:hover {
		text-decoration: underline !important;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.btn1 {
		display: block;
	}

	.btn1 {
		display: block;
		position: relative;
		color: #CA2420;
		background: #FFF;
		border: #CA2420 solid 1px;
		text-decoration: none !important;
		padding: 20px 0;
		text-align: center;
		font-size: 1.8rem;
		line-height: 1;
		border-radius: 35px;
	}

	.btn1:hover {
		background: #CA2420;
		color: #FFF;
	}

	.more {
		display: block;
	}

	.more a {
		display: inline-block;
		position: relative;
		font-size: 1.8rem;
		line-height: 1;
		text-decoration: none !important;
		color: #CA2420;
		padding-right: 20px;
	}

	.more a::after {
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		box-sizing: border-box;
		width: 8px;
		height: 8px;
		border: 4px solid transparent;
		border-left: 8px solid #CA2420;
	}

	.more a:hover {
		text-decoration: underline !important;
	}
}

/* ========== end △ */


/* ==================================================
	btbox
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.btbox {
		display: block;
		padding: 30px 7%;
		position: relative;
		overflow: hidden;
		background: #edeff0;
	}

	.btbox ul {
		display: block;
	}

	.btbox ul li {
		display: block;
		padding: 10px 0;
	}

	.btbox ul li a {
		background: #CA2420;
		display: inline-block;
	}

	.btbox ul li img {
		max-width: 100%;
		position: relative;
		left: 0;
		top: 0;
		-webkit-transition: all 0.2s ease-in-out 0s;
		transition: all 0.2s ease-in-out 0s;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.btbox {
		display: block;
		padding: 100px 0;
		position: relative;
		overflow: hidden;
		background: #edeff0;
	}

	.btbox ul {
		display: flex;
		justify-content: space-between;
	}

	.btbox ul li {
		display: block;
		margin-left: 59px;
		width: calc((100% - (59px * 2)) / 3 - .01px);
	}

	.btbox ul li:nth-child(1) {
		margin-left: 0px;
	}

	.btbox ul li a {
		background: #CA2420;
		display: inline-block;
	}

	.btbox ul li img {
		max-width: 100%;
		position: relative;
		left: 0;
		top: 0;
		-webkit-transition: all 0.2s ease-in-out 0s;
		transition: all 0.2s ease-in-out 0s;
	}

	.btbox ul li img:hover {
		top: -5px;
		left: -5px;
	}
}

/* ========== end △ */


/* sp-fix
-------------------------------------------------- */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.sp-fix {
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100%;
		z-index: 2000;
		background: #FFF;
	}

	.sp-fix ul {
		display: flex;
		text-align: center;
	}

	.sp-fix ul li {
		display: block;
		height: 50px;
		flex-basis: 40%;
		font-size: 1.4rem !important;
		line-height: 1.2;
	}

	.sp-fix ul li a {
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		width: 100%;
		height: 50px;
		color: #FFF;
		text-decoration: none;
	}

	.sp-fix ul li a span {
		display: block;
		padding-top: 22px;
	}

	.sp-fix ul li:nth-child(3) {
		flex-basis: 20%;
		text-align: center;
	}

	.sp-fix ul li:nth-child(3) img {
		width: 35px;
	}

	.sp-fix ul li:nth-child(1) a {
		background: #be5961 url("../common_img/bg-tel.png") center top 5px no-repeat;
		background-size: 20px auto;
	}

	.sp-fix ul li:nth-child(2) a {
		background: #e88d94 url("../common_img/email.png") center top 9px no-repeat;
		background-size: 20px auto;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.sp-fix {
		display: none !important;
	}
}

/* ========== end △ */


/* ==================================================
	footer
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.sp_none {
		display: none !important;
	}

	#footer {
		display: block;
	}

	.fix-1200 {
		margin-left: 4%;
		margin-right: 4%;
	}

	.foot-top {
		padding: 24px 0;
	}

	.flogo {
		display: block;
		text-align: center;
		padding-bottom: 20px;
	}

	.flogo img {
		display: inline-block;
		max-width: 140px;
	}

	.foot-top .flex {
		display: block;
	}

	.foot-top .flex .ref {

		display: block;
	}

	.foot-top .flex .ref ul {
		display: none;
	}

	.foot-top .flex .ref ul:nth-child(4) {
		display: block;
	}

	.foot-top .flex .ref ul li {
		display: block;
		text-align: center;
		padding: 6px 0;
		font-size: 1.4rem;
		line-height: 1;
	}

	.foot-top .flex .ref ul li a {
		color: #000;
		text-decoration: none !important;
	}

	.posit-link {
		display: block;
		padding-top: 60px;
		margin-top: -60px;
	}

	.fx-bnr {
		display: block;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 1000;
	}

	.fx-bnr ul {
		display: flex;
	}

	.fx-bnr ul li {
		display: block;
		flex-basis: 50%;
	}

	.fx-bnr ul li a,
	.fx-bnr ul li p {
		display: flex;
		justify-content: center;
		text-align: center;
		align-items: center;
		height: 50px;
		width: 100%;
		color: #FFF;
		text-decoration: none;
		font-size: 1.6rem;
		line-height: 1.1;
		font-weight: bold;
	}

	.fx-bnr ul li.ftel a,
	.fx-bnr ul li.ftel p {
		background: #69b1f9;
	}

	.fx-bnr ul li.ftel span {
		display: inline-block;
		position: relative;
		padding-left: 20px;
	}

	.fx-bnr ul li.ftel span::before {
		position: absolute;
		left: -10px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		background: url("../common_img/phone-call.png") center center no-repeat;
		width: 20px;
		height: 20px;
	}

	.fx-bnr ul li.fline a {
		background: #4396f4;
	}

	.fx-bnr ul li.fline a:hover {
		background: #69b1f9;
	}

	.fx-bnr ul li.fline a span {
		display: inline-block;
		position: relative;
		padding-left: 40px;
	}

	.fx-bnr ul li.fline a span::before {
		position: absolute;
		left: 0px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		background: url("../common_img/calendar.png") center center no-repeat;
		width: 22px;
		height: 20px;
	}

	.copy {
		display: block;
		padding: 20px 0 40px 0;
		text-align: center;
	}

	.copy small {
		font-size: 1.3rem;
		line-height: 1;
		color: #000;
	}

	.footer_logo_flex {
		text-align: center;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.pc_none {
		display: none !important;
	}

	#footer {
		display: block;
	}

	.fix-1200 {
		max-width: 1200px;
		margin-left: auto;
		margin-right: auto;
	}

	.foot-top {
		padding: 100px 0;
	}

	.flogo {
		display: block;
		text-align: center;
	}

	.flogo img {
		display: inline-block;
		width: 200px;
	}

	.footer_logo_flex {
		font-size: 1.8rem;
		margin-top: 7px;
	}

	.foot-top .flex {
		display: flex;
		justify-content: space-between;
	}

	.foot-top .flex .time-tab {
		flex-basis: 42%;
	}

	.foot-top .flex .ref {
		display: block;
		flex-basis: 67%;
	}

	.foot-top .flex .lists {
		display: flex;
	}

	.foot-top .flex .lists ul {
		display: block;
		margin-right: 70px;
	}

	.foot-top .flex .lists ul:nth-child(3) {
		margin-right: 0px;
	}

	.foot-top .flex .lists li {
		display: block;
		font-size: 1.6rem;
		line-height: 1.5;
		margin-bottom: 16px;
		padding-left: 24px;
		position: relative;
	}

	.foot-top .flex .lists li::before {
		position: absolute;
		left: 0;
		top: 7px;
		content: "";
		width: 6px;
		height: 6px;
		border-top: 1px solid #CA2420;
		border-right: 1px solid #CA2420;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.foot-top .flex .lists li ul.c-sub {
		display: block;
		margin-top: 16px;
	}

	.foot-top .flex .lists li ul.c-sub li::before {
		display: none;
	}

	.foot-top .flex .lists li ul.c-sub li::after {
		position: absolute;
		left: 0;
		top: 9px;
		content: "";
		width: 12px;
		height: 1px;
		background: #CA2420;
	}

	.foot-top .flex .lists li a {
		color: #000;
		text-decoration: none;
	}

	.foot-top .flex .lists li a:hover {
		text-decoration: underline;
	}

	.posit-link {
		display: block;
		padding-top: 100px;
		margin-top: -100px;
	}

	.fx-bnr {
		display: none;
	}

	.copy {
		display: block;
		padding: 25px 0;
		text-align: center;
	}

	.copy small {
		font-size: 1.6rem;
		line-height: 1;
		color: #000;
	}

}

#pagetop_btn_f {
	position: static;
}

/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	#pagetop_btn_f {
		display: block;
		position: fixed !important;
		z-index: 20;
		width: 47px;
		right: 15px !important;
		left: auto !important;
		bottom: -100%;
		transition: all 0.5s ease;
	}

	#pagetop_btn_f.visible {
		bottom: 55px;
	}

	#pagetop_btn_f a {
		display: block;
		width: 37px;
		height: 37px;
		text-indent: -9999px;
		background: url(../common_img/pagetop.png) center center no-repeat;
		background-size: 100% auto;
	}
}

/* ========== end △ */
/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	#pagetop_btn_f {
		position: fixed;
		z-index: 20;
		right: 3%;
		bottom: -100%;
		transition: all 0.5s ease;
	}

	#pagetop_btn_f.visible {
		bottom: 45px;
	}

	#pagetop_btn_f:hover {
		bottom: 55px;
	}


}

/* ========== end △ */

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	#pagetop_btn_f a {
		display: block;
		color: #fff;
		background: #9d2328;
		text-decoration: none;
	}

	#pagetop_btn_f {
		position: fixed;
		right: 2%;
		text-align: center;
	}

	#pagetop_btn_f a {
		width: 100px;
		height: 100px;
		text-indent: -9999px;
		background: url(../common_img/pagetop.png) center center no-repeat;
	}

}

/* ========== end △ */
#pagetop_btn_f .fa {
	margin-right: 10px;
}


/* ==================================================
	HOVER ZOOM
================================================== */
/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.img-wr {
		overflow: hidden;
		/*拡大時にはみ出た部分を隠す*/
		position: relative;
	}

	.img-wr img {
		display: block;
		transition-duration: 0.3s;
		/*変化に掛かる時間*/
	}

	.img-wr img:hover {
		transform: scale(1.1);
		/*画像の拡大率*/
		transition-duration: 0.3s;
		/*変化に掛かる時間*/
	}

	.img-wr2 {
		position: relative;
	}

	.img-wr2 img {
		display: block;
		transition-duration: 0.3s;
		/*変化に掛かる時間*/
	}

	.img-wr2 img:hover {
		transform: scale(1.1);
		/*画像の拡大率*/
		transition-duration: 0.3s;
		/*変化に掛かる時間*/
	}
}

/* ========== end △ */


/* 記事用 ========== */
.deta-box::after {
	clear: both;
	content: "";
	width: 100%;
	height: 1px;
	display: block;
}

/* Alignments */
.alignleft {
	/*rtl:ignore*/
	float: left;
	/*rtl:ignore*/
	margin-right: 1rem;
}

@media only screen and (min-width: 768px) {
	.alignleft {
		/*rtl:ignore*/
		margin-right: calc(2 * 1rem);
	}
}

.alignright {
	/*rtl:ignore*/
	float: right;
	/*rtl:ignore*/
	margin-left: 1rem;
}

@media only screen and (min-width: 768px) {
	.alignright {
		/*rtl:ignore*/
		margin-left: calc(2 * 1rem);
	}
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* Clearings */
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}


.object-fit {
	object-fit: cover;
	font-family: 'object-fit: cover;';
	/*IE対策*/
}