@charset "utf-8";

body {
  font-family:'Noto Sans JP',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, Arial, "MS P Gothic", "MS Pゴシック", sans-serif;
  /* font-family: "Noto Serif JP", serif; */
  font-weight:400;
  letter-spacing:0.1px;
  /* font-size:1.5rem; */
  /* background:var(--color-brown-02); */
  color:#000;
  font-size:1.45rem;
  line-height:1.9;
}

img {
	vertical-align:bottom;
	touch-callout:none;
	user-select:none;
	-webkit-touch-callout:none;
	-webkit-user-select:none;
	-moz-touch-callout:none;
	-moz-user-select:none;
}


:root {
    --color-orange-01:#FE9000;
    --color-orange-02:#f65100;
    --color-gold:#B4A574;
    --color-gray:#F0F0F0;
    --font-ro:"Roboto", sans-serif;
    --font-san:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, Arial, "MS P Gothic", "MS Pゴシック", sans-serif;;
}

.fadein {
  opacity: 0;
  transform: translate(0, 100px);
  transition: all 0.5s;
}

.fadein.active {
  opacity: 1;
  transform: translate(0, 0);
}

/*
リンク色と下線の設定 --------------------------------------------*/

a {

}

a:link {
	color:var(--color-orange-01);
	text-decoration:underline;

	}

a:visited {
  color:var(--color-orange-01);
	text-decoration:underline;
	}

a:hover {
  color:var(--color-orange-01);
	text-decoration:none;
	}

a:active {
  color:var(--color-orange-01);
	text-decoration:underline;
	}

#wrapper {
	position:relative;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  font-style: italic;
  background-repeat: no-repeat;
  background-size: cover;
  shape-margin: 0.75rem;
}


/*
p {
    font-size:1.45rem;
    line-height:1.9;
}
*/

table {
	width: 100%;
}

table th {
	width: 100%;
	padding:5px 0;
	text-align: left;
	border-top:none;
	border-bottom:none;

	display: block;

}

table td {
	width: 100%;
	padding:5px 0;
	border-top:1px solid #ccc;
	border-bottom:none;
	display: block;


	margin-bottom: 10px;
}


table.form_tb th {
	font-weight: bold;
}


table.type_A {
	width: 100%;
}

table.type_A th {
	width: 100%;
	padding:10px 0 10px 0;
	text-align: left;
	border-top:none;
	border-bottom:none;
	font-size:.9375rem;
	display: block;
	color: #000;
	font-weight: bold;
	letter-spacing: 2px;
}

table.type_A td {
	width: 100%;
	padding:10px 0 10px 0;
	border-top:1px solid #eee;
	border-bottom:none;
	display: block;
	font-size:.9375rem;
	line-height:1.75rem;
	margin-bottom: 10px;
}

.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;

/*  overflow: hidden;*/
}

header#g_hd {
	width:100%;
	background:#fff;
	min-height:70px;
	position:fixed;
	padding:2px 3% 5px;
	top:0;
  z-index:20;
  border-top:5px solid var(--color-orange-01);

}

header#g_hd h1 {
	font-size:0.9rem;
	padding-bottom:3px;
	letter-spacing:0;
}

header#g_hd .logo-h1 {
	width:200px;
}

header#g_hd .menu {
  z-index: 10;
  position:absolute;
  right:3%;
  top:8px
}

header#g_hd .menu p {
  width: 50px;
  height: 50px;
  /* display: table; */
  transition: all .5s;
  font-weight: bold;
}


header#g_hd .menu .toggle {
  background: #fff;
  position: relative;
  cursor: pointer;
  border:1px solid #000;
  border-radius:50%;
}

header#g_hd .menu .toggle span {
  display: inline-block;
  transition: all .4s;
  position: absolute;
  /* left: 50%; */
  /* margin-left: -22px; */
  width: 50%;
  height: 2px;
  left:12px;
  background: #000;
  border-radius:15px;
}

header#g_hd .menu .toggle span:nth-of-type(1) {
  top: 30%;
}

header#g_hd .menu .toggle span:nth-of-type(2) {
  top: 50%;
  margin-top: -2px;
}

header#g_hd .menu .toggle span:nth-of-type(3) {
  bottom: 32%;
}

.toggle.active span:nth-of-type(1) {
  transform: translateX(0px) translateY(8px) rotate(45deg);
}

.toggle.active span:nth-of-type(2) {
  opacity: 0;
}

.toggle.active span:nth-of-type(3) {
  transform: translateX(0px) translateY(-9px) rotate(-45deg);
}


body.fixed .gnav_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  z-index: 5;
/*  backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
transition:0.5s;*/
}

.gnav {
  width: 100%;
  max-width: inherit;
  padding:40px 5% 120px;
  background: #fff;
  z-index:30;
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
  position: absolute;
  top:-5px;
  right: 0;
  display: none;
  height: 100vh;
}

.gnav ul li a {
  display: block;
  width: 100%;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2;
  color: #000;
  text-decoration: none;
  /* text-align:center; */
}

.gnav ul li a aside.icon_new {
    position:relative;
    display:inline-block;
    margin-left:10px;
    top:5px;
}

.gnav ul li a aside.icon_new:not(:first-of-type) {
    display:none;
}

.gnav ul  > li {
  /* border-bottom: 1px solid #000; */
  padding: 12px 0 0px 10px;

}

.gnav ul  li > ul {
  padding-top: 5px;
  padding-left: 1.2rem;
}

.gnav ul  li > ul > li {
  padding: 4px 0;
}

.gnav ul  li > ul > li a span {
  font-size: 1.4rem;
}

.btn-gnav {
  width:83%;
  margin:15px auto 0;
}

