@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Zen+Maru+Gothic&display=swap');
/* ------------------------------
 全体（PC）
------------------------------ */
/* 基本 */
@media print, screen and (min-width: 768px) {
  #rwd-content .rwd-main-content-group {
    max-width: 1140px;
  }
}
#rwd-content #rwd-main-content,
#rwd-content .contactBlock {
	color: #383838;
}
#rwd-content .rwd-grid-cardlist03 a.rwd-grid-item {
	color: #383838;
}
#rwd-content .rwd-grid-cardlist03 a.rwd-grid-item:hover::after {
  border: 2px solid #f3812f;
}
#rwd-content .rwd-grid-cardlist03 a.rwd-grid-item:hover {
  background-color: #f7ebe2;
}
#rwd-content .topContent .rwd-grid-cardlist03 a.rwd-grid-item:hover::after {
  border-radius: 20px;
}
#rwd-content a:link,
#rwd-content a:visited,
#rwd-content a:hover,
#rwd-content a:active {
	color: #383838;
}
#rwd-content p {
	line-height: 1.75;
}
p.rwd-text {
	line-height: 1.75 !important;
}
#rwd-content a:hover {
    color: #f3812f;
}
#rwd-content .rwd-main-content-group a:hover img {
	opacity: 1;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
.mb05em{
	margin-bottom: 0.5em !important;
}
.r20 img{
	border-radius: 20px;
}
.f14 {
	font-size: 1.4rem;
}
.f18 {
	font-size: 1.8rem;
}
.f20 {
	font-size: 2rem;
}
/* ヘッダー */
#rwd-content .rwd-header-category-title span span span {
	display: none;
}
#rwd-content a.rwd-header-category-title:hover {
		color: #000000;
}
#rwd-content .rwd-utility-nav li a:hover {
	color: #f3812f;
}
/* フッターお問合せ */
#rwd-content .rwd-main-footer .rwd-bg-box-color.mk {
	position: relative;
	padding: 105px 0 70px;
	background: url(../img/footer_bg.png) ;
}
#rwd-content .rwd-main-footer .rwd-bg-box-color.mk .rwd-button-default {
	background-color: #f3812f;
	border-radius: 50px !important;
	
}
#rwd-content .rwd-main-footer .rwd-bg-box-color.mk .rwd-button-default.icon-arrow::after {
	right: 25%;
	width: 23px;
	height: 20px;
	background: url(../img/icon_contact.svg) no-repeat 0 0 / 22px 16px;
}
#rwd-content .rwd-main-footer .rwd-bg-box-color.mk .rwd-button01 {
	border-radius: 8px;
	font-weight: bold;
}
#rwd-content .rwd-main-footer .rwd-bg-box-color.mk p.rwd-text {
	margin-bottom: 0;
}
#rwd-content .rwd-main-footer .rwd-bg-box-color.mk .rwd-main-content-group {
	background: url(../img/footer_illust.png) no-repeat 73% 100px;
}
/* パンくず */
#rwd-content .rwd-wrap-breadcrumb {
	background: rgb(229,236,248);
	background: linear-gradient(90deg, rgba(184,199,223,1) 0%, rgba(229,236,248,1) 30%, rgba(229,236,248,1) 70%, rgba(184,199,223,1) 100%);
}
/* フッターナビ */
#rwd-content .rwd-footer-nav ul {
	line-height: 1.5;
	text-align: left;
}
#rwd-content .rwd-footer-nav ul li a:hover {
	opacity: 1;
	color: #fff !important;
}
#rwd-content .rwd-breadcrumb li:last-of-type::after {
	content: none;
}
#rwd-content .rwd-footer-nav ul + ul li {
	font-size: 1.4rem;
}
#rwd-content .rwd-footer-nav ul + ul + ul li a,
#rwd-content .rwd-footer-nav ul + ul + ul li a:hover {
	color: rgba(255,255,255,.7) !important;
}
#rwd-content .rwd-footer-nav ul + ul + ul li a img {
	opacity: 0.7;
}
#rwd-content .rwd-footer-nav img {
	margin-bottom: 5px;
}
/* コピーライト */
#rwd-content .rwd-footer-copy {
	color: rgba(255,255,255,.7);
}

