/* CSS Document */

img {
  vertical-align: middle;
  max-width: 100%;
  width: auto;
  height: auto;
  -webkit-backface-visibility: hidden;
}

body {
  color: #333;
  -webkit-text-size-adjust: 100%;
  line-height: 1.5em;
  word-break: break-all;
}

.wrapper  {
  max-width: 1000px;
  box-sizing: border-box;
  margin: 0 auto;
}

a {
  text-decoration: none;
}

sup {
  font-size: 0.75em;
  vertical-align: top;
  position: relative;
  top: -0.2em;
}

.sp_break,
.sp_only {
  display: none;
}

@media screen and (max-width: 736px) {
	html {
		font-size: 53%;
	}

  .wrapper {
    padding: 0 1rem;
  }
  
  .pc_break,
  .pc_only {
    display: none;
  }
  
  .sp_only {
    display: block;
  }
  
  .sp_break {
    display: inline;
  }
  }
  

/***************************
 ** flexible boxと子要素の関係
 */

.flex_row {
  /* flexible boxの使用宣言（box,flexbox,flex） */
  display: -webkit-box;/*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;/*--- ie10 ---*/
  display: -webkit-flex;/*--- mac old safari ---*/
  display: flex;
  /* flexアイテムの横方向の位置揃え */
  -webkit-box-pack: justify;/*--- Androidブラウザ ---*/
  -ms-flex-pack: justify;/*--- ie10 ---*/
  -webkit-justify-content: space-between;/*--- mac old safari ---*/
  justify-content: space-between;
  /* flexアイテムの縦方向の整列 */
  -webkit-box-align: stretch;/*--- Androidブラウザ ---*/
  -ms-flex-align: stretch;/*--- ie10 ---*/
  -webkit-align-items: stretch;/*--- mac old safari ---*/
  align-items: stretch;
  /* flexアイテムの並び方向 */
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;/*--- Androidブラウザ 2つに分かれている ---*/
  -ms-flex-direction: row;/*--- ie10 ---*/
  -webkit-flex-direction: row;/*--- mac old safari ---*/
  flex-direction: row;
  /* flexアイテムを複数行にするかどうか */
  -ms-flex-wrap: nowrap;/*--- ie10 ---*/
  -webkit-flex-wrap: nowrap;/*--- mac old safari ---*/
  flex-wrap: nowrap;
}
.flex_row>* {
  /**** flexible box関連指定 ****/
    /* flexアイテムの伸縮、アイテム幅の指定 */
  -webkit-box-flex: 0.1;    /*--- Androidブラウザ 要素がはみ出す場合があることへの対処 ---*/
  -ms-flex: 1 1;    /*--- ie10 ---*/
  -webkit-flex: 1 1 auto;    /* mac old safari */
  /* ie11で、flex-basisを記述すると正しく動作しないので記載しないように変更 */
  flex: 1 1;    /*--- flex-grow,flex-shrink,flex-basis ---*/
  /* 並び順の指定 */
  -webkit-box-ordinal-group: 1;/*--- Androidブラウザ ---*/
  -ms-flex-order: 0;/*--- ie10 ---*/
  -webkit-order: 0;/*--- mac old safari ---*/
  order: 0;
}

@media screen and (max-width: 736px) {
.sp_flex_col {
  /* flexアイテムの並び方向 */
  -webkit-box-orient: vertical;/*--- Androidブラウザ 2つに分かれている ---*/
  -ms-flex-direction: column;/*--- ie10 ---*/
  -webkit-flex-direction: column;/*--- mac old safari ---*/
  flex-direction: column;
}
.sp_flex_col>* {
  width: 100%;
}
}

/***************************
 ** アコーディオン
 */
.accordion_container .accordion_item {
}
.accordion_container .accordion_btn {
  cursor: pointer;
}
.accordion_container .accordion_box {
  display: none;
}

/***************************
 ** 共通パーツ
 */

