body {
  font-size: 16px;
  font-size: 1.6rem;

  color: #000;
    font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  overflow-y: scroll; }

p {
  line-height: 1.7;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
  p {

  }}

@media print, screen and (min-width: 768px) and (max-width: 9999px) {
    .pc-br {
      display: block; }
    .sp-br {
      display: none; } }
@media only screen and (min-width: 0px) and (max-width: 767px) {
    .pc-br {
      display: none; }
    .sp-br {
      display: block; }}



.menu{
  position: absolute;
  top: 48px;
  right: 48px;
}

@media only screen and (min-width: 0px) and (max-width: 768px) {
  .menu{
    position: absolute;
    top: 25px;
    right: 25px;
  }
}
.menu-trigger,
.menu-trigger span {
display: block;
transition: all .4s;
box-sizing: border-box;
z-index: 9999;
}

.menu-trigger {
position: fixed;
width: 28px;
height: 26px;
top: 40px;
right: 40px;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
  .menu-trigger {
  position: fixed;
  width: 20px;
  height: 20px;
  top: 27px;
  right: 25px; }}



.menu-trigger span {
position: absolute;
left: 0;
width: 100%;
height: 3px;
background-color: #000;
}
.menu-trigger.active span {
position: absolute;
left: 0;
width: 100%;
height: 3px;
background-color: #fff;
}

.menu-trigger span:nth-of-type(1) {
top: 0;
}

.menu-trigger span:nth-of-type(2) {
top: 11px;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
.menu-trigger span:nth-of-type(2) {
top: 8px; }}

.menu-trigger span:nth-of-type(3) {
bottom: 0;
}

.menu-trigger.active span:nth-of-type(1) {
-webkit-transform: translateY(11px) rotate(-45deg);
transform: translateY(11px) rotate(-45deg);
}@media only screen and (min-width: 0px) and (max-width: 768px) {
  .menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(8px) rotate(-45deg);
  transform: translateY(8px) rotat}e(-45deg);
  }}



  @media only screen and (min-width: 0px) and (max-width: 768px) {
  .menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
  }}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
  }


.menu-trigger.active span:nth-of-type(3) {
-webkit-transform: translateY(-11px) rotate(45deg);
transform: translateY(-11px) rotate(45deg);
}@media only screen and (min-width: 0px) and (max-width: 768px) {
  .menu-trigger.active span:nth-of-type(3) {
-webkit-transform: translateY(-9px) rotate(45deg);
transform: translateY(-9px) rotate(45deg);
}}


.active {
    background-position: -35px 0;
}
.drawr {
    display: none;
    background: #e71a19;
    height: 100%;
    position: fixed;
    top: 0px;
    right:0;
    width:260px;
    padding: 100px 0 20px 20px;
    z-index: 7777;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
  .drawr {
    width: 60%;}
}
#drawr-menu li {
    width:260px;
}
#drawr-menu li a {
    color:#fff;
    display: block;
    padding: 15px;
    font-size: 24px;
    font-family: 'Roboto', sans-serif;
    text-decoration: none;
    font-weight: bold;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
  #drawr-menu li a {
    padding: 12px;
    font-size: 18px;
    font-family: 'Roboto', sans-serif;
    text-decoration: none;
    font-weight: bold; }}


@import url('https://fonts.googleapis.com/css?family=Roboto');


header {
	text-align: center;
}
header .logo a {
	display: block;
	width: 269px;
	height: 0;
  padding-top: 27px;
  background: url('../../images/cmn_logo.svg') 0 0 no-repeat;
  background-size: contain;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  margin: 40px auto;
}

@media only screen and (min-width: 0px) and (max-width: 768px) {
  header .logo a {
    display: block;
    width: 223px;
    height: 0;
    padding-top: 23px;
    background: url('../../images/cmn_logo.png') 0 0 no-repeat;
    background-size: contain;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    margin: 25px auto;
  }
}

.flex-img {
	width: 100%;
	height: auto;
}

