@charset "UTF-8";
/* CSS Document */
/*----------------------------------------
変数
----------------------------------------*/
/* 共通部分
---------------------------------------------- */
.btnItemWrapper {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .btnItemWrapper {
    max-width: 292px;
  }
}

.btnItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.5;
  height: 54px;
  gap: 15px;
}

.telBtn {
  font-family: "Overpass", sans-serif;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  background-color: #103772;
}
@media screen and (min-width: 480px) {
  .telBtn {
    font-size: 2.2rem;
  }
}
.telBtn::before {
  content: url("../../images/telIcon_noshadow.svg");
  vertical-align: middle;
  line-height: 0.5;
  margin-bottom: 4px;
}
.telBtn:hover {
  color: #103772;
  background-color: #fff;
  border: solid 2px #103772;
}
.telBtn:hover::before {
  content: url("../../images/telIcon_hover.svg");
}

.mailBtn {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.9rem;
  letter-spacing: 0.04em;
  font-weight: bold;
  color: #fff;
}
.mailBtn::before {
  content: url("../../images/mailIcon_noshadow.svg");
  vertical-align: middle;
  line-height: 0.5;
}
.mailBtn:hover {
  opacity: 0.7;
}

.yellowBtn {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.9rem;
  letter-spacing: 0.04em;
  font-weight: bold;
  color: #fff;
  background-color: #BC7E17;
}
.yellowBtn::before {
  content: url("../../images/mailIcon_noshadow.svg");
  vertical-align: middle;
  line-height: 0.5;
}
.yellowBtn:hover {
  color: #BC7E17;
  background-color: #fff;
  border: solid 2px #BC7E17;
}
.yellowBtn:hover::before {
  content: url(".../../images/mailIcon_hover.svg");
}

.contentTitleBox {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1em;
}
.contentTitleBox::before {
  content: "";
  position: absolute;
  bottom: -13px;
  display: inline-block;
  width: 48px;
  height: 3px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #333333;
}
.contentTitleBox .subTitle {
  font-size: 2rem;
  letter-spacing: 0.02em;
  color: #333333;
}
@media screen and (min-width: 480px) {
  .contentTitleBox .subTitle {
    font-size: 2.5rem;
    font-size: clamp(2rem, 4.1vw, 2.5rem);
  }
}
@media screen and (min-width: 769px) {
  .contentTitleBox .subTitle {
    font-size: 3.2rem;
    font-size: clamp(2.5rem, 3.2vw, 3.2rem);
  }
}
.contentTitleBox .title {
  font-size: 3.5rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
  color: #333333;
}
@media screen and (min-width: 480px) {
  .contentTitleBox .title {
    font-size: 4.5rem;
    font-size: clamp(4rem, 8.3vw, 4.5rem);
  }
}
@media screen and (min-width: 769px) {
  .contentTitleBox .title {
    font-size: 5.2rem;
    font-size: clamp(4.5rem, 5.8vw, 5.2rem);
  }
}

@media screen and (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/* MVスライダー
---------------------------------------------- */
.swiper {
  width: 100%;
  height: 100svh;
}
.swiper .swiper-wrapper .imgWrap {
  position: relative;
}
.swiper .swiper-wrapper .imgWrap img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.swiper .swiper-wrapper .imgWrap img:last-child {
  opacity: 0;
  -webkit-transition: opacity 1s ease-in-out 1s;
  transition: opacity 1s ease-in-out 1s;
}
.swiper .swiper-wrapper .imgWrap img:last-child.fadeIn {
  opacity: 1;
}

/* スクロールダウンを促すアイコン
---------------------------------------------- */
#mainVisual {
  position: relative;
}

.scrollDownWrapper {
  display: none;
}
@media screen and (min-width: 769px) {
  .scrollDownWrapper {
    display: block;
    z-index: 1;
    position: absolute;
    bottom: 40px;
    right: 4.4%;
  }
}

.scrollDown {
  position: relative;
  -webkit-animation: rotation 20s infinite linear;
          animation: rotation 20s infinite linear;
}

@-webkit-keyframes rotation {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes rotation {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.arrowDown {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-animation: move 1s infinite linear;
          animation: move 1s infinite linear;
  top: calc(50% - 48px);
  left: calc(50% - 24px);
}

@-webkit-keyframes move {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
}

@keyframes move {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
}
/* ナビゲーション
---------------------------------------------- */
#body {
  position: relative;
}
#body #header .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: absolute;
  width: 100%;
  height: 70px;
  padding-right: 4.4%;
  padding-left: 4.4%;
  background-color: #fff;
}
@media screen and (min-width: 769px) {
  #body #header .box {
    height: 115px;
  }
}
#body #header .box .logoBox_01 {
  position: absolute;
  z-index: 9;
  left: 4.4%;
  top: 4.4%;
}
@media screen and (min-width: 769px) {
  #body #header .box .logoBox_01 {
    top: 46px;
  }
}
#body #header .box .logoBox_01:hover {
  opacity: 0.7;
}
#body #header .box .logoBox_01 img {
  width: 50px;
}
@media screen and (min-width: 769px) {
  #body #header .box .logoBox_01 img {
    width: auto;
  }
}
#body #header .box .headerContainer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  height: 72px;
  margin-top: 0;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}
