	* {
	margin: 0;
	padding: 0;
    outline: 0;
	vertical-align: baseline;
	list-style: none;
}


	body {
		  font-size: 100%;
	color: #333;
	}
	
	.center {
		text-align: center;
	}
	
	.space {
		width: 100%;
		height: 30px;
	}
	
	h3 {
		border: none !important;
		padding-right: 0px !important;
	}
	
	.bg-color {
		background: linear-gradient(to right, #e5f0ff, #f0ecff);
		padding: 40px 0 40px;
	}
	
	.bodder-bottom {
		border-bottom: solid 1px #ddd;
	}
	
	/* header */

header {
	padding: 10px 10px;
	width: 100%;
	overflow: hidden; 
}

.logo {
	float: left;
}
.tel {
    float: right;
	text-align: center;
	width: 239px;
	font-family :
	MyYuGothicM, /* Windows調整用 */
	YuGothic,    /* Mac用 */
	sans-serif;
}

.sp-header,
.overlay {
	display: none;
}

.fixbar {
  width: 100%;
}
.fixed .fixbar {
  position: fixed;
  margin: 0 auto !important;

  }
.header.fixed  {
	  top: 0px;
	  position: fixed;
	  z-index: 99999999;
	  width: 100%;
	  background-color: #fff;
  }

#title {
height:100%;
width:100%;
margin: 0 auto;
}
	
	
	
