html {
  overflow-y: scroll
}

body {
  line-height: 1;
  color: #000
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: rgba(0, 0, 0, 0)
}

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

nav ul,
ul,
li {
  list-style: none
}

blockquote,
q {
  quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: rgba(0, 0, 0, 0)
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold
}

del {
  text-decoration: line-through
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help
}

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0
}

input,
select {
  vertical-align: middle
}

body {
  font: 13px/1.231 arial, helvetica, clean, sans-serif;
  *font-size: small;
  *font: x-small
}

select,
input,
button,
textarea {
  font: 99% arial, helvetica, clean, sans-serif
}

table {
  font-size: inherit;
  font: 100%
}

pre,
code,
kbd,
samp,
tt {
  font-family: monospace;
  *font-size: 108%;
  line-height: 100%
}

.ttl_l,
.top_ttl_style .jp {
  font-size: 2.5rem;
  line-height: 1.4;
  font-weight: 600
}

.ttl_lm,
.sub_ttl_style.big {
  font-size: 2rem;
  line-height: 1.4;
  font-weight: 600
}

.ttl_m,
.btn_style .jp,
.sub_ttl_style {
  font-size: 1.75rem;
  line-height: 1.4;
  font-weight: 600
}

.ttl_s {
  font-size: 1.5rem;
  line-height: 1.4;
  font-weight: 600
}

.ttl_ss,
.Cv_mini_area .ttl,
.btn_style.size_s .jp {
  font-size: 1.25rem;
  line-height: 1.4;
  font-weight: 600
}

.note{
  font-size: 90%;
  margin-top: 0.5rem;}
@media screen and (max-width: 736px)and (orientation: portrait) {

  .ttl_l,
  .top_ttl_style .jp {
    font-size: 7.1794871795vw
  }

  .ttl_lm,
  .sub_ttl_style.big {
    font-size: 6.1538461538vw
  }

  .ttl_m,
  .btn_style .jp,
  .sub_ttl_style {
    font-size: 6.1538461538vw
  }

  .ttl_s {
    font-size: 5.1282051282vw
  }

  .ttl_ss,
  .Cv_mini_area .ttl,
  .btn_style.size_s .jp {
    font-size: 4.1025641026vw
  }
}

.top_ttl_style {
  text-align: center;
  margin-bottom: 5.75rem
}

.top_ttl_style .en {
  color: #028391;
  display: block;
  position: relative;
  font-size: 1.25rem;
  margin-bottom: 1.25rem
}

.top_ttl_style .en:before {
  display: block;
  content: "";
  width: 1px;
  height: 3.75rem;
  background: #00afc2;
  position: absolute;
  top: -4.375rem;
  left: 50%;
  -webkit-transform: translate3d(-50%, 0, 0);
  transform: translate3d(-50%, 0, 0)
}

.top_ttl_style .jp {
  display: block
}

.top_ttl_style.white {
  color: #fff
}

.top_ttl_style.white .en {
  color: #fff
}

.top_ttl_style.white .en:before {
  background: #fff
}

@media screen and (max-width: 736px)and (orientation: portrait) {
  .top_ttl_style {
    margin-bottom: 11.7948717949vw
  }

  .top_ttl_style .en {
    font-size: 4.1025641026vw;
    margin-bottom: 2.5641025641vw
  }

  .top_ttl_style .en:before {
    height: 10.2564102564vw;
    top: -11.5384615385vw
  }
}

.box_bg_style {
  background: #fff;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(30%, rgb(255, 255, 255)), to(rgba(255, 255, 255, 0.5)));
  background: linear-gradient(180deg, rgb(255, 255, 255) 30%, rgba(255, 255, 255, 0.5) 100%);
  border-radius: 0 1.25rem 0 1.25rem;
  border: 1px solid #fff;
  -webkit-box-shadow: 0px 0px 20px -4px rgba(4, 41, 45, .35);
  box-shadow: 0px 0px 20px -4px rgba(4, 41, 45, .35)
}

