@charset "UTF-8";
/* font */
/* reset css */
html {
  color: #000;
  background: #FFF;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset,
img {
  border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal;
}

ol,
ul {
  list-style: none;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before,
q:after {
  content: "";
}

abbr,
acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  *font-size: 100%;
}

legend {
  color: #000;
}

select,
input,
button,
textarea {
  font: 99% arial, helvetica, clean, sans-serif;
}

button {
  border: none;
  background: none;
}

table {
  font-size: inherit;
  font: 100%;
}

code,
kbd,
samp,
tt {
  font-family: monospace;
  *font-size: 108%;
  line-height: 100%;
}

ul,
li {
  list-style: none;
}

img {
  vertical-align: bottom;
}

*::after,
*::before,
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

button {
  cursor: pointer;
}

main {
  display: block;
}

@font-face {
  font-family: YuGothicM;
  src: local(Yu Gothic Medium);
}
@font-face {
  font-family: 'MyYuMincho';
  font-weight: normal;
  src: local("YuMincho-Medium"), local("Yu Mincho Medium"), local("YuMincho-Regular");
  /* 游ゴシックMediumが存在しないWindows8.1用 */
}
@font-face {
  font-family: 'MyYuMincho';
  font-weight: bold;
  src: local("YuMincho-Bold"), local("Yu Mincho");
  /* PostScript Nameを認識できないChrome用にFull Nameを指定 */
}
body {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-weight: normal;
  word-wrap: break-word;
  line-height: 1;
  letter-spacing: normal;
  color: #333333;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.08em;
  word-break: break-all;
  color: #0d0d0d;
}

body {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

body.user-ie-11,
body.user-os-android {
  font-family: "Sawarabi Mincho", serif;
}

@media print, screen and (min-width: 768px) {
  body {
    font-family: MyYuMincho, YuMincho, sans-serif;
  }
}
html {
  /* 基本375で考える スマホ568までが縦と考える */
  font-size: calc(100vw / 37.5);
}
@media print, screen and (min-width: 420px) {
  html {
    font-size: 62.5%;
  }
}
@media print, screen and (min-width: 568px) {
  html {
    font-size: 62.5%;
  }
}
@media print, screen and (min-width: 768px) {
  html {
    font-size: 62.5%;
  }
}
@media print, screen and (min-width: 1024px) {
  html {
    font-size: 62.5%;
  }
}

html.user-ie-11 {
  font-size: 58%;
}

.clearfix:after {
  font-size: .1em;
  line-height: 0;
  display: block;
  visibility: hidden;
  clear: both;
  overflow: hidden;
  height: .1px;
  content: ' ';
}

.clearfix {
  /*\*/
    /*/
display: inline-table !important;
/**/
}

a {
  text-decoration: none;
  color: #333;
}

a:hover {
  text-decoration: none;
}

.f-bold {
  font-weight: 700 !important;
}

html {
  overflow-y: scroll !important;
  -webkit-overflow-scrolling: touch;
  background: #fff;
}

img {
  width: 100%;
  height: auto;
}

/************************************
form
*************************************/
select {
  outline: none;
}

option {
  outline: none;
}

select {
  outline: 0;
}

option {
  outline: 0;
}

input:-webkit-autofill,
textarea:-webkit-autofill {
  background-color: #faffbd;
  background-image: none;
  color: black;
}

select:-moz-focusring * {
  text-shadow: none;
}

select::-moz-focus-inner,
option::-moz-focus-inner {
  border: 0px;
}

option,
select,
textarea,
input[type="number"],
input[type="button"],
input[type="submit"],
input[type="text"],
input[type="password"],
input[type="email"],
input[type="select"],
input[type="option"] {
  -webkit-appearance: none;
  border-radius: 0;
  outline: 0;
  background: #fff;
}

input[type="option"],
input[type="select"] {
  overflow: hidden;
  word-wrap: normal !important;
  white-space: normal;
  max-width: 100%;
}

input[type="select"] {
  font-size: 16px;
  font-size: 1.6rem;
}

/* for firefox */
select {
  -moz-appearance: none;
  text-indent: 0.01px;
  text-overflow: '';
}

/* for ie10 ie11 */
select::-ms-expand {
  display: none;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
  background-color: #fff;
  background-image: none;
  color: #999;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
  color: #999;
  font-size: 14px;
  font-size: 1.4rem;
}

/* Firefox 18- */
:-moz-placeholder {
  color: #999;
  opacity: 1;
  font-size: 14px;
  font-size: 1.4rem;
}

/* Firefox 19+ */
::-moz-placeholder {
  color: #999;
  opacity: 1;
  font-size: 14px;
  font-size: 1.4rem;
}

/* IE 10+ */
:-ms-input-placeholder {
  color: #999;
  font-size: 14px;
  font-size: 1.4rem;
}

textarea,
input[type="number"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type=text] {
  width: 100%;
  padding: 0 10px;
  height: 55px;
  font-size: 16px;
  font-size: 1.6rem;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid #ccc;
}
textarea.form-err,
input[type="number"].form-err,
input[type="tel"].form-err,
input[type="email"].form-err,
input[type="password"].form-err,
input[type=text].form-err {
  border: 1px solid #ff0000;
}
textarea.type-login,
input[type="number"].type-login,
input[type="tel"].type-login,
input[type="email"].type-login,
input[type="password"].type-login,
input[type=text].type-login {
  height: 40px;
}

textarea {
  height: 100px;
  padding: 10px 10px;
}

textarea:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="text"]:focus {
  border: 1px solid #999 !important;
}

/* tablet */
@media print, screen and (min-width: 768px) {
  ::-webkit-input-placeholder {
    font-size: 14px;
    font-size: 1.4rem;
  }

  /* Firefox 18- */
  :-moz-placeholder {
    opacity: 1;
    font-size: 14px;
    font-size: 1.4rem;
  }

  /* Firefox 19+ */
  ::-moz-placeholder {
    opacity: 1;
    font-size: 14px;
    font-size: 1.4rem;
  }

  /* IE 10+ */
  :-ms-input-placeholder {
    font-size: 14px;
    font-size: 1.4rem;
  }

  textarea,
  input[type="tel"],
  input[type="email"],
  input[type="password"],
  input[type=text] {
    width: 435px;
    padding: 2px 10px;
    height: 32px;
    font-size: 16px;
    font-size: 1.6rem;
  }
  textarea.type-login,
  input[type="tel"].type-login,
  input[type="email"].type-login,
  input[type="password"].type-login,
  input[type=text].type-login {
    width: 100%;
    height: 40px;
  }

  textarea {
    width: 100%;
    height: 160px;
    padding: 10px 10px;
  }
}
.pc-disp {
  display: none;
}

@media print, screen and (min-width: 768px) {
  .sp-disp {
    display: none;
  }

  .pc-disp {
    display: inline;
  }
}
/* anime */
.jsLazyAnime.type-btn-cover::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: calc(100% + 2px);
  height: 100%;
  top: 0;
  left: 0;
  z-index: 3;
  -webkit-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleX(0);
  -moz-transform: scaleX(0);
  transform: scaleX(0);
}
.jsLazyAnime.type-btn-cover.type-btn-cover-a02622::after {
  background: #a02622;
}
.jsLazyAnime.type-btn-cover.type-btn-cover-1b1b1b::after {
  background: #1b1b1b;
}
.jsLazyAnime.type-btn-cover a {
  position: relative;
  z-index: 1;
  opacity: 0;
}
.jsLazyAnime.type-btn-cover.lazyAnimate::after {
  -webkit-transition: transform 0.3s 0s ease;
  -moz-transition: transform 0.3s 0s ease;
  transition: transform 0.3s 0s ease;
  -webkit-transform: scaleX(1);
  -moz-transform: scaleX(1);
  transform: scaleX(1);
}
.jsLazyAnime.type-btn-cover.lazyAnimate2::after {
  -webkit-transform-origin: 100% 0;
  -moz-transform-origin: 100% 0;
  transform-origin: 100% 0;
  -webkit-transition: transform 0.38s 0s ease;
  -moz-transition: transform 0.38s 0s ease;
  transition: transform 0.38s 0s ease;
  -webkit-transform: scaleX(0);
  -moz-transform: scaleX(0);
  transform: scaleX(0);
}
.jsLazyAnime.type-btn-cover.lazyAnimate2::before {
  opacity: 1;
}
.jsLazyAnime.type-btn-cover.lazyAnimate2 a {
  opacity: 1;
}

