@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Dosis:300,400,500|Noto+Sans+JP:300,400,500,700|Noto+Serif+JP:300,400,500&display=swap&subset=japanese");
@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@600&display=swap");
/* design size variable */
/* constance variable */
/* device width variable */
/* font responsive ratio */
/* spacer responsive ratio */
/* noto sans font weight */
/* general method */
/* linear */
/* easeSineIn */
/* easeSineOut */
/* easeSineInOut */
/* easeQuadIn */
/* easeQuadOut */
/* easeQuadInOut */
/* easeCubicIn */
/* easeCubicOut */
/* easeCubicInOut */
/* easeQuartIn */
/* easeQuartOut */
/* easeQuartInOut */
/* easeQuintIn */
/* easeQuintOut */
/* easeQuintInOut */
/* easeExpoIn */
/* easeExpoOut */
/* easeExpoInOut */
/* easeCircIn */
/* easeCircOut */
/* easeCircInOut */
/* easeBackIn */
/* easeBackOut */
/* easeBackInOut */
/*****************
フォントコンポーネント
*****************/
.c-font--sans-10-m {
  font-size: 10px;
  font-weight: 500;
}

@media only screen and (max-width: 736px) {
  .c-font--sans-10-m {
    font-size: 3.125vw;
  }
}

.c-font--sans-11-l {
  font-family: "Noto Sans Japanese";
  font-size: 11px;
  font-weight: 200;
}

@media only screen and (max-width: 736px) {
  .c-font--sans-11-l {
    font-size: 3.125vw;
  }
}

.c-font--sans-12-r {
  font-size: 12px;
}

@media only screen and (max-width: 736px) {
  .c-font--sans-12-r {
    font-size: 3.125vw;
  }
}

.c-font--sans-14-r {
  font-size: 14px;
}

@media only screen and (max-width: 736px) {
  .c-font--sans-14-r {
    font-size: 3.4375vw;
  }
}

.c-font--sans-14-m, .p-modal_nav .nav_render > ul .child li {
  font-size: 14px;
  font-weight: 500;
}

@media only screen and (max-width: 736px) {
  .c-font--sans-14-m, .p-modal_nav .nav_render > ul .child li {
    font-size: 3.4375vw;
  }
}

.c-font--sans-14-b {
  font-size: 14px;
  font-weight: 700;
}

@media only screen and (max-width: 736px) {
  .c-font--sans-14-b {
    font-size: 3.4375vw;
  }
}

.c-font--sans-15-r {
  font-size: 15px;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 736px) {
  .c-font--sans-15-r {
    font-size: 3.75vw;
  }
}

.c-font--sans-15-m {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 736px) {
  .c-font--sans-15-m {
    font-size: 3.75vw;
  }
}

.c-font--sans-15-b {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 736px) {
  .c-font--sans-15-b {
    font-size: 3.75vw;
  }
}

.c-font--sans-16-r {
  font-size: 16px;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 736px) {
  .c-font--sans-16-r {
    font-size: 3.75vw;
  }
}

.c-font--sans-16-b {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 736px) {
  .c-font--sans-16-b {
    font-size: 3.75vw;
  }
}

.c-font--sans-16-m, .p-modal_nav .nav_render > ul > li, body > header nav .gnav li {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 736px) {
  .c-font--sans-16-m, .p-modal_nav .nav_render > ul > li, body > header nav .gnav li {
    font-size: 3.75vw;
  }
}

.c-font--sans-18-m {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 736px) {
  .c-font--sans-18-m {
    font-size: 4.0625vw;
  }
}

.c-font--sans-18-b {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 736px) {
  .c-font--sans-18-b {
    font-size: 4.0625vw;
  }
}

.c-font--sans-20-b {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 736px) {
  .c-font--sans-20-b {
    font-size: 4.375vw;
  }
}

.c-font--sans-22-m, .p-modal_nav .logo {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 736px) {
  .c-font--sans-22-m, .p-modal_nav .logo {
    font-size: 5vw;
  }
}

.c-font--sans-22-b {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 736px) {
  .c-font--sans-22-b {
    font-size: 5vw;
  }
}

.c-font--sans-26-m {
  font-size: 26px;
  font-weight: 500;
}

@media only screen and (max-width: 736px) {
  .c-font--sans-26-m {
    font-size: 6.25vw;
  }
}

.c-font--sans-35-b {
  font-size: 35px;
  font-weight: 700;
}

@media only screen and (max-width: 736px) {
  .c-font--sans-35-b {
    font-size: 8.125vw;
  }
}

.c-font--serif-12-m {
  font-family: "Noto Serif JP", serif;
  font-size: 12px;
  font-weight: 500;
}

@media only screen and (max-width: 736px) {
  .c-font--serif-12-m {
    font-size: 3.125vw;
  }
}

.c-font--serif-14-l {
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  font-weight: 200;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 736px) {
  .c-font--serif-14-l {
    font-size: 3.4375vw;
  }
}

.c-font--serif-14-m {
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 736px) {
  .c-font--serif-14-m {
    font-size: 3.4375vw;
  }
}

.c-font--serif-16-m {
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 736px) {
  .c-font--serif-16-m {
    font-size: 3.75vw;
  }
}

.c-font--serif-20-m {
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 736px) {
  .c-font--serif-20-m {
    font-size: 4.375vw;
  }
}

.c-font--serif-24-m {
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 736px) {
  .c-font--serif-24-m {
    font-size: 5vw;
  }
}

.c-font--serif-28-m {
  font-family: "Noto Serif JP", serif;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 736px) {
  .c-font--serif-28-m {
    font-size: 5vw;
  }
}

.c-font--serif-30-m {
  font-family: "Noto Serif JP", serif;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 736px) {
  .c-font--serif-30-m {
    font-size: 7.5vw;
  }
}

.c-font--dosis-11-l {
  font-family: "Dosis", sans-serif;
  font-size: 11px;
  font-weight: 200;
  letter-spacing: 0.238em;
}

.c-font--dosis-11-r {
  font-family: "Dosis", sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.238em;
}

.c-font--dosis-12-l {
  font-family: "Dosis", sans-serif;
  font-size: 12px;
  font-weight: 200;
  letter-spacing: 0.238em;
}

.c-font--dosis-20-m {
  font-family: "Dosis", sans-serif;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.238em;
}

@media only screen and (max-width: 736px) {
  .c-font--dosis-20-m {
    font-size: 4.375vw;
  }
}

.c-font--dosis-30-m {
  font-family: "Dosis", sans-serif;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.238em;
}

@media only screen and (max-width: 736px) {
  .c-font--dosis-30-m {
    font-size: 5.625vw;
  }
}

.c-font--dosis-50-m {
  font-family: "Dosis", sans-serif;
  font-size: 50px;
  font-weight: 500;
  letter-spacing: 0.238em;
}

@media only screen and (max-width: 736px) {
  .c-font--dosis-50-m {
    font-size: 7.8125vw;
  }
}

.c-font--barlow-12, main .to_top {
  font-family: "Barlow", sans-serif;
  font-size: 12px;
  font-weight: 600;
}

@media only screen and (max-width: 736px) {
  .c-font--barlow-12, main .to_top {
    font-size: 3.125vw;
  }
}

.c-font--barlow-16 {
  font-family: "Barlow", sans-serif;
  font-size: 16px;
  font-weight: 600;
}

@media only screen and (max-width: 736px) {
  .c-font--barlow-16 {
    font-size: 3.75vw;
  }
}

.c-font--barlow-20 {
  font-family: "Barlow", sans-serif;
  font-size: 20px;
  font-weight: 600;
}

@media only screen and (max-width: 736px) {
  .c-font--barlow-20 {
    font-size: 5vw;
  }
}

.c-font--barlow-60 {
  font-family: "Barlow", sans-serif;
  font-size: 60px;
  font-weight: 600;
}

@media only screen and (max-width: 736px) {
  .c-font--barlow-60 {
    font-size: 9.375vw;
  }
}

.p-drawer {
  border-left: solid 1px #fff;
}

.p-drawer a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 69px;
  height: 54px;
}

@media only screen and (max-width: 980px) {
  .p-drawer a {
    width: 50px;
    height: 100%;
  }
}

@media only screen and (max-width: 736px) {
  .p-drawer a {
    width: 15.625vw;
    height: 100%;
  }
}

.p-drawer a span.box {
  display: block;
  width: 16px;
  height: 14px;
  position: relative;
}

@media only screen and (max-width: 736px) {
  .p-drawer a span.box {
    width: 5vw;
    height: 4.375vw;
  }
}

.p-drawer a span.line {
  background: #fff;
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  -webkit-transition-property: all;
  -webkit-transition-duration: 0.25s;
  -webkit-transition-timing-function: liner;
  -moz-transition-property: all;
  -moz-transition-duration: 0.25s;
  -moz-transition-timing-function: liner;
  -ms-transition-property: all;
  -ms-transition-duration: 0.25s;
  -ms-transition-timing-function: liner;
  transition-property: all;
  transition-duration: 0.25s;
  transition-timing-function: liner;
}

.p-drawer a span.line:first-child {
  top: 0;
}

.p-drawer a span.line:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}

.p-drawer a span.line:last-child {
  bottom: 0;
}

.p-drawer a.active span.line:first-child {
  top: 50%;
  transform: translate(0, 0) rotate(-45deg);
}

.p-drawer a.active span.line:nth-child(2) {
  transform: scale(0, 1);
}

.p-drawer a.active span.line:last-child {
  bottom: 50%;
  transform: translate(0, 0) rotate(45deg);
}

.p-link-arrow--yellow {
  position: relative;
}

.p-link-arrow--yellow:after {
  background: url(../img/btn_with_arrow_y.png) no-repeat left top/contain;
  content: " ";
  display: block;
  width: 74px;
  height: 74px;
  position: absolute;
  right: 0;
  bottom: 0;
}

@media only screen and (max-width: 736px) {
  .p-link-arrow--yellow:after {
    width: 11.5625vw;
    height: 11.5625vw;
  }
}

.p-link-arrow--black {
  position: relative;
}

.p-link-arrow--black:after {
  background: url(../img/btn_with_arrow_b.png) no-repeat left top/contain;
  content: " ";
  display: block;
  width: 74px;
  height: 74px;
  position: absolute;
  right: 0;
  bottom: 0;
}

@media only screen and (max-width: 736px) {
  .p-link-arrow--black:after {
    width: 11.5625vw;
    height: 11.5625vw;
  }
}

.p-modal_nav {
  background: #000;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  height: 0;
  position: absolute;
  left: 0;
  top: 100%;
  transform: scale(1, 0);
  transform-origin: 0 0;
  z-index: -1;
  -webkit-transition-property: all;
  -webkit-transition-duration: 0.25s;
  -webkit-transition-timing-function: liner;
  -moz-transition-property: all;
  -moz-transition-duration: 0.25s;
  -moz-transition-timing-function: liner;
  -ms-transition-property: all;
  -ms-transition-duration: 0.25s;
  -ms-transition-timing-function: liner;
  transition-property: all;
  transition-duration: 0.25s;
  transition-timing-function: liner;
}

.p-modal_nav.active {
  transform: scale(1, 1);
  z-index: 9999;
}

@media only screen and (max-width: 736px) {
  .p-modal_nav {
    align-items: flex-start;
  }
}

.p-modal_nav .container {
  width: 1006px;
  margin: 0 auto;
}

@media only screen and (max-width: 1006px) {
  .p-modal_nav .container {
    width: 90%;
  }
}

@media only screen and (max-width: 736px) {
  .p-modal_nav .container {
    width: 100%;
  }
}

.p-modal_nav a {
  color: #fff;
}

.p-modal_nav .logo {
  margin-bottom: 30px;
}

@media only screen and (max-width: 736px) {
  .p-modal_nav .logo {
    display: none;
  }
}

.p-modal_nav .logo a {
  display: flex;
  justify-content: center;
  align-items: center;
}

.p-modal_nav .logo img {
  width: 60px;
  margin-right: 30px;
}

@media only screen and (max-width: 736px) {
  .p-modal_nav .logo img {
    width: 9.375vw;
    margin-right: 4.6875vw;
  }
}

.p-modal_nav .nav_render > ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media only screen and (max-width: 736px) {
  .p-modal_nav .nav_render > ul {
    padding: 0;
  }
}

@media only screen and (max-width: 736px) {
  .p-modal_nav .nav_render > ul > li {
    width: 100%;
  }
}

.p-modal_nav .nav_render > ul > li > a {
  display: block;
  border-bottom: solid 1px #fff;
}

