﻿@charset "utf-8";

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, input, button,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
background:transparent;
-webkit-text-size-adjust:none;
}
textarea {font-family:inherit;font-size:inherit;}
article, aside, dialog, figure, footer, header,hgroup, nav, section {display:block;}
li{list-style:none;}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after,q:before, q:after {content:'';content:none;}
ins {text-decoration:none;}
mark {font-style:italic;font-weight:bold;}
del {text-decoration: line-through;}
abbr[title], dfn[title] {cursor:help;}
table {border-collapse:collapse;border-spacing:0;}
input, select {vertical-align:middle;}
header, section, footer, aside, nav, main, article, figure {display: block;}


/* CSS Document */

*{
	margin-top: 0px;
	margin-right: 0px;
	margin-left: 0px;
	margin-bottom: 0px;
	padding: 0;
	list-style-type: none;
	font-size: 16px;
}

span,a,strong{font-size:inherit;}

	
ul {
list-style:none;padding:0;
margin:0;
}

body{
font-size:16px;
/*font-family:"ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;*/
font-family: "Noto Serif JP", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;
font-weight: 400;
color:#333;
position:relative;
width: 100%;
overflow-x:hidden;
line-height: 2;  word-break: break-all;
-webkit-text-size-adjust: 100%;
    padding-top:100px;

    animation: fadeIn 1.5s ease 0s 1 normal;
    -webkit-animation: fadeIn 1.5s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

a{outline:none;color:#333;}
a:link     {color:#333; text-decoration:none; }
a:hover    { color:#666; text-decoration: none;}
a:active   {color:#333; text-decoration:none; }


button[type="submit"]{
-o-box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
font-family:inherit;
vertical-align:baseline;
cursor:pointer;
}

input[type="text"],
input[type="email"],
input[type="number"],
input[type="url"],
input[type="password"],
input[type="date"]{
border:1px solid #ddd;
vertical-align:baseline;
-o-box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}

input[type="submit"]{cursor:pointer;}

img{
	margin: 0;
	padding: 0;
	vertical-align: bottom;
	max-width:100%;
	height:auto;
}

.bold {font-weight: bold;}

.mt0 {margin-top: 0px!important;}
.mt3 {margin-top: 3px!important;}
.mt5 {margin-top: 5px!important;}
.mt10 {margin-top: 10px!important;}
.mt15 {margin-top: 15px!important;}
.mt20 {margin-top: 20px!important;}
.mt30 {margin-top: 30px!important;}
.mt40 {margin-top: 40px!important;}
.mt50 {margin-top: 50px!important;}
.mt80 {margin-top: 80px!important;}

.mb3 {margin-bottom: 3px!important;}
.mb5 {margin-bottom: 5px!important;}
.mb10 {margin-bottom: 10px!important;}
.mb20 {margin-bottom: 20px!important;}
.mb30 {margin-bottom: 30px!important;}
.mb40 {margin-bottom: 40px!important;}
.mb50 {margin-bottom: 50px!important;}
.mb60 {margin-bottom: 60px!important;}
.mb80 {margin-bottom: 80px!important;}

.pdg3 {padding: 3px;}
.pdg5 {padding: 5px;}
.pdg10 {padding: 10px;}
.pdg20 {padding: 20px;}
.pdg30 {padding: 30px;}
.pdg40 {padding: 40px;}
.pdg50 {padding: 50px;}

.va--t {vertical-align: top;}
.va--m {vertical-align: middle;}
.va--b {vertical-align: bottom;}

.pt60{padding-top:60px;}
.pb60{padding-bottom:60px;}

select{
border:1px solid #ddd;
font-family:inherit;
vertical-align:baseline;
-o-box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;background: #dededf;
    padding: 6px;
    font-size: 16px;
    border: 1px solid #eee;
}
::-webkit-input-placeholder{
color:#888;
}
::-moz-placeholder {
color:#888;
opacity:1;
}
:-ms-input-placeholder {
color: #888;
}
/**/
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6{font-weight:normal;}

p.indent{padding-left:1em;
	text-indent:-1em;}

/**/
.privacy{border: 1px solid #000;
    border-radius: 4px;
    padding: 30px;margin-bottom: 80px;}
.privacy h4{font-size:16px;}
.privacy h5{font-size:15px;    margin-bottom: 6px;}
.privacy p{font-size:14px;}
/**/
.blo1{
    position: relative;
overflow: hidden;padding-bottom: 80px;
}
.blo1 img {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;width:100%;height:auto;
}
.blo1 figcaption{
    position: absolute;
    text-align: center;
    bottom: -100px;
    margin: auto;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 190px;
    overflow: hidden;
    -moz-transition: all 0.2s ease-in-out 0s;
    -o-transition: all 0.2s ease-in-out 0s;
    -webkit-transition: all 0.2s ease-in-out;
    -webkit-transition-delay: 0s;
    background: #fff;
    padding-top: 26px;
}

figcaption p {
	color:#000000;

}

.blo1 figcaption h3{
color:#000000;font-size:20px;margin-bottom:20px;padding-bottom:0;border:none;
}
.blo1 figcaption h3 span{
color:#ff8429;font-size:12px;display:block;margin:0 auto;margin-top:10px;
}

#topimage{position:relative;background: #F2E2E2;
padding:66px 0;    max-height: calc(100vh - 100px);
}
.catch_wrap{
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: -25px;
    width: 100%;
    height: 102px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
  /* JavaScriptでこの変数を書き換える */
  --font-scale: 16px;

}
.topimage_in img{    max-height: calc(100vh - 232px);    width: 100%;
    object-fit: cover;object-position:50% 50%;    margin: 0 auto;
    display: block;}

.catch {
    line-height: 1;
    letter-spacing: 0.05em;
    color: #FFF;
    text-align: center;
    font-family: Cinzel;
  font-size: var(--font-scale);
    font-weight: 700;
}

p{    line-height: 170%;}

@media screen,tv{
.print{
		display:none;
	}}

@media print{
#pagetop {
	display:none;
	}
}


#pageTop{text-align: center;display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 99;
}
#pageTop:hover{
	}

a[href^="tel:"] { cursor: default; }

/**/
a img.linkimg{
background:none!important;
}
 
a:hover img.linkimg{
transition: all .3s ease-in-out;
opacity:0.6;
filter:alpha(opacity=60);
-ms-filter: "alpha( opacity=60 )";
background:none!important;
}

.nopc{display:none!important;}
.nopc2{display:none!important;}

/* header */
/**/
.flex {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.flex, .flex-st, .flex-cn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    flex-align: stretch;
    -webkit-align-items: stretch;
    align-items: stretch;}


.anchor{padding-top: 112px;
margin-top: -112px;}


.container .row {
    margin-right: -15px;
    margin-left: -15px;
}
#header_right{height:100%;width:100%;}


/**/

  ul.accordion li p {
    line-height: 26px !important;
    /* background: #E8EEFF; */
    padding: 0;
    margin: 0;
    display: block;
    border-bottom: 1px solid #fff;
    display: block;
    background-image: url(../img/ya01.png);
    background-repeat: no-repeat;
    background-position: 95% center;
    /* height: 18px; */
    padding: 8px;
    /* padding-top: 13px; */
    /* border: 1px solid #cccccc; */
    border-top: none;
    text-align: left;
    cursor: pointer;
    font-weight: normal;
  }
  ul.accordion li p {
    background-image: url(../cmn/open.png);
    background-repeat: no-repeat;
    background-size: 16px;
    background-position: 95% center;
  }
  ul.accordion li p.active {
    background-image: url(../cmn/close.png);
    background-size: 16px;
  }
  #navi {
    color: inherit;
    background:rgb(255,255,255,0.96);
  }
  ul#navi_ul {
    position: relative;
    height: auto;
    text-align: inherit;
    margin: 0 auto;
    padding: 0;
    z-index: 30;
    width: 100%;
    display: block;
  }
  ul#navi_ul li a {
    color: #231815!important;
    text-decoration: none;
    font-weight: normal;
    letter-spacing: inherit;
    font-family: inherit;
    line-height: 26px;
    padding: 8px;
    text-align: left;
    height: auto;
  }
  ul#navi_ul li {
    width: auto;
    height: auto;
    padding: 0;
    float: none;
    position: relative;
    display: inherit;
    margin: auto;
    display: block;
  }