.main {
  width: 100%;
  position: relative;
}
.main .pic {
  width: 100%;
  height: 664px;
  background: url('../../images/main_img.jpg') no-repeat center center;
  background-size: cover;
  display: flex;
  align-items: center;
}
.main .pic02 {
  width: 100%;
  height: 400px;
  background: url('../../images/main_img02.jpg') no-repeat center center;
  background-size: cover;
  display: flex;
  align-items: center;
}
.main .pic03 {
  width: 100%;
  height: 400px;
  background: url('../../images/mission_img.jpg') no-repeat center center;
  background-size: cover;
  display: flex;
  align-items: center;
}
.main .pic04 {
  width: 100%;
  height: 664px;
  background: url('../../images/recruit_imgA.jpg') no-repeat center center;
  background-size: cover;
  display: flex;
  align-items: center;
}
.main .pic05 {
  width: 100%;
  height: 664px;
  background: url('../../images/recruit_imgB.jpg') no-repeat center center;
  background-size: cover;
  display: flex;
  align-items: center;
}
.main .pic06 {
  width: 100%;
  height: 450px;
  text-align: center;
  background: url('../../images/service01_img.jpg') no-repeat center center;
  background-size: cover;
  display: flex;
  align-items: center;
}
.main .pic07 {
  width: 100%;
  height: 450px;
  text-align: center;
  background: url('../../images/service02_img.jpg') no-repeat center center;
  background-size: cover;
  display: flex;
  align-items: center;
}
.main .pic08 {
  width: 100%;
  height: 450px;
  text-align: center;
  background: url('../../images/service03_img.jpg') no-repeat center center;
  background-size: cover;
  display: flex;
  align-items: center;
}


@media only screen and (min-width: 0px) and (max-width: 768px) {
  .main .pic {
  width: 100%;
  height: 260px;
  background: url('../../images/main_img.jpg') no-repeat center center;
  background-size: cover;
}
.main .pic02 {
width: 100%;
height: 260px;
background: url('../../images/main_img02.jpg') no-repeat center center;
background-size: cover;
}
.main .pic03 {
width: 100%;
height: 260px;
background: url('../../images/mission_img.jpg') no-repeat center center;
background-size: cover;
}
.main .pic04 {
width: 100%;
height: 260px;
background: url('../../images/recruit_imgA.jpg') no-repeat center center;
background-size: cover;
}
.main .pic05 {
width: 100%;
height: 400px;
background: url('../../images/recruit_imgB.jpg') no-repeat center center;
background-size: cover;
}
.main .pic06 {
width: 100%;
height: 260px;
background: url('../../images/service01_img.jpg') no-repeat center center;
background-size: cover;
}
.main .pic07 {
width: 100%;
height: 260px;
background: url('../../images/service02_img.jpg') no-repeat center center;
background-size: cover;
}
.main .pic08 {
width: 100%;
height: 260px;
background: url('../../images/service03_img.jpg') no-repeat center center;
background-size: cover;
}
}

.main .inner {
  display: block;
  width: 55%;
  top: 200px;
  margin: 0 auto;
}


@media only screen and (min-width: 0px) and (max-width: 768px) {
.main .inner {
  width: 80%;
}
.main .inner .lead {
    margin: 0 auto;
    height:21.29%;
}
}

.main .inner .en-copy {
  width: 50%;
  margin: 0 auto;
}


.main .inner02 {
  display: block;
  width: 50%;
  top: 200px;
  margin: 0 0 0 8%;
}

@media only screen and (min-width: 0px) and (max-width: 768px) {
.main .inner02 {
  width: 55%;
}
.main .inner02 .lead {
    margin: 0 auto;
    height:21.29%;
}
}

.main .inner02 .en-copy {
  width: 80%;
  margin: 0 auto;
}


.main .inner04 {
  display: block;
  width: 24%;
  top: 200px;
  margin: 0 0 0 8%;
}

@media only screen and (min-width: 0px) and (max-width: 768px) {
.main .inner04 {
  width: 60%;
}
.main .inner04 .lead {
    margin: 0 auto;
    height:21.29%;
}
}

.main .inner04 .en-copy {
  width: 80%;
  margin: 0 auto;
}
.main .inner04 .en-copy {
  width: 100%;
  margin: 0 auto;
}


.main .inner05 {
  display: block;
  width: 32%;
  top: 200px;
  margin: 0 0 0 8%;
}

@media only screen and (min-width: 0px) and (max-width: 768px) {
.main .inner05 {
  width: 55%;
}
.main .inner05 .lead {
    margin: 0 auto 20px;
    height:21.29%;
}
}

.main .inner05 .en-copy {
  width: 80%;
  margin: 0 auto;
}
.main .inner05 .en-copy {
  width: 100%;
  margin: 0 auto 10px;
}


.main .inner06 {
  display: block;
  width: 417px;
  top: 200px;
  margin: 0 auto;
}

.main .inner06 img {
  margin: 20px 0 0 0;
}

@media only screen and (min-width: 0px) and (max-width: 768px) {
.main .inner06 {
  width: 200px;
}
.main .inner06 img {
  margin: 10px 0 0 0;
}
.main .inner06 .lead {
    margin: 0 auto;
    height:21.29%;
}
}


.main .inner03 {
  display: block;
  width: 60%;
  top: 200px;
  margin: 0 0 0 8%;
}

@media only screen and (min-width: 0px) and (max-width: 768px) {
.main .inner03 {
  width: 60%;
}
.main .inner03 .lead {
    margin: 0 auto;
    height:21.29%;
}
}