.box_bg_style.deep {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(30%, rgb(255, 255, 255)), to(rgba(255, 255, 255, 0.8)));
  background: linear-gradient(180deg, rgb(255, 255, 255) 30%, rgba(255, 255, 255, 0.8) 100%)
}

@media screen and (max-width: 736px)and (orientation: portrait) {
  .box_bg_style {
    border-radius: 0 5.1282051282vw 0 5.1282051282vw
  }
}

.sub_ttl_style {
  position: relative;
  padding-left: 1.875rem;
  margin-bottom: 2.75rem
}

.sub_ttl_style:before {
  display: block;
  content: "";
  width: .5rem;
  height: 100%;
  background: #00afc2;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
  border-radius: 100px
}

.sub_ttl_style.big {
  margin-bottom: 3.75rem
}

.sub_ttl_style.white {
  color: #fff
}

.sub_ttl_style.white:before {
  background: #fff
}

@media screen and (max-width: 736px)and (orientation: portrait) {
  .sub_ttl_style {
    padding-left: 5.641025641vw;
    margin-bottom: 10.2564102564vw
  }

  .sub_ttl_style:before {
    width: 1.2820512821vw
  }

  .sub_ttl_style.big {
    margin-bottom: 7.6923076923vw
  }
}

.btn_style {
  background: #7fdcde;
  background: linear-gradient(82deg, rgb(127, 220, 222) 0%, rgb(4, 176, 195) 49%, rgb(149, 211, 202) 100%);
  border-radius: 300px;
  width: 60rem;
  height: 7.5rem;
  position: relative;
  z-index: 5;
  margin: 0 auto;
  color: #fff;
  -webkit-box-shadow: 0px 0px 20px -4px rgba(4, 41, 45, .35);
  box-shadow: 0px 0px 20px -4px rgba(4, 41, 45, .35)
}

.btn_style>a {
  color: #fff;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative
}

.btn_style>a:before {
  display: block;
  content: "";
  width: 1rem;
  height: 1.6875rem;
  background: url(../images/arrow_btn.png) left top no-repeat;
  background-size: 1rem 1.6875rem;
  position: absolute;
  top: 50%;
  right: 2.5rem;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0)
}

.btn_style:hover {
  background: #fff
}

.btn_style:hover>a:before {
  background: url(../images/arrow_btn_b.png) left top no-repeat;
  background-size: 1rem 1.6875rem
}

.btn_style:hover .en {
  border-color: #fff
}

.btn_style:hover .jp {
  color: #028391
}

.btn_style:hover .jp img.blue {
  display: block
}

.btn_style:hover .jp img.white {
  display: none
}

.btn_style .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.btn_style .en {
  width: 4.25rem;
  height: 4.25rem;
  background: #ff6897;
  border-radius: 500px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: .75rem;
  border: .25rem solid #81d9e0;
  line-height: 1
}

.btn_style .jp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1
}

.btn_style .jp img {
  line-height: 1;
  margin: 0 .5rem 0 2rem;
  width: 16.375rem;
  height: auto
}

.btn_style .jp img.blue {
  display: none
}

.btn_style.size_s {
  width: 42.5rem;
  height: 5rem
}

.btn_style.size_s>a:before {
  width: .75rem;
  height: 1.375rem;
  background: url(../images/arrow_btn.png) left top no-repeat;
  background-size: .75rem 1.375rem;
  right: 1.25rem
}

.btn_style.size_s .en {
  width: 3.5rem;
  height: 3.5rem;
  font-size: .625rem
}

.btn_style.size_s .jp img {
  margin: 0 .5rem 0 1.5rem;
  width: 10.75rem
}

.btn_style.size_ss {
  width: 35rem;
  height: 3.75rem
}

.btn_style.size_ss>a:before {
  width: .5rem;
  height: 1rem;
  background: url(../images/arrow_btn.png) left top no-repeat;
  background-size: .5rem 1rem;
  right: 1.25rem
}

