@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;700&display=swap");
/* -----------------------------------------------
* Plugins エントリーポイント
-------------------------------------------------- */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
/* RESET */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

/*------------------------------------------------------------------------------
  reset PC
------------------------------------------------------------------------------*/
html {
  color: #000;
  background: #fff;
  word-break: break-all;
}

body {
  background: #fff;
}

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

img {
  max-width: 100%;
}

p {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

a {
  color: #000;
  text-decoration: none;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

input,
select,
textarea,
button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
}

select::-ms-expand {
  display: none;
}

textarea {
  resize: vertical;
}

::-webkit-input-placeholder {
  color: #ccc;
}

:-ms-input-placeholder {
  color: #ccc;
}

::-ms-input-placeholder {
  color: #ccc;
}

::-moz-placeholder {
  color: #ccc;
}

::placeholder {
  color: #ccc;
}

button {
  cursor: pointer;
}

table {
  border-collapse: collapse;
}

main {
  display: block;
}

#wrapper {
  position: relative;
}
.c-svg {
  display: inline-block;
  fill: currentColor;
  vertical-align: top;
}

/*------------------------------------------------------------------------------
  reset SP
------------------------------------------------------------------------------*/
html {
  -webkit-appearance: none;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  font-size: 10px;
}

body {
  font-size: 1.6rem;
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #2d2d2d;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html.is-fixed,
html.is-fixed body {
  overflow: hidden;
}

#container {
  overflow: hidden;
}

.main {
  overflow: hidden;
  position: relative;
}

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

.header {
  width: 100%;
  height: 15rem;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #fff;
}
.header__logo {
  width: 17.5rem;
  height: 100%;
}
.header__logo a {
  display: block;
  width: 17.5rem;
  height: 100%;
  background: #000;
}
.header__logo img {
  width: 100%;
}
.header__center {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  border-left: 1px solid #eee;
  border-right: 1px solid #eee;
}
.header .header-center__top-back {
  width: 17.5rem;
  height: 8rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
}
.header .header-center .header-center-top-back__text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  font-weight: 700;
  color: #fff;
}
.header .header-center .header-center-top-back__text .large-span {
  font-size: 3rem;
}
.header .header-center .header-center-top-back__icon {
  width: 5rem;
  height: 5rem;
  background: #fff;
}
.header .header-center__link-button {
  width: 17.5rem;
  height: 100%;
  position: relative;
}
.header .header-center__link-button a {
  display: block;
  width: 17.5rem;
  height: 17.5rem;
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 50%;
  background: orange;
  color: #fff;
  text-align: center;
  padding-top: 7.5rem;
}
.header .header-center__link-button a span {
  display: block;
}
.header__right {
  width: 17.5rem;
  position: relative;
}
.header__right a {
  display: block;
  width: 17.5rem;
  height: 17.5rem;
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 50%;
  border: 1px solid orange;
  color: orange;
  text-align: center;
  padding-top: 7.5rem;
}
.header__right a span {
  display: block;
}

