@charset "UTF-8";
/*base is →　! sanitize.css v5.0.0 | CC0 License | github.com/jonathantneal/sanitize.css */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

article, aside, footer, header, nav, section, figcaption, figure, main {
  display: block; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

img {
  border-style: none;
  vertical-align: top; }

table {
  border-collapse: collapse; }

button, input, select, textarea {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

button, html [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button; }

textarea {
  overflow: auto;
  resize: vertical; }

[type="checkbox"], [type="radio"] {
  box-sizing: border-box;
  padding: 0; }

a, area, button, input, label, select, summary, textarea, [tabindex] {
  touch-action: manipulation; }

/* --------------- variables --------------------- */
/* Break Point */
/* ミディアムグレー：テキスト　*/
/* グレー*/
/* ライトグレー　*/
/* イエロー　*/
/* ボーダー　*/
html {
  color: #494949;
  line-height: 1; }

body {
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 400; }
  body.splashed {
    position: fixed;
    top: 0;
    left: 0; }
  body.modOpen {
    overflow: hidden; }

i {
  font-style: normal; }

a {
  color: #494949;
  text-decoration: none;
  transition: 0.3s; }

ul,
ol {
  list-style-type: none; }

.ib {
  display: inline-block !important; }

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

* {
  box-sizing: border-box; }

sup,
sub {
  font-size: 0.6em; }

.bold {
  font-weight: 700; }

.txtWrap {
  position: relative; }
  .txtWrap:before {
    content: "";
    background-image: url(../images/common/dot_square.png);
    background-repeat: no-repeat;
    background-size: 100%;
    display: block;
    position: absolute;
    z-index: 1; }

.subTitle {
  font-family: 'Montserrat', sans-serif;
  position: relative;
  z-index: 10; }

h2.title {
  position: relative;
  font-weight: 500;
  z-index: 10; }

#globalHeader .headInner {
  background-color: #fff; }

.headerMenu .ghNav .ghNavList {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  letter-spacing: 0.05rem; }

#globalFooter {
  position: relative;
  text-align: center; }
  #globalFooter small {
    font-family: 'Raleway', sans-serif; }

#pageTop {
  position: absolute; }

.fv .fvSwiper {
  overflow: hidden; }

@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  100% {
    -webkit-transform: scale(1.07);
            transform: scale(1.07); } }

@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  100% {
    -webkit-transform: scale(1.07);
            transform: scale(1.07); } }

.fv .swiper-slide-active .swiper-img,
.fv .swiper-slide-duplicate-active .swiper-img,
.fv .swiper-slide-prev .swiper-img {
  -webkit-animation: zoomUp 7s linear 0s normal both;
          animation: zoomUp 7s linear 0s normal both; }

.fv .swiper-slide img {
  overflow: hidden;
  height: auto;
  width: 100%; }

.fvWrap {
  display: flex;
  justify-content: center;
  align-items: center; }
  .fvWrap .inner .fvMenu {
    text-align: center; }
    .fvWrap .inner .fvMenu li {
      font-family: 'Montserrat', sans-serif;
      font-weight: 400; }

.contactBtn {
  display: block;
  position: fixed;
  z-index: 99;
  transition: 0.3s; }

.hidden {
  visibility: hidden;
  opacity: 0; }

.concept .inner {
  position: relative; }
  .concept .inner::before {
    content: "";
    display: block;
    background-color: #f6f6f6;
    position: absolute;
    z-index: 1;
    right: 0; }

.conceptImg {
  position: relative;
  z-index: 10; }

.conceptTxt .title {
  position: relative;
  z-index: 10; }

.conceptTxt .txt {
  position: relative;
  z-index: 10; }

.slideWrap {
  position: relative;
  z-index: 10; }

.slick-track {
  display: flex;
  align-items: center; }

.galleryBtn {
  position: relative;
  font-family: 'Montserrat', sans-serif;
  background-color: #fff;
  outline: 1px solid #d9d9d9;
  outline-offset: -1px;
  letter-spacing: 0.03rem; }
  .galleryBtn::after {
    content: "";
    display: block;
    background-image: url(../images/common/arrow_grey.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 24px;
    height: 19px; }
  .galleryBtn .cate {
    display: inline-block;
    font-weight: 500;
    font-size: 12px; }
  .galleryBtn .btnName {
    display: inline-block; }

.planBtn {
  position: relative;
  background-color: #494949;
  color: #fff;
  text-align: center; }
  .planBtn::after {
    content: "";
    display: block;
    background-image: url(../images/common/plus_wht.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 17px;
    height: 19px;
    transition: 0.3s;
    right: 22px;
    opacity: 1; }
  .planBtn::before {
    content: "";
    display: block;
    background-image: url(../images/common/minus_wht.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 17px;
    height: 19px;
    transition: 0.3s;
    right: 22px;
    opacity: 0; }

.planBtn.open::after {
  opacity: 0; }

.planBtn.open::before {
  opacity: 1; }

.contactLink {
  display: block;
  position: relative;
  font-weight: 500;
  background-color: #fff;
  outline: 1px solid #d9d9d9;
  outline-offset: -1px;
  letter-spacing: 0.03rem; }
  .contactLink::after {
    content: "";
    display: block;
    background-image: url(../images/common/arrow_grey.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 24px;
    height: 19px; }
  .contactLink .cate {
    display: inline-block;
    font-weight: 500;
    font-size: 12px; }
  .contactLink .btnName {
    display: inline-block; }

.family {
  position: relative; }
  .family::before {
    content: "";
    display: block;
    background-image: url(../images/common/family_photo_bg.png);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    left: 0;
    z-index: 1; }
  .family::after {
    content: "";
    display: block;
    background-image: url(../images/common/dot_square_big.png);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    right: 0;
    z-index: 1; }

.plan {
  display: none; }
  .plan .planInner {
    background-color: #fff;
    position: relative;
    border: solid 1px #494949; }
    .plan .planInner::before {
      content: "";
      display: block;
      background-color: #494949;
      width: 1px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
    .plan .planInner::after {
      content: "";
      display: block;
      background-color: #494949;
      width: 1px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }

.planList dt {
  position: relative;
  font-weight: 500; }
  .planList dt::after {
    content: "";
    display: block;
    background-image: url(../images/common/icon_orange.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    left: 0; }

.planList .planName {
  font-weight: 700; }

.planList .planPoint {
  display: flex;
  align-items: center; }
  .planList .planPoint li {
    text-align: center; }
  .planList .planPoint .planTxt {
    font-weight: 500; }

.option {
  background-color: #f6f6f6;
  font-weight: 700; }
  .option dt {
    position: relative; }
    .option dt span {
      font-size: .8em; }
    .option dt::after {
      content: "";
      display: block;
      background-image: url(../images/common/icon_orange.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0; }
  .option dd .thin {
    font-weight: 400; }

/*モーダルを開くボタン*/
.sampleModalOpen, .sampleModalOpen2 {
  cursor: pointer;
  transition: 0.3s;
  text-decoration: underline;
  color: #438ea4; }

/*ハンガー用モーダルを開くボタン*/
.hanger-sampleModalOpen {
  cursor: pointer;
  transition: 0.3s;
  text-decoration: underline;
  color: #438ea4; }

/*モーダル本体の指定 + モーダル外側の背景の指定*/
.sampleModal, .sampleModal2 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(255, 255, 255, 0.8);
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  box-sizing: border-box;
  z-index: 999;
  display: flex;
  justify-content: center;
  align-items: center; }

/*ハンガー用モーダル本体の指定 + モーダル外側の背景の指定*/
.hanger-sampleModal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(255, 255, 255, 0.8);
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  box-sizing: border-box;
  z-index: 999;
  display: flex;
  justify-content: center;
  align-items: center; }

/*モーダル本体の擬似要素の指定*/
/*ハンガー用モーダル本体の擬似要素の指定*/
/*モーダル本体に「active」クラス付与した時のスタイル*/
.sampleModal.active, .sampleModal2.active {
  opacity: 1;
  visibility: visible; }

/*ハンガー用モーダル本体に「active」クラス付与した時のスタイル*/
.hanger-sampleModal.active {
  opacity: 1;
  visibility: visible; }

/*モーダル枠の指定*/
.sampleModalBody {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 720px;
  width: 100%;
  padding: 0 20px; }

/*ハンガー用モーダル枠の指定*/
.hanger-sampleModalBody {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 720px;
  width: 100%;
  padding: 0 20px; }

/*モーダルを閉じるボタンの指定*/
.sampleModalClose, .sampleModalClose2 {
  position: absolute;
  cursor: pointer;
  height: 36px;
  right: 20px; }
  .sampleModalClose::before, .sampleModalClose::after, .sampleModalClose2::before, .sampleModalClose2::after {
    content: "";
    display: block;
    height: 1px;
    background-color: #494949;
    position: absolute;
    top: 20px;
    right: 0; }
  .sampleModalClose::before, .sampleModalClose2::before {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg); }
  .sampleModalClose::after, .sampleModalClose2::after {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg); }

/*ハンガー用モーダルを閉じるボタンの指定*/
.hanger-sampleModalClose {
  position: absolute;
  cursor: pointer;
  height: 36px;
  right: 20px; }
  .hanger-sampleModalClose::before, .hanger-sampleModalClose::after {
    content: "";
    display: block;
    height: 1px;
    background-color: #494949;
    position: absolute;
    top: 20px;
    right: 0; }
  .hanger-sampleModalClose::before {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg); }
  .hanger-sampleModalClose::after {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg); }

/*モーダル内のコンテンツの指定*/
.sampleModalCont {
  border: solid 1px #494949;
  background: #fff;
  text-align: left; }

/*ハンガー用モーダル内のコンテンツの指定*/
.hanger-sampleModalCont {
  border: solid 1px #494949;
  background: #fff;
  text-align: left; }

/*モーダルの中身*/
.sampleTitle {
  position: relative;
  font-weight: 700; }
  .sampleTitle::after {
    content: "";
    display: block;
    background-image: url(../images/common/icon_orange.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    left: 0; }

.contInner::-webkit-scrollbar-thumb {
  background-color: #fac200;
  border-radius: 5px; }

.contInner::-webkit-scrollbar-track {
  background: #e8e8e8;
  border-radius: 5px; }

.hanger-0contInner::-webkit-scrollbar-thumb {
  background-color: #fac200;
  border-radius: 5px; }

.hanger-contInner::-webkit-scrollbar-track {
  background: #e8e8e8;
  border-radius: 5px; }

.businessBg {
  position: relative; }
  .businessBg::after {
    content: "";
    display: block;
    background-color: #f6f6f6;
    position: absolute;
    left: 0;
    z-index: -1; }

.business {
  position: relative; }
  .business::before {
    content: "";
    display: block;
    background-image: url(../images/common/business_Portrait_bg.png);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    z-index: 1; }
  .business::after {
    content: "";
    display: block;
    background-image: url(../images/common/dot_square_big.png);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    left: 0;
    z-index: 1; }

.engagement {
  position: relative; }
  .engagement::before {
    content: "";
    display: block;
    background-image: url(../images/common/engagement_photo_bg.png);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    left: 0;
    z-index: 1; }
  .engagement::after {
    content: "";
    display: block;
    background-image: url(../images/common/dot_square_big.png);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    right: 0;
    z-index: 1; }

.setBg {
  position: relative; }
  .setBg::after {
    content: "";
    display: block;
    background-color: #f6f6f6;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1; }

.commercialWrap {
  position: relative; }
  .commercialWrap::before {
    content: "";
    display: block;
    background-image: url(../images/common/commercial_02.png);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    left: 0; }
  .commercialWrap::after {
    content: "";
    display: block;
    background-image: url(../images/common/commercial_01.jpg);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    right: 0; }

.otherWrap {
  position: relative; }
  .otherWrap::before {
    content: "";
    display: block;
    background-image: url(../images/common/other_02.jpg);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    left: 0; }
  .otherWrap::after {
    content: "";
    display: block;
    background-image: url(../images/common/other_01.jpg);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    right: 0; }

.simpleTitle {
  display: inline-block;
  font-weight: 500; }

.irregular {
  font-family: 'Montserrat', sans-serif;
  display: inline-block;
  vertical-align: middle; }

.photoGallery {
  position: relative; }
  .photoGallery::before {
    content: "";
    display: block;
    background-image: url(../images/common/gallery.png);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); }

#selector {
  display: flex; }

#selector li {
  position: relative;
  font-family: 'Montserrat', sans-serif;
  display: block; }

#selector li label {
  display: block;
  width: 100%;
  position: relative; }

#selector li label input {
  display: none; }

#selector li label.checked {
  font-weight: 700; }

#gallery::-webkit-scrollbar-thumb {
  background-color: #fac200;
  border-radius: 5px; }

#gallery::-webkit-scrollbar-track {
  background: #e8e8e8;
  border-radius: 5px; }

#gallery .p {
  display: flex;
  transition: all 0.5s;
  -webkit-transform-origin: center top;
          transform-origin: center top;
  overflow: hidden;
  flex-wrap: wrap;
  width: 100%; }

#gallery .p .galleryImg {
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden; }

.photoAttn {
  text-align: center; }

#modal {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 999;
  display: none; }

#modal #modInner {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center; }

#modal #modInner #modImg {
  max-width: 80%;
  max-height: 90%;
  position: relative; }

#modal #modInner #modImg #modClose {
  display: block;
  position: absolute;
  height: 40px;
  right: 0px;
  cursor: pointer; }

#modal #modInner #modImg #modClose:before,
#modal #modInner #modImg #modClose:after {
  content: "";
  display: block;
  height: 1px;
  background-color: #494949;
  position: absolute;
  top: 20px;
  left: 0; }

#modal #modInner #modImg #modClose:before {
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg); }

#modal #modInner #modImg #modClose:after {
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg); }

#modal #modInner #modImg img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto; }

#modal.isShow {
  display: block; }

.about {
  position: relative; }
  .about::before {
    content: "";
    display: block;
    background-color: #f6f6f6;
    width: 100%;
    position: absolute;
    left: 0;
    z-index: 1; }
  .about .inner {
    position: relative;
    z-index: 10; }

.vision .inner {
  position: relative; }

h2.pointTitle {
  font-weight: 500;
  margin-left: auto; }

.pointList div {
  position: relative; }
  .pointList div::before {
    content: "";
    background-image: url(../images/common/dot_square.png);
    background-repeat: no-repeat;
    background-size: 100%;
    display: block;
    position: absolute;
    z-index: 1; }
  .pointList div:nth-of-type(even) {
    margin-left: auto; }
  .pointList div dt {
    position: relative;
    z-index: 10;
    font-weight: 500; }
  .pointList div dd {
    position: relative;
    z-index: 10; }

.number1 {
  position: relative; }
  .number1::after {
    content: "";
    background-image: url(../images/common/number1.png);
    background-repeat: no-repeat;
    background-size: 100%;
    display: block;
    position: absolute;
    z-index: 10; }

.number2 {
  position: relative; }
  .number2::after {
    content: "";
    background-image: url(../images/common/number2.png);
    background-repeat: no-repeat;
    background-size: 100%;
    display: block;
    position: absolute;
    z-index: 10; }

.number3 {
  position: relative; }
  .number3::after {
    content: "";
    background-image: url(../images/common/number3.png);
    background-repeat: no-repeat;
    background-size: 100%;
    display: block;
    position: absolute;
    z-index: 10; }

.number4 {
  position: relative; }
  .number4::after {
    content: "";
    background-image: url(../images/common/number4.png);
    background-repeat: no-repeat;
    background-size: 100%;
    display: block;
    position: absolute;
    z-index: 10; }

.number5 {
  position: relative; }
  .number5::after {
    content: "";
    background-image: url(../images/common/number5.png);
    background-repeat: no-repeat;
    background-size: 100%;
    display: block;
    position: absolute;
    z-index: 10; }

.nameOrigin .inner {
  position: relative;
  border: 1px solid #494949; }
  .nameOrigin .inner::before {
    content: "";
    display: block;
    background-color: #494949;
    width: 1px;
    position: absolute;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  .nameOrigin .inner::after {
    content: "";
    display: block;
    background-color: #494949;
    width: 1px;
    position: absolute;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }

.originTitle {
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.05rem; }

.overview {
  background-color: #f6f6f6; }

.overviewWrap .detail .detailTxt span {
  display: inline-block; }

.greeting {
  position: relative;
  background-color: #fff;
  text-align: center; }
  .greeting .greetingInner .greetingTitle {
    font-weight: 500;
    letter-spacing: 0.03rem; }
  .greeting .greetingInner .sign .signName {
    letter-spacing: 0.03rem; }

.daihyo .daihyoInner {
  display: flex;
  justify-content: space-between; }
  .daihyo .daihyoInner .daihyoWrap .nameJp {
    font-weight: 700;
    letter-spacing: 0.03rem; }
  .daihyo .daihyoInner .daihyoWrap .nameEn {
    font-family: 'Raleway', sans-serif;
    letter-spacing: 0.03rem; }

.historyTitle {
  font-weight: 700; }

.worksSlider {
  position: relative; }
  .worksSlider .prev {
    position: absolute;
    width: 27px; }
  .worksSlider .next {
    position: absolute;
    width: 27px; }

#worksModal {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 999;
  display: none; }

#worksModal #worksModInner {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center; }

#worksModal #worksModInner #worksModImg {
  max-width: 80%;
  max-height: 90%;
  position: relative; }

#worksModal #worksModInner #worksModImg #worksModClose {
  display: block;
  position: absolute;
  height: 40px;
  right: 0px;
  cursor: pointer; }

#worksModal #worksModInner #worksModImg #worksModClose:before,
#worksModal #worksModInner #worksModImg #worksModClose:after {
  content: "";
  display: block;
  height: 1px;
  background-color: #494949;
  position: absolute;
  top: 20px;
  left: 0; }

#worksModal #worksModInner #worksModImg #worksModClose:before {
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg); }

#worksModal #worksModInner #worksModImg #worksModClose:after {
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg); }

#worksModal #worksModInner #worksModImg img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto; }

#worksModal.isShow {
  display: block; }

.faqList div {
  position: relative; }
  .faqList div::before {
    content: "";
    display: block;
    background-image: url(../images/common/question.png);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    top: 0;
    left: 0; }