/* セクションタイトル */
.sec_ttl {
    color: #000;
    font-size: 2rem;
    text-align: left;
    margin-bottom: 2rem;
    line-height: 1.5;
    background: #eee;
    position: relative;
    padding: 1.8rem;
}
.sec_ttl::before {
    content: "";
    display: block;
    width: 1rem;
    height: 4rem;
    background: #ff9933;
    margin-right: 4rem;
    border-bottom-right-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
    position: absolute;
    top: 1rem;
    left: 0;
}

.sec_ttl_l {
    font-size: 2.4rem;
    line-height: 1;
    margin-bottom: 2rem;
}

/***************************
 ** header
 */
header {
    position: relative;
    background: #fff;
    display: block;
}

/* サイト名 */
.site_name {
    position: relative;
    left: 0;
    top: 0;
    height: 100px;
    box-sizing: border-box;
    font-size: 1.4rem;
    padding: 1.4rem;
    color: #000;
}

.site_name span {
  display: inline-block;
  vertical-align: middle;
}

.site_name span img {
    margin-right: 2rem;
    margin-top: 1.4rem;
}

.site_name span a {
  display: block;
  color: #000;
}

/* ボタン群 */
.profile_btn {
  display: inline-block;
  position: absolute;
  top: 15px;
  right: 300px;
  font-size: 1.4rem;
  line-height: 100px;
  margin-right: 1.4rem;
}
.profile_btn a {
	 color: #000;
}
.profile_btn a::before {
    background: url(../img/icn_next.svg) no-repeat;
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background-size: 100% 100%;
    margin-right: 0.2rem;
    transition: .3s;
}
.profile_btn a::hover {
	text-decoration: underline;
}

.corporate_link {
  position: absolute;
  width: 150px;
  height: 36px;
  top: 15px;
  right: 310px;
}


.inquiry_btn,.works_btn,.form_btn {
    display: block;
    width: 100px;
    height: 100px;
    text-align: center;
    box-sizing: border-box;
    padding-top: 1rem;
    position: absolute;
    top: 0;
	font-size: 1.4rem;
}

.inquiry_btn {
    background: #ffebd6;
    color: #ff6600;
    right: 200px;
}
.inquiry_btn::after{
    background: url(../img/icn_mail.svg) no-repeat;
    content: "";
    display: block;
    width: 42px;
    height: 42px;
    background-size: 100% 100%;
    margin: 1.4rem auto 0;
    transition: .3s;
}

.works_btn {
    background: #ff9933;
    color: #FFFFFF;
    right: 100px;
}
.works_btn::after{
    background: url("../img/icn_search.svg") no-repeat;
    content: "";
    display: block;
    width: 42px;
    height: 42px;
    background-size: 100% 100%;
    margin: 1.4rem auto 0;
    transition: .3s;
}

.form_btn {
    background: #ff6600;
    color: #FFFFFF;
    right: 0;
}
.form_btn::after{
    background: url("../img/icn_calc.svg") no-repeat;
    content: "";
    display: block;
    width: 42px;
    height: 42px;
    background-size: 100% 100%;
    margin: 1.4rem auto 0;
    transition: .3s;
}


.inquiry_btn:hover::after,.works_btn:hover::after,.form_btn:hover::after {
  transform: scale(1.2);
}

@media screen and (max-width: 736px) {
.site_name {
    width: 90%;
    margin: 0 auto 1rem;
    text-align: center;
    height: inherit;
}
.site_name img {
    height: inherit;
    margin-right: 0;
}

.site_name h1 {
    font-size: 1.4rem;
	}
.head_btn  {
    display: none;
}
}

/***************************
 ** #main
 */
main {
  display: block;
  /* for ie10 */
}

/***************************
 ** #fv
 */
.fv {
    background: #f8f8f8;
    /*background: rgb(208,212,227);
    background: linear-gradient(
0deg
, rgba(208,212,227,1) 0%, rgba(255,255,255,1) 40%);*/
    text-align: center;
    margin: 0 auto;
}

@media screen and (max-width: 736px) {

}

/***************************
 ** 事例検索
 */
#sec_search {
    background: #ff9933;
    padding: 3rem 0 1rem;
}

#sec_search h2 {
    color: #fff;
    font-weight: bold;
    font-size: 2.4rem;
    text-align: center;
    letter-spacing: 0.5rem;
    line-height: 1;
}