@media only screen and (max-width: 736px) {
  .p-modal_nav .nav_render > ul > li > a {
    width: 100%;
    box-sizing: border-box;
    padding: 4.6875vw;
    position: relative;
  }
  .p-modal_nav .nav_render > ul > li > a.has_child:after {
    position: absolute;
    display: block;
    width: 6px;
    height: 6px;
    content: " ";
    transform: rotate(-45deg);
    border-bottom: #fff solid 1px;
    border-right: #fff solid 1px;
    right: 1em;
    top: calc(50% - 3px);
  }
}

.p-modal_nav .nav_render > ul > li > a:hover {
  background: #fff000;
  color: #000;
}

.p-modal_nav .nav_render > ul > li > a:hover.has_child:after {
  position: absolute;
  display: block;
  width: 6px;
  height: 6px;
  content: " ";
  transform: rotate(-45deg);
  border-bottom: #000 solid 1px;
  border-right: #000 solid 1px;
  right: 1em;
  top: calc(50% - 3px);
}

.p-modal_nav .nav_render > ul .child {
  margin-top: 14px;
}

@media only screen and (max-width: 736px) {
  .p-modal_nav .nav_render > ul .child {
    background: #000;
    box-sizing: border-box;
    width: 100%;
    min-height: 100%;
    padding: 0;
    margin-top: 0;
    position: absolute;
    right: 0;
    top: 0;
    opacity: 0;
    z-index: -1;
    overflow: scroll;
    -webkit-transition-property: all;
    -webkit-transition-duration: 0.25s;
    -webkit-transition-timing-function: liner;
    -moz-transition-property: all;
    -moz-transition-duration: 0.25s;
    -moz-transition-timing-function: liner;
    -ms-transition-property: all;
    -ms-transition-duration: 0.25s;
    -ms-transition-timing-function: liner;
    transition-property: all;
    transition-duration: 0.25s;
    transition-timing-function: liner;
  }
  .p-modal_nav .nav_render > ul .child.active {
    opacity: 1;
    z-index: 9999;
    -webkit-transition-property: all;
    -webkit-transition-duration: 0.25s;
    -webkit-transition-timing-function: liner;
    -moz-transition-property: all;
    -moz-transition-duration: 0.25s;
    -moz-transition-timing-function: liner;
    -ms-transition-property: all;
    -ms-transition-duration: 0.25s;
    -ms-transition-timing-function: liner;
    transition-property: all;
    transition-duration: 0.25s;
    transition-timing-function: liner;
  }
}

@media only screen and (max-width: 736px) {
  .p-modal_nav .nav_render > ul .child li {
    font-size: 3.75vw;
  }
}

.p-modal_nav .nav_render > ul .child li:not(:last-child) {
  margin-bottom: 10px;
}

@media only screen and (max-width: 736px) {
  .p-modal_nav .nav_render > ul .child li:not(:last-child) {
    margin-bottom: 0;
  }
}

.p-modal_nav .nav_render > ul .child li > a {
  display: block;
}

@media only screen and (max-width: 736px) {
  .p-modal_nav .nav_render > ul .child li > a {
    border-bottom: solid 1px #fff;
    width: 100%;
    box-sizing: border-box;
    padding: 4.6875vw;
  }
}

.p-modal_nav .nav_render > ul .child li > a:hover {
  background: #fff000;
  color: #000;
}

body > header {
  width: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999;
}

@media only screen and (max-width: 736px) {
  body > header {
    top: 0;
  }
}

body > header .wrapper {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  margin: 0 auto;
  position: relative;
}

@media only screen and (max-width: 1180px) {
  body > header .wrapper {
    width: 90%;
  }
}

@media only screen and (max-width: 736px) {
  body > header .wrapper {
    width: 100%;
  }
}

body > header a {
  color: #fff;
}

body > header h1 {
  background: #fff;
  box-sizing: border-box;
  width: 25.46875vw;
  max-width: 326px;
  padding: 26px 0;
  text-align: center;
}

@media only screen and (max-width: 736px) {
  body > header h1 {
    width: 82.8125vw;
    max-width: 85%;
    padding: 2.57812vw 0;
    background: #ffffff;
  }
}

body > header h1 img {
  width: 73.61963%;
  max-width: 240px;
}

@media only screen and (max-width: 736px) {
  body > header h1 img {
    max-width: 80%;
  }
}

body > header nav {
  background: #231815;
  width: 100%;
  padding: 16px 0;
}

@media only screen and (max-width: 736px) {
  body > header nav {
    width: 100%;
    padding: 0;
    position: fixed;
    left: 0;
    top: 16.5625vw;
    z-index: 9999;
    transform: scaleY(0);
    transform-origin: left top;
    background: #000;
    -webkit-transition-property: all;
    -webkit-transition-duration: 0.25s;
    -webkit-transition-timing-function: liner;
    -moz-transition-property: all;
    -moz-transition-duration: 0.25s;
    -moz-transition-timing-function: liner;
    -ms-transition-property: all;
    -ms-transition-duration: 0.25s;
    -ms-transition-timing-function: liner;
    transition-property: all;
    transition-duration: 0.25s;
    transition-timing-function: liner;
  }
}

@media only screen and (max-width: 736px) {
  body > header nav.active {
    transform: scaleY(1);
  }
}

body > header nav .gnav {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

@media only screen and (max-width: 736px) {
  body > header nav .gnav {
    display: block;
    padding: 45px 0;
  }
}

body > header nav .gnav li {
  position: relative;
  line-height: 100%;
}

@media only screen and (max-width: 980px) {
  body > header nav .gnav li {
    font-size: 12px;
  }
}

@media only screen and (max-width: 736px) {
  body > header nav .gnav li {
    font-size: 4.21875vw;
    text-align: center;
    padding: 6.5625vw 0;
    letter-spacing: 0.16em;
  }
}

body > header nav .gnav li:not(:first-child) {
  margin-left: 70px;
}

@media only screen and (max-width: 736px) {
  body > header nav .gnav li:not(:first-child) {
    margin-left: 0;
  }
}

body > header nav .gnav li a {
  color: #fff;
}

@media only screen and (max-width: 736px) {
  body > header nav .nav_box {
    width: 100%;
    height: calc(100vh - 16.5625vw);
    overflow: scroll;
  }
}

body > header nav .fix_button {
  position: fixed;
  right: 0;
  top: 48px;
  z-index: 600;
}

@media only screen and (max-width: 736px) {
  body > header nav .fix_button {
    display: flex;
    justify-content: space-between;
    top: auto;
    left: 0;
    bottom: 28.125vw;
  }
}

@media only screen and (max-width: 736px) {
  body > header nav .fix_button li {
    width: 50%;
  }
}

body > header nav .fix_button li:not(:last-child) {
  margin-bottom: 5px;
}

@media only screen and (max-width: 736px) {
  body > header nav .fix_button li:not(:last-child) {
    margin-bottom: 0;
  }
}

body > header nav .fix_button li .c-block--button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 54px;
  height: 232px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.168em;
  position: relative;
}

@media only screen and (max-width: 736px) {
  body > header nav .fix_button li .c-block--button {
    width: 100%;
    height: auto;
    padding: 3.125vw 0;
    font-size: 3.4375vw;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
  }
}

body > header nav .fix_button li .c-block--button:before {
  content: " ";
  display: inline-block;
  width: 20px;
  height: 15px;
  margin-bottom: 20px;
}

@media only screen and (max-width: 736px) {
  body > header nav .fix_button li .c-block--button:before {
    width: 3.125vw;
    height: 2.34375vw;
    margin-bottom: 0;
    margin-right: 3.125vw;
  }
}

body > header nav .fix_button li.cnt a:before {
  background: url(../img/icon_mail.png) no-repeat left top/contain;
}

body > header nav .fix_button li.download a:before {
  background: url(../img/icon_book.png) no-repeat left top/contain;
}

body > header .drawer {
  display: none;
}

@media only screen and (max-width: 736px) {
  body > header .drawer {
    display: block;
    background: #000000;
  }
}

body > header .drawer a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 69px;
  height: 54px;
}

@media only screen and (max-width: 980px) {
  body > header .drawer a {
    width: 50px;
    height: 100%;
  }
}

@media only screen and (max-width: 736px) {
  body > header .drawer a {
    width: 17.1875vw;
    height: 17.1875vw;
  }
}

body > header .drawer a span.box {
  display: block;
  width: 16px;
  height: 14px;
  position: relative;
}

@media only screen and (max-width: 736px) {
  body > header .drawer a span.box {
    width: 5vw;
    height: 4.375vw;
  }
}

body > header .drawer a span.line {
  background: #ffffff;
  display: block;
  width: 100%;
  height: 3px;
  position: absolute;
  left: 0;
  -webkit-transition-property: all;
  -webkit-transition-duration: 0.25s;
  -webkit-transition-timing-function: liner;
  -moz-transition-property: all;
  -moz-transition-duration: 0.25s;
  -moz-transition-timing-function: liner;
  -ms-transition-property: all;
  -ms-transition-duration: 0.25s;
  -ms-transition-timing-function: liner;
  transition-property: all;
  transition-duration: 0.25s;
  transition-timing-function: liner;
}

body > header .drawer a span.line:first-child {
  top: 0;
}

body > header .drawer a span.line:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}

body > header .drawer a span.line:last-child {
  bottom: 0;
}

body > header .drawer a.active span.line:first-child {
  top: 41%;
  transform: translate(0, 0) rotate(-45deg);
}

body > header .drawer a.active span.line:nth-child(2) {
  transform: scale(0, 1);
}

body > header .drawer a.active span.line:last-child {
  bottom: 41%;
  transform: translate(0, 0) rotate(45deg);
}

.c-block--button {
  display: inline-block;
  width: 340px;
  padding: 20px 0;
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.042em;
  text-align: center;
  position: relative;
  opacity: 1;
  -webkit-transition-property: all;
  -webkit-transition-duration: 0.25s;
  -webkit-transition-timing-function: liner;
  -moz-transition-property: all;
  -moz-transition-duration: 0.25s;
  -moz-transition-timing-function: liner;
  -ms-transition-property: all;
  -ms-transition-duration: 0.25s;
  -ms-transition-timing-function: liner;
  transition-property: all;
  transition-duration: 0.25s;
  transition-timing-function: liner;
}

@media only screen and (max-width: 736px) {
  .c-block--button {
    width: 100%;
    padding: 4.6875vw 0;
    font-size: 3.75vw;
  }
}

.c-block--button:hover {
  opacity: 0.6;
}

.c-block--button.type-arrow {
  background: #000;
}

.c-block--button.type-arrow:after {
  position: absolute;
  display: block;
  width: 10px;
  height: 10px;
  content: " ";
  transform: rotate(-45deg);
  border-bottom: #fff solid 1px;
  border-right: #fff solid 1px;
  right: 27px;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}

@media only screen and (max-width: 736px) {
  .c-block--button.type-arrow:after {
    right: 4.21875vw;
  }
}