.faqList .question {
  font-weight: 500;
  border-bottom: solid 1px #d9d9d9;
  position: relative; }
  .faqList .question::after {
    content: "";
    display: block;
    background-image: url(../images/common/plus.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    top: 0;
    right: 0;
    transition: 0.3s;
    opacity: 1; }
  .faqList .question::before {
    content: "";
    display: block;
    background-image: url(../images/common/minus.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    top: 0;
    right: 0;
    transition: 0.3s;
    opacity: 0; }

.faqList .question.open::after {
  opacity: 0; }

.faqList .question.open::before {
  opacity: 1; }

.faqList .answer {
  display: none; }

.privacy {
  position: relative;
  border: solid 1px #494949; }
  .privacy::before {
    content: "";
    display: block;
    background-color: #494949;
    width: 1px;
    position: absolute;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  .privacy::after {
    content: "";
    display: block;
    background-color: #494949;
    width: 1px;
    position: absolute;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  .privacy .privacyBox {
    overflow-y: scroll; }
  .privacy .privacyTitle {
    text-align: center;
    letter-spacing: 0.05rem; }

.privacyBox::-webkit-scrollbar-thumb {
  background-color: #fac200;
  border-radius: 5px; }

.privacyBox::-webkit-scrollbar-track {
  background: #e8e8e8;
  border-radius: 5px; }

.contact {
  padding-top: 100px;
  margin-top: -100px;
  text-align: center; }

.contactTitle {
  margin: 0 auto; }

.concept {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  transition: all 1s; }
  .concept.inView {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.family {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  transition: all 1s; }
  .family.inView {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.business {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  transition: all 1s; }
  .business.inView {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.engagement {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  transition: all 1s; }
  .engagement.inView {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.commercialWrap {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  transition: all 1s; }
  .commercialWrap.inView {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.otherWrap {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  transition: all 1s; }
  .otherWrap.inView {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.photoGallery {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  transition: all 1s; }
  .photoGallery.inView {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.about {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  transition: all 1s; }
  .about.inView {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.vision {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  transition: all 1s; }
  .vision.inView {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.pointTitle {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  transition: all 1s; }
  .pointTitle.inView {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.pointList {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  transition: all 1s; }
  .pointList.inView {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.nameOrigin {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  transition: all 1s; }
  .nameOrigin.inView {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.overviewWrap {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  transition: all 1s; }
  .overviewWrap.inView {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.greeting {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  transition: all 1s; }
  .greeting.inView {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.daihyo {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  transition: all 1s; }
  .daihyo.inView {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.faqTitle {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  transition: all 1s; }
  .faqTitle.inView {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.faqList {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  transition: all 1s; }
  .faqList.inView {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.privacy {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  transition: all 1s; }
  .privacy.inView {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* ココから下には記入禁止 */
@media screen and (max-width: 768px) {
  body {
    font-size: 13px; }
  .ib {
    display: inline-block !important; }
  .bold {
    font-weight: 700; }
  .txtWrap {
    position: relative; }
    .txtWrap:before {
      content: "";
      background-image: url(../images/common/dot_square.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 1;
      width: 57px;
      height: 57px;
      top: -9.5px;
      left: -29px; }
  .subTitle {
    font-family: 'Montserrat', sans-serif;
    position: relative;
    z-index: 10;
    font-size: 11px;
    margin-bottom: 8px; }
  h2.title {
    position: relative;
    font-weight: 500;
    z-index: 10;
    font-size: 18px;
    letter-spacing: 0.05rem;
    margin-bottom: 37.5px; }
  .explain {
    line-height: 1.84; }
  #globalHeader .headInner {
    background-color: #fff; }
  .headerMenu .ghNav .ghNavList {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.05rem; }
  #globalFooter {
    position: relative;
    text-align: center;
    padding: 32px 0 35px; }
    #globalFooter small {
      font-family: 'Raleway', sans-serif;
      font-size: 10px; }
  #pageTop {
    position: absolute;
    width: 31px;
    right: 15px;
    bottom: 25px; }
  .fv .fvSwiper {
    overflow: hidden; }
  @-webkit-keyframes zoomUp {
    0% {
      -webkit-transform: scale(1);
              transform: scale(1); }
    100% {
      -webkit-transform: scale(1.07);
              transform: scale(1.07); } }
  @keyframes zoomUp {
    0% {
      -webkit-transform: scale(1);
              transform: scale(1); }
    100% {
      -webkit-transform: scale(1.07);
              transform: scale(1.07); } }
  .fv .swiper-slide-active .swiper-img,
  .fv .swiper-slide-duplicate-active .swiper-img,
  .fv .swiper-slide-prev .swiper-img {
    -webkit-animation: zoomUp 7s linear 0s normal both;
            animation: zoomUp 7s linear 0s normal both; }
  .fv .swiper-slide img {
    overflow: hidden;
    height: auto;
    width: 100%; }
  .fvWrap {
    display: flex;
    justify-content: center;
    align-items: center; }
    .fvWrap .inner .fvMenu {
      text-align: center; }
      .fvWrap .inner .fvMenu li {
        font-family: 'Montserrat', sans-serif;
        font-weight: 400; }
  .contactBtn {
    display: block;
    position: fixed;
    z-index: 99;
    transition: 0.3s;
    width: 82px;
    bottom: 5px;
    right: 5px; }
  .hidden {
    visibility: hidden;
    opacity: 0; }
  .concept {
    padding-top: 70px;
    margin-top: -70px;
    margin-bottom: 175px; }
    .concept .inner {
      position: relative;
      max-width: 530px;
      margin: 0 auto; }
      .concept .inner::before {
        content: "";
        display: block;
        background-color: #f6f6f6;
        position: absolute;
        z-index: 1;
        right: 0;
        width: 92vw;
        margin-right: calc(50% - 50vw);
        height: 91%;
        top: 94px; }
      .concept .inner::after {
        display: none; }
  .conceptImg {
    position: relative;
    z-index: 10;
    width: 70.7%;
    margin-bottom: 6px;
    width: 60%; }
  .conceptLine {
    position: relative;
    z-index: 10;
    width: 360px;
    margin-left: auto; }
  .conceptTxt {
    padding: 0 44px;
    margin-top: -6px;
    text-align: right; }
    .conceptTxt .txtInner {
      display: inline-block;
      margin-right: auto; }
    .conceptTxt .title {
      position: relative;
      z-index: 10;
      text-align: center;
      font-size: 18px;
      margin-bottom: 42.5px; }
    .conceptTxt .txt {
      position: relative;
      z-index: 10;
      text-align: center;
      line-height: 1.84; }
  .slideWrap {
    position: relative;
    z-index: 10; }
  .slide {
    padding: 0 16.5px; }
  #slide1 {
    margin-bottom: 48px; }
  #slide2 {
    margin-bottom: 47px; }
  #slide3 {
    margin-bottom: 41px; }
  .slick-track {
    display: flex;
    align-items: center;
    height: 271.5px; }
  .slick-track img {
    height: 100%; }
  .slide.wide.slick-slide {
    height: 209px; }
  .btnWrap {
    max-width: 287px;
    margin: 0 auto; }
  .galleryBtn {
    position: relative;
    font-family: 'Montserrat', sans-serif;
    background-color: #fff;
    outline: 1px solid #d9d9d9;
    outline-offset: -1px;
    letter-spacing: 0.03rem;
    padding: 21.5px;
    margin-bottom: 20px; }
    .galleryBtn::after {
      content: "";
      display: block;
      background-image: url(../images/common/arrow_grey.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 24px;
      height: 19px;
      right: 22px; }
    .galleryBtn .cate {
      display: inline-block;
      font-weight: 500;
      font-size: 12px;
      margin-left: 18px; }
    .galleryBtn .btnName {
      display: inline-block;
      font-size: 15px;
      margin-left: 18px; }
  .planBtn {
    position: relative;
    background-color: #494949;
    color: #fff;
    text-align: center;
    padding: 22.5px 50px 22.5px 22.5px;
    letter-spacing: 0.05rem; }
    .planBtn::after {
      content: "";
      display: block;
      background-image: url(../images/common/plus_wht.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 17px;
      height: 19px;
      transition: 0.3s;
      right: 22px;
      opacity: 1; }
    .planBtn::before {
      content: "";
      display: block;
      background-image: url(../images/common/minus_wht.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 17px;
      height: 19px;
      transition: 0.3s;
      right: 22px;
      opacity: 0; }
  .planBtn.open::after {
    opacity: 0; }
  .planBtn.open::before {
    opacity: 1; }
  .contactLink {
    display: block;
    position: relative;
    font-weight: 500;
    background-color: #fff;
    outline: 1px solid #d9d9d9;
    outline-offset: -1px;
    letter-spacing: 0.03rem;
    padding: 21.5px; }
    .contactLink::after {
      content: "";
      display: block;
      background-image: url(../images/common/arrow_grey.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 24px;
      height: 19px;
      right: 22px; }
    .contactLink .cate {
      display: inline-block;
      font-weight: 500;
      font-size: 12px;
      margin-left: 18px; }
    .contactLink .btnName {
      display: inline-block;
      font-size: 15px;
      margin-left: 18px; }
  .family {
    position: relative;
    padding-top: 70px;
    margin-top: -70px;
    margin-bottom: 131.5px; }
    .family::before {
      content: "";
      display: block;
      background-image: url(../images/common/family_photo_bg.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      z-index: 1;
      width: 232px;
      height: 53px;
      top: 36px; }
    .family::after {
      content: "";
      display: block;
      background-image: url(../images/common/dot_square_big.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0;
      z-index: 1;
      width: 93px;
      height: 93px;
      top: 0; }
  .planDetail {
    padding: 0 44px; }
    .planDetail .txtWrap {
      margin-bottom: 32px; }
  .plan {
    display: none;
    padding: 36px 15px 0; }
    .plan .planInner {
      background-color: #fff;
      position: relative;
      border: solid 1px #494949;
      padding: 30px 20px; }
      .plan .planInner::before {
        content: "";
        display: block;
        background-color: #494949;
        width: 1px;
        position: absolute;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
        height: 47px;
        top: -13px;
        left: 9px; }
      .plan .planInner::after {
        content: "";
        display: block;
        background-color: #494949;
        width: 1px;
        position: absolute;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
        height: 47px;
        bottom: -13px;
        right: 9px; }
  .planList .listCont {
    margin-bottom: 25px; }
  .planList dt {
    position: relative;
    font-weight: 500;
    line-height: 2;
    padding-left: 23px; }
    .planList dt::after {
      content: "";
      display: block;
      background-image: url(../images/common/icon_orange.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      width: 11.5px;
      height: 13px;
      top: 4px; }
  .planList .planName {
    font-weight: 700;
    font-size: 17.5px;
    line-height: 1.2; }
  .planList .planPrice {
    font-size: 23px; }
  .planList .planSub {
    font-size: 14px;
    line-height: 1.45;
    padding-left: 23px;
    margin-top: 15px; }
  .planList .planPoint {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 450px;
    margin: 20px auto 0; }
    .planList .planPoint li {
      text-align: center;
      width: calc(100% * 1 / 2);
      margin-bottom: 25px; }
      .planList .planPoint li:nth-child(3) {
        margin-bottom: 0;
        width: 62%; }
    .planList .planPoint .planImg {
      width: 52.5px;
      margin: 0 auto 10px; }
    .planList .planPoint .planTxt {
      font-weight: 500;
      font-size: 16px; }
    .planList .planPoint .supplement {
      font-size: 11px;
      line-height: 1.54;
      margin-top: 10px; }
  .planImg.data,
  .planImg.retouch {
    width: 70px !important;
    padding-top: 5px; }
  .option {
    background-color: #f6f6f6;
    font-weight: 700;
    padding: 20px 15px; }
    .option dt {
      position: relative;
      font-size: 17.5px;
      padding-left: 23px;
      margin-bottom: 15px; }
      .option dt span {
        font-size: .8em; }
      .option dt::after {
        content: "";
        display: block;
        background-image: url(../images/common/icon_orange.svg);
        background-repeat: no-repeat;
        background-size: 100%;
        position: absolute;
        left: 0;
        width: 11.5px;
        height: 13px;
        top: 4px; }
    .option dd {
      letter-spacing: -0.02rem;
      line-height: 1.84; }
      .option dd .thin {
        font-weight: 400; }
  /*モーダルを開くボタン*/
  .sampleModalOpen, .sampleModalOpen2 {
    cursor: pointer;
    transition: 0.3s;
    text-decoration: underline;
    color: #438ea4; }
  /*ハンガー用モーダルを開くボタン*/
  .hanger-sampleModalOpen {
    cursor: pointer;
    transition: 0.3s;
    text-decoration: underline;
    color: #438ea4; }
  /*モーダル本体の指定 + モーダル外側の背景の指定*/
  .sampleModal, .sampleModal2 {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(255, 255, 255, 0.8);
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    box-sizing: border-box;
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center; }
  /*ハンガー用モーダル本体の指定 + モーダル外側の背景の指定*/
  .hanger-sampleModal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(255, 255, 255, 0.8);
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    box-sizing: border-box;
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center; }
  /*モーダル本体の擬似要素の指定*/
  .sampleModal:before, .sampleModal2:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%; }
  /*ハンガー用モーダル本体の擬似要素の指定*/
  .hanger-sampleModal::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%; }
  /*モーダル本体に「active」クラス付与した時のスタイル*/
  .sampleModal.active, .sampleModal2.active {
    opacity: 1;
    visibility: visible; }
  /*ハンガー用モーダル本体に「active」クラス付与した時のスタイル*/
  .hanger-sampleModal.active {
    opacity: 1;
    visibility: visible; }
  /*モーダル枠の指定*/
  .sampleModalBody {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 720px;
    width: 100%;
    padding: 0 20px; }
  /*ハンガー用モーダル枠の指定*/
  .hanger-sampleModalBody {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 720px;
    width: 100%;
    padding: 0 20px; }
  /*モーダルを閉じるボタンの指定*/
  .sampleModalClose, .sampleModalClose2 {
    position: absolute;
    cursor: pointer;
    height: 36px;
    right: 20px;
    width: 30px;
    top: -40px; }
    .sampleModalClose::before, .sampleModalClose::after, .sampleModalClose2::before, .sampleModalClose2::after {
      content: "";
      display: block;
      height: 1px;
      background-color: #494949;
      position: absolute;
      top: 20px;
      right: 0;
      width: 30px; }
    .sampleModalClose::before, .sampleModalClose2::before {
      -webkit-transform: rotate(30deg);
              transform: rotate(30deg); }
    .sampleModalClose::after, .sampleModalClose2::after {
      -webkit-transform: rotate(-30deg);
              transform: rotate(-30deg); }
  /*ハンガー用モーダルを閉じるボタンの指定*/
  .hanger-sampleModalClose {
    position: absolute;
    cursor: pointer;
    height: 36px;
    right: 20px;
    width: 30px;
    top: -40px; }
    .hanger-sampleModalClose::before, .hanger-sampleModalClose::after {
      content: "";
      display: block;
      height: 1px;
      background-color: #494949;
      position: absolute;
      top: 20px;
      right: 0;
      width: 30px; }
    .hanger-sampleModalClose::before {
      -webkit-transform: rotate(30deg);
              transform: rotate(30deg); }
    .hanger-sampleModalClose::after {
      -webkit-transform: rotate(-30deg);
              transform: rotate(-30deg); }
  /*モーダル内のコンテンツの指定*/
  .sampleModalCont {
    border: solid 1px #494949;
    background: #fff;
    text-align: left;
    padding: 30px 20px;
    height: 60vh; }
    .sampleModalCont .contInner {
      height: calc(60vh - 60px);
      overflow-y: scroll; }
  /*ハンガー用モーダル内のコンテンツの指定*/
  .hanger-sampleModalCont {
    border: solid 1px #494949;
    background: #fff;
    text-align: left;
    padding: 50px 20px 30px; }
  /*モーダルの中身*/
  .sampleImg {
    margin-bottom: 20px; }
  .hanger-sampleImg {
    margin-bottom: 20px; }
    .hanger-sampleImg img {
      -o-object-fit: contain;
         object-fit: contain;
      width: 100%;
      aspect-ratio: 490 / 580;
      max-height: 500px; }
  .sampleTitle {
    position: relative;
    font-weight: 700;
    padding-left: 17px;
    margin-bottom: 17px; }
    .sampleTitle::after {
      content: "";
      display: block;
      background-image: url(../images/common/icon_orange.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      width: 11px;
      height: 13px;
      top: 0px; }
  .sampleTxt {
    line-height: 1.6;
    letter-spacing: -0.02rem; }
  .contInner::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  .contInner::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  .hanger-contInner {
    display: flex;
    justify-content: center;
    align-items: center; }
  .hanger-0contInner::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  .hanger-contInner::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  .businessBg {
    position: relative; }
    .businessBg::after {
      content: "";
      display: block;
      background-color: #f6f6f6;
      position: absolute;
      left: 0;
      z-index: -1;
      width: 100%;
      max-height: 897px;
      height: 113%;
      top: -40px; }
  .business {
    position: relative;
    margin-bottom: 188px; }
    .business::before {
      content: "";
      display: block;
      background-image: url(../images/common/business_Portrait_bg.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      z-index: 1;
      width: 302.5px;
      height: 41px;
      top: -32px;
      right: 0px; }
    .business::after {
      content: "";
      display: block;
      background-image: url(../images/common/dot_square_big.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      z-index: 1;
      width: 93px;
      height: 93px;
      top: -70px; }
    .business h2.title {
      line-height: 1.5; }
  .engagement {
    position: relative;
    margin-bottom: 135px; }
    .engagement::before {
      content: "";
      display: block;
      background-image: url(../images/common/engagement_photo_bg.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      z-index: 1;
      width: 295px;
      height: 116px;
      top: -30px; }
    .engagement::after {
      content: "";
      display: block;
      background-image: url(../images/common/dot_square_big.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0;
      z-index: 1;
      width: 93px;
      height: 93px;
      top: -67.5px; }
    .engagement h2.title {
      line-height: 1.27; }
  .setBg {
    position: relative;
    padding-bottom: 100px;
    margin-bottom: 153px; }
    .setBg::after {
      content: "";
      display: block;
      background-color: #f6f6f6;
      position: absolute;
      top: 0;
      right: 0;
      z-index: -1;
      width: 92%;
      height: 100%; }
  .commercialWrap {
    position: relative;
    padding: 0 9.4vw 0 16vw; }
    .commercialWrap::before {
      content: "";
      display: block;
      background-image: url(../images/common/commercial_02.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      width: 203px;
      height: 182.5px;
      top: -25px; }
    .commercialWrap::after {
      content: "";
      display: block;
      background-image: url(../images/common/commercial_01.jpg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0;
      width: 41.3%;
      height: 41%;
      max-height: 230px;
      top: -75px; }
  .commercial {
    margin-bottom: 290px; }
    .commercial .inner {
      padding-top: 206px; }
    .commercial .simpleWrap {
      margin-bottom: 29px; }
    .commercial .simpleImg {
      width: 239px;
      margin-bottom: 15px;
      padding-left: 5px; }
    .commercial .plan {
      padding: 36px 0 0; }
  .otherWrap {
    position: relative;
    padding: 0 9.4vw 0 16vw; }
    .otherWrap::before {
      content: "";
      display: block;
      background-image: url(../images/common/other_02.jpg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      width: 174px;
      height: 127px;
      bottom: -165px; }
    .otherWrap::after {
      content: "";
      display: block;
      background-image: url(../images/common/other_01.jpg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0;
      width: 84.5%;
      max-width: 410px;
      height: 238%;
      max-height: 280px;
      top: -260px; }
  .other .simpleImg {
    width: 95px;
    margin-bottom: 13px; }
  .other .simpleTxt {
    margin-bottom: 25px; }
  .simpleTitle {
    display: inline-block;
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0.05rem; }
  .irregular {
    font-family: 'Montserrat', sans-serif;
    display: inline-block;
    vertical-align: middle;
    height: 18px;
    font-size: 8px;
    letter-spacing: -0.01rem; }
  .simpleTxt {
    margin-top: 25px;
    line-height: 1.84; }
  .photoGallery {
    position: relative;
    padding-top: 70px;
    margin-top: -70px;
    margin-bottom: 40px; }
    .photoGallery::before {
      content: "";
      display: block;
      background-image: url(../images/common/gallery.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      width: 208px;
      height: 78px;
      top: 10px; }
  #photos {
    padding: 0 15px; }
  #selector {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 0;
    margin-bottom: 13px; }
  #selector li {
    position: relative;
    font-family: 'Montserrat', sans-serif;
    display: block;
    border: solid 1px #e6e6e6;
    width: 32%;
    text-align: center; }
    #selector li:not(:nth-child(3n)) {
      margin-right: 2%; }
  #selector li label {
    display: block;
    width: 100%;
    position: relative;
    padding: 10px;
    background-color: #fff; }
  #selector li label input {
    display: none; }
  #selector li label.checked {
    font-weight: 700;
    background-color: #f2f2f2; }
  #gallery {
    height: 88vw;
    overflow-x: scroll;
    margin-bottom: 20px; }
  #gallery::-webkit-scrollbar {
    width: 3.5px;
    height: 3.5px; }
  #gallery::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  #gallery::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  #gallery .p {
    display: flex;
    transition: all 0.5s;
    -webkit-transform-origin: center top;
            transform-origin: center top;
    overflow: hidden;
    flex-wrap: wrap;
    width: 100%;
    gap: 6px;
    margin-bottom: 6px; }
  #gallery .p .galleryImg {
    -o-object-fit: cover;
       object-fit: cover;
    overflow: hidden;
    width: calc((100% / 3) - 6px);
    height: 29.5vw; }
  .photoAttn {
    text-align: center; }
  #modal {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 999;
    display: none; }
  #modal #modInner {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center; }
  #modal #modInner #modImg {
    max-width: 80%;
    max-height: 90%;
    position: relative; }
  #modal #modInner #modImg #modClose {
    display: block;
    position: absolute;
    height: 40px;
    right: 0px;
    cursor: pointer;
    width: 30px;
    top: -40px; }
  #modal #modInner #modImg #modClose:before,
  #modal #modInner #modImg #modClose:after {
    content: "";
    display: block;
    height: 1px;
    background-color: #494949;
    position: absolute;
    top: 20px;
    left: 0;
    width: 30px; }
  #modal #modInner #modImg #modClose:before {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg); }
  #modal #modInner #modImg #modClose:after {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg); }
  #modal #modInner #modImg img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto; }
  #modal.isShow {
    display: block; }
  .about {
    position: relative;
    padding-top: 70px;
    margin-top: -70px;
    margin-bottom: 135px; }
    .about::before {
      content: "";
      display: block;
      background-color: #f6f6f6;
      width: 100%;
      position: absolute;
      left: 0;
      z-index: 1;
      max-height: 680px;
      height: 85%;
      top: 140px; }
    .about .inner {
      position: relative;
      z-index: 10;
      padding: 0 44px; }
  .aboutImg {
    width: 87.5%;
    max-width: 350px;
    margin: 0 auto 43px; }
  .vision {
    padding: 0 44px; }
    .vision .inner {
      position: relative; }
  .visionImg {
    max-width: 400px;
    margin: 35px auto 0; }
  .parallax01 {
    background-image: url(../images/common/bg_photo01_sp.jpg);
    background-size: cover;
    height: 240px;
    margin: 35px 0 45px; }
  .point {
    margin-bottom: 70px; }
  h2.pointTitle {
    font-weight: 500;
    margin-left: auto;
    width: 245px;
    font-size: 18px;
    line-height: 1.27;
    padding-right: 25px;
    margin-bottom: 50px; }
  .pointList {
    padding: 0 30px;
    max-width: 600px;
    margin: 0 auto 45px; }
    .pointList div {
      position: relative;
      width: 92%;
      padding-left: 23px; }
      .pointList div::before {
        content: "";
        background-image: url(../images/common/dot_square.png);
        background-repeat: no-repeat;
        background-size: 100%;
        display: block;
        position: absolute;
        z-index: 1;
        width: 48px;
        height: 48px;
        top: -10px;
        left: 6px; }
      .pointList div:nth-of-type(even) {
        margin-left: auto; }
      .pointList div:not(:last-of-type) {
        margin-bottom: 50px; }
      .pointList div dt {
        position: relative;
        z-index: 10;
        font-weight: 500;
        font-size: 14px;
        letter-spacing: 0.03rem;
        margin-bottom: 10px; }
      .pointList div dd {
        position: relative;
        z-index: 10;
        font-size: 12px;
        line-height: 1.5; }
  .number1 {
    position: relative; }
    .number1::after {
      content: "";
      background-image: url(../images/common/number1.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10;
      width: 8px;
      height: 23px;
      top: 0;
      left: 0px; }
  .number2 {
    position: relative; }
    .number2::after {
      content: "";
      background-image: url(../images/common/number2.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10;
      width: 15px;
      height: 23px;
      top: 0px;
      left: 0px; }
  .number3 {
    position: relative; }
    .number3::after {
      content: "";
      background-image: url(../images/common/number3.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10;
      width: 15.5px;
      height: 23px;
      top: 0;
      left: 0; }
  .number4 {
    position: relative; }
    .number4::after {
      content: "";
      background-image: url(../images/common/number4.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10;
      width: 18px;
      height: 23px;
      top: 0;
      left: 0; }
  .number5 {
    position: relative; }
    .number5::after {
      content: "";
      background-image: url(../images/common/number5.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10;
      width: 15px;
      height: 23.5px;
      top: 0;
      left: 0; }
  .nameOrigin {
    padding: 0 15px; }
    .nameOrigin .inner {
      position: relative;
      border: 1px solid #494949;
      padding: 30px 20px; }
      .nameOrigin .inner::before {
        content: "";
        display: block;
        background-color: #494949;
        width: 1px;
        position: absolute;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
        height: 47px;
        top: -13px;
        left: 9px; }
      .nameOrigin .inner::after {
        content: "";
        display: block;
        background-color: #494949;
        width: 1px;
        position: absolute;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
        height: 47px;
        bottom: -13px;
        right: 9px; }
  .originTitle {
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.05rem;
    font-size: 14px;
    margin-bottom: 25px; }
  .originTxt {
    line-height: 1.84; }
  .overview {
    background-color: #f6f6f6;
    padding: 70px 0 92px; }
  .overviewWrap {
    margin-bottom: 40px; }
    .overviewWrap .overviewImg {
      width: 289px;
      margin: 0 auto 30px; }
    .overviewWrap .detail {
      max-width: 289px;
      margin: 0 auto; }
      .overviewWrap .detail h2.title {
        margin-bottom: 15px; }
      .overviewWrap .detail .detailTxt {
        line-height: 2.1; }
        .overviewWrap .detail .detailTxt span {
          display: inline-block;
          width: 25px;
          margin-right: 30px; }
  .parallax02 {
    height: 240px;
    background-image: url(../images/common/bg_photo02_sp.jpg);
    background-repeat: no-repeat;
    background-size: cover; }
  .greeting {
    position: relative;
    background-color: #fff;
    text-align: center;
    width: 92%;
    margin: -81px auto 40px; }
    .greeting .greetingInner {
      padding: 28px 10px 35px; }
      .greeting .greetingInner .hat {
        width: 47px;
        margin: 0 auto 12px; }
      .greeting .greetingInner .greetingTitle {
        font-weight: 500;
        letter-spacing: 0.03rem;
        font-size: 17px;
        margin-bottom: 45px; }
      .greeting .greetingInner .greetingTxt {
        letter-spacing: -0.08rem;
        line-height: 1.84;
        margin-bottom: 40px; }
      .greeting .greetingInner .sign .signName {
        letter-spacing: 0.03rem;
        font-size: 11px;
        margin-bottom: 19px; }
      .greeting .greetingInner .sign .signImg {
        width: 129px;
        margin: 0 auto; }
  .daihyo {
    padding: 0 15px;
    max-width: 600px;
    margin: 0 auto; }
    .daihyo .daihyoInner {
      display: flex;
      justify-content: space-between; }
      .daihyo .daihyoInner .daihyoWrap {
        width: 35.6%; }
        .daihyo .daihyoInner .daihyoWrap .daihyoImg {
          margin-bottom: 12px; }
        .daihyo .daihyoInner .daihyoWrap .nameJp {
          font-weight: 700;
          letter-spacing: 0.03rem;
          display: block;
          font-size: 12px;
          margin-bottom: 11px; }
        .daihyo .daihyoInner .daihyoWrap .nameEn {
          font-family: 'Raleway', sans-serif;
          letter-spacing: 0.03rem;
          display: block;
          font-size: 10.5px; }
        .daihyo .daihyoInner .daihyoWrap .daihyoTxt {
          font-size: 10.5px;
          line-height: 1.8;
          letter-spacing: -0.07rem;
          margin-top: 14px; }
      .daihyo .daihyoInner .historyWrap {
        width: 59.7%; }
        .daihyo .daihyoInner .historyWrap .historyTxt {
          font-size: 11px;
          line-height: 1.72;
          letter-spacing: -0.03rem;
          margin-bottom: 25px; }
  .historyTitle {
    font-weight: 700;
    font-size: 11px;
    margin-bottom: 12px; }
  .worksWrap {
    max-width: 600px;
    margin: 0 auto; }
    .worksWrap .historyTitle {
      padding-left: 8.5px;
      max-width: 345px;
      margin-left: auto; }
  .worksSlider {
    position: relative;
    width: 100%;
    max-width: 345px;
    margin-left: auto; }
    .worksSlider .slider-img {
      padding: 0 8.5px; }
    .worksSlider .prev {
      position: absolute;
      width: 27px;
      bottom: -12%;
      right: 58.5px; }
    .worksSlider .next {
      position: absolute;
      width: 27px;
      bottom: -12%;
      right: 15px; }
    .worksSlider .slick-track {
      height: 135px; }
    .worksSlider .slick-track img {
      height: 100%; }
  #worksModal {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 999;
    display: none; }
  #worksModal #worksModInner {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center; }
  #worksModal #worksModInner #worksModImg {
    max-width: 80%;
    max-height: 90%;
    position: relative; }
  #worksModal #worksModInner #worksModImg #worksModClose {
    display: block;
    position: absolute;
    height: 40px;
    right: 0px;
    cursor: pointer;
    width: 30px;
    top: -40px; }
  #worksModal #worksModInner #worksModImg #worksModClose:before,
  #worksModal #worksModInner #worksModImg #worksModClose:after {
    content: "";
    display: block;
    height: 1px;
    background-color: #494949;
    position: absolute;
    top: 20px;
    left: 0;
    width: 30px; }
  #worksModal #worksModInner #worksModImg #worksModClose:before {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg); }
  #worksModal #worksModInner #worksModImg #worksModClose:after {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg); }
  #worksModal #worksModInner #worksModImg img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto; }
  #worksModal.isShow {
    display: block; }
  .faq {
    padding: 0 15px;
    margin: 81px 0 70px; }
    .faq .txtWrap {
      padding-left: 25px; }
      .faq .txtWrap::before {
        left: 0; }
  .faqList {
    margin-bottom: 70px; }
    .faqList div {
      position: relative; }
      .faqList div::before {
        content: "";
        display: block;
        background-image: url(../images/common/question.png);
        background-repeat: no-repeat;
        background-size: 100%;
        position: absolute;
        top: 0;
        left: 0;
        width: 19px;
        height: 15px; }
      .faqList div:not(:last-of-type) {
        margin-bottom: 40px; }
    .faqList .question {
      font-weight: 500;
      border-bottom: solid 1px #d9d9d9;
      position: relative;
      font-size: 14px;
      letter-spacing: 0.03rem;
      padding: 0 0 17px 29px; }
      .faqList .question::after {
        content: "";
        display: block;
        background-image: url(../images/common/plus.svg);
        background-repeat: no-repeat;
        background-size: 100%;
        position: absolute;
        top: 0;
        right: 0;
        transition: 0.3s;
        opacity: 1;
        width: 17px;
        height: 19px; }
      .faqList .question::before {
        content: "";
        display: block;
        background-image: url(../images/common/minus.svg);
        background-repeat: no-repeat;
        background-size: 100%;
        position: absolute;
        top: 0;
        right: 0;
        transition: 0.3s;
        opacity: 0;
        width: 17px;
        height: 19px; }
    .faqList .question.open::after {
      opacity: 0; }
    .faqList .question.open::before {
      opacity: 1; }
    .faqList .answer {
      display: none;
      padding-top: 17px;
      line-height: 1.84; }
  .privacy {
    position: relative;
    border: solid 1px #494949;
    padding: 28px 17.5px; }
    .privacy::before {
      content: "";
      display: block;
      background-color: #494949;
      width: 1px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      height: 47px;
      top: -13px;
      left: 9px; }
    .privacy::after {
      content: "";
      display: block;
      background-color: #494949;
      width: 1px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      height: 47px;
      bottom: -13px;
      right: 9px; }
    .privacy .privacyBox {
      overflow-y: scroll;
      height: 177px;
      padding: 0 13px; }
    .privacy .privacyTitle {
      text-align: center;
      letter-spacing: 0.05rem;
      font-size: 14px;
      margin-bottom: 5px; }
    .privacy .privacyTxt {
      line-height: 1.84; }
  .privacyBox::-webkit-scrollbar {
    width: 3.5px; }
  .privacyBox::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  .privacyBox::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  .contact {
    padding-top: 100px;
    margin-top: -100px;
    text-align: center;
    margin: 0 auto; }
  .contactTitle {
    margin: 0 auto;
    width: 116px; }
  #splash {
    width: 100%;
    height: 100dvh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    overflow: hidden; }
    #splash #splashInner {
      width: 100%;
      height: 100dvh;
      background-color: #fff;
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center; }
      #splash #splashInner .splBg {
        aspect-ratio: 1 / 1;
        min-width: 100%;
        min-height: 100%;
        background-image: url(../images/splash/bg.webp);
        background-size: cover;
        background-position: 50%;
        position: absolute;
        z-index: 1;
        opacity: 0;
        transition: all 0.5s; }
      #splash #splashInner #splLogo {
        width: 90%;
        aspect-ratio: 508 / 275;
        position: relative;
        z-index: 5;
        margin: 0 auto;
        text-align: center; }
        #splash #splashInner #splLogo .logo1 {
          width: 100%;
          aspect-ratio: 508 / 275;
          position: absolute;
          top: 0;
          left: 0;
          transition: all 1s; }
        #splash #splashInner #splLogo img {
          width: 100%;
          height: auto;
          position: absolute;
          top: 0;
          left: 0;
          transition: all 1s; }
          #splash #splashInner #splLogo img.logo1 {
            z-index: 1; }
          #splash #splashInner #splLogo img.logo2 {
            opacity: 0;
            z-index: 2; }
          #splash #splashInner #splLogo img.logo3 {
            opacity: 0;
            z-index: 3; }
      #splash #splashInner #shutter {
        position: absolute;
        height: 100dvw;
        aspect-ratio: 1 / 1;
        top: 50%;
        left: 50%;
        -webkit-transform: translateX(-50%) translateY(-50%);
                transform: translateX(-50%) translateY(-50%);
        opacity: 0;
        z-index: 10; }
      #splash #splashInner.dev1 #splLogo .logo1 {
        opacity: 0; }
      #splash #splashInner.dev1 #splLogo img.logo1 {
        opacity: 0; }
      #splash #splashInner.dev1 #splLogo img.logo2 {
        opacity: 1; }
      #splash #splashInner.dev2 .splBg {
        opacity: 1; }
      #splash #splashInner.dev2 #splLogo .logo1 {
        opacity: 0; }
      #splash #splashInner.dev2 #splLogo img.logo1, #splash #splashInner.dev2 #splLogo img.logo2 {
        opacity: 0; }
      #splash #splashInner.dev2 #splLogo img.logo3 {
        opacity: 1; }
      #splash #splashInner.dev3 .splBg {
        transition: all 0.4s;
        opacity: 0;
        border-radius: 50%;
        -webkit-transform: scale(0);
                transform: scale(0); }
      #splash #splashInner.dev3 #splLogo .logo1 {
        opacity: 0; }
      #splash #splashInner.dev3 #splLogo img.logo1, #splash #splashInner.dev3 #splLogo img.logo2 {
        opacity: 0; }
      #splash #splashInner.dev3 #splLogo img.logo3 {
        opacity: 1; }
      #splash #splashInner.dev3 #shutter {
        opacity: 1; }
  .concept {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .concept.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .family {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .family.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .business {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .business.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .engagement {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .engagement.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .commercialWrap {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .commercialWrap.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .otherWrap {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .otherWrap.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .photoGallery {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .photoGallery.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .about {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .about.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .vision {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .vision.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .pointTitle {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .pointTitle.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .pointList {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .pointList.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .nameOrigin {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .nameOrigin.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .overviewWrap {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .overviewWrap.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .greeting {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .greeting.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .daihyo {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .daihyo.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .faqTitle {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .faqTitle.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .faqList {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .faqList.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .privacy {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .privacy.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  /* Slider */
  /* ココから下には記入禁止 */
  .forPC {
    display: none !important; } }

@media print, screen and (min-width: 769px) {
  body {
    font-size: 15px; }
  a:hover {
    color: #fbca25; }
  a[href^="tel:"] {
    pointer-events: none; }
  .ib {
    display: inline-block !important; }
  .bold {
    font-weight: 700; }
  .txtWrap {
    position: relative; }
    .txtWrap:before {
      content: "";
      background-image: url(../images/common/dot_square.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 1;
      width: 70px;
      height: 70px;
      top: -8px;
      left: -50px; }
  .subTitle {
    font-family: 'Montserrat', sans-serif;
    position: relative;
    z-index: 10;
    font-size: 16px;
    margin-bottom: 13px; }
  h2.title {
    position: relative;
    font-weight: 500;
    z-index: 10;
    font-size: 24px;
    margin-bottom: 40px; }
  .explain {
    line-height: 2.13; }
  #globalHeader .headInner {
    background-color: #fff; }
  .headerMenu .ghNav .ghNavList {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.05rem; }
  #globalFooter {
    position: relative;
    text-align: center;
    padding: 60px 0 48px; }
    #globalFooter small {
      font-family: 'Raleway', sans-serif;
      font-size: 12px; }
  #pageTop {
    position: absolute;
    width: 48px;
    right: 50px;
    bottom: 35px;
    cursor: pointer;
    transition: 0.3s; }
    #pageTop:hover {
      opacity: 0.5; }
  .fv .fvSwiper {
    overflow: hidden; }
  @-webkit-keyframes zoomUp {
    0% {
      -webkit-transform: scale(1);
              transform: scale(1); }
    100% {
      -webkit-transform: scale(1.07);
              transform: scale(1.07); } }
  @keyframes zoomUp {
    0% {
      -webkit-transform: scale(1);
              transform: scale(1); }
    100% {
      -webkit-transform: scale(1.07);
              transform: scale(1.07); } }
  .fv .swiper-slide-active .swiper-img,
  .fv .swiper-slide-duplicate-active .swiper-img,
  .fv .swiper-slide-prev .swiper-img {
    -webkit-animation: zoomUp 7s linear 0s normal both;
            animation: zoomUp 7s linear 0s normal both; }
  .fv .swiper-slide img {
    overflow: hidden;
    height: auto;
    width: 100%; }
  .fvWrap {
    display: flex;
    justify-content: center;
    align-items: center; }
    .fvWrap .inner .fvMenu {
      text-align: center; }
      .fvWrap .inner .fvMenu li {
        font-family: 'Montserrat', sans-serif;
        font-weight: 400; }
  .contactBtn {
    display: block;
    position: fixed;
    z-index: 99;
    transition: 0.3s;
    width: 130px;
    bottom: 25px;
    right: 30px; }
    .contactBtn:hover {
      opacity: 0.7; }
  .hidden {
    visibility: hidden;
    opacity: 0; }
  .concept {
    padding-top: 100px;
    margin-top: -100px;
    max-width: 1600px;
    margin: 0 auto 345px; }
    .concept .inner {
      position: relative;
      display: flex;
      justify-content: space-between;
      padding-right: 12.5%; }
      .concept .inner::before {
        content: "";
        display: block;
        background-color: #f6f6f6;
        position: absolute;
        z-index: 1;
        right: 0;
        width: 943px;
        height: 628px;
        top: 60px; }
      .concept .inner::after {
        content: "";
        background-image: url(../images/common/concept_line.png);
        background-repeat: no-repeat;
        background-size: 100%;
        display: block;
        position: absolute;
        z-index: 10;
        right: 0;
        width: 47%;
        height: 100px;
        top: 20px; }
  .conceptImg {
    position: relative;
    z-index: 10;
    width: 54.3%;
    margin-right: 20px; }
  .conceptLine {
    display: none; }
  .conceptTxt {
    padding-top: 175px; }
    .conceptTxt .title {
      position: relative;
      z-index: 10;
      font-size: 20px;
      margin-bottom: 25px; }
    .conceptTxt .txt {
      position: relative;
      z-index: 10;
      line-height: 2.53;
      margin-bottom: 25px; }
  .slideWrap {
    position: relative;
    z-index: 10; }
  .slide {
    padding: 0 50px; }
  #slide1 {
    margin-bottom: 80px; }
  #slide2 {
    margin-bottom: 80px; }
  #slide3 {
    margin-bottom: 80px; }
  .slick-track {
    display: flex;
    align-items: center; }
  .btnWrap {
    display: flex;
    justify-content: space-between; }
  .galleryBtn {
    position: relative;
    font-family: 'Montserrat', sans-serif;
    background-color: #fff;
    outline: 1px solid #d9d9d9;
    outline-offset: -1px;
    letter-spacing: 0.03rem;
    width: 48.3%;
    padding: 23px;
    cursor: pointer;
    transition: 0.3s; }
    .galleryBtn::after {
      content: "";
      display: block;
      background-image: url(../images/common/arrow_grey.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 24px;
      height: 19px;
      right: 19px;
      transition: 0.3s; }
    .galleryBtn:hover::after {
      background-image: url(../images/common/arrow_wht.svg); }
    .galleryBtn:hover {
      background-color: #fbca25;
      color: #fff;
      outline: none; }
    .galleryBtn .cate {
      display: inline-block;
      font-weight: 500;
      font-size: 12px;
      margin-left: 15px; }
    .galleryBtn .btnName {
      display: inline-block;
      margin-left: 14px; }
  .planBtn {
    position: relative;
    background-color: #494949;
    color: #fff;
    text-align: center;
    width: 48.3%;
    padding: 23px;
    letter-spacing: 0.03rem;
    cursor: pointer;
    transition: 0.3s; }
    .planBtn::after {
      content: "";
      display: block;
      background-image: url(../images/common/plus_wht.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 17px;
      height: 19px;
      transition: 0.3s;
      right: 22px;
      opacity: 1; }
    .planBtn::before {
      content: "";
      display: block;
      background-image: url(../images/common/minus_wht.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 17px;
      height: 19px;
      transition: 0.3s;
      right: 22px;
      opacity: 0; }
    .planBtn:hover {
      background-color: #808080; }
  .planBtn.open::after {
    opacity: 0; }
  .planBtn.open::before {
    opacity: 1; }
  .contactLink {
    display: block;
    position: relative;
    font-weight: 500;
    background-color: #fff;
    outline: 1px solid #d9d9d9;
    outline-offset: -1px;
    letter-spacing: 0.03rem;
    width: 48.3%;
    padding: 23px;
    cursor: pointer;
    transition: 0.3s;
    margin-left: auto; }
    .contactLink::after {
      content: "";
      display: block;
      background-image: url(../images/common/arrow_grey.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 24px;
      height: 19px;
      right: 19px;
      transition: 0.3s; }
    .contactLink:hover::after {
      background-image: url(../images/common/arrow_wht.svg); }
    .contactLink:hover {
      background-color: #fbca25;
      color: #fff;
      outline: none; }
    .contactLink .cate {
      display: inline-block;
      font-weight: 500;
      font-size: 12px;
      margin-left: 15px; }
    .contactLink .btnName {
      display: inline-block;
      margin-left: 14px; }
  .family {
    position: relative;
    padding-top: 100px;
    margin-top: -100px;
    margin-bottom: 252px; }
    .family::before {
      content: "";
      display: block;
      background-image: url(../images/common/family_photo_bg.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      z-index: 1;
      width: 707px;
      height: 155px;
      top: 25px; }
    .family::after {
      content: "";
      display: block;
      background-image: url(../images/common/dot_square_big.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0;
      z-index: 1;
      width: 170px;
      height: 170px;
      top: -65px; }
    .family .txtWrap:before {
      width: 96px;
      height: 96px;
      top: -18px;
      left: -72px; }
  .planDetail {
    max-width: 640px;
    margin: 0 auto; }
    .planDetail .inner {
      padding: 0 20px; }
    .planDetail .txtWrap {
      margin-bottom: 35px; }
  .plan {
    display: none;
    max-width: 1000px;
    margin: 0 auto;
    padding: 28px 20px 0; }
    .plan .planInner {
      background-color: #fff;
      position: relative;
      border: solid 1px #494949;
      padding: 60px 80px; }
      .plan .planInner::before {
        content: "";
        display: block;
        background-color: #494949;
        width: 1px;
        position: absolute;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
        height: 73px;
        top: -20px;
        left: 13px; }
      .plan .planInner::after {
        content: "";
        display: block;
        background-color: #494949;
        width: 1px;
        position: absolute;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
        height: 73px;
        bottom: -20px;
        right: 13px; }
  .planList .listCont {
    margin-bottom: 60px; }
  .planList dt {
    position: relative;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0.03rem;
    padding-left: 25px; }
    .planList dt::after {
      content: "";
      display: block;
      background-image: url(../images/common/icon_orange.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      width: 15px;
      height: 17px;
      top: 13px; }
  .planList .planName {
    font-weight: 700;
    font-size: 20px; }
  .planList .planPrice {
    font-size: 26px; }
  .planList .planSub {
    font-size: 14px;
    line-height: 1.64;
    margin-top: 33px;
    padding-left: 25px; }
  .planList .planPoint {
    display: flex;
    align-items: center;
    margin-top: 33px; }
    .planList .planPoint li {
      text-align: center;
      width: calc(100% * 1 / 3); }
    .planList .planPoint .planImg {
      width: 70px;
      margin: 0 auto 15px; }
    .planList .planPoint .planTxt {
      font-weight: 500;
      font-size: 20px; }
    .planList .planPoint .supplement {
      font-size: 14px;
      line-height: 1.43;
      padding: 0 10px;
      margin-top: 10px; }
  .planImg.data,
  .planImg.retouch {
    width: 85px;
    padding-top: 10px; }
  .planImg.album {
    padding-top: 10px; }
  .option {
    background-color: #f6f6f6;
    font-weight: 700;
    padding: 27px 30px; }
    .option dt {
      position: relative;
      font-size: 20px;
      padding-left: 27px;
      margin-bottom: 20px; }
      .option dt span {
        font-size: .8em; }
      .option dt::after {
        content: "";
        display: block;
        background-image: url(../images/common/icon_orange.svg);
        background-repeat: no-repeat;
        background-size: 100%;
        position: absolute;
        left: 0;
        width: 15px;
        height: 17px;
        top: 2px; }
    .option dd {
      line-height: 1.86; }
      .option dd .thin {
        font-weight: 400; }
  /*モーダルを開くボタン*/
  .sampleModalOpen, .sampleModalOpen2 {
    cursor: pointer;
    transition: 0.3s;
    text-decoration: underline;
    color: #438ea4; }
    .sampleModalOpen:hover, .sampleModalOpen2:hover {
      opacity: 0.7; }
  /*ハンガー用モーダルを開くボタン*/
  .hanger-sampleModalOpen {
    cursor: pointer;
    transition: 0.3s;
    text-decoration: underline;
    color: #438ea4; }
    .hanger-sampleModalOpen:hover {
      opacity: 0.7; }
  /*モーダル本体の指定 + モーダル外側の背景の指定*/
  .sampleModal, .sampleModal2 {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(255, 255, 255, 0.8);
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    box-sizing: border-box;
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center; }
  /*ハンガー用モーダル本体の指定 + モーダル外側の背景の指定*/
  .hanger-sampleModal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(255, 255, 255, 0.8);
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    box-sizing: border-box;
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center; }
  /*モーダル本体の擬似要素の指定*/
  .sampleModal:before, .sampleModal2:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%; }
  /*ハンガー用モーダル本体の擬似要素の指定*/
  .hanger-sampleModal::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%; }
  /*モーダル本体に「active」クラス付与した時のスタイル*/
  .sampleModal.active, .sampleModal2.active {
    opacity: 1;
    visibility: visible; }
  /*ハンガー用モーダル本体に「active」クラス付与した時のスタイル*/
  .hanger-sampleModal.active {
    opacity: 1;
    visibility: visible; }
  /*モーダル枠の指定*/
  .sampleModalBody {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 720px;
    width: 100%;
    padding: 0 20px; }
  /*ハンガー用モーダル枠の指定*/
  .hanger-sampleModalBody {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 720px;
    width: 100%;
    padding: 0 20px; }
  /*モーダルを閉じるボタンの指定*/
  .sampleModalClose, .sampleModalClose2 {
    position: absolute;
    cursor: pointer;
    height: 36px;
    right: 20px;
    width: 50px;
    top: -50px; }
    .sampleModalClose::before, .sampleModalClose::after, .sampleModalClose2::before, .sampleModalClose2::after {
      content: "";
      display: block;
      height: 1px;
      background-color: #494949;
      position: absolute;
      top: 20px;
      right: 0;
      width: 50px; }
    .sampleModalClose::before, .sampleModalClose2::before {
      -webkit-transform: rotate(30deg);
              transform: rotate(30deg); }
    .sampleModalClose::after, .sampleModalClose2::after {
      -webkit-transform: rotate(-30deg);
              transform: rotate(-30deg); }
  /*ハンガー用モーダルを閉じるボタンの指定*/
  .hanger-sampleModalClose {
    position: absolute;
    cursor: pointer;
    height: 36px;
    right: 20px;
    width: 50px;
    top: -50px; }
    .hanger-sampleModalClose::before, .hanger-sampleModalClose::after {
      content: "";
      display: block;
      height: 1px;
      background-color: #494949;
      position: absolute;
      top: 20px;
      right: 0;
      width: 50px; }
    .hanger-sampleModalClose::before {
      -webkit-transform: rotate(30deg);
              transform: rotate(30deg); }
    .hanger-sampleModalClose::after {
      -webkit-transform: rotate(-30deg);
              transform: rotate(-30deg); }
  /*モーダル内のコンテンツの指定*/
  .sampleModalCont {
    border: solid 1px #494949;
    background: #fff;
    text-align: left;
    height: 600px;
    padding: 50px 49px; }
    .sampleModalCont .contInner {
      overflow-y: scroll;
      height: 500px;
      padding: 0 15px; }
  /*ハンガー用モーダル内のコンテンツの指定*/
  .hanger-sampleModalCont {
    border: solid 1px #494949;
    background: #fff;
    text-align: left;
    height: 600px;
    padding: 50px 49px; }
    .hanger-sampleModalCont .contInner {
      overflow-y: scroll;
      height: 500px;
      padding: 0 15px;
      display: flex;
      justify-content: center; }
  /*モーダルの中身*/
  .sampleImg {
    margin-bottom: 30px; }
  .hanger-sampleImg {
    margin-bottom: 30px;
    max-width: 440px; }
    .hanger-sampleImg img {
      -o-object-fit: contain;
         object-fit: contain;
      width: 100%;
      aspect-ratio: 490 / 580;
      max-height: 500px; }
  .sampleTitle {
    position: relative;
    font-weight: 700;
    font-size: 20px;
    letter-spacing: 0.05rem;
    padding-left: 25px;
    margin-bottom: 25px; }
    .sampleTitle::after {
      content: "";
      display: block;
      background-image: url(../images/common/icon_orange.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      width: 15px;
      height: 17px;
      top: 2px; }
  .sampleTxt {
    line-height: 2;
    padding-bottom: 1em; }
  .contInner::-webkit-scrollbar {
    width: 7px; }
  .contInner::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  .contInner::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  .hanger-contInner {
    display: flex;
    justify-content: center;
    align-items: center; }
  .hanger-contInner::-webkit-scrollbar {
    width: 7px; }
  .hanger-0contInner::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  .hanger-contInner::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  .businessBg {
    position: relative; }
    .businessBg::after {
      content: "";
      display: block;
      background-color: #f6f6f6;
      position: absolute;
      left: 0;
      z-index: -1;
      width: 88.3%;
      height: 1170px;
      top: -120px; }
  .business {
    position: relative;
    margin-bottom: 385px; }
    .business::before {
      content: "";
      display: block;
      background-image: url(../images/common/business_Portrait_bg.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      z-index: 1;
      width: 983px;
      height: 124px;
      top: -72px;
      right: 0; }
    .business::after {
      content: "";
      display: block;
      background-image: url(../images/common/dot_square_big.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      z-index: 1;
      width: 170px;
      height: 170px;
      top: -157px; }
    .business .txtWrap:before {
      width: 96px;
      height: 96px;
      top: -18px;
      left: -72px; }
  .engagement {
    position: relative;
    margin-bottom: 245px; }
    .engagement::before {
      content: "";
      display: block;
      background-image: url(../images/common/engagement_photo_bg.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      z-index: 1;
      width: 940px;
      height: 168px;
      top: -65px; }
    .engagement::after {
      content: "";
      display: block;
      background-image: url(../images/common/dot_square_big.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0;
      z-index: 1;
      width: 170px;
      height: 170px;
      top: -165px; }
    .engagement .txtWrap:before {
      width: 96px;
      height: 96px;
      top: -18px;
      left: -72px; }
  .setBg {
    position: relative;
    margin-bottom: 260px; }
    .setBg::after {
      content: "";
      display: block;
      background-color: #f6f6f6;
      position: absolute;
      top: 0;
      right: 0;
      z-index: -1;
      width: 91%;
      height: 1326px; }
  .commercialWrap {
    position: relative;
    max-width: 1600px;
    margin: 0 auto; }
    .commercialWrap::before {
      content: "";
      display: block;
      background-image: url(../images/common/commercial_02.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      width: 45.75%;
      height: 636px;
      top: -90px; }
    .commercialWrap::after {
      content: "";
      display: block;
      background-image: url(../images/common/commercial_01.jpg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0;
      width: 425px;
      height: 311px;
      top: -220px; }
  .commercial {
    max-width: 1120px;
    margin: 0 auto 195px;
    padding: 0 20px; }
    .commercial .inner {
      padding-top: 195px; }
    .commercial .simpleWrap {
      width: 50%;
      margin-left: auto;
      margin-bottom: 110px; }
    .commercial .simpleImg {
      width: 480px;
      margin-bottom: 33px; }
    .commercial .btnWrap {
      max-width: 600px;
      margin: 0 auto; }
  .otherWrap {
    position: relative;
    max-width: 1600px;
    margin: 0 auto; }
    .otherWrap::before {
      content: "";
      display: block;
      background-image: url(../images/common/other_02.jpg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      width: 346px;
      height: 251px;
      bottom: -227px; }
    .otherWrap::after {
      content: "";
      display: block;
      background-image: url(../images/common/other_01.jpg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0;
      width: 633px;
      height: 431px;
      bottom: 55px; }
  .other {
    max-width: 1120px;
    margin: 0 auto 468px;
    padding: 0 20px; }
    .other .simpleWrap {
      width: 50%; }
    .other .simpleImg {
      width: 187px;
      margin-bottom: 31px; }
    .other .simpleTxt {
      margin-bottom: 35px; }
    .other .btnWrap {
      max-width: 600px;
      margin: 0 auto; }
  .simpleTitle {
    display: inline-block;
    font-weight: 500;
    font-size: 24px;
    letter-spacing: 0.05rem; }
  .irregular {
    font-family: 'Montserrat', sans-serif;
    display: inline-block;
    vertical-align: middle;
    height: 24px;
    font-size: 14px;
    letter-spacing: 0.03rem; }
  .simpleTxt {
    z-index: 10;
    position: relative;
    margin-top: 35px;
    line-height: 2.13; }
  .photoGallery {
    position: relative;
    padding-top: 100px;
    margin-top: -100px;
    margin-bottom: 115px; }
    .photoGallery::before {
      content: "";
      display: block;
      background-image: url(../images/common/gallery.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      width: 418px;
      height: 156px;
      top: -40px; }
  #photos {
    max-width: 1000px;
    padding: 0 20px;
    margin: 0 auto; }
  #selector {
    display: flex;
    justify-content: center;
    margin-bottom: 50px; }
  #selector li {
    position: relative;
    font-family: 'Montserrat', sans-serif;
    display: block;
    font-size: 18px;
    letter-spacing: 0.05rem; }
  #selector li + li {
    margin-left: 55px; }
  #selector li label {
    display: block;
    width: 100%;
    position: relative;
    cursor: pointer; }
  #selector li label input {
    display: none; }
  #selector li label:after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    -webkit-transform: rotate(45deg) scale(0);
            transform: rotate(45deg) scale(0);
    position: absolute;
    left: calc(50% - 4px);
    bottom: -14px;
    transition: all 0.3s; }
  #selector li label.checked {
    font-weight: 700; }
  #selector li label.checked:after {
    -webkit-transform: rotate(45deg) scale(1);
            transform: rotate(45deg) scale(1); }
  #gallery {
    height: 575px;
    overflow-y: scroll;
    margin-bottom: 25px; }
  #gallery::-webkit-scrollbar {
    width: 7px; }
  #gallery::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  #gallery::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  #gallery .p {
    display: flex;
    transition: all 0.5s;
    -webkit-transform-origin: center top;
            transform-origin: center top;
    overflow: hidden;
    flex-wrap: wrap;
    width: 100%;
    gap: 15px;
    margin-bottom: 15px; }
  #gallery .p .galleryImg {
    -o-object-fit: cover;
       object-fit: cover;
    overflow: hidden;
    width: calc((100% / 5) - 15px);
    height: 180px; }
  #gallery .p .galleryImg img {
    cursor: pointer; }
  .photoAttn {
    text-align: center; }
  #modal {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 999;
    display: none; }
  #modal #modInner {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center; }
  #modal #modInner #modImg {
    max-width: 80%;
    max-height: 90%;
    position: relative; }
  #modal #modInner #modImg #modClose {
    display: block;
    position: absolute;
    height: 40px;
    right: 0px;
    cursor: pointer;
    width: 50px;
    top: -50px; }
  #modal #modInner #modImg #modClose:before,
  #modal #modInner #modImg #modClose:after {
    content: "";
    display: block;
    height: 1px;
    background-color: #494949;
    position: absolute;
    top: 20px;
    left: 0;
    width: 50px; }
  #modal #modInner #modImg #modClose:before {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg); }
  #modal #modInner #modImg #modClose:after {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg); }
  #modal #modInner #modImg img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto; }
  #modal.isShow {
    display: block; }
  .about {
    position: relative;
    padding-top: 100px;
    margin-top: -100px;
    margin-bottom: 100px; }
    .about::before {
      content: "";
      display: block;
      background-color: #f6f6f6;
      width: 100%;
      position: absolute;
      left: 0;
      z-index: 1;
      height: 405px;
      top: 57%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
    .about .inner {
      position: relative;
      z-index: 10;
      max-width: 1300px;
      margin: 0 auto;
      padding: 0 20px;
      display: flex;
      justify-content: space-between;
      align-items: center; }
    .about .txtWrap {
      width: 50%;
      padding-right: 7.2%; }
  .aboutImg {
    width: 43.3%;
    margin-right: 20px; }
  .vision .inner {
    position: relative;
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 20px 0 110px;
    display: flex;
    justify-content: space-between;
    z-index: 10; }
  .vision .txtWrap {
    width: 47.9%;
    margin-top: 35px; }
  .vision .explain {
    background-color: #fff; }
  .visionImg {
    width: 40.6%; }
  .parallax01 {
    background-image: url(../images/common/bg_photo01.jpg);
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: auto 100%;
    background-position: center top;
    height: 405px;
    margin: 120px 0; }
  .point {
    max-width: 1120px;
    margin: 0 auto 130px;
    padding: 0 20px; }
  h2.pointTitle {
    font-weight: 500;
    margin-left: auto;
    width: 50%;
    font-size: 24px;
    line-height: 1.75;
    margin-bottom: 64px; }
  .pointList {
    margin-bottom: 110px; }
    .pointList div {
      position: relative;
      width: 50%;
      padding-left: 40px; }
      .pointList div::before {
        content: "";
        background-image: url(../images/common/dot_square.png);
        background-repeat: no-repeat;
        background-size: 100%;
        display: block;
        position: absolute;
        z-index: 1;
        width: 70px;
        height: 70px;
        top: -25px;
        left: 15px; }
      .pointList div:nth-of-type(even) {
        margin-left: auto; }
      .pointList div:not(:last-of-type) {
        margin-bottom: 43px; }
      .pointList div dt {
        position: relative;
        z-index: 10;
        font-weight: 500;
        font-size: 21px;
        margin-bottom: 19px; }
      .pointList div dd {
        position: relative;
        z-index: 10; }
  .number1 {
    position: relative; }
    .number1::after {
      content: "";
      background-image: url(../images/common/number1.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10;
      width: 17px;
      height: 37px;
      top: 0;
      left: 2px; }
  .number2 {
    position: relative; }
    .number2::after {
      content: "";
      background-image: url(../images/common/number2.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10;
      width: 26px;
      height: 37px;
      top: 3px;
      left: 2px; }
  .number3 {
    position: relative; }
    .number3::after {
      content: "";
      background-image: url(../images/common/number3.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10;
      width: 25px;
      height: 37px;
      top: 2px;
      left: 0; }
  .number4 {
    position: relative; }
    .number4::after {
      content: "";
      background-image: url(../images/common/number4.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10;
      width: 30px;
      height: 37px;
      top: 2px;
      left: 2px; }
  .number5 {
    position: relative; }
    .number5::after {
      content: "";
      background-image: url(../images/common/number5.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10;
      width: 24px;
      height: 37px;
      top: -9px;
      left: 3px; }
  .nameOrigin {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px; }
    .nameOrigin .inner {
      position: relative;
      border: 1px solid #494949;
      padding: 55px 60px 60px 68px; }
      .nameOrigin .inner::before {
        content: "";
        display: block;
        background-color: #494949;
        width: 1px;
        position: absolute;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
        height: 73px;
        top: -20px;
        left: 13px; }
      .nameOrigin .inner::after {
        content: "";
        display: block;
        background-color: #494949;
        width: 1px;
        position: absolute;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
        height: 73px;
        bottom: -20px;
        right: 13px; }
  .originTitle {
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.05rem;
    font-size: 18px;
    margin-bottom: 46px; }
  .originTxt {
    line-height: 2.13; }
  .overview {
    background-color: #f6f6f6;
    padding: 120px 0; }
  .overviewWrap {
    max-width: 1000px;
    margin: 0 auto 120px;
    padding: 0 20px;
    display: flex;
    justify-content: space-between; }
    .overviewWrap .overviewImg {
      width: 55.8%;
      margin-right: 20px; }
    .overviewWrap .detail h2.title {
      margin-bottom: 20px; }
    .overviewWrap .detail .detailTxt {
      line-height: 2.13; }
      .overviewWrap .detail .detailTxt span {
        display: inline-block;
        width: 38px;
        margin-right: 50px; }
  .parallax02 {
    height: 405px;
    background-image: url(../images/common/bg_photo02.jpg);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: center top;
    background-attachment: fixed; }
  .greeting {
    position: relative;
    background-color: #fff;
    text-align: center;
    max-width: 960px;
    margin: -90px auto 60px; }
    .greeting::after {
      content: "";
      display: block;
      background-image: url(../images/common/dot_square_big.png);
      background-repeat: no-repeat;
      background-size: 100%;
      width: 170px;
      height: 170px;
      position: absolute;
      bottom: -42px;
      right: -60px;
      z-index: 10; }
    .greeting .greetingInner {
      padding: 50px 20px; }
      .greeting .greetingInner .hat {
        width: 60px;
        margin: 0 auto 14px; }
      .greeting .greetingInner .greetingTitle {
        font-weight: 500;
        letter-spacing: 0.03rem;
        font-size: 21px;
        margin-bottom: 40px; }
      .greeting .greetingInner .greetingTxt {
        line-height: 2.13;
        margin-bottom: 20px; }
      .greeting .greetingInner .sign {
        width: 447px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin: 0 auto; }
        .greeting .greetingInner .sign .signName {
          letter-spacing: 0.03rem;
          font-size: 14px; }
        .greeting .greetingInner .sign .signImg {
          width: 176px; }
  .daihyo {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px; }
    .daihyo .daihyoInner {
      display: flex;
      justify-content: space-between; }
      .daihyo .daihyoInner .daihyoWrap {
        width: 25%; }
        .daihyo .daihyoInner .daihyoWrap .daihyoImg {
          margin-bottom: 18px; }
        .daihyo .daihyoInner .daihyoWrap .nameJp {
          font-weight: 700;
          letter-spacing: 0.03rem;
          font-size: 16px;
          margin-right: 17px; }
        .daihyo .daihyoInner .daihyoWrap .nameEn {
          font-family: 'Raleway', sans-serif;
          letter-spacing: 0.03rem;
          font-size: 13px; }
        .daihyo .daihyoInner .daihyoWrap .daihyoTxt {
          font-size: 13px;
          line-height: 2;
          letter-spacing: -0.05rem;
          margin-top: 12px; }
      .daihyo .daihyoInner .historyWrap {
        width: 68.8%; }
        .daihyo .daihyoInner .historyWrap .historyTxt {
          line-height: 2;
          margin-bottom: 35px; }
  .historyTitle {
    font-weight: 700;
    margin-bottom: 14px; }
  .worksWrap {
    width: 68.8%;
    margin-left: auto; }
  .worksSlider {
    position: relative;
    margin-left: -7.5px; }
    .worksSlider .slider-img {
      padding: 0 7.5px;
      cursor: pointer; }
    .worksSlider .prev {
      position: absolute;
      width: 27px;
      bottom: -20px;
      right: 58px;
      cursor: pointer; }
    .worksSlider .next {
      position: absolute;
      width: 27px;
      bottom: -20px;
      right: 7px;
      cursor: pointer; }
  #worksModal {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 999;
    display: none; }
  #worksModal #worksModInner {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center; }
  #worksModal #worksModInner #worksModImg {
    max-width: 80%;
    max-height: 90%;
    position: relative; }
  #worksModal #worksModInner #worksModImg #worksModClose {
    display: block;
    position: absolute;
    height: 40px;
    right: 0px;
    cursor: pointer;
    width: 50px;
    top: -50px; }
  #worksModal #worksModInner #worksModImg #worksModClose:before,
  #worksModal #worksModInner #worksModImg #worksModClose:after {
    content: "";
    display: block;
    height: 1px;
    background-color: #494949;
    position: absolute;
    top: 20px;
    left: 0;
    width: 50px; }
  #worksModal #worksModInner #worksModImg #worksModClose:before {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg); }
  #worksModal #worksModInner #worksModImg #worksModClose:after {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg); }
  #worksModal #worksModInner #worksModImg img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto; }
  #worksModal.isShow {
    display: block; }
  .faq {
    max-width: 1000px;
    margin: 100px auto;
    padding: 0 20px; }
    .faq .txtWrap {
      max-width: 850px;
      margin: 0 auto; }
  .faqList {
    max-width: 850px;
    margin: 0 auto 50px; }
    .faqList div {
      position: relative; }
      .faqList div::before {
        content: "";
        display: block;
        background-image: url(../images/common/question.png);
        background-repeat: no-repeat;
        background-size: 100%;
        position: absolute;
        top: 0;
        left: 0;
        width: 25px;
        height: 21px; }
      .faqList div:not(:last-of-type) {
        margin-bottom: 45px; }
    .faqList .question {
      font-weight: 500;
      border-bottom: solid 1px #d9d9d9;
      position: relative;
      font-size: 18px;
      letter-spacing: 0.03rem;
      padding: 0 0 21px 38px;
      cursor: pointer; }
      .faqList .question::after {
        content: "";
        display: block;
        background-image: url(../images/common/plus.svg);
        background-repeat: no-repeat;
        background-size: 100%;
        position: absolute;
        top: 0;
        right: 0;
        transition: 0.3s;
        opacity: 1;
        width: 20px;
        height: 23px; }
      .faqList .question::before {
        content: "";
        display: block;
        background-image: url(../images/common/minus.svg);
        background-repeat: no-repeat;
        background-size: 100%;
        position: absolute;
        top: 0;
        right: 0;
        transition: 0.3s;
        opacity: 0;
        width: 20px;
        height: 23px; }
    .faqList .question.open::after {
      opacity: 0; }
    .faqList .question.open::before {
      opacity: 1; }
    .faqList .answer {
      display: none;
      padding-top: 20px;
      line-height: 2.13; }
  .privacy {
    position: relative;
    border: solid 1px #494949;
    padding: 50px 24px; }
    .privacy::before {
      content: "";
      display: block;
      background-color: #494949;
      width: 1px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      height: 73px;
      top: -20px;
      left: 13px; }
    .privacy::after {
      content: "";
      display: block;
      background-color: #494949;
      width: 1px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      height: 73px;
      bottom: -20px;
      right: 13px; }
    .privacy .privacyBox {
      overflow-y: scroll;
      height: 165px;
      padding: 0 35px; }
    .privacy .privacyTitle {
      text-align: center;
      letter-spacing: 0.05rem;
      font-size: 18px;
      margin-bottom: 5px; }
    .privacy .privacyTxt {
      font-size: 13px;
      line-height: 2; }
      .privacy .privacyTxt span {
        font-size: 15px; }
  .privacyBox::-webkit-scrollbar {
    width: 7px; }
  .privacyBox::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  .privacyBox::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  .contact {
    padding-top: 100px;
    margin-top: -100px;
    text-align: center;
    max-width: 860px;
    margin: 0 auto; }
  .contactTitle {
    margin: 0 auto;
    width: 230px; }
  #splash {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    overflow: hidden; }
    #splash #splashInner {
      width: 100%;
      height: 100vh;
      background-color: #fff;
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center; }
      #splash #splashInner .splBg {
        aspect-ratio: 1 / 1;
        min-width: 100%;
        min-height: 100%;
        background-image: url(../images/splash/bg.webp);
        background-size: cover;
        background-position: 50%;
        position: absolute;
        z-index: 1;
        top: 50%;
        left: 50%;
        -webkit-transform: translateX(-50%) translateY(-50%);
                transform: translateX(-50%) translateY(-50%);
        opacity: 0;
        transition: all 1s; }
      #splash #splashInner #splLogo {
        width: 508px;
        height: 275px;
        position: relative;
        z-index: 5; }
        #splash #splashInner #splLogo .logo1 {
          width: 508px;
          height: 275px;
          position: absolute;
          top: 0;
          left: 0;
          transition: all 1s; }
        #splash #splashInner #splLogo img {
          position: absolute;
          top: 0;
          left: 0;
          transition: all 1s; }
          #splash #splashInner #splLogo img.logo1 {
            z-index: 1; }
          #splash #splashInner #splLogo img.logo2 {
            opacity: 0;
            z-index: 2; }
          #splash #splashInner #splLogo img.logo3 {
            opacity: 0;
            z-index: 3; }
      #splash #splashInner #shutter {
        position: absolute;
        width: 100%;
        aspect-ratio: 1 / 1;
        top: 50%;
        left: 50%;
        -webkit-transform: translateX(-50%) translateY(-50%);
                transform: translateX(-50%) translateY(-50%);
        opacity: 0;
        z-index: 10; }
      #splash #splashInner.dev1 #splLogo .logo1 {
        opacity: 0; }
      #splash #splashInner.dev1 #splLogo img.logo1 {
        opacity: 0; }
      #splash #splashInner.dev1 #splLogo img.logo2 {
        opacity: 1; }
      #splash #splashInner.dev2 .splBg {
        opacity: 1; }
      #splash #splashInner.dev2 #splLogo .logo1 {
        opacity: 0; }
      #splash #splashInner.dev2 #splLogo img.logo1, #splash #splashInner.dev2 #splLogo img.logo2 {
        opacity: 0; }
      #splash #splashInner.dev2 #splLogo img.logo3 {
        opacity: 1; }
      #splash #splashInner.dev3 .splBg {
        transition: all 0.4s;
        aspect-ratio: 1 / 1;
        opacity: 0;
        border-radius: 50%;
        -webkit-transform: scale(0);
                transform: scale(0); }
      #splash #splashInner.dev3 #splLogo .logo1 {
        opacity: 0; }
      #splash #splashInner.dev3 #splLogo img.logo1, #splash #splashInner.dev3 #splLogo img.logo2 {
        opacity: 0; }
      #splash #splashInner.dev3 #splLogo img.logo3 {
        opacity: 1; }
      #splash #splashInner.dev3 #shutter {
        opacity: 1; }
  .concept {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .concept.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .family {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .family.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .business {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .business.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .engagement {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .engagement.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .commercialWrap {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .commercialWrap.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .otherWrap {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .otherWrap.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .photoGallery {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .photoGallery.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .about {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .about.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .vision {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .vision.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .pointTitle {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .pointTitle.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .pointList {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .pointList.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .nameOrigin {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .nameOrigin.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .overviewWrap {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .overviewWrap.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .greeting {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .greeting.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .daihyo {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .daihyo.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .faqTitle {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .faqTitle.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .faqList {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .faqList.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .privacy {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .privacy.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  /* Slider */
  /* ココから下には記入禁止 */
  .forSP {
    display: none !important; } }

@media screen and (min-width: 769px) and (max-width: 1200px) {
  .ib {
    display: inline-block !important; }
  .bold {
    font-weight: 700; }
  .txtWrap {
    position: relative; }
    .txtWrap:before {
      content: "";
      background-image: url(../images/common/dot_square.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 1; }
  .subTitle {
    font-family: 'Montserrat', sans-serif;
    position: relative;
    z-index: 10; }
  h2.title {
    position: relative;
    font-weight: 500;
    z-index: 10; }
  #globalHeader .headInner {
    background-color: #fff; }
  .headerMenu .ghNav .ghNavList {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.05rem; }
  #globalFooter {
    position: relative;
    text-align: center; }
    #globalFooter small {
      font-family: 'Raleway', sans-serif; }
  #pageTop {
    position: absolute; }
  .fv .fvSwiper {
    overflow: hidden; }
  @-webkit-keyframes zoomUp {
    0% {
      -webkit-transform: scale(1);
              transform: scale(1); }
    100% {
      -webkit-transform: scale(1.07);
              transform: scale(1.07); } }
  @keyframes zoomUp {
    0% {
      -webkit-transform: scale(1);
              transform: scale(1); }
    100% {
      -webkit-transform: scale(1.07);
              transform: scale(1.07); } }
  .fv .swiper-slide-active .swiper-img,
  .fv .swiper-slide-duplicate-active .swiper-img,
  .fv .swiper-slide-prev .swiper-img {
    -webkit-animation: zoomUp 7s linear 0s normal both;
            animation: zoomUp 7s linear 0s normal both; }
  .fv .swiper-slide img {
    overflow: hidden;
    height: auto;
    width: 100%; }
  .fvWrap {
    display: flex;
    justify-content: center;
    align-items: center; }
    .fvWrap .inner .fvMenu {
      text-align: center; }
      .fvWrap .inner .fvMenu li {
        font-family: 'Montserrat', sans-serif;
        font-weight: 400; }
  .contactBtn {
    display: block;
    position: fixed;
    z-index: 99;
    transition: 0.3s; }
  .hidden {
    visibility: hidden;
    opacity: 0; }
  .concept .inner {
    position: relative;
    padding-right: 3.5%; }
    .concept .inner::before {
      content: "";
      display: block;
      background-color: #f6f6f6;
      position: absolute;
      z-index: 1;
      right: 0; }
    .concept .inner::after {
      width: 405px;
      top: 120px; }
  .conceptImg {
    position: relative;
    z-index: 10; }
  .conceptTxt {
    padding-top: 190px; }
    .conceptTxt .title {
      position: relative;
      z-index: 10; }
    .conceptTxt .txt {
      position: relative;
      z-index: 10; }
  .slideWrap {
    position: relative;
    z-index: 10; }
  .slick-track {
    display: flex;
    align-items: center; }
  .galleryBtn {
    position: relative;
    font-family: 'Montserrat', sans-serif;
    background-color: #fff;
    outline: 1px solid #d9d9d9;
    outline-offset: -1px;
    letter-spacing: 0.03rem; }
    .galleryBtn::after {
      content: "";
      display: block;
      background-image: url(../images/common/arrow_grey.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 24px;
      height: 19px; }
    .galleryBtn .cate {
      display: inline-block;
      font-weight: 500;
      font-size: 12px; }
    .galleryBtn .btnName {
      display: inline-block; }
  .planBtn {
    position: relative;
    background-color: #494949;
    color: #fff;
    text-align: center; }
    .planBtn::after {
      content: "";
      display: block;
      background-image: url(../images/common/plus_wht.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 17px;
      height: 19px;
      transition: 0.3s;
      right: 22px;
      opacity: 1; }
    .planBtn::before {
      content: "";
      display: block;
      background-image: url(../images/common/minus_wht.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 17px;
      height: 19px;
      transition: 0.3s;
      right: 22px;
      opacity: 0; }
  .planBtn.open::after {
    opacity: 0; }
  .planBtn.open::before {
    opacity: 1; }
  .contactLink {
    display: block;
    position: relative;
    font-weight: 500;
    background-color: #fff;
    outline: 1px solid #d9d9d9;
    outline-offset: -1px;
    letter-spacing: 0.03rem; }
    .contactLink::after {
      content: "";
      display: block;
      background-image: url(../images/common/arrow_grey.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 24px;
      height: 19px; }
    .contactLink .cate {
      display: inline-block;
      font-weight: 500;
      font-size: 12px; }
    .contactLink .btnName {
      display: inline-block; }
  .family {
    position: relative; }
    .family::before {
      content: "";
      display: block;
      background-image: url(../images/common/family_photo_bg.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      z-index: 1; }
    .family::after {
      content: "";
      display: block;
      background-image: url(../images/common/dot_square_big.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0;
      z-index: 1; }
  .plan {
    display: none; }
    .plan .planInner {
      background-color: #fff;
      position: relative;
      border: solid 1px #494949; }
      .plan .planInner::before {
        content: "";
        display: block;
        background-color: #494949;
        width: 1px;
        position: absolute;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg); }
      .plan .planInner::after {
        content: "";
        display: block;
        background-color: #494949;
        width: 1px;
        position: absolute;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg); }
  .planList dt {
    position: relative;
    font-weight: 500; }
    .planList dt::after {
      content: "";
      display: block;
      background-image: url(../images/common/icon_orange.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0; }
  .planList .planName {
    font-weight: 700; }
  .planList .planPoint {
    display: flex;
    align-items: center; }
    .planList .planPoint li {
      text-align: center; }
    .planList .planPoint .planTxt {
      font-weight: 500; }
  .option {
    background-color: #f6f6f6;
    font-weight: 700; }
    .option dt {
      position: relative; }
      .option dt span {
        font-size: .8em; }
      .option dt::after {
        content: "";
        display: block;
        background-image: url(../images/common/icon_orange.svg);
        background-repeat: no-repeat;
        background-size: 100%;
        position: absolute;
        left: 0; }
    .option dd .thin {
      font-weight: 400; }
  /*モーダルを開くボタン*/
  .sampleModalOpen, .sampleModalOpen2 {
    cursor: pointer;
    transition: 0.3s;
    text-decoration: underline;
    color: #438ea4; }
  /*ハンガー用モーダルを開くボタン*/
  .hanger-sampleModalOpen {
    cursor: pointer;
    transition: 0.3s;
    text-decoration: underline;
    color: #438ea4; }
  /*モーダル本体の指定 + モーダル外側の背景の指定*/
  .sampleModal, .sampleModal2 {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(255, 255, 255, 0.8);
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    box-sizing: border-box;
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center; }
  /*ハンガー用モーダル本体の指定 + モーダル外側の背景の指定*/
  .hanger-sampleModal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(255, 255, 255, 0.8);
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    box-sizing: border-box;
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center; }
  /*モーダル本体の擬似要素の指定*/
  /*ハンガー用モーダル本体の擬似要素の指定*/
  /*モーダル本体に「active」クラス付与した時のスタイル*/
  .sampleModal.active, .sampleModal2.active {
    opacity: 1;
    visibility: visible; }
  /*ハンガー用モーダル本体に「active」クラス付与した時のスタイル*/
  .hanger-sampleModal.active {
    opacity: 1;
    visibility: visible; }
  /*モーダル枠の指定*/
  .sampleModalBody {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 720px;
    width: 100%;
    padding: 0 20px; }
  /*ハンガー用モーダル枠の指定*/
  .hanger-sampleModalBody {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 720px;
    width: 100%;
    padding: 0 20px; }
  /*モーダルを閉じるボタンの指定*/
  .sampleModalClose, .sampleModalClose2 {
    position: absolute;
    cursor: pointer;
    height: 36px;
    right: 20px; }
    .sampleModalClose::before, .sampleModalClose::after, .sampleModalClose2::before, .sampleModalClose2::after {
      content: "";
      display: block;
      height: 1px;
      background-color: #494949;
      position: absolute;
      top: 20px;
      right: 0; }
    .sampleModalClose::before, .sampleModalClose2::before {
      -webkit-transform: rotate(30deg);
              transform: rotate(30deg); }
    .sampleModalClose::after, .sampleModalClose2::after {
      -webkit-transform: rotate(-30deg);
              transform: rotate(-30deg); }
  /*ハンガー用モーダルを閉じるボタンの指定*/
  .hanger-sampleModalClose {
    position: absolute;
    cursor: pointer;
    height: 36px;
    right: 20px; }
    .hanger-sampleModalClose::before, .hanger-sampleModalClose::after {
      content: "";
      display: block;
      height: 1px;
      background-color: #494949;
      position: absolute;
      top: 20px;
      right: 0; }
    .hanger-sampleModalClose::before {
      -webkit-transform: rotate(30deg);
              transform: rotate(30deg); }
    .hanger-sampleModalClose::after {
      -webkit-transform: rotate(-30deg);
              transform: rotate(-30deg); }
  /*モーダル内のコンテンツの指定*/
  .sampleModalCont {
    border: solid 1px #494949;
    background: #fff;
    text-align: left; }
  /*ハンガー用モーダル内のコンテンツの指定*/
  .hanger-sampleModalCont {
    border: solid 1px #494949;
    background: #fff;
    text-align: left; }
  /*モーダルの中身*/
  .sampleTitle {
    position: relative;
    font-weight: 700; }
    .sampleTitle::after {
      content: "";
      display: block;
      background-image: url(../images/common/icon_orange.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0; }
  .contInner::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  .contInner::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  .hanger-0contInner::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  .hanger-contInner::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  .businessBg {
    position: relative; }
    .businessBg::after {
      content: "";
      display: block;
      background-color: #f6f6f6;
      position: absolute;
      left: 0;
      z-index: -1; }
  .business {
    position: relative; }
    .business::before {
      content: "";
      display: block;
      background-image: url(../images/common/business_Portrait_bg.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      z-index: 1; }
    .business::after {
      content: "";
      display: block;
      background-image: url(../images/common/dot_square_big.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      z-index: 1; }
  .engagement {
    position: relative; }
    .engagement::before {
      content: "";
      display: block;
      background-image: url(../images/common/engagement_photo_bg.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      z-index: 1;
      width: 770px; }
    .engagement::after {
      content: "";
      display: block;
      background-image: url(../images/common/dot_square_big.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0;
      z-index: 1; }
  .setBg {
    position: relative; }
    .setBg::after {
      content: "";
      display: block;
      background-color: #f6f6f6;
      position: absolute;
      top: 0;
      right: 0;
      z-index: -1;
      height: 110%; }
  .commercialWrap {
    position: relative; }
    .commercialWrap::before {
      content: "";
      display: block;
      background-image: url(../images/common/commercial_02.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      width: 300px;
      height: 261px; }
    .commercialWrap::after {
      content: "";
      display: block;
      background-image: url(../images/common/commercial_01.jpg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0;
      width: 355px;
      height: 259px;
      top: -180px; }
  .commercial {
    margin: 0 auto 275px; }
    .commercial .simpleWrap {
      width: 80%;
      margin-bottom: 50px; }
    .commercial .simpleImg {
      width: 360px; }
  .otherWrap {
    position: relative; }
    .otherWrap::before {
      content: "";
      display: block;
      background-image: url(../images/common/other_02.jpg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      width: 306px;
      height: 225px;
      bottom: -257px; }
    .otherWrap::after {
      content: "";
      display: block;
      background-image: url(../images/common/other_01.jpg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0;
      width: 410px;
      height: 280px;
      bottom: 77%; }
  .other .simpleWrap {
    width: 80%;
    padding-left: 10%; }
  .simpleTitle {
    display: inline-block;
    font-weight: 500; }
  .irregular {
    font-family: 'Montserrat', sans-serif;
    display: inline-block;
    vertical-align: middle; }
  .photoGallery {
    position: relative; }
    .photoGallery::before {
      content: "";
      display: block;
      background-image: url(../images/common/gallery.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%); }
  #selector {
    display: flex; }
  #selector li {
    position: relative;
    font-family: 'Montserrat', sans-serif;
    display: block; }
  #selector li label {
    display: block;
    width: 100%;
    position: relative; }
  #selector li label input {
    display: none; }
  #selector li label.checked {
    font-weight: 700; }
  #gallery::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  #gallery::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  #gallery .p {
    display: flex;
    transition: all 0.5s;
    -webkit-transform-origin: center top;
            transform-origin: center top;
    overflow: hidden;
    flex-wrap: wrap;
    width: 100%; }
  #gallery .p .galleryImg {
    -o-object-fit: cover;
       object-fit: cover;
    overflow: hidden;
    height: 17vw; }
  .photoAttn {
    text-align: center; }
  #modal {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 999;
    display: none; }
  #modal #modInner {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center; }
  #modal #modInner #modImg {
    max-width: 80%;
    max-height: 90%;
    position: relative; }
  #modal #modInner #modImg #modClose {
    display: block;
    position: absolute;
    height: 40px;
    right: 0px;
    cursor: pointer; }
  #modal #modInner #modImg #modClose:before,
  #modal #modInner #modImg #modClose:after {
    content: "";
    display: block;
    height: 1px;
    background-color: #494949;
    position: absolute;
    top: 20px;
    left: 0; }
  #modal #modInner #modImg #modClose:before {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg); }
  #modal #modInner #modImg #modClose:after {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg); }
  #modal #modInner #modImg img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto; }
  #modal.isShow {
    display: block; }
  .about {
    position: relative; }
    .about::before {
      content: "";
      display: block;
      background-color: #f6f6f6;
      width: 100%;
      position: absolute;
      left: 0;
      z-index: 1;
      height: 445px; }
    .about .inner {
      position: relative;
      z-index: 10; }
  .vision .inner {
    position: relative;
    padding: 0 20px 0 50px; }
  .vision .txtWrap {
    width: 53%; }
  .visionImg {
    width: 44%; }
  h2.pointTitle {
    font-weight: 500;
    margin-left: auto; }
  .pointList div {
    position: relative; }
    .pointList div::before {
      content: "";
      background-image: url(../images/common/dot_square.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 1; }
    .pointList div:nth-of-type(even) {
      margin-left: auto; }
    .pointList div dt {
      position: relative;
      z-index: 10;
      font-weight: 500; }
    .pointList div dd {
      position: relative;
      z-index: 10; }
  .number1 {
    position: relative; }
    .number1::after {
      content: "";
      background-image: url(../images/common/number1.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10; }
  .number2 {
    position: relative; }
    .number2::after {
      content: "";
      background-image: url(../images/common/number2.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10; }
  .number3 {
    position: relative; }
    .number3::after {
      content: "";
      background-image: url(../images/common/number3.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10; }
  .number4 {
    position: relative; }
    .number4::after {
      content: "";
      background-image: url(../images/common/number4.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10; }
  .number5 {
    position: relative; }
    .number5::after {
      content: "";
      background-image: url(../images/common/number5.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10; }
  .nameOrigin .inner {
    position: relative;
    border: 1px solid #494949; }
    .nameOrigin .inner::before {
      content: "";
      display: block;
      background-color: #494949;
      width: 1px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
    .nameOrigin .inner::after {
      content: "";
      display: block;
      background-color: #494949;
      width: 1px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
  .originTitle {
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.05rem; }
  .overview {
    background-color: #f6f6f6; }
  .overviewWrap {
    align-items: center; }
    .overviewWrap .detail .detailTxt span {
      display: inline-block; }
  .greeting {
    position: relative;
    background-color: #fff;
    text-align: center;
    max-width: 700px; }
    .greeting::after {
      right: -30px; }
    .greeting .greetingInner .greetingTitle {
      font-weight: 500;
      letter-spacing: 0.03rem; }
    .greeting .greetingInner .sign .signName {
      letter-spacing: 0.03rem; }
  .daihyo .daihyoInner {
    display: flex;
    justify-content: space-between; }
    .daihyo .daihyoInner .daihyoWrap .nameJp {
      font-weight: 700;
      letter-spacing: 0.03rem; }
    .daihyo .daihyoInner .daihyoWrap .nameEn {
      font-family: 'Raleway', sans-serif;
      letter-spacing: 0.03rem; }
  .historyTitle {
    font-weight: 700; }
  .worksSlider {
    position: relative; }
    .worksSlider .prev {
      position: absolute;
      width: 27px; }
    .worksSlider .next {
      position: absolute;
      width: 27px; }
  #worksModal {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 999;
    display: none; }
  #worksModal #worksModInner {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center; }
  #worksModal #worksModInner #worksModImg {
    max-width: 80%;
    max-height: 90%;
    position: relative; }
  #worksModal #worksModInner #worksModImg #worksModClose {
    display: block;
    position: absolute;
    height: 40px;
    right: 0px;
    cursor: pointer; }
  #worksModal #worksModInner #worksModImg #worksModClose:before,
  #worksModal #worksModInner #worksModImg #worksModClose:after {
    content: "";
    display: block;
    height: 1px;
    background-color: #494949;
    position: absolute;
    top: 20px;
    left: 0; }
  #worksModal #worksModInner #worksModImg #worksModClose:before {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg); }
  #worksModal #worksModInner #worksModImg #worksModClose:after {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg); }
  #worksModal #worksModInner #worksModImg img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto; }
  #worksModal.isShow {
    display: block; }
  .faqList div {
    position: relative; }
    .faqList div::before {
      content: "";
      display: block;
      background-image: url(../images/common/question.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 0;
      left: 0; }
  .faqList .question {
    font-weight: 500;
    border-bottom: solid 1px #d9d9d9;
    position: relative; }
    .faqList .question::after {
      content: "";
      display: block;
      background-image: url(../images/common/plus.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 0;
      right: 0;
      transition: 0.3s;
      opacity: 1; }
    .faqList .question::before {
      content: "";
      display: block;
      background-image: url(../images/common/minus.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 0;
      right: 0;
      transition: 0.3s;
      opacity: 0; }
  .faqList .question.open::after {
    opacity: 0; }
  .faqList .question.open::before {
    opacity: 1; }
  .faqList .answer {
    display: none; }
  .privacy {
    position: relative;
    border: solid 1px #494949; }
    .privacy::before {
      content: "";
      display: block;
      background-color: #494949;
      width: 1px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
    .privacy::after {
      content: "";
      display: block;
      background-color: #494949;
      width: 1px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
    .privacy .privacyBox {
      overflow-y: scroll; }
    .privacy .privacyTitle {
      text-align: center;
      letter-spacing: 0.05rem; }
  .privacyBox::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  .privacyBox::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  .contact {
    padding-top: 100px;
    margin-top: -100px;
    text-align: center; }
  .contactTitle {
    margin: 0 auto; }
  .concept {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .concept.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .family {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .family.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .business {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .business.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .engagement {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .engagement.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .commercialWrap {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .commercialWrap.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .otherWrap {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .otherWrap.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .photoGallery {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .photoGallery.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .about {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .about.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .vision {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .vision.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .pointTitle {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .pointTitle.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .pointList {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .pointList.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .nameOrigin {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .nameOrigin.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .overviewWrap {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .overviewWrap.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .greeting {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .greeting.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .daihyo {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .daihyo.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .faqTitle {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .faqTitle.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .faqList {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .faqList.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .privacy {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .privacy.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  /* Slider */
  /* ココから下には記入禁止 */ }

@media screen and (max-width: 1200px) {
  .ib {
    display: inline-block !important; }
  .bold {
    font-weight: 700; }
  .txtWrap {
    position: relative; }
    .txtWrap:before {
      content: "";
      background-image: url(../images/common/dot_square.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 1; }
  .subTitle {
    font-family: 'Montserrat', sans-serif;
    position: relative;
    z-index: 10; }
  h2.title {
    position: relative;
    font-weight: 500;
    z-index: 10; }
  #globalHeader .headInner {
    background-color: #fff;
    position: fixed;
    z-index: 100;
    width: 100%;
    top: 0;
    left: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    height: 100svh;
    transition: 0.5s; }
  #globalHeader .headInner.active {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    transition: 0.5s; }
  .logo {
    width: 165px;
    margin: 70px auto 50px; }
  .headerMenu {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50%; }
    .headerMenu .ghNav .ghNavList {
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      letter-spacing: 0.05rem;
      font-size: 16px;
      text-align: center; }
      .headerMenu .ghNav .ghNavList li:not(:last-child) {
        margin-bottom: 50px; }
  .hamburger {
    position: fixed;
    z-index: 100;
    top: 19px;
    right: 17px;
    width: 24px;
    height: 9px; }
    .hamburger .hamburgerLine {
      position: relative;
      display: block;
      width: 100%;
      height: 1px;
      background-color: #494949;
      transition: 0.3s; }
      .hamburger .hamburgerLine::after {
        content: "";
        display: block;
        width: 100%;
        height: 1px;
        background-color: #494949;
        position: absolute;
        top: 8px;
        left: 0;
        transition: 0.3s; }
    .hamburger .hamburgerLine.active {
      -webkit-transform: rotate(30deg);
              transform: rotate(30deg); }
      .hamburger .hamburgerLine.active::after {
        -webkit-transform: rotate(-60deg);
                transform: rotate(-60deg);
        top: 0; }
  #globalFooter {
    position: relative;
    text-align: center; }
    #globalFooter small {
      font-family: 'Raleway', sans-serif; }
  #pageTop {
    position: absolute; }
  .fv {
    margin-bottom: 54px; }
    .fv .fvSwiper {
      overflow: hidden; }
  @-webkit-keyframes zoomUp {
    0% {
      -webkit-transform: scale(1);
              transform: scale(1); }
    100% {
      -webkit-transform: scale(1.07);
              transform: scale(1.07); } }
  @keyframes zoomUp {
    0% {
      -webkit-transform: scale(1);
              transform: scale(1); }
    100% {
      -webkit-transform: scale(1.07);
              transform: scale(1.07); } }
    .fv .swiper-slide-active .swiper-img,
    .fv .swiper-slide-duplicate-active .swiper-img,
    .fv .swiper-slide-prev .swiper-img {
      -webkit-animation: zoomUp 7s linear 0s normal both;
              animation: zoomUp 7s linear 0s normal both; }
    .fv .swiper-slide img {
      overflow: hidden;
      height: auto;
      width: 100%; }
  .fvWrap {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 185px; }
    .fvWrap .inner .fvLogo {
      width: 200px; }
    .fvWrap .inner .fvMenu {
      text-align: center;
      display: none; }
      .fvWrap .inner .fvMenu li {
        font-family: 'Montserrat', sans-serif;
        font-weight: 400; }
  .contactBtn {
    display: block;
    position: fixed;
    z-index: 99;
    transition: 0.3s; }
  .hidden {
    visibility: hidden;
    opacity: 0; }
  .concept .inner {
    position: relative; }
    .concept .inner::before {
      content: "";
      display: block;
      background-color: #f6f6f6;
      position: absolute;
      z-index: 1;
      right: 0; }
  .conceptImg {
    position: relative;
    z-index: 10; }
  .conceptTxt .title {
    position: relative;
    z-index: 10; }
  .conceptTxt .txt {
    position: relative;
    z-index: 10; }
  .slideWrap {
    position: relative;
    z-index: 10; }
  .slick-track {
    display: flex;
    align-items: center; }
  .galleryBtn {
    position: relative;
    font-family: 'Montserrat', sans-serif;
    background-color: #fff;
    outline: 1px solid #d9d9d9;
    outline-offset: -1px;
    letter-spacing: 0.03rem; }
    .galleryBtn::after {
      content: "";
      display: block;
      background-image: url(../images/common/arrow_grey.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 24px;
      height: 19px; }
    .galleryBtn .cate {
      display: inline-block;
      font-weight: 500;
      font-size: 12px; }
    .galleryBtn .btnName {
      display: inline-block; }
  .planBtn {
    position: relative;
    background-color: #494949;
    color: #fff;
    text-align: center; }
    .planBtn::after {
      content: "";
      display: block;
      background-image: url(../images/common/plus_wht.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 17px;
      height: 19px;
      transition: 0.3s;
      right: 22px;
      opacity: 1; }
    .planBtn::before {
      content: "";
      display: block;
      background-image: url(../images/common/minus_wht.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 17px;
      height: 19px;
      transition: 0.3s;
      right: 22px;
      opacity: 0; }
  .planBtn.open::after {
    opacity: 0; }
  .planBtn.open::before {
    opacity: 1; }
  .contactLink {
    display: block;
    position: relative;
    font-weight: 500;
    background-color: #fff;
    outline: 1px solid #d9d9d9;
    outline-offset: -1px;
    letter-spacing: 0.03rem; }
    .contactLink::after {
      content: "";
      display: block;
      background-image: url(../images/common/arrow_grey.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 24px;
      height: 19px; }
    .contactLink .cate {
      display: inline-block;
      font-weight: 500;
      font-size: 12px; }
    .contactLink .btnName {
      display: inline-block; }
  .family {
    position: relative; }
    .family::before {
      content: "";
      display: block;
      background-image: url(../images/common/family_photo_bg.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      z-index: 1; }
    .family::after {
      content: "";
      display: block;
      background-image: url(../images/common/dot_square_big.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0;
      z-index: 1; }
  .plan {
    display: none; }
    .plan .planInner {
      background-color: #fff;
      position: relative;
      border: solid 1px #494949; }
      .plan .planInner::before {
        content: "";
        display: block;
        background-color: #494949;
        width: 1px;
        position: absolute;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg); }
      .plan .planInner::after {
        content: "";
        display: block;
        background-color: #494949;
        width: 1px;
        position: absolute;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg); }
  .planList dt {
    position: relative;
    font-weight: 500; }
    .planList dt::after {
      content: "";
      display: block;
      background-image: url(../images/common/icon_orange.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0; }
  .planList .planName {
    font-weight: 700; }
  .planList .planPoint {
    display: flex;
    align-items: center; }
    .planList .planPoint li {
      text-align: center; }
    .planList .planPoint .planTxt {
      font-weight: 500; }
  .option {
    background-color: #f6f6f6;
    font-weight: 700; }
    .option dt {
      position: relative; }
      .option dt span {
        font-size: .8em; }
      .option dt::after {
        content: "";
        display: block;
        background-image: url(../images/common/icon_orange.svg);
        background-repeat: no-repeat;
        background-size: 100%;
        position: absolute;
        left: 0; }
    .option dd .thin {
      font-weight: 400; }
  /*モーダルを開くボタン*/
  .sampleModalOpen, .sampleModalOpen2 {
    cursor: pointer;
    transition: 0.3s;
    text-decoration: underline;
    color: #438ea4; }
  /*ハンガー用モーダルを開くボタン*/
  .hanger-sampleModalOpen {
    cursor: pointer;
    transition: 0.3s;
    text-decoration: underline;
    color: #438ea4; }
  /*モーダル本体の指定 + モーダル外側の背景の指定*/
  .sampleModal, .sampleModal2 {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(255, 255, 255, 0.8);
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    box-sizing: border-box;
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center; }
  /*ハンガー用モーダル本体の指定 + モーダル外側の背景の指定*/
  .hanger-sampleModal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(255, 255, 255, 0.8);
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    box-sizing: border-box;
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center; }
  /*モーダル本体の擬似要素の指定*/
  /*ハンガー用モーダル本体の擬似要素の指定*/
  /*モーダル本体に「active」クラス付与した時のスタイル*/
  .sampleModal.active, .sampleModal2.active {
    opacity: 1;
    visibility: visible; }
  /*ハンガー用モーダル本体に「active」クラス付与した時のスタイル*/
  .hanger-sampleModal.active {
    opacity: 1;
    visibility: visible; }
  /*モーダル枠の指定*/
  .sampleModalBody {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 720px;
    width: 100%;
    padding: 0 20px; }
  /*ハンガー用モーダル枠の指定*/
  .hanger-sampleModalBody {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 720px;
    width: 100%;
    padding: 0 20px; }
  /*モーダルを閉じるボタンの指定*/
  .sampleModalClose, .sampleModalClose2 {
    position: absolute;
    cursor: pointer;
    height: 36px;
    right: 20px; }
    .sampleModalClose::before, .sampleModalClose::after, .sampleModalClose2::before, .sampleModalClose2::after {
      content: "";
      display: block;
      height: 1px;
      background-color: #494949;
      position: absolute;
      top: 20px;
      right: 0; }
    .sampleModalClose::before, .sampleModalClose2::before {
      -webkit-transform: rotate(30deg);
              transform: rotate(30deg); }
    .sampleModalClose::after, .sampleModalClose2::after {
      -webkit-transform: rotate(-30deg);
              transform: rotate(-30deg); }
  /*ハンガー用モーダルを閉じるボタンの指定*/
  .hanger-sampleModalClose {
    position: absolute;
    cursor: pointer;
    height: 36px;
    right: 20px; }
    .hanger-sampleModalClose::before, .hanger-sampleModalClose::after {
      content: "";
      display: block;
      height: 1px;
      background-color: #494949;
      position: absolute;
      top: 20px;
      right: 0; }
    .hanger-sampleModalClose::before {
      -webkit-transform: rotate(30deg);
              transform: rotate(30deg); }
    .hanger-sampleModalClose::after {
      -webkit-transform: rotate(-30deg);
              transform: rotate(-30deg); }
  /*モーダル内のコンテンツの指定*/
  .sampleModalCont {
    border: solid 1px #494949;
    background: #fff;
    text-align: left; }
  /*ハンガー用モーダル内のコンテンツの指定*/
  .hanger-sampleModalCont {
    border: solid 1px #494949;
    background: #fff;
    text-align: left; }
  /*モーダルの中身*/
  .sampleTitle {
    position: relative;
    font-weight: 700; }
    .sampleTitle::after {
      content: "";
      display: block;
      background-image: url(../images/common/icon_orange.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0; }
  .contInner::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  .contInner::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  .hanger-0contInner::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  .hanger-contInner::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  .businessBg {
    position: relative; }
    .businessBg::after {
      content: "";
      display: block;
      background-color: #f6f6f6;
      position: absolute;
      left: 0;
      z-index: -1; }
  .business {
    position: relative; }
    .business::before {
      content: "";
      display: block;
      background-image: url(../images/common/business_Portrait_bg.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      z-index: 1; }
    .business::after {
      content: "";
      display: block;
      background-image: url(../images/common/dot_square_big.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      z-index: 1; }
  .engagement {
    position: relative; }
    .engagement::before {
      content: "";
      display: block;
      background-image: url(../images/common/engagement_photo_bg.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      z-index: 1; }
    .engagement::after {
      content: "";
      display: block;
      background-image: url(../images/common/dot_square_big.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0;
      z-index: 1; }
  .setBg {
    position: relative; }
    .setBg::after {
      content: "";
      display: block;
      background-color: #f6f6f6;
      position: absolute;
      top: 0;
      right: 0;
      z-index: -1; }
  .commercialWrap {
    position: relative; }
    .commercialWrap::before {
      content: "";
      display: block;
      background-image: url(../images/common/commercial_02.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0; }
    .commercialWrap::after {
      content: "";
      display: block;
      background-image: url(../images/common/commercial_01.jpg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0; }
  .otherWrap {
    position: relative; }
    .otherWrap::before {
      content: "";
      display: block;
      background-image: url(../images/common/other_02.jpg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0; }
    .otherWrap::after {
      content: "";
      display: block;
      background-image: url(../images/common/other_01.jpg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0; }
  .simpleTitle {
    display: inline-block;
    font-weight: 500; }
  .irregular {
    font-family: 'Montserrat', sans-serif;
    display: inline-block;
    vertical-align: middle; }
  .photoGallery {
    position: relative; }
    .photoGallery::before {
      content: "";
      display: block;
      background-image: url(../images/common/gallery.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%); }
  #selector {
    display: flex; }
  #selector li {
    position: relative;
    font-family: 'Montserrat', sans-serif;
    display: block; }
  #selector li label {
    display: block;
    width: 100%;
    position: relative; }
  #selector li label input {
    display: none; }
  #selector li label.checked {
    font-weight: 700; }
  #gallery::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  #gallery::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  #gallery .p {
    display: flex;
    transition: all 0.5s;
    -webkit-transform-origin: center top;
            transform-origin: center top;
    overflow: hidden;
    flex-wrap: wrap;
    width: 100%; }
  #gallery .p .galleryImg {
    -o-object-fit: cover;
       object-fit: cover;
    overflow: hidden; }
  .photoAttn {
    text-align: center; }
  #modal {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 999;
    display: none; }
  #modal #modInner {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center; }
  #modal #modInner #modImg {
    max-width: 80%;
    max-height: 90%;
    position: relative; }
  #modal #modInner #modImg #modClose {
    display: block;
    position: absolute;
    height: 40px;
    right: 0px;
    cursor: pointer; }
  #modal #modInner #modImg #modClose:before,
  #modal #modInner #modImg #modClose:after {
    content: "";
    display: block;
    height: 1px;
    background-color: #494949;
    position: absolute;
    top: 20px;
    left: 0; }
  #modal #modInner #modImg #modClose:before {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg); }
  #modal #modInner #modImg #modClose:after {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg); }
  #modal #modInner #modImg img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto; }
  #modal.isShow {
    display: block; }
  .about {
    position: relative; }
    .about::before {
      content: "";
      display: block;
      background-color: #f6f6f6;
      width: 100%;
      position: absolute;
      left: 0;
      z-index: 1; }
    .about .inner {
      position: relative;
      z-index: 10; }
  .vision .inner {
    position: relative; }
  h2.pointTitle {
    font-weight: 500;
    margin-left: auto; }
  .pointList div {
    position: relative; }
    .pointList div::before {
      content: "";
      background-image: url(../images/common/dot_square.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 1; }
    .pointList div:nth-of-type(even) {
      margin-left: auto; }
    .pointList div dt {
      position: relative;
      z-index: 10;
      font-weight: 500; }
    .pointList div dd {
      position: relative;
      z-index: 10; }
  .number1 {
    position: relative; }
    .number1::after {
      content: "";
      background-image: url(../images/common/number1.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10; }
  .number2 {
    position: relative; }
    .number2::after {
      content: "";
      background-image: url(../images/common/number2.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10; }
  .number3 {
    position: relative; }
    .number3::after {
      content: "";
      background-image: url(../images/common/number3.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10; }
  .number4 {
    position: relative; }
    .number4::after {
      content: "";
      background-image: url(../images/common/number4.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10; }
  .number5 {
    position: relative; }
    .number5::after {
      content: "";
      background-image: url(../images/common/number5.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10; }
  .nameOrigin .inner {
    position: relative;
    border: 1px solid #494949; }
    .nameOrigin .inner::before {
      content: "";
      display: block;
      background-color: #494949;
      width: 1px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
    .nameOrigin .inner::after {
      content: "";
      display: block;
      background-color: #494949;
      width: 1px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
  .originTitle {
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.05rem; }
  .overview {
    background-color: #f6f6f6; }
  .overviewWrap .detail .detailTxt span {
    display: inline-block; }
  .greeting {
    position: relative;
    background-color: #fff;
    text-align: center; }
    .greeting .greetingInner .greetingTitle {
      font-weight: 500;
      letter-spacing: 0.03rem; }
    .greeting .greetingInner .sign .signName {
      letter-spacing: 0.03rem; }
  .daihyo .daihyoInner {
    display: flex;
    justify-content: space-between; }
    .daihyo .daihyoInner .daihyoWrap .nameJp {
      font-weight: 700;
      letter-spacing: 0.03rem; }
    .daihyo .daihyoInner .daihyoWrap .nameEn {
      font-family: 'Raleway', sans-serif;
      letter-spacing: 0.03rem; }
  .historyTitle {
    font-weight: 700; }
  .worksSlider {
    position: relative; }
    .worksSlider .prev {
      position: absolute;
      width: 27px; }
    .worksSlider .next {
      position: absolute;
      width: 27px; }
  #worksModal {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 999;
    display: none; }
  #worksModal #worksModInner {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center; }
  #worksModal #worksModInner #worksModImg {
    max-width: 80%;
    max-height: 90%;
    position: relative; }
  #worksModal #worksModInner #worksModImg #worksModClose {
    display: block;
    position: absolute;
    height: 40px;
    right: 0px;
    cursor: pointer; }
  #worksModal #worksModInner #worksModImg #worksModClose:before,
  #worksModal #worksModInner #worksModImg #worksModClose:after {
    content: "";
    display: block;
    height: 1px;
    background-color: #494949;
    position: absolute;
    top: 20px;
    left: 0; }
  #worksModal #worksModInner #worksModImg #worksModClose:before {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg); }
  #worksModal #worksModInner #worksModImg #worksModClose:after {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg); }
  #worksModal #worksModInner #worksModImg img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto; }
  #worksModal.isShow {
    display: block; }
  .faqList div {
    position: relative; }
    .faqList div::before {
      content: "";
      display: block;
      background-image: url(../images/common/question.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 0;
      left: 0; }
  .faqList .question {
    font-weight: 500;
    border-bottom: solid 1px #d9d9d9;
    position: relative; }
    .faqList .question::after {
      content: "";
      display: block;
      background-image: url(../images/common/plus.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 0;
      right: 0;
      transition: 0.3s;
      opacity: 1; }
    .faqList .question::before {
      content: "";
      display: block;
      background-image: url(../images/common/minus.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 0;
      right: 0;
      transition: 0.3s;
      opacity: 0; }
  .faqList .question.open::after {
    opacity: 0; }
  .faqList .question.open::before {
    opacity: 1; }
  .faqList .answer {
    display: none; }
  .privacy {
    position: relative;
    border: solid 1px #494949; }
    .privacy::before {
      content: "";
      display: block;
      background-color: #494949;
      width: 1px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
    .privacy::after {
      content: "";
      display: block;
      background-color: #494949;
      width: 1px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
    .privacy .privacyBox {
      overflow-y: scroll; }
    .privacy .privacyTitle {
      text-align: center;
      letter-spacing: 0.05rem; }
  .privacyBox::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  .privacyBox::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  .contact {
    padding-top: 100px;
    margin-top: -100px;
    text-align: center; }
  .contactTitle {
    margin: 0 auto; }
  .concept {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .concept.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .family {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .family.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .business {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .business.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .engagement {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .engagement.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .commercialWrap {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .commercialWrap.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .otherWrap {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .otherWrap.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .photoGallery {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .photoGallery.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .about {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .about.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .vision {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .vision.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .pointTitle {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .pointTitle.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .pointList {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .pointList.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .nameOrigin {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .nameOrigin.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .overviewWrap {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .overviewWrap.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .greeting {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .greeting.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .daihyo {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .daihyo.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .faqTitle {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .faqTitle.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .faqList {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .faqList.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .privacy {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .privacy.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  /* Slider */
  /* ココから下には記入禁止 */ }

@media print, screen and (min-width: 1201px) {
  .ib {
    display: inline-block !important; }
  .bold {
    font-weight: 700; }
  .txtWrap {
    position: relative; }
    .txtWrap:before {
      content: "";
      background-image: url(../images/common/dot_square.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 1; }
  .subTitle {
    font-family: 'Montserrat', sans-serif;
    position: relative;
    z-index: 10; }
  h2.title {
    position: relative;
    font-weight: 500;
    z-index: 10; }
  #globalHeader {
    position: fixed;
    z-index: 100;
    width: 100%;
    top: -84px;
    left: 0;
    transition: 0.5s; }
    #globalHeader .headInner {
      background-color: #fff;
      padding: 15px 50px;
      display: flex;
      align-items: center;
      justify-content: space-between; }
  #globalHeader.is-show {
    top: 0; }
  .logo {
    width: 183px;
    transition: 0.3s; }
    .logo:hover {
      opacity: 0.7; }
  .headerMenu .ghNav .ghNavList {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.05rem;
    font-size: 14px;
    display: flex; }
    .headerMenu .ghNav .ghNavList li {
      margin-left: 60px; }
  .hamburger {
    display: none; }
  #globalFooter {
    position: relative;
    text-align: center; }
    #globalFooter small {
      font-family: 'Raleway', sans-serif; }
  #pageTop {
    position: absolute; }
  .fv {
    padding-top: 100px;
    display: flex;
    align-items: center;
    margin-bottom: 142px; }
    .fv .fvSwiper {
      overflow: hidden;
      width: 79%; }
  @-webkit-keyframes zoomUp {
    0% {
      -webkit-transform: scale(1);
              transform: scale(1); }
    100% {
      -webkit-transform: scale(1.07);
              transform: scale(1.07); } }
  @keyframes zoomUp {
    0% {
      -webkit-transform: scale(1);
              transform: scale(1); }
    100% {
      -webkit-transform: scale(1.07);
              transform: scale(1.07); } }
    .fv .swiper-slide-active .swiper-img,
    .fv .swiper-slide-duplicate-active .swiper-img,
    .fv .swiper-slide-prev .swiper-img {
      -webkit-animation: zoomUp 7s linear 0s normal both;
              animation: zoomUp 7s linear 0s normal both; }
    .fv .swiper-slide img {
      overflow: hidden;
      height: auto;
      width: 100%; }
  .fvWrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 21%; }
    .fvWrap .inner {
      width: 76.5%; }
      .fvWrap .inner .fvLogo {
        margin-bottom: 64px; }
      .fvWrap .inner .fvMenu {
        text-align: center; }
        .fvWrap .inner .fvMenu li {
          font-family: 'Montserrat', sans-serif;
          font-weight: 400;
          font-size: 14px;
          letter-spacing: 0.05rem; }
          .fvWrap .inner .fvMenu li:not(:last-child) {
            margin-bottom: 45px; }
  .contactBtn {
    display: block;
    position: fixed;
    z-index: 99;
    transition: 0.3s; }
  .hidden {
    visibility: hidden;
    opacity: 0; }
  .concept .inner {
    position: relative; }
    .concept .inner::before {
      content: "";
      display: block;
      background-color: #f6f6f6;
      position: absolute;
      z-index: 1;
      right: 0; }
  .conceptImg {
    position: relative;
    z-index: 10; }
  .conceptTxt .title {
    position: relative;
    z-index: 10; }
  .conceptTxt .txt {
    position: relative;
    z-index: 10; }
  .slideWrap {
    position: relative;
    z-index: 10; }
  .slick-track {
    display: flex;
    align-items: center; }
  .galleryBtn {
    position: relative;
    font-family: 'Montserrat', sans-serif;
    background-color: #fff;
    outline: 1px solid #d9d9d9;
    outline-offset: -1px;
    letter-spacing: 0.03rem; }
    .galleryBtn::after {
      content: "";
      display: block;
      background-image: url(../images/common/arrow_grey.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 24px;
      height: 19px; }
    .galleryBtn .cate {
      display: inline-block;
      font-weight: 500;
      font-size: 12px; }
    .galleryBtn .btnName {
      display: inline-block; }
  .planBtn {
    position: relative;
    background-color: #494949;
    color: #fff;
    text-align: center; }
    .planBtn::after {
      content: "";
      display: block;
      background-image: url(../images/common/plus_wht.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 17px;
      height: 19px;
      transition: 0.3s;
      right: 22px;
      opacity: 1; }
    .planBtn::before {
      content: "";
      display: block;
      background-image: url(../images/common/minus_wht.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 17px;
      height: 19px;
      transition: 0.3s;
      right: 22px;
      opacity: 0; }
  .planBtn.open::after {
    opacity: 0; }
  .planBtn.open::before {
    opacity: 1; }
  .contactLink {
    display: block;
    position: relative;
    font-weight: 500;
    background-color: #fff;
    outline: 1px solid #d9d9d9;
    outline-offset: -1px;
    letter-spacing: 0.03rem; }
    .contactLink::after {
      content: "";
      display: block;
      background-image: url(../images/common/arrow_grey.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 24px;
      height: 19px; }
    .contactLink .cate {
      display: inline-block;
      font-weight: 500;
      font-size: 12px; }
    .contactLink .btnName {
      display: inline-block; }
  .family {
    position: relative; }
    .family::before {
      content: "";
      display: block;
      background-image: url(../images/common/family_photo_bg.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      z-index: 1; }
    .family::after {
      content: "";
      display: block;
      background-image: url(../images/common/dot_square_big.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0;
      z-index: 1; }
  .plan {
    display: none; }
    .plan .planInner {
      background-color: #fff;
      position: relative;
      border: solid 1px #494949; }
      .plan .planInner::before {
        content: "";
        display: block;
        background-color: #494949;
        width: 1px;
        position: absolute;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg); }
      .plan .planInner::after {
        content: "";
        display: block;
        background-color: #494949;
        width: 1px;
        position: absolute;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg); }
  .planList dt {
    position: relative;
    font-weight: 500; }
    .planList dt::after {
      content: "";
      display: block;
      background-image: url(../images/common/icon_orange.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0; }
  .planList .planName {
    font-weight: 700; }
  .planList .planPoint {
    display: flex;
    align-items: center; }
    .planList .planPoint li {
      text-align: center; }
    .planList .planPoint .planTxt {
      font-weight: 500; }
  .option {
    background-color: #f6f6f6;
    font-weight: 700; }
    .option dt {
      position: relative; }
      .option dt span {
        font-size: .8em; }
      .option dt::after {
        content: "";
        display: block;
        background-image: url(../images/common/icon_orange.svg);
        background-repeat: no-repeat;
        background-size: 100%;
        position: absolute;
        left: 0; }
    .option dd .thin {
      font-weight: 400; }
  /*モーダルを開くボタン*/
  .sampleModalOpen, .sampleModalOpen2 {
    cursor: pointer;
    transition: 0.3s;
    text-decoration: underline;
    color: #438ea4; }
  /*ハンガー用モーダルを開くボタン*/
  .hanger-sampleModalOpen {
    cursor: pointer;
    transition: 0.3s;
    text-decoration: underline;
    color: #438ea4; }
  /*モーダル本体の指定 + モーダル外側の背景の指定*/
  .sampleModal, .sampleModal2 {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(255, 255, 255, 0.8);
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    box-sizing: border-box;
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center; }
  /*ハンガー用モーダル本体の指定 + モーダル外側の背景の指定*/
  .hanger-sampleModal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(255, 255, 255, 0.8);
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    box-sizing: border-box;
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center; }
  /*モーダル本体の擬似要素の指定*/
  /*ハンガー用モーダル本体の擬似要素の指定*/
  /*モーダル本体に「active」クラス付与した時のスタイル*/
  .sampleModal.active, .sampleModal2.active {
    opacity: 1;
    visibility: visible; }
  /*ハンガー用モーダル本体に「active」クラス付与した時のスタイル*/
  .hanger-sampleModal.active {
    opacity: 1;
    visibility: visible; }
  /*モーダル枠の指定*/
  .sampleModalBody {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 720px;
    width: 100%;
    padding: 0 20px; }
  /*ハンガー用モーダル枠の指定*/
  .hanger-sampleModalBody {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 720px;
    width: 100%;
    padding: 0 20px; }
  /*モーダルを閉じるボタンの指定*/
  .sampleModalClose, .sampleModalClose2 {
    position: absolute;
    cursor: pointer;
    height: 36px;
    right: 20px; }
    .sampleModalClose::before, .sampleModalClose::after, .sampleModalClose2::before, .sampleModalClose2::after {
      content: "";
      display: block;
      height: 1px;
      background-color: #494949;
      position: absolute;
      top: 20px;
      right: 0; }
    .sampleModalClose::before, .sampleModalClose2::before {
      -webkit-transform: rotate(30deg);
              transform: rotate(30deg); }
    .sampleModalClose::after, .sampleModalClose2::after {
      -webkit-transform: rotate(-30deg);
              transform: rotate(-30deg); }
  /*ハンガー用モーダルを閉じるボタンの指定*/
  .hanger-sampleModalClose {
    position: absolute;
    cursor: pointer;
    height: 36px;
    right: 20px; }
    .hanger-sampleModalClose::before, .hanger-sampleModalClose::after {
      content: "";
      display: block;
      height: 1px;
      background-color: #494949;
      position: absolute;
      top: 20px;
      right: 0; }
    .hanger-sampleModalClose::before {
      -webkit-transform: rotate(30deg);
              transform: rotate(30deg); }
    .hanger-sampleModalClose::after {
      -webkit-transform: rotate(-30deg);
              transform: rotate(-30deg); }
  /*モーダル内のコンテンツの指定*/
  .sampleModalCont {
    border: solid 1px #494949;
    background: #fff;
    text-align: left; }
  /*ハンガー用モーダル内のコンテンツの指定*/
  .hanger-sampleModalCont {
    border: solid 1px #494949;
    background: #fff;
    text-align: left; }
  /*モーダルの中身*/
  .sampleTitle {
    position: relative;
    font-weight: 700; }
    .sampleTitle::after {
      content: "";
      display: block;
      background-image: url(../images/common/icon_orange.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0; }
  .contInner::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  .contInner::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  .hanger-0contInner::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  .hanger-contInner::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  .businessBg {
    position: relative; }
    .businessBg::after {
      content: "";
      display: block;
      background-color: #f6f6f6;
      position: absolute;
      left: 0;
      z-index: -1; }
  .business {
    position: relative; }
    .business::before {
      content: "";
      display: block;
      background-image: url(../images/common/business_Portrait_bg.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      z-index: 1; }
    .business::after {
      content: "";
      display: block;
      background-image: url(../images/common/dot_square_big.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      z-index: 1; }
  .engagement {
    position: relative; }
    .engagement::before {
      content: "";
      display: block;
      background-image: url(../images/common/engagement_photo_bg.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      z-index: 1; }
    .engagement::after {
      content: "";
      display: block;
      background-image: url(../images/common/dot_square_big.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0;
      z-index: 1; }
  .setBg {
    position: relative; }
    .setBg::after {
      content: "";
      display: block;
      background-color: #f6f6f6;
      position: absolute;
      top: 0;
      right: 0;
      z-index: -1; }
  .commercialWrap {
    position: relative; }
    .commercialWrap::before {
      content: "";
      display: block;
      background-image: url(../images/common/commercial_02.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0; }
    .commercialWrap::after {
      content: "";
      display: block;
      background-image: url(../images/common/commercial_01.jpg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0; }
  .otherWrap {
    position: relative; }
    .otherWrap::before {
      content: "";
      display: block;
      background-image: url(../images/common/other_02.jpg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0; }
    .otherWrap::after {
      content: "";
      display: block;
      background-image: url(../images/common/other_01.jpg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      right: 0; }
  .simpleTitle {
    display: inline-block;
    font-weight: 500; }
  .irregular {
    font-family: 'Montserrat', sans-serif;
    display: inline-block;
    vertical-align: middle; }
  .photoGallery {
    position: relative; }
    .photoGallery::before {
      content: "";
      display: block;
      background-image: url(../images/common/gallery.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%); }
  #selector {
    display: flex; }
  #selector li {
    position: relative;
    font-family: 'Montserrat', sans-serif;
    display: block; }
  #selector li label {
    display: block;
    width: 100%;
    position: relative; }
  #selector li label input {
    display: none; }
  #selector li label.checked {
    font-weight: 700; }
  #gallery::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  #gallery::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  #gallery .p {
    display: flex;
    transition: all 0.5s;
    -webkit-transform-origin: center top;
            transform-origin: center top;
    overflow: hidden;
    flex-wrap: wrap;
    width: 100%; }
  #gallery .p .galleryImg {
    -o-object-fit: cover;
       object-fit: cover;
    overflow: hidden; }
  .photoAttn {
    text-align: center; }
  #modal {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 999;
    display: none; }
  #modal #modInner {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center; }
  #modal #modInner #modImg {
    max-width: 80%;
    max-height: 90%;
    position: relative; }
  #modal #modInner #modImg #modClose {
    display: block;
    position: absolute;
    height: 40px;
    right: 0px;
    cursor: pointer; }
  #modal #modInner #modImg #modClose:before,
  #modal #modInner #modImg #modClose:after {
    content: "";
    display: block;
    height: 1px;
    background-color: #494949;
    position: absolute;
    top: 20px;
    left: 0; }
  #modal #modInner #modImg #modClose:before {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg); }
  #modal #modInner #modImg #modClose:after {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg); }
  #modal #modInner #modImg img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto; }
  #modal.isShow {
    display: block; }
  .about {
    position: relative; }
    .about::before {
      content: "";
      display: block;
      background-color: #f6f6f6;
      width: 100%;
      position: absolute;
      left: 0;
      z-index: 1; }
    .about .inner {
      position: relative;
      z-index: 10; }
  .vision .inner {
    position: relative; }
  h2.pointTitle {
    font-weight: 500;
    margin-left: auto; }
  .pointList div {
    position: relative; }
    .pointList div::before {
      content: "";
      background-image: url(../images/common/dot_square.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 1; }
    .pointList div:nth-of-type(even) {
      margin-left: auto; }
    .pointList div dt {
      position: relative;
      z-index: 10;
      font-weight: 500; }
    .pointList div dd {
      position: relative;
      z-index: 10; }
  .number1 {
    position: relative; }
    .number1::after {
      content: "";
      background-image: url(../images/common/number1.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10; }
  .number2 {
    position: relative; }
    .number2::after {
      content: "";
      background-image: url(../images/common/number2.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10; }
  .number3 {
    position: relative; }
    .number3::after {
      content: "";
      background-image: url(../images/common/number3.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10; }
  .number4 {
    position: relative; }
    .number4::after {
      content: "";
      background-image: url(../images/common/number4.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10; }
  .number5 {
    position: relative; }
    .number5::after {
      content: "";
      background-image: url(../images/common/number5.png);
      background-repeat: no-repeat;
      background-size: 100%;
      display: block;
      position: absolute;
      z-index: 10; }
  .nameOrigin .inner {
    position: relative;
    border: 1px solid #494949; }
    .nameOrigin .inner::before {
      content: "";
      display: block;
      background-color: #494949;
      width: 1px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
    .nameOrigin .inner::after {
      content: "";
      display: block;
      background-color: #494949;
      width: 1px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
  .originTitle {
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.05rem; }
  .overview {
    background-color: #f6f6f6; }
  .overviewWrap .detail .detailTxt span {
    display: inline-block; }
  .greeting {
    position: relative;
    background-color: #fff;
    text-align: center; }
    .greeting .greetingInner .greetingTitle {
      font-weight: 500;
      letter-spacing: 0.03rem; }
    .greeting .greetingInner .sign .signName {
      letter-spacing: 0.03rem; }
  .daihyo .daihyoInner {
    display: flex;
    justify-content: space-between; }
    .daihyo .daihyoInner .daihyoWrap .nameJp {
      font-weight: 700;
      letter-spacing: 0.03rem; }
    .daihyo .daihyoInner .daihyoWrap .nameEn {
      font-family: 'Raleway', sans-serif;
      letter-spacing: 0.03rem; }
  .historyTitle {
    font-weight: 700; }
  .worksSlider {
    position: relative; }
    .worksSlider .prev {
      position: absolute;
      width: 27px; }
    .worksSlider .next {
      position: absolute;
      width: 27px; }
  #worksModal {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 999;
    display: none; }
  #worksModal #worksModInner {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center; }
  #worksModal #worksModInner #worksModImg {
    max-width: 80%;
    max-height: 90%;
    position: relative; }
  #worksModal #worksModInner #worksModImg #worksModClose {
    display: block;
    position: absolute;
    height: 40px;
    right: 0px;
    cursor: pointer; }
  #worksModal #worksModInner #worksModImg #worksModClose:before,
  #worksModal #worksModInner #worksModImg #worksModClose:after {
    content: "";
    display: block;
    height: 1px;
    background-color: #494949;
    position: absolute;
    top: 20px;
    left: 0; }
  #worksModal #worksModInner #worksModImg #worksModClose:before {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg); }
  #worksModal #worksModInner #worksModImg #worksModClose:after {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg); }
  #worksModal #worksModInner #worksModImg img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto; }
  #worksModal.isShow {
    display: block; }
  .faqList div {
    position: relative; }
    .faqList div::before {
      content: "";
      display: block;
      background-image: url(../images/common/question.png);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 0;
      left: 0; }
  .faqList .question {
    font-weight: 500;
    border-bottom: solid 1px #d9d9d9;
    position: relative; }
    .faqList .question::after {
      content: "";
      display: block;
      background-image: url(../images/common/plus.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 0;
      right: 0;
      transition: 0.3s;
      opacity: 1; }
    .faqList .question::before {
      content: "";
      display: block;
      background-image: url(../images/common/minus.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      position: absolute;
      top: 0;
      right: 0;
      transition: 0.3s;
      opacity: 0; }
  .faqList .question.open::after {
    opacity: 0; }
  .faqList .question.open::before {
    opacity: 1; }
  .faqList .answer {
    display: none; }
  .privacy {
    position: relative;
    border: solid 1px #494949; }
    .privacy::before {
      content: "";
      display: block;
      background-color: #494949;
      width: 1px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
    .privacy::after {
      content: "";
      display: block;
      background-color: #494949;
      width: 1px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
    .privacy .privacyBox {
      overflow-y: scroll; }
    .privacy .privacyTitle {
      text-align: center;
      letter-spacing: 0.05rem; }
  .privacyBox::-webkit-scrollbar-thumb {
    background-color: #fac200;
    border-radius: 5px; }
  .privacyBox::-webkit-scrollbar-track {
    background: #e8e8e8;
    border-radius: 5px; }
  .contact {
    padding-top: 100px;
    margin-top: -100px;
    text-align: center; }
  .contactTitle {
    margin: 0 auto; }
  .concept {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .concept.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .family {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .family.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .business {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .business.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .engagement {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .engagement.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .commercialWrap {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .commercialWrap.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .otherWrap {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .otherWrap.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .photoGallery {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .photoGallery.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .about {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .about.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .vision {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .vision.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .pointTitle {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .pointTitle.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .pointList {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .pointList.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .nameOrigin {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .nameOrigin.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .overviewWrap {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .overviewWrap.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .greeting {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .greeting.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .daihyo {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .daihyo.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .faqTitle {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .faqTitle.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .faqList {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .faqList.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  .privacy {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    transition: all 1s; }
    .privacy.inView {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  /* Slider */
  /* ココから下には記入禁止 */ }

/*# sourceMappingURL=map/common.css.map */
