@charset "utf-8";

/*-----------------------------------------------------------------------
PC
------------------------------------------------------------------------*/
/*Common --------------------------------------------------------*/
html{
    padding:0;
    margin:0;
}
body {
    font-family: "Noto Sans JP","Yu Gothic","Hiragino Sans",Meiryo,sans-serif;
    color:#3B4043;
    font-size:18px;
    line-height:1.8;
    word-break:break-all;
    padding:0;
    margin:0;
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
    position: relative;
}
    @keyframes fadeIn {
        0% {opacity: 0}
        100% {opacity: 1}
    }
    @-webkit-keyframes fadeIn {
        0% {opacity: 0}
        100% {opacity: 1}
    }
img, video, object {
    max-width:100%;
    height:auto;
    border:none;
}
a {
    color:#54A280;
    text-decoration:none;
    transition: all .3s;
}
a:hover { color:#54A280; }
a:visited { color:#555; }

p{
    margin: 0;
    padding: 0;
    font-feature-settings: "palt";
}
ol, ul , dl , dd{
    margin:0;
    padding:0;
}
li{
    margin-bottom: 0.5em;
}
table{
    margin: 1.0em 0;
}
th, td{
    vertical-align: top;
}

h1{ font-size:2.5em; line-height: 1.0; margin: 0; padding: 0; }
h2{ font-size:2.0em; line-height: normal; font-weight:bold; margin:0.75em 0; }
h3{ font-size:1.75em; font-weight:bold; margin:0.5em 0; }
h4{ font-size:1.5em; font-weight:bold; margin:0.25em 0; }
h5{ font-size:1.25em; font-weight:bold; margin:0.25em 0; }

/*Header ----------------------------------------------------*/
header{
  background:#FFF;
  margin:0;
  padding:0;
  position: fixed;
  width: 100%;
  z-index: 99999;
}
header .inner{
  max-width: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}
header .logo{
font-weight: bold;
margin: 20px 0;
padding: 0;
min-width: 350px;
display: flex;
gap: 0 30px;
}
header .logo a{
display: contents;
color: #3B4043;
}
header .logo a:hover,
header .logo a:visited{
color: #3B4043;
}
header .logo h1 img{
width:100px ;
height: auto;
}
header .description span{
font-size:1.6em ;
display: block;
}
header .description span.pc{
font-size:0.8em ;
}

/*g-nav*/
#g-nav{
  position:relative;
  z-index: 999;
  top:0;
  right:0;
  width:100%;
  height:auto;
  background:#FFF;
}
  #g-nav ul {
      position:inherit;
      z-index: 999;
      top:0;
      left:0;
      transform:none;
      text-align: right;
      display: flex;
      flex-wrap: nowrap;
      justify-content: flex-end;
      gap: 0 45px;
  }
      #g-nav li{
          text-align: center;
          font-weight: bold;
      }
      #g-nav li a{
          color: #3B4043;
          padding:0;
      }
      #g-nav li a:hover{ color: #54A280;}

/*Footer --------------------------------------------------------*/
footer {
  padding-top: 45px;
  background: linear-gradient(180deg, #F0F3F5 0%, #F0F3F5 85%, #54A280 85%, #54A280 100%);
}
footer .description{ font-size: 0.8em; }
footer .name{ font-size: 1.0em; font-weight: bold; margin-bottom: 20px; }
footer .logo{ margin-bottom: 35px; }
footer .logo img{ width: 100px; }
.copy {
  color: #FFF;
  font-size: 0.6em;
  text-align: right;
  padding: 6px 0 12px;
}

/*layout --------------------------------------------------------*/
#wrapper{
    margin:0;
    padding:0;
    overflow: hidden;
    line-break:strict;
}
#contents{
    margin:100px 0;
    padding:0;
}
section{
    margin: 80px 0;
    padding:0;
}
.inner {
    max-width:1160px;
    margin:0 auto;
    padding:0 30px;
    position:relative;
}