@media screen and (min-width: 769px) {
  #body #header .box .headerContainer {
    gap: 64px;
  }
}
#body #header .box .headerContainer .itemBox {
  display: none;
  z-index: 10;
  height: 20px;
}
@media screen and (min-width: 769px) {
  #body #header .box .headerContainer .itemBox {
    display: block;
  }
}
#body #header .box .headerContainer .itemBox .telBtn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
  background-color: transparent;
  font-size: 2rem;
}
#body #header .box .headerContainer .itemBox .telBtn:hover {
  border: none;
  color: #fff;
  opacity: 0.7;
}
#body #header .box .headerContainer .itemBox .telBtn:hover::before {
  content: url(../../images/telIcon_noshadow.svg);
}
#body #header .box .headerContainer .itemBox .mailBtn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
  background-color: transparent;
  font-size: 1.6rem;
  font-weight: 500;
  color: #ffffff;
}

#nav {
  position: fixed;
  z-index: 10;
  top: 0;
  right: -120%;
  width: 80%;
  height: 100%;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  padding: 0 2em;
  overflow-y: auto;
}
@media screen and (min-width: 769px) {
  #nav {
    height: 100%;
  }
}
#nav.active {
  right: 0;
}
#nav .boxWrapper {
  padding: 50px 0;
}
@media screen and (min-width: 769px) {
  #nav .boxWrapper {
    padding: 100px 60px;
  }
}
#nav .boxWrapper .items {
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 1.6rem;
  gap: 2em;
  margin-bottom: 2em;
}
@media screen and (min-width: 480px) {
  #nav .boxWrapper .items {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 769px) {
  #nav .boxWrapper .items {
    font-size: 2rem;
    margin-bottom: 100px;
  }
}
#nav .boxWrapper .items .item {
  font-weight: bold;
  letter-spacing: 0.05em;
}
#nav .boxWrapper .items .item a {
  color: #000;
}
#nav .boxWrapper .items .item a:hover {
  color: #686868;
}
#nav .boxWrapper .btnItems {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
#nav .boxWrapper .btnItems .telBtn {
  gap: 8px;
  padding: 8px;
}
#nav .boxWrapper .btnItems .yellowBtn {
  font-size: clamp(1.5rem, 4.1vw, 1.9rem);
}

.overlay.open {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, 0.26);
  z-index: 10;
}

.noScroll {
  overflow-y: clip;
}

#body.sticky #header {
  width: 100%;
  position: fixed;
  z-index: 10;
}
#body.sticky #header .box {
  height: 70px;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.08);
          box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.08);
}
#body.sticky #header .box .logoBox_01 {
  display: none;
}
#body.sticky #header .box .logoBox_02:hover {
  opacity: 0.7;
}
#body.sticky #header .box .headerContainer {
  text-shadow: none;
}
#body.sticky #header .box .headerContainer .telBtn {
  color: #333333;
}
#body.sticky #header .box .headerContainer .telBtn::before {
  content: url("../../images/telIcon_black.svg");
}
#body.sticky #header .box .headerContainer .mailBtn {
  color: #333333;
}
#body.sticky #header .box .headerContainer .mailBtn::before {
  content: url("../../images/mailIcon_black.svg");
}
#body.sticky #header .box .headerContainer .openBtn {
  -webkit-filter: none;
          filter: none;
}
#body.sticky #header .box .headerContainer .openBtn span {
  border-bottom: 1px solid #333;
}
#body.sticky #nav {
  top: 70px;
  height: calc(100% - 70px);
}

/* ハンバーガーメニュー
---------------------------------------------- */
.openBtnWrapper {
  z-index: 100;
}
.openBtnWrapper .openBtn {
  position: relative;
  right: 0;
  width: 50px;
  height: 50px;
  -webkit-filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.2));
  cursor: pointer;
}
.openBtnWrapper .openBtn span {
  position: absolute;
  border-bottom: 1px solid #fff;
  width: 100%;
  padding-left: 36px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.openBtnWrapper .openBtn span:nth-of-type(1) {
  top: 15px;
}
.openBtnWrapper .openBtn span:nth-of-type(2) {
  top: 25px;
}
.openBtnWrapper .openBtn span:nth-of-type(3) {
  top: 35px;
  width: 68%;
}
.openBtnWrapper .openBtn.active span {
  border-bottom: 1px solid #333;
}
.openBtnWrapper .openBtn.active span:nth-of-type(1) {
  top: 18px;
  -webkit-transform: translateY(6px) rotate(-45deg);
          transform: translateY(6px) rotate(-45deg);
  width: 100%;
}
.openBtnWrapper .openBtn.active span:nth-of-type(2) {
  opacity: 0;
}
.openBtnWrapper .openBtn.active span:nth-of-type(3) {
  top: 30px;
  -webkit-transform: translateY(-6px) rotate(45deg);
          transform: translateY(-6px) rotate(45deg);
  width: 100%;
}

/* MV
---------------------------------------------- */
#mainVisual .subText {
  position: absolute;
  bottom: 41%;
  right: 4.4%;
  z-index: 1;
  font-family: "Overpass", sans-serif;
  font-size: 1.2rem;
  color: #fff;
  letter-spacing: 0.03em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-weight: 200;
  opacity: 0.7;
}
@media screen and (min-width: 480px) {
  #mainVisual .subText {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 769px) {
  #mainVisual .subText {
    bottom: 30%;
    font-size: 1.6rem;
  }
}