.btn_style.size_ss .en {
  width: 2.5rem;
  height: 2.5rem;
  font-size: .5rem
}

.btn_style.size_ss .jp {
  font-size: 1rem
}

.btn_style.size_ss .jp img {
  margin: 0 .5rem 0 1.5rem;
  width: 10rem
}

@media screen and (max-width: 736px)and (orientation: portrait) {
  .btn_style {
    width: 123.0769230769vw;
    width: 100%;
    height: 17.4358974359vw
  }

  .btn_style>a:before {
    width: 2.0512820513vw;
    height: 3.4615384615vw;
    background: url(../images/arrow_btn.png) left top no-repeat;
    background-size: 2.0512820513vw 3.4615384615vw;
    right: 5.1282051282vw
  }

  .btn_style:hover>a:before {
    background: url(../images/arrow_btn_b.png) left top no-repeat;
    background-size: 2.0512820513vw 3.4615384615vw
  }

  .btn_style .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }

  .btn_style .en {
    width: 11.5384615385vw;
    height: 11.5384615385vw;
    font-size: 2.5641025641vw;
    border: 1.0256410256vw solid #81d9e0;
    position: absolute;
    left: 2.5641025641vw
  }

  .btn_style .jp {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    font-size: 4.1025641026vw
  }

  .btn_style .jp img {
    margin: 0 0 1.5384615385vw;
    width: 34.8717948718vw
  }

  .btn_style.size_s,
  .btn_style.size_ss {
    width: 79.4871794872vw;
    height: 11.7948717949vw
  }

  .btn_style.size_s>a:before,
  .btn_style.size_ss>a:before {
    width: 1.5384615385vw;
    height: 2.8205128205vw;
    background: url(../images/arrow_btn.png) left top no-repeat;
    background-size: 1.5384615385vw 2.8205128205vw;
    right: 2.5641025641vw
  }

  .btn_style.size_s .en,
  .btn_style.size_ss .en {
    width: 8.7179487179vw;
    height: 8.7179487179vw;
    font-size: 1.7948717949vw;
    left: 1.0256410256vw
  }

  .btn_style.size_s .jp,
  .btn_style.size_ss .jp {
    font-size: 3.0769230769vw
  }

  .btn_style.size_s .jp img,
  .btn_style.size_ss .jp img {
    margin: 0 0 0vw;
    width: 29.4871794872vw
  }
}

.style_swiper_ul {
  margin-top: 3.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1
}

.style_swiper_ul .swiper-pagination_style {
  margin: 0 1.25rem;
  width: auto;
  position: relative;
  color: #028391;
  padding: 0;
  top: auto;
  bottom: auto
}

.style_swiper_ul .swiper-prev_style,
.style_swiper_ul .swiper-next_style {
  width: 3.75rem;
  height: 3.75rem;
  background: url(../images/arrow_slide.png) left top no-repeat;
  background-size: 3.75rem 3.75rem;
  top: 0;
  left: 50%;
  z-index: 20;
  cursor: pointer
}

.style_swiper_ul .swiper-next_style {
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1)
}

.link_pos_style {
  padding-top: 10rem;
  margin-top: -10rem
}

@media screen and (max-width: 736px)and (orientation: portrait) {
  .link_pos_style {
    padding-top: 32.0512820513vw;
    margin-top: -32.0512820513vw
  }
}

* .none {
  display: none
}

html {
  font-size: 1.1111111111vw
}

@media screen and (min-width: 1440px) {
  html {
    font-size: 16px
  }
}

@media screen and (max-width: 736px)and (orientation: portrait) {
  html {
    font-size: 62.5%
  }
}

body {
  -webkit-text-size-adjust: 100%;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.6;
  color: #333;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: .05em;
  background: #e0f5f8;
  word-break: break-all
}

a {
  color: #333;
  text-decoration: none
}

a:hover {
  text-decoration: none;
  color: #2494bc
}

