@charset "utf-8";

:root {
	--main_color: #0053be;
	--main_color_gray: #929292;

	--main_font_family_base: "Noto Sans JP", "Yu Gothic", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Meiryo", sans-serif;

	--contents_width: 140rem;
	--contents_bottom: 24rem;
	--contents_pabg: 8rem;

	--base_lh: 2;
}

@media screen and ( max-width: 768px ){

	:root {
		--contents_bottom: 12rem;
		--contents_pabg: 4rem;
	}

}


html {
	/* ルートのフォントサイズを10pxに設定しておく */
	font-size: 62.5%;
	scroll-behavior: smooth;
	scroll-padding-top: 10rem;
}

body {
	/* ルートのフォントサイズを1.6em（16pxと同等のサイズ）に設定 */
	font-size: 1.6em;
	font-family: var(--main_font_family_base);
	color: #1c1c1c;
	overflow-x: hidden;
}

a {
	color: var(--main_color);
	transition: .5s;
}

a:hover {
	text-decoration: none;
	opacity: 0.6;
}

a[href^="tel:"] {
	color: inherit;
	pointer-events: none;
	text-decoration:none;
	display: inline-block;
}

img{
	max-width: 100%;
}

ul{
	margin-bottom: 0;
}


@media screen and ( max-width: 559px ){

	a[href^="tel:"] {
		color: inherit;
		pointer-events: auto;
	}

	a:hover {
		text-decoration: none;
		opacity: 1;
	}

	a:hover[href^="tel:"] {
		text-decoration: underline;
	}

}

ul{ padding: 0; list-style-type: none;}

.pc{ display: block ; }
.sp{ display: none ; }
.tabh{ display: none ; }

@media screen and ( max-width: 820px ){

	.pc{ display: none ; }
	.pc.tablet_visible{ display: block ; }
	.sp{ display: block ; }
	.sp.tablet_hidden{ display: none ; }
	.tabh{ display: block ; }

}

@media screen and ( max-width: 767px ){

	.pc.tablet_visible{ display: none ; }
	.sp.tablet_hidden{ display: block ; }

}


a img{
	transition: .5s;
}

a img:hover{
	opacity: 0.6;
}

p{ margin-bottom: 0; line-height: 1.8; }

/* デスクトップ表示ではホバー操作でドロップダウンを表示 */
.dropdown:hover .dropdown-menu {
	display: block;
}

/*----------------------------------------*/

.w1200{
	max-width: 120rem;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

@media screen and ( max-width: 1280px ){

	.w1200{
		max-width: 100%;
	}

}

@media screen and ( max-width: 559px ){

	.w1200{
		max-width: 100%;
	}

}

/*----------------------------------------*/


body > header .logo .image .black{
	display: none;
}

body > header .logo .image .white{
	display: block;
}

body > header.fixed .logo .image .black{
	display: block;
}

body > header.fixed .logo .image .white{
	display: none;
}


/*----------------------------------------*/

.mg-20{ margin-bottom: 2rem; }
.mg-30{ margin-bottom: 3rem; }
.mg-40{ margin-bottom: 4rem; }
.mg-50{ margin-bottom: 5rem; }
.mg-60{ margin-bottom: 6rem; }
.mg-70{ margin-bottom: 7rem; }
.mg-80{ margin-bottom: 8rem; }
.mg-90{ margin-bottom: 9rem; }
.mg-100{ margin-bottom: 10rem; }
.mg-110{ margin-bottom: 11rem; }
.mg-120{ margin-bottom: 12rem; }
.mg-130{ margin-bottom: 13rem; }
.mg-140{ margin-bottom: 14rem; }
.mg-150{ margin-bottom: 15rem; }
.mg-160{ margin-bottom: 16rem; }
.mg-320{ margin-bottom: 32rem; }

.mt-100{ margin-top: -10rem; }

.pd-90{
	padding-top: 9rem;
	padding-bottom: 9rem;
}

.pb-90{
	padding-bottom: 9rem;
}

.pd-20-150{
	padding-top: 2rem;
	padding-bottom: 15rem;
}

@media screen and ( max-width: 768px ){

	.mg-20{ margin-bottom: 1rem; }
	.mg-30{ margin-bottom: 1.5rem; }
	.mg-40{ margin-bottom: 2rem; }
	.mg-50{ margin-bottom: 2.5rem; }
	.mg-60{ margin-bottom: 3rem; }
	.mg-70{ margin-bottom: 3.5rem; }
	.mg-80{ margin-bottom: 4rem; }
	.mg-90{ margin-bottom: 4.5rem; }
	.mg-100{ margin-bottom: 5rem; }
	.mg-110{ margin-bottom: 5.5rem; }
	.mg-120{ margin-bottom: 6rem; }
	.mg-130{ margin-bottom: 6.5rem; }
	.mg-140{ margin-bottom: 7rem; }
	.mg-150{ margin-bottom: 7.5rem; }
	.mg-160{ margin-bottom: 8rem; }
	.mg-320{ margin-bottom: 16rem; }

	.pd-90{
		padding-top: 4.5rem;
		padding-bottom: 4.5rem;
	}

	.pd-20-150{
		padding-top: 2rem;
		padding-bottom: 8rem;
	}

}

.mg-L-20{ margin-left: 2rem; }
.mg-L-30{ margin-left: 3rem; }
.mg-L-40{ margin-left: 4rem; }
.mg-L-50{ margin-left: 5rem; }
.mg-L-60{ margin-left: 6rem; }
.mg-L-70{ margin-left: 7rem; }
.mg-L-80{ margin-left: 8rem; }
.mg-L-90{ margin-left: 9rem; }
.mg-L-100{ margin-left: 10rem; }

@media screen and ( max-width: 768px ){

	.mg-L-20{ margin-left: 1rem; }
	.mg-L-30{ margin-left: 1.5rem; }
	.mg-L-40{ margin-left: 2rem; }
	.mg-L-50{ margin-left: 2.5rem; }
	.mg-L-60{ margin-left: 3rem; }
	.mg-L-70{ margin-left: 3.5rem; }
	.mg-L-80{ margin-left: 4rem; }
	.mg-L-90{ margin-left: 4.5rem; }
	.mg-L-100{ margin-left: 5rem; }

}

.mg-R-20{ margin-right: 2rem; }
.mg-R-30{ margin-right: 3rem; }
.mg-R-40{ margin-right: 4rem; }
.mg-R-50{ margin-right: 5rem; }
.mg-R-60{ margin-right: 6rem; }
.mg-R-70{ margin-right: 7rem; }
.mg-R-80{ margin-right: 8rem; }
.mg-R-90{ margin-right: 9rem; }
.mg-R-100{ margin-right: 10rem; }

@media screen and ( max-width: 768px ){

	.mg-R-20{ margin-right: 1rem; }
	.mg-R-30{ margin-right: 1.5rem; }
	.mg-R-40{ margin-right: 2rem; }
	.mg-R-50{ margin-right: 2.5rem; }
	.mg-R-60{ margin-right: 3rem; }
	.mg-R-70{ margin-right: 3.5rem; }
	.mg-R-80{ margin-right: 4rem; }
	.mg-R-90{ margin-right: 4.5rem; }
	.mg-R-100{ margin-right: 5rem; }

}

@media screen and ( max-width: 767px ){

	.mg-R-20,
	.mg-R-30,
	.mg-R-40,
	.mg-R-50,
	.mg-R-60,
	.mg-R-70,
	.mg-R-80,
	.mg-R-90,
	.mg-R-100{ margin-right: 0; }

}

@media screen and ( max-width: 559px ){


}

/*----------------------------------------*/

.w100{ width: 100%; }
.mw400{ max-width: 40rem; }
.mw430{ max-width: 43rem; }
.mw500{ max-width: 50rem; }
.mw560{ max-width: 56rem; }

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

.white{
	color: #fff;
}

.pt100{ padding-top: 10rem; }
.pb100{	padding-bottom: 10rem; }

.mt200{	margin-top: 20rem; }
.mb200{ margin-bottom: 20rem; }
.pt200{	padding-top: 20rem; }
.pt250{	padding-top: 25rem; }
.pb200{ padding-bottom: 20rem; }
.pt400{	padding-top: 40rem; }
.pb400{ padding-bottom: 40rem; }

.flex{
	display: flex;
}

.between{
	justify-content: space-between;
}

.justify-content-center{
	justify-content: center;
}

.align-items-center{
	align-items: center;
}

.align-items-end{
	align-items: end;
}

.absolute{
	position: absolute;
}

.line-height-3{
	line-height: 3;
}

.side_space{
	padding-left: 4rem;
	padding-right: 4rem;
}

@media screen and ( max-width: 1560px ){

	.width-1400.center{
		margin-left: 4rem;
		margin-right: 4rem;
	}

	.w1480.center{
		margin-left: 4rem;
		margin-right: 4rem;
	}

}

@media screen and ( max-width: 1180px ){

	.w1920{
		margin-bottom: 5rem;
	}

	.mw500{
		max-width: 38rem;
	}

	.mw560{
		max-width: 38rem;
		margin-right: 8rem;
	}

	.mt200{	margin-top: 12rem; }
	.mb200{ margin-bottom: 12rem; }
	.pt200{	padding-top: 12rem; }
	.pt250{	padding-top: 15rem; }
	.pb200{ padding-bottom: 12rem; }
	.pt400{	padding-top: 30rem; }
	.pb400{ padding-bottom: 10rem; }

}

@media screen and ( max-width: 1024px ){

	.mw500{
		max-width: 38rem;
	}

	.mw560{
		max-width: 38rem;
		margin-right: auto;
	}

	.mt200{	margin-top: 10rem; }
	.mb200{ margin-bottom: 10rem; }
	.pt200{	padding-top: 10rem; }
	.pt250{	padding-top: 10rem; }
	.pb200{ padding-bottom: 10rem; }

}

@media screen and ( max-width: 820px ){

	.mw500{
		max-width: 100%;
	}

	.mw560{
		max-width: 100%;
	}

	.w1480.center{
		margin-left: 2rem;
		margin-right: 2rem;

		margin-left: 0rem;
		margin-right: 0rem;
	}

	.wrap_sp{
		flex-wrap: wrap;
	}

	.column-reverse_sp{
		flex-direction: column-reverse;
	}

	.center_sp{
		justify-content: center;
		text-align: center;
	}

	.pt100{ padding-top: 5rem; }
	.pb100{ padding-bottom: 5rem; }
	
	.mt200{	margin-top: 10rem; }
	.mb200{ margin-bottom: 10rem; }
	.pt200{ padding-top: 10rem; }
	.pt250{ padding-top: 8rem; }
	.pb200{ padding-bottom: 10rem; }
	.pt400{ padding-top: 20rem; }
	.pb400{ padding-bottom: 20rem; }
	
}

@media screen and ( max-width: 767px ){

	.width-1400.center {
		margin-left: 3rem;
		margin-right: 3rem;
	}

	.pt200{
		padding-top: 9rem;
	}
	
	.pb200{
		padding-bottom: 9rem;
	}

}

@media screen and ( max-width: 559px ){

	.side_space{
		padding-left: 3rem;
		padding-right: 3rem;
	}

	.w1920{
		bottom: 0;
	}

}

/*----------------------------------------*/

#container{
	z-index: 0;
	position: relative;
}