.c-block--button.type-gradient {
  background: #0b318e;
  background: linear-gradient(165deg, #0b318e 5%, #0088bc 95%);
}

.c-block--post-list {
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 736px) {
  .c-block--post-list {
    flex-wrap: wrap;
  }
}

.c-block--post-list:not(:last-child) {
  margin-bottom: 47px;
}

@media only screen and (max-width: 736px) {
  .c-block--post-list:not(:last-child) {
    margin-bottom: 7.34375vw;
  }
}

.c-block--post-list figure {
  width: 24.39024%;
}

@media only screen and (max-width: 736px) {
  .c-block--post-list figure {
    width: 100%;
    margin-bottom: 3.125vw;
  }
}

.c-block--post-list figure img {
  width: 100%;
}

.c-block--post-list .text {
  width: 68.41463%;
  margin-top: 13px;
}

@media only screen and (max-width: 736px) {
  .c-block--post-list .text {
    width: 100%;
    margin-top: 0;
  }
}

.c-block--post-list .date {
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.21em;
}

@media only screen and (max-width: 736px) {
  .c-block--post-list .date {
    margin-bottom: 1.25vw;
    font-size: 3.4375vw;
  }
}

.c-block--post-list .title {
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.308em;
}

@media only screen and (max-width: 736px) {
  .c-block--post-list .title {
    margin-bottom: 1.25vw;
    font-size: 4.0625vw;
  }
}

.c-block--post-list .title a {
  color: #0b318e;
  text-decoration: underline;
}

.c-block--post-list .description {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.182em;
}

@media only screen and (max-width: 736px) {
  .c-block--post-list .description {
    font-size: 3.4375vw;
  }
}

.c-title--before-line {
  padding-left: 116px;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.168em;
  position: relative;
}

@media only screen and (max-width: 736px) {
  .c-title--before-line {
    padding-left: 18.125vw;
    font-size: 4.6875vw;
  }
}

.c-title--before-line .en {
  margin-left: 30px;
  font-size: 14px;
  letter-spacing: 0.07em;
}

@media only screen and (max-width: 736px) {
  .c-title--before-line .en {
    margin-left: 4.6875vw;
    font-size: 3.75vw;
  }
}

.c-title--before-line:before {
  background: #0088bc;
  background: linear-gradient(90deg, #0088bc 50%, #0b318e 50%);
  content: " ";
  display: block;
  width: 100px;
  height: 2px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(50%);
}

@media only screen and (max-width: 736px) {
  .c-title--before-line:before {
    width: 15.625vw;
  }
}

.top-bg {
  position: relative;
}

.top-bg img {
  width: 100%;
}

.top-bg p {
  font-size: 1.875vw;
  color: #ffffff;
  position: absolute;
  left: 13.4375vw;
  top: 11.40625vw;
  letter-spacing: 0.16em;
  text-shadow: 1px 1px 10px #000;
  line-height: 30px;
}

@media only screen and (max-width: 736px) {
  .top-bg p {
    text-align: center;
    line-height: 6.25vw;
    font-size: 5vw;
    letter-spacing: 0.08em;
    left: 50%;
    transform: translateX(-50%);
    top: 4.6875vw;
  }
}

.top-bg p span {
  font-size: 1.09375vw;
  padding-left: 0.23438vw;
}

@media only screen and (max-width: 736px) {
  .top-bg p span {
    font-size: 3.125vw;
    padding-left: 0;
  }
}

.top-bg .breadlist {
  font-size: 12px;
  letter-spacing: 0.32em;
  color: #888888;
  margin-bottom: 65px;
}

@media only screen and (max-width: 736px) {
  .top-bg .breadlist {
    font-size: 2.5vw;
    margin-bottom: 10.15625vw;
  }
}

.top-bg .breadlist ul {
  display: flex;
  margin-top: 48px;
  margin-left: 130px;
}

@media only screen and (max-width: 736px) {
  .top-bg .breadlist ul {
    display: block;
    margin-top: 5.15625vw;
    margin-left: 1.5625vw;
  }
}

.top-bg .breadlist ul li {
  color: #888888;
}

@media only screen and (max-width: 736px) {
  .top-bg .breadlist ul li {
    display: inline;
  }
}

.top-bg .breadlist ul li a {
  text-decoration: underline;
  color: #888888;
}

.top-bg .breadlist ul li::after {
  content: ">";
  margin: 0 10px;
  display: inline;
}

.top-bg .breadlist ul li:last-child::after {
  content: "";
  margin: 0;
}

section.blue-menu ul {
  display: flex;
  justify-content: space-between;
  width: 940px;
  margin: 76px auto;
}

@media only screen and (max-width: 736px) {
  section.blue-menu ul {
    flex-wrap: wrap;
    width: 87.5vw;
    margin: 11.875vw auto;
  }
}

section.blue-menu ul li {
  width: 47.87234%;
}

@media only screen and (max-width: 736px) {
  section.blue-menu ul li {
    width: 100%;
  }
  section.blue-menu ul li:not(:last-child) {
    margin-bottom: 4.6875vw;
  }
}

section.blue-menu ul li a {
  display: block;
  width: 100%;
  padding: 61px 0;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  opacity: 1;
  -webkit-transition-property: all;
  -webkit-transition-duration: 0.25s;
  -webkit-transition-timing-function: liner;
  -moz-transition-property: all;
  -moz-transition-duration: 0.25s;
  -moz-transition-timing-function: liner;
  -ms-transition-property: all;
  -ms-transition-duration: 0.25s;
  -ms-transition-timing-function: liner;
  transition-property: all;
  transition-duration: 0.25s;
  transition-timing-function: liner;
}

@media only screen and (max-width: 736px) {
  section.blue-menu ul li a {
    padding: 8.90625vw 0;
    font-size: 4.0625vw;
  }
}

section.blue-menu ul li a:hover {
  opacity: 0.6;
}

section.blue-menu ul li a span {
  display: inline-block;
  position: relative;
}

section.blue-menu ul li a span:after {
  background: #fff;
  content: " ";
  display: block;
  width: 110%;
  height: 1px;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}

section.blue-menu ul li:first-child a {
  background: url(../img/bg_btn01.png) no-repeat left top/contain;
}

@media only screen and (max-width: 736px) {
  section.blue-menu ul li:first-child a {
    background-size: cover;
  }
}

section.blue-menu ul li:last-child a {
  background: url(../img/bg_btn02.png) no-repeat left top/contain;
}

@media only screen and (max-width: 736px) {
  section.blue-menu ul li:last-child a {
    background-size: cover;
  }
}

.q-and-a {
  margin-bottom: 60px;
}

@media only screen and (max-width: 736px) {
  .q-and-a {
    margin-bottom: 9.375vw;
  }
}

.q-and-a:last-child {
  margin-bottom: 95px;
}

@media only screen and (max-width: 736px) {
  .q-and-a:last-child {
    margin-bottom: 14.84375vw;
  }
}

.q-and-a .question {
  width: 100%;
  border-left: 1px solid #0b318e;
  border-bottom: 1px solid #0b318e;
  padding: 10px 0 20px 20px;
  margin-bottom: 35px;
  box-sizing: border-box;
}

@media only screen and (max-width: 736px) {
  .q-and-a .question {
    width: 95%;
    padding: 1.5625vw 0 3.125vw 3.125vw;
    margin-bottom: 5.46875vw;
  }
}

.q-and-a .question h3 {
  font-size: 18px;
  letter-spacing: 0.2em;
  color: #0b318e;
  font-weight: bold;
}

@media only screen and (max-width: 736px) {
  .q-and-a .question h3 {
    font-size: 3.4375vw;
    line-height: 5.625vw;
  }
}

.q-and-a .answer {
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 175%;
  color: #231815;
}

@media only screen and (max-width: 736px) {
  .q-and-a .answer {
    font-size: 3.75vw;
  }
}

.q-and-a .answer-flex {
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 736px) {
  .q-and-a .answer-flex {
    display: block;
  }
}

.q-and-a .top-space {
  margin-top: 45px;
}

@media only screen and (max-width: 736px) {
  .q-and-a .top-space {
    margin-top: 7.03125vw;
  }
}

.number-btn, .page-btn {
  padding-bottom: 44px;
}

@media only screen and (max-width: 736px) {
  .number-btn, .page-btn {
    padding-bottom: 6.875vw;
  }
}

.number-btn ul, .page-btn ul {
  display: flex;
  justify-content: center;
}

.number-btn ul li, .page-btn ul li {
  line-height: 100%;
}

.number-btn ul li:not(:first-child), .page-btn ul li:not(:first-child) {
  margin-left: 15px;
}

@media only screen and (max-width: 736px) {
  .number-btn ul li:not(:first-child), .page-btn ul li:not(:first-child) {
    margin-left: 2.34375vw;
  }
}

.number-btn ul li a, .page-btn ul li a {
  background: #000000;
  display: inline-block;
  width: 60px;
  padding: 22px 0;
  color: #ffffff;
  font-size: 16px;
  text-align: center;
  opacity: 1;
  -webkit-transition-property: all;
  -webkit-transition-duration: 0.25s;
  -webkit-transition-timing-function: liner;
  -moz-transition-property: all;
  -moz-transition-duration: 0.25s;
  -moz-transition-timing-function: liner;
  -ms-transition-property: all;
  -ms-transition-duration: 0.25s;
  -ms-transition-timing-function: liner;
  transition-property: all;
  transition-duration: 0.25s;
  transition-timing-function: liner;
}

@media only screen and (max-width: 736px) {
  .number-btn ul li a, .page-btn ul li a {
    width: 3.90625vw;
    padding: 3.90625vw;
    font-size: 2.8125vw;
  }
}

.number-btn ul li a:hover, .page-btn ul li a:hover {
  opacity: 0.6;
}

.number-btn ul li .list-back, .page-btn ul li .list-back {
  width: 160px;
  letter-spacing: 0.06em;
}

@media only screen and (max-width: 736px) {
  .number-btn ul li .list-back, .page-btn ul li .list-back {
    letter-spacing: 0.2em;
  }
}

@media only screen and (max-width: 736px) {
  figure img.img_pc {
    display: none;
  }
}

figure img.img_sp {
  display: none;
}

@media only screen and (max-width: 736px) {
  figure img.img_sp {
    display: block;
    width: 80%;
    margin: 0 auto;
  }
}

.current {
  border-bottom: 1px solid #ff4347;
}

/**
 * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)
 * http://cssreset.com
 */
html, body, 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, sub, sup, tt, var,
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, main {
  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;
}

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}

.clearfix {
  display: inline-block;
}

/* Hides from IE Mac */
* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

/* End Hack */
/**
EC-CUBE リセット
 */
body {
  background: none;
}

.ec-layoutRole {
  background: none;
}

.ec-layoutRole .ec-layoutRole__contents {
  max-width: none;
}

html {
  font-size: 100%;
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1rem;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  color: #231815;
}

p, li, dt, dd, input, textarea, th, td {
  color: #000;
  line-height: 175%;
}

a {
  color: #000;
  text-decoration: none;
}

img {
  vertical-align: bottom;
}

.inner {
  width: 980px;
  margin: 0 auto;
}

@media only screen and (max-width: 1279px) {
  .inner {
    width: 80%;
  }
}

@media only screen and (max-width: 979px) {
  .inner {
    width: 80%;
  }
}

.pc {
  display: inherit;
}

@media only screen and (max-width: 736px) {
  .pc {
    display: none;
  }
}

.pc-min-1281 {
  display: none;
}

@media only screen and (min-width: 1281px) {
  .pc-min-1281 {
    display: inherit;
  }
}

.pc-1280 {
  display: none;
}

@media only screen and (max-width: 1280px) {
  .pc-1280 {
    display: inherit;
  }
}

@media only screen and (max-width: 768px) {
  .pc-1280 {
    display: none;
  }
}

.sp {
  display: none;
}

@media only screen and (max-width: 736px) {
  .sp {
    display: inherit;
  }
}

img.pc, br.pc, span.pc, strong.pc, small.pc {
  display: inline;
}

@media only screen and (max-width: 736px) {
  img.pc, br.pc, span.pc, strong.pc, small.pc {
    display: none;
  }
}

img.sp, br.sp, span.sp, strong.sp, small.sp {
  display: none;
}

@media only screen and (max-width: 736px) {
  img.sp, br.sp, span.sp, strong.sp, small.sp {
    display: inline;
  }
}

a[href^="tel"] {
  cursor: text;
}

@media only screen and (max-width: 736px) {
  a[href^="tel"] {
    cursor: pointer;
  }
}

span[data-aos],
strong[data-aos],
small[data-aos] {
  display: inline-block;
}

main {
  overflow: hidden;
}

main .wrapper {
  width: 1006px;
  margin: 0 auto;
}

@media only screen and (max-width: 1006px) {
  main .wrapper {
    width: 78.59375vw;
  }
}

@media only screen and (max-width: 768px) {
  main .wrapper {
    width: 94%;
  }
}

@media only screen and (max-width: 736px) {
  main .wrapper {
    width: 87.5vw;
  }
}

main .to_top {
  width: 76px;
  margin: 0 auto 30px;
  letter-spacing: 0.168em;
}

@media only screen and (max-width: 736px) {
  main .to_top {
    width: 18.125vw;
  }
}

main .to_top a {
  display: block;
  position: relative;
}

main .to_top a:before {
  position: absolute;
  display: block;
  height: 1px;
  width: 1px;
  content: " ";
  left: 50%;
  top: -24px;
  transform: translateX(-50%);
  border-bottom: #000 solid 12px;
  border-left: transparent solid 12px;
  border-right: transparent solid 12px;
  border-top: none;
}

body > footer {
  background: #021955;
  padding: 87px 0 105px;
  position: relative;
}

@media only screen and (max-width: 736px) {
  body > footer {
    padding: 13.59375vw 0 16.40625vw;
  }
}

body > footer .wrapper {
  width: 700px;
  margin: 0 auto;
}

@media only screen and (max-width: 736px) {
  body > footer .wrapper {
    width: 87.5vw;
  }
}

body > footer .contact {
  border: solid 1px #fff;
  margin-bottom: 60px;
  padding: 0 65px 40px;
}

@media only screen and (max-width: 736px) {
  body > footer .contact {
    padding: 0 10.15625vw 6.25vw;
    margin-bottom: 9.375vw;
  }
}

body > footer .contact h2 {
  margin-bottom: 35px;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  position: relative;
  transform: translateY(-50%);
}

@media only screen and (max-width: 736px) {
  body > footer .contact h2 {
    margin-bottom: 5.46875vw;
    font-size: 3.75vw;
  }
}

body > footer .contact h2 span {
  background: #021955;
  display: inline-block;
  padding: 0 33px;
  position: relative;
}

@media only screen and (max-width: 736px) {
  body > footer .contact h2 span {
    padding: 0 3.125vw;
  }
}

body > footer .contact h2 span:before, body > footer .contact h2 span:after {
  background: #fff;
  content: " ";
  display: block;
  width: 1px;
  height: 40PX;
  position: absolute;
  top: 50%;
}

@media only screen and (max-width: 736px) {
  body > footer .contact h2 span:before, body > footer .contact h2 span:after {
    height: 6.25vw;
  }
}

body > footer .contact h2 span:before {
  left: 0;
  transform: translateY(-50%) rotate(-25deg);
}

body > footer .contact h2 span:after {
  right: 0;
  transform: translateY(-50%) rotate(25deg);
}

body > footer .contact .row {
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 736px) {
  body > footer .contact .row {
    flex-wrap: wrap;
  }
}

@media only screen and (max-width: 736px) {
  body > footer .contact .row .btn {
    width: 100%;
    margin-bottom: 3.125vw;
  }
}

body > footer .contact .row p, body > footer .contact .row aside {
  color: #fff;
  font-size: 10px;
}

@media only screen and (max-width: 736px) {
  body > footer .contact .row p, body > footer .contact .row aside {
    font-size: 3.125vw;
  }
}

body > footer .contact .row p strong, body > footer .contact .row aside strong {
  display: inline-block;
  margin-bottom: 5px;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.1em;
}

@media only screen and (max-width: 736px) {
  body > footer .contact .row p strong, body > footer .contact .row aside strong {
    font-size: 4.0625vw;
  }
}

body > footer .contact .row p a, body > footer .contact .row aside a {
  color: #ffffff;
}

body > footer .f_nav {
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
}

@media only screen and (max-width: 736px) {
  body > footer .f_nav {
    display: none;
  }
}

body > footer .f_nav li {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.35em;
}

body > footer .f_nav li:not(:first-child) {
  border-left: solid 1px #fff;
  margin-left: 30px;
  padding-left: 30px;
}

body > footer .f_nav li a {
  color: #fff;
}

body > footer .copy {
  color: #fff;
  font-size: 10px;
  letter-spacing: 0.07em;
  text-align: center;
}

@media only screen and (max-width: 736px) {
  body > footer .copy {
    font-size: 3.125vw;
    text-align: left;
  }
}

body > footer .top-btn {
  right: 0;
  width: 52px;
  height: 52px;
  bottom: 0;
  position: fixed;
  z-index: 5000;
}

@media only screen and (max-width: 736px) {
  body > footer .top-btn {
    width: 8.125vw;
    height: 8.125vw;
  }
}

.fix_button {
  position: fixed;
  right: 0;
  top: 48px;
  z-index: 600;
}

@media only screen and (max-width: 736px) {
  .fix_button {
    display: none;
    justify-content: space-between;
    top: auto;
    left: 0;
    bottom: 0;
  }
}

@media only screen and (max-width: 736px) {
  .fix_button li {
    width: 49%;
  }
}

.fix_button li:not(:last-child) {
  margin-bottom: 5px;
}

@media only screen and (max-width: 736px) {
  .fix_button li:not(:last-child) {
    margin-bottom: 0;
  }
}

.fix_button li .c-block--button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 54px;
  height: 232px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.168em;
  position: relative;
  opacity: 1;
  -webkit-transition-property: all;
  -webkit-transition-duration: 0.25s;
  -webkit-transition-timing-function: liner;
  -moz-transition-property: all;
  -moz-transition-duration: 0.25s;
  -moz-transition-timing-function: liner;
  -ms-transition-property: all;
  -ms-transition-duration: 0.25s;
  -ms-transition-timing-function: liner;
  transition-property: all;
  transition-duration: 0.25s;
  transition-timing-function: liner;
}