.mvTitle {
  position: absolute;
  z-index: 1;
  left: 4.4%;
  bottom: 40px;
  margin-right: 4.4%;
}
@media screen and (min-width: 769px) {
  .mvTitle {
    margin-right: 0;
  }
}
.mvTitle .titleBox {
  margin: 0 0 -4% 0;
}
.mvTitle .titleBox img {
  margin-left: -5%;
  width: 110%;
}
@media screen and (min-width: 769px) {
  .mvTitle .titleBox img {
    width: 767px;
  }
}
.mvTitle .titleBottomBox {
  font-family: "Noto Sans JP", sans-serif;
  max-width: 684px;
  width: 100%;
  color: #fff;
  border: solid 1px #fff;
  padding: 13px 4px;
  text-shadow: 0px 0px 24px rgba(0, 0, 0, 0.3215686275);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 480px) {
  .mvTitle .titleBottomBox {
    padding: 13px 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.mvTitle .titleBottomBox .left {
  border-bottom: 1px solid;
  padding-bottom: 13px;
}
@media screen and (min-width: 480px) {
  .mvTitle .titleBottomBox .left {
    border-bottom: none;
    border-right: 1px solid;
    padding-right: 4%;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 769px) {
  .mvTitle .titleBottomBox .left {
    padding-right: 6.5%;
  }
}
.mvTitle .titleBottomBox .left .item_01 {
  font-size: 1.6rem;
  font-weight: 300;
  letter-spacing: 0.01em;
  line-height: 1.3;
  margin-bottom: 6px;
  font-weight: 500;
}
@media screen and (min-width: 480px) {
  .mvTitle .titleBottomBox .left .item_01 {
    font-size: 1.5rem;
    font-size: clamp(1.5rem, 3.1vw, 1.8rem);
    letter-spacing: 0;
  }
}
@media screen and (min-width: 769px) {
  .mvTitle .titleBottomBox .left .item_01 {
    font-size: 1.8rem;
  }
}
.mvTitle .titleBottomBox .left .item_02 {
  font-size: 1.8rem;
  font-weight: bold;
}
@media screen and (min-width: 480px) {
  .mvTitle .titleBottomBox .left .item_02 {
    font-size: 1.7rem;
  }
}
@media screen and (min-width: 769px) {
  .mvTitle .titleBottomBox .left .item_02 {
    font-size: 2.4rem;
  }
}
.mvTitle .titleBottomBox .left .item_02 .tb-rl {
  font-size: 1.5rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  margin-bottom: -2px;
}
@media screen and (min-width: 480px) {
  .mvTitle .titleBottomBox .left .item_02 .tb-rl {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 769px) {
  .mvTitle .titleBottomBox .left .item_02 .tb-rl {
    font-size: 1.6rem;
  }
}
.mvTitle .titleBottomBox .left .item_02 .num {
  font-family: "Overpass", sans-serif;
  font-size: 3rem;
  font-style: italic;
  line-height: 0;
}
@media screen and (min-width: 769px) {
  .mvTitle .titleBottomBox .left .item_02 .num {
    font-size: 4.1rem;
  }
}
.mvTitle .titleBottomBox .left .item_02 .numWord {
  font-size: 1.8rem;
}
.mvTitle .titleBottomBox .left .item_03 .pointInTime {
  font-size: 1.3rem;
  margin-top: 4px;
  display: inline-block;
  letter-spacing: 0.01em;
}
.mvTitle .titleBottomBox .right {
  padding-top: 13px;
}
@media screen and (min-width: 480px) {
  .mvTitle .titleBottomBox .right {
    padding-top: 0;
    padding-left: 4%;
  }
}
@media screen and (min-width: 769px) {
  .mvTitle .titleBottomBox .right {
    padding-left: 6.5%;
  }
}
.mvTitle .titleBottomBox .right .item .name {
  display: block;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 480px) {
  .mvTitle .titleBottomBox .right .item .name {
    font-size: 1.7rem;
    font-size: clamp(1.7rem, 3.5vw, 2.5rem);
  }
}
@media screen and (min-width: 769px) {
  .mvTitle .titleBottomBox .right .item .name {
    font-size: 2.5rem;
  }
}
.mvTitle .titleBottomBox .right .item .option_01 {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 769px) {
  .mvTitle .titleBottomBox .right .item .option_01 {
    font-size: 1.8rem;
    font-size: clamp(1.5rem, 1.9vw, 1.8rem);
  }
}
.mvTitle .titleBottomBox .right .item .option_02 {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 769px) {
  .mvTitle .titleBottomBox .right .item .option_02 {
    font-size: 2.2rem;
    font-size: clamp(1.8rem, 2.3vw, 2.2rem);
  }
}

/* 年末年始休業期間のご案内
---------------------------------------------- */
#topics {
  padding-top: 120px;
}
@media screen and (min-width: 480px) {
  #topics {
    padding-top: 160px;
  }
}
#topics .box {
  padding: 56px 20px;
  background-color: #fff;
}
#topics .box .contentTitleBox {
  margin-bottom: 56px;
}
#topics .box .contentTitleBox .subTitle {
  line-height: 1.6;
}
#topics .box .textWrap {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: center;
}
@media screen and (min-width: 769px) {
  #topics .box .textWrap {
    font-size: 1.8rem;
    font-size: clamp(1.6rem, 2vw, 1.8rem);
  }
}
#topics .box .textWrap .insert {
  padding-bottom: 16px;
  border-bottom: 1px solid #d4d4d4;
  max-width: 600px;
  margin: 0 auto 16px;
}
#topics .box .textWrap .date {
  display: block;
  padding-bottom: 16px;
  font-weight: 700;
  border-bottom: 1px solid #d4d4d4;
  max-width: 600px;
  margin: 0 auto 16px;
}
#topics .box .textWrap .date span {
  display: block;
  font-size: 2.4rem;
}