#navi_ul li span {
    font-size: 9px;
    letter-spacing: 0;
    font-weight: normal;
    display: block;
    text-align: center;
    position: relative;
    z-index: 1;
    right: auto;
	top: auto;}

#navi_ul li span:before {
    content: "";
    display: block;
    width: 15px;
    height: 1px;
    background: #666;
    margin: 2px auto;
}

.mod-gnav-links-en:after {
    content: "";
    display: block;
    width: 15px;
    height: 2px;
    background: #2D7638;
    margin: 7px auto;
}

  ul#navi_ul li a {
    position: relative;
  }

  ul#navi_ul li:nth-child(2):before {
    content: none;
  }
  ul#navi_ul .level-2 li:before {
    position: absolute;
    top: 50%;
    right: 1.5em;
    display: inline-block;
    content: "";
    width: 7px;
    height: 7px;
    margin-top: -4px;
    margin-right: -4px;
    vertical-align: middle;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
  }
  .level-2 .row {
    display: block;
  }
  ul#navi_ul li:after {
    display: none;
  }
  .level-2 {
    display: none;
    height: auto;
    display: none;
    visibility: visible;
    opacity: 1;
    position: relative;
    left: auto;
    right: auto;
    margin: 0 auto;
    top: auto;
    min-width: inherit;
    z-index: 10;
    width: 100%;
    padding: 0;
  }
  ul#navi_ul .level-2 li a {
    color: #fff!important;
  }
  ul#navi_ul li {
    width: 100%;
    max-width: 100%;
  }
  #navi_ul .level-2 .container {
    padding: 0 15px;
  }
  /* ナビゲーション */
header{height:100px;position:fixed;z-index:1000;/*background:rgba(255,255,255,0.7);*/top:0;left:0;width:100%;}
header .container{padding:0;height:100%;    max-width: 100%;}
header nav {
 position: fixed;
    top: 0;
    -webkit-transition: 0.9s;
    -o-transition: 0.9s;
    transition: 0.9s;
    pointer-events: none;
    z-index: 98;
    text-align: center;
    background: #fff;
    -webkit-transform: translateX(120%);
    -ms-transform: translateX(120%);
    transform: translateX(120%);
	    right: 0px;
  /*  max-width: 640px;*/    min-width: 400px;
      width:30vw;
    height: 100vh;
    padding: 50px 70px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  /* ナビゲーション：アクティブ時 */
  header.navOpen nav {
	  pointer-events: auto;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);    right: 0px;
	  
	  
	  
  }
  header nav ul {
  }
  header nav ul li {
    color: #231815;
  }
  header nav ul li a {
    position: relative;
    display: block;
    padding: 13px;
    text-decoration: none;
    line-height: 45px;
  }
  header nav ul li a:hover {}
 
header nav ul li ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
ul#navi_ul li.is-large {
    width: 50%;    border-top: 1px solid #D2D2D2;
}

  /* ナビゲーションアイコン */
  header .tel2 {
    display: block;
    width: 26px;
    height: 26px;
    position: absolute;
    top: 8px;
    right: 70px;
    cursor: pointer;
  }
header .navBtn {
    z-index: 999;
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    top: 5px;
    right: 10px;
    cursor: pointer;
    padding: 20px;
    /* padding-top: 7px; */
    /* padding-bottom: 16px; */
    background: none;
    box-sizing: content-box;
    /* background: #000; */
    box-sizing: content-box;
    color: #999999;
}
  ul#navi_ul li a:before {
    content: none;
  }
