#sec_pagettl, #sec_pagettl h1>.inner {
 background: #F4A134;
}

#sec_happy,
#sec_staff,
.sec_info{
 background: #FDBF5E;
}


#sec_happy .list{
 display: flex;
 margin-top: 80px;
 justify-content: space-between;
}
#sec_happy .list li{
 background: #fff;
 width: 50%;
 border-radius: 10px;
 padding: 30px 30px 50px;
 box-sizing: border-box;
 margin: 25px;
}
#sec_happy .list li.bg1{
 background: #fff url(../img/happy/bg1.png) no-repeat center bottom 50px;
}
#sec_happy .list li.bg2{
 background: #fff url(../img/happy/bg2.png) no-repeat center bottom 50px;
}
#sec_happy .list li .img{
 text-align: center;
 position: relative;
 height: 160px;
}
#sec_happy .list li .img img{
 position: absolute;
 top: -160px;
 left: 50%;
 border-radius: 50%;
 transform: translate(-50%,0)
}
#sec_happy .list li h2{
 position: relative;
 text-align: center;
 background: var(--orange);
 color:#fff;
 padding: 10px;
 border-radius: 10px;
 margin-top: -45px;
 max-width: 300px;
 margin-left: auto;
 margin-right: auto;
}
#sec_happy .list li h2 .icon{
 position: absolute;
 left: -40px;
 top: -65px;
}
#sec_happy .btn{
 text-align: center;
}
#sec_happy .btn a{
 display: inline-block;
 border:solid 1px #000;
 background: #fff;
 padding: 15px 30px;
}
#sec_happy .btn a .inner{
 display: flex;
 align-items: center;
 justify-content: center;
}
#sec_happy .btn a .inner .iconmini{
 height: 3em;
 width: auto;
}

#sec_voice{
 background: url(../img/happy/voice_bg.jpg) no-repeat;
 background-size: 100% auto;
 background-attachment: fixed;
}
#sec_voice .list{
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 80px;
}
#sec_voice .list li{
 display: flex;
 align-items: flex-start;
}
#sec_voice .list li .name{
 background: #FDBF5E;
 width: 100px;
 min-height: 100px;
 display: flex;
 text-align: center;
 justify-content: center;
 align-items: center;
 border-radius: 10px;
 margin-right: 1em;
 font-weight: bold;
 line-height: 1.1em;
 aspect-ratio: 1 / 1;
}
#sec_voice .list li .text{
 width: calc( 100% - 80px );
 line-height: 2em;
}

#sec_btm .text{
 background: #D1D1D1;
}

#sec_office .list{
 display: grid;
 grid-template-columns: repeat(3,1fr);
 gap: 15px;
}
#sec_office .list li{
 border-radius: 10px;
 overflow: hidden;
 position: relative;
}
#sec_office .list li .img{
 position: relative;
}
#sec_office .list li h3{
 position: absolute;
 bottom: 0px;
 left: 0px;
 width: 100%;
 background: rgba(0,0,0,0.5);
 color: #fff;
 padding: 5px 10px;
 font-size: 100%;
 font-weight: normal;
}

#sec_staff .photo .img{
 border-radius: 50%;
}

#sec_btm .map{
 min-height: 350px;
}
#sec_btm .map iframe{
 width: 100%;
 height: 100%;
}

#sec_btm .inner{
 max-width: 600px;
}
#sec_btm .msg{
 text-align: center;
}
#sec_btm .msg>span{
 display: inline-block;
 background: #FDBF5E;
 border-radius: 50px;
 position: relative;
 padding: 10px 30px;
 margin-bottom: 40px;
}
#sec_btm .msg>span:before{
 position: absolute;
 display: block;
 content: "";
 background: url(../img/happy/hukidashi_orange.svg) no-repeat;
 width: 20px;
 height: 20px;
 bottom: -16px;
 /*border-right: solid 15px transparent;
 border-left: solid 5px transparent;
 border-top: solid 20px #FDBF5E;
 bottom: -20px;*/
 left: 50%;
}




/*
===================================================
	sp
===================================================
*/
@media screen and (max-width: 960px) {
 #sec_happy .list{
  display: block;
  padding-top: 50px;
 }
 #sec_happy .list li{
  background: #fff;
  width: 100%;
  border-radius: 10px;
  padding: 30px 20px 50px;
  box-sizing: border-box;
  margin: 0px 0px 50px;
 }
 #sec_happy .list li.bg1{
  background: #fff url(../img/happy/bg1.png) no-repeat center bottom 25%;
 }
 #sec_happy .list li.bg2{
  margin-top: 180px;
  background: #fff url(../img/happy/bg2.png) no-repeat center bottom 25%;
 }
 #sec_happy .btn a{
  display: block;
  padding: 10px 15px;
 }

 #sec_voice{
  background: url(../img/happy/voice_bg.jpg) no-repeat 22% top;
  background-size: auto 100%;
  background-attachment: scroll;
 }
 #sec_voice .list{
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px;
 }


 #sec_office .list{
  display: grid;
  grid-template-columns: repeat(1,1fr);
  gap: 15px;
 }
 #sec_office .list li .img img{
  max-width: none;
  width:100%;
  height: auto;
 }
 #sec_office .list li h3{
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  background: rgba(0,0,0,0.5);
  color: #fff;
  padding: 5px 10px;
  font-size: 100%;
  font-weight: normal;
 }

 #sec_staff .photo .img{
  border-radius: 50%;
 }

 #sec_btm .map{
  min-height: 0px;
  height: 250px;
 }
 #sec_btm .text .inner{
  max-width: none;
 }

}