@charset "UTF-8";
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 300;
  src: url("../font/NotoSansJP-DemiLight.woff2") format("woff2"), url("../font/NotoSansJP-DemiLight.woff") format("woff"), url("../font/NotoSansJP-DemiLight.otf") format("opentype"); }
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../font/NotoSansJP-Regular.woff2") format("woff2"), url("../font/NotoSansJP-Regular.woff") format("woff"), url("../font/NotoSansJP-Regular.otf") format("opentype"); }
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("../font/NotoSansJP-Medium.woff2") format("woff2"), url("../font/NotoSansJP-Medium.woff") format("woff"), url("../font/NotoSansJP-Medium.otf") format("opentype"); }
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 600;
  src: url("../font/NotoSansJP-Bold.woff2") format("woff2"), url("../font/NotoSansJP-Bold.woff") format("woff"), url("../font/NotoSansJP-Bold.otf") format("opentype"); }
:root {
  --fontR: "roboto", sans-serif;
  --fontF: "freight-big-pro", serif;
  --fontN: "Noto Sans JP", sans-serif; }

/* =================================
共通
================================= */
.midashi {
  text-align: center;
  margin: 60px auto 0; }
  .midashi.m_s {
    font-size: 34px; }
  .midashi.m_bg {
    font-size: 46px;
    color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    height: max-content; }
  .midashi.m_l {
    font-size: 50px;
    margin-bottom: 45px; }

.midashi.m_s:not(:has(+ .midashi_txt)) {
  margin-bottom: 90px; }

.midashi_txt {
  font-size: 18px;
  text-align: center;
  letter-spacing: .05em;
  line-height: 1.7;
  margin: 30px auto 100px; }

.midashi_img_wrap {
  position: relative; }
  .midashi_img_wrap + .midashi_txt {
    margin-top: 100px; }
  .midashi_img_wrap:has(.bg_fixed) {
    height: 550px;
    overflow: hidden; }

.hover_img_wrap {
  position: relative;
  z-index: 0; }
  .hover_img_wrap:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: #000;
    transition: opacity .2s ease; }
  .hover_img_wrap:hover {
    opacity: 1; }
    .hover_img_wrap:hover img {
      opacity: .5;
      transition: all .2s ease-in; }