.jsLazyAnime.type-cover::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
  -webkit-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleX(0);
  -moz-transform: scaleX(0);
  transform: scaleX(0);
}
.jsLazyAnime.type-cover.type-cover-a02622::after {
  background: #a02622;
}
.jsLazyAnime.type-cover.type-cover-1b1b1b::after {
  background: #1b1b1b;
}
.jsLazyAnime.type-cover.type-cover-fff::after {
  background: #fff;
}
.jsLazyAnime.type-cover.type-cover-e6e6e6::after {
  background: #e6e6e6;
}
.jsLazyAnime.type-cover span,
.jsLazyAnime.type-cover img {
  position: relative;
  z-index: 1;
  opacity: 0;
}
.jsLazyAnime.type-cover .global2040-faculty-sec-txt-box {
  position: relative;
  z-index: 1;
  opacity: 0;
}
.jsLazyAnime.type-cover img.js-sp-pc {
  opacity: 0;
}
.jsLazyAnime.type-cover.lazyAnimate::after {
  -webkit-transition: transform 0.7s 0s ease;
  -moz-transition: transform 0.7s 0s ease;
  transition: transform 0.7s 0s ease;
  -webkit-transform: scaleX(1);
  -moz-transform: scaleX(1);
  transform: scaleX(1);
}
.jsLazyAnime.type-cover.lazyAnimate2::after {
  -webkit-transform-origin: 100% 0;
  -moz-transform-origin: 100% 0;
  transform-origin: 100% 0;
  -webkit-transition: transform 0.5s 0s ease;
  -moz-transition: transform 0.5s 0s ease;
  transition: transform 0.5s 0s ease;
  -webkit-transform: scaleX(0);
  -moz-transform: scaleX(0);
  transform: scaleX(0);
}
.jsLazyAnime.type-cover.lazyAnimate2::before {
  opacity: 1;
}
.jsLazyAnime.type-cover.lazyAnimate2 .global2040-faculty-sec-txt-box,
.jsLazyAnime.type-cover.lazyAnimate2 span,
.jsLazyAnime.type-cover.lazyAnimate2 img {
  opacity: 1;
}
.jsLazyAnime.type-cover.lazyAnimate2 img.js-sp-pc {
  opacity: 1 !important;
}

.jsLazyAnime.type-opacity {
  opacity: 0;
}
.jsLazyAnime.type-opacity.lazyAnimate {
  opacity: 1;
  -webkit-transition: opacity 0.8s 0s ease;
  -moz-transition: opacity 0.8s 0s ease;
  transition: opacity 0.8s 0s ease;
}

.jsLazyAnime.type-x-r,
.jsLazyAnime.type-x-l {
  opacity: 0;
}
.jsLazyAnime.type-x-r.lazyAnimate,
.jsLazyAnime.type-x-l.lazyAnimate {
  opacity: 1;
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  transform: translateX(0);
  -webkit-transition: opacity 0.8s 0s ease, transform 0.8s 0s ease;
  -moz-transition: opacity 0.8s 0s ease, transform 0.8s 0s ease;
  transition: opacity 0.8s 0s ease, transform 0.8s 0s ease;
}

.jsLazyAnime.type-y {
  opacity: 0;
  -webkit-transform: translateY(30px);
  -moz-transform: translateY(30px);
  transform: translateY(30px);
}
.jsLazyAnime.type-y img {
  opacity: 1;
}
.jsLazyAnime.type-y.lazyAnimate {
  opacity: 1;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition: opacity 0.8s 0s ease, transform 0.8s 0s ease;
  -moz-transition: opacity 0.8s 0s ease, transform 0.8s 0s ease;
  transition: opacity 0.8s 0s ease, transform 0.8s 0s ease;
}
.jsLazyAnime.type-y.lazyAnimate img.js-sp-pc {
  opacity: 1 !important;
}
.jsLazyAnime.type-y.lazyAnimate img {
  opacity: 1;
}

.jsLazyAnime.type-y-s {
  opacity: 0;
  -webkit-transform: translateY(10px);
  -moz-transform: translateY(10px);
  transform: translateY(10px);
}
.jsLazyAnime.type-y-s img {
  opacity: 1;
}
.jsLazyAnime.type-y-s.lazyAnimate {
  opacity: 1;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition: opacity 0.8s 0s ease, transform 0.8s 0s ease;
  -moz-transition: opacity 0.8s 0s ease, transform 0.8s 0s ease;
  transition: opacity 0.8s 0s ease, transform 0.8s 0s ease;
}
.jsLazyAnime.type-y-s.lazyAnimate img.js-sp-pc {
  opacity: 1 !important;
}
.jsLazyAnime.type-y-s.lazyAnimate img {
  opacity: 1;
}

