@charset "UTF-8";
/* ==================================================
  #13 津島 | EMOTION! | 名古屋鉄道
  /area/13_tsushima/style.css
================================================== */
/* Title
---------------------------------------- */
@media screen and (min-width: 769px) {
  .page_title {
    position: relative;
    width: 100%;
    height: 52.58vw;
    max-height: 900px;
    background: url(images/title_img_pc.jpg) center top no-repeat;
    background-size: cover;
  }
  .page_title::before {
    content: "";
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    padding-top: 16%;
    background: rgb(0, 0, 0);
    background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
    opacity: 0.4;
    mix-blend-mode: multiply;
  }
  .page_title h1 {
    position: absolute;
    bottom: 1em;
    right: 1em;
    width: calc(100% - 2em);
    text-align: right;
  }
}
@media screen and (max-width: 768px) {
  .page_title {
    position: relative;
    width: 100%;
    height: 125.33vw;
    background: url(images/title_img_sp.jpg) center no-repeat;
    background-size: cover;
  }
  .page_title::before {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 28%;
    height: 100%;
    background: rgb(0, 0, 0);
    background: linear-gradient(90deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
    opacity: 0.4;
    mix-blend-mode: multiply;
  }
  .page_title h1 {
    position: absolute;
    bottom: 0.5em;
    right: 0.5em;
    width: calc(100% - 1em);
    text-align: center;
  }
}
/* ------------------------------
  Hero
------------------------------ */
.pg_hero__slide.type02::before, .pg_hero__slide.type02::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  width: 23vw;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}
@media screen and (max-width: 768px) {
  .pg_hero__slide.type02::before, .pg_hero__slide.type02::after {
    content: none;
  }
}
.pg_hero__slide.type02::before {
  left: 0;
}
.pg_hero__slide.type02::after {
  right: 0;
}
.pg_hero__control {
  margin-top: 1.625rem;
}
.pg_hero__control .custom-arrows {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 16.875rem;
}
@media screen and (max-width: 768px) {
  .pg_hero__control .custom-arrows {
    gap: 0 12rem;
  }
}
.pg_hero__control .slick-arrow {
  border: none;
  outline: none;
  background: none;
  cursor: pointer;
}
.pg_hero__control .slick-arrow img {
  width: 1.5rem;
  height: 1.5rem;
}
@media (hover: hover) {
  .pg_hero__control .slick-arrow img {
    transition: opacity 0.3s ease;
  }
  .pg_hero__control .slick-arrow:hover img {
    opacity: 0.7;
  }
}
.pg_hero__control .slick-dots {
  margin-top: -0.75rem;
  display: flex;
  justify-content: center;
  align-items: center;
  list-style-type: none;
  gap: 0 0.625rem;
  line-height: 0;
}
@media screen and (max-width: 768px) {
  .pg_hero__control .slick-dots {
    gap: 0 0.5rem;
  }
}
.pg_hero__control .slick-dots li button {
  vertical-align: bottom;
  width: 4.375rem;
  height: 0;
  border: none;
  border-top: solid 1px #004E9B;
  outline: none;
  opacity: 0.2;
  overflow: hidden;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .pg_hero__control .slick-dots li button {
    width: 3rem;
  }
}
.pg_hero__control .slick-dots li.slick-active button {
  opacity: 1;
}

/* ------------------------------
  Outline
------------------------------ */
.sec_outline {
  margin: 9.5rem 0;
  text-align: center;
}

.sec_outline .title {
  margin-bottom: 3em;
}

.sec_outline .copy {
  margin-bottom: 2em;
  line-height: 1.8;
  letter-spacing: 0.2em;
}

.sec_outline .text {
  margin-top: 1.5em;
  line-height: 2;
  font-weight: 600;
}

.sec_outline .area_img {
  margin-top: 2em;
}

.sec_outline .border {
  margin: 5rem 0;
}

.sec_outline .border::before,
.sec_outline .border::after {
  content: "";
  display: block;
  height: 5px;
  background: url(../images/border.svg) center center no-repeat;
}

.sec_outline .movie {
  margin: 5rem 0;
}

.sec_outline .movie .thumb a {
  position: relative;
  display: block;
  width: min(100%, 750px);
  margin: 0 auto;
}