/* お客様に合わせたプラン設定
---------------------------------------------- */
#plan {
  padding-top: 100px;
}
#plan .contentTitleBox {
  margin-bottom: 56px;
}
@media screen and (min-width: 480px) {
  #plan .contentTitleBox {
    margin-bottom: 96px;
  }
}
#plan .planWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 20px;
  gap: 20px;
}
@media screen and (min-width: 480px) {
  #plan .planWrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#plan .planWrapper .planItem {
  font-family: "Noto Sans JP", sans-serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #103772;
  color: #fff;
  font-weight: bold;
  padding: 30px;
  width: 100%;
}
@media screen and (min-width: 480px) {
  #plan .planWrapper .planItem {
    width: 50%;
  }
}
@media screen and (min-width: 769px) {
  #plan .planWrapper .planItem {
    padding: 40px 20px;
  }
}
#plan .planWrapper .planItem .title {
  text-align: center;
  font-size: 2.4rem;
  margin-bottom: 30px;
}
@media screen and (min-width: 480px) {
  #plan .planWrapper .planItem .title {
    font-size: 2.4rem;
    font-size: clamp(1.6rem, 3.3vw, 2.4rem);
  }
}
@media screen and (min-width: 769px) {
  #plan .planWrapper .planItem .title {
    margin-bottom: 40px;
    font-size: 2.4rem;
    font-size: clamp(1.8rem, 2.3vw, 2.4rem);
  }
  #plan .planWrapper .planItem .title .br {
    display: none;
  }
}
#plan .planWrapper .planItem .img {
  width: 100%;
  margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
  #plan .planWrapper .planItem .img {
    margin-bottom: 50px;
  }
}
#plan .planWrapper .planItem .price .num {
  font-size: 4rem;
  font-family: "Overpass", sans-serif;
  letter-spacing: -0.06em;
}
@media screen and (min-width: 480px) {
  #plan .planWrapper .planItem .price .num {
    font-size: 5rem;
    font-size: clamp(2.5rem, 5.2vw, 5rem);
  }
}
@media screen and (min-width: 769px) {
  #plan .planWrapper .planItem .price .num {
    font-size: 8rem;
    font-size: clamp(5rem, 6.5vw, 8rem);
  }
}
#plan .planWrapper .planItem .price .numWord {
  font-size: 2.25rem;
}
@media screen and (min-width: 480px) {
  #plan .planWrapper .planItem .price .numWord {
    font-size: 2.3rem;
    font-size: clamp(1.8rem, 3.75vw, 2.3rem);
  }
}
@media screen and (min-width: 769px) {
  #plan .planWrapper .planItem .price .numWord {
    font-size: 3.6rem;
    font-size: clamp(2.3rem, 2.9vw, 3.6rem);
  }
}
#plan .planWrapper .planItem .price .tax {
  text-align: center;
  font-size: 2rem;
  color: #C7D0D9;
}
@media screen and (min-width: 480px) {
  #plan .planWrapper .planItem .price .tax {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 769px) {
  #plan .planWrapper .planItem .price .tax {
    font-size: 2.4rem;
    font-size: clamp(1.5rem, 1.9vw, 2.4rem);
  }
}
#plan .planWrapper .planItem .text {
  font-size: 1.6rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 500;
  margin-top: 1em;
  text-align: center;
}
@media screen and (min-width: 480px) {
  #plan .planWrapper .planItem .text {
    text-align: left;
  }
}
#plan .optionWrapper {
  font-family: "Noto Sans JP", sans-serif;
  background-color: #fff;
  padding: 3.9%;
  margin-bottom: 24px;
}
#plan .optionWrapper .title {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 23px;
}
@media screen and (min-width: 480px) {
  #plan .optionWrapper .title {
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 769px) {
  #plan .optionWrapper .title {
    font-size: 2.8rem;
  }
}
#plan .optionWrapper .optionItems {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}
@media screen and (min-width: 480px) {
  #plan .optionWrapper .optionItems {
    gap: 20px;
  }
}
@media screen and (min-width: 769px) {
  #plan .optionWrapper .optionItems {
    gap: 5%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
#plan .optionWrapper .optionItems .item {
  width: 45%;
}
@media screen and (min-width: 480px) {
  #plan .optionWrapper .optionItems .item {
    width: 30%;
  }
}
@media screen and (min-width: 769px) {
  #plan .optionWrapper .optionItems .item {
    width: auto;
  }
}
#plan .optionWrapper .optionItems .item img {
  width: 100%;
}
#plan .optionWrapper .optionItems .item .text {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.375;
  text-align: center;
}
#plan .attention {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (min-width: 769px) {
  #plan .attention {
    font-size: 1.8rem;
    font-size: clamp(1.6rem, 2vw, 1.8rem);
  }
}
#plan .btnItemWrapper {
  max-width: 357px;
  margin: 0 auto;
}
#plan .btnItemWrapper .btnItem {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  gap: 40px;
}
#plan .btnItemWrapper .btnItem::before {
  content: none;
}
#plan .btnItemWrapper .btnItem::after {
  content: url("../../images/arrowDownIcon.svg");
  vertical-align: middle;
  margin-right: -5px;
  line-height: 0.5;
}
#plan .btnItemWrapper .btnItem:hover::after {
  content: url("../../images/arrow_down_hover.svg");
}

/* イチタスの物件撮影が選ばれる理由
---------------------------------------------- */
#reason {
  padding-top: 120px;
}
@media screen and (min-width: 480px) {
  #reason {
    padding-top: 160px;
  }
}
#reason .contentTitleBox {
  margin-bottom: 56px;
}
@media screen and (min-width: 480px) {
  #reason .contentTitleBox {
    margin-bottom: 156px;
  }
}
#reason .reasonList .listItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 40px;
  border-top: 1px solid #707070;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
