@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&family=Roboto+Condensed:wght@300;400;700&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body,
html {
  height: 100%;
}

body {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 400;
  font-weight: 400;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
  color: #000;
  min-width: 1200px;
  /*	min-width: 1400px;*/
}

body.stop-scrolling {
  height: 100%;
  overflow: hidden !important;
}

.h1,
h1 {
  font-size: 26px;
}

a {
  transition: color 0.2s, background-color 0.2s, border-color 0.2s, opacity 0.2s, text-decoratin 0.2s;
}

a:link,
a:visited {
  color: #3786CD;
}

img {
  height: auto;
  max-width: 100%;
}

.container {
  width: 1168px;
  padding-left: 24px;
  padding-right: 24px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .container {
    width: 100%;
  }
}

main article {
  padding-bottom: 70px;
}
@media screen and (max-width: 767px) {
  main article {
    padding-bottom: 30px;
  }
}

.columns {
  padding-top: 44px;
}
@media screen and (max-width: 767px) {
  .columns {
    flex-direction: column;
    padding-top: 20px;
  }
}
.columns aside {
  width: 255px;
  order: 1;
  padding-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .columns aside {
    width: 100%;
    padding-bottom: 50px;
  }
}
.columns main {
  width: 830px;
  order: 2;
}
@media screen and (max-width: 767px) {
  .columns main {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  body {
    min-width: auto;
  }
}
/*pc sp switch*/
.pc {
  display: block !important;
}

span.pc {
  display: inline !important;
}

.sp {
  display: none !important;
}

@media only screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  span.sp {
    display: inline !important;
  }
}
/*共通*/
.fr {
  list-style: none;
  display: flex;
}

.fr.between {
  display: flex;
  justify-content: space-between !important;
}

.fr.start {
  display: flex;
  justify-content: flex-start !important;
}

.fr.reverse {
  display: flex;
  flex-direction: row-reverse;
}

.fr.wrap {
  display: flex;
  flex-wrap: wrap;
}

.fr.center {
  display: flex;
  justify-content: center;
}

.fr.hcenter {
  display: flex;
  align-items: center;
}

.fr.bottom {
  display: flex;
  align-items: flex-end !important;
}

.fr.top {
  display: flex;
  align-items: flex-start !important;
}

/*btns*/
.btn {
  display: inline-block;
  padding: 0;
  border: 0;
  border-radius: 6px;
}

/*==================================================
 * header
 *================================================*/
.fixed.header + .wrapper {
  padding-top: 130px;
}

.wrapper {
  padding-top: 130px;
}
@media screen and (max-width: 767px) {
  .wrapper {
    padding-top: 70px !important;
    overflow: hidden;
  }
}

#header {
  padding-top: 42px;
  padding-bottom: 0px;
  top: 0;
  left: 0;
  position: fixed;
  width: 100%;
  background-color: transparent;
  transition: all 0.2s;
  height: 130px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  background-color: #fff;
  z-index: 3;
  transition: all 0.2s;
}
.home #header {
  border-bottom: 1px solid #3786CD;
}
@media screen and (max-width: 767px) {
  #header {
    height: 70px;
    padding-top: 0;
    align-items: center;
  }
}
.home #header {
  /*		background-color: transparent;
  		height: 150px;
  */
  opacity: 0;
  transform: translate3d(0, -40px, 0);
  transition: opacity 1.24s cubic-bezier(0.54, 0, 0, 0.99) 0.2s, transform 1.06s cubic-bezier(0.54, 0, 0, 0.99) 0.14s;
}
.home #header.-is-show {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
#header .logo {
  margin-left: 60px;
}
@media screen and (max-width: 767px) {
  #header .logo {
    margin-left: 12px;
  }
}
#header .logo .navbar-brand {
  margin-top: 0px;
  margin-left: 0px;
  display: block;
  text-indent: 150%;
  overflow: hidden;
  white-space: nowrap;
  background: url(../images/logo.png) no-repeat;
  background-size: 100% auto;
  width: 294px;
  height: 46px;
  padding: 0px;
  /*
  			.home & {
  				background-image: url(../images/logo-w.png);
  				width: 294px;
  				height: 46px;

  				@media screen and (max-width: 767px) {
  					width: 248px;
  					height: 39px;
  					background-image: url(../images/logo.png);
  				}
  			}
  */
}
@media screen and (max-width: 767px) {
  #header .logo .navbar-brand {
    width: 248px;
    height: 39px;
    margin: 0;
    background-image: url(../images/sp-logo.png);
  }
}
#header ul.topmenu {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  #header ul.topmenu {
    display: none;
  }
}
#header ul.topmenu > li {
  margin: 0 0 0 12px;
  position: relative;
}
#header ul.topmenu > li > a {
  display: block;
  margin: 0;
  width: 126px;
  height: 24px;
  line-height: 1;
  font-size: 15px;
  float: none;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  background: none;
  text-decoration: none;
  color: #000;
}
#header ul.topmenu > li > a:hover {
  color: #3786CD !important;
}
#header ul.topmenu > li.link1 a {
  border: 1px solid #0760AE;
  color: #0760AE;
}
#header ul.topmenu > li.link1 a:hover {
  background-color: #0760AE;
  color: #fff !important;
}
#header ul.topmenu > li.link2 a {
  background-color: #2CB5A9;
  color: #fff;
}
#header ul.topmenu > li.link2 a:hover {
  border: 1px solid #2CB5A9;
  color: #2CB5A9 !important;
  background-color: #fff;
}
#header ul.topmenu > li.lang {
  display: flex;
}
#header ul.topmenu > li.lang > * {
  width: 56px;
  height: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
}
#header ul.topmenu > li.lang span {
  background-color: #0760AE;
  color: #fff;
}
#header ul.topmenu > li.lang a {
  color: #000;
  background-color: #EAEAEA;
}
#header .gmenu {
  margin-top: 8px;
}
#header .gmenu ul.navi {
  list-style: none;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  #header .gmenu ul.navi {
    display: none;
  }
}
#header .gmenu ul.navi > li {
  margin: 0 0 0 30px;
  padding-bottom: 32px;
}
#header .gmenu ul.navi > li > a {
  display: block;
  margin: 0;
  font-size: 16px;
  white-space: nowrap;
  font-weight: bold;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  background: none;
  text-decoration: none;
  width: auto !important;
  height: auto !important;
  color: #000;
}
#header .gmenu ul.navi > li > a:hover {
  color: #3786CD !important;
}
#header .gmenu ul.navi .sub-menu {
  position: absolute;
  left: 50%;
  top: calc(100% - 2px);
  width: 100%;
  transform: translateX(-50%) scaleY(0);
  transform-origin: center top;
  transition: all 0.3s;
  background-color: #F1F6FC;
  height: 254px;
}
#header .gmenu ul.navi .sub-menu ul {
  display: flex;
  justify-content: center;
  -moz-column-gap: 26px;
       column-gap: 26px;
  list-style: none;
  padding: 46px 0 0 0;
}
#header .gmenu ul.navi .sub-menu ul li a {
  width: 260px;
  display: block;
  position: relative;
  text-decoration: none;
}
#header .gmenu ul.navi .sub-menu ul li a:hover {
  opacity: 0.7;
}
#header .gmenu ul.navi .sub-menu ul li a span {
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  text-align: center;
  height: 42px;
  color: #000;
}
#header .gmenu ul.navi .sub-menu ul li a::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: auto;
  aspect-ratio: 26/12;
}
#header .gmenu ul.navi .sub-menu ul li a.menu-about01::before {
  background-image: url(../images/menu-about01.jpg);
}
#header .gmenu ul.navi .sub-menu ul li a.menu-about02::before {
  background-image: url(../images/menu-about02.jpg);
}
#header .gmenu ul.navi .sub-menu ul li a.menu-about03::before {
  background-image: url(../images/menu-about03.jpg);
}
#header .gmenu ul.navi .sub-menu ul li a.menu-pro01::before {
  background-image: url(../images/menu-pro01.jpg);
}
#header .gmenu ul.navi .sub-menu ul li a.menu-pro02::before {
  background-image: url(../images/menu-pro02.jpg);
}
#header .gmenu ul.navi .sub-menu ul li a.menu-pro03::before {
  background-image: url(../images/menu-pro03.jpg);
}
#header .gmenu ul.navi > li:hover .sub-menu {
  transform: translateX(-50%) scaleY(1);
  width: 100%;
}
.home.fixed #header {
  /*		height: 110px;
  		background-color: #fff;

  		@media screen and (max-width: 767px) {
  			height: 70px;
  			background-color: #fff;
  		}
  */
}
.home.fixed #header .logo .navbar-brand {
  background-image: url(../images/logo.png) !important;
}
.home.fixed #header ul.lang {
  justify-content: flex-end;
}
.home.fixed #header ul.lang li a {
  color: #000;
}

.headbtn {
  margin-right: 55px;
}
@media screen and (max-width: 767px) {
  .headbtn {
    display: flex;
    margin-right: 20px;
  }
}
.headbtn ul.lang {
  list-style: none;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .headbtn ul.lang {
    display: none;
  }
}
.headbtn ul.lang > li {
  margin: 0 10px;
  position: relative;
}
.headbtn ul.lang > li > a {
  display: block;
  margin: 0;
  font-size: 16px;
  float: none;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  background: none;
  text-decoration: none;
  width: auto !important;
  height: auto !important;
}
.home .headbtn ul.lang > li > a {
  color: #fff;
}

@media only screen and (max-width: 767px) {
  .home #contents {
    padding-top: 0px;
  }
  .headbtns {
    display: none;
  }
}
/*menu*/
.navbar-toggle {
  display: none;
}
@media only screen and (max-width: 767px) {
  .navbar-toggle {
    cursor: pointer;
    outline: none;
    z-index: 1000;
    display: block !important;
    padding: 9px 0;
    margin: 0 0 0 40px;
    border: 0;
    height: 60px;
    width: 40px;
    flex-shrink: 0;
    flex-grow: 0;
    background-color: transparent;
    transition: all 0.2s;
    text-decoration: none;
    text-align: center;
    font-size: 14px;
    color: #000 !important;
    width: 30px;
    height: auto;
  }
}
.navbar-toggle span.mtxt {
  display: block;
  margin: 3px 0 0 0;
}
@media screen and (max-width: 767px) {
  .navbar-toggle span.mtxt {
    display: none !important;
  }
}
.navbar-toggle svg {
  width: 40px;
}
@media screen and (max-width: 767px) {
  .navbar-toggle svg {
    width: 30px;
  }
}
.navbar-toggle svg rect {
  fill: #000;
}
@media screen and (max-width: 767px) {
  .navbar-toggle svg rect {
    fill: #3786CD;
  }
}
.home .navbar-toggle svg rect {
  fill: #fff;
}
@media screen and (max-width: 767px) {
  .home .navbar-toggle svg rect {
    fill: #3786CD;
  }
}
.home.fixed .navbar-toggle svg rect {
  fill: #000;
}
@media screen and (max-width: 767px) {
  .home.fixed .navbar-toggle svg rect {
    fill: #3786CD;
  }
}
.navbar-toggle:hover {
  color: #3786CD !important;
}
.navbar-toggle:hover svg rect {
  fill: #3786CD !important;
}
.home .navbar-toggle {
  color: #fff !important;
}
.home .navbar-toggle:hover, .home .navbar-toggle:hover span.mtxt {
  color: #3786CD !important;
}
.home.fixed .navbar-toggle {
  color: #000 !important;
}
.spmenu .navbar-toggle {
  margin: 35px 60px 35px auto;
}
@media screen and (max-width: 767px) {
  .spmenu .navbar-toggle {
    margin: 15px 15px 35px auto;
  }
}

.page-header {
  margin: 0 0px;
  padding: 0 0;
  position: relative;
  border-bottom: 0;
  overflow: visible;
  background-color: #fff;
}
.page-header:before {
  content: "";
  width: calc(50% + 560px);
  top: 100px;
  left: 0;
  position: absolute;
  z-index: 0;
  height: 500px;
  background: linear-gradient(115deg, #3786cd 0%, #2661a8 100%);
}
.page-inquiry .page-header:before, .page-download .page-header:before, .search .page-header:before, .blog .page-header:before, .single .page-header:before, .archive .page-header:before {
  display: none;
}
@media screen and (max-width: 767px) {
  .page-header:before {
    height: 275px;
    top: 83px;
  }
}
.page-header .inner {
  border-radius: 0;
  margin-right: 0px;
  margin-left: 0;
  overflow: hidden;
  position: relative;
  display: flex;
}
.page-inquiry .page-header .inner, .page-download .page-header .inner, .search .page-header .inner, .blog .page-header .inner, .single .page-header .inner, .archive .page-header .inner {
  background: linear-gradient(115deg, #3786cd 0%, #2661a8 100%);
  height: 150px;
  width: calc(50% + 560px);
}
@media screen and (max-width: 767px) {
  .page-inquiry .page-header .inner, .page-download .page-header .inner, .search .page-header .inner, .blog .page-header .inner, .single .page-header .inner, .archive .page-header .inner {
    padding-left: 24px;
    height: 100px;
    width: calc(100% - 24px);
  }
}
.page-header .inner::before {
  content: "";
  display: block;
  min-width: calc(50% - 560px);
}
.page-inquiry .page-header .inner::before, .page-download .page-header .inner::before, .search .page-header .inner::before, .blog .page-header .inner::before, .single .page-header .inner::before, .archive .page-header .inner::before {
  display: none;
}
@media screen and (max-width: 767px) {
  .page-header .inner::before {
    min-width: auto;
    width: 48px;
  }
}
.page-header .inner .mv {
  flex-grow: 3;
  height: 500px;
  overflow: hidden;
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .page-header .inner .mv {
    height: 275px;
    border-radius: 0;
  }
}
.page-header .inner .ttlarea {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  text-align: left;
  height: auto;
  padding-top: 0px;
  font-size: 20px;
  line-height: 2;
  font-weight: bold;
  letter-spacing: 0.1em;
  z-index: 1;
  overflow: hidden;
}
.page-inquiry .page-header .inner .ttlarea, .page-download .page-header .inner .ttlarea, .search .page-header .inner .ttlarea, .blog .page-header .inner .ttlarea, .single .page-header .inner .ttlarea, .archive .page-header .inner .ttlarea {
  position: relative;
  left: auto;
  top: auto;
  transform: translateY(0);
  width: 1120px;
  margin: 0 0 0 auto;
  display: flex;
  align-items: center;
}
.page-header .inner .ttlarea .h1 {
  font-size: 130px;
  padding-top: 0px;
  margin: 0 0 30px;
  line-height: 1;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 0.8);
  white-space: nowrap;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .page-header .inner .ttlarea .h1 {
    font-size: 65px;
    margin: 50px 0 10px;
  }
}
.page-inquiry .page-header .inner .ttlarea .h1, .page-download .page-header .inner .ttlarea .h1, .search .page-header .inner .ttlarea .h1, .blog .page-header .inner .ttlarea .h1, .single .page-header .inner .ttlarea .h1, .archive .page-header .inner .ttlarea .h1 {
  font-size: 60px;
  color: #fff;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .page-inquiry .page-header .inner .ttlarea .h1, .page-download .page-header .inner .ttlarea .h1, .search .page-header .inner .ttlarea .h1, .blog .page-header .inner .ttlarea .h1, .single .page-header .inner .ttlarea .h1, .archive .page-header .inner .ttlarea .h1 {
    font-size: 28px;
  }
}
@media screen and (max-width: 767px) {
  .tax-csnews_category .page-header .inner .ttlarea, .post-type-archive-csnews .page-header .inner .ttlarea, .single-csnews .page-header .inner .ttlarea {
    margin-bottom: 20px;
  }
}
.tax-csnews_category .page-header .inner .ttlarea p, .post-type-archive-csnews .page-header .inner .ttlarea p, .single-csnews .page-header .inner .ttlarea p {
  color: #fff;
  font-size: 15px;
  margin-left: 30px;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .tax-csnews_category .page-header .inner .ttlarea p, .post-type-archive-csnews .page-header .inner .ttlarea p, .single-csnews .page-header .inner .ttlarea p {
    position: absolute;
    left: -30px;
    bottom: 5px;
    font-size: 11px;
    letter-spacing: normal;
  }
}
.page-header .inner .ttlarea .ttl {
  font-size: 25px;
  color: #000;
  margin-left: 256px;
}
@media screen and (max-width: 767px) {
  .page-header .inner .ttlarea .ttl {
    font-size: 16px;
    margin-left: 66px;
  }
}
.page-inquiry .page-header .inner .ttlarea .ttl, .page-download .page-header .inner .ttlarea .ttl, .search .page-header .inner .ttlarea .ttl, .blog .page-header .inner .ttlarea .ttl, .single .page-header .inner .ttlarea .ttl, .archive .page-header .inner .ttlarea .ttl {
  font-size: 22px;
  color: #fff;
  margin-left: 30px;
}
@media screen and (max-width: 767px) {
  .page-inquiry .page-header .inner .ttlarea .ttl, .page-download .page-header .inner .ttlarea .ttl, .search .page-header .inner .ttlarea .ttl, .blog .page-header .inner .ttlarea .ttl, .single .page-header .inner .ttlarea .ttl, .archive .page-header .inner .ttlarea .ttl {
    font-size: 13px !important;
    margin-left: 10px;
  }
}
.tax-csnews_category .page-header .inner .ttlarea .ttl, .post-type-archive-csnews .page-header .inner .ttlarea .ttl, .single-csnews .page-header .inner .ttlarea .ttl {
  line-height: 1.5;
  letter-spacing: normal;
}
.tax-csnews_category .page-header .inner .ttlarea .ttl span, .post-type-archive-csnews .page-header .inner .ttlarea .ttl span, .single-csnews .page-header .inner .ttlarea .ttl span {
  font-size: 17px;
}
@media screen and (max-width: 767px) {
  .tax-csnews_category .page-header .inner .ttlarea .ttl span, .post-type-archive-csnews .page-header .inner .ttlarea .ttl span, .single-csnews .page-header .inner .ttlarea .ttl span {
    font-size: 11px;
  }
}
.page-aboutus .page-header .mv {
  background-image: url(../images/bg-about.jpg);
}
@media screen and (max-width: 767px) {
  .page-aboutus .page-header .mv {
    background-image: url(../images/sp-bg-about.jpg);
  }
}
.page-service .page-header .mv {
  background-image: url(../images/bg-about.jpg);
}
@media screen and (max-width: 767px) {
  .page-service .page-header .mv {
    background-image: url(../images/sp-bg-about.jpg);
  }
}

.gmenu .nolink {
  cursor: pointer;
}

.gmenu .nolink:before {
  cursor: default;
}

.nolink > a {
  pointer-events: none;
  cursor: pointer;
}

.spmenu.c-offcanvas {
  padding: 0px 0 0 0;
  background-color: #3786cd;
  overflow: hidden;
}
.spmenu.c-offcanvas .spmenuarea {
  margin-top: 0;
  height: calc(100vh - 110px);
  overflow-x: hidden;
  overflow-y: auto;
}
.spmenu.c-offcanvas .inner {
  padding: 0px 30px 0px;
}
.spmenu.c-offcanvas ul {
  list-style: none;
}
.spmenu.c-offcanvas .navi li a {
  padding: 20px 0px;
  color: #fff;
  display: block;
  font-size: 18px;
  text-decoration: none;
  font-weight: bold;
  position: relative;
}
@media screen and (max-width: 767px) {
  .spmenu.c-offcanvas .navi li a {
    padding: 10px 0px;
    line-height: 1.3;
  }
}
.spmenu.c-offcanvas .navi li.menu-item-has-children {
  position: relative;
}
.spmenu.c-offcanvas .navi li.menu-item-has-children > a {
  pointer-events: none;
  /*
  						&:after {
  							font-weight: bold;
  							font-size: 15px;
  							top: 50%;
  							transform: translateY(-50%);
  							position: absolute;
  							right: 15px;
  							content: "\f067";
  							font-family: "Font Awesome 5 Free";
  						}
  */
}
.spmenu.c-offcanvas .navi li.menu-item-has-children > a.active:after {
  /*content: "\f068";*/
}
.spmenu.c-offcanvas .navi li.menu-item-has-children .sub-menu {
  margin-left: 1em;
  /*display: none;*/
}
.spmenu.c-offcanvas .navi li.menu-item-has-children .sub-menu li a {
  font-size: 16px;
  padding: 5px 15px 5px 0;
  font-weight: normal;
}
.spmenu.c-offcanvas .navi li.menu-item-has-children .sub-menu li a::before {
  content: "-　";
}