.sec_outline .movie .thumb a::after {
  content: "";
  position: absolute;
  top: calc(50% - 1.5rem);
  left: calc(50% - 1.5rem);
  width: 3rem;
  height: 3rem;
  background: url(../../common/images/icon_mov_play.svg) center center/contain no-repeat;
}

@media screen and (max-width: 768px) {
  .sec_outline {
    margin: 3rem 0;
    text-align: left;
  }
  .sec_outline .copy {
    margin-bottom: 1.5em;
    font-size: 1.3em;
    letter-spacing: 0.1em;
  }
  .sec_outline .text {
    font-size: 0.9em;
    letter-spacing: 0;
  }
  .sec_outline .area_img {
    width: 80%;
    margin: 2em auto 0;
  }
  .sec_outline .border {
    margin: 3rem 0;
  }
  .sec_outline .movie {
    width: 100vw;
    margin: 3rem -5vw;
  }
  .sec_outline .movie .thumb a::after {
    top: calc(50% - 1rem);
    left: calc(50% - 1rem);
    width: 2rem;
    height: 2rem;
  }
}
/* ------------------------------
  Location
------------------------------ */
.location {
  margin: 120px 0 150px;
}
@media screen and (max-width: 768px) {
  .location {
    width: 100vw;
    margin: 5rem 0 7rem;
    overflow: hidden;
  }
}
.location .textarea {
  z-index: 1;
  opacity: 0;
  transition: 1s;
  transition-delay: 0.5s;
}
@media screen and (min-width: 769px) {
  .location .textarea {
    transform: translateX(30px);
  }
}
@media screen and (max-width: 768px) {
  .location .textarea {
    transform: translateY(30px);
  }
}
.location .textarea.visible {
  opacity: 1;
}
@media screen and (min-width: 769px) {
  .location .textarea.visible {
    transform: translateX(0);
  }
}
@media screen and (max-width: 768px) {
  .location .textarea.visible {
    transform: translateY(0);
  }
}
.location .textarea-item {
  margin-top: 1em;
  padding: 0 1em;
  background-color: #fff;
  line-height: 2.2;
}
@media screen and (max-width: 768px) {
  .location .textarea-item {
    margin-top: 0;
    line-height: 2;
  }
}
.location .textarea-item:first-child {
  margin-top: 2em;
}
@media screen and (max-width: 768px) {
  .location .textarea-item:first-child {
    margin-top: 0;
  }
}
.location .textarea-item h2 {
  padding: 0.25em 0;
  font-size: 1.25em;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .location .textarea-item h2 {
    padding: 0.5em 0 0;
    line-height: 1.6;
    letter-spacing: 0.1em;
  }
}
.location .textarea-item p {
  padding: 1em 0;
  font-size: 0.875em;
}
@media screen and (max-width: 768px) {
  .location .textarea-item p:last-child {
    padding-bottom: 3em;
  }
  .location .textarea-item p br {
    display: none;
  }
}
.location-block01 {
  position: relative;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .location-block01 {
    margin-bottom: 0;
  }
}
.location-block01 .img01 {
  width: min(650px, 100%);
  opacity: 0;
  transition: 1s;
  transition-delay: 0.5s;
}
@media screen and (min-width: 769px) {
  .location-block01 .img01 {
    transform: translateX(-30px);
  }
}
@media screen and (max-width: 768px) {
  .location-block01 .img01 {
    width: 100%;
    transform: translateY(30px);
  }
}
.location-block01 .img01.visible {
  opacity: 1;
}
@media screen and (min-width: 769px) {
  .location-block01 .img01.visible {
    transform: translateX(0);
  }
}
@media screen and (max-width: 768px) {
  .location-block01 .img01.visible {
    transform: translateY(0);
  }
}
.location-block01.reverse .img01 {
  margin-left: auto;
}
.location-block01 .textarea {
  position: absolute;
  top: 0;
  right: 0;
  min-width: 400px;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .location-block01 .textarea {
    position: relative;
    min-width: initial;
    width: 94%;
    margin: -1em auto 0;
    align-items: stretch;
  }
}
.location-block01.reverse .textarea {
  right: auto;
  left: 0;
}
.location-block02 {
  position: relative;
  margin-bottom: 50px;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1em;
}
@media screen and (max-width: 768px) {
  .location-block02 {
    display: block;
    margin-bottom: 2em;
  }
}
.location-block02 .img02 {
  width: 500px;
  opacity: 0;
  transition: 1s;
  transition-delay: 0.5s;
}
@media screen and (min-width: 769px) {
  .location-block02 .img02 {
    transform: translateX(-30px);
  }
}
@media screen and (max-width: 768px) {
  .location-block02 .img02 {
    width: 100%;
    transform: translateY(30px);
  }
}
.location-block02 .img02.visible {
  transform: translateX(0);
  opacity: 1;
}
@media screen and (min-width: 769px) {
  .location-block02 .img02.visible {
    transform: translateX(0);
  }
}
@media screen and (max-width: 768px) {
  .location-block02 .img02.visible {
    transform: translateY(0);
  }
}
.location-block02 .img03 {
  width: 346px;
  margin-bottom: -60px;
  opacity: 0;
  transition: 1s;
  transition-delay: 0.5s;
}
@media screen and (min-width: 769px) {
  .location-block02 .img03 {
    transform: translateX(30px);
  }
}
@media screen and (max-width: 768px) {
  .location-block02 .img03 {
    width: 100%;
    transform: translateY(30px);
  }
  .location-block02 .img03 img {
    width: 100%;
  }
}
.location-block02 .img03.visible {
  opacity: 1;
}
@media screen and (min-width: 769px) {
  .location-block02 .img03.visible {
    transform: translateX(0);
  }
}
@media screen and (max-width: 768px) {
  .location-block02 .img03.visible {
    transform: translateY(0);
  }
}
@media screen and (max-width: 768px) {
  .location-block02 .img03 {
    width: 100%;
    margin: 0;
  }
}
.location-block02 .textarea {
  position: absolute;
  top: 0;
  right: 46%;
}
@media screen and (max-width: 768px) {
  .location-block02 .textarea {
    position: relative;
    left: 0;
    min-width: initial;
    width: 94%;
    margin: -1em auto 0;
  }
}
.location-block03 {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1em;
}
@media screen and (max-width: 768px) {
  .location-block03 {
    width: 92%;
    margin: 0 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 2em;
  }
}
.location-block03 .data {
  opacity: 0;
  transition: 1s;
  transition-delay: 0.5s;
}
@media screen and (min-width: 769px) {
  .location-block03 .data {
    transform: translateX(-30px);
  }
}
@media screen and (max-width: 768px) {
  .location-block03 .data {
    transform: translateY(30px);
  }
}
.location-block03 .data.visible {
  opacity: 1;
}
@media screen and (min-width: 769px) {
  .location-block03 .data.visible {
    transform: translateX(0);
  }
}
@media screen and (max-width: 768px) {
  .location-block03 .data.visible {
    transform: translateY(0);
  }
}
.location-block03 .data h3 {
  margin-bottom: 1.25em;
  font-size: 1em;
}
.location-block03 .data dl {
  display: grid;
  grid-template-columns: 5.5em 1fr;
  gap: 0.3em 1em;
  font-size: 0.75em;
  font-weight: 700;
}
.location-block03 .data dl dt {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.location-block03 .data dl dt::after {
  content: "";
  width: 0;
  height: 1em;
  border-right: solid 1px #004e9b;
}
.location-block03 .map {
  width: 60%;
  height: 300px;
  overflow: hidden;
  opacity: 0;
  transition: 1s;
  transition-delay: 0.5s;
}
@media screen and (min-width: 769px) {
  .location-block03 .map {
    transform: translateX(30px);
  }
}
@media screen and (max-width: 768px) {
  .location-block03 .map {
    width: 100%;
    height: 13em;
    transform: translate Y(30px);
  }
}
.location-block03 .map.visible {
  opacity: 1;
}
@media screen and (min-width: 769px) {
  .location-block03 .map.visible {
    transform: translateX(0);
  }
}
@media screen and (max-width: 768px) {
  .location-block03 .map.visible {
    transform: translate Y(0);
  }
}
.location-block03 .map iframe {
  width: 100%;
  height: 100%;
}

/* ------------------------------
  Column
------------------------------ */
.sec_column {
  color: #42b5b8;
}

.sec_column > *:first-of-type {
  margin-top: 5rem;
}

.sec_column .catch {
  margin-bottom: 1em;
  line-height: 1.6;
  font-size: 1.25em;
  letter-spacing: 0;
}

.sec_column .text {
  line-height: 2.428;
  text-align: justify;
  font-size: 0.875em;
}

@media screen and (min-width: 769px) {
  .decoborder {
    display: flex;
    align-items: center;
    margin-top: 0.25rem;
    padding: 45px 50px;
    background-image: url(../images/pc/decoborder_top.png), url(../images/pc/decoborder_btm.png), url(../images/pc/decoborder_bdy.png);
    background-position: center top, center bottom, center center;
    background-repeat: no-repeat, no-repeat, repeat-y;
  }
  .decoborder .copy {
    flex: 0 0 380px;
    margin-right: 40px;
  }
}
@media screen and (max-width: 768px) {
  .decoborder {
    margin-top: 1em;
    padding: 2em 1.5em;
    background-image: url(../images/sp/decoborder_top.png), url(../images/sp/decoborder_btm.png), url(../images/sp/decoborder_bdy.png);
    background-position: center top, center bottom, center center;
    background-repeat: no-repeat, no-repeat, repeat-y;
    background-size: 100% auto;
    letter-spacing: 0;
  }
  .decoborder .img {
    margin: 1.5em 5% 0;
    text-align: center;
  }
  .sec_column .text {
    line-height: 2;
  }
}
/* ------------------------------
  Contents Date
------------------------------ */
.contents_date {
  margin: 3em auto 0;
  text-align: right;
  line-height: 2;
  font-size: 1.25em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .contents_date {
    margin-top: 1.5em;
    line-height: 1.6;
    font-size: 1em;
  }
}
.contents_date .kakko {
  display: inline-block;
  margin-right: -0.5em;
}
@media screen and (max-width: 768px) {
  .contents_date .kakko {
    font-size: 0.8125em;
  }
}

/* ------------------------------
  Instagram
------------------------------ */
.insta-container {
  display: flex;
  flex-wrap: wrap;
}
.insta-media {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .insta-media {
    width: 50%;
    flex: auto;
  }
  .insta-media:last-child {
    display: none;
  }
}
.insta-media a {
  display: block;
  overflow: hidden;
}
.insta-media a img {
  aspect-ratio: 20/25;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (hover: hover) {
  .insta-media a img {
    transition: transform 0.3s;
  }
  .insta-media a:hover img {
    transform: scale(1.1);
  }
}
.insta-message {
  display: none;
}

/* ------------------------------
  Reccomend
------------------------------ */
.sec_recommend {
  margin-top: 5rem;
}
.sec_recommend__header {
  border-bottom: solid 1px #004e9b;
}
.sec_recommend__header .title {
  width: 95%;
  margin: 0 auto 0.5rem;
  display: flex;
  align-items: center;
  font-size: 1.75em;
  font-weight: 700;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .sec_recommend__header .title {
    font-size: 1.3em;
    letter-spacing: 0.1em;
  }
}
.sec_recommend__header .title.icon-ticket::after {
  content: "";
  width: 1.57em;
  height: 1em;
  margin: 0.1em 0 0 0.5em;
  background: url("../../common/images/icon_recommend.svg") center center/contain no-repeat;
}
.sec_recommend__body {
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .sec_recommend__body {
    margin-top: 2rem;
  }
}
.sec_recommend .block {
  margin-top: 3rem;
  padding: 0 2.5% 3rem;
  border-bottom: solid 1px #004e9b;
}
@media screen and (max-width: 768px) {
  .sec_recommend .block {
    margin-top: 2rem;
    padding: 0 0 2rem;
  }
}
.sec_recommend .block_header .title {
  display: inline-block;
  font-size: 1.75em;
  font-weight: 700;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .sec_recommend .block_header .title {
    font-size: 1.3em;
    letter-spacing: 0.1em;
  }
}
.sec_recommend .block_header .ttl_notes {
  display: inline-block;
  margin-left: 1em;
  font-size: 0.875em;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .sec_recommend .block_header .ttl_notes {
    display: block;
    margin: 0.5em 0 0;
    font-size: 0.86em;
  }
}
.sec_recommend .block_item {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .sec_recommend .block_item {
    flex-direction: column;
    font-size: 0.9em;
  }
}
@media screen and (max-width: 768px) {
  .sec_recommend .block_item dt {
    width: 100%;
  }
}
.sec_recommend .block_item dt > div {
  padding: 0.25em 0.5em 0.3em;
  border-radius: 0.2em;
  background-color: #004e9b;
  font-weight: 500;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .sec_recommend .block_item dt > div {
    text-align: center;
  }
}
.sec_recommend .block_item dt > div span {
  font-size: 0.7em;
  letter-spacing: 0.05em;
}
.sec_recommend .block_item dt .dt_notes {
  margin-top: 1em;
  font-size: 0.75em;
  font-weight: 400;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .sec_recommend .block_item dt .dt_notes {
    font-size: 0.8em;
  }
}
.sec_recommend .block_item dd {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .sec_recommend .block_item dd {
    width: 100%;
  }
}
.sec_recommend .block_item dd .text {
  line-height: 1.8;
  font-size: 1.125em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sec_recommend .block_item dd .text {
    font-size: 1em;
  }
}
.sec_recommend .block_item dd .price_list {
  list-style-type: none;
  display: grid;
  grid-template-columns: 7fr 6fr 6fr;
  gap: 0.5em 2em;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .sec_recommend .block_item dd .price_list {
    grid-template-columns: 1fr 1fr;
    font-size: 0.88em;
    letter-spacing: 0.05em;
  }
}
.sec_recommend .block_item dd .price_list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .sec_recommend .block_item dd .price_list li:not(:nth-child(3n)) {
    position: relative;
  }
  .sec_recommend .block_item dd .price_list li:not(:nth-child(3n))::after {
    content: "";
    position: absolute;
    right: -1em;
    width: 0;
    height: 100%;
    border-right: solid 1px #004ea2;
  }
}
@media screen and (max-width: 768px) {
  .sec_recommend .block_item dd .price_list li:nth-child(odd) {
    position: relative;
  }
  .sec_recommend .block_item dd .price_list li:nth-child(odd)::after {
    content: "";
    position: absolute;
    right: -1em;
    width: 0;
    height: 100%;
    border-right: solid 1px #004ea2;
  }
}
.sec_recommend .block_item dd .price_list li > * {
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.05em;
}
.sec_recommend .block_item dd .price_list li em {
  font-size: 1.375em;
}
.sec_recommend .block_plan {
  margin-top: 2rem;
  display: flex;
  justify-content: space-between;
  gap: 0 14px;
}
@media screen and (max-width: 768px) {
  .sec_recommend .block_plan {
    flex-direction: column;
    gap: 14px 0;
  }
}
.sec_recommend .block_plan-item {
  flex: 1 1 auto;
  position: relative;
  padding: 1em 0;
  border-radius: 0.3em;
  background-color: #eef7fd;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1.4;
  text-align: center;
  font-size: 0.875em;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .sec_recommend .block_plan-item {
    width: 100%;
    padding: 1.5em 1em;
  }
}
.sec_recommend .block_plan-item:not(:first-child)::before {
  content: "";
  position: absolute;
  z-index: 10;
  display: block;
  top: calc(50% - 15px);
  left: -22px;
  width: 30px;
  height: 30px;
  background: url("../../common/images/icon_plus.svg") center center/contain no-repeat;
}
@media screen and (max-width: 768px) {
  .sec_recommend .block_plan-item:not(:first-child)::before {
    top: -22px;
    left: calc(50% - 15px);
  }
}
.sec_recommend .block_plan-item > *:not(:first-child) {
  margin-top: 0.5em;
}
.sec_recommend .block_plan-item p em {
  display: block;
  font-size: 1.28em;
  font-weight: 700;
  font-style: normal;
}
.sec_recommend .block_plan-item p small {
  font-size: 0.86em;
}
.sec_recommend .block_plan-item .ticket {
  margin-top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
}
.sec_recommend .block_plan-item .ticket em {
  font-size: 1.4em;
  font-style: normal;
  font-weight: 700;
}
.sec_recommend .block_plan-item .ticket span {
  position: relative;
  margin-left: 0.5em;
  padding: 0 0.75em;
  background-color: #004ea2;
  font-family: sans-serif;
  font-size: 0.85em;
  font-weight: 400;
  color: #fff;
}
.sec_recommend .block_plan-item .ticket span::before, .sec_recommend .block_plan-item .ticket span::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #eef7fd;
}
.sec_recommend .block_plan-item .ticket span::before {
  left: -2px;
}
.sec_recommend .block_plan-item .ticket span::after {
  right: -2px;
}
.sec_recommend .button {
  margin-top: 3em;
}
.sec_recommend .button a {
  padding: 0.4em 1em 0.5em;
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 1px #004ea2;
  border-radius: 0.2em;
  font-weight: 700;
  color: #004ea2;
}
.sec_recommend .button a::after {
  content: "";
  width: 1.2em;
  height: 1em;
  margin-left: 0.5em;
  background: url(../../common/images/icon_external.svg) center center/contain no-repeat;
}
@media (hover: hover) {
  .sec_recommend .button a {
    transition: background-color 0.3s;
  }
  .sec_recommend .button a:hover {
    background-color: #eef7fd;
  }
}
.sec_recommend .notes {
  width: 95%;
  margin: 3rem auto 0;
  line-height: 1.8;
  font-size: 0.875em;
}
@media screen and (max-width: 768px) {
  .sec_recommend .notes {
    width: 100%;
    margin-top: 2rem;
    font-size: 0.76em;
  }
}

