@charset "utf-8";
/* CSS Document セカンド共通css*/
.thanks{
	line-height: 10px !important;
}
#thank{
	padding: 200px 0;
	line-height: 3rem;
	font-size: 2rem;
}
/*見出し共通*/
#contents #main h2 {
}
#contents #main h3 {
}
#contents #main h4 {
}
#contents #main h5 {
}
#contents #main h6 {
}
/*ページタイトル*/
#contents #main h2#corner_tit {
	width:100%;
	min-width:1000px;
	margin:0 auto;
}
#contents #main h2#corner_tit img{
	width:100%;
	height:auto;
}

/*パンくず*/
ul#topicpath {
	margin: 15px auto;
	width: 1000px;
	line-height: 1.4em;
	font-size: 1.2rem;
}
ul#topicpath li {
	padding: 0;
	display: inline;
}
ul#topicpath li:nth-child(n + 2):before {
	padding: 0 1em;
	content: "＞";
}
ul#topicpath li a {
	text-decoration: none;
}
ul#topicpath li a:hover {
	text-decoration: underline;
}

/*章*/
#contents section {
}
#contents section section {
}

/*段落*/
#contents p {
	margin-bottom: 1rem;
}
#contents p:last-child {
	margin-bottom: 0;
}

/*本文マージン*/
#contents .margin0 {
	margin-bottom: 0px!important;
}
#contents .margin10 {
	margin-bottom: 10px!important;
}
#contents .margin20 {
	margin-bottom: 20px!important;
}
#contents .margin30 {
	margin-bottom: 30px!important;
}
#contents .margin40 {
	margin-bottom: 40px!important;
}
#contents .margin50 {
	margin-bottom: 50px!important;
}
#contents .margin60 {
	margin-bottom: 60px!important;
}
#contents .margin70 {
	margin-bottom: 70px!important;
}
#contents .margin80 {
	margin-bottom: 80px!important;
}
#contents .margin90 {
	margin-bottom: 90px!important;
}

/*本文内各種パーツ***********************/
/*リスト*/
#contents #main ul {
	margin-bottom: 20px;
	margin-left: 2.0em;
}
#contents #main ul li {
	margin-bottom: 0.5em;
	list-style: none;
	padding-left: 20px;
	list-style: disc;
}
#contents #main ol {
	margin-bottom: 1em;
}
#contents #main ol li {
	list-style-position: outside;
	margin-bottom: 0.5em;
	margin-left:2em;
}

/*テーブル
------------------------------------ */
#contents #main table {
	margin: 0 auto;
	width: 100%;
	border-top: #ccc 1px solid;
	border-left: #ccc 1px solid;
	border-spacing: 0;
	border-collapse : collapse;
}
#contents #main table th {
	padding: 8px;
	width: 30%;
	background-color: #eee;
	border-right: #ccc 1px solid;
	border-bottom: #ccc 1px solid;
	white-space: nowrap;
	font-weight: normal;
	text-align: left;
	vertical-align:top;
}
#contents #main table td {
	padding: 8px;
	width: 70%;
	background-color: #fff;
	border-right: #ccc 1px solid;
	border-bottom: #ccc 1px solid;
	vertical-align:top;
}
#contents #main table th.center {
	text-align: center;
}
#contents #main table td.center {
	text-align: center;
}
#contents #main table caption {
	font-weight: bold;
	
}

/*フォーム*/
#contents #main input[type="text"] {
	width:50%;
	height:30px;
}
#contents #main input[type="tel"] {
	width:50%;
	height:30px;
}
#contents #main input[type="email"] {
	width:50%;
	height:30px;
}
#contents #main textarea {
	width:100%;
	height:100px;
}
#contents #main .form_btn_area {
	margin-top: 20px;
	text-align: center;
}
#contents #main .form_btn_area .form_btn {
	width: 180px;
	height: 40px;
	cursor: pointer;
}

/* 各ページ ***********************/
/*ページタイトル*/
#contents #main img.maxsize{
	width:100%;
	height:auto;
}

/*ストアボタン*/
#contents #main .store_btn {
	width:800px;
	margin:160px auto;
    font-size: 2.3rem;
}