/* ボタン */
#rwd-content .btn .rwd-button-default {
	margin-bottom: 0;
	background-color: #111273;
}
#rwd-content .btn .rwd-button01 {
	border-radius: 8px;
	font-weight: bold;
}
@media print, screen and (min-width: 768px) {
	/* 基本 */
	#rwd-content,
	#rwd-content .rwd-main-header,
	#rwd-content .rwd-main-content,
	#rwd-content #rwd-main-content,
	#rwd-content .rwd-main-footer {
		overflow: hidden;
		min-width: 1240px;
	}
	.sp {
		display: none;
	}
	/* ヘッダー */
	#rwd-content .rwd-main-header {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1000;
		width: 100%;
		height: 90px;
		background-color: #fff;
		box-shadow: rgba(0,0,0,.2) 0 3px 5px -5px;
	}
	#rwd-content .rwd-header-category-title {
		height: 90px;
	}
	#rwd-content .rwd-title-container {
		height: 90px;
		align-items: center;
	}
	#rwd-content .rwd-header-identify {
		padding: 0;
	}
	#rwd-content .rwd-header-category-title span span {
		display: block;
		margin-top: 0;
	}
	#rwd-content .rwd-header-inner {
		max-width: none;
		padding: 0 30px;
		box-sizing: border-box;
	}
	#rwd-content p.rwd-header-category-title {
		line-height: 1.5;
	}
	#rwd-content .rwd-header-category-title span {
		margin-top: 0;
	}
	#rwd-content .rwd-nav-container {
		display: flex;
		align-items: center;
	}
	#rwd-content .rwd-utility-nav {
		margin-top: 0;
	}
	#rwd-content .rwd-utility-nav a {
		font-size: 1.6rem;
		font-weight: bold;
	}
	#rwd-content .rwd-utility-nav-item.contact {
		height: 34px;
		margin-top: -6px;
	}
	#rwd-content .rwd-utility-nav-item.contact a {
		width: 115px;
		font-size: 1.3rem;
		line-height: 34px;
		text-align: center;
		background-color: #f3812f;
		border-radius: 50px !important;
		color: #fff;
		position: relative;
		padding-left: 15px;
		transition: .3s ease-in-out;
	}
	#rwd-content .rwd-utility-nav-item.contact a:focus {
		color: #fff;
	}
	#rwd-content .rwd-utility-nav-item.contact a:hover {
		color: #fff;
		opacity: .7;
	}
	#rwd-content .rwd-utility-nav-item.contact a::after {
		content:"";
		position: absolute;
		left: 22%;
		width: 15px;
		height: 11px;
		top: 30%;
		background: url(../img/icon_contact.svg) no-repeat 0 1px / 15px 10px;
	}
	/* サイドお問合せ */
	#sideContact {
		position: fixed;
		top: 70%;
		right: 0;
		z-index: 14;
	}
	/* サイドお問合せ */
	#sideContact a{	
		width: 82px;
		height: 90px;
		box-sizing:border-box;
		padding-top: 50px;
		font-size: 1.3rem;
		text-align: center;
		font-weight: bold;
		display: block;
		background: #f3812f url(../img/icon_contact.svg) no-repeat center 23px / 33px 22px;
		color: #fff !important;
		border-radius: 8px 0 0 8px;
		transition: .3s ease-in-out;
	}
	#sideContact a:hover{
		opacity: .7;
	}
	/* メイン */
	#rwd-content .rwd-main-content {
		margin-top: 90px;
	}
	#rwd-content #rwd-main-content {
		margin-bottom: 0;
	}
	/* フッターお問合せ */
	#rwd-content .rwd-main-footer .rwd-grid .rwd-grid-item.rwd-button-default.rwd-button01.pc-grid4of12 {
		width: 260px;
	}
	#rwd-content .rwd-main-footer .rwd-bg-box-color.mk .rwd-button-default {
		transition: .3s ease-in-out;
	}
	#rwd-content .rwd-main-footer .rwd-bg-box-color.mk .rwd-button-default:hover {
		opacity: .7;
	}
	#rwd-content .rwd-main-footer .rwd-bg-box-color.mk .rwd-button01 {
		height: 60px;
		min-height: 60px;
	}
	#rwd-content .rwd-main-footer .rwd-bg-box-color.mk .rwd-button01 .rwd-button-inner {
		font-size: 1.6rem;
	}
	/* フッターナビ */
	#rwd-content .rwd-footer-nav  {
		padding-top: 38px;
	}
	#rwd-content .rwd-footer-nav ul li a {
		padding: 10px 13px;
	}
	#rwd-content .rwd-footer-nav ul + ul li:not(:last-child):after {
		content: "｜";
		display: inline-block;
		margin: 0 .5em;
		color: #fff;
	}
	/* ボタン */
	#rwd-content .btn .rwd-grid .rwd-grid-item.rwd-button-default.rwd-button01.pc-grid4of12 {
		min-width: 390px;
	}
	#rwd-content .btn .rwd-button-default {
		transition: .3s ease-in-out;
	}
	#rwd-content .btn .rwd-button-default:hover {
		opacity: .7;
	}
	#rwd-content .btn .rwd-button01 {
		height: 80px;
		min-height: 80px;
		font-size: 2.1rem;
	}
	#rwd-content .btn .rwd-button01 .rwd-button-inner {
		font-size: 2.1rem;
	}
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
	#rwd-content .rwd-header-inner {
		width: 100%;
	}
}
@media print, screen and (min-width: 1474px) {
	#rwd-content p.rwd-header-category-title {
		line-height: 1.75;
	}
	#rwd-content .rwd-header-category-title span span {
		display: inline-block;
	}
	#rwd-content .rwd-header-category-title span span span {
		display: inline-block;
	}
}
/* ------------------------------
 全体（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* 基本 */
	p.rwd-text {
		font-size: 1.5rem;
	}
	.pc {
		display: none;
	}
	.r20 img{
		border-radius: 10px;
	}
	.f18 {
		font-size: 1.7rem;
	}
	/* ヘッダー */
	#rwd-content:not(.rwd-top) .rwd-header-inner {
		width: 100%;
		padding-left: 4%;
    	height: 80px;
		box-sizing: border-box;
	}
	#rwd-content .rwd-title-container {
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	#rwd-content .rwd-header-identify {
		height: auto;
		padding-top: 10px;
	}
	#rwd-content .rwd-header-category-title {
		background: #fff;
	}
  
	#rwd-content .rwd-header-category-title span {
		font-size: 1.4rem;
		line-height: 1.2;
		font-weight: bold;
	}
	#rwd-content .rwd-header-category-title span span {
		display: inline-block;
		margin-right: 5px;
	}
	/* フッターお問合せ */
	#rwd-content .rwd-main-footer .rwd-bg-box-color.mk {
		padding: 60px 0 53px;
	}
	#rwd-content .rwd-grid .rwd-grid-item.sp-grid3of4 {
		width: 94%;
	}
	#rwd-content .rwd-main-footer .rwd-bg-box-color.mk .rwd-button-default {
		margin-bottom: 12px;
	}
	#rwd-content .rwd-main-footer .rwd-bg-box-color.mk .rwd-button-default.icon-arrow::after {
		width: 23px;
		height: 17px;
	}
	#rwd-content .rwd-main-footer .rwd-bg-box-color.mk .rwd-button01 {
		min-height: 64px;
	}
	#rwd-content .rwd-main-footer .rwd-bg-box-color.mk .rwd-button01 .rwd-button-inner {
		font-size: 1.8rem;
	}
	#rwd-content .rwd-main-footer .rwd-bg-box-color.mk p.rwd-text + p.rwd-text {
		font-size: 1.3rem;
	}
	#rwd-content .rwd-main-footer .rwd-bg-box-color.mk .rwd-main-content-group {
		background: none;
	}
	/* パンくず */
	#rwd-content .rwd-wrap-breadcrumb {
		display: none;
	}
	/* フッターナビ */
	#rwd-content .rwd-footer-nav  {
		padding-top: 24px;
	}
	#rwd-content .rwd-footer-nav ul li a {
		padding: 10px 0;
	}
	#rwd-content .rwd-main-content {
		margin-bottom: 0;
	}
	/* ボタン */
	#rwd-content .btn .rwd-button01 {
		min-height: 64px;
	}
	#rwd-content .btn .rwd-button01 .rwd-button-inner {
		font-size: 1.8rem;
	}
	/* サイドお問合せ */
	#sideContact  {
		width: 100%;
		display: block;
		position: fixed;
		z-index: 14;
		bottom: 0;
		padding: 20px 0;
		background-color: rgba(255,255,255,.9);
	}
	#sideContact a{	
		width: 130px;
		height: 45px;
		line-height: 45px;
		padding-left: 25px;
		margin: 0 auto;
		box-sizing:border-box;
		font-size: 1.3rem;
		text-align: center;
		font-weight: bold;
		display: block;
		background: #f3812f;
		color: #fff !important;
		border-radius: 8px;
		transition: .3s ease-in-out;
		position: relative;
	}	
	#sideContact a::after {
		content:"";
		position: absolute;
		left: 22%;
		top: 33%;
		width: 15px;
		height: 11px;
		background: url(../img/icon_contact.svg) no-repeat 0 1px / 15px 10px;
	}
}
@media screen and (max-width: 480px) {
	/* コピーライト */
	#rwd-content .rwd-footer-copy span {
		display: block;
	}
}
@media screen and (max-width: 384px) {
	#rwd-content .rwd-header-category-title {
		font-size: 1.25rem;
		line-height: 1.5;
	}
	#rwd-content .rwd-header-category-title span {
		font-size: 1.25rem;
		line-height: 1.5;
	}
}
@media screen and (max-width: 320px) {
	/* コピーライト */
	#rwd-content .rwd-footer-copy {
		font-size: 1.4rem;
	}
}