ul.search li {
    flex-basis: 48%;
    max-width: 48%;
    text-align: center;
}

ul.search li a {
	color: #000;
	    background: #fff;
	    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1;
    padding: 1.4rem;
    border-radius: 3rem;
    border: 2px solid #000;
    box-sizing: border-box;
    margin: 2rem 0;
	display: block;
	width: 100%;
}

ul.search li a:hover {
	transition: 0.3s;
	background:#ffebd6; 
}

ul.search li a::before {
    content: "";
    background: url(../img/icn_search_b.svg) no-repeat;
    width: 3rem;
    height: 3rem;
    display: inline-block;
    background-size: contain;
    vertical-align: middle;
    margin-right: 0.5rem;
}

@media screen and (max-width: 736px) {
#sec_search {
    padding: 3rem 0 2rem;
}

ul.search li {
    flex-basis: 100%;
    max-width: 100%;
}

ul.search li a {
margin: 2rem 0 0;
}
}

/***************************
 ** メリット
 */

#sec_feature {
    background: #ffebd6;
    padding: 3rem 0;
    margin: 0 auto 4rem;
}

.sec_feature > div {
    border: 2px solid #ff9933;
    border-radius: 0.5rem;
    margin: 0 auto;
    padding: 1rem 2rem;
    background: #fff;
}

.sec_feature > div:first-child {
  margin-bottom: 2rem;
}

.sec_feature h2 {
  font-size: 2.4rem;
  text-align: center;
  line-height: 1.5;
  font-weight: bold;
  color: #000;
  margin-bottom: 2rem;
  background: #f93;
  color: #fff;
}

.feature_contents_01 ul {
  flex-basis: 50%;
  margin-right: 4%;
}

.feature_contents_01 p {
  flex-basis: 46%;
}

.feature_contents_02 ul {
  flex-basis: 50%;
  margin-right: 4%;
}

.feature_contents_02 p {
  flex-basis: 46%;
}

ul.feature {
    font-size: 2rem;
    line-height: 1.5;
}
ul.feature li {
    padding: 0.5rem 0 0 4rem;
    text-indent: -4rem;
}

ul.feature li::before {
    content: "";
    display: inline-block;
    width: 3rem;
    height: 3.5rem;
    background: url(../img/listimg_check.svg) no-repeat;
    margin-right: 1.2rem;
    vertical-align: bottom;
    background-position: 0 1rem;
    background-size: 2.8rem auto;
}
ul.feature li mark {
    background: none/*linear-gradient(transparent 66%, #FFF100 0%)*/;
    font-weight: bold;
    color: #f60;
    transition: 0.3s;
}

@media screen and (max-width: 736px) {
#sec_feature {
    padding: 2rem 0;
}

.sec_feature > div {
    width: 94%;
}
  
.feature_contents_01 ul {
  flex-basis: auto;
  margin-right: 0;
  margin-bottom: 2rem;
}

.feature_contents_01 p {
  flex-basis: auto;
}

.feature_contents_02 ul {
  flex-basis: auto;
  margin-right: 0;
  margin-bottom: 2rem;
}

.feature_contents_02 p {
  flex-basis: auto;
}
  
ul.feature li br {
  display: none;
}

}


/***************************
 ** 事例
 */
.works_list {
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}

.works_list li {
    box-sizing: border-box;
    flex-basis: 31%;
    font-size: 1.6rem;
    line-height: 1.7;
    max-width: 31%;
    background: #eeeeee;
    margin-bottom: 4rem;
    display: flex;
    flex-direction: column;
}

.works_list h3 {
  color: #fff;
  padding: 0.5rem 1rem;
  font-size: 1.8rem;
  font-weight: bold;
  background: #7d7877;
}

.works_img {
    overflow: hidden;
}
.works_img img:hover{
  transform:scale(1.1,1.1);
  transition:1s all;
}
.works_txt {
    margin: 1rem 1.6rem;
}

.works_tag {
	margin: 0 1.5rem;
}

