@charset "utf-8";
/* CSS Document */
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
html {
  font-size: 62.5%; /* 16px x 0.625 = 10px(=1rem) */
}
body {
  font-size: 1.8em;
  font-family: 'ZEN丸ゴシック', 'Noto Sans JP', sans-serif;
  color: #3E3A39;
  font-weight: 500;
}
.container-fluid {
  margin: 0;
  padding: 0;
}
 .container-mini {
    padding: 0px 10px;
  }
.wrapper {
  overflow: hidden;
}
/*TOPフェイドアニメーション*/
.effect-fade {
  opacity: 0;
  transform: translate(0, 45px);
  transition: all 3000ms;
}
.effect-fade.effect-scroll {
  opacity: 1;
  transform: translate(0, 0);
}
a:hover {
  filter: alpha(opacity=50);
  opacity: 0.5;
  position: relative;
  top: 1px;
  left: 1px;
  transition-duration: 1.2s;
}
a:link {
  text-decoration: none;
  font-weight: 400;
}
img {
  width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden; /*GoogleChrome対策*/
}
.h1, .h2, .h3, h1, h2, h3 {
  margin-top: 0;
}
p {
  font-size: 1.8rem;
  line-height: 1.8em;
  text-align: left;
}
/* 文字折り返し */
.txt-break {
  display: block;
}
/*折り返し禁止*/
.wr {
  white-space: nowrap;
}
.pc {
  display: none;
}
.sp {
  display: block;
}
/*ヘッダ*/
header {
  width: 100%;
  position: relative;
}
footer {
  margin: 0 auto;
  text-align: center;
}
/*maxwidth*/
.maxwidth1000 {
  max-width: 1000px;
}
.maxwidth700 {
  max-width: 700px;
}
.maxwidth600 {
  max-width: 600px;
}
.maxwidth500 {
  max-width: 500px;
}
.maxwidth400 {
  max-width: 400px;
}
.maxwidth300 {
  max-width: 300px;
}
.maxwidth200 {
  max-width: 200px;
}
.maxwidth100 {
  max-width: 100px;
}
.maxwidth50 {
  max-width: 50px;
}
h1 {
  font-size: 1.8rem;
  line-height: 1.8em;
}
dl {
  flex-flow: column;
}
dt {
  color: #5ba34c;
}
dd {
  padding-bottom: 10px;
}

ul{padding: 0;margin: 0;
list-style:none;}

/*全体フォント*/
.text-black {
  color: #000;
}
.text-black2 {
  color: #000;
	font-size: 2.0rem;
}
.text-green {
  color: #5ba34c;
}

.text-blue {
  color: #036eb8;
}


.text-brown {
  text-align: center;
  color: #6A3906;
  line-height: 3.0rem;
}
.text-brown2 {
  text-align: center;
  color: #6A3906;
  font-size: 3.5rem;
  border-bottom: 3px solid;
  margin-bottom: 15px;
}
.text-brown3 {
  text-align: center;
  color: #6A3906;
  font-size: 2.8rem;
  font-weight: bold;
}
.text-white {
  text-align: center;
  color: white;
  font-size: 3.5rem;
  border-bottom: 3px solid;
  margin-bottom: 15px;
}
.text-white2 {
  text-align: center;
  color: white;
  font-size: 1.8rem;
}
.text-big {
  font-size: 4.0rem;
  font-weight: bold;
}

.text-big2 {
  font-size: 6.0rem;
  font-weight: bold;
}

.text-big3 {
  font-size: 3.5rem;
  font-weight: bold;
}
.text-big5 {
  font-size: 2.5rem;
  font-weight: bold;
	text-align: center;
	margin-bottom: 1.0em;
}


.text-small {
  font-size: 1.8rem;
  font-weight: bold;
}

/*全体バックグラウンド*/
.bg-green {
  background-color: #f1f6f1;
  padding: 30px 0px 30px 0px;
}
.bg-brown {
  background-color: #F1ECDD;
  padding: 50px 0px 50px 0px;
}
.bg-blue {
  background-color: #f1f7fc;
  padding: 30px 0px 30px 0px;
}
.bg-white2 {
  padding: 30px 0px 30px 0px;
}
/*配置命令*/
.text-right {
  text-align: right;
}
.text-right2 {
  text-align: center;
}