#container section.default{
	padding-left: 4rem;
	padding-right: 4rem;
}

section#pankuzu.company_bg{
	padding-top: 1rem;
}

#container section.company_bg,
#container section.default.contact_banner_area{
		background: #fff;
}

@media screen and ( max-width: 1280px ){

	#container section.default{

	}

}

@media screen and ( max-width: 820px ){

	#container section.default{
		padding-left: 4rem;
		padding-right: 4rem;
	}

	#container section.default.contact_banner_area {
		padding: 0;
	}

}

@media screen and ( max-width: 559px ){

	#container section.default{
		padding-left: 2rem;
		padding-right: 2rem;
	}

}

h3.contents_title{
	font-family: var(--main_font_family_oswald);
	font-weight: 700;
	font-style: normal;

	font-size: clamp(3.4rem , 4vw , 8.4rem);
	opacity: 0;

	border-bottom: 0.1rem solid #ff8c3c;
	text-align: center;
	/*color: #1A1A1A;*/
/*
	background: url(../img/front/top_caption_image.png) no-repeat;
	background-size: auto 7.5rem;
	background-position: 13rem bottom;
*/
	height: 10rem;
	max-width: 55rem;
	margin-left: auto;
	margin-right: auto;
	letter-spacing: 0.3rem;
}

h3.contents_title span{
	position: relative;
}

h3.contents_title span::before{
	content: url(../img/front/top_caption_image.png);
	position: absolute;
	left: -8rem;
	bottom: -4.6rem;
	z-index: -1;
	scale: .6;
}

/*----------------------------------------*/

#header{
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 2;
	height: 8rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: 0.5s;
	padding-left: 3rem;
}

#header.move{
	background: rgba(0,0,0,0.4);
	transition: 0.5s;
}

#header .logo{
	max-width: 20rem;
	min-width: 20rem;
	margin-bottom: 0;
}

#header .right_area{
	display: flex;
	align-items: center;
}

#header .right_area > ul{
	font-family: "Poppins", sans-serif;
	font-style: italic;
	display: flex;
	font-size: 2.0rem;
}

#header .right_area > ul li{
	margin-right: 5rem;
}

#header .right_area > ul li a{
	color: #fff;
	position: relative;
}

#header .right_area > ul li a::after{
	background-color: #fff; /* 下線の色 */
	bottom: 2px; /* 要素の下端からの距離 */
	content: ""; /* 要素に内容を追加 */
	height: 0.2rem; /* 下線の高さ */
	left: 0; /* 要素の左端からの距離 */
	opacity: 0; /* 不透明度 */
	position: absolute; /* 絶対位置指定 */
	transition: all .2s; /* アニメーション効果を追加 */
	width: 100%; /* 要素の幅 */
}

#header .right_area > ul li a:hover::after{
	bottom: -1px; /* 下線を上から下に移動 */
	opacity: 1; /* 不透明度を変更してフェードイン */
}

#header .right_area .tel a{
	display: flex;
	justify-content: center;
	align-items: center;
	background: #0052BE;
	width: 24rem;
	height: 8rem;
	color: #fff;
	font-size: 2.0rem;
}

#header .right_area .tel a span{
	margin-right: 1.0rem;
}

/*---*/

#header .right_area ul > li.s01{
	position: relative;
}

#header .right_area ul > li.s01 .service_menu_area{
	display: none;
	transition: opacity 1s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.service_menu_area.show{
	display: flex !important;
	position: unset;
}

#header .right_area ul > li.s01 .service_menu_area ul li{
	margin-top: 0.5rem;
	margin-right: 0;
	margin-bottom: 0.5rem;
}

#header .right_area ul > li.s01:hover .service_menu_area{
	width: 30rem;
	right: 19.5rem;
}

#header .right_area ul > li.s01:hover .service_menu_area{
	font-family: var(--main_font_family_base);
	position: absolute;
	display: flex;
	transition: height 0.1s linear;
	width: max-content;
	height: auto;
	
	animation: hideop 0.2s linear 0s;
	animation-fill-mode: forwards;
	margin-top: 0rem;
	left: 0;
	font-style: normal;
	font-size: 1.6rem;
	line-height: 1.8;
	background: rgba(0, 0, 0, 0.6);
	padding: 1.5rem 2rem;
	margin-top: -2.2rem;
}

@keyframes hideop {
	0% {
		opacity: 0;
		top: 6rem;
	}

	100% {
		opacity: 1;
		top: 5.2rem;
	}
}

@media screen and ( max-width: 1380px ){

	#header .right_area > ul li{
		margin-right: 4rem;
	}

}

@media screen and ( max-width: 1280px ){

	#header .right_area > ul li{
		margin-right: 3rem;
	}

}

@media screen and ( max-width: 1180px ){

	#header .right_area{
		display: none;
	}

}


@media screen and ( max-width: 559px ){

	#header{
		height: 6rem;
		padding-left: 2rem;
	}
	

	#header .logo{
		max-width: 17rem;
		min-width: 17rem;
	}

}

/*----------------------------------------*/

#main_image{
	/*background: #aaa;*/
	background: url(../img/top/top_mv01.jpg) no-repeat;
	background-size: cover;
	width: 100%;
	height: 100svh;
}

/*----------------------------------------*/

hgroup{
	margin-bottom: 8rem;
}

hgroup.mb3{
	margin-bottom: 3rem;
}

hgroup h2{
	font-family: "Poppins", sans-serif;
	font-size: 7rem;
	font-style: italic;
	line-height: 1.0;
	margin-bottom: 2.5rem;
	font-weight: 700;
}

hgroup h2:first-letter{
	color: #0152be;
}

hgroup.white.all h2:first-letter{
	color: #fff;
}

hgroup p{
	font-weight: 800;
	color: #0152be;
	letter-spacing: 0.5rem;
}

hgroup.white.p p{
	font-weight: 600;
	color: #fff;
}

hgroup.white.all p{
	font-weight: 600;
	color: #fff;
}

hgroup.center,
hgroup.center h2,
hgroup.center p{
	text-align: center;
}

hgroup.center h2 span{
	color: #0152be;
}

hgroup.center p strong{
	font-size: 2.4rem;
	line-height: 0;
}

@media screen and ( max-width: 1180px ){

	hgroup{
		margin-bottom: 6rem;
	}

	hgroup h2{
		font-size: 6rem;
	}

}

@media screen and ( max-width: 559px ){

	hgroup{
		margin-bottom: 4rem;
	}

	hgroup h2 {
		font-size: 5rem;
		margin-bottom: 1.0rem;
		word-wrap: break-word;
		word-break: break-all;
	}

	hgroup p{
		font-weight: 600;
	}

	hgroup.center p strong{
		font-size: 2.0rem;
	}


}

/*----------------------------------------*/

div.bt{
	background: #0052be;
	width: 26rem;
	height: 8rem;

	font-size: clamp(1.5rem , 2vw , 2rem);
	font-weight: 600;
	position: relative;
	overflow: hidden;
}

div.bt.wide{
	width: 50rem;
}

div.bt.line{
	width: 39rem;
	background: #fff;
	border: 0.1rem solid #0052BE;
}