.jsLazyAnime.type-x-l-r-rot {
  opacity: 0;
}
.jsLazyAnime.type-x-l-r-rot.lazyAnimate {
  opacity: 1;
  -webkit-transform: scaleX(1) translateX(0);
  -moz-transform: scaleX(1) translateX(0);
  transform: scaleX(1) translateX(0);
  -webkit-transition: opacity 0.4s 0s ease, transform 0.8s 0s ease;
  -moz-transition: opacity 0.4s 0s ease, transform 0.8s 0s ease;
  transition: opacity 0.4s 0s ease, transform 0.8s 0s ease;
}

.jsLazyAnime.type-x-r-arrow,
.jsLazyAnime.type-x-l-arrow {
  opacity: 0;
}
.jsLazyAnime.type-x-r-arrow.lazyAnimate,
.jsLazyAnime.type-x-l-arrow.lazyAnimate {
  opacity: 1;
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  transform: translateX(0);
  -webkit-transition: opacity 0.4s 0s ease, transform 0.6s 0s ease;
  -moz-transition: opacity 0.4s 0s ease, transform 0.6s 0s ease;
  transition: opacity 0.4s 0s ease, transform 0.6s 0s ease;
}

.jsLazyAnime.type-r {
  opacity: 0;
}
.jsLazyAnime.type-r.lazyAnimate {
  opacity: 1;
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  transform: translateX(0);
  -webkit-transition: opacity 0.4s 0s ease, transform 0.6s 0s ease;
  -moz-transition: opacity 0.4s 0s ease, transform 0.6s 0s ease;
  transition: opacity 0.4s 0s ease, transform 0.6s 0s ease;
}

.jsLazyAnime.type-x-r-arrow {
  -webkit-transform: translateX(450px);
  -moz-transform: translateX(450px);
  transform: translateX(450px);
}

.jsLazyAnime.type-x-l-arrow {
  -webkit-transform: translateX(-450px);
  -moz-transform: translateX(-450px);
  transform: translateX(-450px);
}

.jsLazyAnime.type-r {
  -webkit-transform: translateX(-450px);
  -moz-transform: translateX(-450px);
  transform: translateX(-450px);
}

.jsLazyAnime.type-x-l-r-rot {
  -webkit-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleX(-0.5) translateX(0);
  -moz-transform: scaleX(-0.5) translateX(0);
  transform: scaleX(-0.5) translateX(0);
}

.jsLazyAnime.type-x-l {
  -webkit-transform: translateX(-30px);
  -moz-transform: translateX(-30px);
  transform: translateX(-30px);
}

.jsLazyAnime.type-x-r {
  -webkit-transform: translateX(30px);
  -moz-transform: translateX(30px);
  transform: translateX(30px);
}

@media print, screen and (min-width: 768px) {
  .jsLazyAnime.type-x-l {
    -webkit-transform: translateX(-60px);
    -moz-transform: translateX(-60px);
    transform: translateX(-60px);
  }

  .jsLazyAnime.type-x-r {
    -webkit-transform: translateX(60px);
    -moz-transform: translateX(60px);
    transform: translateX(60px);
  }
}
@media print, screen and (min-width: 768px) {
  .jsLazyAnime.type-r {
    -webkit-transform: translateX(-300px);
    -moz-transform: translateX(-300px);
    transform: translateX(-300px);
  }

  .jsLazyAnime.type-x-r-arrow {
    -webkit-transform: translateX(900px);
    -moz-transform: translateX(900px);
    transform: translateX(900px);
  }

  .jsLazyAnime.type-x-l-arrow {
    -webkit-transform: translateX(-900px);
    -moz-transform: translateX(-900px);
    transform: translateX(-900px);
  }
}
body.state-modal .features-abroard-wrap {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.features-abroard-wrap {
  position: relative;
  font-style: normal !important;
  font-family: 'メイリオ','Meiryo','游ゴシック','YuGothic','ＭＳ Ｐゴシック',sans-serif;
}

.features-abroard-wrap * {
  font-style: normal !important;
}

.features-abroard-contents {
  position: relative;
  z-index: 2;
  overflow: hidden;
}

body.state-page-top-middle .features-abroard-page-top {
  right: 2.93%;
}
body.state-page-top-middle .features-abroard-page-top::after {
  display: none;
}
body.state-page-top-middle .features-abroard-page-top a {
  -webkit-transition: opacity 0.4s 0s ease;
  -moz-transition: opacity 0.4s 0s ease;
  transition: opacity 0.4s 0s ease;
  opacity: 1;
}

body.state-page-top-first .features-abroard-page-top {
  right: 2.93%;
}
body.state-page-top-first .features-abroard-page-top a {
  -webkit-transition: opacity 0.3s 0s ease;
  -moz-transition: opacity 0.3s 0s ease;
  transition: opacity 0.3s 0s ease;
  opacity: 0;
}

body.state-page-top-first-lag .features-abroard-page-top {
  right: -100px;
}

body.state-page-top-hide .features-abroard-page-top {
  position: fixed;
}
body.state-page-top-hide .features-abroard-page-top a {
  -webkit-transition: opacity 0.3s 0s ease;
  -moz-transition: opacity 0.3s 0s ease;
  transition: opacity 0.3s 0s ease;
  opacity: 0;
}
body.state-page-top-hide::after {
  display: block;
}

body.state-page-top-last .features-abroard-page-top {
  position: absolute;
  bottom: 40px;
  right: 2.93%;
}
body.state-page-top-last .features-abroard-page-top::after {
  display: none;
}
body.state-page-top-last .features-abroard-page-top a {
  -webkit-transition: opacity 0.3s 0s ease;
  -moz-transition: opacity 0.3s 0s ease;
  transition: opacity 0.3s 0s ease;
  opacity: 1;
}

body {
  position: relative;
}
body::after {
  position: fixed;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 5000;
  background: #fff;
  opacity: 0.0;
  display: none;
}

.features-abroard-page-top {
  position: fixed;
  bottom: 40px;
  z-index: 100;
  width: 13.33%;
  right: -100px;
  right: 2.93%;
}
.features-abroard-page-top::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 5;
  background: #fff;
  opacity: 0;
}
.features-abroard-page-top a {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  background: #a02622;
  opacity: 0;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid #fff;
  box-shadow: 0px 0px 4px 0 rgba(0, 0, 0, 0.6);
}
.features-abroard-page-top a {
  opacity: 0;
}