.text-center {
  text-align: center;
  margin: 0 auto;
}
.text-center2 {
  text-align: left;
}
iframe {
  margin: 0 auto;
  width: 100%;
}
/*ボタン主な共通部分は省略*/
.button a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: auto;
  max-width: 180px;
  padding: 10px 25px;
  color: #fff;
  text-decoration: none;
  line-height: 1.8;
  transition: 0.3s ease-in-out;
	font-size: 1.6rem;
  font-weight: 500;
  background: #000;
  border-radius: 35px;
  border: solid 1px #000;
}
.button a:hover {
  border-bottom: solid 2px #999;
  transform: translateY(3px);
}
.mt-30 {
  margin-top: 30rem;
}
.mt-10 {
  margin-top: 10rem;
}
.mb-10 {
  margin-bottom: 10rem;
}
.text-box {
  padding: 0rem 2.0rem;
  margin: 0 auto;
}
/* ズーム アニメーションの定義 */
.zoom-box {
  display: inline-block;
  overflow: hidden;
}
.c-bnr.zoom {
  display: block;
  transition-duration: .9s;
}
.c-bnr.zoom:hover {
  transform: scale(1.1);
	
}
/*ロール文字*/
.rollAnime.roll span {
    transition-property: opacity,transform;
    transform: rotateY(360deg);
    transition: all 2.8s cubic-bezier(.77,0,.175,1);
    transition-timing-function: cubic-bezier(.77,0,.175,1);
    display: inline-block;
}

/*==================================================
スマホ固定メニュー

===================================*/
/* sp固定メニュー*/
.sp-fixed-table {
  display: flex;
  width: 97%;
  position: fixed;
  bottom: 0.3rem;
  margin: 0 auto;
}
.pc-fixed-menu {
  display: none;
}


/*メニュー*/
.consultation h3{
	text-align: center;
  color: #036eb8;
	font-weight: bold;
	font-size: 2.0rem;
	margin-bottom: 0.5em;
}

/*カスタム事例*/


/*中ページ　説明文*/
.top-box{ margin: 30px 0px;}
.top-box h1, h3{ margin-bottom: 20px;
	 font-size: 2.5rem;
  font-weight: bold;	
  color: #036eb8;
	text-align: center;
}
.profile-box h1, h3{ margin-bottom: 20px;
	 font-size: 2.5rem;
  font-weight: bold;
	text-align: center;
}
.merit-box{ margin: 30px 0px;}
.merit-box h2{ margin-bottom: 30px;
	 font-size: 2.5rem;
  font-weight: bold;	
  color: #5ba34c;
	text-align: center;
}
.merit-box h3{ margin-bottom: 30px;
	 font-size: 2.5rem;
  font-weight: bold;	
  color: #40220f;
	text-align: center;
}

.merit-box p{
	 font-size: 1.8rem;
  font-weight: bold;
	text-align: center;
	line-height: 2.8rem;
}
.merit-box img {max-width: 250px; margin: 0 auto;}

/*スマフォ横・タブレット表示設定*/
@media (min-width: 600px) {
  /*ヘッダ*/
  header {
    margin-bottom: 1em;
  }
  .f-big {
    font-size: 3.0rem;
    font-weight: bold;
  }
  .text-brown2 {
    text-align: center;
    color: #6A3906;
    font-size: 3.8rem;
    font-weight: 600;
  }
}
@media (min-width: 768px) {
  footer {
    text-align: left;
  }
  .sp-fixed-table {
    display: none;
  }
  .pc-fixed-menu {
    display: block;
    position: fixed;
    bottom: 60px; /* ボタンの下側からの距離 */
    right: 10px; /* ボタンの右側からの距離 */
    transition: bottom 0.5s ease;
    width: 200px;
    visibility: hidden; /* ボタンを初期状態で非表示にする */
  }
  .pc-fixed-menu.show {
    bottom: 5px;
    visibility: visible; /* ボタンを表示する */
  }
.consultation h3{
	text-align: center;
  color: #036eb8;
	font-weight: bold;
	font-size: 4.0rem;
	margin-bottom: 0.5em;
}
	
.top-box h1 ,h3{ font-size: 4.0rem;}
.profile-box h1 ,h3{ font-size: 4.0rem;}	
.merit-box h2 { font-size: 4.0rem;}	
.merit-box h3 { font-size: 4.0rem;}	
.merit-box p{ font-size: 2.2rem;
}	
}
/*PC表示設定*/
@media (min-width: 1100px) {
  /*文字折り返し*/
  .txt-break {
    display: inline;
  }
  .text-center2 {
    text-align: center;
  }
.text-right2 {
  text-align: left;
}	
.text-big3 {
  font-size: 4.0rem;
  font-weight: bold;
}
.text-big5 {
  font-size: 3.5rem;
  font-weight: bold;
}	
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
  .container-mini {
    width: 1000px; /*adjustable*/
    padding: 0 ;
    margin: 0 auto;
  }
  dl {
    display: flex;
    flex-flow: row wrap;
    max-width: 800px;
    margin: 0 auto;
  }
  dt {
    flex-basis: 40%;
    padding: 5px;
    text-align: left;
  }
  dd {
    flex-basis: 60%;
    padding: 5px;
    text-align: left;
  }
  .text-white {
    text-align: center;
    color: white;
    font-size: 3.5rem;
  }
}