@charset "utf-8";
@import url(https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css);

/* CSS Document */



* {
	margin:0;
	padding:0;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	
	font-size: 100%;
	vertical-align: baseline;
}

.clear {
	clear:both;
}


.br_sp {
	display:none;
}

.c-marker {
    background: -webkit-linear-gradient(left, rgb(255,250,153) 50%, transparent 50%);
    background: -moz-linear-gradient(left, rgb(255,250,153) 50%, transparent 50%);
    background: linear-gradient(left, rgb(255,250,153) 50%, transparent 50%);
  background-repeat: no-repeat;
  background-size: 200% .8em; 
    background-position: 100% .5em;
    transition: 2s;
}
.c-marker.is-active{
    background-position: 0% .5em;
}

.bx-wrapper {
    -moz-box-shadow: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    border: none !important;
    background: none !important;
    margin-bottom: 0!important;
}

#zip_footer {
    display: none;
}
.wpcf7 .ajax-loader {
    display: none !important;
}
/* ローディング用CSS */

#loader {
    opacity: 1;
    position: fixed;
    z-index: 100000;
    width: 100%;
    height: 100%;
    background: #fff;
    top: 0;
    left: 0;
}

.spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: auto;
    width: 50px;
    height: 40px;
    text-align: center;
    font-size: 10px
}

.spinner>div {
    background-color: #808080;
    height: 100%;
    width: 6px;
    display: inline-block;
    -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
    animation: sk-stretchdelay 1.2s infinite ease-in-out
}

.spinner .rect2 {
    -webkit-animation-delay: -1.1s;
    animation-delay: -1.1s
}

.spinner .rect3 {
    -webkit-animation-delay: -1s;
    animation-delay: -1s
}

.spinner .rect4 {
    -webkit-animation-delay: -.9s;
    animation-delay: -.9s
}

.spinner .rect5 {
    -webkit-animation-delay: -.8s;
    animation-delay: -.8s
}

@-webkit-keyframes sk-stretchdelay {
    0%, 40%, 100% {
        -webkit-transform: scaleY(0.4)
    }
    20% {
        -webkit-transform: scaleY(1.0)
    }
}

@keyframes sk-stretchdelay {
    0%, 40%, 100% {
        transform: scaleY(0.4);
        -webkit-transform: scaleY(0.4);
    }
    20% {
        transform: scaleY(1.0);
        -webkit-transform: scaleY(1.0);
    }
}

/* ローディング用CSS　ここまで */

.clearfix {zoom:1;}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

.fixhead {
	width:100%;
	height:140px;
	max-width: 1280px;
    margin: 0 auto;
	overflow: hidden;
}

.fixhead h1 {
    font-size: 12px;
    color: #3e3e3e;
    font-weight: normal;
    padding: 0 20px;
}


header nav {
	width: 100%;
	background: #49dc75;
	height: 50px;
}
header nav ul{
	display: flex;
	align-items: center;
	list-style:none;
	max-width: 1280px;
	margin: 0 auto;
}

header nav ul li {
	font-weight:normal;
	line-height:50px;
	font-family: 'Open Sans', sans-serif;
	font-size: 14px;
	width: 14.2%;
	text-align: center;
	border-right: 1px solid #098B30;
	border-left: 1px solid #61FB8F;
}
header nav ul li:first-child {
	border-left:none; 
}
header nav ul li:last-child {
	border-right:none; 
}

header nav ul li a{
	color: #3e3e3e;
	text-decoration: none;
	display: block;
}

header nav ul li a:link {
	color: #3e3e3e;
	text-decoration: none;
}

header nav ul li a:visited {
	color: #3e3e3e;
	text-decoration: none;
}

header nav ul li a:hover {
	background: #39b54a;
}


div#towa_head_txt {
    float: left;
    height: 100px;
}

div#towa_head_txt h2 {
    font-size: 12px;
    font-weight: normal;
    padding: 30px;
}