.btn_link {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 8px;
  width: max-content;
  margin: 0 auto; }
  .btn_link strong {
    letter-spacing: .08em; }
  .btn_link span {
    position: relative;
    width: 53px;
    height: 30px; }
    .btn_link span:before, .btn_link span:after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto; }
    .btn_link span:before {
      width: 43px;
      height: 1px;
      right: 10px;
      background: #686868; }
    .btn_link span:after {
      width: 20px;
      height: 20px;
      border: 1px solid #686868;
      border-radius: 50%;
      right: 0;
      transition: all .2s ease-in; }
  .btn_link:hover span:after {
    transform: scale(1.3); }

.post_main p {
  font-size: 18px;
  line-height: 1.7;
  margin-bottom: 1.5em;
  font-family: var(--fontR); }
.post_main img {
  margin-bottom: 20px; }
.post_main h3, .post_main h4 {
  font-weight: 500; }
.post_main h3 {
  font-size: 50px;
  line-height: 1.1;
  margin-bottom: .1em; }
.post_main h4 {
  font-size: 24px;
  margin-bottom: .8em; }

.post_main :is(img, p, video):last-child {
  margin-bottom: 0; }

.pager_wrap {
  font-size: 16px;
  text-align: center;
  margin-top: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  row-gap: 10px;
  flex-wrap: wrap; }
  .pager_wrap .pager_num, .pager_wrap .pager_prev, .pager_wrap .pager_next {
    font-size: 16px;
    border: 1px solid #686868;
    padding: 5px 0;
    margin: 0 4px;
    width: 26px;
    display: inline-block; }
    .pager_wrap .pager_num.is_current, .pager_wrap .pager_prev.is_current, .pager_wrap .pager_next.is_current {
      background: #EFEDEA; }
  .pager_wrap .pager_prev, .pager_wrap .pager_next {
    position: relative; }
    .pager_wrap .pager_prev:before, .pager_wrap .pager_next:before {
      font-weight: bold;
      font-size: 20px;
      line-height: 0; }
  .pager_wrap .pager_prev:before {
    content: "‹"; }
  .pager_wrap .pager_next:before {
    content: "›"; }

@media (max-width: 768px) {
  .midashi {
    margin-top: 50px; }
    .midashi.m_s {
      font-size: 30px; }
    .midashi.m_bg {
      font-size: 30px;
      margin-top: auto; }
    .midashi.m_l {
      font-size: 28px;
      margin-bottom: 12px; }

  .midashi.m_s:not(:has(+ .midashi_txt)) {
    margin-bottom: 60px; }

  .midashi_txt {
    font-size: 16px;
    margin-top: 35px;
    margin-bottom: 60px;
    line-height: 1.7;
    width: 80%; }

  .midashi_img_wrap img {
    height: 550px;
    object-fit: cover; }
  .midashi_img_wrap + .midashi_txt {
    margin-top: 35px; }

  .btn_link span:before {
    width: 40px;
    right: 10px; }
  .btn_link span:after {
    width: 18px;
    height: 18px; }

  .post_main p {
    font-size: 14px; }
  .post_main img {
    margin-bottom: 2%; }
  .post_main h3 {
    font-size: 30px; }
  .post_main h4 {
    margin-bottom: .8em; } }
/* =================================
SERVICE 一覧ページ
================================= */
.service_page .flex_wrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 20px; }
  .service_page .flex_wrap:last-of-type {
    margin-bottom: 0; }
  .service_page .flex_wrap.fw2 .hover_img_wrap {
    width: 49%;
    max-width: 627px; }
  .service_page .flex_wrap.fw3 .hover_img_wrap {
    width: 32.1%;
    max-width: 410px; }
.service_page dl {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  height: max-content;
  text-align: center;
  color: #fff;
  width: 90%; }
.service_page dt {
  font-size: 30px; }
.service_page dd {
  font-family: var(--fontR); }

@media (max-width: 768px) {
  .service_page {
    width: 100%; }
    .service_page .midashi {
      width: 90%; }
    .service_page .flex_wrap {
      flex-direction: column;
      margin-bottom: 0; }
      .service_page .flex_wrap.fw2 .hover_img_wrap, .service_page .flex_wrap.fw3 .hover_img_wrap {
        width: 100%;
        max-width: none; }
    .service_page img {
      object-fit: cover;
      height: 280px; }
    .service_page dt {
      font-size: 26px;
      margin-bottom: 0; } }
/* =================================
SERVICE -LOCATION＋EXPERIENCE-
================================= */
.location_experience_page .bg_fixed:before {
  background-image: url("../images/location_experience/location_experience_main_pc.jpg"); }
.location_experience_page .dl_common .txt {
  line-height: 1.6;
  margin-bottom: 0; }
.location_experience_page .main_wrap .relative_wrap:nth-of-type(even) .dl_common > * {
  margin-left: auto; }
.location_experience_page .main_wrap .dl_common {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  color: #fff;
  height: max-content; }
  .location_experience_page .main_wrap .dl_common > * {
    max-width: 430px; }
.location_experience_page .location_wrap {
  padding: 120px 0; }
  .location_experience_page .location_wrap .box {
    margin-bottom: 185px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between; }
    .location_experience_page .location_wrap .box:last-of-type {
      margin-bottom: 0; }
    .location_experience_page .location_wrap .box:nth-of-type(even) {
      flex-direction: row-reverse; }
  .location_experience_page .location_wrap .img_wrap {
    position: relative;
    z-index: 0;
    height: 534px; }
    .location_experience_page .location_wrap .img_wrap img {
      position: absolute; }
  .location_experience_page .location_wrap .dl_common {
    width: 50%;
    --delay: .5s; }
    .location_experience_page .location_wrap .dl_common dt {
      position: relative; }
    .location_experience_page .location_wrap .dl_common dt {
      font-size: 90px; }
    .location_experience_page .location_wrap .dl_common dd {
      max-width: 473px; }
  .location_experience_page .location_wrap .box_01 .img_wrap {
    max-width: 582px;
    width: 46%;
    margin-left: 7.5%; }
  .location_experience_page .location_wrap .box_01 .dl_common {
    margin-top: 70px; }
    .location_experience_page .location_wrap .box_01 .dl_common dt {
      margin-left: -6%; }
    .location_experience_page .location_wrap .box_01 .dl_common dd {
      margin-left: auto;
      margin-right: 35px; }
  .location_experience_page .location_wrap .box_02 .img_wrap {
    max-width: 690px;
    width: 70%; }
  .location_experience_page .location_wrap .box_02 .dl_common {
    margin-top: -50px;
    margin-left: 1%; }
    .location_experience_page .location_wrap .box_02 .dl_common dt {
      margin-right: -7%; }
  .location_experience_page .location_wrap .le_tokyo_01 {
    max-width: 397px;
    right: 0;
    bottom: 0; }
  .location_experience_page .location_wrap .le_tokyo_02 {
    max-width: 226px;
    z-index: -1; }
  .location_experience_page .location_wrap .le_kyoyo_01 {
    max-width: 394px; }
  .location_experience_page .location_wrap .le_kyoyo_02 {
    max-width: 351px;
    right: 0;
    bottom: 0;
    z-index: -1; }
.location_experience_page .fe_wrap .fe_tit {
  font-size: 50px;
  margin-bottom: -18px;
  text-align: center;
  line-height: 1.1; }
  .location_experience_page .fe_wrap .fe_tit span {
    font-style: italic; }
.location_experience_page .fe_wrap .flex_wrap {
  max-width: 1110px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto; }
.location_experience_page .fe_wrap .box {
  padding: 75px 0; }
  .location_experience_page .fe_wrap .box:last-of-type {
    padding-bottom: 0; }
.location_experience_page .fe_wrap .box_tit {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  column-gap: 12px;
  margin-bottom: 20px; }
  .location_experience_page .fe_wrap .box_tit em {
    font-size: 46px;
    margin-top: -5px; }
  .location_experience_page .fe_wrap .box_tit strong {
    font-size: 34px; }
.location_experience_page .fe_wrap .txt {
  font-family: var(--fontR); }
.location_experience_page .fe_wrap .box01 .left {
  max-width: 501px;
  width: 46%; }
.location_experience_page .fe_wrap .box01 .right {
  max-width: 520px;
  width: 47%; }
.location_experience_page .fe_wrap .box01 .dl_common dt {
  font-size: 24px;
  font-style: italic;
  font-weight: 300;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 0; }
  .location_experience_page .fe_wrap .box01 .dl_common dt:before {
    content: "";
    width: 100%;
    height: 1px;
    background: #242424;
    display: block;
    position: absolute;
    z-index: -1; }
.location_experience_page .fe_wrap .box01 .dl_common strong {
  padding-right: 30px;
  background: url(../images/common/bg.jpg) no-repeat center/cover; }
.location_experience_page .fe_wrap .box01 .dl_common dd {
  margin-bottom: 25px; }
.location_experience_page .fe_wrap .box01 .dl_common:last-of-type dd {
  margin-bottom: 0; }
.location_experience_page .fe_wrap .box02 .inner {
  max-width: 1110px; }
.location_experience_page .fe_wrap .box02 .dl_common {
  justify-content: flex-start;
  column-gap: 58px;
  margin-bottom: 25px; }
  .location_experience_page .fe_wrap .box02 .dl_common .box_tit {
    margin-bottom: 0; }
.location_experience_page .fe_wrap .box02 .left, .location_experience_page .fe_wrap .box02 .right {
  max-width: 555px;
  width: 50%; }
.location_experience_page .fe_wrap .box02 .btn_link {
  margin-top: 18px;
  margin-right: 0; }
  .location_experience_page .fe_wrap .box02 .btn_link strong {
    font-size: 18px; }
.location_experience_page .fe_wrap .box03 .flex_wrap {
  max-width: 990px; }
.location_experience_page .fe_wrap .box03 .left {
  max-width: 545px; }
.location_experience_page .fe_wrap .box03 .right {
  max-width: 335px;
  width: 34%; }
.location_experience_page .fe_wrap .box04 .flex_wrap {
  align-items: flex-start; }
.location_experience_page .fe_wrap .box04 .left {
  max-width: 493px;
  width: 47%; }
.location_experience_page .fe_wrap .box04 .right {
  max-width: 560px;
  width: 51%;
  margin-top: 25px; }
.location_experience_page .fe_wrap .box04 .dl_common .txt {
  margin-bottom: 50px; }
.location_experience_page .fe_wrap .box04 .relative_wrap {
  height: 372px; }
.location_experience_page .fe_wrap .box04 .fe_04_2 {
  width: 71%;
  max-width: 393px;
  margin-left: 25px; }
.location_experience_page .fe_wrap .box04 .fe_04_3 {
  max-width: 182px;
  width: 33%;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1; }

@media (max-width: 768px) {
  .location_experience_page .bg_fixed:before {
    background-image: url("../images/location_experience/location_experience_main_smp.jpg"); }
  .location_experience_page .main_wrap img {
    height: 410px;
    object-fit: cover; }
  .location_experience_page .main_wrap .dl_common {
    top: auto;
    bottom: 30px; }
    .location_experience_page .main_wrap .dl_common dt {
      font-size: 34px; }
    .location_experience_page .main_wrap .dl_common > * {
      max-width: 300px; }
  .location_experience_page .main_wrap .relative_wrap:nth-of-type(even) .dl_common dt {
    text-align: right; }
  .location_experience_page .location_wrap {
    padding: 70px 0; }
    .location_experience_page .location_wrap .box, .location_experience_page .location_wrap .box:nth-of-type(even) {
      flex-direction: column-reverse; }
    .location_experience_page .location_wrap .box {
      position: relative;
      margin-bottom: 65px; }
      .location_experience_page .location_wrap .box:last-of-type {
        margin-bottom: 0; }
      .location_experience_page .location_wrap .box .img_wrap {
        max-width: none;
        width: 100%;
        height: 90vw;
        margin-top: -5.5vw;
        margin-left: 0; }
      .location_experience_page .location_wrap .box .dl_common {
        --delay: 0;
        width: 100%;
        margin: 0; }
        .location_experience_page .location_wrap .box .dl_common dt, .location_experience_page .location_wrap .box .dl_common dd {
          margin: 0; }
        .location_experience_page .location_wrap .box .dl_common dt {
          font-size: min(50px, 13vw); }
        .location_experience_page .location_wrap .box .dl_common dd {
          position: absolute;
          bottom: 0;
          left: 0;
          max-width: none;
          width: 100%;
          max-width: 270px; }
      .location_experience_page .location_wrap .box:nth-of-type(odd) .dl_common dt {
        text-align: right; }
      .location_experience_page .location_wrap .box:nth-of-type(even) .dl_common dd {
        right: 0;
        left: auto; }
    .location_experience_page .location_wrap .box_01 {
      padding-bottom: 125px; }
    .location_experience_page .location_wrap .box_02 {
      padding-bottom: 170px; }
    .location_experience_page .location_wrap .le_tokyo_01 {
      max-width: none;
      width: 67%; }
    .location_experience_page .location_wrap .le_tokyo_02 {
      max-width: none;
      width: 40%; }
    .location_experience_page .location_wrap .le_kyoyo_01 {
      max-width: none;
      width: 65%; }
    .location_experience_page .location_wrap .le_kyoyo_02 {
      max-width: none;
      width: 52%; }
  .location_experience_page .fe_wrap .fe_tit {
    font-size: 28px;
    margin-bottom: -18px; }
  .location_experience_page .fe_wrap .flex_wrap {
    flex-direction: column; }
  .location_experience_page .fe_wrap .box {
    padding: 70px 0; }
    .location_experience_page .fe_wrap .box:nth-last-of-type(even) .box_tit {
      justify-content: center; }
  .location_experience_page .fe_wrap .box_tit {
    width: 100%;
    column-gap: 10px;
    margin-bottom: 15px; }
    .location_experience_page .fe_wrap .box_tit em {
      font-size: 36px;
      margin-top: -3px; }
    .location_experience_page .fe_wrap .box_tit strong {
      font-size: 26px; }
  .location_experience_page .fe_wrap .box01 .left, .location_experience_page .fe_wrap .box01 .right {
    max-width: none;
    width: 100%; }
  .location_experience_page .fe_wrap .box01 .left {
    margin-bottom: 20px; }
  .location_experience_page .fe_wrap .box01 .dl_common dt {
    font-size: 22px;
    z-index: 0; }
  .location_experience_page .fe_wrap .box02 .dl_common {
    flex-direction: column;
    row-gap: 15px;
    margin-bottom: 45px; }
  .location_experience_page .fe_wrap .box02 .left, .location_experience_page .fe_wrap .box02 .right {
    max-width: none;
    width: 100%; }
  .location_experience_page .fe_wrap .box02 .btn_link strong {
    font-size: 16px; }
  .location_experience_page .fe_wrap .box03 .flex_wrap {
    max-width: none;
    flex-direction: column-reverse; }
  .location_experience_page .fe_wrap .box03 .left, .location_experience_page .fe_wrap .box03 .right {
    max-width: none;
    width: 100%; }
  .location_experience_page .fe_wrap .box03 .right {
    margin-bottom: 20px; }
  .location_experience_page .fe_wrap .box04 .flex_wrap {
    width: 100%;
    flex-direction: column;
    row-gap: 25px; }
  .location_experience_page .fe_wrap .box04 .left {
    max-width: none;
    width: 100%; }
  .location_experience_page .fe_wrap .box04 .right {
    max-width: none;
    width: 90%;
    margin: 0 auto;
    margin-top: 0; }
  .location_experience_page .fe_wrap .box04 .dl_common .txt {
    margin-bottom: 40px; }
  .location_experience_page .fe_wrap .box04 .relative_wrap {
    height: 87vw; }
  .location_experience_page .fe_wrap .box04 .fe_04_2 {
    width: 86%;
    max-width: none;
    margin-left: 0; }
  .location_experience_page .fe_wrap .box04 .fe_04_3 {
    max-width: none;
    width: 44%; } }
@media (max-width: 768px) {
  .location_experience_page .location_wrap .box .dl_common dt {
    --delay: .4s; } }
@media (min-width: 768px) {
  .location_experience_page .location_wrap .box .dl_common dt, .location_experience_page .location_wrap .box .dl_common dd {
    --delay: .6s; } }
/* =================================
SERVICE -PHOTOGRAPHY PLANNING-
================================= */
.photo_plan_page + footer {
  margin-top: 0; }
.photo_plan_page .bg_fixed:before {
  background-image: url("../images/photography_planning/photo_plan_main_pc.jpg"); }
.photo_plan_page section {
  padding: 60px 0 75px; }
.photo_plan_page h3 {
  font-size: 50px;
  line-height: 1; }
.photo_plan_page .dl_common .price {
  line-height: 1.5;
  margin: 0 auto 10px;
  letter-spacing: .03em;
  text-align: center; }
.photo_plan_page .dl_common small {
  display: block;
  letter-spacing: 0;
  font-size: 12px;
  font-weight: 300;
  font-family: var(--fontR); }
.photo_plan_page .sec_01 .inner {
  max-width: 1110px; }
.photo_plan_page .sec_01 h3 {
  margin-bottom: 55px;
  text-align: center; }
.photo_plan_page .sec_01 .box {
  margin-bottom: 75px; }
  .photo_plan_page .sec_01 .box:last-of-type {
    margin-bottom: 0; }
.photo_plan_page .sec_01 h4 {
  margin-bottom: 40px;
  font-size: 30px;
  position: relative;
  z-index: 0; }
  .photo_plan_page .sec_01 h4:before {
    content: "";
    width: 100%;
    height: 1px;
    background: #242424;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: -1; }
  .photo_plan_page .sec_01 h4 strong {
    padding-right: 35px;
    background: url(../images/common/bg.jpg) no-repeat center/cover; }
  .photo_plan_page .sec_01 h4 span {
    font-style: italic; }
.photo_plan_page .sec_01 ul {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  column-gap: 3.65%;
  row-gap: 50px;
  text-align: center; }
.photo_plan_page .sec_01 li {
  width: 30.9%;
  max-width: 342px; }
.photo_plan_page .sec_01 figure {
  margin-bottom: 12px; }
.photo_plan_page .sec_01 figcaption {
  font-size: 27px;
  font-weight: 500;
  line-height: 1.1;
  margin-bottom: 8px;
  display: flex;
  justify-content: center;
  align-items: flex-end; }
.photo_plan_page .sec_01 .dl_common {
  width: 85%;
  margin: 0 auto; }
  .photo_plan_page .sec_01 .dl_common dt {
    font-size: 26px; }
  .photo_plan_page .sec_01 .dl_common .txt {
    text-align: left;
    line-height: 1.4;
    margin-bottom: 0; }
.photo_plan_page .sec_02 {
  max-width: 1155px; }
  .photo_plan_page .sec_02 .box {
    margin-bottom: 55px; }
    .photo_plan_page .sec_02 .box:last-of-type {
      margin-bottom: 0; }
  .photo_plan_page .sec_02 h3 + p {
    font-size: 20px;
    margin-top: 10px; }
  .photo_plan_page .sec_02 ul {
    margin-top: 35px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
    column-gap: 3.9%;
    row-gap: 48px; }
  .photo_plan_page .sec_02 li {
    max-width: 354px;
    width: 30.7%;
    /*span{
    	font-size: 20px;
    	font-weight: 500;
    	font-family: $fontR;
    	display: block;
    	margin-bottom: 12px;
    }*/ }
    .photo_plan_page .sec_02 li div {
      border: 1px solid #686868;
      padding: 5px 5px 30px; }
    .photo_plan_page .sec_02 li img {
      max-width: 340px;
      margin-bottom: 25px; }
    .photo_plan_page .sec_02 li .dl_common dt {
      font-size: 24px;
      width: 90%;
      margin: 0 auto 10px;
      text-align: center; }
    .photo_plan_page .sec_02 li .dl_common dd {
      width: 84%; }
    .photo_plan_page .sec_02 li .dl_common .price {
      font-size: 22px; }
    .photo_plan_page .sec_02 li .dl_common .txt {
      margin-bottom: 0;
      margin: 0 auto; }
    .photo_plan_page .sec_02 li .dl_common:has(.price) dt {
      margin-bottom: 5px; }
.photo_plan_page .sec_03 {
  background: #E3DED6; }
  .photo_plan_page .sec_03 .inner {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 14%; }
    .photo_plan_page .sec_03 .inner > div {
      width: max-content; }
  .photo_plan_page .sec_03 .left {
    text-align: center; }
    .photo_plan_page .sec_03 .left h3 {
      margin-bottom: -13px;
      position: relative; }
    .photo_plan_page .sec_03 .left img {
      max-width: 261px;
      margin: 0 auto 12px; }
    .photo_plan_page .sec_03 .left p {
      font-size: 20px; }
  .photo_plan_page .sec_03 .right {
    text-align: center; }
    .photo_plan_page .sec_03 .right ul {
      text-align: left;
      display: flex;
      flex-direction: column;
      row-gap: 40px;
      margin-top: 30px;
      margin-bottom: 30px; }
    .photo_plan_page .sec_03 .right span {
      padding-right: 1.3em;
      margin-right: 1.5em;
      position: relative;
      width: 19%;
      display: inline-block;
      text-align: right;
      font-size: 22px; }
      .photo_plan_page .sec_03 .right span:before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        border-radius: 50%;
        width: 10px;
        height: 10px;
        background: #242424; }
      .photo_plan_page .sec_03 .right span:after {
        content: "";
        position: absolute;
        top: .8em;
        right: .2em;
        z-index: -1;
        width: 1px;
        height: 300%;
        background: #242424; }
    .photo_plan_page .sec_03 .right li:last-of-type span:after {
      background: #E3DED6; }
    .photo_plan_page .sec_03 .right strong {
      font-size: 28px;
      line-height: 1;
      width: 74%; }
    .photo_plan_page .sec_03 .right li {
      display: flex;
      align-items: center;
      justify-content: flex-start; }
    .photo_plan_page .sec_03 .right p {
      font-size: 14px;
      font-weight: 300;
      font-family: var(--fontR);
      text-align: left; }

@media (max-width: 768px) {
  .photo_plan_page .bg_fixed:before {
    background-image: url("../images/photography_planning/photo_plan_main_smp.jpg"); }
  .photo_plan_page section {
    padding-bottom: 80px; }
  .photo_plan_page h3 {
    font-size: 28px; }
  .photo_plan_page .sec_01 h3 {
    margin-bottom: 50px; }
  .photo_plan_page .sec_01 .box {
    margin-bottom: 65px; }
  .photo_plan_page .sec_01 h4 {
    margin-bottom: 50px;
    padding-bottom: 5px;
    text-align: center;
    font-size: 26px;
    border-bottom: 1px solid #242424; }
    .photo_plan_page .sec_01 h4:before {
      content: none; }
    .photo_plan_page .sec_01 h4 strong {
      padding-right: 0;
      background: 0; }
  .photo_plan_page .sec_01 ul {
    flex-direction: column;
    row-gap: 50px; }
  .photo_plan_page .sec_01 li {
    width: 100%;
    max-width: none; }
  .photo_plan_page .sec_01 figure {
    margin-bottom: 15px; }
  .photo_plan_page .sec_01 figcaption {
    font-size: 24px;
    display: inline-block;
    text-align: left; }
  .photo_plan_page .sec_01 .dl_common dt {
    font-size: 24px; }
  .photo_plan_page .sec_02 .box {
    margin-bottom: 65px; }
  .photo_plan_page .sec_02 h3 + p {
    font-size: 16px;
    margin-top: 5px; }
  .photo_plan_page .sec_02 ul {
    margin-top: 40px;
    flex-direction: column;
    row-gap: 30px; }
  .photo_plan_page .sec_02 li {
    max-width: none;
    width: 100%;
    /*span{
    	font-size: 18px;
    }*/ }
    .photo_plan_page .sec_02 li img {
      max-width: none; }
    .photo_plan_page .sec_02 li .dl_common dt {
      font-size: 22px;
      margin-bottom: 20px; }
    .photo_plan_page .sec_02 li .dl_common .price {
      font-size: 22px; }
  .photo_plan_page .sec_03 .inner {
    flex-direction: column; }
    .photo_plan_page .sec_03 .inner > div {
      width: 100%; }
  .photo_plan_page .sec_03 .left h3 {
    font-size: 38px;
    margin-bottom: -10px; }
  .photo_plan_page .sec_03 .left img {
    max-width: 236px; }
  .photo_plan_page .sec_03 .left p {
    font-size: 18px; }
  .photo_plan_page .sec_03 .right ul {
    font-size: 24px;
    display: inline-block;
    width: auto;
    margin: 50px auto 45px; }
  .photo_plan_page .sec_03 .right li {
    margin-bottom: 34px; }
    .photo_plan_page .sec_03 .right li:last-of-type {
      margin-bottom: 0; }
  .photo_plan_page .sec_03 .right span {
    font-size: 20px;
    margin-right: 1em;
    min-width: 71px;
    width: 16%; }
  .photo_plan_page .sec_03 .right strong {
    font-size: 22px;
    width: 80%; }
  .photo_plan_page .sec_03 .right p {
    display: inline-block; } }
/* =================================
SERVICE -STYLE-
================================= */
.style_page .bg_fixed:before {
  background-image: url("../images/style/style_main_pc.jpg"); }
.style_page .style_intro {
  max-width: 155px;
  display: block;
  margin: 40px auto 0; }
.style_page .midashi_txt {
  margin-bottom: 50px; }
.style_page .btn_link {
  margin-top: 40px; }
  .style_page .btn_link strong {
    font-size: 20px; }
.style_page .dl_common dt {
  font-size: 76px; }
.style_page .dl_common .txt {
  max-width: 440px;
  margin: 0; }
.style_page ul {
  width: 37%;
  max-width: 442px; }
.style_page .box_01 {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  column-gap: 6%; }
  .style_page .box_01 .dl_common dt {
    margin-left: -32%; }
.style_page .box_02 {
  text-align: right;
  margin-top: -210px; }
  .style_page .box_02 ul {
    margin-left: auto;
    margin-right: 0; }
  .style_page .box_02 .dl_common {
    margin-top: -60px;
    margin-right: 100px;
    display: inline-block;
    text-align: left; }
.style_page .box_03 {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  column-gap: 6%;
  margin-left: 6.5%;
  padding-bottom: 65px; }
  .style_page .box_03 .dl_common {
    margin-bottom: -65px; }
    .style_page .box_03 .dl_common dt {
      margin-left: -25%; }

@media (max-width: 768px) {
  .style_page .bg_fixed:before {
    background-image: url("../images/style/style_main_smp.jpg"); }
  .style_page .style_intro {
    max-width: 125px; }
  .style_page .midashi_txt {
    margin-top: 15px;
    margin-bottom: 90px; }
  .style_page .btn_link {
    margin-top: 40px; }
    .style_page .btn_link strong {
      font-size: 20px; }
  .style_page .box {
    margin-bottom: 70px; }
    .style_page .box:last-of-type {
      margin-bottom: 0; }
  .style_page .dl_common dt {
    font-size: min(60px, 15vw);
    line-height: 1; }
  .style_page ul {
    width: 75%;
    max-width: none; }
  .style_page .box_01 {
    display: block;
    position: relative; }
    .style_page .box_01 ul {
      margin-left: -5%; }
    .style_page .box_01 .dl_common {
      position: absolute;
      top: -42px;
      left: 0;
      right: 0;
      margin: auto;
      text-align: right; }
      .style_page .box_01 .dl_common dt {
        text-align: right;
        margin-left: 0; }
      .style_page .box_01 .dl_common .txt {
        max-width: 200px;
        display: inline-block;
        text-align: left; }
  .style_page .box_02 {
    text-align: left;
    margin-top: 0; }
    .style_page .box_02 ul {
      margin-right: -5%; }
    .style_page .box_02 .dl_common {
      margin-top: 45px;
      margin-right: 0;
      display: block; }
      .style_page .box_02 .dl_common dt {
        position: absolute;
        bottom: 195px; }
      .style_page .box_02 .dl_common .txt {
        max-width: 295px; }
  .style_page .box_03 {
    display: block;
    margin-left: 0;
    padding-bottom: 0; }
    .style_page .box_03 .dl_common {
      margin-top: 30px;
      margin-bottom: 0;
      text-align: right; }
      .style_page .box_03 .dl_common dt {
        margin-left: 0; }
      .style_page .box_03 .dl_common .txt {
        display: inline-block;
        text-align: left;
        max-width: 310px; }
  .style_page .box .slick-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -25px;
    margin: auto; }
  .style_page .box .slick-dots li {
    margin: 0; }
  .style_page .box .slick-dots li button:before {
    font-size: 12px;
    opacity: 1;
    color: #e2ded7; }
  .style_page .box .slick-dots li.slick-active button:before {
    opacity: 1;
    color: #8c8a88; }
  .style_page .box .slick-dotted.slick-slider {
    margin-bottom: 0; } }
/* =================================
SERVICE -CEREMONY-
================================= */
.ceremony_page .bg_fixed:before {
  background-image: url("../images/ceremony/ceremony_main_pc.jpg"); }
.ceremony_page .box_wrap {
  max-width: 1440px;
  width: 100%; }
.ceremony_page .box {
  margin-bottom: 130px; }
  .ceremony_page .box:last-of-type {
    margin-bottom: 0; }
.ceremony_page .dl_common {
  padding: 40px 140px 55px;
  position: relative;
  z-index: -1; }
  .ceremony_page .dl_common dt {
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    justify-content: flex-start; }
    .ceremony_page .dl_common dt em {
      font-size: 36px;
      width: 52px;
      margin-top: -.1em; }
    .ceremony_page .dl_common dt strong {
      font-size: 28px; }
  .ceremony_page .dl_common .txt {
    padding-left: 52px;
    margin-bottom: 0; }
.ceremony_page .box_01 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-direction: row-reverse; }
  .ceremony_page .box_01 .dl_common {
    max-width: 608px;
    width: 43%;
    padding-left: 80px;
    padding-right: 80px; }
  .ceremony_page .box_01 img {
    max-width: 832px;
    width: 58%; }
.ceremony_page .box_02 {
  overflow: hidden; }
  .ceremony_page .box_02 .ceremony_02_1 {
    max-width: 1110px;
    width: 90%;
    margin-left: auto; }
  .ceremony_page .box_02 .ceremony_02_2 {
    max-width: 453px;
    width: 32%;
    margin-top: 45px;
    margin-left: 5%;
    float: left; }
  .ceremony_page .box_02 .dl_common {
    max-width: 814px;
    width: 61%;
    margin-left: auto; }
.ceremony_page .box_03 img {
  width: 90%;
  margin: 0 auto; }
.ceremony_page .box_03 .dl_common {
  margin-top: -160px;
  margin-left: auto;
  padding-top: 200px;
  max-width: 813px;
  width: 90%; }
.ceremony_page .box_04 img {
  max-width: 1110px;
  width: 90%;
  margin-left: auto; }
.ceremony_page .box_04 .dl_common {
  margin-top: -40px;
  padding-top: 70px;
  max-width: 813px;
  width: 90%; }
.ceremony_page .box_05 {
  position: relative; }
  .ceremony_page .box_05 .ceremony_05_1 {
    max-width: 578px;
    width: 40.1%;
    margin-left: 8.5%; }
  .ceremony_page .box_05 .ceremony_05_2 {
    max-width: 454px;
    width: 32%;
    margin-top: -170px;
    margin-left: auto;
    margin-right: 16.5%; }
  .ceremony_page .box_05 .dl_common {
    padding-left: 110px;
    padding-right: 110px;
    max-width: 740px;
    width: 51.4%;
    position: absolute;
    top: 185px;
    right: 0; }
.ceremony_page .box_06 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between; }
  .ceremony_page .box_06 img {
    max-width: 832px;
    width: 58%; }
  .ceremony_page .box_06 .dl_common {
    padding-left: 80px;
    padding-right: 80px;
    max-width: 608px;
    width: 43%; }

@media (max-width: 768px) {
  .ceremony_page .bg_fixed:before {
    background-image: url("../images/ceremony/ceremony_main_smp.jpg"); }
  .ceremony_page .box {
    margin-bottom: 90px; }
  .ceremony_page .dl_common {
    margin-top: -20px;
    padding: 45px 7% 40px; }
    .ceremony_page .dl_common dt {
      margin-bottom: 12px; }
      .ceremony_page .dl_common dt em {
        font-size: 26px;
        width: 40px; }
      .ceremony_page .dl_common dt strong {
        font-size: 22px; }
    .ceremony_page .dl_common .txt {
      padding-left: 40px; }
  .ceremony_page .box_01 {
    display: block; }
    .ceremony_page .box_01 .dl_common {
      max-width: none;
      width: 95%;
      padding-left: 7%;
      padding-right: 7%; }
    .ceremony_page .box_01 img {
      max-width: none;
      width: 95%;
      margin-left: auto;
      margin-right: 0; }
  .ceremony_page .box_02 .ceremony_02_1 {
    width: 90%;
    margin-left: 5%; }
  .ceremony_page .box_02 .ceremony_02_2 {
    float: none;
    max-width: none;
    width: 50%;
    margin-top: 20px;
    margin-left: 0; }
  .ceremony_page .box_02 .dl_common {
    max-width: none;
    width: 100%;
    margin-left: auto;
    padding-top: 45px; }
  .ceremony_page .box_03 img {
    width: 100%; }
  .ceremony_page .box_03 .dl_common {
    margin-top: 0;
    padding-top: 25px;
    max-width: none;
    width: 100%; }
  .ceremony_page .box_04 img {
    max-width: none;
    width: 95%; }
  .ceremony_page .box_04 .dl_common {
    margin-top: -20px;
    padding-top: 45px;
    max-width: none;
    width: 95%; }
  .ceremony_page .box_05 .ceremony_05_1 {
    max-width: none;
    width: 76%;
    margin-left: 5%; }
  .ceremony_page .box_05 .ceremony_05_2 {
    max-width: none;
    width: 58%;
    margin-top: 20px;
    margin-right: 5%; }
  .ceremony_page .box_05 .dl_common {
    padding-left: 7%;
    padding-right: 7%;
    max-width: none;
    width: 95%;
    position: sticky; }
  .ceremony_page .box_06 {
    display: block; }
    .ceremony_page .box_06 img {
      max-width: none;
      width: 95%;
      margin-left: 0;
      margin-right: auto; }
    .ceremony_page .box_06 .dl_common {
      width: 95%;
      max-width: none;
      margin-right: 0;
      margin-left: auto;
      padding-left: 7%;
      padding-right: 7%; } }
/* =================================
SERVICE -PROFESSIONAL TEAM-
================================= */
.professional_team_page .bg_fixed:before {
  background-image: url("../images/professional_team/professional_team_main_pc.jpg"); }
.professional_team_page .inner:has(.box) {
  width: 80%;
  max-width: 834px; }
.professional_team_page .box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 25px; }
  .professional_team_page .box:nth-of-type(even) {
    flex-direction: row-reverse; }
  .professional_team_page .box:last-of-type {
    margin-bottom: 0; }
.professional_team_page figure {
  max-width: 368px;
  width: 45%; }
.professional_team_page figcaption {
  font-size: 40px;
  line-height: 1.1;
  margin-bottom: 8px; }
  .professional_team_page figcaption span {
    font-style: italic; }
  .professional_team_page figcaption small {
    font-size: 20px;
    display: block; }
.professional_team_page .dl_common {
  max-width: 400px;
  width: 48%; }
  .professional_team_page .dl_common dt {
    font-size: 28px;
    padding-bottom: 10px;
    margin-bottom: 12px;
    border-bottom: 1px solid #242424; }
  .professional_team_page .dl_common .txt {
    margin-bottom: 0;
    font-weight: 400; }

@media (max-width: 768px) {
  .professional_team_page .bg_fixed:before {
    background-image: url("../images/professional_team/professional_team_main_smp.jpg"); }
  .professional_team_page .box {
    flex-direction: column;
    margin-bottom: 55px; }
    .professional_team_page .box:nth-of-type(even) {
      flex-direction: column; }
  .professional_team_page figure {
    max-width: none;
    width: 100%;
    margin-bottom: 15px; }
  .professional_team_page figcaption {
    font-size: 30px; }
    .professional_team_page figcaption small {
      font-size: 18px; }
  .professional_team_page .dl_common {
    max-width: none;
    width: 100%; }
    .professional_team_page .dl_common dt {
      font-size: 22px;
      padding-bottom: 8px;
      margin-bottom: 10px; } }
/* =================================
SERVICE -HOW TO BOOK-
================================= */
.how_to_book_page .bg_fixed:before {
  background-image: url("../images/how_to_book/how_to_book_main_pc.jpg"); }
.how_to_book_page .inner {
  max-width: 1020px; }
.how_to_book_page .box {
  padding-bottom: 30px;
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-image: repeating-linear-gradient(90deg, #242424 0 2px, transparent 2px 6px);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: left bottom; }
  .how_to_book_page .box:last-of-type {
    margin-bottom: 0; }
.how_to_book_page .num {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: .9em; }
  .how_to_book_page .num * {
    line-height: 1; }
  .how_to_book_page .num em {
    font-size: 24px;
    margin-top: 25px; }
  .how_to_book_page .num strong {
    font-size: 80px;
    font-style: italic; }
.how_to_book_page .flex_wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 6%;
  max-width: 824px;
  width: 81%; }
  .how_to_book_page .flex_wrap dl {
    max-width: 427px;
    width: 52%; }
  .how_to_book_page .flex_wrap dt {
    font-size: 30px;
    padding-bottom: 5px;
    margin-bottom: 20px;
    border-bottom: 1px solid #938c8a; }
  .how_to_book_page .flex_wrap dd {
    line-height: 1.7;
    font-family: var(--fontR); }
  .how_to_book_page .flex_wrap img {
    max-width: 348px;
    width: 43%; }
.how_to_book_page .inner:has(.box) {
  margin-bottom: 60px; }
.how_to_book_page .btn_link strong {
  font-size: 24px; }

@media (max-width: 768px) {
  .how_to_book_page .bg_fixed:before {
    background-image: url("../images/how_to_book/how_to_book_main_smp.jpg"); }
  .how_to_book_page .box {
    flex-direction: column;
    padding-bottom: 40px;
    margin-bottom: 20px; }
    .how_to_book_page .box:last-of-type {
      padding-bottom: 20px; }
  .how_to_book_page .num {
    margin-right: auto;
    margin-bottom: 12px;
    column-gap: .6em; }
    .how_to_book_page .num em {
      font-size: 16px;
      margin-top: 15px; }
    .how_to_book_page .num strong {
      font-size: 50px; }
  .how_to_book_page .flex_wrap {
    flex-direction: column-reverse;
    row-gap: 12px;
    width: 100%; }
    .how_to_book_page .flex_wrap dl {
      max-width: none;
      width: 100%; }
    .how_to_book_page .flex_wrap dt {
      font-size: 23px;
      padding-bottom: 3px;
      margin-bottom: 12px; }
    .how_to_book_page .flex_wrap img {
      max-width: none;
      width: 100%; }
  .how_to_book_page .btn_link strong {
    font-size: 20px; } }
/* =================================
GALLERY 一覧ページ
================================= */
.gallery_page + footer {
  margin-top: 0; }
.gallery_page .hover_img_wrap {
  display: block; }
.gallery_page img {
  object-fit: cover;
  height: 464px; }
.gallery_page dl {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 90%;
  max-width: 1050px;
  height: max-content;
  color: #fff; }
.gallery_page dt {
  font-size: 50px; }
.gallery_page .txt {
  font-size: 20px;
  font-style: italic;
  margin-bottom: 25px; }
.gallery_page .txt_link {
  position: relative;
  z-index: 0;
  padding-left: 120px;
  font-size: 20px;
  letter-spacing: .18em; }
  .gallery_page .txt_link:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: 98px;
    height: 1px;
    background: #fff; }

@media (max-width: 768px) {
  .gallery_page img {
    object-fit: cover;
    height: 320px; }
  .gallery_page dt {
    font-size: 26px; }
  .gallery_page .txt {
    margin-bottom: 10px;
    font-size: 14px; }
  .gallery_page .txt_link {
    padding-left: 100px;
    font-size: 16px; }
    .gallery_page .txt_link:before {
      width: 80px; } }
/* =================================
LOVE STORY 一覧ページ
================================= */
.love_story_page img {
  margin-bottom: 15px; }
.love_story_page dt {
  color: #938c8a;
  font-weight: 300;
  font-size: 20px;
  font-family: var(--fontR);
  margin-bottom: 5px; }
.love_story_page .txt {
  font-size: 22px;
  font-weight: 400;
  padding-top: 8px;
  margin-bottom: 5px;
  border-top: 1px solid #938c8a; }
.love_story_page .place {
  color: #a5a5a5;
  font-weight: 300;
  font-family: var(--fontR); }
.love_story_page .new_post {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto 35px; }
  .love_story_page .new_post dl {
    text-align: center;
    width: 80%;
    margin: 0 auto; }
  .love_story_page .new_post .txt {
    display: inline-block;
    width: 100%; }
.love_story_page .flex_wrap {
  max-width: 1000px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  column-gap: 5%;
  row-gap: 60px; }
.love_story_page li {
  width: 30%;
  max-width: 300px; }

@media (max-width: 768px) {
  .love_story_page dt {
    font-size: 14px; }
  .love_story_page .flex_wrap {
    justify-content: space-between;
    row-gap: 40px; }
    .love_story_page .flex_wrap .txt {
      font-size: 16px; }
  .love_story_page li {
    width: 46.5%;
    max-width: none; } }
/* =================================
LOVE STORY 詳細ページ
================================= */
.love_story_detail_page .midashi {
  max-width: 1000px;
  width: 90%; }
.love_story_detail_page .inner {
  max-width: 750px; }
.love_story_detail_page .midashi_img {
  margin-bottom: 50px; }
.love_story_detail_page dl {
  font-weight: 300;
  font-family: var(--fontR);
  text-align: center;
  margin-bottom: 60px; }
.love_story_detail_page dt {
  border-bottom: 1px solid #938c8a;
  color: #938c8a;
  padding: 0 30px 8px;
  margin-bottom: 5px;
  display: inline-block;
  font-size: 20px;
  font-weight: 400; }
.love_story_detail_page dd {
  font-size: 18px;
  color: #a5a5a5; }
.love_story_detail_page .post_main {
  border-top: 1px solid #242424;
  padding-top: 40px; }
.love_story_detail_page .pager_back {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-top: 80px; }
  .love_story_detail_page .pager_back .pager_prev, .love_story_detail_page .pager_back .pager_next {
    position: absolute;
    width: 40px;
    height: 35px;
    margin: auto; }
    .love_story_detail_page .pager_back .pager_prev:before, .love_story_detail_page .pager_back .pager_prev:after, .love_story_detail_page .pager_back .pager_next:before, .love_story_detail_page .pager_back .pager_next:after {
      content: "";
      position: absolute;
      top: 50%;
      left: 0;
      right: 0;
      margin: auto;
      width: 25px;
      height: 1px;
      background: #686868; }
  .love_story_detail_page .pager_back .pager_prev {
    left: 0;
    right: 320px; }
    .love_story_detail_page .pager_back .pager_prev:before, .love_story_detail_page .pager_back .pager_prev:after {
      transform-origin: 0 50%; }
    .love_story_detail_page .pager_back .pager_prev:before {
      transform: translateY(-50%) rotate(23deg); }
    .love_story_detail_page .pager_back .pager_prev:after {
      transform: translateY(-50%) rotate(-23deg); }
  .love_story_detail_page .pager_back .pager_next {
    left: 320px;
    right: 0; }
    .love_story_detail_page .pager_back .pager_next:before, .love_story_detail_page .pager_back .pager_next:after {
      transform-origin: 100% 50%; }
    .love_story_detail_page .pager_back .pager_next:before {
      transform: translateY(-50%) rotate(-23deg); }
    .love_story_detail_page .pager_back .pager_next:after {
      transform: translateY(-50%) rotate(23deg); }
  .love_story_detail_page .pager_back .pager_list {
    display: inline-block;
    padding: 14px 0;
    border: 1px solid #686868;
    width: 145px;
    text-align: center;
    font-size: 16px;
    font-weight: 400;
    font-family: var(--fontR); }

@media (max-width: 768px) {
  .love_story_detail_page .midashi_img {
    margin-bottom: 20px; }
  .love_story_detail_page dl {
    margin-bottom: 30px;
    font-size: inherit; }
  .love_story_detail_page dt {
    padding-bottom: 5px;
    margin-bottom: 8px;
    font-size: 18px; }
  .love_story_detail_page dd {
    font-size: 14px; }
  .love_story_detail_page .post_main {
    padding-top: 25px; }
  .love_story_detail_page .pager_back {
    margin-top: 60px; }
    .love_story_detail_page .pager_back .pager_prev, .love_story_detail_page .pager_back .pager_next {
      width: 28px;
      height: 25px; }
      .love_story_detail_page .pager_back .pager_prev:before, .love_story_detail_page .pager_back .pager_prev:after, .love_story_detail_page .pager_back .pager_next:before, .love_story_detail_page .pager_back .pager_next:after {
        width: 20px; }
    .love_story_detail_page .pager_back .pager_prev {
      right: 230px; }
    .love_story_detail_page .pager_back .pager_next {
      left: 230px; }
    .love_story_detail_page .pager_back .pager_list {
      padding: 10px 0;
      font-size: 14px;
      width: 100px; } }
/* =================================
FAQ
================================= */
.faq_page {
  background: #E3DED6;
  padding-bottom: 75px; }
  .faq_page .inner {
    max-width: 1185px; }
  .faq_page .flex_wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    position: relative;
    margin-top: -100px;
    padding-top: 100px; }
  .faq_page .left {
    color: #666;
    max-width: 343px;
    width: 29%;
    margin-top: -100px;
    padding-top: 100px;
    position: sticky;
    top: 0;
    left: 0; }
    .faq_page .left h3 {
      font-size: 24px;
      margin-bottom: 28px;
      padding-bottom: 8px;
      border-bottom: 1px solid #938c8a; }
    .faq_page .left li {
      font-size: 22px;
      margin-bottom: 22px; }
      .faq_page .left li:last-of-type {
        margin-bottom: 0; }
    .faq_page .left a:hover {
      opacity: 1;
      color: #242424; }
  .faq_page .right {
    max-width: 770px;
    width: 65%;
    margin-top: -100px;
    padding-top: 100px; }
    .faq_page .right .cate {
      margin-top: -100px;
      margin-bottom: 40px;
      padding-top: 100px;
      position: relative; }
      .faq_page .right .cate:last-of-type {
        margin-bottom: 0; }
    .faq_page .right h3 {
      font-size: 28px;
      margin-bottom: 20px; }
    .faq_page .right .box {
      background: #fff;
      padding: 0 40px;
      margin-bottom: 30px; }
      .faq_page .right .box:last-of-type {
        margin-bottom: 0; }
      .faq_page .right .box > * {
        position: relative;
        padding-left: 60px;
        padding-right: 30px; }
        .faq_page .right .box > *:before {
          position: absolute;
          top: 16px;
          left: 20px;
          line-height: 1;
          font-size: 32px;
          font-weight: 600;
          color: #938c8a; }
    .faq_page .right .q_wrap {
      font-size: 24px;
      border-bottom: 1px solid #938c8a;
      padding-top: 22px;
      padding-bottom: 22px; }
      .faq_page .right .q_wrap:before {
        content: "Q"; }
    .faq_page .right .a_wrap {
      color: #666;
      line-height: 1.7;
      padding-top: 20px;
      padding-bottom: 20px;
      font-weight: 300;
      font-family: var(--fontR); }
      .faq_page .right .a_wrap:before {
        content: "A";
        font-family: var(--fontF); }
      .faq_page .right .a_wrap a {
        font-weight: 700; }
    .faq_page .right .arw_wrap {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      margin-top: 25px; }
    .faq_page .right .arw {
      width: 32px;
      height: 22px;
      position: relative;
      z-index: 1; }
      .faq_page .right .arw:before, .faq_page .right .arw:after {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        width: 22px;
        height: 1px;
        background: #242424;
        transform-origin: 0 50%; }
      .faq_page .right .arw:before {
        transform: rotate(125deg); }
      .faq_page .right .arw:after {
        transform: rotate(55deg); }
    .faq_page .right .btn_link {
      position: absolute;
      top: 112px;
      right: 0; }
      .faq_page .right .btn_link strong {
        font-size: 18px; }
  .faq_page + footer {
    margin-top: 0; }

@media (max-width: 768px) {
  .faq_page {
    padding-bottom: 80px; }
    .faq_page .midashi_txt {
      width: 100%; }
    .faq_page .flex_wrap {
      flex-direction: column;
      row-gap: 55px;
      margin-top: -55px;
      padding-top: 55px; }
    .faq_page .left {
      max-width: none;
      width: 80%;
      margin: 0 auto;
      padding-top: 0;
      position: relative;
      z-index: 1; }
    .faq_page .right {
      max-width: none;
      margin-top: -120px;
      padding-top: 120px;
      width: 100%; }
      .faq_page .right .cate {
        margin-top: -20px;
        margin-bottom: 55px;
        padding-top: 20px; }
      .faq_page .right h3 {
        font-size: 22px; }
      .faq_page .right .box {
        padding: 0 5%;
        margin-bottom: 40px; }
        .faq_page .right .box > * {
          padding-left: 45px;
          padding-right: 3%; }
          .faq_page .right .box > *:before {
            top: 16px;
            left: 12px;
            font-size: 26px; }
      .faq_page .right .q_wrap {
        font-size: 18px; }
      .faq_page .right .arw_wrap {
        margin-top: 15px; }
      .faq_page .right .btn_link {
        top: 35px;
        right: 0; }
        .faq_page .right .btn_link strong {
          font-size: 16px; } }
/* =================================
ABOUT
================================= */
.about_page .relative_wrap:has(.bg_fixed) {
  height: 645px; }
  .about_page .relative_wrap:has(.bg_fixed) .inner {
    max-width: 1175px;
    height: 100%;
    position: relative; }
  .about_page .relative_wrap:has(.bg_fixed) dl {
    line-height: 1.55;
    position: absolute;
    right: 40px;
    bottom: -165px; }
    .about_page .relative_wrap:has(.bg_fixed) dl dt {
      font-size: 26px;
      font-style: italic;
      line-height: 1; }
    .about_page .relative_wrap:has(.bg_fixed) dl dd {
      font-size: 32px;
      line-height: 1.6; }
    .about_page .relative_wrap:has(.bg_fixed) dl span {
      font-style: italic;
      margin-right: .4em; }
.about_page .bg_fixed:before {
  background-image: url("../images/about/about_main_pc.jpg"); }
.about_page .fade_in_wrap {
  margin-top: 260px;
  margin-bottom: 90px;
  position: relative;
  z-index: 0;
  max-width: 1130px;
  height: 880px; }
  .about_page .fade_in_wrap span {
    position: absolute;
    margin: auto;
    display: inline-block;
    overflow: hidden; }
  .about_page .fade_in_wrap img {
    opacity: 0;
    transform: scale(1.2);
    transition: opacity .8s ease, transform 1.1s ease;
    will-change: opacity, transform; }
    .about_page .fade_in_wrap img.is_in {
      opacity: 1;
      transform: scale(1); }
  .about_page .fade_in_wrap .about_01 {
    width: 233px;
    top: 0;
    left: 110px; }
  .about_page .fade_in_wrap .about_02 {
    width: 372px;
    top: 12px;
    right: 75px; }
  .about_page .fade_in_wrap .about_03 {
    width: 345px;
    top: 85px;
    left: 60px;
    right: 0; }
  .about_page .fade_in_wrap .about_04 {
    width: 372px;
    top: 395px;
    left: 0; }
  .about_page .fade_in_wrap .about_05 {
    width: 232px;
    left: 330px;
    bottom: 90px;
    z-index: -1; }
  .about_page .fade_in_wrap .about_06 {
    width: 264px;
    right: 0;
    bottom: 255px; }
  .about_page .fade_in_wrap .about_07 {
    width: 273px;
    right: 160px;
    bottom: 0; }
.about_page .ceo_wrap {
  padding: 65px 0;
  background: url("../images/about/about_ceo_bg.jpg") no-repeat center/cover; }
  .about_page .ceo_wrap .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 872px; }
.about_page .about_ceo {
  max-width: 270px; }
.about_page .right {
  max-width: 505px; }
  .about_page .right p {
    font-size: 14px;
    font-family: var(--fontR);
    line-height: 1.6;
    margin-bottom: 18px; }
  .about_page .right img {
    max-width: 143px;
    margin-left: auto;
    margin-right: 0; }
.about_page .co_prof {
  width: 90%;
  max-width: 700px;
  margin: 70px auto 0;
  text-align: center; }
  .about_page .co_prof h3 {
    font-size: 40px;
    text-align: center;
    padding-bottom: 18px;
    margin-bottom: 45px;
    border-bottom: 1px solid #242424; }
  .about_page .co_prof div {
    text-align: left;
    display: inline-block; }
  .about_page .co_prof dl {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    column-gap: 30px;
    font-family: var(--fontR);
    line-height: 1.5;
    margin-bottom: 15px; }
    .about_page .co_prof dl:last-of-type {
      margin-bottom: 0; }
  .about_page .co_prof dt {
    font-size: 16px;
    font-weight: 300;
    color: #666; }
  .about_page .co_prof dd {
    font-size: 20px;
    font-family: var(--fontF); }

@media (max-width: 768px) {
  .about_page {
    /*.bg_fixed:before{
    	background-position: 22.5% center;
    }*/ }
    .about_page .relative_wrap:has(.bg_fixed) {
      height: 475px; }
      .about_page .relative_wrap:has(.bg_fixed) dl {
        right: 5%;
        bottom: -120px; }
        .about_page .relative_wrap:has(.bg_fixed) dl dt {
          font-size: 20px; }
        .about_page .relative_wrap:has(.bg_fixed) dl dd {
          font-size: 26px; }
    .about_page .bg_fixed:before {
      background-image: url("../images/about/about_main_smp.jpg"); }
    .about_page .fade_in_wrap {
      margin-top: 200px;
      height: 218vw; }
      .about_page .fade_in_wrap .about_01 {
        width: 36%;
        left: 0; }
      .about_page .fade_in_wrap .about_02 {
        width: 57%;
        top: 14vw;
        right: -5%; }
      .about_page .fade_in_wrap .about_03 {
        width: 52%;
        top: 47vw;
        left: 0; }
      .about_page .fade_in_wrap .about_04 {
        width: 57%;
        top: 152vw;
        left: -5%; }
      .about_page .fade_in_wrap .about_05 {
        width: 37%;
        top: 102vw;
        left: 7%;
        bottom: auto; }
      .about_page .fade_in_wrap .about_06 {
        width: 41%;
        top: 117vw;
        bottom: auto; }
      .about_page .fade_in_wrap .about_07 {
        width: 42%;
        top: 190vw;
        right: 2%; }
    .about_page .ceo_wrap {
      background-position: 20% center; }
      .about_page .ceo_wrap .inner {
        width: 70%;
        max-width: 500px;
        flex-direction: column;
        row-gap: 25px; }
    .about_page .about_ceo {
      max-width: none; }
    .about_page .right {
      max-width: none; }
      .about_page .right p {
        font-size: 14px;
        line-height: 1.65;
        margin-bottom: 35px; }
    .about_page .co_prof {
      margin-top: 80px; }
      .about_page .co_prof h3 {
        font-size: 28px;
        padding-bottom: 18px;
        margin-bottom: 25px; }
      .about_page .co_prof dl {
        flex-direction: column;
        margin-bottom: 15px; }
      .about_page .co_prof dt {
        font-size: 14px; }
      .about_page .co_prof dd {
        font-size: 18px; } }
/* =================================
TERMS
Privacy Policy & Cancellation Policy
共通
================================= */
.terms_page, .policy_page {
  background: #EFEDEA;
  padding-bottom: 75px; }
  .terms_page + footer, .policy_page + footer {
    margin-top: 0; }
  .terms_page .inner, .policy_page .inner {
    max-width: 860px; }

@media (max-width: 768px) {
  .terms_page, .policy_page {
    padding-bottom: 80px; } }
/* =================================
TERMS
================================= */
.terms_page dl {
  margin-bottom: 70px;
  letter-spacing: .05em; }
  .terms_page dl:last-of-type {
    margin-bottom: 0; }
.terms_page dt {
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 12px; }
.terms_page dd {
  font-size: 18px;
  margin-bottom: 1em; }
  .terms_page dd:last-of-type {
    margin-bottom: 0; }

@media (max-width: 768px) {
  .terms_page dl {
    margin-bottom: 40px; }
  .terms_page dt {
    font-size: 18px;
    margin-bottom: 12px; }
  .terms_page dd {
    font-size: 14px; } }
/* =================================
Privacy Policy & Cancellation Policy
================================= */
.policy_page .midashi_txt {
  font-size: 18px;
  line-height: 1.7;
  margin-bottom: 50px; }
.policy_page section {
  margin-bottom: 40px;
  letter-spacing: .05em;
  line-height: 1.6;
  font-size: 18px; }
  .policy_page section:last-of-type {
    margin-bottom: 0; }
  .policy_page section h3 {
    font-size: 30px;
    font-weight: 500;
    line-height: 1;
    border-bottom: 1px solid #242424;
    padding-bottom: .4em;
    margin-bottom: 25px; }
    .policy_page section h3 strong {
      font-size: 38px;
      margin-right: .3em; }
  .policy_page section .box {
    margin-bottom: 35px; }
    .policy_page section .box:last-of-type {
      margin-bottom: 0; }
  .policy_page section h4 {
    font-size: 20px;
    font-weight: 500; }
  .policy_page section p {
    margin-bottom: 1em; }
    .policy_page section p:last-of-type {
      margin-bottom: 0; }
  .policy_page section ul {
    margin-top: .6em;
    padding-left: 2.3em;
    list-style: disc; }
  .policy_page section li {
    margin-bottom: .2em; }
    .policy_page section li:last-of-type {
      margin-bottom: 0; }
    .policy_page section li ul {
      margin-top: 0;
      list-style-type: decimal; }
  .policy_page section table {
    margin-top: 1.2em;
    margin-left: 2.3em;
    line-height: 1.3; }
    .policy_page section table th, .policy_page section table td {
      border: 1px solid #242424;
      padding: 20px 30px; }

@media (max-width: 768px) {
  .policy_page .midashi_txt {
    font-size: 16px; }
  .policy_page section {
    margin-bottom: 50px;
    font-size: 14px; }
    .policy_page section h3 {
      font-size: 20px;
      margin-bottom: 20px; }
      .policy_page section h3 strong {
        font-size: 24px;
        margin-right: 0;
        display: block; }
    .policy_page section h4 {
      font-size: 16px; }
    .policy_page section table {
      margin-left: 0; }
      .policy_page section table th, .policy_page section table td {
        padding: 13px 20px; } }