.bd01 {
  border: 1px solid #484443;
  margin: 0 0 5px 0;
}

.img_cnt {
  margin: 10px auto 0;
  display: block;
}


.li_3 {
	margin: 0 0 70px 0;
}
.li_3 li {
	float: left;
	width: 31%;
	padding: 0 10px;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
.li_3 {
	width: 60%;
	margin: 0 auto 30px;
}
.li_3 li {
	width: 100%;
	margin: 0 auto;

}
}

.li_4 {
	margin: 0 0 70px 0;
}
.li_4 li {
	float: left;
	width: 23%;
	padding: 0 10px;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
.li_4 li {
	width: 42%;

}
}

.tsuyomi {
  width: 40%;
  margin: 0 auto 30px ;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
.tsuyomi {
  width: 80%;
}
}


a:hover img{
opacity: 0.6;
filter: alpha(opacity=60);
-moz-opacity:0.6;
}

.sp {
  display: none;
}

@media only screen and (min-width: 0px) and (max-width: 768px) {
.pc {
  display: none;
}
.sp {
  display: block;
}
}

.m01 {
  margin: 0 0 50px 0;
}

.m02 {
margin-block-end:0;
}

.m03 {
margin-block-end:0;
margin: 0 0 10px 0;
}

.service01_ttl {
text-align: center;
}
.service01_ttl p {
color: #e71a19;
font-size: 32px;
font-weight: bold;
margin: 0 0 20px 0;
text-align: center;
display: inline-block;
border-bottom: solid 3px #e71a19;
}

.service02_ttl {
  color: #000;
  font-size: 24px;
  font-weight: bold;
  margin: 40px 0 20px 0;
  text-align: center;
}



@media only screen and (min-width: 0px) and (max-width: 768px) {
.service01_ttl p {
font-size: 20px;
margin: 0 0 20px 0;
}
.service02_ttl {
font-size: 20px;
margin: 0 0 20px 0;
}
}

.service01_in {
  width: 752px;
  margin: 0 auto 50px;
}
.service01_in li{
  float: left;
  margin: 0 10px;
  text-align: center;
}
.service01_in p {
color: #000;
font-size: 18px;
font-weight: bold;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
.service01_in{
  width: 85%;
}
.service01_in li{
  float: none;
  margin: 0 10px;
  text-align: center;
}
}

.service01_out {
  width: 1200px;
  margin: 0 auto 50px;
}
.service01_out li{
  float: left;
  margin: 0 10px;
  text-align: center;
}
.service01_out p {
color: #000;
font-size: 18px;
font-weight: bold;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
.service01_out{
  width: 85%;
}
.service01_out li{
  float: none;
  margin: 0 10px;
  text-align: center;
}
}

.service02 {
  width: 900px;
  margin: 0 auto 100px;
}
.service02 li{
  float: left;
  margin: 0 10px;
  text-align: center;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
.service02{
  width: 70%;
  margin: 0 auto 50px;
}
.service02 li{
  float: none;
  margin: 0 10px 40PX;
  text-align: center;
}
}

.service03 {
  width: 600px;
  margin: 0 auto 50px;
}
.service03 li{
  float: left;
  margin: 0 10px;
  text-align: center;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
.service03{
  width: 70%;
}
.service03 li{
  float: none;
  margin: 0 10px 40PX;
  text-align: center;
}
}

.contact_banner {
  width: 50%;
  margin: 0 auto 120px ;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
.contact_banner {
  width: 80%;
}
}


.cf:before,
.cf:after{
    content: "";
    display: table;
}
.cf:after{ clear: both; }
.cf{ zoom: 1; } /* For IE 6/7 */

#secA .inner {
  width: 1000px;
  margin: 0 auto;
  padding-top: 104px;
}
#secA .inner .logo {
  text-align: center;
  width: 466px;
  margin: 0 auto;
}

#secA .inner .ft-txt {
    width: 80%;
    padding: 0;
    display: block;
    margin: 30px auto 80px auto;
    padding: 0;
	text-align: center;
	line-height: 2;
	color:3E3A39;
}

#secA .inner .ft-txt02 {
    width: 100%;
    padding: 0;
    display: block;
    margin: 30px auto 40px auto;
    padding: 0;
	text-align: center;
	line-height: 2;
	color:3E3A39;
}

#secB .inner01 {
  width: 1000px;
  margin: 90px auto 40px auto;
  display: flex;
  justify-content:space-between;
}

#secB .figure {
  width: 100%;
}

#secB .en-cap {
  font-size: 65px;
  color: #e71a19;
  font-family: 'Roboto', sans-serif;
  letter-spacing: 0.14em;
  font-weight: bold;
  margin:0 0 -30px 0;
  left: 0;
}

