@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&family=Arimo:wght@500;600;700&family=Raleway:ital,wght@0,200;0,300;1,100&display=swap');

body, input, button, textarea, select {
  font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
}

/*  base
---------------------------------------------------------------------------*/
a {
  color: #000;
  transition: 0.2s;
  /*マウスオン時の移り変わるまでの時間設定。0.2秒。*/
}

a:hover {
  color: #767676;
}
a:active {
  color:inherit;
}

/*  パン屑リスト
---------------------------------------------------------------------------*/
.breadcrumb {
  margin: 0;
  padding: 0;
}

.breadcrumb li {
  display: inline;
}

.breadcrumb li:after {
  content: '\03e';
  padding: 0 0.2em;
  color: #555;
}

.breadcrumb li:last-child:after {
  content: '';
}

.breadcrumb li a {
  text-decoration: none;
}

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

/* top
---------------------------------------------------------------------------*/
.label-red{
  background-color:#ff4425;
  border-radius:3px;
  color:#fff;
  padding:2px 1.5em;
  margin-left:20px;
  line-height: 1;
  font-size: 1.3rem;
  display: inline-block;
}
.swiper-slide-active img {
       filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.3));
      }
	  
/* service(Webサイト構築・管理)
---------------------------------------------------------------------------*/
ol.num-circle {
  counter-reset:num;
  list-style-type: none!important;
  padding:0;
  margin:0;
}
ol.num-circle li {
  position: relative;
  line-height: 1.5em;
  padding: .5em 0 .5em 24px;
}

ol.num-circle li:before {
  position: absolute;
  counter-increment: num;
  content: counter(num);
  display:inline-block;
  background:transparent;
  border:#555 1px solid;
  color: #555;
  font-weight:bold;
  border-radius: 50%;
  left: 0;
  width: 18px;
  height: 18px;
  line-height: 17px;
  text-align: center;
  top: 12px;
}


/*  form
---------------------------------------------------------------------------*/

.form-item-name {
  display: block;
  font-weight: bold;
}

.kome::after {
  content: '※必須';
  color: #e76a33;
  font-size: 1rem;
  padding-left: .5em;
}

::placeholder {
  color: #ccc;
  font-size: .8em;
}

/* checkbox */

.form-checkbox input {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  margin: -1px;
}

.form-checkbox-name {
  cursor: pointer;
  display: flex;
  align-items: center;
  position: relative;
  margin-top: .5em;
}

.form-checkbox-name:before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  border: 1px solid #ccc;
  border-radius: 3px;
  margin-right: 6px;
  flex-shrink: 0;
}

.form-checkbox input:checked + .form-checkbox-name:before {
  border: 1px solid rgb(43 161 64);
  background-color: rgb(43 161 64);
}

.form-checkbox input:checked + .form-checkbox-name:after {
  content: "";
  position: absolute;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  left: 0.3em;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 0.4em;
  height: 0.6em;
  transform: translateY(-2px) rotate(45deg);
}

.form-checkbox input:checked + .form-checkbox-name {
  color:#000;
}

.form-checkbox input:focus-visible + .form-checkbox-name .form-checkbox-text {
  background: linear-gradient(transparent 90%, rgba(43, 161, 64, 0.3) 90%);
}

.form-checkbox input.focus-visible + .form-checkbox-name .form-checkbox-text {
  background: linear-gradient(transparent 90%, rgba(43, 161, 64,  0.3) 90%);
}

.form-wrap input {
  box-shadow: 0 0 0 1px #ccc inset;
}

/* textarea */

.form-textarea {
  display: block;
  width: 100%;
  box-shadow: 0 0 0 1px #ccc inset;
  border: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  resize: vertical;
}

.form-textarea:focus {
  outline: 0;
  box-shadow: 0 0 0 2px rgb(43, 161, 64) inset;
}


/* LP(ECサイト）
---------------------------------------------------------------------------*/
.ec-bg-gray{
	background: #f5f5f5;
}

