.cam_box {
  margin-bottom: 80px; }
  @media screen and (max-width: 768px) {
    .cam_box {
      margin-bottom: 40px;
      width: 100%;
      max-width: 100%;
      padding: 0px 20px; } }
  .cam_box ul {
    width: 100%;
    max-width: 100%;
    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; }
    .cam_box ul li {
      width: 48%;
      margin: 0px 1%; }
      .cam_box ul li img {
        width: 100%;
        max-width: 100%; }
      @media screen and (max-width: 768px) {
        .cam_box ul li {
          width: 100%;
          max-width: 100%;
          margin: 0px;
          margin-bottom: 15px; } }
      .cam_box ul li.wid {
        width: 90%;
        max-width: 900px; }
        @media screen and (max-width: 768px) {
          .cam_box ul li.wid {
            width: 100%;
            max-width: 100%; } }
      .cam_box ul li.bd_y {
        border: 1px solid #faef01;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }

.bnr01 {
  margin-bottom: 20px;
  width: 78.12%;
  max-width: 1000px; }
  @media screen and (max-width: 1024px) {
    .bnr01 {
      width: 100%;
      max-width: 100%; } }
  @media screen and (max-width: 768px) {
    .bnr01 {
      padding: 0px; } }
  .bnr01 img {
    width: 100%;
    max-width: 100%; }

.main_area_2nd.photobook {
  padding: 0px;
  margin: 0px;
  margin-bottom: 30px; }
  .main_area_2nd.photobook .main_area_inin {
    width: 100%;
    max-width: 100%;
    margin: 0px; }
  .main_area_2nd.photobook h2 {
    position: static;
    width: 100%;
    max-width: 100%;
    margin: 0px auto; }
    .main_area_2nd.photobook h2 img {
      width: 100%;
      max-width: 100%; }

main {
  background-color: #fff; }

.photobook_slide .swiper-container {
  padding-bottom: 40px; }
  @media screen and (max-width: 644px) {
    .photobook_slide .swiper-container {
      padding-bottom: 20px; } }

.photobook_slide .swiper-pagination.swiper-pagination-bullets {
  bottom: 0px; }

.photobook_slide .swiper-pagination-bullet-active {
  background-color: #ffb281; }

.photobook_slide img {
  width: 100%;
  max-width: 100%; }

.pb_contents_in {
  width: 78.12%;
  max-width: 1000px;
  margin: 0px auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 959px) {
    .pb_contents_in {
      padding: 0px 25px;
      width: 100%;
      max-width: 100%; } }

.photobook_tit01 {
  text-align: center;
  margin-bottom: 25px;
  font-size: 20px; }
  @media screen and (max-width: 644px) {
    .photobook_tit01 {
      font-size: 14px;
      margin-bottom: 40px; } }
  .photobook_tit01 .icon {
    display: block;
    width: 100%;
    max-width: 160px;
    margin: 0px auto;
    margin-bottom: 20px; }
    @media screen and (max-width: 644px) {
      .photobook_tit01 .icon {
        width: 100%;
        max-width: 110px;
        margin-bottom: 10px; } }
    .photobook_tit01 .icon.wid02 {
      width: 100%;
      max-width: 140px; }
      @media screen and (max-width: 644px) {
        .photobook_tit01 .icon.wid02 {
          width: 100%;
          max-width: 100px; } }
  .photobook_tit01 em {
    font-size: 29px; }
    @media screen and (max-width: 644px) {
      .photobook_tit01 em {
        font-size: 21px; } }

.photobook_tit02 {
  font-size: 24px;
  color: #ff7700;
  text-align: center;
  margin-bottom: 30px; }
  @media screen and (max-width: 644px) {
    .photobook_tit02 {
      font-size: 17px;
      margin-bottom: 15px; } }

.photobook_txt01 {
  font-size: 15px;
  color: #753103; }
  @media screen and (max-width: 644px) {
    .photobook_txt01 {
      font-size: 14px; } }

.f_pink {
  color: #f291aa; }

.f_lgreen {
  color: #7eaf03; }

.f_green {
  color: #02a287; }

.f_yellow {
  color: #bf8601; }

#header + .main_area {
  padding-top: 110px; }
  @media screen and (max-width: 768px) {
    #header + .main_area {
      padding-top: 80px; } }

.main_area {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 40px 0px 70px;
  margin-bottom: 40px; }
  @media screen and (max-width: 644px) {
    .main_area {
      padding: 30px 0px;
      margin-bottom: 25px; } }
  .main_area .tit01 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0px 20px;
    width: 78.12%;
    max-width: 1000px;
    margin: 0px auto;
    margin-bottom: 20px; }
    @media screen and (max-width: 644px) {
      .main_area .tit01 {
        width: 100%;
        max-width: 100%; } }
    .main_area .tit01 i {
      display: block;
      width: 100%;
      max-width: 135px;
      margin: 0px auto;
      margin-bottom: 15px; }
      @media screen and (max-width: 644px) {
        .main_area .tit01 i {
          width: 100%;
          max-width: 95px; } }
    .main_area .tit01 b {
      display: block;
      margin: 0px auto; }
  .main_area .img01 {
    width: 100%;
    max-width: 690px;
    margin: 0px auto;
    margin-bottom: 40px; }
    @media screen and (max-width: 768px) {
      .main_area .img01 {
        width: 100%;
        max-width: 100%; } }
    .main_area .img01 img {
      width: 100%;
      max-width: 100%; }
  .main_area .tit02 {
    text-align: center;
    padding: 0px 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    font-size: 26px;
    color: #814b01;
    margin-bottom: 30px; }
    @media screen and (max-width: 644px) {
      .main_area .tit02 {
        font-size: 16px;
        margin-bottom: 25px; } }
    .main_area .tit02 strong {
      font-size: 23px;
      letter-spacing: 0.15em; }
  .main_area .txt01 {
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0px 50px;
    font-size: 14px;
    color: #333333; }
    @media screen and (max-width: 768px) {
      .main_area .txt01 {
        text-align: left; } }
    @media screen and (max-width: 644px) {
      .main_area .txt01 {
        text-align: left;
        font-size: 14px; } }

.pb_dl01 {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0px 15px; }
  @media screen and (max-width: 644px) {
    .pb_dl01 {
      padding: 0px; } }
  .pb_dl01 dl dt {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 15px; }
    @media screen and (max-width: 644px) {
      .pb_dl01 dl dt {
        font-size: 16px;
        margin-bottom: 10px; } }
  .pb_dl01 dl dd {
    font-size: 15px;
    color: #333;
    padding-bottom: 20px;
    margin-bottom: 20px; }
    @media screen and (max-width: 644px) {
      .pb_dl01 dl dd {
        padding-bottom: 10px;
        margin-bottom: 25px; } }

.size_area {
  margin-bottom: 50px; }
  .size_area .size__list {
    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;
    background-color: #f1fafe; }
    @media screen and (max-width: 644px) {
      .size_area .size__list {
        background-color: #fff; } }
    .size_area .size__list li {
      width: 19.53%;
      max-width: 250px;
      text-align: center;
      font-size: 15px;
      margin-bottom: 50px; }
      @media screen and (max-width: 959px) {
        .size_area .size__list li {
          width: 25%; } }
      @media screen and (max-width: 644px) {
        .size_area .size__list li {
          width: 50%;
          margin-bottom: 35px;
          font-size: 14px;
          max-width: none; } }
      .size_area .size__list li figure {
        margin-bottom: 15px; }
        @media screen and (max-width: 644px) {
          .size_area .size__list li figure {
            margin-bottom: 10px; } }
  .size_area .size__box01 {
    padding-bottom: 40px;
    background-color: #f1fafe;
    text-align: center; }
    @media screen and (max-width: 644px) {
      .size_area .size__box01 {
        background-color: #fff; } }
    .size_area .size__box01 img {
      width: 100%;
      max-width: 530px; }
  .size_area .size__box02 {
    padding-bottom: 50px;
    background-color: #f1fafe; }
    @media screen and (max-width: 644px) {
      .size_area .size__box02 {
        background-color: #fff;
        padding-bottom: 0px; } }
  .size_area .btn_com01 {
    background-color: #fccc8c;
    color: #824b03;
    width: 100%;
    max-width: 300px;
    margin: 0px auto; }
    @media screen and (max-width: 644px) {
      .size_area .btn_com01 {
        width: 100%;
        max-width: 185px; } }
  .size_area .btn_com01.c02 {
    background-color: #ff7700;
    color: #fff; }

.size_area__box01 {
  display: none; }
  @media screen and (max-width: 644px) {
    .size_area__box01 {
      display: block;
      padding: 0px 25px; } }
  .size_area__box01 dl dt {
    color: #ec6516; }
  .size_area__box01 dl dd {
    border-bottom: solid 1px #fee9db; }

.photobook__subnav {
  border-top: solid 2px #ffb281;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 644px) {
    .photobook__subnav {
      border-top: solid 1px #ffb281; } }
  .photobook__subnav h2 {
    width: 17.18%;
    max-width: 220px;
    margin: 0px auto;
    margin-bottom: 20px; }
    @media screen and (max-width: 644px) {
      .photobook__subnav h2 {
        margin-bottom: 15px;
        width: 53.33%; } }
    .photobook__subnav h2 a {
      border: 2px solid #ffb281;
      border-top: none;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding: 7px 15px;
      text-align: center;
      line-height: 0;
      border-radius: 0px 0px 10px 10px; }
  .photobook__subnav ul {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 63.28%;
    max-width: 810px;
    margin: 0px auto; }
    @media screen and (max-width: 1024px) {
      .photobook__subnav ul {
        width: 100%;
        max-width: 100%;
        padding: 0px 15px;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start; } }
    .photobook__subnav ul li {
      width: 20%;
      text-align: center;
      display: block; }
      @media screen and (max-width: 768px) {
        .photobook__subnav ul li {
          width: 33.3%; } }
      .photobook__subnav ul li a {
        font-size: 16px;
        color: #824b03;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-bottom: 15px; }
        @media screen and (max-width: 644px) {
          .photobook__subnav ul li a {
            font-size: 12px;
            padding: 10px 0px;
            border-bottom: solid 3px #fff; } }
        .photobook__subnav ul li a.current {
          color: #ec6516;
          border-bottom: solid 3px #ec6516; }
        .photobook__subnav ul li a::before {
          content: "";
          border-top: solid 1px #ec6516;
          border-right: solid 1px #ec6516;
          display: inline-block;
          width: 5px;
          height: 5px;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg);
          vertical-align: 0.3rem;
          margin-right: 5px; }
          @media screen and (max-width: 644px) {
            .photobook__subnav ul li a::before {
              margin-right: 0px;
              vertical-align: 0.2rem; } }

.slide_area01 {
  margin-bottom: 40px; }
  @media screen and (max-width: 644px) {
    .slide_area01 {
      margin-bottom: 35px; } }

.couse_area {
  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;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(42%, #fff), color-stop(42%, rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0))), -webkit-gradient(linear, left top, right top, from(#ffb281), color-stop(50%, #ffb281), color-stop(50%, #aac4db), to(#aac4db));
  background: linear-gradient(to bottom, #fff 0%, #fff 42%, rgba(255, 255, 255, 0) 42%, rgba(255, 255, 255, 0) 100%), linear-gradient(to right, #ffb281 0%, #ffb281 50%, #aac4db 50%, #aac4db 100%);
  margin-bottom: 50px; }
  @media screen and (max-width: 644px) {
    .couse_area {
      display: block;
      background: none;
      margin-bottom: 0px; } }
  .couse_area .photobook_tit01 {
    width: 100%;
    max-width: 100%; }

.couse__box01 {
  width: 39.06%;
  max-width: 500px;
  padding-bottom: 50px; }
  @media screen and (max-width: 959px) {
    .couse__box01 {
      width: 50%; } }
  @media screen and (max-width: 644px) {
    .couse__box01 {
      width: 100%;
      max-width: 100%;
      padding-bottom: 40px;
      margin-bottom: 35px; } }
  .couse__box01 .btn_com01 {
    color: #824b03;
    background-color: #fff;
    width: 100%;
    max-width: 260px;
    margin: 0px auto; }
    @media screen and (max-width: 644px) {
      .couse__box01 .btn_com01 {
        width: 100%;
        max-width: 185px; } }
  @media screen and (max-width: 644px) {
    .couse__box01.orange {
      background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(30%, transparent), color-stop(30%, #ffb281), to(#ffb281));
      background: linear-gradient(to bottom, transparent 0%, transparent 30%, #ffb281 30%, #ffb281 100%); } }
  .couse__box01.orange .btn_com01::after {
    border: solid 2px #ffb281;
    border-bottom: none;
    border-left: none; }
  @media screen and (max-width: 644px) {
    .couse__box01.blue {
      background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(30%, transparent), color-stop(30%, #aac4db), to(#aac4db));
      background: linear-gradient(to bottom, transparent 0%, transparent 30%, #aac4db 30%, #aac4db 100%); } }
  .couse__box01.blue .btn_com01::after {
    border: solid 2px #aac4db;
    border-bottom: none;
    border-left: none; }
  .couse__box01.blue p {
    min-height: 72px; }
    @media screen and (max-width: 644px) {
      .couse__box01.blue p {
        min-height: auto; } }
  .couse__box01 figure {
    width: 100%;
    max-width: 425px;
    margin: 0px auto;
    margin-bottom: 30px; }
    @media screen and (max-width: 644px) {
      .couse__box01 figure {
        margin-bottom: 15px;
        width: 100%;
        max-width: 325px; } }

.couse__box01__in {
  padding: 0px 50px;
  width: 100%;
  max-width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .couse__box01__in h4 {
    width: 100%;
    max-width: 255px;
    margin: 0px auto;
    margin-bottom: 25px; }
    @media screen and (max-width: 644px) {
      .couse__box01__in h4 {
        width: 100%;
        max-width: 180px;
        margin-bottom: 20px; } }
  .couse__box01__in p {
    font-size: 15px;
    margin-bottom: 25px; }
    @media screen and (max-width: 644px) {
      .couse__box01__in p {
        font-size: 14px; } }

.app_hosei_wrap {
  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;
  background: linear-gradient(to bottom, #fff 0%, #fff 125px, rgba(255, 255, 255, 0) 125px, rgba(255, 255, 255, 0) 100%), linear-gradient(to right, #fde7f9 0%, #fde7f9 50%, #fddfc7 50%, #fddfc7 100%);
  margin-bottom: 50px; }
  @media screen and (max-width: 768px) {
    .app_hosei_wrap {
      display: block;
      background: none;
      margin-bottom: 0px; } }

.photobookApp_area {
  width: 50%;
  max-width: 640px; }
  @media screen and (max-width: 768px) {
    .photobookApp_area {
      width: 100%;
      max-width: 100%;
      margin-bottom: 30px; } }
  .photobookApp_area .photobookApp_area_in {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 50px 0px; }
    @media screen and (max-width: 768px) {
      .photobookApp_area .photobookApp_area_in {
        background-color: #fde7f9;
        padding: 35px 0px; } }
    .photobookApp_area .photobookApp_area_in p {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      width: 100%;
      max-width: 385px;
      margin: 0px auto;
      font-size: 15px;
      margin-bottom: 40px; }
      @media screen and (max-width: 959px) {
        .photobookApp_area .photobookApp_area_in p {
          width: 100%;
          max-width: 100%;
          padding: 0px 50px; } }
      @media screen and (max-width: 644px) {
        .photobookApp_area .photobookApp_area_in p {
          margin-bottom: 30px;
          font-size: 14px; } }
    .photobookApp_area .photobookApp_area_in figure {
      margin-bottom: 45px; }
      @media screen and (max-width: 768px) {
        .photobookApp_area .photobookApp_area_in figure {
          aspect-ratio: 750 / 485; } }
      @media screen and (max-width: 644px) {
        .photobookApp_area .photobookApp_area_in figure {
          margin-bottom: 30px; } }
      @media screen and (max-width: 768px) {
        .photobookApp_area .photobookApp_area_in figure img {
          -o-object-fit: cover;
          object-fit: cover;
          height: 100%;
          width: 100%; } }
    .photobookApp_area .photobookApp_area_in .btn_com01 {
      background-color: #fff;
      color: #824b03;
      width: 100%;
      max-width: 260px;
      margin: 0px auto; }
      @media screen and (max-width: 644px) {
        .photobookApp_area .photobookApp_area_in .btn_com01 {
          width: 100%;
          max-width: 185px; } }
      .photobookApp_area .photobookApp_area_in .btn_com01::after {
        border: solid 2px #d769c6;
        border-bottom: none;
        border-left: none; }

.photohosei_area {
  width: 50%;
  max-width: 640px; }
  @media screen and (max-width: 768px) {
    .photohosei_area {
      margin-bottom: 50px;
      width: 100%;
      max-width: 100%; } }
  .photohosei_area .photohosei_area_in {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 50px 0px; }
    @media screen and (max-width: 768px) {
      .photohosei_area .photohosei_area_in {
        background-color: #fddfc7;
        padding: 35px 50px; } }
    .photohosei_area .photohosei_area_in p {
      width: 100%;
      max-width: 385px;
      margin: 0px auto;
      margin-bottom: 40px;
      font-size: 15px; }
      @media screen and (max-width: 959px) {
        .photohosei_area .photohosei_area_in p {
          width: 100%;
          max-width: 100%;
          padding: 0px 50px; } }
      @media screen and (max-width: 768px) {
        .photohosei_area .photohosei_area_in p {
          padding: 0px; } }
      @media screen and (max-width: 644px) {
        .photohosei_area .photohosei_area_in p {
          margin-bottom: 30px;
          font-size: 14px; } }
    .photohosei_area .photohosei_area_in figure {
      width: 64.84%;
      max-width: 415px;
      margin: 0px auto;
      margin-bottom: 65px; }
      @media screen and (max-width: 644px) {
        .photohosei_area .photohosei_area_in figure {
          margin-bottom: 30px;
          width: 100%;
          max-width: 100%; } }
    .photohosei_area .photohosei_area_in .btn_com01 {
      background-color: #fff;
      color: #824b03;
      width: 100%;
      max-width: 260px;
      margin: 0px auto; }
      @media screen and (max-width: 644px) {
        .photohosei_area .photohosei_area_in .btn_com01 {
          width: 100%;
          max-width: 185px; } }
      .photohosei_area .photohosei_area_in .btn_com01::after {
        border: solid 2px #ff853d;
        border-bottom: none;
        border-left: none; }

.slide_area02 {
  position: relative;
  margin-bottom: 50px; }
  @media screen and (max-width: 644px) {
    .slide_area02 {
      margin-bottom: 25px; } }
  .slide_area02 .flame {
    position: absolute;
    left: 0px;
    z-index: 2;
    text-align: center;
    width: 100%;
    max-width: 100%;
    bottom: 5%; }
    @media screen and (max-width: 644px) {
      .slide_area02 .flame {
        bottom: 5px; } }
    .slide_area02 .flame img {
      width: 35.93%; }
      @media screen and (max-width: 644px) {
        .slide_area02 .flame img {
          width: 88%; } }

.uketori_area .photobook_tit01 {
  margin-bottom: 35px; }

.uketori_area .uletori_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .uketori_area .uletori_list {
      display: block; } }
  .uketori_area .uletori_list li {
    width: 48%;
    margin-bottom: 60px;
    position: relative; }
    @media screen and (max-width: 768px) {
      .uketori_area .uletori_list li {
        width: 100%;
        max-width: 100%;
        margin-bottom: 40px; } }
  .uketori_area .uletori_list .uketori_tit01 {
    width: 50%;
    max-width: 240px;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 0px;
    left: 50%; }
  .uketori_area .uletori_list .uketori_img {
    margin-bottom: 20px; }
    @media screen and (max-width: 768px) {
      .uketori_area .uletori_list .uketori_img {
        margin-bottom: 10px; } }
  .uketori_area .uletori_list .uketori_txt01 {
    color: #ff7700;
    font-size: 28px;
    text-align: center;
    margin-bottom: 15px;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 1400px) {
      .uketori_area .uletori_list .uketori_txt01 {
        font-size: 2vw; } }
    @media screen and (max-width: 1024px) {
      .uketori_area .uletori_list .uketori_txt01 {
        font-size: 16px; } }
  .uketori_area .uletori_list .uketori_txt02 {
    text-align: center;
    letter-spacing: 0.1em;
    font-size: 15px;
    color: #753103; }
    @media screen and (max-width: 1024px) {
      .uketori_area .uletori_list .uketori_txt02 {
        font-size: 14px; } }
    @media screen and (max-width: 768px) {
      .uketori_area .uletori_list .uketori_txt02 {
        text-align: left; } }