.c-offcanvas--right {
  width: 368px;
}
@media screen and (max-width: 767px) {
  .c-offcanvas--right {
    width: 320px;
  }
}

.c-offcanvas-bg.is-animating,
.c-offcanvas-bg.is-open {
  background-color: rgba(0, 0, 0, 0);
}
@media screen and (max-width: 767px) {
  .c-offcanvas-bg.is-animating,
.c-offcanvas-bg.is-open {
    background-color: rgba(0, 0, 0, 0.5);
  }
}

@media screen and (max-width: 767px) {
  .menu-spmenu-container {
    padding: 0px;
  }
  .spmenu {
    /*
    ul {
    	list-style: none;
    }
    .navi {
    	li {
    		&:last-child {
    		}

    		a {
    			padding: 20px 15px;
    			color: #fff;
    			display: block;
    			font-size: 16px;
    			text-decoration: none;
    			position: relative;

    			&:after {
    				position: absolute;
    				right: 15px;
    				content: "\f054";
    				font-family: "Font Awesome 5 Free";
    				font-weight: bold;
    				font-size: 15px;
    				top: 50%;
    				transform: translateY(-50%);
    			}
    		}

    		&.menu-item-has-children {
    			>a {
    				&:after {
    					position: absolute;
    					right: 15px;
    					content: "\f067";
    				}

    				&.active {
    					&:after {
    						content: "\f068";
    					}
    				}
    			}

    			.sub-menu {
    				display: none;

    				li {
    					a {
    						padding: 20px 15px 20px 2em;
    					}
    				}
    			}
    		}
    	}
    }
    */
  }
  .spmenu .inner {
    padding-bottom: 100px;
  }
  .spmenu .langbtn {
    padding: 30px 0;
    justify-content: flex-end;
    align-items: center;
    color: #fff;
    font-size: 15px;
  }
  .spmenu .langbtn a {
    border: 1px solid #fff;
    display: block;
    line-height: 40px;
    text-align: center;
    color: #fff;
    text-decoration: none;
  }
}
@media (min-width: 768px) {
  .navbar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .navbar-nav {
    margin: 0 0px 0 0;
  }
  .navbar-nav > li {
    width: auto;
    position: relative;
  }
  .navbar-nav > li ul {
    display: none;
  }
  .navbar-nav > li ul.sub-menu {
    display: none;
  }
  .navbar-nav > li:hover ul.sub-menu {
    list-style: none;
    display: block;
    position: absolute;
    top: 90px;
    left: calc(50% - 90px);
    background-color: #fff;
    width: 180px;
    text-align: center;
    padding: 10px 0;
  }
  .navbar-nav > li:hover ul.sub-menu li {
    text-align: center;
  }
  .navbar-nav > li:hover ul.sub-menu li a {
    display: block;
    padding: 10px 0;
    text-align: center;
    text-decoration: none;
  }
  .navbar-nav > li:hover ul.sub-menu li a:hover {
    background-color: #eee;
  }
  .navbar-default .navbar-collapse {
    transition: all 0.1s;
    margin-top: 32px;
    padding: 0;
    width: 100%;
  }
}
.breadcrumbs {
  position: relative;
  line-height: 72px;
  padding: 15px 0;
  margin: 0px;
  border-bottom: none;
  margin-bottom: 0px;
  font-size: 12px;
  line-height: 1.3;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .breadcrumbs {
    padding: 10px 0;
    line-height: 1.3;
    height: auto;
    margin-left: 24px;
  }
}
.page-inquiry .breadcrumbs, .page-download .breadcrumbs, .search .breadcrumbs, .blog .breadcrumbs, .single .breadcrumbs, .archive .breadcrumbs {
  color: #727272;
}
@media screen and (max-width: 767px) {
  .page-inquiry .breadcrumbs, .page-download .breadcrumbs, .search .breadcrumbs, .blog .breadcrumbs, .single .breadcrumbs, .archive .breadcrumbs {
    margin-left: 0;
  }
}
.breadcrumbs a {
  text-decoration: none;
  font-size: 12px;
  color: #fff;
  margin-right: 5px;
}
.breadcrumbs a + a {
  margin-left: 5px;
}
.page-inquiry .breadcrumbs a, .page-download .breadcrumbs a, .search .breadcrumbs a, .blog .breadcrumbs a, .single .breadcrumbs a, .archive .breadcrumbs a {
  color: #727272;
}
.breadcrumbs a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .breadcrumbs a {
    font-size: 8px !important;
  }
}
.breadcrumbs strong {
  margin-left: 5px;
  color: #fff;
  font-weight: normal;
  font-size: 12px;
}
.page-inquiry .breadcrumbs strong, .page-download .breadcrumbs strong, .search .breadcrumbs strong, .blog .breadcrumbs strong, .single .breadcrumbs strong, .archive .breadcrumbs strong {
  color: #727272;
}
@media screen and (max-width: 767px) {
  .breadcrumbs strong {
    font-size: 8px !important;
  }
}

.pagination li > span {
  border-color: #337ab7;
  color: #fff;
}

/**
* .section
*/
.anchor {
  position: absolute;
  top: -55px;
}
@media screen and (max-width: 767px) {
  .anchor {
    top: -38px;
  }
}

section {
  margin-bottom: 0px;
  display: block;
  position: relative;
  padding: 85px 0;
}
@media screen and (max-width: 767px) {
  section {
    padding: 60px 0;
  }
}
.page #first-cont + section {
  padding: 180px 0 85px;
}
@media screen and (max-width: 767px) {
  .page #first-cont + section {
    padding: 90px 0 60px;
  }
}
section .anchor {
  position: absolute;
  top: -102px;
}
@media screen and (max-width: 767px) {
  section .anchor {
    top: -65px;
  }
}

/*メインイメージ*/
.mainslide {
  padding: 35px 0 0 0;
  overflow: hidden;
}
.mainslide .slick-list {
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .mainslide > .container {
    padding-left: 50px;
    padding-right: 50px;
  }
}
.mainslide .mv {
  position: relative;
  width: 100%;
}
.mainslide .mv video {
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  vertical-align: bottom;
}
.mainslide .mv .slick-slide {
  padding: 0 10px;
}
.mainslide .mv .slick-slide img {
  border-radius: 30px;
}
.mainslide .titletxt {
  position: absolute;
  top: 460px;
  left: calc(50% - 560px);
  text-align: left;
  height: auto;
  padding-top: 0px;
  font-size: 38px;
  line-height: 1.3;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #fff;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .mainslide .titletxt {
    min-width: auto;
    top: 220px;
    left: 25px;
    font-size: 24px;
    letter-spacing: 0;
    line-height: 1.5;
    font-weight: 500;
  }
}
.mainslide .titletxt .split-line {
  display: table !important;
  background-color: #0760AE;
  margin-top: 10px;
  padding: 5px 16px 5px;
}
@media screen and (max-width: 767px) {
  .mainslide .titletxt .split-line {
    margin-top: 6px;
    padding: 2px 12px 2px;
  }
}
.mainslide .titletxt span {
  display: block;
  font-size: 20px;
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
  margin: 35px 0 0 0;
}
@media screen and (max-width: 767px) {
  .mainslide .titletxt span {
    font-size: 11px;
    margin: 20px 0 0 0;
  }
}
.mainslide .inner {
  border-radius: 0;
  margin-right: 0px;
  margin-left: 0;
  overflow: hidden;
  position: relative;
  display: flex;
}
@media screen and (max-width: 767px) {
  .mainslide .inner {
    overflow: visible;
  }
}
.mainslide .inner::before {
  content: "";
  display: block;
  min-width: calc(50% - 560px);
}
@media screen and (max-width: 767px) {
  .mainslide .inner::before {
    min-width: auto;
    width: 11%;
    min-width: 11%;
  }
}

.scroll {
  height: 115px;
  position: absolute;
  text-align: right;
  bottom: -75px;
  left: 40px;
  margin-left: 0px;
  transform: translateX(-50%);
  color: #0760AE;
  z-index: 2;
}
.page-inquiry .scroll, .page-download .scroll {
  display: none;
}
@media screen and (max-width: 767px) {
  .scroll {
    left: 27px;
    bottom: -93px;
    display: none;
  }
}
.home .scroll {
  color: #fff;
  bottom: 25px;
  left: calc(50% - 574px);
}
@media screen and (max-width: 767px) {
  .home .scroll {
    bottom: -12px;
    left: 40px;
  }
}
.scroll a {
  width: 40px;
  height: 100%;
  display: inline-block;
  position: relative;
  transition: all 0.2s;
  color: #0760AE;
}
.home .scroll a {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .home .scroll a:after {
    position: absolute;
    content: "";
    height: 43px;
    width: 1px;
    display: block;
    background-color: #0760AE;
    top: 103px;
    left: 16px;
  }
}
.scroll a:before {
  position: absolute;
  content: "";
  height: 80px;
  width: 1px;
  display: block;
  background-color: #0760AE;
  top: 60px;
  left: 16px;
}
.home .scroll a:before {
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .scroll a:before {
    height: 43px;
  }
}
.scroll a span {
  display: block;
  transform: rotate(-90deg);
  color: #0760AE;
  font-size: 13px;
  font-weight: 500;
  width: 8em;
  position: absolute;
  top: 40px;
  left: -37px;
  letter-spacing: 0.05em;
}
.home .scroll a span {
  color: #fff;
}

/*splash*/
/* splash */
.splash {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #FFF;
  z-index: 99999;
  overflow: hidden;
}

.splash.-is-hide {
  opacity: 0;
  transition: 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  pointer-events: none;
}

.splash .splash_image {
  position: relative;
  display: block;
  width: 84px;
  height: 87px;
  background: url(../images/img_splush.png) no-repeat;
  background-size: cover;
  line-height: 0;
  overflow: hidden;
}

.splash .splash_image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: #FFF;
  transform: translate3d(0, 100%, 0);
  transition: all 0.8s ease;
}

.splash .splash_image.-is-hide::after {
  transform: translate3d(0, 0, 0);
}

@-webkit-keyframes linelink {
  0% {
    background-size: 100% 4px;
    background-position: 100% 100%;
  }
  50% {
    background-size: 0 4px;
    background-position: 100% 100%;
  }
  51% {
    background-size: 0 4px;
    background-position: 0 100%;
  }
  to {
    background-size: 0 4px;
    background-position: 0 100%;
  }
}
@keyframes linelink {
  0% {
    background-size: 100% 4px;
    background-position: 100% 100%;
  }
  50% {
    background-size: 0 4px;
    background-position: 100% 100%;
  }
  51% {
    background-size: 0 4px;
    background-position: 0 100%;
  }
  to {
    background-size: 0 4px;
    background-position: 0 100%;
  }
}
.splash .splash_line {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 4px;
  background: linear-gradient(#E60039, #E60039) 100% 100%/100% 4px no-repeat;
}

.splash .splash_line.-is-show {
  background: linear-gradient(#E60039, #E60039) 100% 100%/0 4px no-repeat;
  -webkit-animation: linelink 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  animation: linelink 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.home section #main_visual {
  flex-grow: 3;
  height: auto;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .home section #main_visual {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
  }
}

.home .mainslide .slick-slide.slick-current {
  /*animation  : bgAnime 8.5s 1;*/
}

@-webkit-keyframes bgAnime {
  0% {
    /*opacity: 0;*/
    transform: scale(1.1, 1.1);
  }
  /*  10% { transform: scale(1.3, 1.3); }
    30% { transform: scale(1.3, 1.3); }
   60% { transform: scale(1.2 1.2); }
   80% { transform: scale(1.1, 1.1); }*/
  100% {
    transform: scale(1, 1);
  }
}

@keyframes bgAnime {
  0% {
    /*opacity: 0;*/
    transform: scale(1.1, 1.1);
  }
  /*  10% { transform: scale(1.3, 1.3); }
    30% { transform: scale(1.3, 1.3); }
   60% { transform: scale(1.2 1.2); }
   80% { transform: scale(1.1, 1.1); }*/
  100% {
    transform: scale(1, 1);
  }
}
.ancer {
  position: absolute;
  top: -50px;
}

.home .sec-about .ancer {
  position: absolute;
  top: -50px;
}

@media screen and (max-width: 767px) {
  .home #main {
    padding-top: 0px;
  }
  .home .minislider.slick-prev,
.home .minislider.slick-next {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  /*6*/
  .mainslide .container > .row > .col-md-12 {
    padding: 0;
  }
  .container-fluid .mainslide .inner {
    margin-right: 0px;
    margin-left: 0px;
  }
}
/*******************/
.widget_recent_entries ul,
.widget_recent_comments ul,
.widget_archive ul,
.widget_categories ul,
.widget_meta ul,
.widget_pages ul,
.widget_nav_menu ul {
  list-style: none;
  padding-left: 0;
}

.widget_categories ul li {
  border-bottom: 1px solid #ddd;
}
.widget_categories ul li a {
  padding: 15px 0;
  display: block;
  line-height: 1.3;
  position: relative;
  font-size: 15px;
  text-decoration: none;
  color: #000;
  font-weight: normal;
}
.widget_categories ul li a::after {
  position: absolute;
  content: "\f054";
  top: 50%;
  color: #3786CD;
  transform: translateY(-50%);
  right: 10px;
  font-size: 10px;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
.widget_categories ul li ul li.current {
  background-color: #D9E9F5;
}
.widget_categories.probar ul li {
  border-color: #3786CD !important;
}
.widget_categories.probar ul li a {
  padding: 18px 0;
  font-size: 14px;
}
.widget_categories.probar ul li a::after {
  display: none;
}
.widget_categories.probar .inner {
  background-color: #F1F6FC;
  padding: 15px 12px;
}
@media screen and (max-width: 767px) {
  .widget_categories.probar .inner {
    padding: 0;
  }
}

.widget_archive ul li a:hover,
.widget_categories ul li a:hover {
  text-decoration: none;
  background-color: #F1F6FC;
}

.widget_search .input-group {
  margin-top: 0;
  padding: 0px 0px 0;
  position: relative;
}
.widget_search .btnarea {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .widget_search .btnarea {
    left: auto;
    right: 0;
    background-color: #3786CD;
  }
}
.widget_search .btnarea .btn {
  outline: none;
  background: url("../images/icon_search.svg") no-repeat center center;
  text-align: center;
  display: block;
  height: 18px;
  background-size: auto 100%;
  width: 20px;
}
@media screen and (max-width: 767px) {
  .widget_search .btnarea .btn {
    height: 55px;
    width: 55px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMSI+PHBhdGggZD0iTTMuOSAxMy41Yy0yLjUtMi43LTIuNS02LjggMC05LjQgMi4zLTIuNSA2LjItMi42IDguNy0uM2wuMy4zYzIuNSAyLjcgMi41IDYuOCAwIDkuNC0yLjMgMi41LTYuMiAyLjYtOC43LjMtLjItLjEtLjMtLjItLjMtLjN6bTE1LjcgNC44bC00LjMtNC42YzIuMy0zLjUgMS45LTguMS0xLTExLjItMy0zLjMtOC4yLTMuNC0xMS40LS40LS4yLjItLjQuMy0uNS41LTMuMiAzLjUtMy4yIDguOSAwIDEyLjQgMi44IDMgNy40IDMuNCAxMC43IDFsNC4zIDQuNWMuNi42IDEuNS42IDIuMS4xbC4xLS4xYy42LS42LjYtMS42IDAtMi4yeiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiNmZmYiLz48L3N2Zz4=");
    background-size: 25px auto;
  }
}
.widget_search input[type=search].form-control {
  width: 100%;
  background-color: #F1F6FC;
  border: 1px solid #3786CD !important;
  border-radius: 10px;
  padding-right: 25px;
  padding-left: 40px;
  height: 45px;
  line-height: 43px;
}
@media screen and (max-width: 767px) {
  .widget_search input[type=search].form-control {
    height: 55px;
    line-height: 53px;
    padding-left: 25px;
    border: 0 !important;
    font-size: 16px;
    background-color: #fff !important;
    border-radius: 0px !important;
  }
}
.widget_search.probar .inner {
  background-color: #F1F6FC;
  padding: 15px 12px;
}
@media screen and (max-width: 767px) {
  .widget_search.probar .inner {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .widget_search.probar .btnarea {
    left: 15px;
    right: auto;
    background-color: #fff;
  }
}
.widget_search.probar .btnarea .btn {
  outline: none;
  background: url("../images/icon_search.svg") no-repeat center center;
  text-align: center;
  display: block;
  height: 18px;
  background-size: auto 100%;
  width: 20px;
}
@media screen and (max-width: 767px) {
  .widget_search.probar .btnarea .btn {
    height: 30px;
    width: 30px;
    background-size: 25px auto;
  }
}
.widget_search.probar input[type=search].form-control {
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .widget_search.probar input[type=search].form-control {
    padding-left: 50px;
    border: 1px solid #3786CD !important;
  }
}
.widget_search.probar input[type=search].form-control:focus {
  outline: none;
}

.widget_search :-moz-placeholder-shown {
  color: #666;
  padding-top: 4px !important;
}

.widget_search :placeholder-shown {
  color: #666;
  padding-top: 4px !important;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
.widget_search ::-webkit-input-placeholder {
  color: #666;
  padding-top: 4px !important;
}

/* Firefox 19+ */
.widget_search ::-moz-placeholder {
  color: #666;
  padding-top: 4px !important;
  opacity: 1;
}

.widget_search .input-group-btn {
  position: relative;
}

.widget_archive .screen-reader-text {
  display: none;
}

.widget_categories.newsbar select,
.widget_archive.newsbar select {
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  margin: 0;
  height: 42px;
  background: transparent;
  position: relative;
  z-index: 1;
  padding: 0 40px 0 25px;
  border: 0 !important;
  line-height: 40px;
  background-color: transparent;
  border-radius: 5px;
  outline: none;
}
@media screen and (max-width: 767px) {
  .widget_categories.newsbar select,
.widget_archive.newsbar select {
    border-radius: 0px;
    height: 55px;
    line-height: 53px;
    font-size: 16px;
  }
}

.widwidget_categories.newsbar select::-ms-expand,
.widget_archive select::-ms-expand {
  display: none;
}

.widget_categories.newsbar .inner,
.widget_archive.newsbar .inner {
  padding: 20px 0px 0;
}

.widget_categories.newsbar .selectWrap,
.widget_archive.newsbar .selectWrap {
  position: relative;
  background-color: #fff;
}

.widget_categories.newsbar .selectWrap::before,
.widget_archive.newsbar .selectWrap::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  height: 40px;
  width: 46px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
@media screen and (max-width: 767px) {
  .widget_categories.newsbar .selectWrap::before,
.widget_archive.newsbar .selectWrap::before {
    height: 55px;
    width: 55px;
    background-color: #3786CD;
  }
}

.widget_categories.newsbar .selectWrap::after,
.widget_archive.newsbar .selectWrap::after {
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  position: absolute;
  z-index: 0;
  color: #3786CD;
  top: 55%;
  transform: translateY(-50%);
  bottom: 0;
  margin: auto 0;
  right: 15px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .widget_categories.newsbar .selectWrap::after,
.widget_archive.newsbar .selectWrap::after {
    color: #fff;
    right: 22px;
    top: 60%;
  }
}

/**/
.widget_categories.probar select,
.widget_archive.probar select {
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  margin: 0;
  height: 45px;
  background: transparent;
  position: relative;
  z-index: 1;
  padding: 0 40px 0 25px;
  border: 1px solid #3786CD !important;
  line-height: 43px;
  background-color: transparent;
  border-radius: 10px;
  outline: none;
}
@media screen and (max-width: 767px) {
  .widget_categories.probar select,
.widget_archive.probar select {
    border-radius: 0px;
    height: 55px;
    line-height: 53px;
    font-size: 16px;
    border: 0 !important;
  }
}
.widget_categories.probar select::-ms-expand,
.widget_archive.probar select::-ms-expand {
  display: none;
}
.widget_categories.probar .selectWrap,
.widget_archive.probar .selectWrap {
  position: relative;
  background-color: #fff;
}
.widget_categories.probar .selectWrap::before,
.widget_archive.probar .selectWrap::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  height: 40px;
  width: 46px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
@media screen and (max-width: 767px) {
  .widget_categories.probar .selectWrap::before,
.widget_archive.probar .selectWrap::before {
    height: 55px;
    width: 55px;
    background-color: #fff;
  }
}
.widget_categories.probar .selectWrap::after,
.widget_archive.probar .selectWrap::after {
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  position: absolute;
  z-index: 0;
  color: #3786CD;
  top: 55%;
  transform: translateY(-50%);
  bottom: 0;
  margin: auto 0;
  right: 15px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .widget_categories.probar .selectWrap::after,
.widget_archive.probar .selectWrap::after {
    right: 22px;
    top: 60%;
  }
}

.sidebar-widget {
  margin: 0 0 30px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .sidebar-widget {
    margin-bottom: 6px;
  }
}

.sidebar-widget__title {
  margin-top: 0;
  border-top: 4px solid #3786CD;
  border-bottom: 1px solid #3786CD;
  text-align: left;
  font-weight: bold;
  line-height: 1;
  color: #3786CD;
  font-size: 15px;
  padding: 15px 0 15px;
  letter-spacing: normal;
  margin-bottom: 35px;
}
.widget_categories.newsbar .sidebar-widget__title {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .widget_categories.newsbar .sidebar-widget__title {
    display: none;
  }
}
.widget_search.newsbar .sidebar-widget__title {
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .widget_search.newsbar .sidebar-widget__title {
    display: none;
  }
}
.widget_categories.probar .sidebar-widget__title {
  margin-bottom: 0;
  background-color: #3786CD;
  color: #fff;
  padding: 12px 18px;
}
@media screen and (max-width: 767px) {
  .widget_categories.probar .sidebar-widget__title {
    display: none;
  }
}
.widget_search.probar .sidebar-widget__title {
  margin-bottom: 0;
  background-color: #3786CD;
  padding: 12px 18px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .widget_search.probar .sidebar-widget__title {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .sidebar-widget__title {
    margin-bottom: 25px;
  }
}
.sidebar-widget__title span {
  margin: 0 10px;
}

.sidebar-widget__title a {
  display: block;
  padding: 0 0 0 15px !important;
}

.sidebar-widget__title a:hover {
  text-decoration: none;
  background-color: #F1F6FC;
}

/*******************/
/*==================================================
 * layout
 *================================================*/
#container {
  /*overflow: hidden;*/
  position: relative;
  min-height: 100%;
}

#main {
  margin-bottom: 0px;
  position: relative;
}

@media (min-width: 992px) {
  .col-md-pull-9 {
    right: 760px;
  }
  .col-md-push-3 {
    left: 340px;
  }
}
/*==================================================
 * sub
 *================================================*/
@media screen and (max-width: 767px) {
  .sidebar {
    padding: 20px 24px;
    margin: 0 -24px;
    background-color: #F1F6FC;
  }
}
/*最新news1件*/
.home .topicarea {
  position: relative;
  padding-top: 73px;
}
@media screen and (max-width: 767px) {
  .home .topicarea {
    padding-top: 80px;
  }
}
.home .topicarea .container {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .home .topicarea .container {
    flex-direction: column;
    align-items: flex-start;
  }
}
.home .topicarea .banner {
  width: 50%;
  text-align: right;
  padding-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .home .topicarea .banner {
    width: 100%;
    text-align: center;
    margin-top: 20px;
    padding-bottom: 0px;
  }
}
.home .topicarea .banner a:hover {
  opacity: 0.7;
}

.home .topicarea dl {
  width: 50%;
  display: flex;
  margin: 0;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
}

.home .topicarea dt {
  width: 80px;
  flex-grow: 2;
  text-align: left;
  line-height: 60px;
  font-size: 18px;
  flex-shrink: 0;
  flex-grow: 0;
  font-weight: 700;
  position: relative;
}
.home .topicarea dt::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 27px;
  width: 1px;
  background-color: #000;
}

.home .topicarea dd {
  width: calc(100% - 80px);
}

.home .topicarea dd a {
  text-decoration: none;
  padding: 0 0px 0 30px;
  display: block;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  text-align: left;
  line-height: 60px;
  font-size: 14px;
  height: 60px;
  width: 100%;
  color: #000;
}
.home .topicarea dd a:hover {
  text-decoration: underline;
}

.home .topicarea dd a span + span {
  margin-left: 20px;
}

@media (max-width: 767px) {
  .home .minislider.slick-prev, .home .minislider.slick-next {
    display: none !important;
  }
  .home .topicarea dl {
    width: 100%;
  }
  .home .topicarea dt {
    line-height: 60px;
    font-size: 14px;
    width: 56px;
  }
  .home .topicarea dd {
    width: calc(100% - 56px);
    max-width: calc(100% - 56px);
  }
  .home .topicarea dd a {
    padding: 15px 10px 0 15px;
    display: block;
    text-align: left;
    line-height: 1.5;
    font-size: 12px;
    height: 60px;
  }
  .home .topicarea dd a span + span {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    margin-left: 0;
    line-height: 1.3;
    display: block;
  }
}
/*フッタCTA*/
section.sec_cta {
  padding: 86px 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../images/bg-cta.jpg);
}
@media screen and (max-width: 767px) {
  section.sec_cta {
    background-image: url(../images/sp-bg-cta.jpg);
    padding: 65px 0;
  }
}
section.sec_cta .container {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
section.sec_cta .container > p {
  font-size: 16px;
  margin-bottom: 40px;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  section.sec_cta .container > p {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 20px;
  }
}
section.sec_cta .container .fr {
  width: 100%;
  display: flex;
  align-items: stretch;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  section.sec_cta .container .fr {
    display: block;
  }
}
section.sec_cta .container .fr .frame {
  padding: 40px 0px;
  background-color: #fff;
  text-align: center;
  flex: 1;
  margin: 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  section.sec_cta .container .fr .frame {
    display: block;
    margin: 0 0 2px;
    padding: 35px 20px;
  }
}
section.sec_cta .container .fr .frame:first-child::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 107px;
  background-color: #CCCCCC;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  section.sec_cta .container .fr .frame:first-child::before {
    display: none;
  }
}
section.sec_cta .container .fr .frame .ttl {
  font-size: 17px;
  margin-bottom: 30px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  section.sec_cta .container .fr .frame .ttl {
    font-size: 15px;
    margin-bottom: 20px;
  }
}
section.sec_cta .container .fr .frame .tel {
  text-align: center;
  margin-top: -10px;
}
section.sec_cta .container .fr .frame .tel ul {
  align-items: center;
}
@media screen and (max-width: 767px) {
  section.sec_cta .container .fr .frame .tel ul {
    flex-direction: column;
  }
}
section.sec_cta .container .fr .frame .tel ul li {
  display: flex;
  align-items: center;
  margin: 10px 10px 0;
}
@media screen and (max-width: 767px) {
  section.sec_cta .container .fr .frame .tel ul li {
    display: inline-flex;
  }
}
section.sec_cta .container .fr .frame .tel span {
  background-color: #3786CD;
  color: #fff;
  font-size: 12px;
  text-align: center;
  display: block;
  font-weight: 500;
  width: 50px;
  line-height: 20px;
  margin: 0 10px 0 0;
}
section.sec_cta .container .fr .frame .tel a {
  display: block;
  font-size: 20px;
  color: #000;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-decoration: none;
  pointer-events: none;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  section.sec_cta .container .fr .frame .tel a {
    pointer-events: auto;
  }
}
section.sec_cta .container .fr .frame .tel p {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  section.sec_cta .container .fr .frame .tel p {
    font-size: 12px;
  }
}
section.sec_cta .container .fr .frame .contactbtn {
  display: flex;
}
section.sec_cta .container .fr .frame .contactbtn a {
  flex: 1;
  display: block;
  margin: 0 auto;
  text-align: center;
  height: 54px;
  line-height: 54px;
  color: #fff;
  padding: 0;
  border-radius: 27px;
  background-color: #3786CD;
  max-width: 250px;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  section.sec_cta .container .fr .frame .contactbtn a {
    font-size: 15px;
  }
}
section.sec_cta .container .fr .frame .contactbtn a span {
  display: inline-block;
  background: url(../images/icon-mail.svg) no-repeat left center;
  background-size: 20px 15px;
  padding: 0 0 0 30px;
}
section.sec_cta .container .fr .frame .contactbtn a:hover {
  opacity: 0.8;
}