div.bt.line{
	width: 39rem;
	background: #fff;
	border: 0.1rem solid #0052BE;
}

div.bt.line a{
	color: #0052BE;
}

div.bt.wide82rem{
	width: 82rem;
}

div.bt::before{
	background-color: #fff;
	content: "";
	display: block;
	position: absolute;
	top: -100px;
	left: 0;
	width: 30px;
	height: 100%;
	opacity: 0;
	transition: cubic-bezier(0.32, 0, 0.67, 0);
}

div.bt:hover::before{
	animation: kiran 0.8s linear;
}

/*------------------------------------------------*/

.products_category li{
	position: relative;
	overflow: hidden;
}

.products_category li::before{
	background-color: #ffffff5e;
	content: "";
	display: block;
	position: absolute;
	top: -100px;
	left: 0;
	width: 30px;
	height: 100%;
	opacity: 0;
	transition: cubic-bezier(0.32, 0, 0.67, 0);
	pointer-events: none
}

.products_category li:hover::before{
	animation: kiran 0.8s linear;
}


/*------------------------------------------------*/

div.bt span{
	margin-left: 1rem;
	color: rgba(255,255,255, .5);
}

div.bt.line span{
	margin-right: 1rem;
	font-size: 3rem;
	color: #0052BE;
	transition: 0.4s;
}

div.bt.line span.arrow{
	margin-right: 0;
	margin-left: 1rem;
	font-size: 4rem;
}

div.bt.entry a div{
	margin-top: -0.2rem;
}

@media screen and ( max-width: 1280px ){

	div.bt.entry{
		margin-left: auto;
		margin-right: auto;
	}

}

@media screen and ( max-width: 1180px ){

	div.bt:hover::before{
		/*animation: kiran 0.6s linear;*/
		animation: none;
	}

	div.bt.line span{
		transition: 0s;
	}

}

@media screen and ( max-width: 820px ){

	div.bt.wide82rem{
		width: 100%;
	}

}

@media screen and ( max-width: 559px ){

	div.bt.wide{
		/*width: 100%;*/
		width: auto;
		margin-left: 2rem;
		margin-right: 2rem;
	}

	div.bt.wide a{
		font-size: 1.6rem;
	}

	div.bt.line{
		width: 100%;
	}

	div.bt.wide82rem a{
		font-size: 1.8rem;
	}

	div.bt.small_size a{
		font-size: 1.6rem;
	}

}

@media screen and ( max-width: 420px ){

	div.bt.small_size a{
		font-size: 1.5rem;
	}

}

@media screen and ( max-width: 375px ){

	div.bt.small_size a{
		font-size: 1.4rem;
	}

}

@keyframes kiran {
	0% {
	  transform: scale(2) rotate(45deg);
	  opacity: 0;
	}
	20% {
	  transform: scale(20) rotate(45deg);
	  opacity: 0.6;
	}
	40% {
	  transform: scale(30) rotate(45deg);
	  opacity: 0.4;
	}
	80% {
	  transform: scale(45) rotate(45deg);
	  opacity: 0.2;
	}
	100% {
	  transform: scale(50) rotate(45deg);
	  opacity: 0;
	}
}

div.bt:hover{
/*
	width: 26rem;
	height: 8rem;
*/
}

div.bt a{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;

	position: relative;
	overflow: hidden;
	transition: 0.5s;
	font-size: clamp(1.5rem, 4vw, 2.0rem);

	letter-spacing: 0.1rem;
	font-style: italic;
	font-size: 2.0rem;
}

div.bt a::after{
	content: '\025b6';
	position: absolute;
	right: 2rem;
	font-style: normal;
}

div.bt.none a::after{
	content: none;
}

div.bt.line a::after{
	content: none;
}

div.bt a:hover{
	transition: 0.3s;
	opacity: 1;
	/*letter-spacing: 0.3rem;*/
	/*background-color: #d82528;*/
	background-color: #9005c1;
	color: #fff;
}

div.bt.line a:hover{
	background-color: #0052BE;
}

div.bt.line a:hover span{
	color: #fff;
}

div.bt.wide82rem a{
	/*font-style: normal;*/
}

@media screen and ( max-width: 1180px ){

	div.bt a{
		transition: 0s;
	}

	div.bt a:hover{
		transition: 0s;
	}

	div.bt a:hover::before{
		content: '';
		position: absolute;
		top: -50px;
		left: -50px;
		width: 50px;
		height: 50px;
	
		background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 1) 100%, rgba(255, 255, 255, 0) 0%);
		animation-name: shiny_entry;
		animation-duration: 1s;
		animation-delay: 0s;
		animation-timing-function: ease-in-out;
		animation-iteration-count: 1;
	}
	@keyframes shiny_entry {
		0% {
			transform: scale(0) rotate(25deg);
			opacity: 0;
		}
	
		5% {
			transform: scale(1) rotate(25deg);
			opacity: .6;
		}
	
		100% {
			transform: scale(50) rotate(25deg);
			opacity: 0;
		}
	}

}

@media screen and ( max-width: 1024px ){

}

@media screen and ( max-width: 820px ){

}

@media screen and ( max-width: 559px ){


}


/*----------------------------------------*/


/*----------------------------------------*/


/*----------------------------------------*/
/*----------------------------------------*/
/*----------------------------------------*/
/*----------------------------------------*/
/*----------------------------------------*/

.pankuzu{
	font-family: var(--main_font_family_oswald);
	display: flex;
	justify-content: end;
	flex-wrap: wrap;

	max-width: 192rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: 5rem;
	padding-right: 5rem;
	/*
	margin-left: 5rem;
	margin-right: 5rem;
	*/
	margin-bottom: 16rem;

	font-size: 1.4rem;
	color: #595757;
}

.pankuzu li::after{
	content: '>';
	margin-left: 0.5rem;
	margin-right: 0.5rem;
}

.pankuzu li:last-child:after{
	content: none;
}

.pankuzu li a{
	color: #FF8C3D;
}

.nav li.sp {
	display: none;
}

.global-nav .contact{

}

.global-nav .contact a{
	color: #fff;
	border: 0.1rem solid #fff;
	font-family: 'Noto Sans JP', sans-serif;

	width: 14rem;
	height: 4rem;
	
	display: flex;
	justify-content: center;
	align-items: center;
	
	transition: .3s;
}

.global-nav .contact a:hover{
	border: 0.5rem solid #f18d0f;
	color: #f18d0f;
}

@media screen and ( max-width: 1180px ){

	.pankuzu {
		padding-left: 4rem;
		padding-right: 4rem;
	}

}

@media screen and ( max-width: 820px ){

	.pankuzu {
		padding-left: 2rem;
		padding-right: 2rem;
	}

}

@media screen and ( max-width: 559px ){
	
	.pankuzu{
		margin-left: 0;
		margin-right: 0;
		margin-bottom: 8rem;
		font-size: 1.3rem;
	}

}

@media screen and ( max-width: 1024px ){
	
	.nav li a {
		justify-content: left;
		padding: 2;
		padding-top: 1rem;
		padding-bottom: 1rem;
		color: #fff;
	}
	
	.nav li:last-child {
		border-right: none;
	}
	
	nav .call_area{
		display: block;
		margin: 0;
		border-top: 1px dotted #fff;
		border-bottom: 1px dotted #fff;
		color: #0080ff;
		padding: 1rem 0.5rem 0.5rem;
	}

	nav .call_area li:last-child {
		display: flex;
		align-item: center;
		font-size: 2.2rem;
		align-items: center;
		color: #fff;
	}
	
	nav .call_area li:last-child a{
	}
	
	/*----------------------*/

}


/*---------------------------------------------------*/

.top_contents{
	background: url(./img/bg.jpg) no-repeat #fdfae9;
	background-size: contain;
	
	overflow: hidden;
}

/*---------------------------------------------------*/


/*---------------------------------------------------*/

@media screen and ( max-width:768px ){

}

@media screen and ( max-width: 559px ){

}

/*---------------------------------------------------*/

/* スマートフォン　グローバルナビ */

.burger_area,
.global_menu{
	display: none;
}

.burger_area {
	width: 3.5rem;
	height: 2.7rem;
	z-index: 6;
	position: fixed;
}

.burger_area .line {
	fill: none;
	stroke: #fff;
	stroke-width: 6px;
	stroke-linecap: round;
	stroke-linejoin: round;
	transform-origin: 50%;
	transition: stroke-dasharray 500ms 200ms, stroke-dashoffset 500ms 200ms,
	transform 500ms 200ms;
}

.burger_area .x .line {
	stroke-width: 5.5px;
}