/*Item --------------------------------------------------------*/
/*Flex-box*/
.flex-item{ display: flex; gap: 5%;}
.flex-item .item_img{ width: 35% ;}
.flex-item .item_text{ width: 60%;}

.flex-item.col2{ gap: 0 5%;}
.flex-item.col2 .item_box{ width: 47.5%;}

.flex-item.col3{ gap: 0 3%;}
.flex-item.col3 .item_box{ width: 32%;}

/*Accordion-box*/
.toggle_title {display: none !important;}

/*List*/
#contents ul , #contents ol { margin:0.5em 0 0.5em 1.5em; }
#contents ul {list-style: none;}
#contents ul li{position: relative;}
#contents ul li::before {
    content: '';
    display: inline-block;
    position: absolute;
    top: 0.8em;
    left: -1.0em;
    width: 8px;
    height: 8px;
    background-color: #3B4043;
    border-radius: 8px;
  }

#contents li.link a{
    color: #3B4043;
    text-decoration: underline;
    display: inline-block;
    width: 100%;
    padding-right: 2.0em;
    position: relative;
}
#contents li.link a::before{
    content:"";
    position: absolute;
    height: 1.5em;
    width: 1.5em;
    background:url(../img/icon_arrow.svg);
    background-size: contain;
    right: 0;
    top: 0.2em;
}
#contents li.link a:hover{ color: #54A280; opacity: 0.8;}

/*Table*/
#contents table{
    width: 100%;
}
#contents th , #contents td {
    text-align: left;
    padding: 0.75em 0.5em 0.75em 0;
    border-bottom: 1px solid #CCC;
}
#contents th {
    font-weight: bold;
}

/*Button*/
.btn_area{
  text-align: center;
  padding: 2.0em 0;
}
.btn_area a{
  font-size: 1.25em;
  font-weight: bold;
  display: inline-block;
  min-width: 350px;
  padding: 0.5em 1.5em 0.5em 1.0em;
  margin: 0 auto;
  position: relative;
  border-radius: 50px;
  transition: ease .2s;
  border: 2px solid;
}
.btn_area a::before{
  content:"";
  position: absolute;
  bottom:1.25em;
  right:30px;
  width:20px;
  height:3px;
}
.btn_area a::after{
  content: '';
  position: absolute;
  bottom:1.0em;
  right: 30px;
  width: 15px;
  height: 15px;
  transform: rotate(45deg);
  border-top: 3px solid;
  border-right: 3px solid;
}