/* ------------------------------
 共通（PC）
------------------------------ */
h2 {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	margin-bottom: 30px;
	font-size: 4.5rem;
	line-height: 1;
	font-weight: bold;
	text-align: center;
}
h2::after {
	content: "";
	display: block;
	width: 74px;
	height: 7px;
	margin: 20px auto 0;
	background: url(../img/decoration_dot.svg) no-repeat 0 0 / 74px auto;
}
#pl01,
#pl02,
#pl03 {
  padding-top: 90px;
  margin-top: -90px;
}
/* ------------------------------
 共通（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	h2 {
		font-size: 3rem;
		margin-bottom: 25px;
	}
	h2::after {
		width: 74px;
		height: 7px;
	}
	#pl01,
	#pl02,
	#pl03 {
	padding-top: 0;
	margin-top: 0;
	}
}
/* ------------------------------
 メインイメージ（PC）
------------------------------ */
#rwd-content .rwd-slider-wide {
    margin: 0 auto 0;
}
#rwd-content .rwd-block-keyvisual {
	margin-top: 0;
}
.swiper-pagination{
	display: none;
}

/* ------------------------------
 新着情報
------------------------------ */
.newsBlock {
	padding: 70px 0 115px;
	position: relative;
}
.newsBlock a{
	font-weight: bold;
}
@media print, screen and (min-width: 768px) {
	.newsBlock:after {
		content:"";
		width: 63px;
		height: 63px;
		display: block;
		position: absolute;
		bottom: 80px;
		left: calc(50% - 745px);
		background: url(../../img/bg_decoration_left01.png) no-repeat 0 0 / cover;
	}
}
.newsList .icon-new {
	width: 35px;
	font-weight: normal;
	font-family: "Roboto", sans-serif;
	line-height: 17px;
	height: 16px;
	font-size: 1rem;
	display: inline-block;
	background-color: #ffd500;
	font-weight: bold;
	text-align: center;
	border-radius: 10px;
	margin-left: 7px;
	vertical-align: middle;
	margin-top: -2px;
}
.newsList li:first-child{
	border-top: 1px solid #d9d4d3;
}
.newsList li {
	display: flex;
	width: 100%;
	padding: 23px 0;
	border-bottom: 1px solid #d9d4d3;
}
.newsList li .date{
	width: 135px;
	font-family: "Montserrat", sans-serif;
	color: #909090;
}
.product-link a{
	background: #fff;
	border-radius: 20px;
	color: #909090;
}
.product-link a.rwd-grid-item:hover::after{
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
	.newsBlock {
		padding: 0 0 50px;
		position: relative;
	}
	.newsList li{
		display:flex;
		flex-wrap: wrap;
		padding: 8px 0;
		border: none !important;
	}
	.newsList li .date{
		width: 100%;
		font-family: "Montserrat", sans-serif;
		color: #909090;
	}
	.newsBlock:after {
		content:"";
		width: 45px;
		height: 45px;
		display: block;
		position: absolute;
		top: 10px;
		left: 20px;
		background: url(../../img/bg_decoration_left01.png) no-repeat 0 0 / cover;
	}
}
/* ------------------------------
 製品紹介
------------------------------ */
.productBlock{
	padding: 90px 0;
	background: #f4eee5;
	position: relative;
}
@media print, screen and (min-width: 768px) {
	.productBlock:before {
		content:"";
		width: 182px;
		height: 170px;
		display: block;
		position: absolute;
		top: 680px;
		left: calc(50% - 840px);
		background: url(../../img/bg_decoration_left02.png) no-repeat 0 0 / cover;
	}
	.productBlock:after {
		content:"";
		width: 545px;
		height: 902px;
		display: block;
		position: absolute;
		top: -76px;
		right: calc(50% - 1042px);
		background: url(../../img/bg_decoration_right01.png) no-repeat 0 0 / cover;
	}
}
.productBlock .balloon {
  width: 100%;
  color: #fff;
  text-align: center;
  position: relative;
  display: inline-block;
  margin: 0.5em 0 2em;
  padding: 17px 0 15px;
  font-size: 2.7rem;
  font-weight: bold;
  background: #f3812f;
  border-radius: 20px;
}
.productBlock .balloon:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #f3812f;
}
.productBlock h3 {
	width: 100%;
    font-size: 2.2rem;
	padding-bottom: 10px;
	border-bottom: solid 2px #d9d4d3;
}
.product-img01{
	text-align: center;
}
#rwd-content .product-link .rwd-grid-item{
	text-align: center;
	padding: 40px 0;
	margin-bottom: 30px !important;
}
#rwd-content .product-link .rwd-grid-item img{
		width: 130px !important;
		height: 100px !important;
		margin-bottom: 25px;
}
.product-link a.rwd-grid-item[target="_blank"] p::after,
.productBlock .blank-link a[target="_blank"]::after{
	content: "";
	display: inline-block;
	width: 20px;
	height: 18px;
	margin: 0 0 6px 6px;
	background: url(../img/icon_blank.svg) no-repeat 0 0 / 20px 18px;
	vertical-align: middle;
}
.productBlock .blank-link a{
	text-decoration: none !important;
}
@media print, screen and (min-width: 768px) {
	.product-img01 img{
		width: 430px !important;
		height: 174px !important;
	}
	.product-img02{
		text-align: right;
	}
	.product-img02 img{
		width: 538px !important;
		height: 372px !important;
	}
}
@media screen and (max-width: 767px) {
	.productBlock{
		padding: 50px 0;
	}
	.productBlock .balloon {
		margin: 0.5em 0 2em;
		padding: 17px 0 15px;
		font-size: 2.1rem;
		border-radius: 12px;
	}
	.productBlock h3 {
		font-size: 2rem;
		font-weight: bold;
		padding-bottom: 10px;
		margin-bottom: 15px;
		border-bottom: solid 2px #d9d4d3;
	}
	#rwd-content .product-link .rwd-grid-item{
		padding: 30px 0 20px;
		height: 176px;
		margin-bottom: 3.3% !important;
	}
	#rwd-content .product-link .rwd-grid-item:last-child{
		padding: 20px 0 20px;
	}
	#rwd-content .product-link .rwd-grid-item figure{
		height: 90px;
	}
	#rwd-content .product-link .rwd-grid-item img{
		width: 95px !important;
		height: auto !important;
		margin-bottom: 0;
	}
	#rwd-content .product-link .rwd-grid-item .f18{
		font-size: 1.7rem;
		line-height: 1.4;
	}
	.productBlock:before {
		content:"";
		width: 115px;
		height: 115px;
		display: block;
		position: absolute;
		top: 215px;
		left: -40px;
		background: url(../../img/bg_decoration_left02.png) no-repeat top 0 right 0 / cover;
	}
	.productBlock:after {
		content:"";
		width: 118px;
		height: 120px;
		display: block;
		position: absolute;
		top: -40px;
		right: -40px;
		background: url(../../img/bg_decoration_right01.png) no-repeat -85px 0 / 170% auto;
	}
}
/* ------------------------------
 関連リンク
------------------------------ */
.relatedBlock{
	padding: 110px 0 120px;
}
#rwd-content .related-links.rwd-grid-unison {
 align-items: flex-start;
}
.related-links a{
	background: #f6f3ef;
	height: 466px;
	border-radius: 20px;
	color: #909090;
	padding: 10px;
}
.related-links a.rwd-grid-item:nth-child(2n){
	margin-top: 52px;
}
.related-links a.rwd-grid-item[target="_blank"] p.rwd-text::after{
	content: "";
	display: inline-block;
	width: 17px;
	height: 16px;
	margin: 0 0 6px 6px;
	background: url(../img/icon_blank.svg) no-repeat 0 0 / 17px 16px;
	vertical-align: middle;
}
.related-links img{	
	border-radius: 16px 16px 0 0;
}
.related-links .in-box{	
	padding: 30px 30px 20px
}
.related-links .cate{
	width: 110px;
	height: 21px;
	line-height: 24px !important;
	text-align: center;
	padding: 0 5px;
	border-radius: 3px;
	font-size: 1.2rem;
	font-weight: bold;
	color: #f27318;
	background: #fff;
	border: solid 1px #F27318;
	display: inline-block;
}
.related-links .date{	
	font-size: 1.5rem;
	line-height: 23px !important;
	font-family: "Montserrat", sans-serif;
	color: #909090;
	display: inline-block;
	vertical-align: bottom;
}
.related-links .rwd-text{	
	text-decoration: underline;
}
@media print, screen and (min-width: 768px) {
	.bg-tree{	
		width: 1110px;
		text-align: right;
		padding-right: 30px;
		margin-top: -82px;
	}
}
@media screen and (max-width: 767px) {
	.relatedBlock{
		padding: 50px 0;
	}
	.related-links a.rwd-grid-item:nth-child(2n){
		margin-top: 0;
	}
	.related-links a{
		height: auto;
		border-radius: 20px;
		margin-bottom: 20px !important;
	}
	.related-links .in-box{	
		padding: 25px 15px 10px
	}
	.related-links img{	
		border-radius: 12px 12px 0 0;
	}
	.bg-tree{	
		text-align: right;
		padding-right: 13px;
		margin-top: -50px;
	}
	.bg-tree img{	
		width: 70px;
		height: auto;
	}
}
/* ------------------------------
 お問合せ
------------------------------ */
.contactBlock{
	position: relative;
}
@media print, screen and (min-width: 768px) {
	.contactBlock:before {
		content:"";
		width: 358px;
		height: 274px;
		display: block;
		position: absolute;
		top: -140px;
		left: calc(50% - 1000px);
		background: url(../../img/bg_decoration_left03.png) no-repeat 0 0 / cover;
		z-index:10;
	}
	.contactBlock:after {
		content:"";
		width: 106px;
		height: 109px;
		display: block;
		position: absolute;
		top: 66px;
		right: calc(50% - 752px);
		background: url(../../img/bg_decoration_right02.png) no-repeat 0 0 / cover;
	}
}
@media screen and (max-width: 767px) {
	.contactBlock:before {
		content:"";
		width: 100px;
		height: 124px;
		display: block;
		position: absolute;
		top: -43px;
		left: -40px;
		background: url(../../img/bg_decoration_left03_sp.png) no-repeat 0 0 / contain;
		z-index:10;
	}
	.contactBlock:after {
		content:"";
		width: 52px;
		height: 52px;
		display: block;
		position: absolute;
		top: 80px;
		right: 20px;
		background: url(../../img/bg_decoration_right02.png) no-repeat 0 0 / contain;
	}
	.contactBlock .rwd-text-sp-left {
		text-align: left !important;
	}
}