@media screen and ( max-width: 1180px ){

	.menu_btn {
		position: relative;
		background: none;
		border: none;
		appearance: none;
		cursor: pointer;
		/*width: 1.6rem;*/
		height: 1rem;
		transition: all 1s;
	
		margin-top: 1.3rem;
		margin-left: auto;
		margin-right: auto;
	}
	.menu_btn span {
		display: inline-block;
		position: absolute;
		left: 0;
		width: 100%;
		height: 0.4rem;
		background: #fff;
		transition: all .4s;
	}
	.menu_btn span:nth-of-type(1) {
		top: -1.3rem;
	}
	.menu_btn span:nth-of-type(2) {
		top: 0.9rem;
	}
	.menu_btn span:nth-of-type(3) {
		bottom: 0.8rem;
	}
	
	/*クリック後*/
	
	.burger_area.active {
		background: none;
		border: none;
	}
	
	.burger_area.active .menu_btn span {
		background: #fff;
	}
	
	.burger_area.active .menu_btn span:nth-of-type(1) {
		transform: translateY(4px) rotate(45deg);
		top: -0.6rem;
	}
	.burger_area.active .menu_btn span:nth-of-type(2) {
		opacity: 0;
	}
	.burger_area.active .menu_btn span:nth-of-type(3) {
		transform: translateY(-4px) rotate(-45deg);
		bottom: 0.4rem;
	}

/*----*/

	.burger_area{
		display: block;
		position: fixed;
		top: 2.5rem;
		right: 2.5rem;
		z-index: 15;
		/*mix-blend-mode: difference;*/
	}

	.burger_area.active{
		display: block;
		z-index: 15;
	}

	.burger_area ~ .global_menu{
		transition: .5s;
		right: -22rem;
		width: 22rem;
		top: 0;
		height: 100vh;

		display: block;
		background: #00214d;
		background-size: cover;
		position: fixed;
		z-index: 6;
	}

	.burger_area.active ~ .global_menu{
		transition: .5s;

		display: block;
		background: #0052BE;
		/*background: #1C1C1C;*/
		background-size: cover;
		position: fixed;

		top: 0;
		right: 0;
		height: 100vh;
		width: 22rem;
		z-index: 6;
		touch-action: none;
	}

	.burger_area.active ~ .global_menu ~ .global_menu_cover{
		display: block;
		background: rgba(0,0,0,0.7);
		position: fixed;
		top: 0;
		right: 0;
		width: 100%;
		height: 100vh;

		transition: .5s;
		z-index: 4;
		touch-action: none;
	}

	.burger_area ~ .global_menu > ul{
		display: block;
		width: 19rem;
		margin-top: 5rem;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 2rem;
		opacity: 0;
		animation-name: global_menu_ul;
		animation-duration: 0.5s;
		animation-delay: 0s;
		animation-fill-mode:forwards;
		line-height: 1.8;
	}
	@keyframes global_menu_ul {
		50% {
			opacity: 0;
		}
		100%{
			opacity: 1;
		}
	}
	.burger_area ~ .global_menu > ul li{
		/*border-bottom: 0.1rem solid #fff;*/
		font-size: 1.5rem;
		font-weight: 600;
	}
	.burger_area ~ .global_menu > ul li:last-child{
		border-bottom: none;
	}

	.burger_area ~ .global_menu > ul li a{
		color: #fff;
		padding: 0.8rem 1rem;
		display: flex;
		transition: .0s;

		position: relative;
		flex-wrap: wrap;
	}

	.burger_area ~ .global_menu > ul li a:hover{
		opacity: 1;
		background: #0077CA;
	}
/*
	.burger_area ~ .global_menu > ul li a::before {
		background: #fff;
		content: '';
		width: 100%;
		height: 0.1rem;
		position: absolute;
		left: 0;
		bottom: 0.1rem;
		margin: auto;
		transform-origin: right top;
		transform: scale(0, 1);
		transition: transform .2s;
	}

	.burger_area ~ .global_menu > ul li a:hover::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.burger_area ~ .global_menu > ul li a:hover{
		color: #fff;
	}
*/

	.burger_area ~ .global_menu > ul li a::after{
		background-color: #fff;
		bottom: 2px;
		content: "";
		height: 0.1rem;
		left: 0;
		opacity: 0;
		position: absolute;
		transition: all .2s;
		width: 100%;
	}

	.burger_area ~ .global_menu > ul li a:hover::after{
		bottom: -1px;
		opacity: 1;
	}

	.burger_area ~ .global_menu > ul li a p{
		font-family: "Poppins", sans-serif;
		font-style: italic;
		font-size: 1.9rem;
		/*color: #0052BE;*/
		color: #fff;
		width: 100%;
		line-height: 1.2;
	}

	.burger_area ~ .global_menu > ul li a div{
		/*color: #87ade0;*/
		color: #fff;
		font-size: 1.1rem;
		font-weight: 400;
	}

	.burger_area ~ .global_menu .tab{
		
	}

	.burger_area ~ .global_menu .tab a{
		display: flex;
		justify-content: center;
		align-items: center;
		background: #fff;
		width: 85%;
		height: 5rem;
		color: #0052BE;
		font-size: 1.6rem;
		margin-left: auto;
		margin-right: auto;
		font-weight: bold;
	}

	.burger_area ~ .global_menu .tab a span{
		margin-right: 0.5rem;
	}

	.burger_area ~ .global_menu .title{
		color: #7E7E7E;
		font-size: 1.2rem;
		font-weight: 400;
		width: 17rem;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 1rem;
	}

	.burger_area ~ .global_menu .botan{
		margin-bottom: 0.5rem;
	}

	.burger_area ~ .global_menu .botan a{
		/*background: #0096FF;*/
		display: flex;
		justify-content: left;
		align-items: center;
		width: 17rem;
		height: 4.2rem;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 0rem;
		color: #ff8c3d;
		font-weight: bold;
		font-family: "Oswald", sans-serif;
		font-size: 1.9rem;
	}

	.burger_area ~ .global_menu .botan a:hover{
		transition: .2s;
		background: #2c2c2c;
	}

	.burger_area ~ .global_menu .botan a .icon{
		max-width: 2.5rem;
		margin-right: 1rem;
	}

	.burger_area ~ .global_menu .botan a span{
		font-family: "Oswald", sans-serif;
		font-size: 1.9rem;
	}

	.burger_area ~ .global_menu hr{
		max-width: 17rem;
		/*border-bottom: 0.1rem solid #2b2b2b;*/
		border-bottom: 0.1rem solid #87ade0;
	}

	.burger_area ~ .global_menu .shop_box{
		color: #fff;
		max-width: 17rem;
		margin-top: 0.8rem;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 0.8rem;
	}

	.burger_area ~ .global_menu .shop_box .name{
		font-size: 1.1rem;
		/*color: #87ade0;*/
		color: #fff;
		font-weight: 600;
	}

	.burger_area ~ .global_menu .shop_box .tel{
		font-family: "Poppins", sans-serif;
		display: flex;
		font-weight: 600;
		align-items: center;
		font-size: 2rem;
	}

	.burger_area ~ .global_menu .shop_box .tel span{
		font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
		font-size: 2rem;
		margin-right: 0.3rem;
	}

}

@media screen and ( max-width: 767px ){

	.burger_area.active ~ .global_menu{
		touch-action: auto;
		overflow: scroll;/*20250613追加*/
	}

}

@media screen and ( max-width: 559px ){


	.burger_area.active ~ .global_menu{
		touch-action: none;
	}

	.burger_area ~ .global_menu > ul{
		width: 17rem;
	}

}

.global_menu ul > li.s01{
	position: relative;
}

.global_menu ul > li.s01 .service_menu_area{
	display: none;
	transition: opacity 1s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
	padding: 1rem 2rem;
}

.global_menu ul > li.s01:hover .service_menu_area{
	width: 30rem;
	right: 19.5rem;
}

.global_menu ul > li.s01:hover .service_menu_area{
	position: static;
	display: flex;
	transition: height 0.1s linear;
	width: 100%;
	height: auto;

	animation: hideop 0.2s linear 0s;
	animation-fill-mode: forwards;
	margin-top: 0rem;
	left: 0;
	font-style: normal;
	font-size: 1.6rem;
	line-height: 1.8;
	padding: 1rem 2rem;
	margin-top: 0rem;
}

.global_menu ul > li.s01:hover .service_menu_area ul{
	margin-top: 0;
	width: 100%;
}



@media screen and ( max-width: 1380px ){

	.global_menu ul > li.s01:hover .service_menu_area{
		position: unset;
		right: 0;
		background: none;
		display: none;
	}

	.service_menu_area.show{
		display: flex !important;
		position: unset;
	}

}

@media screen and ( max-width: 767px ){

	.burger_area ~ .global_menu .tab{
		display: none;
	}

}

@media screen and ( max-width: 559px ){

	.burger_area {
		top: 1.8rem;
		right: 2.0rem;
	}

	.burger_area ~ .global_menu > ul li a{
		padding: 0.7rem 1rem;
	}

	.burger_area ~ .global_menu .service_menu_area > ul{
		margin-bottom: 0;
	}

	.burger_area ~ .global_menu .service_menu_area > ul li{
		font-size: 1.3rem;
	}

	.burger_area ~ .global_menu .service_menu_area > ul li a{
		padding: 0.2rem 1rem;
	}

	.burger_area ~ .global_menu .shop_box .tel{
		font-size: 1.8rem;
	}

	.burger_area ~ .global_menu .shop_box .tel span{
		font-size: 1.8rem;
	}

}

@media screen and ( max-width: 375px ){

	.burger_area ~ .global_menu ul {
		margin-bottom: 1rem;
	}

	.burger_area ~ .global_menu .title {
		display: none;
	}

	.burger_area ~ .global_menu ul li a p {
		line-height: 1.1;
	}

	.burger_area ~ .global_menu ul li a{
		padding: 0.7rem 1rem;
	}

	.burger_area ~ .global_menu .botan {
		margin-bottom: 0rem;
	}

}

