@charset "utf-8";

/*----------------------------------
  カラム落ち防止 rowに flexつける
------------------------------------*/
.flex{
    display: flex;
    flex-wrap: wrap;
}

.iyaja{
  width:100%;
  max-width:300px;
}
@media screen and (max-width:760px){
  .iyaja{
    width:100%;
    max-width:220px;
  }
}

.lh2{
  line-height:2 !important;
}


.img_mw_150{
  width:100%;
  max-width:150px;
}

.img_mw_150_100{
  width:100%;
  max-width:150px;
}
@media screen and (max-width:760px){
  .img_mw_150_100{
    width:100%;
    max-width:90px;
  }
}


.img_mw_200{
  width:100%;
  max-width:200px;
}

.img_mw_350{
  width:100%;
  max-width:350px;
}

.img_mw_400{
  width:100%;
  max-width:400px;
}


.img_mw_500{
  width:100%;
  max-width:500px;
}

.img_mw_700{
  width:100%;
  max-width:700px;
}

.img_mh_250{
  max-height:250px;
}

.fc_000{
  color:#000 !important;
}

.fc_blue{
  color:#0066cc !important;
}




/*リンクの形状*/
#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	background:#eed29c;
	border-radius: 38% 62% 57% 43% / 54% 45% 55% 46% ;
	width: 50px;
	height: 50px;
	color: #000;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	font-size:1.5rem;
	transition:all 0.3s;
}


@media screen and (max-width:768px){
  #page-top a{
  	width: 35px;
  	height: 35px;
  	color: #000;
  	font-size:1rem;
  }
}




#page-top a:hover{
	background: #eed29c;
}

/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 20px;
	bottom:10px;
	z-index: 2;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}



@media screen and (max-width:768px){
  #page-top {
  	position: fixed;
  	right: 10px;
  	bottom:0px;
  	z-index: 2;
      /*はじめは非表示*/
  	opacity: 0;
  	transform: translateY(100px);
  }
}





/*　上に上がる動き　*/

#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}













/*お求めはこちら*/
#shopping a{
	display: flex;
	justify-content:center;
	align-items:center;
	background:#eed29c;
	width: 50px;
	height: 210px;
	color: #000;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	font-size:1.5rem;
}


@media screen and (max-width:768px){
  #shopping a{
  	width: 35px;
  	height: 161px;
  	color: #000;
  	font-size:1rem;
  }
}






/*リンクを右下に固定*/
#shopping {
	position: fixed;
	right: 20px;
	bottom:85px;
	z-index: 2;
    /*はじめは非表示*/
	opacity: 1;
	transform: translateY(100px);
}



@media screen and (max-width:768px){
  #shopping {
  	position: fixed;
  	right: 10px;
  	bottom:43px;
  	z-index: 2;
      /*はじめは非表示*/
  	opacity: 1;
  	transform: translateY(100px);
  }
}

#shopping img {
	width:100%;
  max-width:50px;
}

@media screen and (max-width:415px){
  #shopping img {
  	width:100%;
    max-width:35px;
  }
}





/*　上に上がる動き　*/

#shopping.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 1;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#shopping.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}