div#head_tel_area {
    float: right;
    padding: 20px;
}

div#head_tel_txt {
    background: #61fb8f;
    font-size: 14px;
    padding: 5px;
    text-align: center;
    line-height: 14px;
}

span.ft_24 {
    font-size: 24px;
    font-weight: bold;
}

div#head_time {
    font-size: 12px;
}


#nav_toggle{
	display: none;
}

nav.reserve {
    float: right;
    background: #ddd;
	padding: 0 40px;
	position: absolute;
	right: 0;
	height: 90px;
}

nav.reserve ul li a{
	color: #000;
}
 
div#logo_area {
    width: 100px;
    padding:10px 20px;
    float: left;
}
 
header img {
	 width:100%;
 }


  
header .g-navi {
    float: right;
    padding: 20px;
	font-size:14px;
}
  
header .g-navi ul li {
	  list-style-type:none;
	  float:left;
	  margin-right:20px;
	  font-weight:normal;
	 font-family: YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3",sans-serif;
  }
  
  
header nav {
	color:#fff;
}

div#eyecatch_top {
    clear: both;
    overflow: hidden;
    line-height: 0;
}

div#eyecatch_top img {
    width: 100%;
}

#eyecatch_top_sp {
		display: none;
	}


#contents {
	width:100%;
	font-family: YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3",sans-serif;
	font-weight:normal;
}


#contents #contents_inner {
	margin: 40px auto 0;
	overflow: hidden;
}

#contents #contents_inner h2 {
	font-size: 32px;
	text-align: center;
	padding:40px 0;	
	position: relative;
}

#contents #contents_inner h2:before {
  content: '';
  position: absolute;
  bottom: 0;
  display: inline-block;
  width: 100px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
}




#contents #contents_inner p {
	font-size: 18px;
	line-height: 2.5em;
	margin: 30px auto 0;
	max-width: 1000px;
	overflow: hidden;
}

#sec_01 {
	margin:0 auto 40px auto;
}

#sec_01 p {
    padding: 0 20px;
}

#sec_02 {
	width: 100%;
	height: auto;
	overflow: hidden;
	padding: 40px 0;
	background: #f1ffed;
}

.sec_02_inner {
    display: flex;
    flex-wrap: wrap;
	max-width: 1000px;
	margin: 0 auto;
}

.service_box {
    width: 30%;
    border: 1px solid #ccc;
    border-radius: 10px;
    margin: 40px auto;
	position: relative;
	padding: 20px 0 40px;
	background: #fff;
}


.service_box h3 {
	font-size: 18px;
	text-align: center;
	padding: 10px 0;
}

.service_box img {
	margin: 10px auto;
	width: 100px;
	display: block;
}

.service_box p {
	font-size: 12px;
	line-height: 1.5em!important;
	padding:10px 20px;
}

.service_box .more_txt {
	font-size: 12px;
	text-align: right;
	position: absolute;
	bottom: 10px;
	right: 10px;
}


.sec_03_inner {
    display: flex;
    flex-wrap: wrap;
	max-width: 1000px;
	margin: 0 auto;
}


#sec_04 {
    padding: 40px 0;
    background: #f1ffed;
}

.new_txt {
    max-width: 1000px;
    margin: 40px auto;
    padding: 20px;
    border: 1px solid #ccc;
    border-radius: 10px;
    background: #fff;
}


.new_txt ul li {
    list-style-type: none;
    line-height: 2.5em;
    border-bottom: 1px solid #ccc;
}

.new_txt ul li:last-child {
	border-bottom:none;
}

.day {
    margin-right: 30px;
}

.new_txt ul li a:link {
	color:#545454;
}

.new_txt ul li a:visited {
	color:#545454;
}

.bef_aft {
    width: 100%;
    max-width: 1280px;
    margin: 40px auto;
    overflow: hidden;
    display: flex;
}
	