@media screen and ( max-width: 320px ){

	.burger_area.active ~ .global_menu ul li a div {
		font-size: 1.2rem;
	}

	.burger_area.active ~ .global_menu ul li a{
		padding: 0.6rem 1rem;
	}

}

/*---------------------------------------------------*/

@media screen and ( max-width: 559px ){

	.global-nav {
		position: fixed;
		right: -320px; /* これで隠れる */
		top: 0;
		width: 280px; /* スマホに収まるくらい */
		height: 100vh;
		padding-top: 40px;
		background-color: #fff;
		transition: all .6s;
		z-index: 200;
		overflow-y: auto; /* メニューが多くなったらスクロールできるように */
	}

	.hamburger {
		position: fixed;
		right: 1rem;
		top: 1rem;
		width: 40px; /* クリックしやすいようにちゃんと幅を指定する */
		height: 40px; /* クリックしやすいようにちゃんと高さを指定する */
		cursor: pointer;
		z-index: 300;
		background: #222;
		/*mix-blend-mode: exclusion;*/
		border: 0.2rem solid #fff;
	}
	.global-nav__list {
		margin-top: 3rem;

		padding: 0;
		list-style: none;
	}
	.global-nav__item {
		text-align: center;
		padding: 0 14px;
	}
	.global-nav__item a {
		display: block;
		padding: 8px 0;
		border-bottom: 1px solid #eee;
		text-decoration: none;
		color: #111;
	}
	.global-nav__item a:hover {
		background-color: #eee;
	}
	.hamburger__line {
		position: absolute;
		left: 9px;
		width: 18px;
		height: 2px;
		background-color: #fff;
		transition: all .6s;
	}
	.hamburger__line--1 {
		top: 12px;
	}
	.hamburger__line--2 {
		top: 18px;
	}
	.hamburger__line--3 {
		top: 24px;
	}
	.black-bg {
		position: fixed;
		left: 0;
		top: 0;
		width: 100vw;
		height: 100vh;
		z-index: 100;
		background-color: #000;
		opacity: 0;
		visibility: hidden;
		transition: all .6s;
		cursor: pointer;
	}

	/* 表示された時用のCSS */
	.nav-open .global-nav {
		right: 0;
	}
	.nav-open .black-bg {
		opacity: .8;
		visibility: visible;
	}
	.nav-open .hamburger__line--1 {
		transform: rotate(45deg);
		top: 18px;
	}
	.nav-open .hamburger__line--2 {
		width: 0;
		left: 50%;
	}
	.nav-open .hamburger__line--3 {
		transform: rotate(-45deg);
		top: 18px;
	}

}

/*---------------------------------------------------------------------------------------------*/

#contact {
	background: #0077CA;
	background: url(../img/top/contact_bg.jpg) no-repeat;
	background-size: cover;
	background-position: right;
}

#contact .tel_box{
	max-width: 44rem;
	width: 100%;
	margin-left: 2rem;
	margin-right: 2rem;
}

#contact .tel_box .title{
	font-size: clamp(1.2rem , 3vw , 2rem);
	margin-left: 0;
	margin-bottom: 1rem;
}

#contact .tel_box .botan{
	border-top: 0.2rem solid #fff;
	height: 10rem;
	border-bottom: 0.2rem solid #fff;
}

#contact .tel_box .botan a{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#contact .tel_box .botan .icon{
	margin-right: 1rem;
}

#contact .tel_box .botan .tel{
	font-size: clamp(2.5rem , 3.5vw , 4.5rem);
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	letter-spacing: 0.3rem;
}

#contact .tel_box .botan .arrow{
	display: none;
}

#contact .mail_box{
	max-width: 44rem;
	width: 100%;
}

#contact .mail_box .title{
	font-size: clamp(1.2rem , 3vw , 2rem);
	margin-left: 0;
	margin-bottom: 1rem;
}

#contact .mail_box .botan{

}

#contact .mail_box .botan a{
	background: #fff;
	height: 10rem;
	font-family: "Raleway", sans-serif;
	font-size: clamp(2.6rem , 3.5vw , 4.8rem);
	font-weight: 600;
	color: #0077CA;
}

#contact .mail_box .botan a:hover{
	opacity: 1;
	background: #292D30;
	color: #0077CA;
}

#contact .mail_box .botan a .icon{
	margin-right: 1rem;
}

#contact .mail_box .botan a .arrow{
	max-width: 2.2rem;
	margin-left: 1rem;
}

@media screen and ( max-width: 1180px ){

	#contact .tel_box {
		max-width: 36rem;
		margin-left: 4rem;
		margin-right: 4rem;
	}

	#contact .mail_box {
		max-width: 36rem;
	}

}

@media screen and ( max-width: 1024px ){

	#contact .tel_box {
		max-width: 30rem;
		margin-left: 4rem;
		margin-right: 4rem;
	}

	#contact .tel_box .botan .icon {
		max-width: 4rem;
	}

	#contact .mail_box {
		max-width: 30rem;
	}

	#contact .mail_box .botan a .icon {
		max-width: 4rem;
	}

}

@media screen and ( max-width: 820px ){

	#contact {
		padding-left: 6rem;
		padding-right: 6rem;
		background: url(../img/top/contact_bg_sp.jpg) no-repeat , #0077CA;
		background-size: 100%;
		background-position: top;
	}

	#contact section{
		justify-content: center;
	}

	#contact .title{
		position: relative;
	}

	#contact .title::after{
		content: '';
		position: absolute;

		width: 34%;
		height: 0.2rem;
		background: #fff;

		top: 50%;
		right: 0;
		transform: translateY(-50%);
	}

	#contact .text_area .text{
		margin-bottom: 4rem;
	}

	#contact .tel_box{
		max-width: 40rem;
		margin-left: 0;
		margin-right: 0;
	}
	
	#contact .tel_box .botan {
		justify-content: space-between !important;
		border-top: none;
		border-bottom: none;
		height: auto;
	}

	#contact .tel_box .botan a {
		width: 100%;
		transition: .2s;
		border-bottom: 0.2rem solid #0077cb;
		padding-bottom: 0.8rem;
	}

	#contact .tel_box .botan a:hover {
		background: none;
		color: #fff;
		border-bottom: 0.2rem solid #fff;
	}

	#contact .mail_box {
		max-width: 40rem;
	}

	#contact .mail_box .botan a{
		background: none;
		height: auto;
		color: #fff;
		justify-content: space-between !important;
		transition: .2s;
		border-bottom: 0.2rem solid #0077cb;
		padding-bottom: 0.8rem;
	}

	#contact .mail_box .botan a:hover{
		background: none;
		color: #fff;
		border-bottom: 0.2rem solid #fff;
	}

	#contact .mail_box .botan a img{

	}

	#contact .tel_box {
		margin-bottom: 2rem;
	}

	#contact .tel_box .botan .icon {
		margin-right: 1rem;
		max-width: 3.5rem;
	}

	#contact .tel_box .botan .arrow{
		display: block;
		max-width: 2rem;
		opacity: 0;
	}

	#contact .mail_box .botan .icon {
		margin-right: 1rem;
		max-width: 3.5rem;
	}

}

@media screen and ( max-width: 767px ){

	#contact .tel_box .botan .arrow{
		opacity: 1;
	}

}

@media screen and ( max-width: 320px ){

	#contact {
		padding-left: 3rem;
		padding-right: 3rem;
	}

}

/*---------------------------------------------------------------------------------------------*/

#footer_link{
	background: #EEEEEE;
	padding: 2rem 0;
}

.footer_list{
	width: 100%;
	display: flex;
	justify-content: center;
	font-size: 1.5rem;
}

.footer_list li{
	position: relative;
	padding: 0 2.5rem;
}

.footer_list li::before{
	content: '';
	position: absolute;
	top: 20%;
	left: 0;
	/*width: 0.1rem;*/
	width: 1px;
	height: 60%;
	background: #1c1c1c;
}

.footer_list li:last-child::after{
	content: '';
	position: absolute;
	top: 20%;
	right: 0;
	width: 0.1rem;
	height: 60%;
	background: #1c1c1c;
}

.footer_list li a{
	margin: 1rem 2.5rem;
	color: #1c1c1c;
}

.footer_list li a:hover{

}

.footer_list li a p::after{
	background-color: #1c1c1c; /* 下線の色 */
	bottom: 2px; /* 要素の下端からの距離 */
	content: ""; /* 要素に内容を追加 */
	height: 0.2rem; /* 下線の高さ */
	left: 0; /* 要素の左端からの距離 */
	opacity: 0; /* 不透明度 */
	position: absolute; /* 絶対位置指定 */
	transition: all .2s; /* アニメーション効果を追加 */
	width: 100%; /* 要素の幅 */
}

.footer_list li a p:hover::after{
	bottom: 0.8rem; /* 下線を上から下に移動 */
	opacity: 1; /* 不透明度を変更してフェードイン */
}

