@charset "UTF-8";
/*-----------------------------------
    ブレイクポイント
-----------------------------------*/
/*$tablet: "only screen and (max-width:959px)";*/
/*-----------------------------------
    カラー
-----------------------------------*/
/*-----------------------------------
    フォント
-----------------------------------*/
/*
  1. より直感的なボックスサイズのモデルを使用
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+JP:wght@100;200;300;400;500;600;700&family=Zen+Kaku+Gothic+New:wght@300;400;500;700&display=swap");
*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/*
  2. デフォルトのマージンを削除
*/
* {
  margin: 0;
}

/*
  3. 高さは%ベースを使用
*/
html, body {
  height: 100%;
}

/*
  タイポグラフィの微調整
  4. アクセシブルなline-heightを追加
  5. テキストのレンダリングを改善
*/
body {
  font-family: "Noto Sans JP", "Roboto", "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  /*font-family:"Roboto","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;*/
  /*font-family:'Roboto','Noto Sans JP', "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;*/
  font-size: 16px;
  line-height: 1.7em;
  -webkit-font-smoothing: antialiased;
}

/*
  6. メディア要素のデフォルトを改善
*/
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

/*
  7. フォームのfontに関するデフォルトを削除
*/
input, button, textarea, select {
  font: inherit;
}

/*
  8. テキストのオーバーフローを回避
*/
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

/*
  9. ルートのスタックコンテキストを作成
*/
#root, #__next {
  isolation: isolate;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, input, textarea, p, th, td {
  margin: 0;
  padding: 0;
}