/*==================================================
 * footer
 *================================================*/
/**
 * .footer-widget-area
 */
#footer {
  background-color: #0760AE;
  width: 100%;
  position: relative;
  padding: 70px 0 0;
}
@media only screen and (max-width: 767px) {
  #footer {
    padding: 0;
  }
}
#footer .footertop .footmenu {
  padding: 0 0 80px;
}
@media only screen and (max-width: 767px) {
  #footer .footertop .footmenu {
    display: none;
  }
}
#footer .footertop .footmenu .title {
  font-size: 15px;
  line-height: 45px;
  font-weight: 700;
  border-bottom: 1px solid rgba(221, 221, 221, 0.5);
  position: relative;
  margin-bottom: 0;
  display: block;
  text-decoration: none;
  color: #fff;
}
#footer .footertop .footmenu .title i {
  position: absolute;
  top: 50%;
  font-size: 12px;
  transform: translateY(-50%);
  right: 0;
}
#footer .footertop .footmenu .title.products i {
  left: 25%;
}
#footer .footertop .footmenu a.title:hover {
  opacity: 0.6;
}
#footer .footertop .footmenu .subtitle {
  margin-bottom: 10px;
  text-decoration: none;
}
#footer .footertop .footmenu .subtitle a {
  display: flex;
  text-decoration: none;
  font-weight: 700;
  align-items: center;
  position: relative;
  color: #fff;
}
#footer .footertop .footmenu .subtitle a:hover {
  opacity: 0.6;
}
#footer .footertop .footmenu .subtitle a i {
  font-size: 12px;
  margin-right: 10px;
}
#footer .footertop .footmenu .block {
  margin-bottom: 40px;
}
#footer .footertop .footmenu .block ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  margin: 24px 0 0 0;
}
#footer .footertop .footmenu .block ul li:before {
  content: "/";
  color: #fff;
  margin: 0 3px;
}
#footer .footertop .footmenu .block ul li a {
  color: #fff;
  padding: 0 5px;
  font-size: 13px;
  text-decoration: none;
  line-height: 2.1;
  letter-spacing: 0.05em;
}
#footer .footertop .footmenu .block ul li a:hover {
  text-decoration: underline;
}
#footer .footertop .footmenu .block ul li:first-child:before {
  display: none;
}
#footer .footertop .footmenu .block ul li:first-child a {
  padding: 0 5px 0 0;
}
#footer .footertop .footmenu .menus > div {
  width: 23%;
}
#footer .footertop .footmenu .menus > div ul {
  list-style: none;
  margin: 25px 0 0 0;
}
#footer .footertop .footmenu .menus > div ul li a {
  font-weight: 400;
  font-size: 13px;
  color: #fff;
}
#footer .bannerarea {
  padding: 45px 0 95px;
}
@media only screen and (max-width: 767px) {
  #footer .bannerarea {
    padding: 25px 0;
  }
}
#footer .bannerarea .footer-banner {
  margin: 0 -9px;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  #footer .bannerarea .footer-banner {
    margin: 0 -4px;
  }
}
#footer .bannerarea .footer-banner li {
  margin: 0 9px;
  width: calc(20% - 18px);
}
@media only screen and (max-width: 767px) {
  #footer .bannerarea .footer-banner li {
    width: calc(33.3333333333% - 8px);
    margin: 5px 4px;
  }
}
#footer .bannerarea .footer-banner li a {
  display: block;
}
#footer .bannerarea .footer-banner li a:hover {
  opacity: 0.8;
}
#footer .company-info {
  padding: 30px 0;
  font-size: 15px;
  margin-bottom: 0px;
  background-color: #fff;
}
@media only screen and (max-width: 767px) {
  #footer .company-info {
    padding: 45px 0 0;
  }
}
#footer .company-info .fr {
  align-items: center;
}
@media only screen and (max-width: 767px) {
  #footer .company-info .fr {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  #footer .company-info .ttl {
    text-align: center;
    margin-bottom: 40px;
  }
}
#footer .company-info .ttl img {
  width: 331px;
  height: auto;
}
@media only screen and (max-width: 767px) {
  #footer .company-info .ttl img {
    width: 248px;
    display: block;
    margin: 0 auto;
  }
}
#footer .company-info .copy {
  font-size: 14px;
  padding-left: 10px;
  margin-left: 35px;
}
@media only screen and (max-width: 767px) {
  #footer .company-info .copy {
    padding: 8px 0;
    border: none;
    margin: 0;
    text-align: center;
    color: #fff;
    font-size: 11px;
    background-color: #3786CD;
  }
}
#footer .company-info .container {
  position: relative;
  padding: 0;
}
#footer .company-info .container .img {
  position: absolute;
  bottom: 150px;
  left: 0;
}
@media only screen and (max-width: 767px) {
  #footer .company-info .container .img {
    position: relative;
    left: auto;
    bottom: auto;
    margin: -10px auto 35px;
    text-align: center;
  }
}
#footer .company-info .container .img a {
  display: inline-block;
}
#footer .company-info .container .img a:hover {
  opacity: 0.8;
}
#footer .company-info .container .img a:first-child {
  margin-right: 15px;
}
@media screen and (max-width: 767px) {
  #footer .company-info .container .img a:first-child {
    margin-right: 0;
    margin-bottom: 10px;
  }
}
#footer .company-info .container .img img {
  vertical-align: bottom;
}
@media only screen and (max-width: 767px) {
  #footer .share {
    order: 1;
    margin-bottom: 26px;
  }
}
#footer .share ul {
  list-style: none;
  display: flex;
  justify-content: flex-end;
}
#footer .share ul li {
  margin-left: 10px;
}
@media only screen and (max-width: 767px) {
  #footer .share ul li {
    margin: 0 5px;
  }
}
#footer .share ul li a {
  display: block;
  background-color: #ccc;
  width: 44px;
  height: 44px;
  border-radius: 22px;
  text-align: center;
  line-height: 44px;
  font-size: 18px;
  color: #fff;
}
#footer .share ul li a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 767px) {
  .copyright {
    text-align: center;
    padding: 35px 20px 30px;
    height: auto;
  }
  .copyright .footer-banner {
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 17px;
  }
  .copyright .footer-banner li {
    width: calc(50% - 8px);
    margin: 0 0 15px;
  }
  .copyright .company-info {
    text-align: center;
    font-size: 15px;
    margin-bottom: 0px;
  }
  .copyright .company-info .ttl {
    margin-bottom: 15px;
  }
  .copyright .company-info .ttl img {
    width: 240px;
    height: auto;
  }
  .copyright .company-info .bottom p {
    margin-bottom: 5px;
    font-size: 12px;
  }
  .copyright .company-info .copy {
    font-size: 10px;
    margin-top: 25px;
  }
}
/*==================================================
 * contents
 *================================================*/
/*-------------------------------
 home
------------------------------- */
.home section {
  text-align: center;
  position: relative;
}
.home section .ttlarea {
  margin-bottom: 55px;
  display: flex;
  align-items: baseline;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .home section .ttlarea {
    margin-bottom: 35px;
    display: block;
  }
}
.home section .ttlarea .h2 {
  font-size: 130px;
  font-weight: 700;
  line-height: 1;
  color: rgba(55, 135, 205, 0.15);
}
@media screen and (max-width: 767px) {
  .home section .ttlarea .h2 {
    font-size: 60px;
    font-weight: 700;
  }
}
.home section .ttlarea .h2 + .ttl {
  margin: 0 0 0 50px;
  font-size: 25px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .home section .ttlarea .h2 + .ttl {
    margin: 10px 0 0 24px;
    font-size: 16px;
  }
}
.home section .ttlarea.rev {
  flex-direction: row-reverse;
  text-align: right;
}
.home section .ttlarea.rev .h2 + .ttl {
  margin: 0 50px 0 0;
}
@media screen and (max-width: 767px) {
  .home section .ttlarea.rev .h2 + .ttl {
    margin: 10px 24px 0 0px;
  }
}

@media screen and (max-width: 767px) {
  .readmore {
    margin-top: 30px;
  }
}
.readmore > a,
.readmore > span {
  font-weight: normal;
  font-size: 15px;
  text-align: center;
  display: block;
  border: 1px solid #3786CD;
  text-decoration: none;
  color: #3786CD;
  width: 225px;
  line-height: 52px;
  height: 54px;
  background-color: #fff;
  position: relative;
  border-radius: 26px;
}
@media screen and (max-width: 767px) {
  .readmore > a,
.readmore > span {
    margin: 0 auto;
  }
}
.readmore > a::before,
.readmore > span::before {
  position: absolute;
  top: calc(50% - 0px);
  right: -23px;
  display: block;
  width: 46px;
  height: 8px;
  color: #3786CD;
  border-top: solid 1px;
  content: "";
}
.readmore > a::after,
.readmore > span::after {
  position: absolute;
  top: calc(50% - 0px);
  right: -27px;
  display: block;
  width: 10px;
  height: 10px;
  color: #3786CD;
  border-right: solid 1px;
  content: "";
  letter-spacing: 0.05em;
  transform: rotate(-60deg) translateY(-50%);
}
.readmore > a:hover,
.readmore > span:hover {
  border-color: #3786CD;
  background-color: #3786CD;
  color: #fff;
}

