@charset "utf-8";
/* ===================================================================
 style info : ヘッダーやフッターなどサイト内共通
=================================================================== */

/*----------------------------------------------------
	共通
----------------------------------------------------*/
body {
  font-family: Lato, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
  background-color: #ffffff;
  color: #333333;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.15em;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

/*----------------------------------------------------
    リンク
----------------------------------------------------*/
a:link,
a:visited,
a:hover,
a:active {
  color: #333333;
  text-decoration: none;
  transition: all .5s ease;
}

.link_txt01 {
  color: #ff6988 !important;
}

.link_txt01:hover {
  color: #ffb3c3 !important;
}

.link_txt02 {
  color: #78c8dc !important;
}

.link_txt02:hover {
  color: #bfe3ec !important;
}

.txt_uline {
  text-decoration: underline !important;
}

.txt_uline:hover {
  text-decoration: none !important;
}

/*----------------------------------------------------
    アニメーション
----------------------------------------------------*/
.anim-box {
  opacity: 0;
}

.anim-box.slidein_r.is-animated {
  animation: slideIn_r 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

@keyframes slideIn_r {
  0% {
    transform: translateX(180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%,100% {
    opacity: 1;
  }
}

.anim-box.slidein_l.is-animated {
  animation: slideIn_l 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

@keyframes slideIn_l {
  0% {
    transform: translateX(-180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%,100% {
    opacity: 1;
  }
}

.anim-box.fadeup.is-animated {
  animation: fadeUp 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

@keyframes fadeUp {
  0% {
    transform: translateY(80px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.anim-box.fadedown.is-animated {
  animation: fadeDown 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

@keyframes fadeDown {
  0% {
    transform: translateY(-80px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.anim-box.zoomin.is-animated {
  animation: zoomIn 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/*----------------------------------------------------
    .sp_tel
----------------------------------------------------*/
.sp_tel {
  pointer-events: none;
}

/*----------------------------------------------------
    .tl_elt
----------------------------------------------------*/
.tl_elt {
  display: none;
}

/*----------------------------------------------------
    .sp_elt
----------------------------------------------------*/
.sp_elt {
  display: block;
}

/*----------------------------------------------------
    .column
----------------------------------------------------*/
.column {
  display: flex;
}

.column span:not(:first-of-type) {
  margin-left: 0.5em;
}

/* -----------------------------------------------------------
    .note
----------------------------------------------------------- */
.note {
  display: flex;
}

.note:before {
  content: "※";
  margin-right: 0.1em;
}

/* -----------------------------------------------------------
    .list
----------------------------------------------------------- */
.list {
  line-height: 1.4;

}

.list > li {
  display: flex;
  margin-top: 0.25vw;
}

.list > li:first-of-type {
  margin-top: 0
}

.list > li:before {
  content: "・";
  margin-right: 0.15em;
  margin-left: -0.15em;
}

/* -----------------------------------------------------------
    .tbl_dl
----------------------------------------------------------- */
.tbl_dl > dl {
  display: flex;
}

.tbl_dl > dl > dt,
.tbl_dl > dl > dd {
  padding: 1.5vw 2vw;
}

.tbl_dl > dl > dt {
  background-color: #f2f2f2;
  font-weight: 700;
  flex: 0 1 20%;
  max-width: 20%;
  margin-top: 1px;
}

.tbl_dl > dl:first-of-type > dt {
  margin-top: 0;
}

.tbl_dl > dl > dd {
  background-color: #f9f9f9;
  flex: 1 1;
  margin-left: 1px;
  margin-top: 1px;
}

.tbl_dl > dl:first-of-type > dd {
  margin-top: 0;
}

/* -----------------------------------------------------------
    .tab
----------------------------------------------------------- */
.tab ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 900;
}

.tab ul li {
  flex: 1 1;
  margin-left: 1px;
}

.tab ul li:first-of-type {
  margin-left: 0;
}

.tab ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 70px;
  min-height: 70px;
  padding: 0.5vw;
}

.tab ul.tabs01 li a {
  background-color: #ffeef2;
}

.tab ul.tabs02 li a {
  background-color: #e6f0f3;
}

.tab ul li.active a {
  color: #ffffff;
  pointer-events: none;
}

.tab ul.tabs01 li.active a {
  background-color: #ff6988;
}

.tab ul.tabs02 li.active a {
  background-color: #54b7d0;
}

.tab ul li a:hover {
  xopacity: 0.5;
}

.area {
  xbackground: #ffffff;
  display: none;
  opacity: 0;
}

.area.is-active {
  display: block;
  animation-name: displayAnime;
  animation-duration: 2s;
  animation-fill-mode: forwards;
}

@keyframes displayAnime{
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/*----------------------------------------------------
    toggle-panel
----------------------------------------------------*/
#panel-btn {
  display: none;
}

/*----------------------------------------------------
    .overlay
----------------------------------------------------*/
.overlay {
  display: none;
}

/* -----------------------------------------------------------
    .object-fit-img
----------------------------------------------------------- */
.object-fit-img {
  object-fit: cover;
  font-family: "object-fit: cover;";
}

/* -----------------------------------------------------------
    .u_line
----------------------------------------------------------- */
.u_line {
  padding: 0 0.05em;
  position: relative;
  z-index: 0;
}

.u_line:after {
  content: "";
  height: 5px;
  width: calc(100% - 0.15em);
  position: absolute;
  left: 0;
  bottom: 0.01em;
  z-index: -1;
}

.line01:after {
  background-color: #78c8dc;
}

.line02:after {
  background-color: #ff6988;
}

/* -----------------------------------------------------------
    矢印
----------------------------------------------------------- */
.arw {
  position: relative;
}

.arw:after {
  content: "";
  height: 10px;
  width: 10px;
  margin-right: 2px;
  transform: rotate(45deg) translateY(-50%);
  transition: all .5s ease;
  position: absolute;
  top: 50%;
}

.arw01:after {
  border-top: 2px solid #ff6988;
  border-right: 2px solid #ff6988;
}

.arw02:after {
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
}

.arw03:after {
  border-top: 2px solid #ff6988;
  border-right: 2px solid #ff6988;
}

.arw03:hover:after {
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
}

.arw04:after {
  border-top: 2px solid #ff6988;
  border-right: 2px solid #ff6988;
}

.arw04:hover:after {
  border-top: 2px solid #ffb3c3;
  border-right: 2px solid #ffb3c3;
}

.arw05:after {
  border-top: 2px solid #78c8dc;
  border-right: 2px solid #78c8dc;
}

.arw_r01:after {
  right: calc(5px + 1.25em);
}

.arw_r02:after {
  right: 5px;
}

.arw_r02:hover:after {
  right: calc(5px + 1vw);
}

.arw_r03:after {
  right: 5px;
}

/* -----------------------------------------------------------
  .btn
----------------------------------------------------------- */
.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75em 1.25em;
  position: relative;
  z-index: 0;
}

.btn_jc_ctr {
  justify-content: center;
}

/* -----------------------------------------------------------
  背景色
----------------------------------------------------------- */
.bg_clr01 {
  background-color: #ff6988;
}

.bg_clr01:hover {
  background-color: #ffb3c3;
}

.bg_clr02 {
  background-color: #ffffff;
}

.bg_clr02:hover {
  background-color: #ff6988;
}

.bg_clr03 {
  background-color: #78c8dc;
}

.bg_clr03:hover {
  background-color: #bfe3ec;
}

/* -----------------------------------------------------------
  ボーダー色
----------------------------------------------------------- */
.brd_clr01 {
  border: 1px solid #dddddd;
}

.brd_clr01:hover {
  border: 1px solid #ff6988;
}

a:hover .brd_clr01 {
  border: 1px solid #ff6988 !important;
}

/* -----------------------------------------------------------
  ボーダー角丸
----------------------------------------------------------- */
.brd_rd01 {
  border-radius: 3px;
}

.brd_rd02 {
  border-radius: 5px;
}

.brd_rd03 {
  border-radius: 10px;
}

.brd_rd04 {
  border-radius: 20px;
}

.brd_rd05 {
  border-radius: 30px;
}

.brd_rd06 {
  border-radius: 50px;
}

.brd_rd07 {
  border-radius: 100px;
}

.brd_rd08 {
  border-radius: 50%;
}

/* -----------------------------------------------------------
  フォント色
----------------------------------------------------------- */
.clr01 {
  color: #ffffff !important;
}

.clr01:hover {
  color: #ffffff !important;
}

.clr02 {
  color: #333333 !important;
}

.clr02:hover {
  color: #ffffff !important;
}

/* -----------------------------------------------------------
  フォント大きさ
----------------------------------------------------------- */
.fs_01 {
  font-size: 1.1rem;
}

.fs_02 {
  font-size: 1.2rem;
}

.fs_03 {
  font-size: 1.3rem;
}

.fs_04 {
  font-size: 1.4rem;
}

.fs_05 {
  font-size: 1.5rem;
}

.fs_06 {
  font-size: 1.6rem;
}

.fs_07 {
  font-size: 1.7rem;
}

.fs_08 {
  font-size: 1.8rem;
}

/* -----------------------------------------------------------
  フォント太さ
----------------------------------------------------------- */
.fw_b00 {
  font-weight: normal;
}

.fw_b01 {
  font-weight: 100;
}

.fw_b02 {
  font-weight: 300;
}

.fw_b03 {
  font-weight: 400;
}

.fw_b04 {
  font-weight: 500;
}

.fw_b05 {
  font-weight: 700;
}

.fw_b06 {
  font-weight: 900;
}

/* -----------------------------------------------------------
  高さ
----------------------------------------------------------- */
.hit_100 {
  height: 100%;
}

.hit_00 {
  height: 40px;
}

.hit_01 {
  height: 45px;
}

.hit_02 {
  height: 50px;
}

.hit_03 {
  height: 60px;
}

.hit_04 {
  height: 70px;
}

.hit_05 {
  height: 80px;
}

.hit_06 {
  height: 90px;
}

.hit_07 {
  height: 100px;
}

/* -----------------------------------------------------------
  幅
----------------------------------------------------------- */
.wid_100 {
  width: 100%;
}

.wid_00 {
  width: 120px;
}

.wid_01 {
  width: 160px;
}

.wid_02 {
  width: 180px;
}

.wid_03 {
  width: 200px;
}

.wid_04 {
  width: 220px;
}

.wid_05 {
  width: 240px;
}

.wid_06 {
  width: 260px;
}

.wid_07 {
  width: 280px;
}

.wid_08 {
  width: 300px;
}

.wid_09 {
  width: 320px;
}

.wid_10 {
  width: 340px;
}

/* -----------------------------------------------------------
    pagination
----------------------------------------------------------- */
.pagination {
  font-size: 1.6rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 3.5vw;
}

.pagination ul {
  display: flex;
  align-items: center;
}

.pagination ul li {
  margin: 0 0.5em;
}

.pagination ul li.prev {
  margin-right: 5em;
}

.pagination ul li.next {
  margin-left: 5em;
}

.pagination ul li a {
  color: #a0a0a0;
  display: block;
  padding: 0 0.75em;
}

.pagination ul li.prev a,
.pagination ul li.next a {
  color: #ff6988;
  display: flex;
  align-items: center;
  padding: 0;
}

.pagination ul li.prev a:before,
.pagination ul li.next a:after {
  border-top: 2px solid #ff6988;
  content: "";
  height: 20px;
  width: 20px;
  transition: all .5s ease;
}

.pagination ul li.prev a:before {
  border-left: 2px solid #ff6988;
  transform: rotate(-45deg);
  margin-right: 1em;
  margin-left: 0.25em;
}

.pagination ul li.next a:after {
  border-right: 2px solid #ff6988;
  transform: rotate(45deg);
  margin-left: 1em;
  margin-right: 0.25em;
}

.pagination ul li.current,
.pagination ul li.current a {
  color: #333333;
  cursor: none;
  padding: 0 0.75em;
  pointer-events: none;
}

.pagination ul li a:hover {
  color: #333333;
}

.pagination ul li.prev a:hover,
.pagination ul li.next a:hover {
  color: #ffb3c3;
}

.pagination ul li.prev a:hover:before {
  border-top: 2px solid #ffb3c3;
  border-left: 2px solid #ffb3c3;
}

.pagination ul li.next a:hover:after {
  border-top: 2px solid #ffb3c3;
  border-right: 2px solid #ffb3c3;
}

/* -----------------------------------------------------------
    pager
----------------------------------------------------------- */
.pager {
  font-size: 1.6rem;
  font-weight: 700;
  margin-top: 3.5vw;
}

.pager ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.pager ul li a,
.pager ul li span {
  display: flex;
  align-items: center;
  color: #ff6988;
}

.pager ul li a:before,
.pager ul li a:after,
.pager ul li span:before,
.pager ul li span:after  {
  color: #ff6988;
  transition: all .5s ease;
}

.pager ul li.prev a:before,
.pager ul li.next a:after,
.pager ul li.prev span:before,
.pager ul li.next span:after {
  border-top: 2px solid #ff6988;
  content: "";
  height: 20px;
  width: 20px;
  transition: all .5s ease;
}

.pager ul li.prev a:before,
.pager ul li.prev span:before {
  border-left: 2px solid #ff6988;
  transform: rotate(-45deg);
  margin-right: 1em;
  margin-left: 0.25em;
}

.pager ul li.next a:after,
.pager ul li.next span:after {
  border-right: 2px solid #ff6988;
  transform: rotate(45deg);
  margin-left: 1em;
  margin-right: 0.25em;
}

.pager ul li.summary a i {
  font-size: 3.0rem;
  line-height: 0;
}

.pager ul li a:hover {
  color: #ffb3c3;
}

.pager ul li.prev a:hover:before {
  border-top: 2px solid #ffb3c3;
  border-left: 2px solid #ffb3c3;
}

.pager ul li.next a:hover:after {
  border-top: 2px solid #ffb3c3;
  border-right: 2px solid #ffb3c3;
}

.pager ul li.prev span,
.pager ul li.next span {
  opacity: 0.3;
}

/* -----------------------------------------------------------
    hd
----------------------------------------------------------- */
.hd_01 span {
  display: block;
}

.hd_01 span:nth-of-type(1) {
  font-size: 3.4rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.15em;
}

.hd_01 span:nth-of-type(2) {
  color: #ff6988;
  font-size: 1.6rem;
  font-weight: 900;
  margin-top: 0.25em;
}

.hd_01 span.hd_01_01 {
  font-size: 3.0rem;
}

.hd_02 {
  font-size: 2.6rem;
  font-weight: 900;
  text-align: center;
}

.hd_03 {
  display: flex;
  align-items: center;
  font-size: 3.2rem;
  font-weight: 900;
}

.hd_03:after {
  background-color: #dddddd;
  content: "";
  flex: 1 1;
  height: 1px;
  margin-left: 1em;
}

.hd_03 span.hc01 {
  color: #ff6988;
}

.hd_03 span.hc02 {
  color: #78c8dc;
}

.hd_04 {
  font-weight: 900;
  line-height: 1.2;
}

.hd_04 span {
  display: block;
}

.hd_04 span:nth-of-type(1) {
  font-size: 3.4rem;
  font-weight: 900;
}

.hd_04 span:nth-of-type(2) {
  color: #ff6988;
  font-size: 3.0rem;
  font-weight: 700;
  margin-top: 0.75vw;
}

.hd_05 {
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1.2;
  padding-left: calc(5px + 0.5em);
  position: relative;
}

.hd_05:before {
  content: "";
  width: 5px;
  height: calc(100% - 0.15em);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.hd_05.hd_blue:before {
  background-color: #78c8dc;
}

.hd_05.hd_pink:before {
  background-color: #ff6988;
}

/* -----------------------------------------------------------
    inner
----------------------------------------------------------- */
.inner {
  max-width: 1400px;
  min-width: 900px;
  width: 100%;
  margin: 0 auto;
}

/* -----------------------------------------------------------
    header
----------------------------------------------------------- */
header {
  background-color: rgba(255, 255, 255, 1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100px;
  padding: 0 3vw;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 31;
}

header.is-fixed {
  height: 70px;
}

header .site_id {
  width: 290px;
  line-height: 0;
}

header.is-fixed > .site_id {
  transform: scale(0.8);
  transform-origin: center left;
}

/* -----------------------------------------------------------
    #g_nav
----------------------------------------------------------- */
#g_nav {
  display: flex;
  align-items: center;
}

#g_nav .site_id_sp {
  display: none;
}

#g_nav > ul {
  display: flex;
  font-weight: 700;
}

#g_nav .main_nav {
  margin-top: 0.75em;
}

#g_nav .main_nav > li {
  margin-left: 2.5em;
}

#g_nav .main_nav > li > a {
  position: relative;
  padding-bottom: 0.5em;
}

#g_nav .main_nav > li > a:hover,
#g_nav .main_nav > li > a.current  {
  color: #ff6988;
}

#g_nav .main_nav > li:first-of-type {
  margin-left: 0;
}

#g_nav .main_nav > .dm_menu {
  position: relative;
  text-align: center;
}

#g_nav .main_nav > .dm_menu > a {
  display: flex;
  align-items: center;
}
/*
#g_nav .main_nav > .dm_menu > a:after {
  border-top: 2px solid #151515;
  border-right: 2px solid #151515;
  content: "";
  height: 10px;
  width: 10px;
  margin-left: 10px;
  margin-right: 2px;
  margin-top: -5px;
  transform: rotate(135deg);
  transition: all .5s ease;
}
*/
#g_nav .main_nav > .dm_menu > ul {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: 0.05em;
  padding-top: 5px;
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  width: 210px;
  z-index: 9999;
}

#g_nav .main_nav > .dm_menu > ul > li {
  background-color: #ffffff;
  border-bottom: 1px solid #dddddd;
  border-left: 1px solid #dddddd;
  border-right: 1px solid #dddddd;
  border-top: 1px solid #dddddd;
  margin-top: -1px;
  overflow: hidden;
  opacity: 0;
  height: 0;
  transition: 0.5s;
  xtransition: none;
}

#g_nav .main_nav > .dm_menu > ul > li:first-of-type {
  margin-top: 0;
}

#g_nav .main_nav > .dm_menu:hover > ul > li {
  overflow: visible;
  opacity: 1;
  height: 100%;
}

#g_nav .main_nav > .dm_menu > ul > li a {
  display: block;
  padding: 1em;
}

