@charset "UTF-8";
/*----------------------------------------------------------------------
------------------------------------------------------------------------

File Name: landing.scss

------------------------------------------------------------------------
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
------------------------------------------------------------------------
目次

1.	共通使用変数定義
2.	ブラウザデフォルトスタイルリセット
3.	HTMLタグ
4.	container
5.	共通部分
6.	header
7.	content
8.	main
9.	sub
10.	footer
11.	ページ別個別設定

------------------------------------------------------------------------
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
1.	共通使用変数定義
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
2.	ブラウザデフォルトスタイルリセット
----------------------------------------------------------------------*/
body,
h1, h2, h3, h4, h5, h6,
div,
p,
ul, ol, dl,
form, fieldset,
table,
address,
blockquote,
noscript,
pre,
tr,
td,
input,
textarea {
  margin: 0;
  padding: 0;
  line-height: 1;
  font-style: normal;
}

body {
  font-size: 10px;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", arial, helvetica, sans-serif;
}

* html body {
  font-size: 62.5%;
}

* + html body {
  font-size: 62.5%;
}

/* start \*/
html:\66irst-child body {
  font-size: 62.5%;
}

/* end */
body:first-of-type {
  font-size: 62.5%;
}

body > iframe {
  display: none;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
  font-weight: normal;
}

small {
  font-size: 1em;
}

mark {
  background: none;
}

fieldset {
  border: none;
}

legend {
  display: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0px;
  font-size: inherit;
  font: 100%;
}

li {
  list-style-type: none;
}

dd {
  margin: 0;
}

a,
abbr,
acronym,
em,
strong,
span,
img,
sub,
sup,
input,
button,
textarea,
select,
label,
caption {
  font-weight: normal;
  font-style: normal;
}

a {
  text-decoration: none;
}

img {
  border: none;
  vertical-align: bottom;
}
@media screen and (max-width: 768px) {
  img {
    width: 100%;
  }
}

caption, th {
  font-weight: normal;
  text-align: left;
}

th, td {
  padding: 0px;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
}

textarea {
  vertical-align: top;
}

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

header, footer, article, section, aside,
nav,
figure, figcaption {
  display: block;
  margin: 0;
  padding: 0;
}

/*----------------------------------------------------------------------
3.	HTMLタグ
----------------------------------------------------------------------*/
html,
body {
  height: 100%;
}

html {
  font-size: 100%;
}

body {
  -webkit-text-size-adjust: 100%;
  color: #000;
}
body * {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
body ::selection {
  color: #F7F7F7;
  background: #c3e8ff;
  /* Safari */
}
body ::-moz-selection {
  color: #F7F7F7;
  background: #c3e8ff;
  /* Firefox */
}

a, a:before, a:after {
  -moz-transition: all 0.15s linear;
  -webkit-transition: all 0.15s linear;
  transition: all 0.15s linear;
}
a > * {
  -moz-transition: all 0.15s linear;
  -webkit-transition: all 0.15s linear;
  transition: all 0.15s linear;
}
a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}
a:hover > * {
  text-decoration: none;
}

/*----------------------------------------------------------------------
4.	container
----------------------------------------------------------------------*/
#container {
  position: relative;
  min-height: 100%;
}
* html #container {
  height: 100%;
}
body > #container {
  height: auto;
}

/*----------------------------------------------------------------------
5.	共通部分
----------------------------------------------------------------------*/
.fll {
  float: left;
}

.flr {
  float: right;
}

@media screen and (min-width: 769px) {
  .sp_none {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .sp_none {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .pc_none {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .pc_none {
    display: block;
  }
}

.link-contact {
  width: 590px;
  margin: 0 auto;
}
@media screen and (max-width: 1080px) {
  .link-contact {
    width: 90%;
  }
}
.link-contact a {
  -moz-box-shadow: 0 5px 0 rgba(20, 47, 102, 0.75);
  -webkit-box-shadow: 0 5px 0 rgba(20, 47, 102, 0.75);
  box-shadow: 0 5px 0 rgba(20, 47, 102, 0.75);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  top: 0;
  width: 100%;
  height: 70px;
  background: #F42867;
  padding-left: 30px;
  color: #FFF;
  font-size: 30px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .link-contact a {
    height: auto;
    padding: 5% 0 5% 4%;
    font-size: 18px;
    font-size: 4.8vw;
  }
}
.link-contact a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  top: 5px;
}
.link-contact a:before {
  display: flex;
  align-items: center;
  position: absolute;
  left: 50px;
  top: 0;
  bottom: 0;
  content: "\f054";
  color: #FFF;
  font-family: "Font Awesome 5 Free";
  font-size: 26px;
  font-weight: 900;
}
@media screen and (max-width: 768px) {
  .link-contact a:before {
    left: 6%;
    font-size: 14px;
    font-size: 3.73333vw;
  }
}
.link-contact.-main-visual {
  width: 470px;
}
@media screen and (max-width: 768px) {
  .link-contact.-main-visual {
    width: 85%;
  }
}
.link-contact.-main-visual a {
  height: 56px;
  padding-left: 20px;
  font-size: 24px;
}
@media screen and (max-width: 768px) {
  .link-contact.-main-visual a {
    height: auto;
    padding: 5% 0 5% 4%;
    font-size: 16px;
    font-size: 4.26667vw;
  }
}
.link-contact.-main-visual a:before {
  left: 40px;
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  .link-contact.-main-visual a:before {
    left: 5%;
    font-size: 13px;
    font-size: 3.46667vw;
  }
}
.link-contact.-follower {
  width: 310px;
  margin: 0;
}
.link-contact.-follower a {
  height: 58px;
  padding-left: 20px;
  font-size: 18px;
}
.link-contact.-follower a:before {
  left: 18px;
  font-size: 18px;
}

.right-nav {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1000;
}
.right-nav a {
  -moz-transition: opacity 0.15s linear;
  -webkit-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
  display: block;
}
.right-nav a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .right-nav img {
    width: 45px;
    height: 45px;
  }
}

/*----------------------------------------------------------------------
6.	#header
----------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  #header {
    position: fixed;
    top: 0;
    z-index: 10000;
    width: 100%;
    background: #FFF;
  }
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 1280px;
  height: 105px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .header-inner {
    width: 94%;
    padding: 2% 0;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .header-inner {
    height: auto;
  }
}
@media screen and (max-width: 768px) {
  .header-logo img {
    width: 105px;
  }
}
.header-right {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 840px) {
  .header-right {
    display: block;
    width: 55%;
  }
}
.header-hour {
  margin-right: 20px;
  text-align: center;
}
@media screen and (max-width: 840px) {
  .header-hour {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    margin: 0 0 3%;
  }
}
.header-hour-term {
  width: 154px;
  margin-bottom: 6px;
  padding: 2px 0;
  background: #104C82;
  color: #FFF;
  font-size: 16px;
  letter-spacing: 5px;
}
@media screen and (max-width: 840px) {
  .header-hour-term {
    width: 30%;
    margin: 0 3% 0 0;
    padding: 1.2% 0;
    font-size: 11px;
    font-size: 2.93333vw;
    letter-spacing: 0;
  }
}
.header-hour-description {
  font-size: 18px;
}
@media screen and (max-width: 840px) {
  .header-hour-description {
    font-size: 11px;
    font-size: 2.93333vw;
  }
}
@media screen and (max-width: 768px) {
  .header-tel {
    text-align: right;
  }
}
.header-tel a {
  padding-left: 42px;
  color: #000;
  background: url("../img/header_tel_bg.png") left center no-repeat;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
  font-size: 42px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .header-tel a {
    padding-left: 9%;
    -moz-background-size: 10%;
    -webkit-background-size: 10%;
    background-size: 10%;
    font-size: 16px;
    font-size: 4.26667vw;
  }
}
.header-tel a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
}

/*----------------------------------------------------------------------
7.	#content
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
8.	#main
----------------------------------------------------------------------*/
.box {
  padding: 70px 0 90px;
}
@media screen and (max-width: 768px) {
  .box {
    padding: 7% 0 !important;
  }
}

/*----------------------------------------------------------------------
9.	#sub
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
10.	#footer
----------------------------------------------------------------------*/
.footer-inner {
  padding: 40px 0;
}
@media screen and (max-width: 768px) {
  .footer-inner {
    padding: 5% 0;
  }
}
.footer-nav {
  display: flex;
  justify-content: center;
  margin-bottom: 25px;
}
.footer-nav-item {
  margin-right: 30px;
}
.footer-nav-item a {
  color: #000;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .footer-nav-item a {
    font-size: 14px;
    font-size: 3.73333vw;
  }
}
.footer-nav-item:last-child {
  margin-right: 0;
}
.footer-copyright {
  font-size: 17px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .footer-copyright {
    font-size: 11px;
    font-size: 2.93333vw;
  }
}