@media only screen and (max-width: 736px) {
  .fix_button li .c-block--button {
    width: 100%;
    height: auto;
    padding: 3.125vw 0;
    font-size: 3.4375vw;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
  }
}

.fix_button li .c-block--button:hover {
  opacity: 0.6;
}

.fix_button li .c-block--button:before {
  content: " ";
  display: inline-block;
  width: 20px;
  height: 15px;
  margin-bottom: 20px;
}

@media only screen and (max-width: 736px) {
  .fix_button li .c-block--button:before {
    width: 3.125vw;
    height: 2.34375vw;
    margin-bottom: 0;
    margin-right: 3.125vw;
  }
}

.fix_button li.cnt a:before {
  background: url(../img/icon_mail.png) no-repeat left top/contain;
}

.fix_button li.download a:before {
  background: url(../img/icon_book.png) no-repeat left top/contain;
}

.index .mv {
  margin-bottom: 60px;
  position: relative;
}

@media only screen and (max-width: 736px) {
  .index .mv {
    margin-bottom: 9.375vw;
    padding-top: 16.79375vw;
  }
}

.index .mv:before {
  background: url(../img/bg_triangle01.png) no-repeat left top/contain;
  content: " ";
  display: block;
  width: 26.5625vw;
  height: 50.78125vw;
  position: absolute;
  left: 0;
  top: 0;
}

@media only screen and (max-width: 736px) {
  .index .mv:before {
    display: none;
  }
}

@media only screen and (max-width: 736px) {
  .index .mv::before {
    background: url(../img/bg_triangle01_sp.png) no-repeat left top/contain;
    content: " ";
    display: block;
    width: 49.84375vw;
    height: 55vw;
    position: absolute;
    left: 0;
    top: 16.875vw;
  }
}

.index .mv figure {
  text-align: right;
}

.index .mv figure img {
  width: 92.5vw;
}

@media only screen and (max-width: 736px) {
  .index .mv figure img {
    width: 100%;
  }
}

.index .mv p {
  position: absolute;
  left: 13.125vw;
  top: 50%;
  transform: translateY(-50%);
}

@media only screen and (max-width: 736px) {
  .index .mv p {
    left: 50%;
    top: 28.90625vw;
    transform: translateX(-50%);
  }
}

.index .mv p img {
  width: 39.29688vw;
}

@media only screen and (max-width: 736px) {
  .index .mv p img {
    width: 81.71875vw;
  }
}

.index .mv .mv-text_sp {
  display: none;
  position: absolute;
}

@media only screen and (max-width: 736px) {
  .index .mv .mv-text_sp {
    display: block;
    top: 23.59375vw;
    left: 50%;
    transform: translateX(-50%);
    font-size: 6.25vw;
    text-align: center;
    line-height: 7.65625vw;
    color: #231815;
    letter-spacing: 0.2em;
    width: 100%;
    text-shadow: 1px 2px 9px #ffffff;
    font-family: "小塚ゴシック Pr6N";
  }
}

@media only screen and (max-width: 736px) {
  .index .mv .mv-text_sp span {
    font-size: 2.5vw;
    line-height: 7.03125vw;
    letter-spacing: 0.2em;
  }
}

.abouts {
  padding-bottom: 75px;
  position: relative;
}

@media only screen and (max-width: 736px) {
  .abouts {
    padding-bottom: 11.71875vw;
  }
}

.abouts:after {
  content: " ";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 45.46875vw 23.59375vw;
  border-color: transparent transparent #eee transparent;
  position: absolute;
  right: 0;
  bottom: -6.64062vw;
  z-index: 1;
}

@media only screen and (max-width: 736px) {
  .abouts:after {
    bottom: -13.28125vw;
  }
}

.abouts figure, .abouts .btn, .abouts ul {
  position: relative;
  z-index: 2;
}

.abouts figure {
  margin-bottom: 47px;
  text-align: center;
}

@media only screen and (max-width: 736px) {
  .abouts figure {
    margin-bottom: 7.34375vw;
    display: none;
  }
}

.abouts figure img {
  width: 985px;
}

@media only screen and (max-width: 736px) {
  .abouts figure img {
    width: 80%;
  }
}

.abouts figure.img01_sp {
  display: none;
  text-align: center;
}

@media only screen and (max-width: 736px) {
  .abouts figure.img01_sp {
    display: block;
    margin-bottom: 11.71875vw;
  }
}

.abouts figure.img01_sp img {
  width: 80%;
}

.abouts .btn {
  margin-bottom: 60px;
  text-align: center;
}

@media only screen and (max-width: 736px) {
  .abouts .btn {
    margin-bottom: 9.375vw;
  }
}

@media only screen and (max-width: 736px) {
  .abouts .btn a {
    width: 71.875vw;
  }
}

.abouts ul {
  display: flex;
  justify-content: space-between;
  width: 940px;
  margin: 0 auto;
}

@media only screen and (max-width: 736px) {
  .abouts ul {
    flex-wrap: wrap;
    width: 87.5vw;
  }
}

.abouts ul li {
  width: 45.21277%;
}

@media only screen and (max-width: 736px) {
  .abouts ul li {
    width: 100%;
  }
  .abouts ul li:not(:last-child) {
    margin-bottom: 4.6875vw;
  }
}

.abouts ul li a {
  display: block;
  width: 100%;
  padding: 57px 0;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  opacity: 1;
  -webkit-transition-property: all;
  -webkit-transition-duration: 0.25s;
  -webkit-transition-timing-function: liner;
  -moz-transition-property: all;
  -moz-transition-duration: 0.25s;
  -moz-transition-timing-function: liner;
  -ms-transition-property: all;
  -ms-transition-duration: 0.25s;
  -ms-transition-timing-function: liner;
  transition-property: all;
  transition-duration: 0.25s;
  transition-timing-function: liner;
}

@media only screen and (max-width: 736px) {
  .abouts ul li a {
    padding: 8.90625vw 0;
    font-size: 4.0625vw;
  }
}

.abouts ul li a:hover {
  opacity: 0.6;
}

.abouts ul li a span {
  display: inline-block;
  position: relative;
}

.abouts ul li a span:after {
  background: #fff;
  content: " ";
  display: block;
  width: 110%;
  height: 1px;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}

.abouts ul li:first-child a {
  background: url(../img/bg_btn01.png) no-repeat left top/contain;
}

@media only screen and (max-width: 736px) {
  .abouts ul li:first-child a {
    background-size: cover;
  }
}

.abouts ul li:last-child a {
  background: url(../img/bg_btn02.png) no-repeat left top/contain;
}

@media only screen and (max-width: 736px) {
  .abouts ul li:last-child a {
    background-size: cover;
  }
}

.column, .case {
  padding: 85px 0 92px;
}

@media only screen and (max-width: 736px) {
  .column, .case {
    padding: 13.28125vw 0 14.375vw;
  }
}

.column .box, .case .box {
  background: #fff;
  width: 92.96875vw;
  padding: 88px 0 56px;
}

@media only screen and (max-width: 736px) {
  .column .box, .case .box {
    padding: 13.75vw 0 8.75vw;
  }
}

.column .inner, .case .inner {
  width: 68.90756%;
  margin: 0 auto;
}

@media only screen and (max-width: 736px) {
  .column .inner, .case .inner {
    width: 84%;
  }
}

.column .m-left, .case .m-left {
  margin: 0 14.45312vw 0 21.48438vw;
}

@media only screen and (max-width: 736px) {
  .column .m-left, .case .m-left {
    margin: 0 auto;
  }
}

.column h2, .case h2 {
  margin-bottom: 46px;
}

@media only screen and (max-width: 736px) {
  .column h2, .case h2 {
    margin-bottom: 7.1875vw;
  }
}

.column .posts, .case .posts {
  margin-bottom: 60px;
}

@media only screen and (max-width: 736px) {
  .column .posts, .case .posts {
    margin-bottom: 9.375vw;
  }
}

.column .btn, .case .btn {
  text-align: center;
position: absolute;
left: 0;
right: 0;
margin: auto;
}

.column aside, .case aside {
  background: #0088bc;
  background: linear-gradient(165deg, rgba(0, 136, 188, 0.1) 0%, rgba(11, 49, 142, 0.1) 100%);
  box-sizing: border-box;
  width: 850px;
  margin: 60px auto 0;
  padding: 50px 0;
}

@media only screen and (max-width: 850px) {
  .column aside, .case aside {
    width: 100%;
  }
}

@media only screen and (max-width: 736px) {
  .column aside, .case aside {
    margin: 9.375vw auto 0;
    padding: 7.8125vw 0;
  }
}

.column aside .row, .case aside .row {
  display: flex;
  justify-content: space-between;
  width: 73.29412%;
  margin: 0 auto;
}

@media only screen and (max-width: 736px) {
  .column aside .row, .case aside .row {
    flex-wrap: wrap;
  }
}

.column aside .row p, .case aside .row p {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.1em;
}

@media only screen and (max-width: 736px) {
  .column aside .row p, .case aside .row p {
    margin-bottom: 3.125vw;
    font-size: 4.0625vw;
  }
}