.twentytwenty-wrapper.twentytwenty-horizontal {
    max-width: 1280px;
    width: 50%;
}
	
	.bef_aft_txt {
    padding: 40px 0;
    background: #3a90c4;
    color: #fff;
	width:50%;
}
	
	.bef_aft_txt h3 {
    font-size: 24px;
	padding:0 40px;
}

	.bef_aft_txt p {
	padding:0 40px;
}

.andmore {
    text-align: right;
}

.andmore a:link {
    color:#FFF;
}
	
.andmore a:visited {
    color:#FFF;
}

.com_btn {
    width: 200px;
    margin: 0 auto 60px auto;
    background: #000;
    color: #fff;
    text-align: center;
	border:1px solid #000;
    overflow: hidden;
	border-radius:8px;
}

.com_btn a {
	display:block;
	color:#fff;
	padding: 20px 10px;
}

.com_btn a:link,visited {
	color:#fff;
	text-decoration:none;
}

.com_btn a:hover {
	color:#000;
	background:#fff;
	
}



#sec_06 {
    background: #f1ffed;
	padding-bottom: 60px;
}

.sec_06_inner {
	max-width: 1000px;
	padding: 0 20px;
	margin: 0 auto;
}

#sec_06 h3 {
    font-size: 21px;
    padding: 40px 0 20px 0;
    margin: 0 auto;
}

#sec_07 {
	padding-bottom: 60px;
}

.sec_07_inner {
	max-width: 1000px;
	padding: 0 20px;
	margin: 0 auto;
}

#sec_07 h3 {
    font-size: 21px;
    padding: 40px 0 20px 0;
    margin: 0 auto;
}


/* footer */

.ft_tel_bnr {
    max-width: 1040px;
    margin: 40px auto;
    padding: 0 20px;
}


.ft_tel_bnr img {
    width: 100%;
}


#footer {
	width:100%;
	background:#262626;
	height:auto;
	overflow:hidden;
	font-family: YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3",sans-serif;
}

#footer .footer_inner {
	max-width:1280px;
	margin:0 auto;
	overflow: hidden;
	padding: 40px 0;
}


#footer .footer_inner .ft_logo {
    width: 100px;
    margin:0 0 40px 0;
    float: left;
}


#footer .footer_inner .ft_logo img {
    width: 100px;
}

#footer a:link {
	text-decoration:none;
	color: #fff;
}


#footer a:visited {
	text-decoration:none;
	color: #fff;
}

.footer_list {
    float: left;
    height: 100px;
    overflow: hidden;
    margin:0 40px;
    max-width: 1000px;
    width: 100%;
}


.footer_list ul {
	box-sizing: border-box;
	width: 100%;
	padding: 4px;
	list-style: none;
	text-align: center;
}

.footer_list ul li {
   list-style-type: none;
float: left;
color: #fff;
width: 11%;
text-align: center;
line-height: 90px;
font-size: 14px;
}

.footer_list ul li a {
    color: #fff;
    text-decoration: none;
	display: block;
	position: relative;
	padding-bottom:15px;
}

.footer_list ul li a:link {
	color:#fff;
}

.footer_list ul li a:visited {
	color:#fff;
}

.footer_inner a:hover img {
	opacity:0.7;
}


div#address {
    clear: both;
    padding: 20px;
    font-size: 14px;
    color: #FFF;
	float: left;
	line-height: 2.0em;
}

.copy {
    clear: both;
    text-align: center;
    padding: 30px 0;
    color: #000;
    font-size: 12px;
    background: #49dc75;
}

/* footer end */





/*singlepage common start*/


/* 固定ページ用  */

.bold {
    font-weight: bold;
}

.eyecatch_common {
    width: 100%;
    height: 400px;
    text-align: center;
    background-size: cover;
    overflow: hidden;
    background-position: center;
	position: relative;
}