/*----------------------------------------------------------------------
11.	ページ別個別設定
----------------------------------------------------------------------*/
.main-visual {
  display: flex;
  align-items: center;
  height: 440px;
  background: url("../img/main_visual_bg.jpg") center center no-repeat;
  -moz-background-size: cover;
  -webkit-background-size: cover;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .main-visual {
    height: auto;
    padding: 7% 0;
  }
}
.main-visual-inner {
  width: 930px;
  height: 367px;
  margin: 0 auto;
  padding-top: 45px;
  background: rgba(0, 47, 126, 0.8);
  color: #FFF;
  text-align: center;
}
@media screen and (max-width: 1080px) {
  .main-visual-inner {
    width: 90%;
    height: auto;
    padding: 3.5% 3%;
  }
}
@media screen and (max-width: 768px) {
  .main-visual-inner {
    padding: 6% 3%;
  }
}
.main-visual-title {
  margin-bottom: 30px;
  font-size: 70px;
  font-weight: bold;
}
@media screen and (max-width: 1080px) {
  .main-visual-title {
    margin-bottom: 20px;
    font-size: 52px;
  }
}
@media screen and (max-width: 768px) {
  .main-visual-title {
    font-size: 26px;
    font-size: 6.93333vw;
  }
}
.main-visual-title small {
  display: block;
  margin-top: 15px;
  font-size: 34px;
  font-weight: bold;
}
@media screen and (max-width: 1080px) {
  .main-visual-title small {
    margin-top: 10px;
    font-size: 26px;
  }
}
@media screen and (max-width: 768px) {
  .main-visual-title small {
    font-size: 16px;
    font-size: 4.26667vw;
  }
}
.main-visual-lead {
  display: block;
  width: 800px;
  margin: 0 auto 24px;
  padding-bottom: 12px;
  background: url("../img/main_visual_lead.png") left bottom repeat-x;
  font-size: 34px;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 1080px) {
  .main-visual-lead {
    width: 85% !important;
    background-size: 1.8%;
    font-size: 26px;
  }
}
@media screen and (max-width: 840px) {
  .main-visual-lead {
    width: 94% !important;
  }
}
@media screen and (max-width: 768px) {
  .main-visual-lead {
    font-size: 16px;
    font-size: 4.26667vw;
    line-height: 1.2;
  }
}