.sec-about {
  padding-bottom: 0px;
}
@media screen and (max-width: 767px) {
  .sec-about {
    padding-bottom: 0px;
  }
}
.sec-about .fr {
  align-items: center;
}
@media screen and (max-width: 767px) {
  .sec-about .fr {
    display: block;
  }
}
.sec-about .img {
  width: calc(50% + 80px);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../images/img-top-about01.jpg);
  height: 550px;
}
@media screen and (max-width: 767px) {
  .sec-about .img {
    width: calc(100% - 24px);
    height: 219px;
    margin: 0 0 30px 24px;
  }
}
.sec-about .txt {
  text-align: left;
  width: calc(50% - 80px);
}
@media screen and (max-width: 767px) {
  .sec-about .txt {
    width: auto;
    padding: 0 24px;
  }
}
.sec-about .txt .inner {
  max-width: 560px;
  margin: 0 0 0 auto;
  padding: 0 50px 0 0;
}
@media screen and (max-width: 767px) {
  .sec-about .txt .inner {
    padding: 0 0px 0 0;
  }
}
.sec-about .txt h3 {
  font-size: 21px;
  line-height: 1.8;
  margin: 0 0 30px;
}
@media screen and (max-width: 767px) {
  .sec-about .txt h3 {
    font-size: 16px;
    margin: 0 0 25px;
  }
}
.sec-about .txt p {
  font-size: 15px;
  line-height: 1.8;
  margin: 0 0 40px;
}
@media screen and (max-width: 767px) {
  .sec-about .txt p {
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .sec-products {
    padding-bottom: 65px;
  }
}
.sec-products .sec-banner {
  margin: 0 0 60px;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .sec-products .sec-banner {
    margin: 0 0 45px;
  }
}
.sec-products .sec-banner a {
  display: flex;
  height: 260px;
  text-decoration: none;
}
.sec-products .sec-banner a:hover {
  opacity: 0.8;
}
.sec-products .sec-banner a > div {
  flex-shrink: 0;
  flex-grow: 0;
  background-color: #3786CD;
  color: #fff;
  width: calc(50% - 188px);
}
@media screen and (max-width: 767px) {
  .sec-products .sec-banner a > div {
    width: 240px;
    text-align: center;
  }
  .sec-products .sec-banner a > div img {
    width: 188px;
    height: auto;
  }
}
.sec-products .sec-banner a::after {
  flex-grow: 10;
  content: "";
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../images/img-top-products01.jpg);
}
@media screen and (max-width: 767px) {
  .sec-products .sec-banner a::after {
    background-image: url(../images/sp-img-top-products01.jpg);
  }
}
.sec-products .sec-banner a .inner {
  width: 372px;
  margin: 0 0 0 auto;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .sec-products .sec-banner a .inner {
    display: inline-flex;
    width: 188px;
    margin: 0;
  }
}
.sec-products .sec-banner a p {
  text-align: left;
  margin: 20px 0 25px 0;
  line-height: 1;
  letter-spacing: 0.05em;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .sec-products .sec-banner a p {
    font-size: 13px;
    margin: 10px 0 15px 0;
  }
}
.sec-products .sec-banner a .readmore {
  margin: 15px 0 0 0;
}
@media screen and (max-width: 767px) {
  .sec-products .sliderarea .catslider {
    display: flex;
    list-style: none;
    margin: 0 16px;
    padding: 0;
    flex-wrap: wrap;
  }
}
.sec-products .sliderarea .catslider .slick-slide {
  width: 260px !important;
  padding-bottom: 55px;
  margin: 0 14px 0;
}
.sec-products .sliderarea .catslider .slick-slide a {
  display: block;
  text-decoration: none;
  color: #000;
}
.sec-products .sliderarea .catslider .slick-slide a:hover {
  opacity: 0.8;
}
.sec-products .sliderarea .catslider .slick-slide img {
  margin-bottom: 23px;
}
.sec-products .sliderarea .catslider .slick-slide span {
  text-align: center;
  display: block;
  font-size: 16px;
  font-weight: bold;
  height: 52px;
}
@media screen and (max-width: 767px) {
  .sec-products .sliderarea .catslider > div {
    width: 50%;
    padding: 0 8px;
    margin: 0 0 24px;
  }
  .sec-products .sliderarea .catslider > div a {
    text-decoration: none;
    color: #000;
  }
  .sec-products .sliderarea .catslider > div span {
    text-align: center;
    display: block;
    font-size: 13px;
    font-weight: bold;
  }
}
.sec-products .readmore {
  text-align: center;
}
.sec-products .readmore a {
  margin: 0 auto;
}
.sec-products .readmore span {
  border: 0;
  background-color: transparent;
  color: #fff;
  text-align: left;
  line-height: 1;
  height: auto;
}
.sec-products .readmore span::before, .sec-products .readmore span::after {
  color: #fff;
}
.sec-products .readmore span::before {
  right: auto;
  left: 56px;
}
.sec-products .readmore span::after {
  left: 95px;
  right: auto;
}

.sec-csnews {
  background-color: #F1F6FC;
  position: relative;
}
.sec-csnews .ttlarea {
  position: relative;
}
.sec-csnews .ttlarea .h2 {
  color: #fff !important;
}
.sec-csnews .ttlarea .ttl {
  position: absolute;
  left: 380px;
  bottom: 30px;
}
@media screen and (max-width: 767px) {
  .sec-csnews .ttlarea .ttl {
    position: relative;
    left: auto;
    bottom: auto;
  }
}
.sec-csnews .ttlarea .ttl h2 {
  font-size: 25px;
}
@media screen and (max-width: 767px) {
  .sec-csnews .ttlarea .ttl h2 {
    font-size: 16px;
  }
}
.sec-csnews .ttlarea .ttl p {
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .sec-csnews .ttlarea .ttl p {
    font-size: 12px;
  }
}
.sec-csnews .readmore {
  text-align: center;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .sec-csnews .readmore {
    margin-top: 30px;
  }
}
.sec-csnews .readmore a {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .sec-csnews .readmore a {
    display: inline-block;
  }
}
.sec-csnews .container {
  position: relative;
}
.sec-csnews .catlist {
  position: absolute;
  right: 24px;
  top: -110px;
}
@media screen and (max-width: 767px) {
  .sec-csnews .catlist {
    position: relative;
    right: auto;
    top: auto;
  }
}
.sec-csnews .catlist select {
  border: 0 !important;
  border-radius: 0 !important;
  line-height: 33px;
  height: 35px;
}
@media screen and (max-width: 767px) {
  .sec-csnews .catlist select {
    line-height: 48px;
    height: 50px;
  }
}
.sec-csnews .catlist .selectWrap {
  border-radius: 10px;
  width: 280px;
}
@media screen and (max-width: 767px) {
  .sec-csnews .catlist .selectWrap {
    width: 100%;
    margin-bottom: 25px;
  }
  .sec-csnews .catlist .selectWrap::before {
    background-color: transparent;
  }
}

.sec-news {
  position: relative;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .sec-news {
    padding-bottom: 0;
  }
}
.sec-news .readmore {
  text-align: center;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .sec-news .readmore {
    margin-top: 30px;
  }
}
.sec-news .readmore a {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .sec-news .readmore a {
    display: inline-block;
  }
}
.sec-news .container {
  position: relative;
}
.sec-news .catlist {
  position: absolute;
  right: 24px;
  top: -110px;
}
@media screen and (max-width: 767px) {
  .sec-news .catlist {
    position: relative;
    right: auto;
    top: auto;
  }
}
.sec-news .catlist select {
  border: 0 !important;
  border-radius: 0 !important;
  line-height: 33px;
  height: 35px;
}
@media screen and (max-width: 767px) {
  .sec-news .catlist select {
    line-height: 48px;
    height: 50px;
  }
}
.sec-news .catlist .selectWrap {
  border-radius: 10px;
  width: 280px;
}
@media screen and (max-width: 767px) {
  .sec-news .catlist .selectWrap {
    width: 100%;
    margin-bottom: 25px;
  }
  .sec-news .catlist .selectWrap::before {
    background-color: transparent;
  }
}

.sec-company {
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .sec-company .block ul {
    flex-wrap: wrap;
    display: block;
  }
}
.sec-company .block ul li {
  width: 33.3333333333%;
  overflow: hidden;
  margin: 0 0 1px;
}
@media screen and (max-width: 767px) {
  .sec-company .block ul li {
    width: 100%;
  }
}
.sec-company .block ul li:first-child a:before {
  background-image: url(../images/img-top-company01.jpg);
}
.sec-company .block ul li:nth-child(2) a:before {
  background-image: url(../images/img-top-company02.jpg);
}
.sec-company .block ul li:nth-child(3) a:before {
  background-image: url(../images/img-top-company03.jpg);
}
.sec-company .block ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  height: 420px;
  text-decoration: none;
  transition: background-size ease 0.3s;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sec-company .block ul li a {
    height: 295px;
  }
}
.sec-company .block ul li a:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: all ease 0.3s;
}
.sec-company .block ul li a:hover:before {
  transform: scale(1.1);
}
.sec-company .block ul li .titlearea h3 {
  font-size: 26px;
  letter-spacing: 0.1em;
  margin: 0 0 30px;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .sec-company .block ul li .titlearea h3 {
    font-size: 25px;
  }
}
@media screen and (max-width: 767px) {
  .sec-company .block ul li .titlearea .readmore {
    margin-top: 0;
  }
}
.sec-company .block ul li .titlearea .readmore span {
  font-weight: normal;
  font-size: 15px;
  text-align: center;
  text-decoration: none;
  width: 225px;
  line-height: 52px;
  height: 54px;
  position: relative;
  display: block;
  margin: 0 auto;
  border: 1px solid #fff;
  background-color: transparent;
  color: #fff;
}
.sec-company .block ul li .titlearea .readmore span::before, .sec-company .block ul li .titlearea .readmore span::after {
  color: #fff;
}
.sec-company .bg-blue {
  background-color: #F1F6FC;
  padding: 105px 0;
}
@media screen and (max-width: 767px) {
  .sec-company .bg-blue {
    padding: 65px 0 30px;
  }
}
@media screen and (max-width: 767px) {
  .sec-company .bg-blue .container {
    flex-wrap: wrap;
  }
}
.sec-company .bg-blue .container > div {
  width: 535px;
  margin: 0 25px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .sec-company .bg-blue .container > div {
    margin: 0 0 34px;
    width: 100%;
  }
}
.sec-company .bg-blue .container > div:first-child a:before {
  background-image: url(../images/img-top-company04.jpg);
}
.sec-company .bg-blue .container > div:nth-child(2) a:before {
  background-image: url(../images/img-top-company05.jpg);
}
.sec-company .bg-blue .container > div a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  height: 350px;
  text-decoration: none;
  transition: background-size ease 0.3s;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sec-company .bg-blue .container > div a {
    height: 214px;
  }
}
.sec-company .bg-blue .container > div a:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 100%;
  z-index: 0;
  transition: all ease 0.3s;
}
.sec-company .bg-blue .container > div a:hover:before {
  transform: scale(1.1);
}
.sec-company .bg-blue .container > div h2 {
  position: absolute;
  background-color: #F1F6FC;
  z-index: 2;
  font-size: 18px;
  letter-spacing: 0.1em;
  padding: 23px 0 10px;
  line-height: 1;
  text-align: center;
  color: #303030;
  width: 267px;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .sec-company .bg-blue .container > div h2 {
    padding: 16px 0 4px;
    width: 166px;
    font-size: 15px;
  }
}

/*foot*/
#page-top {
  display: none;
  position: absolute;
  z-index: 9999;
  bottom: 0px;
  right: 30px;
  font-size: 12px;
}

#page-top a {
  line-height: 1;
  text-decoration: none;
  color: #fff;
  text-align: center;
  width: 25px;
  display: block;
  position: relative;
  padding: 0 0 8em 0;
  transition: all 0.2s;
}

#page-top a:hover {
  opacity: 0.8;
}

#page-top a:before {
  content: "";
  height: 75px;
  width: 3px;
  display: block;
  background-color: #fff;
}

#page-top a span {
  display: block;
  transform: rotate(-90deg);
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  width: 8em;
  position: absolute;
  bottom: 38px;
  left: -55px;
}

#page-top a span:before {
  position: absolute;
  transform: rotate(40deg);
  content: "";
  width: 15px;
  height: 3px;
  right: -72px;
  top: 2px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  #page-top {
    display: none;
    position: fixed;
    z-index: 9999;
    bottom: 30px;
    right: 30px;
    font-size: 12px;
  }
}
/*-----------------------
pagination
---------------------------*/
.autopagination {
  text-align: center;
}

.pagination-wrapper {
  text-align: left !important;
}
@media screen and (max-width: 767px) {
  .pagination-wrapper {
    padding: 0px 0 50px 0;
  }
}

.pagination {
  list-style: none;
  display: flex;
  justify-content: flex-start;
  padding-left: 0;
  margin: 50px 0 0;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .pagination {
    justify-content: center;
  }
}

.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 7px 13px;
  margin: 0 6px;
  line-height: 1.42857143;
  color: #3786CD;
  border-radius: 0px !important;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #3786CD;
}

.pagination > li > span.current,
.pagination > li > a:focus,
.pagination > li > a:hover,
.pagination > li > span:focus,
.pagination > li > span:hover {
  z-index: 2;
  color: #FFF;
  background-color: #3786CD;
  border-color: #3786CD;
}

.pagination > li > a.prev,
.pagination > li > a.next {
  color: #3786CD;
  background-color: #F1F6FC;
  border: 1px solid #F1F6FC;
}

.pagination > li > span.disable {
  color: #ccc;
  background-color: #eee;
  border: rgba(238, 238, 238, 0.5);
}

@media screen and (max-width: 767px) {
  .pagination {
    margin: 37px 0 0;
  }
  .pagination > li > a,
.pagination > li > span {
    padding: 7px 15px;
    margin: 0 4px;
    font-size: 15px;
  }
  .pagination-wrapper {
    text-align: center !important;
  }
}
/* top slide Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: 100px;
  display: inline-block !important;
  left: 50%;
  transform: translateX(-550px);
  width: auto;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

.slick-dots.thin {
  bottom: 20px;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: auto;
  height: 14px;
  margin: 0 8px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 14px;
  height: 14px;
  padding: 0px;
  border-radius: 50%;
  background-color: #fff;
  cursor: pointer;
  border: 0;
  outline: none;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li.slick-active button {
  border: 2px solid #fff;
  background-color: transparent;
}

@media screen and (max-width: 767px) {
  .slick-dots li button {
    width: 40px;
  }
}
/*==================================================
 * archive
 *================================================*/
/**
 * .entries
 */
.entries .article {
  padding-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .entries .article {
    padding-bottom: 0px;
  }
}

.entry .article {
  border-bottom: 1px solid #eee;
  margin-bottom: 30px;
  padding-bottom: 30px;
}

.entry .article .entry_title {
  font-size: 16px;
  border-left: 2px solid #008C8C;
  padding: 0px 0 0px 15px;
  margin-bottom: 10px;
  display: block;
  padding: 0px 110px 0px 15px;
}

.entry .article .date {
  padding: 2px 7px;
  float: right;
  color: #FFF;
  display: block;
  background-color: #107E67;
  font-size: 12px;
}

@media screen and (max-width: 480px) {
  .entry .article .entry {
    text-align: right;
  }
  .entry .article .date {
    display: inline-block;
  }
  .entry .article .entry_title {
    width: 100%;
    padding: 0px 10px 0px 10px;
    margin-top: 30px;
    text-align: left;
  }
  .entry .article .entry__summary {
    text-align: left;
  }
}
#loading {
  display: none;
}

/*サブメニュー*/
.sec_menu {
  padding-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .sec_menu {
    overflow: hidden;
    padding-bottom: 0;
  }
}
.sec_menu .panel-group {
  margin-bottom: 0px;
}
.sec_menu .panel-group .panel {
  margin-bottom: 0;
  border-radius: 0;
  border: 0;
  box-shadow: none;
}
.sec_menu .menubtns {
  list-style: none;
  margin: 0 auto;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .sec_menu .menubtns {
    width: auto;
    flex-wrap: wrap;
    margin: 0px;
  }
}
.sec_menu .menubtns > li {
  width: 25%;
  padding: 0 10px 0 10px;
}
@media screen and (max-width: 767px) {
  .sec_menu .menubtns > li {
    width: 50%;
    padding: 0 8px 10px;
  }
}
.sec_menu .menubtns > li a {
  width: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 16px;
  height: 60px;
  line-height: 1.5;
  border-bottom: 1px solid #3786CD;
  position: relative;
  text-align: center;
  padding: 10px 0 10px;
}
@media screen and (max-width: 767px) {
  .sec_menu .menubtns > li a {
    width: auto;
    height: auto;
    font-size: 13px;
    height: 37px;
    line-height: 1.3;
    text-align: center;
    justify-content: center;
    align-items: flex-end;
  }
}
.sec_menu .menubtns > li a i {
  color: #3786CD;
  position: absolute;
  right: 0;
  top: 0;
  font-size: 12px;
  line-height: 60px;
}
@media screen and (max-width: 767px) {
  .sec_menu .menubtns > li a i {
    line-height: 37px;
    font-size: 10px;
  }
}

.sec_menu .panel-group .tablelist {
  border-left: 1px solid #ddd;
  width: auto;
  margin: 50px 0 0;
}

.sec_menu .panel-group .tablelist > div:first-child,
.sec_menu .panel-group .tablelist > div:nth-child(2),
.sec_menu .panel-group .tablelist > div:nth-child(3) {
  border-top: 1px solid #ddd;
}

.sec_menu .panel-group .tablelist > div {
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  width: 33.333333333%;
}

.sec_menu .panel-group .tablelist > div a {
  display: block;
  text-align: center;
  height: 50px;
  line-height: 48px;
  text-decoration: none;
}

.sec_menu .panel-group .tablelist > div a:hover {
  background-color: #eee;
}

@media screen and (max-width: 767px) {
  .sec_menu .panel-group .tablelist {
    border-left: 1px solid #ddd;
    width: auto;
    margin: 30px 20px 0;
  }
  .sec_menu .panel-group .tablelist > div:nth-child(3) {
    border-top: none;
  }
  .sec_menu .panel-group .tablelist > div {
    width: 50%;
  }
  .sec_menu .panel-group .tablelist > div a {
    font-size: 12px;
    height: 37px;
    line-height: 35px;
  }
}
.page article {
  padding-top: 0px;
}

body:not(.page-contact) .grecaptcha-badge {
  display: none;
}

/*page anime*/
.page-header .skewIn {
  transform: translate3d(0, 160%, 0) skewY(7deg);
  transition: opacity 0.7s cubic-bezier(0.54, 0, 0, 0.99), transform 1.1s cubic-bezier(0.472, 0.428, 0, 0.992) 0.1s;
  transition-delay: 0.05143s;
  padding-bottom: 0.1em;
  opacity: 0;
}
.page-header .skewIn.-is-show,
.page-header .skewIn .-is-show {
  transform: translate3d(0, 0, 0) skewY(0deg);
  opacity: 1;
}
.page-header .js-mainVisual.-mask::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #FFF;
  /* transition: all 1s ease; */
  transition: all 0.92s cubic-bezier(0.54, 0, 0, 0.99) 0s;
}
.page-header .js-mainVisual.-mask.-is-show::after {
  transform: translate3d(0, -100%, 0);
}

#cookie-law-info-bar {
  background-color: rgba(0, 0, 0, 0.7) !important;
  padding: 22px 10px;
}
@media screen and (max-width: 767px) {
  #cookie-law-info-bar {
    padding: 22px 0px;
  }
}
#cookie-law-info-bar .fr {
  align-items: center;
}
@media screen and (max-width: 767px) {
  #cookie-law-info-bar .fr {
    display: block;
  }
}
#cookie-law-info-bar p {
  color: #fff;
  font-size: 12px;
  text-align: left;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  #cookie-law-info-bar p {
    font-size: 11px;
  }
}
#cookie-law-info-bar p a {
  color: #fff;
}
#cookie-law-info-bar .cli-plugin-button {
  width: 80px;
  height: 39px;
  line-height: 39px;
  font-size: 13px;
  font-weight: bold;
  border-radius: 5px;
  background: #fff;
  padding: 0px 12px;
}
@media screen and (max-width: 767px) {
  #cookie-law-info-bar .cli-plugin-button {
    display: block;
    margin: 10px auto 0;
  }
}
@media screen and (max-width: 767px) {
  #cookie-law-info-bar .cli-bar-btn_container {
    margin-left: 0px;
  }
}

/**/
.page-service .page-header .mv {
  background-image: url(../images/bg-about.jpg);
}
@media screen and (max-width: 767px) {
  .page-service .page-header .mv {
    background-image: url(../images/sp-bg-about.jpg);
  }
}

.page-message .page-header .mv {
  background-image: url(../images/bg-message.jpg);
}
@media screen and (max-width: 767px) {
  .page-message .page-header .mv {
    background-image: url(../images/sp-bg-message.jpg);
  }
}

.page-company .page-header .mv {
  background-image: url(../images/bg-company.jpg);
}
@media screen and (max-width: 767px) {
  .page-company .page-header .mv {
    background-image: url(../images/sp-bg-company.jpg);
  }
}

.page-philosophy .page-header .mv {
  background-image: url(../images/bg-philosophy.jpg);
}
@media screen and (max-width: 767px) {
  .page-philosophy .page-header .mv {
    background-image: url(../images/sp-bg-philosophy.jpg);
  }
}

section .ttlarea {
  display: flex;
  align-items: baseline;
  margin: 0 0 85px;
}
@media screen and (max-width: 767px) {
  section .ttlarea {
    margin: 0 0 50px;
  }
}
section .ttlarea .h2 {
  font-size: 50px;
  color: #3786CD;
  font-weight: bold;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  section .ttlarea .h2 {
    font-size: 34px;
  }
}
section .ttlarea h2.ttl {
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  margin-left: 20px;
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  section .ttlarea h2.ttl {
    margin-left: 10px;
    font-size: 12px;
  }
}
section .ttlarea h2.ttl::before {
  content: "/ ";
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  section .ttlarea h2.ttl::before {
    margin-right: 10px;
  }
}
.home section .ttlarea h2.ttl::before {
  content: "";
}