@media only screen and (max-width: 736px) {
  .column aside .row .btn, .case aside .row .btn {
    width: 100%;
  }
}

.column {
  background: url(../img/bg_gradient.png) no-repeat center top/cover;
}

.case {
  background: #eee;
  display: flex;
  justify-content: flex-end;
  position: relative;
}

.case:before {
  background: url(../img/bg_triangle02.png) no-repeat left top/contain;
  content: " ";
  display: block;
  width: 23.67188vw;
  height: 45.3125vw;
  position: absolute;
  left: 0;
  top: -1px;
}

.case:after {
  content: " ";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 32.34375vw 16.875vw;
  border-color: transparent transparent rgba(0, 24, 84, 0.8) transparent;
  position: absolute;
  right: 0;
  bottom: 0;
}

#function {
  padding-top: 35px;
}

@media only screen and (max-width: 736px) {
  #function {
    overflow: hidden;
    padding-top: 16.875vw;
  }
}

#function section.function-bg img {
  width: 100%;
}

#function section.function-bg .breadlist {
  font-size: 12px;
  letter-spacing: 0.32em;
  color: #888888;
}

@media only screen and (max-width: 736px) {
  #function section.function-bg .breadlist {
    font-size: 1.875vw;
  }
}

#function section.function-bg .breadlist ul {
  display: flex;
  margin-top: 48px;
  margin-left: 130px;
}

@media only screen and (max-width: 736px) {
  #function section.function-bg .breadlist ul {
    margin-top: 7.5vw;
    margin-left: 20.3125vw;
  }
}

#function section.function-bg .breadlist ul li a {
  text-decoration: underline;
  color: #888888;
}

#function section.function-bg .breadlist ul li::after {
  content: ">";
  margin: 0 20px;
}

@media only screen and (max-width: 736px) {
  #function section.function-bg .breadlist ul li::after {
    margin-left: 3.125vw;
    margin-right: 3.125vw;
  }
}

#function section.function-bg .breadlist ul li:last-child::after {
  content: "";
  margin: 0;
}

#function section.solution {
  text-align: center;
}

#function section.solution p {
  font-size: 20px;
  line-height: 36px;
  color: #3e3a39;
  margin-top: 58px;
}

@media only screen and (max-width: 736px) {
  #function section.solution p {
    font-size: 4.6875vw;
    letter-spacing: 0.16em;
    line-height: 5.625vw;
    margin-top: 9.0625vw;
  }
}

#function section.solution img {
  margin-top: 50px;
  width: 997px;
}

@media only screen and (max-width: 736px) {
  #function section.solution img {
    margin-top: 7.8125vw;
    width: 80%;
  }
}

#function section.sol-table {
  background-color: #eeeeee;
  margin-top: 66px;
  padding: 50px 0;
}

@media only screen and (max-width: 736px) {
  #function section.sol-table {
    margin-top: 10.3125vw;
    padding: 7.8125vw 0;
  }
}

#function section.sol-table table {
  font-size: 14px;
  margin: 0 auto;
  color: #3e3a39;
}

@media only screen and (max-width: 736px) {
  #function section.sol-table table {
    font-size: 3.75vw;
  }
}

#function section.sol-table table tr {
  height: 120px;
  border-bottom: 1px dashed #b4b4b5;
  padding-left: 32px;
}

@media only screen and (max-width: 736px) {
  #function section.sol-table table tr {
    height: 18.75vw;
    padding-left: 5vw;
  }
}

#function section.sol-table table tr td {
  vertical-align: middle;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.08em;
  padding-left: 21px;
  padding-right: 28px;
}

@media only screen and (max-width: 736px) {
  #function section.sol-table table tr td {
    display: block;
    width: 80%;
    margin: 40px auto;
    font-size: 3.75vw;
    line-height: 5.46875vw;
    padding: 0;
  }
}

#function section.sol-table table tr td p {
  margin-top: 5px;
}

@media only screen and (max-width: 736px) {
  #function section.sol-table table tr td p {
    margin-top: 0.78125vw;
  }
}

#function section.sol-table table tr th {
  border-right: 1px dashed #b4b4b5;
  height: 99px;
  padding-top: 20px;
  padding-right: 40px;
}

@media only screen and (max-width: 736px) {
  #function section.sol-table table tr th {
    display: block;
    height: 12.46875vw;
    border-right: none;
    padding-top: 0;
  }
}

#function section.sol-table table tr th span.sol-s {
  color: #0b318e;
  font-size: 17px;
  letter-spacing: -0.02em;
  font-family: "Noto Serif JP Light";
  line-height: 39px;
}

@media only screen and (max-width: 736px) {
  #function section.sol-table table tr th span.sol-s {
    font-size: 4.21875vw;
    line-height: 6.09375vw;
  }
}

#function section.sol-table table tr th span.sol-n {
  color: #0b318e;
  font-size: 27px;
  font-family: "Noto Serif JP SemiBold";
  line-height: 39px;
}

@media only screen and (max-width: 736px) {
  #function section.sol-table table tr th span.sol-n {
    font-size: 5.78125vw;
    line-height: 5.09375vw;
  }
}

#function section.sol-table table tr th span.sol-t1 {
  font-size: 17px;
  font-weight: bold;
  color: #0b318e;
  letter-spacing: 0.08em;
  line-height: 21px;
}

@media only screen and (max-width: 736px) {
  #function section.sol-table table tr th span.sol-t1 {
    font-size: 4.21875vw;
    line-height: 4.28125vw;
  }
}

#function section.sol-table table tr th span.sol-t2 {
  font-size: 14px;
  line-height: 17px;
  letter-spacing: 0.08em;
}

@media only screen and (max-width: 736px) {
  #function section.sol-table table tr th span.sol-t2 {
    font-size: 3.75vw;
    line-height: 3.65625vw;
  }
}

#function section.sol-table table tr th:first-child {
  border-right: none;
  padding-left: 33px;
}

@media only screen and (max-width: 736px) {
  #function section.sol-table table tr th:first-child {
    padding-left: 0;
    padding-top: 3vw;
    padding-right: 0;
  }
}

#function section.sol-table table tr th:nth-child(2) {
  padding-right: 28px;
  text-align: left;
}

@media only screen and (max-width: 736px) {
  #function section.sol-table table tr th:nth-child(2) {
    text-align: center;
    padding-right: 0;
  }
}

#function section.sol-table table tr:nth-child(even) {
  background: #fff;
}

#function section.sol-table table tr:last-child {
  border-bottom: none;
}

#function section.blue-menu ul {
  display: flex;
  justify-content: space-between;
  width: 940px;
  margin: 76px auto;
}

@media only screen and (max-width: 736px) {
  #function section.blue-menu ul {
    flex-wrap: wrap;
    width: 87.5vw;
    margin: 11.875vw auto;
  }
}

#function section.blue-menu ul li {
  width: 47.87234%;
}

@media only screen and (max-width: 736px) {
  #function section.blue-menu ul li {
    width: 100%;
  }
  #function section.blue-menu ul li:not(:last-child) {
    margin-bottom: 4.6875vw;
  }
}

#function section.blue-menu ul li a {
  display: block;
  width: 100%;
  padding: 61px 0;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  opacity: 1;
  -webkit-transition-property: all;
  -webkit-transition-duration: 0.25s;
  -webkit-transition-timing-function: liner;
  -moz-transition-property: all;
  -moz-transition-duration: 0.25s;
  -moz-transition-timing-function: liner;
  -ms-transition-property: all;
  -ms-transition-duration: 0.25s;
  -ms-transition-timing-function: liner;
  transition-property: all;
  transition-duration: 0.25s;
  transition-timing-function: liner;
}

@media only screen and (max-width: 736px) {
  #function section.blue-menu ul li a {
    padding: 8.90625vw 0;
    font-size: 4.0625vw;
  }
}

#function section.blue-menu ul li a:hover {
  opacity: 0.6;
}

#function section.blue-menu ul li a span {
  display: inline-block;
  position: relative;
}

#function section.blue-menu ul li a span:after {
  background: #fff;
  content: " ";
  display: block;
  width: 110%;
  height: 1px;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}

#function section.blue-menu ul li:first-child a {
  background: url(../img/bg_btn01.png) no-repeat left top/contain;
}

@media only screen and (max-width: 736px) {
  #function section.blue-menu ul li:first-child a {
    background-size: cover;
  }
}

#function section.blue-menu ul li:last-child a {
  background: url(../img/bg_btn02.png) no-repeat left top/contain;
}

@media only screen and (max-width: 736px) {
  #function section.blue-menu ul li:last-child a {
    background-size: cover;
  }
}

@media only screen and (max-width: 736px) {
  #column {
    padding-top: 16.875vw;
  }
}

.column-list {
  margin-bottom: 6.25vw;
}

@media only screen and (max-width: 736px) {
  .column-list {
    margin-bottom: 12.5vw;
  }
}

.column-page01 .wrapper {
  width: 75%;
  max-width: 1000px;
  margin: 0 auto;
}

@media only screen and (max-width: 736px) {
  .column-page01 .wrapper {
    width: 85%;
  }
}

.column-page01 .wrapper .text .date {
  font-size: 12px;
  letter-spacing: 0.3em;
  color: #231815;
  margin-bottom: 20px;
}

@media only screen and (max-width: 736px) {
  .column-page01 .wrapper .text .date {
    font-size: 2.8125vw;
    margin-bottom: 3.125vw;
  }
}

.column-page01 .wrapper .text h2 {
  font-size: 22px;
  letter-spacing: 0.2em;
  color: #0b318e;
  margin-bottom: 45px;
  font-weight: bold;
}

@media only screen and (max-width: 736px) {
  .column-page01 .wrapper .text h2 {
    font-size: 3.75vw;
    margin-bottom: 7.03125vw;
  }
}

.column-page01 .wrapper figure {
  width: 100%;
  margin-bottom: 60px;
}

@media only screen and (max-width: 736px) {
  .column-page01 .wrapper figure {
    height: 46.875vw;
    margin-bottom: 9.375vw;
  }
}

.column-page01 .wrapper figure img {
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 736px) {
  .column-page01 .wrapper figure img {
    height: 100%;
  }
}

@media only screen and (max-width: 736px) {
  #exanples {
    padding-top: 16.875vw;
    overflow: hidden;
  }
}

#exanples .case-studies {
  padding-bottom: 46px;
}

@media only screen and (max-width: 736px) {
  #exanples .case-studies {
    padding-bottom: 7.1875vw;
  }
}

#exanples .case-studies:nth-child(odd) {
  background: #eeeeee;
}

#exanples .space-top {
  padding-top: 110px;
}

@media only screen and (max-width: 736px) {
  #exanples .space-top {
    padding-top: 17.1875vw;
  }
}

#exanples .wrapper {
  width: 75%;
  margin: 0 auto;
  max-width: 1000px;
}

@media only screen and (max-width: 736px) {
  #exanples .wrapper {
    width: 85%;
  }
}

#exanples .wrapper .case-flex {
  display: flex;
  margin-bottom: 35px;
}

@media only screen and (max-width: 736px) {
  #exanples .wrapper .case-flex {
    display: block;
    margin-bottom: 5.46875vw;
  }
}

#exanples .wrapper .case-flex figure {
  width: 50%;
  margin-right: 50px;
}

@media only screen and (max-width: 736px) {
  #exanples .wrapper .case-flex figure {
    width: 100%;
　　height: 100%;
    margin-right: 0;
    margin-bottom: 3.125vw;
  }
}

#exanples .wrapper .case-flex figure img {
  width: 100%;
}

#exanples .wrapper .case-flex .ex-description {
  width: 46vw;
}

@media only screen and (max-width: 736px) {
  #exanples .wrapper .case-flex .ex-description {
    width: 100%;
  }
}

#exanples .wrapper .case-flex .ex-description .dsc01 {
  font-size: 18px;
  line-height: 175%;
  color: #3e3a39;
  letter-spacing: 0.16em;
  margin-bottom: 40px;
  font-weight: bold;
}

@media only screen and (max-width: 736px) {
  #exanples .wrapper .case-flex .ex-description .dsc01 {
    font-size: 3.125vw;
    margin-bottom: 6.25vw;
  }
}

#exanples .wrapper .case-flex .ex-description .dsc02 {
  font-size: 20px;
  letter-spacing: 0.26em;
  color: #0b318e;
  margin-bottom: 30px;
  font-weight: bold;
}

@media only screen and (max-width: 736px) {
  #exanples .wrapper .case-flex .ex-description .dsc02 {
    font-size: 3.75vw;
    margin-bottom: 4.6875vw;
  }
}

#exanples .wrapper .case-flex .ex-description .dsc03 {
  font-size: 12px;
  line-height: 175%;
  letter-spacing: 0.26em;
}