@media print, screen and (min-width: 768px) {
  .features-abroard-page-top {
    bottom: 40px;
    width: 65px;
    right: 30px !important;
  }
  .features-abroard-page-top img {
    -webkit-transition: transform 0.3s 0s ease-out;
    -moz-transition: transform 0.3s 0s ease-out;
    transition: transform 0.3s 0s ease-out;
  }
  .features-abroard-page-top a {
    opacity: 0;
    -webkit-transition: background 0.3s 0s ease-out;
    -moz-transition: background 0.3s 0s ease-out;
    transition: background 0.3s 0s ease-out;
  }
}
@media print, screen and (min-width: 768px) and (min-width: 1024px) {
  .features-abroard-page-top a:hover {
    background: #c62f35;
    -webkit-transition: background 0.2s 0s ease-out;
    -moz-transition: background 0.2s 0s ease-out;
    transition: background 0.2s 0s ease-out;
  }
  .features-abroard-page-top a:hover img {
    -webkit-transition: transform 0.2s 0s ease-out;
    -moz-transition: transform 0.2s 0s ease-out;
    transition: transform 0.2s 0s ease-out;
    -webkit-transform: translateY(-3px);
    -moz-transform: translateY(-3px);
    transform: translateY(-3px);
  }
}

/* header */
.features-abroard-header {
  position: relative;
  width: 100%;
  height: 26.66667vw;
}

.features-abroard-header-logo {
  position: absolute;
  top: 30.5%;
  left: 58.13%;
  width: 38.93%;
}

.features-abroard-header-corona-txt {
  position: absolute;
  top: 24%;
  left: 2.66%;
  width: 50.66%;
}

@media print, screen and (min-width: 768px) {
  .features-abroard-header {
    position: relative;
    width: 100%;
    height: 9.27419vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-header {
    height: 115px;
  }
}

@media print, screen and (min-width: 768px) {
  .features-abroard-header-logo {
    top: 50%;
    left: 50%;
    width: 21.77419vw;
    margin-left: 26.20968vw;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-header-logo {
    width: 270px;
    margin-left: 330px;
  }
}

@media print, screen and (min-width: 768px) {
  .features-abroard-header-corona-txt {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 47.58065vw;
    margin-left: -23.79032vw;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-header-corona-txt {
    width: 590px;
    margin-left: -295px;
  }
}
@media print, screen and (min-width: 768px) and (min-width: 1024px) {
  .features-abroard-header-corona-txt a {
    -webkit-transition: opacity 0.3s 0s ease-out;
    -moz-transition: opacity 0.3s 0s ease-out;
    transition: opacity 0.3s 0s ease-out;
  }
  .features-abroard-header-corona-txt a:hover {
    opacity: 0.7;
    -webkit-transition: opacity 0.2s 0s ease-out;
    -moz-transition: opacity 0.2s 0s ease-out;
    transition: opacity 0.2s 0s ease-out;
  }
}

/* kv */
.features-abroard-kv-main {
  position: relative;
  width: 94.66%;
  margin: 0 auto;
  z-index: 2;
  box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.6);
}

.features-abroard-kv-main-inner {
  position: relative;
  padding-bottom: 112.67%;
}
.features-abroard-kv-main-inner a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.features-abroard-kv-main-inner a i {
  display: block;
  width: 17.33333vw;
  height: 17.33333vw;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: url(/features/study_abroad/assets/img/icon_movie_arr.png) 0 0 no-repeat;
  background-size: cover;
  opacity: 0.55;
  z-index: 4;
  border-radius: 50%;
  overflow: hidden;
}

.features-abroard-kv-main-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.features-abroard-kv-main-img img {
  position: relative;
  z-index: 1;
}
.features-abroard-kv-main-img::after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.5;
  z-index: 2;
}

.features-abroard-kv-main-txt-items {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}
.features-abroard-kv-main-txt-items .features-abroard-kv-main-txt-item {
  position: absolute;
  left: 50%;
  z-index: 3;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  transform: translateX(-50%);
}
.features-abroard-kv-main-txt-items .features-abroard-kv-main-txt-item:nth-child(1) {
  top: 62.5%;
  width: 27.6%;
}
.features-abroard-kv-main-txt-items .features-abroard-kv-main-txt-item:nth-child(2) {
  top: 71.25%;
  width: 87.6%;
}
.features-abroard-kv-main-txt-items .features-abroard-kv-main-txt-item:nth-child(3) {
  top: 81%;
  width: 42.95%;
}
.features-abroard-kv-main-txt-items .features-abroard-kv-main-txt-item:nth-child(4) {
  top: 89.75%;
  width: 92.95%;
}
.features-abroard-kv-main-txt-items .features-abroard-kv-main-txt-item img {
  position: relative;
  z-index: 2;
}
.features-abroard-kv-main-txt-items .features-abroard-kv-main-txt-item::after {
  position: absolute;
  display: block;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 55%;
  background: #ac181e;
  z-index: 1;
}

.features-abroard-kv-btm {
  position: relative;
  z-index: 1;
  padding: 29.33333vw 0 24.66667vw;
  padding: 29.33333vw 0 18.66667vw;
  margin-top: -22.66667vw;
}

.features-abroard-kv-btm-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ac181e;
  z-index: 1;
}

.f-bold {
  font-weight: 700;
}

.features-abroard-kv-btm-txts {
  text-align: center;
}
.features-abroard-kv-btm-txts .features-abroard-kv-btm-txt {
  font-size: 4.26667vw;
  line-height: 1.8;
  color: #fff;
  position: relative;
  z-index: 2;
  text-align: center;
  margin-bottom: 8.66667vw;
  letter-spacing: 0;
}
.features-abroard-kv-btm-txts .features-abroard-kv-btm-txt:last-child {
  margin-bottom: 0;
}

.features-abroard-kv-btm-txt-img {
  position: relative;
  z-index: 5;
  width: 62.66667vw;
  margin: 0 auto 8.66667vw;
}