.service-icon {
  border-radius: 43% 57% 46% 54% / 44% 36% 64% 56% ;
  color: #000;
  display: inline-block;
  font-size: 90px !important;
  height: 210px !important;
  line-height: 210px !important;
  width: 210px !important;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.service-icon1 {
  border-radius: 46% 54% 50% 50% / 61% 41% 59% 39%  ;
  color: #000;
  display: inline-block;
  font-size: 90px !important;
  height: 210px !important;
  line-height: 210px !important;
  width: 210px !important;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.service-icon2 {
  border-radius: 51% 49% 56% 44% / 40% 35% 65% 60%   ;
  color: #000;
  display: inline-block;
  font-size: 90px !important;
  height: 210px !important;
  line-height: 210px !important;
  width: 210px !important;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.our-services .col-sm-4:hover .service-icon
 {
  background-color: #e7d4b8;
}

.service-icon, .service-icon1, .service-icon2
 {
  background-color: #e7d4b8;
}

.service-info p{text-align:left;padding:15px;}



.content h3 {
  font-weight: 600;
  font-size: 26px;
}

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

.content ul li {
  padding-bottom: 10px;
  display: flex;
  align-items: flex-start;
  line-height: 2;
}

.content ul i {
  font-size: 24px;
  padding: 2px 6px 0 0;
  color: #d6bb79;
}

.content p:last-child {
  margin-bottom: 0;
}

/*
 * ------------------------------------------------------------------------
 * 記事サムネイル CSS部分
 * ------------------------------------------------------------------------
 */
 .img_thum{
   width:100%;
   height:100%;
   max-width: 300px;
   margin:0 auto;
 }


 .box_shadow{box-shadow: 2px 2px 6px 1px rgba(0, 0, 0, .4);}
 .box_shadow_b{box-shadow: 0 0 4px black;}
 .box_shadow_bb{box-shadow: 0 0 6px black;}

.t_shadow{
  text-shadow: 0px 0px 3px #444;
}

.t_light{
  text-shadow: 2px 2px 2px #fff ,
-2px 2px 2px #fff ,
2px -2px 2px #fff ,
-2px -2px 2px #fff;
}

.t_dark{
color:#fff;
text-shadow: 2px 2px 2px #000 ,
-2px 2px 2px #000 ,
2px -2px 2px #000 ,
-2px -2px 2px #000;
}

.b-1{
  border:1px solid #000;
  padding:1.5rem;
}




.alert-solid {
  border:1px solid #ddd;
  border-radius: 0.2rem;
  padding:1rem;
}

.alert-solid-tb {
  border-top:1px solid #000;
  border-bottom:1px solid #000;
  padding:2rem 0 2rem;
}

.text_l{
  text-align:left !important;
}

h3.soyo_title{
  font-weight:bold !important;
  font-size:1.4rem !important;
  line-height: 1.2 !important;
  margin:0 0 10px 0 !important;
}




/*
 * ------------------------------------------------------------------------
 * 続きを読む
 * ------------------------------------------------------------------------
 */
 .more-wrap {
    position: relative;
    margin-bottom: 180px;
    background-color: #fff !important;
}

.more-btn {
    position: absolute;
    bottom: -80px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

.more-btn>.open1,
.more-btn>.close1 {
    /* ボタンのスタイル（共通） */
    display: block;
    width: 210px;
    margin: 0 auto;
    padding: 1em 0;
    font-size: 0.9em;
    cursor: pointer;
    text-align: center;

}

.more-btn>.open1 {
    /* 「続きを読む」ボタンのスタイル */
    border:1px solid #000;
    color: #000;

}

.more-btn>.close1 {
    /* 「閉じる」ボタンのスタイル */
  border:1px solid #000;
    color: #000;
    /* 最初は非表示にする */
    display: none;

}

.more-item {
    position: relative;
    overflow: hidden;
    background-color: #fff;
    height: auto;
}

.more-item.is-hide {
    /* 閉じているときに見える高さ */
    height: 100px;
}

.more-item::before {
    /* グラデーションで下方を隠す */
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 30px;
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.6) 0%,
            rgba(255, 255, 255, 0.9) 50%,
            rgba(255, 255, 255, 0.9) 50%,
            rgba(255, 255, 255, 1) 100%);
    background: linear-gradient(top, rgba(255, 255, 255, 0.6) 0%,
            rgba(255, 255, 255, 0.9) 50%,
            rgba(255, 255, 255, 0.9) 50%,
            rgba(255, 255, 255, 1) 100%);
}

.more-btn.is-show+.more-item::before {
    display: none;
}

.more-item-inner {

    padding: 0;
}


.bg_wh{
  background-color: #fff !important;
}


hr.dotted{
  border-top:1px dotted #666;
  padding:1rem 0;
}

.box_normal{
  padding:0.5rem;
  background-color: #f5f2e9;
  border-radius: 0.5rem;
}
