@charset "UTF-8";
/* インスタフォトグランプリのページ（/instaphotogp/）専用。固定ページの本文から移動（2026-11-05） */
/* スライダー */
.n2_clear {
  max-width: 1200px;
  margin: auto;
}
/* トップ画像 */
.insta_kazari_top {
  margin: auto;
  width: 100%;
  position:relative;
}
.insta_kazari_image {
  margin: auto;
}
/* ページ全体 */
.insta_fot_page {
  width: 90%;
  margin: auto;
  background-color: #fff;
}
@media screen and (max-width: 1299px) {
  .insta_fot_page {
    width: 95%;
    margin: auto;
    background-color: #fff;
  }
}
/* 初めに */
.text-align {
  text-align:center;
}
.flex {
  display:flex;
}
@media screen and (min-width: 870px) {
  .insta_hajimeni_bun {
    font-size: x-large !important;
  }
}
.insta_hajimeni_bun {
  font-size:larger;
  padding:40px 0 0 0;
  font-weight: bold;
}
/* 概要 */
.insta_gaiyo_main {
  margin-bottom: 20px;
}
.insta_gaiyo_bun {
  padding-top: 0px;
  padding-bottom: 15px;
}
.insta_gaiyo_bottom {
  justify-content: center;
}
/* 開催情報 */
@media screen and (max-width: 870px) {
  .in_m {
    width: 95%;
  }
}
@media screen and (max-width: 1299px) {
  .insta_bottom {
    margin: 15px 20px 10px 20px !important;
    width: 60% !important;
  }
}
.insta_kaisai_main {
  margin:30px 0 30px 0;
}
.insta_kaisai_midashi {
  margin:0 auto 20px auto;
}
.insta_kaisai_midashi_mobi {
  margin:0 auto 20px auto;
}
.insta_kaisai_now {
  justify-content: center;
  border-radius:10px;
  border:1.5px solid #000000;
  margin: 20px auto;
  width: 80%;
  max-width: fit-content;
}
.insta_kaisai_now_link {
  justify-content: center;
  border-radius:10px;
  box-shadow: 0 3px 5px rgba(0, 0, 0, .2);
  border:1.5px solid #000000;
  margin: 20px auto;
  width: 80%;
  max-width: fit-content;
}
.insta_kaisai_now_link:hover {
  transform: translate(0,-2px);
  -webkit-box-shadow: 0 8px 15px rgba(0, 0, 0, .2);
  box-shadow: 0 8px 15px rgba(0, 0, 0, .2);
}
.insta_kaisai_bottom {
  justify-content: center;
  text-align: center;
}
.insta_bottom {
  position: relative;
  justify-content: center;
  align-items: center;
  transition: 0.1s ease-in-out;
  font-size: 140%;
  border-radius: 10px;
  box-shadow: 5px 5px #cf938b;
  margin: 15px 30px 10px 30px;
  padding: 10px;
  width: 30%;
  background-color: #efc3bd;
}
.insta_bottom:hover {
  background-color: #cf938b;
  box-shadow: 0 0 0;
  transform: translate(5px, 5px);
}
/* 各賞について */
.insta_award_midashi {
  margin:10px auto 35px auto;
}
.insta_award_midashi_mobi {
  margin: 10px auto 35px auto;
}
.insta_award_each {
  margin:15px 15px;
}
.insta_award_now {
  position: relative;
  justify-content: center;
  align-items: center;
  transition: 0.1s ease-in-out;
  font-size: 140%;
  margin: 20px auto 10px auto;
  padding: 10px 20px;
  width: max-content;
  background-color: #eadfcb;
  border-radius: 5px;
  box-shadow: 5px 5px #cbb894;
}
.insta_award_now:hover {
  background-color: #cbb894;
  box-shadow: 0 0 0;
  transform: translate(5px, 5px);
}
@media screen and (max-width: 870px) {
  .insta_award_now {
    padding: 10px 10px !important;
    width: 90% !important;
  }
}
/* 応募方法 */
/* .pc・.mobi は本文の中だけ（ヘッダーの .pc を消さないように。2026-11-05） */
@media screen and (max-width: 1299px) {
  .insta_fot_page .pc {
    display: none;
  }
}
@media screen and (min-width: 1300px) {
  .insta_fot_page .mobi {
    display: none;
  }
  .oubo_chui {
    margin:30px auto 20px auto;
  }
}
.oubo_midashi {
  margin:10px auto 40px auto;
}
.insta_oubo_midashi_mobi {
  margin:10px auto 40px auto;
}
.oubo_method {
  margin:auto 20%;
}
.oubo_follow {
  margin:auto;
  width: 320px;
  height: auto;
  padding: 0;
  position: relative;
}
.oubo_DM {
  margin:auto;
  width: 320px;
  height: auto;
  padding: 0;
  position: relative;
}
.oubo_chui {
  margin:15px auto 10px auto;
}
.oubo_method_mobi {
  margin:auto 5%;
}
.oubo_follow_mobi {
  max-width: 350px;
  width: 75%;
  margin: auto;
}
.oubo_DM_mobi {
  max-width: 350px;
  width: 75%;
  margin: auto;
}
/* 当日の流れ（スマホ） */
@media screen and (min-width: 1000px) {
  .mobi_1000 {
    display: none;
  }
}
.insta_todo_naiyo_mobi {
  max-width: 350px;
  width: 85%;
  padding-top: 5px;
  padding-bottom: 5px;
  word-break: keep-all;
  margin: auto;
}
.insta_todo_sonosya_mobi {
  max-width: 350px;
  margin: auto;
  width: 85%;
}
.under_sankaku_mobi {
  font-size: 3em;
  color: #6495ed;
  z-index: 2;
  margin: -5px auto;
}
/* 当日の流れ（PC） */
@media screen and (max-width: 1299px) {
  .insta_todo_bottom {
    width: 60% !important;
  }
}
@media screen and (max-width: 999px) {
  .pc_1000 {
    display: none;
  }
}
.insta_todo_midashi {
  margin:10px auto 40px auto;
}
.insta_todo_midashi_mobi {
  margin:10px auto 30px auto;
}
.insta_todo_gyo {
  z-index: -2;
}
.insta_todo_naiyo {
  margin:auto;
  word-break: keep-all;
}
.insta_todo_bottom {
  position: relative;
  justify-content: center;
  align-items: center;
  transition: 0.1s ease-in-out;
  font-size: 140%;
  margin: 15px auto 10px auto;
  padding: 10px;
  width: 30%;
  background-color: #efc3bd;
  border-radius: 10px;
  box-shadow: 5px 5px #cf938b;
}
.insta_todo_bottom:hover {
  background-color: #cf938b;
  box-shadow: 0 0 0;
  transform: translate(5px, 5px);
}
.under_sankaku {
  font-size: 3em;
  color: #6495ed;
  margin: -55px;
  z-index: 2;
}
/* 今までの受賞者 */
@media screen and (max-width: 870px) {
}
.insta_juhyo_midashi {
  margin:10px auto 40px auto;
}
.insta_juhyo_midashi_mobi {
  margin: 10px auto 30px auto;
}
.insta_juhyo_one {
  position: relative;
  justify-content:space-evenly;
  align-items: center;
  transition: 0.1s ease-in-out;
  font-weight: bold;
  background-color: #eadfcb;
  padding: 10px;
  border-radius: 5px;
  box-shadow: 5px 5px #cbb894;
}
/* 今までの受賞者：PC 3列・スマホ 2列（2026-11-05） */
.insta_juhyo_naiyo {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  max-width: 960px;
  margin: 0 auto;
}
.insta_juhyo_naiyo > .insta_juhyo_midashi,
.insta_juhyo_naiyo > .insta_juhyo_midashi_mobi {
  grid-column: 1 / -1;
}
.insta_juhyo_naiyo > p {
  display: none;
}
.insta_juhyo_one a {
  width: 100%;
  line-height: 1.5;
  text-wrap: balance;
}
.insta_juhyo_one a > br:first-child {
  display: none;
}
.insta_juhyo_one img {
  display: block;
  margin: 8px auto 0;
}
@media screen and (max-width: 800px) {
  .insta_juhyo_naiyo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 0 5px;
  }
  .insta_juhyo_one {
    font-size: 1.2rem;
    padding: 8px;
  }
}
/* 上部のイメージ画像（七五三などプランのページと同じ部品を使用。2026-11-05） */
.instaphotogp .page_ttl_content::before {
  background-image: url(../img/top/instaphotogp_title_img.jpg);
}
.instaphotogp .page_ttl-plan .page_title_text_jp {
  background-image: url(../img/shop_content/icon_instagram.svg);
  font-size: 2.8rem;
  letter-spacing: .12em;
  line-height: 1.5;
  padding-left: 0;
  margin-right: 0;
}
.instaphotogp .page_ttl-plan .page_ttl_content::before {
  background-position: center;
}
.instaphotogp .page_ttl-plan .page_title_text_en {
  text-shadow: 0 0 6px #fff, 0 0 12px #fff;
}
@media screen and (min-width: 801px) {
  .instaphotogp .page_ttl-plan .page_title_text_en {
    font-size: 6rem;
  }
}
@media screen and (max-width: 800px) {
  .instaphotogp .page_ttl_content::before {
    background-image: url(../img/top/instaphotogp_title_img_sp.jpg);
  }
  /* 名前が長いので、スマホは縦書きにせず横書きで2行にする */
  .instaphotogp .page_ttl-plan .page_title_text_jp {
    writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    left: 0;
    width: 32.5%;
    max-width: none;
    margin: 0;
    padding-top: 30px;
    background-size: 22px auto;
    font-size: 1.25rem;
    line-height: 20px;
    letter-spacing: .05em;
  }
  /* 英字は1行にする */
  .instaphotogp .page_ttl-plan .page_title_text_en br {
    display: none;
  }
  .instaphotogp .page_title_wrap .breadcrumb_wrap {
    padding: 0 15px;
  }
}
.insta_juhyo_one:hover {
  background-color: #cbb894;
  box-shadow: 0 0 0;
  transform: translate(5px, 5px);
}