@media (max-width: 1380px ){

	.footer_list {
		width: 70%;
		flex-wrap: wrap;
		margin-left: auto;
		margin-right: auto;
	}

	.footer_list li::before {
		content: none;
	}

	.footer_list li:last-child::after{
		content: none;
	}

	.footer_list li a:hover{
		text-decoration: underline;
	}

	.footer_list li a p::after {
		content: none;
	}

	.footer_list li a p:hover::after{
		content: none;
	}

}

@media (max-width: 1024px ){

	#footer_link{
		background: #EEEEEE;
		padding: 1.5rem 0;
	}

	.footer_list{
		font-size: 1.4rem;
	}

	.footer_list li{
		padding: 0 2.0rem;
	}

}

@media (max-width: 820px ){

	#footer_link{
		padding: 5rem 4rem;
	}

	.footer_list{
		/*width: 80%;*/
		max-width: 44rem;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		/*flex-wrap: wrap;*/
		font-size: 1.8rem;
		display: block;
		column-count: 2;
		position: relative;
	}

	.footer_list li{
		display: flex;
		align-items: center;
		/*width: 50%;*/
		width: auto;
		margin-bottom: 1rem;
		padding: 0 0rem;
	}

	.footer_list li:nth-child(5){
		margin-bottom: 0;
	}

	.footer_list li::before{
		content: '';
		top: 48%;
		width: 2rem;
		height: 0.1rem;
		position: relative;
		margin-right: 1rem;
	}

	.footer_list li a{
		margin: 0rem;
	}

}

@media (max-width: 559px ){

	#footer_link {
		padding: 5rem 2rem;
	}

	.footer_list {
		width: 100%;
		font-size: 1.6rem;
		column-count: unset;
		display: flex;
		flex-flow: column wrap;
		position: relative;
		/*height: 20rem;*/
		height: 18.5rem;
		justify-content: flex-start;
	}

	.footer_list li {
		padding: 0 0.0rem;
	}

	.footer_list li::before{
		top: 0;
	}

	.footer_list li:nth-child(1),
	.footer_list li:nth-child(2),
	.footer_list li:nth-child(3),
	.footer_list li:nth-child(4),
	.footer_list li:nth-child(5){
		width: 40%;
	}

	.footer_list li:nth-child(6),
	.footer_list li:nth-child(7),
	.footer_list li:nth-child(8),
	.footer_list li:nth-child(9){
		
	}

}

@media (max-width: 320px ){

	.footer_list li::before {
		width: 1.0rem;
		margin-right: 0.5rem;
	}

	.footer_list {
		font-size: 1.4rem;
	}

}

/*---------------------------------------------------------------------------------------------*/

#footer .upper_part{
	display: flex;
	justify-content: space-between;
	margin-bottom: 8rem;
}

#footer .upper_part .text{
	color: #fff;
}

#footer .upper_part .text .logo{
	max-width: 30rem;
	margin-bottom: 2rem;
}

#footer .upper_part .text .name{
	font-size: 1.8rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
}

#footer .upper_part .text .address{
	font-size: 1.5rem;
}

#footer .upper_part .footer_service_list{
	width: 60%;
	color: #fff;
}

#footer .upper_part .footer_service_list li{
	display: flex;
	align-items: center;
	margin-bottom: 2.5rem;
}

#footer .upper_part .footer_service_list li:last-child{
	margin-bottom: 0rem;
}

#footer .upper_part .footer_service_list li .name{
	font-size: 2rem;
	display: flex;
	align-items: center;
	border-right: 0.1rem solid #fff;
	width: 35%;
	font-weight: 600;
	margin-right: 3rem;
}

#footer .upper_part .footer_service_list li .name a{
	color: #fff;
	position: relative;
	display: flex;
	align-items: center;
}

#footer .upper_part .footer_service_list li .name a:hover{
	opacity: .8;
}

#footer .upper_part .footer_service_list li .name a::after{
	background-color: #fff; /* 下線の色 */
	bottom: 2px; /* 要素の下端からの距離 */
	content: ""; /* 要素に内容を追加 */
	height: 0.2rem; /* 下線の高さ */
	left: 0; /* 要素の左端からの距離 */
	opacity: 0; /* 不透明度 */
	position: absolute; /* 絶対位置指定 */
	transition: all .2s; /* アニメーション効果を追加 */
	width: 100%; /* 要素の幅 */
}

#footer .upper_part .footer_service_list li .name a:hover::after{
	bottom: -4px; /* 下線を上から下に移動 */
	opacity: 1; /* 不透明度を変更してフェードイン */
}


#footer .upper_part .footer_service_list li .name span{
	font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
	margin-right: 2rem;
	font-size: 3.0rem;
}

#footer .upper_part .footer_service_list li .detail{
	border-right: 0.1rem solid #fff;
	width: 65%;
	font-size: 1.8rem;
}

@media screen and ( max-width: 1180px ){

	#footer .upper_part .footer_service_list {
		width: 62%;
	}

	#footer .upper_part .footer_service_list li .name{
		width: 40%;
	}

	#footer .upper_part .footer_service_list li .detail{
		width: 60%;
	}

}

@media screen and ( max-width: 1024px ){

	#footer .upper_part .text .logo{
		max-width: 28rem;
	}

	#footer .upper_part .text .name {
		font-size: 1.8rem;
	}

	#footer .upper_part .text .address {
		font-size: 1.6rem;
	}

	#footer .upper_part .footer_service_list li .name {
		font-size: 1.8rem;
	}

	#footer .upper_part .footer_service_list li .detail{
		font-size: 1.6rem;
	}

}

@media (max-width: 820px ){

	#footer .upper_part .text {
		display: none;
	}

	#footer .upper_part{
		flex-wrap: wrap;
	}

	#footer .upper_part .footer_service_list {
		width: 100%;
		/*margin-left: 2rem;*/
		/*margin-right: 2rem;*/
		max-width: 48rem;
		margin-left: auto;
		margin-right: auto;
		padding-left: 2rem;
		padding-right: 2rem;
	}

	#footer .upper_part .footer_service_list li{
		border-bottom: 0.1rem solid #fff;
		padding-bottom: 1.5rem;
		margin-bottom: 1.2rem;
	}

	#footer .upper_part .footer_service_list li:last-child{
		border-bottom: none;
	}

	#footer .upper_part .footer_service_list li .name {
		width: 100%;
		font-size: 2rem;
		border-right: none;
		display: flex;
		margin-right: 0;
		justify-content: center;
	}

	#footer .upper_part .footer_service_list li .detail {
		display: none;
	}

}

@media (max-width: 559px ){

	#footer .upper_part{
		margin-bottom: 5rem;
	}

	#footer .upper_part .footer_service_list {
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}

}

/*---*/

#footer .lower_part{
	margin-bottom: 3rem;
}

#footer .lower_part > ul{
	width: 100%;
	display: flex;
	justify-content: space-between;
}

#footer .lower_part > ul > li{
	width: 32%;
	background: #ccc;
	height: 34rem;
	border-radius: 1rem;
	padding: 2rem;
	position: relative;
	overflow: hidden;
}

#footer .lower_part > ul > li > a{
	display: flex;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

#footer .lower_part > ul > li{
	background-color:rgba(0,0,0,0.4);
	background-blend-mode: multiply;
	transition: 0.3s;
}

#footer .lower_part > ul > li:hover{
	background-color:rgba(0,0,0,0.2);
}

#footer .lower_part > ul > li:nth-child(1)::before{
	background-image: url(../img/top/shop01.jpg);
}

#footer .lower_part > ul > li:nth-child(2)::before{
	background-image: url(../img/top/shop02.jpg);
}

#footer .lower_part > ul > li:nth-child(3)::before{
	background-image: url(../img/top/shop03.jpg);
}

#footer .lower_part > ul > li:nth-child(1)::before,
#footer .lower_part > ul > li:nth-child(2)::before,
#footer .lower_part > ul > li:nth-child(3)::before{
	width: 100%;
	height: 100%;
	content: '';
	display: block;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;

	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	z-index: -1;
	transition: 0.3s;
}
@keyframes zoomOut {
	0% {
		transform: scale(1.2);
	}
	100% {
		transform: scale(1);
	}
}
/*
#footer .lower_part > ul > li:hover:nth-child(1)::before,
#footer .lower_part > ul > li:hover:nth-child(2)::before,
#footer .lower_part > ul > li:hover:nth-child(3)::before{
	z-index: -1;
	transform: scale(1.2);
	transition: 0.3s;
}
@keyframes zoom {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.2);
	}
}
/*
#footer .lower_part > ul > li:nth-child(1){
	background-image: url(../img/top/shop01.jpg);
	background-size: cover;
	background-color:rgba(0,0,0,0.4);
	background-blend-mode: multiply;
}

#footer .lower_part > ul > li:nth-child(2){
	background-image: url(../img/top/shop02.jpg);
	background-size: cover;
	background-color:rgba(0,0,0,0.4);
	background-blend-mode: multiply;
}

#footer .lower_part > ul > li:nth-child(3){
	background-image: url(../img/top/shop03.jpg);
	background-size: cover;
	background-color:rgba(0,0,0,0.4);
	background-blend-mode: multiply;
}
*/
#footer .lower_part > ul > li .name{
	font-size: 2rem;
	font-weight: 600;
	text-align: center;
	color: #fff;
}

#footer .lower_part > ul > li .data{
	position: absolute;
	left: 2rem;
	right: 2rem;
	bottom: 2rem;
}