.marker {
background: linear-gradient(transparent 60%, #fffc0f 60%);
}

.contents-color-Lgreen{
background: #eef7f0;
padding: 1px 20px;
}

.btn-price{
	border-radius: 3px;
    color: #319041;
	border: rgba(49, 144, 65, 0.68) 2px solid;
	background: rgba(238, 247,240, 0.68) ;
	text-align: center;
	line-height: 1;
}

.accordion {
margin: 3em auto;
}

.toggle {
display: none;
}
.option {
position: relative;
margin-bottom: 1em;
}
.ttl-accordion,
.content-accordion {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transform: translateZ(0);
transition: all 0.3s;
}
.ttl-accordion {
	border-radius: 3px;
    color: #319041;
	border: rgba(49, 144, 65, 0.68) 2px solid;
	background: rgba(238, 247,240, 0.68) ;
	text-align: center;
	line-height: 1;
display: block;
}
.ttl-accordion::after,
.ttl-accordion::before {
content: "";
position: absolute;
right: 1.25em;
top: 1.25em;
width: 2px;
height: 0.75em;
background-color: #319041;
transition: all 0.3s;
}
.ttl-accordion::after {
transform: rotate(90deg);
}
.content-accordion {
max-height: 0;
overflow: hidden;
}

.toggle:checked + .ttl-accordion + .content-accordion {
max-height: 3000px;
transition: all 1.5s;
}
.toggle:checked + .ttl-accordion::before {
transform: rotate(90deg) !important;
}

.price-box{
   border-left: rgba(209, 209, 209, 1) 1px solid;
}


.price-box thead th{color: #fff; text-align: center;}
.price-box thead th,
.price-box tbody th,
.price-box td{
 border-right: rgba(209, 209, 209, 1) 1px solid;
  border-bottom: rgba(209, 209, 209, 1) 1px solid;
 }
 
 .price-box thead{ border-top: rgba(209, 209, 209, 1) 1px solid;}


.price-box-Lgray {
    background:#f5f5f5 ;
}
.price-box-cream{
    background:#fffce5;
}
.price-box-green{
    background:#ebf7e8;
}
.price-box-Lblue{
    background:#e3f9f7;
}
.price-box-Bgray{
    background:#d5ebeb;
}

.price-box tbody td{ text-align: center;vertical-align: middle;}

.bgcolor-s{ background: #319041;}
.bgcolor-m{background: #e79933;}
.bgcolor-l{background: #e76a33;}


/* アニメーション
-----------------------------------------*/
.animation-fade
{
  opacity: 0;
}
.animation-fade.active {
  animation: fadein 1s ease-in-out forwards;
}
@keyframes fadein{
	0%{
		opacity: 0;
		transform: translateY(20px);
	}
	50% {
		opacity: 0;
		transform: translateY(20px);
	}
	100%{
		opacity: 1;
		transform: translateY(0);
	}
}

/*  リストデザイン
---------------------------------------------------------------------------*/

ul.disc li {
	position: relative;
	margin-left: 1em;
}

ul.disc li::after {
	display: block;
	content: '';
	position: absolute;
	top: .8em;
	left: -.7em;
	width: 5px;
	height: 5px;
	background-color: #999;
	border-radius: 100%;
}

ol.num{
  counter-reset: item;
  list-style-type: none;
}
ol.num li{
  text-indent: -1em;
  padding-left: 1.3em;
}
ol.num li:before {
  counter-increment: item;
  content: counter(item)'.';
  padding-right: .5em;
  font-weight: bold;
  color: #333;
}

ol.alpha{
list-style-type: lower-alpha;
margin-left: 1.5em;
}


/*  その他
---------------------------------------------------------------------------*/
.inline-block{ display: inline-block; padding-left: 1.5em!important; padding-right: 1.5em!important;}
.block{ display:block}
.link-border {
  border-bottom: 2px dotted #999;
  padding-bottom: 0;
}
.link-border:hover {
  border-bottom: 2px dotted #ccc;
  padding-bottom: 0; }

.slash::after {
content: "／";
color: #000;
padding-right: .5em;
padding-left: .5em;
}
.left {text-align: left!important;}
.right {text-align: right!important;}

.center{ text-align: center;}

.bold{ font-weight: 600;}
.txt-green{color: #319041;}
.red{ color: #ff4425;}
.underline{ text-decoration: underline;}
.underline:hover{ text-decoration: none;}