#secB .inner02 {
  width: 1000px;
  margin: 0 auto;
}


#secB .inner02 .service01,
#secB .inner02 .service02,
#secB .inner02 .service03,
#secB .inner02 .service04 {
  display: flex;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
  #secB .inner02 .service01,
  #secB .inner02 .service02,
  #secB .inner02 .service03,
  #secB .inner02 .service04 {
  display:block; }}

#secB .inner02 .service01 .icon,
#secB .inner02 .service02 .icon,
#secB .inner02 .service03 .icon,
#secB .inner02 .service04 .icon {
  width: 20%;
  text-align: center;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
  #secB .inner02 .service01 .icon,
  #secB .inner02 .service02 .icon,
  #secB .inner02 .service03 .icon,
  #secB .inner02 .service04 .icon {
  width: 100%;
  margin-bottom: 20px; }}

  #secB .inner02 .service01 .icon img,
  #secB .inner02 .service02 .icon img,
  #secB .inner02 .service03 .icon img,
  #secB .inner02 .service04 .icon img {
  width: 85px;
  height: auto;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
 #secB .inner02 .service01 .icon img,
  #secB .inner02 .service02 .icon img,
  #secB .inner02 .service03 .icon img,
  #secB .inner02 .service04 .icon img {
  width: 60px;}}

  #secB .inner02 .service01 dl,
  #secB .inner02 .service02 dl,
  #secB .inner02 .service03 dl,
  #secB .inner02 .service04 dl {
  width: 80%;
  margin: 0 0 3em 0;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
  #secB .inner02 .service01 dl,
  #secB .inner02 .service02 dl,
  #secB .inner02 .service03 dl,
  #secB .inner02 .service04 dl {
  width: 100%;
  font-size: 12px;}}


  #secB .inner02 .service01 dl .title,
  #secB .inner02 .service02 dl .title,
  #secB .inner02 .service03 dl .title,
  #secB .inner02 .service04 dl .title {
  color: #e71a19;
  font-size: 24px;
  font-weight: bold;
  margin: 0 0 30px 0;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
  #secB .inner02 .service01 dl .title,
  #secB .inner02 .service02 dl .title,
  #secB .inner02 .service03 dl .title,
  #secB .inner02 .service04 dl .title {
  font-size: 18px;
  text-align: center;
  margin: 0 0 10px 0;}}

  #secB .inner02 .service01 dl dd,
  #secB .inner02 .service02 dl dd,
  #secB .inner02 .service03 dl dd,
  #secB .inner02 .service04 dl dd {
  margin: 0;
}

#secB .inner02 .service01 dl dd ul {
  columns:2;
  column-gap: 2em;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
  #secB .inner02 .service01 dl dd ul {
  columns:1;
  column-gap: 0em; }}


#secB .inner02 .service01 dl dd ul li .stit {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: .2em;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
#secB .inner02 .service01 dl dd ul li .stit {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: .2em; }}

#secB .inner02 ul li:nth-child(1) .icon {
  width: 78px;
}
#secB .inner02 ul li:nth-child(2) .icon {
  width: 70px;
}
#secB .inner02 ul li:nth-child(3) .icon {
  width: 84px;
}
#secB .inner02 ul li:nth-child(4) .icon {
  width: 86px;
}

#secB .inner02 ul li .icon img {
  width: 100%;
  height: auto;
}
#secB .inner02 ul li .tit {
  font-size: 22px;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 12px;
}
#secB .inner02 ul li .detail {
  line-height: 1.5;
}


#secC .inner02 {
  width: 1000px;
  margin: 0 auto;
  padding-top: 50px;
}

#secC .inner02 .ft-txt {
    width: 80%;
    padding: 0;
    display: block;
    margin: 30px auto 80px auto;
    padding: 0;
	text-align: center;
	line-height: 2;
	color:3E3A39;
}

#secC .inner02 .service01,
#secC .inner02 .service02,
#secC .inner02 .service03,
#secC .inner02 .service04 {
  display: flex;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
  #secC .inner02 .service01,
  #secC .inner02 .service02,
  #secC .inner02 .service03,
  #secC .inner02 .service04 {
  display:block; }}