.btn-gnav a {
  position: relative;
  display: block;
  padding: 11px 0;
  /* background-color: #000;
  border-radius:30px; */
  color: #fff;
  text-decoration: none;
  text-align: center;
  font-weight:600;
  transition:.5s;
  margin:10px auto 0;
  font-size:1.8rem;
  letter-spacing:1px;
}

.btn-arrow-right a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 27px;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  box-sizing: border-box;
}

.line-green {
	background:#05C755;
}

.contact-green {
	background:#0DC756;
}

.tel-orange {
	background:#E09200;
}

.tel-orange a span {
	font-size:1.3rem;
}

.gnav img.bnr-kuchikomi {
	display:block;
	width:83%;
	margin:15px auto 0;
}

.gnav img.gnav-tel {
	width:83%;
	display:block;
	margin:15px auto 16px;
}


.gnav .gnav-bnr-line-sp {
	margin:15px auto 10px;
	display:block;
}

li.area-sub-menu {
  padding: 0px 0 0px 10px !important;
}

li.area-sub-menu a {
    font-size:1.7rem !important;
    font-weight:normal !important;
}

img.img_hd_tel {
	display:none;
}

main {
	margin-top:70px;
}

#fv {
	position:relative;
	margin-bottom:16px;
  background:url(imgs/back_green.jpg) no-repeat -200px 0 / 200%;

}

#fv .top_main_ph {
    width: auto;
    position: relative;
    margin-left: 39%;

}

#fv .catch {
	/* width: 41.15%; */
 
    padding:0 0 0 5%;
    /*position: absolute;
    top: 0;*/

    /* transform: translateY(-53%); */
  position:absolute;
  top:16px;
  width:38%;
}

.fv_lead {
  display:none !important;
}

#fv .catch img.img01 {
	width:90%;
	margin-left:0;
}

#fv .catch img.img02 {
	width:80%;
    transform: translateY(-5px);
}

#fv .catch p {
    font-size:1.25rem;
    line-height:1.9;
}

.img_g_voice_01 {
	display:none;
}

ul.bnr-top-fv {
  margin-top:0px;
  padding:0 4%;
}

ul.bnr-top-fv li:first-child {
  margin-bottom:8px;
}

.hikaku01 {
  margin-top:16px;
  padding:0;
}

.hikaku01 p{
  padding:16px 5% 0;
}



.g_voice_01 {
	display:block;
	padding:10px 10px 15px
}

.inner_fv_top {
  position:relative;
}

.img-top-badge {
  width:24%;
  position:absolute;
  bottom:-2%;
  z-index:2;
  right:2%;
  animation:badge 2.4s infinite;
}

@keyframes badge {
  0% {
    transform:scale(1);
  }
  50%{
    transform:scale(1.07);
  }
  100%{
    transform:scale(1);
  }
}


.hikaku02 {
  padding:0 4%;
  margin:16px auto 0;
  text-align:center;
}

.js_inner {
  width:170%;
}

.inner_fv_bottom {
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
	margin-top:30px auto 50px;
	padding-top:25px;
}

.inner_fv_bottom .ph_01 {
	width:55%;
}

.inner_fv_bottom .ph_02 {
	width:38%;
}

.staffs {
  padding:30px 4% 0;
}

img.img-staff-go-ttl {
  width:75%;
  display:block;
  margin:0 auto 10px;
  animation:staffttl 3s infinite;
}

@keyframes staffttl {
  0% {
    transform:translateY(0);
  }
  50% {
    transform:translateY(8px);
  }
  100% {
    transform:translateY(0);
  }
}

.top-bnr-block {
  background:#000;
  margin:0 0 30px;
}

.top-bnr-block ul {
  padding:35px 5% 25px;
}

.top-bnr-block li {
  margin-bottom:10px;
}



.base_box {
	max-width:90%;
	margin:auto;
}

aside.bnr_line {
	display:block;
	max-width:90%;
	margin:0 auto;
}

.top_works_count {
	max-width:90%;
	margin:20px auto;
}

.top_works_count h2 {
	text-align:center;
	padding:3px;
	position:relative;
	font-size:1.7rem;
	color:#fff;
	font-weight:600;
	background:var(--color-orange-01);
	font-family:var(--font-san);
}

.top_works_count h2:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(180, 165, 116, 0);
    border-top-width:20px;
    border-bottom-width:20px;
    border-left-width:10px;
    border-right-width:10px;
    margin-left: -10px;
    border-top-color:var(--color-orange-01);
    top:80%;
    left:50%;
}

.top_works_count h3 {
	text-align:center;
	font-weight:600;
	font-size:1.5rem;
	font-family:var(--font-san);
}

.top_works_count p.number {
	margin-top:0px;
	text-align:center;
	font-size:1.7rem;
	font-family:var(--font-san);
	font-weight:600;
}

.top_works_count .number span.count-up {
	font-family:var(--font-ro);
	color:var(--color-orange-01);
	font-weight:600;
	font-size:4.8rem;
	display:inline-block;
	padding-right:4px;
	font-style:italic;
}

#top_works {
	max-width:100%;
	margin:0 auto 10px;
}

.base_ttl {
    font-size: 1.4rem;
	font-weight:600;
	text-align:center;
	margin-bottom:20px;
}

.base_ttl:before {
    content: attr(data-en);
    display: block;
	font-size:3rem;
	line-height:1.4;
    letter-spacing: 1px;
    font-weight:700;
    color: #000;
}

.tab-contents-wrap {
	padding:0 5%;
}

.tab{
    max-width:1200px;
  margin: 0 auto;
}

.tab-list {
  display: flex;
}

.tab-list button {
    border:none;
}