.case-inner {
  width: 1160px;
  margin: 0 auto;
  padding: 80px 0;
}
@media screen and (max-width: 1160px) {
  .case-inner {
    width: auto;
  }
}
@media screen and (max-width: 768px) {
  .case-inner {
    padding: 40px 0;
  }
}
.case-lead {
  margin: 0 auto 30px;
  font-size: 34px;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .case-lead {
    font-size: 16px;
    font-size: 4.26667vw;
  }
}
.case-logo {
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .case-logo {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 768px) {
  .case-logo-item {
    margin: 0 5px;
  }
}
.case-logo-item img {
  border: 1px solid #B9B9B9;
}

.reason {
  background: url("../img/reason_bg.jpg") center bottom no-repeat #2185ce;
  -moz-background-size: contain;
  -webkit-background-size: contain;
  background-size: contain;
}
.reason-inner {
  width: 1160px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .reason-inner {
    width: 90%;
  }
}
.reason-title {
  text-shadow: 1px 2px 0 #083688;
  margin-bottom: 60px;
  color: #FFF;
  font-size: 54px;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .reason-title {
    margin-bottom: 5%;
    font-size: 23px;
    font-size: 6.13333vw;
    line-height: 1.2;
  }
}
.reason-list {
  display: flex;
  justify-content: space-between;
  margin-bottom: 47px;
}
@media screen and (max-width: 768px) {
  .reason-list {
    display: block;
    margin-bottom: 7%;
  }
}
.reason-item {
  position: relative;
  width: 360px;
  padding: 34px 0;
  background: #FFF;
  color: #2185CE;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  border-top: 7px solid #76d0ff;
}
@media screen and (max-width: 1280px) {
  .reason-item {
    width: 32%;
    padding: 3% 0;
    font-size: 20px;
  }
}
@media screen and (max-width: 1024px) {
  .reason-item {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .reason-item {
    width: 100%;
    margin-bottom: 3%;
    font-size: 20px;
    font-size: 5.33333vw;
    border-width: 4px;
    line-height: 1.4;
  }
}
@media screen and (max-width: 768px) {
  .reason-item:last-child {
    margin-bottom: 0;
  }
}
.reason-item:before {
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  content: "";
  position: absolute;
  left: -10px;
  bottom: -10px;
  border-top: 20px solid #76d0ff;
  border-right: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 20px solid transparent;
}
@media screen and (max-width: 1024px) {
  .reason-item:before {
    border-width: 12px;
    left: -5px;
    bottom: -5px;
  }
}
.reason-item em {
  color: #002f7e;
  font-weight: bold;
}
.reason-movie {
  height: 740px;
  padding-top: 55px;
  background: url("../img/reason_movie_bg.png") left top repeat-x;
  border-top: 7px solid #76d0ff;
  text-align: center;
}
@media screen and (max-width: 1080px) {
  .reason-movie {
    height: auto;
    padding-bottom: 6%;
    -moz-background-size: contain;
    -webkit-background-size: contain;
    background-size: contain;
  }
}
@media screen and (max-width: 768px) {
  .reason-movie {
    padding: 6% 5%;
  }
}
.reason-movie-title {
  margin-bottom: 40px;
  color: #2185CE;
  font-size: 26px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .reason-movie-title {
    margin-bottom: 5%;
    font-size: 20px;
    font-size: 5.33333vw;
    line-height: 1.42857;
  }
}
.reason-movie-title em {
  color: #002f7e;
  font-weight: bold;
}
.reason-movie-box-term {
  margin-bottom: 15px;
  color: #2386CF;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .reason-movie-box-term {
    margin-bottom: 2%;
    font-size: 16px;
    font-size: 4.26667vw;
    line-height: 1.5;
  }
}
@media screen and (max-width: 1080px) {
  .reason-movie-box-description {
    position: relative;
    z-index: 1000;
    width: 100%;
    height: 0px;
    padding: 0 0 56.25% !important;
  }
}
@media screen and (max-width: 1080px) {
  .reason-movie-box-description iframe {
    position: absolute;
    top: -1px;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 100%;
  }
}

.feature {
  background: #C3E8FF;
}
.feature-inner {
  width: 1080px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .feature-inner {
    width: 90%;
  }
}
.feature-title {
  margin-bottom: 55px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .feature-title {
    margin-bottom: 10%;
  }
}
.feature-list {
  display: flex;
  margin-bottom: 70px;
}
@media screen and (max-width: 768px) {
  .feature-list {
    display: block;
    margin-bottom: 7%;
  }
}
.feature-item {
  display: flex;
  flex-wrap: wrap;
  width: 360px;
}
@media screen and (max-width: 1280px) {
  .feature-item {
    width: 33.33333%;
  }
}
@media screen and (max-width: 768px) {
  .feature-item {
    display: block;
    position: relative;
    width: 100%;
    margin-bottom: 7%;
    padding-top: 30%;
  }
}
@media screen and (max-width: 768px) {
  .feature-item:last-child {
    margin-bottom: 0;
  }
}
.feature-item.-reverse {
  flex-direction: column-reverse;
}
.feature-item-box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  height: 234px;
  padding: 50px 36px;
  background: rgba(255, 255, 255, 0.9);
}
@media screen and (max-width: 1280px) {
  .feature-item-box {
    height: 50%;
    padding: 8% 5%;
  }
}
@media screen and (max-width: 768px) {
  .feature-item-box {
    padding: 8% 7% 6%;
  }
}
.feature-item-term {
  color: #002f7e;
  font-size: 26px;
  font-weight: bold;
}
@media screen and (max-width: 1080px) {
  .feature-item-term {
    font-size: 20px;
  }
}
@media screen and (max-width: 840px) {
  .feature-item-term {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .feature-item-term {
    margin-bottom: 1%;
    font-size: 16px;
    font-size: 4.26667vw;
  }
}
.feature-item-description {
  padding: 0 9px;
}
@media screen and (max-width: 768px) {
  .feature-item-description {
    padding: 0;
  }
}
.feature-item-description-inline {
  padding-bottom: 4px;
  background: url("../img/feature_item_description_bg.png") left bottom repeat-x;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 1080px) {
  .feature-item-description-inline {
    font-size: 13px;
  }
}
@media screen and (max-width: 840px) {
  .feature-item-description-inline {
    font-size: 12px;
  }
}
@media screen and (max-width: 768px) {
  .feature-item-description-inline {
    -moz-background-size: 1%;
    -webkit-background-size: 1%;
    background-size: 1%;
    font-size: 14px;
    font-size: 3.73333vw;
  }
}
@media screen and (max-width: 1280px) {
  .feature-item-pic {
    display: flex;
    align-items: center;
    width: 100%;
    height: 50%;
  }
}
@media screen and (max-width: 768px) {
  .feature-item-pic {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 85%;
    margin: auto;
  }
}
@media screen and (max-width: 1280px) {
  .feature-item-pic img {
    width: 100%;
  }
}

.step {
  padding-bottom: 0;
  overflow: hidden;
}
.step-title {
  margin-bottom: 40px;
  text-align: center;
}
@media screen and (max-width: 1280px) {
  .step-title {
    margin: 0 3% 3%;
  }
}
@media screen and (max-width: 768px) {
  .step-title {
    margin: 0 5% 5%;
  }
}
@media screen and (max-width: 1280px) {
  .step-title img {
    width: 90%;
  }
}
.step-lead {
  margin-bottom: -15px;
  font-size: 18px;
  line-height: 1.88889;
  text-align: center;
}
@media screen and (max-width: 1280px) {
  .step-lead {
    margin: 0 3% -15px;
  }
}
@media screen and (max-width: 768px) {
  .step-lead {
    margin: 0 5% 7%;
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1.57143;
    text-align: left;
  }
}
.step .subbox {
  position: relative;
  padding-top: 80px;
}
@media screen and (max-width: 768px) {
  .step .subbox {
    padding: 0 0 8%;
  }
}
.step .subbox:before {
  -moz-transform: rotate(-5deg);
  -ms-transform: rotate(-5deg);
  -webkit-transform: rotate(-5deg);
  transform: rotate(-5deg);
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 100%;
  margin: 2% -10% 0;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
  transform-origin: right center;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .step .subbox:before {
    width: 140%;
    margin: 2% -20% 0;
  }
}
.step .subbox.-step01:before {
  background: #FFF9EA;
}
.step .subbox.-step02:before {
  background: #fff7d3;
}
.step .subbox.-step03 {
  padding-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .step .subbox.-step03 {
    padding-bottom: 10%;
  }
}
.step .subbox.-step03:before {
  height: 105%;
  background: #fff2b4;
}
.step .subbox-inner {
  width: 1160px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .step .subbox-inner {
    width: 94%;
  }
}
@media screen and (max-width: 768px) {
  .step .subbox-inner {
    width: 90%;
  }
}
.step .subbox-title {
  display: flex;
  align-items: center;
  margin-bottom: -4px;
  color: #002f7e;
  font-size: 46px;
  font-weight: bold;
}
@media screen and (max-width: 1180px) {
  .step .subbox-title {
    margin-bottom: 3%;
  }
}
@media screen and (max-width: 768px) {
  .step .subbox-title {
    display: block;
    margin: 0 0 8%;
    font-size: 23px;
    font-size: 6.13333vw;
    text-align: center;
  }
}
.step .subbox-title img {
  margin-right: 40px;
}
@media screen and (max-width: 768px) {
  .step .subbox-title img {
    display: block;
    width: 26.86567%;
    margin: 0 auto 5%;
  }
}
.step .subbox-info {
  margin-bottom: 60px;
}
@media screen and (max-width: 1180px) {
  .step .subbox-info {
    margin-bottom: 8%;
  }
}
@media screen and (max-width: 768px) {
  .step .subbox-info {
    margin-bottom: 7%;
  }
}
.step .subbox-info:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .step .subbox-info:last-child {
    margin-bottom: 7%;
  }
}
.step .subbox-info-term {
  margin-bottom: 8px;
  color: #6D4730;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.38462;
}
@media screen and (max-width: 768px) {
  .step .subbox-info-term {
    margin-bottom: 2%;
    font-size: 20px;
    font-size: 5.33333vw;
    line-height: 1.2;
  }
}
.step .subbox-info-description {
  position: relative;
  padding-left: 1em;
  font-size: 16px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .step .subbox-info-description {
    margin-bottom: 2%;
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1.42857;
  }
}
@media screen and (max-width: 768px) {
  .step .subbox-info-description br {
    display: none;
  }
}
.step .subbox-info-description:before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
  color: #6D4730;
}
.step .subbox-info-description.-lower {
  padding-left: 0;
}
.step .subbox-info-description.-lower:before {
  content: none;
}
.step .subbox-info-list {
  margin: 8px -3px 0;
}
@media screen and (max-width: 768px) {
  .step .subbox-info-list {
    margin: 0 -1%;
  }
}
.step .subbox-info-hierarchy {
  display: flex;
  flex-wrap: wrap;
  width: 420px;
}
@media screen and (max-width: 768px) {
  .step .subbox-info-hierarchy {
    width: 100%;
  }
}
.step .subbox-info-hierarchy-item {
  margin: 3px;
  padding: 4px 6px;
  color: #FFF;
  font-size: 16px;
  background: #666;
}
@media screen and (max-width: 768px) {
  .step .subbox-info-hierarchy-item {
    margin: 1%;
    padding: 1% 2%;
    font-size: 12px;
    font-size: 3.2vw;
  }
}
.step .subbox-info-hierarchy-item.-prospective-employee {
  background: #c84087;
}
.step .subbox-info-hierarchy-item.-new-employee {
  background: #4a9cd8;
}
.step .subbox-info-hierarchy-item.-young-employee {
  background: #1b795b;
}
.step .subbox-info-hierarchy-item.-midcareer-employee {
  background: #ff7241;
}
.step .subbox-info-hierarchy-item.-beginner-manager {
  background: #6cb054;
}
.step .subbox-info-hierarchy-item.-intermediate-manager {
  background: #8e8e8e;
}
.step .subbox-info-hierarchy-item.-senior-manager {
  background: #937840;
}
.step .subbox-info-hierarchy-item.-next-senior-manager {
  background: #000;
}
.step .subbox-info-hierarchy-item.-midcareer-hires {
  background: #9457b8;
}
.step .subbox-info-movie, .step .subbox-info-movie-sp a {
  -moz-transition: all 0.15s linear;
  -webkit-transition: all 0.15s linear;
  transition: all 0.15s linear;
  -moz-box-shadow: 0 5px 0 rgba(143, 167, 179, 0.75);
  -webkit-box-shadow: 0 5px 0 rgba(143, 167, 179, 0.75);
  box-shadow: 0 5px 0 rgba(143, 167, 179, 0.75);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  top: 0;
  width: 276px;
  height: 56px;
  margin: 24px auto 0;
  padding-left: 15px;
  background: #FFF;
  color: #000;
  font-size: 20px;
  font-weight: bold;
  border: 2px solid #000;
  cursor: pointer;
}
.step .subbox-info-movie:hover, .step .subbox-info-movie-sp a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  top: 5px;
}
.step .subbox-info-movie:before, .step .subbox-info-movie-sp a:before {
  display: flex;
  align-items: center;
  position: absolute;
  left: 35px;
  top: 0;
  bottom: 0;
  content: "\f054";
  color: #f42867;
  font-family: "Font Awesome 5 Free";
  font-size: 20px;
  font-weight: 900;
}
@media screen and (max-width: 768px) {
  .step .subbox-info-movie:before, .step .subbox-info-movie-sp a:before {
    left: 13%;
    font-size: 14px;
    font-size: 3.73333vw;
  }
}
.step .subbox-info-emphasis {
  margin: 20px 0 10px;
  color: #AB005C;
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .step .subbox-info-emphasis {
    margin: 4% 0 2%;
    font-size: 18px;
    font-size: 4.8vw;
  }
}
.step .subbox-info-emphasis:first-of-type {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .step .subbox-info-emphasis:first-of-type {
    margin-top: 4%;
  }
}
.step .subbox-upper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 70px;
}
@media screen and (max-width: 1180px) {
  .step .subbox-upper {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 768px) {
  .step .subbox-upper {
    display: block;
    margin-bottom: 10%;
  }
}
@media screen and (max-width: 1180px) {
  .step .subbox-upper-left {
    margin-bottom: 3%;
  }
}
.step .subbox-upper-right {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 663px;
  height: 404px;
  padding: 169px 0 15px 221px;
  background: url("../img/subbox_upper_right_bg.png") left top no-repeat;
}
@media screen and (max-width: 768px) {
  .step .subbox-upper-right {
    width: 100%;
    height: auto;
    padding: 25% 0 4% 34%;
    -moz-background-size: contain;
    -webkit-background-size: contain;
    background-size: contain;
  }
}
.step .subbox-upper-right-title {
  width: 100%;
  color: #002f7e;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .step .subbox-upper-right-title {
    font-size: 13px;
    font-size: 3.46667vw;
    line-height: 1.4;
  }
}
.step .subbox-upper-right-title small {
  display: block;
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .step .subbox-upper-right-title small {
    font-size: 11px;
    font-size: 2.93333vw;
  }
}
.step .subbox-upper-right-item {
  font-size: 16px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .step .subbox-upper-right-item {
    font-size: 11px;
    font-size: 2.93333vw;
    line-height: 1.27273;
  }
}
.step .subbox-lower {
  display: flex;
  justify-content: space-between;
  width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 1080px) {
  .step .subbox-lower {
    width: 90%;
  }
}
@media screen and (max-width: 768px) {
  .step .subbox-lower {
    display: block;
    width: 100%;
  }
}
.step .subbox-lower .subbox-info {
  position: relative;
  width: 442px;
  margin-bottom: 0;
  padding-top: 325px;
  text-align: center;
}
@media screen and (max-width: 1180px) {
  .step .subbox-lower .subbox-info {
    width: 48%;
    padding-top: 35%;
  }
}
@media screen and (max-width: 768px) {
  .step .subbox-lower .subbox-info {
    width: 100%;
    margin-bottom: 10%;
    padding-top: 60%;
  }
}
.step .subbox-lower .subbox-info-pic {
  position: absolute;
  top: 0;
}
@media screen and (max-width: 768px) {
  .step .subbox-lower .subbox-info-pic {
    left: 0;
    right: 0;
    width: 80%;
    margin: auto;
  }
}
@media screen and (max-width: 1180px) {
  .step .subbox-lower .subbox-info-pic img {
    width: 100%;
  }
}
.step .subbox-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .step .subbox-wrapper {
    display: block;
  }
}
@media screen and (max-width: 1280px) {
  .step .subbox-wrapper-pic {
    width: 60%;
  }
}
@media screen and (max-width: 768px) {
  .step .subbox-wrapper-pic {
    width: 100%;
  }
}
@media screen and (max-width: 1280px) {
  .step .subbox-wrapper-pic img {
    width: 100%;
  }
}
.step-footer {
  position: relative;
  padding: 70px 0 75px;
  background: #FFF;
}
@media screen and (max-width: 768px) {
  .step-footer {
    padding: 8% 0 10%;
  }
}