#g_nav .main_nav > .dm_menu:hover > ul > li a {
  xdisplay: block;
  xpadding: 1em;
}

#g_nav .main_nav > .dm_menu > ul > li a:hover,
#g_nav .main_nav > .dm_menu > ul > li a.current {
  color: #ff6988;
}

/* -----------------------------------------------------------
    .sns_box
----------------------------------------------------------- */
#g_nav .sns_nav {
  display: none;
}

.sns_box ul {
  display: flex;
  align-items: center;
}

.sns_box ul li:not(:first-of-type) {
  margin-left: 0.75em;
}

.sns_box ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.0rem;
  border-radius: 50%;
  color: #ffffff;
  letter-spacing: normal;
  width: 45px;
  height: 45px;
}

.sns_box ul li.in a {
  background-color: #5724a8;
  border: 1px solid #5724a8;
}

.sns_box ul li.tw a {
  background-color: #1da1f2;
  border: 1px solid #1da1f2;
}

.sns_box ul li a:hover {
  background-color: #ff6988;
  border: 1px solid #ff6988;
}

/* -----------------------------------------------------------
    main
----------------------------------------------------------- */
#lower main {
  margin-top: 100px;
}

/* -----------------------------------------------------------
    .main
----------------------------------------------------------- */
#lower .main {
  background-color: #fdebee;
  display: flex;
  align-items: center;
  height: 250px;
  padding: 0 7.5vw;
}