@media screen and (max-width: 736px)and (orientation: portrait) {
  body {
    font-size: 3.3333333333vw;
    letter-spacing: .05em
  }
}

.pc {
  display: block
}

.sp {
  display: none
}

@media screen and (max-width: 736px)and (orientation: portrait) {
  .pc {
    display: none
  }

  .sp {
    display: block
  }
}

.inner {
  width: 80rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto;
  position: relative
}

.inner2 {
  width: 70rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto;
  position: relative
}

@media screen and (max-width: 736px)and (orientation: portrait) {

  .inner,
  .inner2 {
    max-width: none;
    width: 100%;
    padding: 0 5.1282051282vw
  }

  .inner.sp_no_pd,
  .inner2.sp_no_pd {
    padding: 0
  }
}

#wrapper {
  position: relative;
  overflow: hidden;
  margin: 0 auto
}

@media screen and (max-width: 736px)and (orientation: portrait) {
  #wrapper {
    width: 100%
  }
}

#header {
  position: fixed;
  width: 100%;
  z-index: 100;
  top: 0;
  left: 0;
  background: #00afc2;
  color: #fff;
  height: 7.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 0 0 0 2.5rem;
  -webkit-transition: height .15s ease-in;
  transition: height .15s ease-in
}

#header.fixed {
  height: 5.625rem
}

#header.fixed .logo_area .txt1 {
  font-size: .725rem
}

#header.fixed .logo_area .logo img {
  width: 13.875rem;
  height: auto
}

#header:before {
  display: block;
  content: "";
  width: 3.125rem;
  height: 3.125rem;
  background: url(../images/deco_carb.png) left top no-repeat;
  background-size: 3.125rem 3.125rem;
  position: absolute;
  bottom: -3.125rem;
  right: 0
}

#header:after {
  display: block;
  content: "";
  width: 100vw;
  height: 8.3333333333vw;
  background: url(../images/bg_head.png) left top no-repeat;
  background-size: 100vw 8.3333333333vw;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1
}

#header a {
  color: #fff
}

#header .header_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  z-index: 2
}

#header .logo_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  line-height: 1
}

#header .logo_area .txt1 {
  font-size: .6875rem;
  font-weight: 300;
  letter-spacing: .04em;
  margin-bottom: .2rem;
  -webkit-transition: font-size .15s ease-in;
  transition: font-size .15s ease-in
}

#header .logo_area .txt2 {
  font-size: .65rem;
  font-weight: 300
}

#header .logo_area .logo {
  margin-bottom: .325rem
}

#header .logo_area .logo img {
  width: 16.375rem;
  height: auto;
  -webkit-transition: width .15s ease-in;
  transition: width .15s ease-in
}

#header .nav_area ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

#header .nav_area ul li {
  margin-left: 1.25rem;
  -webkit-transition: opacity .15s ease-in;
  transition: opacity .15s ease-in
}

#header .nav_area ul li:hover {
  opacity: .7
}

