/*
Theme Name: SPARK7
*/
@charset "utf-8";
body {
	 font: normal 18px/1.7 "Noto Sans JP", sans-serif;
}

body .sp-item {
    display: none !important; }
  body .pc-item {
    display: block !important; }

  @media screen and (max-width: 640px) {
    body {
      min-width: inherit;
	  height:100%;
	  }
      body .sp-item {
        display: block !important; }
      body .pc-item {
        display: none !important; }
	  body .sp-item img {
		width:100%;}
}

@media screen and (max-width: 640px) {
	.sp img{
		max-width:90%;
}
	.sp02 img{
		max-width:100%;
}
.sp03 img{
		max-width:70%;
}
}

.fl_left {
	float: left;
}
.fl_right {
	float: right;
}
.ov_hd {
	overflow: hidden;
}
.bg_none {
	background-image: none!important;
}
a.rollover:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}
.rollover:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}
.center {
	text-align: center;
}
.right {
	text-align:right;
}
.line_0 {
	line-height: 0;
}
.zindex {
	z-index: 200;
}
input[type=radio] {
	width: 15px;
	height: 15px;
	vertical-align: middle;
}
input[type=image]:hover{
		opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
	}


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

    text

---------------------------------------------------- */
em {
	text-decoration: underline;
  font-style: normal;
}
.bd_red {
	border-bottom: 1px solid #FF0004;
	padding-bottom: 2px;
}
.bd_red02 {
	border-bottom: 3px solid #FF0004;
	padding-bottom: 0px;
}
.red {
	color: #ff0000;
}
.yellow {
	background-color: #ffff00;
}
.gray {
	color:#666666;
}
.bold {
	font-weight: bold;
}
strong {
	font-weight: bold;
}
.strike {
	text-decoration: line-through;
}
.ac {
	text-align: center !important;
}
.ar {
	text-align: right !important;
}
.al {
	text-align: left !important;
}
.bold {
	font-weight: bold !important;
}
.font10 {
	font-size: 10px !important;
}
.font11 {
	font-size: 11px !important;
}
.font12 {
	font-size: 12px !important;
}
.font13 {
	font-size: 13px !important;
}
.font14 {
	font-size: 14px !important;
}
.font15 {
	font-size: 15px !important;
}
.font16 {
	font-size: 16px !important;
}
.font17 {
	font-size: 17px !important;
	line-height:150%;
}
.font18 {
	font-size: 18px !important;
}
.font19 {
	font-size: 19px !important;
}
.font20 {
	font-size: 20px !important;
}
.font21 {
	font-size: 21px !important;
}
.font22 {
	font-size: 22px !important;
}
.font23 {
	font-size: 23px !important;
}
.font24 {
	font-size: 24px !important;
}
.font25 {
	font-size: 25px !important;
}
.font26 {
	font-size: 26px !important;
}
.font27 {
	font-size: 27px !important;
}
.font28 {
	font-size: 28px !important;
}
.font29 {
	font-size: 29px !important;
}
.font30 {
	font-size: 30px !important;
}
.font32 {
	font-size: 32px !important;
}
/* ----------------------------------------------------

    float

---------------------------------------------------- */
.fr {
	float: right !important;
}
.fl {
	float: left !important;
}
.clear {
	clear: both;
}
img {
	line-height: 0;
	padding: 0;
	margin: 0;
}
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	min-height: 1px;
}
* html .clearfix {
	height: 1px;/*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}

hr {
	height: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
/* ----------------------------------------------------
    clearfix の代用
    &#60;div class="hr"&#62;&#60;hr /&#62;&#60;/div&#62;
---------------------------------------------------- */

.pc-item img{
  width:100%;
}
/* ヘッダー基本設定 */
.header {
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  z-index: 1000;
}

.header-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
}

.header .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 20px;
  height: 80px;
  box-sizing: border-box;
}

/* ロゴ設定 */
.header .logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

.header .logo img {
  height: 50px;
  width: auto;
}
:root {
  --header-h: 80px; /* 仮の高さ（PC想定） */
}
.fv {
  margin-top: var(--header-h);
}

/* ヘッダーボタンエリア */
.header-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  height: auto;
}

/* ボタン共通設定 */
.header-btn > div {
  display: flex;
  align-items: center;
  height: auto;
}

.header-btn img {
  display: block;
  height: 50px;
  width: auto;
}
.rd-pc{
	position: relative;
}
.btn-wrapper{
	position: absolute;
	display: flex;
	
top:38%;
left:50%;
transform: translate(-50%,-50%);
width:50%;
}
.rd-line{
	position: absolute;
	top:68%;
	left:50%;
transform: translate(-50%,-50%);
width:25%;
display: flex;
flex-direction: column;

}
.btn-wrapper img,.rd-line img{
width:78%;

}
.rd span  {
font-size: 20px;
	font-weight: bold;
	color:#00449e;
margin:0 auto;
	
}

