@charset "UTF-8";

/* @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&family=Roboto+Condensed:wght@700&family=Roboto+Slab:wght@500&display=swap'); */

/* ---------------------------
 RESET
--------------------------- */
/*
html5doctor.com Reset Stylesheet
v1.4
2009-07-27
Author: Richard Clark - http://richclarkdesign.com
*/
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,
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 {
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  border: 0;
  outline: 0;
  background: transparent;
}

article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}

nav,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

a {
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  border: 0;
  background: transparent;
}

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

img {
  width: 100%;
  height: auto;
}

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

del {
  text-decoration: line-through;
}

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

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

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

input,
select {
  vertical-align: middle;
}

strong {
  font-weight: 500;
}

body {
  font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3',
    'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, '游ゴシック体',
    YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic',
    sans-serif;
  font-size: 16px;
  min-width: 960px;
  padding-bottom: 181px;
  color: #333;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt";
  /* border-top: 6px #00aaed solid; */
}

html {
  scroll-behavior: smooth;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.clear {
  clear: both;
}

.bg_none {
  background: none !important;
}

.ct {
  text-align: center;
}

@media only screen and (max-width: 767px) {
  body {
    padding-bottom: 150px;
    min-width: auto;
  }

  img {
    max-width: 100%;
  }
}

/* ---------------------------
 共通 / layout
--------------------------- */
.content {
  width: calc(100% - 40px);
  max-width: 960px;
  margin: 0 auto;
}

.content.content-w1040 {
  width: calc(100% - 40px);
  max-width: 1040px;
  margin: 0 auto;
}

.swiper-container {
  padding-bottom: 10px;
}

/* ---------------------------
 共通 / element
--------------------------- */
/* btn */
.btn-wrap {
  font-weight: bold;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.04em;
}

.btn-entry {
  font-size: 16px;
  font-weight: 500;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 620px;
  margin: 0 auto;
  text-align: center;
  text-decoration: none;
  color: #ffffff;
  border-radius: 100px;
  background: #F6769E;
  line-height: 1.5;
  padding: 16px;
  bottom: 0;
  transition: all .1s ease-in;
}

.btn-job-entry {
  border-radius: 50px;
  background-color: #fff;
  border: 1px solid #114f7a;
  color: #114f7a;
  padding: 14px;
  line-height: 1;
  font-weight: 600;
  font-size: 15px;
  display: block;
  text-decoration: none;
  transition: all .1s ease-in;
}

.btn-job-entry:hover {
  color: #FFF;
  background: #114f7a;
}

.btn-annotation {
  font-size: 14px;
  color: #555;
  line-height: 1.5;
  font-weight: 400;
}

/* .btn-job-entry {
  padding: 14px 17px 16px;
  background: linear-gradient(#ffb45a, #ff9d29);
} */
.btn-entry:hover,
.btn-job-entry:hover {
  bottom: -2px;
  box-shadow: none;
}

.btn-entry {
  font-size: 22px;
  line-height: 1;
  padding: 24px 24px 24px 0;
  font-weight: 700;
  margin-bottom: 24px;
}

.btn-entry span {
  font-size: 18px;
  border-radius: 4px;
  padding: 8px 16px;
  color: var(--main);
  background: #FFF;
}

.btn-entry::after {
  position: absolute;
  right: 36px;
  top: 48%;
  content: '';
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border: 2px solid;
  border-color: #ffffff #ffffff transparent transparent;
  transform: rotate(45deg) translateY(-50%);
}

.btn-inner {
  display: flex;
  align-items: center;
  gap: 24px;
}

@media only screen and (max-width: 767px) {
  .btn-entry::after {
    right: 28px;
    width: 12px;
    height: 12px;
  }

  .btn-entry,
  .btn-job-entry {
    font-size: 16px;
    line-height: 1.469;
    padding: 16px 16px 16px 8px;
  }

  .btn-entry span {
    font-size: 12px;
    border-radius: 2px;
    padding: 4px 8px;
  }

  .btn-job-entry {
    padding: 18px 10px;
  }

  .btn-inner {
    gap: 8px;
  }
}

@media only screen and (max-width: 374px) {
  .btn-entry::after {
    right: 20px;
  }

  .btn-entry,
  .btn-job-entry {
    font-size: 16px;
    padding-right: 20px;
  }

  .btn-entry span {
    font-size: 12px;
  }
}

/* heading */
/*
.heading {
  width: fit-content;
  display: block;
  margin: 0 auto 30px;
  font-size: 30px;
  line-height: 1.25;
  letter-spacing: 1px;
  text-align: center;
  color: var(--textcolor02);
  position: relative;
}
.heading.sec1{
  padding-top: 38px;
}
*/

/* br */
@media only screen and (max-width: 767px) {
  .br-pc {
    display: none;
  }
}


.heading img {
  height: auto;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  .heading.sec1 {
    font-size: 18px;
    line-height: 1.6rem;
  }

  .heading::before {
    width: 44px;
    height: 32px;
    background-size: 44px 32px;
  }
}

@media only screen and (max-width: 374px) {
  .heading.sec1 {
    font-size: 18px;
  }
}

/* ---------------------------
 lead
--------------------------- */
.lead-content {
  text-align: center;
  line-height: 1.6;
}

.lead {
  line-height: 32px;
  text-align: center;
}

.lead-title {
  font-size: clamp(26px, 5vw, 32px);
  text-align: center;
  font-weight: 800;
}

.lead-title--highligt {
  color: var(--main);
}

.lead-title--border {
  border-bottom: 6px solid #114f7a;
  padding-bottom: 16px;
  display: inline-block;
}

@media only screen and (max-width: 767px) {
  .lead {
    font-size: 13px;
    line-height: 1.8;
    text-align: left;
  }
}
@media only screen and (max-width: 767px) {
  .lead-title {
    font-size: 24px;
  }
}

/* label */
.label-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
}

.label-wrap:not(:last-child) {
  margin-right: 10px;
}

.label {
  position: relative;
  margin-right: 10px;
  padding-left: 22px;
  font-size: 14px;
  line-height: 1.4;
  display: inline-block;
}