@media screen and (max-width: 736px)and (orientation: portrait) {
  #header {
    height: 20.5128205128vw;
    border-radius: 0 0 0 5.1282051282vw
  }

  #header.fixed {
    height: 14.1025641026vw
  }

  #header.fixed .logo_area .txt1 {
    font-size: 2.3512820513vw
  }

  #header.fixed .logo_area .logo img {
    width: 41.0256410256vw
  }

  #header:before {
    width: 6.4102564103vw;
    height: 6.4102564103vw;
    background: url(../images/deco_carb.png) left top no-repeat;
    background-size: 6.4102564103vw 6.4102564103vw;
    bottom: -6.4102564103vw
  }

  #header:after {
    width: 100vw;
    height: 23.0769230769vw;
    background: url(../images/bg_head_sp.png) left top no-repeat;
    background-size: 100vw 23.0769230769vw
  }

  #header .logo_area .txt1 {
    font-size: 2.3512820513vw;
    letter-spacing: .04em;
    margin-bottom: 1.0256410256vw
  }

  #header .logo_area .txt2 {
    font-size: 2.0948717949vw
  }

  #header .logo_area .logo {
    margin-bottom: 0.6vw
  }

  #header .logo_area .logo img {
    width: 41.0256410256vw
  }

  #header .nav_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    width: 100%;
    z-index: -10;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100vh;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    left: 100vw;
    -webkit-transition: left .2s ease-in;
    transition: left .2s ease-in
  }

  #header .nav_area:before {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: #00afc2;
    position: absolute;
    top: 0;
    left: 0
  }

  #header .nav_area ul {
    display: block;
    position: relative;
    z-index: 5;
    width: 100%;
    opacity: 0;
    -webkit-transition: opacity .2s .2s ease-in;
    transition: opacity .2s .2s ease-in;
    margin: 0 10.2564102564vw
  }

  #header .nav_area ul li {
    margin-left: 0;
    font-size: 4.1025641026vw;
    border-bottom: 1px solid hsla(0, 0%, 100%, .3)
  }

  #header .nav_area ul li a {
    display: block;
    padding: 3.0769230769vw 0
  }

  #header #nav-toggle {
    display: block;
    position: absolute;
    right: 1.2820512821vw;
    top: 50%;
    width: 6.1538461538vw;
    height: 5.1282051282vw;
    cursor: pointer;
    z-index: 101;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
  }

  #header #nav-toggle .line {
    position: relative
  }

  #header #nav-toggle .line span {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    background: #fff;
    border-radius: 100px;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    transition: .35s ease-in-out
  }

  #header #nav-toggle .line span:nth-child(1) {
    top: 0
  }

  #header #nav-toggle .line span:nth-child(2) {
    top: 2.0512820513vw
  }

  #header #nav-toggle .line span:nth-child(3) {
    top: 4.1025641026vw
  }

  #header.open .nav_area {
    left: 0
  }

  #header.open .nav_area ul {
    opacity: 1
  }

  #header.open #nav-toggle span:nth-child(1) {
    top: 1.4102564103vw;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
  }

  #header.open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%
  }

  #header.open #nav-toggle span:nth-child(3) {
    top: 1.4102564103vw;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
  }
}

#footer {
  background: #00afc2;
  width: 100%;
  color: #fff;
  height: 20rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  margin-bottom: 6.25rem
}

#footer:before {
  display: block;
  content: "";
  width: 100%;
  height: 2.5rem;
  background: #00afc2;
  position: absolute;
  top: -2.5rem;
  left: 0
}

#footer:after {
  display: block;
  content: "";
  width: 100vw;
  height: 11.1111111111vw;
  background: url(../images/bg_head.png) left top no-repeat;
  background-size: 100vw 11.1111111111vw;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1
}

#footer a {
  color: #fff
}

#footer .footer_inner {
  position: relative;
  z-index: 2
}

#footer .top_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 3.125rem
}

#footer .top_area .logo_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column
}

#footer .top_area .logo_area .txt1 {
  font-size: .75rem
}

#footer .top_area .logo_area .txt2 {
  font-size: .5rem
}

#footer .top_area .nav_area ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

#footer .top_area .nav_area ul li {
  margin-left: 1.25rem;
  -webkit-transition: opacity .15s ease-in;
  transition: opacity .15s ease-in
}

#footer .top_area .nav_area ul li:hover {
  opacity: .7
}

#footer .bottom_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  font-size: .875rem
}

#footer .bottom_area a {
  text-decoration: underline
}

#footer .bottom_area small {
  font-size: .75rem
}