.eyecatch_common h1 {
    font-size:60px;
	color:#FFF;
	text-shadow: 1px 3px 1px rgba(0,0,0,0.5);
	text-align:center;
	font-family: 'Cormorant', serif;
	font-weight:normal;
    z-index: 2;
    position: absolute;
    text-transform: uppercase;
    top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	letter-spacing: 0.1em;
}

.eyecatch_common h2 {
    font-size: 20px;
    color:#FFF;
	text-shadow: 1px 3px 1px rgba(0,0,0,0.5);
    text-align: center;
    font-family: 'Cormorant', serif;
    font-weight: normal;
    z-index: 2;
    position: absolute;
    text-transform: uppercase;
    top: 65%;
    left: 50%;
    transform: translate(-50%, -61%);
	letter-spacing: 0.1em;
}


.spblock {
	display: none!important;
}


.ft_12 {
    font-size: 12px;
}




.breadcrumbs {
    font-size: 12px;
    max-width: 1000px;
    margin: 10px auto;
	padding: 0 20px;
}


#single_page {
	width:100%;
	margin: 40px auto;
}

#single_page .single_page_inner {
	max-width:1080px;
	margin:0 auto;
	overflow:hidden;
	padding:0 20px;
}

.single_page_inner h2 {
	font-size: 32px;
	text-align: center;
	padding:40px 0;	
	position: relative;
}

.single_page_inner h2:before {
  content: '';
  position: absolute;
  bottom: 0;
  display: inline-block;
  width: 100px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
}

#single_page .single_page_inner h3 {
	font-size:18px;
	margin: 40px auto;
	
}

#single_page p {
    font-size: 18px;
    line-height: 2em;
}

/* wp-page start*/

.wp_single h2 {
	font-size: 32px;
	text-align: center;
	padding:40px 0;	
	position: relative;
	margin-bottom: 40px;
}

.wp_single h2:before {
  content: '';
  position: absolute;
  bottom: 0;
  display: inline-block;
  width: 100px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
}

#wp_sec_01 {
    margin: 40px auto;
    overflow: hidden;
}

#wp_sec_02 {
    margin: 40px auto;
    overflow: hidden;
}

#wp_sec_03 {
    margin: 40px auto;
    overflow: hidden;
}


#wp_sec_02 .wp-name {
    text-align: center;
    vertical-align: middle;
  }

#wp_sec_02 table {
  border-collapse: collapse;
  width: 100%;
}
#wp_sec_02 th,
td {
  padding: 1rem 2rem;
  text-align: left;
  border-bottom: 1px solid #ddd;
	vertical-align: top;
	min-width:80px;
}
#wp_sec_02 th {
  font-weight: normal;
  font-size: .875rem;
  color: #666;
  background: #eee;
  position: sticky;
  top: 0;
}
#wp_sec_02 img {
  width: 80px;
  display: block;
  margin: 0 auto;
  margin-bottom: .5rem;
}

.wp_timing_box {
    border-bottom: 1px solid #ccc;
    padding-bottom: 40px;
}

.far.fa-check-circle {
    font-size: 30px;
    color: #49dc75;
    margin-right: 20px;
    vertical-align: middle;
}


/* outerwall start */

.wp_timing_box img {
    width: 100%;
    max-width: 600px;
	margin-bottom: 20px;
}


/* company page start  */

.company_box h2 {
	font-size:28px!important;
}

.company_box h3 {
	text-align:center;
	font-weight:normal;
}


.company_list {
    margin-bottom: 30px;
	max-width: 800px;
    overflow: hidden;
    margin: 40px auto;
}

.company_list-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
	max-width:800px;
}

.company_list-heading {
    font-size: 14px;
    line-height: 1.8;
    -ms-flex-preferred-size: 200px;
    flex-basis: 200px;
    max-width: 200px;
    padding-right: 40px;
    letter-spacing: 0.05em;
    color: #545454;
	display: grid;
}