#secC .inner02 .service01 .icon,
#secC .inner02 .service02 .icon,
#secC .inner02 .service03 .icon,
#secC .inner02 .service04 .icon {
  width: 15%;
  text-align: center;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
  #secC .inner02 .service01 .icon,
  #secC .inner02 .service02 .icon,
  #secC .inner02 .service03 .icon,
  #secC .inner02 .service04 .icon {
  width: 100%;
  margin-bottom: 20px; }}

  #secC .inner02 .service01 .icon img,
  #secC .inner02 .service02 .icon img,
  #secC .inner02 .service03 .icon img,
  #secC .inner02 .service04 .icon img {
  width: 85px;
  height: auto;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
 #secC .inner02 .service01 .icon img,
  #secC .inner02 .service02 .icon img,
  #secC .inner02 .service03 .icon img,
  #secC .inner02 .service04 .icon img {
  width: 60px;}}

  #secC .inner02 .service01 dl,
  #secC .inner02 .service02 dl,
  #secC .inner02 .service03 dl,
  #secC .inner02 .service04 dl {
  width: 80%;
  margin: 0 0 3em 0;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
  #secC .inner02 .service01 dl,
  #secC .inner02 .service02 dl,
  #secC .inner02 .service03 dl,
  #secC .inner02 .service04 dl {
  width: 100%;
  font-size: 12px;}}


  #secC .inner02 .service01 dl .title,
  #secC .inner02 .service02 dl .title,
  #secC .inner02 .service03 dl .title,
  #secC .inner02 .service04 dl .title {
  color: #e71a19;
  font-size: 24px;
  font-weight: bold;
  margin: 0 0 20px 0;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
  #secC .inner02 .service01 dl .title,
  #secC .inner02 .service02 dl .title,
  #secC .inner02 .service03 dl .title,
  #secC .inner02 .service04 dl .title {
  font-size: 18px;
  text-align: center;
  margin: 0 0 10px 0;}}

  #secC .inner02 .service01 dl dd,
  #secC .inner02 .service02 dl dd,
  #secC .inner02 .service03 dl dd,
  #secC .inner02 .service04 dl dd {
  margin: 0;
}

#secC .inner02 .service01 dl dd ul {
  columns:2;
  column-gap: 2em;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
  #secC .inner02 .service01 dl dd ul {
  columns:1;
  column-gap: 0em; }}


#secC .inner02 .service01 dl dd ul li .stit {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: .2em;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
#secC .inner02 .service01 dl dd ul li .stit {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: .2em; }}

#secC .inner02 ul li:nth-child(1) .icon {
  width: 78px;
}
#secC .inner02 ul li:nth-child(2) .icon {
  width: 70px;
}
#secC .inner02 ul li:nth-child(3) .icon {
  width: 84px;
}
#secC .inner02 ul li:nth-child(4) .icon {
  width: 86px;
}

#secC .inner02 ul li .icon img {
  width: 100%;
  height: auto;
}
#secC .inner02 ul li .tit {
  font-size: 22px;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 12px;
}
#sec0C .inner02 ul li .detail {
  line-height: 1.5;
}

.recruit_btn{
  margin: 0;
}

.recruit_btn li{
  display: inline-block;
}

@media only screen and (min-width: 0px) and (max-width: 768px) {
.recruit_btn li {
  width: 65%;
  margin: 0;
}
}

#secD {
  width: 100%;
  position: relative;
  background: #e5e5e5;
  padding: 1em 0;
  margin-bottom: 0;
  text-align:center;
  color: #000;
}

#secD:before{
    content: "";
    width: 0;
    height: 0;
 border-left: 600px solid transparent;
  border-right: 600px solid transparent;
  border-bottom: 60px solid #e5e5e5;
    position: absolute;
    top: -60px;
    right: 0;
    left: 0;
    margin: 0 auto;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
#secD:before {
	display: none;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
 border-left: 200px solid transparent;
  border-right: 200px solid transparent;
  border-bottom: 30px solid #e5e5e5;
    position: absolute;
    top: -40px;
    right: 0;
    left: 0;
    margin: 0 auto;
}
}

#secD .inner {
  width: 1000px;
  margin: 0 auto;
  padding-top: 0;
}


#sec01 .inner01 {
  width: 1000px;
  margin: 90px auto 40px auto;
  display: flex;
  justify-content:space-between;
}

#sec02 .inner01{
  width: 1000px;
  margin: 90px auto 40px auto;
  display: flex;
  justify-content:space-between;
  flex-flow: row-reverse;
}
#sec03 .inner {
  width: 1000px;
  margin: 90px auto 80px auto;
}


#sec01 .figure,
#sec02 .figure {
  width: 48.6%;
  position: relative;
}

#sec01 .txt-area,
#sec02 .txt-area {
  width: 44.4%;
  margin-right: 3%;
}

#sec00 .figure .en-cap {
  font-size: 65px;
  color: #e71a19;
  font-family: 'Roboto', sans-serif;
  letter-spacing: 0.14em;
  font-weight: bold;
  position: absolute;
  top: -65px;
  left: 0;
}