@media screen and (max-width: 1200px) {
.rd span  {
	white-space: nowrap;

	font-size: 16px;
	
}}
@media screen and (max-width: 640px) {
	.header .inner{
		height:64px;
	}
	 :root {
    --header-h: 64px; /* SP想定 */
  }

	.rd-sp{
		position: relative;
	}
	.btn-wrapper{
		flex-direction: column;
		top:44%;
		width:74%;
	}
	.rd-line{
		width:100%;
top:126%;
	}
	.rd-tel,.rd-mail,.rd-line{
		padding-bottom: 3.5%;
	}
}
.area1{
	position: relative;
}
.arrow{
	position: absolute;
	left:50%;
	transform: translate(-50%,-50%);
	bottom:-60px;
	
}
.arrow img{
	width:100px;
}

.area3{
	background: #f2f2f2;
	padding:60px 3%;
}
.area3-wrapper{
	display: flex;
	justify-content: center;
	align-items: center;
}
.area3-pic img{
	width:400px;
	max-width: 100%;
}
.area3 strong{
	color:#ff0000;
	font-size: 24px;
}
.area3-text{
margin-left: 2%;
font-size: 20px;
line-height: 1.5;
}
video{
	width:500px;
	margin-top: 60px;
}
@media screen and (max-width: 640px) {
.arrow{

	bottom:-10%;
}
.arrow img{
	width:80px;
}
.area3{
	padding:40px 3%;
}
.area3-wrapper{
	flex-direction: column-reverse;
}
.area3-pic{
	width:90%;
}
.area3-pic img{
width:100%;
}
.area3-text{
	font-size: 17px;
	margin-bottom: 20px;
	margin-left: 0;
}
.area3 strong{
	font-size: 22px;
}
video{
	width:100%;
	margin-top: 40px;
}
}
.area4,.area6,.area9{
	width:1100px;
	max-width: 100%;
	margin:0 auto;
}
.area5{
	background: #ffd200;
	
}
.area5-pc{
		width:1300px;
	max-width:96%;
margin:0 auto;
}
.area7-pc{
		width:900px;
	max-width:96%;
margin:0 auto;
}
.area8{
	background: #f2f2f2;
	padding:60px 0;
}
.area8-title img{
width:18%;
min-width: 180px;
}
.qa-container{
	padding:30px 0;
}
.qa-list{
  padding: 1% 0;;
}
        .qa-container {
	margin: 0 auto ;
	max-width: 800px;
	width: 90%;
	padding-bottom: 40px;
}