.label::before {
  content: '';
  display: block;
  position: absolute;
  height: 10px;
  width: 10px;
  background: var(--color01);
  top: 50%;
  left: 10%;
  transform: translate(-50%, -50%) rotate(45deg);
}

.label:last-child {
  margin-right: 0px;
}

.label-days {
  font-weight: 800;
}

@media only screen and (max-width: 767px) {
  .label {
    font-size: 15px;
  }
}

/* bg */
.bg-blue {
  background-color: var(--bg-color01);
}

.bg-blue02 {
  background-color: var(--blue02);
}

/* ---------------------------
 共通 / block
--------------------------- */
/* page-top */
#page-top {
  position: fixed;
  z-index: 10000;
  right: 10px;
  bottom: 10px;
  width: 60px;
  height: 60px;
}

#page-top a {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  overflow: hidden;
  width: 60px;
  height: 60px;
  text-decoration: none;
  text-indent: -9999px;
  border-radius: 50%;
}

#page-top a svg .d {
  fill: #FFF;
}

@media only screen and (max-width: 767px) {
  #page-top {
    bottom: 142px;
  }
}

/* floating */
.floating {
  position: fixed;
  z-index: 1000;
  bottom: 62px;
  left: 0;
  width: 100%;
  padding: 0 20px;
}

.floating .btn-wrap {
  margin: 0 auto;
  max-width: 620px;
}

.floating>.btn-wrap>.btn-entry {
  font-size: 24px;
  line-height: 1.2;
  position: relative;
  z-index: 10;
  padding: 20px 24px;
}

.floating>.btn-wrap>.btn-entry>.btn-inner {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}

.floating>.btn-wrap>.btn-entry>.btn-inner>.btn-text {
  display: inline-block;
  color: #F6769E;
  font-size: 20px;
}


@media only screen and (max-width: 767px) {
  .floating {
    bottom: 20px;
  }

  .floating .btn-wrap {
    margin: 0 auto;
    width: 100%;
    display: none;
    padding: 0;
  }

  .floating .btn-wrap .btn-entry {
    font-size: 18px;
    width: 100%;
  }

  .floating>.btn-wrap>.btn-entry>.btn-inner {
    position: relative;
    right: 16px;
    font-size: 18px;
    gap: 10px;
  }

  .floating>.btn-wrap>.btn-entry>.btn-inner>.btn-text {
    font-size: 14px;
    left: -30px;
  }

  .floating>.btn-wrap>.btn-entry>.btn-inner>.btn-text-min {
    margin-left: 30px;
  }

  .floating>.btn-wrap>.btn-entry>.btn-inner>.btn-text::before {
    height: 60px;
    width: 60px;
  }

}

/* ---------------------------
 header
--------------------------- */
.header {
  width: 100%;
  padding: 24px 0;
  background-color: #fff;
}

.header-inner {
  max-width: 960px;
  margin: 0 auto;
}

.headlogo {
  display: block;
  width: 100%;
  max-width: 235px;
  margin: 0 auto;
}

.headlogo img {
  display: block;
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .header {
    padding: 4%;
  }
}


/* ---------------------------
 mv
--------------------------- */
.mv {
  width: 100%;
  overflow: hidden;
  margin-bottom: 40px;
}

.mv-ttl {
  position: absolute;
  width: clamp(300px, 54vw, 610px);
  max-width: 590px;
}

.mv-inner {
  width: 100%;
  height: clamp(510px, 65vw, 460px);
  position: relative;
  background: url('../img/main_bg.png') center / cover no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;

}

.mv-character {
  position: absolute;
  width: clamp(510px, 95vw, 816px);
  height: 100%;
  bottom: -70px;
  max-width: 1054px;
}

.mv-bg {
  width: clamp(384px, 96vw, 880px);
  max-width: 1129px;
  transform: translate(0, 4.5%);
}

@media only screen and (max-width: 767px) {
  .mv-inner {
    background: url('../img/main_bg_sp.png') center / cover no-repeat;
    height: 100%;
  }

  .mv-ttl {
    z-index: 3;
    bottom: 35px;
  }

  .mv-character {
    width: clamp(260px, 60vw, 1020px);
    z-index: 2;
    bottom: -45px;
  }

  .mv-bg {
    transform: none;
  }
}

@media only screen and (max-width: 320px) {
  .mv-character {
    width: clamp(250px, 60vw, 1020px);
    z-index: 2;
    bottom: -45px;
  }

  .mv-inner {
    height: 420px;
  }
}

/* ---------------------------
 card
--------------------------- */
.card-unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 960px;
}

.card-unit.card-unit-col03 .card {
  width: calc((100% - 48px) / 3);
}

@media only screen and (max-width: 767px) {
  .card-unit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .card-unit.card-unit-col03 .card {
    width: 100%;
    margin-top: 20px;
  }

  .card-unit.card-unit-col03 .card:first-child {
    margin-top: 0;
  }
}

.card {
  position: relative;
}

.card .inner {
  padding: 30px 20px 30px 20px;
  height: 100%;
  background-color: var(--bg-color03);
  position: relative;
  z-index: 10;
  box-shadow: 0px 1px 4px rgba(12, 12, 13, 0.05);
  border-radius: 8px;
}

.card-ttl {
  padding: 1px 3px;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0.6px;
}

.card-ttl-link {
  font-size: 19px;
  font-weight: bold;
  line-height: 1.5;
  color: #156db3;
  display: block;
  text-align: center;
}

.card-image img {
  display: block;
  width: 100%;
  height: 100%;
}

.card-body {
  font-size: 14px;
}

.active.card-body {
  display: block;
}

.card-body .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  top: 0px;
  margin: 0 auto;
  width: fit-content;
}

.card-text {
  line-height: 1.6rem;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.6px;
}

.card-text span {
  padding: 0px 5px;
  color: #ffffff;
  font-weight: bold;
  background-color: var(--color01);
}