#reason .reasonList .listItem:not(:nth-last-of-type(1)) {
  padding-bottom: 40px;
}
@media screen and (min-width: 769px) {
  #reason .reasonList .listItem {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 60px;
  }
}
#reason .reasonList .listItem .imageArea {
  max-width: 346px;
}
#reason .reasonList .listItem .imageArea img {
  width: 100%;
}
#reason .reasonList .listItem .textArea {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#reason .reasonList .listItem .textArea .reasonTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 24px;
}
@media screen and (min-width: 769px) {
  #reason .reasonList .listItem .textArea .reasonTitle {
    text-align: left;
    margin-bottom: 28px;
  }
}
#reason .reasonList .listItem .textArea .reasonText {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.125;
  margin-bottom: 24px;
}
@media screen and (min-width: 769px) {
  #reason .reasonList .listItem .textArea .reasonText {
    margin-bottom: 1rem;
  }
}
#reason .reasonList .listItem .textArea .tradingCompany {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
@media screen and (min-width: 480px) {
  #reason .reasonList .listItem .textArea .tradingCompany {
    gap: 13px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#reason .reasonList .listItem .textArea .tradingCompany span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
}
#reason .reasonList .listItem .textArea .tradingCompany .companyList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 480px) {
  #reason .reasonList .listItem .textArea .tradingCompany .companyList {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: unset;
        -ms-flex-pack: unset;
            justify-content: unset;
  }
}

/* 高品質写真を維持する3つの秘訣
---------------------------------------------- */
#secret {
  margin-bottom: 100px;
  padding-top: 120px;
}
@media screen and (min-width: 769px) {
  #secret {
    padding-top: 160px;
    margin-bottom: 200px;
  }
}
#secret .contentTitleBox {
  margin-bottom: 56px;
}
@media screen and (min-width: 769px) {
  #secret .contentTitleBox {
    margin-bottom: 116px;
  }
}
#secret .secretList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 13px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 769px) {
  #secret .secretList {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#secret .secretList li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  border: 2px solid #103772;
  padding: 20px 3.8% 3.8%;
  width: 100%;
}
@media screen and (min-width: 769px) {
  #secret .secretList li {
    width: calc((100% - 26px) / 3);
  }
}
#secret .secretList li .pointNum {
  background-color: #EF8F00;
  color: #ffffff;
  font-size: 1.4rem;
  padding: 5px;
  font-weight: 600;
  margin-bottom: 16px;
}
@media screen and (min-width: 769px) {
  #secret .secretList li .pointNum {
    margin-bottom: 33px;
  }
}
#secret .secretList li .imageWrap {
  max-width: 72px;
  margin-bottom: 16px;
}
@media screen and (min-width: 769px) {
  #secret .secretList li .imageWrap {
    margin-bottom: 35px;
    height: 70px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
#secret .secretList li .imageWrap img {
  width: 100%;
}
#secret .secretList li .title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  color: #103772;
  border-bottom: 1px solid #D4D4D4;
  padding-bottom: 16px;
  margin-bottom: 16px;
}
@media screen and (min-width: 769px) {
  #secret .secretList li .title {
    font-size: 2.4rem;
    font-size: clamp(1.7rem, 2.2vw, 2.4rem);
    padding-bottom: 40px;
    margin-bottom: 25px;
  }
}
#secret .secretList li .text {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.125;
}

/* ご依頼 ～ 納品までの流れ
---------------------------------------------- */
#flow {
  padding: 96px 20px;
  background-color: #103772;
}
@media screen and (min-width: 769px) {
  #flow {
    padding: 160px 20px;
  }
}
#flow .contentTitleBox {
  margin-bottom: 56px;
}
@media screen and (min-width: 769px) {
  #flow .contentTitleBox {
    margin-bottom: 116px;
  }
}
#flow .contentTitleBox::before {
  background-color: #fff;
}
@media screen and (min-width: 480px) {
  #flow .contentTitleBox {
    margin-bottom: 116px;
  }
}
#flow .contentTitleBox .title {
  color: #fff;
  font-size: 3rem;
  font-size: clamp(2.4rem, 6.6vw, 3rem);
}
@media screen and (min-width: 480px) {
  #flow .contentTitleBox .title {
    font-size: 4.5rem;
    font-size: clamp(3rem, 6.25vw, 4.5rem);
  }
}
@media screen and (min-width: 769px) {
  #flow .contentTitleBox .title {
    font-size: 5.2rem;
    font-size: clamp(4.5rem, 5.8vw, 5.2rem);
  }
}
#flow .itemWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4.5em 5%;
  max-width: 980px;
  margin: 0 auto;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 480px) {
  #flow .itemWrapper {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2%;
  }
}
@media screen and (min-width: 769px) {
  #flow .itemWrapper {
    gap: 5%;
  }
}
#flow .itemWrapper .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  width: 45%;
}
@media screen and (min-width: 480px) {
  #flow .itemWrapper .item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    width: auto;
  }
}
#flow .itemWrapper .item .stepWrapper {
  font-family: "Overpass", sans-serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