.works_tag p {
    font-size: 1.2rem;
    color: #ff6600;
    background: #fff;
    display: inline-block;
    padding: 0 1.2rem;
    margin-right: 0.2rem;
    border-radius: 1.2rem;
    line-height: 2.4rem;
    border: 1px solid #ff6600;
    box-sizing: border-box;
    margin-bottom: 1rem;
}

.worsk_btn_wapper {
    position: relative;
    line-height: 4rem;
    padding: 2rem 0 0;
    margin-top: auto;
}

.worsk_btn_wapper a {
    position: absolute;
    display: inline-block;
    background: linear-gradient(
120deg
, #ff9933 0%, #ff6600 100%);
    background-position: 0% 50%;
    background-size: 300% auto;
    margin: -2rem auto 0;
    width: 60%;
    border-radius: 2rem;
    text-align: center;
    left: 0;
    right: 0;
    color: #fff;
}

.worsk_btn_wapper a:hover{
  background-position: 100% 50%;
}

a.serch_result {
    color: #000;
    background: #fff;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1;
    padding: 1.4rem;
    border-radius: 3rem;
    border: 2px solid #000;
    box-sizing: border-box;
    margin: 2rem auto 6rem;
    display: block;
    width: 46%;
    text-align: center;
}

a.serch_result::before {
    content: "";
    background: url(../img/icn_search_b.svg) no-repeat;
    width: 3rem;
    height: 3rem;
    display: inline-block;
    background-size: contain;
    vertical-align: middle;
    margin-right: 0.5rem;
}

a.serch_result:hover {
	transition: 0.3s;
	background:#ffebd6; 
}

@media screen and (max-width: 736px) {
  .works_list {
    margin: 0 1rem;
  }
  
  .works_list li {
    flex-basis: auto;
  }

  .works_img {
    margin-bottom: 0.8rem;
  }
a.serch_result {
    width: 100%;
    margin: 0 0 4rem;
}
}


@media screen and (max-width: 655px) {
.works_list li {
    box-sizing: border-box;
    flex-basis: 48%;
    font-size: 1.6rem;
    line-height: 1.7;
    max-width: 48%;
    background: #eeeeee;
    margin-bottom: 4rem;
}
}

@media screen and (max-width: 458px) {
.works_list li {
    box-sizing: border-box;
    flex-basis: 100%;
    font-size: 1.6rem;
    line-height: 1.7;
    max-width: 100%;
    background: #eeeeee;
    margin-bottom: 4rem;
    display: block;
}
	
.works_img {
    width: 44%;
    float: left;
    margin: 0rem 0rem 0rem 1rem;
}

.works_list p.works_txt {
    float: right;
    width: 44%;
    text-align: left;
    padding: 0;
    margin: 0 1rem 1rem 0;
}

.works_list p.works_txt::after {
    content: "";
	clear: both;
	display: block;
}
.works_tag {
    margin: 0.5rem 1rem 0;
    clear: both;
    text-align: right;
}
}

/***************************
 ** ヤマコーの特長
 */
.merit {
    background: #efefef;
    background-size: 100% auto;
    padding: 2rem 0;
}

.merit h2 {
    text-align: center;
    font-size: 2.4rem;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 2rem;
}

.merit h2 span {
    color: #f60;
    letter-spacing: 0.2rem;
}

.merit_slider {
  position: relative;
}

ul.merit_slider li {
    width: 232px;
    margin-right: 20px;
    display: inline-block;
    background: #fff;
    padding: 1.6rem;
    box-sizing: border-box;
}

ul.merit_slider li:last-child {
    margin-right: 0;
}

.merit_slider li h3 {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 1rem;
}

.merit_slider li h3 span {
    color:#f60;
}

.merit_slider li img {
    margin: 0 auto 1rem;
}

.merit_slider li p {
    font-size: 1.6rem;
    line-height: 1.5;
}
.slider_prev,.slider_next {
    position: absolute;
    width: 2.4rem;
    height: 2.4rem;
    background: #333;
    z-index: 99;
    bottom: 50%;
    opacity: 0.8;
    padding: 1rem;
}

.slider_prev {
    left: 0;
}

.slider_next {
    right: 0;
}
.slick-track {
  display: flex;
}
.slick-slide {
  min-height: 37rem !important;
}
@media screen and (max-width: 736px) {
	.merit h2 {
    font-size: 2rem;
}

}

/***************************
 ** フロー
 */
#flow {
    padding: 6rem 2rem;
    text-align: center;
}