.page-message .wrapper {
  background-color: #F1F6FC;
}
.page-message section .inner {
  margin: 0 60px;
  background-color: #fff;
  padding: 100px 24px;
}
@media screen and (max-width: 767px) {
  .page-message section .inner {
    margin: 0 24px;
    padding: 40px 0;
  }
}
.page-message section .container {
  width: auto;
  max-width: 1168px;
}
.page-message section h2 {
  font-size: 26px;
  margin-bottom: 40px;
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .page-message section h2 {
    font-size: 16px;
    text-align: left;
    margin-bottom: 30px;
  }
}
.page-message section p {
  font-size: 15px;
  line-height: 2;
  margin-bottom: 2em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-message section p {
    text-align: left;
    line-height: 1.8;
    font-size: 15px;
    margin-bottom: 1.5em;
  }
}
.page-message section p.middle {
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .page-message section p.middle {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .page-message section p.large {
    text-align: center;
  }
}
.page-message section .img {
  margin: 0 0 60px;
}
@media screen and (max-width: 767px) {
  .page-message section .img {
    text-align: center;
    margin: 0 -72px 35px;
  }
}
.page-message section .img img {
  width: 100%;
  height: auto;
}

.tablearea dl {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #3786CD;
  border-bottom: 1px solid #3786CD;
}
@media screen and (max-width: 767px) {
  .tablearea dl {
    display: block;
    border-top: none;
    border-bottom: none;
  }
}
.tablearea dl dt {
  width: 220px;
  padding: 30px 0 30px 30px;
  line-height: 1.8;
  font-size: 15px;
  font-weight: bold;
  position: relative;
  background-color: #F1F6FC;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .tablearea dl dt {
    width: 100%;
    padding: 20px 20px 20px 20px;
    border-bottom: none;
    font-size: 15px;
    border-top: 1px solid #3786CD;
    border-bottom: none;
  }
}
.tablearea dl dd {
  margin-left: 0px;
  padding: 30px 0px 30px 25px;
  width: calc(100% - 220px);
  line-height: 1.8;
  border-bottom: 1px solid #ccc;
  position: relative;
  background-color: #fff;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .tablearea dl dd {
    width: 100%;
    padding: 22px 0px 22px 0px;
    font-size: 15px;
    border-bottom: none;
  }
}
.tablearea + p.link {
  margin: 20px 0 0;
}
.tablearea + p.link a {
  display: block;
  padding-left: 22px;
  color: #3786CD;
  background: url(../images/icon-window2.svg) left 3px no-repeat;
}
.tablearea + p.link a:hover {
  text-decoration: underline;
}

.page-philosophy section p {
  text-align: center;
  font-size: 15px;
  line-height: 2;
  margin: 0 0 2em;
}
@media screen and (max-width: 767px) {
  .page-philosophy section p {
    font-size: 14px;
    text-align: left;
  }
}
.page-philosophy .sec-philosophy-lead {
  padding-bottom: 110px;
}
@media screen and (max-width: 767px) {
  .page-philosophy .sec-philosophy-lead {
    padding-bottom: 75px;
  }
}
.page-philosophy .sec-philosophy-lead .lead {
  font-size: 34px;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-philosophy .sec-philosophy-lead .lead {
    font-size: 19px;
    margin: 0;
  }
}
.page-philosophy .sec-policy {
  position: relative;
  padding-left: 24px;
  padding-right: 24px;
}
@media screen and (max-width: 767px) {
  .page-philosophy .sec-policy {
    padding-left: 0;
    padding-right: 0;
  }
}
.page-philosophy .sec-policy::before {
  position: absolute;
  right: 0;
  top: 0;
  background-color: #F1F6FC;
  content: "";
  width: calc(100% - 60px);
  height: 100%;
  z-index: -1;
}
@media screen and (max-width: 1330px) {
  .page-philosophy .sec-policy::before {
    width: calc(100% - 20px);
  }
}
@media screen and (max-width: 767px) {
  .page-philosophy .sec-policy::before {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .page-philosophy .sec-policy ul {
    display: block;
  }
}
.page-philosophy .sec-policy ul li {
  width: calc((100% - 40px) / 3);
  background-color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 24px;
  line-height: 1.8;
  padding: 50px 0;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .page-philosophy .sec-policy ul li {
    width: 100%;
    padding: 35px 0;
    margin: 0 0 5px;
    font-size: 17px;
  }
}
.page-philosophy .sec-activities {
  position: relative;
  padding-left: 24px;
  padding-right: 24px;
}
@media screen and (max-width: 767px) {
  .page-philosophy .sec-activities {
    padding-left: 0;
    padding-right: 0;
  }
}
.page-philosophy .sec-activities::before {
  position: absolute;
  left: 0;
  top: 0;
  background-color: #F1F6FC;
  content: "";
  width: calc(100% - 60px);
  height: 100%;
  z-index: -1;
}
@media screen and (max-width: 1330px) {
  .page-philosophy .sec-activities::before {
    width: calc(100% - 20px);
  }
}
@media screen and (max-width: 767px) {
  .page-philosophy .sec-activities::before {
    width: 100%;
  }
}
.page-philosophy .sec-activities div.fr {
  margin: 70px 0 0;
}
@media screen and (max-width: 767px) {
  .page-philosophy .sec-activities div.fr {
    margin: 40px 0 0;
    display: block;
  }
}
.page-philosophy .sec-activities div.fr > div {
  width: calc(50% - 25px);
}
@media screen and (max-width: 767px) {
  .page-philosophy .sec-activities div.fr > div {
    width: 100%;
    margin: 0 0 20px;
  }
}
.page-philosophy .sec-activities div.fr h3 {
  font-size: 20px;
  margin: 20px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-philosophy .sec-activities div.fr h3 {
    font-size: 16px;
    margin: 15px 0;
  }
}
.page-philosophy .sec-activities div.fr .readmore {
  display: flex;
  justify-content: center;
  margin: 0 0 35px;
}
@media screen and (max-width: 767px) {
  .page-philosophy .sec-activities div.fr .readmore {
    display: block;
  }
}
.page-philosophy .sec-activities div.fr .readmore a {
  margin: 0 20px;
  background-color: transparent;
}
.page-philosophy .sec-activities div.fr .readmore a.pdf {
  background: url(../images/icon-pdf2.svg) 40px center no-repeat;
  padding-left: 25px;
}
@media screen and (max-width: 767px) {
  .page-philosophy .sec-activities div.fr .readmore a {
    margin: 0 auto 15px;
  }
}
.page-philosophy .sec-activities div.fr .readmore a:hover {
  background-color: #3786CD;
}
.page-philosophy .sec-activities div.fr p {
  text-align: left;
}
.page-philosophy .sec-symbol .img {
  text-align: center;
  margin: 0 0 80px;
}
@media screen and (max-width: 767px) {
  .page-philosophy .sec-symbol .img {
    margin: 0 0 40px;
  }
  .page-philosophy .sec-symbol .img img {
    width: 205px;
    height: auto;
  }
}

.page-company .sec-profile {
  position: relative;
}
.page-company .sec-profile .readmore {
  position: relative;
}
.page-company .sec-profile a.downloadbtn {
  position: absolute;
  right: 0;
  top: -130px;
  display: block;
}
@media screen and (max-width: 767px) {
  .page-company .sec-profile a.downloadbtn {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    margin: 0 0 36px;
  }
}
.page-company .sec-profile a.downloadbtn::before, .page-company .sec-profile a.downloadbtn::after {
  display: none;
}
.page-company .sec-profile a.downloadbtn span {
  display: inline-block;
  background: url(../images/icon-dl-b.svg) left center no-repeat;
  background-size: 16px 16px;
  padding-left: 28px;
}
.page-company .sec-profile a.downloadbtn:hover span {
  background-image: url(../images/icon-dl-w.svg);
}
.page-company .sec-profile .bannerlist {
  margin-top: 45px;
  display: flex;
  list-style: none;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .page-company .sec-profile .bannerlist {
    margin-top: 30px;
    justify-content: center;
    flex-wrap: wrap;
  }
}
.page-company .sec-profile .bannerlist li {
  width: calc((100% - 40px) / 5);
}
@media screen and (max-width: 767px) {
  .page-company .sec-profile .bannerlist li {
    width: 33.3333333333%;
    margin-bottom: 10px;
    padding: 0 3px;
  }
}
.page-company .sec-profile .bannerlist li a {
  color: #006DBA;
  font-size: 15px;
  background-color: #fff;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  height: 65px;
}
@media screen and (max-width: 767px) {
  .page-company .sec-profile .bannerlist li a {
    height: 36px;
    font-size: 11px;
  }
}
.page-company .sec-profile .bannerlist li a:hover {
  opacity: 0.8;
}
.page-company .sec-profile .bannerlist li a span {
  display: inline-block;
  position: relative;
}
.page-company .sec-profile .bannerlist li a span:after {
  display: block;
  content: "";
  width: 100%;
  background-color: #006DBA;
  height: 1px;
  margin-top: 2px;
}
.page-company .sec-profile .bannerlist li a i {
  margin-right: 10px;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .page-company .sec-profile .bannerlist li a i {
    font-size: 14px;
    margin-right: 5px;
  }
}
@media screen and (max-width: 767px) {
  .page-company .sec-profile .bannerlist li.yt a span img {
    height: 11px;
    width: auto;
  }
}
.page-company .sec-profile .bannerlist li.yt a span:after {
  display: none;
}
.page-company .sec-profile .bannerlist li.fb a {
  color: #33539C;
}
.page-company .sec-profile .bannerlist li.fb a span:after {
  display: none;
}
.page-company .sec-profile .bannerlist li.tw a {
  color: #00A2F3;
}
.page-company .sec-profile .bannerlist li.tw a span:after {
  display: none;
}
.page-company .sec-office {
  position: relative;
}
.page-company .sec-office::before {
  position: absolute;
  right: 0;
  top: 0;
  background-color: #F1F6FC;
  content: "";
  width: calc(50% + 240px);
  height: 100%;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .page-company .sec-office::before {
    width: 50%;
  }
}
.page-company .sec-office ul li {
  display: flex;
  margin: 0 0 50px;
}
@media screen and (max-width: 767px) {
  .page-company .sec-office ul li {
    display: block;
  }
}
.page-company .sec-office ul li .img {
  width: 537px;
  flex-shrink: 0;
  flex-grow: 0;
}
@media screen and (max-width: 767px) {
  .page-company .sec-office ul li .img {
    width: 100%;
    margin-bottom: 10px;
  }
}
.page-company .sec-office ul li .txt {
  padding-left: 48px;
  width: calc(100% - 537px);
}
@media screen and (max-width: 767px) {
  .page-company .sec-office ul li .txt {
    width: 100%;
    padding-left: 0;
  }
}
.page-company .sec-office ul li .txt iframe {
  margin: 0 0 40px;
}
@media screen and (max-width: 767px) {
  .page-company .sec-office ul li .txt iframe {
    height: 180px;
    margin: 0 0 20px;
  }
}
.page-company .sec-office ul li .txt h3 {
  font-size: 18px;
  margin: 0 0 20px;
}
.page-company .sec-office ul li .txt h3::after {
  margin-top: 20px;
  content: "";
  height: 1px;
  background-color: #3786CD;
  width: 100px;
  display: block;
}
.page-company .sec-office ul li .txt p {
  line-height: 1.8;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .page-company .sec-office ul li .txt p {
    font-size: 14px;
  }
}
.page-company .sec-client {
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .page-company .sec-client {
    padding-bottom: 60px;
  }
}
.page-company .sec-client::before {
  position: absolute;
  left: 0;
  top: 0;
  background-color: #F1F6FC;
  content: "";
  width: calc(50% + 240px);
  height: calc(100% - 120px);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .page-company .sec-client::before {
    width: 50%;
    height: calc(100% - 60px);
  }
}
.page-company .sec-client h3 {
  font-size: 18px;
  line-height: 1;
  padding: 20px 0;
  border-top: 1px solid #3786CD;
  border-bottom: 1px solid #3786CD;
  margin: 0 0 20px;
}
@media screen and (max-width: 767px) {
  .page-company .sec-client h3 {
    font-size: 15px;
  }
}
.page-company .sec-client ul {
  list-style: none;
  width: 33.3333333333%;
}
@media screen and (max-width: 767px) {
  .page-company .sec-client ul {
    width: 100%;
  }
}
.page-company .sec-client ul li {
  font-size: 15px;
  line-height: 2.2;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .page-company .sec-client ul li {
    white-space: normal;
    line-height: 1.5;
    margin-bottom: 5px;
  }
}
.page-company .sec-client .fr {
  margin-bottom: 90px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .page-company .sec-client .fr {
    display: block;
    margin-bottom: 45px;
    white-space: nowrap;
  }
}
.page-company .sec-client .fr .etc {
  position: absolute;
  left: 10px;
  bottom: -30px;
}

.page-aboutus section .ttlarea {
  display: flex;
  align-items: center;
  margin: 0 0 85px;
}
@media screen and (max-width: 767px) {
  .page-aboutus section .ttlarea {
    display: block;
    margin: 0 0 35px;
  }
}
.page-aboutus section .ttlarea .h2 {
  font-size: 80px;
  font-weight: bold;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .page-aboutus section .ttlarea .h2 {
    font-size: 45px;
  }
}
.page-aboutus section .ttlarea h2.ttl {
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  margin-left: 20px;
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .page-aboutus section .ttlarea h2.ttl {
    margin-left: 0px;
    font-size: 15px;
  }
}
.page-aboutus section .ttlarea h2.ttl::before {
  content: "/ ";
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  .page-aboutus section .ttlarea h2.ttl::before {
    margin-right: 10px;
  }
}
.page-aboutus p {
  font-size: 15px;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-aboutus p {
    font-size: 16px;
    text-align: left;
  }
}
.page-aboutus p.lead {
  font-weight: bold;
  font-size: 25px;
  margin: 0 0 45px;
}
@media screen and (max-width: 767px) {
  .page-aboutus p.lead {
    text-align: left;
    font-size: 16px;
    margin: 0 0 35px;
  }
}
.page-aboutus .sec-about-lead {
  padding-bottom: 150px !important;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-about-lead {
    padding-bottom: 80px !important;
  }
}
.page-aboutus .sec-about-lead .readmore {
  text-align: center;
  padding: 40px 0 0;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-about-lead .readmore {
    padding: 0px 0 0;
  }
}
.page-aboutus .sec-about-lead .readmore a {
  margin: 0 auto;
  width: 290px;
}
.page-aboutus .sec-business {
  background-color: #F1F6FC;
  padding: 1px 0 115px;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-business {
    padding: 1px 0 75px;
  }
}
.page-aboutus .sec-business .container {
  margin-top: -50px;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-business .container {
    margin-top: -30px;
  }
}
.page-aboutus .sec-business .img {
  margin: 0 0 0px;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-business .img {
    margin: 0 0 0;
  }
}
.page-aboutus .sec-strengths {
  position: relative;
  padding: 150px 0 0;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-strengths {
    padding: 90px 0;
  }
}
.page-aboutus .sec-strengths::before {
  content: "";
  display: block;
  background-color: #F1F6FC;
  height: calc(100% - 150px);
  position: absolute;
  z-index: -1;
  width: calc(50% - 280px);
  left: 0;
  top: 150px;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-strengths::before {
    top: 90px;
    width: 50%;
    height: calc(100% - 97px);
  }
}
.page-aboutus .sec-strengths::after {
  content: "";
  display: block;
  background-color: #F1F6FC;
  right: 0;
  top: 150px;
  height: calc(100% - 150px);
  position: absolute;
  z-index: -1;
  width: calc(50% - 650px);
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-strengths::after {
    display: none;
  }
}
.page-aboutus .sec-strengths .container {
  margin-top: -50px;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-strengths .container {
    margin-top: -30px;
  }
}
.page-aboutus .sec-strengths .block {
  padding: 0 0 60px;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-strengths .block {
    padding: 0 0 0px;
    margin: 0 -24px;
  }
}
.page-aboutus .sec-strengths .block ol {
  list-style: none;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-strengths .block ol {
    display: block;
    padding: 0 0px;
  }
}
.page-aboutus .sec-strengths .block ol li {
  margin: 0 0 50px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-strengths .block ol li {
    display: block;
    width: 100%;
    margin-bottom: 20px;
  }
  .page-aboutus .sec-strengths .block ol li:last-child {
    margin-bottom: 0;
  }
}
.page-aboutus .sec-strengths .block ol li .img {
  width: 710px;
  flex-grow: 0;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-strengths .block ol li .img {
    width: 100%;
  }
}
.page-aboutus .sec-strengths .block ol li .img img {
  width: 100%;
  height: auto;
}
.page-aboutus .sec-strengths .block ol li .txt {
  padding: 0 0 0 75px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-strengths .block ol li .txt {
    padding: 30px 24px 20px;
  }
}
.page-aboutus .sec-strengths .block ol li .txt .num {
  font-size: 15px;
  color: #3786CD;
  margin: 0 0 30px;
}
.page-aboutus .sec-strengths .block ol li .txt h3.ttl {
  font-size: 30px;
  line-height: 1;
  margin: 0 0 20px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-strengths .block ol li .txt h3.ttl {
    margin: 0 0 10px;
    font-size: 28px;
  }
}
.page-aboutus .sec-strengths .block ol li .txt .subttl {
  font-size: 17px;
  font-weight: bold;
  line-height: 1;
  margin: 0 0 30px -5px;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-strengths .block ol li .txt .subttl {
    font-size: 16px;
  }
}
.page-aboutus .sec-strengths .block ol li .txt p {
  letter-spacing: 0.05em;
  text-align: left;
  font-size: 15px;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-strengths .block ol li .txt p {
    font-size: 16px;
  }
}
.page-aboutus .sec-strengths .block ol li .txt div.ttl {
  color: #006DBA;
  text-align: center;
  font-size: 22px;
  line-height: 1.3;
  font-weight: bold;
  padding: 0 0 25px;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-strengths .block ol li .txt div.ttl {
    font-size: 16px;
  }
}
.page-aboutus .sec-strengths .block ol li .txt .readmore {
  margin: 30px 0 0;
  padding: 0;
}
.page-aboutus .sec-strengths .block ol li .txt .readmore a {
  width: 290px;
  background-color: transparent;
}
.page-aboutus .sec-strengths .block ol li .txt .readmore a:hover {
  background-color: #3786CD;
}
.page-aboutus .sec-products {
  padding: 85px 0 160px;
}
.page-aboutus .sec-manufacturer {
  background-color: #F1F6FC;
  padding: 1px 0 30px;
  margin: 0 0 100px;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-manufacturer {
    padding: 1px 0 30px;
    margin: 0 0 70px;
  }
}
.page-aboutus .sec-manufacturer .container {
  margin-top: -50px;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-manufacturer .container {
    margin-top: -30px;
  }
}
.page-aboutus .sec-manufacturer h3 {
  font-size: 15px;
  line-height: 1;
  padding-bottom: 10px;
  border-bottom: 1px solid #CCCCCC;
  position: relative;
  margin: 40px 0 50px;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-manufacturer h3 {
    font-size: 17px;
    margin: 30px 0 30px;
  }
}
.page-aboutus .sec-manufacturer h3::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  height: 1px;
  width: 100px;
  background-color: #3786CD;
}
.page-aboutus .sec-manufacturer ul {
  display: flex;
  list-style: none;
  flex-wrap: wrap;
  margin: 0 -14px 70px;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-manufacturer ul {
    margin: 0 -8px 30px;
  }
}
.page-aboutus .sec-manufacturer ul li {
  margin: 0 14px 14px;
  width: calc(25% - 28px);
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-manufacturer ul li {
    margin: 0 8px 8px;
    width: calc(50% - 16px);
  }
}
.page-aboutus .sec-manufacturer ul li a {
  text-decoration: none;
  color: #000;
}
.page-aboutus .sec-manufacturer ul li a:hover {
  opacity: 0.8;
}
.page-aboutus .sec-manufacturer ul li p {
  line-height: 1.3;
  font-size: 13px;
  text-align: left;
  padding: 10px 0;
}
@media screen and (max-width: 767px) {
  .page-aboutus .sec-manufacturer ul li p {
    padding: 8px 0;
    font-size: 10px;
  }
}