/* パンくず */
.panlists {
width: 100%;
background-image: linear-gradient(to top, #EEE, #FFF, #eee);
	overflow: hidden;
	}
	
.panlist {
width: 1000px;
	margin: 0 auto;
}
.panlist li { 
	float: left;
display: block;
font-size: 11px;
margin-left: 20px;
padding: 6px 0;
color: #999;
}

.panlist li:first-child:before {
  font-family: "Font Awesome 5 Free";
  content: '\f015 '; /* アイコンのunicode */
  font-size: 14px;
  padding-right: 3px;
  font-weight : 900;
  
}

 
	
	
	/* content */
	
	.content {
		width: 100%;
		margin: 0 auto 80px;
	}
	
	.content-s {
		width: 1200px;
		margin: 0 auto;
	}
	.content-w {
		width: 1000px;
		overflow: hidden;
		margin: 0 auto;
	}
	
	/* top 項目 */
	
	.content-top {
		display: flex;
		justify-content: space-around;
		align-items: center;     /* 垂直方向（上下）の中央揃え */
		gap:30px;
		width: 1200px;
		margin: 0 auto;
		padding-top: 40px;
	}
	
	h1 {
    font-size: 2em;
    margin: 0;
    padding: 0;
}
	
	.content-top img {
		width: 650px;
		height: auto;
	}
	
.top-btn {
    display: inline-block;
    padding: 15px 30px;
    border-radius: 5px;
    text-decoration: none;
    border: 2px solid #2c5235;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    transition: background-color 0.3s, color 0.3s;
    margin: 0 auto;
    background: #2c5235;
}

.top-btn:hover {
    border: 2px solid #2c5235;
    background: #fff;
    color: #2c5235;
}

.btn-wide {
	width: 100%;
}
	
	.features-right {
		float: right;
		width: 400px;
	}
	
	
	/* こんな方におすすめ */
.features {
  font-family: "Segoe UI", sans-serif;
  color: #1a1a1a;
  line-height: 1.6;
  max-width: 500px;
  margin: 20px;
  float: left;
}

.feature {
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px;
}

.feature p {
	line-height: 180%;
}

.icon {
  color: #2c5235;
  font-size: 1.3rem;;
      margin-right: 10px;
    }

.text strong {
  display: block;
  font-weight: 600;
  margin-bottom: 4px;
  font-size: 1.3rem;
}

/* 特徴 */
	
	.features-grid {
 width: 1200px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  padding: 40px 20px;
  font-family: "Segoe UI", sans-serif;
  color: #1a1a1a;
  margin: 0 auto;
}

.feature-card {
  background: white;
  padding: 0 20px 20px 20px;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  text-align: left;
}

.feature-card a {
	color: #0070c9;
	margin-top: 10px;
	text-align: center;
	display: block;
}

.feature-card .icon {
  font-size: 24px;
  margin-bottom: 12px;
  text-align: center;
}

.feature-card h3 {
  font-size: 16px;
  margin: 0 0 8px;
  font-weight: 600;
   text-align: center;
}

.feature-card p {
  font-size: 14px;
  margin: 0;
  line-height: 1.6;
}

/* content middle */

.content-middle {
  display: flex;
  gap: 60px;
  padding: 60px 40px;
  max-width: 1200px;
  margin: auto;
}

.sticky-left {
  flex: 1;
  position: sticky;
  top: 100px;
  height: fit-content;
}

.sticky-left h2 {
  font-size: 38px;
  line-height: 180%
  font-weight: bold;
  color: #1a1a1a;
}

.content-right {
  flex: 2;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.feature-r {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

.feature-r .icon {
  font-size: 24px;
  line-height: 1;
  margin-top: 4px;
}

.feature-r h3 {
  font-size: 18px;
  margin: 0 0 8px;
  font-weight: 600;
}

.feature-r p {
  font-size: 15px;
  margin: 0;
  line-height: 180%;
  margin-bottom: 20px;
  color: #444;
}

hr {
  border: none;
  border-top: 1px solid #ddd;
  margin: 0;
}

/* two card */

.circle-ui {
  display: flex;
  gap: 24px;
  font-family: 'Helvetica Neue', sans-serif;
  padding: 20px;
  flex-wrap: wrap;
  }

.card {
  flex: 1 1 300px;
  padding: 32px;
  border-radius: 20px;
  box-sizing: border-box;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:hover {
  transform: scale(1.03);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.card.light {
  background-color: #f6f4fb;
  color: #1c1c2e;
}

.card.dark {
  background-color: #1c1c2e;
  color: #ffffff;
}

.card h2 {
  font-size: 19px;
  margin-bottom: 16px;
}

.card p {
  font-size: 16px;
  margin-bottom: 24px;
  line-height: 1.5;
}

.cta {
  font-weight: 600;
  text-decoration: none;
  font-size: 16px;
  display: inline-block;
  padding-bottom: 2px;
  transition: all 0.3s ease;
  position: relative;
  float: right;
}

.cta::after {
  content: '→';
  margin-left: 6px;
  display: inline-block;
  transition: transform 0.3s ease;
}

.cta:hover {
  color: #7c3aed;
    border-bottom: 1px solid currentColor;
}

.cta:hover::after {
  transform: translateX(4px);
}
/* voice */

.reviews { 
    width: 1000px;
    margin: 0 auto;
  gap: 30px;
  justify-content: center;
  padding: 30px;

}

.review-box {
  display: flex;
  align-items: flex-start;
  position: relative;
      margin-bottom: 30px;
}

.icon-img {
width: 100px;
    height: 100px;
    margin-right: 20px;
  flex-shrink: 0;
  border-radius: 50%;
}

.bubble {
  background-color: #fff;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  position: relative;
}

.bubble-arrow {
  content: "";
  position: absolute;
  top: 16px;
  left: -10px;
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-right: 10px solid #fff;
  border-bottom: 10px solid transparent;
}

.bubble p {
  margin: 0 0 20px;
  font-size: 15px;
  line-height:180%;
  color: #555;
}

.bubble strong {
  font-weight: bold;
}

/* table */

.plan {
	width: 900px;
	margin: 0 auto;
}

.table-wrapper {
  width: 100%;
  margin: 30px auto;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
  font-family: "Segoe UI", sans-serif;
}

table.single-table {
  width: 100%;
  border-collapse: collapse;
}

.single-table th,
.single-table td {
  padding: 16px;
  border-bottom: 1px solid #eee;
  vertical-align: top;
}

.single-table th {
  background-color: #f9fbfc;
  color: #333;
  width: 30%;
  text-align: left;
  font-weight: 600;
}

.single-table tr:last-child td {
  border-bottom: none;
}

.single-table a {
  color: #0066ff;
  text-decoration: underline;
}


/* faq */

.faq-section {
  max-width: 1000px;
  margin: 60px auto;
  font-family: 'Segoe UI', sans-serif;
  padding: 0 20px;
}

.faq-section h2 {
  font-size: 36px;
  margin-bottom: 40px;
  color: #2d2d2d;
}

.faq-item {
  border-top: 1px solid #ddd;
}

.faq-question {
  width: 100%;
  text-align: left;
  font-size: 18px;
  font-weight: bold;
  padding: 20px 0;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
  position: relative;
  color: #1a1a1a;
}

.faq-question::after {
  content: "▾";
  position: absolute;
  right: 0;
  transition: transform 0.3s ease;
}

.faq-item.active .faq-question::after {
  transform: rotate(180deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  font-size: 16px;
  color: #555;
}

.faq-answer p {
  margin: 0 0 20px;
}

.faq-item.active .faq-answer {
  max-height: 500px; /* 適切に調整 */
}

.faq-answer a {
  color: #7a5af8;
  text-decoration: underline;
}


/* ////////////// footer */



.content-wrap {
width: 1000px;
margin: 0px auto;
padding: 0px;
}


#footer {
width: 100%;
position:relative;
background: -webkit-linear-gradient(#030512 0%, #112b4c 100%);
background: -moz-linear-gradient(#030512 0%, #112b4c 100%);
background: -ms-linear-gradient(#030512 0%, #112b4c 100%);
padding: 20px 0 0px;
overflow: hidden;
line-height: 20px
}

#footer a:link,
#footer a:visited {
color: #fff;
}

#footer a:hover,
#footer a:active {
color: #fff;
text-decoration: underline;
}

.span2,
.span3 {
	width: 18% !important;
	float: left;
	margin: 0 0 0 1%;

}

.span3 ul {
	padding-top: 5px;
}

.span4 {
padding-top: 0px;
}

.span2 h5 {
font-size: 15px;
border-bottom: 1px solid #fff;
padding-bottom: 10px;
box-shadow: 0px -1px 0px rgb(31, 31, 31) inset;
color: #FFF ;
margin: 0 0 10px;
}

.span2 li {
font-size: 13px;
text-align: left;
line-height: 180%;
}

.span3 li {
font-size: 13px;
text-align: left;
line-height: 180%;
}


.span2 li a,
.span3 li a {
color: #fff;
}


.span2 li a:before {
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight : 900;
  padding-right: 5px;
}


.span3 li a:before {
  content: "\f0a9";
  font-family: "Font Awesome 5 Free";
  padding-right: 5px;
  font-weight : 900;
}



.span2 {
margin-top: 10px !important;
}

/* footer */

.foot-content {
	width: 90%;
	margin: 0 auto;
	display: flex;
	flex-flow: space-around;
}

.footcon {
	width: 22%;
    margin: 1.5%;
}

.footcon h5 {
	color: #f2f2f2;
	font-size: 15px;
	margin-bottom: 10px;
	padding-bottom: 10px;
	letter-spacing: .1rem;
	font-weight: bold;
	border-bottom: 1px solid #ddd;
}

.footcon ul {
	margin-bottom: 30px;
}


.footcon li a {
	color: #DDD !important;
	font-size: 13px;
	line-height: 190%;
}


/* youtube */

.yt-bg {
	text-align: center;
	margin: 0 auto;
	width: 100%;
	background-color: #f2f2f2;
	padding: 20px 10px;
}

/* company */

.company dl {
		   border-bottom: solid 1px #ddd;
		   font-size: 14px;
		   margin-bottom: 10px;
		   padding-bottom: 10px;
	   }
	   
.company dd {
		   margin: 0 0px 0 150px;
		   
	   }
	   

/* ////////////// copyright */

#copyright {
overflow: hidden;
width: 100%;
background-color: #000;
margin: 0 auto;
padding: 15px 0;
}


.copy-body,
.copy-link {
	display: initial;
}

.copyright {
color: #fff;
margin: 0 auto;
text-align: center;
width: 1000px;
font-size: 16px;
line-height: 250%;
}

.copyright a {
	padding: 20px;
	color: #fff;
}



 .copy {
font-size: 11px;
margin: 0;
padding: 0;
text-align: center;
color: #fff;
}

.warning-bottom {
font-size: 9px;
display:inline-block;
text-align: center;
width: 100%;
color: #fff;
padding-bottom: 20px;
}

#copyright .by {
color: #fff;
text-align: center;
font-size: 8px;
}

.row-fluid {
width: 100%;
}
.row-fluid [class*="span"]:first-child {
margin-left: 0px;
}

.row-fluid [class*="span"] {
display: block;
float: left;
width: 100%;
min-height: 30px;
margin-left: 2.12766%;
box-sizing: border-box;
}
.row-fluid .span4 {
width: 31.9149%;
}
.row-fluid .span2 {
width: 14.8936%;
}


#topcontrol {
	right: 20px !important;
	bottom: 20px !important;
}

.link-arrow::after {
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight : 900;
  padding-left: 5px;
}

.sp-footer {
	display: none;
}

.error-big {
	text-align: center;
	margin: 40px auto 20px;
	font-size: 120px;
	font-style: italic;
	font-weight: bold;
}

/* bottom */

.bottom-contact {
	width: 100%;
	height: 300px;
	background-size:cover;
	background-image: url(/images/bottom-bg.jpg);
}

.bottom-cover {
background-color: rgba(0,0,0,0.4);
overflow: hidden;
}

.bottom-contact h3 {
	text-align: center;
	padding-top: 80px;
	font-size: 18px;
	color: #fff;
}

.bottom-contact p {
	text-align: center;
	padding-bottom: 80px;
}

/* 関連記事 phone000 */
	.related-article {
		border: solid 1px #ddd;
		padding: 20px;
		overflow: hidden;
		margin-bottom: 40px;
		position: relative;
	}
	
	.related-article h3 {
		text-align: center;
		background: #f2f2f2;
		padding: 10px 0px;
		border-bottom: solid #eee 1px;
	}
	
	.related-article ul {
       width: 100%;
	}
	
	.related-article li {
		width: 50%;
		float: left;
		display: block;
		padding: 10px 0;
	}

	/* form option */

.copy-block {
  /* Wrapper class for entire block. */
  max-height: 25px;
  position: relative;
  overflow: hidden;
  margin-top: -20px;
}
.copy-block .fade-away {
  /* Class to provide a gradient fade to the call-to-action. */
  background: #fff;
  background: -webkit-linear-gradient(transparent, #fff);
  background: -moz-linear-gradient(transparent, #fff);
  background: -o-linear-gradient(transparent, #fff);
  background: linear-gradient(transparent, #fff);
  text-align: center;
  font-size: 1rem;
  font-weight: bold;
  margin-top: 10px;
}
.fade-away:hover {
	text-decoration: underline;
}
.copy-block .read-more {
  /* Class to provide positioning for the call-to-action. */
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
  margin: 0;
  padding:0px;
}


@media (max-width: 768px) {
	
	/* スマホ用のスタイル */
  
  body {
	  overflow-x: hidden;
  }
  
  .tel,
  .pc-none,
  .menu-logo {
	  display: none !important;
  }


  
  .sp-none {
	  display: inherit;
  }
  
  .logo {
	  text-align: center;
	  margin: 0 auto;
	  width: 100%;
  }
  .tel {
	  float: none;
	  margin: 0 auto;
	  text-align: center;
  }
  
  .panlist {
	  width: 100%;
  }
  
  .list-under li {
	  font-size: .8rem;
  }
  
  
  /* menu */
  
  .menu > ul {
	  width: 100%;
  }
  
  a.menu-mobile {
	  color: #fff;
  }
  
  a.menu-mobile:hover {
	  opacity: 0.6;
  }
  

  .menu-dropdown-icon:before {
	  background: transparent;
	  color: #fff;
	  content: "\f067" !important;
	  font-family: "Font Awesome 5 Free";
      font-weight : 900;
  }
  
  .menu > ul > li > ul > li {
	  margin: 0;
	  border-top: solid 1px #000;
  }
  .menu > ul > li > ul > li a {
	  color: #333;
	  background-color: #fff !important;
  }
  
  .menu > ul > li > ul > li a:hover {
  background : rgba(255,255,255,0.95) !important;
  }
	
	/* sp top */
	
	
	.content-top {
 width: auto;
    margin: 0 20px;
    display: inherit;
}


.content-top img {
    width: 100%;
    }
    
    .content-w {
    width: 100%;
    }
    
    .features {
	    width: auto;
 }


.icon {
	margin-top: 0;
	margin-right: 10px;
	font-size: 1.2rem;
}


.text strong {
	font-size: 1.1rem;
}

.features-right {
    float: inherit;
    margin: 0 20px;
}


.features-grid {
    width: auto;
       display: flex;
    flex-wrap: wrap;
        gap: 20px;
    }
    .feature-card {
	    width: 47%;
	    }
	    
	    .content-middle {
    display: inherit;
    gap: 0px;
    width: auto;
    margin: 0 20px;
    padding: 0;
	}
	
	.sticky-left {
    position: inherit;
    }
    
    .sticky-left h2 {
	    text-align: center;
	    }
	    
	    .feature-r {
    gap: 10px;
}


/* table sp */

.single-table th,
  .single-table td {
    display: block;
    width: 100%;
    padding: 10px 14px;
  }
  .single-table th {
    background-color: #eef1f4;
    border-bottom: none;
  }
  .single-table td {
    border-bottom: 1px solid #eee;
  }


.single-table {
	border-bottom: 1px #000 solid;
}

.single-table td
{
	border-bottom: none;
	text-align: center !important;
}

/* contents */

.content-s {
    width: auto;
    }
    .card {
	    flex: inherit;
    }

.reviews {
    width: auto;
    }
    
    .icon-img {
    width: 80px;
    height: 80px;
    }
    
    .features-right {
	    width: auto;
    }
    
    
    .plan {
	width: auto;
	padding: 0 20px;
	}

/* footer */

.copyright,
.content-wrap,
.bottom-link {
	width: 100%;
}

.span2 {
	width: 48% !important;
padding: 0 20px;
margin: 0 0 10px !important;
}

.span3 {
	width: 48% !important;
padding: 0 20px;
margin: -30px 0 10px !important;
}


#copyright {
	 padding: 20px 0 0px;
 }

.copy {
	padding: 0 20px;
}

/* footer sp */

.foot-content {
	display: inherit;
}

.footcon {
	width: 100%;
	width: 44%;
    float: left;
}

.footcon h5 {
	font-size: 13px;
}

.footcon li a {
	font-size: 11px;
}

.footcon-sp {
	margin-left: 6%;
}


}

