@charset "UTF-8";

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

  Nano Creative Company - About PC Styles

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

/* -----------------------------------------------------------
  Page Header
----------------------------------------------------------- */
.page-header.sub h3 { width: 413px; }

/* -----------------------------------------------------------
  Section
----------------------------------------------------------- */

/* Section01
----------------------------------------------------------- */
.greeting { padding: 120px 0 135px; }
.greeting .inner { padding: 0 60px; }
.greeting h2 {
  font-size: 40px;
  font-size: 4.0rem;
  letter-spacing: 0.05em;
  line-height: calc(60 / 40);
  text-align: center;
  margin: 0 0 50px;
}
.greeting dl {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.greeting dl dt {
  width: 345px;
  flex-shrink: 0;
}
.greeting dl dd { margin: 0 0 0 90px; }
.greeting dl dd p {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: calc(36 / 16);
}
.greeting dl dd p span { font-weight: 600; }

/* Section02
----------------------------------------------------------- */
.support { padding: 0 0 150px; }
.support .inner { padding: 0 60px; }
.support figure img {
  width: 100%;
  height: auto;
}
.support h3 {
  font-size: 28px;
  font-size: 2.8rem;
  letter-spacing: 0.05em;
  line-height: calc(54 / 28);
  text-align: center;
}
.support h3 span {
  position: relative;
  font-size: calc(38 / 28 * 1em);
  color: var(--ncc-green);
  display: inline-block;
}
.support h3 span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 9px;
  width: 100%;
  height: 9px;
  background-color: #fff455;
  display: inline-block;
}

/* Section03
----------------------------------------------------------- */
.features {
  padding: 70px 0 115px;
  background-color: #effbed;
}
.features-heading .inner { position: relative; }
.features-heading figure {
  position: absolute;
  top: -95px;
  left: 0;
  width: 180px;
}
.features-heading h2 {
  font-size: 40px;
  font-size: 4.0rem;
  letter-spacing: 0.05em;
  line-height: calc(60 / 40);
  text-align: center;
}
.features-heading h2 span {
  font-size: calc(90 / 40 * 1em);
  color: var(--ncc-green);
}
.features-item { position: relative; }

/*
.features-item::after {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  background-color: var(--wht);
}
.features-item.fi01::after {
  right: calc((100% - 1200px) / 2 + 250px);
  height: 400px;
}
*/

.features-item .inner {
  position: relative;
  z-index: 1;
}
.features-item.fi01 .fibg,
.features-item.fi03 .fibg {
  position: absolute;
  z-index: 0;
  top: 0;
  transform: translateX( calc(((100% - 1200px) / 2 + 250px) * -1) );
  width: 100%;
  height: 100%;
  display: block;
  background-color: var(--wht);
}

.features-item h3 {
  position: relative;
  font-size: 30px;
  font-size: 3.0rem;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  height: 84px;
}
.features-item.fi01 h3 { white-space: nowrap; }
.features-item.fi03 h3 { width: 433px; }
.features-item.fi04 h3 { width: 431px; }

.features-item h3::before {
  content: "";
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-size: 48px;
  font-size: 4.8rem;
  color: var(--wht);
  text-align: center;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background-color: var(--ncc-green);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0 15px 0 0;
}
.features-item.fi01 h3::before { content: "1"; }
.features-item.fi02 h3::before { content: "2"; }
.features-item.fi03 h3::before { content: "3"; }
.features-item.fi04 h3::before { content: "4"; }

.features-item h3 span { font-size: calc(40 / 30 * 1em); }

.features-item p {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: calc(30 / 16);
}
.features-item p span { font-weight: 600; }

/* Features Item01 */
.features-item.fi01 { padding: 60px 0; }
.features-item.fi01 > .inner {
  display: flex;
  align-items: flex-start;
  padding: 0 140px 0 60px;
}
.features-item.fi01 > .inner dl { padding: 0 60px 0 0; }
.features-item.fi01 > .inner dl dd { margin: 30px 0 0; }
.features-item.fi01 > .inner figure {
  width: 400px;
  height: auto;
  flex-shrink: 0;
}

/* Features Item02 */
.features-item.fi02 { padding: 135px 0 120px; }
.features-item.fi02 > .inner {
  display: flex;
  align-items: flex-end;
  flex-direction: row-reverse;
  padding: 0 60px 0 140px;
}
.features-item.fi02 > .inner dl { padding: 0 0 0 60px; }
.features-item.fi02 > .inner dl dd { margin: 30px 0 0; }
.features-item.fi02 > .inner figure {
  position: relative;
  width: 400px;
  height: auto;
  flex-shrink: 0;
}
.features-item.fi02 > .inner figure figcaption {
  position: absolute;
  z-index: 1;
  top: -70px;
  left: -45px;
  width: 149px;
  height: 142px;
}