@media only screen and (max-width: 736px) {
  #exanples .wrapper .case-flex .ex-description .dsc03 {
    font-size: 3.4375vw;
    letter-spacing: 0.16em;
  }
}

#exanples .wrapper table {
  width: 100%;
  margin-bottom: 48px;
}

#exanples .wrapper table tr:nth-child(2), #exanples .wrapper table tr:nth-child(6) {
  background: #eee;
}

@media only screen and (max-width: 736px) {
  #exanples .wrapper table tr:nth-child(2), #exanples .wrapper table tr:nth-child(6) {
    background: none;
  }
}

#exanples .wrapper table tr th {
  font-size: 16px;
  letter-spacing: 0.08em;
  color: #0b318e;
  vertical-align: middle;
  text-align: left;
  padding-left: 20px;
  display: table-cell;
}

@media only screen and (max-width: 736px) {
  #exanples .wrapper table tr th {
    font-size: 4.0625vw;
    padding-left: 0;
    margin-bottom: 0.78125vw;
  }
}

@media only screen and (max-width: 736px) {
  #exanples .wrapper table tr th.th_sp {
    display: none;
  }
}

#exanples .wrapper table tr td {
  font-size: 12px;
  letter-spacing: 0.26em;
  line-height: 175%;
  padding: 20px;
}

@media only screen and (max-width: 736px) {
  #exanples .wrapper table tr td {
    font-size: 3.4375vw;
    padding: 0;
    padding-bottom: 3.125vw;
  }
}

#exanples .wrapper table tr td ul li::before {
  display: inline-block;
  content: ' ';
  background: #000;
  width: 13px;
  height: 13px;
  border-radius: 100%;
  margin-right: 0.23438vw;
}

@media only screen and (max-width: 736px) {
  #exanples .wrapper table tr td ul li::before {
    width: 2.03125vw;
    height: 2.03125vw;
  }
}

#exanples .wrapper table.white2 tr:nth-child(2), #exanples .wrapper table.white2 tr:nth-child(6) {
  background: #ffffff;
}

@media only screen and (max-width: 736px) {
  #exanples .wrapper table.white2 tr:nth-child(2), #exanples .wrapper table.white2 tr:nth-child(6) {
    background: #eeeeee;
  }
}

#exanples .wrapper .page-btn {
  text-align: center;
}

#exanples .wrapper .page-btn a {
  background: #000000;
  display: inline-block;
  width: 340px;
  padding: 22px 0;
  color: #ffffff;
  font-size: 16px;
  text-align: center;
  opacity: 1;
  -webkit-transition-property: all;
  -webkit-transition-duration: 0.25s;
  -webkit-transition-timing-function: liner;
  -moz-transition-property: all;
  -moz-transition-duration: 0.25s;
  -moz-transition-timing-function: liner;
  -ms-transition-property: all;
  -ms-transition-duration: 0.25s;
  -ms-transition-timing-function: liner;
  transition-property: all;
  transition-duration: 0.25s;
  transition-timing-function: liner;
}

@media only screen and (max-width: 736px) {
  #exanples .wrapper .page-btn a {
    padding: 3.4375vw 0;
    font-size: 3.4375vw;
    letter-spacing: 0.08em;
    width: 53.125vw;
  }
}

#exanples .wrapper .page-btn a:hover {
  opacity: 0.6;
}

@media only screen and (max-width: 736px) {
  #examples-page {
    padding-top: 16.875vw;
  }
}

#examples-page .wrapper {
  width: 75%;
  max-width: 1000px;
  margin: 0 auto;
}

@media only screen and (max-width: 736px) {
  #examples-page .wrapper {
    width: 85%;
  }
}

#examples-page .wrapper .title-top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 67px;
}

@media only screen and (max-width: 736px) {
  #examples-page .wrapper .title-top {
    display: block;
    margin-bottom: 10.46875vw;
  }
}

#examples-page .wrapper .title-top p {
  font-size: 13px;
  letter-spacing: 0.2em;
}

@media only screen and (max-width: 736px) {
  #examples-page .wrapper .title-top p {
    font-size: 3.59375vw;
  }
}

#examples-page .wrapper .title-text {
  margin-bottom: 40px;
}

#examples-page .wrapper .title-text h2 {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.16em;
  color: #0b318e;
  margin-bottom: 33px;
}

@media only screen and (max-width: 736px) {
  #examples-page .wrapper .title-text h2 {
    font-size: 5.3125vw;
    margin-bottom: 5.15625vw;
  }
}

#examples-page .wrapper .title-text p {
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 175%;
}

@media only screen and (max-width: 736px) {
  #examples-page .wrapper .title-text p {
    font-size: 4.6875vw;
    letter-spacing: 0.08em;
  }
}

#examples-page .wrapper figure {
  margin-bottom: 40px;
  position: relative;
}

@media only screen and (max-width: 736px) {
  #examples-page .wrapper figure {
    margin-bottom: 6.25vw;
    margin-top: 3.125vw;
  }
}

@media only screen and (max-width: 736px) {
  #examples-page .wrapper figure {
    margin-bottom: 6.25vw;
  }
}

#examples-page .wrapper figure img {
  width: 100%;
  height: 100%;
}

#examples-page .wrapper figure figcaption {
  text-align: right;
  width: 100%;
  background: #000;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 107px;
  letter-spacing: 0.08em;
}

@media only screen and (max-width: 736px) {
  #examples-page .wrapper figure figcaption {
    height: 10.9375vw;
  }
}

#examples-page .wrapper figure figcaption p {
  color: #ffffff;
  margin-top: 8px;
  margin-right: 10px;
  font-size: 16px;
}

@media only screen and (max-width: 736px) {
  #examples-page .wrapper figure figcaption p {
    margin-top: 0.46875vw;
    margin-right: 0.46875vw;
    font-size: 1.875vw;
  }
}

#examples-page .wrapper .description {
  margin-bottom: 65px;
}

@media only screen and (max-width: 736px) {
  #examples-page .wrapper .description {
    margin-bottom: 10.15625vw;
  }
}

#examples-page .wrapper .description p {
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 175%;
}

@media only screen and (max-width: 736px) {
  #examples-page .wrapper .description p {
    font-size: 3.75vw;
  }
}

#examples-page .wrapper .format-box {
  background: #eeeeee;
  text-align: center;
  margin-bottom: 45px;
}

@media only screen and (max-width: 736px) {
  #examples-page .wrapper .format-box {
    margin-bottom: 7.03125vw;
  }
}

#examples-page .wrapper .format-box p {
  font-size: 18px;
  letter-spacing: 0.2em;
  padding: 25px 0;
}

@media only screen and (max-width: 736px) {
  #examples-page .wrapper .format-box p {
    font-size: 3.75vw;
    padding: 3.90625vw;
  }
}

#examples-page .wrapper .number-btn ul {
  justify-content: normal;
}

#examples-page .wrapper .number-btn ul li a {
  background: #eeeeee;
  color: #000;
}

#examples-page .wrapper .number-btn ul li a:hover {
  background: #000;
  color: #fff;
  opacity: 1;
}

#examples-page .wrapper .number-btn ul li:first-child a {
  background: #000;
  color: #ffffff;
}

@media only screen and (max-width: 736px) {
  #examples-page .number-btn {
    padding-bottom: 12.5vw;
  }
}

.figure-left {
  margin-left: 20px;
}

@media only screen and (max-width: 736px) {
  .figure-left {
    margin-left: 0;
  }
}

@media only screen and (max-width: 736px) {
  #result {
    padding-top: 16.875vw;
  }
}

#result h2 {
  font-size: 20px;
  color: #3e3a39;
  text-align: center;
  margin-bottom: 57px;
  letter-spacing: 0.16em;
}

@media only screen and (max-width: 736px) {
  #result h2 {
    font-size: 3.90625vw;
    line-height: 5.625vw;
    margin-bottom: 8.90625vw;
  }
}

#result .wrapper {
  width: 75%;
  max-width: 1000px;
  margin: 0 auto;
}

@media only screen and (max-width: 736px) {
  #result .wrapper {
    width: 85%;
  }
}

#result section h3 {
  color: #0b318e;
  font-size: 17px;
  margin-bottom: 20px;
  letter-spacing: 0.1em;
}

@media only screen and (max-width: 736px) {
  #result section h3 {
    font-size: 3.4375vw;
    margin-bottom: 1.5625vw;
    line-height: 4.375vw;
  }
}

#result section table {
  text-align: left;
  width: 100%;
  margin-bottom: 68px;
}

@media only screen and (max-width: 736px) {
  #result section table {
    display: block;
    overflow: scroll;
    white-space: nowrap;
    margin-bottom: 10.625vw;
  }
}

#result section table tr:nth-child(odd) {
  background: #eeeeee;
}

#result section table tr th {
  background: #0b318e;
  color: #ffffff;
  font-size: 16px;
  text-align: center;
  letter-spacing: 0.08em;
  padding: 5px 0;
}

@media only screen and (max-width: 736px) {
  #result section table tr th {
    font-size: 3.4375vw;
    padding: 0.78125vw 0;
  }
}

#result section table tr th:not(:last-child) {
  border-right: 1px dashed #b4b4b5;
}

#result section table tr td {
  font-size: 14px;
  color: #3e3a39;
  border-bottom: 1px dashed #b4b4b5;
  vertical-align: middle;
  padding: 12px 62px;
  letter-spacing: 0.08em;
  line-height: 22px;
  text-align: center;
}

@media only screen and (max-width: 736px) {
  #result section table tr td {
    font-size: 2.8125vw;
    padding: 1.875vw 9.6875vw;
    line-height: 4.0625vw;
  }
}

#result section table tr td:not(:last-child) {
  border-right: 1px dashed #b4b4b5;
}

#result section table tr td:last-child {
  text-align: left;
  width: 61%;
  padding-left: 23px;
}

#result .solution-table02 td {
  padding: 12px 15px;
  text-align: left;
}

@media only screen and (max-width: 736px) {
  #result .solution-table02 td {
    padding: 1.875vw 2.34375vw;
  }
}

#result .solution-table02 td:first-child {
  width: 9%;
  text-align: center;
}

@media only screen and (max-width: 736px) {
  #product {
    padding-top: 16.875vw;
  }
}

#product section.product-table .wrapper {
  width: 940px;
  margin: 0 auto;
  position: relative;
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper {
    width: 93.75vw;
    margin-bottom: 14.0625vw;
  }
}

#product section.product-table .wrapper h2 {
  font-size: 20px;
  line-height: 180%;
  letter-spacing: 0.16em;
  text-align: center;
  margin-bottom: 60px;
  color: #3e3a39;
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper h2 {
    font-size: 4.6875vw;
    font-weight: bold;
    margin-bottom: 9.375vw;
  }
}

#product section.product-table .wrapper .gray-back {
  background: #eeeeee;
  width: 100%;
  padding: 80px 0 80px 30px;
  border-radius: 30px;
}

#product section.product-table .wrapper .gray-back:not(:first-child) {
  margin-top: 10px;
}

#product section.product-table .wrapper .gray-back p {
  font-size: 16px;
  letter-spacing: 0.08em;
  color: #3e3a39;
}

#product section.product-table .wrapper .products-scale {
  margin-bottom: 38px;
  position: relative;
}

#product section.product-table .wrapper .products-scale .row {
  position: relative;
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .scale_row {
    display: flex;
    justify-content: space-between;
  }
}

#product section.product-table .wrapper .products-scale .scale {
  background: #eee;
  box-sizing: border-box;
  border-radius: 20px;
  display: flex;
  align-items: center;
  width: 100%;
  height: 195px;
  padding-left: 30px;
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .scale {
    display: block;
    border-radius: 3.125vw;
    width: 46.875vw;
    height: 128.75vw;
    padding-top: 5.46875vw;
    padding-left: 0;
    margin-bottom: 0;
    font-size: 3.75vw;
    text-align: center;
  }
}

#product section.product-table .wrapper .products-scale .flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 750px;
  position: absolute;
  right: 14px;
  top: 20px;
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .flex {
    display: block;
    width: 88.4375vw;
    right: 50%;
    top: 14.0625vw;
    transform: translateX(50%);
  }
}

#product section.product-table .wrapper .products-scale .col {
  background: #fff;
  box-sizing: border-box;
  border-radius: 20px;
  width: 48%;
  padding: 10px 18px;
  position: relative;
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .col {
    width: 100%;
    border-radius: 3.125vw;
    padding: 3.125vw 4.6875vw;
  }
  #product section.product-table .wrapper .products-scale .col:not(:last-child) {
    margin-bottom: 3.90625vw;
  }
}

#product section.product-table .wrapper .products-scale .col.col-2 {
  width: 64%;
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .col.col-2 {
    width: 100%;
  }
}