#flow .itemWrapper .item .stepWrapper .step {
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  font-weight: 600;
}
@media screen and (min-width: 480px) {
  #flow .itemWrapper .item .stepWrapper .step {
    font-size: 1.6rem;
  }
}
#flow .itemWrapper .item .stepWrapper .num {
  font-size: 3.6rem;
  font-weight: 600;
}
@media screen and (min-width: 480px) {
  #flow .itemWrapper .item .stepWrapper .num {
    font-size: 4rem;
    font-size: clamp(3rem, 6.25vw, 4rem);
  }
}
@media screen and (min-width: 769px) {
  #flow .itemWrapper .item .stepWrapper .num {
    font-size: 4.8rem;
    font-size: clamp(4rem, 5.2vw, 4.8rem);
  }
}
#flow .itemWrapper .item .imgWrapper {
  position: relative;
  max-width: 180px;
  margin-bottom: 7.45%;
}
#flow .itemWrapper .item .imgWrapper img {
  width: 100%;
  height: auto;
}
#flow .itemWrapper .item .imgWrapper .arrowBox {
  position: absolute;
  max-width: 65px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -65px;
}
@media screen and (min-width: 480px) {
  #flow .itemWrapper .item .imgWrapper .arrowBox {
    max-width: 70px;
    right: -70px;
  }
}
#flow .itemWrapper .item .imgWrapper .arrowBox .arrow {
  width: 50%;
  height: auto;
}
@media screen and (min-width: 769px) {
  #flow .itemWrapper .item .imgWrapper .arrowBox .arrow {
    width: 100%;
  }
}
#flow .itemWrapper .item .imgWrapper .wrapBefore {
  display: block;
  left: -33px;
}
@media screen and (min-width: 480px) {
  #flow .itemWrapper .item .imgWrapper .wrapBefore {
    display: none;
  }
}
#flow .itemWrapper .item .title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  margin-bottom: 7.2%;
}
@media screen and (min-width: 480px) {
  #flow .itemWrapper .item .title {
    font-size: 2.2rem;
    font-size: clamp(1.5rem, 3.125vw, 2.2rem);
  }
}
#flow .itemWrapper .item .text {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.75;
  max-width: 206px;
}
@media screen and (min-width: 480px) {
  #flow .itemWrapper .item .text {
    font-size: 1.6rem;
  }
}

/* 物件撮影のお困りごと、イデアイチタスが解決します！
---------------------------------------------- */
#case {
  padding-top: 120px;
}
@media screen and (min-width: 769px) {
  #case {
    padding-top: 160px;
  }
}
#case .title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.1rem;
  font-size: clamp(2.2rem, 6.1vw, 3.1rem);
  text-align: center;
  margin-bottom: 48px;
  line-height: 1.6;
}
@media screen and (min-width: 480px) {
  #case .title {
    font-size: 4rem;
    font-size: clamp(3.1rem, 6.4vw, 4rem);
    margin-bottom: 79px;
  }
}
#case .itemWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 14px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 48px;
}
@media screen and (min-width: 769px) {
  #case .itemWrapper {
    max-width: 1046px;
    margin: 0 auto 80px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-bottom: 80px;
  }
}
#case .itemWrapper .item:nth-of-type(2) .itemTop .problem {
  gap: 42px;
}
@media screen and (min-width: 769px) {
  #case .itemWrapper .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
  }
}
#case .itemWrapper .item .itemTop {
  font-family: "Noto Sans JP", sans-serif;
  background-color: #fff;
  padding: 5.7%;
  height: auto;
}
@media screen and (min-width: 769px) {
  #case .itemWrapper .item .itemTop {
    height: 407px;
    padding: 10%;
  }
}
#case .itemWrapper .item .itemTop .num {
  font-family: "Overpass", sans-serif;
  font-weight: 600;
  display: block;
  margin-bottom: 16px;
  font-size: 1.4rem;
}
@media screen and (min-width: 769px) {
  #case .itemWrapper .item .itemTop .num {
    margin-bottom: 40px;
  }
}
#case .itemWrapper .item .itemTop .problem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 42px;
}
@media screen and (min-width: 480px) {
  #case .itemWrapper .item .itemTop .problem {
    gap: 57px;
  }
}
#case .itemWrapper .item .itemTop .problem .problemTitle {
  text-align: center;
}
#case .itemWrapper .item .itemTop .problem .problemTitle .titleItem_01 {
  font-size: 1.8rem;
  line-height: 1.4;
  font-weight: normal;
  opacity: 0.8;
  margin-bottom: 5px;
}
@media screen and (min-width: 769px) {
  #case .itemWrapper .item .itemTop .problem .problemTitle .titleItem_01 {
    font-size: 1.8rem;
    font-size: clamp(1.4rem, 1.8vw, 1.8rem);
  }
}
#case .itemWrapper .item .itemTop .problem .problemTitle .titleItem_02 {
  font-size: 2.2rem;
  line-height: 1.36;
}
@media screen and (min-width: 769px) {
  #case .itemWrapper .item .itemTop .problem .problemTitle .titleItem_02 {
    font-size: 2.2rem;
    font-size: clamp(1.6rem, 2vw, 2.2rem);
  }
}
#case .itemWrapper .item .itemTop .problem .problemTitle .titleItem_02 span {
  display: inline-block;
  border-bottom: 2px solid;
  color: #103772;
  margin-bottom: 6px;
}
#case .itemWrapper .item .itemTop .problem .problemImage_01 {
  width: 100%;
  height: auto;
  max-width: 183px;
}
#case .itemWrapper .item .itemTop .problem .problemImage_02 {
  width: 100%;
  height: auto;
  max-width: 97px;
}
#case .itemWrapper .item .itemTop .problem .problemImage_03 {
  width: 100%;
  height: auto;
  max-width: 114px;
}
#case .itemWrapper .item .itemBottom {
  position: relative;
  padding: 5.7%;
  color: #fff;
  background-color: #103772;
  height: auto;
}
@media screen and (min-width: 769px) {
  #case .itemWrapper .item .itemBottom {
    min-height: 349px;
    padding: 10%;
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
}
#case .itemWrapper .item .itemBottom .text {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  line-height: 2.1;
  font-weight: 500;
}
@media screen and (min-width: 480px) {
  #case .itemWrapper .item .itemBottom .text {
    font-size: 1.6rem;
  }
}
#case .itemWrapper .item .itemBottom .itemArrow {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 14px solid transparent;
  border-right: 14px solid transparent;
  border-top: 16px solid #fff;
}
#case .btnItemWrapper {
  max-width: 292px;
  margin: 0 auto;
}