.tab-list-item {
  width: 33.3333%;
    padding:10px 0;/* 
    border-bottom:1px solid #ccc;
    border-left:1px solid #ccc; */
    color: #000;
    font-weight:500;
    text-align: center;
    cursor: pointer;
    border-right: 1px solid #fff !important;
    font-size:1.4rem;
    line-height: 1.6;
    background:#eee;
    /* font-family: "Noto Serif JP", serif; */
}

.tab-list-item:last-child {
    border-right:none !important;
}

.tab-list-item h3 {
    font-size:1.3rem;
    line-height: 1.6;
}

.tab-contents {
  background-color: #fff;
  display: none;
  padding:20px 0;
  margin-top:12px;
  transition:.5s;
}

.is-btn-active{
    /* background:var(--color-gold); */
    background:var(--color-orange-01);
  /* font-weight: bold; */
  position:relative;
  color: #fff
}

.tab-list-item.is-btn-active h3 span {
    color: #fff;
    font-weight: 500;
}

.is-btn-active::before {
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
    width: 25px;
    height: 15px;
    /* background:var(--color-gold); */
    background:var(--color-orange-01);
    content: '';
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.is-contents-active{
  display: block;
  transition:.5s;
}

ul.works_list {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}

ul.works_list li {
	position:relative;
}

ul.works_list a {
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:20px;
	text-decoration:none;
	border-bottom:1px solid #cccc;
	padding-bottom:20px;
}

ul.works_list a .p_box {
	width:35%;
}

ul.works_list a .i_txt {
	width:60%;
}

time {
	font-size:1.2rem;
  color:#000;
}

ul.works_list a .i_txt h4 {
	line-height:1.5;
	font-weight:500;
  color:#000;
}


.btn-01 a {
  position: relative;
  display: block;
  width:84%;
  padding: 11px 0;
  background-color: #000;
  border-radius:30px;
  color: #fff;
  text-decoration: none;
  text-align: center;
  font-weight:600;
  transition:.5s;
  margin:10px auto 0;
}

.btn-01 a:hover {
    opacity:0.4;
}

.btn-arrow-right a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 27px;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg);
  box-sizing: border-box;
}

.area_box {
	max-width:90%;
	margin:auto;
	/* display:flex;
	justify-content:space-between;
	align-items:flex-start; */
	border:1px solid #ccc;
	padding:20px;
}

footer#g_ft .area_box {
	max-width:100%;
	background:#fff;
}


.area_box .area_ttl {
	/* width:38%; */
	/* border:1px solid #000; */
	background:#fff;
	line-height:1.3;
	margin-bottom:10px;
	text-align:center;
}

.area_box .area_ttl h3 {
	font-weight:600;
	font-size:1.6rem;
	padding-bottom:3px;
}

.area_box .area_ttl p {
	font-size:1.1rem;
}

.area_box .area_name {
	/* width:58%; */
	font-size:1.3rem;
	line-height:1.6;
}


.cheack-box {
  margin:50px auto;
}

.cheack-inner {
  width:90%;
  margin:auto;
}

.cheack-ttl {
  text-align:center;
  margin-bottom:15px;
}

.cheack-txt {
  margin-bottom:15px;
}



#top_mess {
	margin-top:50px;
	position:relative;
	overflow:hidden;
}

#top_mess:after {
	width:100%;
	display:block;
	content:'';
	position:absolute;
	top:10%;
	height:100%;
	z-index:-1;
	transform:translateY(50px);
	background:#E2EBF4;
}

#top_mess .inner .img01 {
	width:95%;
	margin-bottom:50px;
}

#top_mess .inner .spimg02 {
	display:flex;
	justify-content:space-between;
	padding-left:5%;
}

#top_mess .inner .spimg02 .inner_img01 {
	width:45%;
}

#top_mess .inner .spimg02 .inner_img01 p {
	text-align:right;
	font-size:1.3rem;
	padding:10px 0;
	/* color:var(--color-gold); */
}

#top_mess .inner .spimg02 .inner_img02 {
	width:46%;
	display:flex;
	flex-wrap:wrap;
	align-items:center;

}
#top_mess .inner .spimg02 .inner_img02 h3 {
	font-size:1.8rem;
	line-height:1.9;
	font-weight:500;
}

#top_mess .inner .img02 {
	display:none;
}

.ts_top_mess {
	padding:20px 5%;
}

.houshin {
  display:block;
  padding:0;
  margin-top:10px;
  font-size:1.5rem;
}

ul.houshin {
  margin:0;
  padding:0;
}

ul.houshin li {
  margin-bottom:5px;
  padding-left:1.4rem;
  font-size:1.4rem;
  text-indent:-1.4rem;
}

ul.houshin li:before {
  content:'・';
}

footer#g_ft {
	background:var(--color-gray);
	padding:0 5% 60px;
}

footer#g_ft .inner {
	max-width:1080px;
	margin:auto;
}

footer#g_ft .inner .ft_logo {
	text-align:center;
}

footer#g_ft .inner .ft_logo img {
	width:65%;
	margin-bottom:5px;
}

.copy {
	font-size:1rem;
}

footer#g_ft .inner .nintei {
	margin-bottom:15px;
	text-align:center;
	font-size:1.2rem;
}

footer#g_ft .inner .nintei img {
	width:63%;
}

footer#g_ft .inner .nintei h3 {
	font-size:2.5rem;
	font-weight:700;
	line-height:1.6;
	color:var(--color-gold);
}

aside.sp_ft_btn {
	position:fixed;
	bottom:0;
	z-index:8;
  background:#09981b
	/* background:#B49A4A; */
  /* animation:bgftbtn 7s infinite; */
}