#lower.recruit .main {
  background-color: #e9f1f5;
}

#lower .main .headline h1 span {
  display: block;
  font-weight: 900;
  line-height: 1.2;
}

#lower .main .headline h1 span:nth-of-type(1) {
  font-size: 3.4rem;
}

#lower .main .headline h1 span:nth-of-type(2) {
  color: #ff6988;
  font-size: 1.6rem;
  margin-top: 1.5em;
}

#lower.recruit .main .headline h1 span:nth-of-type(2) {
  color: #78c8dc;
}

/* -----------------------------------------------------------
    .title
----------------------------------------------------------- */
.title {
  background-color: #54b7d0;
  color: #ffffff;
  padding: 0 7.5vw;
}

.title .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 90px;
}

.title h2 {
  display: flex;
  align-items: center;
  font-size: 3.2rem;
  height: 100%;
  position: relative;
}

/* -----------------------------------------------------------
    .container
----------------------------------------------------------- */
.container {
  padding: 5vw 7.5vw;
}

#top .container {
  background: linear-gradient(to bottom, #fff4f6 0%, #eda3b1 100%);
}

/* -----------------------------------------------------------
    .bnr_box
----------------------------------------------------------- */
.bnr_box {
  background-color: #e9f1f5;
  margin-bottom: 3vw;
}

