@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Sofia+Sans+Extra+Condensed:ital,wght@0,1..1000;1,1..1000&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
  --blk: #000000;
  --wht: #ffffff;
  --ncc-green: #4eaa21;
  --blk-rgb: 0, 0, 0;
  --wht-rgb: 255, 255, 255;
  --ncc-green-rgb: 78, 170, 33;
}

/* ===========================================================

  Nano Creative Company - Common PC Styles

=========================================================== */
body {
  min-width: 1260px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  overflow-x: hidden;
}

.l-container {
  position: relative;
  width: 100%;
}

.inner {
  width: 1200px;
  margin: auto;
}

.sp {
  display: none;
}

.bg-wht {
  background-color: var(--wht);
}

.bg-yellow {
  background-color: #fff455;
}

@media screen and (max-width:1200px) {
  .inner {
    width: 92%;
  }
}

/* -----------------------------------------------------------
  Common Button Styles
----------------------------------------------------------- */
.bcc-btn {
  position: relative;
  height: 60px;
  border-radius: 30px;
  display: inline-block;
  text-decoration: none;
  text-align: center;
  background-color: #fff455;
  border: solid 2px var(--ncc-green);
  /*background: linear-gradient(to right, rgba(171, 222, 23, 1) 0%, rgba(78, 170, 33, 1) 100%);*/
  overflow: hidden;
  transition: ease .2s;
}

.bcc-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--wht);
  /*background: linear-gradient(to right, rgba(171,222,23,1) 0%,rgba(78,170,33,1) 100%);*/
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scaleX(0);
  transform-origin: right top;
}

.bcc-btn:hover::before {
  transform: scaleX(1);
  transform-origin: left top;
}

.bcc-btn span {
  position: relative;
  z-index: 3;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--ncc-green);
  line-height: 56px;
  display: inline-block;
}

.bcc-btn::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 50%;
  transform: translateY(-50%);
  right: 13px;
  width: 21px;
  height: 24px;
  background: url(../images/arrow_btn.svg) no-repeat 0 0;
  background-size: cover;
}

/* -----------------------------------------------------------
  Site Header
----------------------------------------------------------- */
.l-header {
  position: relative;
  width: 100%;
}

.logo {
  width: 325px;
}

.lead {
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  text-align: center;
  letter-spacing: 0.05em;
  color: var(--ncc-green);
  height: 30px;
  line-height: 30px;
  background-color: #effbed;
}

.header-items {
  position: relative;
  height: 90px;
  background-color: var(--wht);
}

.header-inner {
  width: calc(100% - 170px);
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 30px 0 35px;
}

@media screen and (max-width:1336px) {
  .logo {
    width: calc(325px * .85);
    transform-origin: left center;
  }
}

/* Global Navi
----------------------------------------------------------- */
.gnav ul {
  display: flex;
  align-items: center;
}

.gnav ul li {
  margin: 0 0 0 26px;
}

.gnav ul li a {
  position: relative;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-decoration: none;
  color: var(--blk);
  padding: 0 0 0.5em;
}

.gnav ul li a::before,
.gnav ul li a::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 0;
  height: 3px;
  display: inline-block;
  background-color: var(--ncc-green);
  transition: all .5s;
}

.gnav ul li a::before {
  left: 50%;
}

.gnav ul li a::after {
  right: 50%;
}

.gnav ul li a:hover::before,
.gnav ul li a:hover::after {
  width: 50%;
}

.inq-btn {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: 170px;
  height: 100%;
  line-height: 90px;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-decoration: none;
  color: var(--blk);
  text-align: center;
  background: linear-gradient(to right, rgba(171, 222, 23, 1) 0%, rgba(78, 170, 33, 1) 100%);
}

.inq-btn:visited { color: var(--blk); }

.inq-btn:hover {
  color: var(--wht);
  transition: all .3s;
}

.inq-btn::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(78, 170, 33, 1) 0%, rgba(171, 222, 23, 1) 100%);
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}

.inq-btn:hover::before {
  transform: scale(1, 1);
  transform-origin: left top;
}

/* -----------------------------------------------------------
  Site Footer
----------------------------------------------------------- */
.l-footer {
  position: relative;
  width: 100%;
  padding: 0 0 20px;
}

.footer-pict01 {
  position: absolute;
  z-index: -1;
  left: -90px;
  bottom: -55px;
  width: 150px;
  height: 170px;
}

.footer-pict02 {
  position: absolute;
  z-index: -1;
  right: -95px;
  top: 20px;
  width: 180px;
  height: 180px;
}

.copy {
  font-size: 12px;
  font-size: 1.2rem;
  text-align: center;
  letter-spacing: 0.1em;
}

/* Footer Inquiry
----------------------------------------------------------- */
.footer-inq {
  position: relative;
  height: 420px;
  padding: 80px 0;
  background: linear-gradient(to right, rgba(171, 222, 23, 1) 0%, rgba(78, 170, 33, 1) 100%);
}