@media only screen and (max-width: 767px) {
  .card {
    position: relative;
  }

  .card-unit {
    margin-top: 30px;
  }

  .card-ttl {
    font-size: 16px;
    line-height: 1.5;
    text-align: left;
    color: #ffffff;
  }

  .card-ttl::after {
    display: none;
  }

  .card-img img {
    border-radius: 5px;
  }

  .card-body .img {
    padding: 0 20px;
  }

  .card-body .img img {
    width: 100%;
    border-radius: 8px;
  }

  .card-text {
    font-size: 14px;
    line-height: 1.4rem;
  }

  .card-ttlbloc {
    display: flex;
    align-items: center;
  }

  .card-label {
    position: relative;
    margin: 0;
    font-size: 24px;
  }
}

@media only screen and (max-width: 374px) {
  .card-ttl {
    font-size: 14px;
  }
}

/* ---------------------------
 cta
--------------------------- */
.cta {
  position: relative;
  margin-top: 80px;
  padding: 72px 0 43px;
  ;
  background: linear-gradient(#63e4ff, #339cff);
  display: flex;
  align-items: center;
  overflow: hidden;
}

.cta::before {
  content: '';
  position: absolute;
  display: block;
  width: 700px;
  height: 700px;
  top: 50%;
  left: 50%;
  background-color: #ffffff;
  opacity: 0.8;
  transform: translate(-50%, -50%) rotate(45deg);
}

.cta>.inner {
  margin: 0 auto;
  max-width: 960px;
  height: inherit;
  display: inline-block;
  text-align: center;
}

.cta .cta-content {
  position: relative;
  letter-spacing: 0.6px;
}

.cta .img {
  position: absolute;
  bottom: -1px;
  right: calc(50% - 480px);
  max-width: 360px;
  width: 50%;
}

.cta-img {
  margin-bottom: 30px;
}

.cta .img img {
  width: 100%;
}

.cta .lead {
  position: relative;
  margin-top: -30px;
  font-size: 32px;
  font-weight: bold;
  line-height: 3.3rem;
  letter-spacing: 0.04em
}

.cta-text {
  margin-right: 4px;
  padding: 0px 5px 3px;
  color: #ffffff;
  background: var(--color01);
}

.cta .btn-wrap {
  display: block;
  margin: 40px auto 0;
  text-align: center;
  max-width: 450px;
}

.cta .btn-wrap .btn-inner {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  letter-spacing: 0.04em;
}

.cta .btn-wrap .btn-inner .btn-text {
  display: inline-block;
  position: absolute;
  left: -5%;
  border-radius: 9999px;
  color: #ffffff;
  font-size: 20px;
  z-index: 20;
  letter-spacing: 0.2em;
  text-shadow: 0px 0px 20px rgba(255, 157, 41, 1);
}

.cta .btn-wrap .btn-inner .btn-text::before {
  content: '';
  position: absolute;
  display: inline-block;
  height: 80px;
  width: 80px;
  top: 50%;
  left: calc(50% - 3px);
  border: 3px solid #ffffff;
  border-radius: 4px;
  background: linear-gradient(#e9ff82, #ffc682);
  transform: translate(-50%, -50%) rotate(45deg);
  box-shadow: 5.416px 7.188px 12px 0px rgba(255, 198, 130, 0.4);
  z-index: -1;
}

.cta-sub {
  position: relative;
  font-size: 24px;
  font-weight: bold;
}

.cta-sub::before,
.cta-sub::after {
  content: '';
  position: absolute;
  display: block;
  width: 24px;
  height: 30px;
  bottom: 0;
  background-image: url("/special/self_reha/image/cta-deco.png");
  background-repeat: no-repeat;
}

.cta-sub::before {
  left: -25px;
}

.cta-sub::after {
  right: -25px;
  transform: scale(-1, 1);
}

.cta figure {
  margin-top: 20px;
}

.cta .btn-entry:hover {}

.cta .catch::before,
.cta .catch::after {
  width: 18px;
  height: 36px;
}

@media only screen and (max-width: 767px) {
  .cta {
    margin-top: 60px;
    height: auto;
  }

  .cta-content {
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
  }

  .cta .lead {
    font-size: 24px;
    text-align: center;
    line-height: 46px;
    max-width: 400px;
  }

  .cta .img {
    top: -30px;
    left: 50%;
    right: 0;
    transform: translate(-50%, -50%);
    width: 200px;
    height: fit-content;
  }

  .cta .btn-wrap {
    margin: 20px auto 0;
    width: 280px;
    translate: 23px;
  }

  .cta .btn-wrap .btn-inner {
    position: relative;
    right: 16px;
    font-size: 18px;
    gap: 10px;
  }

  .cta .btn-wrap .btn-inner p {
    margin-left: 30px;
  }

  .cta .btn-wrap .btn-inner .btn-text {
    font-size: 14px;
  }

  .cta-sub {
    line-height: 2.1rem;
  }

  .cta-text {
    font-size: 24px;
  }

  .cta .lead::before,
  .cta .lead::after {
    display: none;
  }

  .cta-sub::before {
    top: 20px;
    left: -30px;
  }

  .cta-sub::after {
    top: 20px;
    right: -110px;
    transform: scale(-1, 1);
  }

  .cta .btn-wrap .btn-inner .btn-text::before {
    content: '';
    height: 60px;
    width: 60px;
    border: 3px solid #ffffff;
    border-radius: 4px;
    background: linear-gradient(#e9ff82, #ffc682);
    box-shadow: 5.416px 7.188px 12px 0px rgba(255, 198, 130, 0.4);
    z-index: -1;
  }

  .cta .btn-wrap .btn-inner .btn-text {
    left: -28px;
    line-height: 1.2;
  }

  .cta::before {
    width: 470px;
    height: 470px;
  }
}

@media only screen and (max-width: 374px) {
  .cta-content {
    padding: 60px 10px 40px;
  }

  .cta .lead {
    font-size: 24px;
    line-height: 44px;
  }

  .cta .lead::before,
  .cta .lead::after {
    display: none;
  }

  .cta .catch {
    font-size: 20px;
    width: 94%;
  }
}


/* ---------------------------
 section / joboffer
--------------------------- */
.joboffer {
  padding: 100px 0;
  background-color: #fff;
}

.joboffer h3 {
  position: relative;
  text-align: center;
  font-size: clamp(26px, 5vw, 32px);
  line-height: 1.6;
  letter-spacing: 0.6px;
}

.joboffer-title-wrap {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background: #eff6fb;
}

.joboffer-title-border {
  height: 46px;
  width: 4px;
  position: relative;
  background-color: #114f7a;
}

.joboffer-sample-title {
  font-size: 20px;
}

.joboffer .img {
  text-align: center;
}

.jobofferlist .swiper-wrapper {
  margin-top: 24px;
  display: flex;
  justify-content: center;
  gap: 16px;
}

.jobofferlist .swiper-slide {
  width: calc((100% - 30px) / 3);
  margin: 0;
  position: relative;
}

.jobofferlist .swiper-slide:nth-child(-n+3) {
  margin-top: 0;
}

.jobofferlist .swiper-slide:nth-child(3n+1) {
  margin-left: 0;
}

.joboffer-text {
  margin-top: 30px;
  font-size: 12px;
  text-align: center;
}

.pc_wrap_hosoku {
  display: block;
  width: fit-content;
  margin: 0 auto;
  padding: 20px 6% 0;
  font-size: 12px;
  line-height: 1.5;
}

@media only screen and (max-width: 767px) {
  .joboffer {
    padding: 60px 0;
  }

  .jobofferlist {
    /* margin: 0 -20px; */
    margin: 0;
  }

  .joboffer .content {
    width: 100%;
  }

  .jobofferlist .swiper-wrapper {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 0;
    justify-content: flex-start;
  }

  .jobofferlist .swiper-slide {
    width: auto;
    margin: 0;
  }

  .jobofferlist .lead-content {
    margin: 0 20px;
  }

  .joboffer-text {
    text-align: left;
    line-height: 20px;
    margin: 0 20px;
  }

  .joboffer-title-wrap {
    margin: 0 20px;
  }

  .joboffer h3::before {
    left: 6px;
    background-size: contain;
    width: 38px;
    height: 26px;
  }

  .joboffer h3::after {
    right: 0px;
    width: 38px;
    height: 26px;
    background-size: contain;
  }
  .jobofferlist .swiper-container {
    padding: 0;
    box-sizing: border-box;
  }
}

.card02 {
  background: var(--color02);
  position: relative;
  padding: 30px 20px;
  z-index: 10;
}

.card02-ttl {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5em;
}

.card02-img img {
  display: block;
  width: 100%;
  margin-top: 20px;
}

.card02-body {
  margin-top: 20px;
}

.card02-salary {
  position: relative;
  margin-top: 14px;
  padding-left: 40px;
  font-family: 'Roboto Slab', 'Noto Sans JP', serif;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.45;
  color: var(--color01);
  letter-spacing: 1.6px;
}

.card02-salary::before {
  position: absolute;
  top: -2px;
  left: 0;
  width: 30px;
  height: 30px;
  content: '';
  border-radius: 50%;
  background: url('data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2013.6%2017.6%22%20style%3D%22enable-background%3Anew%200%200%2013.6%2017.6%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23FFFFFF%3B%7D%3C%2Fstyle%3E%3Cg%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2_00000101785473496862030140000017340843632552250812_%22%3E%20%3Cg%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1-2%22%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M12%2C0L6.8%2C6.9L1.6%2C0L0%2C1.2l4.8%2C6.4h-3v2h4v2h-4v2h4v4h2v-4h4v-2h-4v-2h4v-2h-3l4.8-6.4L12%2C0z%22%2F%3E%20%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center;
  background-size: 11px 14px;
  background-color: var(--color01);
}

.card02-txt {
  position: relative;
  margin-top: 14px;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 2px;
}

.card02 .btn-wrap {
  padding-top: 20px;
}

@media only screen and (max-width: 767px) {
  .card02-ttl {
    font-size: 16px;
  }
}

/* ---------------------------
 section / merit
--------------------------- */
.merit {
  margin-bottom: 80px;
}

@media only screen and (max-width: 767px) {
  .merit {
    margin-bottom: 60px;
  }
}

/* ---------------------------
 section / point
--------------------------- */
.point {
  background-color: var(--color02);
  padding: 80px 0;
  margin-bottom: 80px;
}

@media only screen and (max-width: 767px) {
  .point {
    padding: 60px 0;
    margin-bottom: 60px;
  }
}

/* ---------------------------
 section / reason
--------------------------- */
.reason {
  padding: 40px 0 60px;
}

.reason .heading img {
  width: 416px;
}

.reason .card-unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 960px;
}

.reason .card-unit .card03 {
  margin-top: 0;
}

.reason .card-unit.card-unit-col03 .card03 {
  width: calc((100% - 60px) / 3);
}

.reason.bg-color02 {
  background: var(--color02);
}

.reason .inc-heading.text-color01 h3 {
  color: var(--textcolor01);
}

@media only screen and (max-width: 767px) {
  .reason {
    padding: 40px 0;
  }

  .reason .heading img {
    width: 286px;
  }

  .reason .card-unit {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 151px;
  }

  .reason .card-unit .card03 {
    margin-top: 151px;
  }

  .reason .card-unit .card03:first-child {
    margin-top: 0;
  }

  .reason .card-unit.card-unit-col03 .card03 {
    width: 100%;
  }

  .card02-txt {
    font-size: 14px;
    line-height: 1.6;
  }
}

.card03 {
  font-weight: 500;
  position: relative;
  width: 100%;
  padding: 39px 21px 50px;
  border-radius: 10px;
  background-color: var(--bg-color01);
}

.card03.card03-01 .card03-no {
  left: 10px;
}

.card03.card03-02 .card03-no {
  left: 32px;
}

.card03.card03-03 .card03-no {
  left: 10px;
}

.card03.card03-01 .card03-img {
  right: 32px;
  width: 38.2089552%;
  max-width: 128px;
  margin-bottom: -44px;
}

.card03.card03-02 .card03-img {
  right: 34px;
  width: 31.9402985%;
  max-width: 107px;
}

.card03.card03-03 .card03-img {
  right: 16px;
  width: 56.7164179%;
  max-width: 190px;
  margin-bottom: -11px;
}

.card03-no {
  font-size: 100px;
  font-weight: bold;
  line-height: 1;
  position: absolute;
  bottom: 100%;
  left: 0;
  margin-bottom: -6px;
  letter-spacing: -.01em;
  color: var(--bg-color01);
}

.card03-img {
  position: absolute;
  right: 0;
  bottom: 100%;
}

.card03-img img {
  width: 100%;
  vertical-align: bottom;
}

.card03-ttl {
  font-size: 20px;
  line-height: 1.426;
  letter-spacing: .12em;
  color: var(--yellow);
}

.card03-txt {
  font-size: 15px;
  line-height: 1.5;
  margin-top: 21px;
  color: #fff;
}

.card03-txt span {
  color: var(--yellow);
}

@media only screen and (max-width: 767px) {
  .card03.card03-01 .card03-no {
    left: 2.98507463%;
  }

  .card03.card03-02 .card03-no {
    right: 2.98507463%;
    left: auto;
  }

  .card03.card03-03 .card03-no {
    left: 2.98507463%;
  }

  .card03.card03-01 .card03-img {
    right: 9.55223881%;
  }

  .card03.card03-02 .card03-img {
    right: auto;
    left: 10.1492537%;
  }

  .card03.card03-03 .card03-img {
    right: 4.7761194%;
  }
}

/* ---------------------------
 section / uservoice
--------------------------- */
.uservoice {
  padding: 40px 0 60px;
}

.uservoice .heading img {
  width: 608px;
}

.uservoice .swiper-container {
  max-width: 960px;
  margin: 0 auto;
  padding-top: 17px;
}

.uservoice .swiper-slide {
  height: auto;
}

.uservoice .swiper-button-prev {
  left: 0;
  opacity: 1;
  background-image: url('data:image/svg+xml,%0A%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'16.55\' height=\'13.512\' viewBox=\'0 0 16.55 13.512\'%3E%3Cg transform=\'translate(-419.581 -4837.174)\'%3E%3Cpath d=\'M426.357,4837.84l-5.436,6.09,5.436,6.09\' fill=\'none\' stroke=\'%23fff\' stroke-width=\'2\'/%3E%3Cpath d=\'M420.921,4843.83h15.21\' fill=\'none\' stroke=\'%23fff\' stroke-width=\'2\'/%3E%3C/g%3E%3C/svg%3E');
}

.uservoice .swiper-button-next {
  right: 0;
  background-image: url('data:image/svg+xml,%0A%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'16.55\' height=\'13.512\' viewBox=\'0 0 16.55 13.512\'%3E%3Cg transform=\'translate(-20.049 -20.868)\'%3E%3Cpath d=\'M420.921,4837.84l5.436,6.09-5.436,6.09\' transform=\'translate(-391.098 -4816.306)\' fill=\'none\' stroke=\'%23fff\' stroke-width=\'2\'/%3E%3Cpath d=\'M436.131,4843.83h-15.21\' transform=\'translate(-400.872 -4816.306)\' fill=\'none\' stroke=\'%23fff\' stroke-width=\'2\'/%3E%3C/g%3E%3C/svg%3E');
}

@media only screen and (max-width: 767px) {
  .uservoice .heading img {
    width: 242px;
  }
}

@media only screen and (max-width: 959px) {
  .uservoice .swiper-container {
    margin: 0 -20px;
  }
}

@media only screen and (max-width: 1060px) {
  .uservoice .heading {
    margin-bottom: 33px;
  }

  .uservoice .swiper-button-prev,
  .uservoice .swiper-button-next {
    display: none;
  }
}

.card04 {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0 22px 29px;
  border-radius: 10px;
  background-color: var(--blue02);
  border: solid 2px var(--color01);
}

.card04-head {
  text-align: center;
}

.card04-img {
  position: relative;
  top: -17px;
  margin-bottom: -17px;
}

.card04-img img {
  display: block;
  margin: 0 auto;
}

.card04-ttl {
  font-size: 17px;
  font-weight: bold;
  line-height: 1.5;
  margin-top: 8px;
  padding-bottom: 5px;
  color: #01bbc0;
  border-bottom: 1px solid currentColor;
}

.card04-tag {
  font-size: 13px;
  line-height: 1.5;
  display: inline-block;
  margin-top: 5px;
}

.card04-body {
  margin-top: 13px;
}

.card04-txt {
  font-size: 14px;
  line-height: 1.5;
}

.card04-txt span {
  font-weight: bold;
  color: #01bbc0;
}

/* ---------------------------
 section / flow
--------------------------- */
.flow {
  padding: 40px 0 60px;
}

.flow .heading img {
  width: 384px;
}

.flow.bg-color02 {
  background: var(--color02);
}

@media only screen and (max-width: 767px) {
  .flow {
    padding: 40px 0;
  }

  .flow .heading img {
    width: 264px;
  }
}

.steplist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 900px;
}

.steplist li {
  width: calc((100% - 60px) / 3);
  margin: 30px 0 0 30px;
  background-color: #fff;
}

.steplist li:nth-child(-n+3) {
  margin-top: 0;
}

.steplist li:nth-child(3n+1) {
  margin-left: 0;
}

.steplist-item {
  position: relative;
  width: 100%;
}

.steplist-item-inner {
  padding: 17px 14px;
  text-align: center;
}

.steplist-item-label {
  font-size: 25px;
  font-weight: bold;
  position: absolute;
  top: -13px;
  left: -13px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  text-indent: -9999px;
  color: #fff;
  border: 7px solid currentColor;
  background-color: var(--bg-color01);
  background-repeat: no-repeat;
  background-position: center;
}

.steplist-item-01 .steplist-item-label {
  background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'13.152\' height=\'22.69\' viewBox=\'0 0 13.152 22.69\'%3E%3Cpath d=\'M454.111,5451.79a35.462,35.462,0,0,1-8.32,2.56v1.28c2.3,0,3.552.1,4.384.52.384.19.512.83.512,1.69v11.91c0,3.04-.448,3.32-5.024,3.36v1.37h13.152v-1.37c-2.336-.04-3.264-.13-3.936-.52-.7-.38-.768-.67-.768-2.94Z\' transform=\'translate(-445.663 -5451.79)\' fill=\'%23fff\'/%3E%3C/svg%3E');
}

.steplist-item-02 .steplist-item-label {
  background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'15.136\' height=\'22.4\' viewBox=\'0 0 15.136 22.4\'%3E%3Cpath d=\'M752.153,5474.48h13.568l1.568-6.88-1.152-.32c-1.152,3.23-1.792,3.71-4.672,3.71h-6.272a26.429,26.429,0,0,1,5.568-4.76c4.8-3.43,6.272-5.35,6.272-8.29,0-3.49-2.848-5.86-7.04-5.86-3.9,0-7.072,2.47-7.072,5.6a2.318,2.318,0,0,0,2.112,2.43,2.039,2.039,0,0,0,1.92-2.08,3,3,0,0,0-.256-1.08,3.171,3.171,0,0,1-.224-1.12c0-1.35,1.312-2.34,3.072-2.34,2.24,0,3.584,1.47,3.584,3.87,0,2.85-1.152,4.77-5.568,9.12a34.1,34.1,0,0,0-5.408,6.27Z\' transform=\'translate(-752.153 -5452.08)\' fill=\'%23fff\'/%3E%3C/svg%3E');
}