#footer .lower_part > ul > li .data .tel{
	font-family: "Poppins", sans-serif;
	display: flex;
	font-size: 4rem;
	color: #fff;
	font-weight: 600;
	align-items: center;
}

#footer .lower_part > ul > li .data .tel a{
	color: #fff;
	display: flex;
	align-items: center;
}

#footer .lower_part > ul > li .data .tel span{
	font-size: 4rem;
	font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
	margin-right: 1rem;
}

#footer .lower_part > ul > li .data .hours{
	font-size: 1.4rem;
	display: flex;
	justify-content: center;
	color: #fff;
	border: 0.1rem solid #fff;
	padding: 0.5rem 0;
}

#footer .lower_part > ul > li .data .hours li:first-child{
	margin-right: 1rem;
}

#footer .lower_part .sp_only{
	display: none;
}

@media screen and ( max-width: 1180px ){

	#footer .lower_part > ul > li{
		height: 28rem;
	}

	#footer .lower_part > ul > li .name .sp {
		display: block;
	}

	#footer .lower_part > ul > li .data .tel{
		font-size: 3.5rem;
	}

	#footer .lower_part > ul > li .data .tel span{
		font-size: 3.5rem;
	}

	#footer .lower_part > ul > li .data .hours{
		font-size: 1.3rem;
		border: none;
	}

}

@media screen and ( max-width: 1024px ){

	#footer .lower_part > ul > li .name {
		font-size: 1.8rem;
		font-weight: 600;
	}

	#footer .lower_part > ul > li .data .tel{
		font-size: 3.0rem;
	}

	#footer .lower_part > ul > li .data .tel span{
		font-size: 3.0rem;
	}

	#footer .lower_part > ul > li .data .hours{
		flex-wrap: wrap;
		font-size: 1.25rem;
	}

	#footer .lower_part > ul > li .data .hours li{
		width: 100%;
		text-align: center;
	}


	#footer .lower_part > ul > li .data .hours li:first-child{
		margin-right: 0;
	}

}

@media screen and ( max-width: 820px ){

	#footer .lower_part > ul > li .data .tel{
		font-size: 2.4rem;
	}

	#footer .lower_part > ul > li .data .tel span{
		font-size: 2.4rem;
	}

}

@media screen and ( max-width: 768px ){

	#footer .lower_part > ul > li .data .tel{
		font-size: 2.2rem;
	}

	#footer .lower_part > ul > li .data .tel span{
		font-size: 2.2rem;
	}

}

@media screen and ( max-width: 559px ){

	#footer .lower_part > ul {
		flex-wrap: wrap;
	}

	#footer .lower_part > ul > li{
		width: 100%;
		padding-left: 35%;
		margin-left: 0;
		margin-right: 0;
		margin-bottom: 2rem;
		overflow: hidden;
		height: 14rem;

		display: flex;
		align-items: center;
	}

	#footer .lower_part > ul > li:nth-child(1){
		background-image: url(../img/top/shop01.jpg);
		background-size: 50%;
		background-repeat: no-repeat;
		background-color: #0052be;
		background-blend-mode: normal;
	}
	
	#footer .lower_part > ul > li:nth-child(2){
		background-image: url(../img/top/shop02.jpg);
		background-size: 50%;
		background-repeat: no-repeat;
		background-color: #0052be;
		background-blend-mode: normal;
	}
	
	#footer .lower_part > ul > li:nth-child(3){
		background-image: url(../img/top/shop03.jpg);
		background-size: 50%;
		background-repeat: no-repeat;
		background-color: #0052be;
		background-blend-mode: normal;
	}

	#footer .lower_part > ul > li > a{
		pointer-events: none;
	}

	#footer .lower_part > ul > li .name {
		font-size: 1.4rem;
		text-align: left;
		z-index: 1;
		position: relative;
		width: 100%;
	}

	#footer .lower_part > ul > li .data {
		position: relative;
		z-index: 1;
		width: 100%;
		left: 0;
		bottom: 0;
	}

	#footer .lower_part > ul > li .data .tel{
		/*font-size: 2.3rem;*/
		font-size: 1.5rem;
	}

	#footer .lower_part > ul > li .data .tel span {
		/*font-size: 2.3rem;*/
		font-size: 1.5rem;
		margin-right: 0.5rem;
	}

	#footer .lower_part > ul > li::after{
		content: '';
		background: #0052be;
		position: absolute;
		width: 70%;
		height: 100%;
		top: 0;
		right: 0;
		z-index: 0;
	}

	#footer .lower_part > ul > li .data .hours{
		font-size: 1.2rem;
		border: none;
		flex-wrap: wrap;
		padding: 0;
	}

	#footer .lower_part > ul > li .data .hours li{
		width: 100%;
		text-align: left;
	}

	#footer .lower_part .sp_only{
		display: block;
	}

}

@media screen and ( max-width: 820px ){

	#footer .lower_part{
		margin-bottom: 6rem;
	}

	#footer .sp_footer_logo{
		max-width: 24rem;
		color: #fff;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 5rem;
	}

	#footer .sp_footer_logo .logo{
		margin-bottom: 2rem;
	}

	#footer .sp_footer_logo .name{
		font-size: 1.8rem;
		font-weight: 600;
		margin-bottom: 0.5rem;
	}

	#footer .sp_footer_logo .address{
		/*font-size: 1.4rem;*/
		font-size: 1.25rem;
	}

}

@media screen and ( max-width: 375px ){

	#footer .lower_part > ul > li:nth-child(1),
	#footer .lower_part > ul > li:nth-child(2),
	#footer .lower_part > ul > li:nth-child(3){
		background-size: 50%;
	}

	#footer .sp_footer_logo .address{
		font-size: 1.2rem;
	}

}

@media screen and ( max-width: 320px ){

	#footer .lower_part > ul > li .data .tel {
		font-size: 1.8rem;
	}

	#footer .lower_part > ul > li:nth-child(1),
	#footer .lower_part > ul > li:nth-child(2),
	#footer .lower_part > ul > li:nth-child(3){
		background-size: 60%;
	}

}

.lower_part .bt_area{
	position: absolute;
	top: 0.8rem;
	right: 1rem;
	z-index: 1;
}

.lower_part .bt_area div{
	width: 5rem;
	height: 5rem;
	margin-top: 0.8rem;
	margin-bottom: 0.8rem;
}

.lower_part .bt_area div a{
	display: flex;
	width: 100%;
	height: 100%;
}

.lower_part .bt_area div.calling{
	background-image: url("../img/top/calling_off.png");
	background-size: cover;
}

.lower_part .bt_area div.calling:hover{
	background-image: url("../img/top/calling_on.png");
}

.lower_part .bt_area div.info{
	background-image: url("../img/top/info_on.png");
	background-size: cover;
}

.lower_part .bt_area div.info:hover{
	background-image: url("../img/top/info_on.png");
}

.lower_part .bt_area div.info a{
	display: flex;
	width: 5rem;
	height: 5rem;
	background-image: url("../img/top/info_off.png");
	background-size: cover;
	transition: 0s;
}

.lower_part .bt_area div.info a:hover{
	background-image: url("../img/top/info_on.png");
}


/*---------------------------------------------------------------------------------------------*/

footer#footer{
	width: 100%;
	z-index: 1;
	/*z-index: -1;*/
	position: relative;
	background: url(./img/mark.png) #1A1A1A;
	/*padding-top: 0;*/
	/*padding-bottom: 0;*/
	padding-bottom: 3rem;
}

footer#footer .data_area{

}

@media screen and ( max-width: 1180px ){

	footer#footer {
		padding-left: 4rem;
		padding-right: 4rem;
	}

	footer#footer .data_area{
		flex-wrap: wrap;
	}

	#footer .lower_part > ul > li {
		
	}
	
}

@media screen and ( max-width: 1280px ){

	footer#footer {
		padding-left: 2rem;
		padding-right: 2rem;
	}

}

footer#footer .data_area .logo{
	text-align: center;
	max-width: 38rem;
}

@media screen and ( max-width: 1280px ){

	footer#footer .data_area .logo{
		margin-bottom: 2rem;
	}

}

footer#footer .data_area .logo img{
	margin-bottom: 1rem;
	max-width: 8rem;
}

footer#footer .data_area .logo a{
	color: #fff;
}

footer#footer .data_area .text{

}

footer#footer .data_area .text .name{
	font-size: 1.3rem;
	font-weight: bold;
	border-bottom: 0.1rem solid #666;
	padding-bottom: 0.5rem;
	margin-bottom: 0.5rem;
}

footer#footer .data_area .text .address_area{
	margin-left: 2rem;
	/*border-left: 0.1rem solid #ccc;*/
	padding-left: 2rem;
	font-size: 1.3rem;
	line-height: 1.8;
	display: flex;
}

@media screen and ( max-width: 1180px ){

	footer#footer .data_area .text .address_area{
		padding-left: 0;
		margin-left: 0;
	}

}

@media screen and ( max-width: 820px ){

	footer#footer .data_area .text .address_area{
		flex-wrap: wrap;
	}

}

footer#footer .data_area .text .address_area .box{
	width: 24rem;
}

footer#footer .data_area .text .address_area .box.main_office{
	margin-right: 3rem;
}