.question-title {
	background: #00449e;
	cursor: pointer;
	font-size: 18px;
	padding: 3% 12% 3% 10%;
	position: relative;
 color:#fff;
	font-weight: bold;
	line-height: 1.3;
}
.question-title:before { 
	position: absolute; 
	display: block; 
	content: url(https://spark7.pro/wp-content/uploads/2026/02/Q.webp) ; 
	top: 50%; 
	transform: translate(-50%, -50%); 
	left: 5%;
 }
.question-title:after {
	position: absolute;
	display: block;
	content: '';
	top: 30%;
	right: 5%;
	width: 14px;
	height: 14px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(135deg);
	transition: all .1s ease-in-out;
}
.question-title.open:after {
	transform: rotate(-45deg);
	top: 45%;
}
.answer-text {
	display: none;
	padding: 16px 4%;
	position: relative;
	background: #fff;
  border: 1px solid #999;
	line-height: 1.4;
	margin-top: 0px;
	font-size: 16px;
	
}
@media screen and (max-width: 1200px) {
	.qa-list {
			padding: 1% 0;
	}
	.qa-container {
			max-width: 76%;
		margin:0 auto;
	}
	.question-title:after {
			width: 10px;
			height: 10px;
	}
	.answer-text:before {
			font-size: 120%;
			font-weight: bold;
	}
}
@media screen and (max-width: 640px) {
	.qa-container {
			width: 90%;
			max-width: 90%;
padding-bottom: 0;
	}
	.qa-list {
			padding: 2% 0 ;
	}
	.question-title {
			font-size: 16px;
			padding: 4% 14% 4% 18%;
	}
	.question-title:before {
			left: 9%;
	}
	.answer-text {
			font-size: 14px;
			padding: 4% 5%;
			margin-top: 0px;
	}
	.answer-text p {
			padding-left: 50px;
	}
}
    footer{
      background: #333;
      color:#fff;
      font-size: 12px;
      padding:30px 0 86px;
    }
    footer a{
      text-decoration: none;
      color:#fff;
      padding: 0 10px;
    }
    .footer-bottom{
      margin-top: 10px;
    }
    /* 下部固定ボタン */
.fixed-buttons {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  z-index: 999;
  box-sizing: border-box; /* 追加 */
  display: flex;
}
.fixed-buttons a{
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: opacity 0.3s ease;
  overflow: hidden;
}


.fix-btn-mail img,.fix-btn-line img{
  flex: 2.5;

}
.fix-btn-web,.fix-btn-line{
width:33.4%;
}
.fix-btn-tel img {
  flex: 5;

}
.fix-btn-tel {
  width:33.4%;
}
.sp-only {
  display: none;
}

/* スマホ版で表示 */
@media screen and (max-width: 640px) {
  .sp-only {
    display: flex;
  }
   /* 下部固定ボタン分のマージンをbodyに追加 */
  
  
  html {
    overflow-x: hidden; /* 追加：横スクロール防止 */
  }
}
	/*特商法*/
	.company-title{
		font-size: 30px;
		padding:20px 0 60px;
		font-weight: bold;
	}
	table{
		width:800px;
		max-width:90%;
		margin:0 auto;
		padding-bottom: 60px;
		border:1px solid #000;
	}
	td{
	width:10%;
	border: #000 1px solid;
	padding:2%;
	
	
		text-align: left;
	}
	@media screen and (max-width: 640px) {
		h2{
			font-size: 24px;
		margin-top: 20px;
			padding: 0;
		}
		table{
			font-size: 12px;
			line-height: 1.4;
			margin:0 auto;
		}
		td{
			width:16%;
			
		}
	}
  /*プライバシーポリシー*/
	.container{
		width:800px;
		max-width: 90%;
		text-align: left;
		margin:40px auto 80px;
		line-height: 1.4;
	}
	.container li,.container p{
		font-size: 15px;
		
	}
	.container h3{
		font-size: 18px;
		font-weight: bold;
		margin: 20px 0 10px;
	}
	ul{
		padding-left:60px;
	}
	.number{
		list-style:decimal;
	}
	.disc{
		list-style:disc;
	}
	
	
	@media screen and (max-width: 640px) {
		.container{
			margin:0 auto 60px;
		}
		h3{
			font-size: 20px;
		}
		.container span{
			font-size: 14px;
		}
	}
/*お問い合わせフォーム*/
* {
  box-sizing: border-box;
}

.form-container {
  width: 100%;
  margin: 0;
  background: #bcd7f3;
  color: #333;
  padding: 60px 0;
}

.form-wrap {
  max-width: 720px;
  margin: 0 auto;
  background: #fff;
  padding: 40px;
  border-radius: 12px;
}

h1 {
  text-align: center;
  font-size: 27px;
  margin-bottom: 10px;
  font-weight: bold;
}

.form-lead {
  text-align: center;
  font-size: 14px;
  margin-bottom: 30px;
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  font-size: 14px;
  margin-bottom: 2px;
}

.req {
  background: #e60000;
  color: #fff;
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 4px;
  margin-left: 6px;
}

.opt {
  background: #999;
  color: #fff;
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 4px;
  margin-left: 6px;
}

.form-submit {
  text-align: center;
}
.wpcf7 br {
  display: none!important;
}
/* ========================================
   Contact Form 7 スタイル
======================================== */

/* CF7デフォルトのp余白を殺す */
.wpcf7 p {
  margin: 0;
  padding: 0;
}

/* spanラッパーをブロック化 */
.wpcf7-form-control-wrap {
  display: block;
padding-top:10px;
}

/* 入力欄 */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 14px;
}
/* checkbox横並び */
.wpcf7 .wpcf7-list-item {
  display: inline-block;
  margin-right: 20px;
  margin-top: 8px;
}

/* label */
.wpcf7 .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
}

/* checkboxカラーだけ変更 */
.wpcf7 input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #ff8a00;
}

/* プライバシーポリシー専用 */
.form-privacy {
  margin: 30px 0 20px !important;
}

.form-privacy .wpcf7-list-item label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* 送信ボタン */
.wpcf7-submit {
  background: #ff8a00;
  color: #fff;
  border: none;
  padding: 14px 40px;
  font-size: 16px;
  border-radius: 30px;
  cursor: pointer;
  display: block;
  margin: 0 auto;
}

/* 余計な中央指定は消す */
.form-submit {
  text-align: center;
}

/* pタグを通常ブロックに戻す */
.form-submit p {
  position: relative;
  margin: 0;
}
.wpcf7-spinner {
  display: none !important;
}

/* ====== SP（640px以下） ====== */
@media (max-width: 640px) {
  .form-container {
    padding: 40px 0;
  }

  .form-wrap {
    margin: 20px 12px;
    padding: 24px 16px;
  }

  h1 {
    font-size: 18px;
  }
}