@keyframes bgftbtn {
  0%{
  background:var(--color-orange-02);
  }
  50%{
  background:#ffa632;
  }
  100%{
  background:var(--color-orange-02);
  }
}


aside.sp_ft_btn ul {
	display:flex;
}

aside.sp_ft_btn ul li {
	padding:7px 13px;
	border-right:1px solid #fff;
}

aside.sp_ft_btn ul li:nth-child(2) {
	/* border-left:1px solid #444; */
	border-right:1px solid #fff;
}

aside.sp_ft_btn ul li:last-child {
	/* border-left:1px solid #333; */
	border-right:none;
}


#top_blog {
	max-width:90%;
	margin:auto;
	padding:40px 0;
}

#top_blog .inner_blog_ttle {
	margin-bottom:15px;
}

#top_blog .inner_blog_ttle .blog_lead {
	font-size:1.2rem;
	margin-bottom:20px;
}

#top_blog .inner_blog_ttle .top_blog_btn {
	display:none;
}

ul.blog_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

ul.blog_list li {
	position:relative;
}

ul.blog_list a {
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:20px;
	text-decoration:none;
	border-bottom:1px solid #cccc;
	padding-bottom:20px;
  color:#000;
}

ul.blog_list a .p_box {
	width:35%;
}

ul.blog_list a .i_txt {
	width:60%;
}

time {
	font-size:1.2rem;
}

ul.blog_list a .i_txt h4 {
	line-height:1.5;
	font-weight:500;
}

#page-top {
    width:31px;
    height:31px;
    position: fixed;
    bottom:60px;
    right:10px;
    display: block;
    background: url(imgs/btn-pagetop.svg) no-repeat 0 0 / cover;
    cursor: pointer;
    z-index: 10;
}






/*==================================================
slickスライダーのためのcss
===================================*/
.slider {/*一旦スライドショーの横幅1100pxで設定してます*/
    max-width:100%;
    margin:0 auto;
    width:100%;
}
 
.slider img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}
 
/*slickのJSで書かれるタグ内、スライド左右の余白調整*/
.slider .slick-slide {
    margin:0;
}
 
/*矢印の設定*/
 
/*戻る、次へ矢印の位置*/
.slick-prev, 
.slick-next {
    position: absolute;/*絶対配置にする*/
    top: 45%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #666;/*矢印の色*/
    border-right: 2px solid #666;/*矢印の色*/
    height: 15px;
    width: 15px;
}
 
.slick-prev {/*戻る矢印の位置と形状*/
    left: 1.5%;
    transform: rotate(-135deg);
    z-index: 2;
}
 
.slick-next {/*次へ矢印の位置と形状*/
    right: 1.5%;
    transform: rotate(45deg);
    z-index: 2;
}
 
/*ドットナビゲーションの設定*/
 
.slick-dots {
    text-align:center;
    margin:20px 0 0 0;
}
 
.slick-dots li {
    display:inline-block;
    margin:0 5px;
}
 
.slick-dots button {
    color: transparent;
    outline: none;
    width:8px;/*ドットボタンのサイズ*/
    height:8px;/*ドットボタンのサイズ*/
    display:block;
    border-radius:50%;
    background:#ccc;/*ドットボタンの色*/
}
 
.slick-dots .slick-active button{
    background:#333;/*ドットボタンの現在地表示の色*/
}



/* SP サービス一覧
*************************/
h2.lower_ttl {
	font-size:3.8rem;
	font-weight:700;
	position:relative;
	padding:30px 5%;
	line-height:1.5;
}

h2.lower_ttl span {
	font-size:2rem;
	display:block;
  letter-spacing:1px;
}

h2.lower_ttl:before {
	display:block;
	width:80px;
	height:5px;
	background:var(--color-gold);
    content: '';
}

.area-ogori-city,
.area-chikushino-city,
.area-kiyama-town {
  padding:0 4%;
}

@media all and (min-width : 1025px) {
  .area-ogori-city,
  .area-chikushino-city,
  .area-kiyama-town {
    padding:0;
  max-width:1100px;
  margin:auto;
  }
}


.area-ogori-city > p,
.area-chikushino-city > p,
.area-kiyama-town > p {
  font-size:1.2rem;
  line-height:1.7;
}

.bg_gray {
	position:relative;
	overflow:hidden;
}

.bg_gray:after {
	content:'';
	display:block;
	width:300%;
	position:absolute;
	z-index:-1;
	height:340px;
	top:200px;
	background: rgb(255,255,255);
	background: linear-gradient(4deg, rgba(255,255,255,1) 35%, rgba(240,240,240,1) 100%);
}

#service_conte {

}

#service_conte .ser_single {
	margin-bottom:60px;
}

#service_conte .ser_single .img_ser {
	margin-bottom:20px;
}

#service_conte .ser_single .txt_ser {
	max-width:90%;
	margin:auto;
}

.base_ttl_sub {
    font-size: 1.6rem;
	font-weight:600;
	margin-bottom:10px;
}

.base_ttl_sub:before {
    content: attr(data-en);
    display: block;
	font-size:2.5rem;
	line-height:1.4;
    letter-spacing: 1px;
    font-weight:700;
    color: #000;
}

#service_conte .ser_single .btn-01 {
	margin-top:20px;
}

.content_list {
	 border:1px solid #999;
	background:#fff;
	padding:25px 20px;
	border-radius:8px;
}

.content_list .ttl {
	font-size:1.6rem;
	font-weight:600;
	margin-bottom:8px;
}

.content_list ul {
	display:flex;
	flex-wrap:wrap;
}

.content_list ul li {
	font-size:1.3rem;
	margin-right:1.5rem;
	line-height:1.3;
	padding-left:1.3rem;
	text-indent:-1.3rem;
	margin-bottom:10px;
}