.company_list-detection {
    font-size: 14px;
    line-height: 1.8;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    letter-spacing: 0.05em;
}

.company_list-border {
    padding: 15px 0;
    border-top: 1px solid #d5d5d5;
}

.is-last {
    border-bottom: 1px solid #d5d5d5;
}

/* company page end  */


/* work page start */

.archive_works_inner {
    overflow: hidden;
    margin: 30px 0;
}

.archive_works_box {
    border-bottom: 1px solid #ccc;
    display: flex;
    align-items: center;
    padding-bottom: 30px;
}

.archive_img_area {
    width: 30%;
}

.archive_img_area img {
    width: 80%;
}

.archive_txt_area {
    width: 70%;
}




.works_single_day {
    font-size: 18px;
}

#single_page .single_page_inner h3 {
    font-size: 18px;
    margin: 40px auto;
}

.works_title_area h3 {
	font-size:24px!important;
	font-family: 'Cormorant', serif;
	font-weight:normal;
}

.works_title_area h3 a:link {
	color:#000;
}

.works_title_area h3 a:visited {
	color:#000;
}

.works_txt {
    margin: 40px auto;
    overflow: hidden;
}

.works_content p {
    padding: 40px 20px;
    line-height: 2.0em;
}

.works_content img {
    width: 100%;
}

.bf_txt ul {
	padding:0 20px;
}

.bf_txt ul li {
    list-style: none;
    margin: 10px 0;
}

.btitle {
    font-weight: bold;
    font-size: 16px;
}

.works_title h1 {
    font-size: 24px;
    font-weight: normal;
    margin: 20px auto;
}

.works_content h3 {
    font-size: 24px !important;
    border-left: 5px solid #49dc75;
    padding: 10px 20px;
	font-weight:normal;
    background: #f2f2f2;
}


.pagenation {
    text-align: center;
    margin: 40px auto;
    color: #3d3d3d;
}

.page-numbers.current {
    background: #262626;
    color: #fff;
}

.page-numbers {
    background: #fff;
    border: solid 1px #ccc;
    padding: 5px 8px;
    margin: 0 2px;
    text-decoration: none;
}

.pagenation a:link {
	color:#000;
}

.pagenation a:visited {
	color:#000;
}

/* privacy */

#privacy_inner {
    max-width: 1000px;
    overflow: hidden;
    margin: 0 auto;
	padding: 0 20px;
}

#privacy_inner p {
    text-align: left !important;
    line-height: 2.0em !important;
	padding:0!important;
	margin-top:20px!important;
}

.privacy_box_inner {
    margin: 40px auto;
    overflow: hidden;
}

.privacy_box_inner ol {
	margin-top:20px;
}

.privacy_box_inner ol li {
	list-style-type:decimal-leading-zero;
	margin-left:2.2em;
	font-size:18px;
}

.privacy_box_inner ol li > ul li {
	list-style-type: decimal;
}

.privacy_box_inner ol li > ul li > ul li {
	list-style-type: disc;
}

#privacy_inner h3 {
    font-size: 18px;
    font-weight: bold;
}

.privacy_box_inner ul {
    margin: 20px auto;
}

.privacy_box_inner ul li {
    font-size: 18px;
}

/* privacy end */

/* news single start */

.blog_inner {
    max-width: 1080px;
    margin: 40px auto;
}

.single_head {
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    margin-top: 20px;
    clear: both;
}

.blog_inner .day p {
    font-size: 16px;
    line-height: inherit;
    margin-top: 0;
}

.blog_cat {
    min-width: 8rem;
    max-width: 8rem;
    border: 1px solid #000;
    font-size: 14px;
    text-align: center;
    white-space: nowrap;
    margin-left: 2rem;
    border-radius: 3px;
    padding: 0 5px;
}

.blog_cat p {
    line-height: inherit!important;
    margin-top: 0!important;
    font-size: 13px!important;
}