/* イチタスのバーチャルステージング
---------------------------------------------- */
#feature {
  padding-top: 120px;
}
@media screen and (min-width: 480px) {
  #feature {
    padding-top: 160px;
  }
}
#feature .contentTitleBox {
  margin-bottom: 56px;
}
@media screen and (min-width: 480px) {
  #feature .contentTitleBox {
    margin-bottom: 96px;
  }
}
#feature .contentTitleBox .title {
  font-size: 3rem;
  font-size: clamp(2.4rem, 6.6vw, 3rem);
}
@media screen and (min-width: 480px) {
  #feature .contentTitleBox .title {
    font-size: 4.5rem;
    font-size: clamp(3rem, 6.25vw, 4.5rem);
  }
}
@media screen and (min-width: 769px) {
  #feature .contentTitleBox .title {
    font-size: 5.2rem;
    font-size: clamp(4.5rem, 5.8vw, 5.2rem);
  }
}
#feature .featureItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: 96px;
}
@media screen and (min-width: 480px) {
  #feature .featureItem {
    margin-bottom: 120px;
  }
}
@media screen and (min-width: 769px) {
  #feature .featureItem {
    margin-bottom: 160px;
  }
}
#feature .featureItem:nth-last-of-type(1) {
  margin-bottom: 0;
}
#feature .featureItem:nth-of-type(1) .contentWrapper .text {
  margin-bottom: 40px;
}
@media screen and (min-width: 480px) {
  #feature .featureItem:nth-of-type(1) .contentWrapper .text {
    margin-bottom: 80px;
  }
}
#feature .featureItem .imgWrapper img {
  width: 100%;
  height: auto;
}
#feature .featureItem .contentWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: -5.77%;
  width: 92%;
  background-color: #F5F5F5;
  padding: 5.7% 12.5% 0 4.5%;
}
#feature .featureItem .contentWrapper .box:not(:nth-last-of-type(1)) {
  margin-bottom: 96px;
}
#feature .featureItem .contentWrapper .beforeAfter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 480px) {
  #feature .featureItem .contentWrapper .beforeAfter {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#feature .featureItem .contentWrapper .beforeAfter .imageWrap img {
  width: 100%;
  height: auto;
}
#feature .featureItem .contentWrapper .title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-size: clamp(1.7rem, 4.7vw, 1.8rem);
  line-height: 1.68;
  font-weight: bold;
  margin-bottom: 5.8%;
}
@media screen and (min-width: 480px) {
  #feature .featureItem .contentWrapper .title {
    font-size: 2.4rem;
    font-size: clamp(1.8rem, 3.75vw, 2.4rem);
  }
}
@media screen and (min-width: 769px) {
  #feature .featureItem .contentWrapper .title {
    font-size: 3.2rem;
    font-size: clamp(2.1rem, 2.7vw, 3.2rem);
  }
}
#feature .featureItem .contentWrapper .title .br_01 {
  display: none;
}
@media screen and (min-width: 769px) {
  #feature .featureItem .contentWrapper .title .br_01 {
    display: inline;
  }
}
@media screen and (min-width: 769px) {
  #feature .featureItem .contentWrapper .title .br_02 {
    display: none;
  }
}
#feature .featureItem .contentWrapper .title .br_03 {
  display: none;
}
@media screen and (min-width: 480px) {
  #feature .featureItem .contentWrapper .title .br_03 {
    display: inline;
  }
}
#feature .featureItem .contentWrapper .text {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  line-height: 2.125;
  font-weight: 500;
}
@media screen and (min-width: 480px) {
  #feature .featureItem .contentWrapper .text {
    font-size: 1.6rem;
  }
}
#feature .featureItem .contentWrapper .styleImgWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px 7.5%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 480px) {
  #feature .featureItem .contentWrapper .styleImgWrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 7.5%;
  }
}
#feature .featureItem .contentWrapper .styleImgWrapper .item img {
  width: 100%;
  height: auto;
  margin-bottom: 3.7%;
}
#feature .featureItem .contentWrapper .styleImgWrapper .item .styleTitleWrapper {
  width: 100%;
  display: block;
  text-align: center;
}
#feature .featureItem .contentWrapper .styleImgWrapper .item .styleTitleWrapper .styleTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 1.25;
  font-weight: 500;
}
@media screen and (min-width: 480px) {
  #feature .featureItem .contentWrapper .styleImgWrapper .item .styleTitleWrapper .styleTitle {
    font-size: 1.6rem;
  }
}