.footer-inq .inner { padding: 0 60px; }

.footer-inq-heading figure {
  width: 370px;
  height: auto
}

.footer-inq-heading {
  display: flex;
  align-items: flex-end;
  margin: 0 0 65px;
}

.footer-inq-heading h2 {
  font-size: 40px;
  font-size: 4.0rem;
  line-height: calc(60 / 40);
  letter-spacing: 0.05em;
}

.footer-inq-heading h2 small {
  font-size: calc(16 / 40 * 1em);
  font-weight: 400;
  letter-spacing: 0.05em;
  display: block;
  white-space: nowrap;
}

.footer-inq ul {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  /*
  border-left: solid 2px #68b412;
  */
}

.footer-inq ul::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 2px;
  height: 60px;
  background-color: #68b412;
}

.footer-inq ul li {
  position: relative;
  width: 50%;
  height: 100%;
  text-align: center;
}

/*
.footer-inq ul li:nth-of-type(2) {
  border-left: solid 2px #68b412;
  border-right: solid 2px #5b9c11;
}
*/

.footer-inq ul li:nth-of-type(2)::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 2px;
  height: 60px;
  background-color: #68b412;
}

.footer-inq ul li:nth-of-type(2)::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 2px;
  height: 60px;
  background-color: #5b9c11;
}

.footer-inq ul li a.bcc-btn {
  width: 300px;
  background-color: var(--wht);
}

.footer-inq ul li a.bcc-btn::before {
  background-color: #cdff90;
}

.footer-inq ul li.tel-num.pc a {
  width: 373px;
  display: inline-block;
}

.footer-inq ul li.tel-num.pc a img {
  width: 100%;
  height: auto;
  padding: 0 0 10px;
  border-bottom: solid 2px var(--blk);
}

.footer-inq ul li.tel-num p {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}

.footer-inq ul li.tel-num a+p {
  margin: 15px 0 0;
}

/* Footer Items
----------------------------------------------------------- */
.footer-items {
  position: relative;
  padding: 75px 0 70px;
}

.footer-items .inner {
  position: relative;
  padding: 0 60px;
}

.footer-items nav {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.footer-items ul {
  width: 50%;
  border-right: solid 1px #ededed;
}

.footer-items ul li {
  position: relative;
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
}

.footer-items ul li:not(:last-of-type) { margin: 0 0 35px; }

.footer-items ul li a {
  color: var(--blk);
  text-decoration: none;
}

.footer-items dl {
  width: 50%;
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.15em;
  padding: 0 0 0 85px;
}

.footer-items dl dt {
  font-weight: 600;
  line-height: 1.0;
  margin: 0 0 30px;
}

.footer-items dl dd {
  line-height: calc(30 / 16);
}

.footer-items dl dd:first-of-type {
  margin: 0 0 40px;
}

.footer-items dl dd p, .footer-items dl dd p span {
  display: flex;
  align-items: center;
}

.footer-items dl dd p span:first-of-type {
  margin: 0 15px 0 0;
}

.footer-items dl dd p span i {
  width: 44px;
  height: auto;
  line-height: 1.0;
  display: inline-block;
  margin: 0 5px 0 0;
}

/* -----------------------------------------------------------
  Page Header
----------------------------------------------------------- */
.page-header {
  position: relative;
  width: 100%;
}

/* Sub Page Common
----------------------------------------------------------- */
.page-header.sub {
  height: 280px;
  background-color: #f8f8f8;
  -webkit-box-shadow: inset 0px 0px 8px 8px rgba(0, 0, 0, 0.025);
  -moz-box-shadow: inset 0px 0px 8px 8px rgba(0, 0, 0, 0.025);
  box-shadow: inset 0px 0px 8px 8px rgba(0, 0, 0, 0.025);
}
.page-header.sub .inner {
  height: 100%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
}
.page-header.sub h1 {
  font-size: 40px;
  font-size: 4.0rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.0;
}
/*
.page-header.sub h3 {
  font-family: "Sofia Sans Extra Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-size: 150px;
  font-size: 15rem;
  letter-spacing: 0.05em;
  line-height: 1.0;
  color: #eaeaea;
}
*/
.page-header.sub figure {
  position: absolute;
  z-index: 1;
  top: 17px;
  right: 15px;
  width: 388px;
  height: auto;
}

/* -----------------------------------------------------------
  Breadcrumb
----------------------------------------------------------- */
.breadcrumb {
  position: relative;
  z-index: 1;
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  margin: 30px 0 0;
}
.breadcrumb a {
  color: var(--blk);
  text-decoration: none;
}
.breadcrumb span {
  transform: scale(0.6, 1.0);
  display: inline-block;
  margin: 0 0.25em;
}

/* -----------------------------------------------------------
  Section
----------------------------------------------------------- */
.l-contents section {
  position: relative;
}

/* -----------------------------------------------------------
  WordPress Styles Overwrite
----------------------------------------------------------- */
.entry-header, .entry-footer { display: none; }
.entry-content { margin: 0; }