.content_list ul li:before {
	content:'・';
}





/* SP 会社概要
*************************/
#com_conte {

}

#com_conte .com_inner_01 {
	max-width:90%;
	margin:0 auto 35px;
}

#com_conte .com_inner_01 .matsumura_ph {
	margin-bottom:20px;
}

#com_conte .com_inner_01 .matsumura_ph img {
	width:85%;
	display:block;
	margin:auto;
}

#com_conte .com_inner_01 .matsumura_ph p {
	text-align:center;
	font-size:1.8rem;
	padding-top:15px;
	line-height:1.4;
	vertical-align:middle;
}

#com_conte .com_inner_01 .matsumura_ph span.katagaki {
	font-size:1.2rem;
	display:inline-block;
	padding-right:5px;
}

#com_conte .com_inner_01 .matsumura_ph span.en {
	font-size:1.2rem;
	color:var(--color-gold);
}

#com_conte .com_inner_01 .matsumura_txt {
	
}

.lead_txt {
    font-weight: 600;
    font-size:1.7rem;
    line-height: 1.7;
    margin-bottom:5px;

}

.loop-wrap {
    overflow:hidden;
}

.gallery_loop {
    width:548.2666666667vw;
    height: 85.6vw;
    background: url(imgs/bg_gallery.png) 0px 0px / 274.1333333333vw 85.6vw repeat;
    animation: galleryAniSp 50s infinite forwards linear;
    opacity: 1;
    transition: opacity .8s ease;
}

@keyframes galleryAni {
    0% {
        background-position: 0px 0px
    }

    100% {
        background-position: -2100px 0px
    }
}

@keyframes galleryAniSp {
    0% {
        background-position: 0px 0px
    }

    100% {
        background-position: -274.1333333333vw 0px
    }
}

.com_inner_02 {
	max-width:90%;
	margin:40px auto;
}

dl.type_01 {
	margin-top:20px;
}

dl.type_01 dt {
	font-size:1.7rem;
	font-weight:600;
	position:relative;
}

dl.type_01 dt:before {
	width:1.6rem;
	height:1px;
	background:#000;
	position:relative;
	top:-5px;
	content:'';
	display:inline-block;
	margin-right:5px;
}


/* SP 理由
*************************/
#reason_conte {

}

#reason_conte .reson_single {
	position:relative;
}

#reason_conte .reson_single:not(:first-of-type) {
	padding-top:60px;
}

#reason_conte .reson_single:after {
	width:50px;
	height:50px;
	display:block;
	background:#fff;
	content:'';
	position:absolute;
	bottom:-20px;
	z-index:1;
	left:50%;
	transform:translateX(-50%) rotate(45deg);
}

#reason_conte .reson_single:last-child:after {
	display:none;
}



#reason_conte .reson_single:nth-child(even):after {
	background:var(--color-gray);
}

#reason_conte .reson_single:nth-child(even) {
	background:var(--color-gray);

}

#reason_conte .reson_single .inner {
	max-width:90%;
	margin:auto;
	padding-bottom:30px;
	/*position:relative;
	z-index:-2;*/
}


#reason_conte .reson_single .inner .ph_box {
	margin-bottom:10px;
	position:relative;
	z-index:1;
	overflow:hidden;	
}

#reason_conte .reson_single .inner .txt_box {
	position:relative;
	z-index:2;
}

.base_ttl_sub_02 {
	text-align:center;
	font-size:2rem;
	letter-spacing:1px;
	position:relative;
	font-weight:600;
	line-height:1.5;
	margin-bottom:10px;
}

.base_ttl_sub_02:before {
	color:var(--color-gold);
	font-size:1.6rem;
	letter-spacing:1px;
	content:attr(data-en);
	display:block;
}

.nintei {
	padding:20px;
	background:#fff;
	border:1px solid #ccc;
	margin-top:25px;
}

.nintei .txt p {
	font-size:1.2rem;
	line-height:1.65;
	padding-top:10px;
}


/* SP よくある質問
*************************/
#faq_conte {
	padding:0 5% 60px;
}

.qa-list {
  margin-bottom:20px;
}

.qa-list:last-child {
    margin-bottom:0;
}

.question-title {
  cursor: pointer;
  font-size:1.5rem;
  line-height:1.45;
  padding: 15px 8% 10px;
  position: relative;
  font-weight:600;
  border-bottom:1px solid #000;
}

.question-title:before {
  position: absolute;
  display: block;
  content: 'Q';
  top: 10px;
  left: 1.5%;
  color:#000;
  font-size: 2rem;
  font-weight:700;
  color:var(--color-gold);
}

.question-title:after {
  position: absolute;
  display: block;
  content: '';
  top: 30%;
  right: 2%;
  width: 13px;
  height: 13px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(135deg);
  transition: all .3s ease-in-out;
}

.question-title.open:after {
  transform: rotate(-45deg);
  top: 45%;
}

.answer-text {
  display: none;
  padding: 15px 8%;
  position: relative;
}

.answer-text:before {
  position: absolute;
  display: block;
  content: 'A';
  top: 10px;
  left: 1.5%;
  font-size: 2rem;
  font-weight:600;
}

/* SP お問い合わせ
*************************/
#contact_conte {
	max-width:90%;
	margin:auto;
	padding:0 0 40px;
}

ul.form-note {
	margin-bottom:20px;
}

ul.form-note li {
	font-size:1.2rem;
	line-height:1.45;
	margin-bottom:10px;
	padding-left:1.2rem;
	text-indent:-1.2rem;
}

ul.form-note li:before {
	content:'・';
}

ul.form-note li strong.f_red {
	font-size:1.6rem;
}