/* 撮影実績
---------------------------------------------- */
#works {
  padding-top: 120px;
  /* パノラマビュー部分 */
  /* サムネイル部分 */
}
@media screen and (min-width: 769px) {
  #works {
    padding-top: 160px;
  }
}
#works .contentTitleBox {
  margin-bottom: 56px;
}
@media screen and (min-width: 769px) {
  #works .contentTitleBox {
    margin-bottom: 141px;
  }
}
#works .contents {
  padding: 8%;
  background-color: #fff;
  margin-bottom: 8%;
}
#works .contents:nth-last-of-type(1) {
  margin-bottom: 0;
}
#works .contents .title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  margin-bottom: 20px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  #works .contents .title {
    font-size: 2.6rem;
    margin-bottom: 39px;
  }
}
#works .contents .itemWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px;
}
#works .contents .itemWrapper .item {
  width: calc((100% - 18px) / 2);
  list-style: none;
}
@media screen and (min-width: 480px) {
  #works .contents .itemWrapper .item {
    width: calc((100% - 18px) / 3);
  }
}
@media screen and (min-width: 769px) {
  #works .contents .itemWrapper .item {
    width: calc((100% - 18px) / 4);
  }
}
#works .contents .itemWrapper .item a img {
  width: 100%;
  height: auto;
}
#works .contents .itemWrapper .col3 {
  width: calc((100% - 18px) / 2);
}
@media screen and (min-width: 480px) {
  #works .contents .itemWrapper .col3 {
    width: calc((100% - 12px) / 3);
  }
}
@media screen and (min-width: 769px) {
  #works .panoramaContents {
    padding: 8% 20%;
  }
}
#works .panoramaContents .text {
  font-size: 1.4rem;
  text-align: center;
  margin-bottom: 1em;
  font-weight: 500;
}
@media screen and (min-width: 480px) {
  #works .panoramaContents .text {
    font-size: 1.6rem;
  }
}
#works #panorama {
  width: 100%;
  height: 50vw;
  max-height: 500px;
}
#works .panorama-navs {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-left: 0;
  margin-left: -3px;
  margin-right: -3px;
}
#works .panorama-navs li {
  width: 33.3333333333%;
  padding: 3px 5px;
}
#works .panorama-navs li > a {
  display: inline-block;
  background-color: #fff;
}
#works .panorama-navs li > a > img {
  width: 100%;
  height: auto;
}
#works .panorama-navs li > a:hover img {
  opacity: 0.65;
  cursor: pointer;
}

/* オプション一覧
---------------------------------------------- */
#optionAll {
  padding-top: 120px;
}
@media screen and (min-width: 769px) {
  #optionAll {
    padding-top: 160px;
  }
}
#optionAll .contentTitleBox {
  margin-bottom: 56px;
}
@media screen and (min-width: 480px) {
  #optionAll .contentTitleBox {
    margin-bottom: 116px;
  }
}
#optionAll .priceList {
  border-collapse: collapse;
  font-size: 1.4rem;
  width: 100%;
}
@media screen and (min-width: 480px) {
  #optionAll .priceList {
    font-size: 1.6rem;
  }
}
#optionAll .priceList tbody tr {
  border-top: solid 1px #333333;
  border-left: solid 1px #333333;
  border-right: solid 1px #333333;
  border-bottom: solid 1px #fff;
}
#optionAll .priceList tbody tr:nth-last-of-type(1) {
  border-bottom: solid 1px #333333;
}
#optionAll .priceList tbody tr th {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  background-color: #103772;
  color: #fff;
  width: 30%;
}
@media screen and (min-width: 480px) {
  #optionAll .priceList tbody tr th {
    padding: 1em;
    width: 110px;
  }
}
#optionAll .priceList tbody tr td {
  font-weight: 500;
  border: solid 1px #333333;
  padding: 1em;
  background-color: #fff;
}

/* よくある質問
---------------------------------------------- */
#faq {
  padding: 120px 20px;
}
@media screen and (min-width: 769px) {
  #faq {
    padding: 160px 20px 67px 20px;
  }
}
#faq .contentTitleBox {
  margin-bottom: 56px;
}
@media screen and (min-width: 769px) {
  #faq .contentTitleBox {
    margin-bottom: 96px;
  }
}
#faq .faqWrapper {
  list-style: none;
  max-width: 980px;
  margin: 0 auto 56px;
}
@media screen and (min-width: 769px) {
  #faq .faqWrapper {
    margin: 0 auto 80px;
  }
}
#faq .faqWrapper .item.rotate .title::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
#faq .faqWrapper .item {
  padding-top: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #D4D4D4;
  cursor: pointer;
}
#faq .faqWrapper .item:nth-of-type(1) {
  padding-top: 0;
}
#faq .faqWrapper .item .title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#faq .faqWrapper .item .title::after {
  position: absolute;
  right: 0;
  content: url(../../images/faq_arrow.svg);
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
#faq .faqWrapper .item .title .q {
  font-family: "Overpass", sans-serif;
  color: #103772;
  font-weight: 600;
  font-size: 3.5rem;
  line-height: 1;
}
@media screen and (min-width: 769px) {
  #faq .faqWrapper .item .title .q {
    font-size: 4.8rem;
  }
}
#faq .faqWrapper .item .title .question {
  width: 80%;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  margin-left: 16px;
}
@media screen and (min-width: 769px) {
  #faq .faqWrapper .item .title .question {
    line-height: 2.15;
    font-size: 2rem;
  }
}
#faq .faqWrapper .item .answer {
  display: none;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 2;
  padding-left: 41px;
}
@media screen and (min-width: 769px) {
  #faq .faqWrapper .item .answer {
    font-size: 1.6rem;
    padding-left: 50px;
  }
}
#faq .btnItemWrapper {
  max-width: 387px;
  margin: 0 auto;
}
#faq .btnItemWrapper .yellowBtn {
  font-size: 1.9rem;
  font-size: clamp(1.7rem, 4.7vw, 1.9rem);
}

/* ページトップボタン
---------------------------------------------- */
.topArrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-bottom: 40px;
  padding: 0 20px;
}
@media screen and (min-width: 769px) {
  .topArrow {
    padding: 0 60px;
  }
}

/* フッター
---------------------------------------------- */
#footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #103772;
  padding: 80px 20px;
}
#footer .logoWrapper {
  max-width: 56px;
  margin-bottom: 24px;
}
#footer .logoWrapper img {
  width: 100%;
  height: auto;
}
#footer .companyName {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #fff;
  font-size: 1.4rem;
}
@media screen and (min-width: 480px) {
  #footer .companyName {
    font-size: 1.6rem;
  }
}/*# sourceMappingURL=index.css.map */