.system {
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .system {
    margin-bottom: 12%;
  }
}
.system-title {
  margin-bottom: 40px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .system-title {
    margin-bottom: 10%;
  }
}
@media screen and (max-width: 1160px) {
  .system-title img {
    max-width: 94%;
  }
}
.system-inner {
  width: 1160px;
  margin: 0 auto;
}
@media screen and (max-width: 1160px) {
  .system-inner {
    width: 94%;
  }
}
.system-features {
  display: flex;
  justify-content: space-between;
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .system-features {
    display: block;
    margin-bottom: 10%;
  }
}
.system-features-list {
  width: 560px;
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .system-features-list {
    width: 100%;
    margin: 0 0 5%;
  }
}
.system-features-item {
  margin-bottom: 60px;
  padding-left: 90px;
  background-position: left top;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .system-features-item {
    margin-bottom: 6%;
    padding-left: 13%;
    background-size: 10%;
  }
}
.system-features-item:nth-child(1) {
  background-image: url("../img/system_features_item1_bg.png");
}
.system-features-item:nth-child(2) {
  background-image: url("../img/system_features_item2_bg.png");
}
.system-features-item:nth-child(3) {
  background-image: url("../img/system_features_item3_bg.png");
}
.system-features-item:last-child {
  margin-bottom: 0;
}
.system-features-item-title {
  margin-bottom: 15px;
  color: #002F7E;
  font-size: 30px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .system-features-item-title {
    margin-bottom: 3%;
    font-size: 20px;
    font-size: 5.33333vw;
  }
}
.system-features-subitem {
  font-size: 16px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .system-features-subitem {
    font-size: 14px;
    font-size: 3.73333vw;
  }
}
.system-features-subitem:before {
  content: "●";
  color: #002F7E;
}
.system-features-subitem em {
  color: #F39;
  font-weight: bold;
}
.system-features-pic {
  width: 597px;
}
@media screen and (max-width: 768px) {
  .system-features-pic {
    width: 90%;
    margin: 0 auto;
  }
}
.system-features-pic img {
  width: 100%;
  height: auto;
}
.system-price {
  margin-bottom: 45px;
}
@media screen and (max-width: 768px) {
  .system-price {
    margin-bottom: 10%;
  }
}
.system-price-title {
  margin-bottom: 8px;
  color: #002F7E;
  font-size: 46px;
  font-weight: bold;
  line-height: 1.34783;
  text-align: center;
}
@media screen and (max-width: 1160px) {
  .system-price-title {
    font-size: 38px;
  }
}
@media screen and (max-width: 768px) {
  .system-price-title {
    margin-bottom: 3%;
    font-size: 20px;
    font-size: 5.33333vw;
    text-align: left;
  }
}
.system-price-title em {
  color: #39F;
  font-weight: bold;
}
.system-price-title small {
  font-size: 40px;
}
@media screen and (max-width: 1160px) {
  .system-price-title small {
    font-size: 32px;
  }
}
@media screen and (max-width: 768px) {
  .system-price-title small {
    font-size: 16px;
    font-size: 4.26667vw;
  }
}
.system-price-title .asterisk {
  position: relative;
  top: -20px;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .system-price-title .asterisk {
    top: -5px;
    font-size: 11px;
    font-size: 2.93333vw;
  }
}
.system-price-lead {
  margin-bottom: 15px;
  color: #000;
  font-size: 20px;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 1160px) {
  .system-price-lead {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .system-price-lead {
    margin-bottom: 10%;
    font-size: 13px;
    font-size: 3.46667vw;
    text-align: left;
  }
}
.system-price-lead em {
  color: #39F;
  font-size: 24px;
  font-weight: bold;
}
@media screen and (max-width: 1160px) {
  .system-price-lead em {
    font-size: 20px;
  }
}
@media screen and (max-width: 768px) {
  .system-price-lead em {
    font-size: 15px;
    font-size: 4vw;
  }
}
.system-price-lead .asterisk {
  position: relative;
  top: -10px;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .system-price-lead .asterisk {
    top: -5px;
    font-size: 11px;
    font-size: 2.93333vw;
  }
}
.system-price-notice {
  display: block;
  margin: 30px 45px 0 0;
  color: #898989;
  font-size: 14px;
  text-align: right;
}
@media screen and (max-width: 1160px) {
  .system-price-notice {
    margin: 20px 4% 0 0;
  }
}
@media screen and (max-width: 768px) {
  .system-price-notice {
    margin: 3% 3% 0 0;
    font-size: 13px;
    font-size: 3.46667vw;
    text-align: left;
  }
}
.system-price-box {
  height: 460px;
  padding: 30px 0 0 42px;
  background: url(../img/price_subbox_plan1_bg.jpg) left center no-repeat;
}
@media screen and (max-width: 1160px) {
  .system-price-box {
    height: auto;
    padding: 4%;
  }
}
@media screen and (max-width: 768px) {
  .system-price-box {
    padding: 40% 3% 5%;
    background: url(../img/price_subbox_plan1_bg_sp.jpg) left top no-repeat #FDF2F7;
    -moz-background-size: contain;
    -webkit-background-size: contain;
    background-size: contain;
  }
}
.system-price-box-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  color: #000;
  font-size: 30px;
  font-weight: bold;
}
@media screen and (max-width: 1160px) {
  .system-price-box-title {
    margin-bottom: 20px;
    font-size: 24px;
  }
}
@media screen and (max-width: 768px) {
  .system-price-box-title {
    display: block;
    margin-bottom: 5%;
    font-size: 20px;
    font-size: 5.33333vw;
    text-align: center;
  }
}
.system-price-box-title .pic {
  margin-right: 41px;
}
@media screen and (max-width: 1160px) {
  .system-price-box-title .pic {
    margin-right: 0;
    text-align: right;
  }
}
@media screen and (max-width: 768px) {
  .system-price-box-title .pic {
    display: none;
  }
}
@media screen and (max-width: 1160px) {
  .system-price-box-title .pic img {
    width: 70%;
    height: auto;
  }
}
.system-price-box-pic img {
  max-width: 100%;
}
.system-price-box-notice {
  margin: 10px 40px 0 0;
  font-size: 14px;
  text-align: right;
}
@media screen and (max-width: 1160px) {
  .system-price-box-notice {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .system-price-box-notice {
    margin: 3% 0 0;
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1.42857;
    text-align: left;
  }
}

.faq {
  padding-bottom: 40px;
  background: #FFFDE0;
}
@media screen and (max-width: 768px) {
  .faq {
    padding-bottom: 10%;
  }
}
.faq-inner {
  position: relative;
  width: 1200px;
  margin: 0 auto;
  padding: 40px 40px 40px 55px;
  background: #FFF;
}
@media screen and (max-width: 1200px) {
  .faq-inner {
    width: 90%;
  }
}
@media screen and (max-width: 768px) {
  .faq-inner {
    padding: 3%;
  }
}
.faq-inner:before {
  content: "";
  position: absolute;
  z-index: 100;
  left: 56px;
  top: -152px;
  width: 163px;
  height: 144px;
  background: url("../img/faq_inner_icon.png") left top no-repeat;
}
@media screen and (max-width: 1080px) {
  .faq-inner:before {
    left: -30px;
    top: -60px;
    width: 81.5px;
    height: 72px;
    -moz-background-size: contain;
    -webkit-background-size: contain;
    background-size: contain;
  }
}
@media screen and (max-width: 768px) {
  .faq-inner:before {
    content: none;
  }
}
.faq-title {
  margin-bottom: 40px;
  background: #E6004F;
  color: #FFF;
  font-size: 46px;
  font-weight: bold;
  line-height: 93px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .faq-title {
    margin-bottom: 5%;
    padding: 3% 0;
    font-size: 23px;
    font-size: 6.13333vw;
    line-height: 1;
  }
}
.faq-item {
  margin-bottom: 30px;
}
.faq-item:last-child {
  margin-bottom: 0;
}
.faq-item .term {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -moz-border-radius: 40px;
  -webkit-border-radius: 40px;
  border-radius: 40px;
  position: relative;
  width: 870px;
  margin-bottom: 20px;
  padding-left: 80px;
  background: #E6004F;
  color: #FFF;
  font-size: 30px;
  font-weight: bold;
  line-height: 74px;
}
@media screen and (max-width: 1080px) {
  .faq-item .term {
    width: 100%;
    font-size: 24px;
  }
}
@media screen and (max-width: 768px) {
  .faq-item .term {
    padding: 2% 0 2% 6%;
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1;
  }
}
.faq-item .term:before {
  content: "";
  position: absolute;
  left: -20px;
  top: -2px;
  width: 79px;
  height: 79px;
  background: url("../img/faq_item_term_icon.png") left top no-repeat;
}
@media screen and (max-width: 768px) {
  .faq-item .term:before {
    width: 8%;
    height: 100%;
    left: -3%;
    top: 0;
    -moz-background-size: contain;
    -webkit-background-size: contain;
    background-size: contain;
  }
}
.faq-item .description {
  padding-left: 60px;
  font-size: 20px;
  line-height: 1.8;
}
@media screen and (max-width: 1080px) {
  .faq-item .description {
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .faq-item .description {
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1.71429;
  }
}

@media screen and (max-width: 768px) {
  .president {
    background: url("../img/president_inner_bg_sp.jpg") center top no-repeat;
    -moz-background-size: contain;
    -webkit-background-size: contain;
    background-size: contain;
  }
}
.president-inner {
  *zoom: 1;
  width: 1200px;
  margin: 0 auto;
  padding: 50px 0;
  background: url("../img/president_inner_bg.jpg") right bottom 40px no-repeat;
}
.president-inner:after {
  content: "";
  display: table;
  clear: both;
}
@media screen and (max-width: 1200px) {
  .president-inner {
    width: 90%;
    background: url("../img/president_inner_bg.jpg") right top 150px no-repeat;
  }
}
@media screen and (max-width: 768px) {
  .president-inner {
    padding: 40% 0 5%;
    background: none;
  }
}
.president-title {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
  font-size: 28px;
  font-weight: bold;
}
@media screen and (max-width: 1140px) {
  .president-title {
    font-size: 24px;
  }
}
@media screen and (max-width: 768px) {
  .president-title {
    flex-wrap: wrap;
    margin-bottom: 5%;
    font-size: 14px;
    font-size: 3.73333vw;
  }
}
.president-title img {
  margin-right: 15px;
}
@media screen and (max-width: 1140px) {
  .president-title img {
    width: 15%;
    margin-right: 1%;
  }
}
@media screen and (max-width: 768px) {
  .president-title img {
    width: 25%;
    margin-right: 2%;
  }
}
.president-title em {
  font-size: 36px;
  font-weight: bold;
}
@media screen and (max-width: 1140px) {
  .president-title em {
    font-size: 30px;
  }
}
@media screen and (max-width: 900px) {
  .president-title em {
    font-size: 24px;
  }
}
@media screen and (max-width: 768px) {
  .president-title em {
    width: 100%;
    margin-top: 4%;
    font-size: 17px;
    font-size: 4.53333vw;
  }
}
.president-text {
  width: 900px;
  font-size: 20px;
  line-height: 2;
  text-indent: 1em;
  text-align: justify;
}
@media screen and (max-width: 1200px) {
  .president-text {
    width: 70%;
  }
}
@media screen and (max-width: 1080px) {
  .president-text {
    width: 65%;
  }
}
@media screen and (max-width: 768px) {
  .president-text {
    width: 100%;
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1.71429;
  }
}
.president-sign {
  width: 870px;
  margin-top: 30px;
  text-align: right;
}
@media screen and (max-width: 1200px) {
  .president-sign {
    width: 70%;
  }
}
@media screen and (max-width: 1080px) {
  .president-sign {
    width: 65%;
  }
}
@media screen and (max-width: 768px) {
  .president-sign {
    float: right;
    width: 35%;
    margin-top: 3%;
  }
}

.news {
  padding: 70px 0 0;
  background: url("../img/news_bg.jpg") center center no-repeat;
  -moz-background-size: cover;
  -webkit-background-size: cover;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .news {
    padding: 10% 0 0;
  }
}
.news-inner {
  width: 1280px;
  margin: 0 auto 70px;
  padding: 73px 60px 67px;
  background: url("../img/news_inner_bg.jpg") left top no-repeat #FFF;
}
@media screen and (max-width: 1280px) {
  .news-inner {
    width: 90%;
  }
}
@media screen and (max-width: 768px) {
  .news-inner {
    width: 86.66667%;
    height: auto;
    margin: 0 auto 10%;
    padding: 10% 5%;
    background: url("../img/news_inner_bg1_sp.jpg") left top no-repeat, url("../img/news_inner_bg2_sp.jpg") right bottom no-repeat;
    background-color: #FFF;
    -moz-background-size: 70%;
    -webkit-background-size: 70%;
    background-size: 70%;
  }
}
.news-title {
  margin-bottom: 100px;
  color: #002f7e;
  font-size: 46px;
  font-weight: bold;
}
@media screen and (max-width: 1280px) {
  .news-title {
    margin-bottom: 5%;
  }
}
@media screen and (max-width: 768px) {
  .news-title {
    margin-bottom: 10%;
    font-size: 23px;
    font-size: 6.13333vw;
    line-height: 1.2;
    text-align: center;
  }
}
.news-wrapper {
  display: flex;
  justify-content: space-between;
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .news-wrapper {
    display: block;
    margin-bottom: 8%;
  }
}
@media screen and (max-width: 768px) {
  .news-wrapper-left {
    margin-bottom: 8%;
  }
}
.news-wrapper-info {
  margin-bottom: 45px;
}
@media screen and (max-width: 768px) {
  .news-wrapper-info {
    margin-bottom: 8%;
  }
}
.news-wrapper-info:last-child {
  margin-bottom: 0;
}
.news-wrapper-info-term {
  margin-bottom: 15px;
  color: #002f7e;
  font-size: 26px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .news-wrapper-info-term {
    margin-bottom: 1%;
    font-size: 20px;
    font-size: 5.33333vw;
    line-height: 1.2;
  }
}
.news-wrapper-info-description {
  position: relative;
  padding-left: 1em;
  font-size: 16px;
  line-height: 1.625;
}
@media screen and (max-width: 768px) {
  .news-wrapper-info-description {
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1.42857;
  }
}
@media screen and (max-width: 768px) {
  .news-wrapper-info-description br {
    display: none;
  }
}
.news-wrapper-info-description:before {
  content: "●";
  position: absolute;
  left: 0;
  color: #002f7e;
}
.news-wrapper-info-description.-last {
  padding-left: 0;
}
.news-wrapper-info-description.-last:before {
  content: none;
}
.news-wrapper-info-item {
  display: inline-block;
  position: relative;
  margin-right: 10px;
  padding-left: 1em;
  line-height: 1.625;
}
@media screen and (max-width: 768px) {
  .news-wrapper-info-item {
    margin-right: 3%;
  }
}
.news-wrapper-info-item:before {
  content: "●";
  position: absolute;
  left: 0;
  color: #002f7e;
}
.news-wrapper-pic {
  margin-top: -125px;
}
@media screen and (max-width: 1280px) {
  .news-wrapper-pic {
    width: 50%;
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .news-wrapper-pic {
    width: 100%;
  }
}
@media screen and (max-width: 1280px) {
  .news-wrapper-pic img {
    width: 100%;
  }
}
.news-movie {
  padding: 60px 0;
  background: #5979AE;
  text-align: center;
}
@media screen and (max-width: 1080px) {
  .news-movie {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .news-movie {
    padding-top: 5%;
  }
}
.news-movie-title {
  margin-bottom: 40px;
  color: #FFF;
  font-size: 26px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .news-movie-title {
    margin-bottom: 5%;
    font-size: 20px;
    font-size: 5.33333vw;
    line-height: 1.2;
  }
}
.news-movie-title em {
  color: #FFFB90;
  font-weight: bold;
}
.news-movie-box-title {
  margin-bottom: 20px;
  color: #FFF;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .news-movie-box-title {
    margin-bottom: 3%;
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1.2;
  }
}
@media screen and (max-width: 1080px) {
  .news-movie-box-description {
    position: relative;
    z-index: 1000;
    width: 100%;
    height: 0px;
    padding: 0 0 56.25% !important;
  }
}
@media screen and (max-width: 1080px) {
  .news-movie-box-description iframe {
    position: absolute;
    top: -1px;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 100%;
  }
}
.news-footer {
  padding: 70px 0 75px;
  background: #FFF;
}
@media screen and (max-width: 768px) {
  .news-footer {
    padding: 8% 0 10%;
  }
}
.news-footer-title {
  margin-bottom: 40px;
  font-size: 50px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 1280px) {
  .news-footer-title {
    margin: 0 5%;
  }
}
@media screen and (max-width: 768px) {
  .news-footer-title {
    margin: 0 0 5%;
    font-size: 22px;
    font-size: 5.86667vw;
    line-height: 1.36364;
  }
}
@media screen and (min-width: 769px) and (max-width: 1280px) {
  .news-footer-title br {
    display: none;
  }
}

.price {
  padding: 70px 0;
  background: #FDF2F7;
}
@media screen and (max-width: 768px) {
  .price {
    padding: 10% 0;
  }
}
.price-inner {
  width: 1160px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .price-inner {
    width: 94%;
  }
}
@media screen and (max-width: 768px) {
  .price-inner {
    width: 100%;
  }
}
.price-title {
  margin-bottom: 40px;
  font-size: 50px;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .price-title {
    margin-bottom: 5%;
    font-size: 26px;
    font-size: 6.93333vw;
  }
}
.price-subbox {
  padding: 44px 0 0 42px;
}
@media screen and (max-width: 1280px) {
  .price-subbox {
    padding: 4%;
  }
}
@media screen and (max-width: 768px) {
  .price-subbox {
    padding: 40% 5% 0;
  }
}
.price-subbox.-plan1 {
  height: 510px;
  margin-bottom: 25px;
  padding-top: 30px;
  background: url("../img/price_subbox_plan1_bg.jpg") left top no-repeat;
}
@media screen and (max-width: 1280px) {
  .price-subbox.-plan1 {
    height: auto;
  }
}
@media screen and (max-width: 768px) {
  .price-subbox.-plan1 {
    margin-bottom: 10%;
    padding: 40% 5% 0;
    background: url("../img/price_subbox_plan1_bg_sp.jpg") left top no-repeat;
    -moz-background-size: contain;
    -webkit-background-size: contain;
    background-size: contain;
  }
}
.price-subbox.-plan2 {
  height: 380px;
  background: url("../img/price_subbox_plan2_bg.jpg") left top no-repeat;
}
@media screen and (max-width: 1280px) {
  .price-subbox.-plan2 {
    height: auto;
  }
}
@media screen and (max-width: 768px) {
  .price-subbox.-plan2 {
    height: auto;
    background: url("../img/price_subbox_plan2_bg_sp.jpg") left top no-repeat;
    -moz-background-size: contain;
    -webkit-background-size: contain;
    background-size: contain;
  }
}
.price-subbox-title {
  margin-bottom: 20px;
  font-size: 30px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .price-subbox-title {
    margin-bottom: 5%;
    font-size: 23px;
    font-size: 6.13333vw;
    text-align: center;
  }
}
.price-subbox-lead {
  margin-bottom: 30px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.33333;
}
@media screen and (max-width: 768px) {
  .price-subbox-lead {
    margin-bottom: 5%;
    font-size: 16px;
    font-size: 4.26667vw;
    line-height: 1.625;
  }
}
@media screen and (max-width: 1280px) {
  .price-subbox-pic img {
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .price-subbox-pic img {
    width: 100%;
  }
}
.price-subbox-notice {
  margin: 10px 40px 0 0;
  font-size: 14px;
  text-align: right;
}
@media screen and (max-width: 1280px) {
  .price-subbox-notice {
    margin: 10px 0 0;
  }
}
@media screen and (max-width: 768px) {
  .price-subbox-notice {
    margin: 3% 0 0;
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1.42857;
    text-align: left;
  }
}

.contact {
  background: #104c82;
}
.contact-inner {
  padding: 90px 0;
}
@media screen and (max-width: 1280px) {
  .contact-inner {
    padding: 50px;
  }
}
@media screen and (max-width: 768px) {
  .contact-inner {
    padding: 8% 0 10%;
  }
}
.contact-lead {
  margin-bottom: 40px;
  color: #FFF;
  font-size: 20px;
  line-height: 1.7;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .contact-lead {
    margin: 0 5% 5%;
    font-size: 16px;
    font-size: 4.26667vw;
    line-height: 1.71875;
    text-align: left;
  }
}
@media screen and (max-width: 1280px) {
  .contact-lead br {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .contact-lead br {
    display: block;
  }
}

.follower {
  position: fixed;
  bottom: 0;
  width: 100%;
  background: #DBDD98;
  z-index: 1000;
}
@media screen and (max-width: 768px) {
  .follower {
    display: none !important;
  }
}
.follower-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 1060px;
  margin: 0 auto;
  padding: 20px 0;
}
@media screen and (max-width: 1060px) {
  .follower-inner {
    width: 96%;
  }
}
.follower-text {
  margin-bottom: 15px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.28571;
}
@media screen and (max-width: 1060px) {
  .follower-text br {
    display: none;
  }
}
@media screen and (max-width: 1060px) {
  .follower-left {
    width: 67%;
  }
}
.follower-left-lower {
  display: flex;
  align-items: center;
}
.follower-hour {
  margin-right: 35px;
}
.follower-hour > * {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.28571;
}
.follower-tel a {
  padding-left: 39px;
  color: #000;
  background: url("../img/header_tel_bg.png") left center no-repeat;
  -moz-background-size: 31px;
  -webkit-background-size: 31px;
  background-size: 31px;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
  font-size: 26px;
  font-weight: bold;
}
.follower-tel a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
}

.special {
  background: url("../img/special_inner_bg.jpg") center top no-repeat #c3e8ff;
}
@media screen and (max-width: 768px) {
  .special {
    background: #c3e8ff;
  }
}
.special__inner {
  width: 1210px;
  margin: auto;
  padding: 100px 0 150px;
}
@media screen and (max-width: 1210px) {
  .special__inner {
    width: 94%;
    padding: 50px 0 600px;
  }
}
@media screen and (max-width: 768px) {
  .special__inner {
    padding-bottom: 50px;
  }
}
.special__title {
  margin-bottom: 65px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .special__title {
    margin: 0 -3.1% 30px;
  }
}
.special__title img {
  margin: auto;
}
.special__lead {
  margin-bottom: 50px;
  color: #033583;
  font-size: 30px;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .special__lead {
    margin-bottom: 25px;
    font-size: 18px;
    font-size: 4.8vw;
    line-height: 1.2;
  }
}
.special__lead .big {
  color: #002F7E;
  font-size: 40px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .special__lead .big {
    display: block;
    margin-top: 7px;
    font-size: 24px;
    font-size: 6.4vw;
  }
}
.special__lead em {
  color: #39F;
  font-weight: bold;
}
.special__list {
  display: flex;
  justify-content: space-between;
  margin-bottom: 150px;
}
@media screen and (max-width: 768px) {
  .special__list {
    flex-wrap: wrap;
    width: 92%;
    margin: -20px auto 40px;
  }
}
@media screen and (max-width: 768px) {
  .special__item {
    width: 31%;
    margin-top: 20px;
  }
}
.special__box {
  position: relative;
}
.special__box > * {
  position: relative;
  z-index: 1;
}
.special__box:before {
  content: "";
  position: absolute;
  z-index: 0;
  right: 0;
  background-repeat: no-repeat;
  background-position: left top;
}
@media screen and (max-width: 768px) {
  .special__box:before {
    left: 0;
    right: 0;
    top: unset;
    bottom: 0;
    margin: auto;
  }
}
.special__box:after {
  content: "";
  position: absolute;
  z-index: 0;
}
.special__box:first-of-type {
  margin-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .special__box:first-of-type {
    margin-bottom: 50px;
    padding-bottom: 300px;
  }
}
@media screen and (max-width: 370px) {
  .special__box:first-of-type {
    margin-bottom: 30px;
    padding-bottom: 220px;
  }
}
.special__box:first-of-type:before {
  top: -10px;
  width: 647px;
  height: 493px;
  background-image: url("../img/special_box_bg1.png");
}
@media screen and (max-width: 768px) {
  .special__box:first-of-type:before {
    top: unset;
    width: 353px;
    height: 288px;
    background-image: url("../img/special_box_bg1_sp.jpg");
    -moz-background-size: cover;
    -webkit-background-size: cover;
    background-size: cover;
  }
}
@media screen and (max-width: 370px) {
  .special__box:first-of-type:before {
    width: 282.4px;
    height: 230.4px;
  }
}
@media screen and (max-width: 768px) {
  .special__box:nth-of-type(2) {
    padding-bottom: 530px;
  }
}
@media screen and (max-width: 370px) {
  .special__box:nth-of-type(2) {
    padding-bottom: 420px;
  }
}
.special__box:nth-of-type(2):before {
  top: 30px;
  width: 763px;
  height: 1010px;
  background-image: url("../img/special_box_bg2.png");
}
@media screen and (max-width: 768px) {
  .special__box:nth-of-type(2):before {
    left: unset;
    bottom: unset;
    top: 40%;
    right: -5px;
    width: 174.5px;
    height: 162.5px;
    background-image: url("../img/special_box_bg2_sp.jpg");
    -moz-background-size: cover;
    -webkit-background-size: cover;
    background-size: cover;
  }
}
@media screen and (max-width: 370px) {
  .special__box:nth-of-type(2):before {
    top: 42%;
    width: 139.6px;
    height: 130px;
  }
}
@media screen and (max-width: 768px) {
  .special__box:nth-of-type(2):after {
    left: 0;
    right: 0;
    bottom: 0;
    width: 336.5px;
    height: 495px;
    margin: auto;
    background-image: url("../img/special_box_bg3_sp.jpg");
    -moz-background-size: cover;
    -webkit-background-size: cover;
    background-size: cover;
  }
}
@media screen and (max-width: 768px) and (max-width: 370px) {
  .special__box:nth-of-type(2):after {
    width: 269.2px;
    height: 396px;
  }
}

.special__box__title {
  margin-bottom: 35px;
  color: #002F7E;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.69231;
}
@media screen and (max-width: 768px) {
  .special__box__title {
    margin-bottom: 15px;
    font-size: 20px;
    font-size: 5.33333vw;
    line-height: 1.46667;
  }
}
.special__box__lead {
  width: 538px;
  font-size: 18px;
  line-height: 1.66667;
}
@media screen and (max-width: 768px) {
  .special__box__lead {
    width: auto;
    font-size: 14px;
    font-size: 3.73333vw;
  }
}
.special__box__lead em {
  color: #F39;
}
.special__box__list {
  margin-bottom: 130px;
}
@media screen and (max-width: 768px) {
  .special__box__list {
    margin-bottom: 50px;
  }
}
.special__box__item {
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .special__box__item {
    margin-bottom: 15px;
  }
}
.special__box__item:last-child {
  margin-bottom: 0;
}
.special__box__item__term {
  margin-bottom: 5px;
  color: #AB005C;
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .special__box__item__term {
    font-size: 14px;
    font-size: 3.73333vw;
  }
}
.special__box__item__description {
  font-size: 18px;
  line-height: 1.61111;
}
@media screen and (max-width: 768px) {
  .special__box__item__description {
    font-size: 14px;
    font-size: 3.73333vw;
  }
}
.special__subbox__title {
  margin-bottom: 30px;
  color: #002F7E;
  font-size: 26px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .special__subbox__title {
    margin-bottom: 15px;
    font-size: 20px;
    font-size: 5.33333vw;
  }
}
.special__subbox__text {
  width: 590px;
  font-size: 18px;
  line-height: 1.66667;
}
@media screen and (max-width: 768px) {
  .special__subbox__text {
    width: 94%;
    font-size: 14px;
    font-size: 3.73333vw;
  }
}
.special__subbox__text .big {
  font-size: 20px;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .special__subbox__text .big {
    font-size: 14px;
    font-size: 3.73333vw;
  }
}
.special__subbox__text em {
  color: #F39;
  font-weight: bold;
}

.news__movie__box__description {
  position: relative;
  padding-bottom: 56.25%;
}

.news__movie__box__description video,
.news__movie__box__description iframe,
.news__movie__box__description object,
.news__movie__box__description embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.expertise {
  padding: 90px 0 120px;
}
.expertise__title {
  margin-bottom: 40px;
  font-size: 40px;
  font-weight: bold;
  text-align: center;
}
.expertise__lead {
  margin-bottom: 50px;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}
.expertise__lead em {
  color: #F4005C;
  font-weight: bold;
}
.expertise__pic {
  text-align: center;
}

.recommend {
  padding-top: 70px;
}
.recommend__title {
  font-size: 50px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
.recommend__title em {
  color: #F4005C;
  font-weight: bold;
}
.recommend__inner {
  width: 1280px;
  margin: auto;
  padding: 60px 0 0 60px;
  /*background: url("../img/recommend_inner_bg.gif") right 37px top 170px no-repeat;*/
}
.recommend__box:first-child {
  margin-bottom: 74px;
}
.recommend__box__title {
  margin-bottom: 30px;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.73333;
}
.recommend__box__title em {
  display: inline-block;
  position: relative;
  z-index: 1;
  font-weight: bold;
}
.recommend__box__title em:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  bottom: 7px;
  width: 100%;
  height: 13px;
  background: #fffea0;
}
.recommend__text {
  width: 650px;
  font-size: 18px;
  line-height: 1.66667;
}
.recommend__text.-wauto {
  width: auto;
}
.recommend__text em {
  color: #F39;
  font-weight: bold;
}
.recommend__pic {
  margin-top: 55px;
  text-align: center;
}