#sec01 .figure .en-cap {
  font-size: 65px;
  color: #e71a19;
  font-family: 'Roboto', sans-serif;
  letter-spacing: 0.14em;
  font-weight: bold;
  position: absolute;
  top: -65px;
  left: 0;
}

#sec02 .figure .en-cap {
  font-size: 65px;
  color: #e71a19;
  font-family: 'Roboto', sans-serif;
  letter-spacing: 0.14em;
  font-weight: bold;
  position: absolute;
  top: -65px;
  right: 0;
}

.txt-area .cap,
.tit-area .cap {
  font-size: 20px;
  color: #000;
  font-weight: bold;
  letter-spacing: .12em;
  margin-bottom:10px;
}

.txt-area .lead {
  font-size: 30px;
  font-weight: bold;
  letter-spacing: .05em;
  line-height: 1.3;
  margin-bottom: 10px;
}

.txt-area .txt{
  line-height: 1.7;
  letter-spacing: .05em;
}

#sec01 .inner02 {
  width: 1000px;
  margin: 0 auto;
}


#sec01 .inner02 .service01,
#sec01 .inner02 .service02,
#sec01 .inner02 .service03,
#sec01 .inner02 .service04 {
  display: flex;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
  #sec01 .inner02 .service01,
  #sec01 .inner02 .service02,
  #sec01 .inner02 .service03,
  #sec01 .inner02 .service04 {
  display:block; }}

#sec01 .inner02 .service01 .icon,
#sec01 .inner02 .service02 .icon,
#sec01 .inner02 .service03 .icon,
#sec01 .inner02 .service04 .icon {
  width: 20%;
  text-align: center;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
  #sec01 .inner02 .service01 .icon,
  #sec01 .inner02 .service02 .icon,
  #sec01 .inner02 .service03 .icon,
  #sec01 .inner02 .service04 .icon {
  width: 100%;
  margin-bottom: 20px; }}

  #sec01 .inner02 .service01 .icon img,
  #sec01 .inner02 .service02 .icon img,
  #sec01 .inner02 .service03 .icon img,
  #sec01 .inner02 .service04 .icon img {
  width: 85px;
  height: auto;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
 #sec01 .inner02 .service01 .icon img,
  #sec01 .inner02 .service02 .icon img,
  #sec01 .inner02 .service03 .icon img,
  #sec01 .inner02 .service04 .icon img {
  width: 60px;}}

  #sec01 .inner02 .service01 dl,
  #sec01 .inner02 .service02 dl,
  #sec01 .inner02 .service03 dl,
  #sec01 .inner02 .service04 dl {
  width: 80%;
  margin: 0 0 3em 0;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
  #sec01 .inner02 .service01 dl,
  #sec01 .inner02 .service02 dl,
  #sec01 .inner02 .service03 dl,
  #sec01 .inner02 .service04 dl {
  width: 100%;
  font-size: 12px;}}


  #sec01 .inner02 .service01 dl .title,
  #sec01 .inner02 .service02 dl .title,
  #sec01 .inner02 .service03 dl .title,
  #sec01 .inner02 .service04 dl .title {
  color: #e71a19;
  font-size: 24px;
  font-weight: bold;
  margin: 0 0 30px 0;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
  #sec01 .inner02 .service01 dl .title,
  #sec01 .inner02 .service02 dl .title,
  #sec01 .inner02 .service03 dl .title,
  #sec01 .inner02 .service04 dl .title {
  font-size: 18px;
  text-align: center;
  margin: 0 0 10px 0;}}

  #sec01 .inner02 .service01 dl dd,
  #sec01 .inner02 .service02 dl dd,
  #sec01 .inner02 .service03 dl dd,
  #sec01 .inner02 .service04 dl dd {
  margin: 0;
}

#sec01 .inner02 .service01 dl dd ul {
  columns:2;
  column-gap: 2em;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
  #sec01 .inner02 .service01 dl dd ul {
  columns:1;
  column-gap: 0em; }}


#sec01 .inner02 .service01 dl dd ul li .stit {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: .2em;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
#sec01 .inner02 .service01 dl dd ul li .stit {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: .2em; }}

#sec01 .inner02 ul li:nth-child(1) .icon {
  width: 78px;
}
#sec01 .inner02 ul li:nth-child(2) .icon {
  width: 70px;
}
#sec01 .inner02 ul li:nth-child(3) .icon {
  width: 84px;
}
#sec01 .inner02 ul li:nth-child(4) .icon {
  width: 86px;
}

#sec01 .inner02 ul li .icon img {
  width: 100%;
  height: auto;
}
#sec01 .inner02 ul li .tit {
  font-size: 22px;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 12px;
}
#sec01 .inner02 ul li .detail {
  line-height: 1.5;
}


#sec02 .inner01 ul li .stit {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: .2em;
}