header .navBtn span {
    z-index: 10;
    margin-top: 6px;
    display: block;
    height: 3px;
    width: 100%;
    background: #999;
    border-radius: 0;
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    border-radius: 20px;
}
  header .navBtn span.menuB {
    background: none;
    width: auto;
    margin-top: 0px;
    border-radius: 0;
    display: block;
    position: absolute;
    height: auto;
    top: 30px;
    right: 10px;
    z-index: 15;
    color: #ffffff;
    font-size: 10px;
  }
  header .navBtn span:nth-of-type(2), header .navBtn span:nth-of-type(3) {
    margin-top:11px;
  }
  /* ナビゲーションアイコン：アクティブ */
  header.navOpen .navBtn span:nth-of-type(1) {
    -webkit-transform: translateY(13px) translateX(0) rotate(45deg);
    -ms-transform: translateY(13px) translateX(0) rotate(45deg);
    transform: translateY(13px) translateX(0) rotate(45deg);
  }
  header.navOpen .navBtn span:nth-of-type(2) {
    margin-top: 5px;
    opacity: 0;
    -webkit-transform: translateY(9px);
    -ms-transform: translateY(9px);
    transform: translateY(9px);
  }
  header.navOpen .navBtn span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) translateX(0) rotate(-45deg);
    -ms-transform: translateY(-9px) translateX(0) rotate(-45deg);
    transform: translateY(-9px) translateX(0) rotate(-45deg);
  }

ul#navi_ul .gnav-links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-bottom: 1px solid #D2D2D2;
}
ul#navi_ul .gnav-links li{text-align: center;
    border-top: 1px solid #D2D2D2;width: 25%;
}

.header_inner {width:100%;
    position: relative;
    margin: 0 auto;
    align-items: center;
	box-sizing:border-box;padding: 0;padding-top:26px;padding-bottom:30px;display:block;display: inline-block;
}

.header_right2 {
	float: right;
    text-align: right;display:block;max-width:308px;width:100%;
}
.fixed {
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 1000;

}
.sub-links{border: none;}
.sub-links li{font-size: 15px;
    display: inline-block;
    border: none;}
header nav .sub-links li a{line-height: 180%;}
#navi a{-webkit-transition: all .3s;
    transition: all .3s}
#logo_wrap_top {
    height: 22vh;
    display: flex;
    align-items: center;
    padding-left: 5%;
}
#logo_wrap_top #logo{    height: 50%;}
#logo_wrap_top h1 img{max-width: 100%;
  height: 50%;
  width: 300px;}

#logo_wrap {
    position: relative;
    width: 100%;
    margin: 0 auto;
    margin-top: 17px;
    margin-left: 30px;
}
#logo a{display:block;}


/* fade */
.inview-fade,
ul.inview-fade li,
ol.inview-fade li,
dl.inview-fade dt,
dl.inview-fade dd {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
  transition-timing-function: cubic-bezier(.215, .61, .355, 1);
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transform: translate3d(0,0,0) scale(1.0);
  transform: translate3d(0,0,0) scale(1.0);
  opacity: 0;
}
.inviewed-fade,
ul.inviewed-fade li,
ol.inviewed-fade li,
dl.inviewed-fade dt,
dl.inviewed-fade dd {
  -webkit-transform: translate3d(0,0,0) scale(1.0);
  transform: translate3d(0,0,0) scale(1.0);
  opacity: 1;
}

/* zoom */
.inview-zoom,
.inviewed-zoom {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.inview-zoom .backimg,
.inviewed-zoom .backimg {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center top;
}
.inview-zoom .backimg {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
  transition-timing-function: cubic-bezier(.215, .61, .355, 1);
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transform: translate3d(-50%, 0, 0) scale(1.15);
  transform: translate3d(-50%, 0, 0) scale(1.15);
  opacity: 0;
}
.inviewed-zoom .backimg {
  -webkit-transform: translate3d(-50%, 0, 0) scale(1.0);
  transform: translate3d(-50%, 0, 0) scale(1.0);
  opacity: 1;
}

/* up */
.inview-up,
ul.inview-up li,
ol.inview-up li,
dl.inview-up dt,
dl.inview-up dd {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
  transition-timing-function: cubic-bezier(.215, .61, .355, 1);
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transform: translate3d(0,20px,0) scale(1.0);
  transform: translate3d(0,20px,0) scale(1.0);
  opacity: 0;
}
.inviewed-up,
ul.inviewed-up li,
ol.inviewed-up li,
dl.inviewed-up dt,
dl.inviewed-up dd {
  -webkit-transform: translate3d(0,0,0) scale(1.0);
  transform: translate3d(0,0,0) scale(1.0);
  opacity: 1;
}

 .inview-up2{
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
  transition-timing-function: cubic-bezier(.215, .61, .355, 1);
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transform: translate3d(0,20px,0) scale(1.0);
  transform: translate3d(0,20px,0) scale(1.0);
  opacity: 0;
}

.inviewed-up2{
  -webkit-transform: translate3d(0,0,0) scale(1.0);
  transform: translate3d(0,0,0) scale(1.0);
  opacity: 1;
}
/**/

#main_head {    position: relative;
    padding:0 30px;
    padding-bottom: 0;
    background: #F2E2E2;
}
#main_head h2 span {
    color: #666;
    font-family: Cinzel;
    font-size: 90px;
    font-weight: 400;
    line-height: 1;
}
#main_head h2 .furi {
    color: #666;
    font-family: "Noto Serif JP";
    font-size: 24px;
    font-weight: 400;
    display: block;

}

.button {
  text-decoration: none;
  outline: none;
}
.button::before,
.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button,
.button::before,
.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.btn{line-height:60px;border:1px solid #fff;max-width:316px;width:100%;text-align:center;margin:30px;border-radius:none;
font-size:18px;position:relative;}
.contact_btn{    background: url(../cmn/mail_icon.png) no-repeat 20% 50%;
    padding-left: 70px;}
.tel_btn{background:url('../cmn/tel_icon.png') no-repeat 20% 50%;padding-left: 70px;font-size:24px;}
.contact_btn:hover{background:rgba(255,255,255,0.2) url(../cmn/mail_icon.png) no-repeat 20% 50%;}