address, caption, em, strong, th {
  font-style: normal;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

object, embed {
  vertical-align: top;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
}

img, abbr {
  border: 0;
  vertical-align: bottom;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

.spOnly {
  display: none;
}
@media only screen and (max-width:599px) {
  .spOnly {
    display: block;
  }
}

@media only screen and (max-width:599px) {
  .spNone {
    display: none;
  }
}

@media only screen and (max-width:1099px) {
  .pcOnly {
    display: none;
  }
}

@media only screen and (min-width:1100px) {
  .pcNone {
    display: none;
  }
}

br .spOnly {
  display: none;
}
@media only screen and (max-width:599px) {
  br .spOnly {
    display: inline-block;
  }
}
@media only screen and (max-width:599px) {
  br .spNone {
    display: none;
  }
}

.spOnly {
  display: none;
}
@media only screen and (max-width:599px) {
  .spOnly {
    display: block;
  }
}

@media only screen and (max-width:599px) {
  .spNone {
    display: none;
  }
}
@media only screen and (max-width:1099px) {
  .pcOnly {
    display: none;
  }
}
@media only screen and (min-width: 1099px) {
  .pcNone {
    display: none;
  }
}
.junbi {
  width: 100%;
  padding: 100px 0 0 0;
  text-align: center;
}
.junbi img {
  width: 700px;
  height: auto;
  display: block;
  margin: 0 auto;
}
@media only screen and (max-width:599px) {
  .junbi img {
    width: 70%;
    height: auto;
  }
}

body {
  background: #f2efea;
  font-size: 17px;
  line-height: 1.8em;
}

/*スムーズスクロール*/
html {
  scroll-behavior: smooth;
}

/*ブラウザ全体　固定枠*/
html:before,
html:after,
body:before,
body:after {
  content: "";
  background: #66d7d1;
  position: fixed;
  display: block;
  z-index: 99999;
}

html:before {
  height: 12px;
  width: 100vw;
  left: 0;
  top: 0;
}
@media only screen and (max-width:599px) {
  html:before {
    height: 8px;
  }
}

html:after {
  width: 12px;
  height: 100vh;
  right: 0;
  top: 0;
}
@media only screen and (max-width:599px) {
  html:after {
    width: 8px;
  }
}

body:before {
  height: 12px;
  width: 100vw;
  bottom: 0;
  left: 0;
}
@media only screen and (max-width:599px) {
  body:before {
    height: 8px;
  }
}

body:after {
  width: 12px;
  height: 100vh;
  top: 0;
  left: 0;
}
@media only screen and (max-width:599px) {
  body:after {
    width: 8px;
  }
}

/*さかなふわふわ*/
.fish_wrapper, .fish_wrapper_2 {
  display: block;
  position: absolute;
  height: auto;
  z-index: 999;
}

.fis_1_box {
  left: -5vw;
  top: 40vh;
}
@media only screen and (max-width:599px) {
  .fis_1_box {
    left: -5%;
    top: 46vh;
  }
}

.fish_1 {
  width: 150px;
}
@media only screen and (max-width:599px) {
  .fish_1 {
    width: 100px;
  }
}

.fis_2_box {
  right: -5vw;
  top: 17vh;
}
@media only screen and (max-width:599px) {
  .fis_2_box {
    right: -5vw;
    top: 2vh;
  }
}

.fish_2 {
  width: 200px;
}
@media only screen and (max-width:599px) {
  .fish_2 {
    width: 150px;
  }
}

.fis_3_box {
  left: -7vw;
  top: 5vh;
}
@media only screen and (max-width:599px) {
  .fis_3_box {
    left: -5vw;
    top: 2vh;
  }
}

.fish_3 {
  width: 160px;
}
@media only screen and (max-width:599px) {
  .fish_3 {
    width: 110px;
  }
}

.fis_4_box {
  right: -1vw;
  top: 83vh;
}
@media only screen and (max-width:599px) {
  .fis_4_box {
    right: -2vw;
    top: 72vh;
  }
}

.fish_4 {
  width: 100px;
}
@media only screen and (max-width:599px) {
  .fish_4 {
    width: 90px;
  }
}

.fis_5_box {
  right: -10vw;
  top: 65vh;
}
@media only screen and (max-width:599px) {
  .fis_5_box {
    right: -5vw;
    top: 49vh;
  }
}

.fish_5 {
  width: 220px;
}
@media only screen and (max-width:599px) {
  .fish_5 {
    width: 140px;
  }
}

.fis_6_box {
  right: -27vw;
  top: 3vh;
}
@media only screen and (max-width:599px) {
  .fis_6_box {
    display: none;
  }
}

.fish_6 {
  width: 120px;
}

.fis_7_box {
  left: -10vw;
  top: 80vh;
}
@media only screen and (max-width:599px) {
  .fis_7_box {
    display: none;
  }
}

.fish_7 {
  width: 150px;
}

.fis_8_box {
  left: -25vw;
  top: 2vh;
}
@media only screen and (max-width:599px) {
  .fis_8_box {
    display: none;
  }
}

.fish_8 {
  width: 100px;
}

/* Animation */
.fish_wrapper {
  animation: floating-x 8s ease-in-out infinite alternate-reverse;
}

.target {
  animation: floating-y 2s ease-in-out infinite alternate-reverse;
}

.fish_wrapper_2 {
  animation: floating-x_2 4s ease-in-out infinite alternate-reverse;
}

.target_2 {
  animation: floating-y_2 4s ease-in-out infinite alternate-reverse;
}

@-webkit-keyframes floating-x {
  0% {
    -webkit-transform: translateX(-10%);
            transform: translateX(-10%);
  }
  100% {
    -webkit-transform: translateX(10%);
            transform: translateX(10%);
  }
}

@keyframes floating-x {
  0% {
    -webkit-transform: translateX(-10%);
            transform: translateX(-10%);
  }
  100% {
    -webkit-transform: translateX(10%);
            transform: translateX(10%);
  }
}
@-webkit-keyframes floating-y {
  0% {
    -webkit-transform: translateY(-5%);
            transform: translateY(-5%);
  }
  100% {
    -webkit-transform: translateY(5%);
            transform: translateY(5%);
  }
}
@keyframes floating-y {
  0% {
    -webkit-transform: translateY(-5%);
            transform: translateY(-5%);
  }
  100% {
    -webkit-transform: translateY(5%);
            transform: translateY(5%);
  }
}
@-webkit-keyframes floating-x_2 {
  0% {
    -webkit-transform: translateX(-5%);
            transform: translateX(-5%);
  }
  100% {
    -webkit-transform: translateX(5%);
            transform: translateX(5%);
  }
}
@keyframes floating-x_2 {
  0% {
    -webkit-transform: translateX(-5%);
            transform: translateX(-5%);
  }
  100% {
    -webkit-transform: translateX(5%);
            transform: translateX(5%);
  }
}
@-webkit-keyframes floating-y_2 {
  0% {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
  100% {
    -webkit-transform: translateY(10%);
            transform: translateY(10%);
  }
}
@keyframes floating-y_2 {
  0% {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
  100% {
    -webkit-transform: translateY(10%);
            transform: translateY(10%);
  }
}
/*全体レイアウト*/
.wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.left-fixed {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: center;
}
@media only screen and (max-width:1099px) {
  .left-fixed {
    display: none;
  }
}
.left-fixed .left_image {
  position: sticky;
  top: 18vh;
  text-align: center;
  margin: 0 auto;
  max-width: 345px;
  padding: 0 10px;
}
.left-fixed .left_image img {
  width: 100%;
  display: inline;
}

#application, #attention {
  padding: 60px 0 0 0;
}

.container {
  position: relative;
  width: 472px;
  margin: 0;
  min-height: 100vh;
  background: #f2efea url("../img/2025/bg_cont.png") no-repeat center 18px;
  background-size: 98% auto;
}
@media only screen and (max-width:1099px) {
  .container {
    margin: 0 0 12px 12px;
  }
}
@media only screen and (max-width:599px) {
  .container {
    width: auto;
    margin: 8px;
    background: #f2efea url("../img/2025/bg_cont.png") no-repeat center 5px;
    background-size: 98% auto;
    overflow: hidden;
  }
}
.container .logo_pc {
  margin: 70px 0 30px;
}
@media only screen and (max-width:599px) {
  .container .logo_pc {
    display: none;
  }
}
.container .logo_pc img {
  width: 89%;
  display: block;
  margin: 0 auto;
}
.container .logo_sp {
  display: none;
  margin: 70px 0 30px;
}
@media only screen and (max-width:599px) {
  .container .logo_sp {
    display: block;
  }
}
.container .logo_sp img {
  width: 92%;
  display: block;
  margin: 0 auto;
}
.container .main_info {
  margin: 0 60px 20px;
}
@media only screen and (max-width:599px) {
  .container .main_info {
    margin: 0 20px 20px;
  }
}
.container .main_info p {
  font-size: 19px;
  color: #132874;
  line-height: 2.3em;
  padding: 0.4em 0;
  margin-right: -0.3em;
  border-bottom: 3px dotted #66d7d1;
  display: inline;
}
@media only screen and (max-width:599px) {
  .container .main_info p {
    font-size: 18px;
  }
}
.container .img_day img {
  width: 100%;
  height: auto;
}
.container .title_set {
  margin: 0 0 40px;
}
.container .title_set img {
  width: 250px;
  height: auto;
  display: block;
  margin: 0 auto;
}
.container .txt_set {
  text-align: center;
  margin: 0 0 50px;
}
.container .txt_set dt {
  font-size: 20px;
  line-height: 20px;
  margin: 0 0 20px;
}
.container .txt_set dt.title_oubo span {
  margin: 0 auto;
  border-radius: 40px;
  color: #0f084b;
  border: 2px solid #66d7d1;
  padding: 4px 20px;
}
.container .txt_set dt.title_atte span {
  margin: 0 auto;
  border-radius: 40px;
  color: #0f084b;
  background: #e6e0d7;
  padding: 4px 20px;
}
@media only screen and (max-width:599px) {
  .container .txt_set dd {
    margin: 0 20px;
  }
}
.container .txt_set dd a {
  color: #66d7d1;
  text-decoration: underline;
  font-size: 16px;
}
.container .txt_set dd span {
  font-size: 12px;
  line-height: 1.5em;
  display: block;
}
.container .txt_set dd .oubo_info {
  color: #fc7753;
  display: block;
  margin: 10px 0 0 0;
  line-height: 1.5em;
}
.container .txt_set dd .list_num {
  margin: 0 20px;
  text-align: left;
  padding-left: 25px;
}
@media only screen and (max-width:599px) {
  .container .txt_set dd .list_num {
    margin: 0;
  }
}
.container .txt_set dd .list_num li {
  list-style-type: decimal;
  list-style-position: outside;
}
.container .txt_set dd .list_num li::marker {
  color: #fc7753;
}
.container .txt_set dd .p_title {
  color: #fc7753;
  margin: 0 20px;
  text-align: left;
}
@media only screen and (max-width:599px) {
  .container .txt_set dd .p_title {
    margin: 0;
  }
}
.container .txt_set dd .p_title_access {
  color: #0f084b;
  margin: 15px 20px 0;
  text-align: left;
  padding: 0 0 0 66px;
}
@media only screen and (max-width:599px) {
  .container .txt_set dd .p_title_access {
    margin: 15px 0 0;
  }
}
.container .txt_set dd .access_icon_a {
  background: url("../img/2025/icon_access_a.png") no-repeat left center;
  background-size: 55px auto;
}
.container .txt_set dd .access_icon_b {
  background: url("../img/2025/icon_access_b.png") no-repeat left center;
  background-size: 55px auto;
}
.container .txt_set dd .access_icon_c {
  background: url("../img/2025/icon_access_c.png") no-repeat left center;
  background-size: 55px auto;
}
.container .txt_set dd .txt_left {
  text-align: left;
  margin: 0 20px;
}
@media only screen and (max-width:599px) {
  .container .txt_set dd .txt_left {
    margin: 0;
  }
}
.container .txt_set dd iframe {
  margin: 0 auto;
  width: 90%;
}
@media only screen and (max-width:599px) {
  .container .txt_set dd iframe {
    width: 100%;
  }
}
.container .toujitsu_set {
  padding: 60px 0;
}
.container .toujitsu_set img {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
}
.container .toujitsu_set .toujitsu_txt {
  background: #66d7d1;
  padding: 10px 20px 50px;
  text-align: left;
}
.container .bnr_official {
  margin: 40px 0;
}
.container .bnr_official a {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  display: block;
  width: 250px;
  margin: 0 auto;
}
.container .bnr_official a:hover {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
}
.container .bnr_official a img {
  width: 250px;
  height: auto;
}
.container .bnr_kk {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 0 20px;
}
.container .bnr_kk li {
  width: 38%;
  margin: 0 20px;
}
.container .bnr_kk li img {
  width: 100%;
  height: auto;
}
.container .footer_link {
  text-align: center;
  margin: 0 0 10px;
}
.container .footer_link a {
  font-size: 14px;
  color: #0d0221;
  text-decoration: none;
}
.container .copyright {
  text-align: center;
  background: #fff;
  font-size: 14px;
  color: #0d0221;
  padding: 0 0 20px;
}
.container .btn_oubo_sp {
  display: none;
}
@media only screen and (max-width:599px) {
  .container .btn_oubo_sp {
    position: fixed;
    bottom: 15px;
    right: 15px;
    width: 150px;
    margin: 0 auto;
    display: block;
    z-index: 9999;
  }
}

.right-fixed {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media only screen and (max-width:599px) {
  .right-fixed {
    display: none;
  }
}
.right-fixed .right_navigation {
  position: sticky;
  top: 30vh;
  width: 250px;
  margin: 0 auto;
}
@media only screen and (max-width:1099px) {
  .right-fixed .right_navigation {
    width: auto;
    margin: 0 50px;
  }
}
.right-fixed .right_navigation li {
  margin: 0 0 30px;
  background: url("../img/2025/icon_menu.png") no-repeat left center;
  background-size: 36px 22px;
  padding: 0 0 0 46px;
}
.right-fixed .right_navigation li a {
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  -webkit-transition-duration: 0.4s;
          transition-duration: 0.4s;
}
.right-fixed .right_navigation li a:hover {
  color: #66d7d1;
  letter-spacing: 0.15em;
}
.right-fixed .btn_oubo {
  position: sticky;
  top: 60vh;
  width: 235px;
  margin: 0 auto;
  display: block;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  z-index: 9999;
}
.right-fixed .btn_oubo:hover {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
}

/*PC用 背景・右メニュー*/
.bg-back {
  background: url("../img/2025/sui_back.png") center no-repeat;
  background-attachment: scroll;
  /*background-size: auto;*/
  background-size: cover;
  position: fixed;
  height: 100vh;
  width: 100%;
  /*background-attachment: fixed;*/
  z-index: -1;
}

/*メインコンテンツ*/
.content {
  width: 472px;
  margin: 0 auto;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  background: #f2efea;
  z-index: 99;
  position: relative;
}
@media only screen and (max-width:599px) {
  .content {
    width: auto;
  }
}
.content .title_set {
  margin: 100px 0 40px;
}
.content .title_set img {
  width: 230px;
  height: auto;
  display: block;
  margin: 0 auto;
}
.content .f18 {
  font-size: 18px;
  line-height: 1.5em;
}
.content .f14 {
  font-size: 14px;
  line-height: 1.5em;
}
.content .f12 {
  font-size: 12px;
  line-height: 1.5em;
}
.content .bold {
  font-weight: bold;
}
.content .mv {
  position: relative;
  background: url("../img/bg_pc.jpg") no-repeat center top;
  background-size: auto 100%;
  -o-object-fit: cover;
     object-fit: cover;
  text-align: center;
}
.content .mv img.point_6 {
  position: absolute;
  left: 0;
  top: 0;
  width: 200px;
  height: auto;
}
.content .mv img.logo {
  width: 265px;
  height: auto;
  display: block;
  margin: 0 auto;
  padding: 80px 0 10px;
}
.content .mv img.mv_info {
  width: 350px;
  height: auto;
  display: block;
  margin: 0 auto;
  padding: 0 0 50px 0;
}
.content .mv::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #fff;
  -webkit-transform: skewY(-7deg) translateY(760px);
      -ms-transform: skewY(-7deg) translateY(760px);
          transform: skewY(-7deg) translateY(760px);
  z-index: 79;
  height: 70px;
}
.content .photo_1 {
  position: relative;
  height: 480px;
  margin: 0 0 50px;
}
.content .photo_1 img.main {
  border-radius: 10px 0 10px 0;
  width: 100%;
  height: auto;
}
.content .photo_1 .photo_txt {
  position: absolute;
  top: 170px;
  left: 0;
  width: 70%;
  background: #fff;
  padding: 15px 15px 15px 0;
  font-size: 16px;
  letter-spacing: 0.5px;
}
.content .photo_1 img.point_1 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 110px;
  height: auto;
}
.content .photo_1 img.point_2 {
  position: absolute;
  top: 150px;
  right: 50px;
  width: 110px;
  height: auto;
}
.content .photo_2 {
  position: relative;
  height: 500px;
  margin: 0 0 50px;
}
.content .photo_2 img.main {
  border-radius: 0 10px 0 10px;
  width: 100%;
  height: auto;
}
.content .photo_2 .photo_txt {
  position: absolute;
  top: 180px;
  right: 0;
  width: 70%;
  background: #fff;
  padding: 15px 0 15px 15px;
  font-size: 16px;
  letter-spacing: 1px;
}
.content .photo_2 img.point_3 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 170px;
  height: auto;
}
.content .photo_2 img.point_4 {
  position: absolute;
  top: 130px;
  left: -20px;
  width: 180px;
  height: auto;
}
.content .photo_3 {
  position: relative;
  height: 450px;
  margin: 0 0 50px;
}
.content .photo_3 img.main {
  border-radius: 10px;
  width: 400px;
  height: 450px;
  -o-object-fit: cover;
     object-fit: cover;
}
.content .photo_3 .photo_txt {
  position: absolute;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 110px;
  height: 290px;
  background: #fff;
  padding: 15px;
  font-size: 16px;
  letter-spacing: 1px;
}
.content .photo_3 img.point_5 {
  position: absolute;
  top: -70px;
  right: -10px;
  width: 130px;
  height: auto;
}
.content .info_oubo dt {
  text-align: center;
  letter-spacing: 5px;
  background: #162850;
  color: #fff;
  margin: 0 0 10px;
}
.content .info_oubo dd {
  margin: 0 0 20px;
}
.content .info_oubo dd.center {
  text-align: center;
}
.content .info_oubo dd .oubo_atte {
  background: #FFE1E2;
  display: block;
  color: #D30003;
  padding: 10px 5px;
  margin: 0 0 20px;
  font-size: 14px;
  line-height: 1.3em;
}
.content .info_oubo dd .oubo_day {
  margin: 0 0 20px;
  font-size: 18px;
  font-weight: bold;
}
.content .info_oubo dd .oubo_day span {
  font-size: 16px;
}
.content .info_oubo dd .oubo_op {
  text-align: left;
}
.content .pickup_photo {
  border: 5px solid #eee;
  padding: 15px;
  margin: 0 0 20px;
}
.content .pickup_photo .title {
  position: relative;
  display: block;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  padding: 20px 0 0 0;
  margin: 0 0 10px;
}
.content .pickup_photo .title:before {
  content: "";
  background: url("../img/icon_camera.png") no-repeat;
  background-size: 28px;
  position: absolute;
  top: -5px;
  display: inline-block;
  width: 30px;
  height: 30px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
}
.content .pickup_app {
  background: url("../img/line_a.png") no-repeat;
  background-size: 400px 17px;
  margin: 30px 0;
  padding: 30px 0 50px;
  position: relative;
}
.content .pickup_app:after {
  content: "";
  background: url("../img/line_a.png") no-repeat;
  background-size: 400px 17px;
  width: 100%;
  height: 17px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.content .pickup_app .title {
  position: relative;
  display: block;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  padding: 40px 0 0 0;
  margin: 0 0 10px;
}
.content .pickup_app .title:before {
  content: "";
  background: url("../img/icon_sp.png") no-repeat;
  background-size: 28px;
  position: absolute;
  top: 10px;
  display: inline-block;
  width: 30px;
  height: 30px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
}
.content .pickup_app .day {
  background: #cef3fa;
  text-align: center;
  padding: 15px;
  display: block;
  font-weight: bold;
  font-size: 18px;
  margin: 10px 0;
}
.content .pickup_app .btn_app {
  display: block;
  text-align: center;
  font-weight: bold;
  background: url("../img/btn_app.png") no-repeat;
  background-size: 300px 57px;
  margin: 20px auto;
  width: 300px;
  height: 57px;
  color: #000;
  text-decoration: none;
  line-height: 57px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.content .pickup_app .btn_app:hover {
  color: #329fcf;
}
.content .pickup_app .error_txt {
  margin: 30px 0 0 0;
  font-size: 12px;
  line-height: 1.7em;
  display: block;
}

footer {
  text-align: center;
}
@media only screen and (max-width:599px) {
  footer {
    padding: 0 0 70px;
  }
}
footer .official_logo img {
  width: 60%;
  height: auto;
  display: block;
  margin: 0 auto 30px;
}
footer ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto 30px;
  width: 90%;
}
footer ul li {
  margin: 0 10px;
}
footer .contact {
  color: cornflowerblue;
  font-size: 12px;
  padding: 5px 0;
}
footer .copyright {
  background: #f2f2f2;
  color: #666;
  font-size: 12px;
  padding: 3px 0;
}

.enki {
  font-size: 16px;
  line-height: 1.8em;
  padding: 20px;
  background: #FFF0F1;
}
.enki .title {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin: 0 0 10px;
}
.enki span {
  color: #DB0003;
  font-weight: bold;
  text-decoration: underline;
}

.gallery_list img {
  display: block;
  border-radius: 10px 0 10px 0;
  margin: 0 0 10px;
}