#product section.product-table .wrapper .products-scale .col .name {
  margin-bottom: 15px;
  color: #0b318e;
  font-size: 16px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.1em;
  text-align: center;
}

#product section.product-table .wrapper .products-scale .col .name small {
  color: #000;
  font-size: 14px;
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .col .name small {
    font-size: 3.125vw;
  }
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .col .name {
    margin-bottom: 3.125vw;
    font-size: 3.4375vw;
  }
}

#product section.product-table .wrapper .products-scale .col .name a {
  color: #0b318e;
  text-decoration: underline;
}

#product section.product-table .wrapper .products-scale .col h3, #product section.product-table .wrapper .products-scale .col h4 {
  margin-bottom: 5px;
  font-size: 14px;
  font-weight: 500;
  line-height: 142.85714%;
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .col h3, #product section.product-table .wrapper .products-scale .col h4 {
    margin-bottom: 0;
    font-size: 2.8125vw;
  }
}

#product section.product-table .wrapper .products-scale .col h3 {
  text-align: center;
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .col h3 {
    margin-bottom: 1.5625vw;
  }
}

#product section.product-table .wrapper .products-scale .col ul.list li {
  padding-left: 1em;
  font-size: 14px;
  font-weight: 200;
  letter-spacing: 0.08em;
  line-height: 157.14286%;
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .col ul.list li {
    font-size: 2.8125vw;
  }
}

#product section.product-table .wrapper .products-scale .col ul.list > li {
  list-style-type: disc;
  list-style-position: inside;
  text-indent: -1em;
}

#product section.product-table .wrapper .products-scale .col ul.list > li ul > li {
  position: relative;
}

#product section.product-table .wrapper .products-scale .col ul.list > li ul > li:before {
  content: "-";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}

#product section.product-table .wrapper .products-scale .col .case_list {
  margin-top: 19px;
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .col .case_list {
    margin-top: 2.96875vw;
  }
}

#product section.product-table .wrapper .products-scale .col .case_list p {
  font-size: 14px;
  font-weight: 200;
  line-height: 150%;
  letter-spacing: 0.08em;
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .col .case_list p {
    font-size: 2.8125vw;
  }
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .col.cloud {
    padding-bottom: 9.375vw;
  }
}

#product section.product-table .wrapper .products-scale .col.cloud .case_list {
  position: relative;
}

#product section.product-table .wrapper .products-scale .col.cloud .case_list:before {
  background: url(../products/img/cloud.png) no-repeat left top/contain;
  content: " ";
  display: block;
  width: 67px;
  height: 44px;
  position: absolute;
  right: 0;
  top: -13px;
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .col.cloud .case_list:before {
    width: 12.1875vw;
    height: 7.96875vw;
    right: auto;
    top: auto;
    left: 0;
    bottom: -6.875vw;
    transform: translateX(-100%);
  }
}

#product section.product-table .wrapper .products-scale .col > a .name {
  text-decoration: underline;
}

#product section.product-table .wrapper .products-scale .col > a:hover .name {
  text-decoration: none;
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .row.col_count_1 {
    margin-top: 5.625vw;
  }
}

#product section.product-table .wrapper .products-scale .row.col_count_1 .flex {
  right: auto;
  left: 175px;
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .row.col_count_1 .flex {
    left: auto;
    right: 50%;
    bottom: 0;
  }
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .row.col_count_1 .scale {
    width: 100%;
    height: 57.03125vw;
  }
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .inner_row {
    display: flex;
    justify-content: space-between;
  }
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .inner_row ul.list {
    width: 40.46875vw;
  }
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper .products-scale .inner_row .case_list {
    width: 30.625vw;
  }
}

#product section.product-table .wrapper ul.navigation {
  margin-bottom: 50px;
  display: flex;
  justify-content: center;
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper ul.navigation {
    display: block;
    text-align: center;
    margin-bottom: 0;
  }
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper ul.navigation li:first-child {
    margin-bottom: 4.6875vw;
  }
}

#product section.product-table .wrapper ul.navigation li:first-child::after {
  content: "|";
  margin: 0 10px;
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper ul.navigation li:first-child::after {
    content: " ";
    margin: 0 0;
  }
}

#product section.product-table .wrapper ul.navigation li a {
  color: #0b318e;
  text-decoration: underline;
  font-size: 16px;
  letter-spacing: 0.1em;
}

@media only screen and (max-width: 736px) {
  #product section.product-table .wrapper ul.navigation li a {
    font-size: 4.0625vw;
    font-weight: bold;
  }
}

#product section.product-table .wrapper ul.navigation li a:hover {
  text-decoration: none;
}

#product section.product-case {
  background: #eeeeee;
  padding-top: 73px;
}

#product section.product-case .wrapper {
  width: 940px;
  margin: 0 auto;
}

@media only screen and (max-width: 940px) {
  #product section.product-case .wrapper {
    width: 73.4375vw;
  }
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper {
    width: 85%;
  }
}

#product section.product-case .wrapper .case-recommended {
  display: flex;
  justify-content: space-around;
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper .case-recommended {
    display: none;
  }
}

#product section.product-case .wrapper .case-recommended p {
  font-size: 16px;
  letter-spacing: 0.08em;
  color: #0b318e;
  margin-bottom: 20px;
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper .case-recommended p {
    font-size: 4.0625vw;
    margin-bottom: 3.125vw;
  }
}

#product section.product-case .wrapper .case-recommended p.p-left {
  margin-left: 145px;
}

#product section.product-case .wrapper .case-flex {
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper .case-flex {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
}

#product section.product-case .wrapper .case-flex:not(:last-child) {
  margin-bottom: 10px;
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper .case-flex:not(:last-child) {
    margin-bottom: 6.5625vw;
  }
}

#product section.product-case .wrapper .case-flex:last-child {
  padding-bottom: 7.1875vw;
}

#product section.product-case .wrapper .case-flex .want {
  background: #ffffff;
  border-radius: 10px;
  width: 470px;
  min-height: 120px;
  position: relative;
  display: flex;
  align-items: center;
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper .case-flex .want {
    width: 100%;
    margin-bottom: 6.5625vw;
    min-height: auto;
    display: block;
  }
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper .case-flex .want p {
    text-align: center;
    font-size: 3.75vw;
    font-weight: bold;
    color: #0b318e;
    padding-top: 2.34375vw;
  }
}

#product section.product-case .wrapper .case-flex .want ul {
  padding: 10px 20px 15px;
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper .case-flex .want ul {
    padding: 1.5625vw 3.125vw 6.25vw;
  }
}

#product section.product-case .wrapper .case-flex .want ul li {
  font-size: 14px;
  color: #3e3a39;
  margin-top: 4px;
  padding-left: 16px;
  line-height: 157.14286%;
  position: relative;
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper .case-flex .want ul li {
    font-size: 3.75vw;
  }
}

#product section.product-case .wrapper .case-flex .want ul li::before {
  display: inline-block;
  content: ' ';
  background: #000;
  width: 13px;
  height: 13px;
  border-radius: 100%;
  position: absolute;
  left: 0;
  top: 5px;
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper .case-flex .want ul li::before {
    width: 2.34375vw;
    height: 2.34375vw;
    top: 2.03125vw;
  }
}

#product section.product-case .wrapper .case-flex .want img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -2.5vw;
  width: 2.47055vw;
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper .case-flex .want img {
    width: 5.625vw;
    top: auto;
    right: 50%;
    bottom: -3.75vw;
    transform: translateX(50%) rotate(90deg);
  }
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper .case-flex .last-want_sp {
    width: 84.375vw;
    height: 18.75vw;
  }
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper .case-flex .last-want_sp ul {
    padding-top: 0;
  }
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper .case-flex .last-want_sp img {
    top: 20vw;
  }
}

#product section.product-case .wrapper .case-flex .system {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 430px;
  min-height: 120px;
  position: relative;
}

#product section.product-case .wrapper .case-flex .system a {
  background: #0b318e;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

#product section.product-case .wrapper .case-flex .system a:hover {
  opacity: 0.6;
}

#product section.product-case .wrapper .case-flex .system a .box {
  display: block;
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper .case-flex .system {
    width: 100%;
    height: 35.9375vw;
    position: relative;
  }
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper .case-flex .system p.osusume_sp {
    text-align: center;
    font-size: 3.75vw;
    font-weight: bold;
    color: #ffffff;
    text-decoration: none;
  }
}

#product section.product-case .wrapper .case-flex .system p {
  line-height: 155%;
  font-size: 20px;
  letter-spacing: 0.08em;
  color: #ffffff;
  text-align: center;
  text-decoration: underline;
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper .case-flex .system p {
    font-size: 4.6875vw;
    line-height: 7.26562vw;
  }
}

#product section.product-case .wrapper .case-flex .system p.no-under {
  text-decoration: none;
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper .case-flex .last-system_sp {
    width: 84.375vw;
    min-height: auto;
    height: 23.4375vw;
  }
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper .case-flex .last-system_sp p.osusume_sp {
    position: relative;
  }
}

@media only screen and (max-width: 736px) {
  #product section.product-case .wrapper .case-flex .last-system_sp p.line-one {
    padding-top: 0;
  }
}

@media only screen and (max-width: 736px) {
  #feature {
    padding-top: 16.875vw;
    overflow: hidden;
  }
}

#feature figure {
  text-align: center;
}

#feature figure img {
  width: 85%;
}

#feature .features section:nth-child(odd) {
  background: #eeeeee;
}

#feature .features section:nth-child(even) {
  background: #fff;
}

#feature .wrapper {
  width: 85%;
  margin: 0 auto;
  max-width: 1000px;
}

@media only screen and (max-width: 736px) {
  #feature .wrapper {
    width: 95%;
  }
}

#feature .wrapper h3 {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  color: #3e3a39;
  letter-spacing: 0.16em;
  margin-bottom: 33px;
  line-height: 36px;
}

@media only screen and (max-width: 736px) {
  #feature .wrapper h3 {
    font-size: 3.875vw;
    line-height: 5.625vw;
    letter-spacing: 0.16em;
    margin: 0 auto 6.875vw;
  }
}

@media only screen and (max-width: 736px) {
  #feature .wrapper h3 span.scp_sp {
    font-size: 2.4375vw;
  }
}

#feature .wrapper p {
  font-size: 14px;
  line-height: 24px;
  text-align: center;
  margin-bottom: 28px;
}

@media only screen and (max-width: 736px) {
  #feature .wrapper p {
    font-size: 3.4375vw;
    line-height: 5.3125vw;
    margin-bottom: 10.9375vw;
  }
}

#feature .wrapper .list {
  width: 578px;
  text-align: left;
  margin: 0 auto;
  padding-left: 47px;
  margin-bottom: 50px;
}

@media only screen and (max-width: 736px) {
  #feature .wrapper .list {
    width: 100%;
    padding-left: 7.34375vw;
    margin-bottom: 7.8125vw;
  }
}

#feature .wrapper .list p {
  margin-bottom: 0;
  text-align: left;
}

#feature .wrapper .list ol {
  list-style: decimal;
  padding-left: 3.51562vw;
}

@media only screen and (max-width: 736px) {
  #feature .wrapper .list ol {
    margin-bottom: 10.9375vw;
  }
}

#feature .wrapper .list ol li {
  font-size: 14px;
}

@media only screen and (max-width: 736px) {
  #feature .wrapper .list ol li {
    font-size: 3.4375vw;
  }
}

#feature .heading {
  text-align: center;
  position: relative;
  width: 100%;
  margin-bottom: 45px;
}

@media only screen and (max-width: 736px) {
  #feature .heading {
    margin-bottom: 7.03125vw;
  }
}

#feature .heading .circle {
  background: #021955;
  width: 98.511px;
  height: 98.511px;
  border-radius: 100%;
  margin: 0 auto;
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
}

@media only screen and (max-width: 736px) {
  #feature .heading .circle {
    width: 15.39234vw;
    height: 15.39234vw;
    top: -6.25vw;
  }
}

#feature .heading .circle p {
  color: #ffffff;
  font-size: 30px;
  padding-top: 15px;
  font-family: "Noto Serif JP Medium";
}

@media only screen and (max-width: 736px) {
  #feature .heading .circle p {
    font-size: 4.6875vw;
    padding-top: 2.34375vw;
  }
}

#feature .heading .bg-blue {
  background: #0b318f;
}

#feature .heading .navy-bar {
  width: 100%;
  background: #021955;
}

#feature .heading .navy-bar h2 {
  color: #ffffff;
  font-size: 20px;
  letter-spacing: 0.1em;
  padding: 50px;
  position: relative;
}

@media only screen and (max-width: 736px) {
  #feature .heading .navy-bar h2 {
    font-size: 4.21875vw;
    line-height: 6.71875vw;
    padding: 7.8125vw;
  }
}