/**/
.slidework li a{display:block;margin:10px;}


p{line-height:150%;    font-feature-settings: "palt";   }
/*会社概要*/

.company table{width: 100%;
    margin-bottom: 40px;
 border-top: solid 1px #d3d3d3;}

.company th{    font-weight: bold;
    padding: 10px;
    border-bottom: solid 1px #d3d3d3;
    border-right: solid 1px #d3d3d3;
    text-align: center;
    width: 26%;
}
.company td{padding: 10px ;border-bottom:solid 1px #d3d3d3;width: 80%;line-height: 180%;
    font-size: 15.4px;}


#company{
    padding: 60px 0;
    position: relative;
    padding-bottom: 20px;
}

#company h4 {
    text-align: left;
    font-size: 24px;
    color: #000;}
/**/


/**/
#history{padding-bottom:100px;padding-top:100px;}

#history dl{width:100%;display:table;border-bottom: 1px solid #9d9d9d}
#history dl:nth-child(1){border-top: 1px solid #9d9d9d}

#history dt {
    display: table-cell;
    width: 30%;
    text-align: center;
    box-sizing: border-box;padding:15px 0 15px 20px;
	position:relative;color:#003798;
}

#history dd {
	text-align:left;    width: 70%;
padding:15px 20px;
    display: table-cell;
    box-sizing: border-box;line-height: 150%;
}
/**/
.enkaku dl{width:100%;max-width: 940px;display:table;margin:0 auto;/*border-bottom: 1px solid #fff;*/position:relative;padding-bottom: 20px}
.enkaku dt {
    display: table-cell;
    width: 23%;
    text-align: left;
    box-sizing: border-box;padding: 0px 20px;padding-right:10px;
	position:relative;
}

.enkaku dd {
	text-align:left;    width: 74%;
padding: 0px;
    display: table-cell;
    box-sizing: border-box;line-height: 150%;
}
.enkaku dd li{padding:10px;border-bottom: 1px solid #ccc;}

.enkaku{
    position: relative;
    padding: 60px 0;
}
.enkaku dl::before {
    background: #cccccc;
    content: "";
    height: 100%;
    height: calc(100%);
    width: 1px;
    position: absolute;
    left: 35px;
    top: 0px;
    z-index: 1;
}
.enkaku dl::after {
    content: "";
    z-index: 1;
    position: absolute;
    top: 22px;
    left: 30px;
    width: 10px;
    height: 10px;
    text-align: center;
    display: block;
    background: #000000;
    vertical-align: middle;
    box-sizing: border-box;
    border-radius: 50%;
}

.year {
    position: relative;
    display: inline-block;
    margin: 1.5em 0 1.5em 15px;
    margin-left: 34px;
    margin-top: 4px;
    padding: 7px 10px;
    min-width: 120px;
    max-width: 100%;
    color: #fff;
    font-size: 16px;
    background: #BCB57D;
    text-align: center;
}

.year:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-right: 15px solid #BCB57D;
}
/**/
.company h3{text-align:center;}

#greeting{    background: #f6f6f6;
    padding: 60px 0;}
#greeting .box {
    position: relative;
    margin-bottom: 63px;    margin-top: 50px;
}#greeting .box .ph {
    position: absolute;
    top: -40px;
    left: -126px;
    width: 37.5%;
    height: 442px;
}
#greeting .box .txt_box {
    width: 83.34%;
    height: 442px;
    padding: 55px 0 50px 44px;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-content: flex-start;
    justify-content: center;
    text-align: left;
    padding: 30px;
    padding-left: 17%;
    margin-left: auto;
}
#greeting .txt_box .txt{margin-bottom:50px;}

/**/


.daihyo_photo{    background: #eee;
    padding: 100px 0;
    margin-top: 30px;
    font-size: 30px;}

.text_line_l{position:relative;height:100%;}
.text_line_r{position:relative;height:100%;}

.text_line_l:before{content:'';position:absolute;z-index:10;top:0;left:0;width:1px;height:100%;background:#000;  left: -15px;}
.text_line_r:before{content:'';position:absolute;z-index:10;top:0;right:0;width:1px;height:100%;background:#000; right: -15px;}



/**/
.greeting:before {
    z-index: -1;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #000;
    -webkit-transform: skew(0, -3deg) translateY(0px);
    -moz-transform: skew(0, -3deg) translateY(0px);
    -ms-transform: skew(0, -3deg) translateY(0px);
    transform: skew(0, -3deg) translateY(0px);
}

.greeting .posi {
	position: relative;}

.greeting .bg {
    position: absolute;
    z-index: 1;
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-image: url(../img/daihyo.jpg);
    left: 0;
    top: 0;
    width: 80%;
    height: calc(100% - 0px);
}
.greeting .row{
	justify-content: flex-end;}
.gree {
    position: relative;
    padding: 50px;
    margin-top: 80px;
    margin-bottom: 20px;
    background-color: #FFF;
    z-index: 2;
}


/**/
.nav-previous {
    float: left;
}
.slick-prev::before {
    content: url(../cmn/ya_l.png) !important;
}

.slick-next::before {
    content: url(../cmn/ya_r.png) !important;
}
.slick-prev{left: 0;}
.slick-next{right:0;}
.nav-next {
    float: right;
}
.slick-slider{}
.slidework{margin-bottom:80px;}
.slick-dots {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -26px;
}
.slick-dots li button:before {
    font-family: 'slick';
	font-size: 36px;}
.slick-prev,
.slick-next {
    width: 40px !important;
    height: 40px !important;
	z-index:10; 
	top: 26%;
    /* top: 50%; */
   /* left: 50%;
    margin-right: -50%;
    transform: translate(-50%, 0%);*/
}
/*ｰｰｰ*/
.home h2{color: #333;
text-align: center;
font-family: Cinzel;
font-size: 64px;
font-weight: 400;line-height: 1; margin-bottom: 35px;}
.home h2 span {color: #333;
text-align: center;
font-family: "Noto Serif JP";
font-size: 20px;font-weight: 400;display:block;}

/**/
body:not(.home) h3 {
    font-size: 1.5em;
    color: #000;
    font-weight: bold;
    margin-bottom: 20px;
    position: relative;letter-spacing: 2px;
}

body:not(.home) h3{color: #333;
text-align: center;
font-family: Cinzel;
font-size: 64px;
font-weight: 400;line-height: 1; margin-bottom: 35px;}
body:not(.home) h3 span {color: #333;
text-align: center;
font-family: "Noto Serif JP";
font-size: 20px;font-weight: 400;display:block;}


/**/


#news h2,#work h2{text-align:center;}


h4{font-size:20px;margin-bottom:3px;line-height: 160%;}
h5{font-size:18px;margin-bottom:3px;}


#news {
    padding-top: 100px;
    padding-bottom: 150px;
}
#news li p{    font-size: 18px;}
#news li:nth-child(1) { -webkit-transition-delay: .3s; transition-delay: .3s; }
#news li:nth-child(2) { -webkit-transition-delay: .6s; transition-delay: .6; }
#news li:nth-child(3) { -webkit-transition-delay: .9s; transition-delay: .9s; }
#news li:nth-child(4) { -webkit-transition-delay: 1.2s; transition-delay: 1.2s; }

#news li{/*border-bottom:1px solid #b7b7b7;*/padding: 10px 0;}
#news li a{display:block;}
#news li a p:hover{color:#666!important}

#news ul{
    max-width: 755px;
    margin: 0 auto;margin-bottom:30px;}

