@charset "UTF-8";
/* -----------------------------------------------
* Plugins エントリーポイント
-------------------------------------------------- */
/*------------------------------------------------------------------------------
  reset
------------------------------------------------------------------------------*/
html,
input,
textarea,
select,
button {
  font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: 500;
}

html {
  color: #18304B;
  background: #fff;
  font-size: 16px;
  line-height: 1.6;
  overflow-wrap: break-word;
}

body {
  background: #fff;
  margin: 0;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img {
  border: 0;
  margin: 0;
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

figure {
  margin: 0;
}

p {
  margin: 0;
  padding: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

input,
select,
textarea,
button {
  color: inherit;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

select::-ms-expand {
  display: none;
}

textarea {
  resize: vertical;
}

::-webkit-input-placeholder {
  color: #ccc;
}

:-ms-input-placeholder {
  color: #ccc;
}

::-ms-input-placeholder {
  color: #ccc;
}

::-moz-placeholder {
  color: #ccc;
}

::placeholder {
  color: #ccc;
}

button {
  border: none;
  cursor: pointer;
}

label {
  cursor: pointer;
}

table {
  border-collapse: collapse;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 14px;
  font-weight: 500;
  margin: 0;
  padding: 0;
}

main {
  display: block;
}

#wrapper {
  position: relative;
}

#wrapper,
.outer-block {
  width: 100%;
}

.inner-block {
  margin: 0 auto;
  position: relative;
}

dl, dt, dd {
  padding: 0;
  margin: 0;
}

.ib {
  display: inline-block;
}

.en {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}

.align-center {
  text-align: center;
}

.c-svg {
  display: inline-block;
  fill: currentColor;
  vertical-align: middle;
}

/* --------------------------------
c-header
----------------------------------- */
.header-logo-color {
  /* #wrapperのクラスがheader-logo-color */
}
.header-logo-color .c-header .logo-wrap .logo a::before {
  opacity: 1;
}
.header-logo-color .c-header .logo-wrap .logo a img {
  opacity: 0;
}
.header-logo-color .c-header .logo-wrap .logo .text {
  color: #18304B;
}
.c-header .header-wrap {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;
  -webkit-transition: 0.3s ease-in-out background-color;
  transition: 0.3s ease-in-out background-color;
}
.c-header .logo a {
  position: relative;
}
.c-header .logo a::before {
  background: url("../img/common/logo-color.svg") no-repeat center center/contain;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  opacity: 0;
  pointer-events: none;
}
.c-header .logo .text {
  -webkit-transition: 0.3s ease-in-out color;
  transition: 0.3s ease-in-out color;
}
.c-header > .logo-wrap {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 99;
}
.c-header .logo {
  color: #fff;
  padding: 58px 0 0 58px;
}
.c-header .logo a {
  display: inline-block;
}
.c-header .logo .text {
  display: block;
  font-size: 10px;
  line-height: 1;
}
.c-header .button-wrap {
  position: absolute;
  top: 0;
  right: 0;
}
.c-header .button-wrap .entry-button {
  color: #fff;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  z-index: 1;
}
.c-header .button-wrap .entry-button .inn .button-text,
.c-header .button-wrap .entry-button .inn .c-svg {
  display: block;
  margin: auto;
}
.c-header .button-wrap .entry-button .inn .button-text {
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 15px;
}
.c-header .button-wrap .entry-button::before, .c-header .button-wrap .entry-button::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  z-index: -1;
}
.c-header .button-wrap .entry-button::before {
  background: linear-gradient(15deg, #1b81bf 0%, #62addc 100%);
}
.c-header .button-wrap .entry-button::after {
  background: linear-gradient(15deg, #62addc 0%, #1b81bf 100%);
  z-index: -2;
}

.c-menu-button,
.c-header .button-wrap .entry-button {
  width: 120px;
  height: 164px;
}

.c-menu-button {
  background: #222;
  border: 1px solid #222;
  cursor: pointer;
  color: #fff;
  position: relative;
  display: block;
  z-index: 1000;
}
.c-menu-button .inn {
  text-align: center;
  width: 38px;
  height: 43px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.c-menu-button .inn .button-text {
  display: block;
  font-weight: bold;
  font-size: 11px;
}
.c-menu-button .inn .line {
  display: inline-block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background-color: #fff;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-menu-button .inn .line:nth-of-type(1) {
  bottom: 11px;
}
.c-menu-button .inn .line:nth-of-type(2) {
  bottom: 2px;
  width: 55%;
}
.c-menu-button.is-open .inn .line {
  width: 100%;
  bottom: 4px;
}
.c-menu-button.is-open .inn .line:nth-of-type(1) {
  -webkit-transform: rotate(20deg);
          transform: rotate(20deg);
}
.c-menu-button.is-open .inn .line:nth-of-type(2) {
  -webkit-transform: rotate(-20deg);
          transform: rotate(-20deg);
}

.c-nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  opacity: 0;
  pointer-events: none;
  width: 100%;
  height: 100%;
  overflow: auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-nav.is-open {
  opacity: 1;
  pointer-events: auto;
}
.c-nav .logo {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.c-nav .nav-cont {
  position: relative;
}
.c-nav .nav-cont .nav-area {
  overflow: auto;
  height: 100%;
}
.c-nav .nav-cont .nav-area .nav-list,
.c-nav .nav-cont .nav-area .link-list {
  max-width: 590px;
  margin: auto;
}
.c-nav .nav-cont .nav-area .nav-list > li {
  border-top: 1px solid #C1C1C1;
  padding: 30px 0;
}
.c-nav .nav-cont .nav-area .nav-list > li:last-child {
  border-bottom: 1px solid #C1C1C1;
}
.c-nav .nav-cont .nav-area .nav-list .title {
  font-size: 18px;
  font-weight: bold;
  padding-left: 24px;
  padding-right: 15px;
  position: relative;
}
.c-nav .nav-cont .nav-area .nav-list .title::before {
  background: #1885C3;
  border-radius: 50%;
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  position: absolute;
  top: 10px;
  left: 0;
  margin: auto;
}
.c-nav .nav-cont .nav-area .nav-list .nav li + li {
  margin-top: 8px;
}
.c-nav .nav-cont .nav-area .nav-list .nav a {
  color: #848484;
  display: inline-block;
  font-weight: 400;
}
.c-nav .nav-cont .nav-area .link-list {
  margin-top: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.c-nav .nav-cont .nav-area .link-list li {
  min-width: 190px;
  margin-bottom: 15px;
}
.c-nav .nav-cont .nav-area .link-list a {
  display: inline-block;
  font-size: 12px;
  font-weight: 400;
}
.c-nav .nav-cont .nav-area .link-list a .c-svg {
  margin-left: 13px;
  margin-bottom: 3px;
}
.c-nav .nav-cont .entry-area {
  padding: 0 35px 45px;
}
.c-nav .nav-cont .entry-area .entry-button {
  background: linear-gradient(45deg, #228fd1 50%, #264bd5 90%);
  color: #fff;
  display: block;
  padding: 35px 80px 35px 35px;
  position: relative;
  width: 100%;
  margin: auto;
  position: relative;
  z-index: 1;
}
.c-nav .nav-cont .entry-area .entry-button::before, .c-nav .nav-cont .entry-area .entry-button::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  z-index: -1;
}
.c-nav .nav-cont .entry-area .entry-button::before {
  background: linear-gradient(45deg, #228fd1 50%, #264bd5 90%);
}
.c-nav .nav-cont .entry-area .entry-button::after {
  background: linear-gradient(45deg, #264bd5 50%, #228fd1 90%);
  opacity: 0;
}
.c-nav .nav-cont .entry-area .entry-button .btn-text {
  vertical-align: middle;
  line-height: 1;
}
.c-nav .nav-cont .entry-area .entry-button .btn-text.en {
  font-weight: bold;
  font-size: 24px;
}
.c-nav .nav-cont .entry-area .entry-button .btn-text.small {
  font-size: 12px;
  letter-spacing: 0.1em;
}
.c-nav .nav-cont .entry-area .entry-button .c-svg {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 35px;
  margin: auto;
}
.c-nav .nav-cont .entry-area .box-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 35px;
  width: 100%;
}
.c-nav .nav-cont .entry-area .box-column .inn {
  width: 100%;
  position: relative;
  z-index: 1;
}
.c-nav .nav-cont .entry-area .box-column .box {
  border: 1px solid rgba(112,112,112,0.4);
  background: rgba(65,88,174);
background: linear-gradient(0deg, rgba(0,107,172,0.6) 0%, rgba(65,88,174,0.6) 100%);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc((100% - 10px)/2);
  padding: 43px 15px;
  position: relative;
  z-index: 1;
  text-align: center;
}
.c-nav .nav-cont .entry-area .box-column .box::before,
.c-nav .nav-cont .entry-area .box-column .box::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.c-nav .nav-cont .entry-area .box-column .box::before {
  background: rgba(0, 0, 0, 0.4);
}
.c-nav .nav-cont .entry-area .box-column .box::after {
  background: linear-gradient(180deg, rgba(65,88,174,0.4) 0%, rgba(0,107,172,0.4) 100%);
  opacity: 0;
}
.c-nav .nav-cont .entry-area .box-column .box .text {
  color: #fff;
}
.c-nav .nav-cont .entry-area .box-column .box .c-grad-link {
  margin-top: 15px;
}
.c-nav .nav-cont .entry-area .box-column .box .c-grad-link + .c-grad-link {
  margin-top: 8px;
}
.c-nav .nav-cont .entry-area .copyright {
  color: #fff;
  font-size: 11px;
  margin-top: 30px;
}
.c-nav .movie {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
}
.c-nav .movie::before {
  background: #7E7E7E;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  opacity: 0.73;
  mix-blend-mode: multiply;
}
.c-nav .movie video {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top left;
     object-position: top left;
  width: 100%;
  height: 100%;
}

/* --------------------------------
c-footer
----------------------------------- */
.c-footer {
  background: #0E2E4A;
  color: #fff;
  padding: 10px 0 117px;
}
.c-footer .entry-button {
  color: #fff;
  display: block;
  padding: 52px 20px;
  text-align: center;
  max-width: 1000px;
  margin: auto;
  position: relative;
  z-index: 1;
}
.c-footer .entry-button::before, .c-footer .entry-button::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  z-index: -1;
}
.c-footer .entry-button::before {
  background: linear-gradient(45deg, #228fd1 50%, #264bd5 90%);
}
.c-footer .entry-button::after {
  background: linear-gradient(45deg, #264bd5 50%, #228fd1 90%);
  opacity: 0;
}
.c-footer .entry-button .en,
.c-footer .entry-button .ja {
  display: block;
  font-weight: bold;
}
.c-footer .entry-button .en {
  font-size: 33px;
}
.c-footer .entry-button .ja {
  letter-spacing: 0.1em;
}
.c-footer .top .box-column .box {
  text-align: center;
}
.c-footer .top .box-column .box .link {
  padding: 82px 60px;
  padding-right: 87px;
  display: block;
  position: relative;
  z-index: 1;
}
.c-footer .top .box-column .box .link::before {
  background: linear-gradient(180deg, rgba(65,88,174,0.4) 0%, rgba(0,107,172,0.4) 100%);
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
}
.c-footer .top .box-column .box .link .c-svg {
  position: absolute;
  top: 102px;
  right: 60px;
}
.c-footer .top .box-column .box .link .ja,
.c-footer .top .box-column .box .link .en {
  display: block;
}
.c-footer .top .box-column .box .link .ja {
  font-size: 32px;
  letter-spacing: 0.1em;
}
.c-footer .top .box-column .box .link .en {
  font-weight: bold;
  font-size: 28px;
  line-height: 1;
}
.c-footer .top .box-column .box .help-txt a {
  margin: auto 20px;
}
.c-footer .top .box-column .box .help-txt .c-svg {
  margin-left: 14px;
}
.c-footer .top .box-column .box .grad-link-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 40px auto 0;
  max-width: 335px;
  width: 100%;
}
.c-footer .top .box-column .box .grad-link-wrap .link-area {
  width: calc((100% - 18px)/2);
}
.c-footer .top .box-column .box .grad-link-wrap .c-grad-link {
  padding: 5px;
}
.c-footer .top .box-column .box + .box {
  position: relative;
}

.c-footer .bottom {
  padding-top: 90px;
  position: relative;
}
.c-footer .bottom::before {
  background: #DCDCDC;
  content: "";
  display: block;
  width: calc(100% - 30px);
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  opacity: 0.33;
}
.c-footer .bottom .link-wrap {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-footer .bottom .link-wrap .bnr {
  margin-bottom: 10px;
  width: 199px;
}
.c-footer .bottom .link-wrap .link-list a {
  display: inline-block;
  font-size: 14px;
}
.c-footer .bottom .link-wrap .link-list a .c-svg {
  margin-left: 14px;
}
.c-footer .bottom .link-wrap .link-list li + li {
  margin-top: 18px;
}
.c-footer .bottom .logo-wrap .logo {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-footer .bottom .logo-wrap .logo a {
  display: inline-block;
  width: 360px;
}
.c-footer .bottom .logo-wrap .logo a img {
  width: 100%;
}
.c-footer .bottom .logo-wrap .logo .text {
  font-weight: bold;
  line-height: 1.3;
  padding-left: 50px;
}
.c-footer .bottom .logo-wrap .copyright {
  font-size: 11px;
  margin-top: 40px;
}
.c-footer .pagetop {
  display: inline-block;
  position: absolute;
  left: 34px;
  top: 50px;
  z-index: 1;
}
.c-footer .pagetop .pagetop-text {
  font-size: 12px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  padding-top: 86px;
  position: relative;
  white-space: nowrap;
}
.c-footer .pagetop .pagetop-text::before, .c-footer .pagetop .pagetop-text::after {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  top: 0;
  right: 5px;
  left: 0;
}
.c-footer .pagetop .pagetop-text::before {
  background: #fff;
  width: 1px;
  height: 76px;
  -webkit-animation: scroll02 2s 0.3s ease-in-out infinite;
          animation: scroll02 2s 0.3s ease-in-out infinite;
}
.c-footer .pagetop .pagetop-text::after {
  border: solid #fff;
  border-width: 0 1px 1px 0;
  width: 5px;
  height: 5px;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
  -webkit-animation: scrollArrow 2s 0.3s ease-in-out infinite;
          animation: scrollArrow 2s 0.3s ease-in-out infinite;
}

.c-title01 .sub,
.c-title01 .main {
  font-weight: bold;
  display: block;
}
.c-title01 .sub {
  color: #4E4A49;
  font-family: "Montserrat", sans-serif;
  margin-bottom: 25px;
  font-size: 16px;
}
.c-title01 .main {
  color: #1885C3;
  font-size: 32px;
  line-height: 1.3;
}

.c-title02 {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4;
}

.c-title03 .sub,
.c-title03 .main {
  font-weight: bold;
  display: block;
}
.c-title03 .sub {
  color: #4E4A49;
  font-family: "Montserrat", sans-serif;
  margin-bottom: 10px;
  font-size: 16px;
}
.c-title03 .main {
  color: #18304B;
  font-size: 32px;
  line-height: 1.3;
  letter-spacing: 0.1em;
}
.c-title03.center {
  text-align: center;
}

.c-title04 {
  color: #18304B;
  font-size: 22px;
  font-weight: bold;
}
.c-title04.center {
  text-align: center;
}

.c-button01 {
  display: inline-block;
  padding: 15px 105px 15px 32px;
  position: relative;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-button01 .button-text {
  font-weight: bold;
  position: relative;
  z-index: 1;
}
.c-button01 .c-svg {
  position: absolute;
  top: 0;
  right: 27px;
  bottom: 0;
  margin: auto;
}
.c-button01::before {
  background: #1885C3;
  border-radius: 50px;
  content: "";
  display: block;
  width: 27px;
  height: 27px;
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  margin: auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.c-button02 {
  background: #fff;
  border: 1px solid #fff;
  border-radius: 60px;
  display: inline-block;
  padding: 15px 80px 15px 57px;
  position: relative;
}
.c-button02 .button-text {
  display: inline-block;
  font-weight: bold;
  line-height: 1.3;
}
.c-button02 .c-svg {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 58px;
  margin: auto;
}

.c-button03 {
  color: #fff;
  display: block;
  padding: 14px 10px 17px 42px;
  text-align: left;
  position: relative;
  width: 100%;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.1em;
  max-width: 190px;
  margin: auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  z-index: 1;
}
.c-button03::before, .c-button03::after {
  border-radius: 50px;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  z-index: -1;
}
.c-button03::before {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(10%, rgba(0, 107, 172, 0.65)), color-stop(90%, rgba(65, 88, 174, 0.65)));
  background: linear-gradient(0deg, rgba(0, 107, 172, 0.65) 10%, rgba(65, 88, 174, 0.65) 90%);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-button03::after {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(10%, rgba(65, 88, 174, 0.65)), color-stop(90%, rgba(0, 107, 172, 0.65)));
  background: linear-gradient(0deg, rgba(65, 88, 174, 0.65) 10%, rgba(0, 107, 172, 0.65) 90%);
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-button03 .c-svg {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 42px;
  margin: auto;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.c-grad-link {
  color: #fff;
  display: block;
  padding: 4px;
  text-align: center;
  position: relative;
  width: 100%;
  z-index: 1;
}
.c-grad-link::before, .c-grad-link::after {
  border-radius: 50px;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  z-index: -1;
}
.c-grad-link::before {
  background: linear-gradient(45deg, #006bac 50%, #4158ae 90%);
}
.c-grad-link::after {
  background: #fff;
  opacity: 0;
}

.c-more-btn {
  cursor: pointer;
  color: #fff;
  display: block;
  padding: 13px 10px 13px 44px;
  text-align: left;
  position: relative;
  width: 100%;
  font-size: 15px;
  font-weight: bold;
  max-width: 230px;
  margin: auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  z-index: 1;
}
.c-more-btn::before, .c-more-btn::after {
  border-radius: 50px;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  z-index: -1;
}
.c-more-btn::before {
  background: linear-gradient(45deg, #228fd1 50%, #264bd5 90%);
}
.c-more-btn::after {
  background: linear-gradient(45deg, #264bd5 50%, #228fd1 90%);
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-more-btn .c-svg {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 32px;
  margin: auto;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.c-round-area {
  background: #fff;
  border-radius: 20px;
  -webkit-box-shadow: 0px 3px 7px -1px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 3px 7px -1px rgba(0, 0, 0, 0.16);
  padding: 80px 70px;
}
.c-round-area + .c-round-area {
  margin-top: 80px;
}

.c-tag {
  background: #18304B;
  border-radius: 20px;
  color: #fff;
  font-size: 16px;
  display: inline-block;
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  line-height: 1;
  width: 78px;
  padding: 3px 5px;
  text-align: center;
}

.c-faq-wrap {
  max-width: 902px;
  margin: 60px auto 0;
}
.c-faq-wrap .faq + .faq {
  margin-top: 20px;
}
.c-faq-wrap .aco-head {
  border-radius: 100px;
  cursor: pointer;
  position: relative;
  padding: 16px 20px 16px 20px;
  z-index: 1;
}
.c-faq-wrap .aco-head::before, .c-faq-wrap .aco-head::after {
  border-radius: 100px;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  z-index: -1;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-faq-wrap .aco-head::before {
  background: linear-gradient(45deg, #006bac 50%, #4158ae 90%);
}
.c-faq-wrap .aco-head::after {
  background: linear-gradient(45deg, #4158ae 50%, #006bac 90%);
  opacity: 0;
}
.c-faq-wrap .aco-head.active .title::before {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-faq-wrap .aco-head .en {
  color: #fff;
  font-size: 49px;
  position: absolute;
  top: 7px;
  left: 32px;
  line-height: 1;
}
.c-faq-wrap .aco-head .en::before {
  background: #fff;
  content: "";
  width: 1px;
  height: 28px;
  position: absolute;
  top: 5px;
  bottom: 0;
  right: -35px;
  margin: auto;
}
.c-faq-wrap .aco-head .title {
  color: #fff;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  position: relative;
}
.c-faq-wrap .aco-head .title::before, .c-faq-wrap .aco-head .title::after {
  background: #fff;
  content: "";
  height: 18px;
  width: 2px;
  position: absolute;
  top: 0;
  right: 57px;
  bottom: 0;
  margin: auto;
}
.c-faq-wrap .aco-head .title::before {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-faq-wrap .aco-head .title::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.c-faq-wrap .aco-body {
  display: none;
  position: relative;
  padding: 30px 0 30px 108px;
}
.c-faq-wrap .aco-body .en {
  color: #1685BE;
  font-size: 49px;
  position: absolute;
  top: 25px;
  left: 36px;
  line-height: 1;
}
.c-faq-wrap .aco-body .text {
  font-size: 16px;
  font-weight: 300;
  line-height: 2.38;
}
.c-program-wrap .program-item + .program-item {
  margin-top: 100px;
}
.c-program-wrap .program-item .month-area {
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 120px;
  width: 120px;
  position: relative;
}
.c-program-wrap .program-item .month-area::before {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(10%, #006bac), color-stop(90%, #4158ae));
  background: linear-gradient(0deg, #006bac 10%, #4158ae 90%);
  border-radius: 50%;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  z-index: -1;
}
.c-program-wrap .program-item .content-box,
.c-program-wrap .program-item .purpose-box {
  border-radius: 20px;
  font-weight: 400;
  padding: 15px 30px;
  line-height: 2.25;
}
.c-program-wrap .program-item .ttl-area + .content-box {
  margin-top: 14px;
}
.c-program-wrap .program-item .content-box {
  background: #EDF3FC;
}
.c-program-wrap .program-item .content-box + .purpose-box {
  margin-top: 20px;
}
.c-program-wrap .program-item .purpose-box {
  background: #FFF8E8;
}

.c-list01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 25px auto 0;
  max-width: 922px;
}
.c-list01 > li {
  background: #F9F9F9;
  padding: 25px 28px 32px;
}
.c-list01 > li .num {
  background: #18304B;
  border-radius: 10px;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  display: block;
  line-height: 1;
  padding: 2px 0;
  text-align: center;
  width: 78px;
}
.c-list01 > li .c-svg,
.c-list01 > li .ico {
  display: block;
  height: 88px;
  margin: 26px auto 21px;
  width: 120px;
}
.c-list01 > li .c-svg > use,
.c-list01 > li .ico > use {
  color: #1685BE;
}
.c-list01 > li .label {
  color: #1885C3;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: -0.05em;
  line-height: 1.6;
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-list01 > li .label > small {
  display: block;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0;
  margin-top: 6px;
}
.c-list01 > li .detail {
  font-size: 14px;
  margin-top: 5px;
  font-weight: 400;
  line-height: 1.7;
}
.c-table01 th {
  vertical-align: baseline;
}
.c-table01 td {
  font-weight: 400;
  line-height: 2.375;
}

.c-form .input-flex {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.c-form .input-flex + .input-flex,
.c-form .input-flex + .c-label {
  margin-top: 21px;
}
.c-form .input-flex.period .input-flex {
  margin: 0;
}
.c-form .input-flex .symbol {
  margin: 7px 22px 0;
}
.c-form .input-flex .c-label {
  width: calc((100% - 41px) / 2);
}
.c-form .input-flex .c-label + .c-label {
  margin: 0 0 0 41px;
}
.c-form .input-box {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.c-form .input-box .c-input {
  margin-right: 10px;
}
.c-form .c-label {
  display: block;
  font-weight: 300;
  width: 100%;
}
.c-form .c-label + .c-label,
.c-form .c-label + .input-flex {
  margin-top: 21px;
}
.c-form .c-label .c-input,
.c-form .c-label .c-textarea,
.c-form .c-label .c-select {
  margin-top: 7px;
}
.c-form .c-label.checkbox {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-weight: bold;
}
.c-form .c-label.disabled {
  pointer-events: none;
}
.c-form .c-input {
  background-color: #F4F4F4;
  border: 1px solid transparent;
  border-radius: 3px;
  display: block;
  font-weight: 300;
  padding: 12px 20px 14px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 100%;
}
.c-form .c-input:focus {
  border-color: #4384BE;
}
.c-form .c-input::-webkit-input-placeholder {
  font-weight: 300;
}
.c-form .c-input::-moz-placeholder {
  font-weight: 300;
}
.c-form .c-input:-ms-input-placeholder {
  font-weight: 300;
}
.c-form .c-input::-ms-input-placeholder {
  font-weight: 300;
}
.c-form .c-input::placeholder {
  font-weight: 300;
}
.c-form .c-input.error {
  border-color: #E44525;
}
.c-form .c-radio.gender {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.c-form .c-radio.gender label + label {
  margin: 0 0 0 31px;
}
.c-form .c-radio label {
  display: block;
}
.c-form .c-radio label + label {
  margin-top: 14px;
}
.c-form .c-radio .radio {
  display: none;
}
.c-form .c-radio .radio:checked + span::after {
  opacity: 1;
}
.c-form .c-radio .radio + span {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-weight: 400;
  position: relative;
}
.c-form .c-radio .radio + span::before {
  background: #fff;
  border: 1px solid #D1D1D1;
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: 24px;
  margin-right: 12px;
  position: relative;
  width: 24px;
}
.c-form .c-radio .radio + span::after {
  background: #1685BE;
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: 12px;
  left: 6px;
  opacity: 0;
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 12px;
}
.c-form .c-checkbox {
  background: #fff;
  border: 1px solid #ABABAB;
  border-radius: 4px;
  height: 20px;
  margin-right: 83px;
  min-width: 20px;
  position: relative;
  width: 20px;
}
.c-form .c-checkbox::before {
  border-bottom: 3px solid #FB3000;
  border-left: 3px solid #FB3000;
  bottom: 5px;
  content: "";
  display: block;
  height: 8px;
  left: 0;
  margin: auto;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 16px;
}
.c-form .c-checkbox::after {
  background: #FB3000;
  border-radius: 150px;
  color: #fff;
  content: "必須";
  display: inline-block;
  font-size: 12px;
  font-weight: 300;
  line-height: 1;
  margin-left: 50px;
  padding: 2px 9px 3px;
  white-space: nowrap;
}
.c-form .c-checkbox:checked::before {
  opacity: 1;
}
.c-form .c-textarea {
  background-color: #F4F4F4;
  display: block;
  font-weight: 300;
  height: 242px;
  padding: 11px 10px 11px 28px;
  resize: none;
  width: 100%;
}
.c-form .c-textarea::-webkit-scrollbar {
  width: 23px;
}
.c-form .c-textarea::-webkit-scrollbar-track {
  background-color: transparent;
  margin: 11px 0;
}
.c-form .c-textarea::-webkit-scrollbar-thumb {
  background-clip: padding-box;
  background-color: #A0A0A0;
  border-left: 8px solid transparent;
  border-radius: 150px;
  border-right: 8px solid transparent;
}
.c-form .c-textarea.short {
  height: 143px;
}
.c-form .c-select,
.c-form .input-year {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-weight: 400;
}
.c-form .c-select + .c-select,
.c-form .input-year + .c-select {
  margin-left: 13px;
}
.c-form .c-select .selectBox,
.c-form .input-year .selectBox {
  cursor: pointer;
  height: 50px;
  max-width: 279px;
  position: relative;
  width: 100%;
}
.c-form .c-select .selectBox.year,
.c-form .input-year .selectBox.year {
  margin-right: 10px;
  width: 117px;
}
.c-form .c-select .selectBox.month, .c-form .c-select .selectBox.day,
.c-form .input-year .selectBox.month,
.c-form .input-year .selectBox.day {
  margin-right: 10px;
  width: 89px;
}
.c-form .c-select .selectBox select,
.c-form .input-year .selectBox select {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.c-form .c-select .selectBox .selectBox__output,
.c-form .input-year .selectBox .selectBox__output {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #F4F4F4;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-weight: 400;
  height: 100%;
  padding: 10px 20px;
  position: relative;
  width: 100%;
  z-index: 2;
}
.c-form .c-select .selectBox .selectBox__output:before, .c-form .c-select .selectBox .selectBox__output:after,
.c-form .input-year .selectBox .selectBox__output:before,
.c-form .input-year .selectBox .selectBox__output:after {
  background: #AFAFAF;
  border-radius: 2px;
  content: "";
  display: inline-block;
  height: 3px;
  position: absolute;
  top: calc(50% - 2px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 13px;
}
.c-form .c-select .selectBox .selectBox__output:before,
.c-form .input-year .selectBox .selectBox__output:before {
  right: 22px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.c-form .c-select .selectBox .selectBox__output:after,
.c-form .input-year .selectBox .selectBox__output:after {
  right: 15px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.c-form .c-select .selectBox .selectBox__selector,
.c-form .input-year .selectBox .selectBox__selector {
  background-color: #fff;
  border: 1px solid #2658A8;
  border-radius: 6px;
  display: none;
  left: 0;
  margin: 0 auto;
  max-height: 300px;
  overflow-y: auto;
  padding-right: 1px;
  position: absolute;
  right: 0;
  scrollbar-width: none;
  /*Firefox対応のスクロールバー非表示コード*/
  -ms-overflow-style: none;
  /*Internet Explore対応のスクロールバー非表示コード*/
  top: 10px;
  width: calc(100% - 20px);
  z-index: 10;
}
.c-form .c-select .selectBox .selectBox__selector:before, .c-form .c-select .selectBox .selectBox__selector:after,
.c-form .input-year .selectBox .selectBox__selector:before,
.c-form .input-year .selectBox .selectBox__selector:after {
  background: #AFAFAF;
  border-radius: 2px;
  content: "";
  display: inline-block;
  height: 3px;
  position: absolute;
  top: 15px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 13px;
}
.c-form .c-select .selectBox .selectBox__selector:before,
.c-form .input-year .selectBox .selectBox__selector:before {
  right: 12px;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
.c-form .c-select .selectBox .selectBox__selector:after,
.c-form .input-year .selectBox .selectBox__selector:after {
  right: 5px;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.c-form .c-select .selectBox .selectBox__selector::-webkit-scrollbar,
.c-form .input-year .selectBox .selectBox__selector::-webkit-scrollbar {
  display: none;
}
.c-form .c-select .selectBox .selectBox__selectorItem,
.c-form .input-year .selectBox .selectBox__selectorItem {
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  padding: 9px 8px;
  width: 100%;
}
.c-form .input-year .c-input {
  margin-right: 10px;
  width: 117px;
}
.c-form .c-form-btn {
  color: #fff;
  display: block;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin: 104px auto 0;
  max-width: 420px;
  padding: 33px 140px 33px 72px;
  position: relative;
  text-align: left;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  width: 100%;
  z-index: 1;
}
.c-form .c-form-btn::before, .c-form .c-form-btn::after {
  border-radius: 150px;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  z-index: -1;
}
.c-form .c-form-btn:not(.back)::before {
  background: linear-gradient(225deg, #4158ae 0%, #006bac 100%);
}
.c-form .c-form-btn:not(.back)::after {
  background: linear-gradient(225deg, #006bac 0%, #4158ae 100%);
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-form .c-form-btn .c-svg {
  bottom: 0;
  height: 12px;
  margin: auto;
  position: absolute;
  right: 60px;
  -webkit-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  top: 2px;
  width: 31px;
}
.c-form .c-form-btn.back {
  background: #848484;
  border: 1px solid #848484;
  border-radius: 200px;
  padding: 33px 72px 33px 140px;
}
.c-form .c-form-btn.back .c-svg {
  left: 70px;
  right: initial;
}
.c-form .c-form-btn + .c-form-btn {
  margin-left: 40px;
}
.c-form .c-input-text {
  display: block;
  font-weight: 500;
}

.c-breadcrumb-list li {
  display: inline;
  vertical-align: middle;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.05em;
  position: relative;
}
.c-breadcrumb-list li + li {
  margin-left: 30px;
}
.c-breadcrumb-list li + li::before {
  background: #18304B;
  content: "";
  display: block;
  width: 1px;
  height: 10px;
  position: absolute;
  top: 4px;
  left: -15px;
  margin: auto;
}
.c-breadcrumb-list li a {
  text-decoration: underline;
}

.c-article-kv-section {
  padding-top: 160px;
  padding-bottom: 100px;
  position: relative;
  overflow: hidden;
}
.c-article-kv-section .c-breadcrumb-list {
  margin-bottom: 20px;
}
.c-article-kv-section .inner-block .inn.full {
  width: 100%;
}
.c-article-kv-section .inner-block .kv-img img {
  width: 100%;
}
.c-article-kv-section .article-title {
  color: #1885C3;
  font-size: 40px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.3;
}
.c-article-kv-section .sub {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.2;
  margin-top: 19px;
}
.c-article-kv-section .text {
  margin-top: 50px;
  line-height: 2.25;
  font-weight: 400;
}
.c-article-kv-section .text.full {
  max-width: 100%;
}
.c-article-kv-section .en-title {
  color: #F2F2F2;
  font-weight: bold;
  font-size: 140px;
  line-height: 0.85;
  margin-top: 20px;
  white-space: nowrap;
}

.c-lead-section {
  background: url("../img/common/bg-blue.jpg") no-repeat center center/cover;
  padding: 105px 0;
}
.c-lead-section .title-wrap {
  margin-bottom: 10px;
}
.c-lead-section .title {
  color: #fff;
  font-weight: bold;
  font-size: 32px;
  letter-spacing: 0.1em;
}
.c-lead-section .sub-title {
  color: #fff;
  font-size: 85px;
  font-weight: bold;
  line-height: 1;
  margin-top: -40px;
  opacity: 0.14;
}
.c-lead-section .text {
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 2.5;
  max-width: 787px;
  margin: auto;
}
.c-lead-section .button-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 864px;
  margin: 80px auto 0;
}
.c-lead-section .button-wrap .c-button02 {
  width: calc((100% - 64px)/2);
}

/* fadeIn */
/* anm */
@-webkit-keyframes fadeIn {
  0% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
  100% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
  }
}
@keyframes fadeIn {
  0% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
  100% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
  }
}
/* anm-slideText02 */
@-webkit-keyframes text-revealer {
  0%, 50% {
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  60%, 100% {
    -webkit-transform-origin: 50% 100%;
            transform-origin: 50% 100%;
  }
  60% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
  100% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
  }
}
@keyframes text-revealer {
  0%, 50% {
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  60%, 100% {
    -webkit-transform-origin: 50% 100%;
            transform-origin: 50% 100%;
  }
  60% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
  100% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
  }
}
@-webkit-keyframes clip-text {
  from {
    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
@keyframes clip-text {
  from {
    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
/* anm-slideText */
@-webkit-keyframes slideText {
  0% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
    -webkit-clip-path: inset(100% 0 0 0);
            clip-path: inset(100% 0 0 0);
  }
  100% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
  }
}
@keyframes slideText {
  0% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
    -webkit-clip-path: inset(100% 0 0 0);
            clip-path: inset(100% 0 0 0);
  }
  100% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
  }
}
/* anm-textSlideUp */
@-webkit-keyframes textSlideUp {
  0% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
    -webkit-transform: translateY(60px);
            transform: translateY(60px);
  }
  40% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
  }
  100% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes textSlideUp {
  0% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
    -webkit-transform: translateY(60px);
            transform: translateY(60px);
  }
  40% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
  }
  100% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* anm-textUp */
@-webkit-keyframes slideIn {
  0% {
    -webkit-transform: translateY(140px);
            transform: translateY(140px);
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
  20% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
  }
  100% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes slideIn {
  0% {
    -webkit-transform: translateY(140px);
            transform: translateY(140px);
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
  20% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
  }
  100% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* anm-imgSlide01 上から画像がワイプ */
.anm-imgSlide01 .imgSlide-filter,
.anm-imgSlide01 .imgSlide-content {
  overflow: hidden;
  -webkit-transition: -webkit-transform 3s cubic-bezier(0.1, 0.8, 0, 1) 0s;
  transition: -webkit-transform 3s cubic-bezier(0.1, 0.8, 0, 1) 0s;
  transition: transform 3s cubic-bezier(0.1, 0.8, 0, 1) 0s;
  transition: transform 3s cubic-bezier(0.1, 0.8, 0, 1) 0s, -webkit-transform 3s cubic-bezier(0.1, 0.8, 0, 1) 0s;
}
.anm-imgSlide01 .imgSlide-filter {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.anm-imgSlide01 .imgSlide-content {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.anm-imgSlide01.is-animated .imgSlide-filter,
.anm-imgSlide01.is-animated .imgSlide-content {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* anm-imgSlide02 下から画像がワイプ */
.anm-imgSlide02 .imgSlide-filter,
.anm-imgSlide02 .imgSlide-content {
  overflow: hidden;
  -webkit-transition: -webkit-transform 3s cubic-bezier(0.1, 0.8, 0, 1) 0s;
  transition: -webkit-transform 3s cubic-bezier(0.1, 0.8, 0, 1) 0s;
  transition: transform 3s cubic-bezier(0.1, 0.8, 0, 1) 0s;
  transition: transform 3s cubic-bezier(0.1, 0.8, 0, 1) 0s, -webkit-transform 3s cubic-bezier(0.1, 0.8, 0, 1) 0s;
}
.anm-imgSlide02 .imgSlide-filter {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.anm-imgSlide02 .imgSlide-content {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.anm-imgSlide02.is-animated .imgSlide-filter,
.anm-imgSlide02.is-animated .imgSlide-content {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.anm-link-text {
  display: inline-block;
}
.anm-link-text .letter {
  -webkit-transition: 1.2s cubic-bezier(0.2, 1, 0.2, 1);
  transition: 1.2s cubic-bezier(0.2, 1, 0.2, 1);
  display: inline-block;
}

/* TOP用 */
@-webkit-keyframes scroll {
  0% {
    -webkit-transform-origin: 0% 0%;
            transform-origin: 0% 0%;
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
  }
  40%, 54% {
    -webkit-transform-origin: 0% 0%;
            transform-origin: 0% 0%;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  55%, 60% {
    -webkit-transform-origin: 0% 100%;
            transform-origin: 0% 100%;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  100% {
    -webkit-transform-origin: 0% 100%;
            transform-origin: 0% 100%;
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
  }
}
@keyframes scroll {
  0% {
    -webkit-transform-origin: 0% 0%;
            transform-origin: 0% 0%;
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
  }
  40%, 54% {
    -webkit-transform-origin: 0% 0%;
            transform-origin: 0% 0%;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  55%, 60% {
    -webkit-transform-origin: 0% 100%;
            transform-origin: 0% 100%;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  100% {
    -webkit-transform-origin: 0% 100%;
            transform-origin: 0% 100%;
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
  }
}
@-webkit-keyframes scrollArrow {
  0%, 45%, 84%, 100% {
    opacity: 0;
  }
  50%, 75% {
    opacity: 1;
  }
}
@keyframes scrollArrow {
  0%, 45%, 84%, 100% {
    opacity: 0;
  }
  50%, 75% {
    opacity: 1;
  }
}
@-webkit-keyframes scroll02 {
  0% {
    -webkit-transform-origin: 100% 100%;
            transform-origin: 100% 100%;
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
  }
  40%, 54% {
    -webkit-transform-origin: 100% 100%;
            transform-origin: 100% 100%;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  55%, 60% {
    -webkit-transform-origin: 100% 0%;
            transform-origin: 100% 0%;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  100% {
    -webkit-transform-origin: 100% 0%;
            transform-origin: 100% 0%;
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
  }
}
@keyframes scroll02 {
  0% {
    -webkit-transform-origin: 100% 100%;
            transform-origin: 100% 100%;
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
  }
  40%, 54% {
    -webkit-transform-origin: 100% 100%;
            transform-origin: 100% 100%;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  55%, 60% {
    -webkit-transform-origin: 100% 0%;
            transform-origin: 100% 0%;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  100% {
    -webkit-transform-origin: 100% 0%;
            transform-origin: 100% 0%;
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
  }
}
footer,
.home {
  position: relative;
  z-index: 1;
}

.c-parallax-bg {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.c-parallax-bg .inn {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  height: 100lvh;
  z-index: -1;
}
.c-parallax-bg .inn .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.c-parallax-bg .inn .img img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
  width: 100%;
  height: 100%;
}

.c-article-card {
  padding-top: 40px;
  position: relative;
}
.c-article-card a {
  display: block;
}
.c-article-card .img-wrap {
  position: relative;
}
.c-article-card .ribbon {
  background: #1885C3;
  color: #fff;
  font-weight: bold;
  line-height: 1;
  padding: 4px 10px;
  position: absolute;
  bottom: 40px;
  right: -14px;
  z-index: 2;
  font-size: 15px;
}
.c-article-card .ribbon::after {
  position: absolute;
  content: "";
  top: 100%;
  right: 0;
  border: none;
  border-bottom: solid 14px transparent;
  border-left: solid 14px #106A9D;
}
.c-article-card .card-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  position: absolute;
  top: -40px;
  left: 10px;
  z-index: 2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-article-card .card-title .bg {
  background: #fff;
  padding: 10px 0;
  display: block;
}
.c-article-card .card-title .bg:nth-child(2) {
  margin-top: 80px;
}
.c-article-card .card-title .bg + .bg {
  margin-right: 6px;
}
.c-article-card .card-title .wrap {
  color: #18304B;
  display: block;
  font-size: 22px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-text-orientation: upright;
          text-orientation: upright;
  white-space: pre;
}
.c-article-card .card-title .wrap .upright {
  text-combine-upright: all;
  text-align: center;
}
.c-article-card .img {
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.c-article-card .img img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-article-card .cont {
  margin-top: 20px;
}
.c-article-card .cont .affiliation {
  font-size: 14px;
  font-weight: 400;
  margin-bottom: 10px;
  letter-spacing: -0.025em;
}
.c-article-card .cont .position {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.c-article-card .cont .position .career,
.c-article-card .cont .position .en {
  font-weight: bold;
}
.c-article-card .cont .position .career {
  font-size: 22px;
}
.c-article-card .cont .position .en {
  font-size: 14px;
  padding-left: 20px;
}
.c-article-card .cont .year {
  font-weight: 400;
  font-size: 16px;
}

#wrapper {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.js-loader {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  visibility: visible;
  opacity: 1;
  background: #fff;
  -webkit-transition: opacity 0.8s, visibility 0.8s;
  transition: opacity 0.8s, visibility 0.8s;
  z-index: 999999;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.js-loader.is-loaded {
  visibility: hidden;
  opacity: 0;
}
.js-loader.is-hide {
  display: none;
}
.js-loader .js-loader-progress {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding-right: 38px;
  padding-left: 90px;
  max-width: 400px;
  width: 100%;
  margin: 40px auto 0;
  position: absolute;
  bottom: 100px;
}
.js-loader .js-loader-progress-bar {
  background: #fff;
  width: 0%;
  max-width: 300px;
  height: 1px;
  z-index: 101;
  width: 0;
  -webkit-transition: width 0.4s;
  transition: width 0.4s;
}
.js-loader .js-loader-progress-number,
.js-loader .load-text {
  color: #fff;
  font-size: 13px;
  font-weight: bold;
  position: absolute;
  bottom: -10px;
}
.js-loader .load-text {
  left: 0;
}
.js-loader .js-loader-progress-number {
  right: 0;
}
.js-loader .inn {
  text-align: center;
  position: relative;
  z-index: 1;
}
.js-loader .inn .logo {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 55px;
}
.js-loader .inn .logo .logo-text {
  color: #fff;
  font-size: 10px;
  line-height: 1;
  padding-left: 32px;
  text-align: left;
}
.js-loader .inn .text {
  color: #fff;
  font-size: 26px;
  letter-spacing: -0.04em;
}
.js-loader .bg {
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.js-loader .bg video {
  z-index: 2;
  mix-blend-mode: multiply;
}
.js-loader .bg video,
.js-loader .bg .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.js-loader .bg video,
.js-loader .bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
  width: 100%;
  height: 100%;
}

/* -----------------------------------------------
* Modules エントリーポイント
-------------------------------------------------- */
/* -----------------------------------------------
* home Module
* homeページ用
-------------------------------------------------- */
footer,
.home {
  position: relative;
  z-index: 1;
}

.home {
  color: #fff;
}

.home-mv-section {
  height: 100vh;
  height: 100lvh;
  position: relative;
}
.home-mv-section .inner {
  position: relative;
  height: 100%;
}
.home-mv-section .inner .movie {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.home-mv-section .inner .movie::before {
  background: #7E7E7E;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  z-index: 1;
  opacity: 0.75;
  mix-blend-mode: multiply;
}
.home-mv-section .inner .movie video {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top left;
     object-position: top left;
  width: 100%;
  height: 100%;
}
.home-mv-section .inner .inner-block {
  padding-bottom: 90px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 2;
  max-width: calc(1146px + 66px + 66px);
  padding-right: 66px;
  padding-left: 66px;
}
.home-mv-section .inner .main-title {
  font-size: 68px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.1;
}
.home-mv-section .inner .catch {
  margin-top: 32px;
  font-size: 26px;
  line-height: 1.1;
}
.home-mv-section .inner .copyright {
  font-size: 10px;
  margin-top: 60px;
  opacity: 0.4;
}
.home-mv-section .news-area {
  background: #222222;
  z-index: 5;
}
.home-mv-section .news-area .title {
  font-size: 11px;
  font-weight: bold;
}
.home-mv-section .news-area a {
  position: relative;
}
.home-mv-section .news-area a::before {
  border: solid #fff;
  border-width: 0 1px 1px 0;
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  right: 50px;
  bottom: 0;
  width: 7px;
  height: 7px;
  margin: auto;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.home-mv-section .news-area .date,
.home-mv-section .news-area .text {
  letter-spacing: 0.05em;
}
.home-mv-section .news-area .date {
  font-size: 12px;
}
.home-mv-section .news-area .text {
  font-size: 11px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
.home-mv-section .scroll {
  position: absolute;
  left: 0;
  bottom: 30px;
}
.home-mv-section .scroll .scroll-text {
  font-size: 12px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  padding-bottom: 86px;
  position: relative;
  white-space: nowrap;
}
.home-mv-section .scroll .scroll-text::before, .home-mv-section .scroll .scroll-text::after {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  bottom: 0;
  right: 5px;
  left: 0;
}
.home-mv-section .scroll .scroll-text::before {
  background: #fff;
  width: 1px;
  height: 76px;
  -webkit-animation: scroll 2s 0.3s ease-in-out infinite;
          animation: scroll 2s 0.3s ease-in-out infinite;
}
.home-mv-section .scroll .scroll-text::after {
  border: solid #fff;
  border-width: 0 1px 1px 0;
  width: 5px;
  height: 5px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-animation: scrollArrow 2s 0.3s ease-in-out infinite;
          animation: scrollArrow 2s 0.3s ease-in-out infinite;
}

.home-vision-section {
  padding: 140px 0 155px;
}
.home-vision-section .title {
  margin-bottom: 95px;
}
.home-vision-section .title .en,
.home-vision-section .title .ja {
  display: block;
  font-weight: bold;
  line-height: 1.2;
}
.home-vision-section .title .en {
  font-size: 18px;
}
.home-vision-section .title .ja {
  font-size: 32px;
  letter-spacing: 0.1em;
}
.home-vision-section .text-wrap .lead-text {
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.2em;
  line-height: 2;
}
.home-vision-section .text-wrap .text {
  letter-spacing: 0.05em;
  line-height: 2.5;
}

.home-about-section {
  padding-left: 114px;
}
.home-about-section .slider-wrap {
  background: #fff;
  padding: 140px 0 100px 113px;
  position: relative;
  margin-left: auto;
}
.home-about-section .slider-wrap .title {
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
  position: absolute;
  top: 0;
  left: -60px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.home-about-section .swiper-slide {
  display: block;
  color: #18304B;
  width: 350px;
}
.home-about-section .swiper-slide .thumb {
  margin-bottom: 30px;
  overflow: hidden;
}
.home-about-section .swiper-slide .thumb img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.home-about-section .swiper-slide .card-title {
  margin-bottom: 10px;
}
.home-about-section .swiper-slide .card-title .en,
.home-about-section .swiper-slide .card-title .ja {
  display: block;
  font-weight: bold;
  line-height: 1.4;
}
.home-about-section .swiper-slide .card-title .ja {
  font-size: 22px;
  margin-bottom: 4px;
}
.home-about-section .swiper-slide .card-title .en {
  font-size: 18px;
}
.home-about-section .swiper-slide .text {
  color: #848484;
  font-weight: 400;
  line-height: 2.25;
}
.home-about-section .swiper-slide .c-button01 {
  margin-top: 25px;
}
.home-about-section .swiper-controller .swiper-button-next,
.home-about-section .swiper-controller .swiper-button-prev {
  width: 26px;
  height: 100%;
}
.home-about-section .swiper-controller .swiper-button-next::after,
.home-about-section .swiper-controller .swiper-button-prev::after {
  content: none;
}
.home-about-section .swiper-controller .swiper-button-next::before,
.home-about-section .swiper-controller .swiper-button-prev::before {
  border: solid #18304B;
  border-width: 0 2px 2px 0;
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 26px;
  height: 26px;
  margin: auto;
}
.home-about-section .swiper-controller .swiper-button-next::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.home-about-section .swiper-controller .swiper-button-prev::before {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}

.home-business-section {
  padding: 215px 0;
  text-align: center;
}
.home-business-section .title,
.home-business-section .text {
  line-height: 1.3;
}
.home-business-section .title {
  font-size: 46px;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 5px;
}
.home-business-section .text {
  font-size: 42px;
  margin-top: 15px;
}
.home-business-section .link {
  background: #fff;
  border-radius: 50%;
  color: #18304B;
  display: inline-block;
  position: relative;
  width: 164px;
  height: 164px;
  margin-top: 65px;
}
.home-business-section .link .c-svg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.home-interview-seticon {
  padding: 180px 0 257px;
}
.home-interview-seticon .title {
  margin-bottom: 15px;
  text-align: center;
}
.home-interview-seticon .title .ja,
.home-interview-seticon .title .en {
  display: block;
  font-weight: bold;
  line-height: 1.2;
}
.home-interview-seticon .title .ja {
  font-size: 32px;
  letter-spacing: 0.1em;
}
.home-interview-seticon .title .en {
  font-size: 28px;
  margin-top: 10px;
}
.home-interview-seticon .article-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.home-sky-section {
  background: url("../img/home/bg-sky.jpg") no-repeat bottom center/cover;
  color: #18304B;
  padding: 160px 0 250px;
}
.home-sky-section .box + .box {
  margin-top: 200px;
}
.home-sky-section .box .title {
  color: #1885C3;
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.home-sky-section .box .en {
  font-size: 18px;
  font-weight: bold;
  margin-top: 12px;
  line-height: 1.2;
}
.home-sky-section .box .text {
  font-weight: 400;
  line-height: 2.25;
  margin-top: 25px;
}
.home-sky-section .box .c-button01 {
  margin-top: 20px;
}

.home-faq-section {
  color: #18304B;
  margin-top: 100px;
  margin-bottom: 100px;
}

/* -----------------------------------------------
* features Module
* featuresページ用
-------------------------------------------------- */

.features-data-section {
  background: #EDF3FC;
}
.features-data-section .c-round-area {
  padding: 40px 14px 140px;
}
.features-data-section .data-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.features-data-section .box {
  background: #F9F9F9;
  width: 100%;
  padding: 28px 20px 20px;
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  /* 共通 */
  /* box01 */
  /* box02 */
  /* box03 */
  /* box04 */
  /* box05 */
  /* box06 */
  /* box07 */
  /* .box08 */
  /* .box10 */
}
.features-data-section .box > * {
  width: 100%;
}
.features-data-section .box .title {
  background: #18304B;
  color: #fff;
  display: inline-block;
  font-size: 18px;
  padding: 0 6px;
  margin-bottom: 30px;
  width: auto;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.features-data-section .box .lead-text {
  font-size: 18px;
  line-height: 2.1;
  text-align: center;
}
.features-data-section .box .num-text {
  font-size: 41px;
}
.features-data-section .box .num-text .num {
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  padding: 0 3px;
  line-height: 1;
}
.features-data-section .box .num-text .small {
  font-size: 16px;
  letter-spacing: -0.025;
  font-weight: 400;
}
.features-data-section .box .ico {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 190px;
  text-align: center;
}
.features-data-section .box .num-area {
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  max-width: 473px;
  margin: 25px auto 0;
}
.features-data-section .box .num-area .num-text {
  text-align: center;
  width: 100%;
}
.features-data-section .box .num-area .num-text .num {
  font-size: 110px;
}
.features-data-section .box .num-area .num-box .inn {
  position: relative;
}
.features-data-section .box .num-area .num-box .num-text {
  color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  font-size: 17px;
}
.features-data-section .box .num-area .num-box .num-text .num {
  font-size: 44px;
}
.features-data-section .box .num-area .num-box .bar {
  width: 100%;
  height: 68px;
}
.features-data-section .box .num-area .num-box .bar.bg-blue01 {
  background: #48B9E0;
}
.features-data-section .box .num-area .num-box .bar.bg-blue02 {
  background: #1885C3;
}
.features-data-section .box .num-area .num-box .text {
  font-size: 18px;
  font-weight: bold;
  margin-top: 5px;
}
.features-data-section .box .column {
  margin: 15px auto 0;
}
.features-data-section .box .column .text-list {
  text-align: left;
}
.features-data-section .box .column .text-list li {
  background: #fff;
  padding: 20px;
}
.features-data-section .box .column .text-list li + li {
  margin-top: 8px;
}
.features-data-section .box .column .text-list .head {
  font-size: 16px;
  font-weight: bold;
}
.features-data-section .box .column .text-list .text {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  margin-top: 5px;
}
.features-data-section .box .logo-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: auto;
}
.features-data-section .box .logo-list li {
  background: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 80px;
  width: calc((100% - 20px)/2);
}
.features-data-section .box .logo-list li:not(:nth-child(2n+1)) {
  margin-left: 20px;
}
.features-data-section .box .logo-list li:nth-child(n+3) {
  margin-top: 14px;
}
.features-data-section .box .logo-list .logo01 {
  width: 124px;
}
.features-data-section .box .logo-list .logo02 {
  width: 85px;
}
.features-data-section .box .logo-list .logo03 {
  width: 107px;
}
.features-data-section .box .logo-list .logo04 {
  width: 95px;
}
.features-data-section .box .logo-list .logo05 {
  width: 117px;
}
.features-data-section .box .logo-list .logo06 {
  width: 105px;
}
.features-data-section .box .logo-list .logo07 {
  width: 85px;
}
.features-data-section .box .detail-text {
  line-height: 2.37;
  margin: 25px auto 0;
  text-align: left;
}
.features-data-section .box.box03 .num-area .num-box:nth-child(1) {
  width: 60%;
}
.features-data-section .box.box03 .num-area .num-box:nth-child(2) {
  width: 40%;
}
.features-data-section .box.box04 {
  position: relative;
}
.features-data-section .box.box04 .data-circle {
  position: absolute;
  top: -10px;
  left: 35px;
  right: 0;
  margin: auto;
  width: 277px;
  height: 277px;
}
.features-data-section .box.box04 .data-circle:nth-child(1) {
  z-index: 2;
}
.features-data-section .box.box04 .data-circle:nth-child(2) {
  z-index: 1;
}
.features-data-section .box.box04 .circle-wrap {
  position: relative;
  width: 100%;
  height: 277px;
  left: -50%;
}
.features-data-section .box.box04 .circle {
  position: relative;
  width: 200%;
  height: 100%;
}
.features-data-section .box.box04 .circle img {
  position: relative;
  top: 25%;
}
.features-data-section .box.box04 .circle-right {
  position: absolute;
  left: 100%;
  width: 100%;
  height: 200%;
  overflow: hidden;
  top: 0;
  right: 0;
}
.features-data-section .box.box04 .circle-right .hidden {
  position: relative;
  left: -150%;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.features-data-section .box.box04 .circle-right .circle {
  position: relative;
  left: 50%;
}
.features-data-section .box.box04 .circle-left {
  position: absolute;
  width: 100%;
  height: 200%;
  overflow: hidden;
  top: 0;
  left: 0;
}
.features-data-section .box.box04 .circle-left .hidden {
  position: relative;
  left: 100%;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.features-data-section .box.box04 .circle-left .circle {
  position: relative;
  left: -50%;
}
.features-data-section .box.box04 .circle-left .circle img {
  position: relative;
  top: 25%;
  left: -25%;
}
.features-data-section .box.box04.is-animated .circle-right .hidden {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transform-origin: 100% 50%;
          transform-origin: 100% 50%;
  -webkit-animation: rotateRight 2s linear forwards;
          animation: rotateRight 2s linear forwards;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
}
.features-data-section .box.box04.is-animated .circle-right .circle {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transform-origin: 25% 50%;
          transform-origin: 25% 50%;
  -webkit-animation: rotateRight2 2s linear forwards;
          animation: rotateRight2 2s linear forwards;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
}
.features-data-section .box.box04.is-animated .circle-left .hidden {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transform-origin: 0% 50%;
          transform-origin: 0% 50%;
  -webkit-animation: rotateLeft 1.5s linear forwards;
          animation: rotateLeft 1.5s linear forwards;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
}
.features-data-section .box.box04.is-animated .circle-left .circle {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transform-origin: 25% 50%;
          transform-origin: 25% 50%;
  -webkit-animation: rotateLeft2 1.5s linear forwards;
          animation: rotateLeft2 1.5s linear forwards;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
}
.features-data-section .box.box04 .num-wrap {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  max-width: 500px;
  margin: auto;
}
.features-data-section .box.box04 .num-wrap .age {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: -5px;
}
.features-data-section .box.box04 .num-wrap .num-text {
  font-size: 23px;
}
.features-data-section .box.box04 .num-wrap .num-text .num {
  font-size: 40px;
}
.features-data-section .box.box04 .num-wrap .cont {
  position: absolute;
  margin: auto;
  z-index: 2;
  text-align: left;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.features-data-section .box.box04 .num-wrap .cont:nth-child(1) {
  color: #fff;
  top: 5%;
  bottom: 0;
  right: 0;
  left: 36%;
}
.features-data-section .box.box04 .num-wrap .cont:nth-child(2) {
  left: 14%;
  bottom: 11%;
}
.features-data-section .box.box04 .num-wrap .cont:nth-child(3) {
  left: 0;
  bottom: 0;
  top: 0;
}
.features-data-section .box.box04 .num-wrap .cont:nth-child(4) {
  left: 18%;
  top: 19%;
}
.features-data-section .box.box04 .num-wrap .cont:nth-child(5) {
  left: 0;
  right: 6%;
  top: 12%;
}
.features-data-section .box.box04 .num-wrap .cont:nth-child(6) {
  left: 35%;
  right: 0;
  top: 12%;
}
.features-data-section .box.box05 .num-area .num-box:nth-child(1) {
  width: 40%;
}
.features-data-section .box.box05 .num-area .num-box:nth-child(2) {
  width: 60%;
}
.features-data-section .box.box06 .num-area .num-box:nth-child(1) {
  width: 45%;
}
.features-data-section .box.box06 .num-area .num-box:nth-child(2) {
  width: 55%;
}
.features-data-section .box.box07 .num-area .num-box:nth-child(1) {
  width: 21%;
}
.features-data-section .box.box07 .num-area .num-box:nth-child(2) {
  width: 79%;
}
.features-data-section .box.box08 .text {
  font-size: 22px;
  font-weight: bold;
  line-height: 1.95;
  text-align: center;
}
.features-data-section .box.box10 .num-area .num-text {
  text-align: right;
  padding-right: 30px;
}
.features-data-section .box.box08 .ico, .features-data-section .box.box09 .ico, .features-data-section .box.box11 .ico {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.features-data-section .box.box08 .num-area, .features-data-section .box.box09 .num-area, .features-data-section .box.box11 .num-area {
  margin: 0 auto;
}

@-webkit-keyframes rotateLeft {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
}

@keyframes rotateLeft {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
}
@-webkit-keyframes rotateLeft2 {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
  }
}
@keyframes rotateLeft2 {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
  }
}
@-webkit-keyframes rotateRight {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  100% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
}
@keyframes rotateRight {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  100% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
}
@-webkit-keyframes rotateRight2 {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
  }
  100% {
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
  }
}
@keyframes rotateRight2 {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
  }
  100% {
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
  }
}
/* -----------------------------------------------
* business Module
* businessページ用
-------------------------------------------------- */
.business-solution-section {
  background: #EDF3FC;
  padding-bottom: 145px;
}
.business-solution-section .img-block {
  width: 100%;
  height: 510px;
}
.business-solution-section .img-block img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.business-solution-section .c-round-area {
  margin-top: -175px;
}
.business-solution-section .sub-title {
  color: #EDF3FC;
  font-size: 52px;
  line-height: 1;
  font-weight: bold;
  margin: 20px 0 45px;
}
.business-solution-section .title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 20px;
}
.business-solution-section .text {
  font-weight: 400;
  line-height: 2.3;
}
.business-solution-section .box {
  background: #F9F9F9;
  padding: 34px 70px 40px;
  margin-top: 60px;
}
.business-solution-section .box + .box {
  margin-top: 30px;
}
.business-solution-section .box .c-tag {
  margin-bottom: 3px;
}
.business-solution-section .box .box-title {
  color: #1885C3;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 15px;
}

/* -----------------------------------------------
* work Module
* workページ用
-------------------------------------------------- */
.work {
  position: relative;
  z-index: 10;
}
.work .c-article-kv-section {
  background: url(../img/work/bg-work.png) no-repeat center center/cover;
  background-size: 100%;
}
.work .kv-wrap {
  padding-top: calc(100vw / 1366 * 750);
  position: relative;
}
.work .kv-wrap .ttl {
  color: #18304B;
  display: block;
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin: 0 auto;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.work .kv-wrap .text {
  letter-spacing: -0.025em;
  line-height: 2.375;
  margin: 52px auto 10px;
  max-width: 800px;
}
.work .works-section {
  padding: calc(100vw / 1366 * 265) 0 78px;
}
.work .works-section.type01 {
  background: url(../img/work/work-img01.jpg) no-repeat top center/contain;
}
.work .works-section.type02 {
  background: url(../img/work/work-img02.jpg) no-repeat top center/contain;
}
.work .works-section .work-box {
  background: #fff;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 20px;
  padding: 82px 72px;
}
.work .works-section .work-box .work-num {
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 12px;
}
.work .works-section .work-box .desc {
  color: #1885C3;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 17px;
}
.work .works-section .work-box .c-title02 {
  margin-bottom: 20px;
}
.work .works-section .work-box .text {
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 2.375;
  margin-bottom: 24px;
}

/* -----------------------------------------------
* news Module
* newsページ用
-------------------------------------------------- */
.news .news-section {
  background: #EDF3FC;
  padding: 80px 0 115px;
}
.news .news-list {
  border-top: 1px solid #D1D1D1;
  margin-bottom: 82px;
}
.news .news-list li {
  border-bottom: 1px solid #D1D1D1;
  padding: 26px 0 20px;
}
.news .news-list li:nth-child(n+8) {
  display: none;
}
.news .news-list li .inn {
  display: block;
}
.news .news-list li .day {
  display: block;
  font-size: 22px;
  font-weight: bold;
}
.news .news-list li .text {
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 2.25;
  margin: 10px 0;
}
.news .news-list li .text a {
  color: #1885C3;
  text-decoration: underline;
}
.news .news-list li .c-button01 {
  padding-right: 50px;
}

/* -----------------------------------------------
* news Module
* newsページ用
-------------------------------------------------- */
.jobdescription {
  position: relative;
  z-index: 1;
}
.jobdescription .c-article-kv-section {
  background: #fff;
}
.jobdescription .c-contents-section .inner-block {
  padding-top: 60px;
  padding-bottom: 183px;
}
.jobdescription .recruit-block + .c-round-area {
  margin-top: 100px;
}
.jobdescription .tab-wrap {
  -webkit-filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.1));
          filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.1));
}
.jobdescription .tab-ul {
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  position: relative;
  z-index: 2;
}
.jobdescription .tab-ul li {
  background: #EDF3FC;
  border-radius: 20px 20px 0 0;
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 16px;
  text-align: center;
  padding: 10px 10px;
  width: calc((100% - 48px) / 3);
}
.jobdescription .tab-ul li + li {
  margin-left: 24px;
}
.jobdescription .tab-ul li.current {
  background: #fff;
  font-size: 24px;
  font-weight: bold;
  padding: 18px 10px 18px;
}
.jobdescription .tab-target {
  background: #fff;
  display: none;
  border-radius: 0 0 20px 20px;
  padding: 130px 73px 100px;
}
.jobdescription .tab-target.current {
  display: block;
}
.jobdescription .tab-target .lead {
  line-height: 2.375;
  font-weight: 400;
}
.jobdescription .entry-button {
  color: #fff;
  display: block;
  padding: 23px 20px 24px;
  text-align: center;
  max-width: 513px;
  margin: 69px auto 0;
  position: relative;
  z-index: 1;
}
.jobdescription .entry-button::before, .jobdescription .entry-button::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  z-index: -1;
}
.jobdescription .entry-button::before {
  background: linear-gradient(45deg, #228fd1 50%, #264bd5 90%);
}
.jobdescription .entry-button::after {
  background: linear-gradient(45deg, #264bd5 50%, #228fd1 90%);
  opacity: 0;
}
.jobdescription .entry-button .en,
.jobdescription .entry-button .ja {
  display: block;
  font-weight: bold;
}
.jobdescription .entry-button .en {
  font-size: 28px;
}
.jobdescription .entry-button .ja {
  letter-spacing: 0.1em;
}
.jobdescription .flow-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 65px;
  margin-bottom: 80px;
}
.jobdescription .flow-wrap .step {
  border: 1px solid #4384BE;
  border-radius: 100px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 34px 20px 20px;
  position: relative;
  width: calc((100% - 125px) / 6);
}
.jobdescription .flow-wrap .step + .step {
  margin-left: 25px;
}
.jobdescription .flow-wrap .step + .step::before {
  content: "";
  display: inline-block;
  border-style: solid;
  border-width: 8px 0 8px 14px;
  border-color: transparent transparent transparent #1885C3;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -21px;
  margin: auto;
  height: 14px;
  width: 16px;
}
.jobdescription .flow-wrap .step:first-child {
  background: #EDF3FC;
}
.jobdescription .flow-wrap .step:last-child {
  background: #FFF7F5;
}
.jobdescription .flow-wrap .num {
  color: #1885C3;
  display: block;
  font-size: 12px;
  font-weight: bold;
}
.jobdescription .flow-wrap .text {
  display: block;
  font-size: 15px;
  margin-top: 10px;
  text-align: center;
}

.jobdescription .c-contents-section {
  background: #EDF3FC;
}
.jobdescription .aco-wrap {
  background: linear-gradient(90deg, #1b81bf 0%, #62addc 100%);
  border-radius: 20px;
}
.jobdescription .aco-wrap + .aco-wrap {
  margin-top: 30px;
}

.jobdescription .js-aco-button {
  padding: 30px 90px 30px 50px;
  width: 100%;
  text-align: left;
  position: relative;
}
.jobdescription .js-aco-button::before,
.jobdescription .js-aco-button::after {
  background: #fff;
  content: "";
  display: block;
  width: 28px;
  height: 2px;
  position: absolute;
  bottom: 0;
  top: 0;
  right: 55px;
  margin: auto;
}
.jobdescription .js-aco-button::after {
  transform: rotate(90deg);
  transition: 0.3s ease-in-out;
}
.jobdescription .js-aco-button.is-active::after {
  transform: rotate(0);
}
.jobdescription .js-aco-button .button-text {
  color: #fff;
  font-size: 26px;
  font-weight: bold;
  transition: 0.3s ease-in-out;
}

.jobdescription .cont-wrap {
  display: none;
  padding: 0 17px 17px;
}
.jobdescription .table-wrap {
  background: #fff;
  border-radius: 20px;
  padding: 60px 55px 100px;
}

/* -----------------------------------------------
* attraction Module
* attractionページ用
-------------------------------------------------- */
.attraction {
  position: relative;
  z-index: 1;
}
.attraction .c-article-kv-section {
  background: #fff;
}
.attraction .point-section .inner-block {
  padding-top: 170px;
  padding-bottom: 174px;
}
.attraction .point-wrap .point {
  position: relative;
}
.attraction .point-wrap .point + .point {
  margin-top: 171px;
}
.attraction .point-wrap .point:nth-child(odd) .img {
  right: 70px;
  top: -74px;
}
.attraction .point-wrap .point:nth-child(even) .img {
  left: 70px;
  top: -70px;
}
.attraction .point-wrap .point .text-wrap {
  background: #fff;
  border-radius: 38px;
  max-width: 830px;
}
.attraction .point-wrap .point .text-wrap .num-wrap {
  position: relative;
  margin-bottom: 13px;
}
.attraction .point-wrap .point .text-wrap .num-wrap .txt {
  color: #1885C3;
  display: inline-block;
  font-size: 16px;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.attraction .point-wrap .point .text-wrap .num-wrap .num {
  color: #1885C3;
  font-size: 60px;
  line-height: 1;
  padding-left: 20px;
}
.attraction .point-wrap .point .text-wrap .title {
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
  line-height: 1.5;
}
.attraction .point-wrap .point .text-wrap .text {
  font-weight: 400;
  line-height: 2.375;
  letter-spacing: -0.025em;
}
.attraction .point-wrap .point .img {
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  position: absolute;
  border-radius: 40px;
  width: 460px;
  overflow: hidden;
}
.attraction .training-section {
  background: #fff;
}
.attraction .training-section .inner-block {
  padding-top: 74px;
  padding-bottom: 74px;
}
.attraction .training-section .box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.attraction .training-section .box .img {
  width: 291px;
}
.attraction .training-section .box .text-wrap {
  margin-left: 67px;
  width: calc(100% - 358px);
}
.attraction .training-section .box .title {
  font-size: 40px;
  font-weight: bold;
}
.attraction .training-section .box .sub-title {
  font-size: 18px;
  color: #1685BE;
}
.attraction .training-section .box .text {
  font-weight: 400;
  line-height: 2;
  margin-bottom: 10px;
}

/* -----------------------------------------------
* entry Module
* entryページ用
-------------------------------------------------- */
.entry {
  position: relative;
  z-index: 10;
}
.entry .c-article-kv-section {
  background: #fff;
  min-height: auto;
  padding-bottom: 55px;
}
.entry .c-article-kv-section .text {
  max-width: initial;
}
.entry .entry-section {
  padding: 56px 0;
}
.entry .c-form {
  background: #fff;
  border-radius: 20px;
  padding: 88px min(calc(100vw / 1366 * 113), 113px);
}
.entry .c-form .contact-info .text {
  font-size: 16px;
  font-weight: 400;
  line-height: 2.25;
  margin-top: 36px;
}
.entry .c-form .contact-step-list {
  counter-reset: contact-step-num;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.entry .c-form .contact-step-list > li {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(65, 88, 174, 0.18)), to(rgba(0, 107, 172, 0.18)));
  background: linear-gradient(rgba(65, 88, 174, 0.18) 0%, rgba(0, 107, 172, 0.18) 100%);
  border-radius: 100px;
  color: #fff;
  counter-increment: contact-step-num;
  font-size: 14px;
  font-weight: bold;
  padding: 17px 0 18px;
  position: relative;
  line-height: 1;
  text-align: center;
  width: calc((100% - 126px) / 3);
}
.entry .c-form .contact-step-list > li:not(:first-child):before, .entry .c-form .contact-step-list > li:not(:first-child):after {
  background: #D0D0D0;
  border-radius: 2px;
  content: "";
  display: inline-block;
  height: 3px;
  left: -36px;
  position: absolute;
  width: 13px;
}
.entry .c-form .contact-step-list > li:not(:first-child):before {
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  top: calc(50% - 5px);
}
.entry .c-form .contact-step-list > li:not(:first-child):after {
  bottom: calc(50% - 6px);
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
}
.entry .c-form .contact-step-list > li + li {
  margin-left: 63px;
}
.entry .c-form .contact-step-list > li.active {
  background: linear-gradient(225deg, #4158ae 0%, #006bac 100%);
  opacity: 1;
}
.entry .c-form .contact-step-list > li .num {
  display: inline;
  font-size: 15px;
}
.entry .c-form .form-table {
  margin: 55px 0 50px;
  width: 100%;
}
.entry .c-form .form-table tr:first-child {
  border-bottom: 1px solid #D1D1D1;
  border-top: 1px solid #D1D1D1;
}
.entry .c-form .form-table tr:not(:first-child) {
  border-bottom: 1px solid #D1D1D1;
}
.entry .c-form .form-table tr.work-clone-tr:not(.last) .btn-wrap {
  display: none;
}
.entry .c-form .form-table th, .entry .c-form .form-table td {
  padding: 30px 0;
  text-align: left;
}
.entry .c-form .form-table th {
  vertical-align: top;
  position: relative;
  width: 34%;
}
.entry .c-form .form-table th.required::after {
  background: #FB3000;
  border-radius: 150px;
  color: #fff;
  content: "必須";
  font-size: 12px;
  font-weight: 300;
  line-height: 1;
  margin-left: 13px;
  padding: 0 9px 1px;
}
.entry .c-form .form-table td {
  padding-left: 4px;
  width: 100%;
}
.entry .c-form .btn-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 18px 0 0;
}
.entry .c-form .increase-btn,
.entry .c-form .decrease-btn {
  border-radius: 150px;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  padding: 10px 25px 10px 33px;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.entry .c-form .increase-btn {
  background: -webkit-gradient(linear, left top, left bottom, from(#4158ae), to(#006bac));
  background: linear-gradient(#4158ae 0%, #006bac 100%);
}
.entry .c-form .decrease-btn {
  background: #A0A0A0;
  margin-left: auto;
}
.entry .error-text {
  color: #FB3000;
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
  margin-top: 14px;
}
.entry .info-text {
  font-size: 12px;
  font-weight: 300;
  margin-top: 9px;
}
.entry .info-text02 {
  font-size: 12px;
  font-weight: 300;
  margin-bottom: 9px;
}
.entry .personal-info-block .ttl {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 22px;
}
.entry .personal-info-block .text {
  font-size: 16px;
  font-weight: 400;
  line-height: 2.25;
  margin-bottom: 27px;
}
.entry .personal-info-block .text > a {
  border-bottom: 1px solid #1885C3;
  color: #1885C3;
  font-weight: bold;
  margin: 0 8px 0 5px;
}
.entry .form-ttl {
  color: #1885C3;
  font-size: 40px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1;
  margin: 90px 0 38px;
  text-align: center;
}
.entry .form-ttl ~ .text {
  font-weight: 400;
  line-height: 2.25;
  text-align: center;
}
.entry .form-ttl ~ .text + .text {
  margin-top: 1em;
}
.entry .form-ttl ~ .text a {
  display: inline-block;
  color: #1885C3;
  text-decoration: underline;
}
.entry .form-ttl ~ .c-form-btn {
  margin: 75px auto 65px;
}
.entry.confirm .c-label {
  font-weight: 500;
}

/* -----------------------------------------------
* training Module
* trainingページ用
-------------------------------------------------- */
.training {
  position: relative;
  z-index: 1;
}
.training .c-article-kv-section {
  background: #fff;
}
.training .training-section .c-title03 + .lead-txt,
.training .program-section .c-title03 + .lead-txt {
  margin-top: 50px;
}
.training .training-section .c-title04 + .lead-txt,
.training .program-section .c-title04 + .lead-txt {
  margin-top: 20px;
}
.training .training-section .lead-txt,
.training .program-section .lead-txt {
  color: #18304B;
  font-weight: 300;
  line-height: 2.25;
  margin-bottom: 100px;
}
.training .training-section {
  padding: 86px 0 152px;
}
.training .training-img-section {
  position: relative;
}
.training .training-img-section .swiper .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}
.training .training-img-section .swiper .swiper-slide {
  width: 459px;
  display: block;
}
.training .training-img-section .swiper-controller {
  height: 57px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 214px;
  margin: auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  opacity: 1;
}
.training .program-section {
  padding: 113px 0 136px;
}
.training .program-section .lead-txt {
  margin-bottom: 50px;
}
.training .teacher-block {
  background: #fff;
  border-radius: 10px;
  margin: 80px 0 0 13px;
  padding: 64px 57px 42px 37px;
  position: relative;
}
.training .teacher-block .teacher-ttl {
  position: absolute;
  top: 12px;
  left: -13px;
}
.training .teacher-block .teacher-ttl .ttl {
  background: #1885C3;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.57;
  padding: 1px 10px 2px;
  position: relative;
}
.training .teacher-block .teacher-ttl .ttl::after {
  border-top: 15px solid #106A9D;
  border-left: 13px solid transparent;
  content: "";
  display: block;
  height: 15px;
  position: absolute;
  width: 13px;
  bottom: -15px;
  left: 0;
}
.training .teacher-block .teacher-item + .teacher-item {
  margin-top: 60px;
}
.training .teacher-block .teacher-item .img-area {
  width: 104px;
  height: 104px;
  margin: auto;
}
.training .teacher-block .teacher-item .img-area img {
  border-radius: 50%;
}
.training .teacher-block .teacher-item .txt-area .ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 25px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.training .teacher-block .teacher-item .txt-area .hiring {
  color: #1885C3;
  font-size: 20px;
  font-weight: bold;
}
.training .teacher-block .teacher-item .txt-area .year {
  font-size: 14px;
}
.training .teacher-block .teacher-item .txt-area .txt {
  font-weight: 300;
  line-height: 2;
  margin-top: 10px;
}

/* -----------------------------------------------
* interview Module
* interviewページ用
-------------------------------------------------- */
.interview {
  position: relative;
  z-index: 1;
}
.interview .interview-wrap .img-cont {
  width: 44%;
  height: 100vh;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.interview .interview-wrap .img-cont .img {
  width: 100%;
  height: 100%;
  margin: auto;
  display: block;
  visibility: hidden;
  position: absolute;
  top: 0;
  bottom: 0;
  overflow: hidden;
  /* フェード速度 */
  -webkit-transition: 0.5s;
  transition: 0.5s;
  opacity: 0;
}
.interview .interview-wrap .img-cont .img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.interview .interview-wrap .img-cont .img:first-child, .interview .interview-wrap .img-cont .img.is-active {
  visibility: visible;
  opacity: 1;
}
.interview .interview-wrap .img-cont .img:first-child img, .interview .interview-wrap .img-cont .img.is-active img {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.interview .slider-wrap {
  background: #EDF3FC;
  padding-bottom: 175px;
  overflow: hidden;
  position: relative;
}
.interview .slider-wrap .inner-block::after {
  background: #fff;
  content: "";
  display: block;
  width: 1000px;
  height: 100%;
  position: absolute;
  bottom: 0;
  top: 0;
  right: 100%;
  margin: auto;
  z-index: -1;
}
.interview .slider-wrap .title-wrap {
  margin-bottom: 65px;
}
.interview .slider-wrap .title-wrap .title,
.interview .slider-wrap .title-wrap .sub-title {
  font-weight: bold;
}
.interview .slider-wrap .title-wrap .title {
  color: #1885C3;
  font-size: 32px;
  margin-bottom: 10px;
}
.interview .slider-wrap .title-wrap .sub-title {
  font-family: "Montserrat", sans-serif;
  font-size: 28px;
  line-height: 1;
}
.interview .slider-wrap .swiper {
  overflow: visible;
}
.interview .slider-wrap .swiper .swiper-slide {
  width: 295px;
}
.interview .slider-wrap .swiper-controller {
  position: static;
}
.interview .slider-wrap .swiper-button-next,
.interview .slider-wrap .swiper-button-prev {
  background: #fff;
  border: 1px solid #B7BDC6;
  border-radius: 50%;
  width: 91px;
  height: 91px;
  top: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
  outline: none;
}
.interview .slider-wrap .swiper-button-next::after,
.interview .slider-wrap .swiper-button-prev::after {
  content: none;
}
.interview .slider-wrap .swiper-button-next .c-svg,
.interview .slider-wrap .swiper-button-prev .c-svg {
  color: #18304B;
}
.interview .slider-wrap .swiper-button-next {
  right: 0;
}
.interview .slider-wrap .swiper-button-prev {
  left: 0;
}

.interview-kv-section {
  color: #fff;
  padding: 100px 0 100px;
}
.interview-kv-section .img {
  margin-bottom: 25px;
}
.interview-kv-section .img img {
  width: 100%;
}
.interview-kv-section .c-breadcrumb-list {
  margin-bottom: 25px;
}
.interview-kv-section .c-breadcrumb-list li + li::before {
  background: #fff;
}
.interview-kv-section .inner-block {
  height: 100%;
}
.interview-kv-section .en,
.interview-kv-section .title {
  width: 100%;
}
.interview-kv-section .en {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 25px;
}
.interview-kv-section .title {
  font-size: 40px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
.interview-kv-section .profile {
  background: #fff;
  border-radius: 10px;
  color: #18304B;
  margin-top: auto;
  padding: 50px 30px 30px;
  position: relative;
}
.interview-kv-section .profile .ribbon {
  background: #1885C3;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.2;
  padding: 4px 10px;
  position: absolute;
  top: 12px;
  left: -14px;
}
.interview-kv-section .profile .ribbon::after {
  position: absolute;
  content: "";
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 14px transparent;
  border-right: solid 14px #106A9D;
}
.interview-kv-section .profile .affiliation {
  font-size: 14px;
  font-weight: 400;
  padding-bottom: 5px;
}
.interview-kv-section .profile .position {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 5px;
  width: 100%;
}
.interview-kv-section .profile .position .career {
  color: #1885C3;
  font-size: 22px;
  font-weight: bold;
  padding-right: 30px;
}
.interview-kv-section .profile .position .en {
  font-size: 14px;
  margin-bottom: 0;
  width: auto;
}
.interview-kv-section .profile .year {
  font-size: 14px;
  font-weight: 400;
}
.interview-kv-section .profile .detail {
  font-weight: 400;
  margin-top: 10px;
}
.interview-cont-section .img img {
  width: 100%;
}
.interview-cont-section .inn {
  background: #fff;
  padding: 64px 60px 100px 70px;
}
.interview-cont-section .title {
  color: #1885C3;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 30px;
}
.interview-cont-section .text {
  font-size: 18px;
  font-weight: 400;
  line-height: 2.1;
  letter-spacing: -0.025em;
}
.interview-cont-section .text + .text {
  margin-top: 60px;
}

/* -----------------------------------------------
* Page エントリーポイント
-------------------------------------------------- */

@media only screen and (max-width: 767px) {
  html {
    font-size: 14px;
  }
  body {
    position: relative;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  input,
select,
textarea {
    font-size: 16px !important;
  }
  #wrapper,
.outer-block {
    min-width: 320px;
  }
  .inner-block {
    padding: 0 20px;
  }
  .pc {
    display: none !important;
  }
  .c-header > .logo-wrap {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .c-header .logo {
    padding: 17px 0 17px 20px;
  }
  .c-header .logo a img {
    width: 137px;
  }
  .c-header .logo .text {
    padding-top: 8px;
  }
  .c-header .button-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .c-header .button-wrap .entry-button .inn .button-text {
    font-size: 10px;
    margin-bottom: 3px;
  }
  .c-header .button-wrap .entry-button .inn .c-svg {
    width: 24px;
    height: 13px;
  }
  .c-menu-button,
.c-header .button-wrap .entry-button {
    width: 70px;
    height: 75px;
  }
  .c-menu-button .inn {
    width: 34px;
    height: 32px;
  }
  .c-menu-button .inn .button-text {
    font-size: 10px;
  }
  .c-menu-button .inn .line {
    height: 1px;
  }
  .c-menu-button .inn .line:nth-of-type(1) {
    bottom: 8px;
  }
  .c-menu-button .inn .line:nth-of-type(2) {
    bottom: 0;
  }
  .c-menu-button.is-open .inn .line {
    bottom: 3px;
  }
  .c-nav {
    color: #fff;
  }
  .c-nav .nav-cont .nav-area {
    padding: 125px 35px 0;
  }
  .c-nav .nav-cont .nav-area .nav-list > li {
    padding: 24px 0;
  }
  .c-nav .nav-cont .nav-area .nav-list .title {
    font-size: 14px;
    margin-bottom: 5px;
  }
  .c-nav .nav-cont .nav-area .nav-list .title::before {
    background: #98D0F0;
    top: 7px;
  }
  .c-nav .nav-cont .nav-area .nav-list .nav {
    padding-left: 35px;
  }
  .c-nav .nav-cont .nav-area .nav-list .nav li + li {
    margin-top: 12px;
  }
  .c-nav .nav-cont .nav-area .nav-list .nav a {
    color: #fff;
  }
  .c-nav .nav-cont .entry-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding: 50px 20px 50px;
  }
  .c-nav .nav-cont .entry-area .box-column {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .c-nav .nav-cont .entry-area .entry-button {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .c-nav .nav-cont .entry-area .copyright {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .c-nav .nav-cont .entry-area .entry-button {
    margin-top: 25px;
    padding: 30px;
    text-align: center;
  }
  .c-nav .nav-cont .entry-area .entry-button .btn-text.en {
    font-size: 28px;
    display: block;
  }
  .c-nav .nav-cont .entry-area .entry-button .btn-text.small {
    font-size: 14px;
    display: block;
    margin-top: 5px;
  }
  .c-nav .nav-cont .entry-area .entry-button .c-svg {
    display: none;
  }
  .c-nav .nav-cont .entry-area .box-column {
    margin-top: 0;
  }
  .c-nav .nav-cont .entry-area .box-column .box {
    border: none;
    padding: 65px 25px;
    width: calc((100% - 1px)/2);
  }
  .c-nav .nav-cont .entry-area .box-column .box::before {
    opacity: 0;
  }
  .c-nav .nav-cont .entry-area .box-column .box::after {
    background: linear-gradient(180deg, rgba(65,88,174,0.6) 0%, rgba(0,107,172,0.6) 100%);
    opacity: 1;
  }
  .c-nav .nav-cont .entry-area .box-column .box .text {
    font-size: 12px;
  }
  .c-nav .nav-cont .entry-area .box-column .box .c-grad-link {
    margin-top: 20px;
    width: 100%;
    max-width: 117px;
    margin-right: auto;
    margin-left: auto;
  }
  .c-nav .nav-cont .entry-area .copyright {
    font-size: 10px;
    opacity: 0.4;
  }
  .c-footer {
    padding: 50px 0 70px;
  }
  .c-footer .entry-button {
    padding: 30px;
  }
  .c-footer .entry-button .en {
    font-size: 28px;
    line-height: 1.2;
  }
  .c-footer .entry-button .ja {
    font-size: 14px;
  }
  .c-footer .top .box-column {
    margin-top: 26px;
  }
  .c-footer .top .box-column .box {
    position: relative;
    padding-bottom: 24px;
  }
  .c-footer .top .box-column .box::before {
    background: #DCDCDC;
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    opacity: 0.33;
  }
  .c-footer .top .box-column .box .link {
    padding: 35px 0;
  }
  .c-footer .top .box-column .box .link .c-svg {
    top: 49px;
    right: 8px;
  }
  .c-footer .top .box-column .box .link .ja {
    font-size: 26px;
  }
  .c-footer .top .box-column .box .link .en {
    font-size: 18px;
    margin-top: 10px;
  }
  .c-footer .top .box-column .box .grad-link-wrap {
    margin: 0 auto 30px;
  }
  .c-footer .top .box-column .box .grad-link-wrap .link-area {
    max-width: 117px;
  }
  .c-footer .top .box-column .box .grad-link-wrap .link-area + .link-area {
    margin-left: 52px;
    position: relative;
  }
  .c-footer .top .box-column .box .grad-link-wrap .link-area + .link-area::before {
    background: #fff;
    content: "";
    display: block;
    width: 1px;
    height: 23px;
    position: absolute;
    bottom: 0;
    top: 0;
    left: -25px;
    margin: auto;
  }
  .c-footer .top .box-column .box .grad-link-wrap .c-grad-link {
    font-size: 11px;
  }
  .c-footer .bottom {
    padding-top: 75px;
  }
  .c-footer .bottom .link-wrap .link-list a {
    font-size: 12px;
  }
  .c-footer .bottom .link-wrap .link-list a .c-svg {
    margin-left: 8px;
  }
  .c-footer .bottom .link-wrap .link-list li + li {
    margin-top: 12px;
  }
  .c-footer .bottom .logo-wrap {
    margin-top: 35px;
  }
  .c-footer .bottom .logo-wrap .logo a {
    width: 165px;
  }
  .c-footer .bottom .logo-wrap .logo .text {
    font-size: 10px;
    padding-left: 33px;
  }
  .c-footer .bottom .logo-wrap .copyright {
    font-size: 10px;
    margin-top: 35px;
    opacity: 0.4;
  }
  .c-title01 .main {
    font-size: 26px;
  }
  .c-title02 {
    font-size: 28px;
  }
  .c-title03 .sub {
    margin-bottom: 15px;
  }
  .c-title03 .main {
    font-size: 28px;
  }
  .c-title03.center .main {
    text-align: left;
  }
  .c-title04 {
    font-size: 16px;
  }
  .c-title04.center {
    text-align: left;
  }
  .c-round-area {
    padding: 40px 10px 60px;
    border-radius: 10px;
    margin-left: -10px;
    margin-right: -10px;
  }
  .c-round-area + .c-round-area {
    margin-top: 60px;
  }
  .c-faq-wrap {
    margin-top: 40px;
  }
  .c-faq-wrap .aco-head {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 56px;
    padding: 10px 35px 11px 50px;
  }
  .c-faq-wrap .aco-head .en {
    font-size: 18px;
    top: 19px;
    left: 20px;
  }
  .c-faq-wrap .aco-head .en::before {
    top: 1px;
    height: 10px;
    right: -12px;
  }
  .c-faq-wrap .aco-head .title {
    font-size: 14px;
    line-height: 1.2857;
    width: 100%;
  }
  .c-faq-wrap .aco-head .title::before, .c-faq-wrap .aco-head .title::after {
    right: -15px;
    height: 15px;
  }
  .c-faq-wrap .aco-body {
    padding: 17px 0 17px 45px;
  }
  .c-faq-wrap .aco-body .en {
    font-size: 18px;
    top: 21px;
    left: 15px;
  }
  .c-faq-wrap .aco-body .text {
    font-size: 14px;
  }
  .c-program-wrap .program-item + .program-item {
    margin-top: 50px;
  }
  .c-program-wrap .program-item .month-area {
    height: 90px;
    width: 90px;
    margin-left: 10px;
  }
  .c-program-wrap .program-item .content-box,
.c-program-wrap .program-item .purpose-box {
    padding: 15px 10px;
    line-height: 2.28;
  }
  .c-program-wrap .program-item .ttl-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 17px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .c-program-wrap .program-item .ttl-area + .content-box {
    margin-top: 24px;
  }
  .c-program-wrap .program-item .c-title04 {
    font-size: 22px;
    line-height: 1.45;
    width: calc(100% - (100px + 17px));
  }
  .c-program-wrap .program-item .content-box + .purpose-box {
    margin-top: 20px;
  }
  .c-list01 {
    margin: 19px auto 0;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .c-list01 > li {
    max-width: 350px;
    padding: 21px 2px 30px 12px;
    width: 100%;
  }
  .c-list01 > li:nth-child(n+2) {
    margin-top: 20px;
  }
  .c-list01 > li .num {
    padding: 4px 0;
  }
  .c-list01 > li > .wrap {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-top: 15px;
  }
  .c-list01 > li .c-svg,
.c-list01 > li .ico {
    height: 70px;
    margin: 10px auto 0 6px;
    width: 98px;
  }
  .c-list01 > li .inn {
    max-width: calc(100% - 140px);
  }
  .c-list01 > li .label {
    display: inline-block;
    font-size: 16px;
    letter-spacing: 0;
    line-height: 1.75;
    margin-left: 0;
    margin-top: 0;
  }
  .c-table01 th, .c-table01 td {
    display: block;
    width: 100%;
  }
  .c-table01 th {
    background: #F2F2F2;
    border-top: 1px solid #D1D1D1;
    border-bottom: 1px solid #D1D1D1;
    font-size: 16px;
    padding: 7px 8px 6px;
  }
  .c-table01 td {
    padding: 12px 8px 13px;
    line-height: 2.2;
    letter-spacing: -0.02em;
  }
  .c-form .input-flex + .input-flex,
.c-form .input-flex + .c-label {
    margin-top: 8px;
  }
  .c-form .input-flex.period {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .c-form .input-flex.wrap {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .c-form .input-flex.wrap .c-label {
    width: 100%;
  }
  .c-form .input-flex.wrap .c-label + .c-label {
    margin: 10px 0 0;
    width: 100%;
  }
  .c-form .input-flex .symbol {
    margin: 7px 10px 0;
  }
  .c-form .input-flex .c-label {
    width: 100%;
  }
  .c-form .input-flex .c-label + .c-label {
    margin-left: 13px;
  }
  .c-form .input-box {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .c-form .input-box .c-input {
    margin-right: 19px;
  }
  .c-form .c-label + .c-label,
.c-form .c-label + .input-flex {
    margin-top: 10px;
  }
  .c-form .c-label.checkbox {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    font-size: 18px;
    line-height: 1.8;
    padding-right: 10px;
  }
  .c-form .c-input {
    padding: 12px 14px 14px;
  }
  .c-form .c-radio.gender label + label {
    margin: 0 0 0 18px;
  }
  .c-form .c-radio label + label {
    margin-top: 8px;
  }
  .c-form .c-radio .radio + span {
    margin-left: 2px;
  }
  .c-form .c-checkbox {
    margin-right: 73px;
    margin-top: 3px;
  }
  .c-form .c-checkbox::after {
    margin-left: 27px;
    margin-top: 1px;
    position: absolute;
    right: -55px;
  }
  .c-form .c-textarea.short {
    height: 170px;
  }
  .c-form .c-select + .c-select,
.c-form .input-year + .c-select {
    margin-left: 16px;
  }
  .c-form .c-select .selectBox,
.c-form .input-year .selectBox {
    max-width: 290px;
  }
  .c-form .c-select .selectBox.year .selectBox__output, .c-form .c-select .selectBox.month .selectBox__output, .c-form .c-select .selectBox.day .selectBox__output,
.c-form .input-year .selectBox.year .selectBox__output,
.c-form .input-year .selectBox.month .selectBox__output,
.c-form .input-year .selectBox.day .selectBox__output {
    padding-left: 8px;
  }
  .c-form .c-select .selectBox.year,
.c-form .input-year .selectBox.year {
    width: 75px;
  }
  .c-form .c-select .selectBox.month, .c-form .c-select .selectBox.day,
.c-form .input-year .selectBox.month,
.c-form .input-year .selectBox.day {
    margin-right: 9px;
    width: 68px;
  }
  .c-form .c-select .selectBox.graduate-section,
.c-form .input-year .selectBox.graduate-section {
    max-width: initial;
  }
  .c-form .c-select .selectBox .selectBox__output:before, .c-form .c-select .selectBox .selectBox__output:after,
.c-form .input-year .selectBox .selectBox__output:before,
.c-form .input-year .selectBox .selectBox__output:after {
    width: 10px;
  }
  .c-form .c-select .selectBox .selectBox__output,
.c-form .input-year .selectBox .selectBox__output {
    font-size: 15px;
    padding: 15px 18px 10px;
  }
  .c-form .c-select .selectBox .selectBox__output::before, .c-form .c-select .selectBox .selectBox__output::after,
.c-form .input-year .selectBox .selectBox__output::before,
.c-form .input-year .selectBox .selectBox__output::after {
    top: calc(50% + 1px);
  }
  .c-form .c-select .selectBox .selectBox__output::before,
.c-form .input-year .selectBox .selectBox__output::before {
    right: 11px;
  }
  .c-form .c-select .selectBox .selectBox__output::after,
.c-form .input-year .selectBox .selectBox__output::after {
    right: 5px;
  }
  .c-form .c-select .selectBox .selectBox__selector:before, .c-form .c-select .selectBox .selectBox__selector:after,
.c-form .input-year .selectBox .selectBox__selector:before,
.c-form .input-year .selectBox .selectBox__selector:after {
    width: 10px;
  }
  .c-form .c-select .selectBox .selectBox__selector,
.c-form .input-year .selectBox .selectBox__selector {
    width: calc(100% - 10px);
  }
  .c-form .c-select .selectBox .selectBox__selector:before,
.c-form .input-year .selectBox .selectBox__selector:before {
    right: 6px;
  }
  .c-form .c-select .selectBox .selectBox__selector:after,
.c-form .input-year .selectBox .selectBox__selector:after {
    right: 0;
  }
  .c-form .input-year .c-input {
    width: 75px;
  }
  .c-form .c-form-btn {
    font-size: 16px;
    letter-spacing: 0;
    margin: 72px auto 0;
    max-width: 329px;
    padding: 17px 30px;
    text-align: center;
  }
  .c-form .c-form-btn .c-svg {
    height: 8px;
    right: 20px;
    width: 28px;
  }
  .c-form .c-form-btn.back {
    padding: 17px 30px;
    text-align: center;
  }
  .c-form .c-form-btn.back .c-svg {
    height: 8px;
    left: 20px;
    width: 28px;
  }
  .c-form .c-form-btn + .c-form-btn {
    margin: 20px 0 0;
  }
  .c-article-kv-section {
    padding-top: 130px;
    padding-bottom: 50px;
  }
  .c-article-kv-section .inner-block .kv-img {
    margin: 30px -20px 0 -10px;
  }
  .c-article-kv-section .article-title {
    font-size: 32px;
  }
  .c-article-kv-section .sub {
    font-size: 18px;
    margin-top: 10px;
  }
  .c-article-kv-section .text {
    font-size: 12px;
    margin-top: 10px;
    line-height: 2.6;
  }
  .c-lead-section {
    background-image: url("../img/common/bg-blue_sp.jpg");
    padding: 50px 0 55px;
  }
  .c-lead-section .title-wrap {
    margin-bottom: 5px;
  }
  .c-lead-section .title {
    font-size: 22px;
    letter-spacing: 0.2em;
  }
  .c-lead-section .sub-title {
    font-size: 47px;
    text-align: center;
    margin-top: -30px;
  }
  .c-lead-section .text {
    font-size: 14px;
    line-height: 2.28;
  }
  .c-article-card {
    padding-top: 18px;
    max-width: 400px;
    margin: auto;
  }
  .c-article-card .ribbon {
    right: 1px;
    bottom: 30px;
  }
  .c-article-card .card-title {
    left: 37px;
  }
  .c-article-card .card-title .bg {
    padding: 5px 0;
    width: 32px;
    height: 100%;
  }
  .c-article-card .card-title .wrap {
    font-size: 20px;
  }
  .c-article-card .img {
    margin-left: 27px;
    margin-right: 15px;
  }
  .c-article-card .cont .affiliation {
    margin-bottom: 6px;
  }
  .js-loader .js-loader-progress {
    width: calc(100% - 30px);
  }
  .js-loader .inn .text {
    font-size: 18px;
  }
  .home-mv-section {
    padding-bottom: 75px;
  }
  .home-mv-section .inner .inner-block {
    max-width: 100%;
    padding: 40px 14px 190px;
  }
  .home-mv-section .inner .main-title {
    font-size: 35px;
  }
  .home-mv-section .inner .catch {
    font-size: 18px;
    line-height: 1.3;
  }
  .home-mv-section .inner .copyright {
    margin-top: 30px;
  }
  .home-mv-section .news-area {
    padding: 16px 20px;
  }
  .home-mv-section .news-area .title {
    line-height: 1;
    margin-bottom: 3px;
  }
  .home-mv-section .news-area a {
    display: block;
    padding-right: 80px;
    line-height: 1.2;
  }
  .home-mv-section .news-area a::before {
    right: 12px;
    top: inherit;
    bottom: 5px;
  }
  .home-mv-section .news-area .date {
    font-size: 11px;
  }
  .home-mv-section .scroll {
    left: 15px;
  }
  .home-vision-section {
    padding: 60px 0 45px;
  }
  .home-vision-section .title {
    margin-bottom: 50px;
  }
  .home-vision-section .title .ja {
    font-size: 28px;
    line-height: 1.4;
  }
  .home-vision-section .text-wrap .lead-text {
    margin-bottom: 30px;
  }
  .home-vision-section .text-wrap .text {
    line-height: 2.28;
    letter-spacing: 0;
  }
  .home-about-section {
    padding-left: 40px;
  }
  .home-about-section .slider-wrap {
    max-width: 550px;
    padding: 18px 18px 48px 18px;
  }
  .home-about-section .slider-wrap .title {
    font-size: 18px;
    left: -25px;
  }
  .home-about-section .swiper-slide {
    width: 100%;
  }
  .home-about-section .swiper-slide .thumb {
    margin-bottom: 20px;
  }
  .home-about-section .swiper-slide .text {
    font-size: 12px;
    line-height: 2.66;
  }
  .home-about-section .swiper-slide .c-button01 {
    margin-top: 20px;
    color: #fff;
    padding: 13px 90px 13px 25px;
  }
  .home-about-section .swiper-slide .c-button01::before {
    width: 100%;
    height: 100%;
  }
  .home-about-section .swiper-controller .swiper-button-next,
.home-about-section .swiper-controller .swiper-button-prev {
    width: 25px;
    height: 32px;
    position: absolute;
    top: 21%;
    margin: auto;
  }
  .home-about-section .swiper-controller .swiper-button-next::before,
.home-about-section .swiper-controller .swiper-button-prev::before {
    width: 25px;
    height: 25px;
  }
  .home-business-section {
    padding: 160px 0 0;
  }
  .home-business-section .title {
    font-size: 28px;
    margin-bottom: 30px;
  }
  .home-business-section .text {
    font-size: 18px;
  }
  .home-business-section .link {
    margin-top: 44px;
    width: 116px;
    height: 116px;
  }
  .home-business-section .link .c-svg {
    width: 30px;
    height: 8px;
  }
  .home-interview-seticon {
    padding: 170px 0 90px;
  }
  .home-interview-seticon .title {
    margin-bottom: 65px;
  }
  .home-interview-seticon .title .ja {
    font-size: 22px;
  }
  .home-interview-seticon .title .en {
    font-size: 18px;
    margin-top: 10px;
  }
  .home-interview-seticon .article-list {
    padding: 0 20px;
  }
  .home-interview-seticon .article-list li + li {
    margin-top: 70px;
  }
  .home-sky-section {
    padding: 90px 0 150px;
  }
  .home-sky-section .box {
    max-width: 520px;
    margin: auto;
  }
  .home-sky-section .box + .box {
    margin-top: 65px;
  }
  .home-sky-section .box .text-area {
    margin-top: 20px;
  }
  .home-sky-section .box .title {
    font-size: 22px;
  }
  .home-sky-section .box .en {
    margin-top: 8px;
  }
  .home-sky-section .box .text {
    font-size: 12px;
    line-height: 2.66;
    margin-top: 12px;
  }
  .home-sky-section .box .c-button01 {
    margin-top: 10px;
  }
  .features-data-section .inner-block {
    padding: 0;
  }
  .features-data-section .c-round-area {
    -webkit-box-shadow: none;
            box-shadow: none;
    padding: 45px 10px 80px;
    margin-left: 0;
    margin-right: 0;
  }
  .features-data-section .box {
    padding: 24px 10px 20px;
  }
  .features-data-section .box + .box {
    margin-top: 20px;
  }
  .features-data-section .box .lead-text {
    font-size: 16px;
    text-align: left;
  }
  .features-data-section .box .num-text {
    font-size: 32px;
  }
  .features-data-section .box .num-area {
    margin-top: 20px;
  }
  .features-data-section .box .num-area .num-text .num {
    font-size: 89px;
  }
  .features-data-section .box .num-area .num-box .num-text {
    font-size: 12px;
  }
  .features-data-section .box .num-area .num-box .num-text .num {
    font-size: 30px;
  }
  .features-data-section .box .num-area .num-box .bar {
    height: 48px;
  }
  .features-data-section .box .num-area .num-box .text {
    font-size: 14px;
  }
  .features-data-section .box.box05 .ico img {
    width: 154px;
  }
  .features-data-section .box.box06 .ico img {
    width: 183px;
  }
  .features-data-section .box.box07 .ico img {
    width: 196px;
  }
  .features-data-section .box.box08 .ico img {
    width: 209px;
  }
  .features-data-section .box.box09 .ico img {
    width: 118px;
  }
  .features-data-section .box.box10 .ico img {
    width: 113px;
  }
  .features-data-section .box.box11 .ico img {
    width: 178px;
  }
  .features-data-section .box .column {
    margin-top: 30px;
  }
  .features-data-section .box .column .text-list {
    margin-top: 30px;
  }
  .features-data-section .box .logo-list {
    max-width: 600px;
  }
  .features-data-section .box .logo-list li {
    min-height: 53px;
    width: calc((100% - 15px)/2);
  }
  .features-data-section .box .logo-list li:not(:nth-child(2n+1)) {
    margin-left: 15px;
  }
  .features-data-section .box .logo-list li:nth-child(n+3) {
    margin-top: 9px;
  }
  .features-data-section .box .logo-list .logo01 {
    width: 82px;
  }
  .features-data-section .box .logo-list .logo02 {
    width: 57px;
  }
  .features-data-section .box .logo-list .logo03 {
    width: 71px;
  }
  .features-data-section .box .logo-list .logo04 {
    width: 63px;
  }
  .features-data-section .box .logo-list .logo05 {
    width: 78px;
  }
  .features-data-section .box .logo-list .logo06 {
    width: 68px;
  }
  .features-data-section .box .detail-text {
    line-height: 2.28;
  }
  .features-data-section .box.box04 {
    height: 393px;
    overflow: hidden;
  }
  .features-data-section .box.box04 .data-circle {
    width: 210px;
    height: 210px;
    right: -14%;
    top: 6%;
  }
  .features-data-section .box.box04 .circle-wrap {
    height: 210px;
  }
  .features-data-section .box.box04 .circle img {
    width: 210px;
    height: 210px;
  }
  .features-data-section .box.box04 .num-wrap {
    max-width: 350px;
  }
  .features-data-section .box.box04 .num-wrap .age {
    font-size: 13px;
  }
  .features-data-section .box.box04 .num-wrap .num-text {
    font-size: 17px;
  }
  .features-data-section .box.box04 .num-wrap .num-text .num {
    font-size: 30px;
  }
  .features-data-section .box.box04 .num-wrap .cont:nth-child(1) {
    top: 13%;
    left: inherit;
    right: -55%;
  }
  .features-data-section .box.box04 .num-wrap .cont:nth-child(2) {
    left: 18%;
    bottom: 10%;
  }
  .features-data-section .box.box04 .num-wrap .cont:nth-child(3) {
    left: 18px;
    top: 10%;
  }
  .features-data-section .box.box04 .num-wrap .cont:nth-child(4) {
    left: 22%;
    top: 25%;
  }
  .features-data-section .box.box04 .num-wrap .cont:nth-child(5) {
    right: -8%;
    top: 19%;
  }
  .features-data-section .box.box04 .num-wrap .cont:nth-child(6) {
    left: 52%;
    top: 19%;
  }
  .features-data-section .box.box08 .text {
    font-size: 14px;
    line-height: 2.14;
  }
  .business-solution-section {
    padding-bottom: 60px;
  }
  .business-solution-section .img-block {
    height: 0;
    padding-top: 60%;
    position: relative;
  }
  .business-solution-section .img-block img {
    position: absolute;
    top: 0;
    left: 0;
  }
  .business-solution-section .c-round-area {
    margin-top: -38px;
  }
  .business-solution-section .sub-title {
    font-size: 24px;
    margin-bottom: 15px;
  }
  .business-solution-section .title {
    font-size: 16px;
    line-height: 2;
  }
  .business-solution-section .box {
    padding: 20px 14px 40px;
    margin-top: 25px;
  }
  .business-solution-section .box .c-tag {
    margin-bottom: 15px;
  }
  .business-solution-section .box .box-title {
    line-height: 1.72;
    margin-bottom: 5px;
  }
  .work .c-article-kv-section {
    padding: 120px 0 110px;
    background: url(../img/work/bg-work_sp.png) no-repeat center center/cover;
  }
  .work .kv-wrap {
    padding-top: calc(100vw / 767 * 650);
  }
  .work .kv-wrap .ttl {
    font-size: 22px;
  }
  .work .kv-wrap .text {
    font-size: 14px;
    line-height: 2.3;
    margin: 10px auto 10px;
  }
  .work .works-section {
    padding: calc(100vw / 375 * 188) 0 78px;
  }
  .work .works-section.type01 {
    background: url(../img/work/work-img01_sp.jpg) no-repeat top center/contain;
  }
  .work .works-section.type02 {
    background: url(../img/work/work-img02_sp.jpg) no-repeat top center/contain;
  }
  .work .works-section > .inner-block {
    padding: 0 10px;
  }
  .work .works-section .work-box {
    border-radius: 10px;
    padding: 40px 12px 70px;
  }
  .work .works-section .work-box .work-num {
    margin-bottom: 22px;
  }
  .work .works-section .work-box .c-title02 {
    margin-bottom: 16px;
  }
  .work .works-section .work-box .text {
    line-height: 2.3;
    margin-bottom: 12px;
  }
  .news .news-section {
    padding: 40px 0 80px;
  }
  .news .news-section .c-round-area {
    padding-bottom: 80px;
  }
  .news .news-list {
    margin-bottom: 38px;
  }
  .news .news-list li {
    padding: 15px 0 30px;
  }
  .news .news-list li .day {
    font-size: 16px;
  }
  .news .news-list li .text {
    font-size: 14px;
    margin: 15px 0 10px;
  }
  .jobdescription .c-contents-section .inner-block {
    padding-top: 40px;
    padding-bottom: 80px;
  }
  .jobdescription .recruit-block + .c-round-area {
    margin-top: 80px;
  }
  .jobdescription .tab-ul {
    margin-left: -10px;
    margin-right: -10px;
  }
  .jobdescription .tab-ul li + li {
    margin-left: 10px;
  }
  .jobdescription .tab-ul li {
    border-radius: 10px 10px 0 0;
    font-size: 12px;
    line-height: 1.166;
    min-height: 47px;
    width: calc((100% - 20px) / 3);
  }
  .jobdescription .tab-ul li.current {
    font-size: 14px;
    padding: 23px 10px 23px;
    max-height: 62px;
  }
  .jobdescription .tab-target {
    padding: 45px 10px 80px;
    margin-left: -10px;
    margin-right: -10px;
  }
  .jobdescription .entry-button {
    padding: 30px;
    margin-top: 35px;
  }
  .jobdescription .entry-button .en {
    font-size: 28px;
    line-height: 1.2;
  }
  .jobdescription .entry-button .ja {
    font-size: 14px;
  }
  .jobdescription .flow-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 30px;
  }
  .jobdescription .flow-wrap .step {
    padding: 6px 10px;
    width: 100%;
  }
  .jobdescription .flow-wrap .step + .step {
    margin-left: 0;
    margin-top: 26px;
  }
  .jobdescription .flow-wrap .step + .step::before {
    top: -21px;
    bottom: inherit;
    right: 0;
    left: 0;
    height: 16px;
    width: 14px;
    border-width: 14px 8px 0 8px;
    border-color: #1885C3 transparent transparent transparent;
  }
  .jobdescription .flow-wrap .text {
    margin-top: 0;
    line-height: 1.2;
  }

  .jobdescription .js-aco-button {
    padding: 15px 40px 15px 20px;
  }
  .jobdescription .js-aco-button::before,
  .jobdescription .js-aco-button::after {
    width: 16px;
    right: 24px;
  }
  .jobdescription .js-aco-button .button-text {
    font-size: 16px;
  }

  .jobdescription .aco-wrap {
    border-radius: 10px;
  }
  .jobdescription .aco-wrap + .aco-wrap {
    margin-top: 20px;
  }
  .jobdescription .cont-wrap {
    padding: 0 8px 8px;
  }
  .jobdescription .table-wrap {
    border-radius: 10px;
    padding: 20px 9px 54px;
  }
  .jobdescription .c-table01 th {
    background-color: transparent;
  }

  .attraction .point-section .inner-block {
    padding: 95px 15px 30px;
  }
  .attraction .point-wrap .point {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .attraction .point-wrap .point + .point {
    margin-top: 46px;
  }
  .attraction .point-wrap .point:nth-child(odd) .img {
    top: 0;
    right: -10px;
    margin-left: auto;
  }
  .attraction .point-wrap .point:nth-child(even) .img {
    top: 0;
    left: -10px;
    margin-right: auto;
  }
  .attraction .point-wrap .point .text-wrap {
    border-radius: 20px;
    padding: 65px 20px 45px;
    position: relative;
    top: -34px;
  }
  .attraction .point-wrap .point .text-wrap .num-wrap .txt {
    font-size: 10px;
  }
  .attraction .point-wrap .point .text-wrap .num-wrap .num {
    font-size: 38px;
    padding-left: 16px;
  }
  .attraction .point-wrap .point .text-wrap .title {
    font-size: 28px;
    margin-bottom: 5px;
    line-height: 1.4285;
  }
  .attraction .point-wrap .point .text-wrap .text {
    font-size: 14px;
    line-height: 2.2857;
  }
  .attraction .point-wrap .point .img {
    border-radius: 20px;
    position: relative;
    width: 100%;
    max-width: calc(100vw / 375 * 318);
  }
  .attraction .point-wrap .point .img img {
    width: 100%;
  }
  .attraction .training-section .inner-block {
    padding: 67px 27px 100px;
  }
  .attraction .training-section .box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .attraction .training-section .box .img {
    width: 100%;
    margin-bottom: 23px;
  }
  .attraction .training-section .box .img img {
    width: 100%;
  }
  .attraction .training-section .box .text-wrap {
    margin-left: 0;
    width: 100%;
  }
  .attraction .training-section .box .title {
    font-size: 35px;
  }
  .attraction .training-section .box .sub-title {
    font-size: 17px;
    margin-bottom: 10px;
  }
  .attraction .training-section .box .text {
    font-size: 14px;
  }
  .entry .c-article-kv-section {
    padding-bottom: 85px;
  }
  .entry .entry-section {
    padding: 40px 0 80px;
  }
  .entry .entry-section > .inner-block {
    padding: 0 10px;
  }
  .entry .c-form {
    border-radius: 10px;
    padding: 40px 11px 60px;
  }
  .entry .c-form .contact-info .text {
    font-size: 14px;
    letter-spacing: -0.025em;
    margin-top: 25px;
  }
  .entry .c-form .contact-step-list > li {
    padding: 7px 0 8px;
    width: calc((100% - 28px) / 3);
  }
  .entry .c-form .contact-step-list > li:not(:first-child):before, .entry .c-form .contact-step-list > li:not(:first-child):after {
    height: 1px;
    left: -10px;
    width: 6px;
  }
  .entry .c-form .contact-step-list > li:not(:first-child):before {
    -webkit-transform: rotate(40deg);
            transform: rotate(40deg);
    top: calc(50% - 2px);
  }
  .entry .c-form .contact-step-list > li:not(:first-child):after {
    bottom: calc(50% - 3px);
    -webkit-transform: rotate(-40deg);
            transform: rotate(-40deg);
  }
  .entry .c-form .contact-step-list > li + li {
    margin-left: 14px;
  }
  .entry .c-form .form-table {
    margin: 39px 2px 25px;
  }
  .entry .c-form .form-table th, .entry .c-form .form-table td {
    font-size: 16px;
  }
  .entry .c-form .form-table th {
    padding: 13px 0 10px;
  }
  .entry .c-form .form-table td {
    padding: 0 0 18px;
  }
  .entry .c-form .btn-wrap {
    margin: 26px 0 0;
  }
  .entry .c-form .btn-wrap.submit {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .entry .c-form .increase-btn,
.entry .c-form .decrease-btn {
    font-size: 11px;
    padding: 7px 26px 11px 28px;
  }
  .entry .personal-info-block {
    padding: 0 3px;
  }
  .entry .personal-info-block .text {
    margin-bottom: 32px;
  }
  .entry .form-ttl {
    font-size: 26px;
    margin: 45px 0 25px;
  }
  .entry .form-ttl ~ .text {
    text-align: left;
  }
  .entry .form-ttl ~ .c-form-btn {
    margin: 40px auto 20px;
  }
  .training .training-section .c-title03 + .lead-txt,
.training .program-section .c-title03 + .lead-txt {
    margin-top: 20px;
  }
  .training .training-section .c-title04 + .lead-txt,
.training .program-section .c-title04 + .lead-txt {
    margin-bottom: 30px;
  }
  .training .training-section .lead-txt,
.training .program-section .lead-txt {
    margin-bottom: 60px;
  }
  .training .training-section {
    padding: 40px 0 62px;
  }
  .training .training-section .c-faq-wrap {
    margin-top: 30px;
  }
  .training .training-img-section .swiper .swiper-slide {
    width: 198px;
  }
  .training .program-section {
    padding: 80px 0 80px;
  }
  .training .program-section .lead-txt {
    margin-bottom: 30px;
  }
  .training .teacher-block {
    margin: 60px -10px 0 3px;
    padding: 62px 20px 44px;
  }
  .training .teacher-block .teacher-item + .teacher-item {
    margin-top: 30px;
  }
  .training .teacher-block .teacher-item .txt-area {
    margin-top: 15px;
  }
  .training .teacher-block .teacher-item .txt-area .ttl {
    gap: 20px;
  }
  .training .teacher-block .teacher-item .txt-area .hiring {
    font-size: 16px;
  }
  .interview .slider-wrap {
    padding: 70px 0;
  }
  .interview .slider-wrap .title-wrap {
    margin-bottom: 30px;
  }
  .interview .slider-wrap .title-wrap .title {
    font-size: 22px;
  }
  .interview .slider-wrap .title-wrap .sub-title {
    font-size: 18px;
  }
  .interview .slider-wrap .swiper .swiper-slide {
    width: 100%;
  }
  .interview .slider-wrap .swiper .swiper-slide a {
    max-width: 290px;
    margin: auto;
    position: relative;
    padding-top: 13px;
  }
  .interview .slider-wrap .swiper-button-next,
.interview .slider-wrap .swiper-button-prev {
    width: 43px;
    height: 43px;
  }
  .interview .slider-wrap .swiper-button-next .c-svg,
.interview .slider-wrap .swiper-button-prev .c-svg {
    width: 12px;
    height: 6px;
  }
  .interview .slider-wrap .swiper-button-next {
    right: 2px;
  }
  .interview .slider-wrap .swiper-button-prev {
    left: 2px;
  }
  .interview-kv-section {
    padding: 0 0 25px;
  }
  .interview-kv-section .img {
    margin-bottom: 20px;
  }
  .interview-kv-section .c-breadcrumb-list {
    margin-bottom: 15px;
  }
  .interview-kv-section .en {
    font-size: 18px;
    margin-bottom: 10px;
  }
  .interview-kv-section .title {
    font-size: 26px;
  }
  .interview-kv-section .profile {
    margin-top: 50px;
    padding: 50px 20px 20px;
  }
  .interview-kv-section .profile .position .career {
    font-size: 18px;
    padding-right: 20px;
  }
  .interview-kv-section .profile .detail {
    margin-top: 5px;
  }
  .interview-cont-section .inn {
    padding: 50px 20px;
  }
  .interview-cont-section .title {
    font-size: 22px;
    margin-bottom: 20px;
  }
  .interview-cont-section .text {
    font-size: 14px;
    line-height: 2.285;
  }
  .interview-cont-section .text + .text {
    margin-top: 10px;
  }
}

@media only screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
  .inner-block {
    padding: 0 30px;
    max-width: calc(1146px + 60px);
  }
  .inner-block.min {
    max-width: calc(1000px + 60px);
  }
  .inner-block.wide {
    max-width: calc(1246px + 60px);
  }
  a,
a::before,
a::after,
button,
button::before,
button::after {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .sp {
    display: none !important;
  }
  .c-header .logo {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .c-header .logo .text {
    padding-left: 30px;
  }
  .c-header .button-wrap .entry-button:hover::before {
    opacity: 0;
  }
  .c-menu-button:hover {
    background: #000;
  }
  .c-nav .nav-cont {
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .c-nav .nav-cont .nav-area {
    background: #fff;
    width: 63%;
    padding: 40px 120px 75px 20px;
  }
  .c-nav .nav-cont .nav-area .nav-list > li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .c-nav .nav-cont .nav-area .nav-list .title {
    width: 55%;
  }
  .c-nav .nav-cont .nav-area .nav-list .nav {
    width: 45%;
  }
  .c-nav .nav-cont .entry-area {
    -webkit-align-self: flex-end;
        -ms-flex-item-align: end;
            align-self: flex-end;
    width: 37%;
  }
  .c-nav .nav-cont .entry-area .entry-button:hover::after {
    opacity: 1;
  }
  .c-nav .nav-cont .entry-area .entry-button .btn-text.small {
    padding-left: 20px;
  }
  .c-nav .nav-cont .entry-area .box-column a.box:hover::before {
    opacity: 0;
  }
  .c-nav .nav-cont .entry-area .box-column a.box:hover::after {
    opacity: 1;
  }
  .c-footer .entry-button:hover::after {
    opacity: 1;
  }
  .c-footer .top .box-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 70px 0 50px;
  }
  .c-footer .top .box-column .box {
    width: 100%;
  }
  .c-footer .top .box-column .box .inn {
    margin: auto;
  }
  .c-footer .top .box-column .box .link {
    max-width: calc(100% - 36px);
  }
  .c-footer .top .box-column .box .link:hover::before {
    opacity: 1;
  }
  .c-footer .top .box-column .box .grad-link-wrap {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: absolute;
    bottom: 57px;
    left: 0;
    right: 0;
    margin: auto;
  }
  .c-footer .top .box-column .box + .box .link {
    margin-left: auto;
  }
  .c-footer .top .box-column .box + .box::before {
    background: #DCDCDC;
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    position: absolute;
    bottom: 0;
    top: 0;
    left: 0;
    margin: auto;
    opacity: 0.33;
  }

  .c-footer .bottom .inner-block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .c-footer .bottom .link-wrap {
    margin-left: auto;
    padding-right: 130px;
  }
  .c-footer .bottom .logo-wrap {
    width: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 50px;
  }
  .c-footer .bottom .logo-wrap .copyright {
    margin-top: auto;
  }
  .c-button01:hover {
    color: #fff;
  }
  .c-button01:hover::before {
    width: 100%;
    height: 100%;
  }
  .c-button02:hover {
    color: #fff;
    background: #18304B;
  }
  .c-button03:hover::before {
    opacity: 0;
  }
  .c-button03:hover::after {
    opacity: 1;
  }
  .c-grad-link:hover {
    color: #1885C3;
  }
  .c-grad-link:hover::before {
    opacity: 0;
  }
  .c-grad-link:hover::after {
    opacity: 1;
  }
  .c-more-btn:hover::after {
    opacity: 1;
  }
  .c-faq-wrap .aco-head:hover::after {
    opacity: 1;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .c-program-wrap {
    position: relative;
  }
  .c-program-wrap::after {
    background: #DBDBDB;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    width: 1px;
    top: 0;
    left: 140px;
  }
  .c-program-wrap .program-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 65px;
  }
  .c-program-wrap .program-item .month-area {
    font-size: 15px;
    margin-top: 10px;
  }
  .c-program-wrap .program-item .txt-area {
    width: calc(100% - (120px + 65px));
  }
  .c-table01 tr {
    border-top: 1px solid #D1D1D1;
  }
  .c-table01 tr:last-child {
    border-bottom: 1px solid #D1D1D1;
  }
  .c-table01 th, .c-table01 td {
    padding: 24px 20px 23px;
  }
  .c-table01 th {
    text-align: left;
    width: 205px;
  }
  .c-form .c-select .selectBox .selectBox__selectorItem:hover,
.c-form .input-year .selectBox .selectBox__selectorItem:hover {
    background: rgba(171, 171, 171, 0.1);
  }
  .c-form .c-form-btn:not(.back):hover::after {
    opacity: 1;
  }
  .c-form .c-form-btn:not(.back):hover .c-svg {
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
  }
  .c-form .c-form-btn.back:hover {
    background: #A0A0A0;
  }
  .c-form .c-form-btn.back:hover .c-svg {
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px);
  }
  .c-breadcrumb-list li a:hover {
    text-decoration: none;
  }
  .c-article-kv-section {
    min-height: 817px;
  }
  .c-article-kv-section.min {
    min-height: inherit;
  }
  .c-article-kv-section .inner-block:not(.contents) {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: static;
  }
  .c-article-kv-section .inner-block .inn {
    width: 57%;
  }
  .c-article-kv-section .inner-block .kv-img {
    position: absolute;
    top: 0;
    right: 0;
    width: calc(100% - 57%);
    max-width: 700px;
  }
  .c-article-kv-section .text {
    max-width: 370px;
  }
  .c-lead-section .title-wrap {
    text-align: center;
  }
  .anm-link-text:hover .letter {
    -webkit-transform: rotateX(-360deg);
            transform: rotateX(-360deg);
  }
  .c-article-card a:hover .img img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  .c-article-card .card-title .bg {
    width: 35px;
  }
  .home-mv-section {
    min-height: 800px;
  }
  .home-mv-section .news-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    max-width: 500px;
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .home-mv-section .news-area .title {
    padding: 15px 0 10px 20px;
    width: 56px;
  }
  .home-mv-section .news-area a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 18px 90px 18px 15px;
    width: calc(100% - 56px);
  }
  .home-mv-section .news-area .date {
    padding-right: 20px;
  }
  .home-vision-section .inner-block {
    padding-left: 103px;
  }
  .home-vision-section .text-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .home-vision-section .text-wrap .lead-text {
    padding-right: 20px;
    width: 37%;
  }
  .home-vision-section .text-wrap .text {
    width: 63%;
  }
  .home-about-section .slider-wrap {
    width: calc(100% - 183px);
  }
  .home-about-section .swiper-slide:hover .c-button01 {
    color: #fff;
  }
  .home-about-section .swiper-slide:hover .c-button01::before {
    border-radius: 50px;
    width: 100%;
    height: 100%;
  }
  .home-about-section .swiper-slide:hover .thumb img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  .home-about-section .swiper-controller {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 155px;
    height: 34px;
    position: absolute;
    top: 72px;
    left: 114px;
  }
  .home-about-section .swiper-controller .swiper-button-next,
.home-about-section .swiper-controller .swiper-button-prev {
    position: relative;
  }
  .home-business-section .link:hover {
    background: #18304B;
    color: #fff;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  .home-interview-seticon .article-list li {
    width: calc((100% - 116px)/3);
  }
  .home-interview-seticon .article-list li:not(:nth-child(3n+1)) {
    margin-left: 58px;
  }
  .home-interview-seticon .article-list li:nth-child(3n-1) {
    margin-top: 92px;
  }
  .home-interview-seticon .article-list li:nth-child(3n) {
    margin-top: 184px;
  }
  .home-interview-seticon .article-list li:nth-child(n+4) {
    top: -30px;
  }
  .home-sky-section .box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .home-sky-section .box:nth-child(odd) .text-area {
    margin-left: auto;
  }
  .home-sky-section .box:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .home-sky-section .box:nth-child(even) .text-area {
    margin-right: auto;
  }
  .home-sky-section .box .img {
    width: 52%;
  }
  .home-sky-section .box .text-area {
    width: 48%;
    max-width: 360px;
  }
  .features .c-lead-section {
    padding-bottom: 130px;
  }
  .features .c-lead-section .title-wrap {
    margin-bottom: 50px;
  }
  .features-data-section {
    padding: 123px 0 183px;
  }
  .features-data-section .box {
    margin: 0 16px;
  }
  .features-data-section .box:not(:first-child) {
    margin-top: 32px;
    min-height: 480px;
  }
  .features-data-section .box.box01 {
    padding-bottom: 40px;
  }
  .features-data-section .box .column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    max-width: 1088px;
  }
  .features-data-section .box .column .img {
    width: 40%;
  }
  .features-data-section .box .column .text-list {
    padding-left: 48px;
    width: 60%;
  }
  .features-data-section .box .detail-text {
    max-width: 500px;
  }
  .business-solution-section .box .c-tag {
    margin-left: -40px;
  }
  .news .news-list li .text a:hover {
    text-decoration: none;
  }
  .jobdescription .entry-button:hover::after {
    opacity: 1;
  }
  .jobdescription .js-aco-button:hover .button-text {
    opacity: 0.7;
  }
  .jobdescription .flow-wrap .step {
    min-height: 145px;
  }
  .attraction .point-wrap .point:nth-child(odd) {
    margin-left: -40px;
  }
  .attraction .point-wrap .point:nth-child(odd) .text-wrap {
    margin-right: auto;
    padding: 57px 220px 93px 108px;
  }
  .attraction .point-wrap .point:nth-child(odd) .text-wrap .num-wrap {
    margin-left: 10px;
  }
  .attraction .point-wrap .point:nth-child(even) {
    margin-right: -40px;
  }
  .attraction .point-wrap .point:nth-child(even) .text-wrap {
    margin-left: auto;
    padding: 57px 110px 100px 220px;
  }
  .entry .c-form .form-table th {
    min-width: 250px;
  }
  .entry .c-form .increase-btn:hover,
.entry .c-form .decrease-btn:hover {
    opacity: 0.6;
  }
  .entry .personal-info-block .text > a:hover {
    border-color: transparent;
  }
  .entry .form-ttl ~ .text a:hover {
    text-decoration: none;
  }
  .training .training-img-section:hover .c-button03 {
    opacity: 0;
    pointer-events: none;
  }
  .training .teacher-block .teacher-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
  }
  .training .teacher-block .teacher-item .txt-area {
    width: calc(100% - (104px + 40px));
  }
  .interview .interview-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .interview .interview-wrap .interview-cont {
    width: 56%;
  }
  .interview .interview-wrap .interview-cont > div:last-child .interview-cont-section {
    padding-bottom: 60px;
  }
  .interview .slider-wrap .inner-block {
    padding-top: 120px;
    padding-bottom: 107px;
    z-index: 1;
  }
  .interview .slider-wrap .inner-block::before {
    background: #fff;
    content: "";
    display: block;
    width: calc(100% - 195px);
    height: 100%;
    position: absolute;
    bottom: 0;
    top: 0;
    left: 0;
    margin: auto;
    z-index: -1;
  }
  .interview .slider-wrap .title-wrap .title {
    letter-spacing: 0.1em;
  }
  .interview .slider-wrap .swiper {
    padding-left: 70px;
  }
  .interview .slider-wrap .swiper-controller {
    width: 202px;
    height: 91px;
    position: absolute;
    top: 145px;
    right: 290px;
  }
  .interview-kv-section {
    height: 100vh;
    min-height: 768px;
  }
  .interview-kv-section .img {
    display: none;
  }
  .interview-kv-section .inn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 560px;
    margin-left: 50px;
    height: 100%;
  }
  .interview-kv-section .title {
    max-width: 470px;
    margin-bottom: 20px;
  }
  .interview-cont-section {
    padding-right: 70px;
    padding-left: 27px;
  }
  .interview-cont-section .img {
    display: none;
  }
  .interview-cont-section .inn {
    max-width: 800px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .c-header .logo {
    display: block;
    padding-left: 20px;
  }
  .c-header .logo .text {
    padding-left: 0;
    padding-top: 10px;
  }
  .c-menu-button,
.c-header .button-wrap .entry-button {
    width: 100px;
    height: 140px;
  }
  .c-nav .nav-cont .nav-area {
    padding-right: 100px;
  }
  .c-nav .nav-cont .nav-area .nav-list > li .title {
    width: 45%;
  }
  .c-nav .nav-cont .nav-area .nav-list > li .nav {
    width: 55%;
  }
  .c-nav .nav-cont .nav-area .nav-list > li .nav a {
    font-size: 14px;
  }
  .c-nav .nav-cont .entry-area .entry-button .btn-text.en, .c-nav .nav-cont .entry-area .entry-button .btn-text.small {
    display: block;
    padding: 0;
  }
  .c-nav .nav-cont .entry-area .entry-button {
    padding: 15px 70px 15px 15px;
  }
  .c-nav .nav-cont .entry-area .box-column {
    display: block;
  }
  .c-nav .nav-cont .entry-area .box-column .box {
    width: 100%;
  }
  .c-nav .nav-cont .entry-area .box-column .box + .box {
    margin-top: 1px;
  }
  .c-footer .top .box-column .box .link {
    padding-left: 20px;
    padding-right: 40px;
  }
  .c-footer .top .box-column .box .link .ja {
    font-size: 28px;
  }
  .c-footer .top .box-column .box .link .c-svg {
    right: 5px;
  }
  .c-footer .bottom .link-wrap {
    padding-right: 0;
  }
  .c-footer .bottom .logo-wrap {
    width: calc(100% - 250px);
  }
  .c-footer .pagetop {
    left: 5px;
  }
  .c-article-kv-section .inner-block .inn {
    width: 50%;
  }
  .c-article-kv-section .inner-block .kv-img {
    width: calc(100% - 50%);
  }
  .c-article-card .ribbon {
    font-size: 11px;
    padding: 4px 5px;
  }
  .c-article-card .cont .position {
    display: block;
  }
  .c-article-card .cont .position .en {
    padding-left: 0;
    padding-top: 3px;
  }
  .home-vision-section .inner-block {
    padding-left: 30px;
  }
  .home-about-section {
    padding-left: 0;
  }
  .home-interview-seticon .article-list li {
    width: calc((100% - 50px)/3);
  }
  .home-interview-seticon .article-list li:not(:nth-child(3n+1)) {
    margin-left: 25px;
  }
  .interview-kv-section .inn {
    margin-left: 0;
  }
}

@media only screen and (min-width: 768px) and (max-width: 900px) {
  .c-footer .top .box-column .box .grad-link-wrap {
    width: calc(100% - 35px);
    margin-right: 10px;
  }
  .work .kv-wrap {
    padding-top: calc(100vw / 900 * 580);
  }
  .entry .c-form .form-table th {
    padding: 20px 0 10px;
  }
}

@media only screen and (min-width: 768px) and (min-width: 1061px) {
  .c-list01 > li {
    width: calc((100% - 62px) / 3);
  }
  .c-list01 > li:nth-child(3n-1), .c-list01 > li:nth-child(3n) {
    margin-left: 31px;
  }
  .c-list01 > li:nth-child(n+4) {
    margin-top: 31px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1060px) {
  .c-list01 > li {
    width: calc((100% - 31px) / 2);
  }
  .c-list01 > li:nth-child(2n) {
    margin-left: 31px;
  }
  .c-list01 > li:nth-child(n+3) {
    margin-top: 31px;
  }
}

@media only screen and (max-width: 767px) and (max-width: 370px) {
  .c-form .input-flex.birthday .c-select + .c-select {
    margin-left: 6px;
  }
  .c-form .c-select .selectBox.year .selectBox__output, .c-form .c-select .selectBox.month .selectBox__output, .c-form .c-select .selectBox.day .selectBox__output,
.c-form .input-year .selectBox.year .selectBox__output,
.c-form .input-year .selectBox.month .selectBox__output,
.c-form .input-year .selectBox.day .selectBox__output {
    padding: 10px;
  }
  .c-form .c-select .selectBox.year .selectBox__output::before, .c-form .c-select .selectBox.year .selectBox__output::after, .c-form .c-select .selectBox.month .selectBox__output::before, .c-form .c-select .selectBox.month .selectBox__output::after, .c-form .c-select .selectBox.day .selectBox__output::before, .c-form .c-select .selectBox.day .selectBox__output::after,
.c-form .input-year .selectBox.year .selectBox__output::before,
.c-form .input-year .selectBox.year .selectBox__output::after,
.c-form .input-year .selectBox.month .selectBox__output::before,
.c-form .input-year .selectBox.month .selectBox__output::after,
.c-form .input-year .selectBox.day .selectBox__output::before,
.c-form .input-year .selectBox.day .selectBox__output::after {
    width: 8px;
  }
  .c-form .c-select .selectBox.year .selectBox__output::before, .c-form .c-select .selectBox.month .selectBox__output::before, .c-form .c-select .selectBox.day .selectBox__output::before,
.c-form .input-year .selectBox.year .selectBox__output::before,
.c-form .input-year .selectBox.month .selectBox__output::before,
.c-form .input-year .selectBox.day .selectBox__output::before {
    right: 9px;
  }
  .c-form .c-select .selectBox.year,
.c-form .input-year .selectBox.year {
    margin-right: 5px;
    width: 56px;
  }
  .c-form .c-select .selectBox.month, .c-form .c-select .selectBox.day,
.c-form .input-year .selectBox.month,
.c-form .input-year .selectBox.day {
    margin-right: 5px;
    width: 45px;
  }
  .c-form .c-select .selectBox .selectBox__output,
.c-form .input-year .selectBox .selectBox__output {
    font-size: 14px;
  }
  .c-form .c-select .selectBox .selectBox__selector:before, .c-form .c-select .selectBox .selectBox__selector:after,
.c-form .input-year .selectBox .selectBox__selector:before,
.c-form .input-year .selectBox .selectBox__selector:after {
    width: 8px;
  }
  .c-form .c-select .selectBox .selectBox__selector:before,
.c-form .input-year .selectBox .selectBox__selector:before {
    right: 4px;
  }
  .c-form .input-year .c-input {
    margin-right: 5px;
    width: 56px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1100px) {
  .c-form .input-flex .symbol {
    margin: 7px 12px 0;
  }
  .c-form .c-select .selectBox.year,
.c-form .input-year .selectBox.year {
    width: 97px;
  }
  .c-form .c-select .selectBox.month, .c-form .c-select .selectBox.day,
.c-form .input-year .selectBox.month,
.c-form .input-year .selectBox.day {
    width: 74px;
  }
  .c-form .input-year .c-input {
    width: 97px;
  }
  .entry .c-form {
    padding: 44px min(calc(100vw / 1100 * 45), 45);
  }
  .entry .c-form .form-table td {
    width: calc(100% - 250px);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1000px) {
  .c-form .c-form-btn:not(.back) {
    padding: 25px 60px 25px 40px;
    text-align: center;
  }
  .c-form .c-form-btn:not(.back) .c-svg {
    right: calc(100vw / 1000 * 40);
    top: 0;
  }
  .c-form .c-form-btn.back {
    padding: 25px 40px 25px 60px;
  }
  .c-form .c-form-btn.back .c-svg {
    left: calc(100vw / 1000 * 40);
    top: 0;
  }
  .home-vision-section .text-wrap .lead-text {
    font-size: 20px;
  }
}

@media only screen and (max-width: 1200px) {
  .c-article-kv-section .en-title {
    font-size: 120px;
  }
  .c-lead-section .button-wrap .c-button02 {
    width: calc((100% - 30px)/2);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1040px) {
  .c-lead-section .text {
    max-width: 600px;
  }
}

@media not print {
  .anm {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
  .anm.is-animated {
    -webkit-animation: fadeIn 1.5s both;
            animation: fadeIn 1.5s both;
  }

  .anm-list.is-animated li {
    -webkit-animation: fadeIn 1.5s both;
            animation: fadeIn 1.5s both;
  }
  .anm-list li {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }

  .anm-slideText {
    -webkit-animation: slideText 0.6s both paused;
            animation: slideText 0.6s both paused;
  }
  .anm-slideText.is-animated {
    -webkit-animation-play-state: running;
            animation-play-state: running;
  }

  .anm-textSlideUp {
    overflow: hidden;
  }

  .anm-textSlideUp {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
  }
  .anm-textSlideUp .anm-item {
    -webkit-transform: translateY(60px);
            transform: translateY(60px);
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
  .anm-textSlideUp.is-animated .anm-item {
    -webkit-animation: textSlideUp 0.8s cubic-bezier(0.45, 0, 0.55, 1) forwards;
            animation: textSlideUp 0.8s cubic-bezier(0.45, 0, 0.55, 1) forwards;
  }

  /* 1文字ずつ表示 */
  .anm-textUp {
    overflow: hidden;
  }

  .anm-textUp .letter {
    -webkit-transform: translateY(140px);
            transform: translateY(140px);
    display: inline-block;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }

  .anm-textUp.is-animated .letter {
    -webkit-animation: slideIn 0.8s cubic-bezier(0.45, 0, 0.55, 1) forwards;
            animation: slideIn 0.8s cubic-bezier(0.45, 0, 0.55, 1) forwards;
  }

  .anm-slideText02 {
    position: relative;
    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
  }
  .anm-slideText02::after {
    content: "";
    position: absolute;
    z-index: 999;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
    pointer-events: none;
  }
  .anm-slideText02.is-animated {
    -webkit-animation: clip-text 1.2s cubic-bezier(0, 0, 0.2, 1) 0.4s both;
            animation: clip-text 1.2s cubic-bezier(0, 0, 0.2, 1) 0.4s both;
  }
  .anm-slideText02.is-animated::after {
    -webkit-animation: text-revealer 1.2s cubic-bezier(0, 0, 0.2, 1) 0.4s both;
            animation: text-revealer 1.2s cubic-bezier(0, 0, 0.2, 1) 0.4s both;
  }
  .anm-slideText02:nth-child(2) {
    -webkit-animation-delay: 0.8s;
            animation-delay: 0.8s;
  }
  .anm-slideText02:nth-child(2)::after {
    -webkit-animation-delay: 0.8s;
            animation-delay: 0.8s;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .c-article-card .card-title {
    top: -18px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 870px) {
  .c-article-card .card-title .bg {
    width: 29px;
  }
  .c-article-card .card-title .wrap {
    font-size: 18px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1400px) {
  .home-vision-section .text-wrap .text {
    padding-right: 90px;
  }
  .interview-kv-section .inn {
    margin-right: 90px;
  }
}

@media only screen and (min-width: 768px) and (min-width: 1050px) {
  .features-data-section .box:not(.wide) {
    width: calc((100% - 64px)/2);
  }
  .features-data-section .box .logo-list {
    max-width: 500px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1320px) {
  .features-data-section .box .column .text-list {
    padding-right: 40px;
  }
}

@media only screen and (max-width: 767px) and (min-width: 401px) {
  .work .c-article-kv-section {
    background-position-y: 25%;
    background-size: 100%;
  }
}

@media only screen and (max-width: 767px) and (max-width: 400px) {
  .work .c-article-kv-section {
    background-position-y: 30%;
    background-size: 100%;
  }
  .work .kv-wrap {
    padding-top: 340px;
  }
}

@media only screen and (max-width: 767px) and (max-width: 340px) {
  .work .kv-wrap .ttl {
    font-size: 20px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1150px) {
  .jobdescription .flow-wrap {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }
  .jobdescription .flow-wrap .step {
    min-height: 150px;
    width: calc((100% - 50px) / 3);
  }
  .jobdescription .flow-wrap .step:not(:nth-child(3n+1)) {
    margin-left: 25px !important;
  }
  .jobdescription .flow-wrap .step:nth-child(n+4) {
    margin-top: 25px;
  }
  .jobdescription .flow-wrap .step + .step {
    margin-left: 0;
  }
  .jobdescription .flow-wrap .step + .step::before {
    left: -19px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1250px) {
  .attraction .point-wrap .point:nth-child(odd) {
    margin-left: 0;
  }
  .attraction .point-wrap .point:nth-child(odd) .img {
    right: calc(100vw / 1366 * 30);
    top: calc(100vw / 1366 * -74);
  }
  .attraction .point-wrap .point:nth-child(odd) .text-wrap {
    padding: calc(100vw / 1366 * 50) calc(100vw / 1366 * 220) calc(100vw / 1366 * 100) calc(100vw / 1366 * 110);
  }
  .attraction .point-wrap .point:nth-child(even) {
    margin-right: 0;
  }
  .attraction .point-wrap .point:nth-child(even) .img {
    left: calc(100vw / 1366 * 30);
    top: calc(100vw / 1366 * -74);
  }
  .attraction .point-wrap .point:nth-child(even) .text-wrap {
    padding: calc(100vw / 1366 * 50) calc(100vw / 1366 * 110) calc(100vw / 1366 * 100) calc(100vw / 1366 * 220);
  }
  .attraction .point-wrap .point .text-wrap {
    max-width: calc(100% - calc(100vw / 1366 * 364));
  }
  .attraction .point-wrap .point .img {
    width: calc(100vw / 1366 * 460);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1096px) {
  .attraction .point-wrap .point .text-wrap .title .pc {
    display: none;
  }
}

@media only screen and (max-width: 900px) {
  .entry .c-form .form-table th, .entry .c-form .form-table td {
    display: block;
    width: 100%;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1100px) and (max-width: 900px) {
  .entry .c-form .form-table td {
    padding: 0 0 20px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1050px) {
  .training .c-article-kv-section .en-title {
    font-size: 11vw;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .interview .slider-wrap .swiper-controller {
    right: 240px;
    top: 185px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1080px) {
  .interview-cont-section .inn {
    padding-right: 30px;
    padding-left: 30px;
  }
}


  /* 人材育成施策・キャリア形成ページ */

.career-development-section {
  background-color: #EDF3FC;
  padding-bottom: 150px;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
}
.career-development-section .career-development-position {
  position: relative;
  top: -35px;
}
.career-development-section .career-development-bg {
  width: 100%;
  height: 300px;
  object-fit: cover;
}
.career-development-section .career-development-about .career-development-ttl {
  color: #18304B;
  font-size: 24px;
  font-weight: bold;
  padding-left: 17px;
  position: relative;
  margin-bottom: 20px;
}
.career-development-section .career-development-about .career-development-ttl::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 100px;
  background-color: #1685BE;
  display: block;
  position: absolute;
  bottom: 15px;
  left: 0;
}
.career-development-section .career-development-about .career-development-about-txt {
  line-height: 2.4rem;
  letter-spacing: -0.021rem;
}
.career-development-section .career-development-about .career-development-about-note {
  margin-top: 31px;
  margin-bottom: 19px;
  letter-spacing: -0.021rem;
}
.career-development-section .table-wrap {
  background-color: #F9F9F9;
}

.career-development-section .table-wrap-img-pc {
  margin: 0 auto;
}
.career-development-section .table-wrap-img-sp {
  margin: 0 auto;
  display: block;
}
.career-development-section .career-development-list {
  margin-top: 62px;
  display: flex;
  flex-wrap: wrap;
  gap: 0 81px;
}
.career-development-section .career-development-list .cont {
  width: calc(50% - 40.5px);
  padding-bottom: 42px;
}
.career-development-section .career-development-list .cont+.training-step {
  width: 100%;
  text-align: right;
}
.career-development-section .career-development-list .cont .ttl {
  border-top: 1px solid #3591C9;
  border-bottom: 1px solid #3591C9;
  padding: 14px 0;
  text-align: center;
  color: #3591C9;
  font-weight: bold;
  font-size: 16px;
}
.career-development-section .career-development-list .cont .img {
  background-color: #EDEDED;
  width: 56px;
  height: 56px;
  border-radius: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20px auto 16px;
}
.career-development-section .career-development-list .cont .txt {
  color: #18304B;
  max-width: 360px;
  margin: 0 auto;
  line-height: 2.1rem;
}
.career-development-section .career-development-list .cont .cont-detail {
  margin: 14px auto 0;
  display: block;
}
.career-development-section .career-development-list .cont .cont-detail-sp {
  margin: 14px auto 0;
  display: block;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .career-development-section {
    padding-bottom: 30px;
  }
  .career-development-section .c-round-area {
    padding-bottom: 40px;
  }
  .career-development-fv {
    padding-bottom: 10px;
  }
  .career-development-section .career-development-about .career-development-ttl {
    margin-bottom: 8px;
    font-size: 21px;
}
  .career-development-section .career-development-about .career-development-about-txt {
    line-height: 2.3rem;
  }
  .career-development-section .career-development-about .career-development-about-note {
    margin-top: 7px;
    margin-bottom: 29px;
    font-size: 10px;
}
  .career-development-section .career-development-list {
    margin-top: 30px;
    display: block;
  }
  .career-development-section .career-development-list .cont {
    width: 100%;
    min-height: 190px;
    max-width: 500px;
    margin: 0 auto;
    padding-bottom: 30px;
  }
  .career-development-section .career-development-list .cont .ttl {
    padding: 7px 0;
    font-size: 14px;
  }
  .career-development-section .career-development-list .cont .img {
    margin: 7px auto 4px;
  }
  .career-development-section .career-development-bg {
    height: 225px;
    object-fit: cover;
  }
  .career-development-section .career-development-position {
    position: relative;
    top: -38px;
  }
}

.hr_development {
  position: relative;
  margin-top: 134px;
  padding: 0 20px;
}
.hr_development .inner-block::before {
  content: "HR development";
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  display: block;
  position: absolute;
  top: -145px;
  left: 0;
  right: 0;
  margin: 0 auto;
  opacity: 0.1;
  font-weight: bold;
  margin-left: -82px;
  font-size: 132px;
  white-space: nowrap;
}
.hr_development .inner-block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  max-width: 1000px;
  padding: 0;
}
.hr_development .btn {
  position: relative;
  width: 100%;
  display: inline-block;
  overflow: hidden;
  border-radius: 10px;
}
.hr_development .img-wrap {
  width: 100%;
  height: 100%;
}
.hr_development img:hover {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  transition: 0.3s ease-in-out;
  overflow: hidden;
  border-radius: 10px;
}
.hr_development .img {
  transition: 0.3s ease-in-out;
  width: 100%;
  border-radius: 10px;
}
.hr_development .txt {
  position: absolute;
  width: 100%;
  top: 42%;
  padding: 0 20px;
}
.hr_development .btn .txt p {
  font-weight: 100;
  line-height: 220%;
}
.hr_development .txt p, .hr_development .txt{
  pointer-events: none;
}
.hr_development .txt .ttl {
  font-size: 22px;
  font-weight: bold;
}
.hr_development .txt .tips {
  font-size: 14px;
  font-weight: bold;
  margin: 2px 0 9px;
}
.hr_development svg {
  margin: 21px 18px 0 auto;
  display: block;
}
@media only screen and (max-width: 1170px) {
  .hr_development .inner-block::before {
    margin-left: -60px;
    font-size: 11vw;
    top: -43%;
  }
}
@media only screen and (max-width: 1070px) {
  .hr_development .inner-block::before {
    margin: 0 auto;
    font-size: 11vw;
    top: -43%;
  }
}
@media only screen and (max-width: 1025px) {
  .hr_development .btn .txt {
    top: 30%;
    font-size: 12px;
  }
}
@media only screen and (max-width: 1000px) {
  .hr_development .inner-block::before {
    white-space: nowrap;
  }
}
@media only screen and (max-width: 900px) {
  .hr_development svg {
    margin: 3px 18px 0 auto;
    display: block;
  }
}
@media only screen and (max-width: 850px) {
  .hr_development .btn .txt {
    top: 30%;
  }
}
@media only screen and (max-width: 768px) {
  .hr_development .inner-block {
    display: block;
  }
  .hr_development .inner-block::before {
    font-size: 11.3vw;
    top: -19%;
    width: calc(100% + 40px);
    left: -20px;
  }
  .hr_development .btn {
    width: 100%;
    display: block;
    max-width: 520px;
    margin: 0 auto;
    border-radius: 10px;
  }
  .hr_development .btn:nth-child(1) {
    margin-bottom: 20px;
  }
  .hr_development .btn .txt {
    top: 50%;
    font-size: 14px;
  }
  .hr_development .txt .ttl {
    font-size: 20px;
}
  .hr_development .btn .c-svg {
    display: none;
  }
}
@media only screen and (max-width: 450px) {
  .hr_development .btn .txt {
    top: 30%;
  }
}
@media only screen and (max-width: 370px) {
  .hr_development .btn .txt {
    top: 20%;
  }
}
@media only screen and (max-width: 350px) {
  .hr_development .btn .txt p {
    line-height: 160%;
    margin-top: 5px;
  }
}