@media only screen and (min-width: 0px) and (max-width: 768px) {
#sec02 .inner01 ul li .stit {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: .2em; }
#sec02 .inner01 ul li .detail {
    line-height: 1.5;
    font-size: 12px;
    }}


#sec03 table {
border-top: 1px solid #E1E1E1;
}
#sec03 table td,
#sec03 table th {
  padding: 28px 10px;
}
#sec03 table {
    font-size: 16px;
    line-height: 1.4;
}
#sec03 .inner .tit-area {
  width: 40%;
margin: 0 0 20px 0;
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
#sec03 .inner .tit-area {
  width: 62%;
}
}

#sec03 .tit-area .en-cap {
  font-size: 65px;
  color: #e71a19;
  font-family: 'Roboto', sans-serif;
  font-weight: bold;
  letter-spacing: 0.14em;
  line-height: 1;
}

#sec04 .tit-area .en-cap {
  font-size: 65px;
  color: #e71a19;
  font-family: 'Roboto', sans-serif;
  letter-spacing: 0.14em;
  font-weight: bold;
  line-height: 1;
}
#sec05 .tit-area .en-cap {
  font-size: 65px;
  color: #e71a19;
  font-family: 'Roboto', sans-serif;
  letter-spacing: 0.14em;
  font-weight: bold;
  line-height: 1;
}

#sec04 {
  background: #eeeeee;
}
#sec04 .inner {
  width: 1000px;
  margin: 0 auto;
  height: 377px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#sec04 .inner .tit-area {
  width: 35.2%;
}
#sec04 .inner .detail {
  width: 476px;
}
#sec04 .inner .detail,
#sec04 .inner .detail dt,
#sec04 .inner .detail dd {
  margin: 0;
  padding: 0;
  line-height: 1.4;
}

#sec04 .inner .detail dt {
  margin-bottom: 10px;
}

#sec04 .inner .detail dd .tel{
  font-size: 36px;
  font-family: 'Roboto', sans-serif;
  letter-spacing: 0.05em;
  font-weight: bold;
}

#sec04 .inner .detail dd .btn a {
  display: block;
  background: #e71a19;
  width: 176px;
  height: 46px;
  border-radius: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #ffffff;
  text-decoration: none;
}
#sec04 .inner .detail dd .btn a span {
  width: 23px;
  height: 16px;
  display: inline-block;
  margin: 0 15px 0 0;
}
#sec04 .inner .detail dd .btn a span img {
  width: 100%;
  height: auto;
}


#sec05 .inner {
  width: 1000px;
  margin: 0 auto;
  padding-top: 104px;
}
#sec05 .inner .logo {
  text-align: center;
  width: 466px;
  margin: 0 auto;
}

#sec05 .inner .ft-nav {
  display: flex;
  width: 466px;
  padding: 0;
 justify-content:space-between;
  margin: 51px auto 200px auto;
  padding: 0;
}
#sec05 .inner .ft-nav li {
   padding: 0;
    margin: 0;
}


#sec05 .inner .ft-nav li a {
  text-decoration: none;
  font-size: 16px;
  font-family: 'Roboto', sans-serif;
  font-weight: bold;
  color: #3f3a39;
  letter-spacing: 0.15em;
   padding: 0;
  margin: 0;
}
#sec05 .inner .ft-txt {
    width: 80%;
    padding: 0;
    display: block;
    margin: 20px auto 50px auto;
    padding: 0;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	text-align: center;
	font-size:0.78em;
	line-height: 2;
	color:darkgray;
}
#sec05 .inner .copy{
  color: #e71a19;
  font-size: 14px;
  font-family: 'Roboto', sans-serif;
  font-weight: bold;
  text-align: center;
}

#sec05 .inner .copy a{
  color: #e71a19;
  font-size: 14px;
  font-family: 'Roboto', sans-serif;
  font-weight: bold;
  text-align: center;
}

#pagetop {
  position: fixed;
  right: 14px;
  bottom: 130px;
  width: 16px;
  height: 82px;
}
#pagetop img {
  width: 100%;
  height: auto;
}

@media only screen and (min-width: 0px) and (max-width: 768px) {
  #secA .inner {
    width: 100%;
    padding: 40px 0 0 0;
  }
  #secA .inner .logo {
    text-align: center;
    width: 50%;
    margin: 0 auto 20px;
  }

	#secA .inner .ft-txt {
    width: 90%;
    padding: 0;
    display: block;
    margin: -10px auto 25px auto;
    padding: 0;
	text-align: left;
		font-size:0.7em;
}

#secA .inner .ft-txt02 {
  width: 90%;
  padding: 0;
  display: block;
  margin: -10px auto 25px auto;
  padding: 0;
text-align: left;
  font-size:0.7em;
}