/**/

#news2{padding-top:70px;    background: #f7f7f7;
    padding-bottom: 50px;}

#news2 li:nth-child(1) { -webkit-transition-delay: .3s; transition-delay: .3s; }
#news2 li:nth-child(2) { -webkit-transition-delay: .6s; transition-delay: .6; }
#news2 li:nth-child(3) { -webkit-transition-delay: .9s; transition-delay: .9s; }
#news2 li:nth-child(4) { -webkit-transition-delay: 1.2s; transition-delay: 1.2s; }

#news2 li{border-bottom:1px solid #b7b7b7;padding: 10px 0;}
#news2 li a{display:block;}
#news2 li a p:hover{color:#666!important}

#news2 ul{margin-bottom:30px;}

#news2 .page-numbers li{padding:0;border-bottom:none;}
#news2 .page-numbers li span{display:block;}


/**/

span.date{color:#333;margin-right: 24px;}

.news_box h3{font-size:15px;}
.news_box{padding:20px;background:#EDECE2;box-sizing:border-box;border:1px solid #EDECE2;transition: all .3s ease-in-out;}
.news_box:hover{border:1px solid #000;transition: all .3s ease-in-out;}


/**/

.noi img {
    width: 100%;
    height: auto;
}

.txt_box{    background: #ffffff;
    padding: 30px;}

.more {
    max-width: 567px;
    width: 100%;
    height: 78px;
    padding-bottom: 0px;
    display: flex;
    color: #fff !important;
    letter-spacing: 0px;
    border: 1px solid #666666;
    border-radius: 100px;
    background: #666;
    text-align: center;
    font-family: "Zen Kaku Gothic New";
    font-size: 20px;
    font-weight: bold;
    margin:0 auto;
    margin-bottom: 20px;
    align-items: center;
    justify-content: center;
    align-content: center;
}


.more{
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.more:hover {
  color: #666!important;
	text-decoration:none;background:#fff;

}
/**/

.nav-below{padding-top:40px;/*padding-bottom:40px;/*margin-top:40px;*/}
.nav-previous{float:left;}
.nav-next{float:right;}

.post_cate,.post{ 
    position: relative;    min-height: 500px;}
.post h3{margin-bottom:10px;padding:10px;vertical-align: middle;line-height: 140%;}
.post img{max-width:100%;height:auto;text-align:center;margin-bottom:20px;}

.post a{text-decoration:underline;}
.post a:hover{text-decoration:none;}

/**/
.block {overflow:hidden;}
.block img{
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;}

.strong{font-weight:bold;}
h4.new_tit{font-size:16px;display:inline-block;margin-left:36px;margin-bottom:0;}
#news li a:hover{color:#000!important;}
.whiteback  h4.new_tit{-webkit-transition: all .3s;
	transition: all .3s;}
.whiteback a:hover h4.new_tit{color:#BCB57D;}

.news_text{padding: 3px 26px;
    padding-bottom: 2px;position:relative;}

.news_text_time:before{content:'□';}
.news_text_time{display:inline-block;}

.time1{display:block;margin-bottom:10px;}


.hover-parent {width: 100%;
height: 100%;
position: relative;
overflow: hidden;
}
figcaption.hover-mask {
width: 100%;
height: 100%;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: rgba(0,0,0,0.5);
opacity: 0;
color: #fff;
display: flex;
align-items: center;
text-align: center;
padding: 30px;box-sizing:border-box;　padding-bottom: 0;

}
.hover-parent:hover figcaption.hover-mask {
	width: 100%;
height: 100%;
opacity: 1;
transition: all 0.6s ease;　padding-bottom: 30px;

}
a{-webkit-transition: all .3s;
    transition: all .3s;}
a:hover{-webkit-transition: all .3s;
    transition: all .3s}

/**/

.slick-slide img{height:auto;}

span.noi{display:block;    height: 100%;}
span.noi span{
    background-size: cover;
    background-repeat: no-repeat;
    display: block;background-position:50% 50%;}

span.noi span {
    position: relative;
    width: 100%;height: 100%;
}
#voice .block{border: 1px solid #ccc;}
#voice2 .block {
    border: 1px solid #ccc;
}

span.noi span:before {
    content:"";
    display: block;
    padding-top: 73%; /* 高さを幅の75%に固定 */
}
.scale{overflow:hidden;}
.scale > span{   -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;}

.slick-dots {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -26px;
}
.slick-dots li button:before {
    font-family: 'slick';
	font-size: 36px;}
.nav-previous {
    float: left;
}

.slick-prev,
.slick-next {
    width: 40px !important;
    height: 40px !important;
	z-index:10; 
	top: 26%;
    /* top: 50%; */
   /* left: 50%;
    margin-right: -50%;
    transform: translate(-50%, 0%);*/
}

.nav-next {
    float: right;
}
.slick-prev{left:1px;}
.slick-next{right:1px;}


/**/
span.noi{display:block;}

.con_box .conp{display:block;font-size: 17px;
    /* color: #000; */position:relative;
    margin-bottom: 6px;
    /* letter-spacing: 2px;*/}

.con_box .conp span {
    display: inline-block;
    background: #fff;
    position: relative;
    z-index: 11;
    padding: 0 10px;
}

.con_box .conp:before {
    content: '';
    position: absolute;
    z-index: 10;
    display: inline-block;
    top: 0;
    bottom: 0;
    margin: auto 0;
    left: 0;
    height: 1px;
    width: 100%;
    background: #000;
}


.con_box{padding-bottom: 0;color:#000;position:relative;    margin-left: 5%;
}

.con_box p{font-size:14.6px;}

.copy{
text-align: center;
font-size: 14px;
font-weight: 400;padding:20px 0;}

.foot{padding:42px 0;
background: #F2E2E2;}
.foot h2{text-align:left;}
.sitemap{margin-bottom:30px;}

.kasen{text-decoration: underline!important;}
.kasen:hover{text-decoration:none!important;}

.foot .p-box--triangle_wrap{margin-bottom: 20px;}

.footlogo_wrap {
    text-align: center;
    padding: 200px 0;
    padding-top: 180px;
}
.foot_ul {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
}

.foot_ul li{position:relative;}
.foot_ul ul ul li a{font-size:13px}
.foot_ul ul ul li{padding-left:24px;line-height: 150%;}

.foot_ul li {
    display: inline-block;
    position: relative;
    border-right: 1px solid #ccc;
    width: 15%;    text-align: center;
}
.foot_ul li.recruit_btn2{width:25%;}
.foot_ul li.recruit_btn2 a{background:#666;color:#fff!important;}
.foot_ul li.recruit_btn2 a:hover{background:#666;}

.recruit_btn a{border:1px solid #666;width:265px;color:#666!important;position:relative;}

.footlogo a{display:block;}


.f_tel_wrap{display:table;margin:0 auto;}
.f_tel{font-size:40px;position:relative;}
.f_tel span{font-size:22px;}

.area1{border:1px solid #000;border-radius:4px;padding: 5px 20px;font-size: 15px;line-height: 160%;max-width:286px;display: block;margin:0 auto;}

.teltime{font-size:14px;}

.con_box_in{max-width:920px;width:100%;margin:0 auto;}

.con_btn{    font-size: 16px;margin:0 auto;
    max-width: 266px;width:100%;
    line-height: 60px;background:#ffffff;color:#1e529e!important;
    display: block;  z-index: 2;border:1px solid #1e529e;
position: relative;    text-align: center;overflow:hidden;padding-left:56px;    margin-top: 4px;}
.con_btn:before {
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    width: 40%;
    height: 100%;
    background: url(../cmn/ico_mail.svg) no-repeat 80% 50%;
    background-size: 30px;
}

.con_btn{
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.con_btn:hover {
  color: #fff!important;background:#1e529e;
}

.con_btn:hover::before {
    background: url(../cmn/ico_mail_on.svg) no-repeat 80% 50%;
    background-size: 30px;
}

.con_box2 {
    margin-top: 6px;
    max-width: 380px;
    margin: 0 auto;
}
.con_box2 .f_tel {
    font-size: 20px;
    background: url(../cmn/ico_tel.svg) 0px 50% no-repeat;
    background-size: 18px;
    max-width: 190px;
    padding-left: 0px;
}
.con_box2 .con_btn{
max-width: 200px;
    padding-left: 36px;
}
.f_tel {
  position: relative;
  width: 100%;letter-spacing: 0px;
  padding-left:30px;font-family:"Arial", Gadget, "sans-serif";
    color:#666!important;
  -webkit-box-sizing: border-box;font-size:46px;
  box-sizing: border-box;margin: 0 auto;
	background:url(../cmn/ico_tel.svg) 0px 50% no-repeat;
	background-size:28px;
}
.f_tel {
	font-size: 40px;line-height: 120%;
    font-weight: bold;}

 .f_tel span {
	font-size: 15px;}
.con_btn{width:100%;    line-height: 60px;}

.wrap1_animated {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: .4s ease-in-out;
    transition: .4s ease-in-out;	width:100%;
}
.overhidden{overflow:hidden;}

@keyframes blockSlideRight {
    0% {
        width: 0%;
    }
    50% {
        width: 100%;
        transform: translateX(0);
    }
    100% {
        transform: translateX(100%);
    }
}

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

}

.wrap1 {
    overflow: hidden;
    position: relative;
    display: block;width:100%;
}
.wrap2 {
    overflow: hidden;
    position: relative;
    display: block;width:100%;
}.wrap3 {
    overflow: hidden;
    position: relative;
    display: block;width:100%;
}
.wrap1_animated::after {
    animation: blockSlideRight 2s ease both;
    position: absolute;
    background: #212121;
    content: '';
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.img {
    transform: translateX(0%);
}

.img_animated {
    animation: imgFadeInLeft 2s ease both;
}

/**/

@media (min-width: 768px){
/*768px以上*/
.tate {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

}@media (min-width: 1024px){
/*1024px以上*/
.tate2 {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
}
/**/

.mannaka{display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    height: 100%;
    -webkit-align-items: center;
    align-items: center;}

.mannaka2{display: -webkit-flex;
    display: flex;
    height: 100%;
    -webkit-align-items: center;
    align-items: center;}

 /* ページャー */
.pagination1{
    margin-top:50px;
    text-align:center}
.page-numbers li{display:inline-block;}
a.page-numbers,
.pagination1 .current{
    background-color: #fff;
    border: solid 1px #666;
    border-radius:0px;
    padding:6px 9px;
    margin:0 2px;
    text-decoration: none;
    color:#666;line-height: 140%;}
 
.pagination1 .current{
    background-color: #666;
    border: solid 1px #666;
    color:#FFFFFF;line-height: 140%;}
 
 .pagination1 a:hover{
    color: #ffffff!important;
    border: solid 1px #666;
    background-color: #666;}

/*下層*/
.submenu {
    display: none;
}
.breadcrumbs{padding:10px;text-align:left;color:#000;}
.breadcrumbs a{color:#000!important;}
.breadcrumbs a:hover{text-decoration:underline;}
.breadcrumbs .container span{font-size: 12px;}

.kaso_back {
    /* background-image: url(../img/kaso_back.jpg); */
    /* background-size: cover; */
    /* background-attachment: fixed; */
    /* background-repeat: no-repeat; */
    /* background-position: center center; */
        padding: 30px 0;
    padding-bottom: 0px;
    position: relative;
    /* overflow: hidden; */
    -webkit-transition: all .3s;
    transition: all .3s;
    margin: 0 -30px;    height: 76vh;    overflow: hidden;
}

.kaso_back img {
    width: 100%;
    object-fit: cover;
    object-position: 50% 50%;height:100%;
}
.kaso_back2{padding: 40px 0;
    background: #474035;
    text-align: center;
    color: #fff;
padding-top: 70px;}
.b_company{    background-image: url(../img/back/b_company.jpg) ;}
.b_service{    background-image: url(../img/back/b_service.jpg) ;}
.b_works{    background-image: url(../img/back/b_works.jpg) ;}
.b_contact,.b_error,.b_confirm,.b_thanks{ background-image: url(../img/back/b_contact.jpg) ;}
.b_recruit{    background-image: url(../img/back/b_recruit.jpg) ;}
.b_news{background-image: url(../img/back/b_news.jpg) ;}
.b_sitepolicy{background-image: url(../img/back/b_sitepolicy.jpg);}
.b_privacy-policy{background-image: url(../img/back/b_privacy-policy.jpg);}

.kaso_back h2 {line-height:100%;
    font-weight: 700;
    position: relative;
    z-index: 2;
    margin-bottom: 0;
    padding: 10px;
color: #fff;text-align:center;font-size: 48px;
}
.kaso_tit h2 span{font-size:24px;    color: #ffffff;
    text-align: center;margin-top: 18px;}
.kaso_tit h2 .en1{-webkit-animation-delay: .8s;
    -moz-animation-delay: .8s;
    animation-delay: .8s;
}

span.require {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 10px;
    width: 55px;
    height: 32px;
    padding: 3px 10px;
    color:#fff;
background: #E60012;    z-index: 1;
    font-size: 14px;
    text-align: center;line-height:27px;
}

input[type="tel"],
input[type="email"] {
    border: 1px solid #ccc;
    padding: 5px;
    color: #000;
    background: -webkit-gradient( linear, left top, left bottom, from(#eee), to(#fff));
    background: -moz-linear-gradient( top, #eee, #fff);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffeeeeee, endColorstr=#ffffffff);
    zoom: 1;

}

input[type="text"], textarea {
    border: 1px solid #ccc;
    padding: 5px;
    color: #000;
    background: -webkit-gradient( linear, left top, left bottom, from(#eee), to(#fff) );
    background: -moz-linear-gradient( top, #eee, #fff );
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffeeeeee,endColorstr=#ffffffff);
    zoom: 1;	

}

 textarea { 
    width: 100%;    height: 200px;}


input[type="submit"],input[type="button"]{  max-width: 567px;
    width: 100%;
    height: 78px;
    padding-bottom: 0px;
    display: flex;
    color: #fff !important;
    letter-spacing: 0px;
    border: 1px solid #666666;
    border-radius: 100px;
    background: #666;
    text-align: center;
    font-family: "Zen Kaku Gothic New";
    font-size: 20px;
    font-weight: bold;
    margin: 0 auto;
    margin-bottom: 20px;
    align-items: center;
    justify-content: center;    -webkit-transition: all .3s;
    transition: all .3s;
}
input[type="submit"]{
  position: relative;
  z-index: 2;
  overflow: hidden;
}
input[type="submit"]:hover {
  color: #666!important;
	text-decoration:none;background:#fff;}

.table_contact th {
    width: 30%;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #ccc;border-left:none;
    position: relative;
    text-align: left;padding-right:60px;

}

.table_contact td {
    width: 70%;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #ccc;background:#fff;	border-left:none;border-right:none;
}

.table_contact tr:last-child {
    border-bottom: 1px solid #cccccc;
}

.table_contact {
    width: 100%;
    margin: 0 auto;margin-bottom: 30px;
}

.table_contact tbody,
.table_contact tr {
    width: 100%;
}

.table_contact2 th:nth-child(1){width:10%;padding-right:10px;}


/**/

#contents1{padding:60px 0;    padding-top: 100px;}

.whiteback {
/*    background: #EDECE2;*/
    padding: 30px;
    border: 1px solid #ccc;
    margin-top: 30px;padding-bottom: 50px;
}

/*.whiteback h3{text-align:center;}*/


.whiteback2 {
    background: #fff;
    padding: 60px;border:1px solid #000;
}
.whiteback .news_li li{border-bottom: 1px solid #ccc;
    padding: 6px 0;}


.sitemap li{
    list-style: circle;
    margin-left: 15px;
}

.map iframe{
    max-width: 100%;
}

/**/
@media (max-width: 992px){
.contact{max-width:inherit;}}
@media screen and (max-width: 900px){

#contact_box {
    padding: 5%;}

#content_div.page div#contact_box div.contact_bottom div.item input[type=submit] {
    width: 250px;
    margin: 20px 0;font-size: 18px;
}
	
}

.page_contact-confirm h4{position:relative;text-align:center;font-size:22px;color:#008aaa;font-weight:bold;padding-bottom:20px;display:table;margin:0 auto;margin-bottom:20px;}
.page_contact-confirm h4:after{content:'';position:absolute;z-index:10;border-bottom:4px dotted #a1dbe5;left:0;right:0;margin:auto;bottom:0;width:calc(100% - 60px)}

.page_contact-complete h4{position:relative;text-align:center;font-size:22px;color:#008aaa;font-weight:bold;padding-bottom:20px;display:table;margin:0 auto;margin-bottom:56px;}
.page_contact-complete h4:after{content:'';position:absolute;z-index:10;border-bottom:4px dotted #a1dbe5;left:0;right:0;margin:auto;bottom:0;width:calc(100% - 60px)}

.page_contact-err h4{position:relative;text-align:center;font-size:22px;color:#ff4848;font-weight:bold;padding-bottom:20px;display:table;margin:0 auto;margin-bottom:20px;}
.page_contact-err h4:after{content:'';position:absolute;z-index:10;border-bottom:4px dotted #f7bfbf;left:0;right:0;margin:auto;bottom:0;width:calc(100% - 60px)}

.accordion li a{
    color: #000;
}
/**/
.flex {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.flex, .flex-st, .flex-cn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    flex-align: stretch;
    -webkit-align-items: stretch;
    align-items: stretch;}

.flex2{display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;}

/**/

.footlogo img{max-width:100%;width:328px;height:auto;}

/**/

#map .container{width:100%;}

.imap iframe{vertical-align: bottom;}

/**/
    

.para_back1{
    height: 428px;}
.back1_in{
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center bottom;
    background-size: cover;
    position: relative;
    z-index: 1;
    height: 100%;
}
.para_back1 .back1_in{
    background-image: url(../img/backimage.jpg);
    background-size: cover;
}
/*.back1_in:before{content:'';position:absolute;z-index:1;background:rgba(0,0,0,0.3);width:100%;height:100%;top:0;left:0;}*/
    
    #work{padding-top:96px;}
    .obj_img{
    position: relative;
    height: 100%;
    overflow: hidden;
    border-top: 1px solid;
    border-bottom: 1px solid;
}
    .obj_img img{
        position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    }
    #contents001 {
        padding: 110px 0;
        padding-top: 60px;
        position: relative;
    }    #contents001:after{content:'';position:absolute;z-index:-1;width:100%;height:70%;background: #F2E2E2;left:0;right:0;margin:0 auto;bottom:0;
} #contents002 {
        padding: 110px 0;
        position: relative;
    } 
    #contents003 {
        padding: 110px 0;
        position: relative;
    } 
.back_1{position:relative;padding:40px 0;}

.back_1:before{    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    position: absolute;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background: #F2E2E2;
    width: 100vw;
    content: '';}
#block_1{
        padding: 110px 0;
        position: relative;
    } 
#block_3{
        padding: 110px 0;
        position: relative;
    } 

header.fixed{    background: rgba(255, 255, 255, 0.7);}
.back_2{background: #F2E2E2;}

/**/

.wpcf7cp-btns .wpcf7cp-cfm-edit-btn,
.wpcf7cp-btns .wpcf7cp-cfm-submit-btn,
input[type="submit"],input[type="button"]{
max-width: 567px;
    width: 100%;
    height: 78px;
    padding-bottom: 0px;
    display: flex
;
    color: #fff !important;
    letter-spacing: 0px;
    border: 1px solid #666666;
    border-radius: 100px;
    background: #666;
    text-align: center;
    font-family: "Zen Kaku Gothic New";
    font-size: 20px;
    font-weight: bold;
    margin: 0 auto;
    margin-bottom: 20px;
    align-items: center;
    justify-content: center;
    align-content: center;    -webkit-transition: all .3s;
    transition: all .3s;

}
.wpcf7cp-btns .wpcf7cp-cfm-submit-btn{max-width: 567px;
    width: 100%;
    height: 78px;
    padding-bottom: 0px;
    display: flex;
    color: #fff !important;
    letter-spacing: 0px;
    border: 1px solid #666666;
    border-radius: 100px;
    background: #666;
    text-align: center;
    font-family: "Zen Kaku Gothic New";
    font-size: 20px;
    font-weight: bold;
    margin: 0 auto;
    margin-bottom: 20px;
    align-items: center;
    justify-content: center;
    align-content: center;}

.wpcf7cp-cfm-submit-btn:hover,.wpcf7c-btn-backwpcf7c-btn-back:hover{
  color: #666!important;
	text-decoration:none;background:#fff;}

input[type="button"].wpcf7c-btn-back{background:#fff;border:1px solid #ccc;color:#ccc!important;cursor: pointer;}

input.wpcf7c-conf, textarea.wpcf7c-conf {
    background: #eee !important;
    border: solid 1px #eee;
    color: #666;
}

.wpcf7cp-btns .wpcf7cp-cfm-edit-btn{background:#eee;color: #000 !important;}

#wpcf7cpcnf table th,
.table_contact th {
    width: 30%;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #000;border-left:none;
    position: relative;
    text-align: left;padding-right:60px;

}

#wpcf7cpcnf table td,
.table_contact td {
    width: 70%;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #000;background:#fff;	border-left:none;border-right:none;
}

#wpcf7cpcnf table tr:last-child,
.table_contact tr:last-child {
    border-bottom: 1px solid #cccccc;
}

#wpcf7cpcnf table,
.table_contact {
    width: 100%;
    margin: 0 auto;margin-bottom: 30px;
}

#wpcf7cpcnf table tbody,
#wpcf7cpcnf table tr,
.table_contact tbody,
.table_contact tr {
    width: 100%;
}

        @media (max-width: 768px) {
.wpcf7cp-btns .wpcf7cp-cfm-edit-btn,
.wpcf7cp-btns .wpcf7cp-cfm-submit-btn,
input[type="submit"],input[type="button"]{
                height: 38px;
                                max-width: 290px;
            }
        }


/*==================================================
スライダーのためのcss
===================================*/
.slider img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

.slider .slick-slide {
    margin:0px;/*スライド左右の余白調整*/
    padding:0;
}