/* Features Item03 */
.features-item.fi03 {
  padding: 75px 0 115px;
  margin: 0 0 125px;
}
.features-item.fi03 > .inner {
  display: flex;
  align-items: flex-start;
  padding: 0 140px 0 60px;
}
.features-item.fi03 > .inner dl { padding: 0 60px 0 0; }
.features-item.fi03 > .inner dl dd { margin: 30px 0 0; }
.features-item.fi03 > .inner figure {
  width: 400px;
  height: auto;
  flex-shrink: 0;
}

.so-example-unit { margin: 105px 0 0; }
.so-example-unit .inner {
  position: relative;
  padding: 0 600px 0 60px;
}
.so-example-unit .inner > span {
  position: absolute;
  top: 0;
  right: 0;
}
.so-example-unit .inner > .pic01 {
  top: -60px;
  right: 180px;
  width: 159px;
  height: 188px;
}
.so-example-unit .inner > .pic02.pc {
  top: 260px;
  right: 325px;
  width: 181px;
  height: 148px;
}
.so-example-unit .inner > .pic03.pc {
  top: 540px;
  right: 175px;
  width: 133px;
  height: 192px;
}
.so-example-unit h4 {
  position: relative;
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  padding: 0 0 0 45px;
  margin: 0 0 30px;
}
.so-example-unit h4::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 32px;
  height: 2px;
  display: inline-block;
  background: linear-gradient(to right, rgba(171,222,23,1) 0%,rgba(78,170,33,1) 100%);
}
.so-example:first-of-type { margin: 0 0 65px; }
.so-example dl {
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  margin: 0 0 20px;
}
.so-example dl dt {
  font-size: calc(16 / 15 * 1em);
  font-weight: 600;
}
.so-example dl dt i {
  width: 34px;
  height: auto;
  display: inline-block;
  margin: 0 10px 0 0;
}
.so-example dl dd {
  line-height: calc(24 / 15);
  margin: 1em 0 0;
}
.so-example dl dd a {
  position: relative;
  width: fit-content;
  color: var(--ncc-green);
  text-decoration: none;
  display: inline-block;
  padding: 5px 10px;
  margin: 15px 0 0;
  border-bottom: solid 1px var(--ncc-green);
  transition: all .3s;
  overflow: hidden;
  transition: ease .2s;
}
.so-example dl dd a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #effbed;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scaleX(0);
  transform-origin: right top;
}
.so-example dl dd a:hover::before {
  transform: scaleX(1);
  transform-origin: left top;
}
.so-example dl dd a span {
  position: relative;
  z-index: 1;
  padding: 0 27px 0 0;
}
.so-example dl dd a span::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 17px;
  height: 17px;
  background: url(../images/icon_link.png) no-repeat 50% 50%;
  background-size: cover;
}
.so-example figure {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.so-example figure img {
  width: 266px;
  height: auto;
}
.so-example .fig02, .so-example .fig03 { display: none; }

.features-item.fi04 > .inner { padding: 0 60px 0 140px; }
.features-item.fi04 > .inner > dl dd { margin: 30px 0 0; }

.profile-unit {
  border-radius: 15px;
  padding: 55px 30px 50px 60px;
  background-color: var(--wht);
  -webkit-box-shadow: 0px 0px 8px 8px rgba(0,0,0,0.025);
  -moz-box-shadow: 0px 0px 8px 8px rgba(0,0,0,0.025);
  box-shadow: 0px 0px 8px 8px rgba(0,0,0,0.025);
  margin: 35px 0 0;
  display: flex;
  align-items: center;
}
.profile-unit figure {
  width: 270px;
  height: auto;
  flex-shrink: 0;
}
.profile-summary { padding: 0 45px 0 0; }
.profile-summary h4 {
  position: relative;
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
}
.profile-summary h4 span {
  /*
  content: "通訳リーダー";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  */
  width: fit-content;
  font-size: 13px;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  color: var(--wht);
  background: var(--ncc-green);
  border-radius: 5px;
  padding: 0 1em;
  line-height: 28px;
  display: inline-block;
  margin: 0 15px 0 0;
}
.profile-summary p { line-height: calc(24 / 15); }
.profile-summary dl { margin: 35px 0 0; }
.profile-summary dl dt {
  width: fit-content;
  font-size: 13px;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  color: var(--ncc-green);
  background-color: #fffee1;
  line-height: 27px;
  padding: 0 0.75em;
}
.profile-summary dl dd {
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  line-height: calc(22 / 15);
  margin: 10px 0 25px !important;
}
.profile-summary dl dd:last-of-type { margin: 10px 0 0 !important; }