/*トップ*/
.toppage section {
	text-align:center;
	line-height:0;
}
.toppage section.sec01 {
	padding-bottom:50px;
}
.toppage section h2{
	width:100%;
	min-width:1000px;
	margin:0 auto;
}
.toppage section h2 img{
	width:100%;
	height:auto;
}
.toppage section .txt{
}
.toppage section .btn{
}

/*スタンサー*/
.stancer #contents #main section {
	text-align:center;
	line-height:0;
}
.stancer #contents #main .contens_sec {
	text-align:center;
	line-height:0;
}

/*マジックソール*/
.magicsole #contents #main section {
	text-align:center;
	line-height:0;
}
.magicsole #contents #main .contens_sec {
	width:1000px;
	margin:0 auto 40px auto;
	font-size:2.3rem;
}
.magicsole #contents #main .contens_sec h3 {
	border-bottom:solid 4px #e60012;
	color:#e60012;
	font-size:2.8rem;
	font-weight:bold;
}
.magicsole #contents #main .contens_sec h4 {
	color:#e60012;
	font-size:2.3rem;
	font-weight:bold;
}
.magicsole #contents #main .contens_sec p {
	line-height:1.3;
}

.magicsole #contents #main .contens_sec .content01_left {
	float:left;
	width:460px;
}
.magicsole #contents #main .contens_sec .content01_right {
	float:right;
	width:500px;
	margin-top:40px;
}

.magicsole #contents #main .contens_sec .content02_left {
	float:left;
	width:470px;
}
.magicsole #contents #main .contens_sec .content02_right {
	float:right;
	width:490px;
	margin-top:40px;
}
.magicsole #contents #main .contens_sec.movie {
	text-align:center;
}

/*メンテマイスター*/
.mm #contents #main section {
	text-align:center;
	line-height:0;
}
.mm #contents #main .contens_sec {
	width:1000px;
	margin:0 auto 40px auto;
	font-size:2.3rem;
}
.mm #contents #main .contens_sec h3 {
	margin:20px 0;
	font-size:3.8rem;
	line-height:1.5;
	font-weight:bold;
}
.mm #contents #main .contens_sec h4 {
	font-size:2.3rem;
	font-weight:bold;
}
.mm #contents #main .contens_sec p {
	margin-bottom:2em;
	line-height:1.5;
}
.mm #contents #main .contens_sec.movie {
	text-align:center;
}

/*IR*/
.ir #contents #main section {
	text-align:center;
	line-height:0;
}
.ir #contents #main .contens_sec {
	width:1000px;
	margin:0 auto 40px auto;
	font-size:2.3rem;
}
.ir #contents #main .contens_sec h3 {
	margin:20px 0;
	font-size:3.8rem;
	line-height:1.5;
	font-weight:bold;
}
.ir #contents #main .contens_sec h4 {
	font-size:2.3rem;
	font-weight:bold;
}
.ir #contents #main .contens_sec p {
	margin-bottom:1.5em;
	line-height:1.5;
}
.ir #contents #main .contens_sec.movie {
	text-align:center;
}