.steplist-item-03 .steplist-item-label {
  background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'15.17\' height=\'22.91\' viewBox=\'0 0 15.17 22.91\'%3E%3Cpath d=\'M1065.24,5455.31c0-.92.83-1.88,2.62-1.88,2.24,0,3.55,1.44,3.55,4.03,0,2.85-1.63,4.64-4.16,4.64a3.233,3.233,0,0,1-.54-.03,7.258,7.258,0,0,0-.87-.04.77.77,0,0,0-.86.84.759.759,0,0,0,.86.8,3.545,3.545,0,0,0,.64-.04c.45-.03.87-.06,1.25-.06,2.53,0,4.23,1.95,4.23,4.99,0,3.17-1.7,5.09-4.39,5.09-2.4,0-2.94-1.06-2.94-2.02a3.824,3.824,0,0,1,.03-.6c.03-.26.06-.48.06-.61a2.182,2.182,0,0,0-2.08-2.08,2.062,2.062,0,0,0-2.01,2.17c0,2.66,2.91,4.48,7.04,4.48,4.83,0,8.13-2.59,8.13-6.36,0-2.92-2.28-5.67-6.44-5.83,3.46-.54,5.76-2.69,5.76-5.44,0-3.07-2.88-5.28-6.78-5.28-3.71,0-6.91,2.02-6.91,4.42a2.071,2.071,0,0,0,1.95,2.17,2.038,2.038,0,0,0,1.92-2.2,4.381,4.381,0,0,0-.03-.58A4.459,4.459,0,0,1,1065.24,5455.31Z\' transform=\'translate(-1060.63 -5452.08)\' fill=\'%23fff\'/%3E%3C/svg%3E');
}