@media print, screen and (min-width: 768px) {
  .features-abroard-kv-main {
    width: 96.77%;
    max-width: 1200px;
    box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.6);
  }

  .features-abroard-kv-main-inner {
    padding-bottom: 56.33%;
  }
  .features-abroard-kv-main-inner a i {
    width: 10.32258vw;
    height: 10.32258vw;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    transform: translate(0, 0);
    margin-top: -5.16129vw;
    margin-left: -5.16129vw;
    -webkit-transform-origin: 50% 50%;
    -moz-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transition: transform 0.3s 0s ease;
    -moz-transition: transform 0.3s 0s ease;
    transition: transform 0.3s 0s ease;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-kv-main-inner a i {
    width: 128px;
    height: 128px;
    margin-top: -64px;
    margin-left: -64px;
  }
}
@media print, screen and (min-width: 768px) and (min-width: 1024px) {
  .features-abroard-kv-main-inner a {
    -webkit-transition: opacity 0.3s 0s ease;
    -moz-transition: opacity 0.3s 0s ease;
    transition: opacity 0.3s 0s ease;
  }
  .features-abroard-kv-main-inner a:hover .features-abroard-kv-main-img::after {
    opacity: 0.7;
    -webkit-transition: opacity 0.2s 0s ease;
    -moz-transition: opacity 0.2s 0s ease;
    transition: opacity 0.2s 0s ease;
  }
  .features-abroard-kv-main-inner a:hover i {
    -webkit-transition: transform 0.2s 0s ease;
    -moz-transition: transform 0.2s 0s ease;
    transition: transform 0.2s 0s ease;
    -webkit-transform: scale(1.06);
    -moz-transform: scale(1.06);
    transform: scale(1.06);
  }
}