.blog_title_h {
    padding: 20px 0 40px 0;
    border-bottom: 1px solid #d5d5d5;
}

.blog_title_h h1 {
    font-size: 24px;
    font-family: 'Cormorant', serif;
}

.blog_eye {
    margin: 40px 0;
}

.blog_eye img {
    max-width: 1000px;
    width: 100%;
}

.blog_inner p {
    line-height: 2.0em;
    margin-top: 30px;
    padding: 0;
    font-size: 18px;
}

.btm_line {
    max-width: 1080px;
    border-bottom: 1px solid #d5d5d5;
    padding: 40px 0;
}

/* 404 */
	.not404 {
    margin: 0 auto 100px;
    max-width: 1000px;
    overflow: hidden;
    padding: 0 20px;
}
	
	.not404 h1 {
    font-size: 50px;
    text-align: center;
    margin: 80px auto;
}
	
	.not404 h2 {
    font-size: 24px;
    font-weight: normal;
    margin: 10px auto;
}
	

/*メニュー部分*/
@media screen and (max-width:960px){
	
.br_sp {
	display:block;
}
	
div#logo_area {
    width: 50px;
    height: 50px;
    padding: 10px 20px;
}
header h1 img {
    width: 50px;
}
	
	.reserve {
		display: none!important;
	}
	nav{
		display: none;
		position: absolute;
		top:0;
		width: 100%;
		background: rgba(0,0,0,0.6)!important;
		left: 0;
		z-index:100;
	}
	header nav {
		padding:10px 0;
		height: auto;
	}
	header nav ul{
		display: block;
		margin: 0 auto;
		width: 90%;
	}
	header nav ul li{
		margin: 0 auto;
		text-align: center;
		border-bottom: 1px solid #fff;
		line-height:30px;
		border-left:none;
		width: 100%;
		border-right: none;
	}
	header nav ul li:last-child{
		border: none;
	}
	header nav ul li a{
		display: block; 
		color:#fff!important;
		padding:10px;
	}
	/*開閉ボタン*/
	#nav_toggle{
		display: block;
		width: 30px;
		height: 30px;
		position: relative;
		top:0;
		z-index: 100;
	}
	#nav_toggle div {
		position: relative;
	}
	#nav_toggle span{
		display: block;
		height: 3px;
		background: #000;
		position:absolute;
		width: 100%;
		left: 0;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;	
	}
	#nav_toggle span:nth-child(1){
		top:0px;
	}
	#nav_toggle span:nth-child(2){
		top:12px;
		width: 80%;
	}
	#nav_toggle span:nth-child(3){
		top:24px;
		width: 60%;
	}
	
	/*開閉ボタンopen時*/
	.open #nav_toggle span:nth-child(1) {
			top: 12px;
		   -webkit-transform: rotate(135deg);
			-moz-transform: rotate(135deg);
			transform: rotate(135deg);
		}
		.open #nav_toggle span:nth-child(2) {
			width: 0;
			left: 50%;
		}
		.open #nav_toggle span:nth-child(3) {
			top: 12px;
			-webkit-transform: rotate(-135deg);
			-moz-transform: rotate(-135deg);
			transform: rotate(-135deg);
			width: 100%;
		}



header nav.nav_fix {
    position: fixed;
    top: 70px;
    bottom: 0;
    overflow-y: scroll;
}

/* nav end*/


	
	
/* sp start */

	
/*sp common */
div#contents p {
    font-size: 14px;
    margin-top: 40px;
}
	
.eyecatch_common h1 {
		font-size: 24px;
	min-width: 300px;
	}

	
.single_page_inner h2 {
	font-size: 20px;
}


/*sp top*/
	
	
.fixhead {
	height:70px;
}