.steplist-item-04 .steplist-item-label {
  background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'15.968\' height=\'22.31\' viewBox=\'0 0 15.968 22.31\'%3E%3Cpath d=\'M455.839,5763.15h-1.984l-10.176,15.62v1.38h8.768v1.31c0,2.21-.416,2.53-2.4,2.65l-.48.04v1.31H458.4v-1.31l-.384-.04c-2.016-.16-2.176-.25-2.176-2.65v-1.31h3.808v-1.54h-3.808Zm-3.392,4.52v10.94h-7.168Z\' transform=\'translate(-443.679 -5763.15)\' fill=\'%23fff\'/%3E%3C/svg%3E');
}

.steplist-item-05 .steplist-item-label {
  background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'14.816\' height=\'22.4\' viewBox=\'0 0 14.816 22.4\'%3E%3Cpath d=\'M754.745,5775.7c1.664-1.83,2.88-2.47,4.832-2.47,2.592,0,4.032,1.96,4.032,5.51,0,3.84-1.536,5.89-4.384,5.89-1.568,0-2.688-.77-2.688-1.96a1.693,1.693,0,0,1,.032-.38,3.552,3.552,0,0,0,.1-.74,2.128,2.128,0,0,0-1.984-2.2,2.065,2.065,0,0,0-2.016,2.11c0,2.59,2.816,4.51,6.528,4.51,4.832,0,8.288-3.2,8.288-7.58a6.815,6.815,0,0,0-7.04-6.98,6.963,6.963,0,0,0-5.248,2.24c.288-3.39.416-4.8.512-6.72h9.92l.672-3.36H754.489c-.192,5.12-.416,8.26-.8,11.65Z\' transform=\'translate(-752.665 -5763.57)\' fill=\'%23fff\'/%3E%3C/svg%3E');
}