.kojin-jyohou-box {
  width:100%;
  background:#eee;
  font-size:1.2rem;
  line-height:1.5;
  padding:25px;
  height:200px;
  overflow:scroll;
  margin-bottom:50px;
  border-radius:10px;
  margin:50px auto 30px;
}

.kojin-title {
  text-align:center;
  font-size:1.8rem;
  font-weight:bold;
  margin:30px 0 15px;
}
.kojin-lead {
  font-size:1.3rem;
  line-height:1.4;
  margin-bottom:15px;
}




/* SP 施工事例
*************************/
#work_dete_conte {
	max-width:90%;
	margin:auto;
	padding:0 0 40px;
}

.box-line-01 {
	border:1px solid #000;
	/*  */
	position:relative;
}

.works_padding {
	padding:25px 15px;
}

.icon-page-t {
    width: 110px;
    height: 6px;
    border: 1px solid #000;
    display: block;
    margin: -1px auto 0;
    position: relative;
}

.icon-page-t:before {
    content: '';
    width: 1px;
    height: 10px;
    display: block;
    background: #000;
    margin: auto;
}

.icon-page-b {
    width: 110px;
    height: 6px;
    border: 1px solid #000;
    display: block;
    margin: 0 auto -1px;
    position: relative;
}

.icon-page-b:before {
    content: '';
    width: 1px;
    height: 10px;
    display: block;
    background: #000;
    margin: auto;
    position: relative;
    top: -5px;
}

.works-ttl {
	border-bottom:1px solid #000;
	padding-bottom:10px;
	margin-bottom:15px;
}

.works-ttl h3 {
	font-size:1.5rem;
	font-weight:600;
	line-height:1.5;
}

.works-body img {
	width:100%;
	margin:5px 0;
}

.works-box .works-side-box h3 {
    font-size: 1.5rem;
    text-align: center;
    color: #fff;
    padding: 10px 0;
    margin-bottom: 13px;
    background:#000;
}

.works-box .works-side-box ul li {
	padding:0 10px;
	line-height:1.6;
	font-size:1.35rem;
}

.works-box .works-side-box ul li:not(:last-of-type) {
	margin-bottom:8px;
}

.works-box .works-side-box .side-widget-area {
    margin-bottom: 30px;
}

.works-txt-box {
	margin-bottom:40px;
}

.cate_works {
	padding:0 0 40px;
}

.single-blog-pager-box {
	display:flex;
	justify-content:space-between;
	border-top:1px solid #000;
	padding-top:5px;
}

.single-blog-pager-box a {
	font-size:1rem;
	text-decoration:none;
}

.wp-paginate  {
  text-align: center
}

#breadcrumbs {
	font-size:1rem;
	background:var(--color-gray);
	padding:10px 0;
}

#breadcrumbs .inner {
	max-width:90%;
	margin:0 auto;
	text-align:right;
}

ol.work-ba {
  width:100%;
}

ol.work-ba li.be {
  width:50%;
  position:relative;
  margin-bottom:20px;
}

ol.work-ba li.be:after {
  position:absolute;
  top:5px;
  display:inline-block;
  content:'Before';
  color:#fff;
  background:#818181;
  padding:2px 12px;
}

ol.work-ba li.be img.img-arrow-ore {
  position:absolute;
  bottom:0;
  right:-40%;
  width:30%;
}

ol.work-ba li.af {
  width:100%;
  position:relative;
  margin-bottom:20px;

}

ol.work-ba li.af:before {
  position:absolute;
  top:5px;
  left:0;
  display:inline-block;
  content:'After';
  color:#fff;
  background:var(--color-gold);
  padding:2px 16px;
  font-weight:600;
}



/* SP LINE
*************************/
.ttle_line {
	background:#F1F3F0;
	margin-bottom:20px;
	padding-bottom:30px;
}

.ttle_line a {
	display:block;
	padding:10px 5%;
}

.line_box_01 {
	max-width:90%;
	margin:auto;
}

.line_box_02 {
	background:#035143;
}

.line_box_02 .inner {
	max-width:90%;
	margin:auto;
}

.line-space-bottom {
	padding-bottom:40px;
}


@keyframes shiny {
    0% { left: -20%; }
    10% { left: 120%; }
    100% { left: 120%; }
}

.shiny-btn {
    position: relative;
    display: block;
    width: 100%;
    text-align: center;
    overflow: hidden;
}

.shiny-btn::after {
    content: '';
    position: absolute;
    top: -10%;
    left: -20%;
    width: 40px;
    height: 100%;
    transform: scale(2) rotate(20deg);
    background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);
    animation-name: shiny;
    animation-duration: 3s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}


/* SP contact
*************************/
::placeholder {
  font-size: 1.2rem;
}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  /* -webkit-appearance: button; */
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-appearance: none;
}



input[type=radio] {
  display:inline-block;
}

.wpcf7-list-item {
  width:auto !important;
  padding-bottom:10px !important;
}

.wpcf7-list-item { display: block; float: left; width: 80%; }
input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
  font-size:1.8rem;
  padding: 20px 8px;
  width: 100%;
 background:#eee;
 border:1px solid #fff;
}

input[type="date"] {
  appearance: none; /* ブラウザのデフォルトスタイルを無効化 */
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #eee;
  border:none;
  font-size:1.8rem !important;
  padding: 15px 8px !important;
  margin-bottom:15px !important;
}


input[type="datetime-local"] {
-webkit-appearance: none !important;
width: 50% !important;
height: 3rem !important;
}

input[type="date"]::-webkit-date-and-time-value {
  text-align: left !important;
}

input[type="date"] {

}

input[type="text"].nenrei-txt {
  width:100px;
  margin-right:10px;
}