@media screen and ( max-width: 1180px ){

	footer#footer .data_area .text .address_area .box.main_office{
		margin-right: 4rem;
		margin-left: auto;
	}
	
}

@media screen and ( max-width: 1024px ){

	footer#footer .data_area .text .address_area .box {
		width: 18rem;
	}

}


@media screen and ( max-width: 767px ){

	footer#footer .data_area .text .address_area .box.main_office{
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 4rem;
	}

	footer#footer .data_area .text .name {
		text-align: center;
		border-bottom: none;
	}

	footer#footer .data_area .text .address_area .box{
		width: 25rem;
		margin-right: auto;
		margin-left: auto;
	}

}

footer#footer .data_area .text .address_area .address{
	/*margin-bottom: 1rem;*/
}


@media screen and ( max-width: 1180px ){

	
}

@media screen and ( max-width: 1180px ){


}

@media screen and ( max-width: 820px ){

	footer#footer .data_area {
		max-width: 64rem;
		/*max-width: 60rem;*/
		margin-left: auto;
		margin-right: auto;
		/*justify-content: center;*/
		justify-content: space-between;
	}

	footer#footer .data_area .logo {
		max-width: 30rem;
		margin-right: 4rem;
		margin-bottom: 0;
	}

}

@media screen and ( max-width: 767px ){
	
	footer#footer .data_area {
		width: 70%;
		margin-left: auto;
		margin-right: auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	footer#footer .data_area .logo {
		max-width: 20rem;
		margin-right: 0;
		margin-bottom: 4rem;
	}

	footer#footer .data_area .text {
		flex-wrap: wrap;
	}

	footer#footer .data_area .text .address_area {
		margin-left: 0;
		border-left: none;
		padding-left: 0;
		font-size: 1.2rem;
	}

	footer#footer .data_area .text .address_area .address{
		text-align: center;
	}

	footer#footer .data_area .text .address_area .tel{
		/*
		display: flex;
		justify-content: space-between;
		*/
		text-align: center;
	}

	footer#footer .data_area .text .address_area .tel div:first-child{
		/*margin-right: 3rem;*/
	}

	footer#footer .footer_list li a p::before{
		display: none;
	}

}

footer#footer section.copyright_area{
	/*height: 5rem;*/
	display: flex;
	align-items: center;
}

footer#footer .copyright{
	font-family: "Poppins", sans-serif;
	color: #fff;
	font-size: 1.5rem;
	width: 100%;
	text-align: center;
}

@media screen and ( max-width: 820px ){

	footer#footer {
		background-size: 40rem;
		background-position: left -20vw top -15vw;
		padding-top: 6rem;
		padding-bottom: 4rem;
	}

}

@media screen and ( max-width: 767px ){

	footer#footer {
		background-size: 25rem;
		background-position: left -24vw top -22vw;
		overflow: hidden;
		padding-bottom: 8rem;
	}

}

.sp.footer_contact{
	display: none;
}

@media screen and ( max-width: 559px ){

	.sp.footer_contact{
		display: block;
		opacity: 0;
		transition: 0.5s;
	}

	.sp.footer_contact.move{
		display: block;
		opacity: 1;
		transition: 0.5s;
	}

.sp.footer_contact.move .footer_contact_list{
	-webkit-animation: SlideUp .2s linear 0s;
	animation: SlideUp .2s linear 0s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	font-weight: 600;
}
@-webkit-keyframes SlideUp {
	0% {
		/*opacity: 0;*/
		bottom: -5rem;
	}
	100% {
		/*opacity: 1;*/
		bottom: 0rem;
	}
}
@keyframes SlideUp {
	0% {
		/*opacity: 0;*/
		bottom: -5rem;
	}
	100% {
		/*opacity: 1;*/
		bottom: 0rem;
	}
}

.sp.footer_contact .footer_contact_list{
	-webkit-animation: SlideDown .2s linear 0s;
	animation: SlideDown .2s linear 0s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;	
}

@-webkit-keyframes SlideDown {
	0% {
		/*opacity: 1;*/
		bottom: 0rem;
	}
	100% {
		/*opacity: 0;*/
		bottom: -5rem;
	}
}
@keyframes SlideDown {
	0% {
		/*opacity: 1;*/
		bottom: 0rem;
	}
	100% {
		/*opacity: 0;*/
		bottom: -5rem;
	}
}

	.footer_contact_list{
		width: 100%;
		display: flex;
		position: fixed;
		bottom: 0;
		left: 0;
		height: 5.0rem;
		z-index: 2;
		/*border-top: 0.1rem solid #0052be;*/
		background: #0052be;
	}

	.footer_contact_list li{
		width: 50%;
	}

	.footer_contact_list li div.tel{
		
	}

	.footer_contact_list li div.tel{
		
	}

	.footer_contact_list li div.tel a{
		width: 100%;
		height: 4.9rem;
		display: flex;
		justify-content: center;
		align-items: center;
		background: #0052BE;
		color: #fff;
		border-top: 0.1rem solid #0052be;
		border-bottom: 0.1rem solid #0052be;
		position: unset;
		transition: 0.1s;
	}

	.footer_contact_list li div.tel a:hover{
		background: #fff;
		color: #0052BE;
		position: unset;
	}

	.footer_contact_list li div.tel a span{
		margin-right: 0.5rem;
	}

	.footer_contact_list li div.mail{
		
	}

	.footer_contact_list li div.mail a{
		width: 100%;
		height: 4.9rem;
		display: flex;
		justify-content: center;
		align-items: center;
		background: #fff;
		color: #0052BE;
		border-top: 0.1rem solid #0052be;
		border-bottom: 0.1rem solid #0052be;
		position: unset;
		transition: 0.1s;
	}

	.footer_contact_list li div.mail a:hover{
		background: #0052BE;
		color: #fff;
		position: unset;
	}

	.footer_contact_list li div.mail a span{
		margin-right: 0.5rem;
	}

}

@media screen and ( max-width: 320px ){

	footer#footer .footer_list li {
		width: 80%;
	}

	footer#footer .data_area {
		width: 80%;
	}

}
/*---------------------------------------------------------------------------------------------*/

.page_top_bt{
	position: fixed;
	bottom: 1rem;
	right: 1rem;
	z-index: 1;
	/*display: none;*/

	animation: OutIn .2s linear 0s;
	animation-fill-mode: both;
}
@media screen and ( max-width: 559px ){
	.page_top_bt{
		right: 0.5rem;
	}
}

@keyframes OutIn {
	0% {
		opacity: 1;
		bottom: 1rem;
	}
	100% {
		bottom: -5rem;
	}
}
@media screen and ( max-width: 559px ){
	@keyframes OutIn {
		0% {
			opacity: 1;
			bottom: 5.5rem;
		}
		100% {
			bottom: -6rem;
		}
	}
}

.page_top_bt.move{
	display: block;

	animation: OutOver .2s linear 0s;
	animation-fill-mode: both;
}
@keyframes OutOver {
	0% {
		bottom: -5rem;
	}
	100% {
		bottom: 1rem;
	}
}
@media screen and ( max-width: 559px ){
	@keyframes OutOver {
		0% {
			bottom: -6rem;
		}
		100% {
			bottom: 5.5rem;
		}
	}
}


.page_top_bt a{
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(0,0,0,.3);
	border: 0.1rem solid rgba(255,255,255,.3);
	border-radius: 50%;
	color: #fff;
	width: 4rem;
	height: 4rem;
	z-index: 1;
}

/*---------------------------------------------------------------------------------------------*/

/*　アニメーション制御 */
/*https://b-risk.jp/blog/2021/01/anim-reference/*/

.contact_banner{
	opacity: 0;
}

/*フェードアップ*/

.fadeup {
	opacity: 0;
}

.fadeup.is-active {
	animation: fadeup 1.0s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

@keyframes fadeup {
	0% {
		transform: translateY(5rem);
		opacity: 0;
	}
	80% {
		opacity: 1;
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}


/*文字が滑らかに表示される*/

.smooth {
	clip-path: inset(0 100% 0 0);
	transition: 1.0s cubic-bezier(0.37, 0, 0.63, 1);
	transition-property: clip-path;
}

.smooth.is-active {
	clip-path: inset(0);
}

/*---------------------------------------------------------------------------------------------*/

body.Android #logo_loader .base_area .object .catch{
	font-family: 'Noto Serif JP', serif;
}

body.Android .head .logo h1,
body.Android .top_news_area ul,
body.Android .top_merchandise .text h5,
body.Android .top_merchandise_area .h4_title,
body.Android .top_about_area .text .h4 h4,
body.Android .h3_title_all h3,
body.Android .hero .catch
{
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
}

/*-----------------------------------------------------------------------------*/
/*IEハック*/

_:-ms-lang(x)::-ms-backdrop, .nav li a{ margin-top: 1rem ; padding-top: 1rem ; }

_:-ms-lang(x)::-ms-backdrop, .material-icons-outlined{ margin-top: -0.4rem; }
_:-ms-lang(x)::-ms-backdrop, #top-head .head .contact a{ padding-top: 0.4rem; }


/*-----------------------------------------------------------------------------*/
/*Safariハック*/
_::-webkit-full-page-media, _:future, :root .xxxxx { xxxxxx }