.steplist-item-06 .steplist-item-label {
  background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'15.26\' height=\'22.94\' viewBox=\'0 0 15.26 22.94\'%3E%3Cpath d=\'M1064.63,5774.51c0-5.88,2.01-10.04,4.83-10.04.86,0,1.44.48,1.73,1.63.51,2.05,1.37,2.3,2.17,2.3a2,2,0,0,0,1.92-2.14c0-1.83-2.04-3.23-4.76-3.23a7.5,7.5,0,0,0-5.7,2.62,13.566,13.566,0,0,0-4,10.02c0,6.08,3.2,10.3,7.9,10.3a7.469,7.469,0,0,0,7.36-7.74c0-3.84-2.49-6.69-5.95-6.69C1068.08,5771.54,1066.45,5772.47,1064.63,5774.51Zm-.03,2.05a6.042,6.042,0,0,1,1.4-1.76,4.25,4.25,0,0,1,2.88-1.25c2.28,0,3.36,1.7,3.36,5.25,0,3.87-1.28,5.89-3.68,5.89a3.042,3.042,0,0,1-2.14-.8c-1.09-1.06-1.86-4-1.86-6.4A7.487,7.487,0,0,1,1064.6,5776.56Z\' transform=\'translate(-1060.82 -5763.03)\' fill=\'%23fff\'/%3E%3C/svg%3E');
}