input[type="text"].tel-numtxt {
  width:100%;
}



input[type="submit"].wpcf7-submit,
.wpcf7-back { 
  background:#4CB114 !important;
  border: none;
  color: #fff;
  cursor: pointer;
  display: block;
  font-size:2rem;
  margin: 30px auto 0;
  padding: 30px 0;
  text-align: center;
  width:100%;
  background:var(--color-green);
  border-radius:4px;
}

button.wpcf7cp-cfm-submit-btn {
  background:#4CB114 !important;
  border: none;
  color: #fff;
  cursor: pointer;
  display: block;
  font-size:2rem;
  font-weight:bold;
  margin: 0 auto 0;
  padding: 30px 0;
  text-align: center;
  width:100%;
  background:var(--color-green);
}


/*
input[type="button"].wpcf7cp-cfm-submit-btn,
input[type="button"].wpcf7-submit {
  background:#555;
  border: none;
  color: #fff;
  cursor: pointer;
  display: block;
  font-size:1.6rem;
  margin: 30px auto 0;
  padding: 20px 0;
  text-align: center;
  width: 70%;
}
*/


button.wpcf7cp-cfm-edit-btn { 
  background:#fff;
  border:1px solid #000;
  color: #000;
  cursor: pointer;
  display: block;
  font-size:1.6rem;
  margin: 0px auto 0;
  padding: 15px 0;
  text-align: center;
  width: 25%;
}


textarea {
  height:200px;
}


select {
  width:80%;
  border-radius: 0px;
  -webkit-appearance: none;
  appearance: none;
position:relative;
    border: 2px solid #bdbdbd;
    position:relative;
    background-image: url(imgs/bg-contact-arrow-bottom.png);
  background-position: right 10px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  font-size:1.6rem;
  padding: 20px 8px;
  }

select.todouhuken {
  width:350px;
}

button.wpcf7cp-cfm-edit-btn {
    margin-right:auto !important;
    margin-bottom: 20px;
}

.wpcf7-not-valid-tip {
    display:block;
    clear:both;
    font-weight:bold;
}

input[type=checkbox],input[type=radio] {
  transform: scale(1.4);
  margin: 0 5px 0 0;
}


.required {
	font-size:1rem;
	color:#e51373;
	display:inline-block;
	padding-left:3px;
}



input[type="button"].wpcf7-confirm,
input[type="button"].wpcf7-submit,
input[type="button"].wpcf7-form-control { 
  background:#555;
  border: none;
  color: #fff;
  cursor: pointer;
  display: block;
  font-size:1.6rem;
  margin: 30px auto 0;
  padding: 15px 0;
  text-align: center;
  width: 80%;
  border-radius:5px;
}


.topVoice {
  background:var(--color-orange-01);
  position:relative;
  width:100%;
  margin-bottom:40px;
}

.topVoice h3 {
  text-align:center;
  color:#fff;
  font-size:2.2rem;
  font-weight:600;
  line-height:1.4;
  margin-bottom:20px;
}

.topVoice h3 span {
  font-size:1.3rem;
  display:block;
  font-weight:400;
}

.topVoice__inner {
  width:90%;
  margin:auto;
  padding:50px 0;
  position:relative;
  z-index:2;
  top:;
}

.topVoice__item {

}

.topVoice__item .topVoice__img {
    border:6px solid #fff;
}

.topVoice__item .topVoice__txt {
  background-color:#fff;
  background-image:url(imgs/bg-hanamaru.png);
  background-position:right top;
  background-size:80px 80px;
  background-repeat:no-repeat;
  padding:20px;
}

.topVoice__item .topVoice__txt h4 {
  font-size:1.8rem;
  font-weight:600;
  margin-bottom:10px;
}

.topVoice__item .topVoice__txt p {
  font-size:1.3rem;
}

p.topVoice__update {
  font-size:1.1rem !important;
  text-align:right;
  margin-top:20px;
}


.topVoice__slider {
    max-width:1100px;
    margin:0 auto;
}
 
.topVoice__slider img {
    width:100%;
    height:auto;
}
 

.topVoice__slider .slick-slide {
    margin:0;
}
 

.topVoice__slider .slick-prev, 
.topVoice__slider .slick-next {
    position: absolute;
    top: 45%;
    cursor: pointer;
    outline: none;
    border-top: none;
    border-right: none;
    height: 30px;
    width: 30px;
}
 
.topVoice__slider .slick-prev {
    left: -1.5%;
    transform: rotate(0deg);
    z-index: 2;
}
 
.topVoice__slider .slick-next {
    right: -1.5%;
    transform: rotate(0deg);
    z-index: 2;
}

 
.topVoice__slider .slick-dots {
    text-align:center;
    margin:20px 0 0 0;
}
 
.topVoice__slider .slick-dots li {
    display:inline-block;
    margin:0 5px;
}
 
.topVoice__slider .slick-dots button {
    color: transparent;
    outline: none;
    width:12px;
    height:12px;
    display:block;
    border-radius:50%;
    background:#fff;
}
 
.topVoice__slider .slick-dots .slick-active button{
    background:#000;
}

#particles-js{ 
  position:absolute;
  top:0;
  z-index:0;/*描画を一番下に*/
  width: 100%;
  height: 100%;
}









































.icon_new {
    width: 29px;
    height: 29px;
    position: absolute;
    z-index:2;
    top:0;
    left: 0;
}

.icon_new span {
  position: absolute;
  top: 4px;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 100%;
  z-index:2;
  font-size:1rem;
  text-align:center;
  color:#fff;
}

.stars {
    background:var(--color-orange-02);
    width: 29px;
    height: 29px;
    position: relative;
    text-align: center;
}