/* --------------------------------
footer
----------------------------------- */
.footer {
  padding: 7rem 30px 3rem;
  background: #dbd9d2;
}
.footer__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.footer__contents {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-bottom: 12.8rem;
}
.footer .footer-contents__logo {
  width: 28rem;
  margin-right: 3.5rem;
}
.footer .footer-contents__logo a {
  display: block;
}
.footer .footer-contents__logo a img {
  width: 100%;
}
.footer .footer-contents__vertical-letter {
  width: 10.5rem;
  margin-right: calc(100% - 108rem);
}
.footer .footer-contents__vertical-letter img {
  width: 100%;
}
.footer .footer-contents__main {
  width: 66rem;
}
.footer .footer-contents .footer-contents-main__contact {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 3rem;
}
.footer .footer-contents .footer-contents-main .footer-contact__tel--number img {
  width: 2.28rem;
  margin-right: 1rem;
}
.footer .footer-contents .footer-contents-main .footer-contact__tel--number span {
  font-size: 4.4rem;
  line-height: 1.2;
}
.footer .footer-contents .footer-contents-main .footer-contact__tel--time {
  font-size: 1.4rem;
  line-height: 1.6;
  text-align: center;
}
.footer .footer-contents .footer-contents-main .footer-contact__button a {
  width: 27.9rem;
  height: 7rem;
  border-radius: 3.5rem;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.footer .footer-contents .footer-contents-main .footer-contact__button a span {
  font-size: 1.8rem;
}
.footer .footer-contents .footer-contents-main .footer-contact__button a span:nth-of-type(2) {
  position: absolute;
  top: 50%;
  right: 2rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.footer .footer-contents .footer-contents-main .footer-contact__button a span:nth-of-type(2) i {
  font-size: 1.6rem;
}
.footer .footer-contents .footer-contents-main__nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.footer .footer-contents .footer-contents-main .footer-nav__list ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
}
.footer .footer-contents .footer-contents-main .footer-nav__list ul li {
  position: relative;
}
.footer .footer-contents .footer-contents-main .footer-nav__list ul li a {
  display: block;
  font-size: 1.4rem;
  padding: 1rem 1.3rem;
}
.footer .footer-contents .footer-contents-main .footer-nav__list ul li:not(:last-of-type)::before {
  content: "/";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -1.5rem;
}
.footer .footer-contents .footer-contents-main .footer-nav .footer-nav-link {
  width: 28.9rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.footer .footer-contents .footer-contents-main .footer-nav .footer-nav-link__online-shop {
  margin-right: 1rem;
  position: relative;
}
.footer .footer-contents .footer-contents-main .footer-nav .footer-nav-link__online-shop::before {
  content: "|";
  position: absolute;
  top: 55%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -0.5rem;
  font-size: 1rem;
}
.footer .footer-contents .footer-contents-main .footer-nav .footer-nav-link__online-shop a {
  display: block;
  font-size: 1.4rem;
  padding: 1rem 1.3rem 0;
}
.footer .footer-contents .footer-contents-main .footer-nav .footer-nav-link__online-shop a svg {
  width: 2rem;
  margin-left: 1rem;
}
.footer .footer-contents .footer-contents-main .footer-nav .footer-nav-link__sns ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.footer .footer-contents .footer-contents-main .footer-nav .footer-nav-link__sns ul li {
  padding: 1rem 1rem 0;
}
.footer .footer-contents .footer-contents-main .footer-nav .footer-nav-link__sns ul li a {
  display: block;
  width: 2.1rem;
}
.footer .footer-contents .footer-contents-main .footer-nav .footer-nav-link__sns ul li a img {
  width: 100%;
}
.footer__copy-light {
  font-size: 1.2rem;
}

/* --------------------------------
top-fv
----------------------------------- */
.fv {
  width: 100vw;
  height: 42.6vw;
}
.fv img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-breadcrumb {
  background-color: #8e9091;
}

.common-button01 {
  width: 69.2rem;
  height: 7.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-image: linear-gradient(-80deg, #5400ba, #00d4f5 33%, #0091cf 41%, #2649a3 100%);
  background-image: linear-gradient(-80deg, #07C2EF, #00D2F3 25%, #0096D1 50%, #2649a3 100%);
  background-size: 200% auto;
  background-position: 99% 50%;
  border-radius: 1rem;
  font-size: 3.3rem;
  letter-spacing: 0.33em;
  color: #fff;
  margin: 0 auto;
}
.common-button01:hover {
  color: #fff;
  text-decoration: none;
  background-position: 1% 50%;
}

#page_top {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 25px;
  bottom: 50px;
  background: #aaa;
  opacity: 0.6;
  border-radius: 50%;
}

#page_top a {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
  text-align: center;
}

#page_top a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f106";
  font-weight: 900;
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 10px;
  bottom: 10px;
  right: 0;
  left: 0;
  margin: auto;
}

/* -----------------------------------------------
* Modules エントリーポイント
-------------------------------------------------- */
.common-title {
  text-align: center;
}
.common-title p {
  font-size: 2.9rem;
  color: #a7a7a7;
  margin-bottom: 2rem;
  display: inline-block;
  position: relative;
}
.common-title p::before, .common-title p::after {
  content: "";
  display: block;
  width: 0.2rem;
  height: 2.5rem;
  background: #a7a7a7;
  position: absolute;
  top: 50%;
  left: -2rem;
  -webkit-transform: translateY(-50%) rotate(-30deg);
          transform: translateY(-50%) rotate(-30deg);
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}
.common-title p::after {
  left: initial;
  right: -2rem;
  -webkit-transform: translateY(-50%) rotate(30deg);
          transform: translateY(-50%) rotate(30deg);
}
.common-title h2 {
  font-size: 4.4rem;
  font-weight: 700;
  margin-bottom: 2rem;
}
.common-title .sub-title {
  font-size: 3.4rem;
  color: #0071b0;
}

.join-button {
  padding: 6.44rem 30px 0;
}

.sec01 {
  padding: 6.5rem 30px 10.9rem;
}
.sec01__title {
  margin-bottom: 12.3rem;
}
.sec01__contents {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 99rem;
  height: 40.6rem;
  border: 0.3rem solid #0071b0;
  border-radius: 2rem;
  margin: 0 auto;
}
.sec01 .sec01-item {
  width: 33rem;
  height: 100%;
  padding-top: 9rem;
  position: relative;
}
.sec01 .sec01-item:not(:last-of-type)::before {
  content: "";
  width: 0.3rem;
  height: 28.4rem;
  background: #0071b0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
}
.sec01 .sec01-item__point {
  width: 11.9rem;
  height: 11.9rem;
  border-radius: 50%;
  background: #0071b0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  position: absolute;
  top: -5.98rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.sec01 .sec01-item__point p {
  font-size: 2.6rem;
  color: #fff;
  line-height: 1.5;
}
.sec01 .sec01-item__point p:nth-of-type(2) {
  font-size: 4.6rem;
  line-height: 1;
}
.sec01 .sec01-item__text {
  text-align: center;
  margin-bottom: 4.5rem;
  position: relative;
}
.sec01 .sec01-item__text p {
  font-size: 2.5rem;
  line-height: 1.68;
}
.sec01 .sec01-item__text .sec01-item__point {
  margin: 0 auto 1rem;
}
.sec01 .sec01-item__text .sec01-item__point p {
  font-size: 1.33328rem;
  line-height: 1;
}
.sec01 .sec01-item__text .sec01-item__point p:nth-of-type(2) {
  font-size: 2.458235rem;
}
.sec01 .sec01-item__image {
  height: 14rem;
  width: auto;
}
.sec01 .sec01-item__image img {
  display: block;
  height: 100%;
  margin: 0 auto;
}

.sec02 {
  padding: 7.8rem 30px 6.1rem;
  background-image: url(../img/common/sec02-bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
.sec02__title {
  margin-bottom: 8.2rem;
}
.sec02__title .common-title .sub-title {
  font-size: 2.5rem;
  line-height: 1.72;
  letter-spacing: -0.05em;
}
.sec02 .sec02-contents__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 6rem;
  height: 46.3rem;
}
.sec02 .sec02-contents .sec02-item {
  width: 30rem;
  position: relative;
}
.sec02 .sec02-contents .sec02-item__month {
  width: 16.4rem;
  height: 7rem;
  margin: 0 auto;
  background: #04caf2;
  font-size: 3.4rem;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sec02 .sec02-contents .sec02-item__month .large {
  font-size: 4.5rem;
}
.sec02 .sec02-contents .sec02-item__image {
  height: 20.9rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.sec02 .sec02-contents .sec02-item__image img {
  height: 17rem;
}
.sec02 .sec02-contents .sec02-item__text {
  font-size: 2.2rem;
  line-height: 1.6;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sec02 .sec02-contents .sec02-item-gap {
  width: 6rem;
  height: 100%;
  position: relative;
}
.sec02 .sec02-contents .sec02-item-gap .arrow-line {
  display: block;
  width: calc(6rem + 6.8rem * 2);
  height: 0.3rem;
  background: #04caf2;
  position: absolute;
  top: 3.4rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.sec02 .sec02-contents .sec02-item-gap .arrow-line::before {
  content: "";
  width: 1.3rem;
  height: 2.6rem;
  background: #04caf2;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
          clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.sec02 .sec02-contents__study {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sec02 .sec02-contents__study-wrap p {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
}
.sec02 .sec02-contents__study-wrap p:first-of-type {
  margin-bottom: 2.5rem;
}
.sec02 .sec02-contents__study-wrap p .icon {
  width: 3rem;
  display: inline-block;
  padding-top: 0.5rem;
}
.sec02 .sec02-contents__study-wrap p .icon img {
  width: 100%;
}
.sec02 .sec02-contents__study-wrap p .text {
  font-size: 2.8rem;
  display: inline-block;
  line-height: 1.2;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(80%, transparent), color-stop(80%, #9bc1f9), to(#9bc1f9));
  background: linear-gradient(to bottom, transparent 80%, #9bc1f9 80%, #9bc1f9 100%);
}

.sec03 {
  padding: 6rem 0 0;
}
.sec03__title {
  margin-bottom: 5rem;
}
.sec03 .sec03-contents-block01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 5.3rem;
     -moz-column-gap: 5.3rem;
          column-gap: 5.3rem;
  row-gap: 2rem;
  margin-bottom: 4.5rem;
  padding: 0 30px;
}
.sec03 .sec03-link-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 50rem;
  height: 5.2rem;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#5400ba), color-stop(66%, #00d4f5), color-stop(82%, #0091cf), to(#2649a3));
  background-image: linear-gradient(0deg, #5400ba, #00d4f5 66%, #0091cf 82%, #2649a3 100%);
  color: #fff;
  padding: 0 1rem;
}
.sec03 .sec03-link-item__num {
  font-size: 3.5rem;
}
.sec03 .sec03-link-item__text {
  font-size: 2.6rem;
}
.sec03 .sec03-link-item__arrow {
  font-size: 3rem;
}
.sec03 .sec03-link-item:nth-of-type(5) .sec03-link-item__text {
  font-size: 1.9rem;
}
.sec03 .sec03-link-item:hover {
  text-decoration: none;
  opacity: 0.7;
}
.sec03 .sec03-contents-block02 {
  padding: 14.5rem 30px 12rem;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#5400ba), color-stop(66%, #00d4f5), color-stop(82%, #0091cf), to(#2649a3));
  background-image: linear-gradient(0deg, #5400ba, #00d4f5 66%, #0091cf 82%, #2649a3 100%);
  background-image: -webkit-gradient(linear, left top, right top, from(#00C6ED), to(#1897E4));
  background-image: linear-gradient(90deg, #00C6ED, #1897E4);
  position: relative;
}
.sec03 .sec03-contents-block02::before {
  content: "";
  display: block;
  width: 100%;
  height: 8rem;
  background: #fff;
  position: absolute;
  top: -0.1rem;
  left: 0;
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.sec03 .sec03-item {
  background: #fff;
  padding-top: 3.3rem;
  border-radius: 2.4rem;
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}
.sec03 .sec03-item:not(:last-of-type) {
  margin-bottom: 4.7rem;
}
.sec03 .sec03-item__title {
  position: relative;
}
.sec03 .sec03-item .sec03-item-title__num {
  width: 11.8rem;
  height: 11.8rem;
  background: #0071b0;
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 5.9rem;
  color: #fff;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 2.8rem;
}
.sec03 .sec03-item .sec03-item-title h3 {
  padding: 1rem;
  font-size: 3.2rem;
  background-image: -webkit-gradient(linear, left top, right top, from(#08C3F0), color-stop(50%, #08C3F0), to(#08C3F0));
  background-image: linear-gradient(90deg, #08C3F0 0%, #08C3F0 50%, #08C3F0 100%);
  color: #fff;
  text-align: center;
}
.sec03 .sec03-item__content {
  padding: 2rem 2rem 4rem;
}
.sec03 .sec03-item .sec03-item-content__main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.sec03 .sec03-item .sec03-item-content__image {
  width: 40rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sec03 .sec03-item .sec03-item-content__image img {
  height: 100%;
  width: auto;
}
.sec03 .sec03-item .sec03-item-content__text {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-left: 5rem;
}
.sec03 .sec03-item .sec03-item-content__text p {
  font-size: 2rem;
  line-height: 1.5;
}
.sec03 .sec03-item .sec03-item-content__text p:nth-of-type(2) {
  margin-top: 2rem;
}
.sec03 .sec03-item .sec03-item-content__sub {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sec03 .sec03-item .sec03-item-content__sub-wrap h4 {
  font-size: 2.5rem;
  color: #b5272d;
  margin-bottom: 1rem;
  text-align: center;
}
.sec03 .sec03-item .sec03-item-content__sub-wrap h4 .deco {
  display: inline-block;
  margin-right: 3.5rem;
  position: relative;
}
.sec03 .sec03-item .sec03-item-content__sub-wrap h4 .deco::before, .sec03 .sec03-item .sec03-item-content__sub-wrap h4 .deco::after {
  content: "";
  display: block;
  width: 0.2rem;
  height: 2.5rem;
  background: #b5272d;
  position: absolute;
  top: 50%;
  left: -1rem;
  -webkit-transform: translateY(-50%) rotate(-30deg);
          transform: translateY(-50%) rotate(-30deg);
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}
.sec03 .sec03-item .sec03-item-content__sub-wrap h4 .deco::after {
  left: initial;
  right: -1rem;
  -webkit-transform: translateY(-50%) rotate(30deg);
          transform: translateY(-50%) rotate(30deg);
}
.sec03 .sec03-item .sec03-item-content__sub-wrap p {
  font-size: 2rem;
  line-height: 1.5;
}
.sec03 .sec03-item .sec03-item-content__sub-wrap p:first-of-type {
  margin-bottom: 1.5rem;
}

.sec04 {
  padding: 8.5rem 30px 13.8rem;
  background-image: url(../img/common/sec04-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
.sec04__title {
  margin-bottom: 5.3rem;
}
.sec04 .sec04-item {
  width: 714px;
  margin: 0 auto;
}
.sec04 .sec04-item:not(:last-of-type) {
  margin-bottom: 7.5rem;
}
.sec04 .sec04-item__movie {
  width: 100%;
  height: 400px;
  background: #ddd;
  margin-bottom: 1rem;
}
.sec04 .sec04-item__movie iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sec04 .sec04-item:nth-of-type(3) .sec04-item__movie {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 3rem;
}
.sec04 .sec04-item__author {
  width: 100%;
  height: 48px;
  background: #0071b0;
  color: #fff;
  font-size: 2.8rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.sec05 {
  padding: 8.5rem 30px 13.8rem;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#06C5F1), to(#3256D1));
  background-image: linear-gradient(180deg, #06C5F1, #3256D1);
}
.sec05__title {
  margin-bottom: 5.3rem;
}
.sec05__title .common-title p {
  color: #dadada;
}
.sec05__title .common-title p::before, .sec05__title .common-title p::after {
  background: #dadada;
}
.sec05__title .common-title h2 {
  color: #fff;
}
.sec05__title .common-title h2 span {
  font-size: 6.5rem;
  vertical-align: text-bottom;
}
.sec05__contents {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 5rem;
     -moz-column-gap: 5rem;
          column-gap: 5rem;
  row-gap: 6.5rem;
}
.sec05 .sec05-item {
  width: 51rem;
  height: 14.6rem;
  background: #fff;
  position: relative;
  padding-top: 3.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sec05 .sec05-item__num {
  width: 6.5rem;
  height: 6.5rem;
  background: #ae272d;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  border-radius: 50%;
  position: absolute;
  top: -3.25rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.sec05 .sec05-item__num span {
  font-size: 4rem;
}
.sec05 .sec05-item__title {
  text-align: center;
}
.sec05 .sec05-item__title h3 {
  font-size: 2rem;
  color: #0291d1;
  line-height: 1.2;
}
.sec05 .sec05-item__text {
  text-align: center;
}
.sec05 .sec05-item__text p {
  font-size: 2.9rem;
  color: #ae272d;
  line-height: 1.3;
}
.sec05 .sec05-item__text .normal {
  font-size: 2.4rem;
  color: #2d2d2d;
}
.sec05 .sec05-item:first-of-type .sec05-item__text .normal {
  font-size: 1.74993rem;
}
.sec05 .sec05-item:last-of-type {
  width: 81rem;
  height: 18rem;
}
.sec05 .sec05-item:last-of-type .sec05-item__title h3 {
  font-size: 3rem;
  line-height: 1.4;
  display: inline-block;
  border-bottom: 0.2rem solid #0291d1;
}
.sec05 .sec05-item:last-of-type .sec05-item__text p {
  font-size: 3.8rem;
  line-height: 1.7;
}

.sec06 {
  padding: 8.5rem 30px 10rem;
  background-image: url(../img/common/sec06-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
.sec06__title {
  margin-bottom: 4.2rem;
  text-align: center;
}
.sec06__title h2 {
  font-size: 5.2rem;
  color: #fff;
  font-weight: 700;
}
.sec06 .sec06-contents__title {
  width: 64rem;
  margin: 0 auto;
}
.sec06 .sec06-contents__title img {
  width: 100%;
}
.sec06 .sec06-contents__text {
  text-align: center;
  margin-bottom: 5rem;
}
.sec06 .sec06-contents__text p {
  font-size: 2.6rem;
  line-height: 1.61;
  color: #fff;
  text-shadow: 0.5rem 0.5rem 0.4rem rgba(11, 8, 119, 0.4), 0.5rem 0.5rem 0.4rem rgba(11, 8, 119, 0.4);
}
.sec06 .sec06-contents__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
}
.sec06 .sec06-contents .sec06-item {
  width: 32.7rem;
  height: 22rem;
  background: #fff;
  padding: 1.5rem;
}
.sec06 .sec06-contents .sec06-item__img {
  width: 100%;
  height: 100%;
  background: #ddd;
}

.sec07 {
  padding: 4.5rem 3rem 7.7rem;
  background-image: url(../img/common/sec07-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
}
.sec07__title {
  margin-bottom: 4.2rem;
  text-align: center;
}
.sec07__title h2 {
  font-size: 4rem;
  color: #fff;
  font-weight: 700;
}
.sec07 .sec07-contents__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 3.5rem;
     -moz-column-gap: 3.5rem;
          column-gap: 3.5rem;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
  row-gap: 4rem;
  margin-bottom: 5rem;
}
.sec07 .sec07-contents .sec07-item {
  padding: 2rem 2.5rem;
  width: 52.5rem;
  background: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
  border-radius: 1rem;
}
.sec07 .sec07-contents .sec07-item__icon {
  width: 8.7rem;
}
.sec07 .sec07-contents .sec07-item__icon img {
  width: 100%;
}
.sec07 .sec07-contents .sec07-item__content {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-top: 1rem;
}
.sec07 .sec07-contents .sec07-item .sec07-item-content {
  color: #0071b0;
}
.sec07 .sec07-contents .sec07-item .sec07-item-content__title {
  border-bottom: 0.1rem solid #0071b0;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}
.sec07 .sec07-contents .sec07-item .sec07-item-content__title h3 {
  font-size: 2.5rem;
}
.sec07 .sec07-contents .sec07-item .sec07-item-content__text p {
  font-size: 1.6rem;
  line-height: 1.31;
}
.sec07 .sec07-contents .sec07-item:nth-of-type(1) .sec07-item__content .sec07-item-content__text p {
  font-size: 2.5rem;
}
.sec07 .sec07-contents .sec07-item:nth-of-type(2) .sec07-item__content .sec07-item-content__text p {
  font-size: 1.8rem;
}
.sec07 .sec07-contents .sec07-item:nth-of-type(5) {
  height: 12.8rem;
}
.sec07 .sec07-contents__anno {
  text-align: center;
}
.sec07 .sec07-contents__anno p {
  font-size: 2.4rem;
  color: #fff;
  text-shadow: 5px 5px 10px #1b1464, -5px -5px 10px #1b1464, 5px 0 10px #1b1464, 0 5px 10px #1b1464, -5px 0 10px #1b1464;
}

.sec08 {
  padding: 6.5rem 30px 12rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#7dccf3), color-stop(85%, #fff), to(#fff));
  background: linear-gradient(to bottom, #7dccf3, #fff 85%, #fff 100%);
}
.sec08__title {
  margin-bottom: 7.8rem;
  text-align: center;
}
.sec08__title h2 {
  font-size: 4.4rem;
  font-weight: 700;
}
.sec08 .sec08-contents__items {
  margin-bottom: 8.5rem;
}
.sec08 .sec08-contents .sec08-item {
  position: relative;
  width: 51rem;
  height: 7.5rem;
  background: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 2rem;
  border-radius: 1rem;
  margin: 0 auto;
}
.sec08 .sec08-contents .sec08-item:not(:last-of-type) {
  margin-bottom: 6.4rem;
}
.sec08 .sec08-contents .sec08-item:not(:last-of-type)::before {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.4rem;
  background: #fff;
  position: absolute;
  bottom: -1.3rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.sec08 .sec08-contents .sec08-item__num {
  width: 5.3rem;
  height: 5.3rem;
  background: #0071b0;
  font-size: 2.6rem;
  color: #fff;
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: -2.65rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.sec08 .sec08-contents .sec08-item__title h3 {
  font-size: 2.6rem;
  color: #0071b0;
}
.sec08 .sec08-contents__buttons .common-button01:nth-of-type(2) {
  margin-top: 6rem;
  background: #fff;
  color: #0091cf;
  border: 0.2rem solid #0091cf;
}
.sec08 .sec08-contents__buttons .common-button01:nth-of-type(2):hover {
  background: #0091cf;
  color: #fff;
}

/* -----------------------------------------------
* Page エントリーポイント
-------------------------------------------------- */

@media only screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }

  a[href^="tel:"] {
    pointer-events: none;
  }

  a,
a::before,
a::after,
button {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  html {
    font-size: calc(10 / 1160 * 100vw);
  }
}

@media only screen and (max-width: 767px) {
  body {
    position: relative;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }

  #wrapper {
    min-width: 320px;
    position: relative;
    overflow: hidden;
  }

  input[type=submit] {
    -webkit-text-size-adjust: 100%;
  }

  .pc {
    display: none !important;
  }
  body {
    font-size: 1.4rem;
  }
  .header {
    height: 60px;
    padding: 0 13px;
  }
  .header__logo {
    width: 62.5px;
  }
  .footer {
    padding: 3rem 20px 2rem;
  }
  .footer__contents {
    display: block;
    margin-bottom: 8.9rem;
  }
  .footer .footer-contents__logo {
    width: 13.5rem;
    margin: 0 auto;
  }
  .footer .footer-contents__vertical-letter {
    width: 8rem;
    margin: 0 auto 3.5rem;
  }
  .footer .footer-contents__main {
    width: 100%;
    margin-bottom: 11.4rem;
  }
  .footer .footer-contents .footer-contents-main__contact {
    display: block;
  }
  .footer .footer-contents .footer-contents-main .footer-contact__tel {
    margin-bottom: 2.4rem;
  }
  .footer .footer-contents .footer-contents-main .footer-contact__tel--number {
    text-align: center;
  }
  .footer .footer-contents .footer-contents-main .footer-contact__tel--number img {
    width: 1.8rem;
  }
  .footer .footer-contents .footer-contents-main .footer-contact__tel--number span {
    font-size: 3.5rem;
  }
  .footer .footer-contents .footer-contents-main .footer-contact__button a {
    width: 22.3rem;
    height: 5.5rem;
    margin: 0 auto;
  }
  .footer .footer-contents .footer-contents-main__nav {
    display: block;
  }
  .footer .footer-contents .footer-contents-main .footer-nav__list ul {
    -webkit-column-gap: 1.5rem;
       -moz-column-gap: 1.5rem;
            column-gap: 1.5rem;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .footer .footer-contents .footer-contents-main .footer-nav__list ul li a {
    font-size: 1.2rem;
    padding: 0.5rem 0.5rem;
  }
  .footer .footer-contents .footer-contents-main .footer-nav__list ul li:not(:last-of-type)::before {
    font-size: 1.2rem;
  }
  .footer .footer-contents .footer-contents-main .footer-nav .footer-nav-link {
    width: 100%;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .footer .footer-contents .footer-contents-main .footer-nav .footer-nav-link__online-shop a svg {
    margin-left: 0.5rem;
  }
  .footer__copy-light {
    text-align: center;
  }
  .fv {
    height: 124.4vw;
  }
  .common-button01 {
    width: 31.6654rem;
    height: 4.1665rem;
    font-size: 1.9124235rem;
  }
  .common-title p {
    font-size: 1.33328rem;
    margin-bottom: 0.5rem;
  }
  .common-title p::before, .common-title p::after {
    height: 1.116622rem;
    width: 0.1rem;
    left: -1rem;
  }
  .common-title p::after {
    left: initial;
    right: -1rem;
  }
  .common-title h2 {
    font-size: 2.08325rem;
    margin-bottom: 0.7rem;
  }
  .common-title .sub-title {
    font-size: 1.58327rem;
  }
  .join-button {
    padding: 1.83326rem 20px 0;
  }
  .sec01 {
    padding: 1.83326rem 20px 2.66656rem;
  }
  .sec01__title {
    margin-bottom: 2.16658rem;
  }
  .sec01__contents {
    display: block;
    width: 100%;
    height: initial;
  }
  .sec01 .sec01-item {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
    padding: 3rem 0 4rem;
  }
  .sec01 .sec01-item:not(:last-of-type)::before {
    width: 83.5%;
    height: 0.25rem;
    top: initial;
    bottom: 0;
    right: initial;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .sec01 .sec01-item__point {
    width: 5.33312rem;
    height: 5.33312rem;
    padding-top: 0.5rem;
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  .sec01 .sec01-item__point p {
    font-size: 1.33328rem;
    line-height: 1;
  }
  .sec01 .sec01-item__point p:nth-of-type(2) {
    font-size: 2.458235rem;
  }
  .sec01 .sec01-item__text {
    margin-bottom: 0;
  }
  .sec01 .sec01-item__text p {
    font-size: 1.83326rem;
    line-height: 1.54;
  }
  .sec01 .sec01-item__image {
    height: 12.16618rem;
  }
  .sec01 .sec01-item:nth-of-type(2) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .sec01 .sec01-item:nth-of-type(2) .sec01-item__image {
    height: 16rem;
  }
  .sec01 .sec01-item:nth-of-type(3) .sec01-item__image {
    height: 16rem;
  }
  .sec02 {
    padding: 2.4999rem 20px 5.33312rem;
  }
  .sec02__title {
    margin-bottom: 4.1665rem;
  }
  .sec02__title .common-title .sub-title {
    font-size: 1.33328rem;
  }
  .sec02 .sec02-contents__items {
    display: block;
    height: initial;
    margin-bottom: 4.9998rem;
  }
  .sec02 .sec02-contents .sec02-item {
    width: 29.9988rem;
    margin: 0 auto;
  }
  .sec02 .sec02-contents .sec02-item:not(:last-of-type) {
    padding-bottom: 4.1665rem;
  }
  .sec02 .sec02-contents .sec02-item .arrow-line {
    display: block;
    width: 0.24999rem;
    height: 20rem;
    height: 100%;
    background: #04caf2;
    position: absolute;
    left: 1.6666rem;
    top: 0;
  }
  .sec02 .sec02-contents .sec02-item .arrow-line::before {
    content: "";
    display: block;
    width: 2.16658rem;
    height: 2.4999rem;
    background: #04caf2;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
            clip-path: polygon(0 0, 50% 100%, 100% 0);
  }
  .sec02 .sec02-contents .sec02-item__month {
    width: 100%;
    height: 3.66652rem;
    font-size: 2.4999rem;
  }
  .sec02 .sec02-contents .sec02-item__month .large {
    font-size: 3.3332rem;
  }
  .sec02 .sec02-contents .sec02-item__image {
    height: 18.83258rem;
  }
  .sec02 .sec02-contents .sec02-item__image img {
    height: 14.1661rem;
  }
  .sec02 .sec02-contents .sec02-item__text {
    font-size: 1.6666rem;
    line-height: 1.55;
  }
  .sec02 .sec02-contents__study-wrap p .icon {
    width: 2.483234rem;
  }
  .sec02 .sec02-contents__study-wrap p .text {
    font-size: 1.6666rem;
  }
  .sec03 {
    padding: 3.16654rem 0 0;
  }
  .sec03__title {
    margin-bottom: 2.24991rem;
  }
  .sec03 .sec03-contents-block01 {
    padding: 0 20px;
    margin-bottom: 2.74989rem;
    row-gap: 1.49994rem;
  }
  .sec03 .sec03-link-item {
    padding: 0 0.5rem;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    height: 3.49986rem;
  }
  .sec03 .sec03-link-item__num {
    font-size: 2.4999rem;
  }
  .sec03 .sec03-link-item__text {
    font-size: 1.6666rem;
  }
  .sec03 .sec03-link-item__arrow {
    font-size: 2.33324rem;
  }
  .sec03 .sec03-link-item:nth-of-type(5) .sec03-link-item__text {
    font-size: 1.24995rem;
  }
  .sec03 .sec03-contents-block02 {
    padding: 7.4997rem 20px 4.58315rem;
  }
  .sec03 .sec03-contents-block02::before {
    height: 8.88vw;
  }
  .sec03 .sec03-item {
    padding-top: 2.4999rem;
    border-radius: 1.99992rem;
    max-width: 450px;
  }
  .sec03 .sec03-item:not(:last-of-type) {
    margin-bottom: 1.74993rem;
  }
  .sec03 .sec03-item .sec03-item-title__num {
    width: 4.91647rem;
    height: 4.91647rem;
    font-size: 2.458235rem;
    left: 0.2rem;
  }
  .sec03 .sec03-item .sec03-item-title h3 {
    font-size: 1.49994rem;
    padding: 1rem;
    padding-left: 3.5rem;
  }
  .sec03 .sec03-item__content {
    padding: 2.08325rem 0.99996rem;
  }
  .sec03 .sec03-item .sec03-item-content__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .sec03 .sec03-item .sec03-item-content__image {
    width: 100%;
    height: 18.3326rem;
    margin-bottom: 2.91655rem;
  }
  .sec03 .sec03-item .sec03-item-content__text {
    padding-left: 0;
    margin-bottom: 2.08325rem;
    text-align: center;
  }
  .sec03 .sec03-item .sec03-item-content__text p {
    font-size: 1.33328rem;
    line-height: 1.55;
  }
  .sec03 .sec03-item .sec03-item-content__sub-wrap h4 {
    font-size: 1.91659rem;
    line-height: 1.3;
  }
  .sec03 .sec03-item .sec03-item-content__sub-wrap h4 .deco {
    margin-right: 2.74989rem;
  }
  .sec03 .sec03-item .sec03-item-content__sub-wrap h4 .deco::before, .sec03 .sec03-item .sec03-item-content__sub-wrap h4 .deco::after {
    height: 2.08325rem;
    width: 0.15rem;
    left: -1rem;
  }
  .sec03 .sec03-item .sec03-item-content__sub-wrap h4 .deco::after {
    left: initial;
    right: -1rem;
  }
  .sec03 .sec03-item .sec03-item-content__sub-wrap p {
    font-size: 1.41661rem;
    text-align: center;
  }
  .sec03 .sec03-item:nth-of-type(5) .sec03-item__title h3 {
    font-size: 1.24995rem;
    padding-left: 5.3rem;
  }
  .sec04 {
    padding: 2.4999rem 20px 4.49982rem;
  }
  .sec04__title {
    margin-bottom: 3.74985rem;
  }
  .sec04 .sec04-item {
    width: 71.1vw;
  }
  .sec04 .sec04-item:not(:last-of-type) {
    margin-bottom: 2.91655rem;
  }
  .sec04 .sec04-item__movie {
    height: 39.7vw;
    margin-bottom: 0.5rem;
  }
  .sec04 .sec04-item__author {
    font-size: 1.3rem;
    height: 2.1rem;
  }
  .sec05 {
    padding: 2.66656rem 15px 6.24975rem;
  }
  .sec05__title {
    margin-bottom: 3.74985rem;
  }
  .sec05__title .common-title h2 span {
    font-size: 4.1665rem;
  }
  .sec05__contents {
    row-gap: 3.74985rem;
  }
  .sec05 .sec05-item {
    display: block;
    width: 100%;
    height: initial;
    padding-top: 2.5rem;
    padding-bottom: 1.5rem;
    max-width: 450px;
    margin: 0 auto;
  }
  .sec05 .sec05-item__num {
    width: 4.33316rem;
    height: 4.33316rem;
    font-size: 0.99996rem;
    top: -2.6rem;
  }
  .sec05 .sec05-item__num span {
    font-size: 2.58323rem;
  }
  .sec05 .sec05-item__title h3 {
    font-size: 1.49994rem;
    margin-bottom: 0.5rem;
  }
  .sec05 .sec05-item__text p {
    font-size: 2.16658rem;
  }
  .sec05 .sec05-item__text .normal {
    font-size: 1.74993rem;
  }
  .sec05 .sec05-item:first-of-type .sec05-item__text p {
    font-size: 1.91659rem;
  }
  .sec05 .sec05-item:nth-of-type(3) .sec05-item__text .normal {
    font-size: 1.33328rem;
  }
  .sec05 .sec05-item:nth-of-type(4) .sec05-item__text .normal {
    font-size: 1.33328rem;
  }
  .sec05 .sec05-item:last-of-type {
    width: 100%;
    height: initial;
  }
  .sec05 .sec05-item:last-of-type .sec05-item__title {
    margin-bottom: 1rem;
  }
  .sec05 .sec05-item:last-of-type .sec05-item__title h3 {
    font-size: 2.24991rem;
  }
  .sec05 .sec05-item:last-of-type .sec05-item__text p {
    font-size: 2.4999rem;
    line-height: 1;
  }
  .sec05 .sec05-item:last-of-type .sec05-item__text p .block {
    display: block;
  }
  .sec05 .sec05-item:last-of-type .sec05-item__text p .price {
    display: block;
    font-size: 3.08321rem;
  }
  .sec06 {
    padding: 3.49986rem 15px 3.3332rem;
  }
  .sec06__title {
    margin-bottom: 0.8333rem;
  }
  .sec06__title h2 {
    font-size: 2.83322rem;
  }
  .sec06 .sec06-contents__title {
    width: 34rem;
  }
  .sec06 .sec06-contents__text {
    margin-bottom: 3.91651rem;
  }
  .sec06 .sec06-contents__text p {
    font-size: 1.6666rem;
    text-align: center;
    letter-spacing: -0.05em;
  }
  .sec06 .sec06-contents__items {
    display: block;
  }
  .sec06 .sec06-contents .sec06-item {
    width: 72.6vw;
    height: 48.6vw;
    margin: 0 auto;
    padding: 1.24995rem;
  }
  .sec06 .sec06-contents .sec06-item:not(:last-of-type) {
    margin-bottom: 2.33324rem;
  }
  .sec07 {
    padding: 4.9998rem 20px 4.58315rem;
  }
  .sec07__title {
    margin-bottom: 3.91651rem;
  }
  .sec07__title h2 {
    font-size: 2.74989rem;
  }
  .sec07 .sec07-contents__items {
    row-gap: 2.4999rem;
    margin-bottom: 4.49982rem;
  }
  .sec07 .sec07-contents .sec07-item {
    padding: 1rem;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
  }
  .sec07 .sec07-contents .sec07-item__icon {
    width: 7.24971rem;
  }
  .sec07 .sec07-contents .sec07-item__content {
    padding-top: 0;
  }
  .sec07 .sec07-contents .sec07-item .sec07-item-content__title h3 {
    font-size: 2.08325rem;
  }
  .sec07 .sec07-contents .sec07-item .sec07-item-content__text p {
    font-size: 1.33328rem;
  }
  .sec07 .sec07-contents .sec07-item:nth-of-type(1) .sec07-item__content .sec07-item-content__text p {
    font-size: 2.08325rem;
  }
  .sec07 .sec07-contents .sec07-item:nth-of-type(2) .sec07-item__content .sec07-item-content__text p {
    font-size: 1.49994rem;
  }
  .sec07 .sec07-contents .sec07-item:nth-of-type(5) {
    height: initial;
  }
  .sec07 .sec07-contents__anno p {
    font-size: 1.49994rem;
    line-height: 1.65;
  }
  .sec08 {
    padding: 4.9998rem 20px 4.1665rem;
  }
  .sec08__title {
    margin-bottom: 5.99976rem;
  }
  .sec08__title h2 {
    font-size: 2.4999rem;
  }
  .sec08 .sec08-contents__items {
    margin-bottom: 3.3332rem;
  }
  .sec08 .sec08-contents .sec08-item {
    width: 100%;
    height: 6.41641rem;
    max-width: 450px;
    margin: 0 auto;
  }
  .sec08 .sec08-contents .sec08-item:not(:last-of-type) {
    margin-bottom: 4.24983rem;
  }
  .sec08 .sec08-contents .sec08-item__num {
    width: 4.41649rem;
    height: 4.41649rem;
    font-size: 2.16658rem;
    top: -2.208245rem;
  }
  .sec08 .sec08-contents .sec08-item__title h3 {
    font-size: 2.16658rem;
  }
  .sec08 .sec08-contents__buttons .common-button01:nth-of-type(2) {
    margin-top: 2.16658rem;
  }
}

@media (min-width: 1160px) {
  html {
    font-size: 10px;
  }
}

@media (min-width: 1400px) {
  .header__logo {
    width: calc((100% - 1050px) / 2);
  }
  .header__right {
    width: calc((100% - 1050px) / 2);
  }
}
/*# sourceMappingURL=style.css.map */