.steplist-item-head {
  position: relative;
  margin-bottom: 15px;
}

.steplist-item-ttl {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.3;
  padding-left: 0;
}

.steplist-item-03 .steplist-item-ttl {
  padding-left: 35px;
}

.steplist-item-cont {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.steplist-item-img {
  margin-left: 0;
}

.steplist-item-img img {
  display: block;
  width: 240px;
  max-width: 100%;
  margin: 0 auto;
}

.steplist-item-body {
  margin-top: 15px;
}

.steplist-item-txt {
  font-size: 14px;
  line-height: 1.4;
  position: relative;
  text-align: center;
}

.steplist-item-txt .blue {
  font-weight: bold;
  color: var(--bg-color01);
}

.steplist-item-txt .small {
  font-size: 11px;
  display: block;
  margin-top: 4px;
}

@media only screen and (max-width: 767px) {
  .steplist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 0 auto;
  }

  .steplist li {
    width: 95%;
    margin: 30px 0 0 0;
  }

  .steplist li:first-child {
    margin-top: 0 !important;
  }

  .steplist li:nth-child(-n+3) {
    margin-top: 30px;
  }

  .steplist li:nth-child(even) {
    margin-left: auto;
  }

  .steplist-item-cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  .steplist-item-img {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: 10px;
  }

  .steplist-item-body {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-top: 0;
  }

  .steplist-item-ttl {
    font-size: 14px;
    padding-left: 40px;
    text-align: left;
  }

  .steplist-item-03 .steplist-item-ttl {
    padding-left: 40px;
  }

  .steplist-item-txt {
    font-size: 12px;
    line-height: 1.5;
    text-align: left;
  }

  .steplist-item-txt .small {
    line-height: 1.5;
  }
}

/* ---------------------------
 otherinfo
--------------------------- */
.otherinfo {
  padding: 10px 0;
}

@media only screen and (max-width: 767px) {
  .otherinfo {
    padding: 45px 0;
  }
}

.box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 15px 15px 10px;
  border-radius: 5px;
  background-color: #fff;
}

.box>*:not(:first-child) {
  margin-left: 15px;
}

.box-head {
  width: 278px;
  text-align: center;
}

.box-head p {
  font-size: 15px;
  font-weight: bold;
  padding: 5px;
  color: #fff;
  border-radius: 100px;
  background-color: var(--bg-color01);
}

.box-head span {
  font-size: 12px;
  display: inline-block;
  margin-top: 5px;
  color: var(--bg-color01);
}

.box-tel {
  width: 30%;
}

.box-tel a {
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 40px;
  font-weight: 600;
  display: inline-block;
  margin-top: 0;
  white-space: nowrap;
  text-decoration: none;
  color: var(--bg-color01);
}

.box-txt {
  font-size: 11px;
  line-height: 1.3;
  margin-top: 0;
  text-align: left;
  color: var(--bg-color01);
}

@media only screen and (max-width: 767px) {
  .box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 10px 15px;
  }

  .box>*:not(:first-child) {
    margin-left: 0;
  }

  .box-head {
    width: 100%;
  }

  .box-head p {
    font-size: 15px;
  }

  .box-head span {
    font-size: 12px;
  }

  .box-tel {
    width: 100%;
    text-align: center;
  }

  .box-tel a {
    font-size: 9.5vw;
    margin-top: 10px;
  }

  .box-txt {
    font-size: 12px;
    margin-top: 10px;
    text-align: center;
  }
}

.media-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 20px;
}

.media-list li:not(:first-child) {
  margin: 0 0 0 2%;
}

.media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #fff;
}

.media-img {
  margin-right: 5px;
}

.media-body {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.media-ttl {
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
}

.media-txt {
  font-size: 11px;
  line-height: 1.3;
  margin-top: 3px;
}

@media only screen and (max-width: 767px) {
  .media-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .media-list li:not(:first-child) {
    margin: 20px 0 0 0;
  }

  .media-img {
    margin-right: 10px;
  }

  .media-ttl {
    font-size: 16px;
    line-height: 1.3;
  }

  .media-txt {
    font-size: 11px;
  }
}

/* ---------------------------
 footer
--------------------------- */
.footer {
  padding: 18px 0 10px;
  color: #6c6c6c;
}

.footer-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.footer-top {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 560px;
}

.footer-copy {
  font-size: 11px;
  margin-top: 2px;
  text-align: right;
}

@media only screen and (max-width: 767px) {
  .footer {
    padding: 35px 0 31px;
    border-top: 1px dotted #999;
  }

  .footer-inner {
    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 {
    padding-bottom: 15px;
    border-bottom: 1px dotted #999;
  }

  .footer-bottom {
    margin-left: auto;
    padding-top: 12px;
  }

  .footer-copy {
    padding-top: 4px;
    color: #666;
  }
}

.infolist li {
  font-size: 11px;
}

.infolist li:not(:first-child) {
  margin-top: 2px;
}

@media only screen and (max-width: 767px) {
  .infolist li {
    line-height: 1.2;
    color: #666;
  }

  .infolist li:not(:first-child) {
    margin-top: 4px;
  }
}

.linklist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.linklist li {
  font-size: 11px;
  text-align: right;
}

.linklist li:not(:first-child) {
  margin-left: 14px;
}

.linklist li a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  text-decoration: none;
  color: #666;
}

.linklist li a::before {
  display: inline-block;
  width: 11px;
  height: 11px;
  margin-right: 4px;
  content: '';
  background: url('/special/img/mikeiken_ok/new_window.png') no-repeat center;
  background-size: 11px 11px;
}

/* ---------------------------
 animation
--------------------------- */
.motion-txt {
  position: relative;
  display: inline-block;
  overflow: hidden;
}

.motion-txt:after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  content: '';
  -webkit-transform: translate3d(-101%, 0, 0);
  transform: translate3d(-101%, 0, 0);
  opacity: 1;
  background-color: var(--blue02);
}