.page-service p {
  font-size: 15px;
  line-height: 1.8;
  text-align: center;
  margin: 0 0 2rem;
}
.page-service p:last-child {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .page-service p {
    font-size: 16px;
    text-align: left;
  }
}
.page-service p.lead {
  font-weight: bold;
  font-size: 35px;
  margin: 0 0 45px;
}
@media screen and (max-width: 767px) {
  .page-service p.lead {
    text-align: center;
    font-size: 21px;
    margin: 0 0 35px;
  }
}
.page-service .sec-service-lead {
  padding-bottom: 140px !important;
}
@media screen and (max-width: 767px) {
  .page-service .sec-service-lead {
    padding-bottom: 60px !important;
  }
}
.page-service .sec-service1 {
  background-color: #F1F6FC;
  padding: 130px 0 115px;
}
@media screen and (max-width: 767px) {
  .page-service .sec-service1 {
    padding: 65px 0 25px;
  }
}
.page-service .sec-service1 h3 {
  font-size: 20px;
  padding: 0 0 24px;
  border-bottom: 1px solid #303030;
  margin: 0 0 30px;
}
@media screen and (max-width: 767px) {
  .page-service .sec-service1 h3 {
    font-size: 15px;
    margin: 0 0 35px;
  }
}
.page-service .sec-service1 .block {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .page-service .sec-service1 .block {
    display: block;
    margin: 0 0 50px;
  }
}
.page-service .sec-service1 .block + h3 {
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .page-service .sec-service1 .block + h3 {
    margin-top: 60px;
  }
}
.page-service .sec-service1 .img {
  margin: 0;
  display: flex;
  width: 653px;
  flex-shrink: 0;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .page-service .sec-service1 .img {
    margin: 0 0 30px;
    display: block;
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  .page-service .sec-service1 .img img {
    max-width: none;
    display: block;
    margin: 0 0 15px;
    width: 100%;
  }
}
.page-service .sec-service1 .txt {
  text-align: left;
  padding: 0 0 0 40px;
}
@media screen and (max-width: 767px) {
  .page-service .sec-service1 .txt {
    padding: 0;
  }
}
.page-service .sec-service1 .txt p {
  text-align: left;
}
@media screen and (max-width: 767px) {
  .page-service .sec-service1 .txt p {
    font-size: 15px;
  }
}
.page-service .sec-service1 .txt .readmore {
  margin: 30px 0 0;
  padding: 0;
}
.page-service .sec-service1 .txt .readmore a {
  width: 290px;
  background-color: transparent;
}
.page-service .sec-service1 .txt .readmore a:hover {
  background-color: #3786CD;
}
.page-service .sec-service2 {
  padding: 130px 0 115px;
}
@media screen and (max-width: 767px) {
  .page-service .sec-service2 {
    padding: 65px 0 75px;
  }
}
.page-service .sec-service2 h3 {
  font-size: 20px;
  margin: 0 0 75px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .page-service .sec-service2 h3 {
    font-size: 15px;
    margin: 0 0 35px;
  }
}
.page-service .sec-service2 h3::after {
  content: "";
  height: 1px;
  background-color: #303030;
  flex: 10 0 auto;
  margin: 0 0 0 50px;
}
@media screen and (max-width: 767px) {
  .page-service .sec-service2 h3::after {
    margin: 0 0 0 30px;
  }
}
.page-service .sec-service2 .block {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .page-service .sec-service2 .block {
    display: block;
  }
}
.page-service .sec-service2 .img {
  margin: 0;
  width: 536px;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .page-service .sec-service2 .img {
    margin: 0 0 35px;
    width: auto;
  }
}
.page-service .sec-service2 .txt {
  text-align: left;
  padding: 0 0 0 40px;
}
@media screen and (max-width: 767px) {
  .page-service .sec-service2 .txt {
    padding: 0 0 0 0px;
  }
}
.page-service .sec-service2 .txt p {
  font-size: 16px;
  line-height: 1.8;
  text-align: left;
}
.page-service .sec-service2 .txt .readmore {
  margin: 30px 0 0;
  padding: 0;
}
.page-service .sec-service2 .txt .readmore a {
  width: 290px;
  background-color: transparent;
}
.page-service .sec-service2 .txt .readmore a:hover {
  background-color: #3786CD;
}

.post-type-archive-products .searchbox {
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .post-type-archive-products .searchbox {
    padding: 20px 0;
    margin: 20px 0 0 0;
    background-color: #F1F6FC;
  }
}
@media screen and (min-width: 768px) {
  .post-type-archive-products .searchbox .container .inner {
    padding: 30px 40px;
    background-color: #F1F6FC;
  }
  .post-type-archive-products .searchbox .container .widget-area {
    display: flex;
    justify-content: center;
    margin: 0 -6px;
  }
  .post-type-archive-products .searchbox .container .widget-area .sidebar-widget {
    width: calc(25% - 12px);
    margin: 0 6px;
  }
  .post-type-archive-products .searchbox .container .widget-area .inner {
    padding: 0 !important;
  }
  .post-type-archive-products .searchbox .container .widget_categories.probar select, .post-type-archive-products .searchbox .container .widget_archive.probar select {
    border: 0 !important;
    border-radius: 0 !important;
  }
  .post-type-archive-products .searchbox .container .widget_search input[type=search].form-control {
    border-radius: 0 !important;
  }
}

.post-type-archive-products .sec-products-archive .newslist.newsarea ul li {
  width: 25%;
  padding: 0 14px;
}
@media screen and (max-width: 767px) {
  .post-type-archive-products .sec-products-archive .newslist.newsarea ul li {
    width: 50%;
  }
}
.post-type-archive-products .sec-products-archive .newslist.newsarea ul li .title {
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  padding: 10px 0 0;
}
@media screen and (max-width: 767px) {
  .post-type-archive-products .sec-products-archive .newslist.newsarea ul li .title {
    font-size: 13px;
    height: auto;
  }
}

.sec-products-list2 {
  padding: 0;
}
.sec-products-list2 h2 {
  margin: 0 0 50px;
  background-color: #3786CD;
  color: #fff;
  padding: 12px 18px;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .sec-products-list2 h2 {
    margin: 0 0 25px;
  }
}
.sec-products-list2 ul {
  list-style: none;
}
.sec-products-list2 ul li {
  padding: 18px 0;
  border-bottom: 1px solid #CCCCCC;
  display: flex;
  justify-content: space-between;
}
.sec-products-list2 ul li:first-child {
  border-top: 1px solid #CCCCCC;
}
@media screen and (max-width: 767px) {
  .sec-products-list2 ul li {
    flex-wrap: wrap;
  }
}
.sec-products-list2 ul .img {
  width: 138px;
  flex-grow: 0;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .sec-products-list2 ul .img {
    width: calc(50% - 3px);
  }
}
.sec-products-list2 ul .img a {
  display: block;
  padding-top: 75%;
  background-size: cover;
}
.sec-products-list2 ul .img a:hover {
  opacity: 0.8;
}
.sec-products-list2 ul .img a.noimg {
  background-color: #DDDDDD;
}
.sec-products-list2 ul .txt {
  padding: 0 25px;
  flex-grow: 10;
}
@media screen and (max-width: 767px) {
  .sec-products-list2 ul .txt {
    width: 50%;
    padding: 0 0 0 16px;
  }
}
.sec-products-list2 ul .txt h3.title {
  margin: 8px 0 20px;
}
@media screen and (max-width: 767px) {
  .sec-products-list2 ul .txt h3.title {
    margin: 5px 0 16px;
  }
}
.sec-products-list2 ul .txt h3.title a {
  text-decoration: none;
  font-size: 16px;
  line-height: 1.3;
  display: block;
}
@media screen and (max-width: 767px) {
  .sec-products-list2 ul .txt h3.title a {
    font-size: 14px;
  }
}
.sec-products-list2 ul .txt h3.title a:hover {
  text-decoration: underline;
}
.sec-products-list2 ul .txt .meta {
  font-size: 10px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .sec-products-list2 ul .txt .meta {
    font-size: 9px;
  }
}
@media screen and (max-width: 767px) {
  .sec-products-list2 ul .txt .meta > div {
    margin-bottom: 2px;
  }
}
.sec-products-list2 ul .btns {
  width: 177px;
  flex-grow: 0;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .sec-products-list2 ul .btns {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
}
.sec-products-list2 ul .btns a {
  text-decoration: none;
  text-align: center;
  display: block;
  font-size: 10px;
  height: 35px;
  line-height: 35px;
  border-radius: 0;
  color: #F08609;
  border: 1px solid #F08609;
  margin: 10px 0;
  padding-left: 0px;
}
@media screen and (max-width: 767px) {
  .sec-products-list2 ul .btns a {
    width: calc(50% - 3px);
    text-align: center;
    padding: 0;
    margin: 10px 0 0;
  }
}
.sec-products-list2 ul .btns a span {
  display: inline-block;
  padding-left: 25px;
  background-repeat: no-repeat;
  background-position: left center;
  line-height: 13px;
}
.sec-products-list2 ul .btns a.dlbtn span {
  background-image: url(../images/icon-dl.svg);
  background-position: 3px center;
}
@media screen and (max-width: 767px) {
  .sec-products-list2 ul .btns a.dlbtn span {
    background-position: left center;
    padding-left: 20px;
  }
}
.sec-products-list2 ul .btns a.contactbtn span {
  background-image: url(../images/icon-mail-o.svg);
}

.search .page-header .mv,
.category .page-header .mv,
.date .page-header .mv,
.blog .page-header .mv {
  background-image: url(../images/bg-news.jpg);
}
@media screen and (max-width: 767px) {
  .search .page-header .mv,
.category .page-header .mv,
.date .page-header .mv,
.blog .page-header .mv {
    background-image: url(../images/sp-bg-news.jpg);
  }
}

.newslist.newsarea {
  margin-left: 0px;
}
.newslist.newsarea ul {
  list-style: none;
  margin: 0 -14px;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .newslist.newsarea ul {
    margin: 0 -8px;
  }
}
.newslist.newsarea ul li {
  width: 33.3333333333%;
  padding: 0 14px;
}
@media screen and (max-width: 767px) {
  .newslist.newsarea ul li {
    width: 50%;
    padding: 0 8px;
  }
}
.home .newslist.newsarea ul li {
  width: 25%;
}
@media screen and (max-width: 767px) {
  .home .newslist.newsarea ul li {
    width: 50%;
  }
}
.newslist.newsarea ul li dl {
  margin-bottom: 40px;
  padding: 0px 0;
}
@media screen and (max-width: 767px) {
  .newslist.newsarea ul li dl {
    margin-bottom: 20px;
  }
}
.newslist.newsarea ul li dl dt,
.newslist.newsarea ul li dl dd {
  padding: 0px 0 0px;
  font-weight: normal;
}
.newslist.newsarea ul li dl dt {
  vertical-align: top;
  overflow: hidden;
  min-width: 120px;
}
.newslist.newsarea ul li dl dt .img {
  width: 100%;
  padding-top: 60%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  transition: all 0.3s;
  overflow: hidden;
  position: relative;
  background-color: #eee;
  transition: transform ease 0.3s;
  background-image: url(../images/nolimg.png);
}
.post-type-archive-products .newslist.newsarea ul li dl dt .img {
  padding-top: 100%;
}
.newslist.newsarea ul li dl dt a {
  transition: all 0.2s;
}
.newslist.newsarea ul li dl dt a:hover .img {
  transform: scale(1.1);
}
.newslist.newsarea ul li dl dt a:hover {
  display: block;
}
.newslist.newsarea ul li dl dd {
  vertical-align: middle;
  padding-left: 0px;
}
.newslist.newsarea ul li dl dd .title {
  padding: 10px 0;
  text-align: left;
  transform: rotate(0.03deg);
  display: block;
  font-size: 15px;
  line-height: 1.5;
  text-decoration: none;
  color: #000;
  height: 66px;
}
@media screen and (max-width: 767px) {
  .newslist.newsarea ul li dl dd .title {
    font-size: 13px;
  }
}
.newslist.newsarea ul li dl dd .title:hover {
  opacity: 0.8;
}
.newslist.newsarea ul li .metaarea {
  font-weight: 400;
  margin: 4px 0 0;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .newslist.newsarea ul li .metaarea {
    display: flex;
    align-items: center;
    font-size: 10px;
  }
}
.newslist.newsarea ul li .cat {
  text-decoration: none;
  display: inline-block;
  margin-right: 10px;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .newslist.newsarea ul li .cat {
    font-size: 10px;
    min-width: 50%;
    padding: 0 3px;
  }
}
.newslist.newsarea ul li .cat:hover {
  opacity: 0.8;
}
.newslist.newsarea .readmore a {
  background-color: transparent;
}
.newslist.newsarea .readmore a:hover {
  background-color: #3786CD;
}

@media screen and (max-width: 767px) {
  .single .columns main {
    order: 1;
  }
  .single .columns main .single-post {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .single .columns aside {
    order: 2;
  }
}

/*==================================================
* single
*================================================*/
/**
* .single
*/
.single-csnews .page-header:before,
.single-post .page-header:before {
  display: none;
}
.single-csnews .page-header .inner,
.single-post .page-header .inner {
  background-color: #3786CD;
}
.single-csnews .page-header .inner:before,
.single-post .page-header .inner:before {
  display: none;
}
.single-csnews .page-header .inner .container,
.single-post .page-header .inner .container {
  height: 130px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .single-csnews .page-header .inner .container,
.single-post .page-header .inner .container {
    height: 85px;
  }
}
.single-csnews .page-header .inner .container .ttlarea,
.single-post .page-header .inner .container .ttlarea {
  display: flex;
  align-items: center;
  position: relative;
  left: 0;
  top: auto;
  transform: none;
  margin: 0;
}
.single-csnews .page-header .inner .container .ttlarea .h1,
.single-post .page-header .inner .container .ttlarea .h1 {
  text-shadow: none;
  color: #fff;
}
.single-csnews .page-header .inner .container .ttlarea .ttl,
.single-post .page-header .inner .container .ttlarea .ttl {
  margin-left: 30px;
  text-shadow: none;
  color: #fff;
  font-weight: 400;
}
.single-csnews article,
.single-post article {
  border-top: 4px solid #3786CD;
  padding: 48px 0;
  background-color: #fff;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .single-csnews article,
.single-post article {
    border-top: 4px solid #3786CD;
    padding: 20px 0;
    margin-bottom: 0px;
  }
}
.single-csnews article .single-head,
.single-post article .single-head {
  padding: 0 0px;
  margin-bottom: 15px;
  border-bottom: 1px solid #3786CD;
}
@media screen and (max-width: 767px) {
  .single-csnews article .single-head,
.single-post article .single-head {
    padding-left: 8px;
    padding: 0px 0px 0px;
    margin-bottom: 10px;
    vertical-align: top;
    background-color: #fff;
  }
}
.single-csnews article .single-head h1,
.single-post article .single-head h1 {
  font-size: 20px;
  font-weight: 700;
  padding-bottom: 20px;
  line-height: 1.3;
  margin-bottom: 0;
  vertical-align: middle;
  position: relative;
  margin-top: 0px;
}
@media screen and (max-width: 767px) {
  .single-csnews article .single-head h1,
.single-post article .single-head h1 {
    font-size: 18px;
    padding-bottom: 15px;
    line-height: 1.3;
    margin-bottom: 0px;
    margin-top: 0px;
  }
}
.single-csnews article .single-head .cat,
.single-post article .single-head .cat {
  font-size: 14px;
  text-decoration: none;
  line-height: 1;
  display: inline-block;
  margin-right: 20px;
  color: #3786CD;
}
@media screen and (max-width: 767px) {
  .single-csnews article .single-head .cat,
.single-post article .single-head .cat {
    vertical-align: top;
    display: inline-block;
    margin-right: 10px;
    font-size: 13px;
    vertical-align: middle;
  }
}
.single-csnews article .single-head .date,
.single-post article .single-head .date {
  margin-bottom: 25px;
  font-size: 14px;
  line-height: 1;
  color: #535353;
  display: flex;
  align-items: center;
}
.single-csnews article .contfr,
.single-post article .contfr {
  padding: 20px 0 0;
}
.single-csnews article .mainimg,
.single-post article .mainimg {
  margin: 0 0 40px;
}
.single-csnews article .mainimg img,
.single-post article .mainimg img {
  width: 100%;
  height: auto;
}
.single-csnews article .cont,
.single-post article .cont {
  margin: 0 0px 40px;
  line-height: 1.8;
  font-size: 15px;
}
.single-csnews article .cont ul,
.single-csnews article .cont ol,
.single-post article .cont ul,
.single-post article .cont ol {
  margin-left: 1.5em;
}
.single-csnews article .cont h3,
.single-post article .cont h3 {
  font-size: 16px;
  color: #000;
  padding: 0px 0px 15px 0px;
  line-height: 1.5;
  margin-bottom: 35px;
  font-weight: bold;
  position: relative;
  margin-top: 35px;
  border-bottom: 1px solid #3786CD;
}
@media screen and (max-width: 767px) {
  .single-csnews article .cont h3,
.single-post article .cont h3 {
    font-size: 14px;
    padding-bottom: 15px;
    line-height: 1;
    margin-bottom: 15px;
    margin-top: 40px;
  }
}
.single-csnews article .cont h2,
.single-post article .cont h2 {
  font-size: 20px;
  font-weight: normal;
  font-size: 18px;
  line-height: 1.5;
  padding: 20px;
  background-color: #F1F6FC;
  border-radius: 8px;
  margin-bottom: 30px;
  font-weight: 700;
  vertical-align: middle;
  position: relative;
  margin-top: 30px;
  position: relative;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .single-csnews article .cont h2,
.single-post article .cont h2 {
    font-size: 14px;
    margin-bottom: 20px;
    margin-top: 20px;
    padding: 15px;
    font-weight: bold;
    line-height: 1.3;
  }
}
.single-csnews article .cont h4,
.single-post article .cont h4 {
  font-size: 17px;
  font-weight: normal;
  margin: 20px 0;
}
@media screen and (max-width: 767px) {
  .single-csnews article .cont h4,
.single-post article .cont h4 {
    font-size: 14px;
    line-height: 1.3;
  }
}
.single-csnews article .cont h5,
.single-post article .cont h5 {
  font-size: 16px;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .single-csnews article .cont h5,
.single-post article .cont h5 {
    font-size: 13px;
    line-height: 1.3;
  }
}
.single-csnews article .cont h6,
.single-post article .cont h6 {
  font-size: 15px;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .single-csnews article .cont h6,
.single-post article .cont h6 {
    font-size: 13px;
    line-height: 1.3;
  }
}
.single-csnews article .cont p,
.single-post article .cont p {
  margin-bottom: 0;
  line-height: 1.8;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .single-csnews article .cont p,
.single-post article .cont p {
    line-height: 1.5;
    font-size: 14px;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .single-csnews article .cont img,
.single-post article .cont img {
    height: auto !important;
  }
}
.single-csnews article .cont table td,
.single-post article .cont table td {
  line-height: 1.8;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .single-csnews article .cont table td,
.single-post article .cont table td {
    line-height: 1.5;
    font-size: 14px;
  }
}
.single-csnews article .linkarea,
.single-post article .linkarea {
  display: table;
  list-style: none;
  margin: 50px 0px 40px 0px;
  padding: 0;
  width: 100%;
  background-color: #fff;
  border: 1px solid #ccc;
  position: relative;
  min-height: 40px;
}
@media screen and (max-width: 767px) {
  .single-csnews article .linkarea,
.single-post article .linkarea {
    margin: 26px 0px 26px;
    background-color: #fff;
    display: block;
    width: auto;
    min-height: 42px;
  }
}
.single-csnews article .linkarea .linklist,
.single-post article .linkarea .linklist {
  border-right: 0;
  text-decoration: underline;
  display: block;
  position: absolute;
  left: 242px;
  top: 0;
  width: 344px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  text-decoration: none;
  color: #000;
}
.single-csnews article .linkarea .linklist:hover,
.single-post article .linkarea .linklist:hover {
  background-color: #eee;
}
@media screen and (max-width: 767px) {
  .single-csnews article .linkarea .linklist,
.single-post article .linkarea .linklist {
    display: block;
    position: absolute;
    left: 34%;
    top: 0;
    width: 32%;
    height: 40px;
    line-height: 40px !important;
    text-align: center;
    font-size: 12px !important;
  }
}
.single-csnews article .linkarea .linklist a:hover,
.single-post article .linkarea .linklist a:hover {
  background-color: #eee;
}

.post-navigation {
  width: auto;
  height: 60px;
  line-height: 60px;
}

.post-navigation .nav-previous,
.post-navigation .nav-next {
  width: 242px;
  height: 60px;
  line-height: 60px;
}

.post-navigation .nav-previous a,
.post-navigation .nav-next a {
  display: block;
  width: 242px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  text-decoration: none;
  color: #000;
}

.post-navigation .nav-previous a:before {
  content: "＜";
  font-family: "Genericons";
  line-height: 60px;
  padding-right: 0px;
}

.post-navigation .nav-next {
  position: absolute;
  top: 0;
  right: 0;
}

.post-navigation .nav-next a:after {
  content: " ＞";
  font-family: "Genericons";
  padding-left: 0px;
  line-height: 60px;
}

.post-navigation a:hover {
  background-color: #eee;
}

.single .resentarea {
  margin-top: 80px;
}
.single .resentarea .sidebar-widget__title {
  border-top: 1px solid #3786CD;
  margin-bottom: 45px !important;
  text-align: left;
  color: #000;
}
@media screen and (max-width: 767px) {
  .single .resentarea {
    margin-top: 50px;
  }
}

@media screen and (max-width: 767px) {
  .post-navigation .nav-previous,
.post-navigation .nav-next {
    width: 33.3333333333%;
    height: 40px;
    line-height: 40px;
  }
  .post-navigation .nav-previous a,
.post-navigation .nav-next a {
    display: block;
    width: auto;
    height: 40px;
    line-height: 40px;
    text-align: center;
    font-size: 12px;
  }
  .post-navigation {
    border-bottom: none;
    width: auto;
    height: auto;
    line-height: 1 !important;
    padding-bottom: 0px;
  }
  .post-navigation .nav-previous a:before {
    line-height: 34px;
    margin-right: 0px;
  }
  .post-navigation .nav-next {
    position: absolute;
    top: 0;
    right: 0;
  }
  .post-navigation .nav-next a:after {
    margin-left: 0px;
    line-height: 34px;
  }
  .single .single-post > .snsarea {
    margin: 26px 0px 26px 0px;
  }
  .single .single-post > .snsarea .sns_btn {
    text-align: center;
    margin: 10px 0 40px;
  }
  .single .single-post > .snsarea .sns_btn li a {
    width: 100%;
    height: 36px;
    font-size: 12px;
    line-height: 36px;
    font-weight: normal;
    border-radius: 3px;
  }
  .single .single-post > .snsarea .sns_btn li.ogn_hatebu a {
    font-weight: bold;
    background-color: #3372BB;
    box-shadow: 0 2px 0 0 #245083;
  }
  .single .single-post > .snsarea .sns_btn li.ogn_tweet a {
    background-color: #1CADEB;
    box-shadow: 0 2px 0 0 #1479A4;
    font-weight: bold;
  }
  .single .single-post > .snsarea .sns_btn li.ogn_facebook a {
    font-weight: bold;
    background-color: #246CB7;
    box-shadow: 0 2px 0 0 #194B80;
  }
  .single .single-post > .snsarea .sns_btn li a i:before {
    font-size: 14px !important;
    margin-right: 5px !important;
  }
  .single .single-post > .snsarea .sns_btn li.ogn_hatebu a i:before {
    content: "";
    display: inline-block;
    background: url(../images/icon-hatebu.png) left center no-repeat;
    background-size: auto 12px;
    width: 16px;
    height: 12px;
    font-style: normal;
    vertical-align: middle;
    margin-right: 5px;
  }
  .entries .resentarea .fr.between {
    display: flex !important;
  }
}
/*製品*/
.single-products section h3 {
  font-size: 15px;
  line-height: 1;
  padding-bottom: 10px;
  border-bottom: 1px solid #CCCCCC;
  position: relative;
  margin: 40px 0 30px;
}
@media screen and (max-width: 767px) {
  .single-products section h3 {
    font-size: 17px;
    margin: 30px 0 20px;
  }
}
.single-products section h3::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: 100px;
  background-color: #3786CD;
}
.single-products section table {
  border-color: transparent;
  border-style: none;
  border-collapse: collapse;
  /*border: 1px solid #ccc;
  /*border-left: 1px solid #ccc;
  border-top: 1px solid #ccc;
  */
  border-collapse: collapse;
}
.single-products section table thead td {
  /*background-color: #F1F6FC;*/
}
.single-products section table thead th {
  /*					border-right: 1px solid #ccc;
  					border-bottom: 1px solid #ccc;
  */
}
.single-products section table th {
  /*				border: 1px solid #ccc;*/
  /*
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  */
}
.single-products section table td {
  /*				border: 1px solid #ccc;*/
  /*
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  */
}
.single-products section .responsovetable {
  overflow: auto;
  margin-right: -24px;
}
.single-products section .responsovetable table {
  /*width: 1120px !important;*/
}
.single-products section p {
  font-size: 15px;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .single-products section p {
    font-size: 14px;
  }
}
.single-products .first-area {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-rows: 1fr;
  grid-template-columns: 50% 50%;
  grid-template-rows: -webkit-min-content -webkit-min-content;
  grid-template-rows: min-content min-content;
  gap: 0px 0px;
  grid-template-areas: "sliderarea titlearea" "sliderarea feature";
  margin: 70px 0 0 0;
}
@media screen and (max-width: 767px) {
  .single-products .first-area {
    display: block;
    margin: 30px 0 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .single-products {
    display: block;
  }
}
.single-products main section {
  padding: 0;
}
.single-products .btns a {
  text-decoration: none;
  text-align: center;
  display: block;
  font-size: 13px;
  height: 47px;
  line-height: 45px;
  border-radius: 0;
  color: #F08609;
  border: 1px solid #F08609;
  background-color: #fff;
  margin: 0px 0;
  width: calc(50% - 9px);
}
@media screen and (max-width: 767px) {
  .single-products .btns a {
    width: calc(50% - 3px);
    text-align: center;
    padding: 0;
    margin: 0;
    font-size: 10px;
    height: 35px;
    line-height: 33px;
  }
}
.single-products .btns a span {
  display: inline-block;
  padding-left: 25px;
  background-repeat: no-repeat;
  background-position: left center;
  line-height: 13px;
}
.single-products .btns a.dlbtn span {
  background-image: url(../images/icon-dl.svg);
  background-position: 3px center;
}
@media screen and (max-width: 767px) {
  .single-products .btns a.dlbtn span {
    background-position: left center;
    padding-left: 20px;
  }
}
.single-products .btns a.contactbtn span {
  background-image: url(../images/icon-mail-o.svg);
}
.single-products .titlearea {
  grid-area: titlearea;
}
@media only screen and (max-width: 767px) {
  .single-products .titlearea {
    width: 100%;
    padding-left: 0;
  }
}
.single-products .titlearea .btns {
  border-top: 1px solid #CCCCCC;
  padding: 30px 0 0px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .single-products .titlearea .btns {
    padding: 20px 0 20px;
    width: 100%;
  }
}
.single-products .titlearea .txt {
  border-top: 4px solid #3786CD;
  width: 535px;
  margin: 0 0 0 auto;
  padding: 30px 0 0 0;
}
@media only screen and (max-width: 767px) {
  .single-products .titlearea .txt {
    padding: 23px 0 0 0;
    width: auto;
  }
}
.single-products .titlearea .txt .title {
  margin: 0 0 30px;
  font-size: 22px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .single-products .titlearea .txt .title {
    margin: 0 0 15px;
    font-size: 16px;
  }
}
.single-products .titlearea .txt .meta {
  font-size: 14px;
  line-height: 1.5;
  margin: 0 0 30px;
}
@media screen and (max-width: 767px) {
  .single-products .titlearea .txt .meta {
    font-size: 10px;
    margin: 0 0 25px;
  }
}
.single-products .titlearea .txt .meta > div {
  margin: 0 0 8px;
}
@media screen and (max-width: 767px) {
  .single-products .titlearea .txt .meta > div {
    margin-bottom: 2px;
  }
}
.single-products .titlearea .makerlink {
  padding: 0 0 30px 0;
}
@media screen and (max-width: 767px) {
  .single-products .titlearea .makerlink {
    padding: 0 0 25px 0;
  }
}
.single-products .titlearea .makerlink a {
  text-decoration: none;
  color: #3786CD;
  padding-left: 25px;
  background-repeat: no-repeat;
  background-position: left center;
  font-size: 13px;
  background-image: url(../images/icon-window.svg);
}
.single-products .titlearea .makerlink a:hover {
  opacity: 0.8;
}
.single-products .feature {
  grid-area: feature;
  margin: 0 0 0 auto;
  width: 535px;
}
@media only screen and (max-width: 767px) {
  .single-products .feature {
    width: auto;
    margin: 0;
  }
}
.single-products .sliderarea {
  grid-area: sliderarea;
  margin: 0;
}
@media only screen and (max-width: 767px) {
  .single-products .sliderarea {
    width: 100%;
    text-align: center;
    margin: 0;
  }
}
.single-products .sliderarea .mainimg {
  width: 535px;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .single-products .sliderarea .mainimg {
    margin-bottom: 0;
    width: auto;
  }
}
.single-products .sliderarea .mainimg .slick-slide {
  outline: none;
}
.single-products .sliderarea .mainimg .slick-slide span {
  display: block;
  padding-top: 75%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.single-products .sliderarea .thumbnail {
  width: 535px;
}
@media screen and (max-width: 767px) {
  .single-products .sliderarea .thumbnail {
    width: auto;
  }
}
.single-products .sliderarea .thumbnail .slick-list {
  position: relative;
  display: block;
  overflow: hidden;
}
.single-products .sliderarea .thumbnail .slick-list:focus {
  outline: none;
}
.single-products .sliderarea .thumbnail .slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.single-products .sliderarea .thumbnail .slick-slider .slick-track,
.single-products .sliderarea .thumbnail .slick-slider .slick-list {
  transform: translate3d(0, 0, 0) !important;
  width: auto !important;
}
.single-products .sliderarea .thumbnail .slick-loading .slick-track {
  visibility: hidden;
}
.single-products .sliderarea .thumbnail .slick-track {
  margin: 0 -6px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .single-products .sliderarea .thumbnail .slick-track {
    margin: 0 -4px;
  }
}
.single-products .sliderarea .thumbnail .slick-track .slick-slide {
  outline: none;
  width: calc((100% - 48px) / 4) !important;
  margin: 12px 6px 0;
  float: none;
}
@media screen and (max-width: 767px) {
  .single-products .sliderarea .thumbnail .slick-track .slick-slide {
    width: calc((100% - 32px) / 4) !important;
    margin: 8px 4px 0;
  }
}
.single-products .sliderarea .thumbnail .slick-track .slick-slide span {
  display: block;
  padding-top: 75%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.single-products .sliderarea .thumbnail .slick-track .slick-slide:hover {
  opacity: 0.6;
}
.single-products .sec-spec {
  padding: 0;
}
.single-products .sec-faq ul {
  list-style: none;
  padding: 0;
}
.single-products .sec-faq dl dt {
  background-color: #F1F6FC;
  font-weight: bold;
  font-size: 15px;
  line-height: 1;
  position: relative;
  display: flex;
  align-items: center;
  margin: 0 0 16px;
}
@media screen and (max-width: 767px) {
  .single-products .sec-faq dl dt {
    margin: 0 0 16px;
    line-height: 1.3;
    font-size: 13px;
    padding: 0;
    align-items: stretch;
  }
}
.single-products .sec-faq dl dt h4 {
  margin: 0;
  padding: 10px 20px 10px 0;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .single-products .sec-faq dl dt h4 {
    padding: 5px 10px 5px 0;
  }
}
.single-products .sec-faq dl dt::before {
  content: "Q";
  flex-shrink: 0;
  display: block;
  color: #fff;
  text-align: center;
  font-size: 20px;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #3786CD;
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  .single-products .sec-faq dl dt::before {
    margin-right: 7px;
    width: 40px;
    height: auto;
    min-height: 40px;
    font-size: 16px;
  }
}
.single-products .sec-faq dl dd {
  font-size: 15px;
  line-height: 1.5;
  display: flex;
  align-items: flex-start;
  margin: 0 0 26px;
}
@media screen and (max-width: 767px) {
  .single-products .sec-faq dl dd {
    font-size: 13px;
  }
}
.single-products .sec-faq dl dd::before {
  content: "A";
  flex-shrink: 0;
  display: block;
  color: #fff;
  text-align: center;
  font-size: 20px;
  width: 50px;
  height: 50px;
  line-height: 50px;
  background-color: #2CB5A9;
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  .single-products .sec-faq dl dd::before {
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 16px;
  }
}
.single-products .sec-faq dl dd p {
  margin: 0;
  padding: 3px 0 0 0;
  line-height: 1.8;
}
.single-products .btnarea {
  margin: 80px 0 0;
  background-color: rgba(240, 132, 9, 0.07);
  padding: 27px 0;
}
@media only screen and (max-width: 767px) {
  .single-products .btnarea {
    margin: 50px -24px 0;
    padding: 33px 24px;
  }
}
.single-products .btnarea .btns {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .single-products .btnarea .btns {
    width: 100%;
  }
}
.single-products .btnarea .btns a {
  margin: 0 9px;
  max-width: 258px;
}
@media screen and (max-width: 767px) {
  .single-products .btnarea .btns a {
    margin: 0 3px;
  }
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.page-contact .page-header .mv {
  background-image: url(../images/bg-contact.jpg);
}
@media screen and (max-width: 767px) {
  .page-contact .page-header .mv {
    background-image: url(../images/sp-bg-contact.jpg);
  }
}

.page-inquiry section .inner,
.page-contact section .inner,
.page-download section .inner {
  max-width: 834px;
  margin: 0 auto;
}
.page-inquiry section .inner > p,
.page-contact section .inner > p,
.page-download section .inner > p {
  text-align: center;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .page-inquiry section .inner > p,
.page-contact section .inner > p,
.page-download section .inner > p {
    text-align: left;
  }
}
.page-inquiry section h3.subtitle,
.page-contact section h3.subtitle,
.page-download section h3.subtitle {
  border-top: 4px solid #3786CD;
  font-size: 20px;
  padding: 15px 0;
  border-bottom: 1px solid #3786CD;
  margin: 50px 0 40px;
}
@media screen and (max-width: 767px) {
  .page-inquiry section h3.subtitle,
.page-contact section h3.subtitle,
.page-download section h3.subtitle {
    margin: 40px 0 28px;
    font-size: 15px;
  }
}

.page-contact section .inner {
  max-width: 834px;
  margin: 0 auto;
}
.page-contact section h2 {
  border-top: 4px solid #3786CD;
  font-size: 22px;
  padding: 24px 0;
  border-bottom: 1px solid #3786CD;
  margin: 50px 0 45px;
  text-align: center;
}
.page-contact section h2:first-child {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .page-contact section h2 {
    margin: 40px 0 28px;
    font-size: 15px;
    padding: 12px 0;
  }
}
.page-contact section p {
  text-align: center;
  margin-bottom: 80px;
  line-height: 1.8;
  font-size: 15px;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .page-contact section p {
    margin-bottom: 20px;
    font-size: 14px;
  }
}
.page-contact section .tel {
  text-align: center;
  margin: 0 auto;
  max-width: 560px;
}
.page-contact section .tel ul {
  align-items: center;
}
@media screen and (max-width: 767px) {
  .page-contact section .tel ul {
    flex-direction: column;
  }
}
.page-contact section .tel ul li {
  display: flex;
  align-items: center;
  margin: 10px 10px 0;
}
@media screen and (max-width: 767px) {
  .page-contact section .tel ul li {
    display: inline-flex;
  }
}
.page-contact section .tel span {
  background-color: #3786CD;
  color: #fff;
  font-size: 12px;
  text-align: center;
  display: block;
  font-weight: 500;
  width: 50px;
  line-height: 20px;
  margin: 0 10px 0 0;
}
.page-contact section .tel a {
  display: block;
  font-size: 20px;
  color: #000;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-decoration: none;
  pointer-events: none;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .page-contact section .tel a {
    pointer-events: auto;
  }
}
.page-contact section .tel p {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .page-contact section .tel p {
    font-size: 12px;
  }
}
.page-contact dd > div {
  padding: 10px 0 0;
}
.page-contact .wpcf7-radio {
  display: block;
  padding: 10px 0 10px 0;
  text-align: left;
}
.page-contact .wpcf7-list-item:nth-child(5) {
  margin-top: 20px;
}

/*********************
フォーム
**********************/
.general-area {
  padding: 0 0 0px;
}

.general-area dl {
  display: flex;
  flex-wrap: wrap;
  padding: 0px 0 0 0;
  /* Google Chrome, Safari, Opera 15+, Android, iOS */
  /* Firefox 19+ */
  /* IE 10+ */
}
.general-area dl.line {
  border-top: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .general-area dl {
    border-top: 1px solid #ccc;
    display: block;
  }
}
.general-area dl dt {
  width: 183px;
  padding: 30px 0 0px 0px;
  line-height: 1.3;
  font-size: 16px;
  font-weight: 500;
  position: relative;
  min-height: 80px;
}
@media screen and (max-width: 767px) {
  .general-area dl dt {
    width: 100%;
    padding: 15px 0 15px 0px;
    min-height: auto;
    border-bottom: 1px solid #CCCCCC;
  }
}
.general-area dl dt span {
  position: absolute;
  right: 0px;
  height: 25px;
  width: 45px;
  text-align: center;
  top: 28px;
  line-height: 25px;
  color: #fff;
  font-size: 13px;
  font-weight: normal;
  background-color: #AAAAAA;
}
@media screen and (max-width: 767px) {
  .general-area dl dt span {
    top: 50%;
    transform: translateY(-50%);
  }
}
.general-area dl dt span.require {
  background-color: #2CB5A9;
}
.general-area dl.line dt {
  border-bottom: 1px solid #CCCCCC;
}
.general-area dl dd {
  margin-left: 0px;
  padding: 10px 0px 10px 30px;
  width: calc(100% - 183px);
  line-height: 1.3;
  position: relative;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .general-area dl dd {
    border-bottom: 1px solid #CCCCCC;
    padding: 15px 0px 15px 0px;
    font-size: 16px;
    width: 100%;
  }
}
.general-area dl dd .clink {
  display: block;
  width: 105px;
  margin: 0 0 0 10px;
  border: none;
  background-color: #aaa;
  border-radius: 8px;
  color: #fff;
  font-weight: normal;
  font-size: 16px;
  text-align: center;
  position: relative;
  height: 60px;
  line-height: 60px;
  outline: none;
}
@media screen and (max-width: 767px) {
  .general-area dl dd .clink {
    height: 50px;
    line-height: 50px;
  }
}
.general-area dl.line dd {
  border-bottom: 1px solid #CCCCCC;
}
.general-area dl .wpcf7-list-item {
  display: block;
  margin: 6px 0;
}
@media screen and (max-width: 767px) {
  .general-area dl .wpcf7-list-item {
    margin: 10px 0;
  }
  .general-area dl .wpcf7-list-item:first-child {
    margin-top: 0;
  }
  .general-area dl .wpcf7-list-item:last-child {
    margin-bottom: 0;
  }
}
.general-area dl .wpcf7-list-item:last-child {
  margin-bottom: 0px;
}
.general-area dl .wpcf7-list-item:last-child > label {
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .general-area dl .wpcf7-list-item:last-child > label {
    width: 150px;
    display: inline-block;
  }
}
.general-area dl .wpcf7-list-item:last-child .wpcf7-list-item-label {
  white-space: nowrap;
}
.general-area dl a:hover, .general-area dl a:focus {
  background-color: #ccc;
  color: #fff;
  text-decoration: none;
}
.general-area dl a:hover:after {
  color: #fff;
}
.general-area dl input[type=text], .general-area dl input[type=tel], .general-area dl input[type=email] {
  width: 100%;
  height: 60px;
  line-height: 58px;
  padding: 0 10px;
  font-size: 16px;
  border-radius: 10px;
  background-color: #f8f8f8;
  border: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .general-area dl input[type=text], .general-area dl input[type=tel], .general-area dl input[type=email] {
    height: 50px;
    line-height: 48px;
  }
}
.general-area dl .your-postal1,
.general-area dl .your-postal2 {
  display: inline-block;
  width: 126px;
}
.general-area dl dd.multi span {
  display: block;
  margin-top: 10px;
}
.general-area dl dd.multi span:last-child {
  margin-bottom: 0;
}
.general-area dl span.line {
  padding: 0 5px;
}
.general-area dl p {
  margin-bottom: 0;
}
.general-area dl input.age {
  width: 6em;
}
.general-area dl textarea {
  width: 100%;
  padding: 10px 10px;
  line-height: 1.3;
  border-radius: 10px;
  font-size: 16px;
  background-color: #f8f8f8;
  border: 1px solid #ccc;
}
.general-area dl input[type=radio], .general-area dl input[type=checkbox], .general-area dl .agree input[type=checkbox] {
  width: 20px;
  height: 20px;
  line-height: 20px;
  vertical-align: middle;
  margin-top: 0;
}
.general-area dl input[type=radio] + span, .general-area dl input[type=checkbox] + span {
  vertical-align: middle;
  line-height: 25px;
  font-size: 17px;
  font-weight: normal;
  margin-right: 20px;
}
.general-area dl dd.half input {
  width: 70%;
}
.general-area dl p.note {
  text-align: left;
  margin-bottom: 20px;
}
.general-area dl .filearea {
  display: flex;
  align-items: center;
  margin-top: 10px;
}
.general-area dl .filearea label {
  cursor: pointer;
  display: inline-block;
  position: relative;
  background: #fff;
  color: #555;
  font-size: 16px;
  padding: 0 30px;
  transition: all 0.3s;
  height: 50px;
  line-height: 50px;
  border: 1px solid #CCCCCC;
  border-radius: 6px;
}
@media screen and (max-width: 767px) {
  .general-area dl .filearea label {
    font-size: 14px;
    height: 45px;
    line-height: 43px;
  }
}
.general-area dl .filearea label input {
  /* 今回のポイント */
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
}
.general-area dl .filearea label .filename {
  font-weight: 16px;
  margin: 0 0 0 10px;
}
@media screen and (max-width: 767px) {
  .general-area dl .filearea label .filename {
    font-size: 14px;
  }
}
.general-area dl :-moz-placeholder-shown {
  color: #CCCCCC;
  padding-top: 4px !important;
}
.general-area dl :placeholder-shown {
  color: #CCCCCC;
  padding-top: 4px !important;
}
.general-area dl ::-webkit-input-placeholder {
  color: #CCCCCC;
  padding-top: 4px !important;
}
.general-area dl ::-moz-placeholder {
  color: #ccc;
  padding-top: 4px !important;
  opacity: 1;
}
.general-area dl :-ms-input-placeholder {
  color: #CCCCCC;
}
.general-area dl select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
  position: relative;
  z-index: 1;
  outline: none;
  width: 100%;
  height: 60px;
  line-height: 58px;
  padding: 0 10px;
  font-size: 16px;
  border-radius: 10px;
  border: 1px solid #ccc;
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .general-area dl select {
    height: 50px;
    line-height: 48px;
  }
}
.general-area dl .widget_archive select::-ms-expand {
  display: none;
}
.general-area dl .inner {
  padding: 20px 0px 0;
}
.general-area dl .selectWrap {
  width: 238px;
  position: relative;
  background-color: #f8f8f8;
}
@media screen and (max-width: 767px) {
  .general-area dl .selectWrap {
    width: 100%;
  }
}
.general-area dl .selectWrap::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  height: 40px;
  width: 46px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  display: none;
}
@media screen and (max-width: 767px) {
  .general-area dl .selectWrap::before {
    height: 55px;
    width: 55px;
    background-color: #3786CD;
  }
}
.general-area dl .selectWrap::after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 6px 0 6px;
  border-color: #CCCCCC transparent transparent transparent;
  content: "";
  position: absolute;
  z-index: 0;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .general-area dl .selectWrap::after {
    color: #fff;
    right: 22px;
    top: 60%;
  }
}
.general-area dl .wpcf7-free-text {
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  .general-area dl .wpcf7-free-text {
    margin-left: 0px;
  }
}

.info-txt.form-control {
  display: block;
  width: 100%;
  height: 136px;
  padding: 5px 0 0;
  margin-top: 30px;
  margin-bottom: 35px;
  text-align: left;
  border: 1px solid #ccc;
  border-radius: 10px;
  overflow-y: auto;
}
.info-txt.form-control .txt {
  padding: 20px 20px 0;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .info-txt.form-control .txt {
    padding: 10px 10px 0;
  }
}
.info-txt.form-control div {
  font-weight: bold;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .info-txt.form-control div {
    font-size: 12px;
  }
}
.info-txt.form-control p {
  text-align: left;
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .info-txt.form-control p {
    font-size: 12px;
  }
}

.agreebox input[type=checkbox] {
  width: 30px;
  height: 30px;
  line-height: 30px;
  vertical-align: middle;
  margin-top: 0;
}
.agreebox .wpcf7-list-item-label {
  font-size: 20px;
  color: #2F2F2F;
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  .agreebox .wpcf7-list-item-label {
    font-size: 15px;
    text-align: left;
  }
}
.agreebox .wpcf7-list-item {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .agreebox .wpcf7-list-item > label {
    display: flex;
    align-items: center;
  }
}

.general-area dd .lg,
.general-area dd .sm {
  display: flex;
  margin-bottom: 10px;
}

.general-area dd .lg span:first-child,
.general-area dd .sm span:first-child {
  width: 2em;
  display: block;
  line-height: 60px;
}
@media screen and (max-width: 767px) {
  .general-area dd .lg span:first-child,
.general-area dd .sm span:first-child {
    line-height: 50px;
  }
}

.general-area dd .sm > span {
  width: 30%;
}
@media screen and (max-width: 767px) {
  .general-area dd .sm > span {
    width: 100%;
  }
}

.general-area dd .lg span:last-child {
  margin-bottom: 0px;
  flex-grow: 3;
}

.your-age + span, .acceptance + a {
  vertical-align: middle;
  line-height: 25px;
  font-size: 16px;
  font-weight: normal;
  margin-left: 10px;
}

span.wpcf7-list-item {
  margin-left: 0;
}

.general-area .btnarea {
  padding: 0;
  text-align: center;
  position: relative;
  margin: 35px auto 0;
  width: 360px;
}
@media screen and (max-width: 767px) {
  .general-area .btnarea {
    width: 100%;
  }
}
.general-area .btnarea::before {
  position: absolute;
  top: calc(50% - 0px);
  right: 40px;
  display: block;
  width: 30px;
  height: 8px;
  color: #fff;
  border-top: solid 1px;
  content: "";
  z-index: 1;
}
.general-area .btnarea::after {
  position: absolute;
  top: calc(50% - 0px);
  right: 37px;
  display: block;
  width: 10px;
  height: 10px;
  color: #fff;
  border-right: solid 1px;
  content: "";
  letter-spacing: 0.05em;
  transform: rotate(-60deg) translateY(-50%);
}
.general-area .btnarea .wpcf7-spinner,
.general-area .btnarea .ajax-loader {
  display: none;
}

.general-area .btnarea input {
  z-index: 1;
  display: block;
  width: 360px;
  margin: 0 auto;
  border: 0 !important;
  border-radius: 50px;
  color: #fff;
  font-weight: bold;
  font-size: 25px;
  text-align: center;
  height: 78px;
  line-height: 78px;
  outline: none;
}
@media screen and (max-width: 767px) {
  .general-area .btnarea input {
    width: 100%;
  }
}

.general-area .btnarea input {
  background-color: #2CB5A9;
}

.general-area .btnarea input[disabled],
.general-area .btnarea input[disabled=disabled] {
  opacity: 0.6;
}

.general-area .btnarea input:hover {
  opacity: 0.6;
}

.general-area .btnarea input[disabled]:hover,
.general-area .btnarea input[disabled=disabled]:hover {
  opacity: 0.6;
}

.general-area span.wpcf7-not-valid-tip {
  margin-top: 5px;
  display: block;
}

.general-area dd .your-postal1 span.wpcf7-not-valid-tip,
.general-area dd .your-postal2 span.wpcf7-not-valid-tip {
  display: block;
  line-height: 1.3;
  padding-top: 10px;
}

.general-area .agreebox {
  text-align: center;
}

.acceptance {
  margin-right: 10px;
}

.wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  padding: 10px 0 10px 0;
}
@media screen and (max-width: 767px) {
  .wpcf7-checkbox {
    padding: 0;
    display: block;
  }
}
.wpcf7-checkbox .wpcf7-list-item.last {
  width: 100%;
  display: flex;
}

.wpcf7-radio {
  display: flex;
  padding: 10px 0 10px 0;
}
@media screen and (max-width: 767px) {
  .wpcf7-radio {
    padding: 0;
    display: block;
  }
}

.has-free-text {
  display: flex;
  align-items: center;
}

.page-privacy .page-header .mv {
  background-image: url(../images/bg-privacy.jpg);
}
@media screen and (max-width: 767px) {
  .page-privacy .page-header .mv {
    background-image: url(../images/sp-bg-privacy.jpg);
  }
}
.page-privacy section .doc p {
  margin-bottom: 30px;
  line-height: 1.8;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .page-privacy section .doc p {
    font-size: 14px;
  }
}
.page-privacy section .doc p strong {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .page-privacy section .doc p strong {
    font-size: 14px;
  }
}
.page-privacy section .doc p + ul {
  margin-top: -1.5em;
  margin-left: 3em;
  line-height: 1.8;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .page-privacy section .doc p + ul {
    font-size: 13px;
  }
}
.page-privacy section h2 {
  border-top: 4px solid #3786CD;
  font-size: 22px;
  padding: 24px 0;
  border-bottom: 1px solid #3786CD;
  margin: 40px 0 45px;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .page-privacy section h2 {
    margin: 40px 0 28px;
    font-size: 15px;
    padding: 12px 0;
  }
}

.page-sustainability .page-header .mv {
  background-image: url(../images/bg-sustainability.jpg);
}
@media screen and (max-width: 767px) {
  .page-sustainability .page-header .mv {
    background-image: url(../images/sp-bg-sustainability.jpg);
  }
}
.page-sustainability section p {
  margin-bottom: 30px;
  line-height: 1.8;
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .page-sustainability section p {
    font-size: 14px;
    text-align: left;
  }
}
.page-sustainability .sec-sus-lead p {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-sus-lead p {
    text-align: left;
    margin: 0;
  }
}
.page-sustainability .sec-about-sdgs {
  background-color: #F1F6FC;
  margin: 0 60px;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-about-sdgs {
    margin: 0 24px;
    padding: 40px 0;
  }
}
.page-sustainability .sec-about-sdgs .container {
  max-width: 1168px;
  width: auto;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-about-sdgs .fr {
    display: block;
  }
}
.page-sustainability .sec-about-sdgs .fr .img {
  width: 350px;
  height: 275px;
  flex-grow: 0;
  flex-shrink: 0;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-about-sdgs .fr .img {
    width: 100%;
    height: 160px;
    margin: 0 0 20px;
  }
}
.page-sustainability .sec-about-sdgs .fr .txt {
  padding-left: 36px;
  width: calc(100% - 350px);
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-about-sdgs .fr .txt {
    padding-left: 0;
    width: 100%;
  }
}
.page-sustainability .sec-about-sdgs .fr .txt h2 {
  font-size: 25px;
  margin: 0 0 20px;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-about-sdgs .fr .txt h2 {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-about-sdgs .fr .txt p {
    margin: 0;
  }
}
.page-sustainability .sec-chubu-sdgs {
  padding-bottom: 100px !important;
}
.page-sustainability .sec-chubu-sdgs .mv {
  height: 450px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/img-sdgs02.jpg);
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-chubu-sdgs .mv {
    margin: 0 -24px;
    height: 300px;
  }
}
.page-sustainability .sec-chubu-sdgs .mv h2 {
  font-size: 18px;
  text-align: center;
  font-weight: normal;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-chubu-sdgs .mv h2 {
    font-size: 15px;
  }
}
.page-sustainability .sec-chubu-sdgs .mv h2 span {
  font-weight: bold;
  display: block;
  color: #fff;
  font-size: 40px;
  margin: 0 0 15px;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-chubu-sdgs .mv h2 span {
    font-size: 28px;
  }
}
.page-sustainability .sec-chubu-sdgs h2 {
  text-align: center;
  margin: 60px 0 45px;
  font-size: 22px;
  line-height: 1.5;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-chubu-sdgs h2 {
    white-space: normal;
    font-size: 16px;
    margin: 50px 0 45px;
  }
}
.page-sustainability .sec-chubu-sdgs .txt_center {
  text-align: center;
}
.page-sustainability .sec-chubu-sdgs h3 {
  margin: 70px 0 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  line-height: 1.5;
  text-align: center;
  white-space: nowrap;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-chubu-sdgs h3 {
    font-size: 16px;
    margin: 50px 0 25px;
  }
}
.page-sustainability .sec-chubu-sdgs h3::before, .page-sustainability .sec-chubu-sdgs h3::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #AAAAAA;
}
.page-sustainability .sec-chubu-sdgs h3 span {
  display: block;
  margin: 0 30px;
}
.page-sustainability .sec-chubu-sdgs .sdgsttl {
  text-align: center;
  color: #3786CD;
  margin: 0 0 35px;
  font-size: 19px;
  line-height: 1.7;
  letter-spacing: 0.05em;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-chubu-sdgs .sdgsttl {
    font-size: 15px;
    margin: 0 0 25px;
  }
}
.page-sustainability .sec-chubu-sdgs .block {
  background-color: #F1F6FC;
  padding: 50px 0;
  border-top: 1px solid #3786CD;
  margin: 0 0 20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-chubu-sdgs .block {
    padding: 24px 24px 14px;
    text-align: center;
  }
}
.page-sustainability .sec-chubu-sdgs .block ul li {
  margin: 0 9px;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-chubu-sdgs .block ul li {
    margin: 0 5px 10px;
    width: calc((100% - 30px) / 3);
  }
}
.page-sustainability .sec-chubu-sdgs .block .mark {
  position: absolute;
  right: 45px;
  bottom: 36px;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-chubu-sdgs .block .mark {
    right: 15px;
    bottom: 10px;
  }
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-chubu-sdgs .block .mark img {
    width: 80px;
    height: auto;
  }
}
.page-sustainability .sec-chubu-sdgs p.lead {
  text-align: center;
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-chubu-sdgs p.lead {
    text-align: left;
    margin: 0 0 30px;
  }
}
.page-sustainability .sec-chubu-sdgs .col {
  margin-top: 15px;
}
.page-sustainability .sec-chubu-sdgs .col .box-top {
  background-color: #F1F6FC;
  text-align: center;
  padding: 30px 0 0;
  margin-bottom: 60px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-chubu-sdgs .col .box-top {
    margin-bottom: 30px;
  }
}
.page-sustainability .sec-chubu-sdgs .col .box-top .ja {
  font-size: 16px;
  margin: 0 0 10px;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-chubu-sdgs .col .box-top .ja {
    text-align: center !important;
  }
}
.page-sustainability .sec-chubu-sdgs .col .box-top .en {
  line-height: 1;
  font-size: 22px;
  font-weight: bold;
  color: #3786CD;
  letter-spacing: 0.05em;
  margin: 0 0 30px;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-chubu-sdgs .col .box-top .en {
    text-align: center !important;
  }
}
.page-sustainability .sec-chubu-sdgs .col .box-bottom {
  width: 350px;
  margin-top: 45px;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-chubu-sdgs .col .box-bottom {
    width: 100%;
    margin-top: 30px;
  }
}
.page-sustainability .sec-chubu-sdgs .col .box-bottom .num {
  text-align: center;
  position: relative;
  display: flex;
  justify-content: center;
  font-weight: bold;
  font-size: 19px;
  line-height: 1;
  letter-spacing: 0.05em;
  margin: 0 0 25px;
}
.page-sustainability .sec-chubu-sdgs .col .box-bottom .num::before, .page-sustainability .sec-chubu-sdgs .col .box-bottom .num::after {
  content: "-";
  display: block;
  margin: 0 15px;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-chubu-sdgs .flex {
    display: block;
  }
  .page-sustainability .sec-chubu-sdgs .flex + .flex {
    margin-top: 50px;
  }
}
.page-sustainability .sec-chubu-sdgs .listframe {
  text-align: center;
}
.page-sustainability .sec-chubu-sdgs .listframe + p {
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-chubu-sdgs .listframe + p {
    margin-bottom: 35px;
  }
}
.page-sustainability .sec-chubu-sdgs .readmore a {
  margin: 80px auto 0;
  width: 320px;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-chubu-sdgs .readmore a {
    margin: 40px auto 0;
  }
}
.page-sustainability .sec-chubu-sdgs .readmore a.pdf {
  background: url(../images/icon-pdf2.svg) 40px center no-repeat;
  padding-left: 25px;
}
.page-sustainability .sec-chubu-sdgs .readmore a:hover {
  background-color: #3786CD;
}
.page-sustainability .sec-chubu-sdgs .katsudolist {
  list-style: none;
  margin: 0 auto 70px;
  display: inline-block;
  text-align: left;
  text-indent: -1.5em;
  margin-left: 1.5em;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-chubu-sdgs .katsudolist {
    margin-bottom: 35px;
  }
}
.page-sustainability .sec-chubu-sdgs .katsudolist li {
  line-height: 1.86;
}
.page-sustainability .sec-chubu-sdgs .katsudolist li::before {
  content: "●";
  color: #0760AE;
  margin-right: 0.5em;
}
.page-sustainability .sec-activities {
  background-color: #F1F6FC;
}
.page-sustainability .sec-activities .wrap {
  margin: 0 0 80px;
  display: grid;
  grid-template-columns: 390px 730px;
  grid-template-rows: 95px -webkit-min-content;
  grid-template-rows: 95px min-content;
  gap: 0px 0px;
  grid-template-areas: "img title" "img txt";
  align-content: start;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-activities .wrap {
    display: block;
    margin: 0 0 50px;
  }
}
.page-sustainability .sec-activities .wrap .img {
  grid-area: img;
  width: 390px;
  flex-grow: 0;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-activities .wrap .img {
    width: 100%;
    margin: 0 0 30px;
  }
}
.page-sustainability .sec-activities .wrap .txt {
  grid-area: txt;
  padding-left: 57px;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-activities .wrap .txt {
    width: 100%;
    padding-left: 0;
  }
}
.page-sustainability .sec-activities .wrap .txt .readmore a {
  width: 320px;
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-activities .wrap .txt .readmore a {
    width: 270px;
  }
}
.page-sustainability .sec-activities .wrap .txt .readmore a:hover {
  background-color: #3786CD;
}
.page-sustainability .sec-activities h3 {
  font-size: 18px;
  line-height: 1;
  padding: 20px 0;
  border-top: 1px solid #3786CD;
  border-bottom: 1px solid #3786CD;
  margin: 0 0 35px 0;
}
.page-sustainability .sec-activities h3.title {
  margin: 0 0 35px 57px;
  grid-area: title;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-activities h3 {
    font-size: 15px;
    margin: 0 0 35px 0 !important;
  }
}
.page-sustainability .sec-activities ul.fr {
  margin: 0 -16px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-activities ul.fr {
    margin: 0 -8px;
  }
}
.page-sustainability .sec-activities ul.fr li {
  width: calc(25% - 26px);
  margin: 0 13px 26px;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-activities ul.fr li {
    margin: 0 8px 16px;
    width: calc(50% - 16px);
  }
}
.page-sustainability .sec-activities ul.fr li a:hover {
  opacity: 0.8;
}
.page-sustainability .sec-news {
  background-color: transparent;
  padding-bottom: 80px;
}
.page-sustainability .sec-news .ttlarea .h2 {
  color: #3786CD !important;
}
.page-sustainability .sec-news .newslist.newsarea ul li {
  width: 25%;
}
@media screen and (max-width: 767px) {
  .page-sustainability .sec-news .newslist.newsarea ul li {
    width: 50%;
  }
}
/*# sourceMappingURL=main.css.map */