.bnr_box a:hover {
  opacity: 0.5;
}

/* -----------------------------------------------------------
    .box
----------------------------------------------------------- */
.box {
  margin-top: 5vw;
}

/* -----------------------------------------------------------
    .wrap
----------------------------------------------------------- */
.wrap {
  margin-top: 3.5vw;
}

/* -----------------------------------------------------------
    .cmmn
----------------------------------------------------------- */
.cmmn {
  margin-top: 2.5vw;
}

/* -----------------------------------------------------------
    .block
----------------------------------------------------------- */
.block {
  margin-top: 2vw;
}

/* -----------------------------------------------------------
    footer
----------------------------------------------------------- */
footer {
  background-color: #ffffff;
  xmargin-top: 4vw;
  padding: 4vw 7.5vw 2vw;
}

#lower footer {
  border-top: 1px solid #dddddd;
}

footer .above {
  display: flex;
  justify-content: space-between;
}

footer .above .add_box .logo {
  width: 230px;
  line-height: 0;
}

footer .above .nav_box {
  display: flex;
}

footer .above .nav_box .nav > p:not(:first-of-type) {
  margin-top: 0.5em;
}

footer .above .nav_box .nav:not(:first-of-type) {
  margin-left: 5vw;
}

footer .above .nav_box .nav .menu_ttl {
  font-size: 1.5rem;
  font-weight: 900;
}

