@charset "UTF-8";
/* --------------
reset
-------------- */
input[type=submit],
label {
  cursor: pointer;
}

/* --------------
base
-------------- */
.ifsp {
  display: none !important;
}

a img,
li {
  transition: ease 0.1s;
}

a:hover img,
li:hover {
  transition: ease 0.4s;
}

a,
a * {
  transition: all ease 0.1s;
}

a:hover,
a:hover * {
  transition: all ease 0.3s;
}

/* --------------
 modules css
-------------- */
/* ---------- float */
.fll {
  float: left;
}

.flr {
  float: right;
}

.flc {
  margin-left: auto;
  margin-right: auto;
}


.pc_all {
  text-align: left;
}
.pc_alc {
  text-align: center;
}
.pc_alr {
  text-align: right;
}

/* ---------- width */
.wd5 {width: 5% !important;}
.wd10 {width: 10% !important;}
.wd15 {width: 15% !important;}
.wd20 {width: 20% !important;}
.wd25 {width: 25% !important;}
.wd30 {width: 30% !important;}
.wd35 {width: 35% !important;}
.wd40 {width: 40% !important;}
.wd45 {width: 45% !important;}
.wd50 {width: 50% !important;}
.wd55 {width: 55% !important;}
.wd60 {width: 60% !important;}
.wd65 {width: 65% !important;}
.wd70 {width: 70% !important;}
.wd75 {width: 75% !important;}
.wd80 {width: 80% !important;}
.wd85 {width: 85% !important;}
.wd90 {width: 90% !important;}
.wd95 {width: 95% !important;}
.wd100 {width: 100% !important;}

.wd480px { max-width: 480px; }
.wd640px { max-width: 640px; }
.wd750px { max-width: 750px; }
.wd820px { max-width: 820px; }
.wd900px { max-width: 900px; }
.wd1000px { max-width: 1000px; }


.pc_mt0 {  margin-top: 0px !important;}
.pc_mt3 {  margin-top: 3px !important;}
.pc_mt5 {  margin-top: 5px !important;}
.pc_mt10 {  margin-top: 10px !important;}
.pc_mt20 {  margin-top: 20px !important;}
.pc_mt30 {  margin-top: 30px !important;}
.pc_mt40 {  margin-top: 40px !important;}
.pc_mt50 {  margin-top: 50px !important;}

.pc_mb0 {  margin-bottom: 0px !important;}
.pc_mb3 {  margin-bottom: 3px !important;}
.pc_mb5 {  margin-bottom: 5px !important;}
.pc_mb10 {  margin-bottom: 10px !important;}
.pc_mb20 {  margin-bottom: 20px !important;}
.pc_mb30 {  margin-bottom: 30px !important;}
.pc_mb40 {  margin-bottom: 40px !important;}
.pc_mb50 {  margin-bottom: 50px !important;}

.pc_pb0 {  padding-bottom: 0px !important;}
.pc_pb3 {  padding-bottom: 3px !important;}
.pc_pb5 {  padding-bottom: 5px !important;}
.pc_pb10 {  padding-bottom: 10px !important;}
.pc_pb20 {  padding-bottom: 20px !important;}
.pc_pb30 {  padding-bottom: 30px !important;}

.pc_pt0 {  padding-top: 0px !important;}
.pc_pt3 {  padding-top: 3px !important;}
.pc_pt5 {  padding-top: 5px !important;}
.pc_pt10 {  padding-top: 10px !important;}
.pc_pt20 {  padding-top: 20px !important;}
.pc_pt30 {  padding-top: 30px !important;}


/* ----- images */
.imgL {
  float: left;
  margin-right: 10px;
  margin-bottom: 10px;
}

.imgR {
  float: right;
  margin-left: 10px;
  margin-bottom: 10px;
}

/* ----- base width */

body,
#header,
#footer,
#container {
  /*min-width: 1000px;*/
}

/* ----- search */

/* --------------
common
-------------- */
/* =header
-------------------------------------------------------------- **/

/* -----------------header */
header .overlay,
header .header-menu-icon {
  display: none;
}

/* =container
-------------------------------------------------------------- **/
#container {
  /*padding-top: 20px;*/
}

.main {
  width: 100%;
}
.content {
  width: 100%;
  position: relative;
}

/* =breadcrumb
---------------------------------------------------- */
#breadcrumb li:last-child {
  max-width: 40em;
}

/* =headline / titles
---------------------------------------------------- */
/* =column
---------------------------------------------------- */


.clm1, .clm2, .clm3, .clm4, .clm5, .clm6 {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
}

.clm1 {
  flex-direction: column;
}

.clm2 > * {
  width: 48%;
  width: calc((100% - (20px * 1) ) / 2 );
}
.clm3 > * {
  width: 30%;
  width: calc((100% - (20px * 2) ) / 3 );
}
.clm4 > * {
  width: 23%;
  width: calc((100% - (20px * 3) ) / 4 );
}
.clm5 > * {
  width: 18%;
  width: calc((100% - (20px * 4) ) / 5 );
}
.clm6 > * {
  width: 14%;
  width: calc((100% - (20px * 5) ) / 6 );
}



/* =sidebar
---------------------------------------------------- */

/* =footer
-------------------------------------------------------------- **/

/* =copyright
---------------------------------------------------- */
#copyright {
}

/* =pageTop
---------------------------------------------------- */
#pageTop {
}



/* フォーム */
.tbl-sendform {
}
.tbl-sendform th {
  width: 15em;
}

.tbl-sendform .error {
  position: absolute;
  bottom: 100%;
  left: 10px;
}

/* --------------
 home contents
-------------- */


.block-flex {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: nowrap;
}
.block-flex.flex-reverse {
  flex-direction: row-reverse;
}



.list-home_services .block-flex {
  align-items: center;
}
.list-home_services .block-flex .flex-img {
  width: 25%;
}
.list-home_services .block-flex .flex-txt {
  width: 25%;
  flex-grow: 1;
}


.home-about .block-flex {
}
.home-about .block-flex .flex-img {
  width: 40%;
}
.home-about .block-flex .flex-img figure {
  transform: translateX(-25%);
}
.home-about .block-flex .flex-txt {
  width: 55%;
}


.list-members li:before {
  left: 125px;
  width: 90%;
  width: calc(100% - 125px);
}
.list-members .block-flex .flex-img {
  width: 250px;
}
.list-members .block-flex .flex-txt {
  width: 30%;
  flex-grow: 1;
}
.list-members .block-flex .flex-txt h3 {
  margin-top: .5em;
}


/* --------------
 lower
-------------- */

/* =works
---------------------------------------------------- */

.list-works-detail:not(.list-works-detail-keypoint) {
  display: grid;
  grid-template-columns: 14em 1fr;
  align-items: flex-start;
}
.list-works-detail-keypoint dt {
  margin-bottom: 1em;
}
.list-works-detail-keypoint dd {
  margin-left: 2em;
}