@media only screen and (max-width: 736px) {
  #feature .heading .navy-bar h2.h2-line1 {
    padding: 7.8125vw 0;
  }
}

#feature .heading .bg-blue {
  background: #0b318f;
}

#feature section.feature-menu {
  margin-bottom: 9.14062vw;
}

#feature section.feature-menu .feature-box-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media only screen and (max-width: 736px) {
  #feature section.feature-menu .feature-box-flex .feature-box {
    width: 48.33333%;
  }
}

#feature section.feature-menu .feature-box-flex .feature-box:not(:nth-last-child(-n+3)) {
  margin-bottom: 20px;
}

@media only screen and (max-width: 736px) {
  #feature section.feature-menu .feature-box-flex .feature-box:not(:nth-last-child(-n+3)) {
    margin-bottom: 3.125vw;
  }
}

@media only screen and (max-width: 736px) {
  #feature section.feature-menu .feature-box-flex .feature-box:not(:last-child) {
    margin-bottom: 3.125vw;
  }
}

#feature section.feature-menu .feature-box-flex .feature-box a.bottom-anchor {
  background: #021955;
  box-sizing: border-box;
  display: block;
  width: 300px;
  height: 205px;
  color: #ffffff;
  font-size: 17px;
  letter-spacing: 0.08em;
  line-height: 28px;
  padding: 35px 0 45px;
  text-align: center;
  position: relative;
  opacity: 1;
  -webkit-transition-property: all;
  -webkit-transition-duration: 0.25s;
  -webkit-transition-timing-function: liner;
  -moz-transition-property: all;
  -moz-transition-duration: 0.25s;
  -moz-transition-timing-function: liner;
  -ms-transition-property: all;
  -ms-transition-duration: 0.25s;
  -ms-transition-timing-function: liner;
  transition-property: all;
  transition-duration: 0.25s;
  transition-timing-function: liner;
}

@media only screen and (max-width: 736px) {
  #feature section.feature-menu .feature-box-flex .feature-box a.bottom-anchor {
    width: 100%;
    height: 31.25vw;
    padding: 3.59375vw 0 7.5vw;
  }
}

#feature section.feature-menu .feature-box-flex .feature-box a.bottom-anchor::after {
  content: " ";
  display: block;
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  position: absolute;
  right: 50%;
  bottom: 20px;
  width: 12.226px;
  height: 12.226px;
  transform: translateX(50%) rotate(45deg);
}

@media only screen and (max-width: 736px) {
  #feature section.feature-menu .feature-box-flex .feature-box a.bottom-anchor::after {
    width: 1.875vw;
    height: 1.875vw;
    bottom: 3.125vw;
  }
}

#feature section.feature-menu .feature-box-flex .feature-box a.bottom-anchor:hover {
  opacity: 0.6;
}

#feature section.feature-menu .feature-box-flex .feature-box a.bottom-anchor span {
  display: block;
  padding-bottom: 12px;
  margin-bottom: 20px;
  font-size: 20px;
  position: relative;
}

@media only screen and (max-width: 736px) {
  #feature section.feature-menu .feature-box-flex .feature-box a.bottom-anchor span {
    padding-bottom: 0;
    margin-bottom: 3.125vw;
    font-size: 3.125vw;
    line-height: 100%;
  }
}

#feature section.feature-menu .feature-box-flex .feature-box a.bottom-anchor span:after {
  background: #fff;
  content: " ";
  display: block;
  width: 60px;
  height: 1px;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}

@media only screen and (max-width: 736px) {
  #feature section.feature-menu .feature-box-flex .feature-box a.bottom-anchor span:after {
    display: none;
  }
}

#feature section.feature-menu .feature-box-flex .feature-box a.bottom-anchor span b {
  font-size: 27px;
  font-weight: 400;
}

@media only screen and (max-width: 736px) {
  #feature section.feature-menu .feature-box-flex .feature-box a.bottom-anchor span b {
    font-size: 4.375vw;
  }
}

#feature section.feature-menu .feature-box-flex .feature-box a.bottom-anchor p {
  margin-bottom: 0;
  color: #fff;
  font-size: 17px;
  text-align: center;
}

@media only screen and (max-width: 736px) {
  #feature section.feature-menu .feature-box-flex .feature-box a.bottom-anchor p {
    font-size: 3.125vw;
    line-height: 150%;
  }
}

#feature section.feature-menu .feature-box-flex .feature-box:nth-child(odd) a {
  background: #021955;
}

#feature section.feature-menu .feature-box-flex .feature-box:nth-child(even) a {
  background: #0b318f;
}

@media only screen and (max-width: 736px) {
  #feature section.feature-menu .feature-box-flex .feature-box:last-child {
    width: 100%;
  }
  #feature section.feature-menu .feature-box-flex .feature-box:last-child a {
    display: flex;
    align-items: center;
    height: auto;
    padding: 4.375vw 5vw;
  }
  #feature section.feature-menu .feature-box-flex .feature-box:last-child a span {
    margin-bottom: 0;
  }
  #feature section.feature-menu .feature-box-flex .feature-box:last-child a p {
    margin-left: 3.4375vw;
  }
  #feature section.feature-menu .feature-box-flex .feature-box:last-child a:after {
    right: 7.5vw;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
}

#feature section#feature-1 {
  padding-bottom: 9.375vw;
}

@media only screen and (max-width: 736px) {
  #feature section#feature-1 {
    padding-bottom: 11.71875vw;
  }
}

#feature section#feature-2 {
  padding-bottom: 8.59375vw;
}

#feature section#feature-2 figure:first-child {
  margin-right: 40px;
}

@media only screen and (max-width: 736px) {
  #feature section#feature-2 figure:first-child {
    margin-right: 0;
    margin-bottom: 12.5vw;
  }
}

#feature section#feature-2 figure img {
  width: 100%;
}

@media only screen and (max-width: 736px) {
  #feature section#feature-2 {
    padding-bottom: 26.5625vw;
  }
}

#feature section#feature-2 .img-flex {
  display: flex;
  justify-content: space-between;
  position: relative;
}

@media only screen and (max-width: 736px) {
  #feature section#feature-2 .img-flex {
    display: block;
  }
}

#feature section#feature-2 .img-flex figure {
  text-align: center;
}

@media only screen and (max-width: 736px) {
  #feature section#feature-2 .img-flex figure img {
    width: 85%;
  }
}

#feature section#feature-2 .img-flex .interface {
  position: absolute;
  bottom: -6.64062vw;
  right: -0.625vw;
}

@media only screen and (max-width: 736px) {
  #feature section#feature-2 .img-flex .interface {
    bottom: -13.75vw;
    right: 43%;
    transform: translateX(50%);
  }
}

#feature section#feature-2 .img-flex p {
  position: relative;
  font-size: 12px;
}

#feature section#feature-2 .img-flex p::before {
  content: " ";
  background: url(../feature/img/yajirushi.png) no-repeat left top/cover;
  position: absolute;
  display: block;
  width: 32px;
  height: 12px;
  top: 50%;
  transform: translateY(-50%);
  left: -40px;
}

@media only screen and (max-width: 736px) {
  #feature section#feature-2 .img-flex p::before {
    left: -6.25vw;
    width: 5vw;
    height: 1.875vw;
    font-size: 1.875vw;
  }
}

@media only screen and (max-width: 736px) {
  #feature section#feature-2 .img-flex p {
    font-size: 3.125vw;
    margin-bottom: 0;
  }
}

section#feature-3 {
  padding-bottom: 158px;
}

@media only screen and (max-width: 736px) {
  section#feature-3 {
    padding-bottom: 20.3125vw;
  }
}

section#feature-4 {
  padding-bottom: 110px;
}

@media only screen and (max-width: 736px) {
  section#feature-4 {
    padding-bottom: 33.59375vw;
  }
}

section#feature-4 .feature4-box {
  position: relative;
  width: 600px;
  margin: 0 auto;
}

@media only screen and (max-width: 736px) {
  section#feature-4 .feature4-box {
    width: 100%;
  }
}

section#feature-4 .feature4-box figure {
  text-align: center;
}

section#feature-4 .feature4-box figure img {
  width: 425px;
  height: 100%;
}

@media only screen and (max-width: 736px) {
  section#feature-4 .feature4-box figure img {
    width: 80%;
    height: 80%;
  }
}

section#feature-4 .feature4-box .scenario {
  position: absolute;
  right: -15px;
  bottom: 0;
}

@media only screen and (max-width: 736px) {
  section#feature-4 .feature4-box .scenario {
    right: 50%;
    transform: translateX(50%);
    bottom: -15.625vw;
  }
}

section#feature-4 .feature4-box .scenario p {
  margin-bottom: 0;
  position: relative;
  font-size: 12px;
}

section#feature-4 .feature4-box .scenario p::before {
  content: " ";
  background: url(../feature/img/yajirushi2.png) no-repeat left top/cover;
  position: absolute;
  display: block;
  width: 32px;
  height: 12px;
  top: 50%;
  transform: translateY(-50%);
  left: -40px;
}

@media only screen and (max-width: 736px) {
  section#feature-4 .feature4-box .scenario p::before {
    font-size: 3.75vw;
    left: -6.25vw;
    width: 5vw;
    height: 1.875vw;
  }
}

@media only screen and (max-width: 736px) {
  section#feature-4 .feature4-box .scenario p {
    font-size: 3.125vw;
    transform: translateX(11%);
  }
}

section#feature-5 {
  padding-bottom: 90px;
}

@media only screen and (max-width: 736px) {
  section#feature-5 {
    padding-bottom: 14.0625vw;
  }
}

section#feature-5 .feature5_sp {
  display: none;
}

@media only screen and (max-width: 736px) {
  section#feature-5 .feature5_sp {
    display: block;
    width: 80%;
    margin: 0 auto;
  }
}

@media only screen and (max-width: 736px) {
  section#feature-5 .feature5_sp .real {
    margin-bottom: 11.71875vw;
  }
}

@media only screen and (max-width: 736px) {
  section#feature-5 .feature5_sp figure {
    margin-bottom: 4.6875vw;
    line-height: 4.6875vw;
  }
}

section#feature-5 .feature5_sp p {
  text-align: left;
}

@media only screen and (max-width: 736px) {
  section#feature-5 .feature5_sp p {
    font-size: 3.125vw;
    margin-bottom: 0;
  }
}

section#feature-6 {
  padding-bottom: 105px;
}

@media only screen and (max-width: 736px) {
  section#feature-6 {
    padding-bottom: 17.65625vw;
  }
}

section#feature-7 {
  padding-bottom: 115px;
}

@media only screen and (max-width: 736px) {
  section#feature-7 {
    padding-bottom: 17.1875vw;
  }
}

section#feature-8 {
  padding-bottom: 98px;
}

@media only screen and (max-width: 736px) {
  section#feature-8 {
    padding-bottom: 14.84375vw;
  }
}

section#feature-8 ol {
  list-style: none !important;
  padding-left: 0 !important;
}

section#feature-8 ol li {
  padding-left: 56px;
  position: relative;
}

@media only screen and (max-width: 736px) {
  section#feature-8 ol li {
    padding-left: 8.75vw;
  }
}

section#feature-8 ol li::before {
  display: block;
  position: absolute;
  left: 6%;
  top: 50%;
  transform: translateY(-50%) translateX(-3%);
  content: ' ';
  background: #000;
  width: 13px;
  height: 13px;
  border-radius: 100%;
}

@media only screen and (max-width: 736px) {
  section#feature-8 ol li::before {
    width: 3.09375vw;
    height: 3.09375vw;
    top: 3.28125vw;
    left: 5vw;
  }
}

section#feature-8 .feature8-flex {
  display: flex;
  justify-content: space-around;
  margin-bottom: 20px;
}

@media only screen and (max-width: 736px) {
  section#feature-8 .feature8-flex {
    display: block;
  }
}

section#feature-8 .feature8-flex .customize-box:first-child {
  margin-right: 20px;
}

@media only screen and (max-width: 736px) {
  section#feature-8 .feature8-flex .customize-box:first-child {
    margin-right: 0;
  }
}

@media only screen and (max-width: 736px) {
  section#feature-8 .feature8-flex .customize-box {
    margin-bottom: 7.03125vw;
  }
}

section#feature-8 .feature8-flex .customize-box p {
  margin-bottom: 0;
  text-align: left;
  font-size: 11px;
  padding-left: 35px;
}

@media only screen and (max-width: 736px) {
  section#feature-8 .feature8-flex .customize-box p {
    font-size: 3.75vw;
    text-align: center;
    padding-left: 0;
  }
}

section#feature-9 {
  padding-bottom: 118px;
}

@media only screen and (max-width: 736px) {
  section#feature-9 {
    padding-bottom: 15.625vw;
  }
}