/* ------------------------------
 スマホメニュー
------------------------------ */

/* ==========================================================================
   1. PC時のスタイル（デフォルト：横並び）※外部CSSの強制非表示を解除
   ========================================================================== */
/* PC時はチェックボックスとハンバーガーボタンを完全に非表示 */
.menu-checkbox,
.menu-btn {
  display: none;
}
/* ==========================================================================
   2. スマホ時のスタイル（画面幅 767px 以下）※サイズ・余白を完全最適化
   ========================================================================== */
@media screen and (max-width: 767px) {
  /* 親要素の「隠す設定」を強制解除 */
  html body #rwd-content .rwd-nav-container {
	width: 100%;
    position: relative !important;
  }
  /* チェックボックスは非表示 */
  .menu-checkbox {
    display: none !important;
  }
  /* ハンバーガーボタン（無駄な余白をリセットし、コンパクトに固定） */
  html body #rwd-content .menu-btn {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
	position: absolute;
	top: 15px;
	right: 15px;
    
    /* ボタン自体のサイズ*/
    width: 21px;
    height: 21px;
    cursor: pointer;
    z-index: 100;
  }
  /* ボタンの3本線 */
  .menu-btn span {
    display: block;
    width: 100%;
    height: 3px; /* 線の太さ */
    background: #383838 ; 
    transition: all 0.3s ease;
  }

  /* -------------------------------------------------------------
     ★スマホ用メニュー本体：画面の左端から右端までぴったり100%幅で配置
     ------------------------------------------------------------- */
  html body #rwd-content .rwd-utility-nav {
    width: 100vw !important;  
    display: block !important;     /* 外部CSSの display:none を強制解除 */
    visibility: hidden !important; /* 初期状態は非表示 */
    opacity: 0 !important;         /* 透明度0 */
    
    /* 🔻【ここを修正】親要素の左右余白を完全に無視して、画面のど真ん中に強制配置します */
    position: absolute;
    top: 80px;                     /* ヘッダーの高さに合わせて調整 */
    left: 50% !important;          /* 基準を一度画面の横50%の位置に置く */
    transform: translateX(-50%) !important; /* メニューの中心を画面の中心に重ねる（これで左右の隙間が消えます） */
    
    right: auto !important;
    margin: 0 !important;
    padding: 0;
    z-index: 9999;
    transition: opacity 0.2s ease, visibility 0.2s ease;
  }

  /* -------------------------------------------------------------
     ★チェックが入ったらメニューを可視化
     ------------------------------------------------------------- */
  html body #rwd-content .menu-checkbox:checked ~ .rwd-utility-nav {
    visibility: visible !important; /* 見える＆触れる状態にする */
    opacity: 1 !important;          /* 不透明度100%（表示） */
  }

  /* リストの中身をスマホ用に縦並び・100%幅にリセット */
  html body #rwd-content .rwd-utility-nav ul {
    display: block;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  html body #rwd-content .rwd-utility-nav-item {
    display: block;
    width: 100%;
    margin: 0 0 0 -26%;
    padding: 0;
    box-sizing: border-box;
  }
   html body #rwd-content .rwd-utility-nav-item a {
    background-color: #e9e9e9;
    position: relative;
  }
   html body #rwd-content .rwd-utility-nav-item a:after {
    content: '';
    display: block;
    width: 9px;
    height: 15px;
    position: absolute;
    right: 7.47%;
    top: 0;
    bottom: 0;
    margin: auto;
    background-repeat: no-repeat;
    background-image: url('/shared/img/rwd_icon_arrow_right01.svg');
    background-size: 9px 15px;
    background-position: right center;
  }
  html body #rwd-content .rwd-utility-nav-item a {
    display: block;
    width: 100% ;
    padding: 15px 20px; 
    border-bottom: 1px solid #dadbdd; 
    box-sizing: border-box !important;
    text-align: left;
    white-space: nowrap !important;/* 縦書き化を完全に防ぐ */
    color: #333;
    font-size: 16px;
	font-weight: bold;
  }

  /* -----------------------------------------
     チェックが入ったときの「×」変形（高さ18px用に最適化）
     ----------------------------------------- */
  html body #rwd-content .menu-checkbox:checked ~ .menu-btn span:nth-child(1) {
    transform: translateY(8.5px) rotate(-45deg);
  }
  html body #rwd-content .menu-checkbox:checked ~ .menu-btn span:nth-child(2) {
    opacity: 0 !important;
  }
  html body #rwd-content .menu-checkbox:checked ~ .menu-btn span:nth-child(3) {
    transform: translateY(-8.5px) rotate(45deg);
  }