/* ------------------------------
  FLoat Banner Instagram
------------------------------ */
.float_bnr--instagram {
  display: none;
  position: fixed;
  z-index: 10;
  bottom: 5%;
  right: max((100vw - 1024px) / 2 - 250px, 2%);
  padding: 4px;
  border-radius: 6px;
  background-color: #fff;
  box-shadow: 0 0 5px rgba(0, 78, 155, 0.4);
}
@media screen and (max-width: 768px) {
  .float_bnr--instagram {
    bottom: 3%;
    right: 3%;
    width: 94%;
  }
}
.float_bnr--instagram a {
  border: solid 1px #004e9b;
  border-radius: 4px;
  display: flex;
  align-items: center;
}
@media (hover: hover) {
  .float_bnr--instagram a {
    transition: background-color 0.3s ease;
  }
  .float_bnr--instagram a:hover {
    background-color: #eef7fd;
  }
}
.float_bnr--instagram a::before {
  content: "";
  height: 4rem;
  aspect-ratio: 1/1;
  background: url(../../common/images/float_bnr_instagram_icon.svg) center center/60% auto no-repeat #004e9b;
}
.float_bnr--instagram a::after {
  content: "";
  width: 1.1rem;
  height: 4rem;
  background: url(../../common/images/float_bnr_arrow.svg) center center/6px 12px no-repeat #004e9b;
}
@media screen and (max-width: 768px) {
  .float_bnr--instagram a {
    justify-content: space-between;
  }
  .float_bnr--instagram a::before, .float_bnr--instagram a::after {
    height: 3.2rem;
  }
}
@media screen and (min-width: 769px) {
  .float_bnr--instagram a dl {
    padding: 0 0.5rem;
    line-height: 1;
    text-align: center;
  }
  .float_bnr--instagram a dl dt {
    margin-bottom: 0.3rem;
    padding-bottom: 0.5rem;
    border-bottom: dashed 1px #004e9b;
  }
  .float_bnr--instagram a dl dt img {
    width: 90px;
  }
}
@media screen and (max-width: 768px) {
  .float_bnr--instagram a dl {
    flex: 1;
    padding: 0 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
  }
  .float_bnr--instagram a dl dt {
    max-width: 140px;
    margin-right: 5%;
    padding-right: 5%;
    border-right: dashed 1px #004e9b;
    text-align: right;
  }
}
.float_bnr--instagram a dl dd {
  font-size: 0.9rem;
  font-weight: bold;
  letter-spacing: 0;
  color: #004e9b;
}
@media screen and (max-width: 768px) {
  .float_bnr--instagram a dl dd {
    font-size: min(3.6vw, 18px);
    white-space: nowrap;
  }
}

/* ------------------------------
  Footer
------------------------------ */
@media screen and (max-width: 768px) {
  .footer {
    padding-bottom: calc(3rem + 4.4em);
  }
}/*# sourceMappingURL=style.css.map */