.fixhead.fixed {
  height: 70px;
}
	
	
	.fixhead {
		position:fixed;
		background:#fff;
		z-index:3;
		top:0;
		bottom:0;
	}
	
	.fixhead h1 {
		display: none;
	}
	
	div#towa_head_txt {
		display: none;
	}
	
	div#head_tel_area {
		display:none;
	}
	
	#eyecatch_top {
		display: none;
	}	
	#eyecatch_top_sp {
		display: block;
		margin-top:70px;
	}
	#eyecatch_top_sp img {
		width: 100%;
	}
	
	#contents #contents_inner h2 {
		font-size: 20px;
	}
	
	#contents #contents_inner p {
		font-size: 12px;
		line-height: 2.0em;
	}
	
	.service_box {
		width: 90%;
		margin: 20px auto;
	}
	
	#sec_04 {
		padding: 40px 5%;
		font-size: 12px;
	}
	
	
	#sec_05 {
		padding: 40px 5%;
	}
	
	.twentytwenty-wrapper.twentytwenty-horizontal {
    width: 100%;
}
	.bef_aft {
    flex-direction: column;
  }
  .bef_aft:nth-child(odd) {
    flex-direction: column-reverse;
  }
	.bef_aft h3 {
		font-size: 18px;
	}

	.bef_aft_txt {
    padding: 20px 0;
    background: #3a90c4;
    color: #fff;
	width:100%;
}

		.bef_aft_txt h3 {
	padding:0 20px;
}

	.bef_aft_txt p {
	padding:0 20px;
}
	
	#sec_06 h3 {
    font-size: 18px;
}
	
	
	#footer .footer_inner .ft_logo {
    width: 100px;
    margin: 0 auto 20px;
	float: none;
}
	
	.footer_list {
		margin: 0;
		float:none;
		height:inherit;
	}
	
.footer_list ul li {
    width: 25%;
    text-align: center;
    font-size: 12px;
	line-height: inherit;
}


div#address {
    clear: both;
    padding: 20px;
    font-size: 12px;
    color: #FFF;
	float:none;
}

	
/* wp-page sp start */
	.wp_single h2 {
		font-size:20px;
	}
	
#wp_sec_02 .heading {
    display: none;
  }
  #wp_sec_02 td {
    display: block;
	  font-size:14px;
  }
  #wp_sec_02 td::before {
    content: attr(data-label);
    font-size: .875rem;
    color: #666;
    display: block;
    margin-bottom: 0.25rem;
  }
  #wp_sec_02 .wp-name {
	  background:#eee;
  }
	
/* company sp start */

.company_box {
    padding: 0 20px;
}
	
.company_box h2 {
    font-size: 21px !important;
}
	
.company_list {
    margin-bottom: 20px;
    border-top: 1px solid #d5d5d5;
}


.company_list-item {
    display: block;
    padding: 20px 0;
    border-bottom: 1px solid #d5d5d5;
}

.company_list-heading {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    margin-bottom: 10px;
    padding-right: 0;
}

.company_list-border {
    padding: 0;
    border: none;
}

.company_list-border {
    padding: 0;
    border: none;
}

.u-sp-inline {
    display: inline!important;
}

.is-last {
    border: none;
}
/* company sp end */

	
/* works sp start */
	
	.works_content p {
		padding:0;
	}
	
.bf_txt ul {
    padding: 0;
    font-size: 14px;
}
	
.archive_works_box {
    display: inherit;
    padding-bottom: 0;
}
	
.archive_img_area {
    width: 100%;
}
	
.archive_img_area img {
    width: 100%;
}
	
.archive_txt_area {
    width: 100%;
}
	
.works_title_area h3 {
	margin:15px auto 30px auto!important;
}

.works_title h1 {
    font-size: 21px;
}

	.works_content h3 {
		font-size:21px!important;
	}
	
/* privacy sp start */
	.privacy_box_inner ol li {
		font-size:14px;
	}
	