#secB .inner01 {
  width: 85%;
  margin: 20px auto 10px auto;
  display: block;
}

#secB .en-cap {
  font-size: 38px;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin: 0 0 -19px;
}

#secB .inner02 {
  width: 85%;
  margin: 20px auto 10px auto;
  display: block;
}

#secC .inner02 {
  width: 85%;
  padding: 40px 0 0 0;
}

#secC .inner02 .ft-txt {
  width: 90%;
  padding: 0;
  display: block;
  margin: -10px auto 25px auto;
  padding: 0;
text-align: left;
  font-size:0.7em;
}

#secD .inner {
  width: 85%;
  padding: 40px 0 0 0;
}


  #sec01 .inner01,
  #sec01 .inner02,
  #sec02 .inner01,
  #sec03 .inner {
    width: 85%;
    margin: 20px auto 10px auto;
    display: block;
  }
  #sec04 .inner,
  #sec05 .inner {
    width: 85%;
    display: block;
    padding: 25px 0;
    height: auto;
  }
  #sec01 .figure,
  #sec02 .figure {
    margin-top: 50px;
    width: 100%;

  }
  #sec01 .figure .pic,
  #sec02 .figure .pic {
    width:90%;
    margin: 0 auto;
    position: relative;
  }
  #sec01 .figure .en-cap {
    font-size: 38px;
    font-weight: bold;
    letter-spacing: 0.1em;
    position: absolute;
    top: -35px;
    left: 0;
  }

  #sec02 .figure .en-cap {
    font-size: 38px;
    font-weight: bold;
    letter-spacing: 0.1em;
    position: absolute;
    top: -35px;
    left:0;
  }
  #sec03 .tit-area .en-cap,
  #sec04 .tit-area .en-cap {
    font-size: 38px;
    font-weight: bold;
    letter-spacing: 0.1em;
  }
  #sec01 .txt-area {
    width: 100%;
    margin: 15px 0 0 0;
  }
  #sec02 .txt-area {
    width: 100%;
    margin: 20px 0 0 0;
  }
  .txt-area .cap,
  .tit-area .cap {
    font-size: 14px;
    margin-bottom: 5px;
  }

  .txt-area .lead {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 5px;
  }

  .txt-area .txt{
    line-height: 1.7;
    letter-spacing: .05em;
    font-size: 12px;
  }

  #sec01 .inner02 ul {
    column-count: 2;
  }
  #sec01 .inner02 ul li .tit {
    font-size: 16px;
    margin-bottom: 8px;
  }
  #sec01 .inner02 ul li .detail {
    line-height: 1.5;
    font-size: 12px;
  }
  #sec03 table {
    font-size: 12px;
    line-height: 1.3;
  }
  #sec03 table td,
  #sec03 table th {
    padding: 15px 5px;
  }

  #sec04 .inner .tit-area {
    width: 60%;
    margin: 0 0 15px 0;
  }
   #sec04 .inner .detail {
    font-size: 14px;
    width: 100%;

   }
   #sec04 .inner .detail dd .tel{
    font-size: 24px;
    margin-bottom: 10px;
  }
  #sec04 .inner .detail dd .btn {
    margin-bottom: 0;
  }
  #sec04 .inner .detail dd .btn a {
    background: #e71a19;
    width: 100%;
    height: 46px;
    border-radius: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: #ffffff;
    text-decoration: none;
  }
  #sec05 .inner {
    width: 100%;
    padding: 40px 0 0 0;
  }
  #sec05 .inner .logo {
    text-align: center;
    width: 466px;
    margin: 0 auto;
  }
  #sec05 .inner .logo {
    text-align: center;
    width: 50%;
    margin: 0 auto;
  }

  #sec05 .inner .ft-nav {
    width: 80%;
    padding: 0;
    display: block;
    margin: 20px auto 50px auto;
    padding: 0;

  }
  #sec05 .inner .ft-nav li {
     padding: 0;
    margin: 30px 0 30px 0;
    text-align: center;
  }

  #sec05 .inner .ft-nav li a {
    text-decoration: none;
    font-size: 16px;
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    color: #3f3a39;
    letter-spacing: 0.15em;
     padding: 0;
    margin: 0;
  }
	#sec05 .inner .ft-txt {
    width: 90%;
    display: block;
    margin: 10px auto 25px auto;
    padding: 0;
	text-align: left;
		font-size:0.7em;
}
  #sec05 .inner .copy{
    font-size: 12px;
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    text-align: center;
  }
}

#map {
  height: 357px;
}@media only screen and (min-width: 0px) and (max-width: 768px) {
#map {
    height: 200px;
  }}

  iframe {
    width: 100%;
    margin: 0;
    padding: 0;
  }
