@charset "UTF-8";
:root {
  --color-white: #fff;
  --color-black: #000;
  --color-blue: #004ea2;
  --color-red: #c50923;
  --color-gray: #818f9a;
  --color-border-gray: #dddddd;
  --color-border-grad: linear-gradient(to right,#004ea2,#c50923);
  --color-footer-bg: linear-gradient(to bottom,#ffffff,#f2ecf1,#d9e5f1);
  --color-menu-bg: linear-gradient(45deg,#f9e7e8,#d6e3f0);
  --color-movie-bg: linear-gradient(to right,#ebf1f8,#fbeded);
  --color-character-bg: linear-gradient(to top,#ebf1f8,#faf8f9,#ffffff);
  --font-w-light: 300;
  --font-w-regular: 400;
  --font-w-medium: 500;
  --font-w-semibold: 600;
  --font-w-bold: 700;
  --ease-main: cubic-bezier(0.33, 1, 0.68, 1);
  --font-jp: "Zen Old Mincho","游ゴシック", YuGothic, "Helvetica", "ヒラギノ角ゴ ProN W3", "HiVragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Arial, sans-serif;
  --font-en: "Cormorant", "Zen Old Mincho", "游ゴシック", YuGothic, "Helvetica", "ヒラギノ角ゴ ProN W3", "HiVragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Arial, sans-serif;
}

.p-camera__contents {
  opacity: 0;
  -webkit-transform: translateY(4px);
          transform: translateY(4px);
  -webkit-transition: opacity 0.7s var(--ease-main) 0.1s, -webkit-transform 0.7s var(--ease-main) 0.1s;
  transition: opacity 0.7s var(--ease-main) 0.1s, -webkit-transform 0.7s var(--ease-main) 0.1s;
  transition: opacity 0.7s var(--ease-main) 0.1s, transform 0.7s var(--ease-main) 0.1s;
  transition: opacity 0.7s var(--ease-main) 0.1s, transform 0.7s var(--ease-main) 0.1s, -webkit-transform 0.7s var(--ease-main) 0.1s;
}
@media only screen and (max-width:899px) {
  .p-camera__contents {
    margin: 0 auto;
  }
}
.is-load .p-camera__contents {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.p-camera {
  padding: 80px 0 177px;
}
@media screen and (max-width: 899px) {
  .p-camera {
    padding: 84px 0 128px;
  }
}
@media only screen and (max-width:899px) {
  .p-camera .c-title__text {
    display: block;
  }
  .p-camera .c-title__text .p-in-sub {
    margin-left: 0;
  }
}
.p-camera__title {
  width: 72%;
  max-width: 1200px;
  margin: 0 auto;
}
@media only screen and (max-width:899px) {
  .p-camera__title {
    width: 90%;
  }
}
.p-camera__contents {
  margin-top: 72px;
  padding-bottom: 7rem;
}
.p-camera__contents_head {
  width: 72%;
  max-width: 1200px;
  margin: 6rem auto;
}
@media only screen and (max-width:899px) {
  .p-camera__contents_head {
    width: 90%;
  }
}
.p-camera__contents_ttl {
  max-width: 400px;
  margin: 0 auto 5rem;
}
@media only screen and (max-width:899px) {
  .p-camera__contents_ttl {
    max-width: 66.66%;
  }
}
.p-camera__contents_lead {
  font-size: 2.2rem;
  letter-spacing: 0.25rem;
  line-height: 1.6;
  text-align: center;
}
@media only screen and (max-width:899px) {
  .p-camera__contents_lead {
    font-size: 1.8rem;
    line-height: 1.6;
  }
}
.p-camera__contents_mainbtn {
  margin: 5rem auto 0;
}
@media only screen and (min-width:900px) {
  .p-camera__contents_mainbtn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 3rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.p-camera__contents_mainbtn-link {
  display: inline-block;
  width: 380px;
  -webkit-transition: opacity 0.7s var(--ease-main), -webkit-transform 0.7s var(--ease-main);
  transition: opacity 0.7s var(--ease-main), -webkit-transform 0.7s var(--ease-main);
  transition: opacity 0.7s var(--ease-main), transform 0.7s var(--ease-main);
  transition: opacity 0.7s var(--ease-main), transform 0.7s var(--ease-main), -webkit-transform 0.7s var(--ease-main);
}
@media only screen and (min-width:900px) {
  .p-camera__contents_mainbtn-link:hover {
    -webkit-transform: scale(0.92);
            transform: scale(0.92);
  }
}
@media only screen and (max-width:899px) {
  .p-camera__contents_mainbtn-link {
    width: 100%;
  }
}
@media only screen and (max-width:899px) {
  .p-camera__contents_mainbtn-link + .p-camera__contents_mainbtn-link {
    margin-top: 2rem;
  }
}

.p-in-border-item {
  width: calc(50% - 200px);
  height: 1px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: var(--color-blue);
}

.p-in-border-item::before {
  content: "";
  display: block;
  width: 2px;
  height: 6px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
  background: url(../img/line_tip_blue.png) no-repeat center/contain;
}

.p-in-border-item::after {
  content: "";
  display: block;
  width: 2px;
  height: 6px;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translate(100%, -50%) rotate(180deg);
          transform: translate(100%, -50%) rotate(180deg);
  background: url(../img/line_tip_blue.png) no-repeat center/contain;
}

@media screen and (max-width: 899px) {
  .p-in-border-item {
    width: calc(50% - 124px);
  }
}
.p-in-border-item:nth-of-type(1) {
  left: 0;
}

.p-in-border-item:nth-of-type(2) {
  right: 0;
}

.p-camera__info {
  position: relative;
  background: var(--color-movie-bg);
  margin-top: 6rem;
}
.p-camera__info::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/bg_texture.png) repeat left top/contain;
}
.p-camera__info_in {
  position: relative;
  z-index: 1;
  width: 72%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 6rem 0;
}
@media only screen and (max-width:899px) {
  .p-camera__info_in {
    width: 90%;
  }
}
.p-camera__info_cap {
  position: relative;
  margin-bottom: 52px;
  font-family: var(--font-en);
  color: var(--color-blue);
  text-align: center;
  font-size: 3.8rem;
  letter-spacing: 0.04em;
  position: relative;
  -webkit-transition: opacity 0.7s var(--ease-main), -webkit-transform 0.7s var(--ease-main);
  transition: opacity 0.7s var(--ease-main), -webkit-transform 0.7s var(--ease-main);
  transition: opacity 0.7s var(--ease-main), transform 0.7s var(--ease-main);
  transition: opacity 0.7s var(--ease-main), transform 0.7s var(--ease-main), -webkit-transform 0.7s var(--ease-main);
}
@media only screen and (max-width:899px) {
  .p-camera__info_cap {
    font-size: 2.4rem;
  }
}
.p-camera__info_main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 90%;
  margin: auto;
  border-top: 1px solid var(--color-border-gray);
  padding: 3rem 0;
}
.p-camera__info_main:last-child {
  border-bottom: 1px solid var(--color-border-gray);
}
.p-camera__info_main-ttl {
  font-size: 7rem;
  font-family: var(--font-en);
  font-weight: 400;
  color: var(--color-red);
}
@media only screen and (max-width:899px) {
  .p-camera__info_main-ttl {
    font-size: 4rem;
  }
}
.p-camera__info_main-ttl small {
  font-size: 50%;
  vertical-align: baseline;
}
.p-camera__info_main-txt {
  margin-top: 2rem;
  font-size: 1.8rem;
  letter-spacing: 0.25rem;
  line-height: 1.8;
}
@media only screen and (max-width:899px) {
  .p-camera__info_main-txt {
    margin-top: 1.5rem;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
  }
}
.p-camera__info_main-detail {
  width: calc(100% - 300px);
  padding-right: 3rem;
}
@media only screen and (max-width:899px) {
  .p-camera__info_main-detail {
    padding-right: 2rem;
    width: calc(100% - 10rem);
  }
}
.p-camera__info_main-img {
  width: 300px;
}
@media only screen and (max-width:899px) {
  .p-camera__info_main-img {
    width: 10rem;
  }
}
.p-camera__info_main-img img {
  margin: auto;
}