.stars:before, .stars:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 29px;
    height: 29px;
    background:var(--color-orange-02);
}

.stars:before {
    -webkit-transform: rotate(30deg);
       -moz-transform: rotate(30deg);
        -ms-transform: rotate(30deg);
         -o-transform: rotate(30deg);
}

.stars:after {
    -webkit-transform: rotate(60deg);
       -moz-transform: rotate(60deg);
        -ms-transform: rotate(60deg);
         -o-transform: rotate(60deg);
}

.loadd {
    -webkit-animation: spin 3s linear infinite;
    -moz-animation: spin 3s linear infinite;
    -ms-animation: spin 3s linear infinite;
    -o-animation: spin 3s linear infinite;
    animation: spin 3s linear infinite;
}

@-webkit-keyframes spin {
	0% {-webkit-transform: rotate(0deg);}
	100% {-webkit-transform: rotate(360deg);}
}
@-moz-keyframes spin {
	0% {-moz-transform: rotate(0deg);}
	100% {-moz-transform: rotate(360deg);}
}
@-ms-keyframes spin {
	0% {-ms-transform: rotate(0deg);}
	100% {-ms-transform: rotate(360deg);}
}
@-o-keyframes spin {
	0% {-o-transform: rotate(0deg);}
	100% {-o-transform: rotate(360deg);}
}
@keyframes spin {
	0% {transform: rotate(0deg);}
	100% {transform: rotate(360deg);}
}





.topbnrArea {
  margin:25px 0;
}


.marquee-container {
overflow: hidden;
width: 100%;
display: flex;
align-items: center;
box-sizing: border-box;
margin-top:25px;
background:var(--color-orange-01);
padding:23px 0;
position:relative;
}

.marquee {
display: flex;
width: 200%; /* 2倍の幅を確保 */
animation: marquee 12s linear infinite;
}

.marquee ul {
display: flex;
padding: 0;
margin: 0;
list-style: none;
}
.marquee li {
white-space: nowrap;
margin-right:0;
font-size:1.7rem;
line-height:0;
font-weight:600;
color:#fff;
}

@keyframes marquee {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-50%);
}
}






.yarpp-thumbnails-horizontal .yarpp-thumbnail {
    border:none !important;
}





.yarpp-thumbnails-horizontal .yarpp-thumbnail {
    width: 140px !important;
}

.yarpp-related .yarpp-thumbnail-title {
    font-size: 1.1rem !important;
    font-weight:400 !important;
}


.grecaptcha-badge { visibility: hidden; }



.topvoice__list {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-bottom:40px;
}

.topvoice__list li {
  position:relative;
}

.topvoice__list a {
  color:#000;
  text-decoration:none;
}

.topvoice__listTitleblock {
  padding:15px;
  background:#fff url(/wp-content/themes/orange-theme02/imgs/bg-voice-thum-border.jpg) no-repeat;
}

.topvoice__listTitleblock time {
  font-size:1.1rem;
}

.topvoice__listTitleblock h4 {
  line-height:1.4;
  font-weight:bold;
  color:var(--color-orange-02)
}



.voice-body img {
  width:100%;
  margin-bottom:15px;
  padding:7px;
  border:1px solid #bbb;
  background:#fff !important;
}


.fv_message {
  width:92%;
  padding:40px 0 0;
  margin:auto;
}

.fv_message h3 {
  font-size:1.5rem;
  text-align:center;
  background:#000;
  color:#fff;
  letter-spacing:0;
  font-weight:600;
  margin-bottom:10px;
  padding:4px 0 2px;
  border-radius:3px;
}

.fv_message ul {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}

.fv_message ul li {
  width:47%;
  font-size:1.5rem;
  line-height:1.4;
  margin-bottom:6px;
  padding-left:1em;
  text-indent:-1em;
  font-weight:600;
}

.fv_message ul li:before {
  content:'●';
  color:var(--color-orange-01);
  font-weight:400;
}


.top-catch-yuuryou {
  padding:0 4% 0;
  margin:auto;
}


.circle-gr {
  margin:40px auto;
  max-width:700px;
  padding:0 5%;
}

.circle-gr dl {
  margin-top:24px;
}

.circle-gr dt  {
  font-size:1.8rem;
  font-weight:600;
  letter-spacing:2px;
  color:var(--color-orange-01);
  width:100%;
  display:block;
  text-align:center;
}



.zairyou__list {
  max-width:100%;
  margin:auto;
  display:flex;
  flex-direction:column;
  gap:32px;
  padding:0 5%;
}

.zairyou__list h3 {
  font-size:1.8rem;
  font-weight:600;
  letter-spacing:1px;
  color:var(--color-orange-01);
  margin:8px 0 2px;
}

.zairyou__list li {
  width:100%;
}






/* txt parts
*************************/
.txt_c {
	text-align:center;
}

.line_y {
	background:linear-gradient(transparent 50%, #ff6 50%);
}

.f_red {
	color:#ca0d0d;
}


.fv-sp-message {
  padding:0 4%;
  text-align:center;
  line-height:1.6;
  font-weight:600;
  font-size:1.7rem;
}

.top-mess-midashi {
  font-size:1.6rem;
  font-weight:600;
  margin-bottom:8px;
}


/* SP margin parts
*************************/
.mb25 {margin-bottom:25px !important}
.m0 {margin:0 !important}
.mt16 {
  margin-top:16px;
}

/* SP padding parts
*************************/
.p0 {padding:0 !important}



/*
SP block --------------------------------------------*/
.i_p_b {display: none !important;}
.i_t_b {display: none !important;}
.i_s_b {display: block !important;}
.i_pt_b {display: none !important;}
.i_ts_b {display: block !important;}