.btn_area a.btn_green{ color:#FFF !important; background:#54A280 !important; border-color: #54A280 !important ; }
.btn_area a.btn_green::before{ background: #FFF !important; }
.btn_area a.btn_green::after{ border-color: #FFF !important; }
.btn_area a.btn_green:hover{ color:#54A280 !important; background:#FFF !important; }
.btn_area a.btn_green:hover::before{ background: #54A280 !important; }
.btn_area a.btn_green:hover::after{ border-color: #54A280 !important; }

.btn_area a.btn_white{ color:#54A280 !important; background:#FFF !important; }
.btn_area a.btn_white::before{ background: #54A280 !important; }
.btn_area a.btn_white::after{ border-color: #54A280 !important; }
.btn_area a.btn_white:hover{ opacity: 0.8; }

.btn_area a.btn_large{
  font-size: 1.5em;
  color:#FFF !important;
  background:#54A280 !important;
  min-width: 100%;
  border-radius: 0;
  padding: 1.0em 1.5em 1.0em 1.0em;
  border-color: #54A280;
}
.btn_area a.btn_large span{
  position: absolute;
  top: 30%;
  right: 2.0em;
  height: 1.5em;
  width: 1.5em;
  border: 2px solid #FFF;
  border-radius: 50px;
}
.btn_area a.btn_large::before{ bottom:1.85em; right:2.39em; background: #FFF !important; }
.btn_area a.btn_large::after{ bottom:1.65em; right: 2.39em; border-color: #FFF !important; }
.btn_area a.btn_large:hover{ color:#54A280 !important; background:#FFF !important; }
.btn_area a.btn_large:hover span{ border-color: #54A280 !important; }
.btn_area a.btn_large:hover::before{ background: #54A280 !important; }
.btn_area a.btn_large:hover::after{ border-color: #54A280 !important; }

.btn_area a.btn_small{
font-size: 1.0em;
min-width: 100%;
padding: 0.5em 1.5em;
}
.btn_area a.btn_small::before,
.btn_area a.btn_small::after{ display: none; }

/*Image*/
#contents a:hover img { opacity: 0.8; transition: 0.3s;}

/*Top Page -----------------------------------------------------*/
#toppage #contents{ margin-bottom: 0;}

.top_img{
    width: auto;
    height: 80vh;
    margin-top: 100px;
    margin-right: 80px;
    background: url(../img/top/top.jpg) center center no-repeat;
    background-size:cover;
    position: relative;
 }
    .top_img .catch{
        font-size: 2.0em;
        font-weight: bold;
        max-width: 600px;
        padding: 50px;
        background: #FFF;
        position: absolute;
        top: 30%;
        right: -100px;
    }

.number{
    color: #54A280;
    font-family: 'Noto Sans Kannada', sans-serif;
    font-size: 42px;
    font-weight: 900;
    line-height: 110px;
    display: inline-block;
    width: 110px;
    height: 110px;
    text-align: center;
    margin:0 0 -25px 0;
    z-index: 1;
    position: relative;
}
.number::after{
    content: "";
    background-color: #FFF;
    width: 110px;
    height: 110px;
    border-radius: 100px;
    top: -8px;
    left: 0;
    position: absolute;
    z-index: -1;
}

#toppage section.about{ padding-top: 20px; }
#toppage section.about h2{ margin-top: -0.1em; }
#toppage section.about .flex-item{ margin-bottom: 80px; }
#toppage section.about .flex-item:nth-of-type(even) .item_img{ order: 2; margin-left: 5%; margin-right: 0; }

#toppage section.works{ color: #FFF; padding-top: 40px; padding-bottom: 40px; margin-bottom: 0; }
#toppage section.works h2 { text-align: center; margin-top: 0; margin-bottom: 1.0em;}
#toppage section.works h3 { font-size: 1.25em; }
#toppage section.works a{ color: #FFF; font-weight: bold; }


/*Sub Page ---------------------------------------------------------------------*/
.page_header{ background: #FFF; }
.page_header h2{ font-size: 2.5em; color: #54A280; padding: 30px 0px 20px; margin: 0 0 30px 0; }

h3.number_title{
  font-size: 2.25em;
  text-align: center;
  padding: 0.25em 0 0.75em;
  position: relative;
  border-bottom: 2px solid #3B4043;
}
h3.number_title .number{
  color: #FFF;
  font-size: 64px;
  line-height: 150px;
  width: 150px;
  height: 150px;
  position: absolute;
  left: 0;
  top: -50px;
}
h3.number_title .number::after{
  background-color: #54A280;
  width: 150px;
  height: 150px;
  border-radius: 100px;
  top: -0.2em;
  left: 0;
}
h3.section_title{
  font-size: 2.25em;
  text-align: left;
  padding:0 0 0.5em ;
  margin: 0 0 0.4em;
  border-bottom: 2px solid #3B4043;
}
.img_block{
  height: 380px ;
  width: auto;
  margin: 0 -40px !important ;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
.img_block .sub_title {
  background: #FFF;
  font-weight: bold;
  max-width: 475px;
  padding: 50px;
  background: #FFF;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right:10%;
  box-shadow: 0 5px 5px 0 rgba(0, 0, 0, .1);
}
.img_block .sub_title b{
  display: block;
  font-size: 1.5em;
}

/*Sub Page (Works) ---------------------------------------------------------------------*/
#work01 .img_block{ background-image: url(../img/works/img_block_01.jpg);}
#work02 .img_block{ background-image: url(../img/works/img_block_02.jpg);}
#work03 .img_block{ background-image: url(../img/works/img_block_03.jpg);}

#work01{ margin-top: 0; padding-bottom: 100px;}
#work02 { padding-bottom: 100px;}
#work03 { padding-bottom: 50px;}

.box{
    padding: 50px 0;
    margin: 0 ;
}
.box.no_border{
    padding-top: 15px !important;
}
.box:last-child{ padding: 50px 0 0; }
.box h4{
    padding:0.25em 0 0 200px;
    margin: 0;
    text-align: left;
    position: relative;
}
.box h4::after{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 160px;
    height: 160px;
    background-repeat: no-repeat;
    background-size: contain;
}
.box h4.icon01::after{ background-image: url(../img/works/icon_01.svg); }
.box h4.icon02::after{ background-image: url(../img/works/icon_02.svg); }
.box h4.icon03::after{ background-image: url(../img/works/icon_03.svg); }
.box h4.icon04::after{ background-image: url(../img/works/icon_04.svg); }
.box h4.icon05::after{ background-image: url(../img/works/icon_05.svg); }
.box h4.icon06::after{ background-image: url(../img/works/icon_06.svg); }

.box p.line{ margin: 0 0 50px 200px; padding: 1.0em 0 2.0em; border-bottom: 2px solid #3B4043; }
.box p.no_border{ margin-bottom: 0; padding-bottom: 0; }

.box .case{ display: flex; flex-wrap: nowrap; }
.box .case h5{ min-width: 200px; margin-top: 0; font-size: 1.15em;} 
.box .case h5 span{ position: relative; display: block; text-align: center; margin-top:40px; margin-left: 20px; width: 110px; height: 110px; }
.box .case h5 span::after{ content: ""; border: 2px solid #54A280; width: 110px; height: 110px; position: absolute; left: 2px; top:-40px ; border-radius: 100px;} 
.box .case ul.item{ width: auto ; display: flex; flex-wrap: wrap; gap: 1.0em 0; margin: 0 !important;} 
.box .case ul.item li::before{ display: none !important;} 
.box .case ul.item li.img{ width: 300px; box-sizing: border-box; }
.box .case ul.item li.img img{ max-width: 280px;}
.box .case ul.item li.text{ width: calc(100% - 300px); } 
.box .case ul.item li.text .title{ font-size: 1.2em; font-weight: bold; margin: -0.4em 0 0.4em;}


/*Sub Page (About) ---------------------------------------------------------------------*/
#about .img_block{ background-image: url(../img/about/img_block_01.jpg);}

.no_border h4{
    padding:0 0.5em 1.0em;
    margin:0 0 2.0em 0;
    text-align: center;
    border-bottom: 2px solid #3B4043;
}
#greeting{
  padding-bottom: 80px;
}
#greeting h3{
    padding: 1.0em 0 0 0;
    border: none;
}
#greeting h4{
    font-size: 2.0em;
    margin:-0.5em 0 0.5em;
    border: none;
}
#greeting p{
    text-indent: 1.0em;
    margin-bottom: 1.0em;
    border: none;
}
#info .inner{
    padding: 2.0em;
    border:10px solid #54A280;
}
#info .inner h4{
    text-align: left;
    padding:0 0 1.0em;
}
.partner_list { line-break: strict; }

/*Sub Page(Business) -------------------------------------------------*/
#business .img_block{ background-image: url(../img/business/img_block_01.jpg);}

#business00 .flex-item.col2{
  margin-bottom: 80px;
}
#business00 .flex-item.col2 .item_box:first-child{
  max-width: 560px;
}
#business00 .flex-item.col2 .item_box h4{
  text-align: center;
  margin: 2.0em 0 1.0em;
  position: relative;
}
#business00 .flex-item.col2 .item_box h4 span{
  color: #54A280;
  font-size: 1.5em;
  font-family: 'Noto Sans Kannada', sans-serif;
  font-weight: 700;
  position: absolute;
  top: -1.5em;
  right: 0;
  left: 0;
  margin: 0 auto;
}
#business00 .flex-item.col2 .sub_title{
 font-size: 1.15em;
 font-weight: bold;
 padding-bottom: 0.5em;
 margin-bottom: 1.0em;
 border-bottom: 2px solid #000;
}

/*Sub Page(Contact)----------------------------------------------*/
#contact .img_block{ background-image: url(../img/contact/img_block_01.jpg);}

#privacy{
    max-width: 820px;
    margin: 0 auto;
}
#privacy h3{ font-size: 1.2em; }
#privacy h4{ font-size: 1.0em; }
#privacy p{ margin-bottom: 2.0em;}
#privacy p:first-of-type{ margin-bottom: 3.0em;}


/*Page-TOP -----------------------------------------------------*/
#backToTop{
    position:fixed;
    z-index:100;
    bottom:20px;
    right:20px;
}
#backToTop a{
    color:#54A280;
    display:block;
    width: 45px;
    height: 45px;
    text-decoration:none;
    padding:0;
    border:2px solid #54A280;
    border-radius: 50px;
}
#backToTop a img{
  max-width: 100%;
  transform: rotate( -90deg );
}
#backToTop a:hover{
    opacity: 0.9;
}

/*Style -----------------------------------------------------*/
/*Color*/
.bg_green{ background: #54A280 !important; color: #FFF !important;}

/*Font*/
.text_l{ font-size: 1.2em !important; }

/*Aline*/
.text_center{ text-align: center !important; }

/*Decoration*/
.no_border{ border: none !important; }

/*Margin*/
.mb_1{ margin-bottom: 1.0em !important; }
.mb_2{ margin-bottom: 2.0em !important; }
.mb_3{ margin-bottom: 3.0em !important; }

/*Padding*/
.pt_1{ padding-top: 1.0em !important; }
.pt_2{ padding-top: 2.0em !important; }
.pt_3{ padding-top: 3.0em !important; }


/*----------------------------------------------------------------------
Tablet
------------------------------------------------------------------------*/
@media screen and (max-width: 992px) {

/*layout --------------------------------------------------------*/
#contents{ margin:80px 0;}


/*Header ----------------------------------------------------*/
header .logo{
  margin: 0;
  gap: 0 20px;
  align-items: center;
  z-index: 9999;
  position: fixed;
  top: 10px;
}
header .inner { background: #FFF; height: 80px; }
header .logo h1 img{ max-width:70px ;}
header .description span{ font-size:1.2em ; display: inherit; }
header .description span.pc{ display: none; }
  
/*g-nav*/
.openbtn1{
    position:fixed;
    z-index: 10000;/*ボタンを最前面に*/
    top:14px;
    right: 24px;
    cursor: pointer;
    width: 50px;
    height:50px;
}
.openbtn1 span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 4px;
    border-radius: 2px;
    background-color: #3B4043;
    width: 70%;
}
.openbtn1 span:nth-of-type(1) {top:10px; }
.openbtn1 span:nth-of-type(2) {top:22px;}
.openbtn1 span:nth-of-type(3) {top:34px;}
.openbtn1.active span:nth-of-type(1) {top: 18px;left: 18px;transform: translateY(6px) rotate(-45deg);width: 70%; background-color: #54A280;}
.openbtn1.active span:nth-of-type(2) {opacity: 0;}
.openbtn1.active span:nth-of-type(3){top: 30px;left: 18px;transform: translateY(-6px) rotate(45deg);width: 70%; background-color: #54A280;}

#g-nav-list{width: 100%;}

#g-nav{
    position:fixed;
    z-index: 999;
    top:0;
    right: -120%;
    width:100%;
    height: 100vh;
    background:#FFF;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
#g-nav.panelactive{right: 0;}
#g-nav.transition{transition: all 0.8s;}

#g-nav ul {
    flex-wrap: wrap;
    min-height: 50vh;
}
    #g-nav li{
        width: 100%;
        display: inline-block;
        text-align: center;
        margin: 0 auto;
    }
    #g-nav li a{
        color: #54A280;
        text-decoration: none;
        width: 100%;
        padding:10px;
        display: block;
        font-size: 18px;
        font-weight: bold;
    }
    #g-nav li a:hover{
        opacity: 0.8 ;
    }

/*Top Page ---------------------------------------------------*/
.top_img{ margin-top: 80px; }

/*Sub Page --------------------------------------------------*/
.page_header h2{ font-size: 2.0em; padding: 30px 0px 25px;}
.img_block{ height: 280px ;}
.img_block .sub_title { max-width: 375px; padding: 30px;}

h3.number_title{
    text-align: left;
    font-size: 2.25em;
    padding: 0.25em 0 0.75em 200px;
}
/*Sub Page(Works) ------------------------------------------*/
.box .case ul.item li.img{ width: 100%; } 
.box .case ul.item li.img img{ max-width: 100%;}
.box .case ul.item li.text{ width: 100% ;}

/*Sub Page(About) ------------------------------------------*/
#greeting h4{
    padding-bottom: 0.75em;
    margin-bottom: 0;
}

}


/*---------------------------------------------------------------
Mobile
----------------------------------------------------------------*/
@media screen and (max-width: 768px) {
/*Common ---------------------------------------------------*/
h1{ font-size:2.5em; }
h2{ font-size:2.0em; }
h3{ font-size:1.4em; }
h4{ font-size:1.2em; }
h5{ font-size:1.0em; }

/*Footer ---------------------------------------------------*/
footer { padding-inline: 0;}
footer , .copy { text-align: center; }

/*layout ---------------------------------------------------*/
section{ margin: 50px 0 100px;padding: 0; }


/*Item -----------------------------------------------------*/
/*Flex-box*/
.flex-item { flex-wrap: wrap; gap: 0;}
.flex-item .item_img{ width: 100% ; margin-right: 0; margin-bottom: 1.0em; }
.flex-item .item_text{ width: 100%; }

.flex-item .item_box,
.flex-item.col2 .item_box,
.flex-item.col3 .item_box{ width: 100%; margin-right: 0; margin-bottom: 60px;}

/*Accordion-box*/
.toggle_contents {
  width: 100%;
  margin-bottom: 30px;
}
.toggle_title {
	position: relative;
	padding: 15px;
	cursor: pointer;
	font-size: 1.0em;
	text-align: center;
  display: block !important;
	width: 100%;
  color: #54A280;
  font-weight: bold;
  border: 2px solid #54A280;
  border-radius: 50px;
}
.toggle_btn {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	background: #54A280;
	display: block;
	width: 24px;
	height: 24px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	border-radius: 50%;
}
.toggle_btn:before, .toggle_btn:after {
	display: block;
	content: '';
	background-color: #fff;
	position: absolute;
	width: 10px;
	height: 2px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.toggle_btn:before {
	width: 2px;
	height: 10px;
}
.toggle_title.selected .toggle_btn:before {
	content: normal;
}
.toggle_contents dd {
  margin: 30px 0 0 0;
	display: none;
}

/*Table*/
#contents table{
    border-top: 1px solid #CCC;
}
#contents th , #contents td {
    display: block;
    width: 100%;
    padding: 0.75em;
}
#contents th {
    background: #F0F3F5;
}

/*Button*/
.btn_area a{
  min-width: 100%;
}

.btn_area a.btn_large{
  font-size: 1.3em;
  padding: 1.0em 2.0em 1.0em 0.5em;
}
.btn_area a.btn_large span{
  top: 32%;
  right: 1.0em;
  height: 1.6em;
  width: 1.6em;
}
.btn_area a.btn_large::before{ bottom:1.7em; right:1.45em; }
.btn_area a.btn_large::after{ bottom:1.45em; right: 1.45em; }

/*Top Page ---------------------------------------------------*/
.top_img{ height: 60vh; margin-right: 0; }
.top_img .catch{ font-size: 1.2em; max-width: 85%; padding: 25px; top: 35%; right: 0;}

.number{
  font-size: 36px;
  width: 80px;
  height: 80px;
  line-height: 80px;
  margin: 0 0 -40px -15px;
  text-indent: 0.2em;
}
.number::after{
  width: 85px;
  height: 85px;
  
}
#toppage section.about h2{ margin-top: 0.5em; font-size: 1.5em; }
#toppage section.about .flex-item:nth-of-type(even) .item_img{ order: 0; margin-left: 0; }

/*Sub Page  ---------------------------------------------------*/
h3.number_title{
    font-size: 1.5em;
    text-align: center;
    padding: 20px 0;
    margin-top:20px;
}
h3.number_title .number{
    font-size: 32px;
    width: 80px;
    height: 80px;
    line-height: 80px;
    left: 0;
    right: 0;
    top: -70px;
    display: inline-block;
    margin: 0 auto;
}
h3.number_title .number::after{
    width: 80px;
    height: 80px;
    top: -0.2em;
    left: 0;
}
h3.section_title{
    font-size: 1.8em;
    text-align: left;
    padding:0 0 0.5em ;
}
.img_block{ height: 200px ;background-position: center;}
.img_block .sub_title {
  font-size: 0.75em;
  max-width: 70%;
  padding: 20px;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: auto;
  transform:none;
  bottom: -20px;
}

/*Sub Page(works) ----------------------------------------------*/
.box , .box.no_border{ padding-bottom: 50px;}
.box h4{
    font-size: 1.2em;
    padding-top: 125px;
    padding-left: 0;
}
.box h4::after{
    left: 0;
    right: 0;
    top: -35px;
    display: inline-block;
    margin: 0 auto;
    width: 140px;
    height: 140px;
    background-repeat: no-repeat;
    background-size: contain;
}
.box p.line{ margin: 0 ; border: none;}
.box p.no_border{ margin: 0;}

.box .case{ flex-wrap: wrap; }
.box .case h5{display: none; } 
.box .case ul.item{ width: 100% !important;} 
.box .case ul.item li.img{ width: 100%; } 
.box .case ul.item li.img img{ max-width: 100%;}
.box .case ul.item li.text{ width: 100% ;}


/*Sub Page (About) --------------------------------------------*/
.no_border h4{
    padding:0 0 1.0em 0;
    margin:0 0 2.0em 0;
}
#greeting {
  padding-bottom: 0;
}
#greeting h3{
    padding: 1.0em 0 0 0;
}
#greeting h4{
    font-size: 1.5em;
    margin: 1.0em 0;
    padding: 0;
}
#greeting .item_img{
  text-align: center;
}
#info .inner{
    padding: 1.0em ;
}

/*Sub Page(Business) ------------------------------------------*/
#business00 .flex-item.col2 .item_box:first-child{
  max-width: 100%;
}
#other{
  margin-bottom: 0;
}


/*Page-TOP ----------------------------------------------------*/
#backToTop{ bottom:20px; right:15px; }


/*Style -------------------------------------------------------*/
/*Font*/
.text_l{ font-size: 1.0em; }

}


/*-----------------------------------------------------------
Display
-----------------------------------------------------------*/
.pc{display:block !important;} 
.tb{display:none !important;}
.sm{display:none !important;}

@media screen and (max-width: 992px) {
    .pc{display:none !important;}
    .tb{display:block !important;} 
    .sm{display:none !important;}
}

@media screen and (max-width: 768px) {
    .pc{display:none !important;}
    .tb{display:none !important;}
    .sm{display:block !important;}
}