footer .above .nav_box .nav .menu_list {
  font-size: 1.4rem;
  margin-top: 0.5em;
}

footer .above .nav_box .nav .menu_list li:not(:first-of-type) {
  margin-top: 0.25em;
}

footer .above .nav_box .nav a:hover {
  color: #ff6988;
}

footer .below {
  border-top: 1px solid #dddddd;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 2vw;
  padding-top: 2vw;
}

footer .below .copyright {
  letter-spacing: 0.1em;
}

footer .below .copyright span {
  display: inline;
}

/* -----------------------------------------------------------
    .entry_btn
----------------------------------------------------------- */
.entry_btn {
  height: 80px;
  width: 250px;
  position: fixed;
  top: calc(90vh - calc(80px + 20px));
  right: 20px;
  z-index: 21;
}

#lower .entry_btn {
  xposition: sticky;
  xbottom: 0;
  xtop: inherit;
  xright: 0;
  xwidth:100%;
}

.entry_btn a {
  background-color: #ff6988;
  border: 5px solid #ff6988;
  border-radius: 5px;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}

#lower .entry_btn a {
  xborder-radius: 0;
}

.entry_btn a:hover {
  background-color: #ffb3c3;
  border: 5px solid #ffb3c3;
}

.entry_btn a .entry_in {
  border: 1px solid #ffffff;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4rem;
  font-weight: 500;
  xpadding: 20px 30px;
  height: 100%;
  width: 100%;
}

#lower .entry_btn a .entry_in {
  xborder-radius:0;
}

.entry_btn a .entry_in span {
  display: flex;
  align-items: center;
}

.entry_btn a .entry_in span:before {
  content: "\f061";
  font-family: FontAwesome;
  margin-right: 0.5em;
}
.catch{
margin-bottom:40px;
margin-top:8px;
} 
.catch h3{
font-size:56px;
font-weight:700;
line-height:1.2em;
color:#5C5C5C;
}
.catch p{
font-size: 16px;
margin-top:8px;
font-weight:bold;
letter-spacing:.3em;
color:#BCBCBC;
}
.catch span{
color:#00ACD8;
}
@media screen and (max-width:480px) {
.catch{

}
.catch h3{
font-size:32px;
letter-spacing:2px;
}
.catch p{
font-size: 14px;
}
}

.banner-container{
padding: 5vw 7.5vw;
}

@media screen and (max-width: 1080px){
.banner-container{
padding: 5vw;
}
}