.js-scroll.show .motion-txt:after {
  -webkit-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transition-timing-function: cubic-bezier(.19, 1, .22, 1);
  -o-transition-timing-function: cubic-bezier(.19, 1, .22, 1);
  transition-timing-function: cubic-bezier(.19, 1, .22, 1);
  -webkit-transition-duration: .5s;
  -o-transition-duration: .5s;
  transition-duration: .5s;
  -webkit-transition-property: opacity, -webkit-transform;
  -o-transition-property: transform, opacity;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.js-scroll.done .motion-txt:after {
  -webkit-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transition-timing-function: cubic-bezier(.19, 1, .22, 1);
  -o-transition-timing-function: cubic-bezier(.19, 1, .22, 1);
  transition-timing-function: cubic-bezier(.19, 1, .22, 1);
  -webkit-transition-duration: .5s;
  -o-transition-duration: .5s;
  transition-duration: .5s;
  -webkit-transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transform: translate3d(103%, 0, 0);
  transform: translate3d(103%, 0, 0);
}

.motion-txt .motion-inner {
  display: inline-block;
  opacity: 0;
}

.js-scroll.done .motion-txt .motion-inner {
  opacity: 1;
}




/*------------------------------------------------------
  include.css
------------------------------------------------------*/

/* ---------------------------
 テーマカラー / ThemaColor
--------------------------- */
:root {
  --color01: #156DB3;
  --color02: #F8F9F6;
  --color03: #f3da31;

  --main: #F6769E;
  --sub: #3b3b3b;

  --inc_text: #FFF;

  --textcolor01: #156DB3;
  --textcolor02: #156DB3;
  --textcolor03: #f1f6fd;

  --bg-color01: #156DB3;
  --bg-color02: #EBFAF9;
  --bg-color03: #FFF;
  --bg-color04: #b0e9fb;

}

#st_img01 .st2,
#st_img02 .st3,
#st_img03 .st4 {
  fill: var(--color01);
}

#st_img01 .st0,
#st_img02 .st0,
#st_img03 .st0 {
  fill: var(--color02);
}

#st_img01 .st1,
#st_img02 .st2,
#st_img03 .st3 {
  fill: #f3da31;
}

#st_img01 .st3,
#st_img02 .st1,
#st_img03 .st2 {
  fill: #FFFFFF;
}

#st_img03 .st1 {
  fill: #EBEBEB;
}

#uv_chara01 .st0,
#uv_chara02 .st0,
#uv_chara03 .st0 {
  fill: var(--color02);
}

#uv_chara01 .st1,
#uv_chara02 .st1,
#uv_chara03 .st1,
#uv_chara03 .st2 {
  fill: #FFFFFF;
}

#uv_chara01 .st2,
#uv_chara02 .st2,
#uv_chara03 .st3 {
  fill: #3b3b3b;
}

.card04 {
  background-color: #FFF;
}

.motion-txt:after {
  background-color: var(--color03)
}

.btn_float_entry {
  background: var(--main);
}



/* ↑↑↑↑CSS特集LP固有のCSSにコピーして↑↑↑↑ */


/* スペーシングスケール */

:root {
  --space-xs: 8px;
  --space-sm: 16px;
  --space-md: 32px;
  --space-lg: 48px;
  --space-xl: 64px;

  /* 任意：密度切替用倍率 */
  --space-scale: 1;
}

/* --- margin: 上だけ / 下だけ --- */
.u-mt-xs {
  margin-block-start: calc(var(--space-xs) * var(--space-scale));
}

.u-mt-sm {
  margin-block-start: calc(var(--space-sm) * var(--space-scale));
}

.u-mt-md {
  margin-block-start: calc(var(--space-md) * var(--space-scale));
}

.u-mt-lg {
  margin-block-start: calc(var(--space-lg) * var(--space-scale));
}

.u-mt-xl {
  margin-block-start: calc(var(--space-xl) * var(--space-scale));
}

.u-mb-xs {
  margin-block-end: calc(var(--space-xs) * var(--space-scale));
}

.u-mb-sm {
  margin-block-end: calc(var(--space-sm) * var(--space-scale));
}

.u-mb-md {
  margin-block-end: calc(var(--space-md) * var(--space-scale));
}

.u-mb-lg {
  margin-block-end: calc(var(--space-lg) * var(--space-scale));
}

.u-mb-xl {
  margin-block-end: calc(var(--space-xl) * var(--space-scale));
}

/* --- padding: 上だけ / 下だけ --- */
.u-pt-xs {
  padding-block-start: calc(var(--space-xs) * var(--space-scale));
}

.u-pt-sm {
  padding-block-start: calc(var(--space-sm) * var(--space-scale));
}

.u-pt-md {
  padding-block-start: calc(var(--space-md) * var(--space-scale));
}

.u-pt-lg {
  padding-block-start: calc(var(--space-lg) * var(--space-scale));
}

.u-pt-xl {
  padding-block-start: calc(var(--space-xl) * var(--space-scale));
}

.u-pb-xs {
  padding-block-end: calc(var(--space-xs) * var(--space-scale));
}

.u-pb-sm {
  padding-block-end: calc(var(--space-sm) * var(--space-scale));
}

.u-pb-md {
  padding-block-end: calc(var(--space-md) * var(--space-scale));
}

.u-pb-lg {
  padding-block-end: calc(var(--space-lg) * var(--space-scale));
}

.u-pb-xl {
  padding-block-end: calc(var(--space-xl) * var(--space-scale));
}


/* PC・SPの切り替え */
.pc {
  display: block;
}

.sp {
  display: none;
}

@media only screen and (max-width: 767px) {
  body {
    padding-bottom: 40px;
  }

  img {
    max-width: 100%;
  }

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }
}