/***************************
 ** フッター
 */
.foot_info {
    text-align: center;
    padding: 1rem 0 10rem;
    font-size: 1.4rem;
    background: #efefef;
}

.foot_info p:first-child {
  margin-bottom: 1rem;
}

.badge_list {
    max-width: 300px;
    margin: 0 auto;
    margin-bottom: 2rem;
    align-items: center;
}

.badge_list li {
    flex-basis: 20%;
    max-width: 42px;
}

.badge_list li a {
  color: #333;
}

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

#footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    box-sizing: border-box;
    z-index: 2;
    background: #fff;
    display: none;
    height: 80px;
    box-shadow: 0px -0.8rem 0.8rem -0.8rem #ddd;
}

#footer .footer_inner {
    max-width: 1000px;
    padding: 1rem 0;
    margin: 0 auto;
}

.footer_contents {
    width: 100%;
}

.footer_inquiry_btn, .footer_works_btn, .footer_form_btn {
    flex-basis: 31%;
    max-width: 31%;
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    line-height: 6rem;
    border-radius: 0.5rem;
}
.footer_inquiry_btn {
    background: #ffebd6;
}
.footer_inquiry_btn a {
    color:#ff6600;
}
.footer_inquiry_btn a::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: url(../img/icn_mail.svg) no-repeat;
    width: 4rem;
    height: 4rem;
    background-size: contain;
    margin-left: 1rem;
}
.footer_works_btn a::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: url("../img/icn_search.svg") no-repeat;
    width: 4rem;
    height: 4rem;
    background-size: contain;
    margin-left: 1rem;
}
.footer_form_btn a::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: url("../img/icn_calc.svg") no-repeat;
    width: 4rem;
    height: 4rem;
    background-size: contain;
    margin-left: 1rem;
}

.footer_works_btn {
    background: #ff9933;
}
.footer_form_btn {
    background: #ff6600;
}
.footer_works_btn a,.footer_form_btn a {
    color:#fff;
}

.footer_link_list {
  margin-bottom: 2rem;
}

.footer_link_list li {
  display: inline-block;
}

.footer_link_list li:not(:last-child)::after {
  display: inline-block;
  content: "|";
  margin: 0 0.8rem;
}

.footer_link_list li a {
  color: #333;
}

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

.footer_address {
  line-height: 1.6;
  margin-bottom: 2rem;
}

.footer_address {
  color: #333;
}

.footer_address br {
  display: none;
}

@media screen and (max-width: 736px) {
.footer_contents {
    width: 96%;
    margin: 0 auto;
}

.footer_inquiry_btn, .footer_works_btn, .footer_form_btn {
    text-align: center;
    font-size: 2rem;
    font-weight: normal;
    line-height: 2.2rem;
    border-radius: 0.5rem;
    height: 7.8rem;
}

.footer_inquiry_btn a {
    font-size: 1.6rem;
    line-height: 3rem;
}
	
.footer_inquiry_btn a::after,.footer_works_btn a::after,.footer_form_btn a::after {
    display: block;
    vertical-align: middle;
    text-align: center;
    margin: 0 auto;
}
.footer_works_btn a, .footer_form_btn a {
    font-size: 1.6rem;
    line-height: 3rem;
}	
  
.footer_link_list {
  margin-bottom: 1rem;
  line-height: 1.6;
}

.footer_address {
  margin-bottom: 1rem;
}
  
.footer_address br {
  display: inline;
}

}

/***************************
 ** #rev_top
 */
.rev_top {
  position: fixed;
  width: 7%;
  max-width: 46px;
  bottom: 120px;
  right: 20px;
  z-index: 3;
}

@media screen and (max-width: 736px) {
  .rev_top {
    width: 15%;
    bottom: 90px;
  }
}

/***************************
 ** チャットウィンドウを消す
 */
.ul-widget-main-window, .ul-widget-hide {
	display: none!important;
}
