@charset "UTF-8";
html.peke {
	overflow: hidden;
}
#senjyuWrap {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: bold;
	font-style: normal;
	font-feature-settings: palt;
	color: #231815;
	line-height: 1.6;
}
.footer-nav-01 {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: bold;
}
#senjyuWrap a {
	outline: none;
}
#senjyuWrap .en_font {
	font-family: "Manrope", sans-serif;
	font-optical-sizing: auto;
}
article img {
	width: 100%;
	height: auto;
}
.bukken_footer {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	background: none;
}
ul, ol, dl {
	margin: 0;
	padding: 0;
	list-style: none;
}
p, h1, h2, h3, h4, h5 {
	margin: 0;
	padding: 0;
	font-weight: normal;
}
a img {
	transition: all 0.3s ease-out;
}
hr {
	border: 0;
}
.img_responsive {
	width: 100%;
	height: auto;
}
.add_pos {
	transition: 1s;
	transform: translateY(35px);
}
.add_pos {
	opacity: 0;
	transition: 1s;
	transform: translateY(35px);
}
.pos_on {
	opacity: 1;
	transform: translateY(0px);
} /**/
.captionArea {
	overflow-wrap: break-word;
}
header {
	transition: .5s;
	background-color: rgba(255, 255, 255, 0.5);
}
/*.peke header {
	background-color: #fff;
}*/
/* --------- ハンバーガーメニュー --------- */
header #menu {
	position: absolute;
	top: 3px;
	right: 10px;
	height: 54px;
	width: 54px;
	transition: all .2s ease-in-out;
	z-index: 20;
}
header .menu span {
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	margin: -1px 0 0 1px;
	transition: all .3s ease-in-out;
	width: 52px;
}
header .menu span:before, header .menu span:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transition: all .3s ease-in-out;
	width: 34px;
	margin-left: -17px;
}
header .menu span, header .menu span:before, header .menu span:after {
	height: 2px;
	border-radius: 2px;
	background-color: #231815;
}
header .menu span:before {
	margin-top: -10px;
}
header .menu span:after {
	margin-top: 8px;
}
/* アニメーション */
header .peke {}
header #menu.peke div {
	color: #fefefe;
}
header .peke span:before, header .peke span:after {
	margin-top: 0;
	background-color: #000;
	width: 40px;
	margin-left: -30px;
}
header .peke span {
	background: transparent !important;
}
header .peke span:before {
	transform: rotate(-40deg);
}
header .peke span:after {
	transform: rotate(40deg);
}
#navoverlay {
	height: 100%;
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	background-color: #ffffff;
	opacity: 0;
	z-index: 14;
	display: none;
}
/* ナビゲーション */
.sidenav {
	background-color: #fff;
	position: fixed;
	right: 0;
	top: 0px;
	width: 100%;
	height: 100svh;
	z-index: 15;
	/*opacity: 0;
	visibility: hidden;*/
	overflow-y: scroll;
	/**/
	transform: translate3d(100%, 0, 0);
	transition: transform cubic-bezier(0.2, 0.1, 0.2, 1) 0.4s;
}
.sidenav.nav_open {
	transform: translate3d(0, 0, 0);
	/*	visibility: visible;
	opacity: 1;*/
}
.sidenav .sidenavbox {}
.sidenav .up_nav1 {
	margin-bottom: 20px;
}
.sidenav .up_nav1 li {
	font-size: 11px;
	letter-spacing: 0.1em;
}
.sidenav .up_nav1 li a {
	text-decoration: none;
	display: block;
	color: #231815;
	transition: all 0.5s ease-out;
	font-weight: bold;
	line-height: 1.2;
	padding: 8px 0 8px 20px;
	width: 100%;
	box-sizing: border-box;
	border-bottom: 1px solid #ddd;
	opacity: 1;
}
.sidenav .up_nav1 li div {
	font-family: "Manrope", sans-serif;
	font-optical-sizing: auto;
	font-size: 180%;
}
.sidenav ul li.current a {
	border-left: 5px solid #231815;
}
.up_nav2 {
	margin: 0 20px;
}
.up_nav2 li {}
.up_nav2 li a {
	text-decoration: none;
	color: #fff;
	transition: all 0.5s ease-out;
	padding: 10px 10px 10px 20px;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.05em;
	display: block;
}
.up_nav2 li.btn_ent a {
	background-color: #007bc7;
}
.up_nav2 li.btn_limited {
	margin-top: 15px;
}
.up_nav2 li.btn_limited a {
	background-color: #877c3d;
}
.up_nav2 li a div {
	font-family: "Manrope", sans-serif;
	font-optical-sizing: auto;
	font-size: 180%;
	line-height: 1.1;
}
.up_nav2 li a div span {
	display: block;
}
/* 表示 */
.sidenav.nav_open {
	opacity: 1;
	visibility: visible;
}
@media screen and (max-width: 767px) {
	#senjyuWrap {
		font-size: 14px;
		padding-top: 60px;
	}
	.pagecontents {
		font-size: 13px;
	}
	.pc-only {
		display: none;
	}
	.sp-only {
		display: block;
	}
	header {
		width: 100%;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 15;
		padding: 10px 0 0 0;
		height: 60px;
		box-sizing: border-box;
	}
	header h1 {
		margin: 0 0 0 10px;
		font-size: 0;
		width: 204px;
		position: relative;
	}
	header h1 a {
		display: block;
	}
	/* 共通コンテンツ */
	.main {
		position: relative;
		overflow: hidden;
		margin: 0 auto 60px;
	}
	.main div {
		padding-top: 80%;
		opacity: 0;
		transform: scale(1.1);
		animation: mainfadeIn 2s ease-in-out forwards;
	}
	.main h2 {
		font-size: 21px;
		font-weight: bold;
		letter-spacing: 0.1em;
		text-indent: 0.1em;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 100%;
		text-align: center;
		color: #fff;
	}
	.main span {
		position: absolute;
		right: 5px;
		bottom: 5px;
		font-size: 10px;
		color: #fff;
	}
	.lead_t1 {
		text-align: center;
		font-size: 18px;
		font-weight: bold;
		letter-spacing: 0.1em;
		text-indent: 0.1em;
		margin: 0 20px 40px;
	}
	.lead_t2 {
		text-align: center;
		font-size: 15px;
		font-weight: bold;
		letter-spacing: 0.05em;
		text-indent: 0.05em;
		line-height: 2;
		margin: 0 20px 40px;
	}
	.lead_t2 span {
		font-size: 10px;
	}
	.h_bar, .h_enbold, .h_bar_v {
		font-size: 25px;
		font-weight: bold;
		letter-spacing: 0.05em;
		display: inline-block;
		line-height: 1.2;
	}
	.h_bar, .h_bar_v {
		margin: 0 0 30px 20px;
	}
	.h_enbold {
		text-indent: 0.05em;
		display: block;
		margin: 0 auto 50px;
		text-align: center;
	}
	.h_bar_v {
		position: relative;
		height: 100%;
		padding-left: 10px;
	}
	.h_bar_font_s {
		font-size: 15px;
		margin: 0 0 30px 20px;
	}
	.h_bar::after {
		content: "";
		display: block;
		height: 1px;
		background-color: #231815;
		width: calc(100% + 20px);
		margin-left: -20px;
		margin-top: 15px;
		position: relative;
	}
	.h_bar_v::after {
		content: "";
		display: block;
		background-color: #231815;
		width: 1px;
		height: calc(100% + 35px);
		margin-top: 15px;
		position: absolute;
		left: 0;
		bottom: 5px;
	}
	/**/
	.h_bar_r {
		display: flex;
		justify-content: flex-end;
	}
	.h_bar_r .h_bar {
		margin: 0 20px 45px 0;
	}
	.h_bar_r .h_bar::after {
		margin-left: 0;
		margin-right: -20px;
	}
	/**/
	.txt_l {
		text-align: left;
		text-indent: 0;
	}
	.txt_r {
		text-align: right;
		text-indent: 0;
	}
	.txt_c {
		text-align: center;
	}
	/**/
	.img {
		position: relative;
	}
	.img span {
		position: absolute;
		right: 5px;
		bottom: 5px;
		font-size: 10px;
		color: #fff;
		line-height: 1.2;
	}
	.main span.sb, .img span.sb {
		color: #231815;
	}
	.img span.lb {
		right: 0;
		left: 5px;
	}
	/* 背景 */
	.bg_sky {
		padding: 80px 0 70px;
		background-color: #d8effc;
	}
	/**/
	.captionArea {
		width: 100%;
		margin: 30px auto 0;
	}
	.captionArea p {
		font-size: 10px;
	}
	.cont_cap {
		margin: 0 20px;
		padding: 20px 0 0;
	}
	/**/
	.contact_ft {
		width: 100%;
		margin: 0 auto 50px;
		display: flex;
		color: #fff;
		flex-direction: column;
		text-align: center;
	}
	.contact_ft a {
		color: #fff;
	}
	.contact_ft .contact_name {
		font-size: 16px;
		text-align: center;
	}
	.contact_ft .contact_txt {
		line-height: 1.5;
	}
	.contact_ft .contact_tel {
		font-size: 32px;
		padding-left: 10px;
		text-align: center;
	}
	.bukken_footer .footer-nav-01 .container .tel-cont .tel-details > li {
		font-size: 36px;
	}
	.contact_ft .contact_tel::before {
		content: '';
		display: inline-block;
		width: 40px;
		height: 23px;
		background-image: url(/content/dam/31sumai/mfr/X1817/common/images/icon_freedial_wt.svg);
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
	}
	.contact_ft .contact_tel a {
		text-decoration: none;
	}
	.contact_ft_or a {}
	.contact_ft_or .contact_tel a {
		text-decoration: none;
	}
	.bukken_footer .footer-nav-01 .container .tel-cont .sub-text {
		font-size: 13px !important;
		margin-bottom: 0;
	}
	.bukken_footer .footer-nav-01 .container .tel-cont .text {
		padding-top: 10px !important;
		line-height: 1.6;
		margin-bottom: 0;
		letter-spacing: 0.05em;
		text-indent: 0.05em;
	}
	.bukken_footer .footer-nav-01 .container .tel-cont .text .business_hour {
		margin-bottom: 5px;
	}
	ul.ft_logo {
		margin: 0 auto;
		padding: 20px 0;
		background-color: #fff;
	}
	ul.ft_logo li {
		margin-bottom: 10px;
		width: 70%;
		margin: 0 auto;
	}
	.copytxt {
		text-align: center;
		font-size: 10px;
		background-color: #fff;
		padding: 20px 0 20px;
	}
	/* sp固定バナー */
	.btn_spfix {
		position: fixed;
		left: 0px;
		bottom: 0px;
		width: 100%;
		transition: .5s;
		visibility: hidden;
		opacity: 0;
		z-index: 12;
	}
	.btn_spfix.showfb {
		visibility: visible;
		opacity: 1;
	}
	.btn_spfix .up_nav2 {
		display: flex;
		margin: 0;
	}
	.btn_spfix .up_nav2 li {
		width: calc(100% / 2);
		text-align: center;
	}
	.btn_spfix .up_nav2 li.btn_limited {
		margin: 0;
	}
	.btn_spfix .up_nav2 li a {
		padding: 15px 0;
	}
	.btn_spfix .up_nav2 li a div {
		font-size: 14px;
	}
}
@media screen and (min-width: 768px) {
	#senjyuWrap {
		font-size: 16px;
		padding-top: 86px;
	}
	.pagecontents {
		font-size: 14px;
	}
	#senjyuWrap sup {
		font-size: 65%;
	}
	.sp-only {
		display: none;
	}
	.pc-only {
		display: block;
	}
	header {
		width: 100%;
		height: 86px;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 15;
		background-color: rgba(255, 255, 255, 0.5);
	}
	header h1 {
		margin: 10px 0 0 20px;
		width: 323px;
		position: relative;
		z-index: 20;
	}
	header h1 > a {
		display: block;
	}
	header img {
		height: 60px;
		width: auto;
	}
	header #menu {
		top: 16px;
	}
	.sidenav {
		top: 0;
		height: 100%;
		width: 360px;
		border-left: solid 1px #ddd;
	}
	.sidenav .sidenavbox {}
	.sidenav .up_nav1 {
		margin-top: 15px;
		margin-bottom: 20px;
		border-top: solid 1px #ddd;
	}
	.sidenav .up_nav1 li {
		font-size: 13px;
	}
	.sidenav .up_nav1 li a {
		font-weight: bold;
		line-height: 1.2;
	}
	.sidenav .up_nav1 li a:hover {
		background-color: #231815;
		color: #fff;
	}
	.sidenav .up_nav1 li a div {
		font-size: 20px;
	}
	/**/
	.sidenav .up_nav2 {}
	.sidenav .up_nav2 li {}
	.sidenav .up_nav2 li a {
		transition: all 0.5s ease-out; /*
		padding: 15px 20px 15px 40px;
		font-size: 15px;
		display: block;*/
	}
	.sidenav .up_nav2 li.btn_limited {}
	.sidenav .up_nav2 li a div {
		font-size: 150%;
		line-height: 1.1;
	}
	.sidenav .up_nav2 li a div span {
		display: block;
	}
	/**/
	.sidenav a:hover, .up_nav2 a:hover {
		opacity: 0.5;
	}
	/* ヘッダー用 */
	.up_nav2.pc-only {
		display: flex;
		justify-content: space-between;
		position: absolute;
		top: 16px;
		right: 100px;
		gap: 20px;
	}
	.up_nav2.pc-only li {}
	.up_nav2.pc-only li a {
		padding: 10px 20px 8px 20px;
		font-size: 11px;
		display: block;
		text-align: center;
	}
	.up_nav2.pc-only li.btn_limited {
		margin-top: 0px;
	}
	.up_nav2.pc-only li a div {
		font-size: 150%;
		line-height: 1.1;
	}
	.up_nav2.pc-only li a div span {
		display: block;
	}
	/**/
	header #menu:hover {
		cursor: pointer;
	}
	header .menu:hover span, header .menu:hover span:before, header .menu:hover span:after {
		background-color: #aaa;
	}
	/**/
	/* 共通コンテンツ */
	.main {
		position: relative;
		overflow: hidden;
		margin: 0 auto 80px;
	}
	.main div {
		padding-top: 47%;
		opacity: 0;
		transform: scale(1.1);
		animation: mainfadeIn 2s ease-in-out forwards;
	}
	.main h2 {
		font-size: 40px;
		font-weight: bold;
		letter-spacing: 0.1em;
		text-indent: 0.1em;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 100%;
		text-align: center;
		color: #fff;
	}
	.main span {
		position: absolute;
		right: 5px;
		bottom: 5px;
		font-size: 10px;
		color: #fff;
	}
	.lead_t1 {
		text-align: center;
		font-size: 32px;
		font-weight: bold;
		letter-spacing: 0.1em;
		text-indent: 0.1em;
		margin: 0 auto 60px;
		line-height: 1.8;
		width: 1000px;
	}
	.lead_t2 {
		text-align: center;
		font-size: 22px;
		font-weight: bold;
		letter-spacing: 0.05em;
		text-indent: 0.05em;
		line-height: 2;
		margin: 0 auto 80px;
		width: 1000px;
	}
	.lead_t2 span {
		font-size: 10px;
	}
	.h_bar, .h_enbold, .h_bar_v {
		font-size: 48px;
		font-weight: bold;
		letter-spacing: 0.05em;
		line-height: 1.2;
		width: 1000px;
		box-sizing: border-box;
	}
	.h_bar, .h_bar_v {
		margin: 0 auto 60px;
	}
	.h_enbold {
		text-indent: 0.05em;
		display: block;
		margin: 0 auto 80px;
		text-align: center;
	}
	.h_bar_v {
		position: relative;
		height: 100%;
		padding-left: 30px;
	}
	.h_bar::after {
		content: "";
		display: block;
		height: 1px;
		background-color: #231815;
		/*	width : calc(100% + 60px) ;
		margin-left: -60px;*/
		margin-top: 15px;
		position: relative;
	}
	.h_bar_v::after {
		content: "";
		display: block;
		background-color: #231815;
		width: 1px;
		height: calc(100% + 60px);
		margin-top: 15px;
		position: absolute;
		left: 0;
		bottom: 5px;
	}
	/**/
	/*	.h_bar_r{
		display: flex;
		justify-content: flex-end;
	}
	.h_bar_r .h_bar{
	margin: 0 20px 45px 0;
	}*/
	.h_bar_r .h_bar::after {
		margin-left: 0;
		/*margin-right: -20px;
		*/ margin-right: 0;
	}
	/**/
	.txt_l {
		text-align: left;
		text-indent: 0;
	}
	.txt_r {
		text-align: right;
		text-indent: 0;
	}
	.txt_c {
		text-align: center;
	}
	/**/
	.img {
		position: relative;
	}
	.img span {
		position: absolute;
		right: 5px;
		bottom: 10px;
		font-size: 10px;
		color: #fff;
		line-height: 1.2;
	}
	.main span.sb, .img span.sb {
		color: #231815;
	}
	.img span.lb {
		right: 0;
		left: 5px;
	}
	/* 背景 */
	.bg_sky {
		padding: 120px 0;
		background-color: #d8effc;
	}
	/**/
	.captionArea {
		margin: 30px auto 60px;
	}
	.captionArea p {
		font-size: 11px;
	}
	.cont_cap {
		width: 1000px;
		margin: 0 auto;
		padding: 20px 0 0;
	}
	/**/
	.contact_ft {
		width: 1000px;
		margin: 0 auto 50px;
		display: flex;
		color: #fff;
		align-items: center;
		background-color: #b8b5b4;
		justify-content: space-around;
	}
	.contact_ft a {
		color: #fff;
	}
	.contact_ft .contact_name {
		font-size: 16px;
		width: 30%;
		text-align: right;
	}
	.contact_ft .contact_txt {
		font-size: 14px;
		width: 30%;
	}
	.contact_ft .contact_tel {
		font-size: 35px;
		padding-left: 10px;
		text-align: center;
		width: 40%;
	}
	.contact_ft .contact_tel::before {
		content: '';
		display: inline-block;
		width: 40px;
		height: 23px;
		background-image: url(/content/dam/31sumai/mfr/X1817/common/images/icon_freedial_wt.svg);
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
	}
	.contact_ft .contact_tel a {
		text-decoration: none;
	}
	.contact_ft_or a {}
	.contact_ft_or .contact_tel a {
		text-decoration: none;
	}
	.contact_ft_or .sub-text {
		font-size: 15px !important;
	}
	.tel-cont .text {
		padding-top: 10px !important;
	}
	/*--pagetop--*/
	footer #copyright .btn_pagetop a {
		width: 40px;
		display: table;
		float: none;
		background: #00528a;
		background: rgb(0, 82, 138, 0.7);
		margin: 0 auto;
		border: 1px solid #fff;
	}
	footer #copyright .btn_pagetop .fa-caret-up {
		color: #fff;
		font-size: 64px;
		font-size: 4rem;
		padding-bottom: 3px;
		display: block !important;
	}
	.bukken_footer {
		border-top: solid 1px #231815;
		border-bottom: solid 1px #231815;
	}
	ul.ft_logo {
		margin: 0 auto;
		padding: 20px 0;
		background-color: #fff;
	}
	ul.ft_logo li {
		width: 320px;
		margin: 0 auto;
	}
	.copytxt {
		text-align: center;
		font-size: 10px;
		background-color: #fff;
		padding: 20px 0 80px;
	}
}
/*フッター修正*/
#bukken_migration_footer {
	background-color: #fff;
}
#bukken_migration_footer .recommend_set {
	margin-top: 0;
}
@keyframes mainfadeIn {
	from {
		opacity: 0;
		transform: scale(1.1);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}