/* 404sp */

	.not404 h1 {
    font-size: 24px;
    margin: 80px auto;
}
	
	.not404 h2 {
    font-size: 18px;
    font-weight: normal;
    margin: 10px auto;
}
	

	
	.not404 .breadcrumbs {
		margin:30px auto;
	}
}
/************** new *********************/





/* contact form 7 start */
div#contactform_inner {
    max-width: 800px;
    margin: 40px auto;
    padding: 0 20px;
}

div#contactform_inner h2 {
	font-size:28px!important;
}



/*contact page*/
#contactpage {
    max-width: 1200px;
    overflow: hidden;
    position: relative;
    height: 200px;
    margin: 200px auto 0;
}

#contactpage h1 {
    font-size: 32px;
    text-align: center;
    font-family: 'Cormorant', serif;
}

#contactpage h1::before {
    content: '';
    position: absolute;
    display: inline-block;
    width: 100px;
    height: 1px;
    left: 50%;
    transform: translateX(-50%);
    background-color: black;
    bottom: 0px;
}

#contactpage h2 {
    text-align: center;
    font-family: 'Cormorant', serif;
    font-weight: normal;
    font-size: 18px;
}
/*contactpage end*/

/* Contact Form7 */





.wpcf7-form input {
    padding: 10px;
}

.contact7 {
	max-width: 100%;
	box-sizing: border-box;
	margin: 100px auto;
}
.contact7 dd {
	margin: 0 0 30px 0;
}
.contact7 dt {
	font-weight: normal;
	margin:10px 0;
}


.contactform_inner input {
	padding: 10px 0;
}

/* 必須マーク */
.contact7 .must {
	background: #000;
}

/* 任意マーク */

.contact7 dt span.any {
    font-size: 10px;
    margin-right: 10px;
    padding: 2px 10px;
    letter-spacing: 2px;
    display: inline-block;
    width: 30px;
    height: 18px;
    vertical-align: middle;
    text-align: center;
}
dt span.any {
    background: #eee;
}

.contact7 .optional {
	background: #999;
}

.contact7 .must,
.contact7 .optional {
	color: #FFF;
font-size: 10px;
margin-right: 10px;
padding: 2px 10px;
letter-spacing: 2px;
display: inline-block;
width: 30px;
height: 18px;
vertical-align: middle;
text-align: center;
}
.btn_contact7 {
	text-align: center;
	margin:40px 0;
}
.btn_contact7 input {
	width: 70%;
	background-color: #333;
	color: #FFF;
	font-size: 1.1em;
	font-weight: bold;
	letter-spacing: 0.2em;
	border: 1px solid #000;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;	
	padding: 20px;
}
.btn_contact7 input:hover {
	background-color: #FFF;
	color: #005513; 
}
@media screen and (min-width: 768px) {
.contact7 dt {
	float: left;
	clear: left;
	width: 35%;
	}
.contact7 dd {
	margin-left: 35%;
	}

.btn_contact7 input {
	width: 70%;
	background-color: #333;
	color: #FFF;
	font-size: 1.1em;
	font-weight: bold;
	letter-spacing: 0.2em;
	border: 1px solid #000;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;	
}
.btn_contact7 input:hover {
	background-color: #FFF;
	color: #333; 
}
}


/* contact form 7 end  */


/* txt */
.animated {
  animation-delay: .4s;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.del02s {
  animation-delay: .2s;
}

.del04s {
  animation-delay: .4s;
}

.del06s {
  animation-delay: .6s;
}

.del08s {
  animation-delay: .8s;
}

.del10s {
  animation-delay: 1s;
}

.del12s {
  animation-delay: 1.2s;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.fadeIn.animated {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 25%, 0);
    transform: translate3d(0, 25%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 25%, 0);
    transform: translate3d(0, 25%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUp.animated {
  animation-fill-mode: forwards;
  animation-duration: 1s;
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInR {
  from {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInR {
  from {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInR.animated {
  -webkit-animation-name: fadeInR;
  animation-name: fadeInR;
}