@media screen and (max-width: 736px)and (orientation: portrait) {
  #footer {
    height: 82.0512820513vw;
    height: 133.3333333333vw;
    display: block;
    margin-bottom: 20.5128205128vw
  }

  #footer:before {
    height: 5.1282051282vw;
    top: -5.1282051282vw
  }

  #footer:after {
    width: 100vw;
    height: 23.0769230769vw;
    background: url(../images/bg_head_sp.png) left top no-repeat;
    background-size: 100vw 23.0769230769vw
  }

  #footer .footer_inner {
    padding: 10.2564102564vw 0
  }

  #footer .top_area {
    display: block;
    margin-bottom: 17.9487179487vw
  }

  #footer .top_area .logo_area {
    margin-bottom: 12.8205128205vw
  }

  #footer .top_area .logo_area .txt1 {
    font-size: 2.0512820513vw;
    letter-spacing: .04em;
    margin-bottom: 1.5384615385vw
  }

  #footer .top_area .logo_area .txt2 {
    font-size: 1.7948717949vw
  }

  #footer .top_area .logo_area .logo {
    margin-bottom: 0vw
  }

  #footer .top_area .logo_area .logo img {
    width: 48.2051282051vw
  }

  #footer .top_area .nav_area ul {
    display: block
  }

  #footer .top_area .nav_area ul li {
    margin-left: 0;
    margin-bottom: 2.5641025641vw
  }

  #footer .bottom_area {
    display: block;
    font-size: 3.0769230769vw
  }

  #footer .bottom_area .txt {
    margin-bottom: 7.6923076923vw
  }

  #footer .bottom_area a {
    text-decoration: underline
  }

  #footer .bottom_area small {
    font-size: 2.5641025641vw
  }
}

#Fix_cv_area {
  position: fixed;
  left: 0;
  bottom: -11.25rem;
  width: 100%;
  z-index: 50;
  -webkit-box-shadow: 0px 0px 20px -4px rgba(4, 41, 45, .35);
  box-shadow: 0px 0px 20px -4px rgba(4, 41, 45, .35);
  -webkit-transition: bottom .15s ease-in;
  transition: bottom .15s ease-in;
  padding: .75rem 0 .625rem
}

#Fix_cv_area.fixed {
  bottom: 0
}

#Fix_cv_area .ttl {
  line-height: 1;
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: .5rem
}

.Cv_mini_area {
  position: relative;
  padding: 1.25rem 0
}

.Cv_mini_area:before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: #99d3d9;
  background: -webkit-gradient(linear, left top, right top, from(rgb(153, 211, 217)), to(rgb(240, 242, 231)));
  background: linear-gradient(90deg, rgb(153, 211, 217) 0%, rgb(240, 242, 231) 100%);
  position: absolute;
  top: 0;
  left: 0
}

.Cv_mini_area .ttl {
  text-align: center;
  color: #028391;
  margin-bottom: 1rem;
  position: relative;
  z-index: 5
}

.Cv_mini_area .ttl span {
  position: relative;
  display: inline-block;
  padding: 0 1.25rem
}

.Cv_mini_area .ttl span:before,
.Cv_mini_area .ttl span:after {
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  background: #028391;
  position: absolute;
  top: 50%
}

.Cv_mini_area .ttl span:before {
  left: 0;
  -webkit-transform: translate3d(0, -50%, 0) rotate(-30deg);
  transform: translate3d(0, -50%, 0) rotate(-30deg)
}

.Cv_mini_area .ttl span:after {
  right: 0;
  -webkit-transform: translate3d(0, -50%, 0) rotate(30deg);
  transform: translate3d(0, -50%, 0) rotate(30deg)
}

@media screen and (max-width: 736px)and (orientation: portrait) {
  #Fix_cv_area {
    bottom: -23.0769230769vw;
    padding: 2.5641025641vw 0
  }

  #Fix_cv_area .ttl {
    margin-bottom: 1.0256410256vw;
    font-size: 3.0769230769vw
  }

  #Fix_cv_area .ttl span {
    padding: 0 2.5641025641vw
  }

  .Cv_mini_area {
    padding: 2.5641025641vw 0
  }

  .Cv_mini_area .ttl {
    margin-bottom: 1.0256410256vw;
    font-size: 3.0769230769vw
  }

  .Cv_mini_area .ttl span {
    padding: 0 2.5641025641vw
  }
}