@media print, screen and (min-width: 768px) {
  .features-abroard-kv-main-img::after {
    -webkit-transition: opacity 0.3s 0s ease;
    -moz-transition: opacity 0.3s 0s ease;
    transition: opacity 0.3s 0s ease;
  }

  .features-abroard-kv-main-txt-items .features-abroard-kv-main-txt-item {
    left: 9.67742vw;
    left: 10%;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    transform: translateX(0);
  }
  .features-abroard-kv-main-txt-items .features-abroard-kv-main-txt-item:nth-child(1) {
    top: 70.71%;
    width: 80%;
  }
  .features-abroard-kv-main-txt-items .features-abroard-kv-main-txt-item:nth-child(2) {
    top: 80.47%;
    width: 49.16%;
  }
  .features-abroard-kv-main-txt-items .features-abroard-kv-main-txt-item::after {
    height: 1.93548vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-kv-main-txt-items .features-abroard-kv-main-txt-item::after {
    height: 24px;
  }
}

@media print, screen and (min-width: 768px) {
  .features-abroard-kv-btm {
    padding: 9.27419vw 0 8.06452vw;
    margin-top: -4.83871vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-kv-btm {
    padding: 115px 0 100px;
    margin-top: -60px;
  }
}
@media print, screen and (min-width: 768px) {
  .features-abroard-kv-btm::after {
    bottom: 3.62903vw;
    height: 5px;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-kv-btm::after {
    bottom: 45px;
  }
}

@media print, screen and (min-width: 768px) {
  .features-abroard-kv-btm-txts {
    text-align: center;
  }
  .features-abroard-kv-btm-txts .features-abroard-kv-btm-txt {
    font-size: 20px;
    line-height: 1.8;
    position: relative;
    z-index: 2;
    text-align: center;
    margin-bottom: 46px;
    letter-spacing: 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 1120px) {
  .features-abroard-kv-btm-txts .features-abroard-kv-btm-txt {
    font-size: 23px;
  }
}
@media print, screen and (min-width: 768px) {
  .features-abroard-kv-btm-txts .features-abroard-kv-btm-txt:last-child {
    margin-bottom: 0;
  }

  .features-abroard-kv-btm-txt-img {
    width: 30.16129vw;
    margin: 0 auto 3.70968vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1120px) {
  .features-abroard-kv-btm-txt-img {
    width: 374px;
    margin: 0 auto 46px;
  }
}

/* contens */
.features-abroard-contens {
  display: block;
  position: relative;
  background: url(/features/study_abroad/assets/img/bg_flag_sp.png) 0 0 no-repeat;
  background-size: 100% auto;
  padding: 13.33333vw 0 40vw;
}

.features-abroard-sec-w {
  position: relative;
  padding: 20vw 0 64vw;
}

.features-abroard-sec-w-box {
  position: relative;
  width: 94.66%;
  border: 1px solid #ac181e;
  padding: 8vw 0 22.66667vw;
  background: #fff;
  margin: 0 auto;
}

.features-abroard-sec-w-ttl {
  width: 93.66%;
  margin: 0 auto 6.66667vw;
}

.features-abroard-sec-w-txt {
  width: 84.5%;
  margin: 0 auto;
}
.features-abroard-sec-w-txt p {
  font-size: 3.46667vw;
  line-height: 1.8;
  margin-bottom: 5.6vw;
}
.features-abroard-sec-w-txt p:last-child {
  margin-bottom: 0;
}

.features-abroard-sec-movie {
  width: 93.94%;
  margin: 0 auto;
  position: relative;
}
.features-abroard-sec-w .features-abroard-sec-movie {
  position: absolute;
  width: 93.94%;
  bottom: -36.53333vw;
  left: 3.06667vw;
}
.features-abroard-sec-btm .features-abroard-sec-movie {
  width: 93.94%;
  margin: 0 auto 11.33333vw;
  box-shadow: 0px 0px 16px 0 rgba(0, 0, 0, 0.6);
  position: relative;
  z-index: 1;
}
.features-abroard-sec-movie a {
  display: block;
  position: relative;
  padding-bottom: 56.37%;
  z-index: 1;
}
.features-abroard-sec-movie a i {
  display: block;
  width: 17.33333vw;
  height: 17.33333vw;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: url(/features/study_abroad/assets/img/icon_movie_arr.png) 0 0 no-repeat;
  background-size: cover;
  opacity: 0.55;
  z-index: 4;
  border-radius: 50%;
  overflow: hidden;
}

.youtube-movie-pc {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.features-abroard-sec-movie iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: block;
}
.features-abroard-sec-movie.state-active iframe {
  display: block;
}

.features-abroard-sec-movie-txt {
  position: absolute;
  width: 100%;
  text-align: center;
  top: 37.33333vw;
  left: 0;
  font-size: 3.46667vw;
  font-weight: 700;
  color: #fff;
  z-index: 4;
  font-style: normal;
}

.features-abroard-sec-movie-img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
}

.features-abroard-sec-red {
  position: relative;
  background: #ac181e;
}

.features-abroard-sec-red-inner {
  padding: 14vw 0 11.33333vw;
}

.features-abroard-sec-red-ttl {
  width: 88.66%;
  margin: 0 auto 4vw;
}

.features-abroard-sec-red-ttl-sub {
  width: 93.66%;
  margin: 0 auto 2vw;
}

.features-abroard-sec-red-items .features-abroard-sec-red-item {
  padding-bottom: 6.66667vw;
  margin-bottom: 6.66667vw;
}
.features-abroard-sec-red-items .features-abroard-sec-red-item:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
}

.features-abroard-sec-red-item-inner {
  width: 94.66%;
  margin: 0 auto;
}

.features-abroard-sec-red-txt {
  width: 84.5%;
  margin: 0 auto 6.66667vw;
}
.features-abroard-sec-red-txt p {
  font-size: 3.46667vw;
  line-height: 1.8;
  margin-bottom: 5.6vw;
  color: #fff;
}
.features-abroard-sec-red-txt p:last-child {
  margin-bottom: 0;
}

.features-abroard-sec-btm {
  position: relative;
  padding: 20vw 0 0;
  border-top: 1px solid #ac181e;
  margin-bottom: 16vw;
}

.features-abroard-sec-btm-box {
  padding: 0 0 18.66667vw;
  position: relative;
}
.features-abroard-sec-btm-box::before {
  position: absolute;
  display: block;
  content: "";
  top: auto;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 85.33333vw;
  background: #ac181e;
  z-index: 1;
}

.features-abroard-sec-btm-box-inner {
  position: relative;
  z-index: 5;
}

.features-abroard-sec-btm-ttl {
  width: 93.66%;
  margin: 0 auto 6.66667vw;
  color: #fff;
}

.features-abroard-sec-btm-txt {
  width: 84.5%;
  margin: 0 auto;
}
.features-abroard-sec-btm-txt p {
  font-size: 3.46667vw;
  line-height: 1.8;
  margin-bottom: 5.6vw;
  color: #fff;
}
.features-abroard-sec-btm-txt p:last-child {
  margin-bottom: 0;
}

.features-abroard-link-items {
  width: 94.13%;
  margin: 0 auto;
}
.features-abroard-link-items li {
  margin-bottom: 10.66667vw;
}
.features-abroard-link-items li:last-child {
  margin-bottom: 0;
}
.features-abroard-link-items li a {
  display: block;
  height: 54px;
  position: relative;
  color: #fff;
  font-size: 3.2vw;
  padding: 0 16vw 0 6.13333vw;
  background: #0d0d0d;
  font-weight: 500;
  -webkit-display: flex;
  -moz-display: flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
}
.features-abroard-link-items li a i {
  position: absolute;
  display: block;
  width: 24px;
  height: 24px;
  background: url(/features/study_abroad/assets/img/icon_btn_circle.png) 0 0 no-repeat;
  background-size: 24px 24px;
  top: 50%;
  margin-top: -12px;
  right: 15px;
}
.features-abroard-link-items li a i::after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0%;
  width: 100%;
  height: 100%;
  border: 1px solid #fff;
  border-radius: 50%;
  z-index: 3;
}

@media print, screen and (min-width: 768px) {
  .features-abroard-contens {
    background: url(/features/study_abroad/assets/img/bg_flag_pc.png) 50% 0 repeat-x;
    background-size: 707px 104px;
    padding: 4.83871vw 0 12.90323vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-contens {
    padding: 60px 0 160px;
  }
}

@media print, screen and (min-width: 768px) {
  .features-abroard-sec-w {
    padding: 6.45161vw 0 39.51613vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-w {
    padding: 80px 0 490px;
  }
}

@media print, screen and (min-width: 768px) {
  .features-abroard-sec-w-box {
    width: 80.64%;
    max-width: 1004px;
    border: 2px solid #ac181e;
    padding: 3.22581vw 0 11.29032vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-w-box {
    padding: 40px 0 140px;
  }
}

@media print, screen and (min-width: 768px) {
  .features-abroard-sec-w-ttl {
    width: 90.8%;
    margin-bottom: 1.93548vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-w-ttl {
    margin-bottom: 24px;
  }
}

@media print, screen and (min-width: 768px) {
  .features-abroard-sec-w-txt {
    width: 90%;
    margin: 0 auto;
  }
  .features-abroard-sec-w-txt p {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 1.6129vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-w-txt p {
    margin-bottom: 20px;
  }
}

@media print, screen and (min-width: 768px) {
  .features-abroard-sec-movie {
    width: 90%;
    max-width: 900px;
  }
  .features-abroard-sec-w .features-abroard-sec-movie {
    position: absolute;
    width: 90%;
    bottom: -33.54839vw;
    left: 4.03226vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-w .features-abroard-sec-movie {
    bottom: -416px;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-w .features-abroard-sec-movie {
    left: 50px;
  }
}
@media print, screen and (min-width: 768px) {
  .features-abroard-sec-red .features-abroard-sec-movie {
    width: 99.11%;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-red .features-abroard-sec-movie {
    width: 908px;
  }
}
@media print, screen and (min-width: 768px) {
  .features-abroard-sec-btm .features-abroard-sec-movie {
    margin-bottom: 4.51613vw;
    box-shadow: 0px 0px 16px 0 rgba(0, 0, 0, 0.6);
    width: 90%;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-btm .features-abroard-sec-movie {
    margin-bottom: 56px;
  }
}
@media print, screen and (min-width: 768px) {
  .features-abroard-sec-btm .features-abroard-sec-movie a {
    padding-bottom: 56.33%;
  }
  .features-abroard-sec-movie a {
    padding-bottom: 56.33%;
  }
  .features-abroard-sec-movie a i {
    width: 10.32258vw;
    height: 10.32258vw;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    transform: translate(0, 0);
    margin-top: -5.16129vw;
    margin-left: -5.16129vw;
    -webkit-transform-origin: 50% 50%;
    -moz-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transition: transform 0.3s 0s ease;
    -moz-transition: transform 0.3s 0s ease;
    transition: transform 0.3s 0s ease;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-movie a i {
    width: 128px;
    height: 128px;
    margin-top: -64px;
    margin-left: -64px;
  }
}
@media print, screen and (min-width: 768px) {
  .features-abroard-sec-movie a::after {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    z-index: 3;
    -webkit-transition: opacity 0.3s 0s ease;
    -moz-transition: opacity 0.3s 0s ease;
    transition: opacity 0.3s 0s ease;
  }
}
@media print, screen and (min-width: 768px) and (min-width: 1024px) {
  .features-abroard-sec-movie a {
    -webkit-transition: opacity 0.3s 0s ease;
    -moz-transition: opacity 0.3s 0s ease;
    transition: opacity 0.3s 0s ease;
  }
  .features-abroard-sec-movie a:hover::after {
    opacity: 0.4;
    -webkit-transition: opacity 0.2s 0s ease;
    -moz-transition: opacity 0.2s 0s ease;
    transition: opacity 0.2s 0s ease;
  }
  .features-abroard-sec-movie a:hover i {
    -webkit-transition: transform 0.2s 0s ease;
    -moz-transition: transform 0.2s 0s ease;
    transition: transform 0.2s 0s ease;
    -webkit-transform: scale(1.06);
    -moz-transform: scale(1.06);
    transform: scale(1.06);
  }
  .features-abroard-sec-movie a:hover .features-abroard-sec-movie-txt {
    -webkit-transition: letter-spacing 0.2s 0s ease;
    -moz-transition: letter-spacing 0.2s 0s ease;
    transition: letter-spacing 0.2s 0s ease;
    letter-spacing: 0.14em;
  }
}

@media print, screen and (min-width: 768px) {
  .features-abroard-sec-movie-txt {
    top: 27.58065vw;
    font-size: 26px;
    -webkit-transition: letter-spacing 0.3s 0s ease;
    -moz-transition: letter-spacing 0.3s 0s ease;
    transition: letter-spacing 0.3s 0s ease;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-movie-txt {
    top: 342px;
  }
}
@media print, screen and (min-width: 768px) {
  .features-abroard-sec-btm .features-abroard-sec-movie-txt {
    top: 27.58065vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-btm .features-abroard-sec-movie-txt {
    top: 342px;
  }
}

@media print, screen and (min-width: 768px) {
  .features-abroard-sec-red-inner {
    width: 80.64%;
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    padding: 5.24194vw 0 7.41935vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-red-inner {
    padding: 65px 0 92px;
  }
}

@media print, screen and (min-width: 768px) {
  .features-abroard-sec-red-ttl {
    width: 90.8%;
    max-width: 908px;
    margin-bottom: 1.93548vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-red-ttl {
    margin-bottom: 24px;
  }
}

@media print, screen and (min-width: 768px) {
  .features-abroard-sec-red-ttl-sub {
    width: 5.72%;
    margin: 0 0 1.93548vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-red-ttl-sub {
    margin-bottom: 24px;
  }
}

@media print, screen and (min-width: 768px) {
  .features-abroard-sec-red-items {
    position: relative;
  }
  .features-abroard-sec-red-items .features-abroard-sec-red-item {
    padding-bottom: 3.22581vw;
    margin-bottom: 3.22581vw;
    border-bottom: none;
    position: relative;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-red-items .features-abroard-sec-red-item {
    padding-bottom: 40px;
    margin-bottom: 40px;
  }
}
@media print, screen and (min-width: 768px) {
  .features-abroard-sec-red-items .features-abroard-sec-red-item:last-child::after {
    display: none;
  }

  .features-abroard-sec-red-item-inner {
    width: 90.8%;
    max-width: 908px;
    text-align: left;
  }

  .features-abroard-sec-red-txt {
    width: 84.5%;
    width: 100%;
    margin: 0 auto 3.22581vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-red-txt {
    margin-bottom: 40px;
  }
}
@media print, screen and (min-width: 768px) {
  .features-abroard-sec-red-txt p {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 3.22581vw;
  }

  .features-abroard-sec-btm {
    position: relative;
    padding: 4.19355vw 0 0;
    border-top: none;
    margin-top: -1.77419vw;
    margin-bottom: 4.83871vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-btm {
    padding: 52px 0 0 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-btm {
    margin-top: -22px;
    margin-bottom: 60px;
  }
}
@media print, screen and (min-width: 768px) {
  .features-abroard-sec-btm::after {
    position: absolute;
    display: block;
    content: "";
    top: 0px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 120%;
    max-width: 1200px;
    height: 2px;
    background: #ac181e;
    z-index: 3;
  }

  .features-abroard-sec-btm-box {
    padding: 0 0 8.06452vw;
    position: relative;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-btm-box {
    padding: 0 0 100px;
  }
}
@media print, screen and (min-width: 768px) {
  .features-abroard-sec-btm-box::before {
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30.24194vw;
    background: #ac181e;
    z-index: 2;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-btm-box::before {
    height: 375px;
  }
}

@media print, screen and (min-width: 768px) {
  .features-abroard-sec-btm-box-inner {
    width: 80.64%;
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    z-index: 3;
  }

  .features-abroard-sec-btm-ttl {
    width: 90.8%;
    max-width: 908px;
    margin-bottom: 1.93548vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 1240px) {
  .features-abroard-sec-btm-ttl {
    margin-bottom: 24px;
  }
}

@media print, screen and (min-width: 768px) {
  .features-abroard-sec-btm-txt {
    width: 90.8%;
    max-width: 908px;
  }
  .features-abroard-sec-btm-txt p {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 2.41935vw;
  }

  .features-abroard-link-items {
    width: 79.03%;
    max-width: 980px;
    -webkit-display: flex;
    -moz-display: flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
  }
  .features-abroard-link-items li {
    width: 47.95%;
    margin-bottom: 0;
  }
  .features-abroard-link-items li a {
    height: 70px;
    font-size: 16px;
    padding: 0 70px 0 30px;
  }
  .features-abroard-link-items li a i {
    width: 32px;
    height: 32px;
    background: url(/features/study_abroad/assets/img/icon_btn_circle.png) 0 0 no-repeat;
    background-size: 32px 32px;
    margin-top: -16px;
    right: 21px;
    border: none;
    -webkit-transition: transform 0.3s 0s ease-out;
    -moz-transition: transform 0.3s 0s ease-out;
    transition: transform 0.3s 0s ease-out;
  }
}
@media print, screen and (min-width: 768px) and (min-width: 1024px) {
  .features-abroard-link-items li a {
    -webkit-transition: background 0.3s 0s ease-out;
    -moz-transition: background 0.3s 0s ease-out;
    transition: background 0.3s 0s ease-out;
  }
  .features-abroard-link-items li a:hover {
    background: #333;
    -webkit-transition: background 0.2s 0s ease-out;
    -moz-transition: background 0.2s 0s ease-out;
    transition: background 0.2s 0s ease-out;
  }
  .features-abroard-link-items li a:hover i {
    -webkit-transition: transform 0.2s 0s ease-out;
    -moz-transition: transform 0.2s 0s ease-out;
    transition: transform 0.2s 0s ease-out;
    -webkit-transform: translateX(3px);
    -moz-transform: translateX(3px);
    transform: translateX(3px);
  }
}

/* footer */
.features-abroard-g-footer {
  position: relative !important;
  z-index: 1;
  background: #272c33;
  padding-top: 6%;
  padding-bottom: 6%;
}

.features-abroard-g-footer-inner {
  width: 100%;
}

.features-abroard-g-footer-nav ul {
  -webkit-display: flex;
  -moz-display: flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  margin-bottom: 4%;
}
.features-abroard-g-footer-nav ul li {
  padding: 0 11px 0 10px;
  position: relative;
}
.features-abroard-g-footer-nav ul li::after {
  position: absolute;
  display: block;
  content: "|";
  font-size: 10px;
  top: 0;
  right: 0;
  z-index: 5;
  color: #fff;
  font-family: "ヒラギノ角ゴ Pro", Hiragino Kaku Gothic Pro, "メイリオ", Meiryo, "Yu Gothic", "游ゴシック", YuGothic, sans-serif;
}
.features-abroard-g-footer-nav ul li:last-child::after {
  display: none;
}
.features-abroard-g-footer-nav ul li a {
  font-size: 12px;
  font-size: 1.2rem;
  color: #fff;
  font-family: "ヒラギノ角ゴ Pro", Hiragino Kaku Gothic Pro, "メイリオ", Meiryo, "Yu Gothic", "游ゴシック", YuGothic, sans-serif;
  letter-spacing: 0;
}

.features-abroard-g-footer-copyright {
  width: 100%;
  display: block;
  text-align: center;
  font-size: 12px;
  font-size: 1.2rem;
  color: #fff;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", Hiragino Kaku Gothic Pro, "メイリオ", Meiryo, sans-serif;
}

@media print, screen and (min-width: 768px) {
  .features-abroard-g-footer {
    padding-top: 30px;
    padding-bottom: 28px;
  }

  .features-abroard-g-footer-inner {
    width: 100%;
    max-width: 1480px;
    max-width: 1088px;
    padding: 0 20px;
    -webkit-display: flex;
    -moz-display: flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between;
    margin: 0 auto;
  }

  .features-abroard-g-footer-nav {
    position: relative;
    top: -1px;
  }
  .features-abroard-g-footer-nav ul {
    -webkit-display: flex;
    -moz-display: flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    justify-content: flex-start;
    margin-bottom: 4%;
    margin-bottom: 0;
  }
  .features-abroard-g-footer-nav ul li {
    padding: 0 22px 0 0;
    position: relative;
  }
  .features-abroard-g-footer-nav ul li::after {
    font-size: 10px;
    top: 0px;
    right: 8px;
    z-index: 5;
  }
  .features-abroard-g-footer-nav ul li:last-child::after {
    display: none;
  }
  .features-abroard-g-footer-nav ul li a {
    font-size: 12px;
    font-size: 1.2rem;
    color: #fff;
    letter-spacing: 0;
    font-weight: 700;
    letter-spacing: 0.08em;
    -webkit-transition: opacity 0.3s 0s ease-out;
    -moz-transition: opacity 0.3s 0s ease-out;
    transition: opacity 0.3s 0s ease-out;
  }
}
@media print, screen and (min-width: 768px) and (min-width: 1024px) {
  .features-abroard-g-footer-nav ul li a:hover {
    opacity: 0.7;
    -webkit-transition: opacity 0.2s 0s ease-out;
    -moz-transition: opacity 0.2s 0s ease-out;
    transition: opacity 0.2s 0s ease-out;
  }
}

@media print, screen and (min-width: 768px) {
  .features-abroard-g-footer-copyright {
    width: 100%;
    width: auto;
    display: block;
    text-align: center;
    font-size: 12px;
    font-size: 1.2rem;
    color: #fff;
    letter-spacing: -0.04em;
    font-weight: 700;
    position: relative;
    top: -3px;
  }
  .features-abroard-g-footer-copyright span {
    font-size: 22px;
    font-size: 2.2rem;
    position: relative;
    top: 3px;
    display: inline-block;
  }
}
/* youtube */
body.state-sp-youtube-hide.state-sp-youtube .features-abroard-modal-bg {
  opacity: 0;
  -webkit-transition: opacity 0.3s 0s ease;
  -moz-transition: opacity 0.3s 0s ease;
  transition: opacity 0.3s 0s ease;
}
body.state-sp-youtube-hide.state-sp-youtube .youtube-player-wrap {
  opacity: 0;
  -webkit-transition: opacity 0.3s 0s ease;
  -moz-transition: opacity 0.3s 0s ease;
  transition: opacity 0.3s 0s ease;
}

body.state-sp-youtube .features-abroard-modal {
  left: 0;
}
body.state-sp-youtube .features-abroard-modal-bg {
  left: 0;
  opacity: 0.7;
  -webkit-transition: opacity 0.3s 0s ease;
  -moz-transition: opacity 0.3s 0s ease;
  transition: opacity 0.3s 0s ease;
}
body.state-sp-youtube .youtube-player-wrap {
  opacity: 1;
  -webkit-transition: opacity 0.3s 0s ease;
  -moz-transition: opacity 0.3s 0s ease;
  transition: opacity 0.3s 0s ease;
}

.features-abroard-modal {
  position: fixed;
  top: 0;
  left: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  z-index: 500;
}

.features-abroard-modal-bg {
  position: fixed;
  top: 0;
  left: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.0;
}

.youtube-player-wrap {
  position: absolute;
  top: 50%;
  width: 90%;
  left: 5%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
  padding-bottom: 56%;
  opacity: 0;
}

.youtube-player {
  position: absolute;
  width: 100%;
  height: 100%;
  background: #000;
}
.youtube-player iframe {
  position: absolute;
  width: 100%;
  height: 100%;
}

.features-abroard-modal-close {
  position: absolute;
  top: -47px;
  right: 0;
  width: 40px;
}

@media print, screen and (min-width: 1024px) {
  .youtube-player-wrap {
    top: 50%;
    width: 900px;
    height: 507px;
    padding-bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    opacity: 0;
  }

  .features-abroard-modal-close a {
    display: block;
    -webkit-transition: opacity 0.3s 0s ease-out;
    -moz-transition: opacity 0.3s 0s ease-out;
    transition: opacity 0.3s 0s ease-out;
  }
  .features-abroard-modal-close a:hover {
    opacity: 0.7;
    -webkit-transition: opacity 0.2s 0s ease-out;
    -moz-transition: opacity 0.2s 0s ease-out;
    transition: opacity 0.2s 0s ease-out;
  }
}