/*ファイバープロテクション*/
.fiberp #contents #main section {
}
.fiberp #contents #main .contens_sec {
	width:1000px;
	margin:0 auto 40px auto;
	font-size:2.3rem;
}
.fiberp #contents #main .contens_sec h3 {
	margin:20px 0;
	font-size:3.8rem;
	line-height:1.5;
	font-weight:bold;
}
.fiberp #contents #main .contens_sec h4 {
	font-size:2.8rem;
	font-weight:bold;
	color:#e60012;
}
.fiberp #contents #main .contens_sec p {
	margin-bottom:1.5em;
	line-height:1.5;
}
.fiberp #contents #main .contens_sec dl {
	display:flex;
	flex-wrap:wrap;
	line-height:1.4;
}
.fiberp #contents #main .contens_sec dl dt {
	width:12%;
	margin-bottom:25px;
	line-height:1.4;
}
.fiberp #contents #main .contens_sec dl dt img {
	width:100%;
	height:auto;
}
.fiberp #contents #main .contens_sec dl dd {
	width:88%;
	margin-bottom:25px;
	padding-left:20px;
}
.fiberp #contents #main .contens_sec dl dd h5 {
	font-size:2.6rem;
	font-weight:bold;
}
.fiberp #contents #main .contens_sec dl dd span {
	color:#e60012;
}
.fiberp #contents #main .contens_sec.movie {
	text-align:center;
}
.fiberp #contents #main .contens_sec.caution {
	width:100%;
	padding:30px;
	background-image:url(../images/fiberp/photo02.jpg);
	background-position:center top;
	background-repeat:no-repeat;
}
.fiberp #contents #main .contens_sec.caution .inside {
	width:1000px;
	height:auto;
	margin:0 auto;
	padding:20px 40px;
	border:solid 1px #000;
}
.fiberp #contents #main .contens_sec.caution h4 {
	width:1000px;
	margin:0 auto 10px auto;
	font-size:2.8rem;
	font-weight:bold;
	color:#000;
}
.fiberp #contents #main .contens_sec.caution dl {
	display:inline;
	flex-wrap:wrap;
	line-height:1.4;
}
.fiberp #contents #main .contens_sec.caution dl dt {
	width:auto;
	margin-bottom:0;
	color:#e60012;
}
.fiberp #contents #main .contens_sec.caution dl dt img {
	width:100%;
	height:auto;
}
.fiberp #contents #main .contens_sec.caution dl dd {
	width:auto;
	margin-bottom:1em;
}
.fiberp #contents #main .contens_sec.caution p {
	margin:0;
}


/*SLAB WAX*/
.slabwax #contents #main section {
	text-align:center;
	line-height:0;
}
.slabwax #contents #main .contens_sec {
	width:1000px;
	margin:0 auto 40px auto;
	font-size:2.3rem;
}
.slabwax #contents #main .contens_sec h3 {
	margin:20px 0;
	font-size:3.8rem;
	line-height:1.5;
	font-weight:bold;
}
.slabwax #contents #main .contens_sec h3.h_bg {
	margin:20px 0;
	padding-left:20px;
	background-color:#000000;
	font-size:3.8rem;
	line-height:1.5;
	font-weight:bold;
	color:#fff;
}
.slabwax #contents #main .contens_sec h3.h_bg02 {
	margin:20px 0;
	padding-left:20px;
	background-color:#000000;
	font-size:3.8rem;
	line-height:1.5;
	font-weight:bold;
	color:#fff;
background: rgb(125,126,125); /* Old browsers */
background: -moz-linear-gradient(left, rgba(125,126,125,1) 0%, rgba(0,0,0,1) 0%, rgba(85,85,85,1) 50%, rgba(14,14,14,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left, rgba(125,126,125,1) 0%,rgba(0,0,0,1) 0%,rgba(85,85,85,1) 50%,rgba(14,14,14,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, rgba(125,126,125,1) 0%,rgba(0,0,0,1) 0%,rgba(85,85,85,1) 50%,rgba(14,14,14,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7d7e7d', endColorstr='#0e0e0e',GradientType=1 ); /* IE6-9 */
}


.slabwax #contents #main .contens_sec h4 {
	font-size:2.3rem;
	font-weight:bold;
}
.slabwax #contents #main .contens_sec h5 {
	font-size:2.3rem;
	font-weight:bold;
}
.slabwax #contents #main .contens_sec p {
	margin-bottom:1.5em;
	line-height:1.5;
}
.slabwax #contents #main .contens_sec .store_btn {
	width:640px;
	margin:0 auto;
}
.slabwax #contents #main .contens_sec.superr_waku {
	line-height:1;
}
.slabwax #contents #main .contens_sec .superr {
	font-size:1.8rem;
	line-height:1.5;
}

.ewp_body{
	font-family: '小塚ゴシック Pro','Kozuka Gothic Pro',sans-serif;
font-size: 16px;
line-height: 2em;
color: rgb(97, 97, 97);

}
.ewp_bold{
	font-weight: bold;
	font-size: 24px;
	letter-spacing: 0.2em;
}
.text-c{
	text-align: center;
}
.ewp-img{
	text-align: center;
	padding: 50px;
}
.text-r{
	text-align: right;
}
.text-l{
	text-align: left;
}
.ml-50{
	margin-top: -100px;
	margin-left: 70%;
}
.mt-100{
	margin-top: -200px;
}
.mb-100{
	margin-bottom: 100px !important;
}
.half{
	width: 40%;
	margin-left: 10%;
	margin-bottom: 50px;
}
.motiong{
	font-family: kozuka-gothic-pr6n, sans-serif;
font-weight: 400;
font-style: normal;
font-size: 16px;
}
.motion-w{
	width: 90% !important;
	margin: 0 auto;
	padding-top: 50px;
	padding-bottom: 80px;
}
.motion-w2{
	width: 1000px;
	margin: 20px auto;
}

.md{
	font-size: 1.3em;
}
.mb-1{
	background-image: url(../images/mg/2.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: top right;
}
.list-none{
	margin-left: 0px !important;
}
.list-none li{
	list-style: none !important;
	padding-left: 0px !important;
}
.list-none li li{
	list-style: unset !important;
}
.motion-w h2,.motion-w2 h3,.motion-w2 h2{
font-size: 1em;
}
.mb-2{
	background-image: url(../images/mg/3.png);
	background-repeat: no-repeat;
	background-size: cover;
}
.list-name li{
margin: 50px 0;
}
.mar{
	margin: 30px 0;
}
.lisst li{
	margin: 20px;
}
.flex{
	display: flex;
	margin-top: 20px;
}
.flex-r{
	margin-top: 80px;
	margin-left: 30px;
}
.h1{
	font-size: 1.8em !important;
}
.h2{
	font-size: 1.5em !important;
	text-decoration: underline;
}
.img-responsive{
	width: 100%;
	height: auto;
}
.btn{
margin: 50px auto;
}

.photo-p{
width: 350px;
}
.flex2{
	justify-content: center;
	align-items: center;
}
.flex-p{
	width: 600px;
margin-left: 100px;
}



body {
  margin: 0;
  font-family: 'Arial', sans-serif;
  background-color: #fff;
  color: #333;
}

.main-visual img {
  width: 100%;
  max-width: 1000px;
  display: block;
	margin: 0 auto;
	/* height: 100vh; */
	object-fit: cover;
}

.content-section {
  text-align: center;
  margin: 40px 0 10px;
}
@media screen and (max-width: 672px){
	.content-section {margin: 10px 0 10px;}
}
.content-section h2 {
  font-size: 24px;
  font-weight: bold;
  color: #0076c6;
  margin: 0;
}

.blue-line {
  width: 80px;
  height: 3px;
  background-color: #0076c6;
  border: none;
  margin: 10px auto 30px;
}

.wide-90{
	max-width: 900px;
	margin: 0 auto 100px;
}
.flex-top{
	display: flex;
	justify-content: space-between;
}


.flex-top img{
	box-shadow: 7px 10px 5px -2px #aaaaaa;
}
.flex-top p{
	padding: 5px;
margin: 0;
}
@media screen and (max-width: 672px){
	.flex-top{
		flex-wrap: wrap;
	}
	.flex-top p{
		padding: 3px;
		width: 47%;
	}
}
.item1{
	flex-grow: 1;
}
.item2{
	flex-grow: 1;
}
.item3{
	flex-grow: 2;
}

.content-frame {
  display: flex;
  align-items: center;
  position: relative;
  padding-left: 40px;  /* 左線と文字の間隔 */

	max-width: 900px;
	margin: 30px auto 20px;
}

/* L字（左上コーナー+縦線） */
.corner {
  position: absolute;
  top: 22px;
  left: 0;
  width: 40px; /* 横線長さ */
  height: 480px; /* 全体の縦線高さ */
  border-left: 3px solid #0076c6;
}

.corner::before {
  content: "";
  position: absolute;
  top:0;
  left: 0;
  height: 3px;
  width: 20px; /* L字の上線だけ */
  background-color: #0076c6;
}

.content-frame h2 {
  color: #0076c6;
  font-size: 28px;
  font-weight: bold;
  margin: 0 10px 0 0;
  white-space: nowrap;
}

.horizontal-line {
  flex-grow: 1;
  height: 3px;
  background-color: #0076c6;
}
.sns-flex{
	display: flex;
}
.sns-flex p{
	width: 40px;
	margin: 0 5px;
}

.smp{
	display: none;
}
@media screen and (max-width: 672px){
	.smp{
		display: block;
	}
	.pc{
		display: none;
	}
}


.site-footer {
  background-color: #333333;
  color: #fff;
  padding: 30px 20px;
  font-size: 14px;
  font-family: 'Arial', sans-serif;
}

.footer-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.footer-copy {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 672px){
	.footer-copy{
		display: block;
	}
}
.footer-icon {
  width: 20px;
  height: 20px;
  margin-right: 10px;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links li {
  border-left: 1px solid #fff;
  padding-left: 10px;
}

.footer-links li:first-child {
  border-left: none;
  padding-left: 0;
}

.footer-links a {
  color: #fff;
  text-decoration: none;
}

.footer-links a:hover {
  text-decoration: underline;
}

/* ヘッダー */

.site-header {
  background-color: #fff;
  padding: 20px 40px;
  position: relative;
  z-index: 10;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.header-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: center; /* ロゴを中央に */
  align-items: center;
  position: relative;
}

.logo01 img {
	height: 30px; /* ロゴサイズ調整 */

}

.menu-button {
  position: absolute;
  right: 50px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.menu-button span {
  font-size: 14px;
  color: #333;
}

.menu-button img {
  height: 20px;
  width: auto;
}

/* オーバーレイメニュー */
.overlay-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  color: #000;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 40px;
  z-index: 1000;
  transform: translateX(100%);
  transition: transform 0.4s ease-in-out;
}
.overlay-container{
width: 60%;
	margin: 0 auto;
}

.overlay-menu.active {
  transform: translateX(0);
}

.close-button {
  margin-left: auto;
  font-size: 12px;
  cursor: pointer;
	margin-bottom: 0px;
width: 40px;
text-align: center;
}
.close{
	text-align: right;
}

.menu-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.menu-links li {
  font-size: 20px;
  margin: 15px 0;
  cursor: pointer;
}

.overlay-menu {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	/* height: 100vh; */
	background: #fff;
	z-index: 1000;
	transform: translateX(100%);
	transition: transform 0.3s ease-in-out;
	display: flex;
	flex-direction: column;
	padding: 40px;
	overflow-y: auto; /* ← スクロール可能にする */
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 672px){
	.overlay-container{
		width: 90%;
			margin: 0 auto;
		}
		.overlay-menu{
			padding: 10px;
		}	

		.close-button{
			margin-top: 5px;
			margin-right: 0px;
		}
		.site-header {
			background-color: #fff;
			padding: 10px 15px;
			position: relative;
			z-index: 10;
			box-shadow: 0 2px 4px rgba(0,0,0,0.05);
		}
		.menu-button{
			right: 10px;
		}
}
.overlay-menu.active {
	transform: translateX(0);
}

.overlay-header {
	display: flex;
	justify-content: flex-end;
	font-size: 14px;
}

.overlay-header .close-button {
	cursor: pointer;
}

.overlay-body {
	display: flex;
	flex-direction: row;
	flex: 1;
	margin-top: 20px;
}
@media screen and (max-width: 672px){
	.overlay-body {	margin-top: 0px;}
}
.overlay-left {
	flex: 2;
	padding-right: 40px;
	padding-bottom: 50px;
}
.overlay-left a {
	color: #333333;
	text-decoration: none;
	font-weight: bold;
	font-size: 0.9rem;
}
.overlay-right {
	flex: 1;
	border-left: 1px solid #ddd;
	padding-left: 40px;
}

.overlay-left h4 {
	font-size: 20px;
	margin-bottom: 20px;
	/* text-decoration: underline; */
	text-align: center;
	font-weight: normal;
}

.overlay-left ul {
	padding: 0;
	list-style: none;
}

.overlay-left ul li {
	font-size: 16px;
	padding: 10px 0;
	border-bottom: 1px solid #eee;
	cursor: pointer;
}

.overlay-right input[type="text"] {
	width: 100%;
	padding: 8px;
	border: 1px solid #ccc;
}

.tags {
	margin-top: 20px;
}

.tags span {
	display: inline-block;
	margin: 5px;
	padding: 5px 10px;
	border: 1px solid #ccc;
	border-radius: 15px;
	font-size: 12px;
}

.social-icons {
	margin-top: 20px;
	display: flex;
	gap: 10px;
}

.social-icons img {
	width: 20px;
	height: 20px;
}
@media screen and (max-width: 700px) {
  .logo01 img {
    height: 20px;
  }
}